<?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>232214</bug_id>
          
          <creation_ts>2021-10-24 04:50:32 -0700</creation_ts>
          <short_desc>webkitpy: rename assertEquals/assertNotEquals</short_desc>
          <delta_ts>2021-10-25 04:08:18 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</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>232213</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Sneddon [:gsnedders]">gsnedders</reporter>
          <assigned_to name="Sam Sneddon [:gsnedders]">gsnedders</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jbedard</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1808201</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2021-10-24 04:50:32 -0700</bug_when>
    <thetext>These have been deprecated for a while: https://docs.python.org/3.10/library/unittest.html#deprecated-aliases</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1808202</commentid>
    <comment_count>1</comment_count>
      <attachid>442306</attachid>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2021-10-24 05:05:05 -0700</bug_when>
    <thetext>Created attachment 442306
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1808240</commentid>
    <comment_count>2</comment_count>
      <attachid>442306</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2021-10-24 11:32:48 -0700</bug_when>
    <thetext>Comment on attachment 442306
Patch

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

&gt; Source/WebKit/ChangeLog:11
&gt; +        aliases assertEqual/assertEquals. These have long been deprecated, and

Is “assertEqual” meant to be “assertNotEquals” on this line?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1808333</commentid>
    <comment_count>3</comment_count>
      <attachid>442356</attachid>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2021-10-25 03:34:00 -0700</bug_when>
    <thetext>Created attachment 442356
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1808338</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-10-25 04:07:27 -0700</bug_when>
    <thetext>Committed r284775 (243484@main): &lt;https://commits.webkit.org/243484@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 442356.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1808339</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-10-25 04:08:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/84609161&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442306</attachid>
            <date>2021-10-24 05:05:05 -0700</date>
            <delta_ts>2021-10-25 03:33:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232214-20211024130503.patch</filename>
            <type>text/plain</type>
            <size>56351</size>
            <attacher name="Sam Sneddon [:gsnedders]">gsnedders</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0NzQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDRhMDZlODUwOWRmZjI4Yjli
