<?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>194514</bug_id>
          
          <creation_ts>2019-02-11 13:50:46 -0800</creation_ts>
          <short_desc>REGRESSION(r241272): Broke the Apple Internal build and the fix requires human intervention :( (Requested by dydz on #webkit).</short_desc>
          <delta_ts>2019-02-11 13:56:40 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>191446</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>dbates</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1504986</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-02-11 13:50:46 -0800</bug_when>
    <thetext>https://trac.webkit.org/changeset/241272 broke the build:
Broke the Apple Internal build and the fix requires human intervention :( (Requested by dydz on #webkit).

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1504987</commentid>
    <comment_count>1</comment_count>
      <attachid>361711</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-02-11 13:50:54 -0800</bug_when>
    <thetext>Created attachment 361711
ROLLOUT of r241272

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1504989</commentid>
    <comment_count>2</comment_count>
      <attachid>361711</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-02-11 13:55:21 -0800</bug_when>
    <thetext>Comment on attachment 361711
ROLLOUT of r241272

Clearing flags on attachment: 361711

Committed r241278: &lt;https://trac.webkit.org/changeset/241278&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1504990</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-02-11 13:55:22 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1504991</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-02-11 13:56:40 -0800</bug_when>
    <thetext>&lt;rdar://problem/47977112&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>361711</attachid>
            <date>2019-02-11 13:50:54 -0800</date>
            <delta_ts>2019-02-11 13:55:21 -0800</delta_ts>
            <desc>ROLLOUT of r241272</desc>
            <filename>bug-194514-20190211135054.patch</filename>
            <type>text/plain</type>
            <size>108422</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQxMjc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWE3ZmRiYzg0NDEzYzBh
ZmE5OTFlNjNjNDEyMjRiODgwODY0MmZmOS4uZmQ4YzQ3NjBjMWJjZTA0Mjk1MDBhMDRkZmYyZWNh
ZDExZjAyN2Y0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE5LTAyLTExICBDb21t
aXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByMjQxMjcyIGFuZCByMjQxMjc2LgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk0NTE0CisKKyAgICAgICAgQnJva2UgdGhlIEFw
cGxlIEludGVybmFsIGJ1aWxkIGFuZCB0aGUgZml4IHJlcXVpcmVzIGh1bWFuCisgICAgICAgIGlu
dGVydmVudGlvbiA6KCAoUmVxdWVzdGVkIGJ5IGR5ZHogb24gI3dlYmtpdCkuCisKKyAgICAgICAg
UmV2ZXJ0ZWQgY2hhbmdlc2V0czoKKworICAgICAgICAiW2lPU10gTW91c2UvVG91Y2gvUG9pbnRl
ciBldmVudHMgYXJlIG1pc3NpbmcgbW9kaWZpZXIga2V5cyIKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MTQ0NgorICAgICAgICBodHRwczovL3RyYWMu
d2Via2l0Lm9yZy9jaGFuZ2VzZXQvMjQxMjcyCisKKyAgICAgICAgIkZpeCBpbnRlcm5hbCBpT1Mg
YnVpbGQgYWZ0ZXIgcjI0MTI3MiIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE5MTQ0NgorICAgICAgICBodHRwczovL3RyYWMud2Via2l0Lm9yZy9jaGFu
Z2VzZXQvMjQxMjc2CisKIDIwMTktMDItMTEgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5z
ZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBTdG9wIHVzaW5nIHNldERlZmVyc0xvYWRpbmcgZnJv
bSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDJhNDE2OGQxZmYyYjY0ZWRkZWFhNzE4MzhiZTk3ODY2YmUz
Y2RjNjIuLmIzODQ1ZWMzMzNhMDA0MWY3N2FlMzBiNzcyYWJhNjBhODczZDRlYTIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjEgQEAKKzIwMTktMDItMTEgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1
ZUB3ZWJraXQub3JnPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyNDEyNzIg
YW5kIHIyNDEyNzYuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xOTQ1MTQKKworICAgICAgICBCcm9rZSB0aGUgQXBwbGUgSW50ZXJuYWwgYnVpbGQgYW5k
IHRoZSBmaXggcmVxdWlyZXMgaHVtYW4KKyAgICAgICAgaW50ZXJ2ZW50aW9uIDooIChSZXF1ZXN0
ZWQgYnkgZHlkeiBvbiAjd2Via2l0KS4KKworICAgICAgICBSZXZlcnRlZCBjaGFuZ2VzZXRzOgor
CisgICAgICAgICJbaU9TXSBNb3VzZS9Ub3VjaC9Qb2ludGVyIGV2ZW50cyBhcmUgbWlzc2luZyBt
b2RpZmllciBrZXlzIgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTkxNDQ2CisgICAgICAgIGh0dHBzOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8y
NDEyNzIKKworICAgICAgICAiRml4IGludGVybmFsIGlPUyBidWlsZCBhZnRlciByMjQxMjcyIgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkxNDQ2Cisg
ICAgICAgIGh0dHBzOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8yNDEyNzYKKwogMjAxOS0w
Mi0xMSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAg
ICAgIEZpeCBpbnRlcm5hbCBpT1MgYnVpbGQgYWZ0ZXIgcjI0MTI3MgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1BsYXRmb3JtRXZlbnRGYWN0b3J5SU9TLm1tIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1BsYXRmb3JtRXZlbnRGYWN0b3J5SU9TLm1tCmluZGV4
IGExNzFiOWRiMWZkNGY1MDM0NTRkNDZiNGU4N2ZjMWYyZmIwNDYwMjkuLmJlMjNmNTRjMDU5MzI0
NjAzYTEzOWQ5NmI1M2RiM2Q3NDQ4YjI4NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2lvcy9QbGF0Zm9ybUV2ZW50RmFjdG9yeUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9pb3MvUGxhdGZvcm1FdmVudEZhY3RvcnlJT1MubW0KQEAgLTk1LDcgKzk1LDYg
QEAgcHVibGljOgogICAgICAgICBtX2dsb2JhbFBvc2l0aW9uID0gZ2xvYmFsUG9pbnRGb3JFdmVu
dChldmVudCk7CiAgICAgICAgIG1fYnV0dG9uID0gTGVmdEJ1dHRvbjsgLy8gVGhpcyBoYXMgYWx3
YXlzIGJlZW4gdGhlIExlZnRCdXR0b24gb24gaU9TLgogICAgICAgICBtX2NsaWNrQ291bnQgPSAx
OyAvLyBUaGlzIGhhcyBhbHdheXMgYmVlbiAxIG9uIGlPUy4KLSAgICAgICAgbV9tb2RpZmllcnMg
PSBtb2RpZmllcnNGb3JFdmVudChldmVudCk7CiAgICAgfQogfTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYkV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9pb3MvV2ViRXZlbnQuaAppbmRleCAzYTJmMGM5YzRmNDNmNGJiYTFjOGY2MjlkMTBlMzJj
ZmFkZGNmMThkLi45NzUxOGRmZmQ5ODUxMDZhODk5Y2Q3MjhjNTFhNTg1ODc4MGFmMTY2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViRXZlbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViRXZlbnQuaApAQCAtMTM5LDEzICsxMzksMTAgQEAg
V0VCQ09SRV9FWFBPUlQgQGludGVyZmFjZSBXZWJFdmVudCA6IE5TT2JqZWN0IHsKICAgICBCT09M
IF93YXNIYW5kbGVkOwogfQogCi0vLyBEZXByZWNhdGVkLiBSZW1vdmUgb25jZSBVSUtpdCBhZG9w
dHMgLWluaXRXaXRoTW91c2VFdmVudFR5cGUgdGFraW5nIG1vZGlmaWVycy4KIC0gKFdlYkV2ZW50
ICopaW5pdFdpdGhNb3VzZUV2ZW50VHlwZTooV2ViRXZlbnRUeXBlKXR5cGUKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHRpbWVTdGFtcDooQ0ZUaW1lSW50ZXJ2YWwpdGltZVN0YW1wCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb246KENHUG9pbnQpcG9pbnQ7CiAKLS0gKFdl
YkV2ZW50ICopaW5pdFdpdGhNb3VzZUV2ZW50VHlwZTooV2ViRXZlbnRUeXBlKXR5cGUgdGltZVN0
YW1wOihDRlRpbWVJbnRlcnZhbCl0aW1lU3RhbXAgbG9jYXRpb246KENHUG9pbnQpcG9pbnQgbW9k
aWZpZXJzOihXZWJFdmVudEZsYWdzKW1vZGlmaWVyczsKLQogLSAoV2ViRXZlbnQgKilpbml0V2l0
aFNjcm9sbFdoZWVsRXZlbnRXaXRoVGltZVN0YW1wOihDRlRpbWVJbnRlcnZhbCl0aW1lU3RhbXAK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbjooQ0dQ
b2ludClwb2ludAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGRlbHRhWDooZmxvYXQpZGVsdGFYCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9pb3MvV2ViRXZlbnQubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViRXZlbnQu
bW0KaW5kZXggNTQ0MzExNzkyMWU4YmQ2NThiOTk5YmI3OGMxY2RjNjA0YmQ5Y2E3Ni4uMWQ1ZjZh
NDRmYjcwYjkxM2Y4ZmQxNzFhNjlkOTgxZDJmMGRkNmI0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vaW9zL1dlYkV2ZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2lvcy9XZWJFdmVudC5tbQpAQCAtNDksMjAgKzQ5LDE5IEBAIHVzaW5nIFdlYkNvcmU6Ondp
bmRvd3NLZXlDb2RlRm9yQ2hhckNvZGU7CiBAc3ludGhlc2l6ZSB0aW1lc3RhbXAgPSBfdGltZXN0
YW1wOwogQHN5bnRoZXNpemUgd2FzSGFuZGxlZCA9IF93YXNIYW5kbGVkOwogCi0tIChXZWJFdmVu
dCAqKWluaXRXaXRoTW91c2VFdmVudFR5cGU6KFdlYkV2ZW50VHlwZSl0eXBlIHRpbWVTdGFtcDoo
Q0ZUaW1lSW50ZXJ2YWwpdGltZVN0YW1wIGxvY2F0aW9uOihDR1BvaW50KXBvaW50Ci17Ci0gICAg
cmV0dXJuIFtzZWxmIGluaXRXaXRoTW91c2VFdmVudFR5cGU6dHlwZSB0aW1lU3RhbXA6dGltZVN0
YW1wIGxvY2F0aW9uOnBvaW50IG1vZGlmaWVyczowXTsKLX0KLQotLSAoV2ViRXZlbnQgKilpbml0
V2l0aE1vdXNlRXZlbnRUeXBlOihXZWJFdmVudFR5cGUpdHlwZSB0aW1lU3RhbXA6KENGVGltZUlu
dGVydmFsKXRpbWVTdGFtcCBsb2NhdGlvbjooQ0dQb2ludClwb2ludCBtb2RpZmllcnM6KFdlYkV2
ZW50RmxhZ3MpbW9kaWZpZXJzCistIChXZWJFdmVudCAqKWluaXRXaXRoTW91c2VFdmVudFR5cGU6
KFdlYkV2ZW50VHlwZSl0eXBlCisgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lU3RhbXA6
KENGVGltZUludGVydmFsKXRpbWVTdGFtcAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxv
Y2F0aW9uOihDR1BvaW50KXBvaW50CiB7CiAgICAgc2VsZiA9IFtzdXBlciBpbml0XTsKICAgICBp
ZiAoIXNlbGYpCiAgICAgICAgIHJldHVybiBuaWw7CisgICAgCiAgICAgX3R5cGUgPSB0eXBlOwog
ICAgIF90aW1lc3RhbXAgPSB0aW1lU3RhbXA7CisKICAgICBfbG9jYXRpb25JbldpbmRvdyA9IHBv
aW50OwotICAgIF9tb2RpZmllckZsYWdzID0gbW9kaWZpZXJzOworICAgIAogICAgIHJldHVybiBz
ZWxmOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9pb3MvVUlL
aXRTUEkuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9VSUtpdFNQSS5oCmluZGV4
IGIwMzZiYmFmZTE2NDUwMWU0NWZiMWRkNDlmMjYzZjljZDliMzMwOGUuLjExOTA4MTJlNzE4ZWFh
ZjRkMmFlYmRiZjU4OWEzMzIwZGJjODk4MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxh
dGZvcm0vc3BpL2lvcy9VSUtpdFNQSS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3Bp
L2lvcy9VSUtpdFNQSS5oCkBAIC0xMDMyLDEwICsxMDMyLDYgQEAgdHlwZWRlZiBOU0ludGVnZXIg
VUlDb21wb3NpdGluZ01vZGU7CiAKICNlbmRpZiAvLyBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQog
Ci1AaW50ZXJmYWNlIFVJR2VzdHVyZVJlY29nbml6ZXIgKCkKLUBwcm9wZXJ0eSAobm9uYXRvbWlj
LCByZWFkb25seSwgZ2V0dGVyPV9tb2RpZmllckZsYWdzKSBVSUtleU1vZGlmaWVyRmxhZ3MgbW9k
aWZpZXJGbGFnczsKLUBlbmQKLQogLy8gRklYTUU6IDxyZGFyOi8vcHJvYmxlbS80NzcxNDU2Mj4K
IEBpbnRlcmZhY2UgVUlXZWJUb3VjaEV2ZW50c0dlc3R1cmVSZWNvZ25pemVyIChTdGFnaW5nXzQ3
NjM0MDkyKQogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBOU01hcFRhYmxlPE5TTnVt
YmVyICosIFVJVG91Y2ggKj4gKmFjdGl2ZVRvdWNoZXNCeUlkZW50aWZpZXI7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9OYXRpdmVXZWJUb3VjaEV2ZW50LmggYi9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9OYXRpdmVXZWJUb3VjaEV2ZW50LmgKaW5kZXggMzkxMGE0OGM3NTdjNTc4NzYw
MzcxY2I1Yjg3NWE0YmMwNjg2MDc4Yi4uM2I3Y2VkYjE1ZjZkNjk0NjM3NWU4ZGQxYzU3Y2Y3MWM2
OTg4OTlhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvTmF0aXZlV2ViVG91Y2hF
dmVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL05hdGl2ZVdlYlRvdWNoRXZlbnQuaApA
QCAtMjMsMzUgKzIzLDI3IEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAg
Ki8KIAotI3ByYWdtYSBvbmNlCi0KLSNpbmNsdWRlICJXZWJFdmVudC5oIgorI2lmbmRlZiBOYXRp
dmVXZWJUb3VjaEV2ZW50X2gKKyNkZWZpbmUgTmF0aXZlV2ViVG91Y2hFdmVudF9oCiAKICNpZiBF
TkFCTEUoVE9VQ0hfRVZFTlRTKQogCisjaW5jbHVkZSAiV2ViRXZlbnQuaCIKKwogI2lmIFBMQVRG
T1JNKElPU19GQU1JTFkpCi0jaWYgZGVmaW5lZChfX09CSkNfXykKLSNpbmNsdWRlIDxVSUtpdC9V
SUtpdC5oPgogc3RydWN0IF9VSVdlYlRvdWNoRXZlbnQ7Ci0jZW5kaWYKICNlbGlmIFBMQVRGT1JN
KEdUSykKICNpbmNsdWRlIDxXZWJDb3JlL0dVbmlxdWVQdHJHdGsuaD4KICNlbGlmIFVTRShMSUJX
UEUpCiAjaW5jbHVkZSA8d3BlL3dwZS5oPgogI2VuZGlmCiAKLSNlbmRpZiAvLyBFTkFCTEUoVE9V
Q0hfRVZFTlRTKQotCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotI2lmIEVOQUJMRShUT1VDSF9FVkVO
VFMpCi0KIGNsYXNzIE5hdGl2ZVdlYlRvdWNoRXZlbnQgOiBwdWJsaWMgV2ViVG91Y2hFdmVudCB7
CiBwdWJsaWM6CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSNpZiBkZWZpbmVkKF9fT0JKQ19f
KQotICAgIGV4cGxpY2l0IE5hdGl2ZVdlYlRvdWNoRXZlbnQoY29uc3QgX1VJV2ViVG91Y2hFdmVu
dCosIFVJS2V5TW9kaWZpZXJGbGFncyk7Ci0jZW5kaWYKKyAgICBleHBsaWNpdCBOYXRpdmVXZWJU
b3VjaEV2ZW50KGNvbnN0IF9VSVdlYlRvdWNoRXZlbnQqKTsKICNlbGlmIFBMQVRGT1JNKEdUSykK
ICAgICBOYXRpdmVXZWJUb3VjaEV2ZW50KEdka0V2ZW50KiwgVmVjdG9yPFdlYlBsYXRmb3JtVG91
Y2hQb2ludD4mJik7CiAgICAgTmF0aXZlV2ViVG91Y2hFdmVudChjb25zdCBOYXRpdmVXZWJUb3Vj
aEV2ZW50Jik7CkBAIC02NCw3ICs1Niw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiBwcml2YXRlOgot
I2lmIFBMQVRGT1JNKElPU19GQU1JTFkpICYmIGRlZmluZWQoX19PQkpDX18pCisjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKICAgICBWZWN0b3I8V2ViUGxhdGZvcm1Ub3VjaFBvaW50PiBleHRyYWN0
V2ViVG91Y2hQb2ludChjb25zdCBfVUlXZWJUb3VjaEV2ZW50Kik7CiAjZW5kaWYKIApAQCAtNzUs
MTAgKzY3LDggQEAgcHJpdmF0ZToKICNlbmRpZgogfTsKIAotI2VuZGlmIC8vIEVOQUJMRShUT1VD
SF9FVkVOVFMpCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAotI2lmIFBMQVRGT1JNKElPU19GQU1J
TFkpICYmIGRlZmluZWQoX19PQkpDX18pCi1PcHRpb25TZXQ8V2ViRXZlbnQ6Ok1vZGlmaWVyPiB3
ZWJFdmVudE1vZGlmaWVyRmxhZ3MoVUlLZXlNb2RpZmllckZsYWdzKTsKLSNlbmRpZgorI2VuZGlm
IC8vIEVOQUJMRShUT1VDSF9FVkVOVFMpCiAKLX0gLy8gbmFtZXNwYWNlIFdlYktpdAorI2VuZGlm
IC8vIE5hdGl2ZVdlYlRvdWNoRXZlbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvaW9zL05hdGl2ZVdlYlRvdWNoRXZlbnRJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9p
b3MvTmF0aXZlV2ViVG91Y2hFdmVudElPUy5tbQppbmRleCAzMjNjOWVjMDMyNTVhY2M5ZWM2YmRh
YTNmMDU1YzZkMjAyMjdkYTIxLi45OTVmNjQwY2Y3MzY1ZmEyNmFjOWMzZTUxN2NmM2JlOGYyNGMy
NjgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9pb3MvTmF0aXZlV2ViVG91Y2hF
dmVudElPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9pb3MvTmF0aXZlV2ViVG91Y2hF
dmVudElPUy5tbQpAQCAtMjYsMTcgKzI2LDE2IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBv
cnQgIk5hdGl2ZVdlYlRvdWNoRXZlbnQuaCIKIAotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisj
aWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgRU5BQkxFKFRPVUNIX0VWRU5UUykKIAogI2ltcG9y
dCAiVUlLaXRTUEkuaCIKKyNpbXBvcnQgIldlYkV2ZW50LmgiCiAjaW1wb3J0IDxVSUtpdC9VSVRv
dWNoLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0ludFBvaW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1dB
S0FwcEtpdFN0dWJzLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi0jaWYgRU5BQkxFKFRPVUNI
X0VWRU5UUykKLQogc3RhdGljIGlubGluZSBXZWJFdmVudDo6VHlwZSB3ZWJFdmVudFR5cGVGb3JV
SVdlYlRvdWNoRXZlbnRUeXBlKFVJV2ViVG91Y2hFdmVudFR5cGUgdHlwZSkKIHsKICAgICBzd2l0
Y2ggKHR5cGUpIHsKQEAgLTExOCwxMCArMTE3LDEwIEBAIFZlY3RvcjxXZWJQbGF0Zm9ybVRvdWNo
UG9pbnQ+IE5hdGl2ZVdlYlRvdWNoRXZlbnQ6OmV4dHJhY3RXZWJUb3VjaFBvaW50KGNvbnN0IF9V
CiAgICAgcmV0dXJuIHRvdWNoUG9pbnRMaXN0OwogfQogCi1OYXRpdmVXZWJUb3VjaEV2ZW50OjpO
YXRpdmVXZWJUb3VjaEV2ZW50KGNvbnN0IF9VSVdlYlRvdWNoRXZlbnQqIGV2ZW50LCBVSUtleU1v
ZGlmaWVyRmxhZ3MgZmxhZ3MpCitOYXRpdmVXZWJUb3VjaEV2ZW50OjpOYXRpdmVXZWJUb3VjaEV2
ZW50KGNvbnN0IF9VSVdlYlRvdWNoRXZlbnQqIGV2ZW50KQogICAgIDogV2ViVG91Y2hFdmVudCgK
ICAgICAgICAgd2ViRXZlbnRUeXBlRm9yVUlXZWJUb3VjaEV2ZW50VHlwZShldmVudC0+dHlwZSks
Ci0gICAgICAgIHdlYkV2ZW50TW9kaWZpZXJGbGFncyhmbGFncyksCisgICAgICAgIE9wdGlvblNl
dDxNb2RpZmllcj4geyB9LAogICAgICAgICBXYWxsVGltZTo6ZnJvbVJhd1NlY29uZHMoZXZlbnQt
PnRpbWVzdGFtcCksCiAgICAgICAgIGV4dHJhY3RXZWJUb3VjaFBvaW50KGV2ZW50KSwKICAgICAg
ICAgcG9zaXRpb25Gb3JDR1BvaW50KGV2ZW50LT5sb2NhdGlvbkluRG9jdW1lbnRDb29yZGluYXRl
cyksCkBAIC0xMzYsMjQgKzEzNSw2IEBAIE5hdGl2ZVdlYlRvdWNoRXZlbnQ6Ok5hdGl2ZVdlYlRv
dWNoRXZlbnQoY29uc3QgX1VJV2ViVG91Y2hFdmVudCogZXZlbnQsIFVJS2V5TW9kCiB7CiB9CiAK
LSNlbmRpZiAvLyBFTkFCTEUoVE9VQ0hfRVZFTlRTKQotCi1PcHRpb25TZXQ8V2ViRXZlbnQ6Ok1v
ZGlmaWVyPiB3ZWJFdmVudE1vZGlmaWVyRmxhZ3MoVUlLZXlNb2RpZmllckZsYWdzIGZsYWdzKQot
ewotICAgIE9wdGlvblNldDxXZWJFdmVudDo6TW9kaWZpZXI+IG1vZGlmaWVyczsKLSAgICBpZiAo
ZmxhZ3MgJiBVSUtleU1vZGlmaWVyU2hpZnQpCi0gICAgICAgIG1vZGlmaWVycy5hZGQoV2ViRXZl
bnQ6Ok1vZGlmaWVyOjpTaGlmdEtleSk7Ci0gICAgaWYgKGZsYWdzICYgVUlLZXlNb2RpZmllckNv
bnRyb2wpCi0gICAgICAgIG1vZGlmaWVycy5hZGQoV2ViRXZlbnQ6Ok1vZGlmaWVyOjpDb250cm9s
S2V5KTsKLSAgICBpZiAoZmxhZ3MgJiBVSUtleU1vZGlmaWVyQWx0ZXJuYXRlKQotICAgICAgICBt
b2RpZmllcnMuYWRkKFdlYkV2ZW50OjpNb2RpZmllcjo6QWx0S2V5KTsKLSAgICBpZiAoZmxhZ3Mg
JiBVSUtleU1vZGlmaWVyQ29tbWFuZCkKLSAgICAgICAgbW9kaWZpZXJzLmFkZChXZWJFdmVudDo6
TW9kaWZpZXI6Ok1ldGFLZXkpOwotICAgIGlmIChmbGFncyAmIFVJS2V5TW9kaWZpZXJBbHBoYVNo
aWZ0KQotICAgICAgICBtb2RpZmllcnMuYWRkKFdlYkV2ZW50OjpNb2RpZmllcjo6Q2Fwc0xvY2tL
ZXkpOwotICAgIHJldHVybiBtb2RpZmllcnM7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYktpdAog
Ci0jZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyNlbmRpZiAvLyBQTEFURk9STShJT1Nf
RkFNSUxZKSAmJiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9TaGFyZWQvaW9zL1dlYklPU0V2ZW50RmFjdG9yeS5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
aW9zL1dlYklPU0V2ZW50RmFjdG9yeS5oCmluZGV4IDg1NzljMzM0ZmFjMjI3MDcwNzlhZjJmYTNm
ZDk0NDEzNTMyMzk2YTMuLmFiOThkOGZjMGQ4ZTFiMmQ4NGEzZWJkNzFiYWY3ZGFiMGVlMjFkOWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2lvcy9XZWJJT1NFdmVudEZhY3Rvcnku
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9pb3MvV2ViSU9TRXZlbnRGYWN0b3J5LmgKQEAg
LTIzLDIwICsyMywyMCBAQAogICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICov
CiAKLSNwcmFnbWEgb25jZQorI2lmbmRlZiBXZWJJT1NFdmVudEZhY3RvcnlfaAorI2RlZmluZSBX
ZWJJT1NFdmVudEZhY3RvcnlfaAogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKIAogI2ltcG9y
dCAiV2ViRXZlbnQuaCIKLSNpbXBvcnQgPFVJS2l0L1VJS2l0Lmg+CiAjaW1wb3J0IDxXZWJDb3Jl
L1dlYkV2ZW50Lmg+CiAKIGNsYXNzIFdlYklPU0V2ZW50RmFjdG9yeSB7CiBwdWJsaWM6CiAgICAg
c3RhdGljIFdlYktpdDo6V2ViS2V5Ym9hcmRFdmVudCBjcmVhdGVXZWJLZXlib2FyZEV2ZW50KDo6
V2ViRXZlbnQgKik7CiAgICAgc3RhdGljIFdlYktpdDo6V2ViTW91c2VFdmVudCBjcmVhdGVXZWJN
b3VzZUV2ZW50KDo6V2ViRXZlbnQgKik7Ci0KLSAgICBzdGF0aWMgVUlLZXlNb2RpZmllckZsYWdz
IHRvVUlLZXlNb2RpZmllckZsYWdzKE9wdGlvblNldDxXZWJLaXQ6OldlYkV2ZW50OjpNb2RpZmll
cj4pOwogfTsKIAogI2VuZGlmIC8vIFBMQVRGT1JNKElPU19GQU1JTFkpCisKKyNlbmRpZiAvLyBX
ZWJJT1NFdmVudEZhY3RvcnlfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvaW9z
L1dlYklPU0V2ZW50RmFjdG9yeS5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2lvcy9XZWJJT1NF
dmVudEZhY3RvcnkubW0KaW5kZXggMjVjMTZlYzIyNTJkNDUwNjk0Y2M4MjM3NDk1NzFlZDIwZmJk
MGE0Ny4uODRhN2E1YTRkYmYwMTJlMjIyYmQzODZlYWUwMWM2ZjZkMjRkMTVhZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9TaGFyZWQvaW9zL1dlYklPU0V2ZW50RmFjdG9yeS5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9pb3MvV2ViSU9TRXZlbnRGYWN0b3J5Lm1tCkBAIC0zMSwyMiAr
MzEsNiBAQAogI2ltcG9ydCA8V2ViQ29yZS9LZXlFdmVudENvZGVzSU9TLmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL1BsYXRmb3JtRXZlbnRGYWN0b3J5SU9TLmg+CiAKLVVJS2V5TW9kaWZpZXJGbGFncyBX
ZWJJT1NFdmVudEZhY3Rvcnk6OnRvVUlLZXlNb2RpZmllckZsYWdzKE9wdGlvblNldDxXZWJLaXQ6
OldlYkV2ZW50OjpNb2RpZmllcj4gbW9kaWZpZXJzKQotewotICAgIFVJS2V5TW9kaWZpZXJGbGFn
cyBtb2RpZmllckZsYWdzID0gMDsKLSAgICBpZiAobW9kaWZpZXJzLmNvbnRhaW5zKFdlYktpdDo6
V2ViRXZlbnQ6Ok1vZGlmaWVyOjpTaGlmdEtleSkpCi0gICAgICAgIG1vZGlmaWVyRmxhZ3MgfD0g
VUlLZXlNb2RpZmllclNoaWZ0OwotICAgIGlmIChtb2RpZmllcnMuY29udGFpbnMoV2ViS2l0OjpX
ZWJFdmVudDo6TW9kaWZpZXI6OkNvbnRyb2xLZXkpKQotICAgICAgICBtb2RpZmllckZsYWdzIHw9
IFVJS2V5TW9kaWZpZXJDb250cm9sOwotICAgIGlmIChtb2RpZmllcnMuY29udGFpbnMoV2ViS2l0
OjpXZWJFdmVudDo6TW9kaWZpZXI6OkFsdEtleSkpCi0gICAgICAgIG1vZGlmaWVyRmxhZ3MgfD0g
VUlLZXlNb2RpZmllckFsdGVybmF0ZTsKLSAgICBpZiAobW9kaWZpZXJzLmNvbnRhaW5zKFdlYktp
dDo6V2ViRXZlbnQ6Ok1vZGlmaWVyOjpNZXRhS2V5KSkKLSAgICAgICAgbW9kaWZpZXJGbGFncyB8
PSBVSUtleU1vZGlmaWVyQ29tbWFuZDsKLSAgICBpZiAobW9kaWZpZXJzLmNvbnRhaW5zKFdlYktp
dDo6V2ViRXZlbnQ6Ok1vZGlmaWVyOjpDYXBzTG9ja0tleSkpCi0gICAgICAgIG1vZGlmaWVyRmxh
Z3MgfD0gVUlLZXlNb2RpZmllckFscGhhU2hpZnQ7Ci0gICAgcmV0dXJuIG1vZGlmaWVyRmxhZ3M7
Ci19Ci0KIHN0YXRpYyBPcHRpb25TZXQ8V2ViS2l0OjpXZWJFdmVudDo6TW9kaWZpZXI+IG1vZGlm
aWVyc0ZvckV2ZW50KDo6V2ViRXZlbnQgKmV2ZW50KQogewogICAgIE9wdGlvblNldDxXZWJLaXQ6
OldlYkV2ZW50OjpNb2RpZmllcj4gbW9kaWZpZXJzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLTmF2aWdhdGlvbkFjdGlvbi5tbSBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS05hdmlnYXRpb25BY3Rpb24ubW0KaW5kZXggOGViYmEx
ZjViYzUzYzY5NzQ5OGI1MTRiYmI0ZTZkNmE4ZDgzODU3MC4uNDRjOGJiNjA5MmVkYWExMmNhM2Vj
YzljNDdkZTUxMGQ2Y2ZiNmQ3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLTmF2aWdhdGlvbkFjdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tOYXZpZ2F0aW9uQWN0aW9uLm1tCkBAIC0zNiwxMCArMzYsNiBAQAog
I2ltcG9ydCA8V2ViQ29yZS9GbG9hdFBvaW50Lmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+
CiAKLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotI2ltcG9ydCAiV2ViSU9TRXZlbnRGYWN0b3J5
LmgiCi0jZW5kaWYKLQogQGltcGxlbWVudGF0aW9uIFdLTmF2aWdhdGlvbkFjdGlvbgogCiBzdGF0
aWMgV0tOYXZpZ2F0aW9uVHlwZSB0b1dLTmF2aWdhdGlvblR5cGUoV2ViQ29yZTo6TmF2aWdhdGlv
blR5cGUgbmF2aWdhdGlvblR5cGUpCkBAIC0xMzEsNyArMTI3LDYgQEAgc3RhdGljIFdLU3ludGhl
dGljQ2xpY2tUeXBlIHRvV0tTeW50aGV0aWNDbGlja1R5cGUoV2ViS2l0OjpXZWJNb3VzZUV2ZW50
OjpTeW50aGUKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oTUFDKQotCiAtIChOU0V2ZW50TW9kaWZp
ZXJGbGFncyltb2RpZmllckZsYWdzCiB7CiAgICAgcmV0dXJuIFdlYktpdDo6V2ViRXZlbnRGYWN0
b3J5Ojp0b05TRXZlbnRNb2RpZmllckZsYWdzKF9uYXZpZ2F0aW9uQWN0aW9uLT5tb2RpZmllcnMo
KSk7CkBAIC0xNDEsMTQgKzEzNiw2IEBAIHN0YXRpYyBXS1N5bnRoZXRpY0NsaWNrVHlwZSB0b1dL
U3ludGhldGljQ2xpY2tUeXBlKFdlYktpdDo6V2ViTW91c2VFdmVudDo6U3ludGhlCiB7CiAgICAg
cmV0dXJuIFdlYktpdDo6V2ViRXZlbnRGYWN0b3J5Ojp0b05TQnV0dG9uTnVtYmVyKF9uYXZpZ2F0
aW9uQWN0aW9uLT5tb3VzZUJ1dHRvbigpKTsKIH0KLQotI2Vsc2UKLQotLSAoVUlLZXlNb2RpZmll
ckZsYWdzKW1vZGlmaWVyRmxhZ3MKLXsKLSAgICByZXR1cm4gV2ViSU9TRXZlbnRGYWN0b3J5Ojp0
b1VJS2V5TW9kaWZpZXJGbGFncyhfbmF2aWdhdGlvbkFjdGlvbi0+bW9kaWZpZXJzKCkpOwotfQot
CiAjZW5kaWYKIAogI3ByYWdtYSBtYXJrIFdLT2JqZWN0IHByb3RvY29sIGltcGxlbWVudGF0aW9u
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tOYXZpZ2F0
aW9uQWN0aW9uUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
TmF2aWdhdGlvbkFjdGlvblByaXZhdGUuaAppbmRleCBhZDc0MjJmMmI3NTcxNWE0Y2RlYzg5Yzgy
NmVmZDY3MDdiNmU3NWVlLi41ZGY3YWUwZDUwOTE1NTg3MGZiYjhlMTA2NmYzZmZjZDIyYTE5N2Jh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tOYXZpZ2F0
aW9uQWN0aW9uUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS05hdmlnYXRpb25BY3Rpb25Qcml2YXRlLmgKQEAgLTMxLDggKzMxLDYgQEAKIEBjbGFzcyBf
V0tVc2VySW5pdGlhdGVkQWN0aW9uOwogCiAjaWYgVEFSR0VUX09TX0lQSE9ORQotI2luY2x1ZGUg
PFVJS2l0L1VJS2l0Lmg+Ci0KIHR5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIFdLU3ludGhldGlj
Q2xpY2tUeXBlKSB7CiAgICAgV0tTeW50aGV0aWNDbGlja1R5cGVOb1RhcCwKICAgICBXS1N5bnRo
ZXRpY0NsaWNrVHlwZU9uZUZpbmdlclRhcCwKQEAgLTU1LDggKzUzLDYgQEAgdHlwZWRlZiBOU19F
TlVNKE5TSW50ZWdlciwgV0tTeW50aGV0aWNDbGlja1R5cGUpIHsKICNpZiBUQVJHRVRfT1NfSVBI
T05FCiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIFdLU3ludGhldGljQ2xpY2tUeXBl
IF9zeW50aGV0aWNDbGlja1R5cGUgV0tfQVBJX0FWQUlMQUJMRShpb3MoMTAuMCkpOwogQHByb3Bl
cnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBDR1BvaW50IF9jbGlja0xvY2F0aW9uSW5Sb290Vmll
d0Nvb3JkaW5hdGVzIFdLX0FQSV9BVkFJTEFCTEUoaW9zKDExLjApKTsKLQotQHByb3BlcnR5IChu
b25hdG9taWMsIHJlYWRvbmx5KSBVSUtleU1vZGlmaWVyRmxhZ3MgbW9kaWZpZXJGbGFncyBXS19B
UElfQVZBSUxBQkxFKGlvcyhXS19JT1NfVEJBKSk7CiAjZW5kaWYKIAogQHByb3BlcnR5IChub25h
dG9taWMsIHJlYWRvbmx5KSBCT09MIF9pc1JlZGlyZWN0IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4
KDEwLjEzKSwgaW9zKDExLjApKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgK
aW5kZXggMGJhMjkzNmNmNzRjNmRmODVmYjBlMWU1MzQxNGFjY2ZhNzc1NDU0Ni4uZDk5YzJhZGE0
YjRkNmMzYTM2NzM0ZjQzNGVkOTU1NWU0OGE4YzBiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmgKQEAgLTgwLDcgKzgwLDYgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0xheW91
dFNpemUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL01lZGlhUGxheWJhY2tUYXJnZXRDb250ZXh0Lmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYVByb2R1Y2VyLmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9Q
bGF0Zm9ybUV2ZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybVNjcmVlbi5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvUG9pbnRlcklELmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TY3JvbGxUeXBl
cy5oPgpAQCAtNjczLDcgKzY3Miw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpc2FibGVEb3VibGVU
YXBHZXN0dXJlc0R1cmluZ1RhcElmTmVjZXNzYXJ5KHVpbnQ2NF90IHJlcXVlc3RJRCk7CiAgICAg
dm9pZCBjb250ZW50U2l6ZUNhdGVnb3J5RGlkQ2hhbmdlKGNvbnN0IFN0cmluZyYgY29udGVudFNp
emVDYXRlZ29yeSk7CiAgICAgdm9pZCBnZXRTZWxlY3Rpb25Db250ZXh0KFdURjo6RnVuY3Rpb248
dm9pZChjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBDYWxsYmFj
a0Jhc2U6OkVycm9yKT4mJik7Ci0gICAgdm9pZCBoYW5kbGVUd29GaW5nZXJUYXBBdFBvaW50KGNv
bnN0IFdlYkNvcmU6OkludFBvaW50JiwgT3B0aW9uU2V0PFdlYktpdDo6V2ViRXZlbnQ6Ok1vZGlm
aWVyPiwgdWludDY0X3QgcmVxdWVzdElEKTsKKyAgICB2b2lkIGhhbmRsZVR3b0ZpbmdlclRhcEF0
UG9pbnQoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmLCB1aW50NjRfdCByZXF1ZXN0SUQpOwogICAg
IHZvaWQgaGFuZGxlU3R5bHVzU2luZ2xlVGFwQXRQb2ludChjb25zdCBXZWJDb3JlOjpJbnRQb2lu
dCYsIHVpbnQ2NF90IHJlcXVlc3RJRCk7CiAgICAgdm9pZCBzZXRGb3JjZUFsd2F5c1VzZXJTY2Fs
YWJsZShib29sKTsKICAgICBib29sIGZvcmNlQWx3YXlzVXNlclNjYWxhYmxlKCkgY29uc3QgeyBy
ZXR1cm4gbV9mb3JjZUFsd2F5c1VzZXJTY2FsYWJsZTsgfQpAQCAtMTE3MiwxMCArMTE3MSwxMCBA
QCBwdWJsaWM6CiAgICAgdm9pZCB3aWxsU3RhcnRVc2VyVHJpZ2dlcmVkWm9vbWluZygpOwogCiAg
ICAgdm9pZCBwb3RlbnRpYWxUYXBBdFBvc2l0aW9uKGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQm
LCB1aW50NjRfdCYgcmVxdWVzdElEKTsKLSAgICB2b2lkIGNvbW1pdFBvdGVudGlhbFRhcChPcHRp
b25TZXQ8V2ViS2l0OjpXZWJFdmVudDo6TW9kaWZpZXI+LCB1aW50NjRfdCBsYXllclRyZWVUcmFu
c2FjdGlvbklkQXRMYXN0VG91Y2hTdGFydCk7CisgICAgdm9pZCBjb21taXRQb3RlbnRpYWxUYXAo
dWludDY0X3QgbGF5ZXJUcmVlVHJhbnNhY3Rpb25JZEF0TGFzdFRvdWNoU3RhcnQpOwogICAgIHZv
aWQgY2FuY2VsUG90ZW50aWFsVGFwKCk7CiAgICAgdm9pZCB0YXBIaWdobGlnaHRBdFBvc2l0aW9u
KGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmLCB1aW50NjRfdCYgcmVxdWVzdElEKTsKLSAgICB2
b2lkIGhhbmRsZVRhcChjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiwgT3B0aW9uU2V0PFdlYktp
dDo6V2ViRXZlbnQ6Ok1vZGlmaWVyPiwgdWludDY0X3QgbGF5ZXJUcmVlVHJhbnNhY3Rpb25JZEF0
TGFzdFRvdWNoU3RhcnQpOworICAgIHZvaWQgaGFuZGxlVGFwKGNvbnN0IFdlYkNvcmU6OkZsb2F0
UG9pbnQmLCB1aW50NjRfdCBsYXllclRyZWVUcmFuc2FjdGlvbklkQXRMYXN0VG91Y2hTdGFydCk7
CiAKICAgICB2b2lkIGluc3BlY3Rvck5vZGVTZWFyY2hNb3ZlZFRvUG9zaXRpb24oY29uc3QgV2Vi
Q29yZTo6RmxvYXRQb2ludCYpOwogICAgIHZvaWQgaW5zcGVjdG9yTm9kZVNlYXJjaEVuZGVkQXRQ
b3NpdGlvbihjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmggYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgKaW5kZXggOTE4
OWViZGNmNTlhYTEzNTNiNDQyNGVmMzc1NGNiYjEwNWYyMmIwZC4uNDRjNmJmN2Q3ZTAwOWVjNjlh
MGNkNmI2Zjk0OTA3YWEyZjdmODlhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaApAQCAtNDA2LDcgKzQwNiw3IEBA
IEZPUl9FQUNIX1BSSVZBVEVfV0tDT05URU5UVklFV19BQ1RJT04oREVDTEFSRV9XS0NPTlRFTlRW
SUVXX0FDVElPTl9GT1JfV0VCX1ZJRVcpCiAtICh2b2lkKV91cGRhdGVDaGFuZ2VkU2VsZWN0aW9u
OwogLSAoQk9PTClfaW50ZXJwcmV0S2V5RXZlbnQ6KDo6V2ViRXZlbnQgKil0aGVFdmVudCBpc0No
YXJFdmVudDooQk9PTClpc0NoYXJFdmVudDsKIC0gKHZvaWQpX3Bvc2l0aW9uSW5mb3JtYXRpb25E
aWRDaGFuZ2U6KGNvbnN0IFdlYktpdDo6SW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb24m
KWluZm87Ci0tICh2b2lkKV9hdHRlbXB0Q2xpY2tBdExvY2F0aW9uOihDR1BvaW50KWxvY2F0aW9u
IG1vZGlmaWVyRmxhZ3M6KFVJS2V5TW9kaWZpZXJGbGFncyltb2RpZmllckZsYWdzOworLSAodm9p
ZClfYXR0ZW1wdENsaWNrQXRMb2NhdGlvbjooQ0dQb2ludClsb2NhdGlvbjsKIC0gKHZvaWQpX3dp
bGxTdGFydFNjcm9sbGluZ09yWm9vbWluZzsKIC0gKHZvaWQpX2RpZFNjcm9sbDsKIC0gKHZvaWQp
X2RpZEVuZFNjcm9sbGluZ09yWm9vbWluZzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCmluZGV4IDE4Mzg2NzI2NjM2
M2RmMThlYjc4Y2I5ZmZjNmU0ZjcyYmQ3N2FkOTEuLjY4MDM2NjQ1NzYwN2U0MDJkNGZkY2Q0Nzk2
NGY4NGVkNzJkNTQ0NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9X
S0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQpAQCAtMTE2MCwxMSArMTE2MCw2IEBAIHN0
YXRpYyBpbmxpbmUgYm9vbCBoYXNGb2N1c2VkRWxlbWVudChXZWJLaXQ6OkZvY3VzZWRFbGVtZW50
SW5mb3JtYXRpb24gZm9jdXNlZEVsCiB9CiAjZW5kaWYKIAotaW5saW5lIHN0YXRpYyBVSUtleU1v
ZGlmaWVyRmxhZ3MgZ2VzdHVyZVJlY29nbml6ZXJNb2RpZmllckZsYWdzKFVJR2VzdHVyZVJlY29n
bml6ZXIgKnJlY29nbml6ZXIpCi17Ci0gICAgcmV0dXJuIFtyZWNvZ25pemVyIHJlc3BvbmRzVG9T
ZWxlY3RvcjpAc2VsZWN0b3IoX21vZGlmaWVyRmxhZ3MpXSA/IHJlY29nbml6ZXIubW9kaWZpZXJG
bGFncyA6IDA7Ci19Ci0KIC0gKHZvaWQpX3dlYlRvdWNoRXZlbnRzUmVjb2duaXplZDooVUlXZWJU
b3VjaEV2ZW50c0dlc3R1cmVSZWNvZ25pemVyICopZ2VzdHVyZVJlY29nbml6ZXIKIHsKICAgICBp
ZiAoIV9wYWdlLT5pc1ZhbGlkKCkpCkBAIC0xMTc3LDcgKzExNzIsNyBAQCBpbmxpbmUgc3RhdGlj
IFVJS2V5TW9kaWZpZXJGbGFncyBnZXN0dXJlUmVjb2duaXplck1vZGlmaWVyRmxhZ3MoVUlHZXN0
dXJlUmVjb2duaQogICAgICAgICBfbGF5ZXJUcmVlVHJhbnNhY3Rpb25JZEF0TGFzdFRvdWNoU3Rh
cnQgPSBkb3duY2FzdDxXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk+KCpf
cGFnZS0+ZHJhd2luZ0FyZWEoKSkubGFzdENvbW1pdHRlZExheWVyVHJlZVRyYW5zYWN0aW9uSUQo
KTsKIAogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCi0gICAgV2ViS2l0OjpOYXRpdmVXZWJUb3Vj
aEV2ZW50IG5hdGl2ZVdlYlRvdWNoRXZlbnQgeyBsYXN0VG91Y2hFdmVudCwgZ2VzdHVyZVJlY29n
bml6ZXJNb2RpZmllckZsYWdzKGdlc3R1cmVSZWNvZ25pemVyKSB9OworICAgIFdlYktpdDo6TmF0
aXZlV2ViVG91Y2hFdmVudCBuYXRpdmVXZWJUb3VjaEV2ZW50KGxhc3RUb3VjaEV2ZW50KTsKICAg
ICBuYXRpdmVXZWJUb3VjaEV2ZW50LnNldENhblByZXZlbnROYXRpdmVHZXN0dXJlcyghX2NhblNl
bmRUb3VjaEV2ZW50c0FzeW5jaHJvbm91c2x5IHx8IFtnZXN0dXJlUmVjb2duaXplciBpc0RlZmF1
bHRQcmV2ZW50ZWRdKTsKIAogI2lmIEVOQUJMRShQT0lOVEVSX0VWRU5UUykKQEAgLTIwNjAsNyAr
MjA1NSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpc1NhbWVQYWlyKFVJR2VzdHVyZVJlY29nbml6
ZXIgKmEsIFVJR2VzdHVyZVJlY29nbml6ZXIgKmIsIFVJCiAgICAgICAgIGJyZWFrOwogICAgIGNh
c2UgVUlHZXN0dXJlUmVjb2duaXplclN0YXRlRW5kZWQ6CiAgICAgICAgIGlmIChfaGlnaGxpZ2h0
TG9uZ1ByZXNzQ2FuQ2xpY2sgJiYgX3Bvc2l0aW9uSW5mb3JtYXRpb24uaXNFbGVtZW50KSB7Ci0g
ICAgICAgICAgICBbc2VsZiBfYXR0ZW1wdENsaWNrQXRMb2NhdGlvbjpnZXN0dXJlUmVjb2duaXpl
ci5zdGFydFBvaW50IG1vZGlmaWVyRmxhZ3M6Z2VzdHVyZVJlY29nbml6ZXJNb2RpZmllckZsYWdz
KGdlc3R1cmVSZWNvZ25pemVyKV07CisgICAgICAgICAgICBbc2VsZiBfYXR0ZW1wdENsaWNrQXRM
b2NhdGlvbjpbZ2VzdHVyZVJlY29nbml6ZXIgc3RhcnRQb2ludF1dOwogICAgICAgICAgICAgW3Nl
bGYgX2ZpbmlzaEludGVyYWN0aW9uXTsKICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICBbc2Vs
ZiBfY2FuY2VsSW50ZXJhY3Rpb25dOwpAQCAtMjA3OSw3ICsyMDc0LDcgQEAgc3RhdGljIGlubGlu
ZSBib29sIGlzU2FtZVBhaXIoVUlHZXN0dXJlUmVjb2duaXplciAqYSwgVUlHZXN0dXJlUmVjb2du
aXplciAqYiwgVUkKIHsKICAgICBfaXNUYXBIaWdobGlnaHRJRFZhbGlkID0gWUVTOwogICAgIF9p
c0V4cGVjdGluZ0Zhc3RTaW5nbGVUYXBDb21taXQgPSBZRVM7Ci0gICAgX3BhZ2UtPmhhbmRsZVR3
b0ZpbmdlclRhcEF0UG9pbnQoV2ViQ29yZTo6cm91bmRlZEludFBvaW50KGdlc3R1cmVSZWNvZ25p
emVyLmNlbnRyb2lkKSwgV2ViS2l0Ojp3ZWJFdmVudE1vZGlmaWVyRmxhZ3MoZ2VzdHVyZVJlY29n
bml6ZXJNb2RpZmllckZsYWdzKGdlc3R1cmVSZWNvZ25pemVyKSksICsrX2xhdGVzdFRhcElEKTsK
KyAgICBfcGFnZS0+aGFuZGxlVHdvRmluZ2VyVGFwQXRQb2ludChXZWJDb3JlOjpyb3VuZGVkSW50
UG9pbnQoZ2VzdHVyZVJlY29nbml6ZXIuY2VudHJvaWQpLCArK19sYXRlc3RUYXBJRCk7CiB9CiAK
IC0gKHZvaWQpX3N0eWx1c1NpbmdsZVRhcFJlY29nbml6ZWQ6KFVJVGFwR2VzdHVyZVJlY29nbml6
ZXIgKilnZXN0dXJlUmVjb2duaXplcgpAQCAtMjIwMSw3ICsyMTk2LDcgQEAgc3RhdGljIHZvaWQg
Y2FuY2VsUG90ZW50aWFsVGFwSWZOZWNlc3NhcnkoV0tDb250ZW50VmlldyogY29udGVudFZpZXcp
CiAgICAgfQogCiAgICAgW19pbnB1dFBlcmlwaGVyYWwgZW5kRWRpdGluZ107Ci0gICAgX3BhZ2Ut
PmNvbW1pdFBvdGVudGlhbFRhcChXZWJLaXQ6OndlYkV2ZW50TW9kaWZpZXJGbGFncyhnZXN0dXJl
UmVjb2duaXplck1vZGlmaWVyRmxhZ3MoZ2VzdHVyZVJlY29nbml6ZXIpKSwgX2xheWVyVHJlZVRy
YW5zYWN0aW9uSWRBdExhc3RUb3VjaFN0YXJ0KTsKKyAgICBfcGFnZS0+Y29tbWl0UG90ZW50aWFs
VGFwKF9sYXllclRyZWVUcmFuc2FjdGlvbklkQXRMYXN0VG91Y2hTdGFydCk7CiAKICAgICBpZiAo
IV9pc0V4cGVjdGluZ0Zhc3RTaW5nbGVUYXBDb21taXQpCiAgICAgICAgIFtzZWxmIF9maW5pc2hJ
bnRlcmFjdGlvbl07CkBAIC0yMjM0LDcgKzIyMjksNyBAQCBzdGF0aWMgdm9pZCBjYW5jZWxQb3Rl
bnRpYWxUYXBJZk5lY2Vzc2FyeShXS0NvbnRlbnRWaWV3KiBjb250ZW50VmlldykKICAgICBfc21h
cnRNYWduaWZpY2F0aW9uQ29udHJvbGxlci0+aGFuZGxlUmVzZXRNYWduaWZpY2F0aW9uR2VzdHVy
ZShnZXN0dXJlUmVjb2duaXplci5sb2NhdGlvbik7CiB9CiAKLS0gKHZvaWQpX2F0dGVtcHRDbGlj
a0F0TG9jYXRpb246KENHUG9pbnQpbG9jYXRpb24gbW9kaWZpZXJGbGFnczooVUlLZXlNb2RpZmll
ckZsYWdzKW1vZGlmaWVyRmxhZ3MKKy0gKHZvaWQpX2F0dGVtcHRDbGlja0F0TG9jYXRpb246KENH
UG9pbnQpbG9jYXRpb24KIHsKICAgICBpZiAoIVtzZWxmIGlzRmlyc3RSZXNwb25kZXJdKSB7CiAg
ICAgICAgIGlmICghX2lucHV0Vmlld1VwZGF0ZURlZmVycmVyKQpAQCAtMjI0Myw3ICsyMjM4LDcg
QEAgc3RhdGljIHZvaWQgY2FuY2VsUG90ZW50aWFsVGFwSWZOZWNlc3NhcnkoV0tDb250ZW50Vmll
dyogY29udGVudFZpZXcpCiAgICAgfQogCiAgICAgW19pbnB1dFBlcmlwaGVyYWwgZW5kRWRpdGlu
Z107Ci0gICAgX3BhZ2UtPmhhbmRsZVRhcChsb2NhdGlvbiwgV2ViS2l0Ojp3ZWJFdmVudE1vZGlm
aWVyRmxhZ3MobW9kaWZpZXJGbGFncyksIF9sYXllclRyZWVUcmFuc2FjdGlvbklkQXRMYXN0VG91
Y2hTdGFydCk7CisgICAgX3BhZ2UtPmhhbmRsZVRhcChsb2NhdGlvbiwgX2xheWVyVHJlZVRyYW5z
YWN0aW9uSWRBdExhc3RUb3VjaFN0YXJ0KTsKIH0KIAogLSAodm9pZClzZXRVcFRleHRTZWxlY3Rp
b25Bc3Npc3RhbnQKQEAgLTU0MTYsNyArNTQxMSw3IEBAIHN0YXRpYyBjb25zdCBkb3VibGUgbWlu
aW11bUZvY3VzZWRFbGVtZW50QXJlYUZvclN1cHByZXNzaW5nU2VsZWN0aW9uQXNzaXN0YW50ID0K
IAogLSAodm9pZClhY3Rpb25TaGVldEFzc2lzdGFudDooV0tBY3Rpb25TaGVldEFzc2lzdGFudCAq
KWFzc2lzdGFudCBvcGVuRWxlbWVudEF0TG9jYXRpb246KENHUG9pbnQpbG9jYXRpb24KIHsKLSAg
ICBbc2VsZiBfYXR0ZW1wdENsaWNrQXRMb2NhdGlvbjpsb2NhdGlvbiBtb2RpZmllckZsYWdzOjBd
OworICAgIFtzZWxmIF9hdHRlbXB0Q2xpY2tBdExvY2F0aW9uOmxvY2F0aW9uXTsKIH0KIAogLSAo
dm9pZClhY3Rpb25TaGVldEFzc2lzdGFudDooV0tBY3Rpb25TaGVldEFzc2lzdGFudCAqKWFzc2lz
dGFudCBzaGFyZUVsZW1lbnRXaXRoVVJMOihOU1VSTCAqKXVybCByZWN0OihDR1JlY3QpYm91bmRp
bmdSZWN0CkBAIC02NDIzLDIyICs2NDE4LDYgQEAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElP
TlNfRU5ECiAgICAgX3BhZ2UtPnBlcmZvcm1EaWN0aW9uYXJ5TG9va3VwQXRMb2NhdGlvbihXZWJD
b3JlOjpGbG9hdFBvaW50KGxvY2F0aW9uSW5WaWV3Q29vcmRpbmF0ZXMpKTsKIH0KIAotc3RhdGlj
IFdlYkV2ZW50RmxhZ3Mgd2ViRXZlbnRGbGFnc0ZvclVJS2V5TW9kaWZpZXJGbGFncyhVSUtleU1v
ZGlmaWVyRmxhZ3MgZmxhZ3MpCi17Ci0gICAgV2ViRXZlbnRGbGFncyBldmVudEZsYWdzID0gMDsK
LSAgICBpZiAoZmxhZ3MgJiBVSUtleU1vZGlmaWVyU2hpZnQpCi0gICAgICAgIGV2ZW50RmxhZ3Mg
fD0gV2ViRXZlbnRGbGFnTWFza0xlZnRTaGlmdEtleTsKLSAgICBpZiAoZmxhZ3MgJiBVSUtleU1v
ZGlmaWVyQ29udHJvbCkKLSAgICAgICAgZXZlbnRGbGFncyB8PSBXZWJFdmVudEZsYWdNYXNrTGVm
dENvbnRyb2xLZXk7Ci0gICAgaWYgKGZsYWdzICYgVUlLZXlNb2RpZmllckFsdGVybmF0ZSkKLSAg
ICAgICAgZXZlbnRGbGFncyB8PSBXZWJFdmVudEZsYWdNYXNrTGVmdE9wdGlvbktleTsKLSAgICBp
ZiAoZmxhZ3MgJiBVSUtleU1vZGlmaWVyQ29tbWFuZCkKLSAgICAgICAgZXZlbnRGbGFncyB8PSBX
ZWJFdmVudEZsYWdNYXNrTGVmdENvbW1hbmRLZXk7Ci0gICAgaWYgKGZsYWdzICYgVUlLZXlNb2Rp
ZmllckFscGhhU2hpZnQpCi0gICAgICAgIGV2ZW50RmxhZ3MgfD0gV2ViRXZlbnRGbGFnTWFza0xl
ZnRDYXBzTG9ja0tleTsKLSAgICByZXR1cm4gZXZlbnRGbGFnczsKLX0KLQogLSAodm9pZClfaG92
ZXJHZXN0dXJlUmVjb2duaXplckNoYW5nZWQ6KFVJR2VzdHVyZVJlY29nbml6ZXIgKilnZXN0dXJl
UmVjb2duaXplcgogewogICAgIGlmICghX3BhZ2UtPmlzVmFsaWQoKSkKQEAgLTY0NjAsNyArNjQz
OSw3IEBAIHN0YXRpYyBXZWJFdmVudEZsYWdzIHdlYkV2ZW50RmxhZ3NGb3JVSUtleU1vZGlmaWVy
RmxhZ3MoVUlLZXlNb2RpZmllckZsYWdzIGZsYWdzCiAgICAgICAgIGJyZWFrOwogICAgIH0KIAot
ICAgIGF1dG8gZXZlbnQgPSBhZG9wdE5TKFtbOjpXZWJFdmVudCBhbGxvY10gaW5pdFdpdGhNb3Vz
ZUV2ZW50VHlwZTpXZWJFdmVudE1vdXNlTW92ZWQgdGltZVN0YW1wOnRpbWVzdGFtcCBsb2NhdGlv
bjpwb2ludCBtb2RpZmllcnM6d2ViRXZlbnRGbGFnc0ZvclVJS2V5TW9kaWZpZXJGbGFncyhnZXN0
dXJlUmVjb2duaXplck1vZGlmaWVyRmxhZ3MoZ2VzdHVyZVJlY29nbml6ZXIpKV0pOworICAgIGF1
dG8gZXZlbnQgPSBhZG9wdE5TKFtbOjpXZWJFdmVudCBhbGxvY10gaW5pdFdpdGhNb3VzZUV2ZW50
VHlwZTpXZWJFdmVudE1vdXNlTW92ZWQgdGltZVN0YW1wOnRpbWVzdGFtcCBsb2NhdGlvbjpwb2lu
dF0pOwogICAgIF9wYWdlLT5oYW5kbGVNb3VzZUV2ZW50KFdlYktpdDo6TmF0aXZlV2ViTW91c2VF
dmVudChldmVudC5nZXQoKSkpOwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQppbmRleCBlNTAwNmVkZTViNTA0MjI4MTQzNzE2YWRj
N2E0MDU4MzhmMzQzOTQzLi5mZTFkN2EzMDExMjJjZWE4ZjgxYjBkNjA4M2YxYWU5YjZkZDBiZDM0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9T
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0K
QEAgLTU5Niw5ICs1OTYsOSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6Z2V0U2VsZWN0aW9uQ29udGV4
dChXVEY6OkZ1bmN0aW9uPHZvaWQoY29uc3QgU3RyaW5nJiwgY29uc3QgUwogICAgIG1fcHJvY2Vz
cy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6R2V0U2VsZWN0aW9uQ29udGV4dChjYWxsYmFja0lE
KSwgbV9wYWdlSUQpOwogfQogCi12b2lkIFdlYlBhZ2VQcm94eTo6aGFuZGxlVHdvRmluZ2VyVGFw
QXRQb2ludChjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgcG9pbnQsIE9wdGlvblNldDxXZWJFdmVu
dDo6TW9kaWZpZXI+IG1vZGlmaWVycywgdWludDY0X3QgcmVxdWVzdElEKQordm9pZCBXZWJQYWdl
UHJveHk6OmhhbmRsZVR3b0ZpbmdlclRhcEF0UG9pbnQoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQm
IHBvaW50LCB1aW50NjRfdCByZXF1ZXN0SUQpCiB7Ci0gICAgcHJvY2VzcygpLnNlbmQoTWVzc2Fn
ZXM6OldlYlBhZ2U6OkhhbmRsZVR3b0ZpbmdlclRhcEF0UG9pbnQocG9pbnQsIG1vZGlmaWVycywg
cmVxdWVzdElEKSwgbV9wYWdlSUQpOworICAgIHByb2Nlc3MoKS5zZW5kKE1lc3NhZ2VzOjpXZWJQ
YWdlOjpIYW5kbGVUd29GaW5nZXJUYXBBdFBvaW50KHBvaW50LCByZXF1ZXN0SUQpLCBtX3BhZ2VJ
RCk7CiB9CiAKIHZvaWQgV2ViUGFnZVByb3h5OjpoYW5kbGVTdHlsdXNTaW5nbGVUYXBBdFBvaW50
KGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBwb2ludCwgdWludDY0X3QgcmVxdWVzdElEKQpAQCAt
ODI3LDkgKzgyNyw5IEBAIHZvaWQgV2ViUGFnZVByb3h5Ojpwb3RlbnRpYWxUYXBBdFBvc2l0aW9u
KGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIHBvc2l0aW9uLCB1CiAgICAgcHJvY2VzcygpLnNl
bmQoTWVzc2FnZXM6OldlYlBhZ2U6OlBvdGVudGlhbFRhcEF0UG9zaXRpb24ocmVxdWVzdElELCBw
b3NpdGlvbiksIG1fcGFnZUlEKTsKIH0KIAotdm9pZCBXZWJQYWdlUHJveHk6OmNvbW1pdFBvdGVu
dGlhbFRhcChPcHRpb25TZXQ8V2ViRXZlbnQ6Ok1vZGlmaWVyPiBtb2RpZmllcnMsIHVpbnQ2NF90
IGxheWVyVHJlZVRyYW5zYWN0aW9uSWRBdExhc3RUb3VjaFN0YXJ0KQordm9pZCBXZWJQYWdlUHJv
eHk6OmNvbW1pdFBvdGVudGlhbFRhcCh1aW50NjRfdCBsYXllclRyZWVUcmFuc2FjdGlvbklkQXRM
YXN0VG91Y2hTdGFydCkKIHsKLSAgICBwcm9jZXNzKCkuc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6
Q29tbWl0UG90ZW50aWFsVGFwKG1vZGlmaWVycywgbGF5ZXJUcmVlVHJhbnNhY3Rpb25JZEF0TGFz
dFRvdWNoU3RhcnQpLCBtX3BhZ2VJRCk7CisgICAgcHJvY2VzcygpLnNlbmQoTWVzc2FnZXM6Oldl
YlBhZ2U6OkNvbW1pdFBvdGVudGlhbFRhcChsYXllclRyZWVUcmFuc2FjdGlvbklkQXRMYXN0VG91
Y2hTdGFydCksIG1fcGFnZUlEKTsKIH0KIAogdm9pZCBXZWJQYWdlUHJveHk6OmNhbmNlbFBvdGVu
dGlhbFRhcCgpCkBAIC04NDIsOSArODQyLDkgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnRhcEhpZ2hs
aWdodEF0UG9zaXRpb24oY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgcG9zaXRpb24sIHUKICAg
ICBwcm9jZXNzKCkuc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6VGFwSGlnaGxpZ2h0QXRQb3NpdGlv
bihyZXF1ZXN0SUQsIHBvc2l0aW9uKSwgbV9wYWdlSUQpOwogfQogCi12b2lkIFdlYlBhZ2VQcm94
eTo6aGFuZGxlVGFwKGNvbnN0IEZsb2F0UG9pbnQmIGxvY2F0aW9uLCBPcHRpb25TZXQ8V2ViRXZl
bnQ6Ok1vZGlmaWVyPiBtb2RpZmllcnMsIHVpbnQ2NF90IGxheWVyVHJlZVRyYW5zYWN0aW9uSWRB
dExhc3RUb3VjaFN0YXJ0KQordm9pZCBXZWJQYWdlUHJveHk6OmhhbmRsZVRhcChjb25zdCBGbG9h
dFBvaW50JiBsb2NhdGlvbiwgdWludDY0X3QgbGF5ZXJUcmVlVHJhbnNhY3Rpb25JZEF0TGFzdFRv
dWNoU3RhcnQpCiB7Ci0gICAgcHJvY2VzcygpLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkhhbmRs
ZVRhcChyb3VuZGVkSW50UG9pbnQobG9jYXRpb24pLCBtb2RpZmllcnMsIGxheWVyVHJlZVRyYW5z
YWN0aW9uSWRBdExhc3RUb3VjaFN0YXJ0KSwgbV9wYWdlSUQpOworICAgIHByb2Nlc3MoKS5zZW5k
KE1lc3NhZ2VzOjpXZWJQYWdlOjpIYW5kbGVUYXAocm91bmRlZEludFBvaW50KGxvY2F0aW9uKSwg
bGF5ZXJUcmVlVHJhbnNhY3Rpb25JZEF0TGFzdFRvdWNoU3RhcnQpLCBtX3BhZ2VJRCk7CiB9CiAK
IHZvaWQgV2ViUGFnZVByb3h5OjppbnNwZWN0b3JOb2RlU2VhcmNoTW92ZWRUb1Bvc2l0aW9uKGNv
bnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIHBvc2l0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IDE4ZWVhMDEwZDY3MTY2NmQwMjUzZDkyYjdjMjk4
OGE4Y2MwOGVkNDcuLmI5MTMzMzJiYjUyNTA2YWRjMTU5NTdhNGFiMmZmNDJjYmE3NDNmNjIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTYxNCw5ICs2
MTQsOSBAQCBwdWJsaWM6CiAgICAgYm9vbCBhbGxvd3NVc2VyU2NhbGluZygpIGNvbnN0OwogICAg
IGJvb2wgaGFzU3RhYmxlUGFnZVNjYWxlRmFjdG9yKCkgY29uc3QgeyByZXR1cm4gbV9oYXNTdGFi
bGVQYWdlU2NhbGVGYWN0b3I7IH0KIAotICAgIHZvaWQgaGFuZGxlVGFwKGNvbnN0IFdlYkNvcmU6
OkludFBvaW50JiwgT3B0aW9uU2V0PFdlYktpdDo6V2ViRXZlbnQ6Ok1vZGlmaWVyPiwgdWludDY0
X3QgbGFzdExheWVyVHJlZVRyYW5zYWN0aW9uSWQpOworICAgIHZvaWQgaGFuZGxlVGFwKGNvbnN0
IFdlYkNvcmU6OkludFBvaW50JiwgdWludDY0X3QgbGFzdExheWVyVHJlZVRyYW5zYWN0aW9uSWQp
OwogICAgIHZvaWQgcG90ZW50aWFsVGFwQXRQb3NpdGlvbih1aW50NjRfdCByZXF1ZXN0SUQsIGNv
bnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmKTsKLSAgICB2b2lkIGNvbW1pdFBvdGVudGlhbFRhcChP
cHRpb25TZXQ8V2ViS2l0OjpXZWJFdmVudDo6TW9kaWZpZXI+LCB1aW50NjRfdCBsYXN0TGF5ZXJU
cmVlVHJhbnNhY3Rpb25JZCk7CisgICAgdm9pZCBjb21taXRQb3RlbnRpYWxUYXAodWludDY0X3Qg
bGFzdExheWVyVHJlZVRyYW5zYWN0aW9uSWQpOwogICAgIHZvaWQgY29tbWl0UG90ZW50aWFsVGFw
RmFpbGVkKCk7CiAgICAgdm9pZCBjYW5jZWxQb3RlbnRpYWxUYXAoKTsKICAgICB2b2lkIGNhbmNl
bFBvdGVudGlhbFRhcEluRnJhbWUoV2ViRnJhbWUmKTsKQEAgLTY2Miw3ICs2NjIsNyBAQCBwdWJs
aWM6CiAgICAgV2ViQ29yZTo6SW50UmVjdCByZWN0Rm9yRWxlbWVudEF0SW50ZXJhY3Rpb25Mb2Nh
dGlvbigpOwogICAgIHZvaWQgdXBkYXRlU2VsZWN0aW9uQXBwZWFyYW5jZSgpOwogICAgIHZvaWQg
Z2V0U2VsZWN0aW9uQ29udGV4dChDYWxsYmFja0lEKTsKLSAgICB2b2lkIGhhbmRsZVR3b0Zpbmdl
clRhcEF0UG9pbnQoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmLCBPcHRpb25TZXQ8V2ViS2l0OjpX
ZWJFdmVudDo6TW9kaWZpZXI+LCB1aW50NjRfdCByZXF1ZXN0SUQpOworICAgIHZvaWQgaGFuZGxl
VHdvRmluZ2VyVGFwQXRQb2ludChjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYsIHVpbnQ2NF90IHJl
cXVlc3RJRCk7CiAgICAgdm9pZCBoYW5kbGVTdHlsdXNTaW5nbGVUYXBBdFBvaW50KGNvbnN0IFdl
YkNvcmU6OkludFBvaW50JiwgdWludDY0X3QgcmVxdWVzdElEKTsKICAgICB2b2lkIGdldFJlY3Rz
Rm9yR3JhbnVsYXJpdHlXaXRoU2VsZWN0aW9uT2Zmc2V0KHVpbnQzMl90LCBpbnQzMl90LCBDYWxs
YmFja0lEKTsKICAgICB2b2lkIGdldFJlY3RzQXRTZWxlY3Rpb25PZmZzZXRXaXRoVGV4dChpbnQz
Ml90LCBjb25zdCBTdHJpbmcmLCBDYWxsYmFja0lEKTsKQEAgLTExODUsOCArMTE4NSw4IEBAIHBy
aXZhdGU6CiAgICAgUmVmUHRyPFdlYkNvcmU6OlJhbmdlPiByYW5nZUZvcldlYlNlbGVjdGlvbkF0
UG9zaXRpb24oY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmLCBjb25zdCBXZWJDb3JlOjpWaXNpYmxl
UG9zaXRpb24mLCBTZWxlY3Rpb25GbGFncyYpOwogICAgIHZvaWQgZ2V0Rm9jdXNlZEVsZW1lbnRJ
bmZvcm1hdGlvbihGb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uJik7CiAgICAgdm9pZCBwbGF0Zm9y
bUluaXRpYWxpemVBY2Nlc3NpYmlsaXR5KCk7Ci0gICAgdm9pZCBoYW5kbGVTeW50aGV0aWNDbGlj
ayhXZWJDb3JlOjpOb2RlKiBub2RlUmVzcG9uZGluZ1RvQ2xpY2ssIGNvbnN0IFdlYkNvcmU6OkZs
b2F0UG9pbnQmIGxvY2F0aW9uLCBPcHRpb25TZXQ8V2ViS2l0OjpXZWJFdmVudDo6TW9kaWZpZXI+
KTsKLSAgICB2b2lkIGNvbXBsZXRlU3ludGhldGljQ2xpY2soV2ViQ29yZTo6Tm9kZSogbm9kZVJl
c3BvbmRpbmdUb0NsaWNrLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBsb2NhdGlvbiwgT3B0
aW9uU2V0PFdlYktpdDo6V2ViRXZlbnQ6Ok1vZGlmaWVyPiwgV2ViQ29yZTo6U3ludGhldGljQ2xp
Y2tUeXBlKTsKKyAgICB2b2lkIGhhbmRsZVN5bnRoZXRpY0NsaWNrKFdlYkNvcmU6Ok5vZGUqIG5v
ZGVSZXNwb25kaW5nVG9DbGljaywgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgbG9jYXRpb24p
OworICAgIHZvaWQgY29tcGxldGVTeW50aGV0aWNDbGljayhXZWJDb3JlOjpOb2RlKiBub2RlUmVz
cG9uZGluZ1RvQ2xpY2ssIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIGxvY2F0aW9uLCBXZWJD
b3JlOjpTeW50aGV0aWNDbGlja1R5cGUpOwogICAgIHZvaWQgc2VuZFRhcEhpZ2hsaWdodEZvck5v
ZGVJZk5lY2Vzc2FyeSh1aW50NjRfdCByZXF1ZXN0SUQsIFdlYkNvcmU6Ok5vZGUqKTsKICAgICB2
b2lkIHJlc2V0VGV4dEF1dG9zaXppbmcoKTsKICAgICBXZWJDb3JlOjpWaXNpYmxlUG9zaXRpb24g
dmlzaWJsZVBvc2l0aW9uSW5Gb2N1c2VkTm9kZUZvclBvaW50KGNvbnN0IFdlYkNvcmU6OkZyYW1l
JiwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmLCBib29sIGlzSW50ZXJhY3RpbmdXaXRoRm9jdXNl
ZEVsZW1lbnQpOwpAQCAtMTc2OCw3ICsxNzY4LDYgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8V2Vi
Q29yZTo6Tm9kZT4gbV9wZW5kaW5nU3ludGhldGljQ2xpY2tOb2RlOwogICAgIFdlYkNvcmU6OkZs
b2F0UG9pbnQgbV9wZW5kaW5nU3ludGhldGljQ2xpY2tMb2NhdGlvbjsKICAgICBXZWJDb3JlOjpG
bG9hdFJlY3QgbV9wcmV2aW91c0V4cG9zZWRDb250ZW50UmVjdDsKLSAgICBPcHRpb25TZXQ8V2Vi
S2l0OjpXZWJFdmVudDo6TW9kaWZpZXI+IG1fcGVuZGluZ1N5bnRoZXRpY0NsaWNrTW9kaWZpZXJz
OwogICAgIEZvY3VzZWRFbGVtZW50SWRlbnRpZmllciBtX2N1cnJlbnRGb2N1c2VkRWxlbWVudElk
ZW50aWZpZXIgeyAwIH07CiAgICAgT3B0aW9uYWw8RHluYW1pY1ZpZXdwb3J0U2l6ZVVwZGF0ZUlE
PiBtX3BlbmRpbmdEeW5hbWljVmlld3BvcnRTaXplVXBkYXRlSUQ7CiAgICAgZG91YmxlIG1fbGFz
dFRyYW5zYWN0aW9uUGFnZVNjYWxlRmFjdG9yIHsgMCB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KaW5kZXggMmQ1YjdiNWE2
YmNkMDkzMDcxODNmNDQ5ZmFkMTZjMjdjZDY0YjY4MS4uYThjNjE3NjllNWU3NGQyMTRlOGNlZjBh
NjQxNTg0NzhiMjMwMWNlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC01MSw5ICs1MSw5IEBAIG1lc3NhZ2VzIC0+
IFdlYlBhZ2UgTGVnYWN5UmVjZWl2ZXIgewogICAgIFNldE92ZXJyaWRlVmlld3BvcnRBcmd1bWVu
dHMoT3B0aW9uYWw8V2ViQ29yZTo6Vmlld3BvcnRBcmd1bWVudHM+IGFyZ3VtZW50cykKICAgICBE
eW5hbWljVmlld3BvcnRTaXplVXBkYXRlKFdlYkNvcmU6OkZsb2F0U2l6ZSB2aWV3TGF5b3V0U2l6
ZSwgV2ViQ29yZTo6RmxvYXRTaXplIG1heGltdW1Vbm9ic2N1cmVkU2l6ZSwgV2ViQ29yZTo6Rmxv
YXRSZWN0IHRhcmdldEV4cG9zZWRDb250ZW50UmVjdCwgV2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdl
dFVub2JzY3VyZWRSZWN0LCBXZWJDb3JlOjpGbG9hdFJlY3QgdGFyZ2V0VW5vYnNjdXJlZFJlY3RJ
blNjcm9sbFZpZXdDb29yZGluYXRlcywgV2ViQ29yZTo6UmVjdEVkZ2VzPGZsb2F0PiB0YXJnZXRV
bm9ic2N1cmVkU2FmZUFyZWFJbnNldHMsIGRvdWJsZSBzY2FsZSwgaW50MzJfdCBkZXZpY2VPcmll
bnRhdGlvbiwgdWludDY0X3QgZHluYW1pY1ZpZXdwb3J0U2l6ZVVwZGF0ZUlEKQogCi0gICAgSGFu
ZGxlVGFwKFdlYkNvcmU6OkludFBvaW50IHBvaW50LCBPcHRpb25TZXQ8V2ViS2l0OjpXZWJFdmVu
dDo6TW9kaWZpZXI+IG1vZGlmaWVycywgdWludDY0X3QgbGFzdExheWVyVHJlZVRyYW5zYWN0aW9u
SWQpCisgICAgSGFuZGxlVGFwKFdlYkNvcmU6OkludFBvaW50IHBvaW50LCB1aW50NjRfdCBsYXN0
TGF5ZXJUcmVlVHJhbnNhY3Rpb25JZCkKICAgICBQb3RlbnRpYWxUYXBBdFBvc2l0aW9uKHVpbnQ2
NF90IHJlcXVlc3RJRCwgV2ViQ29yZTo6RmxvYXRQb2ludCBwb2ludCkKLSAgICBDb21taXRQb3Rl
bnRpYWxUYXAoT3B0aW9uU2V0PFdlYktpdDo6V2ViRXZlbnQ6Ok1vZGlmaWVyPiBtb2RpZmllcnMs
IHVpbnQ2NF90IGxhc3RMYXllclRyZWVUcmFuc2FjdGlvbklkKQorICAgIENvbW1pdFBvdGVudGlh
bFRhcCh1aW50NjRfdCBsYXN0TGF5ZXJUcmVlVHJhbnNhY3Rpb25JZCkKICAgICBDYW5jZWxQb3Rl
bnRpYWxUYXAoKQogICAgIFRhcEhpZ2hsaWdodEF0UG9zaXRpb24odWludDY0X3QgcmVxdWVzdElE
LCBXZWJDb3JlOjpGbG9hdFBvaW50IHBvaW50KQogICAgIEluc3BlY3Rvck5vZGVTZWFyY2hNb3Zl
ZFRvUG9zaXRpb24oV2ViQ29yZTo6RmxvYXRQb2ludCBwb2ludCkKQEAgLTk4LDcgKzk4LDcgQEAg
bWVzc2FnZXMgLT4gV2ViUGFnZSBMZWdhY3lSZWNlaXZlciB7CiAgICAgQ29udGVudFNpemVDYXRl
Z29yeURpZENoYW5nZShTdHJpbmcgY29udGVudFNpemVDYXRlZ29yeSkKICAgICBHZXRTZWxlY3Rp
b25Db250ZXh0KFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKQogICAgIFNldEFsbG93c01l
ZGlhRG9jdW1lbnRJbmxpbmVQbGF5YmFjayhib29sIGFsbG93cykKLSAgICBIYW5kbGVUd29GaW5n
ZXJUYXBBdFBvaW50KFdlYkNvcmU6OkludFBvaW50IHBvaW50LCBPcHRpb25TZXQ8V2ViS2l0OjpX
ZWJFdmVudDo6TW9kaWZpZXI+IG1vZGlmaWVycywgdWludDY0X3QgcmVxdWVzdElEKQorICAgIEhh
bmRsZVR3b0ZpbmdlclRhcEF0UG9pbnQoV2ViQ29yZTo6SW50UG9pbnQgcG9pbnQsIHVpbnQ2NF90
IHJlcXVlc3RJRCkKICAgICBIYW5kbGVTdHlsdXNTaW5nbGVUYXBBdFBvaW50KFdlYkNvcmU6Oklu
dFBvaW50IHBvaW50LCB1aW50NjRfdCByZXF1ZXN0SUQpCiAgICAgU2V0Rm9yY2VBbHdheXNVc2Vy
U2NhbGFibGUoYm9vbCB1c2VyU2NhbGFibGUpCiAgICAgR2V0UmVjdHNGb3JHcmFudWxhcml0eVdp
dGhTZWxlY3Rpb25PZmZzZXQodWludDMyX3QgZ3JhbnVsYXJpdHksIGludDMyX3Qgb2Zmc2V0LCBX
ZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJhY2tJRCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KaW5kZXggZjlkZmQwZDM3MjI2ZTk4Zjk0
NWFiYzVmZjRjMGExZmZhYjg0YWIzNC4uN2ViNzFhZTkxMmE5MzUwMGIzNTg5MzgzMGI2ZTI0YTA2
MzZjZDdlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9z
L1dlYlBhZ2VJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9z
L1dlYlBhZ2VJT1MubW0KQEAgLTUzNCw3ICs1MzQsNyBAQCB2b2lkIFdlYlBhZ2U6OnVwZGF0ZVNl
bGVjdGlvbkFwcGVhcmFuY2UoKQogICAgICAgICBkaWRDaGFuZ2VTZWxlY3Rpb24oKTsKIH0KIAot
dm9pZCBXZWJQYWdlOjpoYW5kbGVTeW50aGV0aWNDbGljayhOb2RlKiBub2RlUmVzcG9uZGluZ1Rv
Q2xpY2ssIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIGxvY2F0aW9uLCBPcHRpb25TZXQ8V2Vi
RXZlbnQ6Ok1vZGlmaWVyPiBtb2RpZmllcnMpCit2b2lkIFdlYlBhZ2U6OmhhbmRsZVN5bnRoZXRp
Y0NsaWNrKE5vZGUqIG5vZGVSZXNwb25kaW5nVG9DbGljaywgY29uc3QgV2ViQ29yZTo6RmxvYXRQ
b2ludCYgbG9jYXRpb24pCiB7CiAgICAgSW50UG9pbnQgcm91bmRlZEFkanVzdGVkUG9pbnQgPSBy
b3VuZGVkSW50UG9pbnQobG9jYXRpb24pOwogICAgIEZyYW1lJiBtYWluZnJhbWUgPSBtX3BhZ2Ut
Pm1haW5GcmFtZSgpOwpAQCAtNTQzLDEyICs1NDMsNyBAQCB2b2lkIFdlYlBhZ2U6OmhhbmRsZVN5
bnRoZXRpY0NsaWNrKE5vZGUqIG5vZGVSZXNwb25kaW5nVG9DbGljaywgY29uc3QgV2ViQ29yZTo6
RgogICAgIFdLU3RhcnRPYnNlcnZpbmdDb250ZW50Q2hhbmdlcygpOwogICAgIFdLU3RhcnRPYnNl
cnZpbmdET01UaW1lclNjaGVkdWxpbmcoKTsKIAotICAgIC8vIEZJWE1FOiBQYXNzIGNhcHMgbG9j
ayBzdGF0ZS4KLSAgICBib29sIHNoaWZ0S2V5ID0gbW9kaWZpZXJzLmNvbnRhaW5zKFdlYkV2ZW50
OjpNb2RpZmllcjo6U2hpZnRLZXkpOwotICAgIGJvb2wgY3RybEtleSA9IG1vZGlmaWVycy5jb250
YWlucyhXZWJFdmVudDo6TW9kaWZpZXI6OkNvbnRyb2xLZXkpOwotICAgIGJvb2wgYWx0S2V5ID0g
bW9kaWZpZXJzLmNvbnRhaW5zKFdlYkV2ZW50OjpNb2RpZmllcjo6QWx0S2V5KTsKLSAgICBib29s
IG1ldGFLZXkgPSBtb2RpZmllcnMuY29udGFpbnMoV2ViRXZlbnQ6Ok1vZGlmaWVyOjpNZXRhS2V5
KTsKLSAgICBtYWluZnJhbWUuZXZlbnRIYW5kbGVyKCkubW91c2VNb3ZlZChQbGF0Zm9ybU1vdXNl
RXZlbnQocm91bmRlZEFkanVzdGVkUG9pbnQsIHJvdW5kZWRBZGp1c3RlZFBvaW50LCBOb0J1dHRv
biwgUGxhdGZvcm1FdmVudDo6TW91c2VNb3ZlZCwgMCwgc2hpZnRLZXksIGN0cmxLZXksIGFsdEtl
eSwgbWV0YUtleSwgV2FsbFRpbWU6Om5vdygpLCBXZWJDb3JlOjpGb3JjZUF0Q2xpY2ssIFdlYkNv
cmU6Ok5vVGFwKSk7CisgICAgbWFpbmZyYW1lLmV2ZW50SGFuZGxlcigpLm1vdXNlTW92ZWQoUGxh
dGZvcm1Nb3VzZUV2ZW50KHJvdW5kZWRBZGp1c3RlZFBvaW50LCByb3VuZGVkQWRqdXN0ZWRQb2lu
dCwgTm9CdXR0b24sIFBsYXRmb3JtRXZlbnQ6Ok1vdXNlTW92ZWQsIDAsIGZhbHNlLCBmYWxzZSwg
ZmFsc2UsIGZhbHNlLCBXYWxsVGltZTo6bm93KCksIFdlYkNvcmU6OkZvcmNlQXRDbGljaywgV2Vi
Q29yZTo6Tm9UYXApKTsKICAgICBtYWluZnJhbWUuZG9jdW1lbnQoKS0+dXBkYXRlU3R5bGVJZk5l
ZWRlZCgpOwogCiAgICAgV0tTdG9wT2JzZXJ2aW5nRE9NVGltZXJTY2hlZHVsaW5nKCk7CkBAIC01
NTYsNyArNTUxLDYgQEAgdm9pZCBXZWJQYWdlOjpoYW5kbGVTeW50aGV0aWNDbGljayhOb2RlKiBu
b2RlUmVzcG9uZGluZ1RvQ2xpY2ssIGNvbnN0IFdlYkNvcmU6OkYKIAogICAgIG1fcGVuZGluZ1N5
bnRoZXRpY0NsaWNrTm9kZSA9IG51bGxwdHI7CiAgICAgbV9wZW5kaW5nU3ludGhldGljQ2xpY2tM
b2NhdGlvbiA9IEZsb2F0UG9pbnQoKTsKLSAgICBtX3BlbmRpbmdTeW50aGV0aWNDbGlja01vZGlm
aWVycyA9IHsgfTsKIAogICAgIGlmIChtX2lzQ2xvc2VkKQogICAgICAgICByZXR1cm47CkBAIC01
NjYsMTYgKzU2MCwxNSBAQCB2b2lkIFdlYlBhZ2U6OmhhbmRsZVN5bnRoZXRpY0NsaWNrKE5vZGUq
IG5vZGVSZXNwb25kaW5nVG9DbGljaywgY29uc3QgV2ViQ29yZTo6RgogICAgICAgICAvLyBUaGUg
bW92ZSBldmVudCBjYXVzZWQgbmV3IGNvbnRlbnRzIHRvIGFwcGVhci4gRG9uJ3Qgc2VuZCB0aGUg
Y2xpY2sgZXZlbnQuCiAgICAgICAgIExPRyhDb250ZW50T2JzZXJ2YXRpb24sICJoYW5kbGVTeW50
aGV0aWNDbGljazogT2JzZXJ2ZWQgbWVhbmluZ2Z1bCB2aXNpYmxlIGNoYW5nZSAtPiBob3Zlci4i
KTsKICAgICAgICAgcmV0dXJuOwotICAgIGNhc2UgV0tDb250ZW50SW5kZXRlcm1pbmF0ZUNoYW5n
ZTogeworICAgIGNhc2UgV0tDb250ZW50SW5kZXRlcm1pbmF0ZUNoYW5nZToKICAgICAgICAgLy8g
V2FpdCBmb3IgY2FsbGJhY2sgdG8gY29tcGxldGVQZW5kaW5nU3ludGhldGljQ2xpY2tGb3JDb250
ZW50Q2hhbmdlT2JzZXJ2ZXIoKSB0byBkZWNpZGUgd2hldGhlciB0byBzZW5kIHRoZSBjbGljayBl
dmVudC4KICAgICAgICAgbV9wZW5kaW5nU3ludGhldGljQ2xpY2tOb2RlID0gbm9kZVJlc3BvbmRp
bmdUb0NsaWNrOwogICAgICAgICBtX3BlbmRpbmdTeW50aGV0aWNDbGlja0xvY2F0aW9uID0gbG9j
YXRpb247Ci0gICAgICAgIG1fcGVuZGluZ1N5bnRoZXRpY0NsaWNrTW9kaWZpZXJzID0gbW9kaWZp
ZXJzOwogICAgICAgICBMT0coQ29udGVudE9ic2VydmF0aW9uLCAiaGFuZGxlU3ludGhldGljQ2xp
Y2s6IE9ic2VydmVkIHNvbWUgY2hhbmdlLCBidXQgY2FuJ3QgZGVjaWRlIGl0IHlldCAtPiB3YWl0
LiIpOwogICAgICAgICByZXR1cm47Ci0gICAgfSBjYXNlIFdLQ29udGVudE5vQ2hhbmdlOgorICAg
IGNhc2UgV0tDb250ZW50Tm9DaGFuZ2U6CiAgICAgICAgIExPRyhDb250ZW50T2JzZXJ2YXRpb24s
ICJoYW5kbGVTeW50aGV0aWNDbGljazogTm8gY2hhbmdlIHdhcyBvYnNlcnZlZCAtPiBjbGljay4i
KTsKLSAgICAgICAgY29tcGxldGVTeW50aGV0aWNDbGljayhub2RlUmVzcG9uZGluZ1RvQ2xpY2ss
IGxvY2F0aW9uLCBtb2RpZmllcnMsIFdlYkNvcmU6Ok9uZUZpbmdlclRhcCk7CisgICAgICAgIGNv
bXBsZXRlU3ludGhldGljQ2xpY2sobm9kZVJlc3BvbmRpbmdUb0NsaWNrLCBsb2NhdGlvbiwgV2Vi
Q29yZTo6T25lRmluZ2VyVGFwKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKQEAgLTU4OSwxNiArNTgyLDE1IEBAIHZvaWQgV2ViUGFnZTo6Y29tcGxl
dGVQZW5kaW5nU3ludGhldGljQ2xpY2tGb3JDb250ZW50Q2hhbmdlT2JzZXJ2ZXIoKQogICAgIC8v
IE9ubHkgZGlzcGF0Y2ggdGhlIGNsaWNrIGlmIHRoZSBkb2N1bWVudCBkaWRuJ3QgZ2V0IGNoYW5n
ZWQgYnkgYW55IHRpbWVycyBzdGFydGVkIGJ5IHRoZSBtb3ZlIGV2ZW50LgogICAgIGlmIChXS09i
c2VydmVkQ29udGVudENoYW5nZSgpID09IFdLQ29udGVudE5vQ2hhbmdlKSB7CiAgICAgICAgIExP
RyhDb250ZW50T2JzZXJ2YXRpb24sICJObyBjaGFnZSB3YXMgb2JzZXJ2ZWQgLT4gY2xpY2suIik7
Ci0gICAgICAgIGNvbXBsZXRlU3ludGhldGljQ2xpY2sobV9wZW5kaW5nU3ludGhldGljQ2xpY2tO
b2RlLmdldCgpLCBtX3BlbmRpbmdTeW50aGV0aWNDbGlja0xvY2F0aW9uLCBtX3BlbmRpbmdTeW50
aGV0aWNDbGlja01vZGlmaWVycywgV2ViQ29yZTo6T25lRmluZ2VyVGFwKTsKKyAgICAgICAgY29t
cGxldGVTeW50aGV0aWNDbGljayhtX3BlbmRpbmdTeW50aGV0aWNDbGlja05vZGUuZ2V0KCksIG1f
cGVuZGluZ1N5bnRoZXRpY0NsaWNrTG9jYXRpb24sIFdlYkNvcmU6Ok9uZUZpbmdlclRhcCk7CiAg
ICAgfSBlbHNlCiAgICAgICAgIExPRyhDb250ZW50T2JzZXJ2YXRpb24sICJPYnNlcnZlZCBtZWFu
aW5nZnVsIHZpc2libGUgY2hhbmdlIC0+IGhvdmVyLiIpOwogCiAgICAgbV9wZW5kaW5nU3ludGhl
dGljQ2xpY2tOb2RlID0gbnVsbHB0cjsKICAgICBtX3BlbmRpbmdTeW50aGV0aWNDbGlja0xvY2F0
aW9uID0gRmxvYXRQb2ludCgpOwotICAgIG1fcGVuZGluZ1N5bnRoZXRpY0NsaWNrTW9kaWZpZXJz
ID0geyB9OwogfQogCi12b2lkIFdlYlBhZ2U6OmNvbXBsZXRlU3ludGhldGljQ2xpY2soTm9kZSog
bm9kZVJlc3BvbmRpbmdUb0NsaWNrLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBsb2NhdGlv
biwgT3B0aW9uU2V0PFdlYkV2ZW50OjpNb2RpZmllcj4gbW9kaWZpZXJzLCBTeW50aGV0aWNDbGlj
a1R5cGUgc3ludGhldGljQ2xpY2tUeXBlKQordm9pZCBXZWJQYWdlOjpjb21wbGV0ZVN5bnRoZXRp
Y0NsaWNrKE5vZGUqIG5vZGVSZXNwb25kaW5nVG9DbGljaywgY29uc3QgV2ViQ29yZTo6RmxvYXRQ
b2ludCYgbG9jYXRpb24sIFN5bnRoZXRpY0NsaWNrVHlwZSBzeW50aGV0aWNDbGlja1R5cGUpCiB7
CiAgICAgSW50UG9pbnQgcm91bmRlZEFkanVzdGVkUG9pbnQgPSByb3VuZGVkSW50UG9pbnQobG9j
YXRpb24pOwogICAgIEZyYW1lJiBtYWluZnJhbWUgPSBtX3BhZ2UtPm1haW5GcmFtZSgpOwpAQCAt
NjExLDE3ICs2MDMsMTEgQEAgdm9pZCBXZWJQYWdlOjpjb21wbGV0ZVN5bnRoZXRpY0NsaWNrKE5v
ZGUqIG5vZGVSZXNwb25kaW5nVG9DbGljaywgY29uc3QgV2ViQ29yZToKICAgICBib29sIHRhcFdh
c0hhbmRsZWQgPSBmYWxzZTsKICAgICBtX2xhc3RJbnRlcmFjdGlvbkxvY2F0aW9uID0gcm91bmRl
ZEFkanVzdGVkUG9pbnQ7CiAKLSAgICAvLyBGSVhNRTogUGFzcyBjYXBzIGxvY2sgc3RhdGUuCi0g
ICAgYm9vbCBzaGlmdEtleSA9IG1vZGlmaWVycy5jb250YWlucyhXZWJFdmVudDo6TW9kaWZpZXI6
OlNoaWZ0S2V5KTsKLSAgICBib29sIGN0cmxLZXkgPSBtb2RpZmllcnMuY29udGFpbnMoV2ViRXZl
bnQ6Ok1vZGlmaWVyOjpDb250cm9sS2V5KTsKLSAgICBib29sIGFsdEtleSA9IG1vZGlmaWVycy5j
b250YWlucyhXZWJFdmVudDo6TW9kaWZpZXI6OkFsdEtleSk7Ci0gICAgYm9vbCBtZXRhS2V5ID0g
bW9kaWZpZXJzLmNvbnRhaW5zKFdlYkV2ZW50OjpNb2RpZmllcjo6TWV0YUtleSk7Ci0KLSAgICB0
YXBXYXNIYW5kbGVkIHw9IG1haW5mcmFtZS5ldmVudEhhbmRsZXIoKS5oYW5kbGVNb3VzZVByZXNz
RXZlbnQoUGxhdGZvcm1Nb3VzZUV2ZW50KHJvdW5kZWRBZGp1c3RlZFBvaW50LCByb3VuZGVkQWRq
dXN0ZWRQb2ludCwgTGVmdEJ1dHRvbiwgUGxhdGZvcm1FdmVudDo6TW91c2VQcmVzc2VkLCAxLCBz
aGlmdEtleSwgY3RybEtleSwgYWx0S2V5LCBtZXRhS2V5LCBXYWxsVGltZTo6bm93KCksIFdlYkNv
cmU6OkZvcmNlQXRDbGljaywgc3ludGhldGljQ2xpY2tUeXBlKSk7CisgICAgdGFwV2FzSGFuZGxl
ZCB8PSBtYWluZnJhbWUuZXZlbnRIYW5kbGVyKCkuaGFuZGxlTW91c2VQcmVzc0V2ZW50KFBsYXRm
b3JtTW91c2VFdmVudChyb3VuZGVkQWRqdXN0ZWRQb2ludCwgcm91bmRlZEFkanVzdGVkUG9pbnQs
IExlZnRCdXR0b24sIFBsYXRmb3JtRXZlbnQ6Ok1vdXNlUHJlc3NlZCwgMSwgZmFsc2UsIGZhbHNl
LCBmYWxzZSwgZmFsc2UsIFdhbGxUaW1lOjpub3coKSwgV2ViQ29yZTo6Rm9yY2VBdENsaWNrLCBz
eW50aGV0aWNDbGlja1R5cGUpKTsKICAgICBpZiAobV9pc0Nsb3NlZCkKICAgICAgICAgcmV0dXJu
OwogCi0gICAgdGFwV2FzSGFuZGxlZCB8PSBtYWluZnJhbWUuZXZlbnRIYW5kbGVyKCkuaGFuZGxl
TW91c2VSZWxlYXNlRXZlbnQoUGxhdGZvcm1Nb3VzZUV2ZW50KHJvdW5kZWRBZGp1c3RlZFBvaW50
LCByb3VuZGVkQWRqdXN0ZWRQb2ludCwgTGVmdEJ1dHRvbiwgUGxhdGZvcm1FdmVudDo6TW91c2VS
ZWxlYXNlZCwgMSwgc2hpZnRLZXksIGN0cmxLZXksIGFsdEtleSwgbWV0YUtleSwgV2FsbFRpbWU6
Om5vdygpLCBXZWJDb3JlOjpGb3JjZUF0Q2xpY2ssIHN5bnRoZXRpY0NsaWNrVHlwZSkpOworICAg
IHRhcFdhc0hhbmRsZWQgfD0gbWFpbmZyYW1lLmV2ZW50SGFuZGxlcigpLmhhbmRsZU1vdXNlUmVs
ZWFzZUV2ZW50KFBsYXRmb3JtTW91c2VFdmVudChyb3VuZGVkQWRqdXN0ZWRQb2ludCwgcm91bmRl
ZEFkanVzdGVkUG9pbnQsIExlZnRCdXR0b24sIFBsYXRmb3JtRXZlbnQ6Ok1vdXNlUmVsZWFzZWQs
IDEsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBXYWxsVGltZTo6bm93KCksIFdlYkNvcmU6
OkZvcmNlQXRDbGljaywgc3ludGhldGljQ2xpY2tUeXBlKSk7CiAgICAgaWYgKG1faXNDbG9zZWQp
CiAgICAgICAgIHJldHVybjsKIApAQCAtNjQxLDcgKzYyNyw3IEBAIHZvaWQgV2ViUGFnZTo6Y29t
cGxldGVTeW50aGV0aWNDbGljayhOb2RlKiBub2RlUmVzcG9uZGluZ1RvQ2xpY2ssIGNvbnN0IFdl
YkNvcmU6CiAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRDb21wbGV0ZVN5bnRo
ZXRpY0NsaWNrKCkpOwogfQogCi12b2lkIFdlYlBhZ2U6OmhhbmRsZVRhcChjb25zdCBJbnRQb2lu
dCYgcG9pbnQsIE9wdGlvblNldDxXZWJFdmVudDo6TW9kaWZpZXI+IG1vZGlmaWVycywgdWludDY0
X3QgbGFzdExheWVyVHJlZVRyYW5zYWN0aW9uSWQpCit2b2lkIFdlYlBhZ2U6OmhhbmRsZVRhcChj
b25zdCBJbnRQb2ludCYgcG9pbnQsIHVpbnQ2NF90IGxhc3RMYXllclRyZWVUcmFuc2FjdGlvbklk
KQogewogICAgIEZsb2F0UG9pbnQgYWRqdXN0ZWRQb2ludDsKICAgICBOb2RlKiBub2RlUmVzcG9u
ZGluZ1RvQ2xpY2sgPSBtX3BhZ2UtPm1haW5GcmFtZSgpLm5vZGVSZXNwb25kaW5nVG9DbGlja0V2
ZW50cyhwb2ludCwgYWRqdXN0ZWRQb2ludCk7CkBAIC02NTgsNyArNjQ0LDcgQEAgdm9pZCBXZWJQ
YWdlOjpoYW5kbGVUYXAoY29uc3QgSW50UG9pbnQmIHBvaW50LCBPcHRpb25TZXQ8V2ViRXZlbnQ6
Ok1vZGlmaWVyPiBtb2QKICAgICB9CiAjZW5kaWYKICAgICBlbHNlCi0gICAgICAgIGhhbmRsZVN5
bnRoZXRpY0NsaWNrKG5vZGVSZXNwb25kaW5nVG9DbGljaywgYWRqdXN0ZWRQb2ludCwgbW9kaWZp
ZXJzKTsKKyAgICAgICAgaGFuZGxlU3ludGhldGljQ2xpY2sobm9kZVJlc3BvbmRpbmdUb0NsaWNr
LCBhZGp1c3RlZFBvaW50KTsKIH0KIAogdm9pZCBXZWJQYWdlOjpyZXF1ZXN0Rm9jdXNlZEVsZW1l
bnRJbmZvcm1hdGlvbihXZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJhY2tJRCkKQEAgLTc1Myw3ICs3
MzksNyBAQCB2b2lkIFdlYlBhZ2U6OnNlbmRUYXBIaWdobGlnaHRGb3JOb2RlSWZOZWNlc3Nhcnko
dWludDY0X3QgcmVxdWVzdElELCBOb2RlKiBub2RlKQogI2VuZGlmCiB9CiAKLXZvaWQgV2ViUGFn
ZTo6aGFuZGxlVHdvRmluZ2VyVGFwQXRQb2ludChjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgcG9p
bnQsIE9wdGlvblNldDxXZWJLaXQ6OldlYkV2ZW50OjpNb2RpZmllcj4gbW9kaWZpZXJzLCB1aW50
NjRfdCByZXF1ZXN0SUQpCit2b2lkIFdlYlBhZ2U6OmhhbmRsZVR3b0ZpbmdlclRhcEF0UG9pbnQo
Y29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHBvaW50LCB1aW50NjRfdCByZXF1ZXN0SUQpCiB7CiAg
ICAgRmxvYXRQb2ludCBhZGp1c3RlZFBvaW50OwogICAgIE5vZGUqIG5vZGVSZXNwb25kaW5nVG9D
bGljayA9IG1fcGFnZS0+bWFpbkZyYW1lKCkubm9kZVJlc3BvbmRpbmdUb0NsaWNrRXZlbnRzKHBv
aW50LCBhZGp1c3RlZFBvaW50KTsKQEAgLTc2OSw3ICs3NTUsNyBAQCB2b2lkIFdlYlBhZ2U6Omhh
bmRsZVR3b0ZpbmdlclRhcEF0UG9pbnQoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHBvaW50LCBP
cHRpb25TZQogICAgICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZE5vdEhhbmRs
ZVRhcEFzQ2xpY2socm91bmRlZEludFBvaW50KGFkanVzdGVkUG9pbnQpKSk7CiAgICAgfSBlbHNl
CiAjZW5kaWYKLSAgICAgICAgY29tcGxldGVTeW50aGV0aWNDbGljayhub2RlUmVzcG9uZGluZ1Rv
Q2xpY2ssIGFkanVzdGVkUG9pbnQsIG1vZGlmaWVycywgV2ViQ29yZTo6VHdvRmluZ2VyVGFwKTsK
KyAgICAgICAgY29tcGxldGVTeW50aGV0aWNDbGljayhub2RlUmVzcG9uZGluZ1RvQ2xpY2ssIGFk
anVzdGVkUG9pbnQsIFdlYkNvcmU6OlR3b0ZpbmdlclRhcCk7CiB9CiAKIHZvaWQgV2ViUGFnZTo6
aGFuZGxlU3R5bHVzU2luZ2xlVGFwQXRQb2ludChjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgcG9p
bnQsIHVpbnQ2NF90IHJlcXVlc3RJRCkKQEAgLTgxNCw3ICs4MDAsNyBAQCB2b2lkIFdlYlBhZ2U6
OnBvdGVudGlhbFRhcEF0UG9zaXRpb24odWludDY0X3QgcmVxdWVzdElELCBjb25zdCBXZWJDb3Jl
OjpGbG9hdFBvaQogI2VuZGlmCiB9CiAKLXZvaWQgV2ViUGFnZTo6Y29tbWl0UG90ZW50aWFsVGFw
KE9wdGlvblNldDxXZWJFdmVudDo6TW9kaWZpZXI+IG1vZGlmaWVycywgdWludDY0X3QgbGFzdExh
eWVyVHJlZVRyYW5zYWN0aW9uSWQpCit2b2lkIFdlYlBhZ2U6OmNvbW1pdFBvdGVudGlhbFRhcCh1
aW50NjRfdCBsYXN0TGF5ZXJUcmVlVHJhbnNhY3Rpb25JZCkKIHsKICAgICBpZiAoIW1fcG90ZW50
aWFsVGFwTm9kZSB8fCAoIW1fcG90ZW50aWFsVGFwTm9kZS0+cmVuZGVyZXIoKSAmJiAhaXM8SFRN
TEFyZWFFbGVtZW50PihtX3BvdGVudGlhbFRhcE5vZGUuZ2V0KCkpKSkgewogICAgICAgICBjb21t
aXRQb3RlbnRpYWxUYXBGYWlsZWQoKTsKQEAgLTgzOCw3ICs4MjQsNyBAQCB2b2lkIFdlYlBhZ2U6
OmNvbW1pdFBvdGVudGlhbFRhcChPcHRpb25TZXQ8V2ViRXZlbnQ6Ok1vZGlmaWVyPiBtb2RpZmll
cnMsIHVpbnQ2NAogICAgICAgICAgICAgY29tbWl0UG90ZW50aWFsVGFwRmFpbGVkKCk7CiAgICAg
ICAgIH0gZWxzZQogI2VuZGlmCi0gICAgICAgICAgICBoYW5kbGVTeW50aGV0aWNDbGljayhub2Rl
UmVzcG9uZGluZ1RvQ2xpY2ssIGFkanVzdGVkUG9pbnQsIG1vZGlmaWVycyk7CisgICAgICAgICAg
ICBoYW5kbGVTeW50aGV0aWNDbGljayhub2RlUmVzcG9uZGluZ1RvQ2xpY2ssIGFkanVzdGVkUG9p
bnQpOwogICAgIH0gZWxzZQogICAgICAgICBjb21taXRQb3RlbnRpYWxUYXBGYWlsZWQoKTsKIApk
aWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDdkNDk0
NzQ2NDcxNTBmMWMyZWI0MGRiYjZlZGMxYzFmMzAwNzg3NDkuLjJkODIwNzNjN2NhMTU3MThhM2Fh
MDllNjZhOGE0NWJlYzZlNDM4NGYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9U
b29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxOS0wMi0xMSAgQ29tbWl0IFF1ZXVl
ICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGlu
ZyBvdXQgcjI0MTI3MiBhbmQgcjI0MTI3Ni4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5NDUxNAorCisgICAgICAgIEJyb2tlIHRoZSBBcHBsZSBJbnRl
cm5hbCBidWlsZCBhbmQgdGhlIGZpeCByZXF1aXJlcyBodW1hbgorICAgICAgICBpbnRlcnZlbnRp
b24gOiggKFJlcXVlc3RlZCBieSBkeWR6IG9uICN3ZWJraXQpLgorCisgICAgICAgIFJldmVydGVk
IGNoYW5nZXNldHM6CisKKyAgICAgICAgIltpT1NdIE1vdXNlL1RvdWNoL1BvaW50ZXIgZXZlbnRz
IGFyZSBtaXNzaW5nIG1vZGlmaWVyIGtleXMiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xOTE0NDYKKyAgICAgICAgaHR0cHM6Ly90cmFjLndlYmtpdC5v
cmcvY2hhbmdlc2V0LzI0MTI3MgorCisgICAgICAgICJGaXggaW50ZXJuYWwgaU9TIGJ1aWxkIGFm
dGVyIHIyNDEyNzIiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xOTE0NDYKKyAgICAgICAgaHR0cHM6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzI0
MTI3NgorCiAyMDE5LTAyLTExICBUcnVpdHQgU2F2ZWxsICA8dHNhdmVsbEBhcHBsZS5jb20+CiAK
ICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjI0MTI2OS4KZGlmZiAtLWdpdCBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJT1MubW0gYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9TLm1tCmluZGV4IGYzMmMxMDQy
M2UzOGIyOTFhZGMzZjA1MjIzMWU1M2U0NTgwMGQ2YjYuLmUwMzBjZDY1YTA3MTNmZmE0NzdjZWFi
ZGZmMGE1NzcyNjdiZDhjNGEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2lvcy9V
SVNjcmlwdENvbnRyb2xsZXJJT1MubW0KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvaW9zL1VJ
U2NyaXB0Q29udHJvbGxlcklPUy5tbQpAQCAtMTE1LDEwICsxMTUsNiBAQCB2b2lkIFVJU2NyaXB0
Q29udHJvbGxlcjo6c2luZ2xlVGFwQXRQb2ludChsb25nIHgsIGxvbmcgeSwgSlNWYWx1ZVJlZiBj
YWxsYmFjaykKIHsKIH0KIAotdm9pZCBVSVNjcmlwdENvbnRyb2xsZXI6OnNpbmdsZVRhcEF0UG9p
bnRXaXRoTW9kaWZpZXJzKGxvbmcgeCwgbG9uZyB5LCBKU1ZhbHVlUmVmIG1vZGlmaWVyQXJyYXks
IEpTVmFsdWVSZWYgY2FsbGJhY2spCi17Ci19Ci0KIHZvaWQgVUlTY3JpcHRDb250cm9sbGVyOjpk
b3VibGVUYXBBdFBvaW50KGxvbmcgeCwgbG9uZyB5LCBKU1ZhbHVlUmVmIGNhbGxiYWNrKQogewog
fQpAQCAtMTQ3LDEwICsxNDMsNiBAQCB2b2lkIFVJU2NyaXB0Q29udHJvbGxlcjo6c3R5bHVzVGFw
QXRQb2ludChsb25nIHgsIGxvbmcgeSwgZmxvYXQgYXppbXV0aEFuZ2xlLCBmbAogewogfQogCi12
b2lkIFVJU2NyaXB0Q29udHJvbGxlcjo6c3R5bHVzVGFwQXRQb2ludFdpdGhNb2RpZmllcnMobG9u
ZyB4LCBsb25nIHksIGZsb2F0IGF6aW11dGhBbmdsZSwgZmxvYXQgYWx0aXR1ZGVBbmdsZSwgZmxv
YXQgcHJlc3N1cmUsIEpTVmFsdWVSZWYgbW9kaWZpZXJBcnJheSwgSlNWYWx1ZVJlZiBjYWxsYmFj
aykKLXsKLX0KLQogdm9pZCBVSVNjcmlwdENvbnRyb2xsZXI6OnNlbmRFdmVudFN0cmVhbShKU1N0
cmluZ1JlZiBldmVudHNKU09OLCBKU1ZhbHVlUmVmIGNhbGxiYWNrKQogewogfQpkaWZmIC0tZ2l0
IGEvVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9VSVNjcmlwdENvbnRleHQvQmluZGluZ3MvVUlTY3Jp
cHRDb250cm9sbGVyLmlkbCBiL1Rvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvVUlTY3JpcHRDb250ZXh0
L0JpbmRpbmdzL1VJU2NyaXB0Q29udHJvbGxlci5pZGwKaW5kZXggMzUwYjI5YTE3MTExMDRhN2Vm
NGE2N2VjYmRjZGI3OGQ4N2I4YTg1OS4uM2NlMWViNTZmN2ZhOTU1MGQ1ZTk5MTczZWFlZmU1Yjc4
ZDNkZDQxMiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9VSVNjcmlwdENvbnRl
eHQvQmluZGluZ3MvVUlTY3JpcHRDb250cm9sbGVyLmlkbAorKysgYi9Ub29scy9UZXN0UnVubmVy
U2hhcmVkL1VJU2NyaXB0Q29udGV4dC9CaW5kaW5ncy9VSVNjcmlwdENvbnRyb2xsZXIuaWRsCkBA
IC01Niw3ICs1Niw2IEBAIGludGVyZmFjZSBVSVNjcmlwdENvbnRyb2xsZXIgewogICAgIHZvaWQg
dG91Y2hEb3duQXRQb2ludChsb25nIHgsIGxvbmcgeSwgbG9uZyB0b3VjaENvdW50LCBvYmplY3Qg
Y2FsbGJhY2spOwogICAgIHZvaWQgbGlmdFVwQXRQb2ludChsb25nIHgsIGxvbmcgeSwgbG9uZyB0
b3VjaENvdW50LCBvYmplY3QgY2FsbGJhY2spOwogICAgIHZvaWQgc2luZ2xlVGFwQXRQb2ludChs
b25nIHgsIGxvbmcgeSwgb2JqZWN0IGNhbGxiYWNrKTsKLSAgICB2b2lkIHNpbmdsZVRhcEF0UG9p
bnRXaXRoTW9kaWZpZXJzKGxvbmcgeCwgbG9uZyB5LCBvYmplY3QgbW9kaWZpZXJBcnJheSwgb2Jq
ZWN0IGNhbGxiYWNrKTsKICAgICB2b2lkIGRvdWJsZVRhcEF0UG9pbnQobG9uZyB4LCBsb25nIHks
IG9iamVjdCBjYWxsYmFjayk7CiAgICAgdm9pZCBkcmFnRnJvbVBvaW50VG9Qb2ludChsb25nIHN0
YXJ0WCwgbG9uZyBzdGFydFksIGxvbmcgZW5kWCwgbG9uZyBlbmRZLCBkb3VibGUgZHVyYXRpb25T
ZWNvbmRzLCBvYmplY3QgY2FsbGJhY2spOwogCkBAIC02Niw3ICs2NSw2IEBAIGludGVyZmFjZSBV
SVNjcmlwdENvbnRyb2xsZXIgewogICAgIHZvaWQgc3R5bHVzTW92ZVRvUG9pbnQobG9uZyB4LCBs
b25nIHksIGZsb2F0IGF6aW11dGhBbmdsZSwgZmxvYXQgYWx0aXR1ZGVBbmdsZSwgZmxvYXQgcHJl
c3N1cmUsIG9iamVjdCBjYWxsYmFjayk7CiAgICAgdm9pZCBzdHlsdXNVcEF0UG9pbnQobG9uZyB4
LCBsb25nIHksIG9iamVjdCBjYWxsYmFjayk7CiAgICAgdm9pZCBzdHlsdXNUYXBBdFBvaW50KGxv
bmcgeCwgbG9uZyB5LCBmbG9hdCBhemltdXRoQW5nbGUsIGZsb2F0IGFsdGl0dWRlQW5nbGUsIGZs
b2F0IHByZXNzdXJlLCBvYmplY3QgY2FsbGJhY2spOwotICAgIHZvaWQgc3R5bHVzVGFwQXRQb2lu
dFdpdGhNb2RpZmllcnMobG9uZyB4LCBsb25nIHksIGZsb2F0IGF6aW11dGhBbmdsZSwgZmxvYXQg
YWx0aXR1ZGVBbmdsZSwgZmxvYXQgcHJlc3N1cmUsIG9iamVjdCBtb2RpZmllckFycmF5LCBvYmpl
Y3QgY2FsbGJhY2spOwogCiAgICAgdm9pZCBlbnRlclRleHQoRE9NU3RyaW5nIHRleHQpOwogICAg
IHZvaWQgdHlwZUNoYXJhY3RlclVzaW5nSGFyZHdhcmVLZXlib2FyZChET01TdHJpbmcgY2hhcmFj
dGVyLCBvYmplY3QgY2FsbGJhY2spOwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFJ1bm5lclNoYXJl
ZC9VSVNjcmlwdENvbnRleHQvVUlTY3JpcHRDb250cm9sbGVyLmNwcCBiL1Rvb2xzL1Rlc3RSdW5u
ZXJTaGFyZWQvVUlTY3JpcHRDb250ZXh0L1VJU2NyaXB0Q29udHJvbGxlci5jcHAKaW5kZXggZTNi
MjE2YmY1YTExMzRlNjc4ZDMwODZmYTMxNGExYzU3NjdmN2JmNi4uZjZkODRkNjUzYzEzNzBjOTI3
NjM1YzZkYjRmOWJiZTcyMzM2OGFmZiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFJ1bm5lclNoYXJl
ZC9VSVNjcmlwdENvbnRleHQvVUlTY3JpcHRDb250cm9sbGVyLmNwcAorKysgYi9Ub29scy9UZXN0
UnVubmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4dC9VSVNjcmlwdENvbnRyb2xsZXIuY3BwCkBAIC0y
NjUsMTAgKzI2NSw2IEBAIHZvaWQgVUlTY3JpcHRDb250cm9sbGVyOjpzaW5nbGVUYXBBdFBvaW50
KGxvbmcgeCwgbG9uZyB5LCBKU1ZhbHVlUmVmKQogewogfQogCi12b2lkIFVJU2NyaXB0Q29udHJv
bGxlcjo6c2luZ2xlVGFwQXRQb2ludFdpdGhNb2RpZmllcnMobG9uZyB4LCBsb25nIHksIEpTVmFs
dWVSZWYgbW9kaWZpZXJBcnJheSwgSlNWYWx1ZVJlZiBjYWxsYmFjaykKLXsKLX0KLQogdm9pZCBV
SVNjcmlwdENvbnRyb2xsZXI6OmRvdWJsZVRhcEF0UG9pbnQobG9uZyB4LCBsb25nIHksIEpTVmFs
dWVSZWYpCiB7CiB9CkBAIC0yOTcsMTAgKzI5Myw2IEBAIHZvaWQgVUlTY3JpcHRDb250cm9sbGVy
OjpzdHlsdXNUYXBBdFBvaW50KGxvbmcgeCwgbG9uZyB5LCBmbG9hdCBhemltdXRoQW5nbGUsIGZs
CiB7CiB9CiAKLXZvaWQgVUlTY3JpcHRDb250cm9sbGVyOjpzdHlsdXNUYXBBdFBvaW50V2l0aE1v
ZGlmaWVycyhsb25nIHgsIGxvbmcgeSwgZmxvYXQgYXppbXV0aEFuZ2xlLCBmbG9hdCBhbHRpdHVk
ZUFuZ2xlLCBmbG9hdCBwcmVzc3VyZSwgSlNWYWx1ZVJlZiBtb2RpZmllckFycmF5LCBKU1ZhbHVl
UmVmIGNhbGxiYWNrKQotewotfQotCiB2b2lkIFVJU2NyaXB0Q29udHJvbGxlcjo6c2VuZEV2ZW50
U3RyZWFtKEpTU3RyaW5nUmVmIGV2ZW50c0pTT04sIEpTVmFsdWVSZWYgY2FsbGJhY2spCiB7CiB9
CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0UnVubmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4dC9VSVNj
cmlwdENvbnRyb2xsZXIuaCBiL1Rvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvVUlTY3JpcHRDb250ZXh0
L1VJU2NyaXB0Q29udHJvbGxlci5oCmluZGV4IDlmNTQzMWE4NDBmNDE5YTUwYjRiMjU4YjJhOTE1
MGM3OTNkMzE3MWEuLmY3NzA1M2I1ZmE0YjJjMzQ0YWQ0ZDFmMjAzMjU0MGU4MDVkNTFhYzMgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvVUlTY3JpcHRDb250ZXh0L1VJU2NyaXB0
Q29udHJvbGxlci5oCisrKyBiL1Rvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvVUlTY3JpcHRDb250ZXh0
L1VJU2NyaXB0Q29udHJvbGxlci5oCkBAIC03OCw3ICs3OCw2IEBAIHB1YmxpYzoKICAgICB2b2lk
IHRvdWNoRG93bkF0UG9pbnQobG9uZyB4LCBsb25nIHksIGxvbmcgdG91Y2hDb3VudCwgSlNWYWx1
ZVJlZiBjYWxsYmFjayk7CiAgICAgdm9pZCBsaWZ0VXBBdFBvaW50KGxvbmcgeCwgbG9uZyB5LCBs
b25nIHRvdWNoQ291bnQsIEpTVmFsdWVSZWYgY2FsbGJhY2spOwogICAgIHZvaWQgc2luZ2xlVGFw
QXRQb2ludChsb25nIHgsIGxvbmcgeSwgSlNWYWx1ZVJlZiBjYWxsYmFjayk7Ci0gICAgdm9pZCBz
aW5nbGVUYXBBdFBvaW50V2l0aE1vZGlmaWVycyhsb25nIHgsIGxvbmcgeSwgSlNWYWx1ZVJlZiBt
b2RpZmllckFycmF5LCBKU1ZhbHVlUmVmIGNhbGxiYWNrKTsKICAgICB2b2lkIGRvdWJsZVRhcEF0
UG9pbnQobG9uZyB4LCBsb25nIHksIEpTVmFsdWVSZWYgY2FsbGJhY2spOwogICAgIHZvaWQgZHJh
Z0Zyb21Qb2ludFRvUG9pbnQobG9uZyBzdGFydFgsIGxvbmcgc3RhcnRZLCBsb25nIGVuZFgsIGxv
bmcgZW5kWSwgZG91YmxlIGR1cmF0aW9uU2Vjb25kcywgSlNWYWx1ZVJlZiBjYWxsYmFjayk7CiAK
QEAgLTg2LDcgKzg1LDYgQEAgcHVibGljOgogICAgIHZvaWQgc3R5bHVzTW92ZVRvUG9pbnQobG9u
ZyB4LCBsb25nIHksIGZsb2F0IGF6aW11dGhBbmdsZSwgZmxvYXQgYWx0aXR1ZGVBbmdsZSwgZmxv
YXQgcHJlc3N1cmUsIEpTVmFsdWVSZWYgY2FsbGJhY2spOwogICAgIHZvaWQgc3R5bHVzVXBBdFBv
aW50KGxvbmcgeCwgbG9uZyB5LCBKU1ZhbHVlUmVmIGNhbGxiYWNrKTsKICAgICB2b2lkIHN0eWx1
c1RhcEF0UG9pbnQobG9uZyB4LCBsb25nIHksIGZsb2F0IGF6aW11dGhBbmdsZSwgZmxvYXQgYWx0
aXR1ZGVBbmdsZSwgZmxvYXQgcHJlc3N1cmUsIEpTVmFsdWVSZWYgY2FsbGJhY2spOwotICAgIHZv
aWQgc3R5bHVzVGFwQXRQb2ludFdpdGhNb2RpZmllcnMobG9uZyB4LCBsb25nIHksIGZsb2F0IGF6
aW11dGhBbmdsZSwgZmxvYXQgYWx0aXR1ZGVBbmdsZSwgZmxvYXQgcHJlc3N1cmUsIEpTVmFsdWVS
ZWYgbW9kaWZpZXJBcnJheSwgSlNWYWx1ZVJlZiBjYWxsYmFjayk7CiAKICAgICB2b2lkIGxvbmdQ
cmVzc0F0UG9pbnQobG9uZyB4LCBsb25nIHksIEpTVmFsdWVSZWYgY2FsbGJhY2spOwogCmRpZmYg
LS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJT1Mu
bW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJT1MubW0K
aW5kZXggMTM4MzQyODVlNzM2YjQwMjkzMmQ1MDgxODdlYjZmOTUwMzdiZDhjNS4uNmMxMGYwNmQw
MzIyNWIwZTUwOTRiYjEzYTNlODdkMDc3NzMwMzEyMSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9TLm1tCisrKyBiL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvaW9zL1VJU2NyaXB0Q29udHJvbGxlcklPUy5tbQpAQCAtNjMsNDUgKzYzLDcg
QEAgc3RhdGljIE5TRGljdGlvbmFyeSAqdG9OU0RpY3Rpb25hcnkoQ0dSZWN0IHJlY3QpCiAgICAg
ICAgIEAiaGVpZ2h0IjogQChyZWN0LnNpemUuaGVpZ2h0KQogICAgIH07CiB9Ci0KLXN0YXRpYyB1
bnNpZ25lZCBhcnJheUxlbmd0aChKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgYXJy
YXkpCi17Ci0gICAgYXV0byBsZW5ndGhTdHJpbmcgPSBhZG9wdChKU1N0cmluZ0NyZWF0ZVdpdGhV
VEY4Q1N0cmluZygibGVuZ3RoIikpOwotICAgIGlmIChhdXRvIGxlbmd0aFZhbHVlID0gSlNPYmpl
Y3RHZXRQcm9wZXJ0eShjb250ZXh0LCBhcnJheSwgbGVuZ3RoU3RyaW5nLmdldCgpLCBudWxscHRy
KSkKLSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU1ZhbHVlVG9OdW1iZXIo
Y29udGV4dCwgbGVuZ3RoVmFsdWUsIG51bGxwdHIpKTsKLSAgICByZXR1cm4gMDsKLX0KLQotc3Rh
dGljIFZlY3RvcjxTdHJpbmc+IHBhcnNlTW9kaWZpZXJBcnJheShKU0NvbnRleHRSZWYgY29udGV4
dCwgSlNWYWx1ZVJlZiBhcnJheVZhbHVlKQotewotICAgIGlmICghYXJyYXlWYWx1ZSkKLSAgICAg
ICAgcmV0dXJuIHsgfTsKLQotICAgIC8vIFRoZSB2YWx1ZSBtYXkgZWl0aGVyIGJlIGEgc3RyaW5n
IHdpdGggYSBzaW5nbGUgbW9kaWZpZXIgb3IgYW4gYXJyYXkgb2YgbW9kaWZpZXJzLgotICAgIGlm
IChKU1ZhbHVlSXNTdHJpbmcoY29udGV4dCwgYXJyYXlWYWx1ZSkpIHsKLSAgICAgICAgYXV0byBz
dHJpbmcgPSB0b1dURlN0cmluZyh0b1dLKGFkb3B0KEpTVmFsdWVUb1N0cmluZ0NvcHkoY29udGV4
dCwgYXJyYXlWYWx1ZSwgbnVsbHB0cikpKSk7Ci0gICAgICAgIHJldHVybiB7IHN0cmluZyB9Owot
ICAgIH0KLQotICAgIGlmICghSlNWYWx1ZUlzT2JqZWN0KGNvbnRleHQsIGFycmF5VmFsdWUpKQot
ICAgICAgICByZXR1cm4geyB9OwotICAgIEpTT2JqZWN0UmVmIGFycmF5ID0gY29uc3RfY2FzdDxK
U09iamVjdFJlZj4oYXJyYXlWYWx1ZSk7Ci0gICAgdW5zaWduZWQgbGVuZ3RoID0gYXJyYXlMZW5n
dGgoY29udGV4dCwgYXJyYXkpOwotICAgIFZlY3RvcjxTdHJpbmc+IG1vZGlmaWVyczsKLSAgICBt
b2RpZmllcnMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShsZW5ndGgpOwotICAgIGZvciAodW5zaWdu
ZWQgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkgewotICAgICAgICBKU1ZhbHVlUmVmIGV4Y2VwdGlv
biA9IG51bGxwdHI7Ci0gICAgICAgIEpTVmFsdWVSZWYgdmFsdWUgPSBKU09iamVjdEdldFByb3Bl
cnR5QXRJbmRleChjb250ZXh0LCBhcnJheSwgaSwgJmV4Y2VwdGlvbik7Ci0gICAgICAgIGlmIChl
eGNlcHRpb24pCi0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgYXV0byBzdHJpbmcgPSBh
ZG9wdChKU1ZhbHVlVG9TdHJpbmdDb3B5KGNvbnRleHQsIHZhbHVlLCAmZXhjZXB0aW9uKSk7Ci0g
ICAgICAgIGlmIChleGNlcHRpb24pCi0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgbW9k
aWZpZXJzLmFwcGVuZCh0b1dURlN0cmluZyh0b1dLKHN0cmluZy5nZXQoKSkpKTsKLSAgICB9Ci0g
ICAgcmV0dXJuIG1vZGlmaWVyczsKLX0KLQorICAgIAogdm9pZCBVSVNjcmlwdENvbnRyb2xsZXI6
OmNoZWNrRm9yT3V0c3RhbmRpbmdDYWxsYmFja3MoKQogewogICAgIGlmICghW1tISURFdmVudEdl
bmVyYXRvciBzaGFyZWRISURFdmVudEdlbmVyYXRvcl0gY2hlY2tGb3JPdXRzdGFuZGluZ0NhbGxi
YWNrc10pCkBAIC0yMzAsMzAgKzE5MiwxMyBAQCB2b2lkIFVJU2NyaXB0Q29udHJvbGxlcjo6bGlm
dFVwQXRQb2ludChsb25nIHgsIGxvbmcgeSwgbG9uZyB0b3VjaENvdW50LCBKU1ZhbHVlUgogfQog
CiB2b2lkIFVJU2NyaXB0Q29udHJvbGxlcjo6c2luZ2xlVGFwQXRQb2ludChsb25nIHgsIGxvbmcg
eSwgSlNWYWx1ZVJlZiBjYWxsYmFjaykKLXsKLSAgICBzaW5nbGVUYXBBdFBvaW50V2l0aE1vZGlm
aWVycyh4LCB5LCBudWxscHRyLCBjYWxsYmFjayk7Ci19Ci0KLXZvaWQgVUlTY3JpcHRDb250cm9s
bGVyOjpzaW5nbGVUYXBBdFBvaW50V2l0aE1vZGlmaWVycyhsb25nIHgsIGxvbmcgeSwgSlNWYWx1
ZVJlZiBtb2RpZmllckFycmF5LCBKU1ZhbHVlUmVmIGNhbGxiYWNrKQogewogICAgIHVuc2lnbmVk
IGNhbGxiYWNrSUQgPSBtX2NvbnRleHQtPnByZXBhcmVGb3JBc3luY1Rhc2soY2FsbGJhY2ssIENh
bGxiYWNrVHlwZU5vblBlcnNpc3RlbnQpOwogCi0gICAgYXV0byBtb2RpZmllckZsYWdzID0gcGFy
c2VNb2RpZmllckFycmF5KG1fY29udGV4dC0+anNDb250ZXh0KCksIG1vZGlmaWVyQXJyYXkpOwot
ICAgIGZvciAoYXV0byYgbW9kaWZpZXJGbGFnIDogbW9kaWZpZXJGbGFncykKLSAgICAgICAgW1tI
SURFdmVudEdlbmVyYXRvciBzaGFyZWRISURFdmVudEdlbmVyYXRvcl0ga2V5RG93bjptb2RpZmll
ckZsYWddOwotCiAgICAgW1tISURFdmVudEdlbmVyYXRvciBzaGFyZWRISURFdmVudEdlbmVyYXRv
cl0gdGFwOmdsb2JhbFRvQ29udGVudENvb3JkaW5hdGVzKFRlc3RDb250cm9sbGVyOjpzaW5nbGV0
b24oKS5tYWluV2ViVmlldygpLT5wbGF0Zm9ybVZpZXcoKSwgeCwgeSkgY29tcGxldGlvbkJsb2Nr
Ol57CiAgICAgICAgIGlmICghbV9jb250ZXh0KQogICAgICAgICAgICAgcmV0dXJuOwotICAgICAg
ICBmb3IgKHNpemVfdCBpID0gbW9kaWZpZXJGbGFncy5zaXplKCk7IGk7ICkgewotICAgICAgICAg
ICAgLS1pOwotICAgICAgICAgICAgW1tISURFdmVudEdlbmVyYXRvciBzaGFyZWRISURFdmVudEdl
bmVyYXRvcl0ga2V5VXA6bW9kaWZpZXJGbGFnc1tpXV07Ci0gICAgICAgIH0KLSAgICAgICAgW1tI
SURFdmVudEdlbmVyYXRvciBzaGFyZWRISURFdmVudEdlbmVyYXRvcl0gc2VuZE1hcmtlckhJREV2
ZW50V2l0aENvbXBsZXRpb25CbG9jazpeewotICAgICAgICAgICAgaWYgKCFtX2NvbnRleHQpCi0g
ICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgbV9jb250ZXh0LT5hc3luY1Rhc2tD
b21wbGV0ZShjYWxsYmFja0lEKTsKLSAgICAgICAgfV07CisgICAgICAgIG1fY29udGV4dC0+YXN5
bmNUYXNrQ29tcGxldGUoY2FsbGJhY2tJRCk7CiAgICAgfV07CiB9CiAKQEAgLTMwNSwzNCArMjUw
LDE3IEBAIHZvaWQgVUlTY3JpcHRDb250cm9sbGVyOjpzdHlsdXNVcEF0UG9pbnQobG9uZyB4LCBs
b25nIHksIEpTVmFsdWVSZWYgY2FsbGJhY2spCiB9CiAKIHZvaWQgVUlTY3JpcHRDb250cm9sbGVy
OjpzdHlsdXNUYXBBdFBvaW50KGxvbmcgeCwgbG9uZyB5LCBmbG9hdCBhemltdXRoQW5nbGUsIGZs
b2F0IGFsdGl0dWRlQW5nbGUsIGZsb2F0IHByZXNzdXJlLCBKU1ZhbHVlUmVmIGNhbGxiYWNrKQot
ewotICAgIHN0eWx1c1RhcEF0UG9pbnRXaXRoTW9kaWZpZXJzKHgsIHksIGF6aW11dGhBbmdsZSwg
YWx0aXR1ZGVBbmdsZSwgcHJlc3N1cmUsIG51bGxwdHIsIGNhbGxiYWNrKTsKLX0KLQotdm9pZCBV
SVNjcmlwdENvbnRyb2xsZXI6OnN0eWx1c1RhcEF0UG9pbnRXaXRoTW9kaWZpZXJzKGxvbmcgeCwg
bG9uZyB5LCBmbG9hdCBhemltdXRoQW5nbGUsIGZsb2F0IGFsdGl0dWRlQW5nbGUsIGZsb2F0IHBy
ZXNzdXJlLCBKU1ZhbHVlUmVmIG1vZGlmaWVyQXJyYXksIEpTVmFsdWVSZWYgY2FsbGJhY2spCiB7
CiAgICAgdW5zaWduZWQgY2FsbGJhY2tJRCA9IG1fY29udGV4dC0+cHJlcGFyZUZvckFzeW5jVGFz
ayhjYWxsYmFjaywgQ2FsbGJhY2tUeXBlTm9uUGVyc2lzdGVudCk7CiAKLSAgICBhdXRvIG1vZGlm
aWVyRmxhZ3MgPSBwYXJzZU1vZGlmaWVyQXJyYXkobV9jb250ZXh0LT5qc0NvbnRleHQoKSwgbW9k
aWZpZXJBcnJheSk7Ci0gICAgZm9yIChhdXRvJiBtb2RpZmllckZsYWcgOiBtb2RpZmllckZsYWdz
KQotICAgICAgICBbW0hJREV2ZW50R2VuZXJhdG9yIHNoYXJlZEhJREV2ZW50R2VuZXJhdG9yXSBr
ZXlEb3duOm1vZGlmaWVyRmxhZ107Ci0KICAgICBhdXRvIGxvY2F0aW9uID0gZ2xvYmFsVG9Db250
ZW50Q29vcmRpbmF0ZXMoVGVzdENvbnRyb2xsZXI6OnNpbmdsZXRvbigpLm1haW5XZWJWaWV3KCkt
PnBsYXRmb3JtVmlldygpLCB4LCB5KTsKICAgICBbW0hJREV2ZW50R2VuZXJhdG9yIHNoYXJlZEhJ
REV2ZW50R2VuZXJhdG9yXSBzdHlsdXNUYXBBdFBvaW50OmxvY2F0aW9uIGF6aW11dGhBbmdsZTph
emltdXRoQW5nbGUgYWx0aXR1ZGVBbmdsZTphbHRpdHVkZUFuZ2xlIHByZXNzdXJlOnByZXNzdXJl
IGNvbXBsZXRpb25CbG9jazpeewogICAgICAgICBpZiAoIW1fY29udGV4dCkKICAgICAgICAgICAg
IHJldHVybjsKLSAgICAgICAgZm9yIChzaXplX3QgaSA9IG1vZGlmaWVyRmxhZ3Muc2l6ZSgpOyBp
OyApIHsKLSAgICAgICAgICAgIC0taTsKLSAgICAgICAgICAgIFtbSElERXZlbnRHZW5lcmF0b3Ig
c2hhcmVkSElERXZlbnRHZW5lcmF0b3JdIGtleVVwOm1vZGlmaWVyRmxhZ3NbaV1dOwotICAgICAg
ICB9Ci0gICAgICAgIFtbSElERXZlbnRHZW5lcmF0b3Igc2hhcmVkSElERXZlbnRHZW5lcmF0b3Jd
IHNlbmRNYXJrZXJISURFdmVudFdpdGhDb21wbGV0aW9uQmxvY2s6XnsKLSAgICAgICAgICAgIGlm
ICghbV9jb250ZXh0KQotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIG1fY29u
dGV4dC0+YXN5bmNUYXNrQ29tcGxldGUoY2FsbGJhY2tJRCk7Ci0gICAgICAgIH1dOworICAgICAg
ICBtX2NvbnRleHQtPmFzeW5jVGFza0NvbXBsZXRlKGNhbGxiYWNrSUQpOwogICAgIH1dOwogfQot
CisgICAgCiB2b2lkIGNvbnZlcnRDb29yZGluYXRlcyhOU011dGFibGVEaWN0aW9uYXJ5ICpldmVu
dCkKIHsKICAgICBpZiAoZXZlbnRbSElERXZlbnRUb3VjaGVzS2V5XSkgewpAQCAtNDIxLDYgKzM0
OSw0NCBAQCB2b2lkIFVJU2NyaXB0Q29udHJvbGxlcjo6dHlwZUNoYXJhY3RlclVzaW5nSGFyZHdh
cmVLZXlib2FyZChKU1N0cmluZ1JlZiBjaGFyYWN0ZQogICAgIH1dOwogfQogCitzdGF0aWMgdW5z
aWduZWQgYXJyYXlMZW5ndGgoSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIGFycmF5
KQoreworICAgIGF1dG8gbGVuZ3RoU3RyaW5nID0gYWRvcHQoSlNTdHJpbmdDcmVhdGVXaXRoVVRG
OENTdHJpbmcoImxlbmd0aCIpKTsKKyAgICBpZiAoYXV0byBsZW5ndGhWYWx1ZSA9IEpTT2JqZWN0
R2V0UHJvcGVydHkoY29udGV4dCwgYXJyYXksIGxlbmd0aFN0cmluZy5nZXQoKSwgbnVsbHB0cikp
CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNWYWx1ZVRvTnVtYmVyKGNv
bnRleHQsIGxlbmd0aFZhbHVlLCBudWxscHRyKSk7CisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRp
YyBWZWN0b3I8U3RyaW5nPiBwYXJzZU1vZGlmaWVyQXJyYXkoSlNDb250ZXh0UmVmIGNvbnRleHQs
IEpTVmFsdWVSZWYgYXJyYXlWYWx1ZSkKK3sKKyAgICBpZiAoIWFycmF5VmFsdWUpCisgICAgICAg
IHJldHVybiB7IH07CisKKyAgICAvLyBUaGUgdmFsdWUgbWF5IGVpdGhlciBiZSBhIHN0cmluZyB3
aXRoIGEgc2luZ2xlIG1vZGlmaWVyIG9yIGFuIGFycmF5IG9mIG1vZGlmaWVycy4KKyAgICBpZiAo
SlNWYWx1ZUlzU3RyaW5nKGNvbnRleHQsIGFycmF5VmFsdWUpKSB7CisgICAgICAgIGF1dG8gc3Ry
aW5nID0gdG9XVEZTdHJpbmcodG9XSyhhZG9wdChKU1ZhbHVlVG9TdHJpbmdDb3B5KGNvbnRleHQs
IGFycmF5VmFsdWUsIG51bGxwdHIpKSkpOworICAgICAgICByZXR1cm4geyBzdHJpbmcgfTsKKyAg
ICB9CisKKyAgICBpZiAoIUpTVmFsdWVJc09iamVjdChjb250ZXh0LCBhcnJheVZhbHVlKSkKKyAg
ICAgICAgcmV0dXJuIHsgfTsKKyAgICBKU09iamVjdFJlZiBhcnJheSA9IGNvbnN0X2Nhc3Q8SlNP
YmplY3RSZWY+KGFycmF5VmFsdWUpOworICAgIHVuc2lnbmVkIGxlbmd0aCA9IGFycmF5TGVuZ3Ro
KGNvbnRleHQsIGFycmF5KTsKKyAgICBWZWN0b3I8U3RyaW5nPiBtb2RpZmllcnM7CisgICAgbW9k
aWZpZXJzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkobGVuZ3RoKTsKKyAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsKKyAgICAgICAgSlNWYWx1ZVJlZiBleGNlcHRpb24g
PSBudWxscHRyOworICAgICAgICBKU1ZhbHVlUmVmIHZhbHVlID0gSlNPYmplY3RHZXRQcm9wZXJ0
eUF0SW5kZXgoY29udGV4dCwgYXJyYXksIGksICZleGNlcHRpb24pOworICAgICAgICBpZiAoZXhj
ZXB0aW9uKQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIGF1dG8gc3RyaW5nID0gYWRv
cHQoSlNWYWx1ZVRvU3RyaW5nQ29weShjb250ZXh0LCB2YWx1ZSwgJmV4Y2VwdGlvbikpOworICAg
ICAgICBpZiAoZXhjZXB0aW9uKQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIG1vZGlm
aWVycy5hcHBlbmQodG9XVEZTdHJpbmcodG9XSyhzdHJpbmcuZ2V0KCkpKSk7CisgICAgfQorICAg
IHJldHVybiBtb2RpZmllcnM7Cit9CisKIHN0YXRpYyBVSVBoeXNpY2FsS2V5Ym9hcmRFdmVudCAq
Y3JlYXRlVUlQaHlzaWNhbEtleWJvYXJkRXZlbnQoTlNTdHJpbmcgKmhpZElucHV0U3RyaW5nLCBO
U1N0cmluZyAqdWlFdmVudElucHV0U3RyaW5nLCBVSUtleU1vZGlmaWVyRmxhZ3MgbW9kaWZpZXJG
bGFncywgVUlLZXlib2FyZElucHV0RmxhZ3MgaW5wdXRGbGFncywgYm9vbCBpc0tleURvd24pCiB7
CiAgICAgYXV0byoga2V5Ym9hcmRFdmVudCA9IFtnZXRVSVBoeXNpY2FsS2V5Ym9hcmRFdmVudENs
YXNzKCkgX2V2ZW50V2l0aElucHV0OnVpRXZlbnRJbnB1dFN0cmluZyBpbnB1dEZsYWdzOmlucHV0
RmxhZ3NdOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IGZkMTllNzdiZmIyOWUwODEwOWNjMmRlODlkODNhMGI0MGJjNWNlMTgu
LmEwYWU1ZDIyYzM1MzAwZmU4NTgyMjk5NzI3NzQxNDBmOTRjM2M0ZWEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyMSBAQAorMjAxOS0wMi0xMSAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjI0MTI3MiBhbmQgcjI0MTI3
Ni4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NDUx
NAorCisgICAgICAgIEJyb2tlIHRoZSBBcHBsZSBJbnRlcm5hbCBidWlsZCBhbmQgdGhlIGZpeCBy
ZXF1aXJlcyBodW1hbgorICAgICAgICBpbnRlcnZlbnRpb24gOiggKFJlcXVlc3RlZCBieSBkeWR6
IG9uICN3ZWJraXQpLgorCisgICAgICAgIFJldmVydGVkIGNoYW5nZXNldHM6CisKKyAgICAgICAg
IltpT1NdIE1vdXNlL1RvdWNoL1BvaW50ZXIgZXZlbnRzIGFyZSBtaXNzaW5nIG1vZGlmaWVyIGtl
eXMiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTE0
NDYKKyAgICAgICAgaHR0cHM6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzI0MTI3MgorCisg
ICAgICAgICJGaXggaW50ZXJuYWwgaU9TIGJ1aWxkIGFmdGVyIHIyNDEyNzIiCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTE0NDYKKyAgICAgICAgaHR0
cHM6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzI0MTI3NgorCiAyMDE5LTAyLTExICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIGZhc3QvZm9ybXMv
aW9zL2ZvcmNlLWdyZWdvcmlhbi1jYWxlbmRhci1mb3ItY3JlZGl0LWNhcmQtZXhwaXJ5Lmh0bWwg
ZG9lcyBub3Qgd29yayBvbiBpUGFkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy9pb3Mva2V5LWV2ZW50cy1tZXRhLWFsdC1jb21iaW5hdGlvbnMuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvZXZlbnRzL2lvcy9rZXktZXZlbnRzLW1ldGEtYWx0LWNvbWJpbmF0aW9ucy5odG1sCmlu
ZGV4IDRmMGU1YWY3OTdjMWQ1NTVjMWI1N2Q1Zjk2MWEwNWNmZjQzODcxMGYuLmZlODhkMzQxZWJk
YmExZDg3NDEwZjA5NzljODNmMzY0ZjYxNmMyNjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZXZlbnRzL2lvcy9rZXktZXZlbnRzLW1ldGEtYWx0LWNvbWJpbmF0aW9ucy5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy9rZXktZXZlbnRzLW1ldGEtYWx0LWNvbWJpbmF0
aW9ucy5odG1sCkBAIC0yLDEyICsyLDExIEBACiA8aHRtbD4KIDxoZWFkPgogPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy9jb21wdXRlLXN1YnNldHMuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
InJlc291cmNlcy9rZXktdGVzdGVyLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+CiBjb25zdCBtb2Rp
ZmVyS2V5U3Vic2V0c1RvVGVzdCA9IGNvbXB1dGVTdWJzZXRzKFsibWV0YUtleSIsICJhbHRLZXki
XSk7CiBmb3IgKGNvbnN0IGsgb2Yga2V5c0V4Y2x1ZGluZ0RlYWRBbmRTa2lwcGVkS2V5cykgewot
ICAgIGZvciAoY29uc3QgbW9kaWZpZXJzIG9mIGNvbXB1dGVTdWJzZXRzKG1vZGlmaWVyS2V5cykp
CisgICAgZm9yIChjb25zdCBtb2RpZmllcnMgb2YgbW9kaWZlcktleVN1YnNldHNUb1Rlc3QpCiAg
ICAgICAgIHRlc3RzLnB1c2gobmV3IEtleUNvbW1hbmQoaywgbW9kaWZpZXJzKSk7CiB9CiA8L3Nj
cmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy9yZXNvdXJjZXMv
a2V5LXRlc3Rlci5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy9yZXNvdXJjZXMva2V5
LXRlc3Rlci5qcwppbmRleCA2MGRiZTllY2U3ZGQ2ZTNjYWNlODNmZDU2NDlhNDRlYzNlZDJiMzVj
Li41NzQ4MDcwYjNiOGZhM2I2ZmI4MGJlN2ViYjg0NDUzN2M2Y2RiYTQwIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9pb3MvcmVzb3VyY2VzL2tleS10ZXN0ZXIuanMKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvaW9zL3Jlc291cmNlcy9rZXktdGVzdGVyLmpzCkBAIC01
Myw2ICs1Myw0MyBAQCBmdW5jdGlvbiBrZXlDb21tYW5kc0hhc0NvbW1hbmQoa2V5Q29tbWFuZHMs
IGNvbW1hbmQpCiAgICAgcmV0dXJuICEha2V5Q29tbWFuZHMuZmluZCgoaykgPT4gYXJlS2V5Q29t
bWFuZHNFcXVhbChrLCBjb21tYW5kKSk7CiB9CiAKKy8vIFRoaXMgYWxnb3JpdGhtIHJ1bnMgaW4g
TygyXk4pLgorZnVuY3Rpb24gY29tcHV0ZVN1YnNldHMoYW5BcnJheSkKK3sKKyAgICBmdW5jdGlv
biBjb21wYXJlQnlNb2RpZmllck9yZGVyKGEsIGIpIHsKKyAgICAgICAgaWYgKGEubGVuZ3RoIDwg
Yi5sZW5ndGgpCisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIGlmIChhLmxlbmd0aCA+
IGIubGVuZ3RoKQorICAgICAgICAgICAgcmV0dXJuIDE7CisgICAgICAgIGZvciAobGV0IGkgPSAw
OyBpIDwgYS5sZW5ndGg7ICsraSkgeworICAgICAgICAgICAgbGV0IHJhbmtBID0gYW5BcnJheS5p
bmRleE9mKGFbaV0pOworICAgICAgICAgICAgbGV0IHJhbmtCID0gYW5BcnJheS5pbmRleE9mKGJb
aV0pOworICAgICAgICAgICAgaWYgKHJhbmtBIDwgcmFua0IpCisgICAgICAgICAgICAgICAgcmV0
dXJuIC0xOworICAgICAgICAgICAgaWYgKHJhbmtBID4gcmFua0IpCisgICAgICAgICAgICAgICAg
cmV0dXJuIDE7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorICAgIGxldCBy
ZXN1bHQgPSBbXTsKKyAgICBjb25zdCBudW1iZXJPZk5vbkVtcHR5UGVybXV0YXRpb25zID0gKDEg
PDwgYW5BcnJheS5sZW5ndGgpIC0gMTsKKyAgICAvLyBGb3IgZWFjaCBvcmRpbmFsIDEsIDIsIC4u
LiBudW1iZXJPZk5vbkVtcHR5UGVybXV0YXRpb25zIHdlIGxvb2sgYXQgaXRzIGJpbmFyeSByZXBy
ZXNlbnRhdGlvbgorICAgIC8vIGFuZCBnZW5lcmF0ZSBhIHBlcm11dGF0aW9uIHRoYXQgY29uc2lz
dHMgb2YgdGhlIGVudHJpZXMgaW4gYW5BcnJheSBhdCB0aGUgaW5kaWNlcyB3aGVyZSB0aGVyZQor
ICAgIC8vIGlzIGEgb25lIGJpdCBpbiB0aGUgYmluYXJ5IHJlcHJlc2VudGF0aW9uLiBGb3IgZXhh
bXBsZSwgc3VwcG9zZSBhbkFycmF5ID0gWyJtZXRhS2V5IiwgImFsdEtleSIsICJjdHJsS2V5Il0u
CisgICAgLy8gVG8gZ2VuZXJhdGUgdGhlIDV0aCBwZXJtdXRhdGlvbiB3ZSBsb29rIGF0IHRoZSBi
aW5hcnkgcmVwcmVzZW50YXRpb24gb2YgaSA9IDUgPT4gMGIxMDEuIEFuZAorICAgIC8vIGNvbXB1
dGUgdGhlIHBlcm11dGF0aW9uIHRvIGJlIFsgYW5BcnJheVswXSwgYW5BcnJheVsyXSBdID0gWyAi
bWV0YUtleSIsICJjdHJsS2V5IiBdIGJlY2F1c2UKKyAgICAvLyB0aGUgMHRoIGFuZCAybmQgYml0
cyBhcmUgb25lcyBpbiB0aGUgYmluYXJ5IHJlcHJlc2VudGF0aW9uLgorICAgIGZvciAobGV0IGkg
PSAxOyBpIDw9IG51bWJlck9mTm9uRW1wdHlQZXJtdXRhdGlvbnM7ICsraSkgeworICAgICAgICBs
ZXQgdGVtcCA9IFtdOworICAgICAgICBmb3IgKGxldCBiaXRtYXNrID0gaSwgaiA9IDA7IGJpdG1h
c2s7IGJpdG1hc2sgPSBNYXRoLmZsb29yKGJpdG1hc2sgLyAyKSwgKytqKSB7CisgICAgICAgICAg
ICBpZiAoYml0bWFzayAlIDIpCisgICAgICAgICAgICAgICAgdGVtcC5wdXNoKGFuQXJyYXlbal0p
OworICAgICAgICB9CisgICAgICAgIHJlc3VsdC5wdXNoKHRlbXApOworICAgIH0KKyAgICByZXR1
cm4gcmVzdWx0LnNvcnQoY29tcGFyZUJ5TW9kaWZpZXJPcmRlcik7Cit9CisKIGNvbnN0IGtleXMg
PSBuZXcgU2V0KCJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODktPVtdXFw7Jywu
LyIuc3BsaXQoIiIpKTsKIGNvbnN0IGRlYWRLZXlzID0gbmV3IFNldCgiYGV1aW4iLnNwbGl0KCIi
KSk7CiBjb25zdCBrZXlzRXhjbHVkaW5nRGVhZEtleXMgPSBjb21wdXRlRGlmZmVyZW5jZShrZXlz
LCBkZWFkS2V5cyk7CkBAIC04MCw2ICsxMTcsNyBAQCBmb3IgKGxldCBpID0gMTsgaSA8PSA5OyAr
K2kpCiAgICAgZGlzYWxsb3dlZEtleUNvbW1hbmRzLnB1c2gobmV3IEtleUNvbW1hbmQoaSwgWyJt
ZXRhS2V5Il0pKTsKIAogY29uc3QgbW9kaWZpZXJLZXlzID0gWyJtZXRhS2V5IiwgImFsdEtleSIs
ICJjdHJsS2V5IiwgInNoaWZ0S2V5Il07Citjb25zdCBtb2RpZmVyS2V5U3Vic2V0cyA9IGNvbXB1
dGVTdWJzZXRzKG1vZGlmaWVyS2V5cyk7CiAKIGxldCB0ZXN0cyA9IFtdOwogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZXNvdXJjZXMvY29tcHV0ZS1zdWJzZXRzLmpzIGIv
TGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzb3VyY2VzL2NvbXB1dGUtc3Vic2V0cy5qcwpkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTBmOTI4NzZlYTYwNGI2NDhkZTc4N2QzZTc3MjNm
MWEyY2MxMmE2Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZXNvdXJjZXMvY29tcHV0ZS1zdWJzZXRzLmpzCisr
KyAvZGV2L251bGwKQEAgLTEsMzYgKzAsMCBAQAotLy8gVGhpcyBhbGdvcml0aG0gcnVucyBpbiBP
KDJeTikuCi1mdW5jdGlvbiBjb21wdXRlU3Vic2V0cyhhbkFycmF5KQotewotICAgIGZ1bmN0aW9u
IGNvbXBhcmVCeU9yaWdpbmFsQXJyYXlPcmRlcihhLCBiKSB7Ci0gICAgICAgIGlmIChhLmxlbmd0
aCA8IGIubGVuZ3RoKQotICAgICAgICAgICAgcmV0dXJuIC0xOwotICAgICAgICBpZiAoYS5sZW5n
dGggPiBiLmxlbmd0aCkKLSAgICAgICAgICAgIHJldHVybiAxOwotICAgICAgICBmb3IgKGxldCBp
ID0gMDsgaSA8IGEubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgIGxldCByYW5rQSA9IGFuQXJy
YXkuaW5kZXhPZihhW2ldKTsKLSAgICAgICAgICAgIGxldCByYW5rQiA9IGFuQXJyYXkuaW5kZXhP
ZihiW2ldKTsKLSAgICAgICAgICAgIGlmIChyYW5rQSA8IHJhbmtCKQotICAgICAgICAgICAgICAg
IHJldHVybiAtMTsKLSAgICAgICAgICAgIGlmIChyYW5rQSA+IHJhbmtCKQotICAgICAgICAgICAg
ICAgIHJldHVybiAxOwotICAgICAgICB9Ci0gICAgICAgIHJldHVybiAwOwotICAgIH0KLSAgICBs
ZXQgcmVzdWx0ID0gW107Ci0gICAgY29uc3QgbnVtYmVyT2ZOb25FbXB0eVBlcm11dGF0aW9ucyA9
ICgxIDw8IGFuQXJyYXkubGVuZ3RoKSAtIDE7Ci0gICAgLy8gRm9yIGVhY2ggb3JkaW5hbCAxLCAy
LCAuLi4gbnVtYmVyT2ZOb25FbXB0eVBlcm11dGF0aW9ucyB3ZSBsb29rIGF0IGl0cyBiaW5hcnkg
cmVwcmVzZW50YXRpb24KLSAgICAvLyBhbmQgZ2VuZXJhdGUgYSBwZXJtdXRhdGlvbiB0aGF0IGNv
bnNpc3RzIG9mIHRoZSBlbnRyaWVzIGluIGFuQXJyYXkgYXQgdGhlIGluZGljZXMgd2hlcmUgdGhl
cmUKLSAgICAvLyBpcyBhIG9uZSBiaXQgaW4gdGhlIGJpbmFyeSByZXByZXNlbnRhdGlvbi4gRm9y
IGV4YW1wbGUsIHN1cHBvc2UgYW5BcnJheSA9IFsibWV0YUtleSIsICJhbHRLZXkiLCAiY3RybEtl
eSJdLgotICAgIC8vIFRvIGdlbmVyYXRlIHRoZSA1dGggcGVybXV0YXRpb24gd2UgbG9vayBhdCB0
aGUgYmluYXJ5IHJlcHJlc2VudGF0aW9uIG9mIGkgPSA1ID0+IDBiMTAxLiBBbmQKLSAgICAvLyBj
b21wdXRlIHRoZSBwZXJtdXRhdGlvbiB0byBiZSBbIGFuQXJyYXlbMF0sIGFuQXJyYXlbMl0gXSA9
IFsgIm1ldGFLZXkiLCAiY3RybEtleSIgXSBiZWNhdXNlCi0gICAgLy8gdGhlIDB0aCBhbmQgMm5k
IGJpdHMgYXJlIG9uZXMgaW4gdGhlIGJpbmFyeSByZXByZXNlbnRhdGlvbi4KLSAgICBmb3IgKGxl
dCBpID0gMTsgaSA8PSBudW1iZXJPZk5vbkVtcHR5UGVybXV0YXRpb25zOyArK2kpIHsKLSAgICAg
ICAgbGV0IHRlbXAgPSBbXTsKLSAgICAgICAgZm9yIChsZXQgYml0bWFzayA9IGksIGogPSAwOyBi
aXRtYXNrOyBiaXRtYXNrID0gTWF0aC5mbG9vcihiaXRtYXNrIC8gMiksICsraikgewotICAgICAg
ICAgICAgaWYgKGJpdG1hc2sgJSAyKQotICAgICAgICAgICAgICAgIHRlbXAucHVzaChhbkFycmF5
W2pdKTsKLSAgICAgICAgfQotICAgICAgICByZXN1bHQucHVzaCh0ZW1wKTsKLSAgICB9Ci0gICAg
cmV0dXJuIHJlc3VsdC5zb3J0KGNvbXBhcmVCeU9yaWdpbmFsQXJyYXlPcmRlcik7Ci19CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9pb3MvbW91c2UtZXZlbnRzLXdp
dGgtbW9kaWZpZXJzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNo
L2lvcy9tb3VzZS1ldmVudHMtd2l0aC1tb2RpZmllcnMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA4MDUxMzgzNjc0ZDllM2NhMmJlYzFhYzcwM2ViOWNkZGQxMmE4
MTI0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy9tb3VzZS1ldmVudHMtd2l0aC1tb2RpZmllcnMt
ZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNzggKzAsMCBAQAotVGhpcyBsb2dzIERP
TSBtb3VzZWRvd24sIG1vdXNlbW92ZSwgYW5kIG1vdXNldXAgZXZlbnRzIHRoYXQgYXJlIGRpc3Bh
dGNoZWQgd2hlbiBzaW5nbGUgdGFwcGluZyBhbiBlbGVtZW50IHdoaWxlIGhvbGRpbmcgbW9kaWZp
ZXIga2V5cy4gTXVzdCBiZSBydW4gaW4gV2ViS2l0VGVzdFJ1bm5lci4KLQotCi1UZXN0IENvbW1h
bmQgKyBTaW5nbGUgVGFwOgotdHlwZTogbW91c2Vtb3ZlLCB4OiA3MiwgeTogMTM2LCBvZmZzZXRY
OiA2NCwgb2Zmc2V0WTogNjQsIGJ1dHRvbjogMCwgYnV0dG9uczogMCwgc2NyZWVuWDogNzIsIHNj
cmVlblk6IDEzNiwgY2xpZW50WDogNzIsIGNsaWVudFk6IDEzNiwgYWx0S2V5OiBmYWxzZSwgY3Ry
bEtleTogZmFsc2UsIG1ldGFLZXk6IHRydWUsIHNoaWZ0S2V5OiBmYWxzZQotdHlwZTogbW91c2Vk
b3duLCB4OiA3MiwgeTogMTM2LCBvZmZzZXRYOiA2NCwgb2Zmc2V0WTogNjQsIGJ1dHRvbjogMCwg
YnV0dG9uczogMCwgc2NyZWVuWDogNzIsIHNjcmVlblk6IDEzNiwgY2xpZW50WDogNzIsIGNsaWVu
dFk6IDEzNiwgYWx0S2V5OiBmYWxzZSwgY3RybEtleTogZmFsc2UsIG1ldGFLZXk6IHRydWUsIHNo
aWZ0S2V5OiBmYWxzZQotdHlwZTogbW91c2V1cCwgeDogNzIsIHk6IDEzNiwgb2Zmc2V0WDogNjQs
IG9mZnNldFk6IDY0LCBidXR0b246IDAsIGJ1dHRvbnM6IDAsIHNjcmVlblg6IDcyLCBzY3JlZW5Z
OiAxMzYsIGNsaWVudFg6IDcyLCBjbGllbnRZOiAxMzYsIGFsdEtleTogZmFsc2UsIGN0cmxLZXk6
IGZhbHNlLCBtZXRhS2V5OiB0cnVlLCBzaGlmdEtleTogZmFsc2UKLQotVGVzdCBPcHRpb24gKyBT
aW5nbGUgVGFwOgotdHlwZTogbW91c2Vtb3ZlLCB4OiA3MiwgeTogMTM2LCBvZmZzZXRYOiA2NCwg
b2Zmc2V0WTogNjQsIGJ1dHRvbjogMCwgYnV0dG9uczogMCwgc2NyZWVuWDogNzIsIHNjcmVlblk6
IDEzNiwgY2xpZW50WDogNzIsIGNsaWVudFk6IDEzNiwgYWx0S2V5OiB0cnVlLCBjdHJsS2V5OiBm
YWxzZSwgbWV0YUtleTogZmFsc2UsIHNoaWZ0S2V5OiBmYWxzZQotdHlwZTogbW91c2Vkb3duLCB4
OiA3MiwgeTogMTM2LCBvZmZzZXRYOiA2NCwgb2Zmc2V0WTogNjQsIGJ1dHRvbjogMCwgYnV0dG9u
czogMCwgc2NyZWVuWDogNzIsIHNjcmVlblk6IDEzNiwgY2xpZW50WDogNzIsIGNsaWVudFk6IDEz
NiwgYWx0S2V5OiB0cnVlLCBjdHJsS2V5OiBmYWxzZSwgbWV0YUtleTogZmFsc2UsIHNoaWZ0S2V5
OiBmYWxzZQotdHlwZTogbW91c2V1cCwgeDogNzIsIHk6IDEzNiwgb2Zmc2V0WDogNjQsIG9mZnNl
dFk6IDY0LCBidXR0b246IDAsIGJ1dHRvbnM6IDAsIHNjcmVlblg6IDcyLCBzY3JlZW5ZOiAxMzYs
IGNsaWVudFg6IDcyLCBjbGllbnRZOiAxMzYsIGFsdEtleTogdHJ1ZSwgY3RybEtleTogZmFsc2Us
IG1ldGFLZXk6IGZhbHNlLCBzaGlmdEtleTogZmFsc2UKLQotVGVzdCBDb250cm9sICsgU2luZ2xl
IFRhcDoKLXR5cGU6IG1vdXNlbW92ZSwgeDogNzIsIHk6IDEzNiwgb2Zmc2V0WDogNjQsIG9mZnNl
dFk6IDY0LCBidXR0b246IDAsIGJ1dHRvbnM6IDAsIHNjcmVlblg6IDcyLCBzY3JlZW5ZOiAxMzYs
IGNsaWVudFg6IDcyLCBjbGllbnRZOiAxMzYsIGFsdEtleTogZmFsc2UsIGN0cmxLZXk6IHRydWUs
IG1ldGFLZXk6IGZhbHNlLCBzaGlmdEtleTogZmFsc2UKLXR5cGU6IG1vdXNlZG93biwgeDogNzIs
IHk6IDEzNiwgb2Zmc2V0WDogNjQsIG9mZnNldFk6IDY0LCBidXR0b246IDAsIGJ1dHRvbnM6IDAs
IHNjcmVlblg6IDcyLCBzY3JlZW5ZOiAxMzYsIGNsaWVudFg6IDcyLCBjbGllbnRZOiAxMzYsIGFs
dEtleTogZmFsc2UsIGN0cmxLZXk6IHRydWUsIG1ldGFLZXk6IGZhbHNlLCBzaGlmdEtleTogZmFs
c2UKLXR5cGU6IG1vdXNldXAsIHg6IDcyLCB5OiAxMzYsIG9mZnNldFg6IDY0LCBvZmZzZXRZOiA2
NCwgYnV0dG9uOiAwLCBidXR0b25zOiAwLCBzY3JlZW5YOiA3Miwgc2NyZWVuWTogMTM2LCBjbGll
bnRYOiA3MiwgY2xpZW50WTogMTM2LCBhbHRLZXk6IGZhbHNlLCBjdHJsS2V5OiB0cnVlLCBtZXRh
S2V5OiBmYWxzZSwgc2hpZnRLZXk6IGZhbHNlCi0KLVRlc3QgU2hpZnQgKyBTaW5nbGUgVGFwOgot
dHlwZTogbW91c2Vtb3ZlLCB4OiA3MiwgeTogMTM2LCBvZmZzZXRYOiA2NCwgb2Zmc2V0WTogNjQs
IGJ1dHRvbjogMCwgYnV0dG9uczogMCwgc2NyZWVuWDogNzIsIHNjcmVlblk6IDEzNiwgY2xpZW50
WDogNzIsIGNsaWVudFk6IDEzNiwgYWx0S2V5OiBmYWxzZSwgY3RybEtleTogZmFsc2UsIG1ldGFL
ZXk6IGZhbHNlLCBzaGlmdEtleTogdHJ1ZQotdHlwZTogbW91c2Vkb3duLCB4OiA3MiwgeTogMTM2
LCBvZmZzZXRYOiA2NCwgb2Zmc2V0WTogNjQsIGJ1dHRvbjogMCwgYnV0dG9uczogMCwgc2NyZWVu
WDogNzIsIHNjcmVlblk6IDEzNiwgY2xpZW50WDogNzIsIGNsaWVudFk6IDEzNiwgYWx0S2V5OiBm
YWxzZSwgY3RybEtleTogZmFsc2UsIG1ldGFLZXk6IGZhbHNlLCBzaGlmdEtleTogdHJ1ZQotdHlw
ZTogbW91c2V1cCwgeDogNzIsIHk6IDEzNiwgb2Zmc2V0WDogNjQsIG9mZnNldFk6IDY0LCBidXR0
b246IDAsIGJ1dHRvbnM6IDAsIHNjcmVlblg6IDcyLCBzY3JlZW5ZOiAxMzYsIGNsaWVudFg6IDcy
LCBjbGllbnRZOiAxMzYsIGFsdEtleTogZmFsc2UsIGN0cmxLZXk6IGZhbHNlLCBtZXRhS2V5OiBm
YWxzZSwgc2hpZnRLZXk6IHRydWUKLQotVGVzdCBDb21tYW5kICsgT3B0aW9uICsgU2luZ2xlIFRh
cDoKLXR5cGU6IG1vdXNlbW92ZSwgeDogNzIsIHk6IDEzNiwgb2Zmc2V0WDogNjQsIG9mZnNldFk6
IDY0LCBidXR0b246IDAsIGJ1dHRvbnM6IDAsIHNjcmVlblg6IDcyLCBzY3JlZW5ZOiAxMzYsIGNs
aWVudFg6IDcyLCBjbGllbnRZOiAxMzYsIGFsdEtleTogdHJ1ZSwgY3RybEtleTogZmFsc2UsIG1l
dGFLZXk6IHRydWUsIHNoaWZ0S2V5OiBmYWxzZQotdHlwZTogbW91c2Vkb3duLCB4OiA3MiwgeTog
MTM2LCBvZmZzZXRYOiA2NCwgb2Zmc2V0WTogNjQsIGJ1dHRvbjogMCwgYnV0dG9uczogMCwgc2Ny
ZWVuWDogNzIsIHNjcmVlblk6IDEzNiwgY2xpZW50WDogNzIsIGNsaWVudFk6IDEzNiwgYWx0S2V5
OiB0cnVlLCBjdHJsS2V5OiBmYWxzZSwgbWV0YUtleTogdHJ1ZSwgc2hpZnRLZXk6IGZhbHNlCi10
eXBlOiBtb3VzZXVwLCB4OiA3MiwgeTogMTM2LCBvZmZzZXRYOiA2NCwgb2Zmc2V0WTogNjQsIGJ1
dHRvbjogMCwgYnV0dG9uczogMCwgc2NyZWVuWDogNzIsIHNjcmVlblk6IDEzNiwgY2xpZW50WDog
NzIsIGNsaWVudFk6IDEzNiwgYWx0S2V5OiB0cnVlLCBjdHJsS2V5OiBmYWxzZSwgbWV0YUtleTog
dHJ1ZSwgc2hpZnRLZXk6IGZhbHNlCi0KLVRlc3QgQ29tbWFuZCArIENvbnRyb2wgKyBTaW5nbGUg
VGFwOgotdHlwZTogbW91c2Vtb3ZlLCB4OiA3MiwgeTogMTM2LCBvZmZzZXRYOiA2NCwgb2Zmc2V0
WTogNjQsIGJ1dHRvbjogMCwgYnV0dG9uczogMCwgc2NyZWVuWDogNzIsIHNjcmVlblk6IDEzNiwg
Y2xpZW50WDogNzIsIGNsaWVudFk6IDEzNiwgYWx0S2V5OiBmYWxzZSwgY3RybEtleTogdHJ1ZSwg
bWV0YUtleTogdHJ1ZSwgc2hpZnRLZXk6IGZhbHNlCi10eXBlOiBtb3VzZWRvd24sIHg6IDcyLCB5
OiAxMzYsIG9mZnNldFg6IDY0LCBvZmZzZXRZOiA2NCwgYnV0dG9uOiAwLCBidXR0b25zOiAwLCBz
Y3JlZW5YOiA3Miwgc2NyZWVuWTogMTM2LCBjbGllbnRYOiA3MiwgY2xpZW50WTogMTM2LCBhbHRL
ZXk6IGZhbHNlLCBjdHJsS2V5OiB0cnVlLCBtZXRhS2V5OiB0cnVlLCBzaGlmdEtleTogZmFsc2UK
LXR5cGU6IG1vdXNldXAsIHg6IDcyLCB5OiAxMzYsIG9mZnNldFg6IDY0LCBvZmZzZXRZOiA2NCwg
YnV0dG9uOiAwLCBidXR0b25zOiAwLCBzY3JlZW5YOiA3Miwgc2NyZWVuWTogMTM2LCBjbGllbnRY
OiA3MiwgY2xpZW50WTogMTM2LCBhbHRLZXk6IGZhbHNlLCBjdHJsS2V5OiB0cnVlLCBtZXRhS2V5
OiB0cnVlLCBzaGlmdEtleTogZmFsc2UKLQotVGVzdCBDb21tYW5kICsgU2hpZnQgKyBTaW5nbGUg
VGFwOgotdHlwZTogbW91c2Vtb3ZlLCB4OiA3MiwgeTogMTM2LCBvZmZzZXRYOiA2NCwgb2Zmc2V0
WTogNjQsIGJ1dHRvbjogMCwgYnV0dG9uczogMCwgc2NyZWVuWDogNzIsIHNjcmVlblk6IDEzNiwg
Y2xpZW50WDogNzIsIGNsaWVudFk6IDEzNiwgYWx0S2V5OiBmYWxzZSwgY3RybEtleTogZmFsc2Us
IG1ldGFLZXk6IHRydWUsIHNoaWZ0S2V5OiB0cnVlCi10eXBlOiBtb3VzZWRvd24sIHg6IDcyLCB5
OiAxMzYsIG9mZnNldFg6IDY0LCBvZmZzZXRZOiA2NCwgYnV0dG9uOiAwLCBidXR0b25zOiAwLCBz
Y3JlZW5YOiA3Miwgc2NyZWVuWTogMTM2LCBjbGllbnRYOiA3MiwgY2xpZW50WTogMTM2LCBhbHRL
ZXk6IGZhbHNlLCBjdHJsS2V5OiBmYWxzZSwgbWV0YUtleTogdHJ1ZSwgc2hpZnRLZXk6IHRydWUK
LXR5cGU6IG1vdXNldXAsIHg6IDcyLCB5OiAxMzYsIG9mZnNldFg6IDY0LCBvZmZzZXRZOiA2NCwg
YnV0dG9uOiAwLCBidXR0b25zOiAwLCBzY3JlZW5YOiA3Miwgc2NyZWVuWTogMTM2LCBjbGllbnRY
OiA3MiwgY2xpZW50WTogMTM2LCBhbHRLZXk6IGZhbHNlLCBjdHJsS2V5OiBmYWxzZSwgbWV0YUtl
eTogdHJ1ZSwgc2hpZnRLZXk6IHRydWUKLQotVGVzdCBPcHRpb24gKyBDb250cm9sICsgU2luZ2xl
IFRhcDoKLXR5cGU6IG1vdXNlbW92ZSwgeDogNzIsIHk6IDEzNiwgb2Zmc2V0WDogNjQsIG9mZnNl
dFk6IDY0LCBidXR0b246IDAsIGJ1dHRvbnM6IDAsIHNjcmVlblg6IDcyLCBzY3JlZW5ZOiAxMzYs
IGNsaWVudFg6IDcyLCBjbGllbnRZOiAxMzYsIGFsdEtleTogdHJ1ZSwgY3RybEtleTogdHJ1ZSwg
bWV0YUtleTogZmFsc2UsIHNoaWZ0S2V5OiBmYWxzZQotdHlwZTogbW91c2Vkb3duLCB4OiA3Miwg
eTogMTM2LCBvZmZzZXRYOiA2NCwgb2Zmc2V0WTogNjQsIGJ1dHRvbjogMCwgYnV0dG9uczogMCwg
c2NyZWVuWDogNzIsIHNjcmVlblk6IDEzNiwgY2xpZW50WDogNzIsIGNsaWVudFk6IDEzNiwgYWx0
S2V5OiB0cnVlLCBjdHJsS2V5OiB0cnVlLCBtZXRhS2V5OiBmYWxzZSwgc2hpZnRLZXk6IGZhbHNl
Ci10eXBlOiBtb3VzZXVwLCB4OiA3MiwgeTogMTM2LCBvZmZzZXRYOiA2NCwgb2Zmc2V0WTogNjQs
IGJ1dHRvbjogMCwgYnV0dG9uczogMCwgc2NyZWVuWDogNzIsIHNjcmVlblk6IDEzNiwgY2xpZW50
WDogNzIsIGNsaWVudFk6IDEzNiwgYWx0S2V5OiB0cnVlLCBjdHJsS2V5OiB0cnVlLCBtZXRhS2V5
OiBmYWxzZSwgc2hpZnRLZXk6IGZhbHNlCi0KLVRlc3QgT3B0aW9uICsgU2hpZnQgKyBTaW5nbGUg
VGFwOgotdHlwZTogbW91c2Vtb3ZlLCB4OiA3MiwgeTogMTM2LCBvZmZzZXRYOiA2NCwgb2Zmc2V0
WTogNjQsIGJ1dHRvbjogMCwgYnV0dG9uczogMCwgc2NyZWVuWDogNzIsIHNjcmVlblk6IDEzNiwg
Y2xpZW50WDogNzIsIGNsaWVudFk6IDEzNiwgYWx0S2V5OiB0cnVlLCBjdHJsS2V5OiBmYWxzZSwg
bWV0YUtleTogZmFsc2UsIHNoaWZ0S2V5OiB0cnVlCi10eXBlOiBtb3VzZWRvd24sIHg6IDcyLCB5
OiAxMzYsIG9mZnNldFg6IDY0LCBvZmZzZXRZOiA2NCwgYnV0dG9uOiAwLCBidXR0b25zOiAwLCBz
Y3JlZW5YOiA3Miwgc2NyZWVuWTogMTM2LCBjbGllbnRYOiA3MiwgY2xpZW50WTogMTM2LCBhbHRL
ZXk6IHRydWUsIGN0cmxLZXk6IGZhbHNlLCBtZXRhS2V5OiBmYWxzZSwgc2hpZnRLZXk6IHRydWUK
LXR5cGU6IG1vdXNldXAsIHg6IDcyLCB5OiAxMzYsIG9mZnNldFg6IDY0LCBvZmZzZXRZOiA2NCwg
YnV0dG9uOiAwLCBidXR0b25zOiAwLCBzY3JlZW5YOiA3Miwgc2NyZWVuWTogMTM2LCBjbGllbnRY
OiA3MiwgY2xpZW50WTogMTM2LCBhbHRLZXk6IHRydWUsIGN0cmxLZXk6IGZhbHNlLCBtZXRhS2V5
OiBmYWxzZSwgc2hpZnRLZXk6IHRydWUKLQotVGVzdCBDb250cm9sICsgU2hpZnQgKyBTaW5nbGUg
VGFwOgotdHlwZTogbW91c2Vtb3ZlLCB4OiA3MiwgeTogMTM2LCBvZmZzZXRYOiA2NCwgb2Zmc2V0
WTogNjQsIGJ1dHRvbjogMCwgYnV0dG9uczogMCwgc2NyZWVuWDogNzIsIHNjcmVlblk6IDEzNiwg
Y2xpZW50WDogNzIsIGNsaWVudFk6IDEzNiwgYWx0S2V5OiBmYWxzZSwgY3RybEtleTogdHJ1ZSwg
bWV0YUtleTogZmFsc2UsIHNoaWZ0S2V5OiB0cnVlCi10eXBlOiBtb3VzZWRvd24sIHg6IDcyLCB5
OiAxMzYsIG9mZnNldFg6IDY0LCBvZmZzZXRZOiA2NCwgYnV0dG9uOiAwLCBidXR0b25zOiAwLCBz
Y3JlZW5YOiA3Miwgc2NyZWVuWTogMTM2LCBjbGllbnRYOiA3MiwgY2xpZW50WTogMTM2LCBhbHRL
ZXk6IGZhbHNlLCBjdHJsS2V5OiB0cnVlLCBtZXRhS2V5OiBmYWxzZSwgc2hpZnRLZXk6IHRydWUK
LXR5cGU6IG1vdXNldXAsIHg6IDcyLCB5OiAxMzYsIG9mZnNldFg6IDY0LCBvZmZzZXRZOiA2NCwg
YnV0dG9uOiAwLCBidXR0b25zOiAwLCBzY3JlZW5YOiA3Miwgc2NyZWVuWTogMTM2LCBjbGllbnRY
OiA3MiwgY2xpZW50WTogMTM2LCBhbHRLZXk6IGZhbHNlLCBjdHJsS2V5OiB0cnVlLCBtZXRhS2V5
OiBmYWxzZSwgc2hpZnRLZXk6IHRydWUKLQotVGVzdCBDb21tYW5kICsgT3B0aW9uICsgQ29udHJv
bCArIFNpbmdsZSBUYXA6Ci10eXBlOiBtb3VzZW1vdmUsIHg6IDcyLCB5OiAxMzYsIG9mZnNldFg6
IDY0LCBvZmZzZXRZOiA2NCwgYnV0dG9uOiAwLCBidXR0b25zOiAwLCBzY3JlZW5YOiA3Miwgc2Ny
ZWVuWTogMTM2LCBjbGllbnRYOiA3MiwgY2xpZW50WTogMTM2LCBhbHRLZXk6IHRydWUsIGN0cmxL
ZXk6IHRydWUsIG1ldGFLZXk6IHRydWUsIHNoaWZ0S2V5OiBmYWxzZQotdHlwZTogbW91c2Vkb3du
LCB4OiA3MiwgeTogMTM2LCBvZmZzZXRYOiA2NCwgb2Zmc2V0WTogNjQsIGJ1dHRvbjogMCwgYnV0
dG9uczogMCwgc2NyZWVuWDogNzIsIHNjcmVlblk6IDEzNiwgY2xpZW50WDogNzIsIGNsaWVudFk6
IDEzNiwgYWx0S2V5OiB0cnVlLCBjdHJsS2V5OiB0cnVlLCBtZXRhS2V5OiB0cnVlLCBzaGlmdEtl
eTogZmFsc2UKLXR5cGU6IG1vdXNldXAsIHg6IDcyLCB5OiAxMzYsIG9mZnNldFg6IDY0LCBvZmZz
ZXRZOiA2NCwgYnV0dG9uOiAwLCBidXR0b25zOiAwLCBzY3JlZW5YOiA3Miwgc2NyZWVuWTogMTM2
LCBjbGllbnRYOiA3MiwgY2xpZW50WTogMTM2LCBhbHRLZXk6IHRydWUsIGN0cmxLZXk6IHRydWUs
IG1ldGFLZXk6IHRydWUsIHNoaWZ0S2V5OiBmYWxzZQotCi1UZXN0IENvbW1hbmQgKyBPcHRpb24g
KyBTaGlmdCArIFNpbmdsZSBUYXA6Ci10eXBlOiBtb3VzZW1vdmUsIHg6IDcyLCB5OiAxMzYsIG9m
ZnNldFg6IDY0LCBvZmZzZXRZOiA2NCwgYnV0dG9uOiAwLCBidXR0b25zOiAwLCBzY3JlZW5YOiA3
Miwgc2NyZWVuWTogMTM2LCBjbGllbnRYOiA3MiwgY2xpZW50WTogMTM2LCBhbHRLZXk6IHRydWUs
IGN0cmxLZXk6IGZhbHNlLCBtZXRhS2V5OiB0cnVlLCBzaGlmdEtleTogdHJ1ZQotdHlwZTogbW91
c2Vkb3duLCB4OiA3MiwgeTogMTM2LCBvZmZzZXRYOiA2NCwgb2Zmc2V0WTogNjQsIGJ1dHRvbjog
MCwgYnV0dG9uczogMCwgc2NyZWVuWDogNzIsIHNjcmVlblk6IDEzNiwgY2xpZW50WDogNzIsIGNs
aWVudFk6IDEzNiwgYWx0S2V5OiB0cnVlLCBjdHJsS2V5OiBmYWxzZSwgbWV0YUtleTogdHJ1ZSwg
c2hpZnRLZXk6IHRydWUKLXR5cGU6IG1vdXNldXAsIHg6IDcyLCB5OiAxMzYsIG9mZnNldFg6IDY0
LCBvZmZzZXRZOiA2NCwgYnV0dG9uOiAwLCBidXR0b25zOiAwLCBzY3JlZW5YOiA3Miwgc2NyZWVu
WTogMTM2LCBjbGllbnRYOiA3MiwgY2xpZW50WTogMTM2LCBhbHRLZXk6IHRydWUsIGN0cmxLZXk6
IGZhbHNlLCBtZXRhS2V5OiB0cnVlLCBzaGlmdEtleTogdHJ1ZQotCi1UZXN0IENvbW1hbmQgKyBD
b250cm9sICsgU2hpZnQgKyBTaW5nbGUgVGFwOgotdHlwZTogbW91c2Vtb3ZlLCB4OiA3MiwgeTog
MTM2LCBvZmZzZXRYOiA2NCwgb2Zmc2V0WTogNjQsIGJ1dHRvbjogMCwgYnV0dG9uczogMCwgc2Ny
ZWVuWDogNzIsIHNjcmVlblk6IDEzNiwgY2xpZW50WDogNzIsIGNsaWVudFk6IDEzNiwgYWx0S2V5
OiBmYWxzZSwgY3RybEtleTogdHJ1ZSwgbWV0YUtleTogdHJ1ZSwgc2hpZnRLZXk6IHRydWUKLXR5
cGU6IG1vdXNlZG93biwgeDogNzIsIHk6IDEzNiwgb2Zmc2V0WDogNjQsIG9mZnNldFk6IDY0LCBi
dXR0b246IDAsIGJ1dHRvbnM6IDAsIHNjcmVlblg6IDcyLCBzY3JlZW5ZOiAxMzYsIGNsaWVudFg6
IDcyLCBjbGllbnRZOiAxMzYsIGFsdEtleTogZmFsc2UsIGN0cmxLZXk6IHRydWUsIG1ldGFLZXk6
IHRydWUsIHNoaWZ0S2V5OiB0cnVlCi10eXBlOiBtb3VzZXVwLCB4OiA3MiwgeTogMTM2LCBvZmZz
ZXRYOiA2NCwgb2Zmc2V0WTogNjQsIGJ1dHRvbjogMCwgYnV0dG9uczogMCwgc2NyZWVuWDogNzIs
IHNjcmVlblk6IDEzNiwgY2xpZW50WDogNzIsIGNsaWVudFk6IDEzNiwgYWx0S2V5OiBmYWxzZSwg
Y3RybEtleTogdHJ1ZSwgbWV0YUtleTogdHJ1ZSwgc2hpZnRLZXk6IHRydWUKLQotVGVzdCBPcHRp
b24gKyBDb250cm9sICsgU2hpZnQgKyBTaW5nbGUgVGFwOgotdHlwZTogbW91c2Vtb3ZlLCB4OiA3
MiwgeTogMTM2LCBvZmZzZXRYOiA2NCwgb2Zmc2V0WTogNjQsIGJ1dHRvbjogMCwgYnV0dG9uczog
MCwgc2NyZWVuWDogNzIsIHNjcmVlblk6IDEzNiwgY2xpZW50WDogNzIsIGNsaWVudFk6IDEzNiwg
YWx0S2V5OiB0cnVlLCBjdHJsS2V5OiB0cnVlLCBtZXRhS2V5OiBmYWxzZSwgc2hpZnRLZXk6IHRy
dWUKLXR5cGU6IG1vdXNlZG93biwgeDogNzIsIHk6IDEzNiwgb2Zmc2V0WDogNjQsIG9mZnNldFk6
IDY0LCBidXR0b246IDAsIGJ1dHRvbnM6IDAsIHNjcmVlblg6IDcyLCBzY3JlZW5ZOiAxMzYsIGNs
aWVudFg6IDcyLCBjbGllbnRZOiAxMzYsIGFsdEtleTogdHJ1ZSwgY3RybEtleTogdHJ1ZSwgbWV0
YUtleTogZmFsc2UsIHNoaWZ0S2V5OiB0cnVlCi10eXBlOiBtb3VzZXVwLCB4OiA3MiwgeTogMTM2
LCBvZmZzZXRYOiA2NCwgb2Zmc2V0WTogNjQsIGJ1dHRvbjogMCwgYnV0dG9uczogMCwgc2NyZWVu
WDogNzIsIHNjcmVlblk6IDEzNiwgY2xpZW50WDogNzIsIGNsaWVudFk6IDEzNiwgYWx0S2V5OiB0
cnVlLCBjdHJsS2V5OiB0cnVlLCBtZXRhS2V5OiBmYWxzZSwgc2hpZnRLZXk6IHRydWUKLQotVGVz
dCBDb21tYW5kICsgT3B0aW9uICsgQ29udHJvbCArIFNoaWZ0ICsgU2luZ2xlIFRhcDoKLXR5cGU6
IG1vdXNlbW92ZSwgeDogNzIsIHk6IDEzNiwgb2Zmc2V0WDogNjQsIG9mZnNldFk6IDY0LCBidXR0
b246IDAsIGJ1dHRvbnM6IDAsIHNjcmVlblg6IDcyLCBzY3JlZW5ZOiAxMzYsIGNsaWVudFg6IDcy
LCBjbGllbnRZOiAxMzYsIGFsdEtleTogdHJ1ZSwgY3RybEtleTogdHJ1ZSwgbWV0YUtleTogdHJ1
ZSwgc2hpZnRLZXk6IHRydWUKLXR5cGU6IG1vdXNlZG93biwgeDogNzIsIHk6IDEzNiwgb2Zmc2V0
WDogNjQsIG9mZnNldFk6IDY0LCBidXR0b246IDAsIGJ1dHRvbnM6IDAsIHNjcmVlblg6IDcyLCBz
Y3JlZW5ZOiAxMzYsIGNsaWVudFg6IDcyLCBjbGllbnRZOiAxMzYsIGFsdEtleTogdHJ1ZSwgY3Ry
bEtleTogdHJ1ZSwgbWV0YUtleTogdHJ1ZSwgc2hpZnRLZXk6IHRydWUKLXR5cGU6IG1vdXNldXAs
IHg6IDcyLCB5OiAxMzYsIG9mZnNldFg6IDY0LCBvZmZzZXRZOiA2NCwgYnV0dG9uOiAwLCBidXR0
b25zOiAwLCBzY3JlZW5YOiA3Miwgc2NyZWVuWTogMTM2LCBjbGllbnRYOiA3MiwgY2xpZW50WTog
MTM2LCBhbHRLZXk6IHRydWUsIGN0cmxLZXk6IHRydWUsIG1ldGFLZXk6IHRydWUsIHNoaWZ0S2V5
OiB0cnVlCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy9t
b3VzZS1ldmVudHMtd2l0aC1tb2RpZmllcnMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L3RvdWNoL2lvcy9tb3VzZS1ldmVudHMtd2l0aC1tb2RpZmllcnMuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNDhhZmFjN2Y1MmM2MjBlM2JlNGJhMmE3NTM1MzhmODVkNzk1MGMz
ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9pb3MvbW91c2UtZXZlbnRzLXdpdGgtbW9kaWZpZXJzLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxNDEgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRt
bD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9jb21wdXRlLXN1YnNl
dHMuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAg
IHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OwotfQotCi1jbGFzcyBUb3VjaFRlc3QgewotICAgIGNvbnN0cnVjdG9yKGVsZW1lbnRUb1RvdWNo
LCBtb2RpZmllcnMgPSBbXSkKLSAgICB7Ci0gICAgICAgIHRoaXMuZWxlbWVudFRvVG91Y2ggPSBl
bGVtZW50VG9Ub3VjaDsKLSAgICAgICAgdGhpcy5tb2RpZmllcnMgPSBtb2RpZmllcnM7Ci0gICAg
fQotCi0gICAgdG9TdHJpbmcoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGB7ICR7dGhpcy5lbGVt
ZW50VG9Ub3VjaH0sIFske3RoaXMubW9kaWZpZXJzfV0gfWA7Ci0gICAgfQotCi0gICAgcnVuKCkK
LSAgICB7Ci0gICAgICAgIGxldCBjZW50ZXJYID0gdGhpcy5lbGVtZW50VG9Ub3VjaC5vZmZzZXRM
ZWZ0ICsgdGhpcy5lbGVtZW50VG9Ub3VjaC5vZmZzZXRXaWR0aCAvIDI7Ci0gICAgICAgIGxldCBj
ZW50ZXJZID0gdGhpcy5lbGVtZW50VG9Ub3VjaC5vZmZzZXRUb3AgKyB0aGlzLmVsZW1lbnRUb1Rv
dWNoLm9mZnNldEhlaWdodCAvIDI7Ci0gICAgICAgIHJldHVybiBVSUhlbHBlci50YXBBdChjZW50
ZXJYLCBjZW50ZXJZLCB0aGlzLm1vZGlmaWVycyk7Ci0gICAgfQotfQotCi1jb25zdCBtb2RpZmll
cktleXMgPSBbIm1ldGFLZXkiLCAiYWx0S2V5IiwgImN0cmxLZXkiLCAic2hpZnRLZXkiXTsKLQot
bGV0IGN1cnJlbnRUZXN0OwotbGV0IHRlc3RzID0gW107Ci0KLWZ1bmN0aW9uIGhhbmRsZU1vdXNl
RG93bihldmVudCkKLXsKLSAgICBsb2dNb3VzZUV2ZW50KGV2ZW50KTsKLX0KLQotZnVuY3Rpb24g
aGFuZGxlTW91c2VNb3ZlKGV2ZW50KQotewotICAgIGxvZ01vdXNlRXZlbnQoZXZlbnQpOwotfQot
Ci1mdW5jdGlvbiBoYW5kbGVNb3VzZVVwKGV2ZW50KQotewotICAgIGxvZ01vdXNlRXZlbnQoZXZl
bnQpOwotICAgIG5leHRUb3VjaFByZXNzKCk7Ci19Ci0KLWZ1bmN0aW9uIGxvZyhtZXNzYWdlKQot
ewotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuYXBwZW5kQ2hpbGQoZG9j
dW1lbnQuY3JlYXRlVGV4dE5vZGUobWVzc2FnZSArICJcbiIpKTsKLX0KLQotZnVuY3Rpb24gbG9n
TW91c2VFdmVudChldmVudCkKLXsKLSAgICBsZXQgcGllY2VzID0gW107Ci0gICAgZm9yIChsZXQg
cHJvcGVydHlOYW1lIG9mIFsidHlwZSIsICJ4IiwgInkiLCAib2Zmc2V0WCIsICJvZmZzZXRZIiwg
ImJ1dHRvbiIsICJidXR0b25zIiwgInNjcmVlblgiLCAic2NyZWVuWSIsICJjbGllbnRYIiwgImNs
aWVudFkiLCAiYWx0S2V5IiwgImN0cmxLZXkiLCAibWV0YUtleSIsICJzaGlmdEtleSJdKQotICAg
ICAgICBwaWVjZXMucHVzaChgJHtwcm9wZXJ0eU5hbWV9OiAke2V2ZW50W3Byb3BlcnR5TmFtZV19
YCk7Ci0gICAgbG9nKHBpZWNlcy5qb2luKCIsICIpKTsKLX0KLQotY29uc3QgbW9kaWZpZXJEaXNw
bGF5TmFtZU1hcCA9IHsKLSAgICAiYWx0S2V5IjogIk9wdGlvbiIsCi0gICAgImN0cmxLZXkiOiAi
Q29udHJvbCIsCi0gICAgIm1ldGFLZXkiOiAiQ29tbWFuZCIsCi0gICAgInNoaWZ0S2V5IjogIlNo
aWZ0IiwKLSAgICAiY2Fwc0xvY2tLZXkiOiAiQ2FwcyBMb2NrIiwKLX0KLQotZnVuY3Rpb24gZGlz
cGxheU5hbWVGb3JUZXN0KHRlc3QpCi17Ci0gICAgbGV0IGRpc3BsYXlOYW1lc09mTW9kaWZpZXJz
ID0gW107Ci0gICAgZm9yIChjb25zdCBtb2RpZmllciBvZiB0ZXN0Lm1vZGlmaWVycykKLSAgICAg
ICAgZGlzcGxheU5hbWVzT2ZNb2RpZmllcnMucHVzaChtb2RpZmllckRpc3BsYXlOYW1lTWFwW21v
ZGlmaWVyXSk7Ci0gICAgbGV0IHJlc3VsdCA9ICIiOwotICAgIGlmIChkaXNwbGF5TmFtZXNPZk1v
ZGlmaWVycy5sZW5ndGgpCi0gICAgICAgIHJlc3VsdCArPSBkaXNwbGF5TmFtZXNPZk1vZGlmaWVy
cy5qb2luKCIgKyAiKSArICIgKyAiOwotICAgIHJlc3VsdCArPSAiU2luZ2xlIFRhcCI7Ci0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLQotYXN5bmMgZnVuY3Rpb24gbmV4dFRvdWNoUHJlc3MoKQotewot
ICAgIGlmICghdGVzdHMubGVuZ3RoKSB7Ci0gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hp
bGQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNxdWFyZSIpKTsKLSAgICAgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAg
ICAgIHJldHVybjsKLSAgICB9Ci0gICAgY3VycmVudFRlc3QgPSB0ZXN0cy5zaGlmdCgpOwotICAg
IGxvZyhgXG5UZXN0ICR7ZGlzcGxheU5hbWVGb3JUZXN0KGN1cnJlbnRUZXN0KX06YCk7Ci0gICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICBhd2FpdCBjdXJyZW50VGVzdC5ydW4oKTsK
LX0KLQotZnVuY3Rpb24gcnVuVGVzdCgpCi17Ci0gICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
LSAgICAgICAgcmV0dXJuOwotICAgIG5leHRUb3VjaFByZXNzKCk7Ci19Ci0KLWZ1bmN0aW9uIHNl
dFVwKCkKLXsKLSAgICBsZXQgc3F1YXJlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNxdWFy
ZSIpOwotICAgIHNxdWFyZS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLCBoYW5kbGVNb3Vz
ZURvd24sIHRydWUpOwotICAgIHNxdWFyZS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLCBo
YW5kbGVNb3VzZU1vdmUsIHRydWUpOwotICAgIHNxdWFyZS5hZGRFdmVudExpc3RlbmVyKCJtb3Vz
ZXVwIiwgaGFuZGxlTW91c2VVcCwgdHJ1ZSk7Ci0KLSAgICBmb3IgKGNvbnN0IG1vZGlmaWVycyBv
ZiBjb21wdXRlU3Vic2V0cyhtb2RpZmllcktleXMpKQotICAgICAgICB0ZXN0cy5wdXNoKG5ldyBU
b3VjaFRlc3Qoc3F1YXJlLCBtb2RpZmllcnMpKTsKLQotICAgIHJ1blRlc3QoKTsKLX0KLQotd2lu
ZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBzZXRVcCwgdHJ1ZSk7Ci08L3NjcmlwdD4KLTxz
dHlsZT4KLSNzcXVhcmUgewotICAgIGJhY2tncm91bmQtY29sb3I6IGJsdWU7Ci0gICAgY29sb3I6
IHdoaXRlOwotICAgIGhlaWdodDogMTI4cHg7Ci0gICAgd2lkdGg6IDEyOHB4OwotICAgIGRpc3Bs
YXk6IGZsZXg7Ci0gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKLSAgICBqdXN0aWZ5LWNvbnRlbnQ6
IGNlbnRlcjsKLSAgICB1c2VyLXNlbGVjdDogbm9uZTsKLSAgICAtd2Via2l0LXVzZXItc2VsZWN0
OiBub25lOwotfQotPC9zdHlsZT4KLTwvaGVhZD4KLTxib2R5PgotPHA+VGhpcyBsb2dzIERPTSBt
b3VzZWRvd24sIG1vdXNlbW92ZSwgYW5kIG1vdXNldXAgZXZlbnRzIHRoYXQgYXJlIGRpc3BhdGNo
ZWQgd2hlbiBzaW5nbGUgdGFwcGluZyBhbiBlbGVtZW50IHdoaWxlIGhvbGRpbmcgbW9kaWZpZXIg
a2V5cy4gTXVzdCBiZSBydW4gaW4gV2ViS2l0VGVzdFJ1bm5lci48L3A+Ci08ZGl2IGlkPSJzcXVh
cmUiPlRvdWNoIE1lPC9kaXY+Ci08cHJlIGlkPSJjb25zb2xlIj48L3ByZT4KLTwvYm9keT4KLTwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy9wb2lu
dGVyLWV2ZW50cy13aXRoLW1vZGlmaWVycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L2V2ZW50cy90b3VjaC9pb3MvcG9pbnRlci1ldmVudHMtd2l0aC1tb2RpZmllcnMtZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwOWJlODFmMGM3MzljZDRiZjU3OTAy
NTM1Y2MyMTE2NDcxYWE1OTdjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy9wb2ludGVyLWV2ZW50
cy13aXRoLW1vZGlmaWVycy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw2MyArMCww
IEBACi1UaGlzIGxvZ3MgRE9NIHBvaW50ZXJkb3duIGFuZCBwb2ludGVydXAgZXZlbnRzIHRoYXQg
YXJlIGRpc3BhdGNoZWQgd2hlbiBzaW5nbGUgdGFwcGluZyBhbiBlbGVtZW50IHdoaWxlIGhvbGRp
bmcgbW9kaWZpZXIga2V5cy4gTXVzdCBiZSBydW4gaW4gV2ViS2l0VGVzdFJ1bm5lci4KLQotCi1U
ZXN0IENvbW1hbmQgKyBTaW5nbGUgVGFwOgotdHlwZTogcG9pbnRlcmRvd24sIHBvaW50ZXJUeXBl
OiB0b3VjaCwgaXNQcmltYXJ5OiB0cnVlLCB3aWR0aDogNDAsIGhlaWdodDogNDAsIHByZXNzdXJl
OiAwLCB0YW5nZW50aWFsUHJlc3N1cmU6IDAsIHRpbHRYOiA5MCwgdGlsdFk6IDAsIHR3aXN0OiAw
LCB4OiA3MiwgeTogMTM2LCBvZmZzZXRYOiA2NCwgb2Zmc2V0WTogNjQsIGJ1dHRvbjogMCwgYnV0
dG9uczogMCwgc2NyZWVuWDogNzIsIHNjcmVlblk6IDEzNiwgY2xpZW50WDogNzIsIGNsaWVudFk6
IDEzNiwgYWx0S2V5OiBmYWxzZSwgY3RybEtleTogZmFsc2UsIG1ldGFLZXk6IHRydWUsIHNoaWZ0
S2V5OiBmYWxzZQotdHlwZTogcG9pbnRlcnVwLCBwb2ludGVyVHlwZTogdG91Y2gsIGlzUHJpbWFy
eTogZmFsc2UsIHdpZHRoOiAwLCBoZWlnaHQ6IDAsIHByZXNzdXJlOiAwLCB0YW5nZW50aWFsUHJl
c3N1cmU6IDAsIHRpbHRYOiA5MCwgdGlsdFk6IDAsIHR3aXN0OiAwLCB4OiA3MiwgeTogMTM2LCBv
ZmZzZXRYOiA2NCwgb2Zmc2V0WTogNjQsIGJ1dHRvbjogMCwgYnV0dG9uczogMCwgc2NyZWVuWDog
NzIsIHNjcmVlblk6IDEzNiwgY2xpZW50WDogNzIsIGNsaWVudFk6IDEzNiwgYWx0S2V5OiBmYWxz
ZSwgY3RybEtleTogZmFsc2UsIG1ldGFLZXk6IHRydWUsIHNoaWZ0S2V5OiBmYWxzZQotCi1UZXN0
IE9wdGlvbiArIFNpbmdsZSBUYXA6Ci10eXBlOiBwb2ludGVyZG93biwgcG9pbnRlclR5cGU6IHRv
dWNoLCBpc1ByaW1hcnk6IHRydWUsIHdpZHRoOiA0MCwgaGVpZ2h0OiA0MCwgcHJlc3N1cmU6IDAs
IHRhbmdlbnRpYWxQcmVzc3VyZTogMCwgdGlsdFg6IDkwLCB0aWx0WTogMCwgdHdpc3Q6IDAsIHg6
IDcyLCB5OiAxMzYsIG9mZnNldFg6IDY0LCBvZmZzZXRZOiA2NCwgYnV0dG9uOiAwLCBidXR0b25z
OiAwLCBzY3JlZW5YOiA3Miwgc2NyZWVuWTogMTM2LCBjbGllbnRYOiA3MiwgY2xpZW50WTogMTM2
LCBhbHRLZXk6IHRydWUsIGN0cmxLZXk6IGZhbHNlLCBtZXRhS2V5OiBmYWxzZSwgc2hpZnRLZXk6
IGZhbHNlCi10eXBlOiBwb2ludGVydXAsIHBvaW50ZXJUeXBlOiB0b3VjaCwgaXNQcmltYXJ5OiBm
YWxzZSwgd2lkdGg6IDAsIGhlaWdodDogMCwgcHJlc3N1cmU6IDAsIHRhbmdlbnRpYWxQcmVzc3Vy
ZTogMCwgdGlsdFg6IDkwLCB0aWx0WTogMCwgdHdpc3Q6IDAsIHg6IDcyLCB5OiAxMzYsIG9mZnNl
dFg6IDY0LCBvZmZzZXRZOiA2NCwgYnV0dG9uOiAwLCBidXR0b25zOiAwLCBzY3JlZW5YOiA3Miwg
c2NyZWVuWTogMTM2LCBjbGllbnRYOiA3MiwgY2xpZW50WTogMTM2LCBhbHRLZXk6IHRydWUsIGN0
cmxLZXk6IGZhbHNlLCBtZXRhS2V5OiBmYWxzZSwgc2hpZnRLZXk6IGZhbHNlCi0KLVRlc3QgQ29u
dHJvbCArIFNpbmdsZSBUYXA6Ci10eXBlOiBwb2ludGVyZG93biwgcG9pbnRlclR5cGU6IHRvdWNo
LCBpc1ByaW1hcnk6IHRydWUsIHdpZHRoOiA0MCwgaGVpZ2h0OiA0MCwgcHJlc3N1cmU6IDAsIHRh
bmdlbnRpYWxQcmVzc3VyZTogMCwgdGlsdFg6IDkwLCB0aWx0WTogMCwgdHdpc3Q6IDAsIHg6IDcy
LCB5OiAxMzYsIG9mZnNldFg6IDY0LCBvZmZzZXRZOiA2NCwgYnV0dG9uOiAwLCBidXR0b25zOiAw
LCBzY3JlZW5YOiA3Miwgc2NyZWVuWTogMTM2LCBjbGllbnRYOiA3MiwgY2xpZW50WTogMTM2LCBh
bHRLZXk6IGZhbHNlLCBjdHJsS2V5OiB0cnVlLCBtZXRhS2V5OiBmYWxzZSwgc2hpZnRLZXk6IGZh
bHNlCi10eXBlOiBwb2ludGVydXAsIHBvaW50ZXJUeXBlOiB0b3VjaCwgaXNQcmltYXJ5OiBmYWxz
ZSwgd2lkdGg6IDAsIGhlaWdodDogMCwgcHJlc3N1cmU6IDAsIHRhbmdlbnRpYWxQcmVzc3VyZTog
MCwgdGlsdFg6IDkwLCB0aWx0WTogMCwgdHdpc3Q6IDAsIHg6IDcyLCB5OiAxMzYsIG9mZnNldFg6
IDY0LCBvZmZzZXRZOiA2NCwgYnV0dG9uOiAwLCBidXR0b25zOiAwLCBzY3JlZW5YOiA3Miwgc2Ny
ZWVuWTogMTM2LCBjbGllbnRYOiA3MiwgY2xpZW50WTogMTM2LCBhbHRLZXk6IGZhbHNlLCBjdHJs
S2V5OiB0cnVlLCBtZXRhS2V5OiBmYWxzZSwgc2hpZnRLZXk6IGZhbHNlCi0KLVRlc3QgU2hpZnQg
KyBTaW5nbGUgVGFwOgotdHlwZTogcG9pbnRlcmRvd24sIHBvaW50ZXJUeXBlOiB0b3VjaCwgaXNQ
cmltYXJ5OiB0cnVlLCB3aWR0aDogNDAsIGhlaWdodDogNDAsIHByZXNzdXJlOiAwLCB0YW5nZW50
aWFsUHJlc3N1cmU6IDAsIHRpbHRYOiA5MCwgdGlsdFk6IDAsIHR3aXN0OiAwLCB4OiA3MiwgeTog
MTM2LCBvZmZzZXRYOiA2NCwgb2Zmc2V0WTogNjQsIGJ1dHRvbjogMCwgYnV0dG9uczogMCwgc2Ny
ZWVuWDogNzIsIHNjcmVlblk6IDEzNiwgY2xpZW50WDogNzIsIGNsaWVudFk6IDEzNiwgYWx0S2V5
OiBmYWxzZSwgY3RybEtleTogZmFsc2UsIG1ldGFLZXk6IGZhbHNlLCBzaGlmdEtleTogdHJ1ZQot
dHlwZTogcG9pbnRlcnVwLCBwb2ludGVyVHlwZTogdG91Y2gsIGlzUHJpbWFyeTogZmFsc2UsIHdp
ZHRoOiAwLCBoZWlnaHQ6IDAsIHByZXNzdXJlOiAwLCB0YW5nZW50aWFsUHJlc3N1cmU6IDAsIHRp
bHRYOiA5MCwgdGlsdFk6IDAsIHR3aXN0OiAwLCB4OiA3MiwgeTogMTM2LCBvZmZzZXRYOiA2NCwg
b2Zmc2V0WTogNjQsIGJ1dHRvbjogMCwgYnV0dG9uczogMCwgc2NyZWVuWDogNzIsIHNjcmVlblk6
IDEzNiwgY2xpZW50WDogNzIsIGNsaWVudFk6IDEzNiwgYWx0S2V5OiBmYWxzZSwgY3RybEtleTog
ZmFsc2UsIG1ldGFLZXk6IGZhbHNlLCBzaGlmdEtleTogdHJ1ZQotCi1UZXN0IENvbW1hbmQgKyBP
cHRpb24gKyBTaW5nbGUgVGFwOgotdHlwZTogcG9pbnRlcmRvd24sIHBvaW50ZXJUeXBlOiB0b3Vj
aCwgaXNQcmltYXJ5OiB0cnVlLCB3aWR0aDogNDAsIGhlaWdodDogNDAsIHByZXNzdXJlOiAwLCB0
YW5nZW50aWFsUHJlc3N1cmU6IDAsIHRpbHRYOiA5MCwgdGlsdFk6IDAsIHR3aXN0OiAwLCB4OiA3
MiwgeTogMTM2LCBvZmZzZXRYOiA2NCwgb2Zmc2V0WTogNjQsIGJ1dHRvbjogMCwgYnV0dG9uczog
MCwgc2NyZWVuWDogNzIsIHNjcmVlblk6IDEzNiwgY2xpZW50WDogNzIsIGNsaWVudFk6IDEzNiwg
YWx0S2V5OiB0cnVlLCBjdHJsS2V5OiBmYWxzZSwgbWV0YUtleTogdHJ1ZSwgc2hpZnRLZXk6IGZh
bHNlCi10eXBlOiBwb2ludGVydXAsIHBvaW50ZXJUeXBlOiB0b3VjaCwgaXNQcmltYXJ5OiBmYWxz
ZSwgd2lkdGg6IDAsIGhlaWdodDogMCwgcHJlc3N1cmU6IDAsIHRhbmdlbnRpYWxQcmVzc3VyZTog
MCwgdGlsdFg6IDkwLCB0aWx0WTogMCwgdHdpc3Q6IDAsIHg6IDcyLCB5OiAxMzYsIG9mZnNldFg6
IDY0LCBvZmZzZXRZOiA2NCwgYnV0dG9uOiAwLCBidXR0b25zOiAwLCBzY3JlZW5YOiA3Miwgc2Ny
ZWVuWTogMTM2LCBjbGllbnRYOiA3MiwgY2xpZW50WTogMTM2LCBhbHRLZXk6IHRydWUsIGN0cmxL
ZXk6IGZhbHNlLCBtZXRhS2V5OiB0cnVlLCBzaGlmdEtleTogZmFsc2UKLQotVGVzdCBDb21tYW5k
ICsgQ29udHJvbCArIFNpbmdsZSBUYXA6Ci10eXBlOiBwb2ludGVyZG93biwgcG9pbnRlclR5cGU6
IHRvdWNoLCBpc1ByaW1hcnk6IHRydWUsIHdpZHRoOiA0MCwgaGVpZ2h0OiA0MCwgcHJlc3N1cmU6
IDAsIHRhbmdlbnRpYWxQcmVzc3VyZTogMCwgdGlsdFg6IDkwLCB0aWx0WTogMCwgdHdpc3Q6IDAs
IHg6IDcyLCB5OiAxMzYsIG9mZnNldFg6IDY0LCBvZmZzZXRZOiA2NCwgYnV0dG9uOiAwLCBidXR0
b25zOiAwLCBzY3JlZW5YOiA3Miwgc2NyZWVuWTogMTM2LCBjbGllbnRYOiA3MiwgY2xpZW50WTog
MTM2LCBhbHRLZXk6IGZhbHNlLCBjdHJsS2V5OiB0cnVlLCBtZXRhS2V5OiB0cnVlLCBzaGlmdEtl
eTogZmFsc2UKLXR5cGU6IHBvaW50ZXJ1cCwgcG9pbnRlclR5cGU6IHRvdWNoLCBpc1ByaW1hcnk6
IGZhbHNlLCB3aWR0aDogMCwgaGVpZ2h0OiAwLCBwcmVzc3VyZTogMCwgdGFuZ2VudGlhbFByZXNz
dXJlOiAwLCB0aWx0WDogOTAsIHRpbHRZOiAwLCB0d2lzdDogMCwgeDogNzIsIHk6IDEzNiwgb2Zm
c2V0WDogNjQsIG9mZnNldFk6IDY0LCBidXR0b246IDAsIGJ1dHRvbnM6IDAsIHNjcmVlblg6IDcy
LCBzY3JlZW5ZOiAxMzYsIGNsaWVudFg6IDcyLCBjbGllbnRZOiAxMzYsIGFsdEtleTogZmFsc2Us
IGN0cmxLZXk6IHRydWUsIG1ldGFLZXk6IHRydWUsIHNoaWZ0S2V5OiBmYWxzZQotCi1UZXN0IENv
bW1hbmQgKyBTaGlmdCArIFNpbmdsZSBUYXA6Ci10eXBlOiBwb2ludGVyZG93biwgcG9pbnRlclR5
cGU6IHRvdWNoLCBpc1ByaW1hcnk6IHRydWUsIHdpZHRoOiA0MCwgaGVpZ2h0OiA0MCwgcHJlc3N1
cmU6IDAsIHRhbmdlbnRpYWxQcmVzc3VyZTogMCwgdGlsdFg6IDkwLCB0aWx0WTogMCwgdHdpc3Q6
IDAsIHg6IDcyLCB5OiAxMzYsIG9mZnNldFg6IDY0LCBvZmZzZXRZOiA2NCwgYnV0dG9uOiAwLCBi
dXR0b25zOiAwLCBzY3JlZW5YOiA3Miwgc2NyZWVuWTogMTM2LCBjbGllbnRYOiA3MiwgY2xpZW50
WTogMTM2LCBhbHRLZXk6IGZhbHNlLCBjdHJsS2V5OiBmYWxzZSwgbWV0YUtleTogdHJ1ZSwgc2hp
ZnRLZXk6IHRydWUKLXR5cGU6IHBvaW50ZXJ1cCwgcG9pbnRlclR5cGU6IHRvdWNoLCBpc1ByaW1h
cnk6IGZhbHNlLCB3aWR0aDogMCwgaGVpZ2h0OiAwLCBwcmVzc3VyZTogMCwgdGFuZ2VudGlhbFBy
ZXNzdXJlOiAwLCB0aWx0WDogOTAsIHRpbHRZOiAwLCB0d2lzdDogMCwgeDogNzIsIHk6IDEzNiwg
b2Zmc2V0WDogNjQsIG9mZnNldFk6IDY0LCBidXR0b246IDAsIGJ1dHRvbnM6IDAsIHNjcmVlblg6
IDcyLCBzY3JlZW5ZOiAxMzYsIGNsaWVudFg6IDcyLCBjbGllbnRZOiAxMzYsIGFsdEtleTogZmFs
c2UsIGN0cmxLZXk6IGZhbHNlLCBtZXRhS2V5OiB0cnVlLCBzaGlmdEtleTogdHJ1ZQotCi1UZXN0
IE9wdGlvbiArIENvbnRyb2wgKyBTaW5nbGUgVGFwOgotdHlwZTogcG9pbnRlcmRvd24sIHBvaW50
ZXJUeXBlOiB0b3VjaCwgaXNQcmltYXJ5OiB0cnVlLCB3aWR0aDogNDAsIGhlaWdodDogNDAsIHBy
ZXNzdXJlOiAwLCB0YW5nZW50aWFsUHJlc3N1cmU6IDAsIHRpbHRYOiA5MCwgdGlsdFk6IDAsIHR3
aXN0OiAwLCB4OiA3MiwgeTogMTM2LCBvZmZzZXRYOiA2NCwgb2Zmc2V0WTogNjQsIGJ1dHRvbjog
MCwgYnV0dG9uczogMCwgc2NyZWVuWDogNzIsIHNjcmVlblk6IDEzNiwgY2xpZW50WDogNzIsIGNs
aWVudFk6IDEzNiwgYWx0S2V5OiB0cnVlLCBjdHJsS2V5OiB0cnVlLCBtZXRhS2V5OiBmYWxzZSwg
c2hpZnRLZXk6IGZhbHNlCi10eXBlOiBwb2ludGVydXAsIHBvaW50ZXJUeXBlOiB0b3VjaCwgaXNQ
cmltYXJ5OiBmYWxzZSwgd2lkdGg6IDAsIGhlaWdodDogMCwgcHJlc3N1cmU6IDAsIHRhbmdlbnRp
YWxQcmVzc3VyZTogMCwgdGlsdFg6IDkwLCB0aWx0WTogMCwgdHdpc3Q6IDAsIHg6IDcyLCB5OiAx
MzYsIG9mZnNldFg6IDY0LCBvZmZzZXRZOiA2NCwgYnV0dG9uOiAwLCBidXR0b25zOiAwLCBzY3Jl
ZW5YOiA3Miwgc2NyZWVuWTogMTM2LCBjbGllbnRYOiA3MiwgY2xpZW50WTogMTM2LCBhbHRLZXk6
IHRydWUsIGN0cmxLZXk6IHRydWUsIG1ldGFLZXk6IGZhbHNlLCBzaGlmdEtleTogZmFsc2UKLQot
VGVzdCBPcHRpb24gKyBTaGlmdCArIFNpbmdsZSBUYXA6Ci10eXBlOiBwb2ludGVyZG93biwgcG9p
bnRlclR5cGU6IHRvdWNoLCBpc1ByaW1hcnk6IHRydWUsIHdpZHRoOiA0MCwgaGVpZ2h0OiA0MCwg
cHJlc3N1cmU6IDAsIHRhbmdlbnRpYWxQcmVzc3VyZTogMCwgdGlsdFg6IDkwLCB0aWx0WTogMCwg
dHdpc3Q6IDAsIHg6IDcyLCB5OiAxMzYsIG9mZnNldFg6IDY0LCBvZmZzZXRZOiA2NCwgYnV0dG9u
OiAwLCBidXR0b25zOiAwLCBzY3JlZW5YOiA3Miwgc2NyZWVuWTogMTM2LCBjbGllbnRYOiA3Miwg
Y2xpZW50WTogMTM2LCBhbHRLZXk6IHRydWUsIGN0cmxLZXk6IGZhbHNlLCBtZXRhS2V5OiBmYWxz
ZSwgc2hpZnRLZXk6IHRydWUKLXR5cGU6IHBvaW50ZXJ1cCwgcG9pbnRlclR5cGU6IHRvdWNoLCBp
c1ByaW1hcnk6IGZhbHNlLCB3aWR0aDogMCwgaGVpZ2h0OiAwLCBwcmVzc3VyZTogMCwgdGFuZ2Vu
dGlhbFByZXNzdXJlOiAwLCB0aWx0WDogOTAsIHRpbHRZOiAwLCB0d2lzdDogMCwgeDogNzIsIHk6
IDEzNiwgb2Zmc2V0WDogNjQsIG9mZnNldFk6IDY0LCBidXR0b246IDAsIGJ1dHRvbnM6IDAsIHNj
cmVlblg6IDcyLCBzY3JlZW5ZOiAxMzYsIGNsaWVudFg6IDcyLCBjbGllbnRZOiAxMzYsIGFsdEtl
eTogdHJ1ZSwgY3RybEtleTogZmFsc2UsIG1ldGFLZXk6IGZhbHNlLCBzaGlmdEtleTogdHJ1ZQot
Ci1UZXN0IENvbnRyb2wgKyBTaGlmdCArIFNpbmdsZSBUYXA6Ci10eXBlOiBwb2ludGVyZG93biwg
cG9pbnRlclR5cGU6IHRvdWNoLCBpc1ByaW1hcnk6IHRydWUsIHdpZHRoOiA0MCwgaGVpZ2h0OiA0
MCwgcHJlc3N1cmU6IDAsIHRhbmdlbnRpYWxQcmVzc3VyZTogMCwgdGlsdFg6IDkwLCB0aWx0WTog
MCwgdHdpc3Q6IDAsIHg6IDcyLCB5OiAxMzYsIG9mZnNldFg6IDY0LCBvZmZzZXRZOiA2NCwgYnV0
dG9uOiAwLCBidXR0b25zOiAwLCBzY3JlZW5YOiA3Miwgc2NyZWVuWTogMTM2LCBjbGllbnRYOiA3
MiwgY2xpZW50WTogMTM2LCBhbHRLZXk6IGZhbHNlLCBjdHJsS2V5OiB0cnVlLCBtZXRhS2V5OiBm
YWxzZSwgc2hpZnRLZXk6IHRydWUKLXR5cGU6IHBvaW50ZXJ1cCwgcG9pbnRlclR5cGU6IHRvdWNo
LCBpc1ByaW1hcnk6IGZhbHNlLCB3aWR0aDogMCwgaGVpZ2h0OiAwLCBwcmVzc3VyZTogMCwgdGFu
Z2VudGlhbFByZXNzdXJlOiAwLCB0aWx0WDogOTAsIHRpbHRZOiAwLCB0d2lzdDogMCwgeDogNzIs
IHk6IDEzNiwgb2Zmc2V0WDogNjQsIG9mZnNldFk6IDY0LCBidXR0b246IDAsIGJ1dHRvbnM6IDAs
IHNjcmVlblg6IDcyLCBzY3JlZW5ZOiAxMzYsIGNsaWVudFg6IDcyLCBjbGllbnRZOiAxMzYsIGFs
dEtleTogZmFsc2UsIGN0cmxLZXk6IHRydWUsIG1ldGFLZXk6IGZhbHNlLCBzaGlmdEtleTogdHJ1
ZQotCi1UZXN0IENvbW1hbmQgKyBPcHRpb24gKyBDb250cm9sICsgU2luZ2xlIFRhcDoKLXR5cGU6
IHBvaW50ZXJkb3duLCBwb2ludGVyVHlwZTogdG91Y2gsIGlzUHJpbWFyeTogdHJ1ZSwgd2lkdGg6
IDQwLCBoZWlnaHQ6IDQwLCBwcmVzc3VyZTogMCwgdGFuZ2VudGlhbFByZXNzdXJlOiAwLCB0aWx0
WDogOTAsIHRpbHRZOiAwLCB0d2lzdDogMCwgeDogNzIsIHk6IDEzNiwgb2Zmc2V0WDogNjQsIG9m
ZnNldFk6IDY0LCBidXR0b246IDAsIGJ1dHRvbnM6IDAsIHNjcmVlblg6IDcyLCBzY3JlZW5ZOiAx
MzYsIGNsaWVudFg6IDcyLCBjbGllbnRZOiAxMzYsIGFsdEtleTogdHJ1ZSwgY3RybEtleTogdHJ1
ZSwgbWV0YUtleTogdHJ1ZSwgc2hpZnRLZXk6IGZhbHNlCi10eXBlOiBwb2ludGVydXAsIHBvaW50
ZXJUeXBlOiB0b3VjaCwgaXNQcmltYXJ5OiBmYWxzZSwgd2lkdGg6IDAsIGhlaWdodDogMCwgcHJl
c3N1cmU6IDAsIHRhbmdlbnRpYWxQcmVzc3VyZTogMCwgdGlsdFg6IDkwLCB0aWx0WTogMCwgdHdp
c3Q6IDAsIHg6IDcyLCB5OiAxMzYsIG9mZnNldFg6IDY0LCBvZmZzZXRZOiA2NCwgYnV0dG9uOiAw
LCBidXR0b25zOiAwLCBzY3JlZW5YOiA3Miwgc2NyZWVuWTogMTM2LCBjbGllbnRYOiA3MiwgY2xp
ZW50WTogMTM2LCBhbHRLZXk6IHRydWUsIGN0cmxLZXk6IHRydWUsIG1ldGFLZXk6IHRydWUsIHNo
aWZ0S2V5OiBmYWxzZQotCi1UZXN0IENvbW1hbmQgKyBPcHRpb24gKyBTaGlmdCArIFNpbmdsZSBU
YXA6Ci10eXBlOiBwb2ludGVyZG93biwgcG9pbnRlclR5cGU6IHRvdWNoLCBpc1ByaW1hcnk6IHRy
dWUsIHdpZHRoOiA0MCwgaGVpZ2h0OiA0MCwgcHJlc3N1cmU6IDAsIHRhbmdlbnRpYWxQcmVzc3Vy
ZTogMCwgdGlsdFg6IDkwLCB0aWx0WTogMCwgdHdpc3Q6IDAsIHg6IDcyLCB5OiAxMzYsIG9mZnNl
dFg6IDY0LCBvZmZzZXRZOiA2NCwgYnV0dG9uOiAwLCBidXR0b25zOiAwLCBzY3JlZW5YOiA3Miwg
c2NyZWVuWTogMTM2LCBjbGllbnRYOiA3MiwgY2xpZW50WTogMTM2LCBhbHRLZXk6IHRydWUsIGN0
cmxLZXk6IGZhbHNlLCBtZXRhS2V5OiB0cnVlLCBzaGlmdEtleTogdHJ1ZQotdHlwZTogcG9pbnRl
cnVwLCBwb2ludGVyVHlwZTogdG91Y2gsIGlzUHJpbWFyeTogZmFsc2UsIHdpZHRoOiAwLCBoZWln
aHQ6IDAsIHByZXNzdXJlOiAwLCB0YW5nZW50aWFsUHJlc3N1cmU6IDAsIHRpbHRYOiA5MCwgdGls
dFk6IDAsIHR3aXN0OiAwLCB4OiA3MiwgeTogMTM2LCBvZmZzZXRYOiA2NCwgb2Zmc2V0WTogNjQs
IGJ1dHRvbjogMCwgYnV0dG9uczogMCwgc2NyZWVuWDogNzIsIHNjcmVlblk6IDEzNiwgY2xpZW50
WDogNzIsIGNsaWVudFk6IDEzNiwgYWx0S2V5OiB0cnVlLCBjdHJsS2V5OiBmYWxzZSwgbWV0YUtl
eTogdHJ1ZSwgc2hpZnRLZXk6IHRydWUKLQotVGVzdCBDb21tYW5kICsgQ29udHJvbCArIFNoaWZ0
ICsgU2luZ2xlIFRhcDoKLXR5cGU6IHBvaW50ZXJkb3duLCBwb2ludGVyVHlwZTogdG91Y2gsIGlz
UHJpbWFyeTogdHJ1ZSwgd2lkdGg6IDQwLCBoZWlnaHQ6IDQwLCBwcmVzc3VyZTogMCwgdGFuZ2Vu
dGlhbFByZXNzdXJlOiAwLCB0aWx0WDogOTAsIHRpbHRZOiAwLCB0d2lzdDogMCwgeDogNzIsIHk6
IDEzNiwgb2Zmc2V0WDogNjQsIG9mZnNldFk6IDY0LCBidXR0b246IDAsIGJ1dHRvbnM6IDAsIHNj
cmVlblg6IDcyLCBzY3JlZW5ZOiAxMzYsIGNsaWVudFg6IDcyLCBjbGllbnRZOiAxMzYsIGFsdEtl
eTogZmFsc2UsIGN0cmxLZXk6IHRydWUsIG1ldGFLZXk6IHRydWUsIHNoaWZ0S2V5OiB0cnVlCi10
eXBlOiBwb2ludGVydXAsIHBvaW50ZXJUeXBlOiB0b3VjaCwgaXNQcmltYXJ5OiBmYWxzZSwgd2lk
dGg6IDAsIGhlaWdodDogMCwgcHJlc3N1cmU6IDAsIHRhbmdlbnRpYWxQcmVzc3VyZTogMCwgdGls
dFg6IDkwLCB0aWx0WTogMCwgdHdpc3Q6IDAsIHg6IDcyLCB5OiAxMzYsIG9mZnNldFg6IDY0LCBv
ZmZzZXRZOiA2NCwgYnV0dG9uOiAwLCBidXR0b25zOiAwLCBzY3JlZW5YOiA3Miwgc2NyZWVuWTog
MTM2LCBjbGllbnRYOiA3MiwgY2xpZW50WTogMTM2LCBhbHRLZXk6IGZhbHNlLCBjdHJsS2V5OiB0
cnVlLCBtZXRhS2V5OiB0cnVlLCBzaGlmdEtleTogdHJ1ZQotCi1UZXN0IE9wdGlvbiArIENvbnRy
b2wgKyBTaGlmdCArIFNpbmdsZSBUYXA6Ci10eXBlOiBwb2ludGVyZG93biwgcG9pbnRlclR5cGU6
IHRvdWNoLCBpc1ByaW1hcnk6IHRydWUsIHdpZHRoOiA0MCwgaGVpZ2h0OiA0MCwgcHJlc3N1cmU6
IDAsIHRhbmdlbnRpYWxQcmVzc3VyZTogMCwgdGlsdFg6IDkwLCB0aWx0WTogMCwgdHdpc3Q6IDAs
IHg6IDcyLCB5OiAxMzYsIG9mZnNldFg6IDY0LCBvZmZzZXRZOiA2NCwgYnV0dG9uOiAwLCBidXR0
b25zOiAwLCBzY3JlZW5YOiA3Miwgc2NyZWVuWTogMTM2LCBjbGllbnRYOiA3MiwgY2xpZW50WTog
MTM2LCBhbHRLZXk6IHRydWUsIGN0cmxLZXk6IHRydWUsIG1ldGFLZXk6IGZhbHNlLCBzaGlmdEtl
eTogdHJ1ZQotdHlwZTogcG9pbnRlcnVwLCBwb2ludGVyVHlwZTogdG91Y2gsIGlzUHJpbWFyeTog
ZmFsc2UsIHdpZHRoOiAwLCBoZWlnaHQ6IDAsIHByZXNzdXJlOiAwLCB0YW5nZW50aWFsUHJlc3N1
cmU6IDAsIHRpbHRYOiA5MCwgdGlsdFk6IDAsIHR3aXN0OiAwLCB4OiA3MiwgeTogMTM2LCBvZmZz
ZXRYOiA2NCwgb2Zmc2V0WTogNjQsIGJ1dHRvbjogMCwgYnV0dG9uczogMCwgc2NyZWVuWDogNzIs
IHNjcmVlblk6IDEzNiwgY2xpZW50WDogNzIsIGNsaWVudFk6IDEzNiwgYWx0S2V5OiB0cnVlLCBj
dHJsS2V5OiB0cnVlLCBtZXRhS2V5OiBmYWxzZSwgc2hpZnRLZXk6IHRydWUKLQotVGVzdCBDb21t
YW5kICsgT3B0aW9uICsgQ29udHJvbCArIFNoaWZ0ICsgU2luZ2xlIFRhcDoKLXR5cGU6IHBvaW50
ZXJkb3duLCBwb2ludGVyVHlwZTogdG91Y2gsIGlzUHJpbWFyeTogdHJ1ZSwgd2lkdGg6IDQwLCBo
ZWlnaHQ6IDQwLCBwcmVzc3VyZTogMCwgdGFuZ2VudGlhbFByZXNzdXJlOiAwLCB0aWx0WDogOTAs
IHRpbHRZOiAwLCB0d2lzdDogMCwgeDogNzIsIHk6IDEzNiwgb2Zmc2V0WDogNjQsIG9mZnNldFk6
IDY0LCBidXR0b246IDAsIGJ1dHRvbnM6IDAsIHNjcmVlblg6IDcyLCBzY3JlZW5ZOiAxMzYsIGNs
aWVudFg6IDcyLCBjbGllbnRZOiAxMzYsIGFsdEtleTogdHJ1ZSwgY3RybEtleTogdHJ1ZSwgbWV0
YUtleTogdHJ1ZSwgc2hpZnRLZXk6IHRydWUKLXR5cGU6IHBvaW50ZXJ1cCwgcG9pbnRlclR5cGU6
IHRvdWNoLCBpc1ByaW1hcnk6IGZhbHNlLCB3aWR0aDogMCwgaGVpZ2h0OiAwLCBwcmVzc3VyZTog
MCwgdGFuZ2VudGlhbFByZXNzdXJlOiAwLCB0aWx0WDogOTAsIHRpbHRZOiAwLCB0d2lzdDogMCwg
eDogNzIsIHk6IDEzNiwgb2Zmc2V0WDogNjQsIG9mZnNldFk6IDY0LCBidXR0b246IDAsIGJ1dHRv
bnM6IDAsIHNjcmVlblg6IDcyLCBzY3JlZW5ZOiAxMzYsIGNsaWVudFg6IDcyLCBjbGllbnRZOiAx
MzYsIGFsdEtleTogdHJ1ZSwgY3RybEtleTogdHJ1ZSwgbWV0YUtleTogdHJ1ZSwgc2hpZnRLZXk6
IHRydWUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvaW9zL3Bv
aW50ZXItZXZlbnRzLXdpdGgtbW9kaWZpZXJzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy90b3VjaC9pb3MvcG9pbnRlci1ldmVudHMtd2l0aC1tb2RpZmllcnMuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggZDQ3NTMwM2JlYTkyZDNjYWUzYjkyM2UxNDE4ZWY5ZjAzYWQ3
NDgzNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9pb3MvcG9pbnRlci1ldmVudHMtd2l0aC1tb2RpZmll
cnMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEzNSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4K
LTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2NvbXB1dGUt
c3Vic2V0cy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7
Ci0gICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxE
b25lKCk7Ci19Ci0KLWNsYXNzIFRvdWNoVGVzdCB7Ci0gICAgY29uc3RydWN0b3IoZWxlbWVudFRv
VG91Y2gsIG1vZGlmaWVycyA9IFtdKQotICAgIHsKLSAgICAgICAgdGhpcy5lbGVtZW50VG9Ub3Vj
aCA9IGVsZW1lbnRUb1RvdWNoOwotICAgICAgICB0aGlzLm1vZGlmaWVycyA9IG1vZGlmaWVyczsK
LSAgICB9Ci0KLSAgICB0b1N0cmluZygpCi0gICAgewotICAgICAgICByZXR1cm4gYHsgJHt0aGlz
LmVsZW1lbnRUb1RvdWNofSwgWyR7dGhpcy5tb2RpZmllcnN9XSB9YDsKLSAgICB9Ci0KLSAgICBy
dW4oKQotICAgIHsKLSAgICAgICAgbGV0IGNlbnRlclggPSB0aGlzLmVsZW1lbnRUb1RvdWNoLm9m
ZnNldExlZnQgKyB0aGlzLmVsZW1lbnRUb1RvdWNoLm9mZnNldFdpZHRoIC8gMjsKLSAgICAgICAg
bGV0IGNlbnRlclkgPSB0aGlzLmVsZW1lbnRUb1RvdWNoLm9mZnNldFRvcCArIHRoaXMuZWxlbWVu
dFRvVG91Y2gub2Zmc2V0SGVpZ2h0IC8gMjsKLSAgICAgICAgcmV0dXJuIFVJSGVscGVyLnRhcEF0
KGNlbnRlclgsIGNlbnRlclksIHRoaXMubW9kaWZpZXJzKTsKLSAgICB9Ci19Ci0KLWNvbnN0IG1v
ZGlmaWVyS2V5cyA9IFsibWV0YUtleSIsICJhbHRLZXkiLCAiY3RybEtleSIsICJzaGlmdEtleSJd
OwotCi1sZXQgY3VycmVudFRlc3Q7Ci1sZXQgdGVzdHMgPSBbXTsKLQotZnVuY3Rpb24gaGFuZGxl
UG9pbnRlckRvd24oZXZlbnQpCi17Ci0gICAgbG9nUG9pbnRlckV2ZW50KGV2ZW50KTsKLX0KLQot
ZnVuY3Rpb24gaGFuZGxlUG9pbnRlclVwKGV2ZW50KQotewotICAgIGxvZ1BvaW50ZXJFdmVudChl
dmVudCk7Ci0gICAgbmV4dFRvdWNoUHJlc3MoKTsKLX0KLQotZnVuY3Rpb24gbG9nKG1lc3NhZ2Up
Ci17Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5hcHBlbmRDaGlsZChk
b2N1bWVudC5jcmVhdGVUZXh0Tm9kZShtZXNzYWdlICsgIlxuIikpOwotfQotCi1mdW5jdGlvbiBs
b2dQb2ludGVyRXZlbnQoZXZlbnQpCi17Ci0gICAgbGV0IHBpZWNlcyA9IFtdOwotICAgIGZvciAo
bGV0IHByb3BlcnR5TmFtZSBvZiBbInR5cGUiLCAicG9pbnRlclR5cGUiLCAiaXNQcmltYXJ5Iiwg
IndpZHRoIiwgImhlaWdodCIsICJwcmVzc3VyZSIsICJ0YW5nZW50aWFsUHJlc3N1cmUiLCAidGls
dFgiLCAidGlsdFkiLCAidHdpc3QiLCAieCIsICJ5IiwgIm9mZnNldFgiLCAib2Zmc2V0WSIsICJi
dXR0b24iLCAiYnV0dG9ucyIsICJzY3JlZW5YIiwgInNjcmVlblkiLCAiY2xpZW50WCIsICJjbGll
bnRZIiwgImFsdEtleSIsICJjdHJsS2V5IiwgIm1ldGFLZXkiLCAic2hpZnRLZXkiXSkKLSAgICAg
ICAgcGllY2VzLnB1c2goYCR7cHJvcGVydHlOYW1lfTogJHtldmVudFtwcm9wZXJ0eU5hbWVdfWAp
OwotICAgIGxvZyhwaWVjZXMuam9pbigiLCAiKSk7Ci19Ci0KLWNvbnN0IG1vZGlmaWVyRGlzcGxh
eU5hbWVNYXAgPSB7Ci0gICAgImFsdEtleSI6ICJPcHRpb24iLAotICAgICJjdHJsS2V5IjogIkNv
bnRyb2wiLAotICAgICJtZXRhS2V5IjogIkNvbW1hbmQiLAotICAgICJzaGlmdEtleSI6ICJTaGlm
dCIsCi0gICAgImNhcHNMb2NrS2V5IjogIkNhcHMgTG9jayIsCi19Ci0KLWZ1bmN0aW9uIGRpc3Bs
YXlOYW1lRm9yVGVzdCh0ZXN0KQotewotICAgIGxldCBkaXNwbGF5TmFtZXNPZk1vZGlmaWVycyA9
IFtdOwotICAgIGZvciAoY29uc3QgbW9kaWZpZXIgb2YgdGVzdC5tb2RpZmllcnMpCi0gICAgICAg
IGRpc3BsYXlOYW1lc09mTW9kaWZpZXJzLnB1c2gobW9kaWZpZXJEaXNwbGF5TmFtZU1hcFttb2Rp
Zmllcl0pOwotICAgIGxldCByZXN1bHQgPSAiIjsKLSAgICBpZiAoZGlzcGxheU5hbWVzT2ZNb2Rp
ZmllcnMubGVuZ3RoKQotICAgICAgICByZXN1bHQgKz0gZGlzcGxheU5hbWVzT2ZNb2RpZmllcnMu
am9pbigiICsgIikgKyAiICsgIjsKLSAgICByZXN1bHQgKz0gIlNpbmdsZSBUYXAiOwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci0KLWFzeW5jIGZ1bmN0aW9uIG5leHRUb3VjaFByZXNzKCkKLXsKLSAg
ICBpZiAoIXRlc3RzLmxlbmd0aCkgewotICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxk
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzcXVhcmUiKSk7Ci0gICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgICAg
ICByZXR1cm47Ci0gICAgfQotICAgIGN1cnJlbnRUZXN0ID0gdGVzdHMuc2hpZnQoKTsKLSAgICBs
b2coYFxuVGVzdCAke2Rpc3BsYXlOYW1lRm9yVGVzdChjdXJyZW50VGVzdCl9OmApOwotICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgYXdhaXQgY3VycmVudFRlc3QucnVuKCk7Ci19
Ci0KLWZ1bmN0aW9uIHJ1blRlc3QoKQotewotICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCi0g
ICAgICAgIHJldHVybjsKLSAgICBuZXh0VG91Y2hQcmVzcygpOwotfQotCi1mdW5jdGlvbiBzZXRV
cCgpCi17Ci0gICAgbGV0IHNxdWFyZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzcXVhcmUi
KTsKLSAgICBzcXVhcmUuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcmRvd24iLCBoYW5kbGVQb2lu
dGVyRG93biwgdHJ1ZSk7Ci0gICAgc3F1YXJlLmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJ1cCIs
IGhhbmRsZVBvaW50ZXJVcCwgdHJ1ZSk7Ci0KLSAgICBmb3IgKGNvbnN0IG1vZGlmaWVycyBvZiBj
b21wdXRlU3Vic2V0cyhtb2RpZmllcktleXMpKQotICAgICAgICB0ZXN0cy5wdXNoKG5ldyBUb3Vj
aFRlc3Qoc3F1YXJlLCBtb2RpZmllcnMpKTsKLQotICAgIHJ1blRlc3QoKTsKLX0KLQotd2luZG93
LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBzZXRVcCwgdHJ1ZSk7Ci08L3NjcmlwdD4KLTxzdHls
ZT4KLSNzcXVhcmUgewotICAgIGJhY2tncm91bmQtY29sb3I6IGJsdWU7Ci0gICAgY29sb3I6IHdo
aXRlOwotICAgIGhlaWdodDogMTI4cHg7Ci0gICAgd2lkdGg6IDEyOHB4OwotICAgIGRpc3BsYXk6
IGZsZXg7Ci0gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKLSAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNl
bnRlcjsKLSAgICB1c2VyLXNlbGVjdDogbm9uZTsKLSAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBu
b25lOwotfQotPC9zdHlsZT4KLTwvaGVhZD4KLTxib2R5PgotPHA+VGhpcyBsb2dzIERPTSBwb2lu
dGVyZG93biBhbmQgcG9pbnRlcnVwIGV2ZW50cyB0aGF0IGFyZSBkaXNwYXRjaGVkIHdoZW4gc2lu
Z2xlIHRhcHBpbmcgYW4gZWxlbWVudCB3aGlsZSBob2xkaW5nIG1vZGlmaWVyIGtleXMuIE11c3Qg
YmUgcnVuIGluIFdlYktpdFRlc3RSdW5uZXIuPC9wPgotPGRpdiBpZD0ic3F1YXJlIj5Ub3VjaCBN
ZTwvZGl2PgotPHByZSBpZD0iY29uc29sZSI+PC9wcmU+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9pb3MvdG91Y2gtZXZlbnRzLXdp
dGgtbW9kaWZpZXJzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNo
L2lvcy90b3VjaC1ldmVudHMtd2l0aC1tb2RpZmllcnMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA0ZTU1NTBjOWQwZTY0N2Q0MDNiZTk4Yzc1N2YwZGE3MzU0YWEx
MGJkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy90b3VjaC1ldmVudHMtd2l0aC1tb2RpZmllcnMt
ZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTIzICswLDAgQEAKLVRoaXMgbG9ncyBE
T00gdG91Y2hkb3duIGFuZCB0b3VjaHVwIGV2ZW50cyB0aGF0IGFyZSBkaXNwYXRjaGVkIHdoZW4g
c2luZ2xlIHRhcHBpbmcgYW4gZWxlbWVudCB3aGlsZSBob2xkaW5nIG1vZGlmaWVyIGtleXMgd2l0
aCBhbmQgd2l0aG91dCBhIHN0eWx1cy4gTXVzdCBiZSBydW4gaW4gV2ViS2l0VGVzdFJ1bm5lci4K
LQotCi1UZXN0IENvbW1hbmQgKyBTaW5nbGUgVGFwOgotdHlwZTogdG91Y2hzdGFydCwgcGFnZVg6
IDcyLCBwYWdlWDogNzIsIHNjYWxlOiAxLCByb3RhdGlvbjogMCwgYWx0S2V5OiBmYWxzZSwgY3Ry
bEtleTogZmFsc2UsIG1ldGFLZXk6IHRydWUsIHNoaWZ0S2V5OiBmYWxzZQotdHlwZTogdG91Y2hl
bmQsIHBhZ2VYOiA3MiwgcGFnZVg6IDcyLCBzY2FsZTogMSwgcm90YXRpb246IDAsIGFsdEtleTog
ZmFsc2UsIGN0cmxLZXk6IGZhbHNlLCBtZXRhS2V5OiB0cnVlLCBzaGlmdEtleTogZmFsc2UKLQot
VGVzdCBPcHRpb24gKyBTaW5nbGUgVGFwOgotdHlwZTogdG91Y2hzdGFydCwgcGFnZVg6IDcyLCBw
YWdlWDogNzIsIHNjYWxlOiAxLCByb3RhdGlvbjogMCwgYWx0S2V5OiB0cnVlLCBjdHJsS2V5OiBm
YWxzZSwgbWV0YUtleTogZmFsc2UsIHNoaWZ0S2V5OiBmYWxzZQotdHlwZTogdG91Y2hlbmQsIHBh
Z2VYOiA3MiwgcGFnZVg6IDcyLCBzY2FsZTogMSwgcm90YXRpb246IDAsIGFsdEtleTogdHJ1ZSwg
Y3RybEtleTogZmFsc2UsIG1ldGFLZXk6IGZhbHNlLCBzaGlmdEtleTogZmFsc2UKLQotVGVzdCBD
b250cm9sICsgU2luZ2xlIFRhcDoKLXR5cGU6IHRvdWNoc3RhcnQsIHBhZ2VYOiA3MiwgcGFnZVg6
IDcyLCBzY2FsZTogMSwgcm90YXRpb246IDAsIGFsdEtleTogZmFsc2UsIGN0cmxLZXk6IHRydWUs
IG1ldGFLZXk6IGZhbHNlLCBzaGlmdEtleTogZmFsc2UKLXR5cGU6IHRvdWNoZW5kLCBwYWdlWDog
NzIsIHBhZ2VYOiA3Miwgc2NhbGU6IDEsIHJvdGF0aW9uOiAwLCBhbHRLZXk6IGZhbHNlLCBjdHJs
S2V5OiB0cnVlLCBtZXRhS2V5OiBmYWxzZSwgc2hpZnRLZXk6IGZhbHNlCi0KLVRlc3QgU2hpZnQg
KyBTaW5nbGUgVGFwOgotdHlwZTogdG91Y2hzdGFydCwgcGFnZVg6IDcyLCBwYWdlWDogNzIsIHNj
YWxlOiAxLCByb3RhdGlvbjogMCwgYWx0S2V5OiBmYWxzZSwgY3RybEtleTogZmFsc2UsIG1ldGFL
ZXk6IGZhbHNlLCBzaGlmdEtleTogdHJ1ZQotdHlwZTogdG91Y2hlbmQsIHBhZ2VYOiA3MiwgcGFn
ZVg6IDcyLCBzY2FsZTogMSwgcm90YXRpb246IDAsIGFsdEtleTogZmFsc2UsIGN0cmxLZXk6IGZh
bHNlLCBtZXRhS2V5OiBmYWxzZSwgc2hpZnRLZXk6IHRydWUKLQotVGVzdCBDb21tYW5kICsgT3B0
aW9uICsgU2luZ2xlIFRhcDoKLXR5cGU6IHRvdWNoc3RhcnQsIHBhZ2VYOiA3MiwgcGFnZVg6IDcy
LCBzY2FsZTogMSwgcm90YXRpb246IDAsIGFsdEtleTogdHJ1ZSwgY3RybEtleTogZmFsc2UsIG1l
dGFLZXk6IHRydWUsIHNoaWZ0S2V5OiBmYWxzZQotdHlwZTogdG91Y2hlbmQsIHBhZ2VYOiA3Miwg
cGFnZVg6IDcyLCBzY2FsZTogMSwgcm90YXRpb246IDAsIGFsdEtleTogdHJ1ZSwgY3RybEtleTog
ZmFsc2UsIG1ldGFLZXk6IHRydWUsIHNoaWZ0S2V5OiBmYWxzZQotCi1UZXN0IENvbW1hbmQgKyBD
b250cm9sICsgU2luZ2xlIFRhcDoKLXR5cGU6IHRvdWNoc3RhcnQsIHBhZ2VYOiA3MiwgcGFnZVg6
IDcyLCBzY2FsZTogMSwgcm90YXRpb246IDAsIGFsdEtleTogZmFsc2UsIGN0cmxLZXk6IHRydWUs
IG1ldGFLZXk6IHRydWUsIHNoaWZ0S2V5OiBmYWxzZQotdHlwZTogdG91Y2hlbmQsIHBhZ2VYOiA3
MiwgcGFnZVg6IDcyLCBzY2FsZTogMSwgcm90YXRpb246IDAsIGFsdEtleTogZmFsc2UsIGN0cmxL
ZXk6IHRydWUsIG1ldGFLZXk6IHRydWUsIHNoaWZ0S2V5OiBmYWxzZQotCi1UZXN0IENvbW1hbmQg
KyBTaGlmdCArIFNpbmdsZSBUYXA6Ci10eXBlOiB0b3VjaHN0YXJ0LCBwYWdlWDogNzIsIHBhZ2VY
OiA3Miwgc2NhbGU6IDEsIHJvdGF0aW9uOiAwLCBhbHRLZXk6IGZhbHNlLCBjdHJsS2V5OiBmYWxz
ZSwgbWV0YUtleTogdHJ1ZSwgc2hpZnRLZXk6IHRydWUKLXR5cGU6IHRvdWNoZW5kLCBwYWdlWDog
NzIsIHBhZ2VYOiA3Miwgc2NhbGU6IDEsIHJvdGF0aW9uOiAwLCBhbHRLZXk6IGZhbHNlLCBjdHJs
S2V5OiBmYWxzZSwgbWV0YUtleTogdHJ1ZSwgc2hpZnRLZXk6IHRydWUKLQotVGVzdCBPcHRpb24g
KyBDb250cm9sICsgU2luZ2xlIFRhcDoKLXR5cGU6IHRvdWNoc3RhcnQsIHBhZ2VYOiA3MiwgcGFn
ZVg6IDcyLCBzY2FsZTogMSwgcm90YXRpb246IDAsIGFsdEtleTogdHJ1ZSwgY3RybEtleTogdHJ1
ZSwgbWV0YUtleTogZmFsc2UsIHNoaWZ0S2V5OiBmYWxzZQotdHlwZTogdG91Y2hlbmQsIHBhZ2VY
OiA3MiwgcGFnZVg6IDcyLCBzY2FsZTogMSwgcm90YXRpb246IDAsIGFsdEtleTogdHJ1ZSwgY3Ry
bEtleTogdHJ1ZSwgbWV0YUtleTogZmFsc2UsIHNoaWZ0S2V5OiBmYWxzZQotCi1UZXN0IE9wdGlv
biArIFNoaWZ0ICsgU2luZ2xlIFRhcDoKLXR5cGU6IHRvdWNoc3RhcnQsIHBhZ2VYOiA3MiwgcGFn
ZVg6IDcyLCBzY2FsZTogMSwgcm90YXRpb246IDAsIGFsdEtleTogdHJ1ZSwgY3RybEtleTogZmFs
c2UsIG1ldGFLZXk6IGZhbHNlLCBzaGlmdEtleTogdHJ1ZQotdHlwZTogdG91Y2hlbmQsIHBhZ2VY
OiA3MiwgcGFnZVg6IDcyLCBzY2FsZTogMSwgcm90YXRpb246IDAsIGFsdEtleTogdHJ1ZSwgY3Ry
bEtleTogZmFsc2UsIG1ldGFLZXk6IGZhbHNlLCBzaGlmdEtleTogdHJ1ZQotCi1UZXN0IENvbnRy
b2wgKyBTaGlmdCArIFNpbmdsZSBUYXA6Ci10eXBlOiB0b3VjaHN0YXJ0LCBwYWdlWDogNzIsIHBh
Z2VYOiA3Miwgc2NhbGU6IDEsIHJvdGF0aW9uOiAwLCBhbHRLZXk6IGZhbHNlLCBjdHJsS2V5OiB0
cnVlLCBtZXRhS2V5OiBmYWxzZSwgc2hpZnRLZXk6IHRydWUKLXR5cGU6IHRvdWNoZW5kLCBwYWdl
WDogNzIsIHBhZ2VYOiA3Miwgc2NhbGU6IDEsIHJvdGF0aW9uOiAwLCBhbHRLZXk6IGZhbHNlLCBj
dHJsS2V5OiB0cnVlLCBtZXRhS2V5OiBmYWxzZSwgc2hpZnRLZXk6IHRydWUKLQotVGVzdCBDb21t
YW5kICsgT3B0aW9uICsgQ29udHJvbCArIFNpbmdsZSBUYXA6Ci10eXBlOiB0b3VjaHN0YXJ0LCBw
YWdlWDogNzIsIHBhZ2VYOiA3Miwgc2NhbGU6IDEsIHJvdGF0aW9uOiAwLCBhbHRLZXk6IHRydWUs
IGN0cmxLZXk6IHRydWUsIG1ldGFLZXk6IHRydWUsIHNoaWZ0S2V5OiBmYWxzZQotdHlwZTogdG91
Y2hlbmQsIHBhZ2VYOiA3MiwgcGFnZVg6IDcyLCBzY2FsZTogMSwgcm90YXRpb246IDAsIGFsdEtl
eTogdHJ1ZSwgY3RybEtleTogdHJ1ZSwgbWV0YUtleTogdHJ1ZSwgc2hpZnRLZXk6IGZhbHNlCi0K
LVRlc3QgQ29tbWFuZCArIE9wdGlvbiArIFNoaWZ0ICsgU2luZ2xlIFRhcDoKLXR5cGU6IHRvdWNo
c3RhcnQsIHBhZ2VYOiA3MiwgcGFnZVg6IDcyLCBzY2FsZTogMSwgcm90YXRpb246IDAsIGFsdEtl
eTogdHJ1ZSwgY3RybEtleTogZmFsc2UsIG1ldGFLZXk6IHRydWUsIHNoaWZ0S2V5OiB0cnVlCi10
eXBlOiB0b3VjaGVuZCwgcGFnZVg6IDcyLCBwYWdlWDogNzIsIHNjYWxlOiAxLCByb3RhdGlvbjog
MCwgYWx0S2V5OiB0cnVlLCBjdHJsS2V5OiBmYWxzZSwgbWV0YUtleTogdHJ1ZSwgc2hpZnRLZXk6
IHRydWUKLQotVGVzdCBDb21tYW5kICsgQ29udHJvbCArIFNoaWZ0ICsgU2luZ2xlIFRhcDoKLXR5
cGU6IHRvdWNoc3RhcnQsIHBhZ2VYOiA3MiwgcGFnZVg6IDcyLCBzY2FsZTogMSwgcm90YXRpb246
IDAsIGFsdEtleTogZmFsc2UsIGN0cmxLZXk6IHRydWUsIG1ldGFLZXk6IHRydWUsIHNoaWZ0S2V5
OiB0cnVlCi10eXBlOiB0b3VjaGVuZCwgcGFnZVg6IDcyLCBwYWdlWDogNzIsIHNjYWxlOiAxLCBy
b3RhdGlvbjogMCwgYWx0S2V5OiBmYWxzZSwgY3RybEtleTogdHJ1ZSwgbWV0YUtleTogdHJ1ZSwg
c2hpZnRLZXk6IHRydWUKLQotVGVzdCBPcHRpb24gKyBDb250cm9sICsgU2hpZnQgKyBTaW5nbGUg
VGFwOgotdHlwZTogdG91Y2hzdGFydCwgcGFnZVg6IDcyLCBwYWdlWDogNzIsIHNjYWxlOiAxLCBy
b3RhdGlvbjogMCwgYWx0S2V5OiB0cnVlLCBjdHJsS2V5OiB0cnVlLCBtZXRhS2V5OiBmYWxzZSwg
c2hpZnRLZXk6IHRydWUKLXR5cGU6IHRvdWNoZW5kLCBwYWdlWDogNzIsIHBhZ2VYOiA3Miwgc2Nh
bGU6IDEsIHJvdGF0aW9uOiAwLCBhbHRLZXk6IHRydWUsIGN0cmxLZXk6IHRydWUsIG1ldGFLZXk6
IGZhbHNlLCBzaGlmdEtleTogdHJ1ZQotCi1UZXN0IENvbW1hbmQgKyBPcHRpb24gKyBDb250cm9s
ICsgU2hpZnQgKyBTaW5nbGUgVGFwOgotdHlwZTogdG91Y2hzdGFydCwgcGFnZVg6IDcyLCBwYWdl
WDogNzIsIHNjYWxlOiAxLCByb3RhdGlvbjogMCwgYWx0S2V5OiB0cnVlLCBjdHJsS2V5OiB0cnVl
LCBtZXRhS2V5OiB0cnVlLCBzaGlmdEtleTogdHJ1ZQotdHlwZTogdG91Y2hlbmQsIHBhZ2VYOiA3
MiwgcGFnZVg6IDcyLCBzY2FsZTogMSwgcm90YXRpb246IDAsIGFsdEtleTogdHJ1ZSwgY3RybEtl
eTogdHJ1ZSwgbWV0YUtleTogdHJ1ZSwgc2hpZnRLZXk6IHRydWUKLQotVGVzdCBDb21tYW5kICsg
U3R5bHVzIFNpbmdsZSBUYXA6Ci10eXBlOiB0b3VjaHN0YXJ0LCBwYWdlWDogNzIsIHBhZ2VYOiA3
Miwgc2NhbGU6IDEsIHJvdGF0aW9uOiAwLCBhbHRLZXk6IGZhbHNlLCBjdHJsS2V5OiBmYWxzZSwg
bWV0YUtleTogdHJ1ZSwgc2hpZnRLZXk6IGZhbHNlCi10eXBlOiB0b3VjaGVuZCwgcGFnZVg6IDcy
LCBwYWdlWDogNzIsIHNjYWxlOiAxLCByb3RhdGlvbjogMCwgYWx0S2V5OiBmYWxzZSwgY3RybEtl
eTogZmFsc2UsIG1ldGFLZXk6IHRydWUsIHNoaWZ0S2V5OiBmYWxzZQotCi1UZXN0IE9wdGlvbiAr
IFN0eWx1cyBTaW5nbGUgVGFwOgotdHlwZTogdG91Y2hzdGFydCwgcGFnZVg6IDcyLCBwYWdlWDog
NzIsIHNjYWxlOiAxLCByb3RhdGlvbjogMCwgYWx0S2V5OiB0cnVlLCBjdHJsS2V5OiBmYWxzZSwg
bWV0YUtleTogZmFsc2UsIHNoaWZ0S2V5OiBmYWxzZQotdHlwZTogdG91Y2hlbmQsIHBhZ2VYOiA3
MiwgcGFnZVg6IDcyLCBzY2FsZTogMSwgcm90YXRpb246IDAsIGFsdEtleTogdHJ1ZSwgY3RybEtl
eTogZmFsc2UsIG1ldGFLZXk6IGZhbHNlLCBzaGlmdEtleTogZmFsc2UKLQotVGVzdCBDb250cm9s
ICsgU3R5bHVzIFNpbmdsZSBUYXA6Ci10eXBlOiB0b3VjaHN0YXJ0LCBwYWdlWDogNzIsIHBhZ2VY
OiA3Miwgc2NhbGU6IDEsIHJvdGF0aW9uOiAwLCBhbHRLZXk6IGZhbHNlLCBjdHJsS2V5OiB0cnVl
LCBtZXRhS2V5OiBmYWxzZSwgc2hpZnRLZXk6IGZhbHNlCi10eXBlOiB0b3VjaGVuZCwgcGFnZVg6
IDcyLCBwYWdlWDogNzIsIHNjYWxlOiAxLCByb3RhdGlvbjogMCwgYWx0S2V5OiBmYWxzZSwgY3Ry
bEtleTogdHJ1ZSwgbWV0YUtleTogZmFsc2UsIHNoaWZ0S2V5OiBmYWxzZQotCi1UZXN0IFNoaWZ0
ICsgU3R5bHVzIFNpbmdsZSBUYXA6Ci10eXBlOiB0b3VjaHN0YXJ0LCBwYWdlWDogNzIsIHBhZ2VY
OiA3Miwgc2NhbGU6IDEsIHJvdGF0aW9uOiAwLCBhbHRLZXk6IGZhbHNlLCBjdHJsS2V5OiBmYWxz
ZSwgbWV0YUtleTogZmFsc2UsIHNoaWZ0S2V5OiB0cnVlCi10eXBlOiB0b3VjaGVuZCwgcGFnZVg6
IDcyLCBwYWdlWDogNzIsIHNjYWxlOiAxLCByb3RhdGlvbjogMCwgYWx0S2V5OiBmYWxzZSwgY3Ry
bEtleTogZmFsc2UsIG1ldGFLZXk6IGZhbHNlLCBzaGlmdEtleTogdHJ1ZQotCi1UZXN0IENvbW1h
bmQgKyBPcHRpb24gKyBTdHlsdXMgU2luZ2xlIFRhcDoKLXR5cGU6IHRvdWNoc3RhcnQsIHBhZ2VY
OiA3MiwgcGFnZVg6IDcyLCBzY2FsZTogMSwgcm90YXRpb246IDAsIGFsdEtleTogdHJ1ZSwgY3Ry
bEtleTogZmFsc2UsIG1ldGFLZXk6IHRydWUsIHNoaWZ0S2V5OiBmYWxzZQotdHlwZTogdG91Y2hl
bmQsIHBhZ2VYOiA3MiwgcGFnZVg6IDcyLCBzY2FsZTogMSwgcm90YXRpb246IDAsIGFsdEtleTog
dHJ1ZSwgY3RybEtleTogZmFsc2UsIG1ldGFLZXk6IHRydWUsIHNoaWZ0S2V5OiBmYWxzZQotCi1U
ZXN0IENvbW1hbmQgKyBDb250cm9sICsgU3R5bHVzIFNpbmdsZSBUYXA6Ci10eXBlOiB0b3VjaHN0
YXJ0LCBwYWdlWDogNzIsIHBhZ2VYOiA3Miwgc2NhbGU6IDEsIHJvdGF0aW9uOiAwLCBhbHRLZXk6
IGZhbHNlLCBjdHJsS2V5OiB0cnVlLCBtZXRhS2V5OiB0cnVlLCBzaGlmdEtleTogZmFsc2UKLXR5
cGU6IHRvdWNoZW5kLCBwYWdlWDogNzIsIHBhZ2VYOiA3Miwgc2NhbGU6IDEsIHJvdGF0aW9uOiAw
LCBhbHRLZXk6IGZhbHNlLCBjdHJsS2V5OiB0cnVlLCBtZXRhS2V5OiB0cnVlLCBzaGlmdEtleTog
ZmFsc2UKLQotVGVzdCBDb21tYW5kICsgU2hpZnQgKyBTdHlsdXMgU2luZ2xlIFRhcDoKLXR5cGU6
IHRvdWNoc3RhcnQsIHBhZ2VYOiA3MiwgcGFnZVg6IDcyLCBzY2FsZTogMSwgcm90YXRpb246IDAs
IGFsdEtleTogZmFsc2UsIGN0cmxLZXk6IGZhbHNlLCBtZXRhS2V5OiB0cnVlLCBzaGlmdEtleTog
dHJ1ZQotdHlwZTogdG91Y2hlbmQsIHBhZ2VYOiA3MiwgcGFnZVg6IDcyLCBzY2FsZTogMSwgcm90
YXRpb246IDAsIGFsdEtleTogZmFsc2UsIGN0cmxLZXk6IGZhbHNlLCBtZXRhS2V5OiB0cnVlLCBz
aGlmdEtleTogdHJ1ZQotCi1UZXN0IE9wdGlvbiArIENvbnRyb2wgKyBTdHlsdXMgU2luZ2xlIFRh
cDoKLXR5cGU6IHRvdWNoc3RhcnQsIHBhZ2VYOiA3MiwgcGFnZVg6IDcyLCBzY2FsZTogMSwgcm90
YXRpb246IDAsIGFsdEtleTogdHJ1ZSwgY3RybEtleTogdHJ1ZSwgbWV0YUtleTogZmFsc2UsIHNo
aWZ0S2V5OiBmYWxzZQotdHlwZTogdG91Y2hlbmQsIHBhZ2VYOiA3MiwgcGFnZVg6IDcyLCBzY2Fs
ZTogMSwgcm90YXRpb246IDAsIGFsdEtleTogdHJ1ZSwgY3RybEtleTogdHJ1ZSwgbWV0YUtleTog
ZmFsc2UsIHNoaWZ0S2V5OiBmYWxzZQotCi1UZXN0IE9wdGlvbiArIFNoaWZ0ICsgU3R5bHVzIFNp
bmdsZSBUYXA6Ci10eXBlOiB0b3VjaHN0YXJ0LCBwYWdlWDogNzIsIHBhZ2VYOiA3Miwgc2NhbGU6
IDEsIHJvdGF0aW9uOiAwLCBhbHRLZXk6IHRydWUsIGN0cmxLZXk6IGZhbHNlLCBtZXRhS2V5OiBm
YWxzZSwgc2hpZnRLZXk6IHRydWUKLXR5cGU6IHRvdWNoZW5kLCBwYWdlWDogNzIsIHBhZ2VYOiA3
Miwgc2NhbGU6IDEsIHJvdGF0aW9uOiAwLCBhbHRLZXk6IHRydWUsIGN0cmxLZXk6IGZhbHNlLCBt
ZXRhS2V5OiBmYWxzZSwgc2hpZnRLZXk6IHRydWUKLQotVGVzdCBDb250cm9sICsgU2hpZnQgKyBT
dHlsdXMgU2luZ2xlIFRhcDoKLXR5cGU6IHRvdWNoc3RhcnQsIHBhZ2VYOiA3MiwgcGFnZVg6IDcy
LCBzY2FsZTogMSwgcm90YXRpb246IDAsIGFsdEtleTogZmFsc2UsIGN0cmxLZXk6IHRydWUsIG1l
dGFLZXk6IGZhbHNlLCBzaGlmdEtleTogdHJ1ZQotdHlwZTogdG91Y2hlbmQsIHBhZ2VYOiA3Miwg
cGFnZVg6IDcyLCBzY2FsZTogMSwgcm90YXRpb246IDAsIGFsdEtleTogZmFsc2UsIGN0cmxLZXk6
IHRydWUsIG1ldGFLZXk6IGZhbHNlLCBzaGlmdEtleTogdHJ1ZQotCi1UZXN0IENvbW1hbmQgKyBP
cHRpb24gKyBDb250cm9sICsgU3R5bHVzIFNpbmdsZSBUYXA6Ci10eXBlOiB0b3VjaHN0YXJ0LCBw
YWdlWDogNzIsIHBhZ2VYOiA3Miwgc2NhbGU6IDEsIHJvdGF0aW9uOiAwLCBhbHRLZXk6IHRydWUs
IGN0cmxLZXk6IHRydWUsIG1ldGFLZXk6IHRydWUsIHNoaWZ0S2V5OiBmYWxzZQotdHlwZTogdG91
Y2hlbmQsIHBhZ2VYOiA3MiwgcGFnZVg6IDcyLCBzY2FsZTogMSwgcm90YXRpb246IDAsIGFsdEtl
eTogdHJ1ZSwgY3RybEtleTogdHJ1ZSwgbWV0YUtleTogdHJ1ZSwgc2hpZnRLZXk6IGZhbHNlCi0K
LVRlc3QgQ29tbWFuZCArIE9wdGlvbiArIFNoaWZ0ICsgU3R5bHVzIFNpbmdsZSBUYXA6Ci10eXBl
OiB0b3VjaHN0YXJ0LCBwYWdlWDogNzIsIHBhZ2VYOiA3Miwgc2NhbGU6IDEsIHJvdGF0aW9uOiAw
LCBhbHRLZXk6IHRydWUsIGN0cmxLZXk6IGZhbHNlLCBtZXRhS2V5OiB0cnVlLCBzaGlmdEtleTog
dHJ1ZQotdHlwZTogdG91Y2hlbmQsIHBhZ2VYOiA3MiwgcGFnZVg6IDcyLCBzY2FsZTogMSwgcm90
YXRpb246IDAsIGFsdEtleTogdHJ1ZSwgY3RybEtleTogZmFsc2UsIG1ldGFLZXk6IHRydWUsIHNo
aWZ0S2V5OiB0cnVlCi0KLVRlc3QgQ29tbWFuZCArIENvbnRyb2wgKyBTaGlmdCArIFN0eWx1cyBT
aW5nbGUgVGFwOgotdHlwZTogdG91Y2hzdGFydCwgcGFnZVg6IDcyLCBwYWdlWDogNzIsIHNjYWxl
OiAxLCByb3RhdGlvbjogMCwgYWx0S2V5OiBmYWxzZSwgY3RybEtleTogdHJ1ZSwgbWV0YUtleTog
dHJ1ZSwgc2hpZnRLZXk6IHRydWUKLXR5cGU6IHRvdWNoZW5kLCBwYWdlWDogNzIsIHBhZ2VYOiA3
Miwgc2NhbGU6IDEsIHJvdGF0aW9uOiAwLCBhbHRLZXk6IGZhbHNlLCBjdHJsS2V5OiB0cnVlLCBt
ZXRhS2V5OiB0cnVlLCBzaGlmdEtleTogdHJ1ZQotCi1UZXN0IE9wdGlvbiArIENvbnRyb2wgKyBT
aGlmdCArIFN0eWx1cyBTaW5nbGUgVGFwOgotdHlwZTogdG91Y2hzdGFydCwgcGFnZVg6IDcyLCBw
YWdlWDogNzIsIHNjYWxlOiAxLCByb3RhdGlvbjogMCwgYWx0S2V5OiB0cnVlLCBjdHJsS2V5OiB0
cnVlLCBtZXRhS2V5OiBmYWxzZSwgc2hpZnRLZXk6IHRydWUKLXR5cGU6IHRvdWNoZW5kLCBwYWdl
WDogNzIsIHBhZ2VYOiA3Miwgc2NhbGU6IDEsIHJvdGF0aW9uOiAwLCBhbHRLZXk6IHRydWUsIGN0
cmxLZXk6IHRydWUsIG1ldGFLZXk6IGZhbHNlLCBzaGlmdEtleTogdHJ1ZQotCi1UZXN0IENvbW1h
bmQgKyBPcHRpb24gKyBDb250cm9sICsgU2hpZnQgKyBTdHlsdXMgU2luZ2xlIFRhcDoKLXR5cGU6
IHRvdWNoc3RhcnQsIHBhZ2VYOiA3MiwgcGFnZVg6IDcyLCBzY2FsZTogMSwgcm90YXRpb246IDAs
IGFsdEtleTogdHJ1ZSwgY3RybEtleTogdHJ1ZSwgbWV0YUtleTogdHJ1ZSwgc2hpZnRLZXk6IHRy
dWUKLXR5cGU6IHRvdWNoZW5kLCBwYWdlWDogNzIsIHBhZ2VYOiA3Miwgc2NhbGU6IDEsIHJvdGF0
aW9uOiAwLCBhbHRLZXk6IHRydWUsIGN0cmxLZXk6IHRydWUsIG1ldGFLZXk6IHRydWUsIHNoaWZ0
S2V5OiB0cnVlCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lv
cy90b3VjaC1ldmVudHMtd2l0aC1tb2RpZmllcnMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL3RvdWNoL2lvcy90b3VjaC1ldmVudHMtd2l0aC1tb2RpZmllcnMuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggYTUyZjUwOTY4MzlhOTFkZTQwM2M3N2JhNmMxNWM4N2RkZTk4
NjFjZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9pb3MvdG91Y2gtZXZlbnRzLXdpdGgtbW9kaWZpZXJz
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxNTAgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08
aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9jb21wdXRlLXN1
YnNldHMuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikgewot
ICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9u
ZSgpOwotfQotCi0vLyBGSVhNRTogQWRkIHN1cHBvcnQgZm9yIHRlc3RpbmcgZm9yY2UgdG91Y2gu
Ci1jb25zdCBUb3VjaFR5cGUgPSB7Ci0gICAgIlNpbmdsZVRhcCI6ICJTaW5nbGVUYXAiLAotICAg
ICJTdHlsdXNTaW5nbGVUYXAiOiAiU3R5bHVzU2luZ2xlVGFwIiwKLX07Ci1jb25zdCBUb3VjaFR5
cGVEaXNwbGF5TmFtZSA9IHsKLSAgICAiU2luZ2xlVGFwIjogIlNpbmdsZSBUYXAiLAotICAgICJT
dHlsdXNTaW5nbGVUYXAiOiAiU3R5bHVzIFNpbmdsZSBUYXAiLAotfTsKLQotY2xhc3MgVG91Y2hU
ZXN0IHsKLSAgICBjb25zdHJ1Y3RvcihlbGVtZW50VG9Ub3VjaCwgdG91Y2hUeXBlLCBtb2RpZmll
cnMgPSBbXSkKLSAgICB7Ci0gICAgICAgIHRoaXMuZWxlbWVudFRvVG91Y2ggPSBlbGVtZW50VG9U
b3VjaDsKLSAgICAgICAgdGhpcy50b3VjaFR5cGUgPSB0b3VjaFR5cGU7Ci0gICAgICAgIHRoaXMu
bW9kaWZpZXJzID0gbW9kaWZpZXJzOwotICAgIH0KLQotICAgIHRvU3RyaW5nKCkKLSAgICB7Ci0g
ICAgICAgIHJldHVybiBgeyAke3RoaXMudG91Y2hUeXBlfSwgJHt0aGlzLmVsZW1lbnRUb1RvdWNo
fSwgWyR7dGhpcy5tb2RpZmllcnN9XSB9YDsKLSAgICB9Ci0KLSAgICBydW4oKQotICAgIHsKLSAg
ICAgICAgbGV0IGNlbnRlclggPSB0aGlzLmVsZW1lbnRUb1RvdWNoLm9mZnNldExlZnQgKyB0aGlz
LmVsZW1lbnRUb1RvdWNoLm9mZnNldFdpZHRoIC8gMjsKLSAgICAgICAgbGV0IGNlbnRlclkgPSB0
aGlzLmVsZW1lbnRUb1RvdWNoLm9mZnNldFRvcCArIHRoaXMuZWxlbWVudFRvVG91Y2gub2Zmc2V0
SGVpZ2h0IC8gMjsKLSAgICAgICAgaWYgKHRoaXMudG91Y2hUeXBlID09PSBUb3VjaFR5cGUuU2lu
Z2xlVGFwKQotICAgICAgICAgICAgcmV0dXJuIFVJSGVscGVyLnRhcEF0KGNlbnRlclgsIGNlbnRl
clksIHRoaXMubW9kaWZpZXJzKTsKLSAgICAgICAgcmV0dXJuIFVJSGVscGVyLnN0eWx1c1RhcEF0
KGNlbnRlclgsIGNlbnRlclksIHRoaXMubW9kaWZpZXJzKTsKLSAgICB9Ci19Ci0KLWNvbnN0IG1v
ZGlmaWVyS2V5cyA9IFsibWV0YUtleSIsICJhbHRLZXkiLCAiY3RybEtleSIsICJzaGlmdEtleSJd
OwotCi1sZXQgY3VycmVudFRlc3Q7Ci1sZXQgdGVzdHMgPSBbXTsKLQotZnVuY3Rpb24gaGFuZGxl
VG91Y2hEb3duKGV2ZW50KQotewotICAgIGxvZ1RvdWNoRXZlbnQoZXZlbnQpOwotfQotCi1mdW5j
dGlvbiBoYW5kbGVUb3VjaFVwKGV2ZW50KQotewotICAgIGxvZ1RvdWNoRXZlbnQoZXZlbnQpOwot
ICAgIG5leHRUb3VjaFByZXNzKCk7Ci19Ci0KLWZ1bmN0aW9uIGxvZyhtZXNzYWdlKQotewotICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuYXBwZW5kQ2hpbGQoZG9jdW1lbnQu
Y3JlYXRlVGV4dE5vZGUobWVzc2FnZSArICJcbiIpKTsKLX0KLQotZnVuY3Rpb24gbG9nVG91Y2hF
dmVudChldmVudCkKLXsKLSAgICBsZXQgcGllY2VzID0gW107Ci0gICAgZm9yIChsZXQgcHJvcGVy
dHlOYW1lIG9mIFsidHlwZSIsICJwYWdlWCIsICJwYWdlWCIsICJzY2FsZSIsICJyb3RhdGlvbiIs
ICJhbHRLZXkiLCAiY3RybEtleSIsICJtZXRhS2V5IiwgInNoaWZ0S2V5Il0pCi0gICAgICAgIHBp
ZWNlcy5wdXNoKGAke3Byb3BlcnR5TmFtZX06ICR7ZXZlbnRbcHJvcGVydHlOYW1lXX1gKTsKLSAg
ICBsb2cocGllY2VzLmpvaW4oIiwgIikpOwotfQotCi1jb25zdCBtb2RpZmllckRpc3BsYXlOYW1l
TWFwID0gewotICAgICJhbHRLZXkiOiAiT3B0aW9uIiwKLSAgICAiY3RybEtleSI6ICJDb250cm9s
IiwKLSAgICAibWV0YUtleSI6ICJDb21tYW5kIiwKLSAgICAic2hpZnRLZXkiOiAiU2hpZnQiLAot
ICAgICJjYXBzTG9ja0tleSI6ICJDYXBzIExvY2siLAotfQotCi1mdW5jdGlvbiBkaXNwbGF5TmFt
ZUZvclRlc3QodGVzdCkKLXsKLSAgICBsZXQgZGlzcGxheU5hbWVzT2ZNb2RpZmllcnMgPSBbXTsK
LSAgICBmb3IgKGNvbnN0IG1vZGlmaWVyIG9mIHRlc3QubW9kaWZpZXJzKQotICAgICAgICBkaXNw
bGF5TmFtZXNPZk1vZGlmaWVycy5wdXNoKG1vZGlmaWVyRGlzcGxheU5hbWVNYXBbbW9kaWZpZXJd
KTsKLSAgICBsZXQgcmVzdWx0ID0gIiI7Ci0gICAgaWYgKGRpc3BsYXlOYW1lc09mTW9kaWZpZXJz
Lmxlbmd0aCkKLSAgICAgICAgcmVzdWx0ICs9IGRpc3BsYXlOYW1lc09mTW9kaWZpZXJzLmpvaW4o
IiArICIpICsgIiArICI7Ci0gICAgcmVzdWx0ICs9IFRvdWNoVHlwZURpc3BsYXlOYW1lW3Rlc3Qu
dG91Y2hUeXBlXTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi1hc3luYyBmdW5jdGlvbiBuZXh0
VG91Y2hQcmVzcygpCi17Ci0gICAgaWYgKCF0ZXN0cy5sZW5ndGgpIHsKLSAgICAgICAgZG9jdW1l
bnQuYm9keS5yZW1vdmVDaGlsZChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3F1YXJlIikpOwot
ICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBjdXJyZW50VGVzdCA9IHRl
c3RzLnNoaWZ0KCk7Ci0gICAgbG9nKGBcblRlc3QgJHtkaXNwbGF5TmFtZUZvclRlc3QoY3VycmVu
dFRlc3QpfTpgKTsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIGF3YWl0IGN1
cnJlbnRUZXN0LnJ1bigpOwotfQotCi1mdW5jdGlvbiBydW5UZXN0KCkKLXsKLSAgICBpZiAoIXdp
bmRvdy50ZXN0UnVubmVyKQotICAgICAgICByZXR1cm47Ci0gICAgbmV4dFRvdWNoUHJlc3MoKTsK
LX0KLQotZnVuY3Rpb24gc2V0VXAoKQotewotICAgIGxldCBzcXVhcmUgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3F1YXJlIik7Ci0gICAgc3F1YXJlLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNo
c3RhcnQiLCBoYW5kbGVUb3VjaERvd24sIHRydWUpOwotICAgIHNxdWFyZS5hZGRFdmVudExpc3Rl
bmVyKCJ0b3VjaGVuZCIsIGhhbmRsZVRvdWNoVXAsIHRydWUpOwotCi0gICAgZm9yIChjb25zdCB0
b3VjaFR5cGUgaW4gVG91Y2hUeXBlKSB7Ci0gICAgICAgIGZvciAoY29uc3QgbW9kaWZpZXJzIG9m
IGNvbXB1dGVTdWJzZXRzKG1vZGlmaWVyS2V5cykpCi0gICAgICAgICAgICB0ZXN0cy5wdXNoKG5l
dyBUb3VjaFRlc3Qoc3F1YXJlLCB0b3VjaFR5cGUsIG1vZGlmaWVycykpOwotICAgIH0KLQotICAg
IHJ1blRlc3QoKTsKLX0KLQotd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBzZXRVcCwg
dHJ1ZSk7Ci08L3NjcmlwdD4KLTxzdHlsZT4KLSNzcXVhcmUgewotICAgIGJhY2tncm91bmQtY29s
b3I6IGJsdWU7Ci0gICAgY29sb3I6IHdoaXRlOwotICAgIGhlaWdodDogMTI4cHg7Ci0gICAgd2lk
dGg6IDEyOHB4OwotICAgIGRpc3BsYXk6IGZsZXg7Ci0gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsK
LSAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKLSAgICB1c2VyLXNlbGVjdDogbm9uZTsKLSAg
ICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOwotfQotPC9zdHlsZT4KLTwvaGVhZD4KLTxib2R5
PgotPHA+VGhpcyBsb2dzIERPTSB0b3VjaGRvd24gYW5kIHRvdWNodXAgZXZlbnRzIHRoYXQgYXJl
IGRpc3BhdGNoZWQgd2hlbiBzaW5nbGUgdGFwcGluZyBhbiBlbGVtZW50IHdoaWxlIGhvbGRpbmcg
bW9kaWZpZXIga2V5cyB3aXRoIGFuZCB3aXRob3V0IGEgc3R5bHVzLiBNdXN0IGJlIHJ1biBpbiBX
ZWJLaXRUZXN0UnVubmVyLjwvcD4KLTxkaXYgaWQ9InNxdWFyZSI+VG91Y2ggTWU8L2Rpdj4KLTxw
cmUgaWQ9ImNvbnNvbGUiPjwvcHJlPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9hZENsaWNrQXR0cmlidXRpb24vYW5jaG9yLXRhZy1hdHRyaWJ1
dGVzLXZhbGlkYXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9hZENs
aWNrQXR0cmlidXRpb24vYW5jaG9yLXRhZy1hdHRyaWJ1dGVzLXZhbGlkYXRpb24tZXhwZWN0ZWQu
dHh0CmluZGV4IDRkZTE4Y2MzNzk0Yjg0M2FhODU0MmM0ODA3MDdkNDg0MDY1YWE2ODkuLjMxMTA4
NGU2ZDM0ZmYyMzQ4ZDVkZDk4YTdhNGVjMjllODMzZTI5MjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvYWRDbGlja0F0dHJpYnV0aW9uL2FuY2hvci10YWctYXR0cmlidXRlcy12
YWxpZGF0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2FkQ2xp
Y2tBdHRyaWJ1dGlvbi9hbmNob3ItdGFnLWF0dHJpYnV0ZXMtdmFsaWRhdGlvbi1leHBlY3RlZC50
eHQKQEAgLTEsMTMgKzEsMTMgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMDg6IGFkY2FtcGFp
Z25pZCBtdXN0IGhhdmUgYSBub24tbmVnYXRpdmUgdmFsdWUgbGVzcyB0aGFuIDY0IGZvciBBZCBD
bGljayBBdHRyaWJ1dGlvbi4KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMDg6IGFkY2FtcGFpZ25p
ZCBtdXN0IGhhdmUgYSBub24tbmVnYXRpdmUgdmFsdWUgbGVzcyB0aGFuIDY0IGZvciBBZCBDbGlj
ayBBdHRyaWJ1dGlvbi4KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMDg6IGFkY2FtcGFpZ25pZCBj
YW4gbm90IGJlIGNvbnZlcnRlZCB0byBhIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyIHdoaWNoIGlzIHJl
cXVpcmVkIGZvciBBZCBDbGljayBBdHRyaWJ1dGlvbi4KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAx
MDg6IGFkY2FtcGFpZ25pZCBjYW4gbm90IGJlIGNvbnZlcnRlZCB0byBhIG5vbi1uZWdhdGl2ZSBp
bnRlZ2VyIHdoaWNoIGlzIHJlcXVpcmVkIGZvciBBZCBDbGljayBBdHRyaWJ1dGlvbi4KLUNPTlNP
TEUgTUVTU0FHRTogbGluZSAxMDg6IGFkY2FtcGFpZ25pZCBjYW4gbm90IGJlIGNvbnZlcnRlZCB0
byBhIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyIHdoaWNoIGlzIHJlcXVpcmVkIGZvciBBZCBDbGljayBB
dHRyaWJ1dGlvbi4KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMDg6IGFkZGRlc3RpbmF0aW9uIGNv
dWxkIG5vdCBiZSBjb252ZXJ0ZWQgdG8gYSB2YWxpZCBIVFRQLWZhbWlseSBVUkwuCi1DT05TT0xF
IE1FU1NBR0U6IGxpbmUgMTA4OiBhZGRkZXN0aW5hdGlvbiBjb3VsZCBub3QgYmUgY29udmVydGVk
IHRvIGEgdmFsaWQgSFRUUC1mYW1pbHkgVVJMLgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwODog
YWRkZGVzdGluYXRpb24gY291bGQgbm90IGJlIGNvbnZlcnRlZCB0byBhIHZhbGlkIEhUVFAtZmFt
aWx5IFVSTC4KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMDg6IEJvdGggYWRjYW1wYWlnbmlkIGFu
ZCBhZGRlc3RpbmF0aW9uIG5lZWQgdG8gYmUgc2V0IGZvciBBZCBDbGljayBBdHRyaWJ1dGlvbiB0
byB3b3JrLgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwODogQm90aCBhZGNhbXBhaWduaWQgYW5k
IGFkZGVzdGluYXRpb24gbmVlZCB0byBiZSBzZXQgZm9yIEFkIENsaWNrIEF0dHJpYnV0aW9uIHRv
IHdvcmsuCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA3OiBhZGNhbXBhaWduaWQgbXVzdCBoYXZl
IGEgbm9uLW5lZ2F0aXZlIHZhbHVlIGxlc3MgdGhhbiA2NCBmb3IgQWQgQ2xpY2sgQXR0cmlidXRp
b24uCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA3OiBhZGNhbXBhaWduaWQgbXVzdCBoYXZlIGEg
bm9uLW5lZ2F0aXZlIHZhbHVlIGxlc3MgdGhhbiA2NCBmb3IgQWQgQ2xpY2sgQXR0cmlidXRpb24u
CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA3OiBhZGNhbXBhaWduaWQgY2FuIG5vdCBiZSBjb252
ZXJ0ZWQgdG8gYSBub24tbmVnYXRpdmUgaW50ZWdlciB3aGljaCBpcyByZXF1aXJlZCBmb3IgQWQg
Q2xpY2sgQXR0cmlidXRpb24uCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA3OiBhZGNhbXBhaWdu
aWQgY2FuIG5vdCBiZSBjb252ZXJ0ZWQgdG8gYSBub24tbmVnYXRpdmUgaW50ZWdlciB3aGljaCBp
cyByZXF1aXJlZCBmb3IgQWQgQ2xpY2sgQXR0cmlidXRpb24uCitDT05TT0xFIE1FU1NBR0U6IGxp
bmUgMTA3OiBhZGNhbXBhaWduaWQgY2FuIG5vdCBiZSBjb252ZXJ0ZWQgdG8gYSBub24tbmVnYXRp
dmUgaW50ZWdlciB3aGljaCBpcyByZXF1aXJlZCBmb3IgQWQgQ2xpY2sgQXR0cmlidXRpb24uCitD
T05TT0xFIE1FU1NBR0U6IGxpbmUgMTA3OiBhZGRkZXN0aW5hdGlvbiBjb3VsZCBub3QgYmUgY29u
dmVydGVkIHRvIGEgdmFsaWQgSFRUUC1mYW1pbHkgVVJMLgorQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDEwNzogYWRkZGVzdGluYXRpb24gY291bGQgbm90IGJlIGNvbnZlcnRlZCB0byBhIHZhbGlkIEhU
VFAtZmFtaWx5IFVSTC4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMDc6IGFkZGRlc3RpbmF0aW9u
IGNvdWxkIG5vdCBiZSBjb252ZXJ0ZWQgdG8gYSB2YWxpZCBIVFRQLWZhbWlseSBVUkwuCitDT05T
T0xFIE1FU1NBR0U6IGxpbmUgMTA3OiBCb3RoIGFkY2FtcGFpZ25pZCBhbmQgYWRkZXN0aW5hdGlv
biBuZWVkIHRvIGJlIHNldCBmb3IgQWQgQ2xpY2sgQXR0cmlidXRpb24gdG8gd29yay4KK0NPTlNP
TEUgTUVTU0FHRTogbGluZSAxMDc6IEJvdGggYWRjYW1wYWlnbmlkIGFuZCBhZGRlc3RpbmF0aW9u
IG5lZWQgdG8gYmUgc2V0IGZvciBBZCBDbGljayBBdHRyaWJ1dGlvbiB0byB3b3JrLgogVGVzdCBm
b3IgdmFsaWRpdHkgb2YgYWQgY2xpY2sgYXR0cmlidXRpb24gYXR0cmlidXRlcyBvbiBhbmNob3Ig
dGFncy4KIAogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9hbmNob3ItZG93bmxvYWQtYmxvY2stY3Jvc3NvcmlnaW4t
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9hbmNob3ItZG93
bmxvYWQtYmxvY2stY3Jvc3NvcmlnaW4tZXhwZWN0ZWQudHh0CmluZGV4IGEwNzAyMjcwZDVkMjZm
ZjBlODk0MWFhZDEzYzk0YzQyOTk4NjZhNTguLmZjNmQzNzA1ZmFkY2YyM2UxMTQ5ZmIzYTBlYTg5
MzVhOGI0YjMzOTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
YW5jaG9yLWRvd25sb2FkLWJsb2NrLWNyb3Nzb3JpZ2luLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2FuY2hvci1kb3dubG9hZC1ibG9jay1jcm9zc29y
aWdpbi1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUg
MTA4OiBUaGUgZG93bmxvYWQgYXR0cmlidXRlIG9uIGFuY2hvciB3YXMgaWdub3JlZCBiZWNhdXNl
IGl0cyBocmVmIFVSTCBoYXMgYSBkaWZmZXJlbnQgc2VjdXJpdHkgb3JpZ2luLgorQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDEwNzogVGhlIGRvd25sb2FkIGF0dHJpYnV0ZSBvbiBhbmNob3Igd2FzIGln
bm9yZWQgYmVjYXVzZSBpdHMgaHJlZiBVUkwgaGFzIGEgZGlmZmVyZW50IHNlY3VyaXR5IG9yaWdp
bi4KIFRlc3RzIHRoYXQgdGhlIGRvd25sb2FkIGF0dHJpYnV0ZSBpcyBpZ25vcmVkIGlmIHRoZSBs
aW5rIGlzIGNyb3NzIG9yaWdpbi4KIAogSXQgc2hvdWxkIG5hdmlnYXRlIHRoZSBzdWJmcmFtZSBp
bnN0ZWFkIG9mIGRvd25sb2FkaW5nIHRoZSBmaWxlLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mv
VGVzdEV4cGVjdGF0aW9ucwppbmRleCA1YTc0MzVkMWE0ZGE4MWViMzg1MDM4ZjViYjU3MjM1Mzdj
YmU1N2FlLi5mNDAxNjFjY2EyYzk4YzczZDc2ZTUyNjA1MzFlODE3MDM3YjMyYzVmIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMzIxMCw4ICszMjEwLDMg
QEAgd2Via2l0Lm9yZy9iLzE5Mzk1NSBjb21wb3NpdGluZy9pZnJhbWVzL3JlbW92ZS1yZWluc2Vy
dC13ZWJ2aWV3LXdpdGgtaWZyYW1lLmh0bWwKIHdlYmtpdC5vcmcvYi8xNTMzMzcgcGFnZW92ZXJs
YXkvb3ZlcmxheS1pbnN0YWxsYXRpb24uaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiB3ZWJraXQub3Jn
L2IvMTUzMzM3IHBhZ2VvdmVybGF5L292ZXJsYXktbGFyZ2UtZG9jdW1lbnQtc2Nyb2xsZWQuaHRt
bCBbIFBhc3MgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTUzMzM3IHBhZ2VvdmVybGF5L292ZXJs
YXktbGFyZ2UtZG9jdW1lbnQuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCi0KLSMgRklYTUU6IFVuc2tp
cCB0aGUgZm9sbG93aW5nIHRlc3Qgb25jZSB3ZSBoYXZlIHRoZSBmaXggZm9yIDxyZGFyOi8vcHJv
YmxlbS80NTk3MDA0MD4uCi1mYXN0L2V2ZW50cy90b3VjaC9pb3MvdG91Y2gtZXZlbnRzLXdpdGgt
bW9kaWZpZXJzLmh0bWwgWyBTa2lwIF0KLWZhc3QvZXZlbnRzL3RvdWNoL2lvcy9tb3VzZS1ldmVu
dHMtd2l0aC1tb2RpZmllcnMuaHRtbCBbIFNraXAgXQotZmFzdC9ldmVudHMvdG91Y2gvaW9zL3Bv
aW50ZXItZXZlbnRzLXdpdGgtbW9kaWZpZXJzLmh0bWwgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3Jlc291cmNlcy91aS1oZWxwZXIuanMgYi9MYXlvdXRUZXN0cy9yZXNvdXJjZXMv
dWktaGVscGVyLmpzCmluZGV4IGVmOTNmM2NiNDhhZGU5NjQ5MGUzYjc4YjY0NmFlZjM5ODg3MzA5
OGMuLjMxYWFjN2UxZWY3YWZlZTBjNDUxYTI4YzIyNzdmOWY4YjJhOGI1MjkgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3Jlc291cmNlcy91aS1oZWxwZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvcmVz
b3VyY2VzL3VpLWhlbHBlci5qcwpAQCAtMjksMTIgKzI5LDExIEBAIHdpbmRvdy5VSUhlbHBlciA9
IGNsYXNzIFVJSGVscGVyIHsKICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VVcCgpOwogICAgIH0K
IAotICAgIHN0YXRpYyB0YXBBdCh4LCB5LCBtb2RpZmllcnM9W10pCisgICAgc3RhdGljIHRhcEF0
KHgsIHkpCiAgICAgewogICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlzLmlzSU9TKCkpOwogCiAg
ICAgICAgIGlmICghdGhpcy5pc1dlYktpdDIoKSkgewotICAgICAgICAgICAgY29uc29sZS5hc3Nl
cnQoIW1vZGlmaWVycyB8fCAhbW9kaWZpZXJzLmxlbmd0aCk7CiAgICAgICAgICAgICBldmVudFNl
bmRlci5hZGRUb3VjaFBvaW50KHgsIHkpOwogICAgICAgICAgICAgZXZlbnRTZW5kZXIudG91Y2hT
dGFydCgpOwogICAgICAgICAgICAgZXZlbnRTZW5kZXIucmVsZWFzZVRvdWNoUG9pbnQoMCk7CkBA
IC00NCw3ICs0Myw3IEBAIHdpbmRvdy5VSUhlbHBlciA9IGNsYXNzIFVJSGVscGVyIHsKIAogICAg
ICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKICAgICAgICAgICAgIHRlc3RS
dW5uZXIucnVuVUlTY3JpcHQoYAotICAgICAgICAgICAgICAgIHVpQ29udHJvbGxlci5zaW5nbGVU
YXBBdFBvaW50V2l0aE1vZGlmaWVycygke3h9LCAke3l9LCAke0pTT04uc3RyaW5naWZ5KG1vZGlm
aWVycyl9LCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICB1aUNvbnRyb2xsZXIuc2luZ2xl
VGFwQXRQb2ludCgke3h9LCAke3l9LCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAg
dWlDb250cm9sbGVyLnVpU2NyaXB0Q29tcGxldGUoKTsKICAgICAgICAgICAgICAgICB9KTtgLCBy
ZXNvbHZlKTsKICAgICAgICAgfSk7CkBAIC01NjYsMTQgKzU2NSwxNCBAQCB3aW5kb3cuVUlIZWxw
ZXIgPSBjbGFzcyBVSUhlbHBlciB7CiAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZl
ID0+IHRlc3RSdW5uZXIucnVuVUlTY3JpcHQoYHVpQ29udHJvbGxlci5kcmF3U3F1YXJlSW5FZGl0
YWJsZUltYWdlKClgLCByZXNvbHZlKSk7CiAgICAgfQogCi0gICAgc3RhdGljIHN0eWx1c1RhcEF0
KHgsIHksIG1vZGlmaWVycz1bXSkKKyAgICBzdGF0aWMgc3R5bHVzVGFwQXQoeCwgeSkKICAgICB7
CiAgICAgICAgIGlmICghdGhpcy5pc1dlYktpdDIoKSkKICAgICAgICAgICAgIHJldHVybiBQcm9t
aXNlLnJlc29sdmUoKTsKIAogICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+
IHsKICAgICAgICAgICAgIHRlc3RSdW5uZXIucnVuVUlTY3JpcHQoYAotICAgICAgICAgICAgICAg
IHVpQ29udHJvbGxlci5zdHlsdXNUYXBBdFBvaW50V2l0aE1vZGlmaWVycygke3h9LCAke3l9LCAy
LCAxLCAwLjUsICR7SlNPTi5zdHJpbmdpZnkobW9kaWZpZXJzKX0sIGZ1bmN0aW9uKCkgeworICAg
ICAgICAgICAgICAgIHVpQ29udHJvbGxlci5zdHlsdXNUYXBBdFBvaW50KCR7eH0sICR7eX0sIDIs
IDEsIDAuNSwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgIHVpQ29udHJvbGxlci51
aVNjcmlwdENvbXBsZXRlKCk7CiAgICAgICAgICAgICAgICAgfSk7YCwgcmVzb2x2ZSk7CiAgICAg
ICAgIH0pOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>