MWQwYjQxN2JmNjAyZDE4ZDczNDkxYjguLjBmMWI3YWEwMWUwN2ZiZjMwNjg4MTg4OGRiMGJjYTJj
OTkxNjhiZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMjEtMTAtMjQgIFNhbSBTbmVk
ZG9uICA8bWVAZ3NuZWRkZXJzLmNvbT4KKworICAgICAgICBbUHl0aG9uXSByZW5hbWUgYXNzZXJ0
RXF1YWxzL2Fzc2VydE5vdEVxdWFscworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjMyMjE0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGhpcyBpcyBhc3NlcnQoTm90KT9FcXVhbHMgLT4gYXNzZXJ0KFwxKUVx
dWFsCisKKyAgICAgICAgUHl0aG9uIDMuMTEgKGN1cnJlbnRseSBDUHl0aG9uIG1haW4gYnJhbmNo
KSByZW1vdmVzIHRoZSBkZXByZWNhdGVkCisgICAgICAgIGFsaWFzZXMgYXNzZXJ0RXF1YWwvYXNz
ZXJ0RXF1YWxzLiBUaGVzZSBoYXZlIGxvbmcgYmVlbiBkZXByZWNhdGVkLCBhbmQKKyAgICAgICAg
dGhlIG1vZGVybiBuYW1lcyBleGlzdCBhbGwgdGhlIHdheSBiYWNrIHRvIFB5dGhvbiAyLjcsIGhl
bmNlIHRoZXJlJ3Mgbm8KKyAgICAgICAgcmVhc29uIG5vdCB0byBzd2l0Y2guCisKKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdC9tZXNzYWdlc191bml0dGVzdC5weToKKyAgICAgICAgKEdlbmVyYXRl
ZEZpbGVDb250ZW50c1Rlc3QuYXNzZXJ0R2VuZXJhdGVkRmlsZUNvbnRlbnRzRXF1YWwpOgorICAg
ICAgICAqIFNjcmlwdHMvd2Via2l0L21vZGVsX3VuaXR0ZXN0LnB5OgorICAgICAgICAqIFNjcmlw
dHMvd2Via2l0L3BhcnNlcl91bml0dGVzdC5weToKKyAgICAgICAgKFBhcnNpbmdUZXN0LmNoZWNr
X21lc3NhZ2UpOgorICAgICAgICAoUGFyc2luZ1Rlc3QudGVzdF9yZWNlaXZlcik6CisKIDIwMjEt
MTAtMjMgIEJyYW5kb24gU3Rld2FydCAgPGJyYW5kb25zdGV3YXJ0QGFwcGxlLmNvbT4KIAogICAg
ICAgICBXZWJDb250ZW50IGNyYXNoIHdoZW4gc2VuZGluZyBpbnZhbGlkIElQQyBtZXNzYWdlIHVz
aW5nIElQQyB0ZXN0aW5nIEFQSQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dl
YmtpdC9tZXNzYWdlc191bml0dGVzdC5weSBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQv
bWVzc2FnZXNfdW5pdHRlc3QucHkKaW5kZXggYWVlZjYzYzE3YzQ5NTI3ZTZiNjZhYjM3YmFjOGI3
NTE0MzcyNmMyZS4uYzhlZDM0NmYzM2VjNjFhOGViNjE4ODg5ZjIyMjNmNzdmOWQ2OTIwNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlc191bml0dGVzdC5w
eQorKysgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzX3VuaXR0ZXN0LnB5
CkBAIC04NCw5ICs4NCw5IEBAIGNsYXNzIEdlbmVyYXRlZEZpbGVDb250ZW50c1Rlc3QodW5pdHRl
c3QuVGVzdENhc2UpOgogICAgICAgICAgICAgZXhwZWN0ZWRfbGluZV9saXN0ID0gZXhwZWN0ZWRf
ZmlsZV9jb250ZW50cy5zcGxpdGxpbmVzKEZhbHNlKQogCiAgICAgICAgICAgICBmb3IgaW5kZXgs
IGFjdHVhbF9saW5lIGluIGVudW1lcmF0ZShhY3R1YWxfbGluZV9saXN0KToKLSAgICAgICAgICAg
ICAgICBzZWxmLmFzc2VydEVxdWFscyhhY3R1YWxfbGluZSwgZXhwZWN0ZWRfbGluZV9saXN0W2lu
ZGV4XSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGFjdHVhbF9saW5lLCBleHBl
Y3RlZF9saW5lX2xpc3RbaW5kZXhdKQogCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhs
ZW4oYWN0dWFsX2xpbmVfbGlzdCksIGxlbihleHBlY3RlZF9saW5lX2xpc3QpKQorICAgICAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oYWN0dWFsX2xpbmVfbGlzdCksIGxlbihleHBlY3RlZF9s
aW5lX2xpc3QpKQogICAgICAgICBleGNlcHQgRXhjZXB0aW9uOgogICAgICAgICAgICAgc3lzLnN0
ZGVyci53cml0ZSgnSW4gZXhwZWN0ZWQgZmlsZSAlc1xuJyAlIGV4cGVjdGVkX2ZpbGVfbmFtZSkK
ICAgICAgICAgICAgIHJhaXNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Vi
a2l0L21vZGVsX3VuaXR0ZXN0LnB5IGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tb2Rl
bF91bml0dGVzdC5weQppbmRleCBjNDkzODg2YzQ0NzM4ZjBjODYxZWY1ZmYyZDNhZmNiNDkxZjI0
NWQ0Li4xZWEzZDMxYTZlNDE5ZDU1MDVjMGZkMTRjZGJlYjc5M2E4ZWYwYTdjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21vZGVsX3VuaXR0ZXN0LnB5CisrKyBiL1Nv
dXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbW9kZWxfdW5pdHRlc3QucHkKQEAgLTQ2LDggKzQ2
LDggQEAgbWVzc2FnZXMgLT4gV2ViUGFnZSB7CiAgICAgTG9hZFVSTChTdHJpbmcgdXJsKQogfSIi
IgogICAgICAgICByZWNlaXZlciA9IHBhcnNlci5wYXJzZShTdHJpbmdJTyhjb250ZW50cykpCi0g
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHJlY2VpdmVyLm5hbWUsICdXZWJQYWdlJykKLSAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbHMocmVjZWl2ZXIubWVzc2FnZXNbMF0ubmFtZSwgJ0xvYWRVUkwn
KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlY2VpdmVyLm5hbWUsICdXZWJQYWdlJykKKyAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZWNlaXZlci5tZXNzYWdlc1swXS5uYW1lLCAnTG9hZFVS
TCcpCiAKICAgICAgICAgb3RoZXJfY29udGVudHMgPSAiIiIKICAgICBtZXNzYWdlcyAtPiBXZWJQ
YWdlIHsKQEAgLTU2LDExICs1NiwxMSBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlIHsKICAgICB9IiIi
CiAKICAgICAgICAgb3RoZXJfcmVjZWl2ZXIgPSBwYXJzZXIucGFyc2UoU3RyaW5nSU8ob3RoZXJf
Y29udGVudHMpKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhvdGhlcl9yZWNlaXZlci5uYW1l
LCAnV2ViUGFnZScpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKG90aGVyX3JlY2VpdmVyLm1l
c3NhZ2VzWzBdLm5hbWUsICdMb2FkVVJMJykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMob3Ro
ZXJfcmVjZWl2ZXIubWVzc2FnZXNbMV0ubmFtZSwgJ0xvYWRVUkwyJykKKyAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbChvdGhlcl9yZWNlaXZlci5uYW1lLCAnV2ViUGFnZScpCisgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwob3RoZXJfcmVjZWl2ZXIubWVzc2FnZXNbMF0ubmFtZSwgJ0xvYWRVUkwnKQor
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG90aGVyX3JlY2VpdmVyLm1lc3NhZ2VzWzFdLm5hbWUs
ICdMb2FkVVJMMicpCiAgICAgICAgIGVycm9ycyA9IG1vZGVsLmNoZWNrX2dsb2JhbF9tb2RlbF9p
bnB1dHMoW3JlY2VpdmVyLCBvdGhlcl9yZWNlaXZlcl0pCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWxzKGxlbihlcnJvcnMpLCAxKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihlcnJvcnMp
LCAxKQogICAgICAgICBzZWxmLmFzc2VydFRydWUoIkR1cGxpY2F0ZSIgaW4gZXJyb3JzWzBdKQog
CiAgICAgZGVmIHRlc3RfbWlzbWF0Y2hfbWVzc2FnZV9hdHRyaWJ1dGVfc3luYyhzZWxmKToKQEAg
LTc0LDEwICs3NCwxMCBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlIHsKICNlbmRpZgogfSIiIgogICAg
ICAgICByZWNlaXZlciA9IHBhcnNlci5wYXJzZShTdHJpbmdJTyhjb250ZW50cykpCi0gICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWxzKHJlY2VpdmVyLm5hbWUsICdXZWJQYWdlJykKLSAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbHMocmVjZWl2ZXIubWVzc2FnZXNbMF0ubmFtZSwgJ0xvYWRVUkwnKQorICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKHJlY2VpdmVyLm5hbWUsICdXZWJQYWdlJykKKyAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChyZWNlaXZlci5tZXNzYWdlc1swXS5uYW1lLCAnTG9hZFVSTCcpCiAg
ICAgICAgIGVycm9ycyA9IG1vZGVsLmNoZWNrX2dsb2JhbF9tb2RlbF9pbnB1dHMoW3JlY2VpdmVy
XSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMobGVuKGVycm9ycyksIDEpCisgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwobGVuKGVycm9ycyksIDEpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSgi
YXR0cmlidXRlIG1pc21hdGNoIiBpbiBlcnJvcnNbMF0pCiAKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9TY3JpcHRzL3dlYmtpdC9wYXJzZXJfdW5pdHRlc3QucHkgYi9Tb3VyY2UvV2ViS2l0
L1NjcmlwdHMvd2Via2l0L3BhcnNlcl91bml0dGVzdC5weQppbmRleCBkOTdhNTkyNDg2MGE1OTEz
N2ZkNmQ2YTVlMmZkNjE4YzlkM2M2M2Q0Li41NGMxZWI4MjU1YTJmMWY3NjZiMTM4ZDM3MGFkOGQ2
NTRmZjhlOGY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L3BhcnNl
cl91bml0dGVzdC5weQorKysgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L3BhcnNlcl91
bml0dGVzdC5weQpAQCAtMzE2LDMyICszMTYsMzIgQEAgY2xhc3MgUGFyc2luZ1Rlc3QodW5pdHRl
c3QuVGVzdENhc2UpOgogICAgICAgICBzZWxmLnJlY2VpdmVycyA9IFtwYXJzZV9yZWNlaXZlcihl
eHBlY3RlZF9tb2RlbFsnbmFtZSddKSBmb3IgZXhwZWN0ZWRfbW9kZWwgaW4gX3BhcnNpbmdfdGVz
dF9jYXNlc10KIAogICAgIGRlZiBjaGVja19tZXNzYWdlKHNlbGYsIG1lc3NhZ2UsIGV4cGVjdGVk
X21lc3NhZ2UpOgotICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhtZXNzYWdlLm5hbWUsIGV4cGVj
dGVkX21lc3NhZ2VbJ25hbWUnXSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMobGVuKG1lc3Nh
Z2UucGFyYW1ldGVycyksIGxlbihleHBlY3RlZF9tZXNzYWdlWydwYXJhbWV0ZXJzJ10pKQorICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKG1lc3NhZ2UubmFtZSwgZXhwZWN0ZWRfbWVzc2FnZVsnbmFt
ZSddKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihtZXNzYWdlLnBhcmFtZXRlcnMpLCBs
ZW4oZXhwZWN0ZWRfbWVzc2FnZVsncGFyYW1ldGVycyddKSkKICAgICAgICAgZm9yIGluZGV4LCBw
YXJhbWV0ZXIgaW4gZW51bWVyYXRlKG1lc3NhZ2UucGFyYW1ldGVycyk6CiAgICAgICAgICAgICBl
eHBlY3RlZF9wYXJhbWV0ZXIgPSBleHBlY3RlZF9tZXNzYWdlWydwYXJhbWV0ZXJzJ11baW5kZXhd
Ci0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhwYXJhbWV0ZXIudHlwZSwgZXhwZWN0ZWRf
cGFyYW1ldGVyWzBdKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMocGFyYW1ldGVyLm5h
bWUsIGV4cGVjdGVkX3BhcmFtZXRlclsxXSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
cGFyYW1ldGVyLnR5cGUsIGV4cGVjdGVkX3BhcmFtZXRlclswXSkKKyAgICAgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwocGFyYW1ldGVyLm5hbWUsIGV4cGVjdGVkX3BhcmFtZXRlclsxXSkKICAgICAg
ICAgICAgIGlmIGxlbihleHBlY3RlZF9wYXJhbWV0ZXIpID4gMjoKLSAgICAgICAgICAgICAgICBz
ZWxmLmFzc2VydEVxdWFscyhwYXJhbWV0ZXIuYXR0cmlidXRlcywgZnJvemVuc2V0KGV4cGVjdGVk
X3BhcmFtZXRlclsyXSkpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwYXJhbWV0
ZXIuYXR0cmlidXRlcywgZnJvemVuc2V0KGV4cGVjdGVkX3BhcmFtZXRlclsyXSkpCiAgICAgICAg
ICAgICAgICAgZm9yIGF0dHJpYnV0ZSBpbiBleHBlY3RlZF9wYXJhbWV0ZXJbMl06CiAgICAgICAg
ICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShwYXJhbWV0ZXIuaGFzX2F0dHJpYnV0ZShhdHRy
aWJ1dGUpKQogICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVx
dWFscyhwYXJhbWV0ZXIuYXR0cmlidXRlcywgZnJvemVuc2V0KCkpCisgICAgICAgICAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChwYXJhbWV0ZXIuYXR0cmlidXRlcywgZnJvemVuc2V0KCkpCiAgICAg
ICAgIGlmIG1lc3NhZ2UucmVwbHlfcGFyYW1ldGVycyBpcyBub3QgTm9uZToKICAgICAgICAgICAg
IGZvciBpbmRleCwgcGFyYW1ldGVyIGluIGVudW1lcmF0ZShtZXNzYWdlLnJlcGx5X3BhcmFtZXRl
cnMpOgotICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHBhcmFtZXRlci50eXBlLCBl
eHBlY3RlZF9tZXNzYWdlWydyZXBseV9wYXJhbWV0ZXJzJ11baW5kZXhdWzBdKQotICAgICAgICAg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHBhcmFtZXRlci5uYW1lLCBleHBlY3RlZF9tZXNzYWdl
WydyZXBseV9wYXJhbWV0ZXJzJ11baW5kZXhdWzFdKQorICAgICAgICAgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwocGFyYW1ldGVyLnR5cGUsIGV4cGVjdGVkX21lc3NhZ2VbJ3JlcGx5X3BhcmFtZXRl
cnMnXVtpbmRleF1bMF0pCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwYXJhbWV0
ZXIubmFtZSwgZXhwZWN0ZWRfbWVzc2FnZVsncmVwbHlfcGFyYW1ldGVycyddW2luZGV4XVsxXSkK
ICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoJ3JlcGx5X3BhcmFt
ZXRlcnMnIGluIGV4cGVjdGVkX21lc3NhZ2UpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKG1l
c3NhZ2UuY29uZGl0aW9uLCBleHBlY3RlZF9tZXNzYWdlWydjb25kaXRpb25zJ10pCisgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwobWVzc2FnZS5jb25kaXRpb24sIGV4cGVjdGVkX21lc3NhZ2VbJ2Nv
bmRpdGlvbnMnXSkKIAogICAgIGRlZiB0ZXN0X3JlY2VpdmVyKHNlbGYpOgogICAgICAgICAiIiJS
ZWNlaXZlciBzaG91bGQgYmUgcGFyc2VkIGFzIGV4cGVjdGVkIiIiCiAgICAgICAgIGZvciByZWNl
aXZlciwgZXhwZWN0ZWRfbW9kZWwgaW4gemlwKHNlbGYucmVjZWl2ZXJzLCBfcGFyc2luZ190ZXN0
X2Nhc2VzKToKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHJlY2VpdmVyLm5hbWUsIGV4
cGVjdGVkX21vZGVsWyduYW1lJ10pCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhyZWNl
aXZlci5jb25kaXRpb24sIGV4cGVjdGVkX21vZGVsWydjb25kaXRpb25zJ10pCi0gICAgICAgICAg
ICBzZWxmLmFzc2VydEVxdWFscyhsZW4ocmVjZWl2ZXIubWVzc2FnZXMpLCBsZW4oZXhwZWN0ZWRf
bW9kZWxbJ21lc3NhZ2VzJ10pKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZWNlaXZl
ci5uYW1lLCBleHBlY3RlZF9tb2RlbFsnbmFtZSddKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbChyZWNlaXZlci5jb25kaXRpb24sIGV4cGVjdGVkX21vZGVsWydjb25kaXRpb25zJ10pCisg
ICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihyZWNlaXZlci5tZXNzYWdlcyksIGxlbihl
eHBlY3RlZF9tb2RlbFsnbWVzc2FnZXMnXSkpCiAgICAgICAgICAgICBmb3IgaW5kZXgsIG1lc3Nh
Z2UgaW4gZW51bWVyYXRlKHJlY2VpdmVyLm1lc3NhZ2VzKToKICAgICAgICAgICAgICAgICBzZWxm
LmNoZWNrX21lc3NhZ2UobWVzc2FnZSwgZXhwZWN0ZWRfbW9kZWxbJ21lc3NhZ2VzJ11baW5kZXhd
KQogCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXgg
MjgzNjMxYTE3Njg0NmUyNDIxZDJiNzA5ZDJjYjk2MzRlMzUzNWYxYi4uOTU1YWQ5M2Q4MTAyMTE4
N2FhNjNmNjBiNTU1NmFkMWRkZTljOTc0YyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisr
KyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc5IEBACisyMDIxLTEwLTI0ICBTYW0gU25l
ZGRvbiAgPG1lQGdzbmVkZGVycy5jb20+CisKKyAgICAgICAgW1B5dGhvbl0gcmVuYW1lIGFzc2Vy
dEVxdWFscy9hc3NlcnROb3RFcXVhbHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzMjIxNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRoaXMgaXMgYXNzZXJ0KE5vdCk/RXF1YWxzIC0+IGFzc2VydChcMSlF
cXVhbAorCisgICAgICAgIFB5dGhvbiAzLjExIChjdXJyZW50bHkgQ1B5dGhvbiBtYWluIGJyYW5j
aCkgcmVtb3ZlcyB0aGUgZGVwcmVjYXRlZAorICAgICAgICBhbGlhc2VzIGFzc2VydEVxdWFsL2Fz
c2VydEVxdWFscy4gVGhlc2UgaGF2ZSBsb25nIGJlZW4gZGVwcmVjYXRlZCwgYW5kCisgICAgICAg
IHRoZSBtb2Rlcm4gbmFtZXMgZXhpc3QgYWxsIHRoZSB3YXkgYmFjayB0byBQeXRob24gMi43LCBo
ZW5jZSB0aGVyZSdzIG5vCisgICAgICAgIHJlYXNvbiBub3QgdG8gc3dpdGNoLgorCisgICAgICAg
ICogU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0Y29yZXB5L3dlYmtpdGNvcmVweS90ZXN0cy90YXNr
X3Bvb2xfdW5pdHRlc3QucHk6CisgICAgICAgIChUYXNrUG9vbFVuaXR0ZXN0LnRlc3RfbXVsdGlw
bGUpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL2F0dHJpYnV0ZV9zYXZlcl91
bml0dGVzdC5weToKKyAgICAgICAgKEF0dHJpYnV0ZVNhdmVyVGVzdC50ZXN0X2NsYXNzKToKKyAg
ICAgICAgKEF0dHJpYnV0ZVNhdmVyVGVzdC50ZXN0X25vcm1hbF9kZWZhdWx0KToKKyAgICAgICAg
KEF0dHJpYnV0ZVNhdmVyVGVzdC50ZXN0X25vcm1hbF92YWx1ZSk6CisgICAgICAgIChBdHRyaWJ1
dGVTYXZlclRlc3QudGVzdF9ub3JtYWxfdmFsdWVfb25fZXhjZXB0aW9uKToKKyAgICAgICAgKEF0
dHJpYnV0ZVNhdmVyVGVzdC50ZXN0X25vcm1hbF92YWx1ZV9vbl9ub3JtYWxfZXhpdCk6CisgICAg
ICAgIChBdHRyaWJ1dGVTYXZlclRlc3QudGVzdF9ub3JtYWxfdmFsdWVfd2l0aF9maW5hbGx5X29u
X2V4Y2VwdGlvbik6CisgICAgICAgIChBdHRyaWJ1dGVTYXZlclRlc3QudGVzdF9ub3JtYWxfdmFs
dWVfd2l0aF9maW5hbGx5X29uX25vcm1hbF9leGl0KToKKyAgICAgICAgKEF0dHJpYnV0ZVNhdmVy
VGVzdC50ZXN0X25vcm1hbF92YWx1ZV93aXRoX2Vsc2Vfb25fZXhjZXB0aW9uKToKKyAgICAgICAg
KEF0dHJpYnV0ZVNhdmVyVGVzdC50ZXN0X25vcm1hbF92YWx1ZV93aXRoX2Vsc2Vfb25fbm9ybWFs
X2V4aXQpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L3NjbS9z
dHViX3JlcG9zaXRvcnlfdW5pdHRlc3QucHk6CisgICAgICAgIChTdHViUmVwb3NpdG9yeVRlc3Qu
dGVzdF9maW5kX2NoZWNrb3V0X3Jvb3QpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL21vZGVscy90ZXN0X2NvbmZpZ3VyYXRpb25fdW5pdHRlc3QucHk6CisgICAgICAg
IChUZXN0Q29uZmlndXJhdGlvblRlc3QudGVzdF9lcSk6CisgICAgICAgICogU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfZXhwZWN0YXRpb25zX3VuaXR0ZXN0LnB5Ogor
ICAgICAgICAoTWlzY1Rlc3RzLnRlc3RfcGFyc2Vfd2FybmluZ3NfYXJlX2xvZ2dlZF9pZl9ub3Rf
aW5fbGludF9tb2RlKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9t
b2RlbHMvdGVzdF9ydW5fcmVzdWx0c191bml0dGVzdC5weToKKyAgICAgICAgKFN1bW1hcml6ZWRS
ZXN1bHRzVGVzdC50ZXN0X3N2bl9yZXZpc2lvbl9leGlzdHMpOgorICAgICAgICAoU3VtbWFyaXpl
ZFJlc3VsdHNUZXN0LnRlc3Rfc3ZuX3JldmlzaW9uKToKKyAgICAgICAgKFN1bW1hcml6ZWRSZXN1
bHRzVGVzdC50ZXN0X3N2bl9yZXZpc2lvbl9naXQpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHNfaW50ZWdyYXRpb250ZXN0LnB5OgorICAg
ICAgICAoUnVuVGVzdC50ZXN0X3Rlc3RzX29wdGlvbnMpOgorICAgICAgICAqIFNjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL3NlcnZlcnMvaHR0cF9zZXJ2ZXJfdW5pdHRlc3QucHk6CisgICAg
ICAgIChUZXN0SHR0cFNlcnZlci50ZXN0X3dpbjMyX3N0YXJ0X2FuZF9zdG9wKToKKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvZHJpdmVyX3VuaXR0ZXN0LnB5OgorICAgICAgICAqIFNj
cmlwdHMvd2Via2l0cHkvcG9ydC9ndGtfdW5pdHRlc3QucHk6CisgICAgICAgIChHdGtQb3J0VGVz
dC50ZXN0X2d0azRfZXhwZWN0YXRpb25zX2JpbmFyeV9vbmx5KToKKyAgICAgICAgKEd0a1BvcnRU
ZXN0LnRlc3RfZ3RrM19leHBlY3RhdGlvbnNfYmluYXJ5X29ubHkpOgorICAgICAgICAoR3RrUG9y
dFRlc3QudGVzdF9ndGtfZXhwZWN0YXRpb25zX2JvdGhfYmluYXJpZXMpOgorICAgICAgICAqIFNj
cmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvdGVzdF9leHBlY3RhdGlvbnNfdW5pdHRlc3Qu
cHk6CisgICAgICAgIChUZXN0RXhwZWN0YXRpb25zVGVzdENhc2UuYXNzZXJ0X2xpbmVzX2xpbnQp
OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9wcmVwYXJlY2hhbmdlbG9n
X3VuaXR0ZXN0LnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdzNjL3Rlc3RfY29udmVy
dGVyX3VuaXR0ZXN0LnB5OgorICAgICAgICAodmVyaWZ5X3Rlc3RfaGFybmVzc19wYXRocyk6Cisg
ICAgICAgICogU2NyaXB0cy93ZWJraXRweS93M2MvdGVzdF9leHBvcnRlcl91bml0dGVzdC5weToK
KyAgICAgICAgKFRlc3RFeHBvcnRlclRlc3QudGVzdF9leHBvcnQpOgorICAgICAgICAoVGVzdEV4
cG9ydGVyVGVzdC50ZXN0X2V4cG9ydF93aXRoX3NwZWNpZmljX2JyYW5jaCk6CisgICAgICAgICog
U2NyaXB0cy93ZWJraXRweS93M2MvdGVzdF9pbXBvcnRlcl91bml0dGVzdC5weToKKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdHB5L3czYy90ZXN0X3BhcnNlcl91bml0dGVzdC5weToKKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdHB5L3czYy93cHRfcnVubmVyX3VuaXR0ZXN0LnB5OgorICAgICAgICAo
V1BUUnVubmVyVGVzdC5Nb2NrU3Bhd25XUFQuX19jYWxsX18pOgorICAgICAgICAoV1BUUnVubmVy
VGVzdC50ZXN0X3ByZXBhcmVfd3B0X2NoZWNrb3V0KToKKyAgICAgICAgKFdQVFJ1bm5lclRlc3Qu
dGVzdF9wcmVwYXJlX3dwdF9jaGVja291dF9zcGVjaWZpZWRfcGF0aCk6CisgICAgICAgICogU2Ny
aXB0cy93ZWJraXRweS94Y29kZS9kZXZpY2VfdHlwZV91bml0dGVzdC5weToKKyAgICAgICAgKERl
dmljZVR5cGVUZXN0LnRlc3RfaXBob25lX2luaXRpYWxpemF0aW9uKToKKyAgICAgICAgKERldmlj
ZVR5cGVUZXN0LnRlc3RfaXBhZF9pbml0aWFsaXphdGlvbik6CisgICAgICAgIChEZXZpY2VUeXBl
VGVzdC50ZXN0X2dlbmVyaWNfaW9zX2RldmljZSk6CisgICAgICAgIChEZXZpY2VUeXBlVGVzdC50
ZXN0X3dhdGNoX2luaXRpYWxpemF0aW9uKToKKyAgICAgICAgKERldmljZVR5cGVUZXN0LnRlc3Rf
dHZfaW5pdGlhbGl6YXRpb24pOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkveGNvZGUvc2Rr
X3VuaXR0ZXN0LnB5OgorICAgICAgICAoU0RLVGVzdC50ZXN0X2lwaG9uZW9zKToKKyAgICAgICAg
KFNES1Rlc3QudGVzdF9pcGhvbmVzaW0pOgorICAgICAgICAoU0RLVGVzdC50ZXN0X21hY29zKToK
KyAgICAgICAgKFNES1Rlc3QudGVzdF9hcHBsZXR2b3MpOgorICAgICAgICAoU0RLVGVzdC50ZXN0
X2FwcGxldHZzaW0pOgorICAgICAgICAoU0RLVGVzdC50ZXN0X3dhdGNob3MpOgorICAgICAgICAo
U0RLVGVzdC50ZXN0X3dhdGNoc2ltdWxhdG9yKToKKyAgICAgICAgKFNES1Rlc3QudGVzdF9wcm9k
b3MpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkveGNvZGUvc2ltdWxhdGVkX2RldmljZV91
bml0dGVzdC5weToKKwogMjAyMS0xMC0yMyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUu
Y29tPgogCiAgICAgICAgIFtXVEZdIFJlcGxhY2UgY3VycmVudCBMTFZNIGZsYW5nJ3MgSW50MTI4
IHdpdGggYWJzZWlsLWNwcCdzIEludDEyOApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9saWJy
YXJpZXMvd2Via2l0Y29yZXB5L3dlYmtpdGNvcmVweS90ZXN0cy90YXNrX3Bvb2xfdW5pdHRlc3Qu
cHkgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRjb3JlcHkvd2Via2l0Y29yZXB5L3Rl
c3RzL3Rhc2tfcG9vbF91bml0dGVzdC5weQppbmRleCAyMGI3NmY3YzU2MWE3YTYyMDdjMTEyY2U4
YjA3NDBlN2NlNmE3NmFlLi42YWIxNmQ5Y2EyOWQ0YmRmNDQ4NWJlNzViODk5YjQ0MTIwNjAyMmQ1
IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRjb3JlcHkvd2Via2l0
Y29yZXB5L3Rlc3RzL3Rhc2tfcG9vbF91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL2xp
YnJhcmllcy93ZWJraXRjb3JlcHkvd2Via2l0Y29yZXB5L3Rlc3RzL3Rhc2tfcG9vbF91bml0dGVz
dC5weQpAQCAtMTEwLDcgKzExMCw3IEBAIGNsYXNzIFRhc2tQb29sVW5pdHRlc3QodW5pdHRlc3Qu
VGVzdENhc2UpOgogICAgICAgICAgICAgICAgICAgICBwb29sLndhaXQoKQogCiAgICAgICAgICAg
ICBsaW5lcyA9IGNhcHR1cmVkLnN0ZG91dC5nZXR2YWx1ZSgpLnNwbGl0bGluZXMoKQotICAgICAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoc29ydGVkKGxpbmVzKSwgWydhY3Rpb24oe30pJy5mb3Jt
YXQoY2hhcmFjdGVyKSBmb3IgY2hhcmFjdGVyIGluIHNlbGYuYWxwaGFiZXRdKQorICAgICAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChzb3J0ZWQobGluZXMpLCBbJ2FjdGlvbih7fSknLmZvcm1hdChj
aGFyYWN0ZXIpIGZvciBjaGFyYWN0ZXIgaW4gc2VsZi5hbHBoYWJldF0pCiAgICAgICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKAogICAgICAgICAgICAgICAgIHNvcnRlZChjYXB0dXJlZC53ZWJraXRj
b3JlcHkubG9nLmdldHZhbHVlKCkuc3BsaXRsaW5lcygpKSwKICAgICAgICAgICAgICAgICBzb3J0
ZWQoWyd3b3JrZXIve30gc3RhcnRpbmcnLmZvcm1hdChudW1iZXIpIGZvciBudW1iZXIgaW4gcmFu
Z2UoNCldICsgWyd3b3JrZXIve30gc3RvcHBpbmcnLmZvcm1hdChudW1iZXIpIGZvciBudW1iZXIg
aW4gcmFuZ2UoNCldKSwKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9u
L2F0dHJpYnV0ZV9zYXZlcl91bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29t
bW9uL2F0dHJpYnV0ZV9zYXZlcl91bml0dGVzdC5weQppbmRleCA4NmFhNTg4MTFkNDJiMDBmMTM2
NjZjMDdiNDExZWQ2NTA0MDA5NmVkLi5kNTc0MWJiMzA3NzQzNmZlNmU0NTFjYTFhYTIzMTI5MDEz
MGFhNDk2IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9hdHRyaWJ1
dGVfc2F2ZXJfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24v
YXR0cmlidXRlX3NhdmVyX3VuaXR0ZXN0LnB5CkBAIC0zOCw5MCArMzgsOTAgQEAgY2xhc3MgQXR0
cmlidXRlU2F2ZXJUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKIAogICAgIGRlZiB0ZXN0X2NsYXNz
KHNlbGYpOgogICAgICAgICBvYmogPSBzZWxmLlNpbXBsZVRlc3RDbGFzcygpCi0gICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWxzKG9iai52YWx1ZSwgMCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChv
YmoudmFsdWUsIDApCiAKICAgICBkZWYgdGVzdF9ub3JtYWxfZGVmYXVsdChzZWxmKToKICAgICAg
ICAgb2JqID0gc2VsZi5TaW1wbGVUZXN0Q2xhc3MoKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFs
cyhvYmoudmFsdWUsIDApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob2JqLnZhbHVlLCAwKQog
ICAgICAgICB3aXRoIEF0dHJpYnV0ZVNhdmVyKG9iaiwgInZhbHVlIik6Ci0gICAgICAgICAgICBz
ZWxmLmFzc2VydEVxdWFscyhvYmoudmFsdWUsIE5vbmUpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWxzKG9iai52YWx1ZSwgMCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob2JqLnZhbHVl
LCBOb25lKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9iai52YWx1ZSwgMCkKIAogICAgIGRl
ZiB0ZXN0X25vcm1hbF92YWx1ZShzZWxmKToKICAgICAgICAgb2JqID0gc2VsZi5TaW1wbGVUZXN0
Q2xhc3MoKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhvYmoudmFsdWUsIDApCisgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwob2JqLnZhbHVlLCAwKQogICAgICAgICB3aXRoIEF0dHJpYnV0ZVNh
dmVyKG9iaiwgInZhbHVlIiwgMSk6Ci0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhvYmou
dmFsdWUsIDEpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKG9iai52YWx1ZSwgMCkKKyAgICAg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob2JqLnZhbHVlLCAxKQorICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKG9iai52YWx1ZSwgMCkKIAogICAgIGRlZiB0ZXN0X25vcm1hbF92YWx1ZV9vbl9leGNl
cHRpb24oc2VsZik6CiAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoUnVudGltZUVycm9y
KToKICAgICAgICAgICAgIG9iaiA9IHNlbGYuU2ltcGxlVGVzdENsYXNzKCkKLSAgICAgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWxzKG9iai52YWx1ZSwgMCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwob2JqLnZhbHVlLCAwKQogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIHdp
dGggQXR0cmlidXRlU2F2ZXIob2JqLCAidmFsdWUiLCAxKToKLSAgICAgICAgICAgICAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbHMob2JqLnZhbHVlLCAxKQorICAgICAgICAgICAgICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKG9iai52YWx1ZSwgMSkKICAgICAgICAgICAgICAgICAgICAgcmFpc2UgUnVu
dGltZUVycm9yKCkKICAgICAgICAgICAgIGV4Y2VwdDoKLSAgICAgICAgICAgICAgICBzZWxmLmFz
c2VydEVxdWFscyhvYmoudmFsdWUsIDApCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChvYmoudmFsdWUsIDApCiAgICAgICAgICAgICAgICAgcmFpc2UKLSAgICAgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWxzKG9iai52YWx1ZSwgMCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
b2JqLnZhbHVlLCAwKQogCiAgICAgZGVmIHRlc3Rfbm9ybWFsX3ZhbHVlX29uX25vcm1hbF9leGl0
KHNlbGYpOgogICAgICAgICBvYmogPSBzZWxmLlNpbXBsZVRlc3RDbGFzcygpCi0gICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWxzKG9iai52YWx1ZSwgMCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChv
YmoudmFsdWUsIDApCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHdpdGggQXR0cmlidXRlU2F2
ZXIob2JqLCAidmFsdWUiLCAxKToKLSAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhv
YmoudmFsdWUsIDEpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvYmoudmFsdWUs
IDEpCiAgICAgICAgIGV4Y2VwdDoKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKG9iai52
YWx1ZSwgMCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob2JqLnZhbHVlLCAwKQogICAg
ICAgICAgICAgcmFpc2UKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMob2JqLnZhbHVlLCAwKQor
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9iai52YWx1ZSwgMCkKIAogICAgIGRlZiB0ZXN0X25v
cm1hbF92YWx1ZV93aXRoX2ZpbmFsbHlfb25fZXhjZXB0aW9uKHNlbGYpOgogICAgICAgICB3aXRo
IHNlbGYuYXNzZXJ0UmFpc2VzKFJ1bnRpbWVFcnJvcik6CiAgICAgICAgICAgICBvYmogPSBzZWxm
LlNpbXBsZVRlc3RDbGFzcygpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhvYmoudmFs
dWUsIDApCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9iai52YWx1ZSwgMCkKICAgICAg
ICAgICAgIHRyeToKICAgICAgICAgICAgICAgICB3aXRoIEF0dHJpYnV0ZVNhdmVyKG9iaiwgInZh
bHVlIiwgMSk6Ci0gICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKG9iai52YWx1
ZSwgMSkKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvYmoudmFsdWUsIDEp
CiAgICAgICAgICAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcigpCiAgICAgICAgICAgICBm
aW5hbGx5OgotICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKG9iai52YWx1ZSwgMCkK
LSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKG9iai52YWx1ZSwgMCkKKyAgICAgICAgICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKG9iai52YWx1ZSwgMCkKKyAgICAgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwob2JqLnZhbHVlLCAwKQogCiAgICAgZGVmIHRlc3Rfbm9ybWFsX3ZhbHVlX3dpdGhf
ZmluYWxseV9vbl9ub3JtYWxfZXhpdChzZWxmKToKICAgICAgICAgb2JqID0gc2VsZi5TaW1wbGVU
ZXN0Q2xhc3MoKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhvYmoudmFsdWUsIDApCisgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwob2JqLnZhbHVlLCAwKQogICAgICAgICB0cnk6CiAgICAgICAg
ICAgICB3aXRoIEF0dHJpYnV0ZVNhdmVyKG9iaiwgInZhbHVlIiwgMSk6Ci0gICAgICAgICAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbHMob2JqLnZhbHVlLCAxKQorICAgICAgICAgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwob2JqLnZhbHVlLCAxKQogICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbHMob2JqLnZhbHVlLCAwKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFs
cyhvYmoudmFsdWUsIDApCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9iai52YWx1ZSwg
MCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvYmoudmFsdWUsIDApCiAKICAgICBkZWYgdGVz
dF9ub3JtYWxfdmFsdWVfd2l0aF9lbHNlX29uX2V4Y2VwdGlvbihzZWxmKToKICAgICAgICAgd2l0
aCBzZWxmLmFzc2VydFJhaXNlcyhSdW50aW1lRXJyb3IpOgogICAgICAgICAgICAgb2JqID0gc2Vs
Zi5TaW1wbGVUZXN0Q2xhc3MoKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMob2JqLnZh
bHVlLCAwKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvYmoudmFsdWUsIDApCiAgICAg
ICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgd2l0aCBBdHRyaWJ1dGVTYXZlcihvYmosICJ2
YWx1ZSIsIDEpOgotICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhvYmoudmFs
dWUsIDEpCisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob2JqLnZhbHVlLCAx
KQogICAgICAgICAgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoKQogICAgICAgICAgICAg
ZXhjZXB0IElPRXJyb3I6CiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShUcnVlKQog
ICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhvYmou
dmFsdWUsIDApCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhvYmoudmFsdWUsIDApCisg
ICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvYmoudmFsdWUsIDApCisgICAgICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKG9iai52YWx1ZSwgMCkKIAogICAgIGRlZiB0ZXN0X25vcm1hbF92
YWx1ZV93aXRoX2Vsc2Vfb25fbm9ybWFsX2V4aXQoc2VsZik6CiAgICAgICAgIG9iaiA9IHNlbGYu
U2ltcGxlVGVzdENsYXNzKCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMob2JqLnZhbHVlLCAw
KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9iai52YWx1ZSwgMCkKICAgICAgICAgdHJ5Ogog
ICAgICAgICAgICAgd2l0aCBBdHRyaWJ1dGVTYXZlcihvYmosICJ2YWx1ZSIsIDEpOgotICAgICAg
ICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKG9iai52YWx1ZSwgMSkKKyAgICAgICAgICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKG9iai52YWx1ZSwgMSkKICAgICAgICAgZXhjZXB0IElPRXJyb3I6
CiAgICAgICAgICAgICBzZWxmLmFzc2VydEZhbHNlKFRydWUpCiAgICAgICAgIGVsc2U6Ci0gICAg
ICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhvYmoudmFsdWUsIDApCi0gICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWxzKG9iai52YWx1ZSwgMCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob2Jq
LnZhbHVlLCAwKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9iai52YWx1ZSwgMCkKZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L3NjbS9zdHViX3Jl
cG9zaXRvcnlfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVj
a291dC9zY20vc3R1Yl9yZXBvc2l0b3J5X3VuaXR0ZXN0LnB5CmluZGV4IGRjYjRiMWI4NzE5NGQy
NDI3N2Y1MTA1MWRlN2ZlYjY0MjhiZDUyMzEuLjdjZmE1NjAwM2FlNTQ1MjBmNWVhOTNjYzJlMjZj
OTNkOWFiOWQ2MDUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2No
ZWNrb3V0L3NjbS9zdHViX3JlcG9zaXRvcnlfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvc2NtL3N0dWJfcmVwb3NpdG9yeV91bml0dGVzdC5w
eQpAQCAtNjcsNyArNjcsNyBAQCBjbGFzcyBTdHViUmVwb3NpdG9yeVRlc3QodW5pdHRlc3QuVGVz
dENhc2UpOgogICAgIGRlZiB0ZXN0X2ZpbmRfY2hlY2tvdXRfcm9vdChzZWxmKToKICAgICAgICAg
aG9zdCA9IFN0dWJSZXBvc2l0b3J5VGVzdC5tb2NrX2hvc3RfZm9yX3N0dWJfcmVwb3NpdG9yeSgp
CiAgICAgICAgIHJlcG9zaXRvcnkgPSBTdHViUmVwb3NpdG9yeShjd2Q9aG9zdC5maWxlc3lzdGVt
LmdldGN3ZCgpLCBmaWxlc3lzdGVtPWhvc3QuZmlsZXN5c3RlbSwgZXhlY3V0aXZlPWhvc3QuZXhl
Y3V0aXZlKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhyZXBvc2l0b3J5LmZpbmRfY2hlY2tv
dXRfcm9vdChwYXRoPWhvc3QuZmlsZXN5c3RlbS5qb2luKCdUZXN0RGlyZWN0b3J5JywgJ1Rlc3RE
aXJlY3RvcnkyJywgJ1Rlc3REaXJlY3RvcnkzJykpLCBob3N0LmZpbGVzeXN0ZW0uam9pbihob3N0
LmZpbGVzeXN0ZW0uZ2V0Y3dkKCksICdUZXN0RGlyZWN0b3J5JywgJ1Rlc3REaXJlY3RvcnkyJykp
CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVwb3NpdG9yeS5maW5kX2NoZWNrb3V0X3Jvb3Qo
cGF0aD1ob3N0LmZpbGVzeXN0ZW0uam9pbignVGVzdERpcmVjdG9yeScsICdUZXN0RGlyZWN0b3J5
MicsICdUZXN0RGlyZWN0b3J5MycpKSwgaG9zdC5maWxlc3lzdGVtLmpvaW4oaG9zdC5maWxlc3lz
dGVtLmdldGN3ZCgpLCAnVGVzdERpcmVjdG9yeScsICdUZXN0RGlyZWN0b3J5MicpKQogCiAgICAg
ZGVmIHRlc3RfZmluZF9jaGVja291dF9yb290X2ZhaWx1cmUoc2VsZik6CiAgICAgICAgIGhvc3Qg
PSBTdHViUmVwb3NpdG9yeVRlc3QubW9ja19ob3N0X2Zvcl9zdHViX3JlcG9zaXRvcnkoKQpkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3Rf
Y29uZmlndXJhdGlvbl91bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL21vZGVscy90ZXN0X2NvbmZpZ3VyYXRpb25fdW5pdHRlc3QucHkKaW5kZXggMWU3M2I3
YTU5N2M4ZWJhNTA2N2U0Nzc5MmNhZGIwYmQzZDc0M2E5ZS4uNzQ2Nzc1ZWFmOTE3ODRkNjA0OTBi
NTEyMzJmZTgyMjMzYTA1MTI5YiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfY29uZmlndXJhdGlvbl91bml0dGVzdC5weQorKysgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9jb25maWd1cmF0
aW9uX3VuaXR0ZXN0LnB5CkBAIC04Niw3ICs4Niw3IEBAIGNsYXNzIFRlc3RDb25maWd1cmF0aW9u
VGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICBkZWYgdGVzdF9lcShzZWxmKToKICAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChUZXN0Q29uZmlndXJhdGlvbigneHAnLCAneDg2JywgJ3JlbGVh
c2UnKSwgVGVzdENvbmZpZ3VyYXRpb24oJ3hwJywgJ3g4NicsICdyZWxlYXNlJykpCi0gICAgICAg
IHNlbGYuYXNzZXJ0Tm90RXF1YWxzKFRlc3RDb25maWd1cmF0aW9uKCd4cCcsICd4ODYnLCAncmVs
ZWFzZScpLCBUZXN0Q29uZmlndXJhdGlvbigneHAnLCAneDg2JywgJ2RlYnVnJykpCisgICAgICAg
IHNlbGYuYXNzZXJ0Tm90RXF1YWwoVGVzdENvbmZpZ3VyYXRpb24oJ3hwJywgJ3g4NicsICdyZWxl
YXNlJyksIFRlc3RDb25maWd1cmF0aW9uKCd4cCcsICd4ODYnLCAnZGVidWcnKSkKIAogICAgIGRl
ZiB0ZXN0X3ZhbHVlcyhzZWxmKToKICAgICAgICAgY29uZmlnID0gVGVzdENvbmZpZ3VyYXRpb24o
J3hwJywgJ3g4NicsICdyZWxlYXNlJykKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2V4cGVjdGF0aW9uc191bml0dGVzdC5weSBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2V4cGVjdGF0aW9u
c191bml0dGVzdC5weQppbmRleCAyMGZkZTEzY2Q4ZTM3ZGQxMjg1MThhMGI2ZDE2YTFhZTBkZmFm
YTBmLi40YTA4ODhhN2EzODBkMjZkYzQ1Njk1NzM2M2IzYjk0ZWY2ZTg2NDkzIDEwMDY0NAotLS0g
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9leHBlY3Rh
dGlvbnNfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvbW9kZWxzL3Rlc3RfZXhwZWN0YXRpb25zX3VuaXR0ZXN0LnB5CkBAIC0xOTksNyArMTk5LDcg
QEAgY2xhc3MgTWlzY1Rlc3RzKEJhc2UpOgogICAgIGRlZiB0ZXN0X3BhcnNlX3dhcm5pbmdzX2Fy
ZV9sb2dnZWRfaWZfbm90X2luX2xpbnRfbW9kZShzZWxmKToKICAgICAgICAgd2l0aCBPdXRwdXRD
YXB0dXJlKCkgYXMgY2FwdHVyZWQ6CiAgICAgICAgICAgICBzZWxmLnBhcnNlX2V4cCgnLS0gdGhp
cyBzaG91bGQgYmUgYSBzeW50YXggZXJyb3InLCBpc19saW50X21vZGU9RmFsc2UpCi0gICAgICAg
IHNlbGYuYXNzZXJ0Tm90RXF1YWxzKGNhcHR1cmVkLnJvb3QubG9nLmdldHZhbHVlKCksICcnKQor
ICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKGNhcHR1cmVkLnJvb3QubG9nLmdldHZhbHVlKCks
ICcnKQogCiAgICAgZGVmIHRlc3RfZXJyb3Jfb25fZGlmZmVyZW50X3BsYXRmb3JtKHNlbGYpOgog
ICAgICAgICAjIHBhcnNlX2V4cCB1c2VzIGEgV2luZG93cyBwb3J0LiBBc3NlcnQgZXJyb3JzIG9u
IE1hYyBzaG93IHVwIGluIGxpbnQgbW9kZS4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X3J1bl9yZXN1bHRzX3VuaXR0ZXN0LnB5IGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfcnVuX3Jlc3Vs
dHNfdW5pdHRlc3QucHkKaW5kZXggMDkwZGQxNTMwYTMwNjI0YTc4NzVjYmZjYTFiYzYyMjJiMWY0
NWViOC4uMDEwNTY2MDEyZGIyMGQ3ZmFmYWE4M2Q0YjEwM2FjZGVhMjA2MWFlYiAxMDA2NDQKLS0t
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfcnVuX3Jl
c3VsdHNfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvbW9kZWxzL3Rlc3RfcnVuX3Jlc3VsdHNfdW5pdHRlc3QucHkKQEAgLTE1OCwxOSArMTU4LDE5
IEBAIGNsYXNzIFN1bW1hcml6ZWRSZXN1bHRzVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAg
ZGVmIHRlc3Rfc3ZuX3JldmlzaW9uX2V4aXN0cyhzZWxmKToKICAgICAgICAgc2VsZi5wb3J0Ll9v
cHRpb25zLmJ1aWxkZXJfbmFtZSA9ICdkdW1teSBidWlsZGVyJwogICAgICAgICBzdW1tYXJ5ID0g
c3VtbWFyaXplZF9yZXN1bHRzKHNlbGYucG9ydCwgZXhwZWN0ZWQ9RmFsc2UsIHBhc3Npbmc9RmFs
c2UsIGZsYWt5PUZhbHNlKQotICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFscyhzdW1tYXJ5Wydy
ZXZpc2lvbiddLCAnJykKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChzdW1tYXJ5WydyZXZp
c2lvbiddLCAnJykKIAogICAgIGRlZiB0ZXN0X3N2bl9yZXZpc2lvbihzZWxmKToKICAgICAgICAg
d2l0aCBtb2Nrcy5sb2NhbC5Tdm4ocGF0aD0nLycpLCBtb2Nrcy5sb2NhbC5HaXQoKToKICAgICAg
ICAgICAgIHNlbGYucG9ydC5fb3B0aW9ucy5idWlsZGVyX25hbWUgPSAnZHVtbXkgYnVpbGRlcicK
ICAgICAgICAgICAgIHN1bW1hcnkgPSBzdW1tYXJpemVkX3Jlc3VsdHMoc2VsZi5wb3J0LCBleHBl
Y3RlZD1GYWxzZSwgcGFzc2luZz1GYWxzZSwgZmxha3k9RmFsc2UpCi0gICAgICAgICAgICBzZWxm
LmFzc2VydEVxdWFscyhzdW1tYXJ5WydyZXZpc2lvbiddLCAnNicpCisgICAgICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKHN1bW1hcnlbJ3JldmlzaW9uJ10sICc2JykKIAogICAgIGRlZiB0ZXN0X3N2
bl9yZXZpc2lvbl9naXQoc2VsZik6CiAgICAgICAgIHdpdGggbW9ja3MubG9jYWwuU3ZuKCksIG1v
Y2tzLmxvY2FsLkdpdChwYXRoPScvJywgZ2l0X3N2bj1UcnVlKSwgT3V0cHV0Q2FwdHVyZSgpOgog
ICAgICAgICAgICAgc2VsZi5wb3J0Ll9vcHRpb25zLmJ1aWxkZXJfbmFtZSA9ICdkdW1teSBidWls
ZGVyJwogICAgICAgICAgICAgc3VtbWFyeSA9IHN1bW1hcml6ZWRfcmVzdWx0cyhzZWxmLnBvcnQs
IGV4cGVjdGVkPUZhbHNlLCBwYXNzaW5nPUZhbHNlLCBmbGFreT1GYWxzZSkKLSAgICAgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWxzKHN1bW1hcnlbJ3JldmlzaW9uJ10sICc5JykKKyAgICAgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwoc3VtbWFyeVsncmV2aXNpb24nXSwgJzknKQogCiAgICAgZGVmIHRl
c3Rfc3VtbWFyaXplZF9yZXN1bHRzX3dvbnRmaXgoc2VsZik6CiAgICAgICAgIHNlbGYucG9ydC5f
b3B0aW9ucy5idWlsZGVyX25hbWUgPSAnZHVtbXkgYnVpbGRlcicKZGlmZiAtLWdpdCBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHNfaW50ZWdyYXRp
b250ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtp
dF90ZXN0c19pbnRlZ3JhdGlvbnRlc3QucHkKaW5kZXggZTY3ZWNlNTA3ZDQwYTM5ODA3OWYzMjNl
ZTdhNTdjZWY5NmZjYjQ0Ny4uY2NlYTliNDgwYjZiMWUwMTNhZjAxYmJiMjNiYzFlMTBkNWM5Yzhm
YSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dl
YmtpdF90ZXN0c19pbnRlZ3JhdGlvbnRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0c19pbnRlZ3JhdGlvbnRlc3QucHkKQEAgLTgy
Miw5ICs4MjIsOSBAQCBjbGFzcyBSdW5UZXN0KHVuaXR0ZXN0LlRlc3RDYXNlLCBTdHJlYW1UZXN0
aW5nTWl4aW4pOgogICAgICAgICBkZXRhaWxzLCBfLCBfID0gbG9nZ2luZ19ydW4oWydmYWlsdXJl
cy9leHBlY3RlZC90aW1lb3V0Lmh0bWwnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICdmYWlsdXJlcy91bmV4cGVjdGVkL3RpbWVvdXQuaHRtbCddLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaG9zdD1ob3N0KQotICAgICAgICBzZWxmLmFzc2VydEVx
dWFscyhkZXRhaWxzLmluaXRpYWxfcmVzdWx0cy5zbG93X3Rlc3RzLAorICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKGRldGFpbHMuaW5pdGlhbF9yZXN1bHRzLnNsb3dfdGVzdHMsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHsnZmFpbHVyZXMvdW5leHBlY3RlZC90aW1lb3V0Lmh0bWwnfSkKLSAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoZGV0YWlscy5yZXRyeV9yZXN1bHRzLnNsb3dfdGVzdHMs
CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGV0YWlscy5yZXRyeV9yZXN1bHRzLnNsb3dfdGVz
dHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHsnZmFpbHVyZXMvdW5leHBlY3RlZC90aW1l
b3V0Lmh0bWwnfSkKIAogICAgIGRlZiBzZXJpYWxfdGVzdF9ub19odHRwX2FuZF9mb3JjZShzZWxm
KToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3NlcnZl
cnMvaHR0cF9zZXJ2ZXJfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9zZXJ2ZXJzL2h0dHBfc2VydmVyX3VuaXR0ZXN0LnB5CmluZGV4IDczODk4MDUzMDRi
ZmVlMTNhNWEyN2YxZWMwZWVkNDY1Yzk1NGYyMTEuLjhkYTY2NGFlYzUyZDUyYWQ5MDBhMzU2ZTVm
OGUxMzg0NDk2MWJmYWIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3NlcnZlcnMvaHR0cF9zZXJ2ZXJfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvc2VydmVycy9odHRwX3NlcnZlcl91bml0dGVzdC5weQpA
QCAtODgsNyArODgsNyBAQCBjbGFzcyBUZXN0SHR0cFNlcnZlcih1bml0dGVzdC5UZXN0Q2FzZSk6
CiAgICAgICAgIHNlcnZlci5faXNfc2VydmVyX3J1bm5pbmdfb25fYWxsX3BvcnRzID0gbGFtYmRh
OiBUcnVlCiAKICAgICAgICAgc2VydmVyLnN0YXJ0KCkKLSAgICAgICAgc2VsZi5hc3NlcnROb3RF
cXVhbHMoaG9zdC5leGVjdXRpdmUuY2FsbHMsIFtdKQorICAgICAgICBzZWxmLmFzc2VydE5vdEVx
dWFsKGhvc3QuZXhlY3V0aXZlLmNhbGxzLCBbXSkKIAogICAgICAgICBkZWYgd2FpdF9mb3JfYWN0
aW9uKGFjdGlvbik6CiAgICAgICAgICAgICBpZiBhY3Rpb24oKToKZGlmZiAtLWdpdCBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvcG9ydC9kcml2ZXJfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3BvcnQvZHJpdmVyX3VuaXR0ZXN0LnB5CmluZGV4IDg1YzgwM2NmZWI0NTZkMzJh
ZmM4ZGNmZWI2MzczZDkwYjU0ZGNjMzUuLjk4MDFmYTYzN2VmOGIwYzQ1Njk4ZWZkMDVkMDY4ZDAy
MTFlMjMyNTYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9kcml2ZXJf
dW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2RyaXZlcl91bml0
dGVzdC5weQpAQCAtMjk4LDcgKzI5OCw3IEBAIGNsYXNzIERyaXZlclRlc3QodW5pdHRlc3QuVGVz
dENhc2UpOgogICAgICAgICBkcml2ZXIgPSBEcml2ZXIocG9ydCwgMCwgcGl4ZWxfdGVzdHM9VHJ1
ZSkKICAgICAgICAgZHJpdmVyLnN0YXJ0KFRydWUsIFtdKQogICAgICAgICBsYXN0X3RtcGRpciA9
IHBvcnQuX2ZpbGVzeXN0ZW0ubGFzdF90bXBkaXIKLSAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVh
bHMobGFzdF90bXBkaXIsIE5vbmUpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwobGFzdF90
bXBkaXIsIE5vbmUpCiAgICAgICAgIGRyaXZlci5zdG9wKCkKICAgICAgICAgc2VsZi5hc3NlcnRG
YWxzZShwb3J0Ll9maWxlc3lzdGVtLmlzZGlyKGxhc3RfdG1wZGlyKSkKIApAQCAtNDAxLDcgKzQw
MSw3IEBAIGNsYXNzIERyaXZlclRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAgICAg
ZHJpdmVyID0gRHJpdmVyKHBvcnQsIE5vbmUsIHBpeGVsX3Rlc3RzPUZhbHNlKQogICAgICAgICAg
ICAgZHJpdmVyLnN0YXJ0KFRydWUsIFtdKQogICAgICAgICAgICAgZW52aXJvbl9kcml2ZXIgPSBk
cml2ZXIuX3NldHVwX2Vudmlyb25fZm9yX3Rlc3QoKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRO
b3RFcXVhbHMoZW52aXJvbl9kcml2ZXJbJ0hPTUUnXSwgZW52aXJvbl91c2VyWydIT01FJ10pCisg
ICAgICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKGVudmlyb25fZHJpdmVyWydIT01FJ10sIGVu
dmlyb25fdXNlclsnSE9NRSddKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRJbihzdHIoZHJpdmVy
Ll9kcml2ZXJfdGVtcGRpciksIGVudmlyb25fZHJpdmVyWydIT01FJ10pCiAgICAgICAgICAgICBz
ZWxmLmFzc2VydE5vdEluKHN0cihkcml2ZXIuX2RyaXZlcl90ZW1wZGlyKSwgZW52aXJvbl91c2Vy
WydIT01FJ10pCiAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUocG9ydC5fZmlsZXN5c3RlbS5p
c2RpcihlbnZpcm9uX2RyaXZlclsnSE9NRSddKSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvcG9ydC9ndGtfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Bv
cnQvZ3RrX3VuaXR0ZXN0LnB5CmluZGV4IDBkYmMyOWZhY2Y5MmVmY2U4YWUxNmU4OWQxYTQxNTQ5
OWZlOTAxZTUuLjVmNGE3NWQ5NjBlZGVkMGFmNzg2MDlkYTIxOThiMjM1N2E2OTA3MWIgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9ndGtfdW5pdHRlc3QucHkKKysrIGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2d0a191bml0dGVzdC5weQpAQCAtMTAxLDcgKzEw
MSw3IEBAIGNsYXNzIEd0a1BvcnRUZXN0KHBvcnRfdGVzdGNhc2UuUG9ydFRlc3RDYXNlKToKICAg
ICAgICAgICAgICIvbW9jay1idWlsZC9saWIvbGlid2Via2l0Mmd0ay01LjAuc28iOiAiIgogICAg
ICAgICB9KQogICAgICAgICB3aXRoIE91dHB1dENhcHR1cmUoKSBhcyBfOgotICAgICAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbHMocG9ydC5leHBlY3RhdGlvbnNfZmlsZXMoKSwKKyAgICAgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwocG9ydC5leHBlY3RhdGlvbnNfZmlsZXMoKSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFsnL21vY2stY2hlY2tvdXQvTGF5b3V0VGVzdHMvVGVzdEV4cGVj
dGF0aW9ucycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy9tb2NrLWNoZWNrb3V0
L0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zJywKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAnL21vY2stY2hlY2tvdXQvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Z2xpYi9UZXN0RXhwZWN0YXRpb25zJywKQEAgLTExNSw3ICsxMTUsNyBAQCBjbGFzcyBHdGtQb3J0
VGVzdChwb3J0X3Rlc3RjYXNlLlBvcnRUZXN0Q2FzZSk6CiAgICAgICAgIH0pCiAKICAgICAgICAg
d2l0aCBPdXRwdXRDYXB0dXJlKCkgYXMgXzoKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxz
KHBvcnQuZXhwZWN0YXRpb25zX2ZpbGVzKCksCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KHBvcnQuZXhwZWN0YXRpb25zX2ZpbGVzKCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBbJy9tb2NrLWNoZWNrb3V0L0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMnLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICcvbW9jay1jaGVja291dC9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9ucycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJy9tb2NrLWNoZWNrb3V0L0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvVGVzdEV4cGVjdGF0
aW9ucycsCkBAIC0xMjksOSArMTI5LDkgQEAgY2xhc3MgR3RrUG9ydFRlc3QocG9ydF90ZXN0Y2Fz
ZS5Qb3J0VGVzdENhc2UpOgogICAgICAgICB9KQogCiAgICAgICAgIHdpdGggT3V0cHV0Q2FwdHVy
ZSgpIGFzIGNhcHR1cmVkOgotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMocG9ydC5leHBl
Y3RhdGlvbnNfZmlsZXMoKSwKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocG9ydC5leHBl
Y3RhdGlvbnNfZmlsZXMoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsnL21vY2st
Y2hlY2tvdXQvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucycsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJy9tb2NrLWNoZWNrb3V0L0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9U
ZXN0RXhwZWN0YXRpb25zJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnL21vY2st
Y2hlY2tvdXQvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9UZXN0RXhwZWN0YXRpb25zJywKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnL21vY2stY2hlY2tvdXQvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMnXSkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWxzKGNhcHR1cmVkLnJvb3QubG9nLmdldHZhbHVlKCksICdNdWx0aXBsZSBXZWJLaXQyR1RL
IGxpYnJhcmllcyBmb3VuZC4gU2tpcHBpbmcgR1RLNCBkZXRlY3Rpb24uXG4nKQorICAgICAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChjYXB0dXJlZC5yb290LmxvZy5nZXR2YWx1ZSgpLCAnTXVsdGlw
bGUgV2ViS2l0MkdUSyBsaWJyYXJpZXMgZm91bmQuIFNraXBwaW5nIEdUSzQgZGV0ZWN0aW9uLlxu
JykKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvdGVz
dF9leHBlY3RhdGlvbnNfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxl
L2NoZWNrZXJzL3Rlc3RfZXhwZWN0YXRpb25zX3VuaXR0ZXN0LnB5CmluZGV4IDQzYjdlYWExMmI4
OGUzZmUyMzg1YzA0Zjk0NzZkMzdhN2I3MjIyODcuLmI3ZjAxOTI0NjdjZGUwY2E2MTk2YTI5ODNj
NTQyNTk5YTkwZWU5Y2IgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUv
Y2hlY2tlcnMvdGVzdF9leHBlY3RhdGlvbnNfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy90ZXN0X2V4cGVjdGF0aW9uc191bml0dGVzdC5weQpA
QCAtOTUsNyArOTUsNyBAQCBjbGFzcyBUZXN0RXhwZWN0YXRpb25zVGVzdENhc2UodW5pdHRlc3Qu
VGVzdENhc2UpOgogICAgICAgICBlbGlmIGV4cGVjdGVkX291dHB1dDoKICAgICAgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwoZXhwZWN0ZWRfb3V0cHV0LCBzZWxmLl9lcnJvcl9jb2xsZWN0b3IuZ2V0
X2Vycm9ycygpKQogICAgICAgICBlbHNlOgotICAgICAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVh
bHMoJycsIHNlbGYuX2Vycm9yX2NvbGxlY3Rvci5nZXRfZXJyb3JzKCkpCisgICAgICAgICAgICBz
ZWxmLmFzc2VydE5vdEVxdWFsKCcnLCBzZWxmLl9lcnJvcl9jb2xsZWN0b3IuZ2V0X2Vycm9ycygp
KQogCiAgICAgICAgICMgTm90ZSB0aGF0IGEgcGF0Y2ggbWlnaHQgY2hhbmdlIGEgbGluZSB0aGF0
IGludHJvZHVjZXMgZXJyb3JzIGVsc2V3aGVyZSwgYnV0IHdlCiAgICAgICAgICMgZG9uJ3Qgd2Fu
dCB0byBsaW50IHRoZSB3aG9sZSBmaWxlIChpdCBjYW4gdW5mYWlybHkgcHVuaXNoIHBhdGNoZXMg
Zm9yIHByZS1leGlzdGluZyBlcnJvcnMpLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS90b29sL3N0ZXBzL3ByZXBhcmVjaGFuZ2Vsb2dfdW5pdHRlc3QucHkgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvcHJlcGFyZWNoYW5nZWxvZ191bml0dGVzdC5weQppbmRl
eCA3MjRmY2NjODIzMDE0OTcxODRiZWFjMjM1NTQ1MDZiOTY1ZmIxOTIxLi5hMDVhMTQ1Y2IwNDIz
ZDY2MDRmNzMzOTZmM2FmMDhhOWU0ZjNiMWIwIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3Rvb2wvc3RlcHMvcHJlcGFyZWNoYW5nZWxvZ191bml0dGVzdC5weQorKysgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvcHJlcGFyZWNoYW5nZWxvZ191bml0dGVzdC5w
eQpAQCAtMTE1LDcgKzExNSw3IEBAIGNsYXNzIFByZXBhcmVDaGFuZ2VMb2dUZXN0KGNoYW5nZWxv
Z191bml0dGVzdC5DaGFuZ2VMb2dUZXN0KToKICAgICAgICAgICAgIHN0ZXAuX3Rvb2wuZmlsZXN5
c3RlbS53cml0ZV90ZXh0X2ZpbGUocGF0aCwgc3RhcnRfZmlsZSkKICAgICAgICAgICAgIHN0ZXAu
X3Jlc29sdmVfZXhpc3RpbmdfZW50cnkocGF0aCkKICAgICAgICAgICAgIGFjdHVhbF9vdXRwdXQg
PSBzdGVwLl90b29sLmZpbGVzeXN0ZW0ucmVhZF90ZXh0X2ZpbGUocGF0aCkKLSAgICAgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWxzKGFjdHVhbF9vdXRwdXQsIGVuZF9maWxlKQorICAgICAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChhY3R1YWxfb3V0cHV0LCBlbmRfZmlsZSkKIAogICAgIGRlZiB0ZXN0
X2Vuc3VyZV9idWdfdXJsKHNlbGYpOgogICAgICAgICBzdGVwID0gUHJlcGFyZUNoYW5nZUxvZyhN
b2NrVG9vbCgpLCBNb2NrT3B0aW9ucygpKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS93M2MvdGVzdF9jb252ZXJ0ZXJfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3czYy90ZXN0X2NvbnZlcnRlcl91bml0dGVzdC5weQppbmRleCBiNDRmNTAxOGI2YmEyNmRm
NzFiNjk3NjdlOGI0MGY5MTUyNDQ5MmUzLi44NDdjNzUyYmE3NTUwODhmNGNkMWQ1MGQxN2MzYzgy
ZWE2YWVlMGM0IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3czYy90ZXN0X2Nv
bnZlcnRlcl91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3czYy90ZXN0
X2NvbnZlcnRlcl91bml0dGVzdC5weQpAQCAtMzY4LDEzICszNjgsMTMgQEAgQ09OVEVOVCBPRiBU
RVNUCiAKICAgICAgICAgIyBWZXJpZnkgdGhlIG9yaWdpbmFsIHBhdGhzIGFyZSBnb25lLCBhbmQg
dGhlIG5ldyBwYXRocyBhcmUgcHJlc2VudC4KICAgICAgICAgb3JpZ19wYXRoX3BhdHRlcm4gPSBy
ZS5jb21waWxlKCdcIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MnKQotICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFscyhsZW4oY29udmVydGVkLmZpbmRBbGwoc3JjPW9yaWdfcGF0aF9wYXR0ZXJuKSksIDAs
ICd0ZXN0aGFybmVzcyBzcmMgcGF0aCB3YXMgbm90IGNvbnZlcnRlZCcpCi0gICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWxzKGxlbihjb252ZXJ0ZWQuZmluZEFsbChocmVmPW9yaWdfcGF0aF9wYXR0ZXJu
KSksIDAsICd0ZXN0aGFybmVzcyBocmVmIHBhdGggd2FzIG5vdCBjb252ZXJ0ZWQnKQorICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKGxlbihjb252ZXJ0ZWQuZmluZEFsbChzcmM9b3JpZ19wYXRoX3Bh
dHRlcm4pKSwgMCwgJ3Rlc3RoYXJuZXNzIHNyYyBwYXRoIHdhcyBub3QgY29udmVydGVkJykKKyAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oY29udmVydGVkLmZpbmRBbGwoaHJlZj1vcmlnX3Bh
dGhfcGF0dGVybikpLCAwLCAndGVzdGhhcm5lc3MgaHJlZiBwYXRoIHdhcyBub3QgY29udmVydGVk
JykKIAogICAgICAgICBuZXdfcmVscGF0aCA9IG9zLnBhdGgucmVscGF0aChyZXNvdXJjZXNfZGly
LCB0ZXN0X3BhdGgpLnJlcGxhY2Uob3Muc2VwLCAnLycpCiAgICAgICAgIHJlbHBhdGhfcGF0dGVy
biA9IHJlLmNvbXBpbGUobmV3X3JlbHBhdGgpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKGxl
bihjb252ZXJ0ZWQuZmluZEFsbChzcmM9cmVscGF0aF9wYXR0ZXJuKSksIG51bV9zcmNfcGF0aHMs
ICd0ZXN0aGFybmVzcyBzcmMgcmVsYXRpdmUgcGF0aCBub3QgY29ycmVjdCcpCi0gICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWxzKGxlbihjb252ZXJ0ZWQuZmluZEFsbChocmVmPXJlbHBhdGhfcGF0dGVy
bikpLCBudW1faHJlZl9wYXRocywgJ3Rlc3RoYXJuZXNzIGhyZWYgcmVsYXRpdmUgcGF0aCBub3Qg
Y29ycmVjdCcpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGNvbnZlcnRlZC5maW5kQWxs
KHNyYz1yZWxwYXRoX3BhdHRlcm4pKSwgbnVtX3NyY19wYXRocywgJ3Rlc3RoYXJuZXNzIHNyYyBy
ZWxhdGl2ZSBwYXRoIG5vdCBjb3JyZWN0JykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4o
Y29udmVydGVkLmZpbmRBbGwoaHJlZj1yZWxwYXRoX3BhdHRlcm4pKSwgbnVtX2hyZWZfcGF0aHMs
ICd0ZXN0aGFybmVzcyBocmVmIHJlbGF0aXZlIHBhdGggbm90IGNvcnJlY3QnKQogCiAgICAgZGVm
IHZlcmlmeV9wcmVmaXhlZF9wcm9wZXJ0aWVzKHNlbGYsIGNvbnZlcnRlZCwgdGVzdF9wcm9wZXJ0
aWVzKToKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oc2V0KGNvbnZlcnRlZFswXSkpLCBs
ZW4oc2V0KHRlc3RfcHJvcGVydGllcykpLCAnSW5jb3JyZWN0IG51bWJlciBvZiBwcm9wZXJ0aWVz
IGNvbnZlcnRlZCcpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3czYy90ZXN0
X2V4cG9ydGVyX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS93M2MvdGVzdF9l
eHBvcnRlcl91bml0dGVzdC5weQppbmRleCBiMmQ2N2I3YjMyNjNmNDNjMTA3MTgyYjQyOWRlZjAw
MWI5YTBmMjgyLi4wMTc4NDVjMzQ3OTBjZjZkZDY1YzNmZDk0OWZmYzEyMzU1NDU1MTk4IDEwMDY0
NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3czYy90ZXN0X2V4cG9ydGVyX3VuaXR0ZXN0
LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdzNjL3Rlc3RfZXhwb3J0ZXJfdW5pdHRl
c3QucHkKQEAgLTEzMCw5ICsxMzAsOSBAQCBjbGFzcyBUZXN0RXhwb3J0ZXJUZXN0KHVuaXR0ZXN0
LlRlc3RDYXNlKToKICAgICAgICAgb3B0aW9ucyA9IHBhcnNlX2FyZ3MoWyd0ZXN0X2V4cG9ydGVy
LnB5JywgJy1nJywgJ0hFQUQnLCAnLWInLCAnMTIzNCcsICctYycsICctbicsICdVU0VSJywgJy10
JywgJ1RPS0VOJ10pCiAgICAgICAgIGV4cG9ydGVyID0gV2ViUGxhdGZvcm1UZXN0RXhwb3J0ZXIo
aG9zdCwgb3B0aW9ucywgVGVzdEV4cG9ydGVyVGVzdC5Nb2NrR2l0LCBUZXN0RXhwb3J0ZXJUZXN0
Lk1vY2tCdWd6aWxsYSwgTW9ja1dQVEdpdEh1YiwgVGVzdEV4cG9ydGVyVGVzdC5Nb2NrV1BUTGlu
dGVyKQogICAgICAgICBleHBvcnRlci5kb19leHBvcnQoKQotICAgICAgICBzZWxmLmFzc2VydEVx
dWFscyhleHBvcnRlci5fZ2l0aHViLmNhbGxzLCBbJ2NyZWF0ZV9wcicsICdhZGRfbGFiZWwgIndl
YmtpdC1leHBvcnQiJ10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwb3J0ZXIuX2dpdGh1
Yi5jYWxscywgWydjcmVhdGVfcHInLCAnYWRkX2xhYmVsICJ3ZWJraXQtZXhwb3J0IiddKQogICAg
ICAgICBzZWxmLmFzc2VydFRydWUoJ1dlYktpdCBleHBvcnQnIGluIGV4cG9ydGVyLl9naXRodWIu
cHVsbF9yZXF1ZXN0c19jcmVhdGVkWzBdWzFdKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhl
eHBvcnRlci5fZ2l0LmNhbGxzLCBbCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwb3J0ZXIu
X2dpdC5jYWxscywgWwogICAgICAgICAgICAgJy9tb2NrLWNoZWNrb3V0L1dlYktpdEJ1aWxkL3cz
Yy10ZXN0cy93ZWItcGxhdGZvcm0tdGVzdHMnLAogICAgICAgICAgICAgJ2ZldGNoJywKICAgICAg
ICAgICAgICdjaGVja291dCBtYXN0ZXInLApAQCAtMTQ4LDExICsxNDgsMTEgQEAgY2xhc3MgVGVz
dEV4cG9ydGVyVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICAgICAnZGVsZXRlIGJy
YW5jaCB3cHQtZXhwb3J0LWZvci13ZWJraXQtMTIzNCcsCiAgICAgICAgICAgICAnY2hlY2tvdXQg
bWFzdGVyJywKICAgICAgICAgICAgICdyZXNldCBoYXJkIG9yaWdpbi9tYXN0ZXInXSkKLSAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbHMoZXhwb3J0ZXIuX2J1Z3ppbGxhLmNhbGxzLCBbCisgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwoZXhwb3J0ZXIuX2J1Z3ppbGxhLmNhbGxzLCBbCiAgICAgICAgICAg
ICAnZmV0Y2ggYnVnIDEyMzQnLAogICAgICAgICAgICAgJ0FwcGVuZCBodHRwczovL2dpdGh1Yi5j
b20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9wdWxsLzU2NzggdG8gc2VlIGFsc28gbGlzdCcsCiAg
ICAgICAgICAgICAncG9zdCBjb21tZW50IHRvIGJ1ZyAxMjM0IDogU3VibWl0dGVkIHdlYi1wbGF0
Zm9ybS10ZXN0cyBwdWxsIHJlcXVlc3Q6IGh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0t
dGVzdHMvd3B0L3B1bGwvNTY3OCddKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhtb2NrX2xp
bnRlci5jYWxscywgWycvbW9jay1jaGVja291dC9XZWJLaXRCdWlsZC93M2MtdGVzdHMvd2ViLXBs
YXRmb3JtLXRlc3RzJywgJ2xpbnQnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2NrX2xp
bnRlci5jYWxscywgWycvbW9jay1jaGVja291dC9XZWJLaXRCdWlsZC93M2MtdGVzdHMvd2ViLXBs
YXRmb3JtLXRlc3RzJywgJ2xpbnQnXSkKIAogICAgIGRlZiB0ZXN0X2V4cG9ydF93aXRoX3NwZWNp
ZmljX2JyYW5jaChzZWxmKToKICAgICAgICAgaG9zdCA9IFRlc3RFeHBvcnRlclRlc3QuTXlNb2Nr
SG9zdCgpCkBAIC0xNjAsNyArMTYwLDcgQEAgY2xhc3MgVGVzdEV4cG9ydGVyVGVzdCh1bml0dGVz
dC5UZXN0Q2FzZSk6CiAgICAgICAgIG9wdGlvbnMgPSBwYXJzZV9hcmdzKFsndGVzdF9leHBvcnRl
ci5weScsICctZycsICdIRUFEJywgJy1iJywgJzEyMzQnLCAnLWMnLCAnLW4nLCAnVVNFUicsICct
dCcsICdUT0tFTicsICctYm4nLCAnd3B0LWV4cG9ydC1icmFuY2gnXSkKICAgICAgICAgZXhwb3J0
ZXIgPSBXZWJQbGF0Zm9ybVRlc3RFeHBvcnRlcihob3N0LCBvcHRpb25zLCBUZXN0RXhwb3J0ZXJU
ZXN0Lk1vY2tHaXQsIFRlc3RFeHBvcnRlclRlc3QuTW9ja0J1Z3ppbGxhLCBNb2NrV1BUR2l0SHVi
LCBUZXN0RXhwb3J0ZXJUZXN0Lk1vY2tXUFRMaW50ZXIpCiAgICAgICAgIGV4cG9ydGVyLmRvX2V4
cG9ydCgpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKGV4cG9ydGVyLl9naXQuY2FsbHMsIFsK
KyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBvcnRlci5fZ2l0LmNhbGxzLCBbCiAgICAgICAg
ICAgICAnL21vY2stY2hlY2tvdXQvV2ViS2l0QnVpbGQvdzNjLXRlc3RzL3dlYi1wbGF0Zm9ybS10
ZXN0cycsCiAgICAgICAgICAgICAnZmV0Y2gnLAogICAgICAgICAgICAgJ2NoZWNrb3V0IG1hc3Rl
cicsCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3czYy90ZXN0X2ltcG9ydGVy
X3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS93M2MvdGVzdF9pbXBvcnRlcl91
bml0dGVzdC5weQppbmRleCA2MDQ0YTczZGQ5Y2FlODEzNDlkYTE5MDg2YmU4NWU1ZTMwNTdlOTBm
Li5jMDg5YzcwMzY1Y2M0NDdkZGY1NjVlNGM1NWQ0ZGQ0YTNiMGZmNzFiIDEwMDY0NAotLS0gYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3czYy90ZXN0X2ltcG9ydGVyX3VuaXR0ZXN0LnB5CisrKyBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdzNjL3Rlc3RfaW1wb3J0ZXJfdW5pdHRlc3QucHkKQEAg
LTM0NSw3ICszNDUsNyBAQCBjbGFzcyBUZXN0SW1wb3J0ZXJUZXN0KHVuaXR0ZXN0LlRlc3RDYXNl
KToKIAogICAgICAgICBmcyA9IHNlbGYuaW1wb3J0X2Rvd25sb2FkZWRfdGVzdHMoWyctLW5vLWZl
dGNoJywgJy0taW1wb3J0LWFsbCcsICctZCcsICd3M2MnXSwgRkFLRV9GSUxFUykKICAgICAgICAg
c2VsZi5hc3NlcnRGYWxzZShmcy5leGlzdHMoJy9tb2NrLWNoZWNrb3V0L0xheW91dFRlc3RzL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdC9uZXctbWFudWFsLmh0bWwnKSkKLSAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbHModGVzdHNfb3B0aW9ucywgZnMucmVhZF90ZXh0X2ZpbGUoJy9tb2NrLWNoZWNr
b3V0L0xheW91dFRlc3RzL3Rlc3RzLW9wdGlvbnMuanNvbicpKQorICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKHRlc3RzX29wdGlvbnMsIGZzLnJlYWRfdGV4dF9maWxlKCcvbW9jay1jaGVja291dC9M
YXlvdXRUZXN0cy90ZXN0cy1vcHRpb25zLmpzb24nKSkKIAogICAgIGRlZiB0ZXN0X3dlYmtpdF90
ZXN0X3J1bm5lcl9vcHRpb25zKHNlbGYpOgogICAgICAgICBGQUtFX0ZJTEVTID0gewpkaWZmIC0t
Z2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS93M2MvdGVzdF9wYXJzZXJfdW5pdHRlc3QucHkg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3czYy90ZXN0X3BhcnNlcl91bml0dGVzdC5weQppbmRl
eCA0NGUzNDQ4OGUwNDYzOTNhNzc3ZDk4ODE4YzExYjRhMzQwMDYzZTU3Li45MTA2ODUyNDNmNDk4
ODQ5Nzc5OWM4ZGZlMWRjMDJiZGViNTIxOWFjIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3czYy90ZXN0X3BhcnNlcl91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3czYy90ZXN0X3BhcnNlcl91bml0dGVzdC5weQpAQCAtMTMzLDcgKzEzMyw3IEBAIGNs
YXNzIFRlc3RQYXJzZXJUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgc2VsZi5hc3Nl
cnRUcnVlKCdyZWZlcmVuY2UnIGluIHRlc3RfaW5mby5rZXlzKCksICdkaWQgbm90IGZpbmQgYSBy
ZWZlcmVuY2UgZmlsZScpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh0ZXN0X2luZm9bJ3JlZmVy
ZW5jZSddLnN0YXJ0c3dpdGgodGVzdF9wYXRoKSwgJ3JlZmVyZW5jZSBwYXRoIGlzIG5vdCBjb3Jy
ZWN0JykKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKCdyZWZlcmVuY2Vfc3VwcG9ydF9pbmZvJyBp
biB0ZXN0X2luZm8ua2V5cygpLCAndGhlcmUgc2hvdWxkIGJlIHJlZmVyZW5jZV9zdXBwb3J0X2lu
Zm8gZm9yIHRoaXMgdGVzdCcpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKGxlbih0ZXN0X2lu
Zm9bJ3JlZmVyZW5jZV9zdXBwb3J0X2luZm8nXVsnZmlsZXMnXSksIDQsICd0aGVyZSBzaG91bGQg
YmUgNCBzdXBwb3J0IGZpbGVzIGluIHRoaXMgcmVmZXJlbmNlJykKKyAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChsZW4odGVzdF9pbmZvWydyZWZlcmVuY2Vfc3VwcG9ydF9pbmZvJ11bJ2ZpbGVzJ10p
LCA0LCAndGhlcmUgc2hvdWxkIGJlIDQgc3VwcG9ydCBmaWxlcyBpbiB0aGlzIHJlZmVyZW5jZScp
CiAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoJ2pzdGVzdCcgaW4gdGVzdF9pbmZvLmtleXMoKSwg
J3Rlc3Qgc2hvdWxkIG5vdCBoYXZlIGJlZW4gYW5hbHl6ZWQgYXMgYSBqc3Rlc3QnKQogCiAgICAg
ZGVmIHRlc3RfYW5hbHl6ZV9qc3Rlc3Qoc2VsZik6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3czYy93cHRfcnVubmVyX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS93M2Mvd3B0X3J1bm5lcl91bml0dGVzdC5weQppbmRleCA2YmNmY2IwZjA2NTk4ZWFlNDk0
Zjg5NDhjZTRmMTIzMzA5ZmY2MmYyLi4wNTEzMTlhMzFhY2JhODM2NTg2MTgxYTcwN2U4NTRjOGVj
OWNiN2Q3IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3czYy93cHRfcnVubmVy
X3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdzNjL3dwdF9ydW5uZXJf
dW5pdHRlc3QucHkKQEAgLTEyNyw5ICsxMjcsOSBAQCBjbGFzcyBXUFRSdW5uZXJUZXN0KHVuaXR0
ZXN0LlRlc3RDYXNlKToKICAgICAgICAgICAgIHNlbGYuX2V4cGVjdGVkX3dwdF9hcmdzID0gZXhw
ZWN0ZWRfd3B0X2FyZ3MKIAogICAgICAgICBkZWYgX19jYWxsX18oc2VsZiwgc2NyaXB0X25hbWUs
IHdwdF9jaGVja291dCwgd3B0X2FyZ3MpOgotICAgICAgICAgICAgc2VsZi5fdGVzdF9jYXNlLmFz
c2VydEVxdWFscyhzY3JpcHRfbmFtZSwgIndwdHJ1bm5lcl91bml0dGVzdCIpCi0gICAgICAgICAg
ICBzZWxmLl90ZXN0X2Nhc2UuYXNzZXJ0RXF1YWxzKHdwdF9jaGVja291dCwgc2VsZi5fZXhwZWN0
ZWRfd3B0X2NoZWNrb3V0KQotICAgICAgICAgICAgc2VsZi5fdGVzdF9jYXNlLmFzc2VydEVxdWFs
cyh3cHRfYXJncywgc2VsZi5fZXhwZWN0ZWRfd3B0X2FyZ3MpCisgICAgICAgICAgICBzZWxmLl90
ZXN0X2Nhc2UuYXNzZXJ0RXF1YWwoc2NyaXB0X25hbWUsICJ3cHRydW5uZXJfdW5pdHRlc3QiKQor
ICAgICAgICAgICAgc2VsZi5fdGVzdF9jYXNlLmFzc2VydEVxdWFsKHdwdF9jaGVja291dCwgc2Vs
Zi5fZXhwZWN0ZWRfd3B0X2NoZWNrb3V0KQorICAgICAgICAgICAgc2VsZi5fdGVzdF9jYXNlLmFz
c2VydEVxdWFsKHdwdF9hcmdzLCBzZWxmLl9leHBlY3RlZF93cHRfYXJncykKIAogICAgIGNsYXNz
IFRlc3RJbnN0YW5jZShvYmplY3QpOgogICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgb3B0aW9u
cywgc3Bhd25fd3B0X2Z1bmM9Tm9uZSk6CkBAIC0xNTQsNyArMTU0LDcgQEAgY2xhc3MgV1BUUnVu
bmVyVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpbnN0
YW5jZS5ydW5uZXIucHJlcGFyZV93cHRfY2hlY2tvdXQoKSkKIAogICAgICAgICBleHBlY3RlZF93
cHRfY2hlY2tvdXQgPSAiL21vY2stY2hlY2tvdXQvV2ViS2l0QnVpbGQvdzNjLXRlc3RzL3dlYi1w
bGF0Zm9ybS10ZXN0cyIKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoaW5zdGFuY2UucnVubmVy
Ll9vcHRpb25zLndwdF9jaGVja291dCwgZXhwZWN0ZWRfd3B0X2NoZWNrb3V0KQorICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKGluc3RhbmNlLnJ1bm5lci5fb3B0aW9ucy53cHRfY2hlY2tvdXQsIGV4
cGVjdGVkX3dwdF9jaGVja291dCkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGluc3RhbmNlLmhv
c3QuZmlsZXN5c3RlbS5pc2RpcihleHBlY3RlZF93cHRfY2hlY2tvdXQpKQogCiAgICAgZGVmIHRl
c3RfcHJlcGFyZV93cHRfY2hlY2tvdXRfc3BlY2lmaWVkX3BhdGgoc2VsZik6CkBAIC0xNjYsNyAr
MTY2LDcgQEAgY2xhc3MgV1BUUnVubmVyVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAg
IGluc3RhbmNlLmhvc3QuZmlsZXN5c3RlbS5tYXliZV9tYWtlX2RpcmVjdG9yeShzcGVjaWZpZWRf
d3B0X2NoZWNrb3V0KQogCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpbnN0YW5jZS5ydW5uZXIu
cHJlcGFyZV93cHRfY2hlY2tvdXQoKSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoaW5zdGFu
Y2UucnVubmVyLl9vcHRpb25zLndwdF9jaGVja291dCwgc3BlY2lmaWVkX3dwdF9jaGVja291dCkK
KyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpbnN0YW5jZS5ydW5uZXIuX29wdGlvbnMud3B0X2No
ZWNrb3V0LCBzcGVjaWZpZWRfd3B0X2NoZWNrb3V0KQogCiAgICAgZGVmIHRlc3RfcnVuKHNlbGYp
OgogICAgICAgICAjIFRlc3RzIHRoZSBydW4oKSBtZXRob2QuIEZpbGVzIGFyZSBtb2NrZWQgdG8g
dGhlIHBvaW50IHRoYXQgaGVscGVyIG1ldGhvZHMgZG9uJ3QgZmFpbC4KZGlmZiAtLWdpdCBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkveGNvZGUvZGV2aWNlX3R5cGVfdW5pdHRlc3QucHkgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3hjb2RlL2RldmljZV90eXBlX3VuaXR0ZXN0LnB5CmluZGV4IDA4
MGI4ZTczYTgwZTdiZDViY2I2NDA2OGY2MDY2N2I3MDM2MzMzOGYuLjU2NjUxZTkzZGUwZmIzOGZm
YjA2YzQ5YmYyNDZmMDg1NGRkYzIyOGQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkveGNvZGUvZGV2aWNlX3R5cGVfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS94Y29kZS9kZXZpY2VfdHlwZV91bml0dGVzdC5weQpAQCAtMzEsNzAgKzMxLDcwIEBAIGNs
YXNzIERldmljZVR5cGVUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKIAogICAgIGRlZiB0ZXN0X2lw
aG9uZV9pbml0aWFsaXphdGlvbihzZWxmKToKICAgICAgICAgdHlwZSA9IERldmljZVR5cGUoaGFy
ZHdhcmVfZmFtaWx5PSdpUGhvbmUnKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscygnaVBob25l
JywgdHlwZS5oYXJkd2FyZV9mYW1pbHkpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKE5vbmUs
IHR5cGUuaGFyZHdhcmVfdHlwZSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoJ2lPUycsIHR5
cGUuc29mdHdhcmVfdmFyaWFudCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoTm9uZSwgdHlw
ZS5zb2Z0d2FyZV92ZXJzaW9uKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdpUGhvbmUnLCB0
eXBlLmhhcmR3YXJlX2ZhbWlseSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChOb25lLCB0eXBl
LmhhcmR3YXJlX3R5cGUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ2lPUycsIHR5cGUuc29m
dHdhcmVfdmFyaWFudCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChOb25lLCB0eXBlLnNvZnR3
YXJlX3ZlcnNpb24pCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ2lQaG9uZSBydW5uaW5nIGlP
UycsIHN0cih0eXBlKSkKIAogICAgICAgICB0eXBlID0gRGV2aWNlVHlwZSgnaVBob25lJywgJzZz
JywgVmVyc2lvbigxMSkpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKCdpUGhvbmUnLCB0eXBl
LmhhcmR3YXJlX2ZhbWlseSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoJzZzJywgdHlwZS5o
YXJkd2FyZV90eXBlKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscygnaU9TJywgdHlwZS5zb2Z0
d2FyZV92YXJpYW50KQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhWZXJzaW9uKDExKSwgdHlw
ZS5zb2Z0d2FyZV92ZXJzaW9uKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdpUGhvbmUnLCB0
eXBlLmhhcmR3YXJlX2ZhbWlseSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnNnMnLCB0eXBl
LmhhcmR3YXJlX3R5cGUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ2lPUycsIHR5cGUuc29m
dHdhcmVfdmFyaWFudCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChWZXJzaW9uKDExKSwgdHlw
ZS5zb2Z0d2FyZV92ZXJzaW9uKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdpUGhvbmUgNnMg
cnVubmluZyBpT1MgMTEnLCBzdHIodHlwZSkpCiAKICAgICBkZWYgdGVzdF9pcGFkX2luaXRpYWxp
emF0aW9uKHNlbGYpOgogICAgICAgICB0eXBlID0gRGV2aWNlVHlwZShoYXJkd2FyZV9mYW1pbHk9
J2lQYWQnKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscygnaVBhZCcsIHR5cGUuaGFyZHdhcmVf
ZmFtaWx5KQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhOb25lLCB0eXBlLmhhcmR3YXJlX3R5
cGUpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKCdpT1MnLCB0eXBlLnNvZnR3YXJlX3Zhcmlh
bnQpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKE5vbmUsIHR5cGUuc29mdHdhcmVfdmVyc2lv
bikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnaVBhZCcsIHR5cGUuaGFyZHdhcmVfZmFtaWx5
KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKE5vbmUsIHR5cGUuaGFyZHdhcmVfdHlwZSkKKyAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnaU9TJywgdHlwZS5zb2Z0d2FyZV92YXJpYW50KQorICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKE5vbmUsIHR5cGUuc29mdHdhcmVfdmVyc2lvbikKICAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbCgnaVBhZCBydW5uaW5nIGlPUycsIHN0cih0eXBlKSkKIAogICAg
ICAgICB0eXBlID0gRGV2aWNlVHlwZSgnaVBhZCcsICdBaXIgMicsIFZlcnNpb24oMTEpKQotICAg
ICAgICBzZWxmLmFzc2VydEVxdWFscygnaVBhZCcsIHR5cGUuaGFyZHdhcmVfZmFtaWx5KQotICAg
ICAgICBzZWxmLmFzc2VydEVxdWFscygnQWlyIDInLCB0eXBlLmhhcmR3YXJlX3R5cGUpCi0gICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWxzKCdpT1MnLCB0eXBlLnNvZnR3YXJlX3ZhcmlhbnQpCi0gICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWxzKFZlcnNpb24oMTEpLCB0eXBlLnNvZnR3YXJlX3ZlcnNpb24p
CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ2lQYWQnLCB0eXBlLmhhcmR3YXJlX2ZhbWlseSkK
KyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnQWlyIDInLCB0eXBlLmhhcmR3YXJlX3R5cGUpCisg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ2lPUycsIHR5cGUuc29mdHdhcmVfdmFyaWFudCkKKyAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbChWZXJzaW9uKDExKSwgdHlwZS5zb2Z0d2FyZV92ZXJzaW9u
KQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdpUGFkIEFpciAyIHJ1bm5pbmcgaU9TIDExJywg
c3RyKHR5cGUpKQogCiAgICAgZGVmIHRlc3RfZ2VuZXJpY19pb3NfZGV2aWNlKHNlbGYpOgogICAg
ICAgICB0eXBlID0gRGV2aWNlVHlwZShzb2Z0d2FyZV92YXJpYW50PSdpT1MnKQotICAgICAgICBz
ZWxmLmFzc2VydEVxdWFscyhOb25lLCB0eXBlLmhhcmR3YXJlX2ZhbWlseSkKLSAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbHMoTm9uZSwgdHlwZS5oYXJkd2FyZV90eXBlKQotICAgICAgICBzZWxmLmFz
c2VydEVxdWFscygnaU9TJywgdHlwZS5zb2Z0d2FyZV92YXJpYW50KQotICAgICAgICBzZWxmLmFz
c2VydEVxdWFscyhOb25lLCB0eXBlLnNvZnR3YXJlX3ZlcnNpb24pCisgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoTm9uZSwgdHlwZS5oYXJkd2FyZV9mYW1pbHkpCisgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwoTm9uZSwgdHlwZS5oYXJkd2FyZV90eXBlKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KCdpT1MnLCB0eXBlLnNvZnR3YXJlX3ZhcmlhbnQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
Tm9uZSwgdHlwZS5zb2Z0d2FyZV92ZXJzaW9uKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdE
ZXZpY2UgcnVubmluZyBpT1MnLCBzdHIodHlwZSkpCiAKICAgICBkZWYgdGVzdF93YXRjaF9pbml0
aWFsaXphdGlvbihzZWxmKToKICAgICAgICAgdHlwZSA9IERldmljZVR5cGUoaGFyZHdhcmVfZmFt
aWx5PSdXYXRjaCcpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKCdBcHBsZSBXYXRjaCcsIHR5
cGUuaGFyZHdhcmVfZmFtaWx5KQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhOb25lLCB0eXBl
LmhhcmR3YXJlX3R5cGUpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKCd3YXRjaE9TJywgdHlw
ZS5zb2Z0d2FyZV92YXJpYW50KQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhOb25lLCB0eXBl
LnNvZnR3YXJlX3ZlcnNpb24pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ0FwcGxlIFdhdGNo
JywgdHlwZS5oYXJkd2FyZV9mYW1pbHkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoTm9uZSwg
dHlwZS5oYXJkd2FyZV90eXBlKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCd3YXRjaE9TJywg
dHlwZS5zb2Z0d2FyZV92YXJpYW50KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKE5vbmUsIHR5
cGUuc29mdHdhcmVfdmVyc2lvbikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnQXBwbGUgV2F0
Y2ggcnVubmluZyB3YXRjaE9TJywgc3RyKHR5cGUpKQogCiAgICAgICAgIHR5cGUgPSBEZXZpY2VU
eXBlKCdBcHBsZSBXYXRjaCcsICdTZXJpZXMgMiAtIDQybW0nLCBWZXJzaW9uKDQpKQotICAgICAg
ICBzZWxmLmFzc2VydEVxdWFscygnQXBwbGUgV2F0Y2gnLCB0eXBlLmhhcmR3YXJlX2ZhbWlseSkK
LSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoJ1NlcmllcyAyIC0gNDJtbScsIHR5cGUuaGFyZHdh
cmVfdHlwZSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoJ3dhdGNoT1MnLCB0eXBlLnNvZnR3
YXJlX3ZhcmlhbnQpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKFZlcnNpb24oNCksIHR5cGUu
c29mdHdhcmVfdmVyc2lvbikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnQXBwbGUgV2F0Y2gn
LCB0eXBlLmhhcmR3YXJlX2ZhbWlseSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnU2VyaWVz
IDIgLSA0Mm1tJywgdHlwZS5oYXJkd2FyZV90eXBlKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KCd3YXRjaE9TJywgdHlwZS5zb2Z0d2FyZV92YXJpYW50KQorICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKFZlcnNpb24oNCksIHR5cGUuc29mdHdhcmVfdmVyc2lvbikKICAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbCgnQXBwbGUgV2F0Y2ggU2VyaWVzIDIgLSA0Mm1tIHJ1bm5pbmcgd2F0Y2hPUyA0Jywg
c3RyKHR5cGUpKQogCiAgICAgZGVmIHRlc3RfdHZfaW5pdGlhbGl6YXRpb24oc2VsZik6CiAgICAg
ICAgIHR5cGUgPSBEZXZpY2VUeXBlKGhhcmR3YXJlX2ZhbWlseT0nVFYnKQotICAgICAgICBzZWxm
LmFzc2VydEVxdWFscygnQXBwbGUgVFYnLCB0eXBlLmhhcmR3YXJlX2ZhbWlseSkKLSAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbHMoTm9uZSwgdHlwZS5oYXJkd2FyZV90eXBlKQotICAgICAgICBzZWxm
LmFzc2VydEVxdWFscygndHZPUycsIHR5cGUuc29mdHdhcmVfdmFyaWFudCkKLSAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbHMoTm9uZSwgdHlwZS5zb2Z0d2FyZV92ZXJzaW9uKQorICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKCdBcHBsZSBUVicsIHR5cGUuaGFyZHdhcmVfZmFtaWx5KQorICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKE5vbmUsIHR5cGUuaGFyZHdhcmVfdHlwZSkKKyAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbCgndHZPUycsIHR5cGUuc29mdHdhcmVfdmFyaWFudCkKKyAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbChOb25lLCB0eXBlLnNvZnR3YXJlX3ZlcnNpb24pCiAgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoJ0FwcGxlIFRWIHJ1bm5pbmcgdHZPUycsIHN0cih0eXBlKSkKIAogICAgICAgICB0
eXBlID0gRGV2aWNlVHlwZSgnQXBwbGUgVFYnLCAnNEsnLCBWZXJzaW9uKDExKSkKLSAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbHMoJ0FwcGxlIFRWJywgdHlwZS5oYXJkd2FyZV9mYW1pbHkpCi0gICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWxzKCc0SycsIHR5cGUuaGFyZHdhcmVfdHlwZSkKLSAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbHMoJ3R2T1MnLCB0eXBlLnNvZnR3YXJlX3ZhcmlhbnQpCi0gICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWxzKFZlcnNpb24oMTEpLCB0eXBlLnNvZnR3YXJlX3ZlcnNpb24pCisg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ0FwcGxlIFRWJywgdHlwZS5oYXJkd2FyZV9mYW1pbHkp
CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJzRLJywgdHlwZS5oYXJkd2FyZV90eXBlKQorICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKCd0dk9TJywgdHlwZS5zb2Z0d2FyZV92YXJpYW50KQorICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKFZlcnNpb24oMTEpLCB0eXBlLnNvZnR3YXJlX3ZlcnNpb24p
CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ0FwcGxlIFRWIDRLIHJ1bm5pbmcgdHZPUyAxMScs
IHN0cih0eXBlKSkKIAogICAgIGRlZiB0ZXN0X2Zyb21fc3RyaW5nKHNlbGYpOgpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS94Y29kZS9zZGtfdW5pdHRlc3QucHkgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3hjb2RlL3Nka191bml0dGVzdC5weQppbmRleCAwY2RmMzRjMGFmZGRj
NDU2M2Q0OGYxOTRiNTExNGJiMzk5OTU5MmQ5Li4zMzU1ZjZiMDg5NGZjZjU5MjAxODk2NjYyMjRk
YTIyMGM0ZjAzNDQzIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3hjb2RlL3Nk
a191bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3hjb2RlL3Nka191bml0
dGVzdC5weQpAQCAtNzIsNDggKzcyLDQ4IEBAIGNsYXNzIFNES1Rlc3QodW5pdHRlc3QuVGVzdENh
c2UpOgogCiAgICAgZGVmIHRlc3RfaXBob25lb3Moc2VsZik6CiAgICAgICAgIHByZWZlcnJlZF9z
ZGsgPSBzZGsuU0RLLmdldF9wcmVmZXJyZWRfc2RrX2Zvcl9wbGF0Zm9ybSgiaXBob25lb3MiLCBz
ZWxmLmV4ZWN1dGl2ZSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoImlwaG9uZW9zIiwgcHJl
ZmVycmVkX3Nkay5wbGF0Zm9ybSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoIjEyLjAiLCBw
cmVmZXJyZWRfc2RrLnZlcnNpb24pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoImlwaG9uZW9z
IiwgcHJlZmVycmVkX3Nkay5wbGF0Zm9ybSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiMTIu
MCIsIHByZWZlcnJlZF9zZGsudmVyc2lvbikKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHByZWZl
cnJlZF9zZGsuaW50ZXJuYWwpCiAKICAgICBkZWYgdGVzdF9pcGhvbmVzaW0oc2VsZik6CiAgICAg
ICAgIHByZWZlcnJlZF9zZGsgPSBzZGsuU0RLLmdldF9wcmVmZXJyZWRfc2RrX2Zvcl9wbGF0Zm9y
bSgiaXBob25lc2ltdWxhdG9yIiwgc2VsZi5leGVjdXRpdmUpCi0gICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWxzKCJpcGhvbmVzaW11bGF0b3IiLCBwcmVmZXJyZWRfc2RrLnBsYXRmb3JtKQotICAgICAg
ICBzZWxmLmFzc2VydEVxdWFscygiMTIuMCIsIHByZWZlcnJlZF9zZGsudmVyc2lvbikKKyAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbCgiaXBob25lc2ltdWxhdG9yIiwgcHJlZmVycmVkX3Nkay5wbGF0
Zm9ybSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiMTIuMCIsIHByZWZlcnJlZF9zZGsudmVy
c2lvbikKICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShwcmVmZXJyZWRfc2RrLmludGVybmFsKQog
CiAgICAgZGVmIHRlc3RfbWFjb3Moc2VsZik6CiAgICAgICAgIHByZWZlcnJlZF9zZGsgPSBzZGsu
U0RLLmdldF9wcmVmZXJyZWRfc2RrX2Zvcl9wbGF0Zm9ybSgibWFjb3N4Iiwgc2VsZi5leGVjdXRp
dmUpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKCJtYWNvc3giLCBwcmVmZXJyZWRfc2RrLnBs
YXRmb3JtKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscygiMTAuMTQiLCBwcmVmZXJyZWRfc2Rr
LnZlcnNpb24pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoIm1hY29zeCIsIHByZWZlcnJlZF9z
ZGsucGxhdGZvcm0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoIjEwLjE0IiwgcHJlZmVycmVk
X3Nkay52ZXJzaW9uKQogICAgICAgICBzZWxmLmFzc2VydFRydWUocHJlZmVycmVkX3Nkay5pbnRl
cm5hbCkKIAogICAgIGRlZiB0ZXN0X2FwcGxldHZvcyhzZWxmKToKICAgICAgICAgcHJlZmVycmVk
X3NkayA9IHNkay5TREsuZ2V0X3ByZWZlcnJlZF9zZGtfZm9yX3BsYXRmb3JtKCJhcHBsZXR2b3Mi
LCBzZWxmLmV4ZWN1dGl2ZSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoImFwcGxldHZvcyIs
IHByZWZlcnJlZF9zZGsucGxhdGZvcm0pCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKCIxMi4w
IiwgcHJlZmVycmVkX3Nkay52ZXJzaW9uKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJhcHBs
ZXR2b3MiLCBwcmVmZXJyZWRfc2RrLnBsYXRmb3JtKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KCIxMi4wIiwgcHJlZmVycmVkX3Nkay52ZXJzaW9uKQogICAgICAgICBzZWxmLmFzc2VydFRydWUo
cHJlZmVycmVkX3Nkay5pbnRlcm5hbCkKIAogICAgIGRlZiB0ZXN0X2FwcGxldHZzaW0oc2VsZik6
CiAgICAgICAgIHByZWZlcnJlZF9zZGsgPSBzZGsuU0RLLmdldF9wcmVmZXJyZWRfc2RrX2Zvcl9w
bGF0Zm9ybSgiYXBwbGV0dnNpbXVsYXRvciIsIHNlbGYuZXhlY3V0aXZlKQotICAgICAgICBzZWxm
LmFzc2VydEVxdWFscygiYXBwbGV0dnNpbXVsYXRvciIsIHByZWZlcnJlZF9zZGsucGxhdGZvcm0p
Ci0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKCIxMi4wIiwgcHJlZmVycmVkX3Nkay52ZXJzaW9u
KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJhcHBsZXR2c2ltdWxhdG9yIiwgcHJlZmVycmVk
X3Nkay5wbGF0Zm9ybSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiMTIuMCIsIHByZWZlcnJl
ZF9zZGsudmVyc2lvbikKICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShwcmVmZXJyZWRfc2RrLmlu
dGVybmFsKQogCiAgICAgZGVmIHRlc3Rfd2F0Y2hvcyhzZWxmKToKICAgICAgICAgcHJlZmVycmVk
X3NkayA9IHNkay5TREsuZ2V0X3ByZWZlcnJlZF9zZGtfZm9yX3BsYXRmb3JtKCJ3YXRjaG9zIiwg
c2VsZi5leGVjdXRpdmUpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKCJ3YXRjaG9zIiwgcHJl
ZmVycmVkX3Nkay5wbGF0Zm9ybSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoIjQuMCIsIHBy
ZWZlcnJlZF9zZGsudmVyc2lvbikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgid2F0Y2hvcyIs
IHByZWZlcnJlZF9zZGsucGxhdGZvcm0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoIjQuMCIs
IHByZWZlcnJlZF9zZGsudmVyc2lvbikKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHByZWZlcnJl
ZF9zZGsuaW50ZXJuYWwpCiAKICAgICBkZWYgdGVzdF93YXRjaHNpbXVsYXRvcihzZWxmKToKICAg
ICAgICAgcHJlZmVycmVkX3NkayA9IHNkay5TREsuZ2V0X3ByZWZlcnJlZF9zZGtfZm9yX3BsYXRm
b3JtKCJ3YXRjaHNpbXVsYXRvciIsIHNlbGYuZXhlY3V0aXZlKQotICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFscygid2F0Y2hzaW11bGF0b3IiLCBwcmVmZXJyZWRfc2RrLnBsYXRmb3JtKQotICAgICAg
ICBzZWxmLmFzc2VydEVxdWFscygiNC4wIiwgcHJlZmVycmVkX3Nkay52ZXJzaW9uKQorICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKCJ3YXRjaHNpbXVsYXRvciIsIHByZWZlcnJlZF9zZGsucGxhdGZv
cm0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoIjQuMCIsIHByZWZlcnJlZF9zZGsudmVyc2lv
bikKICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShwcmVmZXJyZWRfc2RrLmludGVybmFsKQogCiAg
ICAgZGVmIHRlc3RfcHJvZG9zKHNlbGYpOgogICAgICAgICBwcmVmZXJyZWRfc2RrID0gc2RrLlNE
Sy5nZXRfcHJlZmVycmVkX3Nka19mb3JfcGxhdGZvcm0oInByb2RvcyIsIHNlbGYuZXhlY3V0aXZl
KQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscygicHJvZG9zIiwgcHJlZmVycmVkX3Nkay5wbGF0
Zm9ybSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoTm9uZSwgcHJlZmVycmVkX3Nkay52ZXJz
aW9uKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhOb25lLCBwcmVmZXJyZWRfc2RrLmludGVy
bmFsKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJwcm9kb3MiLCBwcmVmZXJyZWRfc2RrLnBs
YXRmb3JtKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKE5vbmUsIHByZWZlcnJlZF9zZGsudmVy
c2lvbikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChOb25lLCBwcmVmZXJyZWRfc2RrLmludGVy
bmFsKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS94Y29kZS9zaW11bGF0ZWRf
ZGV2aWNlX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS94Y29kZS9zaW11bGF0
ZWRfZGV2aWNlX3VuaXR0ZXN0LnB5CmluZGV4IDg4NTQ5NzcyNjUxYmE4YTQ5YmVjNmU3NTU3OTY0
Yzg4YzgyNWRhYWEuLjE1OTk5ZjFhZDRjNjU4MGYyYmE2YjU1YjA0YTUwZmE2ZjIzOWRkNGYgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkveGNvZGUvc2ltdWxhdGVkX2RldmljZV91
bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3hjb2RlL3NpbXVsYXRlZF9k
ZXZpY2VfdW5pdHRlc3QucHkKQEAgLTU2OCwzMyArNTY4LDMzIEBAIGNsYXNzIFNpbXVsYXRlZERl
dmljZVRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBTaW11bGF0ZWREZXZpY2VNYW5h
Z2VyLmF2YWlsYWJsZV9kZXZpY2VzKGhvc3QpCiAKICAgICAgICAgIyBUaGVyZSBzaG91bGQgb25s
eSBiZSAxIGlQaG9uZSBYLCBpUGhvbmUgOCBhbmQgaVBob25lIFNFCi0gICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWxzKDEsIGxlbihTaW11bGF0ZWREZXZpY2VNYW5hZ2VyLmRldmljZV9ieV9maWx0ZXIo
bGFtYmRhIGRldmljZTogZGV2aWNlLmRldmljZV90eXBlID09IERldmljZVR5cGUuZnJvbV9zdHJp
bmcoJ2lQaG9uZSBYJyksIGhvc3QpKSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoMSwgbGVu
KFNpbXVsYXRlZERldmljZU1hbmFnZXIuZGV2aWNlX2J5X2ZpbHRlcihsYW1iZGEgZGV2aWNlOiBk
ZXZpY2UuZGV2aWNlX3R5cGUgPT0gRGV2aWNlVHlwZS5mcm9tX3N0cmluZygnaVBob25lIDgnKSwg
aG9zdCkpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDEsIGxlbihTaW11bGF0ZWREZXZpY2VN
YW5hZ2VyLmRldmljZV9ieV9maWx0ZXIobGFtYmRhIGRldmljZTogZGV2aWNlLmRldmljZV90eXBl
ID09IERldmljZVR5cGUuZnJvbV9zdHJpbmcoJ2lQaG9uZSBYJyksIGhvc3QpKSkKKyAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbCgxLCBsZW4oU2ltdWxhdGVkRGV2aWNlTWFuYWdlci5kZXZpY2VfYnlf
ZmlsdGVyKGxhbWJkYSBkZXZpY2U6IGRldmljZS5kZXZpY2VfdHlwZSA9PSBEZXZpY2VUeXBlLmZy
b21fc3RyaW5nKCdpUGhvbmUgOCcpLCBob3N0KSkpCiAKICAgICAgICAgIyBUaGVyZSBzaG91bGQg
YmUgMiA1cyBhbmQgNnMKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoMiwgbGVuKFNpbXVsYXRl
ZERldmljZU1hbmFnZXIuZGV2aWNlX2J5X2ZpbHRlcihsYW1iZGEgZGV2aWNlOiBkZXZpY2UuZGV2
aWNlX3R5cGUgPT0gRGV2aWNlVHlwZS5mcm9tX3N0cmluZygnaVBob25lIDVzJyksIGhvc3QpKSkK
LSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoMiwgbGVuKFNpbXVsYXRlZERldmljZU1hbmFnZXIu
ZGV2aWNlX2J5X2ZpbHRlcihsYW1iZGEgZGV2aWNlOiBkZXZpY2UuZGV2aWNlX3R5cGUgPT0gRGV2
aWNlVHlwZS5mcm9tX3N0cmluZygnaVBob25lIDZzJyksIGhvc3QpKSkKKyAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbCgyLCBsZW4oU2ltdWxhdGVkRGV2aWNlTWFuYWdlci5kZXZpY2VfYnlfZmlsdGVy
KGxhbWJkYSBkZXZpY2U6IGRldmljZS5kZXZpY2VfdHlwZSA9PSBEZXZpY2VUeXBlLmZyb21fc3Ry
aW5nKCdpUGhvbmUgNXMnKSwgaG9zdCkpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDIsIGxl
bihTaW11bGF0ZWREZXZpY2VNYW5hZ2VyLmRldmljZV9ieV9maWx0ZXIobGFtYmRhIGRldmljZTog
ZGV2aWNlLmRldmljZV90eXBlID09IERldmljZVR5cGUuZnJvbV9zdHJpbmcoJ2lQaG9uZSA2cycp
LCBob3N0KSkpCiAKICAgICAgICAgIyAxOSBpUGhvbmVzCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWxzKDE5LCBsZW4oU2ltdWxhdGVkRGV2aWNlTWFuYWdlci5kZXZpY2VfYnlfZmlsdGVyKGxhbWJk
YSBkZXZpY2U6IGRldmljZS5kZXZpY2VfdHlwZSA9PSBEZXZpY2VUeXBlLmZyb21fc3RyaW5nKCdp
UGhvbmUnKSwgaG9zdCkpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDE5LCBsZW4oU2ltdWxh
dGVkRGV2aWNlTWFuYWdlci5kZXZpY2VfYnlfZmlsdGVyKGxhbWJkYSBkZXZpY2U6IGRldmljZS5k
ZXZpY2VfdHlwZSA9PSBEZXZpY2VUeXBlLmZyb21fc3RyaW5nKCdpUGhvbmUnKSwgaG9zdCkpKQog
CiAgICAgICAgICMgMTEgaVBhZHMKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoMTEsIGxlbihT
aW11bGF0ZWREZXZpY2VNYW5hZ2VyLmRldmljZV9ieV9maWx0ZXIobGFtYmRhIGRldmljZTogZGV2
aWNlLmRldmljZV90eXBlID09IERldmljZVR5cGUuZnJvbV9zdHJpbmcoJ2lQYWQnKSwgaG9zdCkp
KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDExLCBsZW4oU2ltdWxhdGVkRGV2aWNlTWFuYWdl
ci5kZXZpY2VfYnlfZmlsdGVyKGxhbWJkYSBkZXZpY2U6IGRldmljZS5kZXZpY2VfdHlwZSA9PSBE
ZXZpY2VUeXBlLmZyb21fc3RyaW5nKCdpUGFkJyksIGhvc3QpKSkKIAogICAgICAgICAjIDE4IEFw
cGxlIHdhdGNoZXMKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoNiwgbGVuKFNpbXVsYXRlZERl
dmljZU1hbmFnZXIuZGV2aWNlX2J5X2ZpbHRlcihsYW1iZGEgZGV2aWNlOiBkZXZpY2UuZGV2aWNl
X3R5cGUgPT0gRGV2aWNlVHlwZS5mcm9tX3N0cmluZygnQXBwbGUgV2F0Y2gnKSwgaG9zdCkpKQor
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDYsIGxlbihTaW11bGF0ZWREZXZpY2VNYW5hZ2VyLmRl
dmljZV9ieV9maWx0ZXIobGFtYmRhIGRldmljZTogZGV2aWNlLmRldmljZV90eXBlID09IERldmlj
ZVR5cGUuZnJvbV9zdHJpbmcoJ0FwcGxlIFdhdGNoJyksIGhvc3QpKSkKIAogICAgICAgICAjIDMg
QXBwbGUgVFZzCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKDMsIGxlbihTaW11bGF0ZWREZXZp
Y2VNYW5hZ2VyLmRldmljZV9ieV9maWx0ZXIobGFtYmRhIGRldmljZTogZGV2aWNlLmRldmljZV90
eXBlID09IERldmljZVR5cGUuZnJvbV9zdHJpbmcoJ0FwcGxlIFRWJyksIGhvc3QpKSkKKyAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbCgzLCBsZW4oU2ltdWxhdGVkRGV2aWNlTWFuYWdlci5kZXZpY2Vf
YnlfZmlsdGVyKGxhbWJkYSBkZXZpY2U6IGRldmljZS5kZXZpY2VfdHlwZSA9PSBEZXZpY2VUeXBl
LmZyb21fc3RyaW5nKCdBcHBsZSBUVicpLCBob3N0KSkpCiAKICAgICAgICAgIyAxOCBkZXZpY2Vz
IHJ1bm5pbmcgaU9TIDExLjAKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoMTgsIGxlbihTaW11
bGF0ZWREZXZpY2VNYW5hZ2VyLmRldmljZV9ieV9maWx0ZXIobGFtYmRhIGRldmljZTogZGV2aWNl
LmRldmljZV90eXBlID09IERldmljZVR5cGUoc29mdHdhcmVfdmFyaWFudD0naU9TJywgc29mdHdh
cmVfdmVyc2lvbj1WZXJzaW9uKDExLCAwLCAxKSksIGhvc3QpKSkKKyAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbCgxOCwgbGVuKFNpbXVsYXRlZERldmljZU1hbmFnZXIuZGV2aWNlX2J5X2ZpbHRlcihs
YW1iZGEgZGV2aWNlOiBkZXZpY2UuZGV2aWNlX3R5cGUgPT0gRGV2aWNlVHlwZShzb2Z0d2FyZV92
YXJpYW50PSdpT1MnLCBzb2Z0d2FyZV92ZXJzaW9uPVZlcnNpb24oMTEsIDAsIDEpKSwgaG9zdCkp
KQogCiAgICAgICAgICMgMTEgaVBob25lcyBydW5uaW5nIGlPUyAxMS4wCi0gICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWxzKDExLCBsZW4oU2ltdWxhdGVkRGV2aWNlTWFuYWdlci5kZXZpY2VfYnlfZmls
dGVyKGxhbWJkYSBkZXZpY2U6IGRldmljZS5kZXZpY2VfdHlwZSA9PSBEZXZpY2VUeXBlKGhhcmR3
YXJlX2ZhbWlseT0naVBob25lJywgc29mdHdhcmVfdmVyc2lvbj1WZXJzaW9uKDExLCAwLCAxKSks
IGhvc3QpKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgxMSwgbGVuKFNpbXVsYXRlZERldmlj
ZU1hbmFnZXIuZGV2aWNlX2J5X2ZpbHRlcihsYW1iZGEgZGV2aWNlOiBkZXZpY2UuZGV2aWNlX3R5
cGUgPT0gRGV2aWNlVHlwZShoYXJkd2FyZV9mYW1pbHk9J2lQaG9uZScsIHNvZnR3YXJlX3ZlcnNp
b249VmVyc2lvbigxMSwgMCwgMSkpLCBob3N0KSkpCiAKICAgICAgICAgIyAxIGRldmljZSBydW5u
aW5nIGlPUyAxMgotICAgICAgICBzZWxmLmFzc2VydEVxdWFscygxLCBsZW4oU2ltdWxhdGVkRGV2
aWNlTWFuYWdlci5kZXZpY2VfYnlfZmlsdGVyKGxhbWJkYSBkZXZpY2U6IGRldmljZS5kZXZpY2Vf
dHlwZSA9PSBEZXZpY2VUeXBlKHNvZnR3YXJlX3ZhcmlhbnQ9J2lPUycsIHNvZnR3YXJlX3ZlcnNp
b249VmVyc2lvbigxMiwgMCwgMCkpLCBob3N0KSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
MSwgbGVuKFNpbXVsYXRlZERldmljZU1hbmFnZXIuZGV2aWNlX2J5X2ZpbHRlcihsYW1iZGEgZGV2
aWNlOiBkZXZpY2UuZGV2aWNlX3R5cGUgPT0gRGV2aWNlVHlwZShzb2Z0d2FyZV92YXJpYW50PSdp
T1MnLCBzb2Z0d2FyZV92ZXJzaW9uPVZlcnNpb24oMTIsIDAsIDApKSwgaG9zdCkpKQogCiAgICAg
ZGVmIHRlc3RfZXhpc3Rpbmdfc2ltdWxhdG9yKHNlbGYpOgogICAgICAgICBTaW11bGF0ZWREZXZp
Y2VUZXN0LnJlc2V0X3NpbXVsYXRlZF9kZXZpY2VfbWFuYWdlcigpCkBAIC02MDMsMTAgKzYwMywx
MCBAQCBjbGFzcyBTaW11bGF0ZWREZXZpY2VUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKIAogICAg
ICAgICBTaW11bGF0ZWREZXZpY2VNYW5hZ2VyLmluaXRpYWxpemVfZGV2aWNlcyhEZXZpY2VSZXF1
ZXN0KERldmljZVR5cGUuZnJvbV9zdHJpbmcoJ2lQaG9uZScsIFZlcnNpb24oMTEpKSksIGhvc3Q9
aG9zdCkKIAotICAgICAgICBzZWxmLmFzc2VydEVxdWFscygxLCBsZW4oU2ltdWxhdGVkRGV2aWNl
TWFuYWdlci5JTklUSUFMSVpFRF9ERVZJQ0VTKSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMo
JzM0RkI0NzZDLTZGQTAtNDNDOC04OTQ1LTFCRDdBNEVCRjBERScsIFNpbXVsYXRlZERldmljZU1h
bmFnZXIuSU5JVElBTElaRURfREVWSUNFU1swXS51ZGlkKQotICAgICAgICBzZWxmLmFzc2VydEVx
dWFscygnMTVBODQwMScsIFNpbXVsYXRlZERldmljZU1hbmFnZXIuSU5JVElBTElaRURfREVWSUNF
U1swXS5idWlsZF92ZXJzaW9uKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhTaW11bGF0ZWRE
ZXZpY2UuRGV2aWNlU3RhdGUuQk9PVEVELCBTaW11bGF0ZWREZXZpY2VNYW5hZ2VyLklOSVRJQUxJ
WkVEX0RFVklDRVNbMF0ucGxhdGZvcm1fZGV2aWNlLnN0YXRlKCkpCisgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoMSwgbGVuKFNpbXVsYXRlZERldmljZU1hbmFnZXIuSU5JVElBTElaRURfREVWSUNF
UykpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJzM0RkI0NzZDLTZGQTAtNDNDOC04OTQ1LTFC
RDdBNEVCRjBERScsIFNpbXVsYXRlZERldmljZU1hbmFnZXIuSU5JVElBTElaRURfREVWSUNFU1sw
XS51ZGlkKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCcxNUE4NDAxJywgU2ltdWxhdGVkRGV2
aWNlTWFuYWdlci5JTklUSUFMSVpFRF9ERVZJQ0VTWzBdLmJ1aWxkX3ZlcnNpb24pCisgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwoU2ltdWxhdGVkRGV2aWNlLkRldmljZVN0YXRlLkJPT1RFRCwgU2lt
dWxhdGVkRGV2aWNlTWFuYWdlci5JTklUSUFMSVpFRF9ERVZJQ0VTWzBdLnBsYXRmb3JtX2Rldmlj
ZS5zdGF0ZSgpKQogCiAgICAgICAgIFNpbXVsYXRlZERldmljZU1hbmFnZXIudGVhcl9kb3duKGhv
c3QpCiAgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKFNpbXVsYXRlZERldmljZU1hbmFnZXIuSU5J
VElBTElaRURfREVWSUNFUykKQEAgLTYxOCw5ICs2MTgsOSBAQCBjbGFzcyBTaW11bGF0ZWREZXZp
Y2VUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKIAogICAgICAgICBTaW11bGF0ZWREZXZpY2VNYW5h
Z2VyLmluaXRpYWxpemVfZGV2aWNlcyhEZXZpY2VSZXF1ZXN0KERldmljZVR5cGUuZnJvbV9zdHJp
bmcoJ2lwaG9uZSA1cycsIFZlcnNpb24oMTEpKSksIGhvc3Q9aG9zdCkKIAotICAgICAgICBzZWxm
LmFzc2VydEVxdWFscygxLCBsZW4oU2ltdWxhdGVkRGV2aWNlTWFuYWdlci5JTklUSUFMSVpFRF9E
RVZJQ0VTKSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoJzM0RkI0NzZDLTZGQTAtNDNDOC04
OTQ1LTFCRDdBNEVCRjBERScsIFNpbXVsYXRlZERldmljZU1hbmFnZXIuSU5JVElBTElaRURfREVW
SUNFU1swXS51ZGlkKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhTaW11bGF0ZWREZXZpY2Uu
RGV2aWNlU3RhdGUuQk9PVEVELCBTaW11bGF0ZWREZXZpY2VNYW5hZ2VyLklOSVRJQUxJWkVEX0RF
VklDRVNbMF0ucGxhdGZvcm1fZGV2aWNlLnN0YXRlKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWwoMSwgbGVuKFNpbXVsYXRlZERldmljZU1hbmFnZXIuSU5JVElBTElaRURfREVWSUNFUykpCisg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJzM0RkI0NzZDLTZGQTAtNDNDOC04OTQ1LTFCRDdBNEVC
RjBERScsIFNpbXVsYXRlZERldmljZU1hbmFnZXIuSU5JVElBTElaRURfREVWSUNFU1swXS51ZGlk
KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFNpbXVsYXRlZERldmljZS5EZXZpY2VTdGF0ZS5C
T09URUQsIFNpbXVsYXRlZERldmljZU1hbmFnZXIuSU5JVElBTElaRURfREVWSUNFU1swXS5wbGF0
Zm9ybV9kZXZpY2Uuc3RhdGUoKSkKIAogICAgICAgICBTaW11bGF0ZWREZXZpY2VNYW5hZ2VyLnRl
YXJfZG93bihob3N0KQogICAgICAgICBzZWxmLmFzc2VydElzTm9uZShTaW11bGF0ZWREZXZpY2VN
YW5hZ2VyLklOSVRJQUxJWkVEX0RFVklDRVMpCkBAIC02MzEsOCArNjMxLDggQEAgY2xhc3MgU2lt
dWxhdGVkRGV2aWNlVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIFNpbXVsYXRlZERl
dmljZU1hbmFnZXIuYXZhaWxhYmxlX2RldmljZXMoaG9zdCkKIAogICAgICAgICBydW50aW1lID0g
U2ltdWxhdGVkRGV2aWNlTWFuYWdlci5nZXRfcnVudGltZV9mb3JfZGV2aWNlX3R5cGUoRGV2aWNl
VHlwZS5mcm9tX3N0cmluZygnaXBob25lIDVzJywgVmVyc2lvbig5LCAyKSkpCi0gICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWxzKHJ1bnRpbWUub3NfdmFyaWFudCwgJ2lPUycpCi0gICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWxzKHJ1bnRpbWUudmVyc2lvbiwgVmVyc2lvbig5LCAzKSkKKyAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChydW50aW1lLm9zX3ZhcmlhbnQsICdpT1MnKQorICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKHJ1bnRpbWUudmVyc2lvbiwgVmVyc2lvbig5LCAzKSkKIAogICAgIGRlZiB0ZXN0
X21hdGNoaW5nX3VwX2ZhaWx1cmUoc2VsZik6CiAgICAgICAgIFNpbXVsYXRlZERldmljZVRlc3Qu
cmVzZXRfc2ltdWxhdGVkX2RldmljZV9tYW5hZ2VyKCkKQEAgLTY0MCw3ICs2NDAsNyBAQCBjbGFz
cyBTaW11bGF0ZWREZXZpY2VUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgU2ltdWxh
dGVkRGV2aWNlTWFuYWdlci5hdmFpbGFibGVfZGV2aWNlcyhob3N0KQogCiAgICAgICAgIHJ1bnRp
bWUgPSBTaW11bGF0ZWREZXZpY2VNYW5hZ2VyLmdldF9ydW50aW1lX2Zvcl9kZXZpY2VfdHlwZShE
ZXZpY2VUeXBlLmZyb21fc3RyaW5nKCdpcGhvbmUgNXMnLCBWZXJzaW9uKDksIDQpKSkKLSAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbHMocnVudGltZSwgTm9uZSkKKyAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbChydW50aW1lLCBOb25lKQogCiAgICAgZGVmIHRlc3Rfbm9fc3RhdGVfZmlsZXMoc2VsZik6
CiAgICAgICAgIFNpbXVsYXRlZERldmljZVRlc3QucmVzZXRfc2ltdWxhdGVkX2RldmljZV9tYW5h
Z2VyKCkKQEAgLTY0OSw0ICs2NDksNCBAQCBjbGFzcyBTaW11bGF0ZWREZXZpY2VUZXN0KHVuaXR0
ZXN0LlRlc3RDYXNlKToKICAgICAgICAgZGV2aWNlcyA9IFNpbXVsYXRlZERldmljZU1hbmFnZXIu
YXZhaWxhYmxlX2RldmljZXMoaG9zdCkKIAogICAgICAgICBmb3IgZGV2aWNlIGluIGRldmljZXM6
Ci0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhTaW11bGF0ZWREZXZpY2UuRGV2aWNlU3Rh
dGUuU0hVVF9ET1dOLCBkZXZpY2Uuc3RhdGUoZm9yY2VfdXBkYXRlPVRydWUpKQorICAgICAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChTaW11bGF0ZWREZXZpY2UuRGV2aWNlU3RhdGUuU0hVVF9ET1dO
LCBkZXZpY2Uuc3RhdGUoZm9yY2VfdXBkYXRlPVRydWUpKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442356</attachid>
            <date>2021-10-25 03:34:00 -0700</date>
            <delta_ts>2021-10-25 04:07:28 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-232214-20211025113358.patch</filename>
            <type>text/plain</type>
            <size>56435</size>
            <attacher name="Sam Sneddon [:gsnedders]">gsnedders</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0Nzc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGUyYjUwYjcwYWRmMjVhZjdh
NDM5NjMyZjJhY2RjYWE0NWIwMThlYmUuLjMzZmMzOGVkODYzZGU3YWI3YjM1YjE4NTZhYWU2YmQ4
YTVlMGNhYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMjEtMTAtMjQgIFNhbSBTbmVk
ZG9uICA8Z3NuZWRkZXJzQGFwcGxlLmNvbT4KKworICAgICAgICBbUHl0aG9uXSByZW5hbWUgYXNz
ZXJ0RXF1YWxzL2Fzc2VydE5vdEVxdWFscworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjMyMjE0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleGV5IFBy
b3NrdXJ5YWtvdi4KKworICAgICAgICBUaGlzIGlzIGFzc2VydChOb3QpP0VxdWFscyAtPiBhc3Nl
cnQoXDEpRXF1YWwKKworICAgICAgICBQeXRob24gMy4xMSAoY3VycmVudGx5IENQeXRob24gbWFp
biBicmFuY2gpIHJlbW92ZXMgdGhlIGRlcHJlY2F0ZWQKKyAgICAgICAgYWxpYXNlcyBhc3NlcnRF
cXVhbHMvYXNzZXJ0Tm90RXF1YWxzLiBUaGVzZSBoYXZlIGxvbmcgYmVlbiBkZXByZWNhdGVkLAor
ICAgICAgICBhbmQgdGhlIG1vZGVybiBuYW1lcyBleGlzdCBhbGwgdGhlIHdheSBiYWNrIHRvIFB5
dGhvbiAyLjcsIGhlbmNlIHRoZXJlJ3MKKyAgICAgICAgbm8gcmVhc29uIG5vdCB0byBzd2l0Y2gu
CisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdC9tZXNzYWdlc191bml0dGVzdC5weToKKyAgICAg
ICAgKEdlbmVyYXRlZEZpbGVDb250ZW50c1Rlc3QuYXNzZXJ0R2VuZXJhdGVkRmlsZUNvbnRlbnRz
RXF1YWwpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0L21vZGVsX3VuaXR0ZXN0LnB5OgorICAg
ICAgICAqIFNjcmlwdHMvd2Via2l0L3BhcnNlcl91bml0dGVzdC5weToKKyAgICAgICAgKFBhcnNp
bmdUZXN0LmNoZWNrX21lc3NhZ2UpOgorICAgICAgICAoUGFyc2luZ1Rlc3QudGVzdF9yZWNlaXZl
cik6CisKIDIwMjEtMTAtMjQgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+
CiAKICAgICAgICAgUmVtb3RlUmVuZGVyaW5nQmFja2VuZCBzaG91bGQgbm90IHNlbmQgSVBDIGlu
IHRoZSBtaWRkbGUgb2YgZGVzdHJ1Y3Rpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2Ny
aXB0cy93ZWJraXQvbWVzc2FnZXNfdW5pdHRlc3QucHkgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMv
d2Via2l0L21lc3NhZ2VzX3VuaXR0ZXN0LnB5CmluZGV4IGFlZWY2M2MxN2M0OTUyN2U2YjY2YWIz
N2JhYzhiNzUxNDM3MjZjMmUuLmM4ZWQzNDZmMzNlYzYxYThlYjYxODg4OWYyMjIzZjc3ZjlkNjky
MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXNfdW5p
dHRlc3QucHkKKysrIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlc191bml0
dGVzdC5weQpAQCAtODQsOSArODQsOSBAQCBjbGFzcyBHZW5lcmF0ZWRGaWxlQ29udGVudHNUZXN0
KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgICAgIGV4cGVjdGVkX2xpbmVfbGlzdCA9IGV4
cGVjdGVkX2ZpbGVfY29udGVudHMuc3BsaXRsaW5lcyhGYWxzZSkKIAogICAgICAgICAgICAgZm9y
IGluZGV4LCBhY3R1YWxfbGluZSBpbiBlbnVtZXJhdGUoYWN0dWFsX2xpbmVfbGlzdCk6Ci0gICAg
ICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoYWN0dWFsX2xpbmUsIGV4cGVjdGVkX2xpbmVf
bGlzdFtpbmRleF0pCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhY3R1YWxfbGlu
ZSwgZXhwZWN0ZWRfbGluZV9saXN0W2luZGV4XSkKIAotICAgICAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbHMobGVuKGFjdHVhbF9saW5lX2xpc3QpLCBsZW4oZXhwZWN0ZWRfbGluZV9saXN0KSkKKyAg
ICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGFjdHVhbF9saW5lX2xpc3QpLCBsZW4oZXhw
ZWN0ZWRfbGluZV9saXN0KSkKICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKICAgICAgICAgICAg
IHN5cy5zdGRlcnIud3JpdGUoJ0luIGV4cGVjdGVkIGZpbGUgJXNcbicgJSBleHBlY3RlZF9maWxl
X25hbWUpCiAgICAgICAgICAgICByYWlzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TY3Jp
cHRzL3dlYmtpdC9tb2RlbF91bml0dGVzdC5weSBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJr
aXQvbW9kZWxfdW5pdHRlc3QucHkKaW5kZXggYzQ5Mzg4NmM0NDczOGYwYzg2MWVmNWZmMmQzYWZj
YjQ5MWYyNDVkNC4uMWVhM2QzMWE2ZTQxOWQ1NTA1YzBmZDE0Y2RiZWI3OTNhOGVmMGE3YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tb2RlbF91bml0dGVzdC5weQor
KysgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21vZGVsX3VuaXR0ZXN0LnB5CkBAIC00
Niw4ICs0Niw4IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2UgewogICAgIExvYWRVUkwoU3RyaW5nIHVy
bCkKIH0iIiIKICAgICAgICAgcmVjZWl2ZXIgPSBwYXJzZXIucGFyc2UoU3RyaW5nSU8oY29udGVu
dHMpKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhyZWNlaXZlci5uYW1lLCAnV2ViUGFnZScp
Ci0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHJlY2VpdmVyLm1lc3NhZ2VzWzBdLm5hbWUsICdM
b2FkVVJMJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZWNlaXZlci5uYW1lLCAnV2ViUGFn
ZScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVjZWl2ZXIubWVzc2FnZXNbMF0ubmFtZSwg
J0xvYWRVUkwnKQogCiAgICAgICAgIG90aGVyX2NvbnRlbnRzID0gIiIiCiAgICAgbWVzc2FnZXMg
LT4gV2ViUGFnZSB7CkBAIC01NiwxMSArNTYsMTEgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZSB7CiAg
ICAgfSIiIgogCiAgICAgICAgIG90aGVyX3JlY2VpdmVyID0gcGFyc2VyLnBhcnNlKFN0cmluZ0lP
KG90aGVyX2NvbnRlbnRzKSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMob3RoZXJfcmVjZWl2
ZXIubmFtZSwgJ1dlYlBhZ2UnKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhvdGhlcl9yZWNl
aXZlci5tZXNzYWdlc1swXS5uYW1lLCAnTG9hZFVSTCcpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWxzKG90aGVyX3JlY2VpdmVyLm1lc3NhZ2VzWzFdLm5hbWUsICdMb2FkVVJMMicpCisgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwob3RoZXJfcmVjZWl2ZXIubmFtZSwgJ1dlYlBhZ2UnKQorICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKG90aGVyX3JlY2VpdmVyLm1lc3NhZ2VzWzBdLm5hbWUsICdMb2Fk
VVJMJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvdGhlcl9yZWNlaXZlci5tZXNzYWdlc1sx
XS5uYW1lLCAnTG9hZFVSTDInKQogICAgICAgICBlcnJvcnMgPSBtb2RlbC5jaGVja19nbG9iYWxf
bW9kZWxfaW5wdXRzKFtyZWNlaXZlciwgb3RoZXJfcmVjZWl2ZXJdKQotICAgICAgICBzZWxmLmFz
c2VydEVxdWFscyhsZW4oZXJyb3JzKSwgMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4o
ZXJyb3JzKSwgMSkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKCJEdXBsaWNhdGUiIGluIGVycm9y
c1swXSkKIAogICAgIGRlZiB0ZXN0X21pc21hdGNoX21lc3NhZ2VfYXR0cmlidXRlX3N5bmMoc2Vs
Zik6CkBAIC03NCwxMCArNzQsMTAgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZSB7CiAjZW5kaWYKIH0i
IiIKICAgICAgICAgcmVjZWl2ZXIgPSBwYXJzZXIucGFyc2UoU3RyaW5nSU8oY29udGVudHMpKQot
ICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhyZWNlaXZlci5uYW1lLCAnV2ViUGFnZScpCi0gICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHJlY2VpdmVyLm1lc3NhZ2VzWzBdLm5hbWUsICdMb2FkVVJM
JykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZWNlaXZlci5uYW1lLCAnV2ViUGFnZScpCisg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVjZWl2ZXIubWVzc2FnZXNbMF0ubmFtZSwgJ0xvYWRV
UkwnKQogICAgICAgICBlcnJvcnMgPSBtb2RlbC5jaGVja19nbG9iYWxfbW9kZWxfaW5wdXRzKFty
ZWNlaXZlcl0pCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKGxlbihlcnJvcnMpLCAxKQorICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihlcnJvcnMpLCAxKQogICAgICAgICBzZWxmLmFzc2Vy
dFRydWUoImF0dHJpYnV0ZSBtaXNtYXRjaCIgaW4gZXJyb3JzWzBdKQogCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvcGFyc2VyX3VuaXR0ZXN0LnB5IGIvU291cmNl
L1dlYktpdC9TY3JpcHRzL3dlYmtpdC9wYXJzZXJfdW5pdHRlc3QucHkKaW5kZXggZDk3YTU5MjQ4
NjBhNTkxMzdmZDZkNmE1ZTJmZDYxOGM5ZDNjNjNkNC4uNTRjMWViODI1NWEyZjFmNzY2YjEzOGQz
NzBhZDhkNjU0ZmY4ZThmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtp
dC9wYXJzZXJfdW5pdHRlc3QucHkKKysrIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9w
YXJzZXJfdW5pdHRlc3QucHkKQEAgLTMxNiwzMiArMzE2LDMyIEBAIGNsYXNzIFBhcnNpbmdUZXN0
KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgc2VsZi5yZWNlaXZlcnMgPSBbcGFyc2VfcmVj
ZWl2ZXIoZXhwZWN0ZWRfbW9kZWxbJ25hbWUnXSkgZm9yIGV4cGVjdGVkX21vZGVsIGluIF9wYXJz
aW5nX3Rlc3RfY2FzZXNdCiAKICAgICBkZWYgY2hlY2tfbWVzc2FnZShzZWxmLCBtZXNzYWdlLCBl
eHBlY3RlZF9tZXNzYWdlKToKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMobWVzc2FnZS5uYW1l
LCBleHBlY3RlZF9tZXNzYWdlWyduYW1lJ10pCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKGxl
bihtZXNzYWdlLnBhcmFtZXRlcnMpLCBsZW4oZXhwZWN0ZWRfbWVzc2FnZVsncGFyYW1ldGVycydd
KSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtZXNzYWdlLm5hbWUsIGV4cGVjdGVkX21lc3Nh
Z2VbJ25hbWUnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4obWVzc2FnZS5wYXJhbWV0
ZXJzKSwgbGVuKGV4cGVjdGVkX21lc3NhZ2VbJ3BhcmFtZXRlcnMnXSkpCiAgICAgICAgIGZvciBp
bmRleCwgcGFyYW1ldGVyIGluIGVudW1lcmF0ZShtZXNzYWdlLnBhcmFtZXRlcnMpOgogICAgICAg
ICAgICAgZXhwZWN0ZWRfcGFyYW1ldGVyID0gZXhwZWN0ZWRfbWVzc2FnZVsncGFyYW1ldGVycydd
W2luZGV4XQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMocGFyYW1ldGVyLnR5cGUsIGV4
cGVjdGVkX3BhcmFtZXRlclswXSkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHBhcmFt
ZXRlci5uYW1lLCBleHBlY3RlZF9wYXJhbWV0ZXJbMV0pCisgICAgICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKHBhcmFtZXRlci50eXBlLCBleHBlY3RlZF9wYXJhbWV0ZXJbMF0pCisgICAgICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKHBhcmFtZXRlci5uYW1lLCBleHBlY3RlZF9wYXJhbWV0ZXJbMV0p
CiAgICAgICAgICAgICBpZiBsZW4oZXhwZWN0ZWRfcGFyYW1ldGVyKSA+IDI6Ci0gICAgICAgICAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbHMocGFyYW1ldGVyLmF0dHJpYnV0ZXMsIGZyb3plbnNldChl
eHBlY3RlZF9wYXJhbWV0ZXJbMl0pKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
cGFyYW1ldGVyLmF0dHJpYnV0ZXMsIGZyb3plbnNldChleHBlY3RlZF9wYXJhbWV0ZXJbMl0pKQog
ICAgICAgICAgICAgICAgIGZvciBhdHRyaWJ1dGUgaW4gZXhwZWN0ZWRfcGFyYW1ldGVyWzJdOgog
ICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUocGFyYW1ldGVyLmhhc19hdHRyaWJ1
dGUoYXR0cmlidXRlKSkKICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbHMocGFyYW1ldGVyLmF0dHJpYnV0ZXMsIGZyb3plbnNldCgpKQorICAgICAgICAg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocGFyYW1ldGVyLmF0dHJpYnV0ZXMsIGZyb3plbnNldCgp
KQogICAgICAgICBpZiBtZXNzYWdlLnJlcGx5X3BhcmFtZXRlcnMgaXMgbm90IE5vbmU6CiAgICAg
ICAgICAgICBmb3IgaW5kZXgsIHBhcmFtZXRlciBpbiBlbnVtZXJhdGUobWVzc2FnZS5yZXBseV9w
YXJhbWV0ZXJzKToKLSAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhwYXJhbWV0ZXIu
dHlwZSwgZXhwZWN0ZWRfbWVzc2FnZVsncmVwbHlfcGFyYW1ldGVycyddW2luZGV4XVswXSkKLSAg
ICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhwYXJhbWV0ZXIubmFtZSwgZXhwZWN0ZWRf
bWVzc2FnZVsncmVwbHlfcGFyYW1ldGVycyddW2luZGV4XVsxXSkKKyAgICAgICAgICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKHBhcmFtZXRlci50eXBlLCBleHBlY3RlZF9tZXNzYWdlWydyZXBseV9w
YXJhbWV0ZXJzJ11baW5kZXhdWzBdKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
cGFyYW1ldGVyLm5hbWUsIGV4cGVjdGVkX21lc3NhZ2VbJ3JlcGx5X3BhcmFtZXRlcnMnXVtpbmRl
eF1bMV0pCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBzZWxmLmFzc2VydEZhbHNlKCdyZXBs
eV9wYXJhbWV0ZXJzJyBpbiBleHBlY3RlZF9tZXNzYWdlKQotICAgICAgICBzZWxmLmFzc2VydEVx
dWFscyhtZXNzYWdlLmNvbmRpdGlvbiwgZXhwZWN0ZWRfbWVzc2FnZVsnY29uZGl0aW9ucyddKQor
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1lc3NhZ2UuY29uZGl0aW9uLCBleHBlY3RlZF9tZXNz
YWdlWydjb25kaXRpb25zJ10pCiAKICAgICBkZWYgdGVzdF9yZWNlaXZlcihzZWxmKToKICAgICAg
ICAgIiIiUmVjZWl2ZXIgc2hvdWxkIGJlIHBhcnNlZCBhcyBleHBlY3RlZCIiIgogICAgICAgICBm
b3IgcmVjZWl2ZXIsIGV4cGVjdGVkX21vZGVsIGluIHppcChzZWxmLnJlY2VpdmVycywgX3BhcnNp
bmdfdGVzdF9jYXNlcyk6Ci0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhyZWNlaXZlci5u
YW1lLCBleHBlY3RlZF9tb2RlbFsnbmFtZSddKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bHMocmVjZWl2ZXIuY29uZGl0aW9uLCBleHBlY3RlZF9tb2RlbFsnY29uZGl0aW9ucyddKQotICAg
ICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMobGVuKHJlY2VpdmVyLm1lc3NhZ2VzKSwgbGVuKGV4
cGVjdGVkX21vZGVsWydtZXNzYWdlcyddKSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
cmVjZWl2ZXIubmFtZSwgZXhwZWN0ZWRfbW9kZWxbJ25hbWUnXSkKKyAgICAgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwocmVjZWl2ZXIuY29uZGl0aW9uLCBleHBlY3RlZF9tb2RlbFsnY29uZGl0aW9u
cyddKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4ocmVjZWl2ZXIubWVzc2FnZXMp
LCBsZW4oZXhwZWN0ZWRfbW9kZWxbJ21lc3NhZ2VzJ10pKQogICAgICAgICAgICAgZm9yIGluZGV4
LCBtZXNzYWdlIGluIGVudW1lcmF0ZShyZWNlaXZlci5tZXNzYWdlcyk6CiAgICAgICAgICAgICAg
ICAgc2VsZi5jaGVja19tZXNzYWdlKG1lc3NhZ2UsIGV4cGVjdGVkX21vZGVsWydtZXNzYWdlcydd
W2luZGV4XSkKIApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9n
CmluZGV4IDBmODkzOTY2MWE0ZmJjODViZDUzYWUxNjRiY2FlMTMwYjAxMTg3NmEuLjg0N2UwYWZk
Yjk5MjRmNjZiZDhkMDViYzYzOTQ4NWEzY2U4NTRiNDcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5n
ZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw3OSBAQAorMjAyMS0xMC0yNCAg
U2FtIFNuZWRkb24gIDxnc25lZGRlcnNAYXBwbGUuY29tPgorCisgICAgICAgIFtQeXRob25dIHJl
bmFtZSBhc3NlcnRFcXVhbHMvYXNzZXJ0Tm90RXF1YWxzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzIyMTQKKworICAgICAgICBSZXZpZXdlZCBieSBB
bGV4ZXkgUHJvc2t1cnlha292LgorCisgICAgICAgIFRoaXMgaXMgYXNzZXJ0KE5vdCk/RXF1YWxz
IC0+IGFzc2VydChcMSlFcXVhbAorCisgICAgICAgIFB5dGhvbiAzLjExIChjdXJyZW50bHkgQ1B5
dGhvbiBtYWluIGJyYW5jaCkgcmVtb3ZlcyB0aGUgZGVwcmVjYXRlZAorICAgICAgICBhbGlhc2Vz
IGFzc2VydEVxdWFscy9hc3NlcnROb3RFcXVhbHMuIFRoZXNlIGhhdmUgbG9uZyBiZWVuIGRlcHJl
Y2F0ZWQsCisgICAgICAgIGFuZCB0aGUgbW9kZXJuIG5hbWVzIGV4aXN0IGFsbCB0aGUgd2F5IGJh
Y2sgdG8gUHl0aG9uIDIuNywgaGVuY2UgdGhlcmUncworICAgICAgICBubyByZWFzb24gbm90IHRv
IHN3aXRjaC4KKworICAgICAgICAqIFNjcmlwdHMvbGlicmFyaWVzL3dlYmtpdGNvcmVweS93ZWJr
aXRjb3JlcHkvdGVzdHMvdGFza19wb29sX3VuaXR0ZXN0LnB5OgorICAgICAgICAoVGFza1Bvb2xV
bml0dGVzdC50ZXN0X211bHRpcGxlKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1v
bi9hdHRyaWJ1dGVfc2F2ZXJfdW5pdHRlc3QucHk6CisgICAgICAgIChBdHRyaWJ1dGVTYXZlclRl
c3QudGVzdF9jbGFzcyk6CisgICAgICAgIChBdHRyaWJ1dGVTYXZlclRlc3QudGVzdF9ub3JtYWxf
ZGVmYXVsdCk6CisgICAgICAgIChBdHRyaWJ1dGVTYXZlclRlc3QudGVzdF9ub3JtYWxfdmFsdWUp
OgorICAgICAgICAoQXR0cmlidXRlU2F2ZXJUZXN0LnRlc3Rfbm9ybWFsX3ZhbHVlX29uX2V4Y2Vw
dGlvbik6CisgICAgICAgIChBdHRyaWJ1dGVTYXZlclRlc3QudGVzdF9ub3JtYWxfdmFsdWVfb25f
bm9ybWFsX2V4aXQpOgorICAgICAgICAoQXR0cmlidXRlU2F2ZXJUZXN0LnRlc3Rfbm9ybWFsX3Zh
bHVlX3dpdGhfZmluYWxseV9vbl9leGNlcHRpb24pOgorICAgICAgICAoQXR0cmlidXRlU2F2ZXJU
ZXN0LnRlc3Rfbm9ybWFsX3ZhbHVlX3dpdGhfZmluYWxseV9vbl9ub3JtYWxfZXhpdCk6CisgICAg
ICAgIChBdHRyaWJ1dGVTYXZlclRlc3QudGVzdF9ub3JtYWxfdmFsdWVfd2l0aF9lbHNlX29uX2V4
Y2VwdGlvbik6CisgICAgICAgIChBdHRyaWJ1dGVTYXZlclRlc3QudGVzdF9ub3JtYWxfdmFsdWVf
d2l0aF9lbHNlX29uX25vcm1hbF9leGl0KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2Nv
bW1vbi9jaGVja291dC9zY20vc3R1Yl9yZXBvc2l0b3J5X3VuaXR0ZXN0LnB5OgorICAgICAgICAo
U3R1YlJlcG9zaXRvcnlUZXN0LnRlc3RfZmluZF9jaGVja291dF9yb290KToKKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9jb25maWd1cmF0aW9uX3Vu
aXR0ZXN0LnB5OgorICAgICAgICAoVGVzdENvbmZpZ3VyYXRpb25UZXN0LnRlc3RfZXEpOgorICAg
ICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2V4cGVjdGF0
aW9uc191bml0dGVzdC5weToKKyAgICAgICAgKE1pc2NUZXN0cy50ZXN0X3BhcnNlX3dhcm5pbmdz
X2FyZV9sb2dnZWRfaWZfbm90X2luX2xpbnRfbW9kZSk6CisgICAgICAgICogU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfcnVuX3Jlc3VsdHNfdW5pdHRlc3QucHk6Cisg
ICAgICAgIChTdW1tYXJpemVkUmVzdWx0c1Rlc3QudGVzdF9zdm5fcmV2aXNpb25fZXhpc3RzKToK
KyAgICAgICAgKFN1bW1hcml6ZWRSZXN1bHRzVGVzdC50ZXN0X3N2bl9yZXZpc2lvbik6CisgICAg
ICAgIChTdW1tYXJpemVkUmVzdWx0c1Rlc3QudGVzdF9zdm5fcmV2aXNpb25fZ2l0KToKKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzX2ludGVn
cmF0aW9udGVzdC5weToKKyAgICAgICAgKFJ1blRlc3QudGVzdF90ZXN0c19vcHRpb25zKToKKyAg
ICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9zZXJ2ZXJzL2h0dHBfc2VydmVy
X3VuaXR0ZXN0LnB5OgorICAgICAgICAoVGVzdEh0dHBTZXJ2ZXIudGVzdF93aW4zMl9zdGFydF9h
bmRfc3RvcCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2RyaXZlcl91bml0dGVz
dC5weToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrX3VuaXR0ZXN0LnB5Ogor
ICAgICAgICAoR3RrUG9ydFRlc3QudGVzdF9ndGs0X2V4cGVjdGF0aW9uc19iaW5hcnlfb25seSk6
CisgICAgICAgIChHdGtQb3J0VGVzdC50ZXN0X2d0azNfZXhwZWN0YXRpb25zX2JpbmFyeV9vbmx5
KToKKyAgICAgICAgKEd0a1BvcnRUZXN0LnRlc3RfZ3RrX2V4cGVjdGF0aW9uc19ib3RoX2JpbmFy
aWVzKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL3Rlc3RfZXhw
ZWN0YXRpb25zX3VuaXR0ZXN0LnB5OgorICAgICAgICAoVGVzdEV4cGVjdGF0aW9uc1Rlc3RDYXNl
LmFzc2VydF9saW5lc19saW50KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3Rl
cHMvcHJlcGFyZWNoYW5nZWxvZ191bml0dGVzdC5weToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L3czYy90ZXN0X2NvbnZlcnRlcl91bml0dGVzdC5weToKKyAgICAgICAgKHZlcmlmeV90ZXN0
X2hhcm5lc3NfcGF0aHMpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdzNjL3Rlc3RfZXhw
b3J0ZXJfdW5pdHRlc3QucHk6CisgICAgICAgIChUZXN0RXhwb3J0ZXJUZXN0LnRlc3RfZXhwb3J0
KToKKyAgICAgICAgKFRlc3RFeHBvcnRlclRlc3QudGVzdF9leHBvcnRfd2l0aF9zcGVjaWZpY19i
cmFuY2gpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdzNjL3Rlc3RfaW1wb3J0ZXJfdW5p
dHRlc3QucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS93M2MvdGVzdF9wYXJzZXJfdW5p
dHRlc3QucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS93M2Mvd3B0X3J1bm5lcl91bml0
dGVzdC5weToKKyAgICAgICAgKFdQVFJ1bm5lclRlc3QuTW9ja1NwYXduV1BULl9fY2FsbF9fKToK
KyAgICAgICAgKFdQVFJ1bm5lclRlc3QudGVzdF9wcmVwYXJlX3dwdF9jaGVja291dCk6CisgICAg
ICAgIChXUFRSdW5uZXJUZXN0LnRlc3RfcHJlcGFyZV93cHRfY2hlY2tvdXRfc3BlY2lmaWVkX3Bh
dGgpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkveGNvZGUvZGV2aWNlX3R5cGVfdW5pdHRl
c3QucHk6CisgICAgICAgIChEZXZpY2VUeXBlVGVzdC50ZXN0X2lwaG9uZV9pbml0aWFsaXphdGlv
bik6CisgICAgICAgIChEZXZpY2VUeXBlVGVzdC50ZXN0X2lwYWRfaW5pdGlhbGl6YXRpb24pOgor
ICAgICAgICAoRGV2aWNlVHlwZVRlc3QudGVzdF9nZW5lcmljX2lvc19kZXZpY2UpOgorICAgICAg
ICAoRGV2aWNlVHlwZVRlc3QudGVzdF93YXRjaF9pbml0aWFsaXphdGlvbik6CisgICAgICAgIChE
ZXZpY2VUeXBlVGVzdC50ZXN0X3R2X2luaXRpYWxpemF0aW9uKToKKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHB5L3hjb2RlL3Nka191bml0dGVzdC5weToKKyAgICAgICAgKFNES1Rlc3QudGVzdF9p
cGhvbmVvcyk6CisgICAgICAgIChTREtUZXN0LnRlc3RfaXBob25lc2ltKToKKyAgICAgICAgKFNE
S1Rlc3QudGVzdF9tYWNvcyk6CisgICAgICAgIChTREtUZXN0LnRlc3RfYXBwbGV0dm9zKToKKyAg
ICAgICAgKFNES1Rlc3QudGVzdF9hcHBsZXR2c2ltKToKKyAgICAgICAgKFNES1Rlc3QudGVzdF93
YXRjaG9zKToKKyAgICAgICAgKFNES1Rlc3QudGVzdF93YXRjaHNpbXVsYXRvcik6CisgICAgICAg
IChTREtUZXN0LnRlc3RfcHJvZG9zKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3hjb2Rl
L3NpbXVsYXRlZF9kZXZpY2VfdW5pdHRlc3QucHk6CisKIDIwMjEtMTAtMjQgIEFyY2FkeSBHb2xk
bWludHMtT3Jsb3YgIDxhZ29sZG1pbnRzQGlnYWxpYS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lP
TihyMjgyNjg2KSBbR1RLXSBUZXN0cyBhcmUgZmxha3kgZHVlIHRvIHNwdXJpb3VzICJNYWluRnJh
bWVWaWV3OiBtb3VzZUVudGVyZWRDb250ZW50QXJlYSIgbWVzc2FnZXMgaW4gdGhlIGxvZwpkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0Y29yZXB5L3dlYmtpdGNvcmVw
eS90ZXN0cy90YXNrX3Bvb2xfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93
ZWJraXRjb3JlcHkvd2Via2l0Y29yZXB5L3Rlc3RzL3Rhc2tfcG9vbF91bml0dGVzdC5weQppbmRl
eCAyMGI3NmY3YzU2MWE3YTYyMDdjMTEyY2U4YjA3NDBlN2NlNmE3NmFlLi42YWIxNmQ5Y2EyOWQ0
YmRmNDQ4NWJlNzViODk5YjQ0MTIwNjAyMmQ1IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL2xp
YnJhcmllcy93ZWJraXRjb3JlcHkvd2Via2l0Y29yZXB5L3Rlc3RzL3Rhc2tfcG9vbF91bml0dGVz
dC5weQorKysgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRjb3JlcHkvd2Via2l0Y29y
ZXB5L3Rlc3RzL3Rhc2tfcG9vbF91bml0dGVzdC5weQpAQCAtMTEwLDcgKzExMCw3IEBAIGNsYXNz
IFRhc2tQb29sVW5pdHRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAgICAgICAgICAg
ICBwb29sLndhaXQoKQogCiAgICAgICAgICAgICBsaW5lcyA9IGNhcHR1cmVkLnN0ZG91dC5nZXR2
YWx1ZSgpLnNwbGl0bGluZXMoKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoc29ydGVk
KGxpbmVzKSwgWydhY3Rpb24oe30pJy5mb3JtYXQoY2hhcmFjdGVyKSBmb3IgY2hhcmFjdGVyIGlu
IHNlbGYuYWxwaGFiZXRdKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzb3J0ZWQobGlu
ZXMpLCBbJ2FjdGlvbih7fSknLmZvcm1hdChjaGFyYWN0ZXIpIGZvciBjaGFyYWN0ZXIgaW4gc2Vs
Zi5hbHBoYWJldF0pCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAogICAgICAgICAgICAg
ICAgIHNvcnRlZChjYXB0dXJlZC53ZWJraXRjb3JlcHkubG9nLmdldHZhbHVlKCkuc3BsaXRsaW5l
cygpKSwKICAgICAgICAgICAgICAgICBzb3J0ZWQoWyd3b3JrZXIve30gc3RhcnRpbmcnLmZvcm1h
dChudW1iZXIpIGZvciBudW1iZXIgaW4gcmFuZ2UoNCldICsgWyd3b3JrZXIve30gc3RvcHBpbmcn
LmZvcm1hdChudW1iZXIpIGZvciBudW1iZXIgaW4gcmFuZ2UoNCldKSwKZGlmZiAtLWdpdCBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2F0dHJpYnV0ZV9zYXZlcl91bml0dGVzdC5weSBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2F0dHJpYnV0ZV9zYXZlcl91bml0dGVzdC5w
eQppbmRleCA4NmFhNTg4MTFkNDJiMDBmMTM2NjZjMDdiNDExZWQ2NTA0MDA5NmVkLi5kNTc0MWJi
MzA3NzQzNmZlNmU0NTFjYTFhYTIzMTI5MDEzMGFhNDk2IDEwMDY0NAotLS0gYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2NvbW1vbi9hdHRyaWJ1dGVfc2F2ZXJfdW5pdHRlc3QucHkKKysrIGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vYXR0cmlidXRlX3NhdmVyX3VuaXR0ZXN0LnB5CkBA
IC0zOCw5MCArMzgsOTAgQEAgY2xhc3MgQXR0cmlidXRlU2F2ZXJUZXN0KHVuaXR0ZXN0LlRlc3RD
YXNlKToKIAogICAgIGRlZiB0ZXN0X2NsYXNzKHNlbGYpOgogICAgICAgICBvYmogPSBzZWxmLlNp
bXBsZVRlc3RDbGFzcygpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKG9iai52YWx1ZSwgMCkK
KyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvYmoudmFsdWUsIDApCiAKICAgICBkZWYgdGVzdF9u
b3JtYWxfZGVmYXVsdChzZWxmKToKICAgICAgICAgb2JqID0gc2VsZi5TaW1wbGVUZXN0Q2xhc3Mo
KQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhvYmoudmFsdWUsIDApCisgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwob2JqLnZhbHVlLCAwKQogICAgICAgICB3aXRoIEF0dHJpYnV0ZVNhdmVyKG9i
aiwgInZhbHVlIik6Ci0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhvYmoudmFsdWUsIE5v
bmUpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKG9iai52YWx1ZSwgMCkKKyAgICAgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwob2JqLnZhbHVlLCBOb25lKQorICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKG9iai52YWx1ZSwgMCkKIAogICAgIGRlZiB0ZXN0X25vcm1hbF92YWx1ZShzZWxmKToKICAg
ICAgICAgb2JqID0gc2VsZi5TaW1wbGVUZXN0Q2xhc3MoKQotICAgICAgICBzZWxmLmFzc2VydEVx
dWFscyhvYmoudmFsdWUsIDApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob2JqLnZhbHVlLCAw
KQogICAgICAgICB3aXRoIEF0dHJpYnV0ZVNhdmVyKG9iaiwgInZhbHVlIiwgMSk6Ci0gICAgICAg
ICAgICBzZWxmLmFzc2VydEVxdWFscyhvYmoudmFsdWUsIDEpCi0gICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWxzKG9iai52YWx1ZSwgMCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob2JqLnZh
bHVlLCAxKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9iai52YWx1ZSwgMCkKIAogICAgIGRl
ZiB0ZXN0X25vcm1hbF92YWx1ZV9vbl9leGNlcHRpb24oc2VsZik6CiAgICAgICAgIHdpdGggc2Vs
Zi5hc3NlcnRSYWlzZXMoUnVudGltZUVycm9yKToKICAgICAgICAgICAgIG9iaiA9IHNlbGYuU2lt
cGxlVGVzdENsYXNzKCkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKG9iai52YWx1ZSwg
MCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob2JqLnZhbHVlLCAwKQogICAgICAgICAg
ICAgdHJ5OgogICAgICAgICAgICAgICAgIHdpdGggQXR0cmlidXRlU2F2ZXIob2JqLCAidmFsdWUi
LCAxKToKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMob2JqLnZhbHVlLCAx
KQorICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9iai52YWx1ZSwgMSkKICAg
ICAgICAgICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCkKICAgICAgICAgICAgIGV4Y2Vw
dDoKLSAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhvYmoudmFsdWUsIDApCisgICAg
ICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvYmoudmFsdWUsIDApCiAgICAgICAgICAgICAg
ICAgcmFpc2UKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKG9iai52YWx1ZSwgMCkKKyAg
ICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob2JqLnZhbHVlLCAwKQogCiAgICAgZGVmIHRlc3Rf
bm9ybWFsX3ZhbHVlX29uX25vcm1hbF9leGl0KHNlbGYpOgogICAgICAgICBvYmogPSBzZWxmLlNp
bXBsZVRlc3RDbGFzcygpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKG9iai52YWx1ZSwgMCkK
KyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvYmoudmFsdWUsIDApCiAgICAgICAgIHRyeToKICAg
ICAgICAgICAgIHdpdGggQXR0cmlidXRlU2F2ZXIob2JqLCAidmFsdWUiLCAxKToKLSAgICAgICAg
ICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhvYmoudmFsdWUsIDEpCisgICAgICAgICAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChvYmoudmFsdWUsIDEpCiAgICAgICAgIGV4Y2VwdDoKLSAgICAgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWxzKG9iai52YWx1ZSwgMCkKKyAgICAgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwob2JqLnZhbHVlLCAwKQogICAgICAgICAgICAgcmFpc2UKLSAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbHMob2JqLnZhbHVlLCAwKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9iai52
YWx1ZSwgMCkKIAogICAgIGRlZiB0ZXN0X25vcm1hbF92YWx1ZV93aXRoX2ZpbmFsbHlfb25fZXhj
ZXB0aW9uKHNlbGYpOgogICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFJ1bnRpbWVFcnJv
cik6CiAgICAgICAgICAgICBvYmogPSBzZWxmLlNpbXBsZVRlc3RDbGFzcygpCi0gICAgICAgICAg
ICBzZWxmLmFzc2VydEVxdWFscyhvYmoudmFsdWUsIDApCisgICAgICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKG9iai52YWx1ZSwgMCkKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICB3
aXRoIEF0dHJpYnV0ZVNhdmVyKG9iaiwgInZhbHVlIiwgMSk6Ci0gICAgICAgICAgICAgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWxzKG9iai52YWx1ZSwgMSkKKyAgICAgICAgICAgICAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChvYmoudmFsdWUsIDEpCiAgICAgICAgICAgICAgICAgICAgIHJhaXNlIFJ1
bnRpbWVFcnJvcigpCiAgICAgICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWxzKG9iai52YWx1ZSwgMCkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxz
KG9iai52YWx1ZSwgMCkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9iai52YWx1
ZSwgMCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob2JqLnZhbHVlLCAwKQogCiAgICAg
ZGVmIHRlc3Rfbm9ybWFsX3ZhbHVlX3dpdGhfZmluYWxseV9vbl9ub3JtYWxfZXhpdChzZWxmKToK
ICAgICAgICAgb2JqID0gc2VsZi5TaW1wbGVUZXN0Q2xhc3MoKQotICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFscyhvYmoudmFsdWUsIDApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob2JqLnZhbHVl
LCAwKQogICAgICAgICB0cnk6CiAgICAgICAgICAgICB3aXRoIEF0dHJpYnV0ZVNhdmVyKG9iaiwg
InZhbHVlIiwgMSk6Ci0gICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMob2JqLnZhbHVl
LCAxKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob2JqLnZhbHVlLCAxKQogICAg
ICAgICBmaW5hbGx5OgotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMob2JqLnZhbHVlLCAw
KQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhvYmoudmFsdWUsIDApCisgICAgICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKG9iai52YWx1ZSwgMCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChv
YmoudmFsdWUsIDApCiAKICAgICBkZWYgdGVzdF9ub3JtYWxfdmFsdWVfd2l0aF9lbHNlX29uX2V4
Y2VwdGlvbihzZWxmKToKICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhSdW50aW1lRXJy
b3IpOgogICAgICAgICAgICAgb2JqID0gc2VsZi5TaW1wbGVUZXN0Q2xhc3MoKQotICAgICAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbHMob2JqLnZhbHVlLCAwKQorICAgICAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChvYmoudmFsdWUsIDApCiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAg
d2l0aCBBdHRyaWJ1dGVTYXZlcihvYmosICJ2YWx1ZSIsIDEpOgotICAgICAgICAgICAgICAgICAg
ICBzZWxmLmFzc2VydEVxdWFscyhvYmoudmFsdWUsIDEpCisgICAgICAgICAgICAgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwob2JqLnZhbHVlLCAxKQogICAgICAgICAgICAgICAgICAgICByYWlzZSBS
dW50aW1lRXJyb3IoKQogICAgICAgICAgICAgZXhjZXB0IElPRXJyb3I6CiAgICAgICAgICAgICAg
ICAgc2VsZi5hc3NlcnRGYWxzZShUcnVlKQogICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAg
ICAgICBzZWxmLmFzc2VydEVxdWFscyhvYmoudmFsdWUsIDApCi0gICAgICAgICAgICBzZWxmLmFz
c2VydEVxdWFscyhvYmoudmFsdWUsIDApCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChvYmoudmFsdWUsIDApCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9iai52YWx1ZSwg
MCkKIAogICAgIGRlZiB0ZXN0X25vcm1hbF92YWx1ZV93aXRoX2Vsc2Vfb25fbm9ybWFsX2V4aXQo
c2VsZik6CiAgICAgICAgIG9iaiA9IHNlbGYuU2ltcGxlVGVzdENsYXNzKCkKLSAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbHMob2JqLnZhbHVlLCAwKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9i
ai52YWx1ZSwgMCkKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgd2l0aCBBdHRyaWJ1dGVTYXZl
cihvYmosICJ2YWx1ZSIsIDEpOgotICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKG9i
ai52YWx1ZSwgMSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9iai52YWx1ZSwg
MSkKICAgICAgICAgZXhjZXB0IElPRXJyb3I6CiAgICAgICAgICAgICBzZWxmLmFzc2VydEZhbHNl
KFRydWUpCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhvYmou
dmFsdWUsIDApCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKG9iai52YWx1ZSwgMCkKKyAgICAg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob2JqLnZhbHVlLCAwKQorICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKG9iai52YWx1ZSwgMCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
Y29tbW9uL2NoZWNrb3V0L3NjbS9zdHViX3JlcG9zaXRvcnlfdW5pdHRlc3QucHkgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9zY20vc3R1Yl9yZXBvc2l0b3J5X3VuaXR0
ZXN0LnB5CmluZGV4IGRjYjRiMWI4NzE5NGQyNDI3N2Y1MTA1MWRlN2ZlYjY0MjhiZDUyMzEuLjdj
ZmE1NjAwM2FlNTQ1MjBmNWVhOTNjYzJlMjZjOTNkOWFiOWQ2MDUgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L3NjbS9zdHViX3JlcG9zaXRvcnlfdW5p
dHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvc2Nt
L3N0dWJfcmVwb3NpdG9yeV91bml0dGVzdC5weQpAQCAtNjcsNyArNjcsNyBAQCBjbGFzcyBTdHVi
UmVwb3NpdG9yeVRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGRlZiB0ZXN0X2ZpbmRfY2hl
Y2tvdXRfcm9vdChzZWxmKToKICAgICAgICAgaG9zdCA9IFN0dWJSZXBvc2l0b3J5VGVzdC5tb2Nr
X2hvc3RfZm9yX3N0dWJfcmVwb3NpdG9yeSgpCiAgICAgICAgIHJlcG9zaXRvcnkgPSBTdHViUmVw
b3NpdG9yeShjd2Q9aG9zdC5maWxlc3lzdGVtLmdldGN3ZCgpLCBmaWxlc3lzdGVtPWhvc3QuZmls
ZXN5c3RlbSwgZXhlY3V0aXZlPWhvc3QuZXhlY3V0aXZlKQotICAgICAgICBzZWxmLmFzc2VydEVx
dWFscyhyZXBvc2l0b3J5LmZpbmRfY2hlY2tvdXRfcm9vdChwYXRoPWhvc3QuZmlsZXN5c3RlbS5q
b2luKCdUZXN0RGlyZWN0b3J5JywgJ1Rlc3REaXJlY3RvcnkyJywgJ1Rlc3REaXJlY3RvcnkzJykp
LCBob3N0LmZpbGVzeXN0ZW0uam9pbihob3N0LmZpbGVzeXN0ZW0uZ2V0Y3dkKCksICdUZXN0RGly
ZWN0b3J5JywgJ1Rlc3REaXJlY3RvcnkyJykpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVw
b3NpdG9yeS5maW5kX2NoZWNrb3V0X3Jvb3QocGF0aD1ob3N0LmZpbGVzeXN0ZW0uam9pbignVGVz
dERpcmVjdG9yeScsICdUZXN0RGlyZWN0b3J5MicsICdUZXN0RGlyZWN0b3J5MycpKSwgaG9zdC5m
aWxlc3lzdGVtLmpvaW4oaG9zdC5maWxlc3lzdGVtLmdldGN3ZCgpLCAnVGVzdERpcmVjdG9yeScs
ICdUZXN0RGlyZWN0b3J5MicpKQogCiAgICAgZGVmIHRlc3RfZmluZF9jaGVja291dF9yb290X2Zh
aWx1cmUoc2VsZik6CiAgICAgICAgIGhvc3QgPSBTdHViUmVwb3NpdG9yeVRlc3QubW9ja19ob3N0
X2Zvcl9zdHViX3JlcG9zaXRvcnkoKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfY29uZmlndXJhdGlvbl91bml0dGVzdC5weSBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2NvbmZpZ3VyYXRp
b25fdW5pdHRlc3QucHkKaW5kZXggMWU3M2I3YTU5N2M4ZWJhNTA2N2U0Nzc5MmNhZGIwYmQzZDc0
M2E5ZS4uNzQ2Nzc1ZWFmOTE3ODRkNjA0OTBiNTEyMzJmZTgyMjMzYTA1MTI5YiAxMDA2NDQKLS0t
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfY29uZmln
dXJhdGlvbl91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9tb2RlbHMvdGVzdF9jb25maWd1cmF0aW9uX3VuaXR0ZXN0LnB5CkBAIC04Niw3ICs4Niw3
IEBAIGNsYXNzIFRlc3RDb25maWd1cmF0aW9uVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAg
ICBkZWYgdGVzdF9lcShzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChUZXN0Q29uZmln
dXJhdGlvbigneHAnLCAneDg2JywgJ3JlbGVhc2UnKSwgVGVzdENvbmZpZ3VyYXRpb24oJ3hwJywg
J3g4NicsICdyZWxlYXNlJykpCi0gICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWxzKFRlc3RDb25m
aWd1cmF0aW9uKCd4cCcsICd4ODYnLCAncmVsZWFzZScpLCBUZXN0Q29uZmlndXJhdGlvbigneHAn
LCAneDg2JywgJ2RlYnVnJykpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoVGVzdENvbmZp
Z3VyYXRpb24oJ3hwJywgJ3g4NicsICdyZWxlYXNlJyksIFRlc3RDb25maWd1cmF0aW9uKCd4cCcs
ICd4ODYnLCAnZGVidWcnKSkKIAogICAgIGRlZiB0ZXN0X3ZhbHVlcyhzZWxmKToKICAgICAgICAg
Y29uZmlnID0gVGVzdENvbmZpZ3VyYXRpb24oJ3hwJywgJ3g4NicsICdyZWxlYXNlJykKZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2V4
cGVjdGF0aW9uc191bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL21vZGVscy90ZXN0X2V4cGVjdGF0aW9uc191bml0dGVzdC5weQppbmRleCAyMGZkZTEzY2Q4
ZTM3ZGQxMjg1MThhMGI2ZDE2YTFhZTBkZmFmYTBmLi40YTA4ODhhN2EzODBkMjZkYzQ1Njk1NzM2
M2IzYjk0ZWY2ZTg2NDkzIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9tb2RlbHMvdGVzdF9leHBlY3RhdGlvbnNfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfZXhwZWN0YXRpb25zX3Vu
aXR0ZXN0LnB5CkBAIC0xOTksNyArMTk5LDcgQEAgY2xhc3MgTWlzY1Rlc3RzKEJhc2UpOgogICAg
IGRlZiB0ZXN0X3BhcnNlX3dhcm5pbmdzX2FyZV9sb2dnZWRfaWZfbm90X2luX2xpbnRfbW9kZShz
ZWxmKToKICAgICAgICAgd2l0aCBPdXRwdXRDYXB0dXJlKCkgYXMgY2FwdHVyZWQ6CiAgICAgICAg
ICAgICBzZWxmLnBhcnNlX2V4cCgnLS0gdGhpcyBzaG91bGQgYmUgYSBzeW50YXggZXJyb3InLCBp
c19saW50X21vZGU9RmFsc2UpCi0gICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWxzKGNhcHR1cmVk
LnJvb3QubG9nLmdldHZhbHVlKCksICcnKQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKGNh
cHR1cmVkLnJvb3QubG9nLmdldHZhbHVlKCksICcnKQogCiAgICAgZGVmIHRlc3RfZXJyb3Jfb25f
ZGlmZmVyZW50X3BsYXRmb3JtKHNlbGYpOgogICAgICAgICAjIHBhcnNlX2V4cCB1c2VzIGEgV2lu
ZG93cyBwb3J0LiBBc3NlcnQgZXJyb3JzIG9uIE1hYyBzaG93IHVwIGluIGxpbnQgbW9kZS4KZGlm
ZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0
X3J1bl9yZXN1bHRzX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvbW9kZWxzL3Rlc3RfcnVuX3Jlc3VsdHNfdW5pdHRlc3QucHkKaW5kZXggMDkwZGQxNTMw
YTMwNjI0YTc4NzVjYmZjYTFiYzYyMjJiMWY0NWViOC4uMDEwNTY2MDEyZGIyMGQ3ZmFmYWE4M2Q0
YjEwM2FjZGVhMjA2MWFlYiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvbW9kZWxzL3Rlc3RfcnVuX3Jlc3VsdHNfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfcnVuX3Jlc3VsdHNfdW5p
dHRlc3QucHkKQEAgLTE1OCwxOSArMTU4LDE5IEBAIGNsYXNzIFN1bW1hcml6ZWRSZXN1bHRzVGVz
dCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIHRlc3Rfc3ZuX3JldmlzaW9uX2V4aXN0cyhz
ZWxmKToKICAgICAgICAgc2VsZi5wb3J0Ll9vcHRpb25zLmJ1aWxkZXJfbmFtZSA9ICdkdW1teSBi
dWlsZGVyJwogICAgICAgICBzdW1tYXJ5ID0gc3VtbWFyaXplZF9yZXN1bHRzKHNlbGYucG9ydCwg
ZXhwZWN0ZWQ9RmFsc2UsIHBhc3Npbmc9RmFsc2UsIGZsYWt5PUZhbHNlKQotICAgICAgICBzZWxm
LmFzc2VydE5vdEVxdWFscyhzdW1tYXJ5WydyZXZpc2lvbiddLCAnJykKKyAgICAgICAgc2VsZi5h
c3NlcnROb3RFcXVhbChzdW1tYXJ5WydyZXZpc2lvbiddLCAnJykKIAogICAgIGRlZiB0ZXN0X3N2
bl9yZXZpc2lvbihzZWxmKToKICAgICAgICAgd2l0aCBtb2Nrcy5sb2NhbC5Tdm4ocGF0aD0nLycp
LCBtb2Nrcy5sb2NhbC5HaXQoKToKICAgICAgICAgICAgIHNlbGYucG9ydC5fb3B0aW9ucy5idWls
ZGVyX25hbWUgPSAnZHVtbXkgYnVpbGRlcicKICAgICAgICAgICAgIHN1bW1hcnkgPSBzdW1tYXJp
emVkX3Jlc3VsdHMoc2VsZi5wb3J0LCBleHBlY3RlZD1GYWxzZSwgcGFzc2luZz1GYWxzZSwgZmxh
a3k9RmFsc2UpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhzdW1tYXJ5WydyZXZpc2lv
biddLCAnNicpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN1bW1hcnlbJ3JldmlzaW9u
J10sICc2JykKIAogICAgIGRlZiB0ZXN0X3N2bl9yZXZpc2lvbl9naXQoc2VsZik6CiAgICAgICAg
IHdpdGggbW9ja3MubG9jYWwuU3ZuKCksIG1vY2tzLmxvY2FsLkdpdChwYXRoPScvJywgZ2l0X3N2
bj1UcnVlKSwgT3V0cHV0Q2FwdHVyZSgpOgogICAgICAgICAgICAgc2VsZi5wb3J0Ll9vcHRpb25z
LmJ1aWxkZXJfbmFtZSA9ICdkdW1teSBidWlsZGVyJwogICAgICAgICAgICAgc3VtbWFyeSA9IHN1
bW1hcml6ZWRfcmVzdWx0cyhzZWxmLnBvcnQsIGV4cGVjdGVkPUZhbHNlLCBwYXNzaW5nPUZhbHNl
LCBmbGFreT1GYWxzZSkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHN1bW1hcnlbJ3Jl
dmlzaW9uJ10sICc5JykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3VtbWFyeVsncmV2
aXNpb24nXSwgJzknKQogCiAgICAgZGVmIHRlc3Rfc3VtbWFyaXplZF9yZXN1bHRzX3dvbnRmaXgo
c2VsZik6CiAgICAgICAgIHNlbGYucG9ydC5fb3B0aW9ucy5idWlsZGVyX25hbWUgPSAnZHVtbXkg
YnVpbGRlcicKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3J1bl93ZWJraXRfdGVzdHNfaW50ZWdyYXRpb250ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0c19pbnRlZ3JhdGlvbnRlc3QucHkKaW5k
ZXggZTY3ZWNlNTA3ZDQwYTM5ODA3OWYzMjNlZTdhNTdjZWY5NmZjYjQ0Ny4uY2NlYTliNDgwYjZi
MWUwMTNhZjAxYmJiMjNiYzFlMTBkNWM5YzhmYSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0c19pbnRlZ3JhdGlvbnRlc3QucHkK
KysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0
c19pbnRlZ3JhdGlvbnRlc3QucHkKQEAgLTgyMiw5ICs4MjIsOSBAQCBjbGFzcyBSdW5UZXN0KHVu
aXR0ZXN0LlRlc3RDYXNlLCBTdHJlYW1UZXN0aW5nTWl4aW4pOgogICAgICAgICBkZXRhaWxzLCBf
LCBfID0gbG9nZ2luZ19ydW4oWydmYWlsdXJlcy9leHBlY3RlZC90aW1lb3V0Lmh0bWwnLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmYWlsdXJlcy91bmV4cGVjdGVkL3Rp
bWVvdXQuaHRtbCddLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaG9zdD1o
b3N0KQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhkZXRhaWxzLmluaXRpYWxfcmVzdWx0cy5z
bG93X3Rlc3RzLAorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRldGFpbHMuaW5pdGlhbF9yZXN1
bHRzLnNsb3dfdGVzdHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHsnZmFpbHVyZXMvdW5l
eHBlY3RlZC90aW1lb3V0Lmh0bWwnfSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoZGV0YWls
cy5yZXRyeV9yZXN1bHRzLnNsb3dfdGVzdHMsCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGV0
YWlscy5yZXRyeV9yZXN1bHRzLnNsb3dfdGVzdHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
IHsnZmFpbHVyZXMvdW5leHBlY3RlZC90aW1lb3V0Lmh0bWwnfSkKIAogICAgIGRlZiBzZXJpYWxf
dGVzdF9ub19odHRwX2FuZF9mb3JjZShzZWxmKToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL3NlcnZlcnMvaHR0cF9zZXJ2ZXJfdW5pdHRlc3QucHkgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9zZXJ2ZXJzL2h0dHBfc2VydmVyX3Vu
aXR0ZXN0LnB5CmluZGV4IDczODk4MDUzMDRiZmVlMTNhNWEyN2YxZWMwZWVkNDY1Yzk1NGYyMTEu
LjhkYTY2NGFlYzUyZDUyYWQ5MDBhMzU2ZTVmOGUxMzg0NDk2MWJmYWIgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3NlcnZlcnMvaHR0cF9zZXJ2ZXJfdW5p
dHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvc2VydmVy
cy9odHRwX3NlcnZlcl91bml0dGVzdC5weQpAQCAtODgsNyArODgsNyBAQCBjbGFzcyBUZXN0SHR0
cFNlcnZlcih1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIHNlcnZlci5faXNfc2VydmVyX3J1
bm5pbmdfb25fYWxsX3BvcnRzID0gbGFtYmRhOiBUcnVlCiAKICAgICAgICAgc2VydmVyLnN0YXJ0
KCkKLSAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbHMoaG9zdC5leGVjdXRpdmUuY2FsbHMsIFtd
KQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKGhvc3QuZXhlY3V0aXZlLmNhbGxzLCBbXSkK
IAogICAgICAgICBkZWYgd2FpdF9mb3JfYWN0aW9uKGFjdGlvbik6CiAgICAgICAgICAgICBpZiBh
Y3Rpb24oKToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9kcml2ZXJf
dW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZHJpdmVyX3VuaXR0ZXN0
LnB5CmluZGV4IDg1YzgwM2NmZWI0NTZkMzJhZmM4ZGNmZWI2MzczZDkwYjU0ZGNjMzUuLjk4MDFm
YTYzN2VmOGIwYzQ1Njk4ZWZkMDVkMDY4ZDAyMTFlMjMyNTYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvcG9ydC9kcml2ZXJfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9wb3J0L2RyaXZlcl91bml0dGVzdC5weQpAQCAtMjk4LDcgKzI5OCw3IEBAIGNs
YXNzIERyaXZlclRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBkcml2ZXIgPSBEcml2
ZXIocG9ydCwgMCwgcGl4ZWxfdGVzdHM9VHJ1ZSkKICAgICAgICAgZHJpdmVyLnN0YXJ0KFRydWUs
IFtdKQogICAgICAgICBsYXN0X3RtcGRpciA9IHBvcnQuX2ZpbGVzeXN0ZW0ubGFzdF90bXBkaXIK
LSAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbHMobGFzdF90bXBkaXIsIE5vbmUpCisgICAgICAg
IHNlbGYuYXNzZXJ0Tm90RXF1YWwobGFzdF90bXBkaXIsIE5vbmUpCiAgICAgICAgIGRyaXZlci5z
dG9wKCkKICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShwb3J0Ll9maWxlc3lzdGVtLmlzZGlyKGxh
c3RfdG1wZGlyKSkKIApAQCAtNDAxLDcgKzQwMSw3IEBAIGNsYXNzIERyaXZlclRlc3QodW5pdHRl
c3QuVGVzdENhc2UpOgogICAgICAgICAgICAgZHJpdmVyID0gRHJpdmVyKHBvcnQsIE5vbmUsIHBp
eGVsX3Rlc3RzPUZhbHNlKQogICAgICAgICAgICAgZHJpdmVyLnN0YXJ0KFRydWUsIFtdKQogICAg
ICAgICAgICAgZW52aXJvbl9kcml2ZXIgPSBkcml2ZXIuX3NldHVwX2Vudmlyb25fZm9yX3Rlc3Qo
KQotICAgICAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbHMoZW52aXJvbl9kcml2ZXJbJ0hPTUUn
XSwgZW52aXJvbl91c2VyWydIT01FJ10pCisgICAgICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFs
KGVudmlyb25fZHJpdmVyWydIT01FJ10sIGVudmlyb25fdXNlclsnSE9NRSddKQogICAgICAgICAg
ICAgc2VsZi5hc3NlcnRJbihzdHIoZHJpdmVyLl9kcml2ZXJfdGVtcGRpciksIGVudmlyb25fZHJp
dmVyWydIT01FJ10pCiAgICAgICAgICAgICBzZWxmLmFzc2VydE5vdEluKHN0cihkcml2ZXIuX2Ry
aXZlcl90ZW1wZGlyKSwgZW52aXJvbl91c2VyWydIT01FJ10pCiAgICAgICAgICAgICBzZWxmLmFz
c2VydFRydWUocG9ydC5fZmlsZXN5c3RlbS5pc2RpcihlbnZpcm9uX2RyaXZlclsnSE9NRSddKSkK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9ndGtfdW5pdHRlc3QucHkg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrX3VuaXR0ZXN0LnB5CmluZGV4IDBkYmMy
OWZhY2Y5MmVmY2U4YWUxNmU4OWQxYTQxNTQ5OWZlOTAxZTUuLjVmNGE3NWQ5NjBlZGVkMGFmNzg2
MDlkYTIxOThiMjM1N2E2OTA3MWIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
cG9ydC9ndGtfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2d0
a191bml0dGVzdC5weQpAQCAtMTAxLDcgKzEwMSw3IEBAIGNsYXNzIEd0a1BvcnRUZXN0KHBvcnRf
dGVzdGNhc2UuUG9ydFRlc3RDYXNlKToKICAgICAgICAgICAgICIvbW9jay1idWlsZC9saWIvbGli
d2Via2l0Mmd0ay01LjAuc28iOiAiIgogICAgICAgICB9KQogICAgICAgICB3aXRoIE91dHB1dENh
cHR1cmUoKSBhcyBfOgotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMocG9ydC5leHBlY3Rh
dGlvbnNfZmlsZXMoKSwKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocG9ydC5leHBlY3Rh
dGlvbnNfZmlsZXMoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsnL21vY2stY2hl
Y2tvdXQvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucycsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJy9tb2NrLWNoZWNrb3V0L0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0
RXhwZWN0YXRpb25zJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnL21vY2stY2hl
Y2tvdXQvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9UZXN0RXhwZWN0YXRpb25zJywKQEAgLTEx
NSw3ICsxMTUsNyBAQCBjbGFzcyBHdGtQb3J0VGVzdChwb3J0X3Rlc3RjYXNlLlBvcnRUZXN0Q2Fz
ZSk6CiAgICAgICAgIH0pCiAKICAgICAgICAgd2l0aCBPdXRwdXRDYXB0dXJlKCkgYXMgXzoKLSAg
ICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHBvcnQuZXhwZWN0YXRpb25zX2ZpbGVzKCksCisg
ICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBvcnQuZXhwZWN0YXRpb25zX2ZpbGVzKCksCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJy9tb2NrLWNoZWNrb3V0L0xheW91dFRlc3Rz
L1Rlc3RFeHBlY3RhdGlvbnMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcvbW9j
ay1jaGVja291dC9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9ucycsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy9tb2NrLWNoZWNrb3V0L0xheW91dFRlc3Rz
L3BsYXRmb3JtL2dsaWIvVGVzdEV4cGVjdGF0aW9ucycsCkBAIC0xMjksOSArMTI5LDkgQEAgY2xh
c3MgR3RrUG9ydFRlc3QocG9ydF90ZXN0Y2FzZS5Qb3J0VGVzdENhc2UpOgogICAgICAgICB9KQog
CiAgICAgICAgIHdpdGggT3V0cHV0Q2FwdHVyZSgpIGFzIGNhcHR1cmVkOgotICAgICAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbHMocG9ydC5leHBlY3RhdGlvbnNfZmlsZXMoKSwKKyAgICAgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwocG9ydC5leHBlY3RhdGlvbnNfZmlsZXMoKSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFsnL21vY2stY2hlY2tvdXQvTGF5b3V0VGVzdHMvVGVzdEV4cGVj
dGF0aW9ucycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy9tb2NrLWNoZWNrb3V0
L0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zJywKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAnL21vY2stY2hlY2tvdXQvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Z2xpYi9UZXN0RXhwZWN0YXRpb25zJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn
L21vY2stY2hlY2tvdXQvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMn
XSkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKGNhcHR1cmVkLnJvb3QubG9nLmdldHZh
bHVlKCksICdNdWx0aXBsZSBXZWJLaXQyR1RLIGxpYnJhcmllcyBmb3VuZC4gU2tpcHBpbmcgR1RL
NCBkZXRlY3Rpb24uXG4nKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjYXB0dXJlZC5y
b290LmxvZy5nZXR2YWx1ZSgpLCAnTXVsdGlwbGUgV2ViS2l0MkdUSyBsaWJyYXJpZXMgZm91bmQu
IFNraXBwaW5nIEdUSzQgZGV0ZWN0aW9uLlxuJykKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvdGVzdF9leHBlY3RhdGlvbnNfdW5pdHRlc3QucHkgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL3Rlc3RfZXhwZWN0YXRpb25zX3Vu
aXR0ZXN0LnB5CmluZGV4IDQzYjdlYWExMmI4OGUzZmUyMzg1YzA0Zjk0NzZkMzdhN2I3MjIyODcu
LmI3ZjAxOTI0NjdjZGUwY2E2MTk2YTI5ODNjNTQyNTk5YTkwZWU5Y2IgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvdGVzdF9leHBlY3RhdGlvbnNfdW5p
dHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy90ZXN0
X2V4cGVjdGF0aW9uc191bml0dGVzdC5weQpAQCAtOTUsNyArOTUsNyBAQCBjbGFzcyBUZXN0RXhw
ZWN0YXRpb25zVGVzdENhc2UodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBlbGlmIGV4cGVj
dGVkX291dHB1dDoKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0ZWRfb3V0cHV0
LCBzZWxmLl9lcnJvcl9jb2xsZWN0b3IuZ2V0X2Vycm9ycygpKQogICAgICAgICBlbHNlOgotICAg
ICAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbHMoJycsIHNlbGYuX2Vycm9yX2NvbGxlY3Rvci5n
ZXRfZXJyb3JzKCkpCisgICAgICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKCcnLCBzZWxmLl9l
cnJvcl9jb2xsZWN0b3IuZ2V0X2Vycm9ycygpKQogCiAgICAgICAgICMgTm90ZSB0aGF0IGEgcGF0
Y2ggbWlnaHQgY2hhbmdlIGEgbGluZSB0aGF0IGludHJvZHVjZXMgZXJyb3JzIGVsc2V3aGVyZSwg
YnV0IHdlCiAgICAgICAgICMgZG9uJ3Qgd2FudCB0byBsaW50IHRoZSB3aG9sZSBmaWxlIChpdCBj
YW4gdW5mYWlybHkgcHVuaXNoIHBhdGNoZXMgZm9yIHByZS1leGlzdGluZyBlcnJvcnMpLgpkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3ByZXBhcmVjaGFuZ2Vs
b2dfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvcHJlcGFy
ZWNoYW5nZWxvZ191bml0dGVzdC5weQppbmRleCA3MjRmY2NjODIzMDE0OTcxODRiZWFjMjM1NTQ1
MDZiOTY1ZmIxOTIxLi5hMDVhMTQ1Y2IwNDIzZDY2MDRmNzMzOTZmM2FmMDhhOWU0ZjNiMWIwIDEw
MDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvcHJlcGFyZWNoYW5n
ZWxvZ191bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMv
cHJlcGFyZWNoYW5nZWxvZ191bml0dGVzdC5weQpAQCAtMTE1LDcgKzExNSw3IEBAIGNsYXNzIFBy
ZXBhcmVDaGFuZ2VMb2dUZXN0KGNoYW5nZWxvZ191bml0dGVzdC5DaGFuZ2VMb2dUZXN0KToKICAg
ICAgICAgICAgIHN0ZXAuX3Rvb2wuZmlsZXN5c3RlbS53cml0ZV90ZXh0X2ZpbGUocGF0aCwgc3Rh
cnRfZmlsZSkKICAgICAgICAgICAgIHN0ZXAuX3Jlc29sdmVfZXhpc3RpbmdfZW50cnkocGF0aCkK
ICAgICAgICAgICAgIGFjdHVhbF9vdXRwdXQgPSBzdGVwLl90b29sLmZpbGVzeXN0ZW0ucmVhZF90
ZXh0X2ZpbGUocGF0aCkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKGFjdHVhbF9vdXRw
dXQsIGVuZF9maWxlKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhY3R1YWxfb3V0cHV0
LCBlbmRfZmlsZSkKIAogICAgIGRlZiB0ZXN0X2Vuc3VyZV9idWdfdXJsKHNlbGYpOgogICAgICAg
ICBzdGVwID0gUHJlcGFyZUNoYW5nZUxvZyhNb2NrVG9vbCgpLCBNb2NrT3B0aW9ucygpKQpkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS93M2MvdGVzdF9jb252ZXJ0ZXJfdW5pdHRl
c3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3czYy90ZXN0X2NvbnZlcnRlcl91bml0dGVz
dC5weQppbmRleCBiNDRmNTAxOGI2YmEyNmRmNzFiNjk3NjdlOGI0MGY5MTUyNDQ5MmUzLi44NDdj
NzUyYmE3NTUwODhmNGNkMWQ1MGQxN2MzYzgyZWE2YWVlMGM0IDEwMDY0NAotLS0gYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3czYy90ZXN0X2NvbnZlcnRlcl91bml0dGVzdC5weQorKysgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3czYy90ZXN0X2NvbnZlcnRlcl91bml0dGVzdC5weQpAQCAtMzY4
LDEzICszNjgsMTMgQEAgQ09OVEVOVCBPRiBURVNUCiAKICAgICAgICAgIyBWZXJpZnkgdGhlIG9y
aWdpbmFsIHBhdGhzIGFyZSBnb25lLCBhbmQgdGhlIG5ldyBwYXRocyBhcmUgcHJlc2VudC4KICAg
ICAgICAgb3JpZ19wYXRoX3BhdHRlcm4gPSByZS5jb21waWxlKCdcIi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MnKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhsZW4oY29udmVydGVkLmZpbmRBbGwo
c3JjPW9yaWdfcGF0aF9wYXR0ZXJuKSksIDAsICd0ZXN0aGFybmVzcyBzcmMgcGF0aCB3YXMgbm90
IGNvbnZlcnRlZCcpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKGxlbihjb252ZXJ0ZWQuZmlu
ZEFsbChocmVmPW9yaWdfcGF0aF9wYXR0ZXJuKSksIDAsICd0ZXN0aGFybmVzcyBocmVmIHBhdGgg
d2FzIG5vdCBjb252ZXJ0ZWQnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihjb252ZXJ0
ZWQuZmluZEFsbChzcmM9b3JpZ19wYXRoX3BhdHRlcm4pKSwgMCwgJ3Rlc3RoYXJuZXNzIHNyYyBw
YXRoIHdhcyBub3QgY29udmVydGVkJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oY29u
dmVydGVkLmZpbmRBbGwoaHJlZj1vcmlnX3BhdGhfcGF0dGVybikpLCAwLCAndGVzdGhhcm5lc3Mg
aHJlZiBwYXRoIHdhcyBub3QgY29udmVydGVkJykKIAogICAgICAgICBuZXdfcmVscGF0aCA9IG9z
LnBhdGgucmVscGF0aChyZXNvdXJjZXNfZGlyLCB0ZXN0X3BhdGgpLnJlcGxhY2Uob3Muc2VwLCAn
LycpCiAgICAgICAgIHJlbHBhdGhfcGF0dGVybiA9IHJlLmNvbXBpbGUobmV3X3JlbHBhdGgpCi0g
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKGxlbihjb252ZXJ0ZWQuZmluZEFsbChzcmM9cmVscGF0
aF9wYXR0ZXJuKSksIG51bV9zcmNfcGF0aHMsICd0ZXN0aGFybmVzcyBzcmMgcmVsYXRpdmUgcGF0
aCBub3QgY29ycmVjdCcpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKGxlbihjb252ZXJ0ZWQu
ZmluZEFsbChocmVmPXJlbHBhdGhfcGF0dGVybikpLCBudW1faHJlZl9wYXRocywgJ3Rlc3RoYXJu
ZXNzIGhyZWYgcmVsYXRpdmUgcGF0aCBub3QgY29ycmVjdCcpCisgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwobGVuKGNvbnZlcnRlZC5maW5kQWxsKHNyYz1yZWxwYXRoX3BhdHRlcm4pKSwgbnVtX3Ny
Y19wYXRocywgJ3Rlc3RoYXJuZXNzIHNyYyByZWxhdGl2ZSBwYXRoIG5vdCBjb3JyZWN0JykKKyAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oY29udmVydGVkLmZpbmRBbGwoaHJlZj1yZWxwYXRo
X3BhdHRlcm4pKSwgbnVtX2hyZWZfcGF0aHMsICd0ZXN0aGFybmVzcyBocmVmIHJlbGF0aXZlIHBh
dGggbm90IGNvcnJlY3QnKQogCiAgICAgZGVmIHZlcmlmeV9wcmVmaXhlZF9wcm9wZXJ0aWVzKHNl
bGYsIGNvbnZlcnRlZCwgdGVzdF9wcm9wZXJ0aWVzKToKICAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChsZW4oc2V0KGNvbnZlcnRlZFswXSkpLCBsZW4oc2V0KHRlc3RfcHJvcGVydGllcykpLCAnSW5j
b3JyZWN0IG51bWJlciBvZiBwcm9wZXJ0aWVzIGNvbnZlcnRlZCcpCmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3czYy90ZXN0X2V4cG9ydGVyX3VuaXR0ZXN0LnB5IGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS93M2MvdGVzdF9leHBvcnRlcl91bml0dGVzdC5weQppbmRleCBiMmQ2
N2I3YjMyNjNmNDNjMTA3MTgyYjQyOWRlZjAwMWI5YTBmMjgyLi4wMTc4NDVjMzQ3OTBjZjZkZDY1
YzNmZDk0OWZmYzEyMzU1NDU1MTk4IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L3czYy90ZXN0X2V4cG9ydGVyX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvdzNjL3Rlc3RfZXhwb3J0ZXJfdW5pdHRlc3QucHkKQEAgLTEzMCw5ICsxMzAsOSBAQCBjbGFz
cyBUZXN0RXhwb3J0ZXJUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgb3B0aW9ucyA9
IHBhcnNlX2FyZ3MoWyd0ZXN0X2V4cG9ydGVyLnB5JywgJy1nJywgJ0hFQUQnLCAnLWInLCAnMTIz
NCcsICctYycsICctbicsICdVU0VSJywgJy10JywgJ1RPS0VOJ10pCiAgICAgICAgIGV4cG9ydGVy
ID0gV2ViUGxhdGZvcm1UZXN0RXhwb3J0ZXIoaG9zdCwgb3B0aW9ucywgVGVzdEV4cG9ydGVyVGVz
dC5Nb2NrR2l0LCBUZXN0RXhwb3J0ZXJUZXN0Lk1vY2tCdWd6aWxsYSwgTW9ja1dQVEdpdEh1Yiwg
VGVzdEV4cG9ydGVyVGVzdC5Nb2NrV1BUTGludGVyKQogICAgICAgICBleHBvcnRlci5kb19leHBv
cnQoKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhleHBvcnRlci5fZ2l0aHViLmNhbGxzLCBb
J2NyZWF0ZV9wcicsICdhZGRfbGFiZWwgIndlYmtpdC1leHBvcnQiJ10pCisgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwoZXhwb3J0ZXIuX2dpdGh1Yi5jYWxscywgWydjcmVhdGVfcHInLCAnYWRkX2xh
YmVsICJ3ZWJraXQtZXhwb3J0IiddKQogICAgICAgICBzZWxmLmFzc2VydFRydWUoJ1dlYktpdCBl
eHBvcnQnIGluIGV4cG9ydGVyLl9naXRodWIucHVsbF9yZXF1ZXN0c19jcmVhdGVkWzBdWzFdKQot
ICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhleHBvcnRlci5fZ2l0LmNhbGxzLCBbCisgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwoZXhwb3J0ZXIuX2dpdC5jYWxscywgWwogICAgICAgICAgICAgJy9t
b2NrLWNoZWNrb3V0L1dlYktpdEJ1aWxkL3czYy10ZXN0cy93ZWItcGxhdGZvcm0tdGVzdHMnLAog
ICAgICAgICAgICAgJ2ZldGNoJywKICAgICAgICAgICAgICdjaGVja291dCBtYXN0ZXInLApAQCAt
MTQ4LDExICsxNDgsMTEgQEAgY2xhc3MgVGVzdEV4cG9ydGVyVGVzdCh1bml0dGVzdC5UZXN0Q2Fz
ZSk6CiAgICAgICAgICAgICAnZGVsZXRlIGJyYW5jaCB3cHQtZXhwb3J0LWZvci13ZWJraXQtMTIz
NCcsCiAgICAgICAgICAgICAnY2hlY2tvdXQgbWFzdGVyJywKICAgICAgICAgICAgICdyZXNldCBo
YXJkIG9yaWdpbi9tYXN0ZXInXSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoZXhwb3J0ZXIu
X2J1Z3ppbGxhLmNhbGxzLCBbCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwb3J0ZXIuX2J1
Z3ppbGxhLmNhbGxzLCBbCiAgICAgICAgICAgICAnZmV0Y2ggYnVnIDEyMzQnLAogICAgICAgICAg
ICAgJ0FwcGVuZCBodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9wdWxs
LzU2NzggdG8gc2VlIGFsc28gbGlzdCcsCiAgICAgICAgICAgICAncG9zdCBjb21tZW50IHRvIGJ1
ZyAxMjM0IDogU3VibWl0dGVkIHdlYi1wbGF0Zm9ybS10ZXN0cyBwdWxsIHJlcXVlc3Q6IGh0dHBz
Oi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L3B1bGwvNTY3OCddKQotICAgICAg
ICBzZWxmLmFzc2VydEVxdWFscyhtb2NrX2xpbnRlci5jYWxscywgWycvbW9jay1jaGVja291dC9X
ZWJLaXRCdWlsZC93M2MtdGVzdHMvd2ViLXBsYXRmb3JtLXRlc3RzJywgJ2xpbnQnXSkKKyAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChtb2NrX2xpbnRlci5jYWxscywgWycvbW9jay1jaGVja291dC9X
ZWJLaXRCdWlsZC93M2MtdGVzdHMvd2ViLXBsYXRmb3JtLXRlc3RzJywgJ2xpbnQnXSkKIAogICAg
IGRlZiB0ZXN0X2V4cG9ydF93aXRoX3NwZWNpZmljX2JyYW5jaChzZWxmKToKICAgICAgICAgaG9z
dCA9IFRlc3RFeHBvcnRlclRlc3QuTXlNb2NrSG9zdCgpCkBAIC0xNjAsNyArMTYwLDcgQEAgY2xh
c3MgVGVzdEV4cG9ydGVyVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIG9wdGlvbnMg
PSBwYXJzZV9hcmdzKFsndGVzdF9leHBvcnRlci5weScsICctZycsICdIRUFEJywgJy1iJywgJzEy
MzQnLCAnLWMnLCAnLW4nLCAnVVNFUicsICctdCcsICdUT0tFTicsICctYm4nLCAnd3B0LWV4cG9y
dC1icmFuY2gnXSkKICAgICAgICAgZXhwb3J0ZXIgPSBXZWJQbGF0Zm9ybVRlc3RFeHBvcnRlciho
b3N0LCBvcHRpb25zLCBUZXN0RXhwb3J0ZXJUZXN0Lk1vY2tHaXQsIFRlc3RFeHBvcnRlclRlc3Qu
TW9ja0J1Z3ppbGxhLCBNb2NrV1BUR2l0SHViLCBUZXN0RXhwb3J0ZXJUZXN0Lk1vY2tXUFRMaW50
ZXIpCiAgICAgICAgIGV4cG9ydGVyLmRvX2V4cG9ydCgpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWxzKGV4cG9ydGVyLl9naXQuY2FsbHMsIFsKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBv
cnRlci5fZ2l0LmNhbGxzLCBbCiAgICAgICAgICAgICAnL21vY2stY2hlY2tvdXQvV2ViS2l0QnVp
bGQvdzNjLXRlc3RzL3dlYi1wbGF0Zm9ybS10ZXN0cycsCiAgICAgICAgICAgICAnZmV0Y2gnLAog
ICAgICAgICAgICAgJ2NoZWNrb3V0IG1hc3RlcicsCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3czYy90ZXN0X2ltcG9ydGVyX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS93M2MvdGVzdF9pbXBvcnRlcl91bml0dGVzdC5weQppbmRleCA2MDQ0YTczZGQ5Y2Fl
ODEzNDlkYTE5MDg2YmU4NWU1ZTMwNTdlOTBmLi5jMDg5YzcwMzY1Y2M0NDdkZGY1NjVlNGM1NWQ0
ZGQ0YTNiMGZmNzFiIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3czYy90ZXN0
X2ltcG9ydGVyX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdzNjL3Rl
c3RfaW1wb3J0ZXJfdW5pdHRlc3QucHkKQEAgLTM0NSw3ICszNDUsNyBAQCBjbGFzcyBUZXN0SW1w
b3J0ZXJUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKIAogICAgICAgICBmcyA9IHNlbGYuaW1wb3J0
X2Rvd25sb2FkZWRfdGVzdHMoWyctLW5vLWZldGNoJywgJy0taW1wb3J0LWFsbCcsICctZCcsICd3
M2MnXSwgRkFLRV9GSUxFUykKICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShmcy5leGlzdHMoJy9t
b2NrLWNoZWNrb3V0L0xheW91dFRlc3RzL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdC9uZXctbWFu
dWFsLmh0bWwnKSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHModGVzdHNfb3B0aW9ucywgZnMu
cmVhZF90ZXh0X2ZpbGUoJy9tb2NrLWNoZWNrb3V0L0xheW91dFRlc3RzL3Rlc3RzLW9wdGlvbnMu
anNvbicpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRlc3RzX29wdGlvbnMsIGZzLnJlYWRf
dGV4dF9maWxlKCcvbW9jay1jaGVja291dC9MYXlvdXRUZXN0cy90ZXN0cy1vcHRpb25zLmpzb24n
KSkKIAogICAgIGRlZiB0ZXN0X3dlYmtpdF90ZXN0X3J1bm5lcl9vcHRpb25zKHNlbGYpOgogICAg
ICAgICBGQUtFX0ZJTEVTID0gewpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS93
M2MvdGVzdF9wYXJzZXJfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3czYy90
ZXN0X3BhcnNlcl91bml0dGVzdC5weQppbmRleCA0NGUzNDQ4OGUwNDYzOTNhNzc3ZDk4ODE4YzEx
YjRhMzQwMDYzZTU3Li45MTA2ODUyNDNmNDk4ODQ5Nzc5OWM4ZGZlMWRjMDJiZGViNTIxOWFjIDEw
MDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3czYy90ZXN0X3BhcnNlcl91bml0dGVz
dC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3czYy90ZXN0X3BhcnNlcl91bml0dGVz
dC5weQpAQCAtMTMzLDcgKzEzMyw3IEBAIGNsYXNzIFRlc3RQYXJzZXJUZXN0KHVuaXR0ZXN0LlRl
c3RDYXNlKToKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKCdyZWZlcmVuY2UnIGluIHRlc3RfaW5m
by5rZXlzKCksICdkaWQgbm90IGZpbmQgYSByZWZlcmVuY2UgZmlsZScpCiAgICAgICAgIHNlbGYu
YXNzZXJ0VHJ1ZSh0ZXN0X2luZm9bJ3JlZmVyZW5jZSddLnN0YXJ0c3dpdGgodGVzdF9wYXRoKSwg
J3JlZmVyZW5jZSBwYXRoIGlzIG5vdCBjb3JyZWN0JykKICAgICAgICAgc2VsZi5hc3NlcnRUcnVl
KCdyZWZlcmVuY2Vfc3VwcG9ydF9pbmZvJyBpbiB0ZXN0X2luZm8ua2V5cygpLCAndGhlcmUgc2hv
dWxkIGJlIHJlZmVyZW5jZV9zdXBwb3J0X2luZm8gZm9yIHRoaXMgdGVzdCcpCi0gICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWxzKGxlbih0ZXN0X2luZm9bJ3JlZmVyZW5jZV9zdXBwb3J0X2luZm8nXVsn
ZmlsZXMnXSksIDQsICd0aGVyZSBzaG91bGQgYmUgNCBzdXBwb3J0IGZpbGVzIGluIHRoaXMgcmVm
ZXJlbmNlJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4odGVzdF9pbmZvWydyZWZlcmVu
Y2Vfc3VwcG9ydF9pbmZvJ11bJ2ZpbGVzJ10pLCA0LCAndGhlcmUgc2hvdWxkIGJlIDQgc3VwcG9y
dCBmaWxlcyBpbiB0aGlzIHJlZmVyZW5jZScpCiAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoJ2pz
dGVzdCcgaW4gdGVzdF9pbmZvLmtleXMoKSwgJ3Rlc3Qgc2hvdWxkIG5vdCBoYXZlIGJlZW4gYW5h
bHl6ZWQgYXMgYSBqc3Rlc3QnKQogCiAgICAgZGVmIHRlc3RfYW5hbHl6ZV9qc3Rlc3Qoc2VsZik6
CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3czYy93cHRfcnVubmVyX3VuaXR0
ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS93M2Mvd3B0X3J1bm5lcl91bml0dGVzdC5w
eQppbmRleCA2YmNmY2IwZjA2NTk4ZWFlNDk0Zjg5NDhjZTRmMTIzMzA5ZmY2MmYyLi4wNTEzMTlh
MzFhY2JhODM2NTg2MTgxYTcwN2U4NTRjOGVjOWNiN2Q3IDEwMDY0NAotLS0gYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L3czYy93cHRfcnVubmVyX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvdzNjL3dwdF9ydW5uZXJfdW5pdHRlc3QucHkKQEAgLTEyNyw5ICsxMjcsOSBA
QCBjbGFzcyBXUFRSdW5uZXJUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgICAgIHNl
bGYuX2V4cGVjdGVkX3dwdF9hcmdzID0gZXhwZWN0ZWRfd3B0X2FyZ3MKIAogICAgICAgICBkZWYg
X19jYWxsX18oc2VsZiwgc2NyaXB0X25hbWUsIHdwdF9jaGVja291dCwgd3B0X2FyZ3MpOgotICAg
ICAgICAgICAgc2VsZi5fdGVzdF9jYXNlLmFzc2VydEVxdWFscyhzY3JpcHRfbmFtZSwgIndwdHJ1
bm5lcl91bml0dGVzdCIpCi0gICAgICAgICAgICBzZWxmLl90ZXN0X2Nhc2UuYXNzZXJ0RXF1YWxz
KHdwdF9jaGVja291dCwgc2VsZi5fZXhwZWN0ZWRfd3B0X2NoZWNrb3V0KQotICAgICAgICAgICAg
c2VsZi5fdGVzdF9jYXNlLmFzc2VydEVxdWFscyh3cHRfYXJncywgc2VsZi5fZXhwZWN0ZWRfd3B0
X2FyZ3MpCisgICAgICAgICAgICBzZWxmLl90ZXN0X2Nhc2UuYXNzZXJ0RXF1YWwoc2NyaXB0X25h
bWUsICJ3cHRydW5uZXJfdW5pdHRlc3QiKQorICAgICAgICAgICAgc2VsZi5fdGVzdF9jYXNlLmFz
c2VydEVxdWFsKHdwdF9jaGVja291dCwgc2VsZi5fZXhwZWN0ZWRfd3B0X2NoZWNrb3V0KQorICAg
ICAgICAgICAgc2VsZi5fdGVzdF9jYXNlLmFzc2VydEVxdWFsKHdwdF9hcmdzLCBzZWxmLl9leHBl
Y3RlZF93cHRfYXJncykKIAogICAgIGNsYXNzIFRlc3RJbnN0YW5jZShvYmplY3QpOgogICAgICAg
ICBkZWYgX19pbml0X18oc2VsZiwgb3B0aW9ucywgc3Bhd25fd3B0X2Z1bmM9Tm9uZSk6CkBAIC0x
NTQsNyArMTU0LDcgQEAgY2xhc3MgV1BUUnVubmVyVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAg
ICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpbnN0YW5jZS5ydW5uZXIucHJlcGFyZV93cHRfY2hlY2tv
dXQoKSkKIAogICAgICAgICBleHBlY3RlZF93cHRfY2hlY2tvdXQgPSAiL21vY2stY2hlY2tvdXQv
V2ViS2l0QnVpbGQvdzNjLXRlc3RzL3dlYi1wbGF0Zm9ybS10ZXN0cyIKLSAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbHMoaW5zdGFuY2UucnVubmVyLl9vcHRpb25zLndwdF9jaGVja291dCwgZXhwZWN0
ZWRfd3B0X2NoZWNrb3V0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGluc3RhbmNlLnJ1bm5l
ci5fb3B0aW9ucy53cHRfY2hlY2tvdXQsIGV4cGVjdGVkX3dwdF9jaGVja291dCkKICAgICAgICAg
c2VsZi5hc3NlcnRUcnVlKGluc3RhbmNlLmhvc3QuZmlsZXN5c3RlbS5pc2RpcihleHBlY3RlZF93
cHRfY2hlY2tvdXQpKQogCiAgICAgZGVmIHRlc3RfcHJlcGFyZV93cHRfY2hlY2tvdXRfc3BlY2lm
aWVkX3BhdGgoc2VsZik6CkBAIC0xNjYsNyArMTY2LDcgQEAgY2xhc3MgV1BUUnVubmVyVGVzdCh1
bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIGluc3RhbmNlLmhvc3QuZmlsZXN5c3RlbS5tYXli
ZV9tYWtlX2RpcmVjdG9yeShzcGVjaWZpZWRfd3B0X2NoZWNrb3V0KQogCiAgICAgICAgIHNlbGYu
YXNzZXJ0VHJ1ZShpbnN0YW5jZS5ydW5uZXIucHJlcGFyZV93cHRfY2hlY2tvdXQoKSkKLSAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbHMoaW5zdGFuY2UucnVubmVyLl9vcHRpb25zLndwdF9jaGVja291
dCwgc3BlY2lmaWVkX3dwdF9jaGVja291dCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpbnN0
YW5jZS5ydW5uZXIuX29wdGlvbnMud3B0X2NoZWNrb3V0LCBzcGVjaWZpZWRfd3B0X2NoZWNrb3V0
KQogCiAgICAgZGVmIHRlc3RfcnVuKHNlbGYpOgogICAgICAgICAjIFRlc3RzIHRoZSBydW4oKSBt
ZXRob2QuIEZpbGVzIGFyZSBtb2NrZWQgdG8gdGhlIHBvaW50IHRoYXQgaGVscGVyIG1ldGhvZHMg
ZG9uJ3QgZmFpbC4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkveGNvZGUvZGV2
aWNlX3R5cGVfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3hjb2RlL2Rldmlj
ZV90eXBlX3VuaXR0ZXN0LnB5CmluZGV4IDA4MGI4ZTczYTgwZTdiZDViY2I2NDA2OGY2MDY2N2I3
MDM2MzMzOGYuLjU2NjUxZTkzZGUwZmIzOGZmYjA2YzQ5YmYyNDZmMDg1NGRkYzIyOGQgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkveGNvZGUvZGV2aWNlX3R5cGVfdW5pdHRlc3Qu
cHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS94Y29kZS9kZXZpY2VfdHlwZV91bml0dGVz
dC5weQpAQCAtMzEsNzAgKzMxLDcwIEBAIGNsYXNzIERldmljZVR5cGVUZXN0KHVuaXR0ZXN0LlRl
c3RDYXNlKToKIAogICAgIGRlZiB0ZXN0X2lwaG9uZV9pbml0aWFsaXphdGlvbihzZWxmKToKICAg
ICAgICAgdHlwZSA9IERldmljZVR5cGUoaGFyZHdhcmVfZmFtaWx5PSdpUGhvbmUnKQotICAgICAg
ICBzZWxmLmFzc2VydEVxdWFscygnaVBob25lJywgdHlwZS5oYXJkd2FyZV9mYW1pbHkpCi0gICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWxzKE5vbmUsIHR5cGUuaGFyZHdhcmVfdHlwZSkKLSAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbHMoJ2lPUycsIHR5cGUuc29mdHdhcmVfdmFyaWFudCkKLSAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbHMoTm9uZSwgdHlwZS5zb2Z0d2FyZV92ZXJzaW9uKQorICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKCdpUGhvbmUnLCB0eXBlLmhhcmR3YXJlX2ZhbWlseSkKKyAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChOb25lLCB0eXBlLmhhcmR3YXJlX3R5cGUpCisgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwoJ2lPUycsIHR5cGUuc29mdHdhcmVfdmFyaWFudCkKKyAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbChOb25lLCB0eXBlLnNvZnR3YXJlX3ZlcnNpb24pCiAgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoJ2lQaG9uZSBydW5uaW5nIGlPUycsIHN0cih0eXBlKSkKIAogICAgICAgICB0eXBl
ID0gRGV2aWNlVHlwZSgnaVBob25lJywgJzZzJywgVmVyc2lvbigxMSkpCi0gICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWxzKCdpUGhvbmUnLCB0eXBlLmhhcmR3YXJlX2ZhbWlseSkKLSAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbHMoJzZzJywgdHlwZS5oYXJkd2FyZV90eXBlKQotICAgICAgICBzZWxmLmFz
c2VydEVxdWFscygnaU9TJywgdHlwZS5zb2Z0d2FyZV92YXJpYW50KQotICAgICAgICBzZWxmLmFz
c2VydEVxdWFscyhWZXJzaW9uKDExKSwgdHlwZS5zb2Z0d2FyZV92ZXJzaW9uKQorICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKCdpUGhvbmUnLCB0eXBlLmhhcmR3YXJlX2ZhbWlseSkKKyAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbCgnNnMnLCB0eXBlLmhhcmR3YXJlX3R5cGUpCisgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwoJ2lPUycsIHR5cGUuc29mdHdhcmVfdmFyaWFudCkKKyAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbChWZXJzaW9uKDExKSwgdHlwZS5zb2Z0d2FyZV92ZXJzaW9uKQogICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKCdpUGhvbmUgNnMgcnVubmluZyBpT1MgMTEnLCBzdHIodHlwZSkpCiAK
ICAgICBkZWYgdGVzdF9pcGFkX2luaXRpYWxpemF0aW9uKHNlbGYpOgogICAgICAgICB0eXBlID0g
RGV2aWNlVHlwZShoYXJkd2FyZV9mYW1pbHk9J2lQYWQnKQotICAgICAgICBzZWxmLmFzc2VydEVx
dWFscygnaVBhZCcsIHR5cGUuaGFyZHdhcmVfZmFtaWx5KQotICAgICAgICBzZWxmLmFzc2VydEVx
dWFscyhOb25lLCB0eXBlLmhhcmR3YXJlX3R5cGUpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxz
KCdpT1MnLCB0eXBlLnNvZnR3YXJlX3ZhcmlhbnQpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxz
KE5vbmUsIHR5cGUuc29mdHdhcmVfdmVyc2lvbikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgn
aVBhZCcsIHR5cGUuaGFyZHdhcmVfZmFtaWx5KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKE5v
bmUsIHR5cGUuaGFyZHdhcmVfdHlwZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnaU9TJywg
dHlwZS5zb2Z0d2FyZV92YXJpYW50KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKE5vbmUsIHR5
cGUuc29mdHdhcmVfdmVyc2lvbikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnaVBhZCBydW5u
aW5nIGlPUycsIHN0cih0eXBlKSkKIAogICAgICAgICB0eXBlID0gRGV2aWNlVHlwZSgnaVBhZCcs
ICdBaXIgMicsIFZlcnNpb24oMTEpKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscygnaVBhZCcs
IHR5cGUuaGFyZHdhcmVfZmFtaWx5KQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscygnQWlyIDIn
LCB0eXBlLmhhcmR3YXJlX3R5cGUpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKCdpT1MnLCB0
eXBlLnNvZnR3YXJlX3ZhcmlhbnQpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKFZlcnNpb24o
MTEpLCB0eXBlLnNvZnR3YXJlX3ZlcnNpb24pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ2lQ
YWQnLCB0eXBlLmhhcmR3YXJlX2ZhbWlseSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnQWly
IDInLCB0eXBlLmhhcmR3YXJlX3R5cGUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ2lPUycs
IHR5cGUuc29mdHdhcmVfdmFyaWFudCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChWZXJzaW9u
KDExKSwgdHlwZS5zb2Z0d2FyZV92ZXJzaW9uKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdp
UGFkIEFpciAyIHJ1bm5pbmcgaU9TIDExJywgc3RyKHR5cGUpKQogCiAgICAgZGVmIHRlc3RfZ2Vu
ZXJpY19pb3NfZGV2aWNlKHNlbGYpOgogICAgICAgICB0eXBlID0gRGV2aWNlVHlwZShzb2Z0d2Fy
ZV92YXJpYW50PSdpT1MnKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhOb25lLCB0eXBlLmhh
cmR3YXJlX2ZhbWlseSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoTm9uZSwgdHlwZS5oYXJk
d2FyZV90eXBlKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscygnaU9TJywgdHlwZS5zb2Z0d2Fy
ZV92YXJpYW50KQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhOb25lLCB0eXBlLnNvZnR3YXJl
X3ZlcnNpb24pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoTm9uZSwgdHlwZS5oYXJkd2FyZV9m
YW1pbHkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoTm9uZSwgdHlwZS5oYXJkd2FyZV90eXBl
KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdpT1MnLCB0eXBlLnNvZnR3YXJlX3ZhcmlhbnQp
CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoTm9uZSwgdHlwZS5zb2Z0d2FyZV92ZXJzaW9uKQog
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdEZXZpY2UgcnVubmluZyBpT1MnLCBzdHIodHlwZSkp
CiAKICAgICBkZWYgdGVzdF93YXRjaF9pbml0aWFsaXphdGlvbihzZWxmKToKICAgICAgICAgdHlw
ZSA9IERldmljZVR5cGUoaGFyZHdhcmVfZmFtaWx5PSdXYXRjaCcpCi0gICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWxzKCdBcHBsZSBXYXRjaCcsIHR5cGUuaGFyZHdhcmVfZmFtaWx5KQotICAgICAgICBz
ZWxmLmFzc2VydEVxdWFscyhOb25lLCB0eXBlLmhhcmR3YXJlX3R5cGUpCi0gICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWxzKCd3YXRjaE9TJywgdHlwZS5zb2Z0d2FyZV92YXJpYW50KQotICAgICAgICBz
ZWxmLmFzc2VydEVxdWFscyhOb25lLCB0eXBlLnNvZnR3YXJlX3ZlcnNpb24pCisgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwoJ0FwcGxlIFdhdGNoJywgdHlwZS5oYXJkd2FyZV9mYW1pbHkpCisgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwoTm9uZSwgdHlwZS5oYXJkd2FyZV90eXBlKQorICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKCd3YXRjaE9TJywgdHlwZS5zb2Z0d2FyZV92YXJpYW50KQorICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKE5vbmUsIHR5cGUuc29mdHdhcmVfdmVyc2lvbikKICAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbCgnQXBwbGUgV2F0Y2ggcnVubmluZyB3YXRjaE9TJywgc3RyKHR5cGUp
KQogCiAgICAgICAgIHR5cGUgPSBEZXZpY2VUeXBlKCdBcHBsZSBXYXRjaCcsICdTZXJpZXMgMiAt
IDQybW0nLCBWZXJzaW9uKDQpKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscygnQXBwbGUgV2F0
Y2gnLCB0eXBlLmhhcmR3YXJlX2ZhbWlseSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoJ1Nl
cmllcyAyIC0gNDJtbScsIHR5cGUuaGFyZHdhcmVfdHlwZSkKLSAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbHMoJ3dhdGNoT1MnLCB0eXBlLnNvZnR3YXJlX3ZhcmlhbnQpCi0gICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWxzKFZlcnNpb24oNCksIHR5cGUuc29mdHdhcmVfdmVyc2lvbikKKyAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbCgnQXBwbGUgV2F0Y2gnLCB0eXBlLmhhcmR3YXJlX2ZhbWlseSkKKyAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbCgnU2VyaWVzIDIgLSA0Mm1tJywgdHlwZS5oYXJkd2FyZV90eXBl
KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCd3YXRjaE9TJywgdHlwZS5zb2Z0d2FyZV92YXJp
YW50KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFZlcnNpb24oNCksIHR5cGUuc29mdHdhcmVf
dmVyc2lvbikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnQXBwbGUgV2F0Y2ggU2VyaWVzIDIg
LSA0Mm1tIHJ1bm5pbmcgd2F0Y2hPUyA0Jywgc3RyKHR5cGUpKQogCiAgICAgZGVmIHRlc3RfdHZf
aW5pdGlhbGl6YXRpb24oc2VsZik6CiAgICAgICAgIHR5cGUgPSBEZXZpY2VUeXBlKGhhcmR3YXJl
X2ZhbWlseT0nVFYnKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscygnQXBwbGUgVFYnLCB0eXBl
LmhhcmR3YXJlX2ZhbWlseSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoTm9uZSwgdHlwZS5o
YXJkd2FyZV90eXBlKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscygndHZPUycsIHR5cGUuc29m
dHdhcmVfdmFyaWFudCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoTm9uZSwgdHlwZS5zb2Z0
d2FyZV92ZXJzaW9uKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdBcHBsZSBUVicsIHR5cGUu
aGFyZHdhcmVfZmFtaWx5KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKE5vbmUsIHR5cGUuaGFy
ZHdhcmVfdHlwZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgndHZPUycsIHR5cGUuc29mdHdh
cmVfdmFyaWFudCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChOb25lLCB0eXBlLnNvZnR3YXJl
X3ZlcnNpb24pCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ0FwcGxlIFRWIHJ1bm5pbmcgdHZP
UycsIHN0cih0eXBlKSkKIAogICAgICAgICB0eXBlID0gRGV2aWNlVHlwZSgnQXBwbGUgVFYnLCAn
NEsnLCBWZXJzaW9uKDExKSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoJ0FwcGxlIFRWJywg
dHlwZS5oYXJkd2FyZV9mYW1pbHkpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKCc0SycsIHR5
cGUuaGFyZHdhcmVfdHlwZSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoJ3R2T1MnLCB0eXBl
LnNvZnR3YXJlX3ZhcmlhbnQpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKFZlcnNpb24oMTEp
LCB0eXBlLnNvZnR3YXJlX3ZlcnNpb24pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ0FwcGxl
IFRWJywgdHlwZS5oYXJkd2FyZV9mYW1pbHkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJzRL
JywgdHlwZS5oYXJkd2FyZV90eXBlKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCd0dk9TJywg
dHlwZS5zb2Z0d2FyZV92YXJpYW50KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFZlcnNpb24o
MTEpLCB0eXBlLnNvZnR3YXJlX3ZlcnNpb24pCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ0Fw
cGxlIFRWIDRLIHJ1bm5pbmcgdHZPUyAxMScsIHN0cih0eXBlKSkKIAogICAgIGRlZiB0ZXN0X2Zy
b21fc3RyaW5nKHNlbGYpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS94Y29k
ZS9zZGtfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3hjb2RlL3Nka191bml0
dGVzdC5weQppbmRleCAwY2RmMzRjMGFmZGRjNDU2M2Q0OGYxOTRiNTExNGJiMzk5OTU5MmQ5Li4z
MzU1ZjZiMDg5NGZjZjU5MjAxODk2NjYyMjRkYTIyMGM0ZjAzNDQzIDEwMDY0NAotLS0gYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3hjb2RlL3Nka191bml0dGVzdC5weQorKysgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L3hjb2RlL3Nka191bml0dGVzdC5weQpAQCAtNzIsNDggKzcyLDQ4IEBAIGNs
YXNzIFNES1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogCiAgICAgZGVmIHRlc3RfaXBob25lb3Mo
c2VsZik6CiAgICAgICAgIHByZWZlcnJlZF9zZGsgPSBzZGsuU0RLLmdldF9wcmVmZXJyZWRfc2Rr
X2Zvcl9wbGF0Zm9ybSgiaXBob25lb3MiLCBzZWxmLmV4ZWN1dGl2ZSkKLSAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbHMoImlwaG9uZW9zIiwgcHJlZmVycmVkX3Nkay5wbGF0Zm9ybSkKLSAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbHMoIjEyLjAiLCBwcmVmZXJyZWRfc2RrLnZlcnNpb24pCisgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwoImlwaG9uZW9zIiwgcHJlZmVycmVkX3Nkay5wbGF0Zm9ybSkKKyAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiMTIuMCIsIHByZWZlcnJlZF9zZGsudmVyc2lvbikKICAg
ICAgICAgc2VsZi5hc3NlcnRUcnVlKHByZWZlcnJlZF9zZGsuaW50ZXJuYWwpCiAKICAgICBkZWYg
dGVzdF9pcGhvbmVzaW0oc2VsZik6CiAgICAgICAgIHByZWZlcnJlZF9zZGsgPSBzZGsuU0RLLmdl
dF9wcmVmZXJyZWRfc2RrX2Zvcl9wbGF0Zm9ybSgiaXBob25lc2ltdWxhdG9yIiwgc2VsZi5leGVj
dXRpdmUpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKCJpcGhvbmVzaW11bGF0b3IiLCBwcmVm
ZXJyZWRfc2RrLnBsYXRmb3JtKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscygiMTIuMCIsIHBy
ZWZlcnJlZF9zZGsudmVyc2lvbikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiaXBob25lc2lt
dWxhdG9yIiwgcHJlZmVycmVkX3Nkay5wbGF0Zm9ybSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bCgiMTIuMCIsIHByZWZlcnJlZF9zZGsudmVyc2lvbikKICAgICAgICAgc2VsZi5hc3NlcnRGYWxz
ZShwcmVmZXJyZWRfc2RrLmludGVybmFsKQogCiAgICAgZGVmIHRlc3RfbWFjb3Moc2VsZik6CiAg
ICAgICAgIHByZWZlcnJlZF9zZGsgPSBzZGsuU0RLLmdldF9wcmVmZXJyZWRfc2RrX2Zvcl9wbGF0
Zm9ybSgibWFjb3N4Iiwgc2VsZi5leGVjdXRpdmUpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxz
KCJtYWNvc3giLCBwcmVmZXJyZWRfc2RrLnBsYXRmb3JtKQotICAgICAgICBzZWxmLmFzc2VydEVx
dWFscygiMTAuMTQiLCBwcmVmZXJyZWRfc2RrLnZlcnNpb24pCisgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwoIm1hY29zeCIsIHByZWZlcnJlZF9zZGsucGxhdGZvcm0pCisgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoIjEwLjE0IiwgcHJlZmVycmVkX3Nkay52ZXJzaW9uKQogICAgICAgICBzZWxmLmFz
c2VydFRydWUocHJlZmVycmVkX3Nkay5pbnRlcm5hbCkKIAogICAgIGRlZiB0ZXN0X2FwcGxldHZv
cyhzZWxmKToKICAgICAgICAgcHJlZmVycmVkX3NkayA9IHNkay5TREsuZ2V0X3ByZWZlcnJlZF9z
ZGtfZm9yX3BsYXRmb3JtKCJhcHBsZXR2b3MiLCBzZWxmLmV4ZWN1dGl2ZSkKLSAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbHMoImFwcGxldHZvcyIsIHByZWZlcnJlZF9zZGsucGxhdGZvcm0pCi0gICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWxzKCIxMi4wIiwgcHJlZmVycmVkX3Nkay52ZXJzaW9uKQorICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKCJhcHBsZXR2b3MiLCBwcmVmZXJyZWRfc2RrLnBsYXRmb3Jt
KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCIxMi4wIiwgcHJlZmVycmVkX3Nkay52ZXJzaW9u
KQogICAgICAgICBzZWxmLmFzc2VydFRydWUocHJlZmVycmVkX3Nkay5pbnRlcm5hbCkKIAogICAg
IGRlZiB0ZXN0X2FwcGxldHZzaW0oc2VsZik6CiAgICAgICAgIHByZWZlcnJlZF9zZGsgPSBzZGsu
U0RLLmdldF9wcmVmZXJyZWRfc2RrX2Zvcl9wbGF0Zm9ybSgiYXBwbGV0dnNpbXVsYXRvciIsIHNl
bGYuZXhlY3V0aXZlKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscygiYXBwbGV0dnNpbXVsYXRv
ciIsIHByZWZlcnJlZF9zZGsucGxhdGZvcm0pCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKCIx
Mi4wIiwgcHJlZmVycmVkX3Nkay52ZXJzaW9uKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJh
cHBsZXR2c2ltdWxhdG9yIiwgcHJlZmVycmVkX3Nkay5wbGF0Zm9ybSkKKyAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbCgiMTIuMCIsIHByZWZlcnJlZF9zZGsudmVyc2lvbikKICAgICAgICAgc2VsZi5h
c3NlcnRGYWxzZShwcmVmZXJyZWRfc2RrLmludGVybmFsKQogCiAgICAgZGVmIHRlc3Rfd2F0Y2hv
cyhzZWxmKToKICAgICAgICAgcHJlZmVycmVkX3NkayA9IHNkay5TREsuZ2V0X3ByZWZlcnJlZF9z
ZGtfZm9yX3BsYXRmb3JtKCJ3YXRjaG9zIiwgc2VsZi5leGVjdXRpdmUpCi0gICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWxzKCJ3YXRjaG9zIiwgcHJlZmVycmVkX3Nkay5wbGF0Zm9ybSkKLSAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbHMoIjQuMCIsIHByZWZlcnJlZF9zZGsudmVyc2lvbikKKyAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbCgid2F0Y2hvcyIsIHByZWZlcnJlZF9zZGsucGxhdGZvcm0pCisgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwoIjQuMCIsIHByZWZlcnJlZF9zZGsudmVyc2lvbikKICAgICAg
ICAgc2VsZi5hc3NlcnRUcnVlKHByZWZlcnJlZF9zZGsuaW50ZXJuYWwpCiAKICAgICBkZWYgdGVz
dF93YXRjaHNpbXVsYXRvcihzZWxmKToKICAgICAgICAgcHJlZmVycmVkX3NkayA9IHNkay5TREsu
Z2V0X3ByZWZlcnJlZF9zZGtfZm9yX3BsYXRmb3JtKCJ3YXRjaHNpbXVsYXRvciIsIHNlbGYuZXhl
Y3V0aXZlKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscygid2F0Y2hzaW11bGF0b3IiLCBwcmVm
ZXJyZWRfc2RrLnBsYXRmb3JtKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscygiNC4wIiwgcHJl
ZmVycmVkX3Nkay52ZXJzaW9uKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJ3YXRjaHNpbXVs
YXRvciIsIHByZWZlcnJlZF9zZGsucGxhdGZvcm0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
IjQuMCIsIHByZWZlcnJlZF9zZGsudmVyc2lvbikKICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShw
cmVmZXJyZWRfc2RrLmludGVybmFsKQogCiAgICAgZGVmIHRlc3RfcHJvZG9zKHNlbGYpOgogICAg
ICAgICBwcmVmZXJyZWRfc2RrID0gc2RrLlNESy5nZXRfcHJlZmVycmVkX3Nka19mb3JfcGxhdGZv
cm0oInByb2RvcyIsIHNlbGYuZXhlY3V0aXZlKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscygi
cHJvZG9zIiwgcHJlZmVycmVkX3Nkay5wbGF0Zm9ybSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bHMoTm9uZSwgcHJlZmVycmVkX3Nkay52ZXJzaW9uKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFs
cyhOb25lLCBwcmVmZXJyZWRfc2RrLmludGVybmFsKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KCJwcm9kb3MiLCBwcmVmZXJyZWRfc2RrLnBsYXRmb3JtKQorICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKE5vbmUsIHByZWZlcnJlZF9zZGsudmVyc2lvbikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChOb25lLCBwcmVmZXJyZWRfc2RrLmludGVybmFsKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS94Y29kZS9zaW11bGF0ZWRfZGV2aWNlX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS94Y29kZS9zaW11bGF0ZWRfZGV2aWNlX3VuaXR0ZXN0LnB5CmluZGV4IDg4
NTQ5NzcyNjUxYmE4YTQ5YmVjNmU3NTU3OTY0Yzg4YzgyNWRhYWEuLjE1OTk5ZjFhZDRjNjU4MGYy
YmE2YjU1YjA0YTUwZmE2ZjIzOWRkNGYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkveGNvZGUvc2ltdWxhdGVkX2RldmljZV91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3hjb2RlL3NpbXVsYXRlZF9kZXZpY2VfdW5pdHRlc3QucHkKQEAgLTU2OCwzMyAr
NTY4LDMzIEBAIGNsYXNzIFNpbXVsYXRlZERldmljZVRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgog
ICAgICAgICBTaW11bGF0ZWREZXZpY2VNYW5hZ2VyLmF2YWlsYWJsZV9kZXZpY2VzKGhvc3QpCiAK
ICAgICAgICAgIyBUaGVyZSBzaG91bGQgb25seSBiZSAxIGlQaG9uZSBYLCBpUGhvbmUgOCBhbmQg
aVBob25lIFNFCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKDEsIGxlbihTaW11bGF0ZWREZXZp
Y2VNYW5hZ2VyLmRldmljZV9ieV9maWx0ZXIobGFtYmRhIGRldmljZTogZGV2aWNlLmRldmljZV90
eXBlID09IERldmljZVR5cGUuZnJvbV9zdHJpbmcoJ2lQaG9uZSBYJyksIGhvc3QpKSkKLSAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbHMoMSwgbGVuKFNpbXVsYXRlZERldmljZU1hbmFnZXIuZGV2aWNl
X2J5X2ZpbHRlcihsYW1iZGEgZGV2aWNlOiBkZXZpY2UuZGV2aWNlX3R5cGUgPT0gRGV2aWNlVHlw
ZS5mcm9tX3N0cmluZygnaVBob25lIDgnKSwgaG9zdCkpKQorICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKDEsIGxlbihTaW11bGF0ZWREZXZpY2VNYW5hZ2VyLmRldmljZV9ieV9maWx0ZXIobGFtYmRh
IGRldmljZTogZGV2aWNlLmRldmljZV90eXBlID09IERldmljZVR5cGUuZnJvbV9zdHJpbmcoJ2lQ
aG9uZSBYJyksIGhvc3QpKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgxLCBsZW4oU2ltdWxh
dGVkRGV2aWNlTWFuYWdlci5kZXZpY2VfYnlfZmlsdGVyKGxhbWJkYSBkZXZpY2U6IGRldmljZS5k
ZXZpY2VfdHlwZSA9PSBEZXZpY2VUeXBlLmZyb21fc3RyaW5nKCdpUGhvbmUgOCcpLCBob3N0KSkp
CiAKICAgICAgICAgIyBUaGVyZSBzaG91bGQgYmUgMiA1cyBhbmQgNnMKLSAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbHMoMiwgbGVuKFNpbXVsYXRlZERldmljZU1hbmFnZXIuZGV2aWNlX2J5X2ZpbHRl
cihsYW1iZGEgZGV2aWNlOiBkZXZpY2UuZGV2aWNlX3R5cGUgPT0gRGV2aWNlVHlwZS5mcm9tX3N0
cmluZygnaVBob25lIDVzJyksIGhvc3QpKSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoMiwg
bGVuKFNpbXVsYXRlZERldmljZU1hbmFnZXIuZGV2aWNlX2J5X2ZpbHRlcihsYW1iZGEgZGV2aWNl
OiBkZXZpY2UuZGV2aWNlX3R5cGUgPT0gRGV2aWNlVHlwZS5mcm9tX3N0cmluZygnaVBob25lIDZz
JyksIGhvc3QpKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgyLCBsZW4oU2ltdWxhdGVkRGV2
aWNlTWFuYWdlci5kZXZpY2VfYnlfZmlsdGVyKGxhbWJkYSBkZXZpY2U6IGRldmljZS5kZXZpY2Vf
dHlwZSA9PSBEZXZpY2VUeXBlLmZyb21fc3RyaW5nKCdpUGhvbmUgNXMnKSwgaG9zdCkpKQorICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKDIsIGxlbihTaW11bGF0ZWREZXZpY2VNYW5hZ2VyLmRldmlj
ZV9ieV9maWx0ZXIobGFtYmRhIGRldmljZTogZGV2aWNlLmRldmljZV90eXBlID09IERldmljZVR5
cGUuZnJvbV9zdHJpbmcoJ2lQaG9uZSA2cycpLCBob3N0KSkpCiAKICAgICAgICAgIyAxOSBpUGhv
bmVzCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKDE5LCBsZW4oU2ltdWxhdGVkRGV2aWNlTWFu
YWdlci5kZXZpY2VfYnlfZmlsdGVyKGxhbWJkYSBkZXZpY2U6IGRldmljZS5kZXZpY2VfdHlwZSA9
PSBEZXZpY2VUeXBlLmZyb21fc3RyaW5nKCdpUGhvbmUnKSwgaG9zdCkpKQorICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKDE5LCBsZW4oU2ltdWxhdGVkRGV2aWNlTWFuYWdlci5kZXZpY2VfYnlfZmls
dGVyKGxhbWJkYSBkZXZpY2U6IGRldmljZS5kZXZpY2VfdHlwZSA9PSBEZXZpY2VUeXBlLmZyb21f
c3RyaW5nKCdpUGhvbmUnKSwgaG9zdCkpKQogCiAgICAgICAgICMgMTEgaVBhZHMKLSAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbHMoMTEsIGxlbihTaW11bGF0ZWREZXZpY2VNYW5hZ2VyLmRldmljZV9i
eV9maWx0ZXIobGFtYmRhIGRldmljZTogZGV2aWNlLmRldmljZV90eXBlID09IERldmljZVR5cGUu
ZnJvbV9zdHJpbmcoJ2lQYWQnKSwgaG9zdCkpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDEx
LCBsZW4oU2ltdWxhdGVkRGV2aWNlTWFuYWdlci5kZXZpY2VfYnlfZmlsdGVyKGxhbWJkYSBkZXZp
Y2U6IGRldmljZS5kZXZpY2VfdHlwZSA9PSBEZXZpY2VUeXBlLmZyb21fc3RyaW5nKCdpUGFkJyks
IGhvc3QpKSkKIAogICAgICAgICAjIDE4IEFwcGxlIHdhdGNoZXMKLSAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbHMoNiwgbGVuKFNpbXVsYXRlZERldmljZU1hbmFnZXIuZGV2aWNlX2J5X2ZpbHRlcihs
YW1iZGEgZGV2aWNlOiBkZXZpY2UuZGV2aWNlX3R5cGUgPT0gRGV2aWNlVHlwZS5mcm9tX3N0cmlu
ZygnQXBwbGUgV2F0Y2gnKSwgaG9zdCkpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDYsIGxl
bihTaW11bGF0ZWREZXZpY2VNYW5hZ2VyLmRldmljZV9ieV9maWx0ZXIobGFtYmRhIGRldmljZTog
ZGV2aWNlLmRldmljZV90eXBlID09IERldmljZVR5cGUuZnJvbV9zdHJpbmcoJ0FwcGxlIFdhdGNo
JyksIGhvc3QpKSkKIAogICAgICAgICAjIDMgQXBwbGUgVFZzCi0gICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWxzKDMsIGxlbihTaW11bGF0ZWREZXZpY2VNYW5hZ2VyLmRldmljZV9ieV9maWx0ZXIobGFt
YmRhIGRldmljZTogZGV2aWNlLmRldmljZV90eXBlID09IERldmljZVR5cGUuZnJvbV9zdHJpbmco
J0FwcGxlIFRWJyksIGhvc3QpKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgzLCBsZW4oU2lt
dWxhdGVkRGV2aWNlTWFuYWdlci5kZXZpY2VfYnlfZmlsdGVyKGxhbWJkYSBkZXZpY2U6IGRldmlj
ZS5kZXZpY2VfdHlwZSA9PSBEZXZpY2VUeXBlLmZyb21fc3RyaW5nKCdBcHBsZSBUVicpLCBob3N0
KSkpCiAKICAgICAgICAgIyAxOCBkZXZpY2VzIHJ1bm5pbmcgaU9TIDExLjAKLSAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbHMoMTgsIGxlbihTaW11bGF0ZWREZXZpY2VNYW5hZ2VyLmRldmljZV9ieV9m
aWx0ZXIobGFtYmRhIGRldmljZTogZGV2aWNlLmRldmljZV90eXBlID09IERldmljZVR5cGUoc29m
dHdhcmVfdmFyaWFudD0naU9TJywgc29mdHdhcmVfdmVyc2lvbj1WZXJzaW9uKDExLCAwLCAxKSks
IGhvc3QpKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgxOCwgbGVuKFNpbXVsYXRlZERldmlj
ZU1hbmFnZXIuZGV2aWNlX2J5X2ZpbHRlcihsYW1iZGEgZGV2aWNlOiBkZXZpY2UuZGV2aWNlX3R5
cGUgPT0gRGV2aWNlVHlwZShzb2Z0d2FyZV92YXJpYW50PSdpT1MnLCBzb2Z0d2FyZV92ZXJzaW9u
PVZlcnNpb24oMTEsIDAsIDEpKSwgaG9zdCkpKQogCiAgICAgICAgICMgMTEgaVBob25lcyBydW5u
aW5nIGlPUyAxMS4wCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKDExLCBsZW4oU2ltdWxhdGVk
RGV2aWNlTWFuYWdlci5kZXZpY2VfYnlfZmlsdGVyKGxhbWJkYSBkZXZpY2U6IGRldmljZS5kZXZp
Y2VfdHlwZSA9PSBEZXZpY2VUeXBlKGhhcmR3YXJlX2ZhbWlseT0naVBob25lJywgc29mdHdhcmVf
dmVyc2lvbj1WZXJzaW9uKDExLCAwLCAxKSksIGhvc3QpKSkKKyAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbCgxMSwgbGVuKFNpbXVsYXRlZERldmljZU1hbmFnZXIuZGV2aWNlX2J5X2ZpbHRlcihsYW1i
ZGEgZGV2aWNlOiBkZXZpY2UuZGV2aWNlX3R5cGUgPT0gRGV2aWNlVHlwZShoYXJkd2FyZV9mYW1p
bHk9J2lQaG9uZScsIHNvZnR3YXJlX3ZlcnNpb249VmVyc2lvbigxMSwgMCwgMSkpLCBob3N0KSkp
CiAKICAgICAgICAgIyAxIGRldmljZSBydW5uaW5nIGlPUyAxMgotICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFscygxLCBsZW4oU2ltdWxhdGVkRGV2aWNlTWFuYWdlci5kZXZpY2VfYnlfZmlsdGVyKGxh
bWJkYSBkZXZpY2U6IGRldmljZS5kZXZpY2VfdHlwZSA9PSBEZXZpY2VUeXBlKHNvZnR3YXJlX3Zh
cmlhbnQ9J2lPUycsIHNvZnR3YXJlX3ZlcnNpb249VmVyc2lvbigxMiwgMCwgMCkpLCBob3N0KSkp
CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoMSwgbGVuKFNpbXVsYXRlZERldmljZU1hbmFnZXIu
ZGV2aWNlX2J5X2ZpbHRlcihsYW1iZGEgZGV2aWNlOiBkZXZpY2UuZGV2aWNlX3R5cGUgPT0gRGV2
aWNlVHlwZShzb2Z0d2FyZV92YXJpYW50PSdpT1MnLCBzb2Z0d2FyZV92ZXJzaW9uPVZlcnNpb24o
MTIsIDAsIDApKSwgaG9zdCkpKQogCiAgICAgZGVmIHRlc3RfZXhpc3Rpbmdfc2ltdWxhdG9yKHNl
bGYpOgogICAgICAgICBTaW11bGF0ZWREZXZpY2VUZXN0LnJlc2V0X3NpbXVsYXRlZF9kZXZpY2Vf
bWFuYWdlcigpCkBAIC02MDMsMTAgKzYwMywxMCBAQCBjbGFzcyBTaW11bGF0ZWREZXZpY2VUZXN0
KHVuaXR0ZXN0LlRlc3RDYXNlKToKIAogICAgICAgICBTaW11bGF0ZWREZXZpY2VNYW5hZ2VyLmlu
aXRpYWxpemVfZGV2aWNlcyhEZXZpY2VSZXF1ZXN0KERldmljZVR5cGUuZnJvbV9zdHJpbmcoJ2lQ
aG9uZScsIFZlcnNpb24oMTEpKSksIGhvc3Q9aG9zdCkKIAotICAgICAgICBzZWxmLmFzc2VydEVx
dWFscygxLCBsZW4oU2ltdWxhdGVkRGV2aWNlTWFuYWdlci5JTklUSUFMSVpFRF9ERVZJQ0VTKSkK
LSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoJzM0RkI0NzZDLTZGQTAtNDNDOC04OTQ1LTFCRDdB
NEVCRjBERScsIFNpbXVsYXRlZERldmljZU1hbmFnZXIuSU5JVElBTElaRURfREVWSUNFU1swXS51
ZGlkKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscygnMTVBODQwMScsIFNpbXVsYXRlZERldmlj
ZU1hbmFnZXIuSU5JVElBTElaRURfREVWSUNFU1swXS5idWlsZF92ZXJzaW9uKQotICAgICAgICBz
ZWxmLmFzc2VydEVxdWFscyhTaW11bGF0ZWREZXZpY2UuRGV2aWNlU3RhdGUuQk9PVEVELCBTaW11
bGF0ZWREZXZpY2VNYW5hZ2VyLklOSVRJQUxJWkVEX0RFVklDRVNbMF0ucGxhdGZvcm1fZGV2aWNl
LnN0YXRlKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoMSwgbGVuKFNpbXVsYXRlZERldmlj
ZU1hbmFnZXIuSU5JVElBTElaRURfREVWSUNFUykpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
JzM0RkI0NzZDLTZGQTAtNDNDOC04OTQ1LTFCRDdBNEVCRjBERScsIFNpbXVsYXRlZERldmljZU1h
bmFnZXIuSU5JVElBTElaRURfREVWSUNFU1swXS51ZGlkKQorICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKCcxNUE4NDAxJywgU2ltdWxhdGVkRGV2aWNlTWFuYWdlci5JTklUSUFMSVpFRF9ERVZJQ0VT
WzBdLmJ1aWxkX3ZlcnNpb24pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoU2ltdWxhdGVkRGV2
aWNlLkRldmljZVN0YXRlLkJPT1RFRCwgU2ltdWxhdGVkRGV2aWNlTWFuYWdlci5JTklUSUFMSVpF
RF9ERVZJQ0VTWzBdLnBsYXRmb3JtX2RldmljZS5zdGF0ZSgpKQogCiAgICAgICAgIFNpbXVsYXRl
ZERldmljZU1hbmFnZXIudGVhcl9kb3duKGhvc3QpCiAgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25l
KFNpbXVsYXRlZERldmljZU1hbmFnZXIuSU5JVElBTElaRURfREVWSUNFUykKQEAgLTYxOCw5ICs2
MTgsOSBAQCBjbGFzcyBTaW11bGF0ZWREZXZpY2VUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKIAog
ICAgICAgICBTaW11bGF0ZWREZXZpY2VNYW5hZ2VyLmluaXRpYWxpemVfZGV2aWNlcyhEZXZpY2VS
ZXF1ZXN0KERldmljZVR5cGUuZnJvbV9zdHJpbmcoJ2lwaG9uZSA1cycsIFZlcnNpb24oMTEpKSks
IGhvc3Q9aG9zdCkKIAotICAgICAgICBzZWxmLmFzc2VydEVxdWFscygxLCBsZW4oU2ltdWxhdGVk
RGV2aWNlTWFuYWdlci5JTklUSUFMSVpFRF9ERVZJQ0VTKSkKLSAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbHMoJzM0RkI0NzZDLTZGQTAtNDNDOC04OTQ1LTFCRDdBNEVCRjBERScsIFNpbXVsYXRlZERl
dmljZU1hbmFnZXIuSU5JVElBTElaRURfREVWSUNFU1swXS51ZGlkKQotICAgICAgICBzZWxmLmFz
c2VydEVxdWFscyhTaW11bGF0ZWREZXZpY2UuRGV2aWNlU3RhdGUuQk9PVEVELCBTaW11bGF0ZWRE
ZXZpY2VNYW5hZ2VyLklOSVRJQUxJWkVEX0RFVklDRVNbMF0ucGxhdGZvcm1fZGV2aWNlLnN0YXRl
KCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoMSwgbGVuKFNpbXVsYXRlZERldmljZU1hbmFn
ZXIuSU5JVElBTElaRURfREVWSUNFUykpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJzM0RkI0
NzZDLTZGQTAtNDNDOC04OTQ1LTFCRDdBNEVCRjBERScsIFNpbXVsYXRlZERldmljZU1hbmFnZXIu
SU5JVElBTElaRURfREVWSUNFU1swXS51ZGlkKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFNp
bXVsYXRlZERldmljZS5EZXZpY2VTdGF0ZS5CT09URUQsIFNpbXVsYXRlZERldmljZU1hbmFnZXIu
SU5JVElBTElaRURfREVWSUNFU1swXS5wbGF0Zm9ybV9kZXZpY2Uuc3RhdGUoKSkKIAogICAgICAg
ICBTaW11bGF0ZWREZXZpY2VNYW5hZ2VyLnRlYXJfZG93bihob3N0KQogICAgICAgICBzZWxmLmFz
c2VydElzTm9uZShTaW11bGF0ZWREZXZpY2VNYW5hZ2VyLklOSVRJQUxJWkVEX0RFVklDRVMpCkBA
IC02MzEsOCArNjMxLDggQEAgY2xhc3MgU2ltdWxhdGVkRGV2aWNlVGVzdCh1bml0dGVzdC5UZXN0
Q2FzZSk6CiAgICAgICAgIFNpbXVsYXRlZERldmljZU1hbmFnZXIuYXZhaWxhYmxlX2RldmljZXMo
aG9zdCkKIAogICAgICAgICBydW50aW1lID0gU2ltdWxhdGVkRGV2aWNlTWFuYWdlci5nZXRfcnVu
dGltZV9mb3JfZGV2aWNlX3R5cGUoRGV2aWNlVHlwZS5mcm9tX3N0cmluZygnaXBob25lIDVzJywg
VmVyc2lvbig5LCAyKSkpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHJ1bnRpbWUub3NfdmFy
aWFudCwgJ2lPUycpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHJ1bnRpbWUudmVyc2lvbiwg
VmVyc2lvbig5LCAzKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChydW50aW1lLm9zX3Zhcmlh
bnQsICdpT1MnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJ1bnRpbWUudmVyc2lvbiwgVmVy
c2lvbig5LCAzKSkKIAogICAgIGRlZiB0ZXN0X21hdGNoaW5nX3VwX2ZhaWx1cmUoc2VsZik6CiAg
ICAgICAgIFNpbXVsYXRlZERldmljZVRlc3QucmVzZXRfc2ltdWxhdGVkX2RldmljZV9tYW5hZ2Vy
KCkKQEAgLTY0MCw3ICs2NDAsNyBAQCBjbGFzcyBTaW11bGF0ZWREZXZpY2VUZXN0KHVuaXR0ZXN0
LlRlc3RDYXNlKToKICAgICAgICAgU2ltdWxhdGVkRGV2aWNlTWFuYWdlci5hdmFpbGFibGVfZGV2
aWNlcyhob3N0KQogCiAgICAgICAgIHJ1bnRpbWUgPSBTaW11bGF0ZWREZXZpY2VNYW5hZ2VyLmdl
dF9ydW50aW1lX2Zvcl9kZXZpY2VfdHlwZShEZXZpY2VUeXBlLmZyb21fc3RyaW5nKCdpcGhvbmUg
NXMnLCBWZXJzaW9uKDksIDQpKSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMocnVudGltZSwg
Tm9uZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChydW50aW1lLCBOb25lKQogCiAgICAgZGVm
IHRlc3Rfbm9fc3RhdGVfZmlsZXMoc2VsZik6CiAgICAgICAgIFNpbXVsYXRlZERldmljZVRlc3Qu
cmVzZXRfc2ltdWxhdGVkX2RldmljZV9tYW5hZ2VyKCkKQEAgLTY0OSw0ICs2NDksNCBAQCBjbGFz
cyBTaW11bGF0ZWREZXZpY2VUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgZGV2aWNl
cyA9IFNpbXVsYXRlZERldmljZU1hbmFnZXIuYXZhaWxhYmxlX2RldmljZXMoaG9zdCkKIAogICAg
ICAgICBmb3IgZGV2aWNlIGluIGRldmljZXM6Ci0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFs
cyhTaW11bGF0ZWREZXZpY2UuRGV2aWNlU3RhdGUuU0hVVF9ET1dOLCBkZXZpY2Uuc3RhdGUoZm9y
Y2VfdXBkYXRlPVRydWUpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChTaW11bGF0ZWRE
ZXZpY2UuRGV2aWNlU3RhdGUuU0hVVF9ET1dOLCBkZXZpY2Uuc3RhdGUoZm9yY2VfdXBkYXRlPVRy
dWUpKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>