<?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>103408</bug_id>
          
          <creation_ts>2012-11-27 07:00:23 -0800</creation_ts>
          <short_desc>Remove use of deprecated logging from webkitpy.common and webkitpy.layout_tests</short_desc>
          <delta_ts>2012-11-28 08:16:14 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Zan Dobersek">zan</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          <cc>abarth</cc>
    
    <cc>dpranke</cc>
    
    <cc>levin+watchlist</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>776721</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-11-27 07:00:23 -0800</bug_when>
    <thetext>Remove use of deprecated logging from webkitpy.common and webkitpy.layout_tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776724</commentid>
    <comment_count>1</comment_count>
      <attachid>176261</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-11-27 07:03:54 -0800</bug_when>
    <thetext>Created attachment 176261
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777156</commentid>
    <comment_count>2</comment_count>
      <attachid>176261</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-11-27 13:11:46 -0800</bug_when>
    <thetext>Comment on attachment 176261
Patch

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

lgtm (mostly a rubber-stamp).

&gt; Tools/Scripts/webkitpy/tool/commands/queues_unittest.py:413
&gt; +bar/baz-diffs.txt does not exist in results archive, uploading entire archive.

I wonder where this line comes in from ... ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777172</commentid>
    <comment_count>3</comment_count>
      <attachid>176261</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-27 13:32:55 -0800</bug_when>
    <thetext>Comment on attachment 176261
Patch

Clearing flags on attachment: 176261

Committed r135912: &lt;http://trac.webkit.org/changeset/135912&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777173</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-27 13:32:59 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777922</commentid>
    <comment_count>5</comment_count>
      <attachid>176261</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-11-28 08:16:14 -0800</bug_when>
    <thetext>Comment on attachment 176261
Patch

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

&gt;&gt; Tools/Scripts/webkitpy/tool/commands/queues_unittest.py:413
&gt;&gt; +bar/baz-diffs.txt does not exist in results archive, uploading entire archive.
&gt; 
&gt; I wonder where this line comes in from ... ?

It was always there, but was reported through the Logger in flakytestreporter.py[1]. Until now this unit test only checked expected stderr output, but the output was now moved into log form where this line also pops up.

[1] http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/tool/bot/flakytestreporter.py#L169</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176261</attachid>
            <date>2012-11-27 07:03:54 -0800</date>
            <delta_ts>2012-11-28 08:16:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103408-20121127160129.patch</filename>
            <type>text/plain</type>
            <size>169237</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1ODM2CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNTY3NDlhNTNhYTE4ZGU0MWY4YmNkODZhMmIwODY0YzFl
NWIxMjk4Yi4uZjMwMzE0NjY3MTBhMjRhZDgzZjVmYThmNDBhZjkwMTQ0YWIxZTcyYSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIz
MiBAQAorMjAxMi0xMS0yNyAgWmFuIERvYmVyc2VrICA8emFuZG9iZXJzZWtAZ21haWwuY29tPgor
CisgICAgICAgIFJlbW92ZSB1c2Ugb2YgZGVwcmVjYXRlZCBsb2dnaW5nIGZyb20gd2Via2l0cHku
Y29tbW9uIGFuZCB3ZWJraXRweS5sYXlvdXRfdGVzdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzQwOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSB0aGUgdXNlIG9mIHRoZSBkZXByZWNhdGVk
IGxvZyBhbmQgZXJyb3IgbWV0aG9kcyBieSByZXBsYWNpbmcgdGhlbSB3aXRoCisgICAgICAgIGxv
Z2dpbmcgdGhyb3VnaCBQeXRob24ncyBsb2dnaW5nLkxvZ2dlciBvYmplY3RzLgorCisgICAgICAg
IFRoaXMgcGF0Y2ggY292ZXJzIHN1Y2ggY2hhbmdlcyBpbiB3ZWJraXRweS5jb21tb24gYW5kIHdl
YmtpdHB5LmxheW91dF90ZXN0cyBhbmQgYWxzbworICAgICAgICB1cGRhdGVzIGFueSBhZmZlY3Rl
ZCB1bml0IHRlc3QuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291
dC9jaGFuZ2Vsb2cucHk6CisgICAgICAgIChDaGFuZ2VMb2dFbnRyeS5fcGFyc2VfZW50cnkpOgor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L2NoZWNrb3V0LnB5Ogor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L2NoZWNrb3V0X3VuaXR0
ZXN0LnB5OgorICAgICAgICAoQ2hlY2tvdXRUZXN0LnRlc3RfYXBwbHlfcGF0Y2gpOgorICAgICAg
ICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L2RlcHNfbW9jay5weToKKyAgICAg
ICAgKE1vY2tERVBTLndyaXRlX3ZhcmlhYmxlKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L2NvbW1vbi9jaGVja291dC9zY20vZGV0ZWN0aW9uLnB5OgorICAgICAgICAoU0NNRGV0ZWN0b3Iu
ZGVmYXVsdF9zY20pOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0
L3NjbS9kZXRlY3Rpb25fdW5pdHRlc3QucHk6CisgICAgICAgIChTQ01EZXRlY3RvclRlc3QudGVz
dF9kZXRlY3Rfc2NtX3N5c3RlbSk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24v
Y2hlY2tvdXQvc2NtL2dpdC5weToKKyAgICAgICAgKEdpdC5fY2hlY2tfZ2l0X2FyY2hpdGVjdHVy
ZSk6CisgICAgICAgIChHaXQuX2NvbW1pdF9vbl9icmFuY2gpOgorICAgICAgICAqIFNjcmlwdHMv
d2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L3NjbS9zY20ucHk6CisgICAgICAgIChTQ00uZW5zdXJl
X2NsZWFuX3dvcmtpbmdfZGlyZWN0b3J5KToKKyAgICAgICAgKFNDTS5lbnN1cmVfbm9fbG9jYWxf
Y29tbWl0cyk6CisgICAgICAgIChTQ00ud2lsbC5jb21taXRfbG9jYWxseV93aXRoX21lc3NhZ2Up
OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L3NjbS9zdm4ucHk6
CisgICAgICAgIChTVk4uYXBwbHlfcmV2ZXJzZV9kaWZmKToKKyAgICAgICAgKiBTY3JpcHRzL3dl
YmtpdHB5L2NvbW1vbi9uZXQvYnVnemlsbGEvYXR0YWNobWVudC5weToKKyAgICAgICAgKEF0dGFj
aG1lbnQuX3ZhbGlkYXRlX2ZsYWdfdmFsdWUpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkv
Y29tbW9uL25ldC9idWd6aWxsYS9idWd6aWxsYS5weToKKyAgICAgICAgKEJ1Z3ppbGxhLl9mZXRj
aF9idWdfcGFnZSk6CisgICAgICAgIChCdWd6aWxsYS5idWdfaWRfZm9yX2F0dGFjaG1lbnRfaWQp
OgorICAgICAgICAoQnVnemlsbGEuYXV0aGVudGljYXRlKToKKyAgICAgICAgKEJ1Z3ppbGxhLl9j
b21taXRfcXVldWVfZmxhZyk6CisgICAgICAgIChCdWd6aWxsYS5hZGRfYXR0YWNobWVudF90b19i
dWcpOgorICAgICAgICAoQnVnemlsbGEuYWRkX3BhdGNoX3RvX2J1Zyk6CisgICAgICAgIChCdWd6
aWxsYS5jcmVhdGVfYnVnKToKKyAgICAgICAgKEJ1Z3ppbGxhLmNsZWFyX2F0dGFjaG1lbnRfZmxh
Z3MpOgorICAgICAgICAoQnVnemlsbGEuc2V0X2ZsYWdfb25fYXR0YWNobWVudCk6CisgICAgICAg
IChCdWd6aWxsYS5vYnNvbGV0ZV9hdHRhY2htZW50KToKKyAgICAgICAgKEJ1Z3ppbGxhLmFkZF9j
Y190b19idWcpOgorICAgICAgICAoQnVnemlsbGEucG9zdF9jb21tZW50X3RvX2J1Zyk6CisgICAg
ICAgIChCdWd6aWxsYS5jbG9zZV9idWdfYXNfZml4ZWQpOgorICAgICAgICAoQnVnemlsbGEucmVh
c3NpZ25fYnVnKToKKyAgICAgICAgKHJlb3Blbl9idWcpOgorICAgICAgICAqIFNjcmlwdHMvd2Vi
a2l0cHkvY29tbW9uL25ldC9idWd6aWxsYS9idWd6aWxsYV9tb2NrLnB5OgorICAgICAgICAoTW9j
a0J1Z3ppbGxhLmNyZWF0ZV9idWcpOgorICAgICAgICAoTW9ja0J1Z3ppbGxhLnJlYXNzaWduX2J1
Zyk6CisgICAgICAgIChNb2NrQnVnemlsbGEuc2V0X2ZsYWdfb25fYXR0YWNobWVudCk6CisgICAg
ICAgIChNb2NrQnVnemlsbGEucG9zdF9jb21tZW50X3RvX2J1Zyk6CisgICAgICAgIChNb2NrQnVn
emlsbGEuYWRkX2F0dGFjaG1lbnRfdG9fYnVnKToKKyAgICAgICAgKE1vY2tCdWd6aWxsYS5hZGRf
cGF0Y2hfdG9fYnVnKToKKyAgICAgICAgKE1vY2tCdWd6aWxsYS5yZW9wZW5fYnVnKToKKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvYnVnemlsbGEvYnVnemlsbGFfdW5pdHRl
c3QucHk6CisgICAgICAgICh0ZXN0X2FkZF9jY190b19idWcpOgorICAgICAgICAoX2Fzc2VydF9y
ZW9wZW4pOgorICAgICAgICAodGVzdF9yZW9wZW5fYnVnKToKKyAgICAgICAgKiBTY3JpcHRzL3dl
YmtpdHB5L2NvbW1vbi9uZXQvYnVpbGRib3QvYnVpbGRib3RfbW9jay5weToKKyAgICAgICAgKE1v
Y2tCdWlsZGVyLmZvcmNlX2J1aWxkKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1v
bi9uZXQvY3JlZGVudGlhbHMucHk6CisgICAgICAgIChDcmVkZW50aWFscy5fcnVuX3NlY3VyaXR5
X3Rvb2wpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9jcmVkZW50aWFs
c191bml0dGVzdC5weToKKyAgICAgICAgKF9hc3NlcnRfc2VjdXJpdHlfY2FsbCk6CisgICAgICAg
ICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L2lyYy9pcmNfbW9jay5weToKKyAgICAgICAg
KE1vY2tJUkMucG9zdCk6CisgICAgICAgIChNb2NrSVJDLmRpc2Nvbm5lY3QpOgorICAgICAgICAq
IFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9pcmMvaXJjcHJveHkucHk6CisgICAgICAgIChJ
UkNQcm94eS5fX2luaXRfXyk6CisgICAgICAgIChJUkNQcm94eS5kaXNjb25uZWN0KToKKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvaXJjL2lyY3Byb3h5X3VuaXR0ZXN0LnB5
OgorICAgICAgICAoSVJDUHJveHlUZXN0LnRlc3RfdHJpdmlhbCk6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9jb21tb24vbmV0L2xheW91dHRlc3RyZXN1bHRzLnB5OgorICAgICAgICAoT1JX
VFJlc3VsdHNIVE1MUGFyc2VyLl9mYWlsdXJlc19mcm9tX2ZhaWxfcm93KToKKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvbGF5b3V0dGVzdHJlc3VsdHNfdW5pdHRlc3QucHk6
CisgICAgICAgICh0ZXN0X2ZhaWx1cmVzX2Zyb21fZmFpbF9yb3cpOgorICAgICAgICAqIFNjcmlw
dHMvd2Via2l0cHkvY29tbW9uL25ldC9uZXR3b3JrdHJhbnNhY3Rpb24ucHk6CisgICAgICAgICog
U2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L3Jlc3VsdHNqc29ucGFyc2VyLnB5OgorICAgICAg
ICAoSlNPTlRlc3RSZXN1bHQuX3Rva2VuaXplKToKKyAgICAgICAgKEpTT05UZXN0UmVzdWx0Ll9m
YWlsdXJlX3R5cGVzX2Zyb21fYWN0dWFsX3Jlc3VsdCk6CisgICAgICAgICogU2NyaXB0cy93ZWJr
aXRweS9jb21tb24vbmV0L3N0YXR1c3NlcnZlci5weToKKyAgICAgICAgKFN0YXR1c1NlcnZlci51
cGRhdGVfc3RhdHVzKToKKyAgICAgICAgKFN0YXR1c1NlcnZlci51cGRhdGVfc3ZuX3JldmlzaW9u
KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvc3RhdHVzc2VydmVyX21v
Y2sucHk6CisgICAgICAgIChNb2NrU3RhdHVzU2VydmVyLnJlbGVhc2Vfd29ya19pdGVtKToKKyAg
ICAgICAgKE1vY2tTdGF0dXNTZXJ2ZXIudXBkYXRlX3dvcmtfaXRlbXMpOgorICAgICAgICAoTW9j
a1N0YXR1c1NlcnZlci5zdWJtaXRfdG9fZXdzKToKKyAgICAgICAgKE1vY2tTdGF0dXNTZXJ2ZXIu
dXBkYXRlX3N0YXR1cyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L3Vu
aXR0ZXN0cmVzdWx0cy5weToKKyAgICAgICAgKFVuaXRUZXN0UmVzdWx0cy5yZXN1bHRzX2Zyb21f
c3RyaW5nKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vZXhlY3V0
aXZlX21vY2sucHk6CisgICAgICAgIChNb2NrRXhlY3V0aXZlLnJ1bm5pbmdfcGlkcyk6CisgICAg
ICAgIChNb2NrRXhlY3V0aXZlLnJ1bl9hbmRfdGhyb3dfaWZfZmFpbCk6CisgICAgICAgIChNb2Nr
RXhlY3V0aXZlLnJ1bl9jb21tYW5kKToKKyAgICAgICAgKE1vY2tFeGVjdXRpdmUucG9wZW4pOgor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS91c2VyX21vY2sucHk6Cisg
ICAgICAgIChNb2NrVXNlci5jb25maXJtKToKKyAgICAgICAgKE1vY2tVc2VyLm9wZW5fdXJsKToK
KyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vd29ya3NwYWNlX3VuaXR0
ZXN0LnB5OgorICAgICAgICAoV29ya3NwYWNlVGVzdC50ZXN0X2NyZWF0ZV96aXApOgorICAgICAg
ICAoV29ya3NwYWNlVGVzdC50ZXN0X2NyZWF0ZV96aXBfZXhjZXB0aW9uKToKKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdHB5L2NvbW1vbi93YXRjaGxpc3Qvd2F0Y2hsaXN0X21vY2sucHk6CisgICAg
ICAgIChNb2NrV2F0Y2hMaXN0LmRldGVybWluZV9jY19hbmRfbWVzc2FnZXMpOgorICAgICAgICAq
IFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fd2luX3VuaXR0ZXN0
LnB5OgorICAgICAgICAoQ2hyb21pdW1XaW5UZXN0LnRlc3Rfc2V0dXBfZW52aXJvbl9mb3Jfc2Vy
dmVyX3JlZ2lzdGVyX2N5Z3dpbik6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvcG9ydC9lZmxfdW5pdHRlc3QucHk6CisgICAgICAgIChFZmxQb3J0VGVzdC50ZXN0X3No
b3dfcmVzdWx0c19odG1sX2ZpbGUpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3BvcnQvZ3RrX3VuaXR0ZXN0LnB5OgorICAgICAgICAoR3RrUG9ydFRlc3QudGVzdF9z
aG93X3Jlc3VsdHNfaHRtbF9maWxlKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9wb3J0L21hY191bml0dGVzdC5weToKKyAgICAgICAgKHRlc3Rfc2hvd19yZXN1bHRz
X2h0bWxfZmlsZSk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9y
dC9wb3J0X3Rlc3RjYXNlLnB5OgorICAgICAgICAodGVzdF9idWlsZF9kcml2ZXIpOgorICAgICAg
ICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvcXRfdW5pdHRlc3QucHk6Cisg
ICAgICAgIChRdFBvcnRUZXN0LnRlc3Rfc2hvd19yZXN1bHRzX2h0bWxfZmlsZSk6CisgICAgICAg
ICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93aW5fdW5pdHRlc3QucHk6Cisg
ICAgICAgIChXaW5Qb3J0VGVzdC50ZXN0X3Nob3dfcmVzdWx0c19odG1sX2ZpbGUpOgorICAgICAg
ICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQveHZmYmRyaXZlcl91bml0dGVz
dC5weToKKyAgICAgICAgKFh2ZmJEcml2ZXJUZXN0LmFzc2VydERyaXZlclN0YXJ0U3VjY2Vzc2Z1
bCk6CisgICAgICAgIChYdmZiRHJpdmVyVGVzdC50ZXN0X3N0YXJ0X25vX3BpeGVsX3Rlc3RzKToK
KyAgICAgICAgKFh2ZmJEcml2ZXJUZXN0LnRlc3Rfc3RhcnRfcGl4ZWxfdGVzdHMpOgorICAgICAg
ICAoWHZmYkRyaXZlclRlc3QudGVzdF9zdGFydF9hcmJpdHJhcnlfd29ya2VyX251bWJlcik6Cisg
ICAgICAgIChYdmZiRHJpdmVyVGVzdC50ZXN0X3N0YXJ0X25leHRfd29ya2VyKToKKyAgICAgICAg
KFh2ZmJEcml2ZXJUZXN0LnRlc3Rfc3RvcCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvc2VydmVycy9hcGFjaGVfaHR0cF9zZXJ2ZXJfdW5pdHRlc3QucHk6CisgICAg
ICAgIChUZXN0TGF5b3V0VGVzdEFwYWNoZUh0dHBkLnRlc3Rfc3RhcnRfY21kKToKKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdHB5L3BlcmZvcm1hbmNlX3Rlc3RzL3BlcmZ0ZXN0c3J1bm5lcl91bml0
dGVzdC5weToKKyAgICAgICAgKHRlc3RfcnVuX3Rlc3RfcGF1c2VfYmVmb3JlX3Rlc3RpbmcpOgor
ICAgICAgICAodGVzdF9ydW5fbWVtb3J5X3Rlc3QpOgorICAgICAgICAoX3Rlc3RfcnVuX3dpdGhf
anNvbl9vdXRwdXQpOgorICAgICAgICAodGVzdF9ydW5fcmVzcGVjdHNfbm9fcmVzdWx0cyk6Cisg
ICAgICAgICh0ZXN0X3J1bl9nZW5lcmF0ZXNfYW5kX3Nob3dfcmVzdWx0c19wYWdlKToKKyAgICAg
ICAgKHRlc3RfcnVuX3Jlc3BlY3RzX25vX3Nob3dfcmVzdWx0cyk6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS90b29sL2JvdC9mZWVkZXJzX3VuaXR0ZXN0LnB5OgorICAgICAgICAoRmVlZGVy
c1Rlc3QudGVzdF9jb21taXRfcXVldWVfZmVlZGVyKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L3Rvb2wvYm90L2ZsYWt5dGVzdHJlcG9ydGVyX3VuaXR0ZXN0LnB5OgorICAgICAgICAoRmxh
a3lUZXN0UmVwb3J0ZXJUZXN0LnRlc3RfY3JlYXRlX2J1Z19mb3JfZmxha3lfdGVzdCk6CisgICAg
ICAgICh0ZXN0X3JlcG9ydF9mbGFreV90ZXN0c19jcmVhdGluZ19idWcpOgorICAgICAgICAqIFNj
cmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvaXJjX2NvbW1hbmRfdW5pdHRlc3QucHk6CisgICAgICAg
IChJUkNDb21tYW5kVGVzdC50ZXN0X3JvbGxvdXRfdXBkYXRlc193b3JraW5nX2NvcHkpOgorICAg
ICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvaXJjYm90X3VuaXR0ZXN0LnB5OgorICAg
ICAgICAoSVJDQm90VGVzdC50ZXN0X2V4Y2VwdGlvbl9kdXJpbmdfY29tbWFuZCk6CisgICAgICAg
IChJUkNCb3RUZXN0LnRlc3RfaGkpOgorICAgICAgICAoSVJDQm90VGVzdC50ZXN0X2hlbHApOgor
ICAgICAgICAoSVJDQm90VGVzdC50ZXN0X3Jlc3RhcnQpOgorICAgICAgICAoSVJDQm90VGVzdC50
ZXN0X3JvbGxvdXQpOgorICAgICAgICAoSVJDQm90VGVzdC50ZXN0X3JldmVydCk6CisgICAgICAg
IChJUkNCb3RUZXN0LnRlc3Rfcm9sbF9jaHJvbWl1bV9kZXBzKToKKyAgICAgICAgKElSQ0JvdFRl
c3QudGVzdF9yb2xsX2Nocm9taXVtX2RlcHNfdG9fbGtncik6CisgICAgICAgIChJUkNCb3RUZXN0
LnRlc3RfbXVsdGlfcm9sbG91dCk6CisgICAgICAgIChJUkNCb3RUZXN0LnRlc3Rfcm9sbG91dF93
aXRoX3JfaW5fc3ZuX3JldmlzaW9uKToKKyAgICAgICAgKElSQ0JvdFRlc3QudGVzdF9tdWx0aV9y
b2xsb3V0X3dpdGhfcl9pbl9zdm5fcmV2aXNpb24pOgorICAgICAgICAoSVJDQm90VGVzdC50ZXN0
X3JvbGxvdXRfYmFuYW5hcyk6CisgICAgICAgIChJUkNCb3RUZXN0LnRlc3Rfcm9sbG91dF9pbnZh
bGlkYXRlX3JldmlzaW9uKToKKyAgICAgICAgKElSQ0JvdFRlc3QudGVzdF9yb2xsb3V0X2ludmFs
aWRhdGVfcmVhc29uKToKKyAgICAgICAgKHRlc3RfbXVsdGlfcm9sbG91dF9pbnZhbGlkYXRlX3Jl
YXNvbik6CisgICAgICAgICh0ZXN0X3JvbGxvdXRfbm9fcmVhc29uKToKKyAgICAgICAgKHRlc3Rf
bXVsdGlfcm9sbG91dF9ub19yZWFzb24pOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9v
bC9ib3Qvc2hlcmlmZl91bml0dGVzdC5weToKKyAgICAgICAgKFNoZXJpZmZUZXN0LnRlc3RfcG9z
dF9ibGFtZV9jb21tZW50X29uX2J1Zyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29s
L2NvbW1hbmRzL2FwcGx5d2F0Y2hsaXN0bG9jYWxfdW5pdHRlc3QucHk6CisgICAgICAgIChBcHBs
eVdhdGNoTGlzdExvY2FsVGVzdC50ZXN0X2FyZ3NfcGFyc2luZyk6CisgICAgICAgICh0ZXN0X2Fy
Z3NfcGFyc2luZ193aXRoX2J1Zyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL2Nv
bW1hbmRzL2Rvd25sb2FkX3VuaXR0ZXN0LnB5OgorICAgICAgICAodGVzdF9sYW5kX2Nvd2JveSk6
CisgICAgICAgICh0ZXN0X2NoZWNrX3N0eWxlKToKKyAgICAgICAgKHRlc3RfY3JlYXRlX3JvbGxv
dXQpOgorICAgICAgICAodGVzdF9jcmVhdGVfcm9sbG91dF9yZXNvbHZlZCk6CisgICAgICAgICh0
ZXN0X3JvbGxvdXQpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9l
YXJseXdhcm5pbmdzeXN0ZW1fdW5pdHRlc3QucHk6CisgICAgICAgIChBYnN0cmFjdEVhcmx5V2Fy
bmluZ1N5c3RlbVRlc3QudGVzdF9mYWlsaW5nX3Rlc3RzX21lc3NhZ2UpOgorICAgICAgICAoRWFy
bHlXYXJuaW5nU3l0ZW1UZXN0Ll9kZWZhdWx0X2V4cGVjdGVkX2xvZ3MpOgorICAgICAgICAoRWFy
bHlXYXJuaW5nU3l0ZW1UZXN0Ll90ZXN0X2J1aWxkZXJfZXdzKToKKyAgICAgICAgKEVhcmx5V2Fy
bmluZ1N5dGVtVGVzdC5fdGVzdF90ZXN0aW5nX2V3cyk6CisgICAgICAgICogU2NyaXB0cy93ZWJr
aXRweS90b29sL2NvbW1hbmRzL29wZW5idWdzX3VuaXR0ZXN0LnB5OgorICAgICAgICAoT3BlbkJ1
Z3NUZXN0LnRlc3RfYXJnc19wYXJzaW5nKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rv
b2wvY29tbWFuZHMvcXVlcmllc191bml0dGVzdC5weToKKyAgICAgICAgKFF1ZXJ5Q29tbWFuZHNU
ZXN0LnRlc3RfYnVnc190b19jb21taXQpOgorICAgICAgICAoUXVlcnlDb21tYW5kc1Rlc3QudGVz
dF9wYXRjaGVzX2luX2NvbW1pdF9xdWV1ZSk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90
b29sL2NvbW1hbmRzL3F1ZXVlc191bml0dGVzdC5weToKKyAgICAgICAgKEZlZWRlclF1ZXVlVGVz
dC50ZXN0X2ZlZWRlcl9xdWV1ZSk6CisgICAgICAgIChBYnN0cmFjdFBhdGNoUXVldWVUZXN0LnRl
c3RfbmV4dF9wYXRjaCk6CisgICAgICAgIChBYnN0cmFjdFBhdGNoUXVldWVUZXN0LnRlc3RfdXBs
b2FkX3Jlc3VsdHNfYXJjaGl2ZV9mb3JfcGF0Y2gpOgorICAgICAgICAoQ29tbWl0UXVldWVUZXN0
LnRlc3RfY29tbWl0X3F1ZXVlKToKKyAgICAgICAgKHRlc3RfY29tbWl0X3F1ZXVlX2ZhaWx1cmUp
OgorICAgICAgICAodGVzdF9jb21taXRfcXVldWVfZmFpbHVyZV93aXRoX2ZhaWxpbmdfdGVzdHMp
OgorICAgICAgICAodGVzdF9yb2xsb3V0KToKKyAgICAgICAgKHRlc3Rfcm9sbG91dF9sYW5kcyk6
CisgICAgICAgICh0ZXN0X2F1dG9fcmV0cnkpOgorICAgICAgICAodGVzdF9tYW51YWxfcmVqZWN0
X2R1cmluZ19wcm9jZXNzaW5nKToKKyAgICAgICAgKHRlc3RfcmVwb3J0X2ZsYWt5X3Rlc3RzKToK
KyAgICAgICAgKFN0eWxlUXVldWVUZXN0LnRlc3Rfc3R5bGVfcXVldWVfd2l0aF9zdHlsZV9leGNl
cHRpb24pOgorICAgICAgICAodGVzdF9zdHlsZV9xdWV1ZV93aXRoX3dhdGNoX2xpc3RfZXhjZXB0
aW9uKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcXVldWVzdGVz
dC5weToKKyAgICAgICAgKFF1ZXVlc1Rlc3QuX2RlZmF1bHRfYmVnaW5fd29ya19xdWV1ZV9sb2dz
KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcm9sbF91bml0dGVz
dC5weToKKyAgICAgICAgKFJvbGxDb21tYW5kc1Rlc3QudGVzdF91cGRhdGVfY2hyb21pdW1fZGVw
cyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3VwbG9hZF91bml0
dGVzdC5weToKKyAgICAgICAgKFVwbG9hZENvbW1hbmRzVGVzdC50ZXN0X2Fzc2lnbl90b19jb21t
aXR0ZXIpOgorICAgICAgICAodGVzdF9wb3N0KToKKyAgICAgICAgKHRlc3RfYXR0YWNoX3RvX2J1
Zyk6CisgICAgICAgICh0ZXN0X2F0dGFjaF90b19idWdfbm9fZGVzY3JpcHRpb25fb3JfY29tbWVu
dCk6CisgICAgICAgICh0ZXN0X2xhbmRfc2FmZWx5KToKKyAgICAgICAgKHRlc3RfcHJlcGFyZSk6
CisgICAgICAgICh0ZXN0X3VwbG9hZCk6CisgICAgICAgICh0ZXN0X21hcmtfYnVnX2ZpeGVkKToK
KyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvYXBwbHl3YXRjaGxpc3RfdW5p
dHRlc3QucHk6CisgICAgICAgIChBcHBseVdhdGNoTGlzdFRlc3QudGVzdF9hcHBseV93YXRjaF9s
aXN0X2xvY2FsKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvY29tbWl0
X3VuaXR0ZXN0LnB5OgorICAgICAgICAoQ29tbWl0VGVzdC5fdGVzdF9jaGVja190ZXN0X2V4cGVj
dGF0aW9ucyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3J1bnRlc3Rz
X3VuaXR0ZXN0LnB5OgorICAgICAgICAoUnVuVGVzdHNUZXN0LnRlc3Rfd2Via2l0X3J1bl91bml0
X3Rlc3RzKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvc3RlcHNfdW5p
dHRlc3QucHk6CisgICAgICAgIChTdGVwc1Rlc3QuX2Fzc2VydF9zdGVwX291dHB1dF93aXRoX2J1
Zyk6CisgICAgICAgIChTdGVwc1Rlc3QuX2Fzc2VydF9wb3N0X2RpZmZfb3V0cHV0X2Zvcl9idWcp
OgorICAgICAgICAoU3RlcHNUZXN0LnRlc3RfcG9zdF9kaWZmKToKKyAgICAgICAgKFN0ZXBzVGVz
dC50ZXN0X3Bvc3RfZGlmZl9mb3JfY29tbWl0KToKKyAgICAgICAgKFN0ZXBzVGVzdC50ZXN0X2Vu
c3VyZV9idWdfaXNfb3Blbl9hbmRfYXNzaWduZWQpOgorICAgICAgICAoU3RlcHNUZXN0LnRlc3Rf
cnVudGVzdHNfYXJncyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3N1
Z2dlc3RyZXZpZXdlcnNfdW5pdHRlc3QucHk6CisgICAgICAgIChTdWdnZXN0UmV2aWV3ZXJzVGVz
dC50ZXN0X2Jhc2ljKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvdmFs
aWRhdGVjaGFuZ2Vsb2dzX3VuaXR0ZXN0LnB5OgorICAgICAgICAoVmFsaWRhdGVDaGFuZ2VMb2dz
VGVzdC5fYXNzZXJ0X3N0YXJ0X2xpbmVfcHJvZHVjZXNfb3V0cHV0KToKKwogMjAxMi0xMS0yNyAg
U2FkcnVsIEhhYmliIENob3dkaHVyeSAgPHNhZHJ1bEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
W3N0eWxlXSBBZGQgYSBzdHlsZS1jaGVjayBmb3IgZW51bS1tZW1iZXIgbmFtZXMKZGlmZiAtLWdp
dCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L2NoYW5nZWxvZy5weSBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L2NoYW5nZWxvZy5weQppbmRl
eCBhZTdiNzFmYzAzNjhiZmJiODg2ZmIwZTM0MmRhMjVkZGQ3MDQzYmZjLi5jNWNmNDJjNzljZjk1
NmJhMGMyZmNkMjllM2E1NDFkZTBkNTQ0MDY4IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2NvbW1vbi9jaGVja291dC9jaGFuZ2Vsb2cucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9jb21tb24vY2hlY2tvdXQvY2hhbmdlbG9nLnB5CkBAIC0zMCwxMyArMzAsMTUgQEAK
IAogaW1wb3J0IGNvZGVjcwogaW1wb3J0IGZpbGVpbnB1dCAjIGlucGxhY2UgZmlsZSBlZGl0aW5n
IGZvciBzZXRfcmV2aWV3ZXJfaW5fY2hhbmdlbG9nCitpbXBvcnQgbG9nZ2luZwogaW1wb3J0IHJl
CiBpbXBvcnQgdGV4dHdyYXAKIAogZnJvbSB3ZWJraXRweS5jb21tb24uY29uZmlnLmNvbW1pdHRl
cnMgaW1wb3J0IENvbW1pdHRlckxpc3QKIGZyb20gd2Via2l0cHkuY29tbW9uLmNvbmZpZy5jb21t
aXR0ZXJzIGltcG9ydCBBY2NvdW50CiBpbXBvcnQgd2Via2l0cHkuY29tbW9uLmNvbmZpZy51cmxz
IGFzIGNvbmZpZ191cmxzCi1mcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZGVwcmVjYXRlZF9s
b2dnaW5nIGltcG9ydCBsb2cKKworX2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQog
CiAKICMgRklYTUU6IHBhcnNlX2J1Z19pZF9mcm9tX2NoYW5nZWxvZyBzaG91bGQgbm90IGJlIGEg
ZnJlZSBmdW5jdGlvbi4KQEAgLTE2Miw3ICsxNjQsNyBAQCBjbGFzcyBDaGFuZ2VMb2dFbnRyeShv
YmplY3QpOgogICAgIGRlZiBfcGFyc2VfZW50cnkoc2VsZik6CiAgICAgICAgIG1hdGNoID0gcmUu
bWF0Y2goc2VsZi5kYXRlX2xpbmVfcmVnZXhwLCBzZWxmLl9jb250ZW50cywgcmUuTVVMVElMSU5F
KQogICAgICAgICBpZiBub3QgbWF0Y2g6Ci0gICAgICAgICAgICBsb2coIldBUk5JTkc6IENyZWF0
aW5nIGludmFsaWQgQ2hhbmdlTG9nRW50cnk6XG4lcyIgJSBzZWxmLl9jb250ZW50cykKKyAgICAg
ICAgICAgIF9sb2cud2FybmluZygiQ3JlYXRpbmcgaW52YWxpZCBDaGFuZ2VMb2dFbnRyeTpcbiVz
IiAlIHNlbGYuX2NvbnRlbnRzKQogCiAgICAgICAgICMgRklYTUU6IGdyb3VwKCJuYW1lIikgZG9l
cyBub3Qgc2VlbSB0byBiZSBVbmljb2RlPyAgUHJvYmFibHkgZHVlIHRvIHNlbGYuX2NvbnRlbnRz
IG5vdCBiZWluZyB1bmljb2RlLgogICAgICAgICBzZWxmLl9hdXRob3JfdGV4dCA9IG1hdGNoLmdy
b3VwKCJhdXRob3JzIikgaWYgbWF0Y2ggZWxzZSBOb25lCmRpZmYgLS1naXQgYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9jaGVja291dC5weSBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L2NoZWNrb3V0LnB5CmluZGV4IDhmNDUwMjQ5YzMzM2I5
ODk1YzU1ZmI4YjI4OTJhOGYxOWFiMGYxYjIuLmZiNjg2ZjRkNmRhODE2MjgxMDQ3NDMzYWZmZTE5
NjU1MzAzODUxMTAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2No
ZWNrb3V0L2NoZWNrb3V0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2No
ZWNrb3V0L2NoZWNrb3V0LnB5CkBAIC0zNSw3ICszNSw2IEBAIGZyb20gd2Via2l0cHkuY29tbW9u
LmNoZWNrb3V0LnNjbSBpbXBvcnQgQ29tbWl0TWVzc2FnZQogZnJvbSB3ZWJraXRweS5jb21tb24u
Y2hlY2tvdXQuZGVwcyBpbXBvcnQgREVQUwogZnJvbSB3ZWJraXRweS5jb21tb24ubWVtb2l6ZWQg
aW1wb3J0IG1lbW9pemVkCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZXhlY3V0aXZlIGlt
cG9ydCBTY3JpcHRFcnJvcgotZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLmRlcHJlY2F0ZWRf
bG9nZ2luZyBpbXBvcnQgbG9nCiAKIAogIyBUaGlzIGNsYXNzIHJlcHJlc2VudHMgdGhlIFdlYktp
dC1zcGVjaWZpYyBwYXJ0cyBvZiB0aGUgY2hlY2tvdXQgKGxpa2UgQ2hhbmdlTG9ncykuCmRpZmYg
LS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9jaGVja291dF91
bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L2NoZWNr
b3V0X3VuaXR0ZXN0LnB5CmluZGV4IGU5YzJjZGRkYTJlYmQ5ZTM2MGRhNWE2MDNmZTFjOGZiMjUw
ZmY1ODQuLmEzYjQ3Yzk1ZTkxNjdmYTBjMmQzNmFkYjA5YWRlYjE1NTZmNjY1ZTUgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L2NoZWNrb3V0X3VuaXR0
ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L2NoZWNr
b3V0X3VuaXR0ZXN0LnB5CkBAIC0yNTksNSArMjU5LDUgQEAgY2xhc3MgQ2hlY2tvdXRUZXN0KHVu
aXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgbW9ja19wYXRjaCA9IE1vY2soKQogICAgICAgICBt
b2NrX3BhdGNoLmNvbnRlbnRzID0gbGFtYmRhOiAiZm9vIgogICAgICAgICBtb2NrX3BhdGNoLnJl
dmlld2VyID0gbGFtYmRhOiBOb25lCi0gICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9ICJNT0NLIHJ1
bl9jb21tYW5kOiBbJ3N2bi1hcHBseScsICctLWZvcmNlJ10sIGN3ZD0vbW9jay1jaGVja291dCwg
aW5wdXQ9Zm9vXG4iCi0gICAgICAgIE91dHB1dENhcHR1cmUoKS5hc3NlcnRfb3V0cHV0cyhzZWxm
LCBjaGVja291dC5hcHBseV9wYXRjaCwgW21vY2tfcGF0Y2hdLCBleHBlY3RlZF9zdGRlcnI9ZXhw
ZWN0ZWRfc3RkZXJyKQorICAgICAgICBleHBlY3RlZF9sb2dzID0gIk1PQ0sgcnVuX2NvbW1hbmQ6
IFsnc3ZuLWFwcGx5JywgJy0tZm9yY2UnXSwgY3dkPS9tb2NrLWNoZWNrb3V0LCBpbnB1dD1mb29c
biIKKyAgICAgICAgT3V0cHV0Q2FwdHVyZSgpLmFzc2VydF9vdXRwdXRzKHNlbGYsIGNoZWNrb3V0
LmFwcGx5X3BhdGNoLCBbbW9ja19wYXRjaF0sIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncykK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L2RlcHNf
bW9jay5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L2RlcHNfbW9j
ay5weQppbmRleCBjYjU3ZThiMjg2NGFkNTNhNWE2YTQ5NGU2OTdiYWY3N2YwYmNlNjY1Li40MjNk
ZWJhZTAyYjgzZmJkNDdiNTQ1ZDJmMWY4OGVlZmY1NmE1MTJkIDEwMDY0NAotLS0gYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9kZXBzX21vY2sucHkKKysrIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvZGVwc19tb2NrLnB5CkBAIC0yNiw4ICsy
Niw5IEBACiAjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCitpbXBvcnQgbG9nZ2luZwog
Ci1mcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZGVwcmVjYXRlZF9sb2dnaW5nIGltcG9ydCBs
b2cKK19sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKIAogCiBjbGFzcyBNb2NrREVQ
UyhvYmplY3QpOgpAQCAtMzUsNCArMzYsNCBAQCBjbGFzcyBNb2NrREVQUyhvYmplY3QpOgogICAg
ICAgICByZXR1cm4gNjU2NAogCiAgICAgZGVmIHdyaXRlX3ZhcmlhYmxlKHNlbGYsIG5hbWUsIHZh
bHVlKToKLSAgICAgICAgbG9nKCJNT0NLOiBNb2NrREVQUy53cml0ZV92YXJpYWJsZSglcywgJXMp
IiAlIChuYW1lLCB2YWx1ZSkpCisgICAgICAgIF9sb2cuaW5mbygiTU9DSzogTW9ja0RFUFMud3Jp
dGVfdmFyaWFibGUoJXMsICVzKSIgJSAobmFtZSwgdmFsdWUpKQpkaWZmIC0tZ2l0IGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvc2NtL2RldGVjdGlvbi5weSBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L3NjbS9kZXRlY3Rpb24ucHkKaW5kZXgg
NDRiYzkyNjVkOGYxNTQ5ODNmYjRiMmQ3YTQ0MjRiMzY3MmZkMDc4Ni4uZTYzNWI0MDc1YWJhYTgz
NGVkMmIyOGM4YjNmN2EyYjFmZGI3YTcwNCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9jb21tb24vY2hlY2tvdXQvc2NtL2RldGVjdGlvbi5weQorKysgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9zY20vZGV0ZWN0aW9uLnB5CkBAIC0yNywxNCArMjcs
MTYgQEAKICMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKK2ltcG9ydCBsb2dnaW5nCisK
IGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5maWxlc3lzdGVtIGltcG9ydCBGaWxlU3lzdGVt
CiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZXhlY3V0aXZlIGltcG9ydCBFeGVjdXRpdmUK
IAotZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLmRlcHJlY2F0ZWRfbG9nZ2luZyBpbXBvcnQg
bG9nCi0KIGZyb20gLnN2biBpbXBvcnQgU1ZOCiBmcm9tIC5naXQgaW1wb3J0IEdpdAogCitfbG9n
ID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pCisKIAogY2xhc3MgU0NNRGV0ZWN0b3Iob2Jq
ZWN0KToKICAgICBkZWYgX19pbml0X18oc2VsZiwgZmlsZXN5c3RlbSwgZXhlY3V0aXZlKToKQEAg
LTU1LDcgKzU3LDcgQEAgY2xhc3MgU0NNRGV0ZWN0b3Iob2JqZWN0KToKICAgICAgICAgICAgIHNj
cmlwdF9kaXJlY3RvcnkgPSBzZWxmLl9maWxlc3lzdGVtLmRpcm5hbWUoc2VsZi5fZmlsZXN5c3Rl
bS5wYXRoX3RvX21vZHVsZShzZWxmLl9fbW9kdWxlX18pKQogICAgICAgICAgICAgc2NtX3N5c3Rl
bSA9IHNlbGYuZGV0ZWN0X3NjbV9zeXN0ZW0oc2NyaXB0X2RpcmVjdG9yeSwgcGF0Y2hfZGlyZWN0
b3JpZXMpCiAgICAgICAgICAgICBpZiBzY21fc3lzdGVtOgotICAgICAgICAgICAgICAgIGxvZygi
VGhlIGN1cnJlbnQgZGlyZWN0b3J5ICglcykgaXMgbm90IGEgV2ViS2l0IGNoZWNrb3V0LCB1c2lu
ZyAlcyIgJSAoY3dkLCBzY21fc3lzdGVtLmNoZWNrb3V0X3Jvb3QpKQorICAgICAgICAgICAgICAg
IF9sb2cuaW5mbygiVGhlIGN1cnJlbnQgZGlyZWN0b3J5ICglcykgaXMgbm90IGEgV2ViS2l0IGNo
ZWNrb3V0LCB1c2luZyAlcyIgJSAoY3dkLCBzY21fc3lzdGVtLmNoZWNrb3V0X3Jvb3QpKQogICAg
ICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIkZBVEFMOiBG
YWlsZWQgdG8gZGV0ZXJtaW5lIHRoZSBTQ00gc3lzdGVtIGZvciBlaXRoZXIgJXMgb3IgJXMiICUg
KGN3ZCwgc2NyaXB0X2RpcmVjdG9yeSkpCiAgICAgICAgIHJldHVybiBzY21fc3lzdGVtCmRpZmYg
LS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9zY20vZGV0ZWN0
aW9uX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQv
c2NtL2RldGVjdGlvbl91bml0dGVzdC5weQppbmRleCBlY2Q5MTI1OWYyZmE1ZWFmMDY3NWViNTg4
YjA1MWNmNjNiOWUyMmQ5Li4xZDc0ODQ4MjZkMGE2MjQ3MzU1ODVhMTA4MzExY2Q0NzRkYTYxOGMz
IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9zY20v
ZGV0ZWN0aW9uX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9u
L2NoZWNrb3V0L3NjbS9kZXRlY3Rpb25fdW5pdHRlc3QucHkKQEAgLTQyLDcgKzQyLDcgQEAgY2xh
c3MgU0NNRGV0ZWN0b3JUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgZXhlY3V0aXZl
ID0gTW9ja0V4ZWN1dGl2ZShzaG91bGRfbG9nPVRydWUpCiAgICAgICAgIGRldGVjdG9yID0gU0NN
RGV0ZWN0b3IoZmlsZXN5c3RlbSwgZXhlY3V0aXZlKQogCi0gICAgICAgIGV4cGVjdGVkX3N0ZGVy
ciA9ICJNT0NLIHJ1bl9jb21tYW5kOiBbJ3N2bicsICdpbmZvJ10sIGN3ZD0vXG5NT0NLIHJ1bl9j
b21tYW5kOiBbJ2dpdCcsICdyZXYtcGFyc2UnLCAnLS1pcy1pbnNpZGUtd29yay10cmVlJ10sIGN3
ZD0vXG4iCi0gICAgICAgIHNjbSA9IE91dHB1dENhcHR1cmUoKS5hc3NlcnRfb3V0cHV0cyhzZWxm
LCBkZXRlY3Rvci5kZXRlY3Rfc2NtX3N5c3RlbSwgWyIvIl0sIGV4cGVjdGVkX3N0ZGVycj1leHBl
Y3RlZF9zdGRlcnIpCisgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAiTU9DSyBydW5fY29tbWFuZDog
Wydzdm4nLCAnaW5mbyddLCBjd2Q9L1xuTU9DSyBydW5fY29tbWFuZDogWydnaXQnLCAncmV2LXBh
cnNlJywgJy0taXMtaW5zaWRlLXdvcmstdHJlZSddLCBjd2Q9L1xuIgorICAgICAgICBzY20gPSBP
dXRwdXRDYXB0dXJlKCkuYXNzZXJ0X291dHB1dHMoc2VsZiwgZGV0ZWN0b3IuZGV0ZWN0X3NjbV9z
eXN0ZW0sIFsiLyJdLCBleHBlY3RlZF9sb2dzPWV4cGVjdGVkX2xvZ3MpCiAgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwoc2NtLCBOb25lKQogICAgICAgICAjIEZJWE1FOiBUaGlzIHNob3VsZCBtYWtl
IGEgc3ludGhldGljIHRyZWUgYW5kIHRlc3QgU1ZOIGFuZCBHaXQgZGV0ZWN0aW9uIGluIHRoYXQg
dHJlZS4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0
L3NjbS9naXQucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9zY20v
Z2l0LnB5CmluZGV4IGY2ODgyMzg3MWZmNGY3NjZkNjQwYjM2NThiNzcxMzIyZTdhN2ZjMzkuLjYz
MTMyNTZkOGM0NWFiN2Y3YTdhMWI5OGNkNzIwNjYxMTcxZjY2OGUgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L3NjbS9naXQucHkKKysrIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvc2NtL2dpdC5weQpAQCAtMzIsMTQgKzMy
LDEyIEBAIGltcG9ydCBvcwogaW1wb3J0IHJlCiAKIGZyb20gd2Via2l0cHkuY29tbW9uLm1lbW9p
emVkIGltcG9ydCBtZW1vaXplZAotZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLmRlcHJlY2F0
ZWRfbG9nZ2luZyBpbXBvcnQgbG9nCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZXhlY3V0
aXZlIGltcG9ydCBFeGVjdXRpdmUsIFNjcmlwdEVycm9yCiAKIGZyb20gLmNvbW1pdG1lc3NhZ2Ug
aW1wb3J0IENvbW1pdE1lc3NhZ2UKIGZyb20gLnNjbSBpbXBvcnQgQXV0aGVudGljYXRpb25FcnJv
ciwgU0NNLCBjb21taXRfZXJyb3JfaGFuZGxlcgogZnJvbSAuc3ZuIGltcG9ydCBTVk4sIFNWTlJl
cG9zaXRvcnkKIAotCiBfbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pCiAKIApAQCAt
OTYsNyArOTQsNyBAQCBjbGFzcyBHaXQoU0NNLCBTVk5SZXBvc2l0b3J5KToKICAgICAgICAgICAg
IHJldHVybgogCiAgICAgICAgIHdlYmtpdF9kZXZfdGhyZWFkX3VybCA9ICJodHRwczovL2xpc3Rz
LndlYmtpdC5vcmcvcGlwZXJtYWlsL3dlYmtpdC1kZXYvMjAxMC1EZWNlbWJlci8wMTUyODcuaHRt
bCIKLSAgICAgICAgbG9nKCJXYXJuaW5nOiBUaGlzIG1hY2hpbmUgaXMgNjQtYml0LCBidXQgdGhl
IGdpdCBiaW5hcnkgKCVzKSBkb2VzIG5vdCBzdXBwb3J0IDY0LWJpdC5cbkluc3RhbGwgYSA2NC1i
aXQgZ2l0IGZvciBiZXR0ZXIgcGVyZm9ybWFuY2UsIHNlZTpcbiVzXG4iICUgKGdpdF9wYXRoLCB3
ZWJraXRfZGV2X3RocmVhZF91cmwpKQorICAgICAgICBfbG9nLndhcm5pbmcoIlRoaXMgbWFjaGlu
ZSBpcyA2NC1iaXQsIGJ1dCB0aGUgZ2l0IGJpbmFyeSAoJXMpIGRvZXMgbm90IHN1cHBvcnQgNjQt
Yml0LlxuSW5zdGFsbCBhIDY0LWJpdCBnaXQgZm9yIGJldHRlciBwZXJmb3JtYW5jZSwgc2VlOlxu
JXNcbiIgJSAoZ2l0X3BhdGgsIHdlYmtpdF9kZXZfdGhyZWFkX3VybCkpCiAKICAgICBkZWYgX3J1
bl9naXQoc2VsZiwgY29tbWFuZF9hcmdzLCAqKmt3YXJncyk6CiAgICAgICAgIGZ1bGxfY29tbWFu
ZF9hcmdzID0gW3NlbGYuZXhlY3V0YWJsZV9uYW1lXSArIGNvbW1hbmRfYXJncwpAQCAtNDAzLDcg
KzQwMSw3IEBAIGNsYXNzIEdpdChTQ00sIFNWTlJlcG9zaXRvcnkpOgogICAgICAgICAgICAgc2Vs
Zi5fcnVuX2dpdChbJ2NvbW1pdCcsICctbScsIG1lc3NhZ2VdKQogICAgICAgICAgICAgb3V0cHV0
ID0gc2VsZi5wdXNoX2xvY2FsX2NvbW1pdHNfdG9fc2VydmVyKHVzZXJuYW1lPXVzZXJuYW1lLCBw
YXNzd29yZD1wYXNzd29yZCkKICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiwgZToKLSAgICAgICAg
ICAgIGxvZygiQ09NTUlUIEZBSUxFRDogIiArIHN0cihlKSkKKyAgICAgICAgICAgIF9sb2cud2Fy
bmluZygiQ09NTUlUIEZBSUxFRDogIiArIHN0cihlKSkKICAgICAgICAgICAgIG91dHB1dCA9ICJD
b21taXQgZmFpbGVkLiIKICAgICAgICAgICAgIGNvbW1pdF9zdWNjZWVkZWQgPSBGYWxzZQogICAg
ICAgICBmaW5hbGx5OgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24v
Y2hlY2tvdXQvc2NtL3NjbS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNr
b3V0L3NjbS9zY20ucHkKaW5kZXggZWU2M2I3MTMwMTJkODhkZGYzMmMzYzM2ZWY4OWY1ZTZlZTli
MzhjNi4uN2Q2ZTE4MDRkM2EzODU0NzU3ZDc2Y2QwZGU2NzBiZDQ2ZjZjNWZlMCAxMDA2NDQKLS0t
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvc2NtL3NjbS5weQorKysg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9zY20vc2NtLnB5CkBAIC0z
MSwxMSArMzEsMTMgQEAKIAogaW1wb3J0IGxvZ2dpbmcKIGltcG9ydCByZQoraW1wb3J0IHN5cwog
Ci1mcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZGVwcmVjYXRlZF9sb2dnaW5nIGltcG9ydCBl
cnJvciwgbG9nCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZXhlY3V0aXZlIGltcG9ydCBF
eGVjdXRpdmUsIFNjcmlwdEVycm9yCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZmlsZXN5
c3RlbSBpbXBvcnQgRmlsZVN5c3RlbQogCitfbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1l
X18pCisKIAogY2xhc3MgQ2hlY2tvdXROZWVkc1VwZGF0ZShTY3JpcHRFcnJvcik6CiAgICAgZGVm
IF9faW5pdF9fKHNlbGYsIHNjcmlwdF9hcmdzLCBleGl0X2NvZGUsIG91dHB1dCwgY3dkKToKQEAg
LTk0LDcgKzk2LDcgQEAgY2xhc3MgU0NNOgogICAgICAgICBpZiBub3QgZm9yY2VfY2xlYW46CiAg
ICAgICAgICAgICBwcmludCBzZWxmLnJ1bihzZWxmLnN0YXR1c19jb21tYW5kKCksIGVycm9yX2hh
bmRsZXI9RXhlY3V0aXZlLmlnbm9yZV9lcnJvciwgY3dkPXNlbGYuY2hlY2tvdXRfcm9vdCkKICAg
ICAgICAgICAgIHJhaXNlIFNjcmlwdEVycm9yKG1lc3NhZ2U9IldvcmtpbmcgZGlyZWN0b3J5IGhh
cyBtb2RpZmljYXRpb25zLCBwYXNzIC0tZm9yY2UtY2xlYW4gb3IgLS1uby1jbGVhbiB0byBjb250
aW51ZS4iKQotICAgICAgICBsb2coIkNsZWFuaW5nIHdvcmtpbmcgZGlyZWN0b3J5IikKKyAgICAg
ICAgX2xvZy5pbmZvKCJDbGVhbmluZyB3b3JraW5nIGRpcmVjdG9yeSIpCiAgICAgICAgIHNlbGYu
Y2xlYW5fd29ya2luZ19kaXJlY3RvcnkoKQogCiAgICAgZGVmIGVuc3VyZV9ub19sb2NhbF9jb21t
aXRzKHNlbGYsIGZvcmNlKToKQEAgLTEwNCw3ICsxMDYsOCBAQCBjbGFzcyBTQ006CiAgICAgICAg
IGlmIG5vdCBsZW4oY29tbWl0cyk6CiAgICAgICAgICAgICByZXR1cm4KICAgICAgICAgaWYgbm90
IGZvcmNlOgotICAgICAgICAgICAgZXJyb3IoIldvcmtpbmcgZGlyZWN0b3J5IGhhcyBsb2NhbCBj
b21taXRzLCBwYXNzIC0tZm9yY2UtY2xlYW4gdG8gY29udGludWUuIikKKyAgICAgICAgICAgIF9s
b2cuZXJyb3IoIldvcmtpbmcgZGlyZWN0b3J5IGhhcyBsb2NhbCBjb21taXRzLCBwYXNzIC0tZm9y
Y2UtY2xlYW4gdG8gY29udGludWUuIikKKyAgICAgICAgICAgIHN5cy5leGl0KDEpCiAgICAgICAg
IHNlbGYuZGlzY2FyZF9sb2NhbF9jb21taXRzKCkKIAogICAgIGRlZiBydW5fc3RhdHVzX2FuZF9l
eHRyYWN0X2ZpbGVuYW1lcyhzZWxmLCBzdGF0dXNfY29tbWFuZCwgc3RhdHVzX3JlZ2V4cCk6CkBA
IC0yMzgsNyArMjQxLDggQEAgY2xhc3MgU0NNOgogICAgICAgICBTQ00uX3N1YmNsYXNzX211c3Rf
aW1wbGVtZW50KCkKIAogICAgIGRlZiBjb21taXRfbG9jYWxseV93aXRoX21lc3NhZ2Uoc2VsZiwg
bWVzc2FnZSk6Ci0gICAgICAgIGVycm9yKCJZb3VyIHNvdXJjZSBjb250cm9sIG1hbmFnZXIgZG9l
cyBub3Qgc3VwcG9ydCBsb2NhbCBjb21taXRzLiIpCisgICAgICAgIF9sb2cuZXJyb3IoIllvdXIg
c291cmNlIGNvbnRyb2wgbWFuYWdlciBkb2VzIG5vdCBzdXBwb3J0IGxvY2FsIGNvbW1pdHMuIikK
KyAgICAgICAgc3lzLmV4aXQoMSkKIAogICAgIGRlZiBkaXNjYXJkX2xvY2FsX2NvbW1pdHMoc2Vs
Zik6CiAgICAgICAgIHBhc3MKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29t
bW9uL2NoZWNrb3V0L3NjbS9zdm4ucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9j
aGVja291dC9zY20vc3ZuLnB5CmluZGV4IDExMmJlMDU3ZDVkMDIxM2U3YzhjOTMyMGU2Y2NjODBk
YWZjNGUwZDIuLjEzMjNiNzAyYzFiZThkNTE2N2JhODZkMDFkYjNiYjU1OGM3ZDE0ZGUgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L3NjbS9zdm4ucHkK
KysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvc2NtL3N2bi5weQpA
QCAtMzUsMTIgKzM1LDEwIEBAIGltcG9ydCBzeXMKIGltcG9ydCB0ZW1wZmlsZQogCiBmcm9tIHdl
YmtpdHB5LmNvbW1vbi5tZW1vaXplZCBpbXBvcnQgbWVtb2l6ZWQKLWZyb20gd2Via2l0cHkuY29t
bW9uLnN5c3RlbS5kZXByZWNhdGVkX2xvZ2dpbmcgaW1wb3J0IGxvZwogZnJvbSB3ZWJraXRweS5j
b21tb24uc3lzdGVtLmV4ZWN1dGl2ZSBpbXBvcnQgRXhlY3V0aXZlLCBTY3JpcHRFcnJvcgogCiBm
cm9tIC5zY20gaW1wb3J0IEF1dGhlbnRpY2F0aW9uRXJyb3IsIFNDTSwgY29tbWl0X2Vycm9yX2hh
bmRsZXIKIAotCiBfbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pCiAKIApAQCAtMzEx
LDggKzMwOSw4IEBAIGNsYXNzIFNWTihTQ00sIFNWTlJlcG9zaXRvcnkpOgogICAgIGRlZiBhcHBs
eV9yZXZlcnNlX2RpZmYoc2VsZiwgcmV2aXNpb24pOgogICAgICAgICAjICctYyAtcmV2aXNpb24n
IGFwcGxpZXMgdGhlIGludmVyc2UgZGlmZiBvZiAncmV2aXNpb24nCiAgICAgICAgIHN2bl9tZXJn
ZV9hcmdzID0gWydtZXJnZScsICctLW5vbi1pbnRlcmFjdGl2ZScsICctYycsICctJXMnICUgcmV2
aXNpb24sIHNlbGYuX3JlcG9zaXRvcnlfdXJsKCldCi0gICAgICAgIGxvZygiV0FSTklORzogc3Zu
IG1lcmdlIGhhcyBiZWVuIGtub3duIHRvIHRha2UgbW9yZSB0aGFuIDEwIG1pbnV0ZXMgdG8gY29t
cGxldGUuICBJdCBpcyByZWNvbW1lbmRlZCB5b3UgdXNlIGdpdCBmb3Igcm9sbG91dHMuIikKLSAg
ICAgICAgbG9nKCJSdW5uaW5nICdzdm4gJXMnIiAlICIgIi5qb2luKHN2bl9tZXJnZV9hcmdzKSkK
KyAgICAgICAgX2xvZy53YXJuaW5nKCJzdm4gbWVyZ2UgaGFzIGJlZW4ga25vd24gdG8gdGFrZSBt
b3JlIHRoYW4gMTAgbWludXRlcyB0byBjb21wbGV0ZS4gIEl0IGlzIHJlY29tbWVuZGVkIHlvdSB1
c2UgZ2l0IGZvciByb2xsb3V0cy4iKQorICAgICAgICBfbG9nLmRlYnVnKCJSdW5uaW5nICdzdm4g
JXMnIiAlICIgIi5qb2luKHN2bl9tZXJnZV9hcmdzKSkKICAgICAgICAgIyBGSVhNRTogU2hvdWxk
IHRoaXMgdXNlIGN3ZD1zZWxmLmNoZWNrb3V0X3Jvb3Q/CiAgICAgICAgIHNlbGYuX3J1bl9zdm4o
c3ZuX21lcmdlX2FyZ3MpCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29t
bW9uL25ldC9idWd6aWxsYS9hdHRhY2htZW50LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9j
b21tb24vbmV0L2J1Z3ppbGxhL2F0dGFjaG1lbnQucHkKaW5kZXggNmUxMGQ2NWE5NTIxN2I2ODI5
N2Y0ODFmNmUwZjVmM2IzOWUwMzZjNy4uYzc0OWExNTEyZDc2YWY3MzEzNTQ2YzczMmY3Y2E3MTVm
MGJjY2Q4NiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L2J1
Z3ppbGxhL2F0dGFjaG1lbnQucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24v
bmV0L2J1Z3ppbGxhL2F0dGFjaG1lbnQucHkKQEAgLTI4LDggKzI4LDExIEBACiAjIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgogCitpbXBvcnQgbG9nZ2luZworCiBmcm9tIHdlYmtpdHB5LmNv
bW1vbi5tZW1vaXplZCBpbXBvcnQgbWVtb2l6ZWQKLWZyb20gd2Via2l0cHkuY29tbW9uLnN5c3Rl
bS5kZXByZWNhdGVkX2xvZ2dpbmcgaW1wb3J0IGxvZworCitfbG9nID0gbG9nZ2luZy5nZXRMb2dn
ZXIoX19uYW1lX18pCiAKIAogY2xhc3MgQXR0YWNobWVudChvYmplY3QpOgpAQCAtMTAyLDcgKzEw
NSw3IEBAIGNsYXNzIEF0dGFjaG1lbnQob2JqZWN0KToKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiJXNfYnlfZW1haWwiICUgZmxhZykoZW1haWwpCiAgICAgICAgIGlmIGNvbW1pdHRlcjoK
ICAgICAgICAgICAgIHJldHVybiBjb21taXR0ZXIKLSAgICAgICAgbG9nKCJXYXJuaW5nLCBhdHRh
Y2htZW50ICVzIG9uIGJ1ZyAlcyBoYXMgaW52YWxpZCAlcyAoJXMpIiAlICgKKyAgICAgICAgX2xv
Zy53YXJuaW5nKCJXYXJuaW5nLCBhdHRhY2htZW50ICVzIG9uIGJ1ZyAlcyBoYXMgaW52YWxpZCAl
cyAoJXMpIiAlICgKICAgICAgICAgICAgICAgICAgc2VsZi5fYXR0YWNobWVudF9kaWN0aW9uYXJ5
WydpZCddLAogICAgICAgICAgICAgICAgICBzZWxmLl9hdHRhY2htZW50X2RpY3Rpb25hcnlbJ2J1
Z19pZCddLCBmbGFnLCBlbWFpbCkpCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvY29tbW9uL25ldC9idWd6aWxsYS9idWd6aWxsYS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvY29tbW9uL25ldC9idWd6aWxsYS9idWd6aWxsYS5weQppbmRleCA2NTFlMWIzNzQzNDY4ODVm
MGM4YzJhODQzN2I5NGJjYmU4OTI4MTk3Li45NTdmMDRkY2FkYTZiYjAwMGYxZDJhYTUwZTE0ZTBi
MGQ3ZjBiYjNlIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQv
YnVnemlsbGEvYnVnemlsbGEucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24v
bmV0L2J1Z3ppbGxhL2J1Z3ppbGxhLnB5CkBAIC0zMCw2ICszMCw3IEBACiAjCiAjIFdlYktpdCdz
IFB5dGhvbiBtb2R1bGUgZm9yIGludGVyYWN0aW5nIHdpdGggQnVnemlsbGEKIAoraW1wb3J0IGxv
Z2dpbmcKIGltcG9ydCBtaW1ldHlwZXMKIGltcG9ydCByZQogaW1wb3J0IFN0cmluZ0lPCkBAIC00
MSwxMyArNDIsMTQgQEAgZnJvbSBkYXRldGltZSBpbXBvcnQgZGF0ZXRpbWUgIyB1c2VkIGluIHRp
bWVzdGFtcCgpCiBmcm9tIC5hdHRhY2htZW50IGltcG9ydCBBdHRhY2htZW50CiBmcm9tIC5idWcg
aW1wb3J0IEJ1ZwogCi1mcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZGVwcmVjYXRlZF9sb2dn
aW5nIGltcG9ydCBsb2cKIGZyb20gd2Via2l0cHkuY29tbW9uLmNvbmZpZyBpbXBvcnQgY29tbWl0
dGVycwogaW1wb3J0IHdlYmtpdHB5LmNvbW1vbi5jb25maWcudXJscyBhcyBjb25maWdfdXJscwog
ZnJvbSB3ZWJraXRweS5jb21tb24ubmV0LmNyZWRlbnRpYWxzIGltcG9ydCBDcmVkZW50aWFscwog
ZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLnVzZXIgaW1wb3J0IFVzZXIKIGZyb20gd2Via2l0
cHkudGhpcmRwYXJ0eS5CZWF1dGlmdWxTb3VwIGltcG9ydCBCZWF1dGlmdWxTb3VwLCBCZWF1dGlm
dWxTdG9uZVNvdXAsIFNvdXBTdHJhaW5lcgogCitfbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoX19u
YW1lX18pCisKIAogY2xhc3MgRWRpdFVzZXJzUGFyc2VyKG9iamVjdCk6CiAgICAgZGVmIF9faW5p
dF9fKHNlbGYpOgpAQCAtNDM1LDcgKzQzNyw3IEBAIGNsYXNzIEJ1Z3ppbGxhKG9iamVjdCk6CiAK
ICAgICBkZWYgX2ZldGNoX2J1Z19wYWdlKHNlbGYsIGJ1Z19pZCk6CiAgICAgICAgIGJ1Z191cmwg
PSBzZWxmLmJ1Z191cmxfZm9yX2J1Z19pZChidWdfaWQsIHhtbD1UcnVlKQotICAgICAgICBsb2co
IkZldGNoaW5nOiAlcyIgJSBidWdfdXJsKQorICAgICAgICBfbG9nLmluZm8oIkZldGNoaW5nOiAl
cyIgJSBidWdfdXJsKQogICAgICAgICByZXR1cm4gc2VsZi5icm93c2VyLm9wZW4oYnVnX3VybCkK
IAogICAgIGRlZiBmZXRjaF9idWdfZGljdGlvbmFyeShzZWxmLCBidWdfaWQpOgpAQCAtNDcyLDcg
KzQ3NCw3IEBAIGNsYXNzIEJ1Z3ppbGxhKG9iamVjdCk6CiAgICAgICAgIHNlbGYuYXV0aGVudGlj
YXRlKCkKIAogICAgICAgICBhdHRhY2htZW50X3VybCA9IHNlbGYuYXR0YWNobWVudF91cmxfZm9y
X2lkKGF0dGFjaG1lbnRfaWQsICdlZGl0JykKLSAgICAgICAgbG9nKCJGZXRjaGluZzogJXMiICUg
YXR0YWNobWVudF91cmwpCisgICAgICAgIF9sb2cuaW5mbygiRmV0Y2hpbmc6ICVzIiAlIGF0dGFj
aG1lbnRfdXJsKQogICAgICAgICBwYWdlID0gc2VsZi5icm93c2VyLm9wZW4oYXR0YWNobWVudF91
cmwpCiAgICAgICAgIHJldHVybiBzZWxmLl9wYXJzZV9idWdfaWRfZnJvbV9hdHRhY2htZW50X3Bh
Z2UocGFnZSkKIApAQCAtNTAzLDcgKzUwNSw3IEBAIGNsYXNzIEJ1Z3ppbGxhKG9iamVjdCk6CiAg
ICAgICAgICAgICBhdHRlbXB0cyArPSAxCiAgICAgICAgICAgICB1c2VybmFtZSwgcGFzc3dvcmQg
PSBjcmVkZW50aWFscy5yZWFkX2NyZWRlbnRpYWxzKCkKIAotICAgICAgICAgICAgbG9nKCJMb2dn
aW5nIGluIGFzICVzLi4uIiAlIHVzZXJuYW1lKQorICAgICAgICAgICAgX2xvZy5pbmZvKCJMb2dn
aW5nIGluIGFzICVzLi4uIiAlIHVzZXJuYW1lKQogICAgICAgICAgICAgc2VsZi5icm93c2VyLm9w
ZW4oY29uZmlnX3VybHMuYnVnX3NlcnZlcl91cmwgKwogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImluZGV4LmNnaT9Hb0FoZWFkQW5kTG9nSW49MSIpCiAgICAgICAgICAgICBzZWxmLmJy
b3dzZXIuc2VsZWN0X2Zvcm0obmFtZT0ibG9naW4iKQpAQCAtNTE5LDcgKzUyMSw3IEBAIGNsYXNz
IEJ1Z3ppbGxhKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgZXJyb3JNZXNzYWdlID0gIkJ1Z3pp
bGxhIGxvZ2luIGZhaWxlZDogJXMiICUgbWF0Y2guZ3JvdXAoMSkKICAgICAgICAgICAgICAgICAj
IHJhaXNlIGFuIGV4Y2VwdGlvbiBvbmx5IGlmIHRoaXMgd2FzIHRoZSBsYXN0IGF0dGVtcHQKICAg
ICAgICAgICAgICAgICBpZiBhdHRlbXB0cyA8IDU6Ci0gICAgICAgICAgICAgICAgICAgIGxvZyhl
cnJvck1lc3NhZ2UpCisgICAgICAgICAgICAgICAgICAgIF9sb2cuZXJyb3IoZXJyb3JNZXNzYWdl
KQogICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgIHJhaXNlIEV4Y2Vw
dGlvbihlcnJvck1lc3NhZ2UpCiAgICAgICAgICAgICBlbHNlOgpAQCAtNTMyLDEwICs1MzQsMTAg
QEAgY2xhc3MgQnVnemlsbGEob2JqZWN0KToKICAgICAgICAgICAgIHVzZXIgPSBzZWxmLmNvbW1p
dHRlcnMuYWNjb3VudF9ieV9lbWFpbChzZWxmLnVzZXJuYW1lKQogICAgICAgICAgICAgbWFya19m
b3JfY29tbWl0X3F1ZXVlID0gVHJ1ZQogICAgICAgICAgICAgaWYgbm90IHVzZXI6Ci0gICAgICAg
ICAgICAgICAgbG9nKCJZb3VyIEJ1Z3ppbGxhIGxvZ2luIGlzIG5vdCBsaXN0ZWQgaW4gY29tbWl0
dGVycy5weS4gVXBsb2FkaW5nIHdpdGggY3E/IGluc3RlYWQgb2YgY3ErIikKKyAgICAgICAgICAg
ICAgICBfbG9nLndhcm5pbmcoIllvdXIgQnVnemlsbGEgbG9naW4gaXMgbm90IGxpc3RlZCBpbiBj
b21taXR0ZXJzLnB5LiBVcGxvYWRpbmcgd2l0aCBjcT8gaW5zdGVhZCBvZiBjcSsiKQogICAgICAg
ICAgICAgICAgIG1hcmtfZm9yX2xhbmRpbmcgPSBGYWxzZQogICAgICAgICAgICAgZWxpZiBub3Qg
dXNlci5jYW5fY29tbWl0OgotICAgICAgICAgICAgICAgIGxvZygiWW91J3JlIG5vdCBhIGNvbW1p
dHRlciB5ZXQgb3IgaGF2ZW4ndCB1cGRhdGVkIGNvbW1pdHRlcnMucHkgeWV0LiBVcGxvYWRpbmcg
d2l0aCBjcT8gaW5zdGVhZCBvZiBjcSsiKQorICAgICAgICAgICAgICAgIF9sb2cud2FybmluZygi
WW91J3JlIG5vdCBhIGNvbW1pdHRlciB5ZXQgb3IgaGF2ZW4ndCB1cGRhdGVkIGNvbW1pdHRlcnMu
cHkgeWV0LiBVcGxvYWRpbmcgd2l0aCBjcT8gaW5zdGVhZCBvZiBjcSsiKQogICAgICAgICAgICAg
ICAgIG1hcmtfZm9yX2xhbmRpbmcgPSBGYWxzZQogCiAgICAgICAgIGlmIG1hcmtfZm9yX2xhbmRp
bmc6CkBAIC01ODUsMTQgKzU4NywxNCBAQCBjbGFzcyBCdWd6aWxsYShvYmplY3QpOgogCiAgICAg
ZGVmIGFkZF9hdHRhY2htZW50X3RvX2J1ZyhzZWxmLCBidWdfaWQsIGZpbGVfb3Jfc3RyaW5nLCBk
ZXNjcmlwdGlvbiwgZmlsZW5hbWU9Tm9uZSwgY29tbWVudF90ZXh0PU5vbmUsIG1pbWV0eXBlPU5v
bmUpOgogICAgICAgICBzZWxmLmF1dGhlbnRpY2F0ZSgpCi0gICAgICAgIGxvZygnQWRkaW5nIGF0
dGFjaG1lbnQgIiVzIiB0byAlcycgJSAoZGVzY3JpcHRpb24sIHNlbGYuYnVnX3VybF9mb3JfYnVn
X2lkKGJ1Z19pZCkpKQorICAgICAgICBfbG9nLmluZm8oJ0FkZGluZyBhdHRhY2htZW50ICIlcyIg
dG8gJXMnICUgKGRlc2NyaXB0aW9uLCBzZWxmLmJ1Z191cmxfZm9yX2J1Z19pZChidWdfaWQpKSkK
ICAgICAgICAgc2VsZi5icm93c2VyLm9wZW4oc2VsZi5hZGRfYXR0YWNobWVudF91cmwoYnVnX2lk
KSkKICAgICAgICAgc2VsZi5icm93c2VyLnNlbGVjdF9mb3JtKG5hbWU9ImVudHJ5Zm9ybSIpCiAg
ICAgICAgIGZpbGVfb2JqZWN0ID0gc2VsZi5fZmlsZV9vYmplY3RfZm9yX3VwbG9hZChmaWxlX29y
X3N0cmluZykKICAgICAgICAgZmlsZW5hbWUgPSBmaWxlbmFtZSBvciBzZWxmLl9maWxlbmFtZV9m
b3JfdXBsb2FkKGZpbGVfb2JqZWN0LCBidWdfaWQpCiAgICAgICAgIHNlbGYuX2ZpbGxfYXR0YWNo
bWVudF9mb3JtKGRlc2NyaXB0aW9uLCBmaWxlX29iamVjdCwgZmlsZW5hbWU9ZmlsZW5hbWUsIG1p
bWV0eXBlPW1pbWV0eXBlKQogICAgICAgICBpZiBjb21tZW50X3RleHQ6Ci0gICAgICAgICAgICBs
b2coY29tbWVudF90ZXh0KQorICAgICAgICAgICAgX2xvZy5pbmZvKGNvbW1lbnRfdGV4dCkKICAg
ICAgICAgICAgIHNlbGYuYnJvd3NlclsnY29tbWVudCddID0gY29tbWVudF90ZXh0CiAgICAgICAg
IHNlbGYuYnJvd3Nlci5zdWJtaXQoKQogCkBAIC02MDcsNyArNjA5LDcgQEAgY2xhc3MgQnVnemls
bGEob2JqZWN0KToKICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJrX2Zvcl9jb21taXRfcXVl
dWU9RmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgbWFya19mb3JfbGFuZGluZz1GYWxz
ZSk6CiAgICAgICAgIHNlbGYuYXV0aGVudGljYXRlKCkKLSAgICAgICAgbG9nKCdBZGRpbmcgcGF0
Y2ggIiVzIiB0byAlcycgJSAoZGVzY3JpcHRpb24sIHNlbGYuYnVnX3VybF9mb3JfYnVnX2lkKGJ1
Z19pZCkpKQorICAgICAgICBfbG9nLmluZm8oJ0FkZGluZyBwYXRjaCAiJXMiIHRvICVzJyAlIChk
ZXNjcmlwdGlvbiwgc2VsZi5idWdfdXJsX2Zvcl9idWdfaWQoYnVnX2lkKSkpCiAKICAgICAgICAg
c2VsZi5icm93c2VyLm9wZW4oc2VsZi5hZGRfYXR0YWNobWVudF91cmwoYnVnX2lkKSkKICAgICAg
ICAgc2VsZi5icm93c2VyLnNlbGVjdF9mb3JtKG5hbWU9ImVudHJ5Zm9ybSIpCkBAIC02MjEsNyAr
NjIzLDcgQEAgY2xhc3MgQnVnemlsbGEob2JqZWN0KToKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaXNfcGF0Y2g9VHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZmlsZW5hbWU9ZmlsZW5hbWUpCiAgICAgICAgIGlmIGNvbW1lbnRfdGV4dDoKLSAgICAg
ICAgICAgIGxvZyhjb21tZW50X3RleHQpCisgICAgICAgICAgICBfbG9nLmluZm8oY29tbWVudF90
ZXh0KQogICAgICAgICAgICAgc2VsZi5icm93c2VyWydjb21tZW50J10gPSBjb21tZW50X3RleHQK
ICAgICAgICAgc2VsZi5icm93c2VyLnN1Ym1pdCgpCiAKQEAgLTY1OCw3ICs2NjAsNyBAQCBjbGFz
cyBCdWd6aWxsYShvYmplY3QpOgogICAgICAgICAgICAgICAgICAgIG1hcmtfZm9yX2NvbW1pdF9x
dWV1ZT1GYWxzZSk6CiAgICAgICAgIHNlbGYuYXV0aGVudGljYXRlKCkKIAotICAgICAgICBsb2co
J0NyZWF0aW5nIGJ1ZyB3aXRoIHRpdGxlICIlcyInICUgYnVnX3RpdGxlKQorICAgICAgICBfbG9n
LmluZm8oJ0NyZWF0aW5nIGJ1ZyB3aXRoIHRpdGxlICIlcyInICUgYnVnX3RpdGxlKQogICAgICAg
ICBzZWxmLmJyb3dzZXIub3Blbihjb25maWdfdXJscy5idWdfc2VydmVyX3VybCArICJlbnRlcl9i
dWcuY2dpP3Byb2R1Y3Q9V2ViS2l0IikKICAgICAgICAgc2VsZi5icm93c2VyLnNlbGVjdF9mb3Jt
KG5hbWU9IkNyZWF0ZSIpCiAgICAgICAgIGNvbXBvbmVudF9pdGVtcyA9IHNlbGYuYnJvd3Nlci5m
aW5kX2NvbnRyb2woJ2NvbXBvbmVudCcpLml0ZW1zCkBAIC02OTQsOCArNjk2LDggQEAgY2xhc3Mg
QnVnemlsbGEob2JqZWN0KToKICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLmJyb3dzZXIuc3VibWl0
KCkKIAogICAgICAgICBidWdfaWQgPSBzZWxmLl9jaGVja19jcmVhdGVfYnVnX3Jlc3BvbnNlKHJl
c3BvbnNlLnJlYWQoKSkKLSAgICAgICAgbG9nKCJCdWcgJXMgY3JlYXRlZC4iICUgYnVnX2lkKQot
ICAgICAgICBsb2coIiVzc2hvd19idWcuY2dpP2lkPSVzIiAlIChjb25maWdfdXJscy5idWdfc2Vy
dmVyX3VybCwgYnVnX2lkKSkKKyAgICAgICAgX2xvZy5pbmZvKCJCdWcgJXMgY3JlYXRlZC4iICUg
YnVnX2lkKQorICAgICAgICBfbG9nLmluZm8oIiVzc2hvd19idWcuY2dpP2lkPSVzIiAlIChjb25m
aWdfdXJscy5idWdfc2VydmVyX3VybCwgYnVnX2lkKSkKICAgICAgICAgcmV0dXJuIGJ1Z19pZAog
CiAgICAgZGVmIF9maW5kX3NlbGVjdF9lbGVtZW50X2Zvcl9mbGFnKHNlbGYsIGZsYWdfbmFtZSk6
CkBAIC03MTQsNyArNzE2LDcgQEAgY2xhc3MgQnVnemlsbGEob2JqZWN0KToKICAgICAgICAgY29t
bWVudF90ZXh0ID0gIkNsZWFyaW5nIGZsYWdzIG9uIGF0dGFjaG1lbnQ6ICVzIiAlIGF0dGFjaG1l
bnRfaWQKICAgICAgICAgaWYgYWRkaXRpb25hbF9jb21tZW50X3RleHQ6CiAgICAgICAgICAgICBj
b21tZW50X3RleHQgKz0gIlxuXG4lcyIgJSBhZGRpdGlvbmFsX2NvbW1lbnRfdGV4dAotICAgICAg
ICBsb2coY29tbWVudF90ZXh0KQorICAgICAgICBfbG9nLmluZm8oY29tbWVudF90ZXh0KQogCiAg
ICAgICAgIHNlbGYuYnJvd3Nlci5vcGVuKHNlbGYuYXR0YWNobWVudF91cmxfZm9yX2lkKGF0dGFj
aG1lbnRfaWQsICdlZGl0JykpCiAgICAgICAgIHNlbGYuYnJvd3Nlci5zZWxlY3RfZm9ybShucj0x
KQpAQCAtNzM3LDcgKzczOSw3IEBAIGNsYXNzIEJ1Z3ppbGxhKG9iamVjdCk6CiAgICAgICAgICMg
RklYTUU6IGFkZGl0aW9uYWxfY29tbWVudF90ZXh0IHNlZW1zIHVzZWxlc3MgYW5kIHNob3VsZCBi
ZSBtZXJnZWQgaW50byBjb21tZW50LXRleHQuCiAgICAgICAgIGlmIGFkZGl0aW9uYWxfY29tbWVu
dF90ZXh0OgogICAgICAgICAgICAgY29tbWVudF90ZXh0ICs9ICJcblxuJXMiICUgYWRkaXRpb25h
bF9jb21tZW50X3RleHQKLSAgICAgICAgbG9nKGNvbW1lbnRfdGV4dCkKKyAgICAgICAgX2xvZy5p
bmZvKGNvbW1lbnRfdGV4dCkKIAogICAgICAgICBzZWxmLmJyb3dzZXIub3BlbihzZWxmLmF0dGFj
aG1lbnRfdXJsX2Zvcl9pZChhdHRhY2htZW50X2lkLCAnZWRpdCcpKQogICAgICAgICBzZWxmLmJy
b3dzZXIuc2VsZWN0X2Zvcm0obnI9MSkKQEAgLTc1NCw3ICs3NTYsNyBAQCBjbGFzcyBCdWd6aWxs
YShvYmplY3QpOgogICAgIGRlZiBvYnNvbGV0ZV9hdHRhY2htZW50KHNlbGYsIGF0dGFjaG1lbnRf
aWQsIGNvbW1lbnRfdGV4dD1Ob25lKToKICAgICAgICAgc2VsZi5hdXRoZW50aWNhdGUoKQogCi0g
ICAgICAgIGxvZygiT2Jzb2xldGluZyBhdHRhY2htZW50OiAlcyIgJSBhdHRhY2htZW50X2lkKQor
ICAgICAgICBfbG9nLmluZm8oIk9ic29sZXRpbmcgYXR0YWNobWVudDogJXMiICUgYXR0YWNobWVu
dF9pZCkKICAgICAgICAgc2VsZi5icm93c2VyLm9wZW4oc2VsZi5hdHRhY2htZW50X3VybF9mb3Jf
aWQoYXR0YWNobWVudF9pZCwgJ2VkaXQnKSkKICAgICAgICAgc2VsZi5icm93c2VyLnNlbGVjdF9m
b3JtKG5yPTEpCiAgICAgICAgIHNlbGYuYnJvd3Nlci5maW5kX2NvbnRyb2woJ2lzb2Jzb2xldGUn
KS5pdGVtc1swXS5zZWxlY3RlZCA9IFRydWUKQEAgLTc2Miw3ICs3NjQsNyBAQCBjbGFzcyBCdWd6
aWxsYShvYmplY3QpOgogICAgICAgICBzZWxmLl9maW5kX3NlbGVjdF9lbGVtZW50X2Zvcl9mbGFn
KCdyZXZpZXcnKS52YWx1ZSA9ICgiWCIsKQogICAgICAgICBzZWxmLl9maW5kX3NlbGVjdF9lbGVt
ZW50X2Zvcl9mbGFnKCdjb21taXQtcXVldWUnKS52YWx1ZSA9ICgiWCIsKQogICAgICAgICBpZiBj
b21tZW50X3RleHQ6Ci0gICAgICAgICAgICBsb2coY29tbWVudF90ZXh0KQorICAgICAgICAgICAg
X2xvZy5pbmZvKGNvbW1lbnRfdGV4dCkKICAgICAgICAgICAgICMgQnVnemlsbGEgaGFzIHR3byB0
ZXh0YXJlYXMgbmFtZWQgJ2NvbW1lbnQnLCBvbmUgaXMgc29tZWhvdwogICAgICAgICAgICAgIyBo
aWRkZW4uICBXZSB3YW50IHRoZSBmaXJzdC4KICAgICAgICAgICAgIHNlbGYuYnJvd3Nlci5zZXRf
dmFsdWUoY29tbWVudF90ZXh0LCBuYW1lPSdjb21tZW50JywgbnI9MCkKQEAgLTc3MSw3ICs3NzMs
NyBAQCBjbGFzcyBCdWd6aWxsYShvYmplY3QpOgogICAgIGRlZiBhZGRfY2NfdG9fYnVnKHNlbGYs
IGJ1Z19pZCwgZW1haWxfYWRkcmVzc19saXN0KToKICAgICAgICAgc2VsZi5hdXRoZW50aWNhdGUo
KQogCi0gICAgICAgIGxvZygiQWRkaW5nICVzIHRvIHRoZSBDQyBsaXN0IGZvciBidWcgJXMiICUg
KGVtYWlsX2FkZHJlc3NfbGlzdCwgYnVnX2lkKSkKKyAgICAgICAgX2xvZy5pbmZvKCJBZGRpbmcg
JXMgdG8gdGhlIENDIGxpc3QgZm9yIGJ1ZyAlcyIgJSAoZW1haWxfYWRkcmVzc19saXN0LCBidWdf
aWQpKQogICAgICAgICBzZWxmLmJyb3dzZXIub3BlbihzZWxmLmJ1Z191cmxfZm9yX2J1Z19pZChi
dWdfaWQpKQogICAgICAgICBzZWxmLmJyb3dzZXIuc2VsZWN0X2Zvcm0obmFtZT0iY2hhbmdlZm9y
bSIpCiAgICAgICAgIHNlbGYuYnJvd3NlclsibmV3Y2MiXSA9ICIsICIuam9pbihlbWFpbF9hZGRy
ZXNzX2xpc3QpCkBAIC03ODAsNyArNzgyLDcgQEAgY2xhc3MgQnVnemlsbGEob2JqZWN0KToKICAg
ICBkZWYgcG9zdF9jb21tZW50X3RvX2J1ZyhzZWxmLCBidWdfaWQsIGNvbW1lbnRfdGV4dCwgY2M9
Tm9uZSk6CiAgICAgICAgIHNlbGYuYXV0aGVudGljYXRlKCkKIAotICAgICAgICBsb2coIkFkZGlu
ZyBjb21tZW50IHRvIGJ1ZyAlcyIgJSBidWdfaWQpCisgICAgICAgIF9sb2cuaW5mbygiQWRkaW5n
IGNvbW1lbnQgdG8gYnVnICVzIiAlIGJ1Z19pZCkKICAgICAgICAgc2VsZi5icm93c2VyLm9wZW4o
c2VsZi5idWdfdXJsX2Zvcl9idWdfaWQoYnVnX2lkKSkKICAgICAgICAgc2VsZi5icm93c2VyLnNl
bGVjdF9mb3JtKG5hbWU9ImNoYW5nZWZvcm0iKQogICAgICAgICBzZWxmLmJyb3dzZXJbImNvbW1l
bnQiXSA9IGNvbW1lbnRfdGV4dApAQCAtNzkxLDcgKzc5Myw3IEBAIGNsYXNzIEJ1Z3ppbGxhKG9i
amVjdCk6CiAgICAgZGVmIGNsb3NlX2J1Z19hc19maXhlZChzZWxmLCBidWdfaWQsIGNvbW1lbnRf
dGV4dD1Ob25lKToKICAgICAgICAgc2VsZi5hdXRoZW50aWNhdGUoKQogCi0gICAgICAgIGxvZygi
Q2xvc2luZyBidWcgJXMgYXMgZml4ZWQiICUgYnVnX2lkKQorICAgICAgICBfbG9nLmluZm8oIkNs
b3NpbmcgYnVnICVzIGFzIGZpeGVkIiAlIGJ1Z19pZCkKICAgICAgICAgc2VsZi5icm93c2VyLm9w
ZW4oc2VsZi5idWdfdXJsX2Zvcl9idWdfaWQoYnVnX2lkKSkKICAgICAgICAgc2VsZi5icm93c2Vy
LnNlbGVjdF9mb3JtKG5hbWU9ImNoYW5nZWZvcm0iKQogICAgICAgICBpZiBjb21tZW50X3RleHQ6
CkBAIC04MDksMTIgKzgxMSwxMiBAQCBjbGFzcyBCdWd6aWxsYShvYmplY3QpOgogICAgICAgICBp
ZiBub3QgYXNzaWduZWU6CiAgICAgICAgICAgICBhc3NpZ25lZSA9IHNlbGYudXNlcm5hbWUKIAot
ICAgICAgICBsb2coIkFzc2lnbmluZyBidWcgJXMgdG8gJXMiICUgKGJ1Z19pZCwgYXNzaWduZWUp
KQorICAgICAgICBfbG9nLmluZm8oIkFzc2lnbmluZyBidWcgJXMgdG8gJXMiICUgKGJ1Z19pZCwg
YXNzaWduZWUpKQogICAgICAgICBzZWxmLmJyb3dzZXIub3BlbihzZWxmLmJ1Z191cmxfZm9yX2J1
Z19pZChidWdfaWQpKQogICAgICAgICBzZWxmLmJyb3dzZXIuc2VsZWN0X2Zvcm0obmFtZT0iY2hh
bmdlZm9ybSIpCiAKICAgICAgICAgaWYgbm90IHNlbGYuX2hhc19jb250cm9sKHNlbGYuYnJvd3Nl
ciwgImFzc2lnbmVkX3RvIik6Ci0gICAgICAgICAgICBsb2coIiIiRmFpbGVkIHRvIGFzc2lnbiBi
dWcgdG8geW91IChjYW4ndCBmaW5kIGFzc2lnbmVkX3RvKSBjb250cm9sLgorICAgICAgICAgICAg
X2xvZy53YXJuaW5nKCIiIkZhaWxlZCB0byBhc3NpZ24gYnVnIHRvIHlvdSAoY2FuJ3QgZmluZCBh
c3NpZ25lZF90bykgY29udHJvbC4KIERvIHlvdSBoYXZlIEVkaXRCdWdzIHByaXZpbGVnZXMgYXQg
YnVncy53ZWJraXQub3JnPwogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvdXNlcnByZWZzLmNnaT90
YWI9cGVybWlzc2lvbnMKIApAQCAtODIzLDcgKzgyNSw3IEBAIGZvciBzb21lb25lIHRvIGFkZCBF
ZGl0QnVncyB0byB5b3VyIGJ1Z3Mud2Via2l0Lm9yZyBhY2NvdW50LiIiIikKICAgICAgICAgICAg
IHJldHVybgogCiAgICAgICAgIGlmIGNvbW1lbnRfdGV4dDoKLSAgICAgICAgICAgIGxvZyhjb21t
ZW50X3RleHQpCisgICAgICAgICAgICBfbG9nLmluZm8oY29tbWVudF90ZXh0KQogICAgICAgICAg
ICAgc2VsZi5icm93c2VyWyJjb21tZW50Il0gPSBjb21tZW50X3RleHQKICAgICAgICAgc2VsZi5i
cm93c2VyWyJhc3NpZ25lZF90byJdID0gYXNzaWduZWUKICAgICAgICAgc2VsZi5icm93c2VyLnN1
Ym1pdCgpCkBAIC04MzEsMTAgKzgzMywxMCBAQCBmb3Igc29tZW9uZSB0byBhZGQgRWRpdEJ1Z3Mg
dG8geW91ciBidWdzLndlYmtpdC5vcmcgYWNjb3VudC4iIiIpCiAgICAgZGVmIHJlb3Blbl9idWco
c2VsZiwgYnVnX2lkLCBjb21tZW50X3RleHQpOgogICAgICAgICBzZWxmLmF1dGhlbnRpY2F0ZSgp
CiAKLSAgICAgICAgbG9nKCJSZS1vcGVuaW5nIGJ1ZyAlcyIgJSBidWdfaWQpCisgICAgICAgIF9s
b2cuaW5mbygiUmUtb3BlbmluZyBidWcgJXMiICUgYnVnX2lkKQogICAgICAgICAjIEJ1Z3ppbGxh
IHJlcXVpcmVzIGEgY29tbWVudCB3aGVuIHJlLW9wZW5pbmcgYSBidWcsIHNvIHdlIGtub3cgaXQg
d2lsbAogICAgICAgICAjIG5ldmVyIGJlIE5vbmUuCi0gICAgICAgIGxvZyhjb21tZW50X3RleHQp
CisgICAgICAgIF9sb2cuaW5mbyhjb21tZW50X3RleHQpCiAgICAgICAgIHNlbGYuYnJvd3Nlci5v
cGVuKHNlbGYuYnVnX3VybF9mb3JfYnVnX2lkKGJ1Z19pZCkpCiAgICAgICAgIHNlbGYuYnJvd3Nl
ci5zZWxlY3RfZm9ybShuYW1lPSJjaGFuZ2Vmb3JtIikKICAgICAgICAgYnVnX3N0YXR1cyA9IHNl
bGYuYnJvd3Nlci5maW5kX2NvbnRyb2woImJ1Z19zdGF0dXMiLCB0eXBlPSJzZWxlY3QiKQpAQCAt
ODUxLDYgKzg1Myw2IEBAIGZvciBzb21lb25lIHRvIGFkZCBFZGl0QnVncyB0byB5b3VyIGJ1Z3Mu
d2Via2l0Lm9yZyBhY2NvdW50LiIiIikKICAgICAgICAgZWxzZToKICAgICAgICAgICAgICMgRklY
TUU6IFRoaXMgbG9naWMgaXMgc2xpZ2h0bHkgYmFja3dhcmRzLiAgV2Ugd29uJ3QgcHJpbnQgdGhp
cwogICAgICAgICAgICAgIyBtZXNzYWdlIGlmIHRoZSBidWcgaXMgYWxyZWFkeSBvcGVuIHdpdGgg
c3RhdGUgIlVOQ09ORklSTUVEIi4KLSAgICAgICAgICAgIGxvZygiRGlkIG5vdCByZW9wZW4gYnVn
ICVzLCBpdCBhcHBlYXJzIHRvIGFscmVhZHkgYmUgb3BlbiB3aXRoIHN0YXR1cyAlcy4iICUgKGJ1
Z19pZCwgYnVnX3N0YXR1cy52YWx1ZSkpCisgICAgICAgICAgICBfbG9nLmluZm8oIkRpZCBub3Qg
cmVvcGVuIGJ1ZyAlcywgaXQgYXBwZWFycyB0byBhbHJlYWR5IGJlIG9wZW4gd2l0aCBzdGF0dXMg
JXMuIiAlIChidWdfaWQsIGJ1Z19zdGF0dXMudmFsdWUpKQogICAgICAgICBzZWxmLmJyb3dzZXJb
J2NvbW1lbnQnXSA9IGNvbW1lbnRfdGV4dAogICAgICAgICBzZWxmLmJyb3dzZXIuc3VibWl0KCkK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9idWd6aWxsYS9i
dWd6aWxsYV9tb2NrLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L2J1Z3pp
bGxhL2J1Z3ppbGxhX21vY2sucHkKaW5kZXggNzFiMDgwY2U5NDAyNTk5ZGZkYjc4ZDBlOWNjMjlj
Y2M5YjhkNGFmNy4uNDczYTlmYTZlODgwNTY4Nzk0MmVmNDIwODc3ZDllZWQyNTIzOTA5MiAxMDA2
NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L2J1Z3ppbGxhL2J1Z3pp
bGxhX21vY2sucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L2J1Z3pp
bGxhL2J1Z3ppbGxhX21vY2sucHkKQEAgLTI3LDEyICsyNywxMyBAQAogIyBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgog
CiBpbXBvcnQgZGF0ZXRpbWUKK2ltcG9ydCBsb2dnaW5nCiAKIGZyb20gLmJ1ZyBpbXBvcnQgQnVn
CiBmcm9tIC5hdHRhY2htZW50IGltcG9ydCBBdHRhY2htZW50CiBmcm9tIHdlYmtpdHB5LmNvbW1v
bi5jb25maWcuY29tbWl0dGVycyBpbXBvcnQgQ29tbWl0dGVyTGlzdCwgUmV2aWV3ZXIKIAotZnJv
bSB3ZWJraXRweS5jb21tb24uc3lzdGVtLmRlcHJlY2F0ZWRfbG9nZ2luZyBpbXBvcnQgbG9nCitf
bG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pCiAKIAogZGVmIF9pZF90b19vYmplY3Rf
ZGljdGlvbmFyeSgqb2JqZWN0cyk6CkBAIC0zMjgsMTUgKzMyOSwxNSBAQCBjbGFzcyBNb2NrQnVn
emlsbGEob2JqZWN0KToKICAgICAgICAgICAgICAgICAgICBibG9ja2VkPU5vbmUsCiAgICAgICAg
ICAgICAgICAgICAgbWFya19mb3JfcmV2aWV3PUZhbHNlLAogICAgICAgICAgICAgICAgICAgIG1h
cmtfZm9yX2NvbW1pdF9xdWV1ZT1GYWxzZSk6Ci0gICAgICAgIGxvZygiTU9DSyBjcmVhdGVfYnVn
IikKLSAgICAgICAgbG9nKCJidWdfdGl0bGU6ICVzIiAlIGJ1Z190aXRsZSkKLSAgICAgICAgbG9n
KCJidWdfZGVzY3JpcHRpb246ICVzIiAlIGJ1Z19kZXNjcmlwdGlvbikKKyAgICAgICAgX2xvZy5p
bmZvKCJNT0NLIGNyZWF0ZV9idWciKQorICAgICAgICBfbG9nLmluZm8oImJ1Z190aXRsZTogJXMi
ICUgYnVnX3RpdGxlKQorICAgICAgICBfbG9nLmluZm8oImJ1Z19kZXNjcmlwdGlvbjogJXMiICUg
YnVnX2Rlc2NyaXB0aW9uKQogICAgICAgICBpZiBjb21wb25lbnQ6Ci0gICAgICAgICAgICBsb2co
ImNvbXBvbmVudDogJXMiICUgY29tcG9uZW50KQorICAgICAgICAgICAgX2xvZy5pbmZvKCJjb21w
b25lbnQ6ICVzIiAlIGNvbXBvbmVudCkKICAgICAgICAgaWYgY2M6Ci0gICAgICAgICAgICBsb2co
ImNjOiAlcyIgJSBjYykKKyAgICAgICAgICAgIF9sb2cuaW5mbygiY2M6ICVzIiAlIGNjKQogICAg
ICAgICBpZiBibG9ja2VkOgotICAgICAgICAgICAgbG9nKCJibG9ja2VkOiAlcyIgJSBibG9ja2Vk
KQorICAgICAgICAgICAgX2xvZy5pbmZvKCJibG9ja2VkOiAlcyIgJSBibG9ja2VkKQogICAgICAg
ICByZXR1cm4gNjAwMDEKIAogICAgIGRlZiBxdWlwcyhzZWxmKToKQEAgLTM3NCwxMSArMzc1LDEx
IEBAIGNsYXNzIE1vY2tCdWd6aWxsYShvYmplY3QpOgogICAgICAgICByZXR1cm4gIiVzLyVzJXMi
ICUgKHNlbGYuYnVnX3NlcnZlcl91cmwsIGF0dGFjaG1lbnRfaWQsIGFjdGlvbl9wYXJhbSkKIAog
ICAgIGRlZiByZWFzc2lnbl9idWcoc2VsZiwgYnVnX2lkLCBhc3NpZ25lZT1Ob25lLCBjb21tZW50
X3RleHQ9Tm9uZSk6Ci0gICAgICAgIGxvZygiTU9DSyByZWFzc2lnbl9idWc6IGJ1Z19pZD0lcywg
YXNzaWduZWU9JXMiICUgKGJ1Z19pZCwgYXNzaWduZWUpKQorICAgICAgICBfbG9nLmluZm8oIk1P
Q0sgcmVhc3NpZ25fYnVnOiBidWdfaWQ9JXMsIGFzc2lnbmVlPSVzIiAlIChidWdfaWQsIGFzc2ln
bmVlKSkKICAgICAgICAgaWYgY29tbWVudF90ZXh0OgotICAgICAgICAgICAgbG9nKCItLSBCZWdp
biBjb21tZW50IC0tIikKLSAgICAgICAgICAgIGxvZyhjb21tZW50X3RleHQpCi0gICAgICAgICAg
ICBsb2coIi0tIEVuZCBjb21tZW50IC0tIikKKyAgICAgICAgICAgIF9sb2cuaW5mbygiLS0gQmVn
aW4gY29tbWVudCAtLSIpCisgICAgICAgICAgICBfbG9nLmluZm8oY29tbWVudF90ZXh0KQorICAg
ICAgICAgICAgX2xvZy5pbmZvKCItLSBFbmQgY29tbWVudCAtLSIpCiAKICAgICBkZWYgc2V0X2Zs
YWdfb25fYXR0YWNobWVudChzZWxmLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0
dGFjaG1lbnRfaWQsCkBAIC0zODYsMjAgKzM4NywyMCBAQCBjbGFzcyBNb2NrQnVnemlsbGEob2Jq
ZWN0KToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGFnX3ZhbHVlLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1lbnRfdGV4dD1Ob25lLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxfY29tbWVudF90ZXh0PU5vbmUpOgotICAgICAg
ICBsb2coIk1PQ0sgc2V0dGluZyBmbGFnICclcycgdG8gJyVzJyBvbiBhdHRhY2htZW50ICclcycg
d2l0aCBjb21tZW50ICclcycgYW5kIGFkZGl0aW9uYWwgY29tbWVudCAnJXMnIiAlICgKLSAgICAg
ICAgICAgIGZsYWdfbmFtZSwgZmxhZ192YWx1ZSwgYXR0YWNobWVudF9pZCwgY29tbWVudF90ZXh0
LCBhZGRpdGlvbmFsX2NvbW1lbnRfdGV4dCkpCisgICAgICAgIF9sb2cuaW5mbygiTU9DSyBzZXR0
aW5nIGZsYWcgJyVzJyB0byAnJXMnIG9uIGF0dGFjaG1lbnQgJyVzJyB3aXRoIGNvbW1lbnQgJyVz
JyBhbmQgYWRkaXRpb25hbCBjb21tZW50ICclcyciICUgKAorICAgICAgICAgICAgICAgICAgZmxh
Z19uYW1lLCBmbGFnX3ZhbHVlLCBhdHRhY2htZW50X2lkLCBjb21tZW50X3RleHQsIGFkZGl0aW9u
YWxfY29tbWVudF90ZXh0KSkKIAogICAgIGRlZiBwb3N0X2NvbW1lbnRfdG9fYnVnKHNlbGYsIGJ1
Z19pZCwgY29tbWVudF90ZXh0LCBjYz1Ob25lKToKLSAgICAgICAgbG9nKCJNT0NLIGJ1ZyBjb21t
ZW50OiBidWdfaWQ9JXMsIGNjPSVzXG4tLS0gQmVnaW4gY29tbWVudCAtLS1cbiVzXG4tLS0gRW5k
IGNvbW1lbnQgLS0tXG4iICUgKAotICAgICAgICAgICAgYnVnX2lkLCBjYywgY29tbWVudF90ZXh0
KSkKKyAgICAgICAgX2xvZy5pbmZvKCJNT0NLIGJ1ZyBjb21tZW50OiBidWdfaWQ9JXMsIGNjPSVz
XG4tLS0gQmVnaW4gY29tbWVudCAtLS1cbiVzXG4tLS0gRW5kIGNvbW1lbnQgLS0tXG4iICUgKAor
ICAgICAgICAgICAgICAgICAgYnVnX2lkLCBjYywgY29tbWVudF90ZXh0KSkKIAogICAgIGRlZiBh
ZGRfYXR0YWNobWVudF90b19idWcoc2VsZiwgYnVnX2lkLCBmaWxlX29yX3N0cmluZywgZGVzY3Jp
cHRpb24sIGZpbGVuYW1lPU5vbmUsIGNvbW1lbnRfdGV4dD1Ob25lLCBtaW1ldHlwZT1Ob25lKToK
LSAgICAgICAgbG9nKCJNT0NLIGFkZF9hdHRhY2htZW50X3RvX2J1ZzogYnVnX2lkPSVzLCBkZXNj
cmlwdGlvbj0lcyBmaWxlbmFtZT0lcyBtaW1ldHlwZT0lcyIgJQotICAgICAgICAgICAgKGJ1Z19p
ZCwgZGVzY3JpcHRpb24sIGZpbGVuYW1lLCBtaW1ldHlwZSkpCisgICAgICAgIF9sb2cuaW5mbygi
TU9DSyBhZGRfYXR0YWNobWVudF90b19idWc6IGJ1Z19pZD0lcywgZGVzY3JpcHRpb249JXMgZmls
ZW5hbWU9JXMgbWltZXR5cGU9JXMiICUKKyAgICAgICAgICAgICAgICAgIChidWdfaWQsIGRlc2Ny
aXB0aW9uLCBmaWxlbmFtZSwgbWltZXR5cGUpKQogICAgICAgICBpZiBjb21tZW50X3RleHQ6Ci0g
ICAgICAgICAgICBsb2coIi0tIEJlZ2luIGNvbW1lbnQgLS0iKQotICAgICAgICAgICAgbG9nKGNv
bW1lbnRfdGV4dCkKLSAgICAgICAgICAgIGxvZygiLS0gRW5kIGNvbW1lbnQgLS0iKQorICAgICAg
ICAgICAgX2xvZy5pbmZvKCItLSBCZWdpbiBjb21tZW50IC0tIikKKyAgICAgICAgICAgIF9sb2cu
aW5mbyhjb21tZW50X3RleHQpCisgICAgICAgICAgICBfbG9nLmluZm8oIi0tIEVuZCBjb21tZW50
IC0tIikKIAogICAgIGRlZiBhZGRfcGF0Y2hfdG9fYnVnKHNlbGYsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgYnVnX2lkLApAQCAtNDA5LDEyICs0MTAsMTIgQEAgY2xhc3MgTW9ja0J1Z3ppbGxh
KG9iamVjdCk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgbWFya19mb3JfcmV2aWV3PUZhbHNl
LAogICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmtfZm9yX2NvbW1pdF9xdWV1ZT1GYWxzZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJrX2Zvcl9sYW5kaW5nPUZhbHNlKToKLSAgICAg
ICAgbG9nKCJNT0NLIGFkZF9wYXRjaF90b19idWc6IGJ1Z19pZD0lcywgZGVzY3JpcHRpb249JXMs
IG1hcmtfZm9yX3Jldmlldz0lcywgbWFya19mb3JfY29tbWl0X3F1ZXVlPSVzLCBtYXJrX2Zvcl9s
YW5kaW5nPSVzIiAlCi0gICAgICAgICAgICAoYnVnX2lkLCBkZXNjcmlwdGlvbiwgbWFya19mb3Jf
cmV2aWV3LCBtYXJrX2Zvcl9jb21taXRfcXVldWUsIG1hcmtfZm9yX2xhbmRpbmcpKQorICAgICAg
ICBfbG9nLmluZm8oIk1PQ0sgYWRkX3BhdGNoX3RvX2J1ZzogYnVnX2lkPSVzLCBkZXNjcmlwdGlv
bj0lcywgbWFya19mb3JfcmV2aWV3PSVzLCBtYXJrX2Zvcl9jb21taXRfcXVldWU9JXMsIG1hcmtf
Zm9yX2xhbmRpbmc9JXMiICUKKyAgICAgICAgICAgICAgICAgIChidWdfaWQsIGRlc2NyaXB0aW9u
LCBtYXJrX2Zvcl9yZXZpZXcsIG1hcmtfZm9yX2NvbW1pdF9xdWV1ZSwgbWFya19mb3JfbGFuZGlu
ZykpCiAgICAgICAgIGlmIGNvbW1lbnRfdGV4dDoKLSAgICAgICAgICAgIGxvZygiLS0gQmVnaW4g
Y29tbWVudCAtLSIpCi0gICAgICAgICAgICBsb2coY29tbWVudF90ZXh0KQotICAgICAgICAgICAg
bG9nKCItLSBFbmQgY29tbWVudCAtLSIpCisgICAgICAgICAgICBfbG9nLmluZm8oIi0tIEJlZ2lu
IGNvbW1lbnQgLS0iKQorICAgICAgICAgICAgX2xvZy5pbmZvKGNvbW1lbnRfdGV4dCkKKyAgICAg
ICAgICAgIF9sb2cuaW5mbygiLS0gRW5kIGNvbW1lbnQgLS0iKQogCiAgICAgZGVmIGFkZF9jY190
b19idWcoc2VsZiwgYnVnX2lkLCBjY3MpOgogICAgICAgICBwYXNzCkBAIC00MjMsNyArNDI0LDcg
QEAgY2xhc3MgTW9ja0J1Z3ppbGxhKG9iamVjdCk6CiAgICAgICAgIHBhc3MKIAogICAgIGRlZiBy
ZW9wZW5fYnVnKHNlbGYsIGJ1Z19pZCwgbWVzc2FnZSk6Ci0gICAgICAgIGxvZygiTU9DSyByZW9w
ZW5fYnVnICVzIHdpdGggY29tbWVudCAnJXMnIiAlIChidWdfaWQsIG1lc3NhZ2UpKQorICAgICAg
ICBfbG9nLmluZm8oIk1PQ0sgcmVvcGVuX2J1ZyAlcyB3aXRoIGNvbW1lbnQgJyVzJyIgJSAoYnVn
X2lkLCBtZXNzYWdlKSkKIAogICAgIGRlZiBjbG9zZV9idWdfYXNfZml4ZWQoc2VsZiwgYnVnX2lk
LCBtZXNzYWdlKToKICAgICAgICAgcGFzcwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9jb21tb24vbmV0L2J1Z3ppbGxhL2J1Z3ppbGxhX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9jb21tb24vbmV0L2J1Z3ppbGxhL2J1Z3ppbGxhX3VuaXR0ZXN0LnB5Cmlu
ZGV4IDUzOGQzOWU4NWMzNTllYTM1MmE4MTc1NjVhOGUxYWZlMDJmMDA2NTAuLjkwZTRjODNmYzQ1
ZDZkY2MzMGIxYWU3MzU4NWQ4MzhkNjEzYmNmNjYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvY29tbW9uL25ldC9idWd6aWxsYS9idWd6aWxsYV91bml0dGVzdC5weQorKysgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvYnVnemlsbGEvYnVnemlsbGFfdW5pdHRl
c3QucHkKQEAgLTI1MCw4ICsyNTAsOCBAQCBJZ25vcmUgdGhpcyBidWcuICBKdXN0IGZvciB0ZXN0
aW5nIGZhaWx1cmUgbW9kZXMgb2Ygd2Via2l0LXBhdGNoIGFuZCB0aGUgY29tbWl0LQogICAgICAg
ICBidWd6aWxsYSA9IEJ1Z3ppbGxhKCkKICAgICAgICAgYnVnemlsbGEuYnJvd3NlciA9IE1vY2tC
cm93c2VyKCkKICAgICAgICAgYnVnemlsbGEuYXV0aGVudGljYXRlID0gbGFtYmRhOiBOb25lCi0g
ICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9ICJBZGRpbmcgWydhZGFtQGV4YW1wbGUuY29tJ10gdG8g
dGhlIENDIGxpc3QgZm9yIGJ1ZyA0MlxuIgotICAgICAgICBPdXRwdXRDYXB0dXJlKCkuYXNzZXJ0
X291dHB1dHMoc2VsZiwgYnVnemlsbGEuYWRkX2NjX3RvX2J1ZywgWzQyLCBbImFkYW1AZXhhbXBs
ZS5jb20iXV0sIGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIpCisgICAgICAgIGV4cGVj
dGVkX2xvZ3MgPSAiQWRkaW5nIFsnYWRhbUBleGFtcGxlLmNvbSddIHRvIHRoZSBDQyBsaXN0IGZv
ciBidWcgNDJcbiIKKyAgICAgICAgT3V0cHV0Q2FwdHVyZSgpLmFzc2VydF9vdXRwdXRzKHNlbGYs
IGJ1Z3ppbGxhLmFkZF9jY190b19idWcsIFs0MiwgWyJhZGFtQGV4YW1wbGUuY29tIl1dLCBleHBl
Y3RlZF9sb2dzPWV4cGVjdGVkX2xvZ3MpCiAKICAgICBkZWYgX21vY2tfY29udHJvbF9pdGVtKHNl
bGYsIG5hbWUpOgogICAgICAgICBtb2NrX2l0ZW0gPSBNb2NrKCkKQEAgLTI2NCwyMyArMjY0LDIz
IEBAIElnbm9yZSB0aGlzIGJ1Zy4gIEp1c3QgZm9yIHRlc3RpbmcgZmFpbHVyZSBtb2RlcyBvZiB3
ZWJraXQtcGF0Y2ggYW5kIHRoZSBjb21taXQtCiAgICAgICAgIG1vY2tfY29udHJvbC52YWx1ZSA9
IFtpdGVtX25hbWVzW3NlbGVjdGVkX2luZGV4XV0gaWYgaXRlbV9uYW1lcyBlbHNlIE5vbmUKICAg
ICAgICAgcmV0dXJuIGxhbWJkYSBuYW1lLCB0eXBlOiBtb2NrX2NvbnRyb2wKIAotICAgIGRlZiBf
YXNzZXJ0X3Jlb3BlbihzZWxmLCBpdGVtX25hbWVzPU5vbmUsIHNlbGVjdGVkX2luZGV4PU5vbmUs
IGV4dHJhX3N0ZGVycj1Ob25lKToKKyAgICBkZWYgX2Fzc2VydF9yZW9wZW4oc2VsZiwgaXRlbV9u
YW1lcz1Ob25lLCBzZWxlY3RlZF9pbmRleD1Ob25lLCBleHRyYV9sb2dzPU5vbmUpOgogICAgICAg
ICBidWd6aWxsYSA9IEJ1Z3ppbGxhKCkKICAgICAgICAgYnVnemlsbGEuYnJvd3NlciA9IE1vY2tC
cm93c2VyKCkKICAgICAgICAgYnVnemlsbGEuYXV0aGVudGljYXRlID0gbGFtYmRhOiBOb25lCiAK
ICAgICAgICAgbW9ja19maW5kX2NvbnRyb2wgPSBzZWxmLl9tb2NrX2ZpbmRfY29udHJvbChpdGVt
X25hbWVzLCBzZWxlY3RlZF9pbmRleCkKICAgICAgICAgYnVnemlsbGEuYnJvd3Nlci5maW5kX2Nv
bnRyb2wgPSBtb2NrX2ZpbmRfY29udHJvbAotICAgICAgICBleHBlY3RlZF9zdGRlcnIgPSAiUmUt
b3BlbmluZyBidWcgNDJcblsnY29tbWVudCddXG4iCi0gICAgICAgIGlmIGV4dHJhX3N0ZGVycjoK
LSAgICAgICAgICAgIGV4cGVjdGVkX3N0ZGVyciArPSBleHRyYV9zdGRlcnIKLSAgICAgICAgT3V0
cHV0Q2FwdHVyZSgpLmFzc2VydF9vdXRwdXRzKHNlbGYsIGJ1Z3ppbGxhLnJlb3Blbl9idWcsIFs0
MiwgWyJjb21tZW50Il1dLCBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRfc3RkZXJyKQorICAgICAg
ICBleHBlY3RlZF9sb2dzID0gIlJlLW9wZW5pbmcgYnVnIDQyXG5bJ2NvbW1lbnQnXVxuIgorICAg
ICAgICBpZiBleHRyYV9sb2dzOgorICAgICAgICAgICAgZXhwZWN0ZWRfbG9ncyArPSBleHRyYV9s
b2dzCisgICAgICAgIE91dHB1dENhcHR1cmUoKS5hc3NlcnRfb3V0cHV0cyhzZWxmLCBidWd6aWxs
YS5yZW9wZW5fYnVnLCBbNDIsIFsiY29tbWVudCJdXSwgZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9s
b2dzKQogCiAgICAgZGVmIHRlc3RfcmVvcGVuX2J1ZyhzZWxmKToKICAgICAgICAgc2VsZi5fYXNz
ZXJ0X3Jlb3BlbihpdGVtX25hbWVzPVsiUkVPUEVORUQiLCAiUkVTT0xWRUQiLCAiQ0xPU0VEIl0s
IHNlbGVjdGVkX2luZGV4PTEpCiAgICAgICAgIHNlbGYuX2Fzc2VydF9yZW9wZW4oaXRlbV9uYW1l
cz1bIlVOQ09ORklSTUVEIiwgIlJFU09MVkVEIiwgIkNMT1NFRCJdLCBzZWxlY3RlZF9pbmRleD0x
KQotICAgICAgICBleHRyYV9zdGRlcnIgPSAiRGlkIG5vdCByZW9wZW4gYnVnIDQyLCBpdCBhcHBl
YXJzIHRvIGFscmVhZHkgYmUgb3BlbiB3aXRoIHN0YXR1cyBbJ05FVyddLlxuIgotICAgICAgICBz
ZWxmLl9hc3NlcnRfcmVvcGVuKGl0ZW1fbmFtZXM9WyJORVciLCAiUkVTT0xWRUQiXSwgc2VsZWN0
ZWRfaW5kZXg9MCwgZXh0cmFfc3RkZXJyPWV4dHJhX3N0ZGVycikKKyAgICAgICAgZXh0cmFfbG9n
cyA9ICJEaWQgbm90IHJlb3BlbiBidWcgNDIsIGl0IGFwcGVhcnMgdG8gYWxyZWFkeSBiZSBvcGVu
IHdpdGggc3RhdHVzIFsnTkVXJ10uXG4iCisgICAgICAgIHNlbGYuX2Fzc2VydF9yZW9wZW4oaXRl
bV9uYW1lcz1bIk5FVyIsICJSRVNPTFZFRCJdLCBzZWxlY3RlZF9pbmRleD0wLCBleHRyYV9sb2dz
PWV4dHJhX2xvZ3MpCiAKICAgICBkZWYgdGVzdF9maWxlX29iamVjdF9mb3JfdXBsb2FkKHNlbGYp
OgogICAgICAgICBidWd6aWxsYSA9IEJ1Z3ppbGxhKCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvY29tbW9uL25ldC9idWlsZGJvdC9idWlsZGJvdF9tb2NrLnB5IGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L2J1aWxkYm90L2J1aWxkYm90X21vY2sucHkKaW5k
ZXggZjViNjA0MmIzNjZkNGE3NGY5ZWFiZWU5NWU5NjQ3YTYxNWY5YmU2NS4uZDIwYmRiNzVjYTNi
YzNmNTQ0NzI2MDMxZTY2MTk3MTZlNDMzYTQyYSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9jb21tb24vbmV0L2J1aWxkYm90L2J1aWxkYm90X21vY2sucHkKKysrIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L2J1aWxkYm90L2J1aWxkYm90X21vY2sucHkKQEAg
LTI2LDcgKzI2LDkgQEAKICMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKLWZyb20gd2Vi
a2l0cHkuY29tbW9uLnN5c3RlbS5kZXByZWNhdGVkX2xvZ2dpbmcgaW1wb3J0IGxvZworaW1wb3J0
IGxvZ2dpbmcKKworX2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQogCiAKIGNsYXNz
IE1vY2tCdWlsZChvYmplY3QpOgpAQCAtNTUsNyArNTcsNyBAQCBjbGFzcyBNb2NrQnVpbGRlcihv
YmplY3QpOgogICAgICAgICByZXR1cm4gc2VsZi5hY2N1bXVsYXRlZF9yZXN1bHRzX3VybCgpCiAK
ICAgICBkZWYgZm9yY2VfYnVpbGQoc2VsZiwgdXNlcm5hbWUsIGNvbW1lbnRzKToKLSAgICAgICAg
bG9nKCJNT0NLOiBmb3JjZV9idWlsZDogbmFtZT0lcywgdXNlcm5hbWU9JXMsIGNvbW1lbnRzPSVz
IiAlICgKKyAgICAgICAgX2xvZy5pbmZvKCJNT0NLOiBmb3JjZV9idWlsZDogbmFtZT0lcywgdXNl
cm5hbWU9JXMsIGNvbW1lbnRzPSVzIiAlICgKICAgICAgICAgICAgIHNlbGYuX25hbWUsIHVzZXJu
YW1lLCBjb21tZW50cykpCiAKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9j
b21tb24vbmV0L2NyZWRlbnRpYWxzLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24v
bmV0L2NyZWRlbnRpYWxzLnB5CmluZGV4IDIxYWVhZWFmZTYyZGU1ZTBlNzRjMTc4OWNjZGMyYzRl
MTdjMGRlMDQuLjcwMzhiN2UzY2RiZjY4M2M4YTk4ODc0NjA3ODI3ODRkM2RjYTgwYjIgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9jcmVkZW50aWFscy5weQor
KysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvY3JlZGVudGlhbHMucHkKQEAg
LTI5LDYgKzI5LDcgQEAKICMKICMgUHl0aG9uIG1vZHVsZSBmb3IgcmVhZGluZyBzdG9yZWQgd2Vi
IGNyZWRlbnRpYWxzIGZyb20gdGhlIE9TLgogCitpbXBvcnQgbG9nZ2luZwogaW1wb3J0IG9zCiBp
bXBvcnQgcGxhdGZvcm0KIGltcG9ydCByZQpAQCAtMzYsNyArMzcsNiBAQCBpbXBvcnQgcmUKIGZy
b20gd2Via2l0cHkuY29tbW9uLmNoZWNrb3V0LnNjbSBpbXBvcnQgR2l0CiBmcm9tIHdlYmtpdHB5
LmNvbW1vbi5zeXN0ZW0uZXhlY3V0aXZlIGltcG9ydCBFeGVjdXRpdmUsIFNjcmlwdEVycm9yCiBm
cm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0udXNlciBpbXBvcnQgVXNlcgotZnJvbSB3ZWJraXRw
eS5jb21tb24uc3lzdGVtLmRlcHJlY2F0ZWRfbG9nZ2luZyBpbXBvcnQgbG9nCiAKIHRyeToKICAg
ICAjIFVzZSBrZXlyaW5nLCBhIGNyb3NzIHBsYXRmb3JtIGtleXJpbmcgaW50ZXJmYWNlLCBhcyBh
IGZhbGxiYWNrOgpAQCAtNDUsNiArNDUsOCBAQCB0cnk6CiBleGNlcHQgSW1wb3J0RXJyb3I6CiAg
ICAga2V5cmluZyA9IE5vbmUKIAorX2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQor
CiAKIGNsYXNzIENyZWRlbnRpYWxzKG9iamVjdCk6CiAgICAgX2Vudmlyb25fcHJlZml4ID0gIndl
YmtpdF9idWd6aWxsYV8iCkBAIC05OCwxNSArMTAwLDE1IEBAIGNsYXNzIENyZWRlbnRpYWxzKG9i
amVjdCk6CiAgICAgICAgIGlmIHVzZXJuYW1lOgogICAgICAgICAgICAgc2VjdXJpdHlfY29tbWFu
ZCArPSBbIi1hIiwgdXNlcm5hbWVdCiAKLSAgICAgICAgbG9nKCJSZWFkaW5nIEtleWNoYWluIGZv
ciAlcyBhY2NvdW50IGFuZCBwYXNzd29yZC4gICIKLSAgICAgICAgICAgICJDbGljayBcIkFsbG93
XCIgdG8gY29udGludWUuLi4iICUgc2VsZi5ob3N0KQorICAgICAgICBfbG9nLmluZm8oIlJlYWRp
bmcgS2V5Y2hhaW4gZm9yICVzIGFjY291bnQgYW5kIHBhc3N3b3JkLiAgIgorICAgICAgICAgICAg
ICAgICAgIkNsaWNrIFwiQWxsb3dcIiB0byBjb250aW51ZS4uLiIgJSBzZWxmLmhvc3QpCiAgICAg
ICAgIHRyeToKICAgICAgICAgICAgIHJldHVybiBzZWxmLmV4ZWN1dGl2ZS5ydW5fY29tbWFuZChz
ZWN1cml0eV9jb21tYW5kKQogICAgICAgICBleGNlcHQgU2NyaXB0RXJyb3I6CiAgICAgICAgICAg
ICAjIEZhaWxlZCB0byBlaXRoZXIgZmluZCBhIGtleWNoYWluIGVudHJ5IG9yIHNvbWVraW5kIG9m
IE9TLXJlbGF0ZWQKICAgICAgICAgICAgICMgZXJyb3Igb2NjdXJlZCAoZm9yIGluc3RhbmNlLCBj
b3VsZG4ndCBmaW5kIHRoZSAvdXNyL3NiaW4vc2VjdXJpdHkKICAgICAgICAgICAgICMgY29tbWFu
ZCkuCi0gICAgICAgICAgICBsb2coIkNvdWxkIG5vdCBmaW5kIGEga2V5Y2hhaW4gZW50cnkgZm9y
ICVzLiIgJSBzZWxmLmhvc3QpCisgICAgICAgICAgICBfbG9nLmVycm9yKCJDb3VsZCBub3QgZmlu
ZCBhIGtleWNoYWluIGVudHJ5IGZvciAlcy4iICUgc2VsZi5ob3N0KQogICAgICAgICAgICAgcmV0
dXJuIE5vbmUKIAogICAgIGRlZiBfY3JlZGVudGlhbHNfZnJvbV9rZXljaGFpbihzZWxmLCB1c2Vy
bmFtZT1Ob25lKToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25l
dC9jcmVkZW50aWFsc191bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9u
L25ldC9jcmVkZW50aWFsc191bml0dGVzdC5weQppbmRleCAxNTY4MmYzYjg5NWEwOTg1NzBjZDMw
ZDM2OWM2MjFmNDAwZjAwYWU1Li4zNjU5ZDY5ZDE4MWU1YjYzYzA1OTA0NjU5MTYyMmQ3NDViZGMz
YmVmIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvY3JlZGVu
dGlhbHNfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0
L2NyZWRlbnRpYWxzX3VuaXR0ZXN0LnB5CkBAIC0xMTYsOCArMTE2LDggQEAgcGFzc3dvcmQ6ICJT
RUNSRVRTQVVDRSIKICAgICAgICAgZXhlY3V0aXZlX21vY2sgPSBNb2NrKCkKICAgICAgICAgY3Jl
ZGVudGlhbHMgPSBNb2NrZWRDcmVkZW50aWFscygiZXhhbXBsZS5jb20iLCBleGVjdXRpdmU9ZXhl
Y3V0aXZlX21vY2spCiAKLSAgICAgICAgZXhwZWN0ZWRfc3RkZXJyID0gIlJlYWRpbmcgS2V5Y2hh
aW4gZm9yIGV4YW1wbGUuY29tIGFjY291bnQgYW5kIHBhc3N3b3JkLiAgQ2xpY2sgXCJBbGxvd1wi
IHRvIGNvbnRpbnVlLi4uXG4iCi0gICAgICAgIE91dHB1dENhcHR1cmUoKS5hc3NlcnRfb3V0cHV0
cyhzZWxmLCBjcmVkZW50aWFscy5fcnVuX3NlY3VyaXR5X3Rvb2wsIFt1c2VybmFtZV0sIGV4cGVj
dGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIpCisgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAiUmVh
ZGluZyBLZXljaGFpbiBmb3IgZXhhbXBsZS5jb20gYWNjb3VudCBhbmQgcGFzc3dvcmQuICBDbGlj
ayBcIkFsbG93XCIgdG8gY29udGludWUuLi5cbiIKKyAgICAgICAgT3V0cHV0Q2FwdHVyZSgpLmFz
c2VydF9vdXRwdXRzKHNlbGYsIGNyZWRlbnRpYWxzLl9ydW5fc2VjdXJpdHlfdG9vbCwgW3VzZXJu
YW1lXSwgZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzKQogCiAgICAgICAgIHNlY3VyaXR5X2Fy
Z3MgPSBbIi91c3IvYmluL3NlY3VyaXR5IiwgImZpbmQtaW50ZXJuZXQtcGFzc3dvcmQiLCAiLWci
LCAiLXMiLCAiZXhhbXBsZS5jb20iXQogICAgICAgICBpZiB1c2VybmFtZToKZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9pcmMvaXJjX21vY2sucHkgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvaXJjL2lyY19tb2NrLnB5CmluZGV4IDczNGJl
MDY3MDVhM2MzMTNmMmExMmExZmMzYWVjNWMxMjUzNjJhNzkuLmIyYWUwNzE1YTY2MWRhMjBhZmM2
NGU0NGU5ZDI4MzZlMjcwNThmNjIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
Y29tbW9uL25ldC9pcmMvaXJjX21vY2sucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9j
b21tb24vbmV0L2lyYy9pcmNfbW9jay5weQpAQCAtMjYsMTIgKzI2LDE0IEBACiAjIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgogCi1mcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZGVwcmVj
YXRlZF9sb2dnaW5nIGltcG9ydCBsb2cKK2ltcG9ydCBsb2dnaW5nCisKK19sb2cgPSBsb2dnaW5n
LmdldExvZ2dlcihfX25hbWVfXykKIAogCiBjbGFzcyBNb2NrSVJDKG9iamVjdCk6CiAgICAgZGVm
IHBvc3Qoc2VsZiwgbWVzc2FnZSk6Ci0gICAgICAgIGxvZygiTU9DSzogaXJjLnBvc3Q6ICVzIiAl
IG1lc3NhZ2UpCisgICAgICAgIF9sb2cuaW5mbygiTU9DSzogaXJjLnBvc3Q6ICVzIiAlIG1lc3Nh
Z2UpCiAKICAgICBkZWYgZGlzY29ubmVjdChzZWxmKToKLSAgICAgICAgbG9nKCJNT0NLOiBpcmMu
ZGlzY29ubmVjdCIpCisgICAgICAgIF9sb2cuaW5mbygiTU9DSzogaXJjLmRpc2Nvbm5lY3QiKQpk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L2lyYy9pcmNwcm94
eS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9pcmMvaXJjcHJveHkucHkK
aW5kZXggMTMzNDhiNGFmYjNkNmE2Yzk5YzA3OGJhZGYxYjE1NjYzZGRhZWVhOC4uNTIxZjZmNzYx
YWM1MjQzOTdiOTA2MmZkYTg2ZWMxZTgzOTdlZTUzNSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9jb21tb24vbmV0L2lyYy9pcmNwcm94eS5weQorKysgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2NvbW1vbi9uZXQvaXJjL2lyY3Byb3h5LnB5CkBAIC0yNiwxMSArMjYsMTMgQEAK
ICMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKK2ltcG9ydCBsb2dnaW5nCiBpbXBvcnQg
dGhyZWFkaW5nCiAKIGZyb20gd2Via2l0cHkuY29tbW9uLm5ldC5pcmMuaXJjYm90IGltcG9ydCBJ
UkNCb3QKIGZyb20gd2Via2l0cHkuY29tbW9uLnRocmVhZC50aHJlYWRlZG1lc3NhZ2VxdWV1ZSBp
bXBvcnQgVGhyZWFkZWRNZXNzYWdlUXVldWUKLWZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5k
ZXByZWNhdGVkX2xvZ2dpbmcgaW1wb3J0IGxvZworCitfbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIo
X19uYW1lX18pCiAKIAogY2xhc3MgX0lSQ1RocmVhZCh0aHJlYWRpbmcuVGhyZWFkKToKQEAgLTQ4
LDcgKzUwLDcgQEAgY2xhc3MgX0lSQ1RocmVhZCh0aHJlYWRpbmcuVGhyZWFkKToKIAogY2xhc3Mg
SVJDUHJveHkob2JqZWN0KToKICAgICBkZWYgX19pbml0X18oc2VsZiwgaXJjX2RlbGVnYXRlLCBp
cmNfYm90PUlSQ0JvdCk6Ci0gICAgICAgIGxvZygiQ29ubmVjdGluZyB0byBJUkMiKQorICAgICAg
ICBfbG9nLmluZm8oIkNvbm5lY3RpbmcgdG8gSVJDIikKICAgICAgICAgc2VsZi5fbWVzc2FnZV9x
dWV1ZSA9IFRocmVhZGVkTWVzc2FnZVF1ZXVlKCkKICAgICAgICAgc2VsZi5fY2hpbGRfdGhyZWFk
ID0gX0lSQ1RocmVhZChzZWxmLl9tZXNzYWdlX3F1ZXVlLCBpcmNfZGVsZWdhdGUsIGlyY19ib3Qp
CiAgICAgICAgIHNlbGYuX2NoaWxkX3RocmVhZC5zdGFydCgpCkBAIC01Nyw2ICs1OSw2IEBAIGNs
YXNzIElSQ1Byb3h5KG9iamVjdCk6CiAgICAgICAgIHNlbGYuX21lc3NhZ2VfcXVldWUucG9zdCht
ZXNzYWdlKQogCiAgICAgZGVmIGRpc2Nvbm5lY3Qoc2VsZik6Ci0gICAgICAgIGxvZygiRGlzY29u
bmVjdGluZyBmcm9tIElSQy4uLiIpCisgICAgICAgIF9sb2cuaW5mbygiRGlzY29ubmVjdGluZyBm
cm9tIElSQy4uLiIpCiAgICAgICAgIHNlbGYuX21lc3NhZ2VfcXVldWUuc3RvcCgpCiAgICAgICAg
IHNlbGYuX2NoaWxkX3RocmVhZC5qb2luKCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvY29tbW9uL25ldC9pcmMvaXJjcHJveHlfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2NvbW1vbi9uZXQvaXJjL2lyY3Byb3h5X3VuaXR0ZXN0LnB5CmluZGV4IGI0NGNl
NDAwYjZiYTY3ZTg5ZDUwNzYwMmRjYWVjNDE4YWQwYTk0Y2EuLmJjZTlkODU1ZDViZDE4NjFmMmRi
N2JlNWNhMGE0MzY0ZjRkYTNiODIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
Y29tbW9uL25ldC9pcmMvaXJjcHJveHlfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9jb21tb24vbmV0L2lyYy9pcmNwcm94eV91bml0dGVzdC5weQpAQCAtMzksNSArMzks
NSBAQCBjbGFzcyBJUkNQcm94eVRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAgICAg
cHJveHkucG9zdCgiaGVsbG8iKQogICAgICAgICAgICAgcHJveHkuZGlzY29ubmVjdCgpCiAKLSAg
ICAgICAgZXhwZWN0ZWRfc3RkZXJyID0gIkNvbm5lY3RpbmcgdG8gSVJDXG5EaXNjb25uZWN0aW5n
IGZyb20gSVJDLi4uXG4iCi0gICAgICAgIE91dHB1dENhcHR1cmUoKS5hc3NlcnRfb3V0cHV0cyhz
ZWxmLCBmdW4sIGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIpCisgICAgICAgIGV4cGVj
dGVkX2xvZ3MgPSAiQ29ubmVjdGluZyB0byBJUkNcbkRpc2Nvbm5lY3RpbmcgZnJvbSBJUkMuLi5c
biIKKyAgICAgICAgT3V0cHV0Q2FwdHVyZSgpLmFzc2VydF9vdXRwdXRzKHNlbGYsIGZ1biwgZXhw
ZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9jb21tb24vbmV0L2xheW91dHRlc3RyZXN1bHRzLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9jb21tb24vbmV0L2xheW91dHRlc3RyZXN1bHRzLnB5CmluZGV4IGYwZDgwN2VkYzI0YWQ4
NzM4YTJkNTEzZTcxNmJhYzRiNTBjZjI1MGMuLjc0MzIyYzc1N2IxMTJlYjRmNzY1YTRlMzZkNmJh
ZTFiNTdiZTQyY2IgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25l
dC9sYXlvdXR0ZXN0cmVzdWx0cy5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1v
bi9uZXQvbGF5b3V0dGVzdHJlc3VsdHMucHkKQEAgLTI5LDEyICsyOSwxNSBAQAogIyBBIG1vZHVs
ZSBmb3IgcGFyc2luZyByZXN1bHRzLmh0bWwgZmlsZXMgZ2VuZXJhdGVkIGJ5IG9sZC1ydW4td2Vi
a2l0LXRlc3RzCiAjIFRoaXMgY2xhc3MgaXMgb25lIGJpZyBoYWNrIGFuZCBvbmx5IG5lZWRzIHRv
IGV4aXN0IHVudGlsIHdlIHRyYW5zaXRpb24gdG8gbmV3LXJ1bi13ZWJraXQtdGVzdHMuCiAKK2lt
cG9ydCBsb2dnaW5nCisKIGZyb20gd2Via2l0cHkuY29tbW9uLm5ldC5yZXN1bHRzanNvbnBhcnNl
ciBpbXBvcnQgUmVzdWx0c0pTT05QYXJzZXIKLWZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5k
ZXByZWNhdGVkX2xvZ2dpbmcgaW1wb3J0IGxvZwogZnJvbSB3ZWJraXRweS50aGlyZHBhcnR5LkJl
YXV0aWZ1bFNvdXAgaW1wb3J0IEJlYXV0aWZ1bFNvdXAsIFNvdXBTdHJhaW5lcgogZnJvbSB3ZWJr
aXRweS5sYXlvdXRfdGVzdHMubW9kZWxzIGltcG9ydCB0ZXN0X3Jlc3VsdHMKIGZyb20gd2Via2l0
cHkubGF5b3V0X3Rlc3RzLm1vZGVscyBpbXBvcnQgdGVzdF9mYWlsdXJlcwogCitfbG9nID0gbG9n
Z2luZy5nZXRMb2dnZXIoX19uYW1lX18pCisKIAogIyBGSVhNRTogVGhpcyBzaG91bGQgYmUgdW5p
ZmllZCB3aXRoIGFsbCB0aGUgbGF5b3V0IHRlc3QgcmVzdWx0cyBjb2RlIGluIHRoZSBsYXlvdXRf
dGVzdHMgcGFja2FnZQogIyBUaGlzIGRvZXNuJ3QgYmVsb25nIGluIGNvbW1vbi5uZXQsIGJ1dCB3
ZSBkb24ndCBoYXZlIGEgYmV0dGVyIHBsYWNlIGZvciBpdCB5ZXQuCkBAIC03OCw3ICs4MSw3IEBA
IGNsYXNzIE9SV1RSZXN1bHRzSFRNTFBhcnNlcihvYmplY3QpOgogICAgICAgICAgICAgZWxpZiBh
bmNob3JfdGV4dCBpbiBbImV4cGVjdGVkIiwgImFjdHVhbCIsICJkaWZmIiwgInByZXR0eSBkaWZm
Il06CiAgICAgICAgICAgICAgICAgZmFpbHVyZXMuYWRkKHRlc3RfZmFpbHVyZXMuRmFpbHVyZVRl
eHRNaXNtYXRjaCgpKQogICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBsb2coIlVu
aGFuZGxlZCBsaW5rIHRleHQgaW4gcmVzdWx0cy5odG1sIHBhcnNpbmc6ICVzLiAgUGxlYXNlIGZp
bGUgYSBidWcgYWdhaW5zdCB3ZWJraXRweS4iICUgYW5jaG9yX3RleHQpCisgICAgICAgICAgICAg
ICAgX2xvZy53YXJuaW5nKCJVbmhhbmRsZWQgbGluayB0ZXh0IGluIHJlc3VsdHMuaHRtbCBwYXJz
aW5nOiAlcy4gIFBsZWFzZSBmaWxlIGEgYnVnIGFnYWluc3Qgd2Via2l0cHkuIiAlIGFuY2hvcl90
ZXh0KQogICAgICAgICAjIEZJWE1FOiBJdHMgcG9zc2libGUgdGhlIHJvdyBjb250YWluZWQgbm8g
bGlua3MgZHVlIHRvIE9SV1QgYnJva2VuZXNzLgogICAgICAgICAjIFdlIHNob3VsZCBwcm9iYWJs
eSBhc3N1bWUgc29tZSB0eXBlIG9mIGZhaWx1cmUgYW55d2F5LgogICAgICAgICByZXR1cm4gZmFp
bHVyZXMKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9sYXlv
dXR0ZXN0cmVzdWx0c191bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9u
L25ldC9sYXlvdXR0ZXN0cmVzdWx0c191bml0dGVzdC5weQppbmRleCA0NjJhODhjNjYxM2NlOTNj
ZWFjZTA5ZDdlMDI0MWM3NGMyZjk2ZGE3Li40MTMxYmRmODU0ODZjMWNiMDZiMTU4MWU2Y2M2MTcy
NGY4OTg0NGQxIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQv
bGF5b3V0dGVzdHJlc3VsdHNfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9jb21tb24vbmV0L2xheW91dHRlc3RyZXN1bHRzX3VuaXR0ZXN0LnB5CkBAIC0xMjIsOCArMTIy
LDggQEAgY2xhc3MgT1JXVFJlc3VsdHNIVE1MUGFyc2VyVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6
CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodHlwZShzb3J0ZWQoZmFpbHVyZXMpWzBdKSwgdGVz
dF9mYWlsdXJlcy5GYWlsdXJlSW1hZ2VIYXNoTWlzbWF0Y2gpCiAKICAgICAgICAgcm93ID0gQmVh
dXRpZnVsU291cCgiPHRyPjx0ZD48YT50ZXN0LmhtbDwvYT48YT5mb288L2E+PC90ZD48L3RyPiIp
Ci0gICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9ICJVbmhhbmRsZWQgbGluayB0ZXh0IGluIHJlc3Vs
dHMuaHRtbCBwYXJzaW5nOiBmb28uICBQbGVhc2UgZmlsZSBhIGJ1ZyBhZ2FpbnN0IHdlYmtpdHB5
LlxuIgotICAgICAgICBPdXRwdXRDYXB0dXJlKCkuYXNzZXJ0X291dHB1dHMoc2VsZiwgT1JXVFJl
c3VsdHNIVE1MUGFyc2VyLl9mYWlsdXJlc19mcm9tX2ZhaWxfcm93LCBbcm93XSwgZXhwZWN0ZWRf
c3RkZXJyPWV4cGVjdGVkX3N0ZGVycikKKyAgICAgICAgZXhwZWN0ZWRfbG9ncyA9ICJVbmhhbmRs
ZWQgbGluayB0ZXh0IGluIHJlc3VsdHMuaHRtbCBwYXJzaW5nOiBmb28uICBQbGVhc2UgZmlsZSBh
IGJ1ZyBhZ2FpbnN0IHdlYmtpdHB5LlxuIgorICAgICAgICBPdXRwdXRDYXB0dXJlKCkuYXNzZXJ0
X291dHB1dHMoc2VsZiwgT1JXVFJlc3VsdHNIVE1MUGFyc2VyLl9mYWlsdXJlc19mcm9tX2ZhaWxf
cm93LCBbcm93XSwgZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzKQogCiAKIGNsYXNzIExheW91
dFRlc3RSZXN1bHRzVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CmRpZmYgLS1naXQgYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvbmV0d29ya3RyYW5zYWN0aW9uLnB5IGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L25ldHdvcmt0cmFuc2FjdGlvbi5weQppbmRleCAw
M2IxNDMyNjdlMDRjNDExYTVmN2UwNDM3NmI4YjE2Zjk5NmMwNDRmLi42MGFjYWFiYTM0Yjg3OTcx
YTFjMjExZTk1ODM2ZTUwMTU4Yzk0OTNiIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2NvbW1vbi9uZXQvbmV0d29ya3RyYW5zYWN0aW9uLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvY29tbW9uL25ldC9uZXR3b3JrdHJhbnNhY3Rpb24ucHkKQEAgLTMwLDkgKzMwLDYg
QEAgaW1wb3J0IGxvZ2dpbmcKIGltcG9ydCB0aW1lCiBpbXBvcnQgdXJsbGliMgogCi1mcm9tIHdl
YmtpdHB5LmNvbW1vbi5zeXN0ZW0uZGVwcmVjYXRlZF9sb2dnaW5nIGltcG9ydCBsb2cKLQotCiBf
bG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pCiAKIApkaWZmIC0tZ2l0IGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L3Jlc3VsdHNqc29ucGFyc2VyLnB5IGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L3Jlc3VsdHNqc29ucGFyc2VyLnB5CmluZGV4IDQy
Y2U1NmExN2E1MTJlZjA4Yjg3MjZkMjkwZGZhMmFlYzllOTRiODYuLjFhMmE3MGY0YmU2ZTgxMTgy
ZjBjOTVlMzk4ZmQyYzRhZjg4M2RmNWYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvY29tbW9uL25ldC9yZXN1bHRzanNvbnBhcnNlci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2NvbW1vbi9uZXQvcmVzdWx0c2pzb25wYXJzZXIucHkKQEAgLTI2LDE2ICsyNiwxNyBA
QAogIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAotCiBpbXBvcnQganNvbgoraW1wb3J0
IGxvZ2dpbmcKIAogZnJvbSB3ZWJraXRweS5jb21tb24ubWVtb2l6ZWQgaW1wb3J0IG1lbW9pemVk
Ci1mcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZGVwcmVjYXRlZF9sb2dnaW5nIGltcG9ydCBs
b2cKICMgRklYTUU6IGNvbW1vbiBzaG91bGQgbmV2ZXIgaW1wb3J0IGZyb20gbmV3LXJ1bi13ZWJr
aXQtdGVzdHMsIG9uZSBvZiB0aGVzZSBmaWxlcyBuZWVkcyB0byBtb3ZlLgogZnJvbSB3ZWJraXRw
eS5sYXlvdXRfdGVzdHMubGF5b3V0X3BhY2thZ2UgaW1wb3J0IGpzb25fcmVzdWx0c19nZW5lcmF0
b3IKIGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLm1vZGVscyBpbXBvcnQgdGVzdF9leHBlY3Rh
dGlvbnMsIHRlc3RfcmVzdWx0cywgdGVzdF9mYWlsdXJlcwogZnJvbSB3ZWJraXRweS5sYXlvdXRf
dGVzdHMubW9kZWxzLnRlc3RfZXhwZWN0YXRpb25zIGltcG9ydCBUZXN0RXhwZWN0YXRpb25zCiAK
K19sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKKwogCiAjIFRoZXNlIGFyZSBoZWxw
ZXIgZnVuY3Rpb25zIGZvciBuYXZpZ2F0aW5nIHRoZSByZXN1bHRzIGpzb24gc3RydWN0dXJlLgog
ZGVmIGZvcl9lYWNoX3Rlc3QodHJlZSwgaGFuZGxlciwgcHJlZml4PScnKToKQEAgLTgzLDcgKzg0
LDcgQEAgY2xhc3MgSlNPTlRlc3RSZXN1bHQob2JqZWN0KToKICAgICBkZWYgX3Rva2VuaXplKHNl
bGYsIHJlc3VsdHNfc3RyaW5nKToKICAgICAgICAgdG9rZW5zID0gbWFwKFRlc3RFeHBlY3RhdGlv
bnMuZXhwZWN0YXRpb25fZnJvbV9zdHJpbmcsIHJlc3VsdHNfc3RyaW5nLnNwbGl0KCcgJykpCiAg
ICAgICAgIGlmIE5vbmUgaW4gdG9rZW5zOgotICAgICAgICAgICAgbG9nKCJVbnJlY29nbml6ZWQg
cmVzdWx0IGluICVzIiAlIHJlc3VsdHNfc3RyaW5nKQorICAgICAgICAgICAgX2xvZy53YXJuaW5n
KCJVbnJlY29nbml6ZWQgcmVzdWx0IGluICVzIiAlIHJlc3VsdHNfc3RyaW5nKQogICAgICAgICBy
ZXR1cm4gc2V0KHRva2VucykKIAogICAgIEBtZW1vaXplZApAQCAtMTIzLDcgKzEyNCw3IEBAIGNs
YXNzIEpTT05UZXN0UmVzdWx0KG9iamVjdCk6CiAgICAgICAgIGVsaWYgYWN0dWFsID09IHRlc3Rf
ZXhwZWN0YXRpb25zLk1JU1NJTkc6CiAgICAgICAgICAgICByZXR1cm4gW3Rlc3RfZmFpbHVyZXMu
RmFpbHVyZU1pc3NpbmdSZXN1bHQoKSwgdGVzdF9mYWlsdXJlcy5GYWlsdXJlTWlzc2luZ0ltYWdl
SGFzaCgpLCB0ZXN0X2ZhaWx1cmVzLkZhaWx1cmVNaXNzaW5nSW1hZ2UoKV0KICAgICAgICAgZWxz
ZToKLSAgICAgICAgICAgIGxvZygiRmFpbGVkIHRvIGhhbmRsZTogJXMiICUgc2VsZi5fcmVzdWx0
X2RpY3RbJ2FjdHVhbCddKQorICAgICAgICAgICAgX2xvZy53YXJuaW5nKCJGYWlsZWQgdG8gaGFu
ZGxlOiAlcyIgJSBzZWxmLl9yZXN1bHRfZGljdFsnYWN0dWFsJ10pCiAgICAgICAgICAgICByZXR1
cm4gW10KIAogICAgIGRlZiBfZmFpbHVyZXMoc2VsZik6CmRpZmYgLS1naXQgYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvc3RhdHVzc2VydmVyLnB5IGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9jb21tb24vbmV0L3N0YXR1c3NlcnZlci5weQppbmRleCAyYmRhMWNlODg2Njk1YzY4
OTQzOGVlYmFmZGQ3YmQ1ODI2M2M1NjZhLi45OTg1MGY1NWQ0YWVmOTRhNDQxMzdiYzhiNTA3MTI5
YmRjMjhmNjM0IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQv
c3RhdHVzc2VydmVyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9z
dGF0dXNzZXJ2ZXIucHkKQEAgLTI5LDcgKzI5LDYgQEAKICMgVGhpcyB0aGUgY2xpZW50IGRlc2ln
bmVkIHRvIHRhbGsgdG8gVG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIuCiAKIGZyb20gd2Via2l0cHku
Y29tbW9uLm5ldC5uZXR3b3JrdHJhbnNhY3Rpb24gaW1wb3J0IE5ldHdvcmtUcmFuc2FjdGlvbgot
ZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLmRlcHJlY2F0ZWRfbG9nZ2luZyBpbXBvcnQgbG9n
CiBmcm9tIHdlYmtpdHB5LnRoaXJkcGFydHkuQmVhdXRpZnVsU291cCBpbXBvcnQgQmVhdXRpZnVs
U291cAogCiBpbXBvcnQgbG9nZ2luZwpAQCAtMTQ1LDExICsxNDQsMTEgQEAgY2xhc3MgU3RhdHVz
U2VydmVyOgogICAgICAgICByZXR1cm4gTmV0d29ya1RyYW5zYWN0aW9uKCkucnVuKGxhbWJkYTog
c2VsZi5fcG9zdF93b3JrX2l0ZW1zX3RvX3NlcnZlcihxdWV1ZV9uYW1lLCB3b3JrX2l0ZW1zKSkK
IAogICAgIGRlZiB1cGRhdGVfc3RhdHVzKHNlbGYsIHF1ZXVlX25hbWUsIHN0YXR1cywgcGF0Y2g9
Tm9uZSwgcmVzdWx0c19maWxlPU5vbmUpOgotICAgICAgICBsb2coc3RhdHVzKQorICAgICAgICBf
bG9nLmluZm8oc3RhdHVzKQogICAgICAgICByZXR1cm4gTmV0d29ya1RyYW5zYWN0aW9uKCkucnVu
KGxhbWJkYTogc2VsZi5fcG9zdF9zdGF0dXNfdG9fc2VydmVyKHF1ZXVlX25hbWUsIHN0YXR1cywg
cGF0Y2gsIHJlc3VsdHNfZmlsZSkpCiAKICAgICBkZWYgdXBkYXRlX3N2bl9yZXZpc2lvbihzZWxm
LCBzdm5fcmV2aXNpb25fbnVtYmVyLCBicm9rZW5fYm90KToKLSAgICAgICAgbG9nKCJTVk4gcmV2
aXNpb246ICVzIGJyb2tlICVzIiAlIChzdm5fcmV2aXNpb25fbnVtYmVyLCBicm9rZW5fYm90KSkK
KyAgICAgICAgX2xvZy5pbmZvKCJTVk4gcmV2aXNpb246ICVzIGJyb2tlICVzIiAlIChzdm5fcmV2
aXNpb25fbnVtYmVyLCBicm9rZW5fYm90KSkKICAgICAgICAgcmV0dXJuIE5ldHdvcmtUcmFuc2Fj
dGlvbigpLnJ1bihsYW1iZGE6IHNlbGYuX3Bvc3Rfc3ZuX3JldmlzaW9uX3RvX3NlcnZlcihzdm5f
cmV2aXNpb25fbnVtYmVyLCBicm9rZW5fYm90KSkKIAogICAgIGRlZiBfZmV0Y2hfdXJsKHNlbGYs
IHVybCk6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvc3Rh
dHVzc2VydmVyX21vY2sucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvc3Rh
dHVzc2VydmVyX21vY2sucHkKaW5kZXggNjlkMWFlODA3YWU4OGRmZDliNWFkMDNkOTgwMzdkNjEy
NjI1MTQ3NS4uMjJmYTEyZjEzZmY5ZGUwMjI4NTVhNjE3ODAwMGQ0ZGQ4MTc3ZGYzNSAxMDA2NDQK
LS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L3N0YXR1c3NlcnZlcl9tb2Nr
LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9zdGF0dXNzZXJ2ZXJf
bW9jay5weQpAQCAtMjYsNyArMjYsOSBAQAogIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKICMgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
IAotZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLmRlcHJlY2F0ZWRfbG9nZ2luZyBpbXBvcnQg
bG9nCitpbXBvcnQgbG9nZ2luZworCitfbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18p
CiAKIAogY2xhc3MgTW9ja1N0YXR1c1NlcnZlcihvYmplY3QpOgpAQCAtNDgsMTcgKzUwLDE3IEBA
IGNsYXNzIE1vY2tTdGF0dXNTZXJ2ZXIob2JqZWN0KToKICAgICAgICAgcmV0dXJuIHNlbGYuX3dv
cmtfaXRlbXMucG9wKDApCiAKICAgICBkZWYgcmVsZWFzZV93b3JrX2l0ZW0oc2VsZiwgcXVldWVf
bmFtZSwgcGF0Y2gpOgotICAgICAgICBsb2coIk1PQ0s6IHJlbGVhc2Vfd29ya19pdGVtOiAlcyAl
cyIgJSAocXVldWVfbmFtZSwgcGF0Y2guaWQoKSkpCisgICAgICAgIF9sb2cuaW5mbygiTU9DSzog
cmVsZWFzZV93b3JrX2l0ZW06ICVzICVzIiAlIChxdWV1ZV9uYW1lLCBwYXRjaC5pZCgpKSkKIAog
ICAgIGRlZiB1cGRhdGVfd29ya19pdGVtcyhzZWxmLCBxdWV1ZV9uYW1lLCB3b3JrX2l0ZW1zKToK
ICAgICAgICAgc2VsZi5fd29ya19pdGVtcyA9IHdvcmtfaXRlbXMKLSAgICAgICAgbG9nKCJNT0NL
OiB1cGRhdGVfd29ya19pdGVtczogJXMgJXMiICUgKHF1ZXVlX25hbWUsIHdvcmtfaXRlbXMpKQor
ICAgICAgICBfbG9nLmluZm8oIk1PQ0s6IHVwZGF0ZV93b3JrX2l0ZW1zOiAlcyAlcyIgJSAocXVl
dWVfbmFtZSwgd29ya19pdGVtcykpCiAKICAgICBkZWYgc3VibWl0X3RvX2V3cyhzZWxmLCBwYXRj
aF9pZCk6Ci0gICAgICAgIGxvZygiTU9DSzogc3VibWl0X3RvX2V3czogJXMiICUgKHBhdGNoX2lk
KSkKKyAgICAgICAgX2xvZy5pbmZvKCJNT0NLOiBzdWJtaXRfdG9fZXdzOiAlcyIgJSAocGF0Y2hf
aWQpKQogCiAgICAgZGVmIHVwZGF0ZV9zdGF0dXMoc2VsZiwgcXVldWVfbmFtZSwgc3RhdHVzLCBw
YXRjaD1Ob25lLCByZXN1bHRzX2ZpbGU9Tm9uZSk6Ci0gICAgICAgIGxvZygiTU9DSzogdXBkYXRl
X3N0YXR1czogJXMgJXMiICUgKHF1ZXVlX25hbWUsIHN0YXR1cykpCisgICAgICAgIF9sb2cuaW5m
bygiTU9DSzogdXBkYXRlX3N0YXR1czogJXMgJXMiICUgKHF1ZXVlX25hbWUsIHN0YXR1cykpCiAg
ICAgICAgIHJldHVybiAxODcKIAogICAgIGRlZiB1cGRhdGVfc3ZuX3JldmlzaW9uKHNlbGYsIHN2
bl9yZXZpc2lvbiwgYnJva2VuX2JvdCk6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2NvbW1vbi9uZXQvdW5pdHRlc3RyZXN1bHRzLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9jb21tb24vbmV0L3VuaXR0ZXN0cmVzdWx0cy5weQppbmRleCBiYjgyYjA1MDMzMmZkNWY3MmRh
MDZmZTU1YTE0NzkwYmE0NWY1MDZmLi5iNjE2YzA5NDZhYWY1ZTg4ZGNmNjU0ZGZmMTZmMTIwYzE4
MjQ5ZDEyIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvdW5p
dHRlc3RyZXN1bHRzLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC91
bml0dGVzdHJlc3VsdHMucHkKQEAgLTI2LDkgKzI2LDEwIEBACiAjIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogIyBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgogCitpbXBvcnQgbG9nZ2luZwogaW1wb3J0IHhtbC5kb20ubWluaWRvbQogCi1m
cm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZGVwcmVjYXRlZF9sb2dnaW5nIGltcG9ydCBsb2cK
K19sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKIAogCiBjbGFzcyBVbml0VGVzdFJl
c3VsdHMob2JqZWN0KToKQEAgLTQ2LDUgKzQ3LDUgQEAgY2xhc3MgVW5pdFRlc3RSZXN1bHRzKG9i
amVjdCk6CiAgICAgICAgICAgICAgICAgICAgIGZhaWx1cmVzLmFwcGVuZCgiJXMuJXMiICUgKGNs
YXNzbmFtZSwgdGVzdG5hbWUpKQogICAgICAgICAgICAgcmV0dXJuIGZhaWx1cmVzCiAgICAgICAg
IGV4Y2VwdCB4bWwucGFyc2Vycy5leHBhdC5FeHBhdEVycm9yLCBlOgotICAgICAgICAgICAgbG9n
KCJYTUwgZXJyb3IgJXMgcGFyc2luZyB1bml0IHRlc3Qgb3V0cHV0IiAlIHN0cihlKSkKKyAgICAg
ICAgICAgIF9sb2cuZXJyb3IoIlhNTCBlcnJvciAlcyBwYXJzaW5nIHVuaXQgdGVzdCBvdXRwdXQi
ICUgc3RyKGUpKQogICAgICAgICAgICAgcmV0dXJuIE5vbmUKZGlmZiAtLWdpdCBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9leGVjdXRpdmVfbW9jay5weSBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9leGVjdXRpdmVfbW9jay5weQppbmRleCA0N2Vk
ZGVhOGIxZjc2NGExNDgwMDY1YjUwOWNhNzQ1NjA3ZjZjYWI5Li5hODNmNWIyNDVhZThmZWMyMzhl
MDQ0NjM4YTI5NTBhOTg0OTkxNzIzIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2NvbW1vbi9zeXN0ZW0vZXhlY3V0aXZlX21vY2sucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9jb21tb24vc3lzdGVtL2V4ZWN1dGl2ZV9tb2NrLnB5CkBAIC0yNiwxMiArMjYsMTQgQEAK
ICMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKK2ltcG9ydCBsb2dnaW5nCiBpbXBvcnQg
b3MKIGltcG9ydCBTdHJpbmdJTwogCi1mcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZGVwcmVj
YXRlZF9sb2dnaW5nIGltcG9ydCBsb2cKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5leGVj
dXRpdmUgaW1wb3J0IFNjcmlwdEVycm9yCiAKK19sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25h
bWVfXykKKwogCiBjbGFzcyBNb2NrUHJvY2VzcyhvYmplY3QpOgogICAgIGRlZiBfX2luaXRfXyhz
ZWxmLCBzdGRvdXQ9J01PQ0sgU1RET1VUXG4nLCBzdGRlcnI9JycpOgpAQCAtNzEsNyArNzMsNyBA
QCBjbGFzcyBNb2NrRXhlY3V0aXZlKG9iamVjdCk6CiAgICAgICAgICAgICBpZiBwcm9jZXNzX25h
bWVfZmlsdGVyKHByb2Nlc3NfbmFtZSk6CiAgICAgICAgICAgICAgICAgcnVubmluZ19waWRzLmFw
cGVuZChwcm9jZXNzX3BpZCkKIAotICAgICAgICBsb2coIk1PQ0sgcnVubmluZ19waWRzOiAlcyIg
JSBydW5uaW5nX3BpZHMpCisgICAgICAgIF9sb2cuaW5mbygiTU9DSyBydW5uaW5nX3BpZHM6ICVz
IiAlIHJ1bm5pbmdfcGlkcykKICAgICAgICAgcmV0dXJuIHJ1bm5pbmdfcGlkcwogCiAgICAgZGVm
IHJ1bl9hbmRfdGhyb3dfaWZfZmFpbChzZWxmLCBhcmdzLCBxdWlldD1GYWxzZSwgY3dkPU5vbmUs
IGVudj1Ob25lKToKQEAgLTc5LDcgKzgxLDcgQEAgY2xhc3MgTW9ja0V4ZWN1dGl2ZShvYmplY3Qp
OgogICAgICAgICAgICAgZW52X3N0cmluZyA9ICIiCiAgICAgICAgICAgICBpZiBlbnY6CiAgICAg
ICAgICAgICAgICAgZW52X3N0cmluZyA9ICIsIGVudj0lcyIgJSBlbnYKLSAgICAgICAgICAgIGxv
ZygiTU9DSyBydW5fYW5kX3Rocm93X2lmX2ZhaWw6ICVzLCBjd2Q9JXMlcyIgJSAoYXJncywgY3dk
LCBlbnZfc3RyaW5nKSkKKyAgICAgICAgICAgIF9sb2cuaW5mbygiTU9DSyBydW5fYW5kX3Rocm93
X2lmX2ZhaWw6ICVzLCBjd2Q9JXMlcyIgJSAoYXJncywgY3dkLCBlbnZfc3RyaW5nKSkKICAgICAg
ICAgaWYgc2VsZi5fc2hvdWxkX3Rocm93X3doZW5fcnVuLmludGVyc2VjdGlvbihhcmdzKToKICAg
ICAgICAgICAgIHJhaXNlIFNjcmlwdEVycm9yKCJFeGNlcHRpb24gZm9yICVzIiAlIGFyZ3MsIG91
dHB1dD0iTU9DSyBjb21tYW5kIG91dHB1dCIpCiAgICAgICAgIHJldHVybiAiTU9DSyBvdXRwdXQg
b2YgY2hpbGQgcHJvY2VzcyIKQEAgLTEwNCw3ICsxMDYsNyBAQCBjbGFzcyBNb2NrRXhlY3V0aXZl
KG9iamVjdCk6CiAgICAgICAgICAgICBpbnB1dF9zdHJpbmcgPSAiIgogICAgICAgICAgICAgaWYg
aW5wdXQ6CiAgICAgICAgICAgICAgICAgaW5wdXRfc3RyaW5nID0gIiwgaW5wdXQ9JXMiICUgaW5w
dXQKLSAgICAgICAgICAgIGxvZygiTU9DSyBydW5fY29tbWFuZDogJXMsIGN3ZD0lcyVzJXMiICUg
KGFyZ3MsIGN3ZCwgZW52X3N0cmluZywgaW5wdXRfc3RyaW5nKSkKKyAgICAgICAgICAgIF9sb2cu
aW5mbygiTU9DSyBydW5fY29tbWFuZDogJXMsIGN3ZD0lcyVzJXMiICUgKGFyZ3MsIGN3ZCwgZW52
X3N0cmluZywgaW5wdXRfc3RyaW5nKSkKICAgICAgICAgb3V0cHV0ID0gIk1PQ0sgb3V0cHV0IG9m
IGNoaWxkIHByb2Nlc3MiCiAgICAgICAgIGlmIHNlbGYuX3Nob3VsZF90aHJvdzoKICAgICAgICAg
ICAgIHJhaXNlIFNjcmlwdEVycm9yKCJNT0NLIFNjcmlwdEVycm9yIiwgb3V0cHV0PW91dHB1dCkK
QEAgLTEyOCw3ICsxMzAsNyBAQCBjbGFzcyBNb2NrRXhlY3V0aXZlKG9iamVjdCk6CiAgICAgICAg
ICAgICBlbnZfc3RyaW5nID0gIiIKICAgICAgICAgICAgIGlmIGVudjoKICAgICAgICAgICAgICAg
ICBlbnZfc3RyaW5nID0gIiwgZW52PSVzIiAlIGVudgotICAgICAgICAgICAgbG9nKCJNT0NLIHBv
cGVuOiAlcyVzJXMiICUgKGFyZ3MsIGN3ZF9zdHJpbmcsIGVudl9zdHJpbmcpKQorICAgICAgICAg
ICAgX2xvZy5pbmZvKCJNT0NLIHBvcGVuOiAlcyVzJXMiICUgKGFyZ3MsIGN3ZF9zdHJpbmcsIGVu
dl9zdHJpbmcpKQogICAgICAgICBpZiBub3Qgc2VsZi5fcHJvYzoKICAgICAgICAgICAgIHNlbGYu
X3Byb2MgPSBNb2NrUHJvY2VzcygpCiAgICAgICAgIHJldHVybiBzZWxmLl9wcm9jCmRpZmYgLS1n
aXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vdXNlcl9tb2NrLnB5IGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL3VzZXJfbW9jay5weQppbmRleCAx
NmY3OWEwYzRlNjQ5ZjQzNGRmNzMzNWQ1NGZkZmRmZTdjZDQ3ZDgwLi5kMTdlYTlhOTA4ZmVmYjlj
Y2U5N2MyNjU5ODg5N2JlZDRjY2E1ZmU3IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2NvbW1vbi9zeXN0ZW0vdXNlcl9tb2NrLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvY29tbW9uL3N5c3RlbS91c2VyX21vY2sucHkKQEAgLTI2LDcgKzI2LDkgQEAKICMgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKLWZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5kZXBy
ZWNhdGVkX2xvZ2dpbmcgaW1wb3J0IGxvZworaW1wb3J0IGxvZ2dpbmcKKworX2xvZyA9IGxvZ2dp
bmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQogCiAKIGNsYXNzIE1vY2tVc2VyKG9iamVjdCk6CkBAIC01
Miw3ICs1NCw3IEBAIGNsYXNzIE1vY2tVc2VyKG9iamVjdCk6CiAgICAgICAgIHBhc3MKIAogICAg
IGRlZiBjb25maXJtKHNlbGYsIG1lc3NhZ2U9Tm9uZSwgZGVmYXVsdD0neScpOgotICAgICAgICBs
b2cobWVzc2FnZSkKKyAgICAgICAgX2xvZy5pbmZvKG1lc3NhZ2UpCiAgICAgICAgIHJldHVybiBk
ZWZhdWx0ID09ICd5JwogCiAgICAgZGVmIGNhbl9vcGVuX3VybChzZWxmKToKQEAgLTYxLDYgKzYz
LDYgQEAgY2xhc3MgTW9ja1VzZXIob2JqZWN0KToKICAgICBkZWYgb3Blbl91cmwoc2VsZiwgdXJs
KToKICAgICAgICAgc2VsZi5vcGVuZWRfdXJscy5hcHBlbmQodXJsKQogICAgICAgICBpZiB1cmwu
c3RhcnRzd2l0aCgiZmlsZTovLyIpOgotICAgICAgICAgICAgbG9nKCJNT0NLOiB1c2VyLm9wZW5f
dXJsOiBmaWxlOi8vLi4uIikKKyAgICAgICAgICAgIF9sb2cuaW5mbygiTU9DSzogdXNlci5vcGVu
X3VybDogZmlsZTovLy4uLiIpCiAgICAgICAgICAgICByZXR1cm4KLSAgICAgICAgbG9nKCJNT0NL
OiB1c2VyLm9wZW5fdXJsOiAlcyIgJSB1cmwpCisgICAgICAgIF9sb2cuaW5mbygiTU9DSzogdXNl
ci5vcGVuX3VybDogJXMiICUgdXJsKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9jb21tb24vc3lzdGVtL3dvcmtzcGFjZV91bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvY29tbW9uL3N5c3RlbS93b3Jrc3BhY2VfdW5pdHRlc3QucHkKaW5kZXggNDkwOTRhYzYz
NmZmY2Y2MGExZDUzMzRlYzUzZDg2MGY5NTQ0MzBhOC4uZWNhMzg2YWMzMzQ4MzgxN2RkN2JmMDM4
ZjZjZmVjY2Y1NzcxMTBmYyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21t
b24vc3lzdGVtL3dvcmtzcGFjZV91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2NvbW1vbi9zeXN0ZW0vd29ya3NwYWNlX3VuaXR0ZXN0LnB5CkBAIC01MCwxOCArNTAsMjMg
QEAgY2xhc3MgV29ya3NwYWNlVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICBkZWYgdGVz
dF9jcmVhdGVfemlwKHNlbGYpOgogICAgICAgICB3b3Jrc3BhY2UgPSBXb3Jrc3BhY2UoTm9uZSwg
TW9ja0V4ZWN1dGl2ZShzaG91bGRfbG9nPVRydWUpKQotICAgICAgICBleHBlY3RlZF9zdGRlcnIg
PSAiTU9DSyBydW5fY29tbWFuZDogWyd6aXAnLCAnLTknLCAnLXInLCAnL3ppcC9wYXRoJywgJy4n
XSwgY3dkPS9zb3VyY2UvcGF0aFxuIgorICAgICAgICBleHBlY3RlZF9sb2dzID0gIk1PQ0sgcnVu
X2NvbW1hbmQ6IFsnemlwJywgJy05JywgJy1yJywgJy96aXAvcGF0aCcsICcuJ10sIGN3ZD0vc291
cmNlL3BhdGhcbiIKICAgICAgICAgY2xhc3MgTW9ja1ppcEZpbGUob2JqZWN0KToKICAgICAgICAg
ICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwYXRoKToKICAgICAgICAgICAgICAgICBzZWxmLmZpbGVu
YW1lID0gcGF0aAotICAgICAgICBhcmNoaXZlID0gT3V0cHV0Q2FwdHVyZSgpLmFzc2VydF9vdXRw
dXRzKHNlbGYsIHdvcmtzcGFjZS5jcmVhdGVfemlwLCBbIi96aXAvcGF0aCIsICIvc291cmNlL3Bh
dGgiLCBNb2NrWmlwRmlsZV0sIGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIpCisgICAg
ICAgIGFyY2hpdmUgPSBPdXRwdXRDYXB0dXJlKCkuYXNzZXJ0X291dHB1dHMoc2VsZiwgd29ya3Nw
YWNlLmNyZWF0ZV96aXAsIFsiL3ppcC9wYXRoIiwgIi9zb3VyY2UvcGF0aCIsIE1vY2taaXBGaWxl
XSwgZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KGFyY2hpdmUuZmlsZW5hbWUsICIvemlwL3BhdGgiKQogCiAgICAgZGVmIHRlc3RfY3JlYXRlX3pp
cF9leGNlcHRpb24oc2VsZik6CiAgICAgICAgIHdvcmtzcGFjZSA9IFdvcmtzcGFjZShOb25lLCBN
b2NrRXhlY3V0aXZlKHNob3VsZF9sb2c9VHJ1ZSwgc2hvdWxkX3Rocm93PVRydWUpKQotICAgICAg
ICBleHBlY3RlZF9zdGRlcnIgPSAiTU9DSyBydW5fY29tbWFuZDogWyd6aXAnLCAnLTknLCAnLXIn
LCAnL3ppcC9wYXRoJywgJy4nXSwgY3dkPS9zb3VyY2UvcGF0aFxuIgorICAgICAgICBleHBlY3Rl
ZF9sb2dzID0gIiIiTU9DSyBydW5fY29tbWFuZDogWyd6aXAnLCAnLTknLCAnLXInLCAnL3ppcC9w
YXRoJywgJy4nXSwgY3dkPS9zb3VyY2UvcGF0aAorV29ya3NwYWNlLmNyZWF0ZV96aXAgZmFpbGVk
OgorTU9DSyBTY3JpcHRFcnJvcgorCitNT0NLIG91dHB1dCBvZiBjaGlsZCBwcm9jZXNzCisiIiIK
ICAgICAgICAgY2xhc3MgTW9ja1ppcEZpbGUob2JqZWN0KToKICAgICAgICAgICAgIGRlZiBfX2lu
aXRfXyhzZWxmLCBwYXRoKToKICAgICAgICAgICAgICAgICBzZWxmLmZpbGVuYW1lID0gcGF0aAot
ICAgICAgICBhcmNoaXZlID0gT3V0cHV0Q2FwdHVyZSgpLmFzc2VydF9vdXRwdXRzKHNlbGYsIHdv
cmtzcGFjZS5jcmVhdGVfemlwLCBbIi96aXAvcGF0aCIsICIvc291cmNlL3BhdGgiLCBNb2NrWmlw
RmlsZV0sIGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIpCisgICAgICAgIGFyY2hpdmUg
PSBPdXRwdXRDYXB0dXJlKCkuYXNzZXJ0X291dHB1dHMoc2VsZiwgd29ya3NwYWNlLmNyZWF0ZV96
aXAsIFsiL3ppcC9wYXRoIiwgIi9zb3VyY2UvcGF0aCIsIE1vY2taaXBGaWxlXSwgZXhwZWN0ZWRf
bG9ncz1leHBlY3RlZF9sb2dzKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGFyY2hpdmUsIE5v
bmUpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi93YXRjaGxpc3Qv
d2F0Y2hsaXN0X21vY2sucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi93YXRjaGxp
c3Qvd2F0Y2hsaXN0X21vY2sucHkKaW5kZXggMmZkMmY4ODBmZmUxYmJjYjAyOWM3NjViZmFhOGVl
NTc2Y2JiNTgyNC4uY2JiZjA3MThhYTYyODczMGJjZjVhYjU3NDNkMjcyZTVhOGQyMThjNSAxMDA2
NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vd2F0Y2hsaXN0L3dhdGNobGlz
dF9tb2NrLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3dhdGNobGlzdC93
YXRjaGxpc3RfbW9jay5weQpAQCAtMjYsMTAgKzI2LDEyIEBACiAjIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogIyBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgogCi1mcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZGVwcmVjYXRlZF9sb2dn
aW5nIGltcG9ydCBsb2cKK2ltcG9ydCBsb2dnaW5nCisKK19sb2cgPSBsb2dnaW5nLmdldExvZ2dl
cihfX25hbWVfXykKIAogCiBjbGFzcyBNb2NrV2F0Y2hMaXN0KG9iamVjdCk6CiAgICAgZGVmIGRl
dGVybWluZV9jY19hbmRfbWVzc2FnZXMoc2VsZiwgZGlmZik6Ci0gICAgICAgIGxvZygiTW9ja1dh
dGNoTGlzdDogZGV0ZXJtaW5lX2NjX2FuZF9tZXNzYWdlcyIpCisgICAgICAgIF9sb2cuaW5mbygi
TW9ja1dhdGNoTGlzdDogZGV0ZXJtaW5lX2NjX2FuZF9tZXNzYWdlcyIpCiAgICAgICAgIHJldHVy
biB7J2NjX2xpc3QnOiBbJ2FiYXJ0aEB3ZWJraXQub3JnJywgJ2VyaWNAd2Via2l0Lm9yZycsICds
ZXZpbkBjaHJvbWl1bS5vcmcnXSwgJ21lc3NhZ2VzJzogWydNZXNzYWdlMS4nLCAnTWVzc2FnZTIu
J10sIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Bv
cnQvY2hyb21pdW1fd2luX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcG9ydC9jaHJvbWl1bV93aW5fdW5pdHRlc3QucHkKaW5kZXggMWMwZGRjMWZlODZl
MDA4OTYwOGM5YjViYjdjZmM2NzllOWUwMWI3MC4uYTg0YjVlZTE1MWU5ODZiM2NiYmYzNDhlYzJm
YjIzNDEyMmUyYTMwZCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvcG9ydC9jaHJvbWl1bV93aW5fdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV93aW5fdW5pdHRlc3QucHkKQEAgLTY0
LDkgKzY0LDkgQEAgY2xhc3MgQ2hyb21pdW1XaW5UZXN0KGNocm9taXVtX3BvcnRfdGVzdGNhc2Uu
Q2hyb21pdW1Qb3J0VGVzdENhc2UpOgogICAgIGRlZiB0ZXN0X3NldHVwX2Vudmlyb25fZm9yX3Nl
cnZlcl9yZWdpc3Rlcl9jeWd3aW4oc2VsZik6CiAgICAgICAgIHBvcnQgPSBzZWxmLm1ha2VfcG9y
dChvcHRpb25zPU1vY2tPcHRpb25zKHJlZ2lzdGVyX2N5Z3dpbj1UcnVlLCByZXN1bHRzX2RpcmVj
dG9yeT0nLycpKQogICAgICAgICBwb3J0Ll9leGVjdXRpdmUgPSBNb2NrRXhlY3V0aXZlKHNob3Vs
ZF9sb2c9VHJ1ZSkKLSAgICAgICAgZXhwZWN0ZWRfc3RkZXJyID0gIk1PQ0sgcnVuX2NvbW1hbmQ6
IFsnL21vY2stY2hlY2tvdXQvU291cmNlL1dlYktpdC9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jeWd3
aW4vc2V0dXBfbW91bnQuYmF0J10sIGN3ZD1Ob25lXG4iCisgICAgICAgIGV4cGVjdGVkX2xvZ3Mg
PSAiTU9DSyBydW5fY29tbWFuZDogWycvbW9jay1jaGVja291dC9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3RoaXJkX3BhcnR5L2N5Z3dpbi9zZXR1cF9tb3VudC5iYXQnXSwgY3dkPU5vbmVcbiIKICAg
ICAgICAgb3V0cHV0ID0gb3V0cHV0Y2FwdHVyZS5PdXRwdXRDYXB0dXJlKCkKLSAgICAgICAgb3V0
cHV0LmFzc2VydF9vdXRwdXRzKHNlbGYsIHBvcnQuc2V0dXBfZW52aXJvbl9mb3Jfc2VydmVyLCBl
eHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRfc3RkZXJyKQorICAgICAgICBvdXRwdXQuYXNzZXJ0X291
dHB1dHMoc2VsZiwgcG9ydC5zZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2ZXIsIGV4cGVjdGVkX2xvZ3M9
ZXhwZWN0ZWRfbG9ncykKIAogICAgIGRlZiBhc3NlcnRfbmFtZShzZWxmLCBwb3J0X25hbWUsIG9z
X3ZlcnNpb25fc3RyaW5nLCBleHBlY3RlZCk6CiAgICAgICAgIHBvcnQgPSBzZWxmLm1ha2VfcG9y
dChwb3J0X25hbWU9cG9ydF9uYW1lLCBvc192ZXJzaW9uPW9zX3ZlcnNpb25fc3RyaW5nKQpkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9lZmxfdW5p
dHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2VmbF91
bml0dGVzdC5weQppbmRleCBkOTg1MWIzMmVmNWQyNzdiMjA5OGY0YjIxZmIzYjgzZDE1ZjRhMTI1
Li4xYWM2ODdiMTg3Y2QyMzk3MjFkZWZlZjg1NzIzYjcwOTliMmEyMzg2IDEwMDY0NAotLS0gYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2VmbF91bml0dGVzdC5weQor
KysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2VmbF91bml0dGVz
dC5weQpAQCAtMzksNSArMzksNSBAQCBjbGFzcyBFZmxQb3J0VGVzdChwb3J0X3Rlc3RjYXNlLlBv
cnRUZXN0Q2FzZSk6CiAgICAgZGVmIHRlc3Rfc2hvd19yZXN1bHRzX2h0bWxfZmlsZShzZWxmKToK
ICAgICAgICAgcG9ydCA9IHNlbGYubWFrZV9wb3J0KCkKICAgICAgICAgcG9ydC5fZXhlY3V0aXZl
ID0gTW9ja0V4ZWN1dGl2ZShzaG91bGRfbG9nPVRydWUpCi0gICAgICAgIGV4cGVjdGVkX3N0ZGVy
ciA9ICJNT0NLIHJ1bl9jb21tYW5kOiBbJ1Rvb2xzL1NjcmlwdHMvcnVuLWxhdW5jaGVyJywgJy0t
cmVsZWFzZScsICctLWVmbCcsICdmaWxlOi8vdGVzdC5odG1sJ10sIGN3ZD0vbW9jay1jaGVja291
dFxuIgotICAgICAgICBPdXRwdXRDYXB0dXJlKCkuYXNzZXJ0X291dHB1dHMoc2VsZiwgcG9ydC5z
aG93X3Jlc3VsdHNfaHRtbF9maWxlLCBbInRlc3QuaHRtbCJdLCBleHBlY3RlZF9zdGRlcnI9ZXhw
ZWN0ZWRfc3RkZXJyKQorICAgICAgICBleHBlY3RlZF9sb2dzID0gIk1PQ0sgcnVuX2NvbW1hbmQ6
IFsnVG9vbHMvU2NyaXB0cy9ydW4tbGF1bmNoZXInLCAnLS1yZWxlYXNlJywgJy0tZWZsJywgJ2Zp
bGU6Ly90ZXN0Lmh0bWwnXSwgY3dkPS9tb2NrLWNoZWNrb3V0XG4iCisgICAgICAgIE91dHB1dENh
cHR1cmUoKS5hc3NlcnRfb3V0cHV0cyhzZWxmLCBwb3J0LnNob3dfcmVzdWx0c19odG1sX2ZpbGUs
IFsidGVzdC5odG1sIl0sIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncykKZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvZ3RrX3VuaXR0ZXN0LnB5
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9ndGtfdW5pdHRlc3Qu
cHkKaW5kZXggNmY1ZmFlNjhkYzFlMTRiZWY0YzRkOGY0N2NjNmQ3MjJhNjhhMjc2NC4uNzAwMjQ5
NWE0OTExNGE2NmZlMzQ3ZDg4Mzc4MGVjNGY3ZWZhOWQ1YyAxMDA2NDQKLS0tIGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9ndGtfdW5pdHRlc3QucHkKKysrIGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9ndGtfdW5pdHRlc3QucHkKQEAg
LTQ2LDggKzQ2LDggQEAgY2xhc3MgR3RrUG9ydFRlc3QocG9ydF90ZXN0Y2FzZS5Qb3J0VGVzdENh
c2UpOgogICAgIGRlZiB0ZXN0X3Nob3dfcmVzdWx0c19odG1sX2ZpbGUoc2VsZik6CiAgICAgICAg
IHBvcnQgPSBzZWxmLm1ha2VfcG9ydCgpCiAgICAgICAgIHBvcnQuX2V4ZWN1dGl2ZSA9IE1vY2tF
eGVjdXRpdmUoc2hvdWxkX2xvZz1UcnVlKQotICAgICAgICBleHBlY3RlZF9zdGRlcnIgPSAiTU9D
SyBydW5fY29tbWFuZDogWydUb29scy9TY3JpcHRzL3J1bi1sYXVuY2hlcicsICctLXJlbGVhc2Un
LCAnLS1ndGsnLCAnZmlsZTovL3Rlc3QuaHRtbCddLCBjd2Q9L21vY2stY2hlY2tvdXRcbiIKLSAg
ICAgICAgT3V0cHV0Q2FwdHVyZSgpLmFzc2VydF9vdXRwdXRzKHNlbGYsIHBvcnQuc2hvd19yZXN1
bHRzX2h0bWxfZmlsZSwgWyJ0ZXN0Lmh0bWwiXSwgZXhwZWN0ZWRfc3RkZXJyPWV4cGVjdGVkX3N0
ZGVycikKKyAgICAgICAgZXhwZWN0ZWRfbG9ncyA9ICJNT0NLIHJ1bl9jb21tYW5kOiBbJ1Rvb2xz
L1NjcmlwdHMvcnVuLWxhdW5jaGVyJywgJy0tcmVsZWFzZScsICctLWd0aycsICdmaWxlOi8vdGVz
dC5odG1sJ10sIGN3ZD0vbW9jay1jaGVja291dFxuIgorICAgICAgICBPdXRwdXRDYXB0dXJlKCku
YXNzZXJ0X291dHB1dHMoc2VsZiwgcG9ydC5zaG93X3Jlc3VsdHNfaHRtbF9maWxlLCBbInRlc3Qu
aHRtbCJdLCBleHBlY3RlZF9sb2dzPWV4cGVjdGVkX2xvZ3MpCiAKICAgICBkZWYgdGVzdF9kZWZh
dWx0X3RpbWVvdXRfbXMoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5tYWtl
X3BvcnQob3B0aW9ucz1Nb2NrT3B0aW9ucyhjb25maWd1cmF0aW9uPSdSZWxlYXNlJykpLmRlZmF1
bHRfdGltZW91dF9tcygpLCA2MDAwKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvcG9ydC9tYWNfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9wb3J0L21hY191bml0dGVzdC5weQppbmRleCA1MTEyMDE0NjRjZDM0
MjI1MDEwY2RjMDJkN2RiMzVmMjExYmVjYzcxLi44MzFmYmY3YzljMDI4ZDYyYjFmNDY1YjIyNWUw
M2M5MjI5NDMzNGM2IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9wb3J0L21hY191bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9wb3J0L21hY191bml0dGVzdC5weQpAQCAtMTM5LDggKzEzOSw4IEBAIGphdmEv
CiAgICAgICAgIHBvcnQgPSBzZWxmLm1ha2VfcG9ydCgpCiAgICAgICAgICMgRGVsYXkgc2V0dGlu
ZyBhIHNob3VsZF9sb2cgZXhlY3V0aXZlIHRvIGF2b2lkIGxvZ2dpbmcgZnJvbSBNYWNQb3J0Ll9f
aW5pdF9fLgogICAgICAgICBwb3J0Ll9leGVjdXRpdmUgPSBNb2NrRXhlY3V0aXZlKHNob3VsZF9s
b2c9VHJ1ZSkKLSAgICAgICAgZXhwZWN0ZWRfc3RkZXJyID0gIk1PQ0sgcG9wZW46IFsnVG9vbHMv
U2NyaXB0cy9ydW4tc2FmYXJpJywgJy0tcmVsZWFzZScsICctLW5vLXNhdmVkLXN0YXRlJywgJy1O
U09wZW4nLCAndGVzdC5odG1sJ10sIGN3ZD0vbW9jay1jaGVja291dFxuIgotICAgICAgICBPdXRw
dXRDYXB0dXJlKCkuYXNzZXJ0X291dHB1dHMoc2VsZiwgcG9ydC5zaG93X3Jlc3VsdHNfaHRtbF9m
aWxlLCBbInRlc3QuaHRtbCJdLCBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRfc3RkZXJyKQorICAg
ICAgICBleHBlY3RlZF9sb2dzID0gIk1PQ0sgcG9wZW46IFsnVG9vbHMvU2NyaXB0cy9ydW4tc2Fm
YXJpJywgJy0tcmVsZWFzZScsICctLW5vLXNhdmVkLXN0YXRlJywgJy1OU09wZW4nLCAndGVzdC5o
dG1sJ10sIGN3ZD0vbW9jay1jaGVja291dFxuIgorICAgICAgICBPdXRwdXRDYXB0dXJlKCkuYXNz
ZXJ0X291dHB1dHMoc2VsZiwgcG9ydC5zaG93X3Jlc3VsdHNfaHRtbF9maWxlLCBbInRlc3QuaHRt
bCJdLCBleHBlY3RlZF9sb2dzPWV4cGVjdGVkX2xvZ3MpCiAKICAgICBkZWYgdGVzdF9vcGVyYXRp
bmdfc3lzdGVtKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdtYWMnLCBzZWxmLm1h
a2VfcG9ydCgpLm9wZXJhdGluZ19zeXN0ZW0oKSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvcG9ydF90ZXN0Y2FzZS5weSBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvcG9ydF90ZXN0Y2FzZS5weQppbmRleCBlN2Nk
NzZjOTI0NDc2YjYwMDE2YTMyMmZiYjY2NDQxYzNkNGEwZWM2Li44ZWExMDhiYTBiMzhhY2MwYjg1
MTZkZjE3MGZmNDg5YzFlZTVjNWVhIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9wb3J0L3BvcnRfdGVzdGNhc2UucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9wb3J0X3Rlc3RjYXNlLnB5CkBAIC01MzUsMjggKzUz
NSwzMyBAQCBjbGFzcyBQb3J0VGVzdENhc2UodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAj
IERlbGF5IHNldHRpbmcgX2V4ZWN1dGl2ZSB0byBhdm9pZCBsb2dnaW5nIGR1cmluZyBjb25zdHJ1
Y3Rpb24KICAgICAgICAgcG9ydC5fZXhlY3V0aXZlID0gTW9ja0V4ZWN1dGl2ZShzaG91bGRfbG9n
PVRydWUpCiAgICAgICAgIHBvcnQuX29wdGlvbnMgPSBNb2NrT3B0aW9ucyhjb25maWd1cmF0aW9u
PSJSZWxlYXNlIikgICMgVGhpcyBzaG91bGQgbm90IGJlIG5lY2Vzc2FyeSwgYnV0IEkgdGhpbmsg
VGVzdFdlYktpdFBvcnQgaXMgYWN0dWFsbHkgcmVhZGluZyBmcm9tIGRpc2sgKGFuZCB0aHVzIGRl
dGVjdHMgdGhlIGN1cnJlbnQgY29uZmlndXJhdGlvbikuCi0gICAgICAgIGV4cGVjdGVkX3N0ZGVy
ciA9ICJNT0NLIHJ1bl9jb21tYW5kOiBbJ1Rvb2xzL1NjcmlwdHMvYnVpbGQtZHVtcHJlbmRlcnRy
ZWUnLCAnLS1yZWxlYXNlJ10sIGN3ZD0vbW9jay1jaGVja291dCwgZW52PXsnTENfQUxMJzogJ0Mn
LCAnTU9DS19FTlZJUk9OX0NPUFknOiAnMSd9XG4iCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShv
dXRwdXQuYXNzZXJ0X291dHB1dHMoc2VsZiwgcG9ydC5fYnVpbGRfZHJpdmVyLCBleHBlY3RlZF9z
dGRlcnI9ZXhwZWN0ZWRfc3RkZXJyLCBleHBlY3RlZF9sb2dzPScnKSkKKyAgICAgICAgZXhwZWN0
ZWRfbG9ncyA9ICJNT0NLIHJ1bl9jb21tYW5kOiBbJ1Rvb2xzL1NjcmlwdHMvYnVpbGQtZHVtcHJl
bmRlcnRyZWUnLCAnLS1yZWxlYXNlJ10sIGN3ZD0vbW9jay1jaGVja291dCwgZW52PXsnTENfQUxM
JzogJ0MnLCAnTU9DS19FTlZJUk9OX0NPUFknOiAnMSd9XG4iCisgICAgICAgIHNlbGYuYXNzZXJ0
VHJ1ZShvdXRwdXQuYXNzZXJ0X291dHB1dHMoc2VsZiwgcG9ydC5fYnVpbGRfZHJpdmVyLCBleHBl
Y3RlZF9sb2dzPWV4cGVjdGVkX2xvZ3MpKQogCiAgICAgICAgICMgTWFrZSBzdXJlIHdoZW4gcGFz
c2VkIC0td2Via2l0LXRlc3QtcnVubmVyIHdlIGJ1aWxkIHRoZSByaWdodCB0b29sLgogICAgICAg
ICBwb3J0Ll9vcHRpb25zID0gTW9ja09wdGlvbnMod2Via2l0X3Rlc3RfcnVubmVyPVRydWUsIGNv
bmZpZ3VyYXRpb249IlJlbGVhc2UiKQotICAgICAgICBleHBlY3RlZF9zdGRlcnIgPSAiTU9DSyBy
dW5fY29tbWFuZDogWydUb29scy9TY3JpcHRzL2J1aWxkLWR1bXByZW5kZXJ0cmVlJywgJy0tcmVs
ZWFzZSddLCBjd2Q9L21vY2stY2hlY2tvdXQsIGVudj17J0xDX0FMTCc6ICdDJywgJ01PQ0tfRU5W
SVJPTl9DT1BZJzogJzEnfVxuTU9DSyBydW5fY29tbWFuZDogWydUb29scy9TY3JpcHRzL2J1aWxk
LXdlYmtpdHRlc3RydW5uZXInLCAnLS1yZWxlYXNlJ10sIGN3ZD0vbW9jay1jaGVja291dCwgZW52
PXsnTENfQUxMJzogJ0MnLCAnTU9DS19FTlZJUk9OX0NPUFknOiAnMSd9XG4iCi0gICAgICAgIHNl
bGYuYXNzZXJ0VHJ1ZShvdXRwdXQuYXNzZXJ0X291dHB1dHMoc2VsZiwgcG9ydC5fYnVpbGRfZHJp
dmVyLCBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRfc3RkZXJyLCBleHBlY3RlZF9sb2dzPScnKSkK
KyAgICAgICAgZXhwZWN0ZWRfbG9ncyA9ICJNT0NLIHJ1bl9jb21tYW5kOiBbJ1Rvb2xzL1Njcmlw
dHMvYnVpbGQtZHVtcHJlbmRlcnRyZWUnLCAnLS1yZWxlYXNlJ10sIGN3ZD0vbW9jay1jaGVja291
dCwgZW52PXsnTENfQUxMJzogJ0MnLCAnTU9DS19FTlZJUk9OX0NPUFknOiAnMSd9XG5NT0NLIHJ1
bl9jb21tYW5kOiBbJ1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0dGVzdHJ1bm5lcicsICctLXJl
bGVhc2UnXSwgY3dkPS9tb2NrLWNoZWNrb3V0LCBlbnY9eydMQ19BTEwnOiAnQycsICdNT0NLX0VO
VklST05fQ09QWSc6ICcxJ31cbiIKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG91dHB1dC5hc3Nl
cnRfb3V0cHV0cyhzZWxmLCBwb3J0Ll9idWlsZF9kcml2ZXIsIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0
ZWRfbG9ncykpCiAKICAgICAgICAgIyBNYWtlIHN1cmUgd2Ugc2hvdyB0aGUgYnVpbGQgbG9nIHdo
ZW4gLS12ZXJib3NlIGlzIHBhc3NlZCwgd2hpY2ggd2Ugc2ltdWxhdGUgYnkgc2V0dGluZyB0aGUg
bG9nZ2luZyBsZXZlbCB0byBERUJVRy4KICAgICAgICAgb3V0cHV0LnNldF9sb2dfbGV2ZWwobG9n
Z2luZy5ERUJVRykKICAgICAgICAgcG9ydC5fb3B0aW9ucyA9IE1vY2tPcHRpb25zKGNvbmZpZ3Vy
YXRpb249IlJlbGVhc2UiKQotICAgICAgICBleHBlY3RlZF9zdGRlcnIgPSAiTU9DSyBydW5fY29t
bWFuZDogWydUb29scy9TY3JpcHRzL2J1aWxkLWR1bXByZW5kZXJ0cmVlJywgJy0tcmVsZWFzZSdd
LCBjd2Q9L21vY2stY2hlY2tvdXQsIGVudj17J0xDX0FMTCc6ICdDJywgJ01PQ0tfRU5WSVJPTl9D
T1BZJzogJzEnfVxuIgotICAgICAgICBleHBlY3RlZF9sb2dzID0gIk91dHB1dCBvZiBbJ1Rvb2xz
L1NjcmlwdHMvYnVpbGQtZHVtcHJlbmRlcnRyZWUnLCAnLS1yZWxlYXNlJ106XG5NT0NLIG91dHB1
dCBvZiBjaGlsZCBwcm9jZXNzXG4iCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShvdXRwdXQuYXNz
ZXJ0X291dHB1dHMoc2VsZiwgcG9ydC5fYnVpbGRfZHJpdmVyLCBleHBlY3RlZF9zdGRlcnI9ZXhw
ZWN0ZWRfc3RkZXJyLCBleHBlY3RlZF9sb2dzPWV4cGVjdGVkX2xvZ3MpKQorICAgICAgICBleHBl
Y3RlZF9sb2dzID0gIiIiTU9DSyBydW5fY29tbWFuZDogWydUb29scy9TY3JpcHRzL2J1aWxkLWR1
bXByZW5kZXJ0cmVlJywgJy0tcmVsZWFzZSddLCBjd2Q9L21vY2stY2hlY2tvdXQsIGVudj17J0xD
X0FMTCc6ICdDJywgJ01PQ0tfRU5WSVJPTl9DT1BZJzogJzEnfQorT3V0cHV0IG9mIFsnVG9vbHMv
U2NyaXB0cy9idWlsZC1kdW1wcmVuZGVydHJlZScsICctLXJlbGVhc2UnXToKK01PQ0sgb3V0cHV0
IG9mIGNoaWxkIHByb2Nlc3MKKyIiIgorICAgICAgICBzZWxmLmFzc2VydFRydWUob3V0cHV0LmFz
c2VydF9vdXRwdXRzKHNlbGYsIHBvcnQuX2J1aWxkX2RyaXZlciwgZXhwZWN0ZWRfbG9ncz1leHBl
Y3RlZF9sb2dzKSkKICAgICAgICAgb3V0cHV0LnNldF9sb2dfbGV2ZWwobG9nZ2luZy5JTkZPKQog
CiAgICAgICAgICMgTWFrZSBzdXJlIHRoYXQgZmFpbHVyZSB0byBidWlsZCByZXR1cm5zIEZhbHNl
LgogICAgICAgICBwb3J0Ll9leGVjdXRpdmUgPSBNb2NrRXhlY3V0aXZlKHNob3VsZF9sb2c9VHJ1
ZSwgc2hvdWxkX3Rocm93PVRydWUpCiAgICAgICAgICMgQmVjYXVzZSBXSzIgY3VycmVudGx5IGhh
cyB0byBidWlsZCBib3RoIHdlYmtpdHRlc3RydW5uZXIgYW5kIERSVCwgaWYgRFJUIGZhaWxzLCB0
aGF0J3MgdGhlIG9ubHkgb25lIGl0IHRyaWVzLgotICAgICAgICBleHBlY3RlZF9zdGRlcnIgPSAi
TU9DSyBydW5fY29tbWFuZDogWydUb29scy9TY3JpcHRzL2J1aWxkLWR1bXByZW5kZXJ0cmVlJywg
Jy0tcmVsZWFzZSddLCBjd2Q9L21vY2stY2hlY2tvdXQsIGVudj17J0xDX0FMTCc6ICdDJywgJ01P
Q0tfRU5WSVJPTl9DT1BZJzogJzEnfVxuIgotICAgICAgICBleHBlY3RlZF9sb2dzID0gIk1PQ0sg
U2NyaXB0RXJyb3JcblxuTU9DSyBvdXRwdXQgb2YgY2hpbGQgcHJvY2Vzc1xuIgotICAgICAgICBz
ZWxmLmFzc2VydEZhbHNlKG91dHB1dC5hc3NlcnRfb3V0cHV0cyhzZWxmLCBwb3J0Ll9idWlsZF9k
cml2ZXIsIGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIsIGV4cGVjdGVkX2xvZ3M9ZXhw
ZWN0ZWRfbG9ncykpCisgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAiIiJNT0NLIHJ1bl9jb21tYW5k
OiBbJ1Rvb2xzL1NjcmlwdHMvYnVpbGQtZHVtcHJlbmRlcnRyZWUnLCAnLS1yZWxlYXNlJ10sIGN3
ZD0vbW9jay1jaGVja291dCwgZW52PXsnTENfQUxMJzogJ0MnLCAnTU9DS19FTlZJUk9OX0NPUFkn
OiAnMSd9CitNT0NLIFNjcmlwdEVycm9yCisKK01PQ0sgb3V0cHV0IG9mIGNoaWxkIHByb2Nlc3MK
KyIiIgorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKG91dHB1dC5hc3NlcnRfb3V0cHV0cyhzZWxm
LCBwb3J0Ll9idWlsZF9kcml2ZXIsIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncykpCiAKICAg
ICBkZWYgX2Fzc2VydF9jb25maWdfZmlsZV9mb3JfcGxhdGZvcm0oc2VsZiwgcG9ydCwgcGxhdGZv
cm0sIGNvbmZpZ19maWxlKToKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwb3J0Ll9hcGFjaGVf
Y29uZmlnX2ZpbGVfbmFtZV9mb3JfcGxhdGZvcm0ocGxhdGZvcm0pLCBjb25maWdfZmlsZSkKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvcXRfdW5p
dHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3F0X3Vu
aXR0ZXN0LnB5CmluZGV4IDRhNTU4ZjhkZDAxOWU1NjEzNDE1OTQ3ZjhlMjdmYTdhOTUxYTY1Mjcu
LmQ2ZWY4ZDg1ZTQzNTYyZjJmOWQzZjM1MzYzNDU1ODg0ZTA1Y2VmZmQgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvcXRfdW5pdHRlc3QucHkKKysr
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9xdF91bml0dGVzdC5w
eQpAQCAtMTA0LDggKzEwNCw4IEBAIGNsYXNzIFF0UG9ydFRlc3QocG9ydF90ZXN0Y2FzZS5Qb3J0
VGVzdENhc2UpOgogICAgIGRlZiB0ZXN0X3Nob3dfcmVzdWx0c19odG1sX2ZpbGUoc2VsZik6CiAg
ICAgICAgIHBvcnQgPSBzZWxmLm1ha2VfcG9ydCgpCiAgICAgICAgIHBvcnQuX2V4ZWN1dGl2ZSA9
IE1vY2tFeGVjdXRpdmUoc2hvdWxkX2xvZz1UcnVlKQotICAgICAgICBleHBlY3RlZF9zdGRlcnIg
PSAiTU9DSyBydW5fY29tbWFuZDogWydUb29scy9TY3JpcHRzL3J1bi1sYXVuY2hlcicsICctLXJl
bGVhc2UnLCAnLS1xdCcsICdmaWxlOi8vdGVzdC5odG1sJ10sIGN3ZD0vbW9jay1jaGVja291dFxu
IgotICAgICAgICBPdXRwdXRDYXB0dXJlKCkuYXNzZXJ0X291dHB1dHMoc2VsZiwgcG9ydC5zaG93
X3Jlc3VsdHNfaHRtbF9maWxlLCBbInRlc3QuaHRtbCJdLCBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0
ZWRfc3RkZXJyKQorICAgICAgICBleHBlY3RlZF9sb2dzID0gIk1PQ0sgcnVuX2NvbW1hbmQ6IFsn
VG9vbHMvU2NyaXB0cy9ydW4tbGF1bmNoZXInLCAnLS1yZWxlYXNlJywgJy0tcXQnLCAnZmlsZTov
L3Rlc3QuaHRtbCddLCBjd2Q9L21vY2stY2hlY2tvdXRcbiIKKyAgICAgICAgT3V0cHV0Q2FwdHVy
ZSgpLmFzc2VydF9vdXRwdXRzKHNlbGYsIHBvcnQuc2hvd19yZXN1bHRzX2h0bWxfZmlsZSwgWyJ0
ZXN0Lmh0bWwiXSwgZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzKQogCiAgICAgZGVmIHRlc3Rf
c2V0dXBfZW52aXJvbl9mb3Jfc2VydmVyKHNlbGYpOgogICAgICAgICBwb3J0ID0gc2VsZi5tYWtl
X3BvcnQoKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
cG9ydC93aW5fdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9wb3J0L3dpbl91bml0dGVzdC5weQppbmRleCA2Njg2ODVmNTYzOGFhZmQ5OTY5ZmVhYTliODRh
Zjk0NjYzNDgzYzc1Li45ZGVmNzI0NmE3OGU4MTM3MzYwMmUzNGQ2MzQ4MzM0NzQ1MzAyYjljIDEw
MDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3dpbl91
bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0
L3dpbl91bml0dGVzdC5weQpAQCAtNTEsMTEgKzUxLDExIEBAIGNsYXNzIFdpblBvcnRUZXN0KHBv
cnRfdGVzdGNhc2UuUG9ydFRlc3RDYXNlKToKICAgICAgICAgY2FwdHVyZSA9IE91dHB1dENhcHR1
cmUoKQogICAgICAgICBjYXB0dXJlLmNhcHR1cmVfb3V0cHV0KCkKICAgICAgICAgcG9ydC5zaG93
X3Jlc3VsdHNfaHRtbF9maWxlKCd0ZXN0Lmh0bWwnKQotICAgICAgICBfLCBzdGRlcnIsIF8gPSBj
YXB0dXJlLnJlc3RvcmVfb3V0cHV0KCkKKyAgICAgICAgXywgXywgbG9ncyA9IGNhcHR1cmUucmVz
dG9yZV9vdXRwdXQoKQogICAgICAgICAjIFdlIGNhbid0IGtub3cgZm9yIHN1cmUgd2hhdCBwYXRo
IHdpbGwgYmUgcHJvZHVjZWQgYnkgY3lncGF0aCwgYnV0IHdlIGNhbiBhc3NlcnQgYWJvdXQKICAg
ICAgICAgIyBldmVyeXRoaW5nIGVsc2UuCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzdGRlcnIu
c3RhcnRzd2l0aCgiTU9DSyBydW5fY29tbWFuZDogWydUb29scy9TY3JpcHRzL3J1bi1zYWZhcmkn
LCAnLS1yZWxlYXNlJywgJyIpKQotICAgICAgICBzZWxmLmFzc2VydFRydWUoc3RkZXJyLmVuZHN3
aXRoKCJ0ZXN0Lmh0bWwnXSwgY3dkPS9tb2NrLWNoZWNrb3V0XG4iKSkKKyAgICAgICAgc2VsZi5h
c3NlcnRUcnVlKGxvZ3Muc3RhcnRzd2l0aCgiTU9DSyBydW5fY29tbWFuZDogWydUb29scy9TY3Jp
cHRzL3J1bi1zYWZhcmknLCAnLS1yZWxlYXNlJywgJyIpKQorICAgICAgICBzZWxmLmFzc2VydFRy
dWUobG9ncy5lbmRzd2l0aCgidGVzdC5odG1sJ10sIGN3ZD0vbW9jay1jaGVja291dFxuIikpCiAK
ICAgICBkZWYgX2Fzc2VydF9zZWFyY2hfcGF0aChzZWxmLCBleHBlY3RlZF9zZWFyY2hfcGF0aHMs
IHZlcnNpb24sIHVzZV93ZWJraXQyPUZhbHNlKToKICAgICAgICAgcG9ydCA9IHNlbGYubWFrZV9w
b3J0KHBvcnRfbmFtZT0nd2luJywgb3NfdmVyc2lvbj12ZXJzaW9uLCBvcHRpb25zPU1vY2tPcHRp
b25zKHdlYmtpdF90ZXN0X3J1bm5lcj11c2Vfd2Via2l0MikpCmRpZmYgLS1naXQgYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3h2ZmJkcml2ZXJfdW5pdHRlc3QucHkg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3h2ZmJkcml2ZXJfdW5p
dHRlc3QucHkKaW5kZXggMzY3MTMxMDM5NjU1YjNjNzU4MDNhOWEwYTYwZDdlZjczMDJkYjZhMy4u
MjQxYjM3YzFmYjliMmMwMDU2YjllNWUxYmZhNmMyYTIzMzFjODE4YSAxMDA2NDQKLS0tIGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC94dmZiZHJpdmVyX3VuaXR0ZXN0
LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQveHZmYmRy
aXZlcl91bml0dGVzdC5weQpAQCAtMjYsOSArMjYsOSBAQAogIyAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKICMgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KIAoraW1wb3J0IGxvZ2dpbmcKIGltcG9ydCB1bml0dGVzdAogCi1mcm9tIHdlYmtp
dHB5LmNvbW1vbi5zeXN0ZW0uZGVwcmVjYXRlZF9sb2dnaW5nIGltcG9ydCBsb2cKIGZyb20gd2Vi
a2l0cHkuY29tbW9uLnN5c3RlbS5maWxlc3lzdGVtX21vY2sgaW1wb3J0IE1vY2tGaWxlU3lzdGVt
CiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZXhlY3V0aXZlX21vY2sgaW1wb3J0IE1vY2tF
eGVjdXRpdmUyCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0ub3V0cHV0Y2FwdHVyZSBpbXBv
cnQgT3V0cHV0Q2FwdHVyZQpAQCAtMzgsNiArMzgsOCBAQCBmcm9tIHdlYmtpdHB5LmxheW91dF90
ZXN0cy5wb3J0LnNlcnZlcl9wcm9jZXNzX21vY2sgaW1wb3J0IE1vY2tTZXJ2ZXJQcm9jZXNzCiBm
cm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cy5wb3J0Lnh2ZmJkcml2ZXIgaW1wb3J0IFh2ZmJEcml2
ZXIKIGZyb20gd2Via2l0cHkudG9vbC5tb2NrdG9vbCBpbXBvcnQgTW9ja09wdGlvbnMKIAorX2xv
ZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQorCiAKIGNsYXNzIFh2ZmJEcml2ZXJUZXN0
KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgbWFrZV9kcml2ZXIoc2VsZiwgd29ya2VyX251
bWJlcj0wLCB4b3JnX3J1bm5pbmc9RmFsc2UsIGV4ZWN1dGl2ZT1Ob25lKToKQEAgLTU3LDI3ICs1
OSwyNyBAQCBjbGFzcyBYdmZiRHJpdmVyVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAg
ICMgaW50ZW5kIHRvIHRlc3QgdGhlIGJlaGF2aW9yIG9mIFh2ZmJEcml2ZXIuc3RvcC4KICAgICAg
ICAgZHJpdmVyLl94dmZiX3Byb2Nlc3MgPSBOb25lCiAKLSAgICBkZWYgYXNzZXJ0RHJpdmVyU3Rh
cnRTdWNjZXNzZnVsKHNlbGYsIGRyaXZlciwgZXhwZWN0ZWRfc3RkZXJyLCBleHBlY3RlZF9kaXNw
bGF5LCBwaXhlbF90ZXN0cz1GYWxzZSk6Ci0gICAgICAgIE91dHB1dENhcHR1cmUoKS5hc3NlcnRf
b3V0cHV0cyhzZWxmLCBkcml2ZXIuc3RhcnQsIFtwaXhlbF90ZXN0cywgW11dLCBleHBlY3RlZF9z
dGRlcnI9ZXhwZWN0ZWRfc3RkZXJyKQorICAgIGRlZiBhc3NlcnREcml2ZXJTdGFydFN1Y2Nlc3Nm
dWwoc2VsZiwgZHJpdmVyLCBleHBlY3RlZF9sb2dzLCBleHBlY3RlZF9kaXNwbGF5LCBwaXhlbF90
ZXN0cz1GYWxzZSk6CisgICAgICAgIE91dHB1dENhcHR1cmUoKS5hc3NlcnRfb3V0cHV0cyhzZWxm
LCBkcml2ZXIuc3RhcnQsIFtwaXhlbF90ZXN0cywgW11dLCBleHBlY3RlZF9sb2dzPWV4cGVjdGVk
X2xvZ3MpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShkcml2ZXIuX3NlcnZlcl9wcm9jZXNzLnN0
YXJ0ZWQpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZHJpdmVyLl9zZXJ2ZXJfcHJvY2Vzcy5l
bnZbIkRJU1BMQVkiXSwgZXhwZWN0ZWRfZGlzcGxheSkKIAogICAgIGRlZiB0ZXN0X3N0YXJ0X25v
X3BpeGVsX3Rlc3RzKHNlbGYpOgogICAgICAgICBkcml2ZXIgPSBzZWxmLm1ha2VfZHJpdmVyKCkK
LSAgICAgICAgZXhwZWN0ZWRfc3RkZXJyID0gIk1PQ0sgcnVuX2NvbW1hbmQ6IFsncHMnLCAnLWVv
JywgJ2NvbW0sY29tbWFuZCddLCBjd2Q9Tm9uZVxuTU9DSyBwb3BlbjogWydYdmZiJywgJzowJywg
Jy1zY3JlZW4nLCAnMCcsICc4MDB4NjAweDI0JywgJy1ub2xpc3RlbicsICd0Y3AnXVxuIgotICAg
ICAgICBzZWxmLmFzc2VydERyaXZlclN0YXJ0U3VjY2Vzc2Z1bChkcml2ZXIsIGV4cGVjdGVkX3N0
ZGVycj1leHBlY3RlZF9zdGRlcnIsIGV4cGVjdGVkX2Rpc3BsYXk9IjowIikKKyAgICAgICAgZXhw
ZWN0ZWRfbG9ncyA9ICJNT0NLIHJ1bl9jb21tYW5kOiBbJ3BzJywgJy1lbycsICdjb21tLGNvbW1h
bmQnXSwgY3dkPU5vbmVcbk1PQ0sgcG9wZW46IFsnWHZmYicsICc6MCcsICctc2NyZWVuJywgJzAn
LCAnODAweDYwMHgyNCcsICctbm9saXN0ZW4nLCAndGNwJ11cbiIKKyAgICAgICAgc2VsZi5hc3Nl
cnREcml2ZXJTdGFydFN1Y2Nlc3NmdWwoZHJpdmVyLCBleHBlY3RlZF9sb2dzPWV4cGVjdGVkX2xv
Z3MsIGV4cGVjdGVkX2Rpc3BsYXk9IjowIikKICAgICAgICAgc2VsZi5jbGVhbnVwX2RyaXZlcihk
cml2ZXIpCiAKICAgICBkZWYgdGVzdF9zdGFydF9waXhlbF90ZXN0cyhzZWxmKToKICAgICAgICAg
ZHJpdmVyID0gc2VsZi5tYWtlX2RyaXZlcigpCi0gICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9ICJN
T0NLIHJ1bl9jb21tYW5kOiBbJ3BzJywgJy1lbycsICdjb21tLGNvbW1hbmQnXSwgY3dkPU5vbmVc
bk1PQ0sgcG9wZW46IFsnWHZmYicsICc6MCcsICctc2NyZWVuJywgJzAnLCAnODAweDYwMHgyNCcs
ICctbm9saXN0ZW4nLCAndGNwJ11cbiIKLSAgICAgICAgc2VsZi5hc3NlcnREcml2ZXJTdGFydFN1
Y2Nlc3NmdWwoZHJpdmVyLCBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRfc3RkZXJyLCBleHBlY3Rl
ZF9kaXNwbGF5PSI6MCIsIHBpeGVsX3Rlc3RzPVRydWUpCisgICAgICAgIGV4cGVjdGVkX2xvZ3Mg
PSAiTU9DSyBydW5fY29tbWFuZDogWydwcycsICctZW8nLCAnY29tbSxjb21tYW5kJ10sIGN3ZD1O
b25lXG5NT0NLIHBvcGVuOiBbJ1h2ZmInLCAnOjAnLCAnLXNjcmVlbicsICcwJywgJzgwMHg2MDB4
MjQnLCAnLW5vbGlzdGVuJywgJ3RjcCddXG4iCisgICAgICAgIHNlbGYuYXNzZXJ0RHJpdmVyU3Rh
cnRTdWNjZXNzZnVsKGRyaXZlciwgZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzLCBleHBlY3Rl
ZF9kaXNwbGF5PSI6MCIsIHBpeGVsX3Rlc3RzPVRydWUpCiAgICAgICAgIHNlbGYuY2xlYW51cF9k
cml2ZXIoZHJpdmVyKQogCiAgICAgZGVmIHRlc3Rfc3RhcnRfYXJiaXRyYXJ5X3dvcmtlcl9udW1i
ZXIoc2VsZik6CiAgICAgICAgIGRyaXZlciA9IHNlbGYubWFrZV9kcml2ZXIod29ya2VyX251bWJl
cj0xNykKLSAgICAgICAgZXhwZWN0ZWRfc3RkZXJyID0gIk1PQ0sgcnVuX2NvbW1hbmQ6IFsncHMn
LCAnLWVvJywgJ2NvbW0sY29tbWFuZCddLCBjd2Q9Tm9uZVxuTU9DSyBwb3BlbjogWydYdmZiJywg
JzowJywgJy1zY3JlZW4nLCAnMCcsICc4MDB4NjAweDI0JywgJy1ub2xpc3RlbicsICd0Y3AnXVxu
IgotICAgICAgICBzZWxmLmFzc2VydERyaXZlclN0YXJ0U3VjY2Vzc2Z1bChkcml2ZXIsIGV4cGVj
dGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIsIGV4cGVjdGVkX2Rpc3BsYXk9IjowIiwgcGl4ZWxf
dGVzdHM9VHJ1ZSkKKyAgICAgICAgZXhwZWN0ZWRfbG9ncyA9ICJNT0NLIHJ1bl9jb21tYW5kOiBb
J3BzJywgJy1lbycsICdjb21tLGNvbW1hbmQnXSwgY3dkPU5vbmVcbk1PQ0sgcG9wZW46IFsnWHZm
YicsICc6MCcsICctc2NyZWVuJywgJzAnLCAnODAweDYwMHgyNCcsICctbm9saXN0ZW4nLCAndGNw
J11cbiIKKyAgICAgICAgc2VsZi5hc3NlcnREcml2ZXJTdGFydFN1Y2Nlc3NmdWwoZHJpdmVyLCBl
eHBlY3RlZF9sb2dzPWV4cGVjdGVkX2xvZ3MsIGV4cGVjdGVkX2Rpc3BsYXk9IjowIiwgcGl4ZWxf
dGVzdHM9VHJ1ZSkKICAgICAgICAgc2VsZi5jbGVhbnVwX2RyaXZlcihkcml2ZXIpCiAKICAgICBk
ZWYgZGlzYWJsZWRfdGVzdF9uZXh0X2ZyZWVfZGlzcGxheShzZWxmKToKQEAgLTEwNSwxOSArMTA3
LDE5IEBAIGNsYXNzIFh2ZmJEcml2ZXJUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYg
dGVzdF9zdGFydF9uZXh0X3dvcmtlcihzZWxmKToKICAgICAgICAgZHJpdmVyID0gc2VsZi5tYWtl
X2RyaXZlcigpCiAgICAgICAgIGRyaXZlci5fbmV4dF9mcmVlX2Rpc3BsYXkgPSBsYW1iZGE6IDAK
LSAgICAgICAgZXhwZWN0ZWRfc3RkZXJyID0gIk1PQ0sgcG9wZW46IFsnWHZmYicsICc6MCcsICct
c2NyZWVuJywgJzAnLCAnODAweDYwMHgyNCcsICctbm9saXN0ZW4nLCAndGNwJ11cbiIKLSAgICAg
ICAgc2VsZi5hc3NlcnREcml2ZXJTdGFydFN1Y2Nlc3NmdWwoZHJpdmVyLCBleHBlY3RlZF9zdGRl
cnI9ZXhwZWN0ZWRfc3RkZXJyLCBleHBlY3RlZF9kaXNwbGF5PSI6MCIsIHBpeGVsX3Rlc3RzPVRy
dWUpCisgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAiTU9DSyBwb3BlbjogWydYdmZiJywgJzowJywg
Jy1zY3JlZW4nLCAnMCcsICc4MDB4NjAweDI0JywgJy1ub2xpc3RlbicsICd0Y3AnXVxuIgorICAg
ICAgICBzZWxmLmFzc2VydERyaXZlclN0YXJ0U3VjY2Vzc2Z1bChkcml2ZXIsIGV4cGVjdGVkX2xv
Z3M9ZXhwZWN0ZWRfbG9ncywgZXhwZWN0ZWRfZGlzcGxheT0iOjAiLCBwaXhlbF90ZXN0cz1UcnVl
KQogICAgICAgICBzZWxmLmNsZWFudXBfZHJpdmVyKGRyaXZlcikKICAgICAgICAgZHJpdmVyID0g
c2VsZi5tYWtlX2RyaXZlcigpCiAgICAgICAgIGRyaXZlci5fbmV4dF9mcmVlX2Rpc3BsYXkgPSBs
YW1iZGE6IDMKLSAgICAgICAgZXhwZWN0ZWRfc3RkZXJyID0gIk1PQ0sgcG9wZW46IFsnWHZmYics
ICc6MycsICctc2NyZWVuJywgJzAnLCAnODAweDYwMHgyNCcsICctbm9saXN0ZW4nLCAndGNwJ11c
biIKLSAgICAgICAgc2VsZi5hc3NlcnREcml2ZXJTdGFydFN1Y2Nlc3NmdWwoZHJpdmVyLCBleHBl
Y3RlZF9zdGRlcnI9ZXhwZWN0ZWRfc3RkZXJyLCBleHBlY3RlZF9kaXNwbGF5PSI6MyIsIHBpeGVs
X3Rlc3RzPVRydWUpCisgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAiTU9DSyBwb3BlbjogWydYdmZi
JywgJzozJywgJy1zY3JlZW4nLCAnMCcsICc4MDB4NjAweDI0JywgJy1ub2xpc3RlbicsICd0Y3An
XVxuIgorICAgICAgICBzZWxmLmFzc2VydERyaXZlclN0YXJ0U3VjY2Vzc2Z1bChkcml2ZXIsIGV4
cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncywgZXhwZWN0ZWRfZGlzcGxheT0iOjMiLCBwaXhlbF90
ZXN0cz1UcnVlKQogICAgICAgICBzZWxmLmNsZWFudXBfZHJpdmVyKGRyaXZlcikKIAogICAgIGRl
ZiB0ZXN0X3N0b3Aoc2VsZik6CiAgICAgICAgIGZpbGVzeXN0ZW0gPSBNb2NrRmlsZVN5c3RlbShm
aWxlcz17Jy90bXAvLlg0Mi1sb2NrJzogJzEyMzRcbid9KQogICAgICAgICBwb3J0ID0gUG9ydCho
b3N0PU1vY2tTeXN0ZW1Ib3N0KGxvZ19leGVjdXRpdmU9VHJ1ZSwgZmlsZXN5c3RlbT1maWxlc3lz
dGVtKSwgb3B0aW9ucz1Nb2NrT3B0aW9ucyhjb25maWd1cmF0aW9uPSdSZWxlYXNlJykpCi0gICAg
ICAgIHBvcnQuX2V4ZWN1dGl2ZS5raWxsX3Byb2Nlc3MgPSBsYW1iZGEgeDogbG9nKCJNT0NLIGtp
bGxfcHJvY2VzcyBwaWQ6ICIgKyBzdHIoeCkpCisgICAgICAgIHBvcnQuX2V4ZWN1dGl2ZS5raWxs
X3Byb2Nlc3MgPSBsYW1iZGEgeDogX2xvZy5pbmZvKCJNT0NLIGtpbGxfcHJvY2VzcyBwaWQ6ICIg
KyBzdHIoeCkpCiAgICAgICAgIGRyaXZlciA9IFh2ZmJEcml2ZXIocG9ydCwgd29ya2VyX251bWJl
cj0wLCBwaXhlbF90ZXN0cz1UcnVlKQogCiAgICAgICAgIGNsYXNzIEZha2VYdmZiUHJvY2Vzcyhv
YmplY3QpOgpAQCAtMTI2LDggKzEyOCw4IEBAIGNsYXNzIFh2ZmJEcml2ZXJUZXN0KHVuaXR0ZXN0
LlRlc3RDYXNlKToKICAgICAgICAgZHJpdmVyLl94dmZiX3Byb2Nlc3MgPSBGYWtlWHZmYlByb2Nl
c3MoKQogICAgICAgICBkcml2ZXIuX2xvY2tfZmlsZSA9ICcvdG1wLy5YNDItbG9jaycKIAotICAg
ICAgICBleHBlY3RlZF9zdGRlcnIgPSAiTU9DSyBraWxsX3Byb2Nlc3MgcGlkOiAxMjM0XG4iCi0g
ICAgICAgIE91dHB1dENhcHR1cmUoKS5hc3NlcnRfb3V0cHV0cyhzZWxmLCBkcml2ZXIuc3RvcCwg
W10sIGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIpCisgICAgICAgIGV4cGVjdGVkX2xv
Z3MgPSAiTU9DSyBraWxsX3Byb2Nlc3MgcGlkOiAxMjM0XG4iCisgICAgICAgIE91dHB1dENhcHR1
cmUoKS5hc3NlcnRfb3V0cHV0cyhzZWxmLCBkcml2ZXIuc3RvcCwgW10sIGV4cGVjdGVkX2xvZ3M9
ZXhwZWN0ZWRfbG9ncykKIAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRyaXZlci5feHZmYl9w
cm9jZXNzLCBOb25lKQogICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHBvcnQuX2ZpbGVzeXN0ZW0u
ZXhpc3RzKGRyaXZlci5fbG9ja19maWxlKSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL3NlcnZlcnMvYXBhY2hlX2h0dHBfc2VydmVyX3VuaXR0ZXN0LnB5
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvc2VydmVycy9hcGFjaGVfaHR0
cF9zZXJ2ZXJfdW5pdHRlc3QucHkKaW5kZXggMzRhYjk3YjQwYzI3MTkzOGM2YzJlMTAyNTRkZTky
OWZhYThjZGExZC4uZjNjYTZhMWE4NmNjMDVhOTRjMDM5ZmY3MTNkZTU4MThhZTgzZmY0NiAxMDA2
NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvc2VydmVycy9hcGFj
aGVfaHR0cF9zZXJ2ZXJfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvc2VydmVycy9hcGFjaGVfaHR0cF9zZXJ2ZXJfdW5pdHRlc3QucHkKQEAgLTYz
LDggKzYzLDggQEAgY2xhc3MgVGVzdExheW91dFRlc3RBcGFjaGVIdHRwZCh1bml0dGVzdC5UZXN0
Q2FzZSk6CiAgICAgICAgICAgICBzZXJ2ZXIuc3RhcnQoKQogICAgICAgICAgICAgc2VydmVyLnN0
b3AoKQogICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgb3V0LCBlcnIsIGxvZ3MgPSBvYy5y
ZXN0b3JlX291dHB1dCgpCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSgiU3RhcnRTZXJ2ZXJzIDQi
IGluIGVycikKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKCJNaW5TcGFyZVNlcnZlcnMgNCIgaW4g
ZXJyKQotICAgICAgICBzZWxmLmFzc2VydFRydWUoIk1heFNwYXJlU2VydmVycyA0IiBpbiBlcnIp
CisgICAgICAgICAgICBfLCBfLCBsb2dzID0gb2MucmVzdG9yZV9vdXRwdXQoKQorICAgICAgICBz
ZWxmLmFzc2VydFRydWUoIlN0YXJ0U2VydmVycyA0IiBpbiBsb2dzKQorICAgICAgICBzZWxmLmFz
c2VydFRydWUoIk1pblNwYXJlU2VydmVycyA0IiBpbiBsb2dzKQorICAgICAgICBzZWxmLmFzc2Vy
dFRydWUoIk1heFNwYXJlU2VydmVycyA0IiBpbiBsb2dzKQogICAgICAgICBzZWxmLmFzc2VydFRy
dWUoaG9zdC5maWxlc3lzdGVtLmV4aXN0cygiL21vY2svb3V0cHV0X2Rpci9odHRwZC5jb25mIikp
CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BlcmZvcm1hbmNlX3Rlc3RzL3Bl
cmZ0ZXN0c3J1bm5lcl91bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcGVyZm9y
bWFuY2VfdGVzdHMvcGVyZnRlc3RzcnVubmVyX3VuaXR0ZXN0LnB5CmluZGV4IDYyZTczNTNkZjU3
MTQzM2UxNTg3ODRjOTExYjcxODRiYTJhNzVlYjEuLjE2YTA1NTk5Y2Q2NDEzYmZlM2ViMTEzNjc3
Y2RkY2VlYjE4YzI0MjQgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcGVyZm9y
bWFuY2VfdGVzdHMvcGVyZnRlc3RzcnVubmVyX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvcGVyZm9ybWFuY2VfdGVzdHMvcGVyZnRlc3RzcnVubmVyX3VuaXR0ZXN0LnB5
CkBAIC0yNDIsOSArMjQyLDggQEAgbWF4IDU0ODAwMCBieXRlcwogICAgICAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbChUZXN0RHJpdmVyV2l0aFN0YXJ0Q291bnQuc3RhcnRfY291bnQsIDEpCiAgICAg
ICAgIGZpbmFsbHk6CiAgICAgICAgICAgICBzdGRvdXQsIHN0ZGVyciwgbG9nID0gb3V0cHV0LnJl
c3RvcmVfb3V0cHV0KCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGRlcnIsICJSZWFkeSB0
byBydW4gdGVzdD9cbiIpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5ub3JtYWxpemVG
aW5pc2hlZFRpbWUobG9nKSwKLSAgICAgICAgICAgICJSdW5uaW5nIGluc3BlY3Rvci9wYXNzLmh0
bWwgKDEgb2YgMSlcblJFU1VMVCBncm91cF9uYW1lOiB0ZXN0X25hbWU9IDQyIG1zXG5GaW5pc2hl
ZDogMC4xIHNcblxuIikKKyAgICAgICAgICAgICJSZWFkeSB0byBydW4gdGVzdD9cblJ1bm5pbmcg
aW5zcGVjdG9yL3Bhc3MuaHRtbCAoMSBvZiAxKVxuUkVTVUxUIGdyb3VwX25hbWU6IHRlc3RfbmFt
ZT0gNDIgbXNcbkZpbmlzaGVkOiAwLjEgc1xuXG4iKQogCiAgICAgZGVmIHRlc3RfcnVuX3Rlc3Rf
c2V0X2Zvcl9wYXJzZXJfdGVzdHMoc2VsZik6CiAgICAgICAgIHJ1bm5lciwgcG9ydCA9IHNlbGYu
Y3JlYXRlX3J1bm5lcigpCkBAIC0yODksMTQgKzI4OCwxNiBAQCBtYXggNTQ4MDAwIGJ5dGVzCiAg
ICAgICAgICAgICAnUkVTVUxUIFBhcnNlcjogbWVtb3J5LXRlc3Q6IE1hbGxvYz0gNTMyMDAwLjAg
Ynl0ZXMnLAogICAgICAgICAgICAgJ21lZGlhbj0gNTI5MDAwLjAgYnl0ZXMsIHN0ZGV2PSAxMzAw
MC4wIGJ5dGVzLCBtaW49IDUxMTAwMC4wIGJ5dGVzLCBtYXg9IDU0ODAwMC4wIGJ5dGVzJywKICAg
ICAgICAgICAgICdGaW5pc2hlZDogMC4xIHMnLAotICAgICAgICAgICAgJycsICcnXSkpCisgICAg
ICAgICAgICAnJywKKyAgICAgICAgICAgICdNT0NLOiB1c2VyLm9wZW5fdXJsOiBmaWxlOi8vLi4u
JywKKyAgICAgICAgICAgICcnXSkpCiAgICAgICAgIHJlc3VsdHMgPSBydW5uZXIubG9hZF9vdXRw
dXRfanNvbigpWzBdWydyZXN1bHRzJ10KICAgICAgICAgdmFsdWVzID0gWzEsIDIsIDMsIDQsIDUs
IDYsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAxNywgMTgsIDE5XQogICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3VsdHNbJ1BhcnNlci9tZW1vcnktdGVzdCddLCB7J21p
bic6IDEwODAuMCwgJ21heCc6IDExMjAuMCwgJ21lZGlhbic6IDExMDEuMCwgJ3N0ZGV2JzogMTEu
MCwgJ2F2Zyc6IDExMDAuMCwgJ3VuaXQnOiAnbXMnLCAndmFsdWVzJzogdmFsdWVzfSkKICAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChyZXN1bHRzWydQYXJzZXIvbWVtb3J5LXRlc3Q6SlNIZWFwJ10s
IHsnbWluJzogODExMDAwLjAsICdtYXgnOiA4NDgwMDAuMCwgJ21lZGlhbic6IDgyOTAwMC4wLCAn
c3RkZXYnOiAxNTAwMC4wLCAnYXZnJzogODMyMDAwLjAsICd1bml0JzogJ2J5dGVzJywgJ3ZhbHVl
cyc6IHZhbHVlc30pCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzdWx0c1snUGFyc2VyL21l
bW9yeS10ZXN0Ok1hbGxvYyddLCB7J21pbic6IDUxMTAwMC4wLCAnbWF4JzogNTQ4MDAwLjAsICdt
ZWRpYW4nOiA1MjkwMDAuMCwgJ3N0ZGV2JzogMTMwMDAuMCwgJ2F2Zyc6IDUzMjAwMC4wLCAndW5p
dCc6ICdieXRlcycsICd2YWx1ZXMnOiB2YWx1ZXN9KQogCi0gICAgZGVmIF90ZXN0X3J1bl93aXRo
X2pzb25fb3V0cHV0KHNlbGYsIHJ1bm5lciwgZmlsZXN5c3RlbSwgdXBsb2FkX3N1Y2VlZHM9RmFs
c2UsIGV4cGVjdGVkX2V4aXRfY29kZT0wKToKKyAgICBkZWYgX3Rlc3RfcnVuX3dpdGhfanNvbl9v
dXRwdXQoc2VsZiwgcnVubmVyLCBmaWxlc3lzdGVtLCB1cGxvYWRfc3VjZWVkcz1GYWxzZSwgcmVz
dWx0c19zaG93bj1UcnVlLCBleHBlY3RlZF9leGl0X2NvZGU9MCk6CiAgICAgICAgIGZpbGVzeXN0
ZW0ud3JpdGVfdGV4dF9maWxlKHJ1bm5lci5fYmFzZV9wYXRoICsgJy9pbnNwZWN0b3IvcGFzcy5o
dG1sJywgJ3NvbWUgY29udGVudCcpCiAgICAgICAgIGZpbGVzeXN0ZW0ud3JpdGVfdGV4dF9maWxl
KHJ1bm5lci5fYmFzZV9wYXRoICsgJy9CaW5kaW5ncy9ldmVudC10YXJnZXQtd3JhcHBlci5odG1s
JywgJ3NvbWUgY29udGVudCcpCiAKQEAgLTMxOCwxOCArMzE5LDE5IEBAIG1heCA1NDgwMDAgYnl0
ZXMKICAgICAgICAgICAgIHN0ZG91dCwgc3RkZXJyLCBsb2dzID0gb3V0cHV0X2NhcHR1cmUucmVz
dG9yZV9vdXRwdXQoKQogCiAgICAgICAgIGlmIG5vdCBleHBlY3RlZF9leGl0X2NvZGU6Ci0gICAg
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYubm9ybWFsaXplRmluaXNoZWRUaW1lKGxvZ3Mp
LAotICAgICAgICAgICAgICAgICdcbicuam9pbihbJ1J1bm5pbmcgMiB0ZXN0cycsCi0gICAgICAg
ICAgICAgICAgJ1J1bm5pbmcgQmluZGluZ3MvZXZlbnQtdGFyZ2V0LXdyYXBwZXIuaHRtbCAoMSBv
ZiAyKScsCi0gICAgICAgICAgICAgICAgJ1JFU1VMVCBCaW5kaW5nczogZXZlbnQtdGFyZ2V0LXdy
YXBwZXI9IDE0ODkuMDUgbXMnLAotICAgICAgICAgICAgICAgICdtZWRpYW49IDE0ODcuMCBtcywg
c3RkZXY9IDE0LjQ2IG1zLCBtaW49IDE0NzEuMCBtcywgbWF4PSAxNTEwLjAgbXMnLAotICAgICAg
ICAgICAgICAgICdGaW5pc2hlZDogMC4xIHMnLAotICAgICAgICAgICAgICAgICcnLAotICAgICAg
ICAgICAgICAgICdSdW5uaW5nIGluc3BlY3Rvci9wYXNzLmh0bWwgKDIgb2YgMiknLAotICAgICAg
ICAgICAgICAgICdSRVNVTFQgZ3JvdXBfbmFtZTogdGVzdF9uYW1lPSA0MiBtcycsCi0gICAgICAg
ICAgICAgICAgJ0ZpbmlzaGVkOiAwLjEgcycsCi0gICAgICAgICAgICAgICAgJycsCi0gICAgICAg
ICAgICAgICAgJyddKSkKKyAgICAgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAnXG4nLmpvaW4oWydS
dW5uaW5nIDIgdGVzdHMnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
J1J1bm5pbmcgQmluZGluZ3MvZXZlbnQtdGFyZ2V0LXdyYXBwZXIuaHRtbCAoMSBvZiAyKScsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUkVTVUxUIEJpbmRpbmdzOiBl
dmVudC10YXJnZXQtd3JhcHBlcj0gMTQ4OS4wNSBtcycsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAnbWVkaWFuPSAxNDg3LjAgbXMsIHN0ZGV2PSAxNC40NiBtcywgbWlu
PSAxNDcxLjAgbXMsIG1heD0gMTUxMC4wIG1zJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICdGaW5pc2hlZDogMC4xIHMnLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAnUnVubmluZyBpbnNwZWN0b3IvcGFzcy5odG1sICgyIG9mIDIpJywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICdSRVNVTFQgZ3JvdXBfbmFtZTogdGVzdF9uYW1lPSA0
MiBtcycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRmluaXNoZWQ6
IDAuMSBzJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcnLCAnJ10p
CisgICAgICAgICAgICBpZiByZXN1bHRzX3Nob3duOgorICAgICAgICAgICAgICAgIGV4cGVjdGVk
X2xvZ3MgKz0gJ01PQ0s6IHVzZXIub3Blbl91cmw6IGZpbGU6Ly8uLi5cbicKKyAgICAgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5ub3JtYWxpemVGaW5pc2hlZFRpbWUobG9ncyksIGV4cGVj
dGVkX2xvZ3MpCiAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh1cGxvYWRlZFswXSwgdXBsb2Fk
X3N1Y2VlZHMpCiAKQEAgLTM3Myw3ICszNzUsNyBAQCBtYXggNTQ4MDAwIGJ5dGVzCiAgICAgZGVm
IHRlc3RfcnVuX3Jlc3BlY3RzX25vX3Jlc3VsdHMoc2VsZik6CiAgICAgICAgIHJ1bm5lciwgcG9y
dCA9IHNlbGYuY3JlYXRlX3J1bm5lcihhcmdzPVsnLS1vdXRwdXQtanNvbi1wYXRoPS9tb2NrLWNo
ZWNrb3V0L291dHB1dC5qc29uJywKICAgICAgICAgICAgICctLXRlc3QtcmVzdWx0cy1zZXJ2ZXI9
c29tZS5ob3N0JywgJy0tbm8tcmVzdWx0cyddKQotICAgICAgICBzZWxmLl90ZXN0X3J1bl93aXRo
X2pzb25fb3V0cHV0KHJ1bm5lciwgcG9ydC5ob3N0LmZpbGVzeXN0ZW0sIHVwbG9hZF9zdWNlZWRz
PUZhbHNlKQorICAgICAgICBzZWxmLl90ZXN0X3J1bl93aXRoX2pzb25fb3V0cHV0KHJ1bm5lciwg
cG9ydC5ob3N0LmZpbGVzeXN0ZW0sIHVwbG9hZF9zdWNlZWRzPUZhbHNlLCByZXN1bHRzX3Nob3du
PUZhbHNlKQogICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHBvcnQuaG9zdC5maWxlc3lzdGVtLmlz
ZmlsZSgnL21vY2stY2hlY2tvdXQvb3V0cHV0Lmpzb24nKSkKIAogICAgIGRlZiB0ZXN0X3J1bl9n
ZW5lcmF0ZXNfanNvbl9ieV9kZWZhdWx0KHNlbGYpOgpAQCAtNDI4LDcgKzQzMCw3IEBAIG1heCA1
NDgwMDAgYnl0ZXMKICAgICAgICAgcGFnZV9zaG93biA9IFtdCiAgICAgICAgIHBvcnQuc2hvd19y
ZXN1bHRzX2h0bWxfZmlsZSA9IGxhbWJkYSBwYXRoOiBwYWdlX3Nob3duLmFwcGVuZChwYXRoKQog
ICAgICAgICBmaWxlc3lzdGVtID0gcG9ydC5ob3N0LmZpbGVzeXN0ZW0KLSAgICAgICAgc2VsZi5f
dGVzdF9ydW5fd2l0aF9qc29uX291dHB1dChydW5uZXIsIGZpbGVzeXN0ZW0pCisgICAgICAgIHNl
bGYuX3Rlc3RfcnVuX3dpdGhfanNvbl9vdXRwdXQocnVubmVyLCBmaWxlc3lzdGVtLCByZXN1bHRz
X3Nob3duPUZhbHNlKQogCiAgICAgICAgIGV4cGVjdGVkX2VudHJ5ID0geyJ0aW1lc3RhbXAiOiAx
MjM0NTY3ODksICJyZXN1bHRzIjogc2VsZi5fZXZlbnRfdGFyZ2V0X3dyYXBwZXJfYW5kX2luc3Bl
Y3Rvcl9yZXN1bHRzLAogICAgICAgICAgICAgIndlYmtpdC1yZXZpc2lvbiI6ICI1Njc4IiwgImJy
YW5jaCI6ICJ3ZWJraXQtdHJ1bmsifQpAQCAtNDQxLDcgKzQ0Myw3IEBAIG1heCA1NDgwMDAgYnl0
ZXMKICAgICAgICAgICAgICc8c2NyaXB0PiVzPC9zY3JpcHQ+RU5EJyAlIGpzb25fb3V0cHV0KQog
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBhZ2Vfc2hvd25bMF0sICcvbW9jay1jaGVja291dC9v
dXRwdXQuaHRtbCcpCiAKLSAgICAgICAgc2VsZi5fdGVzdF9ydW5fd2l0aF9qc29uX291dHB1dChy
dW5uZXIsIGZpbGVzeXN0ZW0pCisgICAgICAgIHNlbGYuX3Rlc3RfcnVuX3dpdGhfanNvbl9vdXRw
dXQocnVubmVyLCBmaWxlc3lzdGVtLCByZXN1bHRzX3Nob3duPUZhbHNlKQogICAgICAgICBqc29u
X291dHB1dCA9IHBvcnQuaG9zdC5maWxlc3lzdGVtLnJlYWRfdGV4dF9maWxlKCcvbW9jay1jaGVj
a291dC9vdXRwdXQuanNvbicpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoanNvbi5sb2Fkcyhq
c29uX291dHB1dCksIFtleHBlY3RlZF9lbnRyeSwgZXhwZWN0ZWRfZW50cnldKQogICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKGZpbGVzeXN0ZW0ucmVhZF90ZXh0X2ZpbGUoJy9tb2NrLWNoZWNrb3V0
L291dHB1dC5odG1sJyksCkBAIC00NTQsMTQgKzQ1NiwxNCBAQCBtYXggNTQ4MDAwIGJ5dGVzCiAg
ICAgICAgIHJ1bm5lciwgcG9ydCA9IHNlbGYuY3JlYXRlX3J1bm5lcl9hbmRfc2V0dXBfcmVzdWx0
c190ZW1wbGF0ZShhcmdzPVsnLS1vdXRwdXQtanNvbi1wYXRoPS9tb2NrLWNoZWNrb3V0L291dHB1
dC5qc29uJ10pCiAgICAgICAgIHBhZ2Vfc2hvd24gPSBbXQogICAgICAgICBwb3J0LnNob3dfcmVz
dWx0c19odG1sX2ZpbGUgPSBzaG93X3Jlc3VsdHNfaHRtbF9maWxlCi0gICAgICAgIHNlbGYuX3Rl
c3RfcnVuX3dpdGhfanNvbl9vdXRwdXQocnVubmVyLCBwb3J0Lmhvc3QuZmlsZXN5c3RlbSkKKyAg
ICAgICAgc2VsZi5fdGVzdF9ydW5fd2l0aF9qc29uX291dHB1dChydW5uZXIsIHBvcnQuaG9zdC5m
aWxlc3lzdGVtLCByZXN1bHRzX3Nob3duPUZhbHNlKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KHBhZ2Vfc2hvd25bMF0sICcvbW9jay1jaGVja291dC9vdXRwdXQuaHRtbCcpCiAKICAgICAgICAg
cnVubmVyLCBwb3J0ID0gc2VsZi5jcmVhdGVfcnVubmVyX2FuZF9zZXR1cF9yZXN1bHRzX3RlbXBs
YXRlKGFyZ3M9WyctLW91dHB1dC1qc29uLXBhdGg9L21vY2stY2hlY2tvdXQvb3V0cHV0Lmpzb24n
LAogICAgICAgICAgICAgJy0tbm8tc2hvdy1yZXN1bHRzJ10pCiAgICAgICAgIHBhZ2Vfc2hvd24g
PSBbXQogICAgICAgICBwb3J0LnNob3dfcmVzdWx0c19odG1sX2ZpbGUgPSBzaG93X3Jlc3VsdHNf
aHRtbF9maWxlCi0gICAgICAgIHNlbGYuX3Rlc3RfcnVuX3dpdGhfanNvbl9vdXRwdXQocnVubmVy
LCBwb3J0Lmhvc3QuZmlsZXN5c3RlbSkKKyAgICAgICAgc2VsZi5fdGVzdF9ydW5fd2l0aF9qc29u
X291dHB1dChydW5uZXIsIHBvcnQuaG9zdC5maWxlc3lzdGVtLCByZXN1bHRzX3Nob3duPUZhbHNl
KQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBhZ2Vfc2hvd24sIFtdKQogCiAgICAgZGVmIHRl
c3RfcnVuX3dpdGhfYmFkX291dHB1dF9qc29uKHNlbGYpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS90b29sL2JvdC9mZWVkZXJzX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS90b29sL2JvdC9mZWVkZXJzX3VuaXR0ZXN0LnB5CmluZGV4IGYwZTgyYjIwYzZh
NDI3YTFjMGRjMWU1MjQ4NTJiZjMxZTJmNDVhMWQuLjlkMGI3MTQwODE2MmYyNGY0NTUxNmE3OWEx
MGVjZDIzMDhlMTUyMDUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9i
b3QvZmVlZGVyc191bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wv
Ym90L2ZlZWRlcnNfdW5pdHRlc3QucHkKQEAgLTM4LDcgKzM4LDcgQEAgZnJvbSB3ZWJraXRweS50
b29sLm1vY2t0b29sIGltcG9ydCBNb2NrVG9vbAogY2xhc3MgRmVlZGVyc1Rlc3QodW5pdHRlc3Qu
VGVzdENhc2UpOgogICAgIGRlZiB0ZXN0X2NvbW1pdF9xdWV1ZV9mZWVkZXIoc2VsZik6CiAgICAg
ICAgIGZlZWRlciA9IENvbW1pdFF1ZXVlRmVlZGVyKE1vY2tUb29sKCkpCi0gICAgICAgIGV4cGVj
dGVkX3N0ZGVyciA9IHUiIiJXYXJuaW5nLCBhdHRhY2htZW50IDEwMDAxIG9uIGJ1ZyA1MDAwMCBo
YXMgaW52YWxpZCBjb21taXR0ZXIgKG5vbi1jb21taXR0ZXJAZXhhbXBsZS5jb20pCisgICAgICAg
IGV4cGVjdGVkX2xvZ3MgPSAiIiJXYXJuaW5nLCBhdHRhY2htZW50IDEwMDAxIG9uIGJ1ZyA1MDAw
MCBoYXMgaW52YWxpZCBjb21taXR0ZXIgKG5vbi1jb21taXR0ZXJAZXhhbXBsZS5jb20pCiBXYXJu
aW5nLCBhdHRhY2htZW50IDEwMDAxIG9uIGJ1ZyA1MDAwMCBoYXMgaW52YWxpZCBjb21taXR0ZXIg
KG5vbi1jb21taXR0ZXJAZXhhbXBsZS5jb20pCiBNT0NLIHNldHRpbmcgZmxhZyAnY29tbWl0LXF1
ZXVlJyB0byAnLScgb24gYXR0YWNobWVudCAnMTAwMDEnIHdpdGggY29tbWVudCAnUmVqZWN0aW5n
IGF0dGFjaG1lbnQgMTAwMDEgZnJvbSBjb21taXQtcXVldWUuJyBhbmQgYWRkaXRpb25hbCBjb21t
ZW50ICdub24tY29tbWl0dGVyQGV4YW1wbGUuY29tIGRvZXMgbm90IGhhdmUgY29tbWl0dGVyIHBl
cm1pc3Npb25zIGFjY29yZGluZyB0byBodHRwOi8vdHJhYy53ZWJraXQub3JnL2Jyb3dzZXIvdHJ1
bmsvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY29uZmlnL2NvbW1pdHRlcnMucHkuCiAK
QEAgLTQ2LDkgKzQ2LDkgQEAgTU9DSyBzZXR0aW5nIGZsYWcgJ2NvbW1pdC1xdWV1ZScgdG8gJy0n
IG9uIGF0dGFjaG1lbnQgJzEwMDAxJyB3aXRoIGNvbW1lbnQgJ1JlamUKIAogLSBJZiB5b3UgaGF2
ZSBjb21taXR0ZXIgcmlnaHRzIHBsZWFzZSBjb3JyZWN0IHRoZSBlcnJvciBpbiBUb29scy9TY3Jp
cHRzL3dlYmtpdHB5L2NvbW1vbi9jb25maWcvY29tbWl0dGVycy5weSBieSBhZGRpbmcgeW91cnNl
bGYgdG8gdGhlIGZpbGUgKG5vIHJldmlldyBuZWVkZWQpLiAgVGhlIGNvbW1pdC1xdWV1ZSByZXN0
YXJ0cyBpdHNlbGYgZXZlcnkgMiBob3Vycy4gIEFmdGVyIHJlc3RhcnQgdGhlIGNvbW1pdC1xdWV1
ZSB3aWxsIGNvcnJlY3RseSByZXNwZWN0IHlvdXIgY29tbWl0dGVyIHJpZ2h0cy4nCiBNT0NLOiB1
cGRhdGVfd29ya19pdGVtczogY29tbWl0LXF1ZXVlIFsxMDAwNSwgMTAwMDBdCitGZWVkaW5nIGNv
bW1pdC1xdWV1ZSBpdGVtcyBbMTAwMDUsIDEwMDAwXQogIiIiCi0gICAgICAgIGV4cGVjdGVkX2xv
Z3MgPSAiRmVlZGluZyBjb21taXQtcXVldWUgaXRlbXMgWzEwMDA1LCAxMDAwMF1cbiIKLSAgICAg
ICAgT3V0cHV0Q2FwdHVyZSgpLmFzc2VydF9vdXRwdXRzKHNlbGYsIGZlZWRlci5mZWVkLCBleHBl
Y3RlZF9zdGRlcnI9ZXhwZWN0ZWRfc3RkZXJyLCBleHBlY3RlZF9sb2dzPWV4cGVjdGVkX2xvZ3Mp
CisgICAgICAgIE91dHB1dENhcHR1cmUoKS5hc3NlcnRfb3V0cHV0cyhzZWxmLCBmZWVkZXIuZmVl
ZCwgZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzKQogCiAgICAgZGVmIF9tb2NrX2F0dGFjaG1l
bnQoc2VsZiwgaXNfcm9sbG91dCwgYXR0YWNoX2RhdGUpOgogICAgICAgICBhdHRhY2htZW50ID0g
TW9jaygpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L2ZsYWt5
dGVzdHJlcG9ydGVyX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2Jv
dC9mbGFreXRlc3RyZXBvcnRlcl91bml0dGVzdC5weQppbmRleCBlZWIwNmMzYWY4MTU3ZTI5NzI5
MDJkMzg0MmE1ZGM0OTMyZGUyZmM3Li40OGM1MTEyODE5NTNmMmM5ZmNmZDU3ZmNjNWQyMjAyOTcy
MWQ5YzJjIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L2ZsYWt5
dGVzdHJlcG9ydGVyX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9v
bC9ib3QvZmxha3l0ZXN0cmVwb3J0ZXJfdW5pdHRlc3QucHkKQEAgLTcwLDcgKzcwLDcgQEAgY2xh
c3MgRmxha3lUZXN0UmVwb3J0ZXJUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKIAogICAgIGRlZiB0
ZXN0X2NyZWF0ZV9idWdfZm9yX2ZsYWt5X3Rlc3Qoc2VsZik6CiAgICAgICAgIHJlcG9ydGVyID0g
Rmxha3lUZXN0UmVwb3J0ZXIoTW9ja1Rvb2woKSwgJ2R1bW15LXF1ZXVlJykKLSAgICAgICAgZXhw
ZWN0ZWRfc3RkZXJyID0gIiIiTU9DSyBjcmVhdGVfYnVnCisgICAgICAgIGV4cGVjdGVkX2xvZ3Mg
PSAiIiJNT0NLIGNyZWF0ZV9idWcKIGJ1Z190aXRsZTogRmxha3kgVGVzdDogZm9vL2Jhci5odG1s
CiBidWdfZGVzY3JpcHRpb246IFRoaXMgaXMgYW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnVn
IGZyb20gdGhlIGR1bW15LXF1ZXVlLgogZm9vL2Jhci5odG1sIGhhcyBiZWVuIGZsYWt5IG9uIHRo
ZSBkdW1teS1xdWV1ZS4KQEAgLTkwLDcgKzkwLDcgQEAgY29tcG9uZW50OiBUb29scyAvIFRlc3Rz
CiBjYzogdGVzdEB0ZXN0LmNvbQogYmxvY2tlZDogNTA4NTYKICIiIgotICAgICAgICBPdXRwdXRD
YXB0dXJlKCkuYXNzZXJ0X291dHB1dHMoc2VsZiwgcmVwb3J0ZXIuX2NyZWF0ZV9idWdfZm9yX2Zs
YWt5X3Rlc3QsIFsnZm9vL2Jhci5odG1sJywgWyd0ZXN0QHRlc3QuY29tJ10sICdGTEFLRV9NRVNT
QUdFJ10sIGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIpCisgICAgICAgIE91dHB1dENh
cHR1cmUoKS5hc3NlcnRfb3V0cHV0cyhzZWxmLCByZXBvcnRlci5fY3JlYXRlX2J1Z19mb3JfZmxh
a3lfdGVzdCwgWydmb28vYmFyLmh0bWwnLCBbJ3Rlc3RAdGVzdC5jb20nXSwgJ0ZMQUtFX01FU1NB
R0UnXSwgZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzKQogCiAgICAgZGVmIHRlc3RfZm9sbG93
X2R1cGxpY2F0ZV9jaGFpbihzZWxmKToKICAgICAgICAgdG9vbCA9IE1vY2tUb29sKCkKQEAgLTEw
NSw3ICsxMDUsOCBAQCBibG9ja2VkOiA1MDg1NgogICAgICAgICByZXBvcnRlciA9IEZsYWt5VGVz
dFJlcG9ydGVyKHRvb2wsICdkdW1teS1xdWV1ZScpCiAgICAgICAgIHJlcG9ydGVyLl9sb29rdXBf
YnVnX2Zvcl9mbGFreV90ZXN0ID0gbGFtYmRhIGJ1Z19pZDogTm9uZQogICAgICAgICBwYXRjaCA9
IHRvb2wuYnVncy5mZXRjaF9hdHRhY2htZW50KDEwMDAwKQotICAgICAgICBleHBlY3RlZF9zdGRl
cnIgPSAiIiJNT0NLIGNyZWF0ZV9idWcKKyAgICAgICAgZXhwZWN0ZWRfbG9ncyA9ICIiIkJ1ZyBk
b2VzIG5vdCBhbHJlYWR5IGV4aXN0IGZvciBmb28vYmFyLmh0bWwsIGNyZWF0aW5nLgorTU9DSyBj
cmVhdGVfYnVnCiBidWdfdGl0bGU6IEZsYWt5IFRlc3Q6IGZvby9iYXIuaHRtbAogYnVnX2Rlc2Ny
aXB0aW9uOiBUaGlzIGlzIGFuIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ1ZyBmcm9tIHRoZSBk
dW1teS1xdWV1ZS4KIGZvby9iYXIuaHRtbCBoYXMgYmVlbiBmbGFreSBvbiB0aGUgZHVtbXktcXVl
dWUuCkBAIC0xNDQsNyArMTQ1LDcgQEAgVGhlIGR1bW15LXF1ZXVlIGlzIGNvbnRpbnVpbmcgdG8g
cHJvY2VzcyB5b3VyIHBhdGNoLgogICAgICAgICAgICAgZGVmIG5hbWVsaXN0KHNlbGYpOgogICAg
ICAgICAgICAgICAgIHJldHVybiBbJ2Zvby9iYXItZGlmZnMudHh0J10KIAotICAgICAgICBPdXRw
dXRDYXB0dXJlKCkuYXNzZXJ0X291dHB1dHMoc2VsZiwgcmVwb3J0ZXIucmVwb3J0X2ZsYWt5X3Rl
c3RzLCBbcGF0Y2gsIHRlc3RfcmVzdWx0cywgTW9ja1ppcEZpbGUoKV0sIGV4cGVjdGVkX3N0ZGVy
cj1leHBlY3RlZF9zdGRlcnIpCisgICAgICAgIE91dHB1dENhcHR1cmUoKS5hc3NlcnRfb3V0cHV0
cyhzZWxmLCByZXBvcnRlci5yZXBvcnRfZmxha3lfdGVzdHMsIFtwYXRjaCwgdGVzdF9yZXN1bHRz
LCBNb2NrWmlwRmlsZSgpXSwgZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzKQogCiAgICAgZGVm
IHRlc3Rfb3B0aW9uYWxfYXV0aG9yX3N0cmluZyhzZWxmKToKICAgICAgICAgcmVwb3J0ZXIgPSBG
bGFreVRlc3RSZXBvcnRlcihNb2NrVG9vbCgpLCAnZHVtbXktcXVldWUnKQpkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9pcmNfY29tbWFuZF91bml0dGVzdC5weSBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvaXJjX2NvbW1hbmRfdW5pdHRlc3QucHkK
aW5kZXggNGFiZWU2Njc4ZGRhYzg5Y2M5Y2U5MTc0YmJhNDhkMDBmZDUzMjlkMC4uZTMwN2U2ZWE5
ZmI4YzFlOGFkN2IwNDhiNmEzYzhjZTk4MDQ3YWQ2NiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS90b29sL2JvdC9pcmNfY29tbWFuZF91bml0dGVzdC5weQorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L2lyY19jb21tYW5kX3VuaXR0ZXN0LnB5CkBAIC04Niw4
ICs4Niw4IEBAIGNsYXNzIElSQ0NvbW1hbmRUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAg
ICAgcm9sbG91dCA9IFJvbGxvdXQoKQogICAgICAgICB0b29sID0gTW9ja1Rvb2woKQogICAgICAg
ICB0b29sLmV4ZWN1dGl2ZSA9IE1vY2tFeGVjdXRpdmUoc2hvdWxkX2xvZz1UcnVlKQotICAgICAg
ICBleHBlY3RlZF9zdGRlcnIgPSAiTU9DSyBydW5fYW5kX3Rocm93X2lmX2ZhaWw6IFsnbW9jay11
cGRhdGUtd2Via2l0J10sIGN3ZD0vbW9jay1jaGVja291dFxuIgotICAgICAgICBPdXRwdXRDYXB0
dXJlKCkuYXNzZXJ0X291dHB1dHMoc2VsZiwgcm9sbG91dC5fdXBkYXRlX3dvcmtpbmdfY29weSwg
W3Rvb2xdLCBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRfc3RkZXJyKQorICAgICAgICBleHBlY3Rl
ZF9sb2dzID0gIk1PQ0sgcnVuX2FuZF90aHJvd19pZl9mYWlsOiBbJ21vY2stdXBkYXRlLXdlYmtp
dCddLCBjd2Q9L21vY2stY2hlY2tvdXRcbiIKKyAgICAgICAgT3V0cHV0Q2FwdHVyZSgpLmFzc2Vy
dF9vdXRwdXRzKHNlbGYsIHJvbGxvdXQuX3VwZGF0ZV93b3JraW5nX2NvcHksIFt0b29sXSwgZXhw
ZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzKQogCiAgICAgZGVmIHRlc3Rfcm9sbG91dChzZWxmKToK
ICAgICAgICAgcm9sbG91dCA9IFJvbGxvdXQoKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS90b29sL2JvdC9pcmNib3RfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3Rvb2wvYm90L2lyY2JvdF91bml0dGVzdC5weQppbmRleCBjZTlhNzZiZGFiMzc4ZTJiYWFk
NGU4N2Q5MzUwYjVhNjc2OTM1NWYyLi5mOTZiN2I2YjUwNWNlYmMyNjE5ZDA5ODQ3ZDAwMDZkMmEz
NjIyOGU0IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L2lyY2Jv
dF91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L2lyY2Jv
dF91bml0dGVzdC5weQpAQCAtNzEsOCArNzEsOCBAQCBjbGFzcyBJUkNCb3RUZXN0KHVuaXR0ZXN0
LlRlc3RDYXNlKToKICAgICAgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIm1vY2tfZXhjZXB0
aW9uIikKIAogICAgICAgICBib3QuX3BhcnNlX2NvbW1hbmRfYW5kX2FyZ3MgPSBsYW1iZGEgcmVx
dWVzdDogKENvbW1hbmRXaXRoRXhjZXB0aW9uLCBbXSkKLSAgICAgICAgZXhwZWN0ZWRfc3RkZXJy
ID0gJ01PQ0s6IGlyYy5wb3N0OiBFeGNlcHRpb24gZXhlY3V0aW5nIGNvbW1hbmQ6IG1vY2tfZXhj
ZXB0aW9uXG4nCi0gICAgICAgIE91dHB1dENhcHR1cmUoKS5hc3NlcnRfb3V0cHV0cyhzZWxmLCBi
b3QucHJvY2Vzc19tZXNzYWdlLCBhcmdzPVsibW9ja19uaWNrIiwgImlnbm9yZWQgbWVzc2FnZSJd
LCBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRfc3RkZXJyKQorICAgICAgICBleHBlY3RlZF9sb2dz
ID0gJ01PQ0s6IGlyYy5wb3N0OiBFeGNlcHRpb24gZXhlY3V0aW5nIGNvbW1hbmQ6IG1vY2tfZXhj
ZXB0aW9uXG4nCisgICAgICAgIE91dHB1dENhcHR1cmUoKS5hc3NlcnRfb3V0cHV0cyhzZWxmLCBi
b3QucHJvY2Vzc19tZXNzYWdlLCBhcmdzPVsibW9ja19uaWNrIiwgImlnbm9yZWQgbWVzc2FnZSJd
LCBleHBlY3RlZF9sb2dzPWV4cGVjdGVkX2xvZ3MpCiAKICAgICAgICAgY2xhc3MgQ29tbWFuZFdp
dGhFeGNlcHRpb24ob2JqZWN0KToKICAgICAgICAgICAgIGRlZiBleGVjdXRlKHNlbGYsIG5pY2ss
IGFyZ3MsIHRvb2wsIHNoZXJpZmYpOgpAQCAtODQsODAgKzg0LDgwIEBAIGNsYXNzIElSQ0JvdFRl
c3QodW5pdHRlc3QuVGVzdENhc2UpOgogCiAgICAgZGVmIHRlc3RfaGkoc2VsZik6CiAgICAgICAg
IHJhbmRvbS5zZWVkKDIzMzI0KQotICAgICAgICBleHBlY3RlZF9zdGRlcnIgPSAnTU9DSzogaXJj
LnBvc3Q6ICJPbmx5IHlvdSBjYW4gcHJldmVudCBmb3Jlc3QgZmlyZXMuIiAtLSBTbW9rZXkgdGhl
IEJlYXJcbicKLSAgICAgICAgT3V0cHV0Q2FwdHVyZSgpLmFzc2VydF9vdXRwdXRzKHNlbGYsIHJ1
biwgYXJncz1bImhpIl0sIGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIpCisgICAgICAg
IGV4cGVjdGVkX2xvZ3MgPSAnTU9DSzogaXJjLnBvc3Q6ICJPbmx5IHlvdSBjYW4gcHJldmVudCBm
b3Jlc3QgZmlyZXMuIiAtLSBTbW9rZXkgdGhlIEJlYXJcbicKKyAgICAgICAgT3V0cHV0Q2FwdHVy
ZSgpLmFzc2VydF9vdXRwdXRzKHNlbGYsIHJ1biwgYXJncz1bImhpIl0sIGV4cGVjdGVkX2xvZ3M9
ZXhwZWN0ZWRfbG9ncykKIAogICAgIGRlZiB0ZXN0X2hlbHAoc2VsZik6Ci0gICAgICAgIGV4cGVj
dGVkX3N0ZGVyciA9ICJNT0NLOiBpcmMucG9zdDogbW9ja19uaWNrOiBBdmFpbGFibGUgY29tbWFu
ZHM6IGNyZWF0ZS1idWcsIGhlbHAsIGhpLCByZXN0YXJ0LCByb2xsLWNocm9taXVtLWRlcHMsIHJv
bGxvdXQsIHdob2lzXG4iCi0gICAgICAgIE91dHB1dENhcHR1cmUoKS5hc3NlcnRfb3V0cHV0cyhz
ZWxmLCBydW4sIGFyZ3M9WyJoZWxwIl0sIGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIp
CisgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAiTU9DSzogaXJjLnBvc3Q6IG1vY2tfbmljazogQXZh
aWxhYmxlIGNvbW1hbmRzOiBjcmVhdGUtYnVnLCBoZWxwLCBoaSwgcmVzdGFydCwgcm9sbC1jaHJv
bWl1bS1kZXBzLCByb2xsb3V0LCB3aG9pc1xuIgorICAgICAgICBPdXRwdXRDYXB0dXJlKCkuYXNz
ZXJ0X291dHB1dHMoc2VsZiwgcnVuLCBhcmdzPVsiaGVscCJdLCBleHBlY3RlZF9sb2dzPWV4cGVj
dGVkX2xvZ3MpCiAKICAgICBkZWYgdGVzdF9yZXN0YXJ0KHNlbGYpOgotICAgICAgICBleHBlY3Rl
ZF9zdGRlcnIgPSAiTU9DSzogaXJjLnBvc3Q6IFJlc3RhcnRpbmcuLi5cbiIKLSAgICAgICAgT3V0
cHV0Q2FwdHVyZSgpLmFzc2VydF9vdXRwdXRzKHNlbGYsIHJ1biwgYXJncz1bInJlc3RhcnQiXSwg
ZXhwZWN0ZWRfc3RkZXJyPWV4cGVjdGVkX3N0ZGVyciwgZXhwZWN0ZWRfZXhjZXB0aW9uPVRlcm1p
bmF0ZVF1ZXVlKQorICAgICAgICBleHBlY3RlZF9sb2dzID0gIk1PQ0s6IGlyYy5wb3N0OiBSZXN0
YXJ0aW5nLi4uXG4iCisgICAgICAgIE91dHB1dENhcHR1cmUoKS5hc3NlcnRfb3V0cHV0cyhzZWxm
LCBydW4sIGFyZ3M9WyJyZXN0YXJ0Il0sIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncywgZXhw
ZWN0ZWRfZXhjZXB0aW9uPVRlcm1pbmF0ZVF1ZXVlKQogCiAgICAgZGVmIHRlc3Rfcm9sbG91dChz
ZWxmKToKLSAgICAgICAgZXhwZWN0ZWRfc3RkZXJyID0gIk1PQ0s6IGlyYy5wb3N0OiBtb2NrX25p
Y2s6IFByZXBhcmluZyByb2xsb3V0IGZvciBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNl
dC8yMTY1NCAuLi5cbk1PQ0s6IGlyYy5wb3N0OiBtb2NrX25pY2ssIGFiYXJ0aCwgZGFyaW4sIGVz
ZWlkZWw6IENyZWF0ZWQgcm9sbG91dDogaHR0cDovL2V4YW1wbGUuY29tLzM2OTM2XG4iCi0gICAg
ICAgIE91dHB1dENhcHR1cmUoKS5hc3NlcnRfb3V0cHV0cyhzZWxmLCBydW4sIGFyZ3M9WyJyb2xs
b3V0IDIxNjU0IFRoaXMgcGF0Y2ggYnJva2UgdGhlIHdvcmxkIl0sIGV4cGVjdGVkX3N0ZGVycj1l
eHBlY3RlZF9zdGRlcnIpCisgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAiTU9DSzogaXJjLnBvc3Q6
IG1vY2tfbmljazogUHJlcGFyaW5nIHJvbGxvdXQgZm9yIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcv
Y2hhbmdlc2V0LzIxNjU0IC4uLlxuTU9DSzogaXJjLnBvc3Q6IG1vY2tfbmljaywgYWJhcnRoLCBk
YXJpbiwgZXNlaWRlbDogQ3JlYXRlZCByb2xsb3V0OiBodHRwOi8vZXhhbXBsZS5jb20vMzY5MzZc
biIKKyAgICAgICAgT3V0cHV0Q2FwdHVyZSgpLmFzc2VydF9vdXRwdXRzKHNlbGYsIHJ1biwgYXJn
cz1bInJvbGxvdXQgMjE2NTQgVGhpcyBwYXRjaCBicm9rZSB0aGUgd29ybGQiXSwgZXhwZWN0ZWRf
bG9ncz1leHBlY3RlZF9sb2dzKQogCiAgICAgZGVmIHRlc3RfcmV2ZXJ0KHNlbGYpOgotICAgICAg
ICBleHBlY3RlZF9zdGRlcnIgPSAiTU9DSzogaXJjLnBvc3Q6IG1vY2tfbmljazogUHJlcGFyaW5n
IHJvbGxvdXQgZm9yIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzIxNjU0IC4uLlxu
TU9DSzogaXJjLnBvc3Q6IG1vY2tfbmljaywgYWJhcnRoLCBkYXJpbiwgZXNlaWRlbDogQ3JlYXRl
ZCByb2xsb3V0OiBodHRwOi8vZXhhbXBsZS5jb20vMzY5MzZcbiIKLSAgICAgICAgT3V0cHV0Q2Fw
dHVyZSgpLmFzc2VydF9vdXRwdXRzKHNlbGYsIHJ1biwgYXJncz1bInJldmVydCAyMTY1NCBUaGlz
IHBhdGNoIGJyb2tlIHRoZSB3b3JsZCJdLCBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRfc3RkZXJy
KQorICAgICAgICBleHBlY3RlZF9sb2dzID0gIk1PQ0s6IGlyYy5wb3N0OiBtb2NrX25pY2s6IFBy
ZXBhcmluZyByb2xsb3V0IGZvciBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8yMTY1
NCAuLi5cbk1PQ0s6IGlyYy5wb3N0OiBtb2NrX25pY2ssIGFiYXJ0aCwgZGFyaW4sIGVzZWlkZWw6
IENyZWF0ZWQgcm9sbG91dDogaHR0cDovL2V4YW1wbGUuY29tLzM2OTM2XG4iCisgICAgICAgIE91
dHB1dENhcHR1cmUoKS5hc3NlcnRfb3V0cHV0cyhzZWxmLCBydW4sIGFyZ3M9WyJyZXZlcnQgMjE2
NTQgVGhpcyBwYXRjaCBicm9rZSB0aGUgd29ybGQiXSwgZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9s
b2dzKQogCiAgICAgZGVmIHRlc3Rfcm9sbF9jaHJvbWl1bV9kZXBzKHNlbGYpOgotICAgICAgICBl
eHBlY3RlZF9zdGRlcnIgPSAiTU9DSzogaXJjLnBvc3Q6IG1vY2tfbmljazogUm9sbGluZyBDaHJv
bWl1bSBERVBTIHRvIHIyMTY1NFxuTU9DSzogaXJjLnBvc3Q6IG1vY2tfbmljazogQ3JlYXRlZCBE
RVBTIHJvbGw6IGh0dHA6Ly9leGFtcGxlLmNvbS8zNjkzNlxuIgotICAgICAgICBPdXRwdXRDYXB0
dXJlKCkuYXNzZXJ0X291dHB1dHMoc2VsZiwgcnVuLCBhcmdzPVsicm9sbC1jaHJvbWl1bS1kZXBz
IDIxNjU0Il0sIGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIpCisgICAgICAgIGV4cGVj
dGVkX2xvZ3MgPSAiTU9DSzogaXJjLnBvc3Q6IG1vY2tfbmljazogUm9sbGluZyBDaHJvbWl1bSBE
RVBTIHRvIHIyMTY1NFxuTU9DSzogaXJjLnBvc3Q6IG1vY2tfbmljazogQ3JlYXRlZCBERVBTIHJv
bGw6IGh0dHA6Ly9leGFtcGxlLmNvbS8zNjkzNlxuIgorICAgICAgICBPdXRwdXRDYXB0dXJlKCku
YXNzZXJ0X291dHB1dHMoc2VsZiwgcnVuLCBhcmdzPVsicm9sbC1jaHJvbWl1bS1kZXBzIDIxNjU0
Il0sIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncykKIAogICAgIGRlZiB0ZXN0X3JvbGxfY2hy
b21pdW1fZGVwc190b19sa2dyKHNlbGYpOgotICAgICAgICBleHBlY3RlZF9zdGRlcnIgPSAiTU9D
SzogaXJjLnBvc3Q6IG1vY2tfbmljazogUm9sbGluZyBDaHJvbWl1bSBERVBTIHRvIGxhc3Qta25v
d24gZ29vZCByZXZpc2lvblxuTU9DSzogaXJjLnBvc3Q6IG1vY2tfbmljazogQ3JlYXRlZCBERVBT
IHJvbGw6IGh0dHA6Ly9leGFtcGxlLmNvbS8zNjkzNlxuIgotICAgICAgICBPdXRwdXRDYXB0dXJl
KCkuYXNzZXJ0X291dHB1dHMoc2VsZiwgcnVuLCBhcmdzPVsicm9sbC1jaHJvbWl1bS1kZXBzIl0s
IGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIpCisgICAgICAgIGV4cGVjdGVkX2xvZ3Mg
PSAiTU9DSzogaXJjLnBvc3Q6IG1vY2tfbmljazogUm9sbGluZyBDaHJvbWl1bSBERVBTIHRvIGxh
c3Qta25vd24gZ29vZCByZXZpc2lvblxuTU9DSzogaXJjLnBvc3Q6IG1vY2tfbmljazogQ3JlYXRl
ZCBERVBTIHJvbGw6IGh0dHA6Ly9leGFtcGxlLmNvbS8zNjkzNlxuIgorICAgICAgICBPdXRwdXRD
YXB0dXJlKCkuYXNzZXJ0X291dHB1dHMoc2VsZiwgcnVuLCBhcmdzPVsicm9sbC1jaHJvbWl1bS1k
ZXBzIl0sIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncykKIAogICAgIGRlZiB0ZXN0X211bHRp
X3JvbGxvdXQoc2VsZik6Ci0gICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9ICJNT0NLOiBpcmMucG9z
dDogbW9ja19uaWNrOiBQcmVwYXJpbmcgcm9sbG91dCBmb3IgaHR0cDovL3RyYWMud2Via2l0Lm9y
Zy9jaGFuZ2VzZXQvMjE2NTQsIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzIxNjU1
LCBhbmQgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMjE2NTYgLi4uXG5NT0NLOiBp
cmMucG9zdDogbW9ja19uaWNrLCBhYmFydGgsIGRhcmluLCBlc2VpZGVsOiBDcmVhdGVkIHJvbGxv
dXQ6IGh0dHA6Ly9leGFtcGxlLmNvbS8zNjkzNlxuIgotICAgICAgICBPdXRwdXRDYXB0dXJlKCku
YXNzZXJ0X291dHB1dHMoc2VsZiwgcnVuLCBhcmdzPVsicm9sbG91dCAyMTY1NCAyMTY1NSAyMTY1
NiBUaGlzIDIxNjU0IHBhdGNoIGJyb2tlIHRoZSB3b3JsZCJdLCBleHBlY3RlZF9zdGRlcnI9ZXhw
ZWN0ZWRfc3RkZXJyKQorICAgICAgICBleHBlY3RlZF9sb2dzID0gIk1PQ0s6IGlyYy5wb3N0OiBt
b2NrX25pY2s6IFByZXBhcmluZyByb2xsb3V0IGZvciBodHRwOi8vdHJhYy53ZWJraXQub3JnL2No
YW5nZXNldC8yMTY1NCwgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMjE2NTUsIGFu
ZCBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8yMTY1NiAuLi5cbk1PQ0s6IGlyYy5w
b3N0OiBtb2NrX25pY2ssIGFiYXJ0aCwgZGFyaW4sIGVzZWlkZWw6IENyZWF0ZWQgcm9sbG91dDog
aHR0cDovL2V4YW1wbGUuY29tLzM2OTM2XG4iCisgICAgICAgIE91dHB1dENhcHR1cmUoKS5hc3Nl
cnRfb3V0cHV0cyhzZWxmLCBydW4sIGFyZ3M9WyJyb2xsb3V0IDIxNjU0IDIxNjU1IDIxNjU2IFRo
aXMgMjE2NTQgcGF0Y2ggYnJva2UgdGhlIHdvcmxkIl0sIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRf
bG9ncykKIAogICAgIGRlZiB0ZXN0X3JvbGxvdXRfd2l0aF9yX2luX3N2bl9yZXZpc2lvbihzZWxm
KToKLSAgICAgICAgZXhwZWN0ZWRfc3RkZXJyID0gIk1PQ0s6IGlyYy5wb3N0OiBtb2NrX25pY2s6
IFByZXBhcmluZyByb2xsb3V0IGZvciBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8y
MTY1NCAuLi5cbk1PQ0s6IGlyYy5wb3N0OiBtb2NrX25pY2ssIGFiYXJ0aCwgZGFyaW4sIGVzZWlk
ZWw6IENyZWF0ZWQgcm9sbG91dDogaHR0cDovL2V4YW1wbGUuY29tLzM2OTM2XG4iCi0gICAgICAg
IE91dHB1dENhcHR1cmUoKS5hc3NlcnRfb3V0cHV0cyhzZWxmLCBydW4sIGFyZ3M9WyJyb2xsb3V0
IHIyMTY1NCBUaGlzIHBhdGNoIGJyb2tlIHRoZSB3b3JsZCJdLCBleHBlY3RlZF9zdGRlcnI9ZXhw
ZWN0ZWRfc3RkZXJyKQorICAgICAgICBleHBlY3RlZF9sb2dzID0gIk1PQ0s6IGlyYy5wb3N0OiBt
b2NrX25pY2s6IFByZXBhcmluZyByb2xsb3V0IGZvciBodHRwOi8vdHJhYy53ZWJraXQub3JnL2No
YW5nZXNldC8yMTY1NCAuLi5cbk1PQ0s6IGlyYy5wb3N0OiBtb2NrX25pY2ssIGFiYXJ0aCwgZGFy
aW4sIGVzZWlkZWw6IENyZWF0ZWQgcm9sbG91dDogaHR0cDovL2V4YW1wbGUuY29tLzM2OTM2XG4i
CisgICAgICAgIE91dHB1dENhcHR1cmUoKS5hc3NlcnRfb3V0cHV0cyhzZWxmLCBydW4sIGFyZ3M9
WyJyb2xsb3V0IHIyMTY1NCBUaGlzIHBhdGNoIGJyb2tlIHRoZSB3b3JsZCJdLCBleHBlY3RlZF9s
b2dzPWV4cGVjdGVkX2xvZ3MpCiAKICAgICBkZWYgdGVzdF9tdWx0aV9yb2xsb3V0X3dpdGhfcl9p
bl9zdm5fcmV2aXNpb24oc2VsZik6Ci0gICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9ICJNT0NLOiBp
cmMucG9zdDogbW9ja19uaWNrOiBQcmVwYXJpbmcgcm9sbG91dCBmb3IgaHR0cDovL3RyYWMud2Vi
a2l0Lm9yZy9jaGFuZ2VzZXQvMjE2NTQsIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0
LzIxNjU1LCBhbmQgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMjE2NTYgLi4uXG5N
T0NLOiBpcmMucG9zdDogbW9ja19uaWNrLCBhYmFydGgsIGRhcmluLCBlc2VpZGVsOiBDcmVhdGVk
IHJvbGxvdXQ6IGh0dHA6Ly9leGFtcGxlLmNvbS8zNjkzNlxuIgotICAgICAgICBPdXRwdXRDYXB0
dXJlKCkuYXNzZXJ0X291dHB1dHMoc2VsZiwgcnVuLCBhcmdzPVsicm9sbG91dCByMjE2NTQgMjE2
NTUgcjIxNjU2IFRoaXMgcjIxNjU0IHBhdGNoIGJyb2tlIHRoZSB3b3JsZCJdLCBleHBlY3RlZF9z
dGRlcnI9ZXhwZWN0ZWRfc3RkZXJyKQorICAgICAgICBleHBlY3RlZF9sb2dzID0gIk1PQ0s6IGly
Yy5wb3N0OiBtb2NrX25pY2s6IFByZXBhcmluZyByb2xsb3V0IGZvciBodHRwOi8vdHJhYy53ZWJr
aXQub3JnL2NoYW5nZXNldC8yMTY1NCwgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQv
MjE2NTUsIGFuZCBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8yMTY1NiAuLi5cbk1P
Q0s6IGlyYy5wb3N0OiBtb2NrX25pY2ssIGFiYXJ0aCwgZGFyaW4sIGVzZWlkZWw6IENyZWF0ZWQg
cm9sbG91dDogaHR0cDovL2V4YW1wbGUuY29tLzM2OTM2XG4iCisgICAgICAgIE91dHB1dENhcHR1
cmUoKS5hc3NlcnRfb3V0cHV0cyhzZWxmLCBydW4sIGFyZ3M9WyJyb2xsb3V0IHIyMTY1NCAyMTY1
NSByMjE2NTYgVGhpcyByMjE2NTQgcGF0Y2ggYnJva2UgdGhlIHdvcmxkIl0sIGV4cGVjdGVkX2xv
Z3M9ZXhwZWN0ZWRfbG9ncykKIAogICAgIGRlZiB0ZXN0X3JvbGxvdXRfYmFuYW5hcyhzZWxmKToK
LSAgICAgICAgZXhwZWN0ZWRfc3RkZXJyID0gIk1PQ0s6IGlyYy5wb3N0OiBtb2NrX25pY2s6IFVz
YWdlOiByb2xsb3V0IFNWTl9SRVZJU0lPTiBbU1ZOX1JFVklTSU9OU10gUkVBU09OXG4iCi0gICAg
ICAgIE91dHB1dENhcHR1cmUoKS5hc3NlcnRfb3V0cHV0cyhzZWxmLCBydW4sIGFyZ3M9WyJyb2xs
b3V0IGJhbmFuYXMiXSwgZXhwZWN0ZWRfc3RkZXJyPWV4cGVjdGVkX3N0ZGVycikKKyAgICAgICAg
ZXhwZWN0ZWRfbG9ncyA9ICJNT0NLOiBpcmMucG9zdDogbW9ja19uaWNrOiBVc2FnZTogcm9sbG91
dCBTVk5fUkVWSVNJT04gW1NWTl9SRVZJU0lPTlNdIFJFQVNPTlxuIgorICAgICAgICBPdXRwdXRD
YXB0dXJlKCkuYXNzZXJ0X291dHB1dHMoc2VsZiwgcnVuLCBhcmdzPVsicm9sbG91dCBiYW5hbmFz
Il0sIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncykKIAogICAgIGRlZiB0ZXN0X3JvbGxvdXRf
aW52YWxpZGF0ZV9yZXZpc2lvbihzZWxmKToKICAgICAgICAgIyBXaGVuIGZvbGtzIHBhc3MganVu
ayBhcmd1bWVudHMsIHdlIHNob3VsZCBqdXN0IHNwaXQgdGhlIHVzYWdlIGJhY2sgYXQgdGhlbS4K
LSAgICAgICAgZXhwZWN0ZWRfc3RkZXJyID0gIk1PQ0s6IGlyYy5wb3N0OiBtb2NrX25pY2s6IFVz
YWdlOiByb2xsb3V0IFNWTl9SRVZJU0lPTiBbU1ZOX1JFVklTSU9OU10gUkVBU09OXG4iCisgICAg
ICAgIGV4cGVjdGVkX2xvZ3MgPSAiTU9DSzogaXJjLnBvc3Q6IG1vY2tfbmljazogVXNhZ2U6IHJv
bGxvdXQgU1ZOX1JFVklTSU9OIFtTVk5fUkVWSVNJT05TXSBSRUFTT05cbiIKICAgICAgICAgT3V0
cHV0Q2FwdHVyZSgpLmFzc2VydF9vdXRwdXRzKHNlbGYsIHJ1biwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGFyZ3M9WyJyb2xsb3V0IC0tY29tcG9uZW50PVRvb2xzIDIx
NjU0Il0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZF9z
dGRlcnI9ZXhwZWN0ZWRfc3RkZXJyKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzKQogCiAgICAgZGVmIHRlc3Rfcm9sbG91
dF9pbnZhbGlkYXRlX3JlYXNvbihzZWxmKToKICAgICAgICAgIyBGSVhNRTogSSdtIHNsaWdodGx5
IGNvbmZ1c2VkIGFzIHRvIHdoeSB0aGlzIGRvZXNuJ3QgcmV0dXJuIHRoZSBVU0FHRSBtZXNzYWdl
LgotICAgICAgICBleHBlY3RlZF9zdGRlcnIgPSAiIiJNT0NLOiBpcmMucG9zdDogbW9ja19uaWNr
OiBQcmVwYXJpbmcgcm9sbG91dCBmb3IgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQv
MjE2NTQgLi4uCisgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAiIiJNT0NLOiBpcmMucG9zdDogbW9j
a19uaWNrOiBQcmVwYXJpbmcgcm9sbG91dCBmb3IgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFu
Z2VzZXQvMjE2NTQgLi4uCiBNT0NLOiBpcmMucG9zdDogbW9ja19uaWNrLCBhYmFydGgsIGRhcmlu
LCBlc2VpZGVsOiBGYWlsZWQgdG8gY3JlYXRlIHJvbGxvdXQgcGF0Y2g6CiBNT0NLOiBpcmMucG9z
dDogVGhlIHJvbGxvdXQgcmVhc29uIG1heSBub3QgYmVnaW4gd2l0aCAtIChcIi1iYWQgKFJlcXVl
c3RlZCBieSBtb2NrX25pY2sgb24gI3dlYmtpdCkuXCIpLgogIiIiCiAgICAgICAgIE91dHB1dENh
cHR1cmUoKS5hc3NlcnRfb3V0cHV0cyhzZWxmLCBydW4sCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBhcmdzPVsicm9sbG91dCAyMTY1NCAtYmFkIl0sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRfc3Rk
ZXJyKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwZWN0ZWRfbG9n
cz1leHBlY3RlZF9sb2dzKQogCiAgICAgZGVmIHRlc3RfbXVsdGlfcm9sbG91dF9pbnZhbGlkYXRl
X3JlYXNvbihzZWxmKToKLSAgICAgICAgZXhwZWN0ZWRfc3RkZXJyID0gIiIiTU9DSzogaXJjLnBv
c3Q6IG1vY2tfbmljazogUHJlcGFyaW5nIHJvbGxvdXQgZm9yIGh0dHA6Ly90cmFjLndlYmtpdC5v
cmcvY2hhbmdlc2V0LzIxNjU0LCBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8yMTY1
NSwgYW5kIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzIxNjU2IC4uLgorICAgICAg
ICBleHBlY3RlZF9sb2dzID0gIiIiTU9DSzogaXJjLnBvc3Q6IG1vY2tfbmljazogUHJlcGFyaW5n
IHJvbGxvdXQgZm9yIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzIxNjU0LCBodHRw
Oi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8yMTY1NSwgYW5kIGh0dHA6Ly90cmFjLndlYmtp
dC5vcmcvY2hhbmdlc2V0LzIxNjU2IC4uLgogTU9DSzogaXJjLnBvc3Q6IG1vY2tfbmljaywgYWJh
cnRoLCBkYXJpbiwgZXNlaWRlbDogRmFpbGVkIHRvIGNyZWF0ZSByb2xsb3V0IHBhdGNoOgogTU9D
SzogaXJjLnBvc3Q6IFRoZSByb2xsb3V0IHJlYXNvbiBtYXkgbm90IGJlZ2luIHdpdGggLSAoXCIt
YmFkIChSZXF1ZXN0ZWQgYnkgbW9ja19uaWNrIG9uICN3ZWJraXQpLlwiKS4KICIiIgogICAgICAg
ICBPdXRwdXRDYXB0dXJlKCkuYXNzZXJ0X291dHB1dHMoc2VsZiwgcnVuLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJncz1bInJvbGxvdXQgIgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjIxNjU0IDIxNjU1IHIyMTY1NiAtYmFk
Il0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZF9zdGRl
cnI9ZXhwZWN0ZWRfc3RkZXJyKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzKQogCiAgICAgZGVmIHRlc3Rfcm9sbG91dF9u
b19yZWFzb24oc2VsZik6Ci0gICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9ICJNT0NLOiBpcmMucG9z
dDogbW9ja19uaWNrOiBVc2FnZTogcm9sbG91dCBTVk5fUkVWSVNJT04gW1NWTl9SRVZJU0lPTlNd
IFJFQVNPTlxuIgotICAgICAgICBPdXRwdXRDYXB0dXJlKCkuYXNzZXJ0X291dHB1dHMoc2VsZiwg
cnVuLCBhcmdzPVsicm9sbG91dCAyMTY1NCJdLCBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRfc3Rk
ZXJyKQorICAgICAgICBleHBlY3RlZF9sb2dzID0gIk1PQ0s6IGlyYy5wb3N0OiBtb2NrX25pY2s6
IFVzYWdlOiByb2xsb3V0IFNWTl9SRVZJU0lPTiBbU1ZOX1JFVklTSU9OU10gUkVBU09OXG4iCisg
ICAgICAgIE91dHB1dENhcHR1cmUoKS5hc3NlcnRfb3V0cHV0cyhzZWxmLCBydW4sIGFyZ3M9WyJy
b2xsb3V0IDIxNjU0Il0sIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncykKIAogICAgIGRlZiB0
ZXN0X211bHRpX3JvbGxvdXRfbm9fcmVhc29uKHNlbGYpOgotICAgICAgICBleHBlY3RlZF9zdGRl
cnIgPSAiTU9DSzogaXJjLnBvc3Q6IG1vY2tfbmljazogVXNhZ2U6IHJvbGxvdXQgU1ZOX1JFVklT
SU9OIFtTVk5fUkVWSVNJT05TXSBSRUFTT05cbiIKLSAgICAgICAgT3V0cHV0Q2FwdHVyZSgpLmFz
c2VydF9vdXRwdXRzKHNlbGYsIHJ1biwgYXJncz1bInJvbGxvdXQgMjE2NTQgMjE2NTUgcjIxNjU2
Il0sIGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIpCisgICAgICAgIGV4cGVjdGVkX2xv
Z3MgPSAiTU9DSzogaXJjLnBvc3Q6IG1vY2tfbmljazogVXNhZ2U6IHJvbGxvdXQgU1ZOX1JFVklT
SU9OIFtTVk5fUkVWSVNJT05TXSBSRUFTT05cbiIKKyAgICAgICAgT3V0cHV0Q2FwdHVyZSgpLmFz
c2VydF9vdXRwdXRzKHNlbGYsIHJ1biwgYXJncz1bInJvbGxvdXQgMjE2NTQgMjE2NTUgcjIxNjU2
Il0sIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncykKZGlmZiAtLWdpdCBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvdG9vbC9ib3Qvc2hlcmlmZl91bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvdG9vbC9ib3Qvc2hlcmlmZl91bml0dGVzdC5weQppbmRleCAzZmY1MDgyZjYzMjlh
Y2YzODc5N2Y5NTY0YTAyMzUwMGE3ZjQ3YjllLi4wMmZjMDM2MDgzZGE4MjI5NmQ1ZGY1MjVlYjJk
MDMzYWI2MGFlOTllIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90
L3NoZXJpZmZfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2Jv
dC9zaGVyaWZmX3VuaXR0ZXN0LnB5CkBAIC02NSw3ICs2NSw3IEBAIGNsYXNzIFNoZXJpZmZUZXN0
KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgICAgIHNoZXJpZmYucG9zdF9ibGFtZV9jb21t
ZW50X29uX2J1Zyhjb21taXRfaW5mbywgYnVpbGRlcnMsIFsibW9jay10ZXN0LTEiXSkKICAgICAg
ICAgICAgIHNoZXJpZmYucG9zdF9ibGFtZV9jb21tZW50X29uX2J1Zyhjb21taXRfaW5mbywgYnVp
bGRlcnMsIFsibW9jay10ZXN0LTEiLCAibW9jay10ZXN0LTIiXSkKIAotICAgICAgICBleHBlY3Rl
ZF9zdGRlcnIgPSB1IiIiTU9DSyBidWcgY29tbWVudDogYnVnX2lkPTEyMzQsIGNjPVsnd2F0Y2hl
ckBleGFtcGxlLmNvbSddCisgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSB1IiIiTU9DSyBidWcgY29t
bWVudDogYnVnX2lkPTEyMzQsIGNjPVsnd2F0Y2hlckBleGFtcGxlLmNvbSddCiAtLS0gQmVnaW4g
Y29tbWVudCAtLS0KIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzQzMjEgbWlnaHQg
aGF2ZSBicm9rZW4gRm9vIGFuZCBCYXIKIC0tLSBFbmQgY29tbWVudCAtLS0KQEAgLTg2LDQgKzg2
LDQgQEAgbW9jay10ZXN0LTIKIC0tLSBFbmQgY29tbWVudCAtLS0KIAogIiIiCi0gICAgICAgIE91
dHB1dENhcHR1cmUoKS5hc3NlcnRfb3V0cHV0cyhzZWxmLCBydW4sIGV4cGVjdGVkX3N0ZGVycj1l
eHBlY3RlZF9zdGRlcnIpCisgICAgICAgIE91dHB1dENhcHR1cmUoKS5hc3NlcnRfb3V0cHV0cyhz
ZWxmLCBydW4sIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncykKZGlmZiAtLWdpdCBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9hcHBseXdhdGNobGlzdGxvY2FsX3VuaXR0
ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL2FwcGx5d2F0Y2hs
aXN0bG9jYWxfdW5pdHRlc3QucHkKaW5kZXggOTE4MThkMWMyZjBmNzRjNjAxNTQ4ODhhNDgwYzY0
Y2FiZWU0MGQ2OS4uZTg4YTg2ZmE1NWUxYzFhNmI5NjllNzg5OTdmNGE1MWM3MmEzZGIzNiAxMDA2
NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL2FwcGx5d2F0Y2hs
aXN0bG9jYWxfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2Nv
bW1hbmRzL2FwcGx5d2F0Y2hsaXN0bG9jYWxfdW5pdHRlc3QucHkKQEAgLTMzLDE4ICszMywyMyBA
QCBmcm9tIHdlYmtpdHB5LnRvb2wuY29tbWFuZHMuYXBwbHl3YXRjaGxpc3Rsb2NhbCBpbXBvcnQg
QXBwbHlXYXRjaExpc3RMb2NhbAogCiBjbGFzcyBBcHBseVdhdGNoTGlzdExvY2FsVGVzdChDb21t
YW5kc1Rlc3QpOgogICAgIGRlZiB0ZXN0X2FyZ3NfcGFyc2luZyhzZWxmKToKLSAgICAgICAgZXhw
ZWN0ZWRfc3RkZXJyID0gJ01vY2tXYXRjaExpc3Q6IGRldGVybWluZV9jY19hbmRfbWVzc2FnZXNc
bicKLSAgICAgICAgc2VsZi5hc3NlcnRfZXhlY3V0ZV9vdXRwdXRzKEFwcGx5V2F0Y2hMaXN0TG9j
YWwoKSwgWycnXSwgZXhwZWN0ZWRfc3RkZXJyPWV4cGVjdGVkX3N0ZGVycikKKyAgICAgICAgZXhw
ZWN0ZWRfbG9ncyA9ICIiIk1vY2tXYXRjaExpc3Q6IGRldGVybWluZV9jY19hbmRfbWVzc2FnZXMK
K05vIGJ1ZyB3YXMgdXBkYXRlZCBiZWNhdXNlIG5vIGlkIHdhcyBnaXZlbi4KK1Jlc3VsdCBvZiB3
YXRjaGxpc3Q6IGNjICJhYmFydGhAd2Via2l0Lm9yZywgZXJpY0B3ZWJraXQub3JnLCBsZXZpbkBj
aHJvbWl1bS5vcmciIG1lc3NhZ2VzICJNZXNzYWdlMS4KKworTWVzc2FnZTIuIgorIiIiCisgICAg
ICAgIHNlbGYuYXNzZXJ0X2V4ZWN1dGVfb3V0cHV0cyhBcHBseVdhdGNoTGlzdExvY2FsKCksIFsn
J10sIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncykKIAogICAgIGRlZiB0ZXN0X2FyZ3NfcGFy
c2luZ193aXRoX2J1ZyhzZWxmKToKLSAgICAgICAgZXhwZWN0ZWRfc3RkZXJyID0gIiIiTW9ja1dh
dGNoTGlzdDogZGV0ZXJtaW5lX2NjX2FuZF9tZXNzYWdlcworICAgICAgICBleHBlY3RlZF9sb2dz
ID0gIiIiTW9ja1dhdGNoTGlzdDogZGV0ZXJtaW5lX2NjX2FuZF9tZXNzYWdlcwogTU9DSyBidWcg
Y29tbWVudDogYnVnX2lkPTUwMDAyLCBjYz1zZXQoWydlcmljQHdlYmtpdC5vcmcnLCAnbGV2aW5A
Y2hyb21pdW0ub3JnJywgJ2FiYXJ0aEB3ZWJraXQub3JnJ10pCiAtLS0gQmVnaW4gY29tbWVudCAt
LS0KIE1lc3NhZ2UxLgogCiBNZXNzYWdlMi4KIC0tLSBFbmQgY29tbWVudCAtLS1cblxuIiIiCi0g
ICAgICAgIHNlbGYuYXNzZXJ0X2V4ZWN1dGVfb3V0cHV0cyhBcHBseVdhdGNoTGlzdExvY2FsKCks
IFsnNTAwMDInXSwgZXhwZWN0ZWRfc3RkZXJyPWV4cGVjdGVkX3N0ZGVycikKKyAgICAgICAgc2Vs
Zi5hc3NlcnRfZXhlY3V0ZV9vdXRwdXRzKEFwcGx5V2F0Y2hMaXN0TG9jYWwoKSwgWyc1MDAwMidd
LCBleHBlY3RlZF9sb2dzPWV4cGVjdGVkX2xvZ3MpCiAKICAgICBkZWYgdGVzdF9hcmdzX3BhcnNp
bmdfd2l0aF90d29fYnVncyhzZWxmKToKICAgICAgICAgc2VsZi5fYXNzZXJ0UmFpc2VzUmVnZXhw
KEV4Y2VwdGlvbiwgJ1RvbyBtYW55IGFyZ3VtZW50cyBnaXZlbjogMTIzNCA1Njc4Jywgc2VsZi5h
c3NlcnRfZXhlY3V0ZV9vdXRwdXRzLCBBcHBseVdhdGNoTGlzdExvY2FsKCksIFsnMTIzNCcsICc1
Njc4J10pCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMv
ZG93bmxvYWRfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFu
ZHMvZG93bmxvYWRfdW5pdHRlc3QucHkKaW5kZXggYmFlOTkyN2ZiOTA5ZTliOGQ4MDMyODRmNWEx
NGI3ZDhjODM5YTZkZi4uMTRiZjJjZTVlNDUwNjllZWRjNGYxZTFlODI4NDlhOGVjNjFiNmU1NyAx
MDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL2Rvd25sb2Fk
X3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9k
b3dubG9hZF91bml0dGVzdC5weQpAQCAtMTIzLDE4ICsxMjMsMTcgQEAgUnVubmluZyBydW4td2Vi
a2l0LXRlc3RzCiAgICAgICAgIHNlbGYuYXNzZXJ0X2V4ZWN1dGVfb3V0cHV0cyhBcHBseUZyb21C
dWcoKSwgWzUwMDAwXSwgb3B0aW9ucz1vcHRpb25zLCBleHBlY3RlZF9sb2dzPWV4cGVjdGVkX2xv
Z3MpCiAKICAgICBkZWYgdGVzdF9hcHBseV93YXRjaF9saXN0KHNlbGYpOgotICAgICAgICBleHBl
Y3RlZF9zdGRlcnIgPSAiIiJNT0NLIHJ1bl9hbmRfdGhyb3dfaWZfZmFpbDogWydtb2NrLXVwZGF0
ZS13ZWJraXQnXSwgY3dkPS9tb2NrLWNoZWNrb3V0Ci1Nb2NrV2F0Y2hMaXN0OiBkZXRlcm1pbmVf
Y2NfYW5kX21lc3NhZ2VzCi0iIiIKICAgICAgICAgZXhwZWN0ZWRfbG9ncyA9ICIiIlByb2Nlc3Np
bmcgMSBwYXRjaCBmcm9tIDEgYnVnLgogVXBkYXRpbmcgd29ya2luZyBkaXJlY3RvcnkKK01PQ0sg
cnVuX2FuZF90aHJvd19pZl9mYWlsOiBbJ21vY2stdXBkYXRlLXdlYmtpdCddLCBjd2Q9L21vY2st
Y2hlY2tvdXQKIFByb2Nlc3NpbmcgcGF0Y2ggMTAwMDAgZnJvbSBidWcgNTAwMDAuCitNb2NrV2F0
Y2hMaXN0OiBkZXRlcm1pbmVfY2NfYW5kX21lc3NhZ2VzCiBObyBidWcgd2FzIHVwZGF0ZWQgYmVj
YXVzZSBubyBpZCB3YXMgZ2l2ZW4uCiBSZXN1bHQgb2Ygd2F0Y2hsaXN0OiBjYyAiYWJhcnRoQHdl
YmtpdC5vcmcsIGVyaWNAd2Via2l0Lm9yZywgbGV2aW5AY2hyb21pdW0ub3JnIiBtZXNzYWdlcyAi
TWVzc2FnZTEuCiAKIE1lc3NhZ2UyLiIKICIiIgotICAgICAgICBzZWxmLmFzc2VydF9leGVjdXRl
X291dHB1dHMoQXBwbHlXYXRjaExpc3QoKSwgWzEwMDAwXSwgb3B0aW9ucz1zZWxmLl9kZWZhdWx0
X29wdGlvbnMoKSwgZXhwZWN0ZWRfc3RkZXJyPWV4cGVjdGVkX3N0ZGVyciwgZXhwZWN0ZWRfbG9n
cz1leHBlY3RlZF9sb2dzLCB0b29sPU1vY2tUb29sKGxvZ19leGVjdXRpdmU9VHJ1ZSkpCisgICAg
ICAgIHNlbGYuYXNzZXJ0X2V4ZWN1dGVfb3V0cHV0cyhBcHBseVdhdGNoTGlzdCgpLCBbMTAwMDBd
LCBvcHRpb25zPXNlbGYuX2RlZmF1bHRfb3B0aW9ucygpLCBleHBlY3RlZF9sb2dzPWV4cGVjdGVk
X2xvZ3MsIHRvb2w9TW9ja1Rvb2wobG9nX2V4ZWN1dGl2ZT1UcnVlKSkKIAogICAgIGRlZiB0ZXN0
X2xhbmQoc2VsZik6CiAgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAiIiJCdWlsZGluZyBXZWJLaXQK
QEAgLTE1NSwzMCArMTU0LDI5IEBAIFVwZGF0aW5nIGJ1ZyA1MDAwMAogICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKG1vY2tfdG9vbC5jaGVja291dCgpLm1vZGlmaWVkX2NoYW5nZWxvZ3MuY2FsbF9j
b3VudCwgMSkKIAogICAgIGRlZiB0ZXN0X2xhbmRfY293Ym95KHNlbGYpOgotICAgICAgICBleHBl
Y3RlZF9zdGRlcnIgPSAiIiJNT0NLIHJ1bl9hbmRfdGhyb3dfaWZfZmFpbDogWydtb2NrLXByZXBh
cmUtQ2hhbmdlTG9nJywgJy0tZW1haWw9TU9DSyBlbWFpbCcsICctLW1lcmdlLWJhc2U9Tm9uZScs
ICdNb2NrRmlsZTEnXSwgY3dkPS9tb2NrLWNoZWNrb3V0CisgICAgICAgIGV4cGVjdGVkX2xvZ3Mg
PSAiIiJNT0NLIHJ1bl9hbmRfdGhyb3dfaWZfZmFpbDogWydtb2NrLXByZXBhcmUtQ2hhbmdlTG9n
JywgJy0tZW1haWw9TU9DSyBlbWFpbCcsICctLW1lcmdlLWJhc2U9Tm9uZScsICdNb2NrRmlsZTEn
XSwgY3dkPS9tb2NrLWNoZWNrb3V0CiBNT0NLIHJ1bl9hbmRfdGhyb3dfaWZfZmFpbDogWydtb2Nr
LWNoZWNrLXdlYmtpdC1zdHlsZScsICctLWdpdC1jb21taXQnLCAnTU9DSyBnaXQgY29tbWl0Jywg
Jy0tZGlmZi1maWxlcycsICdNb2NrRmlsZTEnLCAnLS1maWx0ZXInLCAnLWNoYW5nZWxvZyddLCBj
d2Q9L21vY2stY2hlY2tvdXQKIE1PQ0sgcnVuX2NvbW1hbmQ6IFsncnVieScsICctSScsICcvbW9j
ay1jaGVja291dC9XZWJzaXRlcy9idWdzLndlYmtpdC5vcmcvUHJldHR5UGF0Y2gnLCAnL21vY2st
Y2hlY2tvdXQvV2Vic2l0ZXMvYnVncy53ZWJraXQub3JnL1ByZXR0eVBhdGNoL3ByZXR0aWZ5LnJi
J10sIGN3ZD1Ob25lLCBpbnB1dD1QYXRjaDEKIE1PQ0s6IHVzZXIub3Blbl91cmw6IGZpbGU6Ly8u
Li4KIFdhcyB0aGF0IGRpZmYgY29ycmVjdD8KK0J1aWxkaW5nIFdlYktpdAogTU9DSyBydW5fYW5k
X3Rocm93X2lmX2ZhaWw6IFsnbW9jay1idWlsZC13ZWJraXQnXSwgY3dkPS9tb2NrLWNoZWNrb3V0
LCBlbnY9eydMQ19BTEwnOiAnQycsICdNT0NLX0VOVklST05fQ09QWSc6ICcxJ30KLU1PQ0sgcnVu
X2FuZF90aHJvd19pZl9mYWlsOiBbJ21vY2stdGVzdC13ZWJraXRweSddLCBjd2Q9L21vY2stY2hl
Y2tvdXQKLU1PQ0sgcnVuX2FuZF90aHJvd19pZl9mYWlsOiBbJ21vY2stdGVzdC13ZWJraXRwZXJs
J10sIGN3ZD0vbW9jay1jaGVja291dAotTU9DSyBydW5fYW5kX3Rocm93X2lmX2ZhaWw6IFsnbW9j
ay1ydW4tamF2YWNyaXB0Y29yZS10ZXN0cyddLCBjd2Q9L21vY2stY2hlY2tvdXQKLU1PQ0sgcnVu
X2FuZF90aHJvd19pZl9mYWlsOiBbJ21vY2stcnVuLXdlYmtpdC11bml0LXRlc3RzJ10sIGN3ZD0v
bW9jay1jaGVja291dAotTU9DSyBydW5fYW5kX3Rocm93X2lmX2ZhaWw6IFsnbW9jay1ydW4td2Vi
a2l0LXRlc3RzJywgJy0tcXVpZXQnXSwgY3dkPS9tb2NrLWNoZWNrb3V0Ci0iIiIKLSAgICAgICAg
ZXhwZWN0ZWRfbG9ncyA9ICIiIkJ1aWxkaW5nIFdlYktpdAogUnVubmluZyBQeXRob24gdW5pdCB0
ZXN0cworTU9DSyBydW5fYW5kX3Rocm93X2lmX2ZhaWw6IFsnbW9jay10ZXN0LXdlYmtpdHB5J10s
IGN3ZD0vbW9jay1jaGVja291dAogUnVubmluZyBQZXJsIHVuaXQgdGVzdHMKK01PQ0sgcnVuX2Fu
ZF90aHJvd19pZl9mYWlsOiBbJ21vY2stdGVzdC13ZWJraXRwZXJsJ10sIGN3ZD0vbW9jay1jaGVj
a291dAogUnVubmluZyBKYXZhU2NyaXB0Q29yZSB0ZXN0cworTU9DSyBydW5fYW5kX3Rocm93X2lm
X2ZhaWw6IFsnbW9jay1ydW4tamF2YWNyaXB0Y29yZS10ZXN0cyddLCBjd2Q9L21vY2stY2hlY2tv
dXQKIFJ1bm5pbmcgV2ViS2l0IHVuaXQgdGVzdHMKK01PQ0sgcnVuX2FuZF90aHJvd19pZl9mYWls
OiBbJ21vY2stcnVuLXdlYmtpdC11bml0LXRlc3RzJ10sIGN3ZD0vbW9jay1jaGVja291dAogUnVu
bmluZyBydW4td2Via2l0LXRlc3RzCitNT0NLIHJ1bl9hbmRfdGhyb3dfaWZfZmFpbDogWydtb2Nr
LXJ1bi13ZWJraXQtdGVzdHMnLCAnLS1xdWlldCddLCBjd2Q9L21vY2stY2hlY2tvdXQKIENvbW1p
dHRlZCByNDk4MjQ6IDxodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC80OTgyND4KIENv
bW1pdHRlZCByNDk4MjQ6IDxodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC80OTgyND4K
IE5vIGJ1ZyBpZCBwcm92aWRlZC4KICIiIgogICAgICAgICBtb2NrX3Rvb2wgPSBNb2NrVG9vbChs
b2dfZXhlY3V0aXZlPVRydWUpCi0gICAgICAgIHNlbGYuYXNzZXJ0X2V4ZWN1dGVfb3V0cHV0cyhM
YW5kQ293Ym95KCksIFs1MDAwMF0sIG9wdGlvbnM9c2VsZi5fZGVmYXVsdF9vcHRpb25zKCksIGV4
cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIsIHRvb2w9bW9ja190b29sKQorICAgICAgICBz
ZWxmLmFzc2VydF9leGVjdXRlX291dHB1dHMoTGFuZENvd2JveSgpLCBbNTAwMDBdLCBvcHRpb25z
PXNlbGYuX2RlZmF1bHRfb3B0aW9ucygpLCBleHBlY3RlZF9sb2dzPWV4cGVjdGVkX2xvZ3MsIHRv
b2w9bW9ja190b29sKQogCiAgICAgZGVmIHRlc3RfbGFuZF9yZWRfYnVpbGRlcnMoc2VsZik6CiAg
ICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAiIiJCdWlsZGluZyBXZWJLaXQKQEAgLTE5NSwxMSArMTkz
LDEzIEBAIFVwZGF0aW5nIGJ1ZyA1MDAwMAogICAgICAgICBzZWxmLmFzc2VydF9leGVjdXRlX291
dHB1dHMoTGFuZCgpLCBbNTAwMDBdLCBvcHRpb25zPXNlbGYuX2RlZmF1bHRfb3B0aW9ucygpLCBl
eHBlY3RlZF9sb2dzPWV4cGVjdGVkX2xvZ3MsIHRvb2w9bW9ja190b29sKQogCiAgICAgZGVmIHRl
c3RfY2hlY2tfc3R5bGUoc2VsZik6Ci0gICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9ICIiIk1PQ0sg
cnVuX2FuZF90aHJvd19pZl9mYWlsOiBbJ21vY2stdXBkYXRlLXdlYmtpdCddLCBjd2Q9L21vY2st
Y2hlY2tvdXQKKyAgICAgICAgZXhwZWN0ZWRfbG9ncyA9ICIiIlByb2Nlc3NpbmcgMSBwYXRjaCBm
cm9tIDEgYnVnLgorVXBkYXRpbmcgd29ya2luZyBkaXJlY3RvcnkKK01PQ0sgcnVuX2FuZF90aHJv
d19pZl9mYWlsOiBbJ21vY2stdXBkYXRlLXdlYmtpdCddLCBjd2Q9L21vY2stY2hlY2tvdXQKK1By
b2Nlc3NpbmcgcGF0Y2ggMTAwMDAgZnJvbSBidWcgNTAwMDAuCiBNT0NLIHJ1bl9hbmRfdGhyb3df
aWZfZmFpbDogWydtb2NrLWNoZWNrLXdlYmtpdC1zdHlsZScsICctLWdpdC1jb21taXQnLCAnTU9D
SyBnaXQgY29tbWl0JywgJy0tZGlmZi1maWxlcycsICdNb2NrRmlsZTEnXSwgY3dkPS9tb2NrLWNo
ZWNrb3V0CiAiIiIKLSAgICAgICAgZXhwZWN0ZWRfbG9ncyA9ICJQcm9jZXNzaW5nIDEgcGF0Y2gg
ZnJvbSAxIGJ1Zy5cblVwZGF0aW5nIHdvcmtpbmcgZGlyZWN0b3J5XG5Qcm9jZXNzaW5nIHBhdGNo
IDEwMDAwIGZyb20gYnVnIDUwMDAwLlxuIgotICAgICAgICBzZWxmLmFzc2VydF9leGVjdXRlX291
dHB1dHMoQ2hlY2tTdHlsZSgpLCBbMTAwMDBdLCBvcHRpb25zPXNlbGYuX2RlZmF1bHRfb3B0aW9u
cygpLCBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRfc3RkZXJyLCBleHBlY3RlZF9sb2dzPWV4cGVj
dGVkX2xvZ3MsIHRvb2w9TW9ja1Rvb2wobG9nX2V4ZWN1dGl2ZT1UcnVlKSkKKyAgICAgICAgc2Vs
Zi5hc3NlcnRfZXhlY3V0ZV9vdXRwdXRzKENoZWNrU3R5bGUoKSwgWzEwMDAwXSwgb3B0aW9ucz1z
ZWxmLl9kZWZhdWx0X29wdGlvbnMoKSwgZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzLCB0b29s
PU1vY2tUb29sKGxvZ19leGVjdXRpdmU9VHJ1ZSkpCiAKICAgICBkZWYgdGVzdF9idWlsZF9hdHRh
Y2htZW50KHNlbGYpOgogICAgICAgICBleHBlY3RlZF9sb2dzID0gIlByb2Nlc3NpbmcgMSBwYXRj
aCBmcm9tIDEgYnVnLlxuVXBkYXRpbmcgd29ya2luZyBkaXJlY3RvcnlcblByb2Nlc3NpbmcgcGF0
Y2ggMTAwMDAgZnJvbSBidWcgNTAwMDAuXG5CdWlsZGluZyBXZWJLaXRcbiIKQEAgLTI4MCw3ICsy
ODAsOSBAQCBOb3QgY2xvc2luZyBidWcgNTAwMDAgYXMgYXR0YWNobWVudCAxMDAwMCBoYXMgcmV2
aWV3PSsuICBBc3N1bWluZyB0aGVyZSBhcmUgbW9yZQogICAgICAgICBzZWxmLmFzc2VydF9leGVj
dXRlX291dHB1dHMoUHJlcGFyZVJvbGxvdXQoKSwgWzg1MiwgIlJlYXNvbiJdLCBvcHRpb25zPXNl
bGYuX2RlZmF1bHRfb3B0aW9ucygpLCBleHBlY3RlZF9sb2dzPWV4cGVjdGVkX2xvZ3MpCiAKICAg
ICBkZWYgdGVzdF9jcmVhdGVfcm9sbG91dChzZWxmKToKLSAgICAgICAgZXhwZWN0ZWRfc3RkZXJy
ID0gIiIiTU9DSyBjcmVhdGVfYnVnCisgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAiIiJQcmVwYXJp
bmcgcm9sbG91dCBmb3IgYnVnIDUwMDAwLgorVXBkYXRpbmcgd29ya2luZyBkaXJlY3RvcnkKK01P
Q0sgY3JlYXRlX2J1ZwogYnVnX3RpdGxlOiBSRUdSRVNTSU9OKHI4NTIpOiBSZWFzb24KIGJ1Z19k
ZXNjcmlwdGlvbjogaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvODUyIGJyb2tlIHRo
ZSBidWlsZDoKIFJlYXNvbgpAQCAtMjk4LDEyICszMDAsMTMgQEAgSWYgeW91IHdvdWxkIGxpa2Ug
dG8gbGFuZCB0aGUgcm9sbG91dCBmYXN0ZXIsIHlvdSBjYW4gdXNlIHRoZSBmb2xsb3dpbmcgY29t
bWFuZDoKIHdoZXJlIEFUVEFDSE1FTlRfSUQgaXMgdGhlIElEIG9mIHRoaXMgYXR0YWNobWVudC4K
IC0tIEVuZCBjb21tZW50IC0tCiAiIiIKLSAgICAgICAgZXhwZWN0ZWRfbG9ncyA9ICJQcmVwYXJp
bmcgcm9sbG91dCBmb3IgYnVnIDUwMDAwLlxuVXBkYXRpbmcgd29ya2luZyBkaXJlY3RvcnlcbiIK
LSAgICAgICAgc2VsZi5hc3NlcnRfZXhlY3V0ZV9vdXRwdXRzKENyZWF0ZVJvbGxvdXQoKSwgWzg1
MiwgIlJlYXNvbiJdLCBvcHRpb25zPXNlbGYuX2RlZmF1bHRfb3B0aW9ucygpLCBleHBlY3RlZF9z
dGRlcnI9ZXhwZWN0ZWRfc3RkZXJyLCBleHBlY3RlZF9sb2dzPWV4cGVjdGVkX2xvZ3MpCi0gICAg
ICAgIHNlbGYuYXNzZXJ0X2V4ZWN1dGVfb3V0cHV0cyhDcmVhdGVSb2xsb3V0KCksIFsiODU1IDg1
MiA4NTQiLCAiUmVhc29uIl0sIG9wdGlvbnM9c2VsZi5fZGVmYXVsdF9vcHRpb25zKCksIGV4cGVj
dGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIsIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncykK
KyAgICAgICAgc2VsZi5hc3NlcnRfZXhlY3V0ZV9vdXRwdXRzKENyZWF0ZVJvbGxvdXQoKSwgWzg1
MiwgIlJlYXNvbiJdLCBvcHRpb25zPXNlbGYuX2RlZmF1bHRfb3B0aW9ucygpLCBleHBlY3RlZF9s
b2dzPWV4cGVjdGVkX2xvZ3MpCisgICAgICAgIHNlbGYuYXNzZXJ0X2V4ZWN1dGVfb3V0cHV0cyhD
cmVhdGVSb2xsb3V0KCksIFsiODU1IDg1MiA4NTQiLCAiUmVhc29uIl0sIG9wdGlvbnM9c2VsZi5f
ZGVmYXVsdF9vcHRpb25zKCksIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncykKIAogICAgIGRl
ZiB0ZXN0X2NyZWF0ZV9yb2xsb3V0X3Jlc29sdmVkKHNlbGYpOgotICAgICAgICBleHBlY3RlZF9z
dGRlcnIgPSAiIiJNT0NLIGNyZWF0ZV9idWcKKyAgICAgICAgZXhwZWN0ZWRfbG9ncyA9ICIiIlBy
ZXBhcmluZyByb2xsb3V0IGZvciBidWcgNTAwMDQuCitVcGRhdGluZyB3b3JraW5nIGRpcmVjdG9y
eQorTU9DSyBjcmVhdGVfYnVnCiBidWdfdGl0bGU6IFJFR1JFU1NJT04ocjMwMDEpOiBSZWFzb24K
IGJ1Z19kZXNjcmlwdGlvbjogaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMzAwMSBi
cm9rZSB0aGUgYnVpbGQ6CiBSZWFzb24KQEAgLTMyMiwyMiArMzI1LDIwIEBAIElmIHlvdSB3b3Vs
ZCBsaWtlIHRvIGxhbmQgdGhlIHJvbGxvdXQgZmFzdGVyLCB5b3UgY2FuIHVzZSB0aGUgZm9sbG93
aW5nIGNvbW1hbmQ6CiB3aGVyZSBBVFRBQ0hNRU5UX0lEIGlzIHRoZSBJRCBvZiB0aGlzIGF0dGFj
aG1lbnQuCiAtLSBFbmQgY29tbWVudCAtLQogIiIiCi0gICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAi
UHJlcGFyaW5nIHJvbGxvdXQgZm9yIGJ1ZyA1MDAwNC5cblVwZGF0aW5nIHdvcmtpbmcgZGlyZWN0
b3J5XG4iCi0gICAgICAgIHNlbGYuYXNzZXJ0X2V4ZWN1dGVfb3V0cHV0cyhDcmVhdGVSb2xsb3V0
KCksIFszMDAxLCAiUmVhc29uIl0sIG9wdGlvbnM9c2VsZi5fZGVmYXVsdF9vcHRpb25zKCksIGV4
cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIsIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9n
cykKKyAgICAgICAgc2VsZi5hc3NlcnRfZXhlY3V0ZV9vdXRwdXRzKENyZWF0ZVJvbGxvdXQoKSwg
WzMwMDEsICJSZWFzb24iXSwgb3B0aW9ucz1zZWxmLl9kZWZhdWx0X29wdGlvbnMoKSwgZXhwZWN0
ZWRfbG9ncz1leHBlY3RlZF9sb2dzKQogCiAgICAgZGVmIHRlc3Rfcm9sbG91dChzZWxmKToKLSAg
ICAgICAgZXhwZWN0ZWRfc3RkZXJyID0gIiIiTU9DSzogdXNlci5vcGVuX3VybDogZmlsZTovLy4u
LgorICAgICAgICBleHBlY3RlZF9sb2dzID0gIiIiUHJlcGFyaW5nIHJvbGxvdXQgZm9yIGJ1ZyA1
MDAwMC4KK1VwZGF0aW5nIHdvcmtpbmcgZGlyZWN0b3J5CitNT0NLOiB1c2VyLm9wZW5fdXJsOiBm
aWxlOi8vLi4uCiBXYXMgdGhhdCBkaWZmIGNvcnJlY3Q/CitCdWlsZGluZyBXZWJLaXQKK0NvbW1p
dHRlZCByNDk4MjQ6IDxodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC80OTgyND4KIE1P
Q0sgcmVvcGVuX2J1ZyA1MDAwMCB3aXRoIGNvbW1lbnQgJ1JldmVydGVkIHI4NTIgZm9yIHJlYXNv
bjoKIAogUmVhc29uCiAKIENvbW1pdHRlZCByNDk4MjQ6IDxodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC80OTgyND4nCiAiIiIKLSAgICAgICAgZXhwZWN0ZWRfbG9ncyA9ICIiIlByZXBh
cmluZyByb2xsb3V0IGZvciBidWcgNTAwMDAuCi1VcGRhdGluZyB3b3JraW5nIGRpcmVjdG9yeQot
QnVpbGRpbmcgV2ViS2l0Ci1Db21taXR0ZWQgcjQ5ODI0OiA8aHR0cDovL3RyYWMud2Via2l0Lm9y
Zy9jaGFuZ2VzZXQvNDk4MjQ+Ci0iIiIKLSAgICAgICAgc2VsZi5hc3NlcnRfZXhlY3V0ZV9vdXRw
dXRzKFJvbGxvdXQoKSwgWzg1MiwgIlJlYXNvbiJdLCBvcHRpb25zPXNlbGYuX2RlZmF1bHRfb3B0
aW9ucygpLCBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRfc3RkZXJyLCBleHBlY3RlZF9sb2dzPWV4
cGVjdGVkX2xvZ3MpCisgICAgICAgIHNlbGYuYXNzZXJ0X2V4ZWN1dGVfb3V0cHV0cyhSb2xsb3V0
KCksIFs4NTIsICJSZWFzb24iXSwgb3B0aW9ucz1zZWxmLl9kZWZhdWx0X29wdGlvbnMoKSwgZXhw
ZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzKQogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3Rvb2wvY29tbWFuZHMvZWFybHl3YXJuaW5nc3lzdGVtX3VuaXR0ZXN0LnB5IGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL2Vhcmx5d2FybmluZ3N5c3RlbV91bml0
dGVzdC5weQppbmRleCA5ZTJiMGQ4ZTM2MmE1MTcwNmJkYTkwYTJjMzJkOTA0MzQwZjRmZWRhLi5i
MzMxMjlhMjA5NzYzYTg5NGVkNzk5ZTg1OGI3ZGQwOTJlZmNkMTViIDEwMDY0NAotLS0gYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvZWFybHl3YXJuaW5nc3lzdGVtX3VuaXR0
ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9lYXJseXdh
cm5pbmdzeXN0ZW1fdW5pdHRlc3QucHkKQEAgLTQzLDcgKzQzLDcgQEAgY2xhc3MgQWJzdHJhY3RF
YXJseVdhcm5pbmdTeXN0ZW1UZXN0KFF1ZXVlc1Rlc3QpOgogICAgICAgICBld3MgPSBUZXN0RVdT
KCkKICAgICAgICAgZXdzLmJpbmRfdG9fdG9vbChNb2NrVG9vbCgpKQogICAgICAgICBld3MuX29w
dGlvbnMgPSBNb2NrT3B0aW9ucyhwb3J0PU5vbmUsIGNvbmZpcm09RmFsc2UpCi0gICAgICAgIE91
dHB1dENhcHR1cmUoKS5hc3NlcnRfb3V0cHV0cyhzZWxmLCBld3MuYmVnaW5fd29ya19xdWV1ZSwg
ZXhwZWN0ZWRfc3RkZXJyPXNlbGYuX2RlZmF1bHRfYmVnaW5fd29ya19xdWV1ZV9zdGRlcnIoZXdz
Lm5hbWUpKQorICAgICAgICBPdXRwdXRDYXB0dXJlKCkuYXNzZXJ0X291dHB1dHMoc2VsZiwgZXdz
LmJlZ2luX3dvcmtfcXVldWUsIGV4cGVjdGVkX2xvZ3M9c2VsZi5fZGVmYXVsdF9iZWdpbl93b3Jr
X3F1ZXVlX2xvZ3MoZXdzLm5hbWUpKQogICAgICAgICBld3MuX2V4cGVjdGVkX2ZhaWx1cmVzLnVu
ZXhwZWN0ZWRfZmFpbHVyZXNfb2JzZXJ2ZWQgPSBsYW1iZGEgcmVzdWx0czogc2V0KFsiZm9vLmh0
bWwiLCAiYmFyLmh0bWwiXSkKICAgICAgICAgdGFzayA9IE1vY2soKQogICAgICAgICBwYXRjaCA9
IGV3cy5fdG9vbC5idWdzLmZldGNoX2F0dGFjaG1lbnQoMTAwMDApCkBAIC01MSwyMCArNTEsMTQg
QEAgY2xhc3MgQWJzdHJhY3RFYXJseVdhcm5pbmdTeXN0ZW1UZXN0KFF1ZXVlc1Rlc3QpOgogCiAK
IGNsYXNzIEVhcmx5V2FybmluZ1N5dGVtVGVzdChRdWV1ZXNUZXN0KToKLSAgICBkZWYgX2RlZmF1
bHRfZXhwZWN0ZWRfc3RkZXJyKHNlbGYsIGV3cyk6CisgICAgZGVmIF9kZWZhdWx0X2V4cGVjdGVk
X2xvZ3Moc2VsZiwgZXdzKToKICAgICAgICAgc3RyaW5nX3JlcGxhY2VtbnRzID0gewogICAgICAg
ICAgICAgIm5hbWUiOiBld3MubmFtZSwKICAgICAgICAgICAgICJwb3J0IjogZXdzLnBvcnRfbmFt
ZSwKICAgICAgICAgfQotICAgICAgICBleHBlY3RlZF9zdGRlcnIgPSB7Ci0gICAgICAgICAgICAi
YmVnaW5fd29ya19xdWV1ZSI6IHNlbGYuX2RlZmF1bHRfYmVnaW5fd29ya19xdWV1ZV9zdGRlcnIo
ZXdzLm5hbWUpLAotICAgICAgICAgICAgIm5leHRfd29ya19pdGVtIjogIiIsCi0gICAgICAgICAg
ICAicHJvY2Vzc193b3JrX2l0ZW0iOiAiTU9DSzogdXBkYXRlX3N0YXR1czogJShuYW1lKXMgUGFz
c1xuTU9DSzogcmVsZWFzZV93b3JrX2l0ZW06ICUobmFtZSlzIDEwMDAwXG4iICUgc3RyaW5nX3Jl
cGxhY2VtbnRzLAotICAgICAgICB9Ci0gICAgICAgIHJldHVybiBleHBlY3RlZF9zdGRlcnIKLQot
ICAgIGRlZiBfZGVmYXVsdF9leHBlY3RlZF9sb2dzKHNlbGYpOgogICAgICAgICBleHBlY3RlZF9s
b2dzID0geworICAgICAgICAgICAgImJlZ2luX3dvcmtfcXVldWUiOiBzZWxmLl9kZWZhdWx0X2Jl
Z2luX3dvcmtfcXVldWVfbG9ncyhld3MubmFtZSksCisgICAgICAgICAgICAicHJvY2Vzc193b3Jr
X2l0ZW0iOiAiTU9DSzogdXBkYXRlX3N0YXR1czogJShuYW1lKXMgUGFzc1xuTU9DSzogcmVsZWFz
ZV93b3JrX2l0ZW06ICUobmFtZSlzIDEwMDAwXG4iICUgc3RyaW5nX3JlcGxhY2VtbnRzLAogICAg
ICAgICAgICAgImhhbmRsZV91bmV4cGVjdGVkX2Vycm9yIjogIk1vY2sgZXJyb3IgbWVzc2FnZVxu
IiwKICAgICAgICAgICAgICJoYW5kbGVfc2NyaXB0X2Vycm9yIjogIlNjcmlwdEVycm9yIGVycm9y
IG1lc3NhZ2VcblxuTU9DSyBvdXRwdXRcbiIsCiAgICAgICAgIH0KQEAgLTc1LDE0ICs2OSwxMyBA
QCBjbGFzcyBFYXJseVdhcm5pbmdTeXRlbVRlc3QoUXVldWVzVGVzdCk6CiAgICAgICAgIG9wdGlv
bnMgPSBNb2NrKCkKICAgICAgICAgb3B0aW9ucy5wb3J0ID0gTm9uZQogICAgICAgICBvcHRpb25z
LnJ1bl90ZXN0cyA9IGV3cy5fZGVmYXVsdF9ydW5fdGVzdHMKLSAgICAgICAgc2VsZi5hc3NlcnRf
cXVldWVfb3V0cHV0cyhld3MsIGV4cGVjdGVkX3N0ZGVycj1zZWxmLl9kZWZhdWx0X2V4cGVjdGVk
X3N0ZGVycihld3MpLCBvcHRpb25zPW9wdGlvbnMpCisgICAgICAgIHNlbGYuYXNzZXJ0X3F1ZXVl
X291dHB1dHMoZXdzLCBleHBlY3RlZF9sb2dzPXNlbGYuX2RlZmF1bHRfZXhwZWN0ZWRfbG9ncyhl
d3MpLCBvcHRpb25zPW9wdGlvbnMpCiAKICAgICBkZWYgX3Rlc3RfdGVzdGluZ19ld3Moc2VsZiwg
ZXdzKToKICAgICAgICAgZXdzLnRlc3RfcmVzdWx0cyA9IGxhbWJkYTogTm9uZQogICAgICAgICBl
d3MuYmluZF90b190b29sKE1vY2tUb29sKCkpCi0gICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9IHNl
bGYuX2RlZmF1bHRfZXhwZWN0ZWRfc3RkZXJyKGV3cykKLSAgICAgICAgZXhwZWN0ZWRfbG9ncyA9
IHNlbGYuX2RlZmF1bHRfZXhwZWN0ZWRfbG9ncygpCi0gICAgICAgIHNlbGYuYXNzZXJ0X3F1ZXVl
X291dHB1dHMoZXdzLCBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRfc3RkZXJyLCBleHBlY3RlZF9s
b2dzPWV4cGVjdGVkX2xvZ3MpCisgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSBzZWxmLl9kZWZhdWx0
X2V4cGVjdGVkX2xvZ3MoZXdzKQorICAgICAgICBzZWxmLmFzc2VydF9xdWV1ZV9vdXRwdXRzKGV3
cywgZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzKQogCiAgICAgZGVmIHRlc3RfYnVpbGRlcl9l
d3NlcyhzZWxmKToKICAgICAgICAgc2VsZi5fdGVzdF9idWlsZGVyX2V3cyhNYWNFV1MoKSkKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9vcGVuYnVnc191
bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9vcGVuYnVn
c191bml0dGVzdC5weQppbmRleCBjYTYzODI4YTc5YjQ0ZTQyNTVlZDcwZjhkN2QwYWIyZjc3MzUx
N2I4Li42ODBlNTE0MmU1MWExN2QzOWE1ZGJjNjA2OGZjOTE5MmIyNzRlMTExIDEwMDY0NAotLS0g
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvb3BlbmJ1Z3NfdW5pdHRlc3Qu
cHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL29wZW5idWdzX3Vu
aXR0ZXN0LnB5CkBAIC00Niw2ICs0Niw1IEBAIGNsYXNzIE9wZW5CdWdzVGVzdChDb21tYW5kc1Rl
c3QpOgogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvcGVuYnVncy5fZmluZF9idWdzX2lu
X3N0cmluZyhleHBlY3RhdGlvblswXSksIGV4cGVjdGF0aW9uWzFdKQogCiAgICAgZGVmIHRlc3Rf
YXJnc19wYXJzaW5nKHNlbGYpOgotICAgICAgICBleHBlY3RlZF9zdGRlcnIgPSAiTU9DSzogdXNl
ci5vcGVuX3VybDogaHR0cDovL2V4YW1wbGUuY29tLzEyMzQ1XG5NT0NLOiB1c2VyLm9wZW5fdXJs
OiBodHRwOi8vZXhhbXBsZS5jb20vMjM0NTZcbiIKLSAgICAgICAgZXhwZWN0ZWRfbG9ncyA9ICIy
IGJ1Z3MgZm91bmQgaW4gaW5wdXQuXG4iCi0gICAgICAgIHNlbGYuYXNzZXJ0X2V4ZWN1dGVfb3V0
cHV0cyhPcGVuQnVncygpLCBbIjEyMzQ1XG4yMzQ1NiJdLCBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0
ZWRfc3RkZXJyLCBleHBlY3RlZF9sb2dzPWV4cGVjdGVkX2xvZ3MpCisgICAgICAgIGV4cGVjdGVk
X2xvZ3MgPSAiMiBidWdzIGZvdW5kIGluIGlucHV0LlxuTU9DSzogdXNlci5vcGVuX3VybDogaHR0
cDovL2V4YW1wbGUuY29tLzEyMzQ1XG5NT0NLOiB1c2VyLm9wZW5fdXJsOiBodHRwOi8vZXhhbXBs
ZS5jb20vMjM0NTZcbiIKKyAgICAgICAgc2VsZi5hc3NlcnRfZXhlY3V0ZV9vdXRwdXRzKE9wZW5C
dWdzKCksIFsiMTIzNDVcbjIzNDU2Il0sIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncykKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9xdWVyaWVzX3Vu
aXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3F1ZXJpZXNf
dW5pdHRlc3QucHkKaW5kZXggNTdiYmVkNjg2MzhmY2UxZjhkMGU3NDFkNWQyYjc1YTNlZGIwM2Q1
MS4uYjI1MmMwYjBlNThkNDQ3OTc0MDE2OWQyNDg2ZTNkNGJlNDg3NGU3MiAxMDA2NDQKLS0tIGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3F1ZXJpZXNfdW5pdHRlc3QucHkK
KysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3F1ZXJpZXNfdW5pdHRl
c3QucHkKQEAgLTY1LDE0ICs2NSwxMyBAQCBjbGFzcyBNb2NrUG9ydEZhY3Rvcnkob2JqZWN0KToK
IAogY2xhc3MgUXVlcnlDb21tYW5kc1Rlc3QoQ29tbWFuZHNUZXN0KToKICAgICBkZWYgdGVzdF9i
dWdzX3RvX2NvbW1pdChzZWxmKToKLSAgICAgICAgZXhwZWN0ZWRfc3RkZXJyID0gIldhcm5pbmcs
IGF0dGFjaG1lbnQgMTAwMDEgb24gYnVnIDUwMDAwIGhhcyBpbnZhbGlkIGNvbW1pdHRlciAobm9u
LWNvbW1pdHRlckBleGFtcGxlLmNvbSlcbiIKLSAgICAgICAgc2VsZi5hc3NlcnRfZXhlY3V0ZV9v
dXRwdXRzKEJ1Z3NUb0NvbW1pdCgpLCBOb25lLCAiNTAwMDBcbjUwMDAzXG4iLCBleHBlY3RlZF9z
dGRlcnI9ZXhwZWN0ZWRfc3RkZXJyKQorICAgICAgICBleHBlY3RlZF9sb2dzID0gIldhcm5pbmcs
IGF0dGFjaG1lbnQgMTAwMDEgb24gYnVnIDUwMDAwIGhhcyBpbnZhbGlkIGNvbW1pdHRlciAobm9u
LWNvbW1pdHRlckBleGFtcGxlLmNvbSlcbiIKKyAgICAgICAgc2VsZi5hc3NlcnRfZXhlY3V0ZV9v
dXRwdXRzKEJ1Z3NUb0NvbW1pdCgpLCBOb25lLCAiNTAwMDBcbjUwMDAzXG4iLCBleHBlY3RlZF9s
b2dzPWV4cGVjdGVkX2xvZ3MpCiAKICAgICBkZWYgdGVzdF9wYXRjaGVzX2luX2NvbW1pdF9xdWV1
ZShzZWxmKToKICAgICAgICAgZXhwZWN0ZWRfc3Rkb3V0ID0gImh0dHA6Ly9leGFtcGxlLmNvbS8x
MDAwMFxuaHR0cDovL2V4YW1wbGUuY29tLzEwMDAyXG4iCi0gICAgICAgIGV4cGVjdGVkX3N0ZGVy
ciA9ICJXYXJuaW5nLCBhdHRhY2htZW50IDEwMDAxIG9uIGJ1ZyA1MDAwMCBoYXMgaW52YWxpZCBj
b21taXR0ZXIgKG5vbi1jb21taXR0ZXJAZXhhbXBsZS5jb20pXG4iCi0gICAgICAgIGV4cGVjdGVk
X2xvZ3MgPSAiUGF0Y2hlcyBpbiBjb21taXQgcXVldWU6XG4iCi0gICAgICAgIHNlbGYuYXNzZXJ0
X2V4ZWN1dGVfb3V0cHV0cyhQYXRjaGVzSW5Db21taXRRdWV1ZSgpLCBOb25lLCBleHBlY3RlZF9z
dGRvdXQsIGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIsIGV4cGVjdGVkX2xvZ3M9ZXhw
ZWN0ZWRfbG9ncykKKyAgICAgICAgZXhwZWN0ZWRfbG9ncyA9ICJXYXJuaW5nLCBhdHRhY2htZW50
IDEwMDAxIG9uIGJ1ZyA1MDAwMCBoYXMgaW52YWxpZCBjb21taXR0ZXIgKG5vbi1jb21taXR0ZXJA
ZXhhbXBsZS5jb20pXG5QYXRjaGVzIGluIGNvbW1pdCBxdWV1ZTpcbiIKKyAgICAgICAgc2VsZi5h
c3NlcnRfZXhlY3V0ZV9vdXRwdXRzKFBhdGNoZXNJbkNvbW1pdFF1ZXVlKCksIE5vbmUsIGV4cGVj
dGVkX3N0ZG91dCwgZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzKQogCiAgICAgZGVmIHRlc3Rf
cGF0Y2hlc190b19jb21taXRfcXVldWUoc2VsZik6CiAgICAgICAgIGV4cGVjdGVkX3N0ZG91dCA9
ICJodHRwOi8vZXhhbXBsZS5jb20vMTAwMDMmYWN0aW9uPWVkaXRcbiIKZGlmZiAtLWdpdCBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9xdWV1ZXNfdW5pdHRlc3QucHkgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcXVldWVzX3VuaXR0ZXN0LnB5Cmlu
ZGV4IDYxOGQyOTExMzUzOGM5ZWY4YWZhOGM0MzNmMDI3OWIxZDYwOWQzOWQuLjBhMzJmMjliZWE2
NGFmOGQ0ODI3YTk3MjY3NzJlNjE3ODI2NzUxMDUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvdG9vbC9jb21tYW5kcy9xdWV1ZXNfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3F1ZXVlc191bml0dGVzdC5weQpAQCAtMTMwLDkg
KzEzMCw4IEBAIGNsYXNzIEZlZWRlclF1ZXVlVGVzdChRdWV1ZXNUZXN0KToKICAgICBkZWYgdGVz
dF9mZWVkZXJfcXVldWUoc2VsZik6CiAgICAgICAgIHF1ZXVlID0gVGVzdEZlZWRlclF1ZXVlKCkK
ICAgICAgICAgdG9vbCA9IE1vY2tUb29sKGxvZ19leGVjdXRpdmU9VHJ1ZSkKLSAgICAgICAgZXhw
ZWN0ZWRfc3RkZXJyID0gewotICAgICAgICAgICAgImJlZ2luX3dvcmtfcXVldWUiOiBzZWxmLl9k
ZWZhdWx0X2JlZ2luX3dvcmtfcXVldWVfc3RkZXJyKCJmZWVkZXItcXVldWUiKSwKLSAgICAgICAg
ICAgICJuZXh0X3dvcmtfaXRlbSI6ICIiLAorICAgICAgICBleHBlY3RlZF9sb2dzID0geworICAg
ICAgICAgICAgImJlZ2luX3dvcmtfcXVldWUiOiBzZWxmLl9kZWZhdWx0X2JlZ2luX3dvcmtfcXVl
dWVfbG9ncygiZmVlZGVyLXF1ZXVlIiksCiAgICAgICAgICAgICAicHJvY2Vzc193b3JrX2l0ZW0i
OiAiIiJXYXJuaW5nLCBhdHRhY2htZW50IDEwMDAxIG9uIGJ1ZyA1MDAwMCBoYXMgaW52YWxpZCBj
b21taXR0ZXIgKG5vbi1jb21taXR0ZXJAZXhhbXBsZS5jb20pCiBXYXJuaW5nLCBhdHRhY2htZW50
IDEwMDAxIG9uIGJ1ZyA1MDAwMCBoYXMgaW52YWxpZCBjb21taXR0ZXIgKG5vbi1jb21taXR0ZXJA
ZXhhbXBsZS5jb20pCiBNT0NLIHNldHRpbmcgZmxhZyAnY29tbWl0LXF1ZXVlJyB0byAnLScgb24g
YXR0YWNobWVudCAnMTAwMDEnIHdpdGggY29tbWVudCAnUmVqZWN0aW5nIGF0dGFjaG1lbnQgMTAw
MDEgZnJvbSBjb21taXQtcXVldWUuJyBhbmQgYWRkaXRpb25hbCBjb21tZW50ICdub24tY29tbWl0
dGVyQGV4YW1wbGUuY29tIGRvZXMgbm90IGhhdmUgY29tbWl0dGVyIHBlcm1pc3Npb25zIGFjY29y
ZGluZyB0byBodHRwOi8vdHJhYy53ZWJraXQub3JnL2Jyb3dzZXIvdHJ1bmsvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9jb21tb24vY29uZmlnL2NvbW1pdHRlcnMucHkuCkBAIC0xNDEsMTYgKzE0MCwx
MyBAQCBNT0NLIHNldHRpbmcgZmxhZyAnY29tbWl0LXF1ZXVlJyB0byAnLScgb24gYXR0YWNobWVu
dCAnMTAwMDEnIHdpdGggY29tbWVudCAnUmVqZQogCiAtIElmIHlvdSBoYXZlIGNvbW1pdHRlciBy
aWdodHMgcGxlYXNlIGNvcnJlY3QgdGhlIGVycm9yIGluIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkv
Y29tbW9uL2NvbmZpZy9jb21taXR0ZXJzLnB5IGJ5IGFkZGluZyB5b3Vyc2VsZiB0byB0aGUgZmls
ZSAobm8gcmV2aWV3IG5lZWRlZCkuICBUaGUgY29tbWl0LXF1ZXVlIHJlc3RhcnRzIGl0c2VsZiBl
dmVyeSAyIGhvdXJzLiAgQWZ0ZXIgcmVzdGFydCB0aGUgY29tbWl0LXF1ZXVlIHdpbGwgY29ycmVj
dGx5IHJlc3BlY3QgeW91ciBjb21taXR0ZXIgcmlnaHRzLicKIE1PQ0s6IHVwZGF0ZV93b3JrX2l0
ZW1zOiBjb21taXQtcXVldWUgWzEwMDA1LCAxMDAwMF0KLU1PQ0s6IHN1Ym1pdF90b19ld3M6IDEw
MDAyCi0iIiIsCi0gICAgICAgIH0KLSAgICAgICAgZXhwZWN0ZWRfbG9ncyA9IHsKLSAgICAgICAg
ICAgICJwcm9jZXNzX3dvcmtfaXRlbSI6ICIiIkZlZWRpbmcgY29tbWl0LXF1ZXVlIGl0ZW1zIFsx
MDAwNSwgMTAwMDBdCitGZWVkaW5nIGNvbW1pdC1xdWV1ZSBpdGVtcyBbMTAwMDUsIDEwMDAwXQog
RmVlZGluZyBFV1MgKDEgcj8gcGF0Y2gsIDEgbmV3KQorTU9DSzogc3VibWl0X3RvX2V3czogMTAw
MDIKICIiIiwKICAgICAgICAgICAgICJoYW5kbGVfdW5leHBlY3RlZF9lcnJvciI6ICJNb2NrIGVy
cm9yIG1lc3NhZ2VcbiIsCiAgICAgICAgIH0KLSAgICAgICAgc2VsZi5hc3NlcnRfcXVldWVfb3V0
cHV0cyhxdWV1ZSwgdG9vbD10b29sLCBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRfc3RkZXJyLCBl
eHBlY3RlZF9sb2dzPWV4cGVjdGVkX2xvZ3MpCisgICAgICAgIHNlbGYuYXNzZXJ0X3F1ZXVlX291
dHB1dHMocXVldWUsIHRvb2w9dG9vbCwgZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzKQogCiAK
IGNsYXNzIEFic3RyYWN0UGF0Y2hRdWV1ZVRlc3QoQ29tbWFuZHNUZXN0KToKQEAgLTE2Myw4ICsx
NTksOCBAQCBjbGFzcyBBYnN0cmFjdFBhdGNoUXVldWVUZXN0KENvbW1hbmRzVGVzdCk6CiAgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwocXVldWUuX25leHRfcGF0Y2goKSwgTm9uZSkKICAgICAgICAg
dG9vbC5zdGF0dXNfc2VydmVyID0gTW9ja1N0YXR1c1NlcnZlcih3b3JrX2l0ZW1zPVsyLCAxMDAw
MCwgMTAwMDFdKQogICAgICAgICBleHBlY3RlZF9zdGRvdXQgPSAiTU9DSzogZmV0Y2hfYXR0YWNo
bWVudDogMiBpcyBub3QgYSBrbm93biBhdHRhY2htZW50IGlkXG4iICAjIEEgbW9jay1vbmx5IG1l
c3NhZ2UgdG8gcHJldmVudCB1cyBmcm9tIG1ha2luZyBtaXN0YWtlcy4KLSAgICAgICAgZXhwZWN0
ZWRfc3RkZXJyID0gIk1PQ0s6IHJlbGVhc2Vfd29ya19pdGVtOiBOb25lIDJcbiIKLSAgICAgICAg
cGF0Y2ggPSBPdXRwdXRDYXB0dXJlKCkuYXNzZXJ0X291dHB1dHMoc2VsZiwgcXVldWUuX25leHRf
cGF0Y2gsIGV4cGVjdGVkX3N0ZG91dD1leHBlY3RlZF9zdGRvdXQsIGV4cGVjdGVkX3N0ZGVycj1l
eHBlY3RlZF9zdGRlcnIpCisgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAiTU9DSzogcmVsZWFzZV93
b3JrX2l0ZW06IE5vbmUgMlxuIgorICAgICAgICBwYXRjaCA9IE91dHB1dENhcHR1cmUoKS5hc3Nl
cnRfb3V0cHV0cyhzZWxmLCBxdWV1ZS5fbmV4dF9wYXRjaCwgZXhwZWN0ZWRfc3Rkb3V0PWV4cGVj
dGVkX3N0ZG91dCwgZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzKQogICAgICAgICAjIFRoZSBw
YXRjaC5pZCgpID09IDIgaXMgaWdub3JlZCBiZWNhdXNlIGl0IGRvZXNuJ3QgZXhpc3QuCiAgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwocGF0Y2guaWQoKSwgMTAwMDApCiAgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwocXVldWUuX25leHRfcGF0Y2goKS5pZCgpLCAxMDAwMSkKQEAgLTE3OCwxMyArMTc0
LDEzIEBAIGNsYXNzIEFic3RyYWN0UGF0Y2hRdWV1ZVRlc3QoQ29tbWFuZHNUZXN0KToKICAgICAg
ICAgcXVldWUuX29wdGlvbnMgPSBNb2NrKCkKICAgICAgICAgcXVldWUuX29wdGlvbnMucG9ydCA9
IE5vbmUKICAgICAgICAgcGF0Y2ggPSBxdWV1ZS5fdG9vbC5idWdzLmZldGNoX2F0dGFjaG1lbnQo
MTAwMDEpCi0gICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9ICIiIk1PQ0sgYWRkX2F0dGFjaG1lbnRf
dG9fYnVnOiBidWdfaWQ9NTAwMDAsIGRlc2NyaXB0aW9uPUFyY2hpdmUgb2YgbGF5b3V0LXRlc3Qt
cmVzdWx0cyBmcm9tIGJvdCBmaWxlbmFtZT1sYXlvdXQtdGVzdC1yZXN1bHRzLnppcCBtaW1ldHlw
ZT1Ob25lCisgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAiIiJNT0NLIGFkZF9hdHRhY2htZW50X3Rv
X2J1ZzogYnVnX2lkPTUwMDAwLCBkZXNjcmlwdGlvbj1BcmNoaXZlIG9mIGxheW91dC10ZXN0LXJl
c3VsdHMgZnJvbSBib3QgZmlsZW5hbWU9bGF5b3V0LXRlc3QtcmVzdWx0cy56aXAgbWltZXR5cGU9
Tm9uZQogLS0gQmVnaW4gY29tbWVudCAtLQogVGhlIGF0dGFjaGVkIHRlc3QgZmFpbHVyZXMgd2Vy
ZSBzZWVuIHdoaWxlIHJ1bm5pbmcgcnVuLXdlYmtpdC10ZXN0cyBvbiB0aGUgbW9jay1xdWV1ZS4K
IFBvcnQ6IE1vY2tQb3J0ICBQbGF0Zm9ybTogTW9ja1BsYXRmb3JtIDEuMAogLS0gRW5kIGNvbW1l
bnQgLS0KICIiIgotICAgICAgICBPdXRwdXRDYXB0dXJlKCkuYXNzZXJ0X291dHB1dHMoc2VsZiwg
cXVldWUuX3VwbG9hZF9yZXN1bHRzX2FyY2hpdmVfZm9yX3BhdGNoLCBbcGF0Y2gsIE1vY2soKV0s
IGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIpCisgICAgICAgIE91dHB1dENhcHR1cmUo
KS5hc3NlcnRfb3V0cHV0cyhzZWxmLCBxdWV1ZS5fdXBsb2FkX3Jlc3VsdHNfYXJjaGl2ZV9mb3Jf
cGF0Y2gsIFtwYXRjaCwgTW9jaygpXSwgZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzKQogCiAK
IGNsYXNzIE5lZWRzVXBkYXRlU2VxdWVuY2UoU3RlcFNlcXVlbmNlKToKQEAgLTIzOCw5ICsyMzQs
OCBAQCBjbGFzcyBDb21taXRRdWV1ZVRlc3QoUXVldWVzVGVzdCk6CiAgICAgICAgIHRvb2wgPSBN
b2NrVG9vbCgpCiAgICAgICAgIHRvb2wuZmlsZXN5c3RlbS53cml0ZV90ZXh0X2ZpbGUoJy90bXAv
bGF5b3V0LXRlc3QtcmVzdWx0cy9mdWxsX3Jlc3VsdHMuanNvbicsICcnKSAgIyBPdGhlcndpc2Ug
dGhlIGNvbW1pdC1xdWV1ZSB3aWxsIGhpdCBhIEtleUVycm9yIHRyeWluZyB0byByZWFkIHRoZSBy
ZXN1bHRzIGZyb20gdGhlIE1vY2tGaWxlU3lzdGVtLgogICAgICAgICB0b29sLmZpbGVzeXN0ZW0u
d3JpdGVfdGV4dF9maWxlKCcvdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvd2Via2l0X3VuaXRfdGVz
dHNfb3V0cHV0LnhtbCcsICcnKQotICAgICAgICBleHBlY3RlZF9zdGRlcnIgPSB7Ci0gICAgICAg
ICAgICAiYmVnaW5fd29ya19xdWV1ZSI6IHNlbGYuX2RlZmF1bHRfYmVnaW5fd29ya19xdWV1ZV9z
dGRlcnIoImNvbW1pdC1xdWV1ZSIpLAotICAgICAgICAgICAgIm5leHRfd29ya19pdGVtIjogIiIs
CisgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSB7CisgICAgICAgICAgICAiYmVnaW5fd29ya19xdWV1
ZSI6IHNlbGYuX2RlZmF1bHRfYmVnaW5fd29ya19xdWV1ZV9sb2dzKCJjb21taXQtcXVldWUiKSwK
ICAgICAgICAgICAgICJwcm9jZXNzX3dvcmtfaXRlbSI6ICIiIk1PQ0s6IHVwZGF0ZV9zdGF0dXM6
IGNvbW1pdC1xdWV1ZSBDbGVhbmVkIHdvcmtpbmcgZGlyZWN0b3J5CiBNT0NLOiB1cGRhdGVfc3Rh
dHVzOiBjb21taXQtcXVldWUgVXBkYXRlZCB3b3JraW5nIGRpcmVjdG9yeQogTU9DSzogdXBkYXRl
X3N0YXR1czogY29tbWl0LXF1ZXVlIEFwcGxpZWQgcGF0Y2gKQEAgLTI1MSwxNyArMjQ2LDE0IEBA
IE1PQ0s6IHVwZGF0ZV9zdGF0dXM6IGNvbW1pdC1xdWV1ZSBMYW5kZWQgcGF0Y2gKIE1PQ0s6IHVw
ZGF0ZV9zdGF0dXM6IGNvbW1pdC1xdWV1ZSBQYXNzCiBNT0NLOiByZWxlYXNlX3dvcmtfaXRlbTog
Y29tbWl0LXF1ZXVlIDEwMDAwCiAiIiIsCi0gICAgICAgICAgICAiaGFuZGxlX3VuZXhwZWN0ZWRf
ZXJyb3IiOiAiTU9DSyBzZXR0aW5nIGZsYWcgJ2NvbW1pdC1xdWV1ZScgdG8gJy0nIG9uIGF0dGFj
aG1lbnQgJzEwMDAwJyB3aXRoIGNvbW1lbnQgJ1JlamVjdGluZyBhdHRhY2htZW50IDEwMDAwIGZy
b20gY29tbWl0LXF1ZXVlLicgYW5kIGFkZGl0aW9uYWwgY29tbWVudCAnTW9jayBlcnJvciBtZXNz
YWdlJ1xuIiwKLSAgICAgICAgfQotICAgICAgICBleHBlY3RlZF9sb2dzID0gewogICAgICAgICAg
ICAgImhhbmRsZV9zY3JpcHRfZXJyb3IiOiAiU2NyaXB0RXJyb3IgZXJyb3IgbWVzc2FnZVxuXG5N
T0NLIG91dHB1dFxuIiwKKyAgICAgICAgICAgICJoYW5kbGVfdW5leHBlY3RlZF9lcnJvciI6ICJN
T0NLIHNldHRpbmcgZmxhZyAnY29tbWl0LXF1ZXVlJyB0byAnLScgb24gYXR0YWNobWVudCAnMTAw
MDAnIHdpdGggY29tbWVudCAnUmVqZWN0aW5nIGF0dGFjaG1lbnQgMTAwMDAgZnJvbSBjb21taXQt
cXVldWUuJyBhbmQgYWRkaXRpb25hbCBjb21tZW50ICdNb2NrIGVycm9yIG1lc3NhZ2UnXG4iLAog
ICAgICAgICB9Ci0gICAgICAgIHNlbGYuYXNzZXJ0X3F1ZXVlX291dHB1dHMoQ29tbWl0UXVldWUo
KSwgdG9vbD10b29sLCBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRfc3RkZXJyLCBleHBlY3RlZF9s
b2dzPWV4cGVjdGVkX2xvZ3MpCisgICAgICAgIHNlbGYuYXNzZXJ0X3F1ZXVlX291dHB1dHMoQ29t
bWl0UXVldWUoKSwgdG9vbD10b29sLCBleHBlY3RlZF9sb2dzPWV4cGVjdGVkX2xvZ3MpCiAKICAg
ICBkZWYgdGVzdF9jb21taXRfcXVldWVfZmFpbHVyZShzZWxmKToKLSAgICAgICAgZXhwZWN0ZWRf
c3RkZXJyID0gewotICAgICAgICAgICAgImJlZ2luX3dvcmtfcXVldWUiOiBzZWxmLl9kZWZhdWx0
X2JlZ2luX3dvcmtfcXVldWVfc3RkZXJyKCJjb21taXQtcXVldWUiKSwKLSAgICAgICAgICAgICJu
ZXh0X3dvcmtfaXRlbSI6ICIiLAorICAgICAgICBleHBlY3RlZF9sb2dzID0geworICAgICAgICAg
ICAgImJlZ2luX3dvcmtfcXVldWUiOiBzZWxmLl9kZWZhdWx0X2JlZ2luX3dvcmtfcXVldWVfbG9n
cygiY29tbWl0LXF1ZXVlIiksCiAgICAgICAgICAgICAicHJvY2Vzc193b3JrX2l0ZW0iOiAiIiJN
T0NLOiB1cGRhdGVfc3RhdHVzOiBjb21taXQtcXVldWUgQ2xlYW5lZCB3b3JraW5nIGRpcmVjdG9y
eQogTU9DSzogdXBkYXRlX3N0YXR1czogY29tbWl0LXF1ZXVlIFVwZGF0ZWQgd29ya2luZyBkaXJl
Y3RvcnkKIE1PQ0s6IHVwZGF0ZV9zdGF0dXM6IGNvbW1pdC1xdWV1ZSBQYXRjaCBkb2VzIG5vdCBh
cHBseQpAQCAtMjcwLDEwICsyNjIsOCBAQCBGdWxsIG91dHB1dDogaHR0cDovL2R1bW15X3VybCcK
IE1PQ0s6IHVwZGF0ZV9zdGF0dXM6IGNvbW1pdC1xdWV1ZSBGYWlsCiBNT0NLOiByZWxlYXNlX3dv
cmtfaXRlbTogY29tbWl0LXF1ZXVlIDEwMDAwCiAiIiIsCi0gICAgICAgICAgICAiaGFuZGxlX3Vu
ZXhwZWN0ZWRfZXJyb3IiOiAiTU9DSyBzZXR0aW5nIGZsYWcgJ2NvbW1pdC1xdWV1ZScgdG8gJy0n
IG9uIGF0dGFjaG1lbnQgJzEwMDAwJyB3aXRoIGNvbW1lbnQgJ1JlamVjdGluZyBhdHRhY2htZW50
IDEwMDAwIGZyb20gY29tbWl0LXF1ZXVlLicgYW5kIGFkZGl0aW9uYWwgY29tbWVudCAnTW9jayBl
cnJvciBtZXNzYWdlJ1xuIiwKLSAgICAgICAgfQotICAgICAgICBleHBlY3RlZF9sb2dzID0gewog
ICAgICAgICAgICAgImhhbmRsZV9zY3JpcHRfZXJyb3IiOiAiU2NyaXB0RXJyb3IgZXJyb3IgbWVz
c2FnZVxuXG5NT0NLIG91dHB1dFxuIiwKKyAgICAgICAgICAgICJoYW5kbGVfdW5leHBlY3RlZF9l
cnJvciI6ICJNT0NLIHNldHRpbmcgZmxhZyAnY29tbWl0LXF1ZXVlJyB0byAnLScgb24gYXR0YWNo
bWVudCAnMTAwMDAnIHdpdGggY29tbWVudCAnUmVqZWN0aW5nIGF0dGFjaG1lbnQgMTAwMDAgZnJv
bSBjb21taXQtcXVldWUuJyBhbmQgYWRkaXRpb25hbCBjb21tZW50ICdNb2NrIGVycm9yIG1lc3Nh
Z2UnXG4iLAogICAgICAgICB9CiAgICAgICAgIHF1ZXVlID0gQ29tbWl0UXVldWUoKQogCkBAIC0y
ODUsMTIgKzI3NSwxMSBAQCBNT0NLOiByZWxlYXNlX3dvcmtfaXRlbTogY29tbWl0LXF1ZXVlIDEw
MDAwCiAgICAgICAgICAgICByYWlzZSBTY3JpcHRFcnJvcignTU9DSyBzY3JpcHQgZXJyb3InKQog
CiAgICAgICAgIHF1ZXVlLnJ1bl93ZWJraXRfcGF0Y2ggPSBtb2NrX3J1bl93ZWJraXRfcGF0Y2gK
LSAgICAgICAgc2VsZi5hc3NlcnRfcXVldWVfb3V0cHV0cyhxdWV1ZSwgZXhwZWN0ZWRfc3RkZXJy
PWV4cGVjdGVkX3N0ZGVyciwgZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzKQorICAgICAgICBz
ZWxmLmFzc2VydF9xdWV1ZV9vdXRwdXRzKHF1ZXVlLCBleHBlY3RlZF9sb2dzPWV4cGVjdGVkX2xv
Z3MpCiAKICAgICBkZWYgdGVzdF9jb21taXRfcXVldWVfZmFpbHVyZV93aXRoX2ZhaWxpbmdfdGVz
dHMoc2VsZik6Ci0gICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9IHsKLSAgICAgICAgICAgICJiZWdp
bl93b3JrX3F1ZXVlIjogc2VsZi5fZGVmYXVsdF9iZWdpbl93b3JrX3F1ZXVlX3N0ZGVycigiY29t
bWl0LXF1ZXVlIiksCi0gICAgICAgICAgICAibmV4dF93b3JrX2l0ZW0iOiAiIiwKKyAgICAgICAg
ZXhwZWN0ZWRfbG9ncyA9IHsKKyAgICAgICAgICAgICJiZWdpbl93b3JrX3F1ZXVlIjogc2VsZi5f
ZGVmYXVsdF9iZWdpbl93b3JrX3F1ZXVlX2xvZ3MoImNvbW1pdC1xdWV1ZSIpLAogICAgICAgICAg
ICAgInByb2Nlc3Nfd29ya19pdGVtIjogIiIiTU9DSzogdXBkYXRlX3N0YXR1czogY29tbWl0LXF1
ZXVlIENsZWFuZWQgd29ya2luZyBkaXJlY3RvcnkKIE1PQ0s6IHVwZGF0ZV9zdGF0dXM6IGNvbW1p
dC1xdWV1ZSBVcGRhdGVkIHdvcmtpbmcgZGlyZWN0b3J5CiBNT0NLOiB1cGRhdGVfc3RhdHVzOiBj
b21taXQtcXVldWUgUGF0Y2ggZG9lcyBub3QgYXBwbHkKQEAgLTMwMSwxMCArMjkwLDggQEAgRnVs
bCBvdXRwdXQ6IGh0dHA6Ly9kdW1teV91cmwnCiBNT0NLOiB1cGRhdGVfc3RhdHVzOiBjb21taXQt
cXVldWUgRmFpbAogTU9DSzogcmVsZWFzZV93b3JrX2l0ZW06IGNvbW1pdC1xdWV1ZSAxMDAwMAog
IiIiLAotICAgICAgICAgICAgImhhbmRsZV91bmV4cGVjdGVkX2Vycm9yIjogIk1PQ0sgc2V0dGlu
ZyBmbGFnICdjb21taXQtcXVldWUnIHRvICctJyBvbiBhdHRhY2htZW50ICcxMDAwMCcgd2l0aCBj
b21tZW50ICdSZWplY3RpbmcgYXR0YWNobWVudCAxMDAwMCBmcm9tIGNvbW1pdC1xdWV1ZS4nIGFu
ZCBhZGRpdGlvbmFsIGNvbW1lbnQgJ01vY2sgZXJyb3IgbWVzc2FnZSdcbiIsCi0gICAgICAgIH0K
LSAgICAgICAgZXhwZWN0ZWRfbG9ncyA9IHsKICAgICAgICAgICAgICJoYW5kbGVfc2NyaXB0X2Vy
cm9yIjogIlNjcmlwdEVycm9yIGVycm9yIG1lc3NhZ2VcblxuTU9DSyBvdXRwdXRcbiIsCisgICAg
ICAgICAgICAiaGFuZGxlX3VuZXhwZWN0ZWRfZXJyb3IiOiAiTU9DSyBzZXR0aW5nIGZsYWcgJ2Nv
bW1pdC1xdWV1ZScgdG8gJy0nIG9uIGF0dGFjaG1lbnQgJzEwMDAwJyB3aXRoIGNvbW1lbnQgJ1Jl
amVjdGluZyBhdHRhY2htZW50IDEwMDAwIGZyb20gY29tbWl0LXF1ZXVlLicgYW5kIGFkZGl0aW9u
YWwgY29tbWVudCAnTW9jayBlcnJvciBtZXNzYWdlJ1xuIiwKICAgICAgICAgfQogICAgICAgICBx
dWV1ZSA9IENvbW1pdFF1ZXVlKCkKIApAQCAtMzE3LDE2ICszMDQsMTUgQEAgTU9DSzogcmVsZWFz
ZV93b3JrX2l0ZW06IGNvbW1pdC1xdWV1ZSAxMDAwMAogICAgICAgICAgICAgcmFpc2UgU2NyaXB0
RXJyb3IoJ01PQ0sgc2NyaXB0IGVycm9yJykKIAogICAgICAgICBxdWV1ZS5ydW5fd2Via2l0X3Bh
dGNoID0gbW9ja19ydW5fd2Via2l0X3BhdGNoCi0gICAgICAgIHNlbGYuYXNzZXJ0X3F1ZXVlX291
dHB1dHMocXVldWUsIGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIsIGV4cGVjdGVkX2xv
Z3M9ZXhwZWN0ZWRfbG9ncykKKyAgICAgICAgc2VsZi5hc3NlcnRfcXVldWVfb3V0cHV0cyhxdWV1
ZSwgZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzKQogCiAgICAgZGVmIHRlc3Rfcm9sbG91dChz
ZWxmKToKICAgICAgICAgdG9vbCA9IE1vY2tUb29sKGxvZ19leGVjdXRpdmU9VHJ1ZSkKICAgICAg
ICAgdG9vbC5maWxlc3lzdGVtLndyaXRlX3RleHRfZmlsZSgnL3RtcC9sYXlvdXQtdGVzdC1yZXN1
bHRzL2Z1bGxfcmVzdWx0cy5qc29uJywgJycpICAjIE90aGVyd2lzZSB0aGUgY29tbWl0LXF1ZXVl
IHdpbGwgaGl0IGEgS2V5RXJyb3IgdHJ5aW5nIHRvIHJlYWQgdGhlIHJlc3VsdHMgZnJvbSB0aGUg
TW9ja0ZpbGVTeXN0ZW0uCiAgICAgICAgIHRvb2wuZmlsZXN5c3RlbS53cml0ZV90ZXh0X2ZpbGUo
Jy90bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy93ZWJraXRfdW5pdF90ZXN0c19vdXRwdXQueG1sJywg
JycpCiAgICAgICAgIHRvb2wuYnVpbGRib3QubGlnaHRfdHJlZV9vbl9maXJlKCkKLSAgICAgICAg
ZXhwZWN0ZWRfc3RkZXJyID0gewotICAgICAgICAgICAgImJlZ2luX3dvcmtfcXVldWUiOiBzZWxm
Ll9kZWZhdWx0X2JlZ2luX3dvcmtfcXVldWVfc3RkZXJyKCJjb21taXQtcXVldWUiKSwKLSAgICAg
ICAgICAgICJuZXh0X3dvcmtfaXRlbSI6ICIiLAorICAgICAgICBleHBlY3RlZF9sb2dzID0gewor
ICAgICAgICAgICAgImJlZ2luX3dvcmtfcXVldWUiOiBzZWxmLl9kZWZhdWx0X2JlZ2luX3dvcmtf
cXVldWVfbG9ncygiY29tbWl0LXF1ZXVlIiksCiAgICAgICAgICAgICAicHJvY2Vzc193b3JrX2l0
ZW0iOiAiIiJNT0NLIHJ1bl9hbmRfdGhyb3dfaWZfZmFpbDogWydlY2hvJywgJy0tc3RhdHVzLWhv
c3Q9ZXhhbXBsZS5jb20nLCAnY2xlYW4nLCAnLS1wb3J0PSUocG9ydF9uYW1lKXMnXSwgY3dkPS9t
b2NrLWNoZWNrb3V0CiBNT0NLOiB1cGRhdGVfc3RhdHVzOiBjb21taXQtcXVldWUgQ2xlYW5lZCB3
b3JraW5nIGRpcmVjdG9yeQogTU9DSyBydW5fYW5kX3Rocm93X2lmX2ZhaWw6IFsnZWNobycsICct
LXN0YXR1cy1ob3N0PWV4YW1wbGUuY29tJywgJ3VwZGF0ZScsICctLXBvcnQ9JShwb3J0X25hbWUp
cyddLCBjd2Q9L21vY2stY2hlY2tvdXQKQEAgLTM0NCwyMSArMzMwLDE4IEBAIE1PQ0s6IHVwZGF0
ZV9zdGF0dXM6IGNvbW1pdC1xdWV1ZSBMYW5kZWQgcGF0Y2gKIE1PQ0s6IHVwZGF0ZV9zdGF0dXM6
IGNvbW1pdC1xdWV1ZSBQYXNzCiBNT0NLOiByZWxlYXNlX3dvcmtfaXRlbTogY29tbWl0LXF1ZXVl
IDEwMDAwCiAiIiIgJSB7InBvcnRfbmFtZSI6IENvbW1pdFF1ZXVlLnBvcnRfbmFtZX0sCi0gICAg
ICAgICAgICAiaGFuZGxlX3VuZXhwZWN0ZWRfZXJyb3IiOiAiTU9DSyBzZXR0aW5nIGZsYWcgJ2Nv
bW1pdC1xdWV1ZScgdG8gJy0nIG9uIGF0dGFjaG1lbnQgJzEwMDAwJyB3aXRoIGNvbW1lbnQgJ1Jl
amVjdGluZyBhdHRhY2htZW50IDEwMDAwIGZyb20gY29tbWl0LXF1ZXVlLicgYW5kIGFkZGl0aW9u
YWwgY29tbWVudCAnTW9jayBlcnJvciBtZXNzYWdlJ1xuIiwKLSAgICAgICAgfQotICAgICAgICBl
eHBlY3RlZF9sb2dzID0gewogICAgICAgICAgICAgImhhbmRsZV9zY3JpcHRfZXJyb3IiOiAiU2Ny
aXB0RXJyb3IgZXJyb3IgbWVzc2FnZVxuXG5NT0NLIG91dHB1dFxuIiwKKyAgICAgICAgICAgICJo
YW5kbGVfdW5leHBlY3RlZF9lcnJvciI6ICJNT0NLIHNldHRpbmcgZmxhZyAnY29tbWl0LXF1ZXVl
JyB0byAnLScgb24gYXR0YWNobWVudCAnMTAwMDAnIHdpdGggY29tbWVudCAnUmVqZWN0aW5nIGF0
dGFjaG1lbnQgMTAwMDAgZnJvbSBjb21taXQtcXVldWUuJyBhbmQgYWRkaXRpb25hbCBjb21tZW50
ICdNb2NrIGVycm9yIG1lc3NhZ2UnXG4iLAogICAgICAgICB9Ci0gICAgICAgIHNlbGYuYXNzZXJ0
X3F1ZXVlX291dHB1dHMoQ29tbWl0UXVldWUoKSwgdG9vbD10b29sLCBleHBlY3RlZF9zdGRlcnI9
ZXhwZWN0ZWRfc3RkZXJyLCBleHBlY3RlZF9sb2dzPWV4cGVjdGVkX2xvZ3MpCisgICAgICAgIHNl
bGYuYXNzZXJ0X3F1ZXVlX291dHB1dHMoQ29tbWl0UXVldWUoKSwgdG9vbD10b29sLCBleHBlY3Rl
ZF9sb2dzPWV4cGVjdGVkX2xvZ3MpCiAKICAgICBkZWYgdGVzdF9yb2xsb3V0X2xhbmRzKHNlbGYp
OgogICAgICAgICB0b29sID0gTW9ja1Rvb2wobG9nX2V4ZWN1dGl2ZT1UcnVlKQogICAgICAgICB0
b29sLmJ1aWxkYm90LmxpZ2h0X3RyZWVfb25fZmlyZSgpCiAgICAgICAgIHJvbGxvdXRfcGF0Y2gg
PSB0b29sLmJ1Z3MuZmV0Y2hfYXR0YWNobWVudCgxMDAwNSkgICMgX3BhdGNoNiwgYSByb2xsb3V0
IHBhdGNoLgogICAgICAgICBhc3NlcnQocm9sbG91dF9wYXRjaC5pc19yb2xsb3V0KCkpCi0gICAg
ICAgIGV4cGVjdGVkX3N0ZGVyciA9IHsKLSAgICAgICAgICAgICJiZWdpbl93b3JrX3F1ZXVlIjog
c2VsZi5fZGVmYXVsdF9iZWdpbl93b3JrX3F1ZXVlX3N0ZGVycigiY29tbWl0LXF1ZXVlIiksCi0g
ICAgICAgICAgICAibmV4dF93b3JrX2l0ZW0iOiAiIiwKKyAgICAgICAgZXhwZWN0ZWRfbG9ncyA9
IHsKKyAgICAgICAgICAgICJiZWdpbl93b3JrX3F1ZXVlIjogc2VsZi5fZGVmYXVsdF9iZWdpbl93
b3JrX3F1ZXVlX2xvZ3MoImNvbW1pdC1xdWV1ZSIpLAogICAgICAgICAgICAgInByb2Nlc3Nfd29y
a19pdGVtIjogIiIiTU9DSyBydW5fYW5kX3Rocm93X2lmX2ZhaWw6IFsnZWNobycsICctLXN0YXR1
cy1ob3N0PWV4YW1wbGUuY29tJywgJ2NsZWFuJywgJy0tcG9ydD0lKHBvcnRfbmFtZSlzJ10sIGN3
ZD0vbW9jay1jaGVja291dAogTU9DSzogdXBkYXRlX3N0YXR1czogY29tbWl0LXF1ZXVlIENsZWFu
ZWQgd29ya2luZyBkaXJlY3RvcnkKIE1PQ0sgcnVuX2FuZF90aHJvd19pZl9mYWlsOiBbJ2VjaG8n
LCAnLS1zdGF0dXMtaG9zdD1leGFtcGxlLmNvbScsICd1cGRhdGUnLCAnLS1wb3J0PSUocG9ydF9u
YW1lKXMnXSwgY3dkPS9tb2NrLWNoZWNrb3V0CkBAIC0zNzIsMTIgKzM1NSwxMCBAQCBNT0NLOiB1
cGRhdGVfc3RhdHVzOiBjb21taXQtcXVldWUgTGFuZGVkIHBhdGNoCiBNT0NLOiB1cGRhdGVfc3Rh
dHVzOiBjb21taXQtcXVldWUgUGFzcwogTU9DSzogcmVsZWFzZV93b3JrX2l0ZW06IGNvbW1pdC1x
dWV1ZSAxMDAwNQogIiIiICUgeyJwb3J0X25hbWUiOiBDb21taXRRdWV1ZS5wb3J0X25hbWV9LAot
ICAgICAgICAgICAgImhhbmRsZV91bmV4cGVjdGVkX2Vycm9yIjogIk1PQ0sgc2V0dGluZyBmbGFn
ICdjb21taXQtcXVldWUnIHRvICctJyBvbiBhdHRhY2htZW50ICcxMDAwNScgd2l0aCBjb21tZW50
ICdSZWplY3RpbmcgYXR0YWNobWVudCAxMDAwNSBmcm9tIGNvbW1pdC1xdWV1ZS4nIGFuZCBhZGRp
dGlvbmFsIGNvbW1lbnQgJ01vY2sgZXJyb3IgbWVzc2FnZSdcbiIsCi0gICAgICAgIH0KLSAgICAg
ICAgZXhwZWN0ZWRfbG9ncyA9IHsKICAgICAgICAgICAgICJoYW5kbGVfc2NyaXB0X2Vycm9yIjog
IlNjcmlwdEVycm9yIGVycm9yIG1lc3NhZ2VcblxuTU9DSyBvdXRwdXRcbiIsCisgICAgICAgICAg
ICAiaGFuZGxlX3VuZXhwZWN0ZWRfZXJyb3IiOiAiTU9DSyBzZXR0aW5nIGZsYWcgJ2NvbW1pdC1x
dWV1ZScgdG8gJy0nIG9uIGF0dGFjaG1lbnQgJzEwMDA1JyB3aXRoIGNvbW1lbnQgJ1JlamVjdGlu
ZyBhdHRhY2htZW50IDEwMDA1IGZyb20gY29tbWl0LXF1ZXVlLicgYW5kIGFkZGl0aW9uYWwgY29t
bWVudCAnTW9jayBlcnJvciBtZXNzYWdlJ1xuIiwKICAgICAgICAgfQotICAgICAgICBzZWxmLmFz
c2VydF9xdWV1ZV9vdXRwdXRzKENvbW1pdFF1ZXVlKCksIHRvb2w9dG9vbCwgd29ya19pdGVtPXJv
bGxvdXRfcGF0Y2gsIGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIsIGV4cGVjdGVkX2xv
Z3M9ZXhwZWN0ZWRfbG9ncykKKyAgICAgICAgc2VsZi5hc3NlcnRfcXVldWVfb3V0cHV0cyhDb21t
aXRRdWV1ZSgpLCB0b29sPXRvb2wsIHdvcmtfaXRlbT1yb2xsb3V0X3BhdGNoLCBleHBlY3RlZF9s
b2dzPWV4cGVjdGVkX2xvZ3MpCiAKICAgICBkZWYgdGVzdF9hdXRvX3JldHJ5KHNlbGYpOgogICAg
ICAgICBxdWV1ZSA9IENvbW1pdFF1ZXVlKCkKQEAgLTM4NiwxMCArMzY3LDExIEBAIE1PQ0s6IHJl
bGVhc2Vfd29ya19pdGVtOiBjb21taXQtcXVldWUgMTAwMDUKICAgICAgICAgdG9vbCA9IEFsd2F5
c0NvbW1pdFF1ZXVlVG9vbCgpCiAgICAgICAgIHNlcXVlbmNlID0gTmVlZHNVcGRhdGVTZXF1ZW5j
ZShOb25lKQogCi0gICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9ICJNT0NLOiB1cGRhdGVfc3RhdHVz
OiBjb21taXQtcXVldWUgVGVzdHMgcGFzc2VkLCBidXQgY29tbWl0IGZhaWxlZCAoY2hlY2tvdXQg
b3V0IG9mIGRhdGUpLiAgVXBkYXRpbmcsIHRoZW4gbGFuZGluZyB3aXRob3V0IGJ1aWxkaW5nIG9y
IHJlLXJ1bm5pbmcgdGVzdHMuXG4iCi0gICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAiQ29tbWl0IGZh
aWxlZCBiZWNhdXNlIHRoZSBjaGVja291dCBpcyBvdXQgb2YgZGF0ZS4gUGxlYXNlIHVwZGF0ZSBh
bmQgdHJ5IGFnYWluLlxuIgorICAgICAgICBleHBlY3RlZF9sb2dzID0gIiIiQ29tbWl0IGZhaWxl
ZCBiZWNhdXNlIHRoZSBjaGVja291dCBpcyBvdXQgb2YgZGF0ZS4gUGxlYXNlIHVwZGF0ZSBhbmQg
dHJ5IGFnYWluLgorTU9DSzogdXBkYXRlX3N0YXR1czogY29tbWl0LXF1ZXVlIFRlc3RzIHBhc3Nl
ZCwgYnV0IGNvbW1pdCBmYWlsZWQgKGNoZWNrb3V0IG91dCBvZiBkYXRlKS4gIFVwZGF0aW5nLCB0
aGVuIGxhbmRpbmcgd2l0aG91dCBidWlsZGluZyBvciByZS1ydW5uaW5nIHRlc3RzLgorIiIiCiAg
ICAgICAgIHN0YXRlID0geydwYXRjaCc6IE5vbmV9Ci0gICAgICAgIE91dHB1dENhcHR1cmUoKS5h
c3NlcnRfb3V0cHV0cyhzZWxmLCBzZXF1ZW5jZS5ydW5fYW5kX2hhbmRsZV9lcnJvcnMsIFt0b29s
LCBvcHRpb25zLCBzdGF0ZV0sIGV4cGVjdGVkX2V4Y2VwdGlvbj1UcnlBZ2FpbiwgZXhwZWN0ZWRf
c3RkZXJyPWV4cGVjdGVkX3N0ZGVyciwgZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzKQorICAg
ICAgICBPdXRwdXRDYXB0dXJlKCkuYXNzZXJ0X291dHB1dHMoc2VsZiwgc2VxdWVuY2UucnVuX2Fu
ZF9oYW5kbGVfZXJyb3JzLCBbdG9vbCwgb3B0aW9ucywgc3RhdGVdLCBleHBlY3RlZF9leGNlcHRp
b249VHJ5QWdhaW4sIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncykKIAogICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKG9wdGlvbnMudXBkYXRlLCBUcnVlKQogICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKG9wdGlvbnMuYnVpbGQsIEZhbHNlKQpAQCAtNDAyLDcgKzM4NCw3IEBAIE1PQ0s6IHJlbGVh
c2Vfd29ya19pdGVtOiBjb21taXQtcXVldWUgMTAwMDUKICAgICAgICAgcXVldWUuX3Rvb2wuZmls
ZXN5c3RlbS53cml0ZV90ZXh0X2ZpbGUoJy90bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy93ZWJraXRf
dW5pdF90ZXN0c19vdXRwdXQueG1sJywgJycpCiAgICAgICAgIHF1ZXVlLl9vcHRpb25zID0gTW9j
aygpCiAgICAgICAgIHF1ZXVlLl9vcHRpb25zLnBvcnQgPSBOb25lCi0gICAgICAgIGV4cGVjdGVk
X3N0ZGVyciA9ICIiIk1PQ0s6IHVwZGF0ZV9zdGF0dXM6IGNvbW1pdC1xdWV1ZSBDbGVhbmVkIHdv
cmtpbmcgZGlyZWN0b3J5CisgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAiIiJNT0NLOiB1cGRhdGVf
c3RhdHVzOiBjb21taXQtcXVldWUgQ2xlYW5lZCB3b3JraW5nIGRpcmVjdG9yeQogTU9DSzogdXBk
YXRlX3N0YXR1czogY29tbWl0LXF1ZXVlIFVwZGF0ZWQgd29ya2luZyBkaXJlY3RvcnkKIE1PQ0s6
IHVwZGF0ZV9zdGF0dXM6IGNvbW1pdC1xdWV1ZSBBcHBsaWVkIHBhdGNoCiBNT0NLOiB1cGRhdGVf
c3RhdHVzOiBjb21taXQtcXVldWUgQ2hhbmdlTG9nIHZhbGlkYXRlZApAQCAtNDExLDExICszOTMs
MTEgQEAgTU9DSzogdXBkYXRlX3N0YXR1czogY29tbWl0LXF1ZXVlIFBhc3NlZCB0ZXN0cwogTU9D
SzogdXBkYXRlX3N0YXR1czogY29tbWl0LXF1ZXVlIFJldHJ5CiBNT0NLOiByZWxlYXNlX3dvcmtf
aXRlbTogY29tbWl0LXF1ZXVlIDEwMDAwCiAiIiIKLSAgICAgICAgT3V0cHV0Q2FwdHVyZSgpLmFz
c2VydF9vdXRwdXRzKHNlbGYsIHF1ZXVlLnByb2Nlc3Nfd29ya19pdGVtLCBbUXVldWVzVGVzdC5t
b2NrX3dvcmtfaXRlbV0sIGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIpCisgICAgICAg
IE91dHB1dENhcHR1cmUoKS5hc3NlcnRfb3V0cHV0cyhzZWxmLCBxdWV1ZS5wcm9jZXNzX3dvcmtf
aXRlbSwgW1F1ZXVlc1Rlc3QubW9ja193b3JrX2l0ZW1dLCBleHBlY3RlZF9sb2dzPWV4cGVjdGVk
X2xvZ3MpCiAKICAgICBkZWYgdGVzdF9yZXBvcnRfZmxha3lfdGVzdHMoc2VsZik6CiAgICAgICAg
IHF1ZXVlID0gVGVzdENvbW1pdFF1ZXVlKE1vY2tUb29sKCkpCi0gICAgICAgIGV4cGVjdGVkX3N0
ZGVyciA9ICIiIk1PQ0sgYnVnIGNvbW1lbnQ6IGJ1Z19pZD01MDAwMiwgY2M9Tm9uZQorICAgICAg
ICBleHBlY3RlZF9sb2dzID0gIiIiTU9DSyBidWcgY29tbWVudDogYnVnX2lkPTUwMDAyLCBjYz1O
b25lCiAtLS0gQmVnaW4gY29tbWVudCAtLS0KIFRoZSBjb21taXQtcXVldWUganVzdCBzYXcgZm9v
L2Jhci5odG1sIGZsYWtlICh0ZXh0IGRpZmYpIHdoaWxlIHByb2Nlc3NpbmcgYXR0YWNobWVudCAx
MDAwMCBvbiBidWcgNTAwMDAuCiBQb3J0OiBNb2NrUG9ydCAgUGxhdGZvcm06IE1vY2tQbGF0Zm9y
bSAxLjAKQEAgLTQyOCw2ICs0MTAsNyBAQCBUaGUgY29tbWl0LXF1ZXVlIGp1c3Qgc2F3IGJhci9i
YXouaHRtbCBmbGFrZSAodGV4dCBkaWZmKSB3aGlsZSBwcm9jZXNzaW5nIGF0dGFjaAogUG9ydDog
TW9ja1BvcnQgIFBsYXRmb3JtOiBNb2NrUGxhdGZvcm0gMS4wCiAtLS0gRW5kIGNvbW1lbnQgLS0t
CiAKK2Jhci9iYXotZGlmZnMudHh0IGRvZXMgbm90IGV4aXN0IGluIHJlc3VsdHMgYXJjaGl2ZSwg
dXBsb2FkaW5nIGVudGlyZSBhcmNoaXZlLgogTU9DSyBhZGRfYXR0YWNobWVudF90b19idWc6IGJ1
Z19pZD01MDAwMiwgZGVzY3JpcHRpb249QXJjaGl2ZSBvZiBsYXlvdXQtdGVzdC1yZXN1bHRzIGZy
b20gYm90IGZpbGVuYW1lPWxheW91dC10ZXN0LXJlc3VsdHMuemlwIG1pbWV0eXBlPU5vbmUKIE1P
Q0sgYnVnIGNvbW1lbnQ6IGJ1Z19pZD01MDAwMCwgY2M9Tm9uZQogLS0tIEJlZ2luIGNvbW1lbnQg
LS0tCkBAIC00NTMsNyArNDM2LDcgQEAgVGhlIGNvbW1pdC1xdWV1ZSBpcyBjb250aW51aW5nIHRv
IHByb2Nlc3MgeW91ciBwYXRjaC4KICAgICAgICAgICAgICAgICAjIFRoaXMgaXMgaW50ZW50aW9u
YWxseSBtaXNzaW5nIG9uZSBkaWZmcy50eHQgdG8gZXhlcmNpc2UgdGhlICJ1cGxvYWQgdGhlIHdo
b2xlIHppcCIgY29kZXBhdGguCiAgICAgICAgICAgICAgICAgcmV0dXJuIFsnZm9vL2Jhci1kaWZm
cy50eHQnXQogCi0gICAgICAgIE91dHB1dENhcHR1cmUoKS5hc3NlcnRfb3V0cHV0cyhzZWxmLCBx
dWV1ZS5yZXBvcnRfZmxha3lfdGVzdHMsIFtRdWV1ZXNUZXN0Lm1vY2tfd29ya19pdGVtLCB0ZXN0
X3Jlc3VsdHMsIE1vY2taaXBGaWxlKCldLCBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRfc3RkZXJy
KQorICAgICAgICBPdXRwdXRDYXB0dXJlKCkuYXNzZXJ0X291dHB1dHMoc2VsZiwgcXVldWUucmVw
b3J0X2ZsYWt5X3Rlc3RzLCBbUXVldWVzVGVzdC5tb2NrX3dvcmtfaXRlbSwgdGVzdF9yZXN1bHRz
LCBNb2NrWmlwRmlsZSgpXSwgZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzKQogCiAgICAgZGVm
IHRlc3RfZGlkX3Bhc3NfdGVzdGluZ19ld3Moc2VsZik6CiAgICAgICAgIHRvb2wgPSBNb2NrVG9v
bCgpCkBAIC00NjQsOSArNDQ3LDggQEAgVGhlIGNvbW1pdC1xdWV1ZSBpcyBjb250aW51aW5nIHRv
IHByb2Nlc3MgeW91ciBwYXRjaC4KIAogY2xhc3MgU3R5bGVRdWV1ZVRlc3QoUXVldWVzVGVzdCk6
CiAgICAgZGVmIHRlc3Rfc3R5bGVfcXVldWVfd2l0aF9zdHlsZV9leGNlcHRpb24oc2VsZik6Ci0g
ICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9IHsKLSAgICAgICAgICAgICJiZWdpbl93b3JrX3F1ZXVl
Ijogc2VsZi5fZGVmYXVsdF9iZWdpbl93b3JrX3F1ZXVlX3N0ZGVycigic3R5bGUtcXVldWUiKSwK
LSAgICAgICAgICAgICJuZXh0X3dvcmtfaXRlbSI6ICIiLAorICAgICAgICBleHBlY3RlZF9sb2dz
ID0geworICAgICAgICAgICAgImJlZ2luX3dvcmtfcXVldWUiOiBzZWxmLl9kZWZhdWx0X2JlZ2lu
X3dvcmtfcXVldWVfbG9ncygic3R5bGUtcXVldWUiKSwKICAgICAgICAgICAgICJwcm9jZXNzX3dv
cmtfaXRlbSI6ICIiIk1PQ0sgcnVuX2FuZF90aHJvd19pZl9mYWlsOiBbJ2VjaG8nLCAnLS1zdGF0
dXMtaG9zdD1leGFtcGxlLmNvbScsICdjbGVhbiddLCBjd2Q9L21vY2stY2hlY2tvdXQKIE1PQ0s6
IHVwZGF0ZV9zdGF0dXM6IHN0eWxlLXF1ZXVlIENsZWFuZWQgd29ya2luZyBkaXJlY3RvcnkKIE1P
Q0sgcnVuX2FuZF90aHJvd19pZl9mYWlsOiBbJ2VjaG8nLCAnLS1zdGF0dXMtaG9zdD1leGFtcGxl
LmNvbScsICd1cGRhdGUnXSwgY3dkPS9tb2NrLWNoZWNrb3V0CkBAIC00ODAsMTggKzQ2MiwxNSBA
QCBNT0NLOiB1cGRhdGVfc3RhdHVzOiBzdHlsZS1xdWV1ZSBTdHlsZSBjaGVja2VkCiBNT0NLOiB1
cGRhdGVfc3RhdHVzOiBzdHlsZS1xdWV1ZSBQYXNzCiBNT0NLOiByZWxlYXNlX3dvcmtfaXRlbTog
c3R5bGUtcXVldWUgMTAwMDAKICIiIiwKLSAgICAgICAgfQotICAgICAgICBleHBlY3RlZF9sb2dz
ID0gewogICAgICAgICAgICAgImhhbmRsZV91bmV4cGVjdGVkX2Vycm9yIjogIk1vY2sgZXJyb3Ig
bWVzc2FnZVxuIiwKICAgICAgICAgICAgICJoYW5kbGVfc2NyaXB0X2Vycm9yIjogIk1PQ0sgb3V0
cHV0XG4iLAogICAgICAgICB9CiAgICAgICAgIHRvb2wgPSBNb2NrVG9vbChsb2dfZXhlY3V0aXZl
PVRydWUsIGV4ZWN1dGl2ZV90aHJvd3Nfd2hlbl9ydW49c2V0KFsnY2hlY2stc3R5bGUnXSkpCi0g
ICAgICAgIHNlbGYuYXNzZXJ0X3F1ZXVlX291dHB1dHMoU3R5bGVRdWV1ZSgpLCBleHBlY3RlZF9z
dGRlcnI9ZXhwZWN0ZWRfc3RkZXJyLCBleHBlY3RlZF9sb2dzPWV4cGVjdGVkX2xvZ3MsIHRvb2w9
dG9vbCkKKyAgICAgICAgc2VsZi5hc3NlcnRfcXVldWVfb3V0cHV0cyhTdHlsZVF1ZXVlKCksIGV4
cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncywgdG9vbD10b29sKQogCiAgICAgZGVmIHRlc3Rfc3R5
bGVfcXVldWVfd2l0aF93YXRjaF9saXN0X2V4Y2VwdGlvbihzZWxmKToKLSAgICAgICAgZXhwZWN0
ZWRfc3RkZXJyID0gewotICAgICAgICAgICAgImJlZ2luX3dvcmtfcXVldWUiOiBzZWxmLl9kZWZh
dWx0X2JlZ2luX3dvcmtfcXVldWVfc3RkZXJyKCJzdHlsZS1xdWV1ZSIpLAotICAgICAgICAgICAg
Im5leHRfd29ya19pdGVtIjogIiIsCisgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSB7CisgICAgICAg
ICAgICAiYmVnaW5fd29ya19xdWV1ZSI6IHNlbGYuX2RlZmF1bHRfYmVnaW5fd29ya19xdWV1ZV9s
b2dzKCJzdHlsZS1xdWV1ZSIpLAogICAgICAgICAgICAgInByb2Nlc3Nfd29ya19pdGVtIjogIiIi
TU9DSyBydW5fYW5kX3Rocm93X2lmX2ZhaWw6IFsnZWNobycsICctLXN0YXR1cy1ob3N0PWV4YW1w
bGUuY29tJywgJ2NsZWFuJ10sIGN3ZD0vbW9jay1jaGVja291dAogTU9DSzogdXBkYXRlX3N0YXR1
czogc3R5bGUtcXVldWUgQ2xlYW5lZCB3b3JraW5nIGRpcmVjdG9yeQogTU9DSyBydW5fYW5kX3Ro
cm93X2lmX2ZhaWw6IFsnZWNobycsICctLXN0YXR1cy1ob3N0PWV4YW1wbGUuY29tJywgJ3VwZGF0
ZSddLCBjd2Q9L21vY2stY2hlY2tvdXQKQEAgLTUwNSwxMSArNDg0LDggQEAgTU9DSzogdXBkYXRl
X3N0YXR1czogc3R5bGUtcXVldWUgU3R5bGUgY2hlY2tlZAogTU9DSzogdXBkYXRlX3N0YXR1czog
c3R5bGUtcXVldWUgUGFzcwogTU9DSzogcmVsZWFzZV93b3JrX2l0ZW06IHN0eWxlLXF1ZXVlIDEw
MDAwCiAiIiIsCi0gICAgICAgIH0KLSAgICAgICAgZXhwZWN0ZWRfbG9ncyA9IHsKLSAgICAgICAg
ICAgICJiZWdpbl93b3JrX3F1ZXVlIjogc2VsZi5fZGVmYXVsdF9iZWdpbl93b3JrX3F1ZXVlX2xv
Z3MoInN0eWxlLXF1ZXVlIiksCiAgICAgICAgICAgICAiaGFuZGxlX3VuZXhwZWN0ZWRfZXJyb3Ii
OiAiTW9jayBlcnJvciBtZXNzYWdlXG4iLAogICAgICAgICAgICAgImhhbmRsZV9zY3JpcHRfZXJy
b3IiOiAiTU9DSyBvdXRwdXRcbiIsCiAgICAgICAgIH0KICAgICAgICAgdG9vbCA9IE1vY2tUb29s
KGxvZ19leGVjdXRpdmU9VHJ1ZSwgZXhlY3V0aXZlX3Rocm93c193aGVuX3J1bj1zZXQoWydhcHBs
eS13YXRjaGxpc3QtbG9jYWwnXSkpCi0gICAgICAgIHNlbGYuYXNzZXJ0X3F1ZXVlX291dHB1dHMo
U3R5bGVRdWV1ZSgpLCBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRfc3RkZXJyLCBleHBlY3RlZF9s
b2dzPWV4cGVjdGVkX2xvZ3MsIHRvb2w9dG9vbCkKKyAgICAgICAgc2VsZi5hc3NlcnRfcXVldWVf
b3V0cHV0cyhTdHlsZVF1ZXVlKCksIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncywgdG9vbD10
b29sKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3F1
ZXVlc3Rlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcXVldWVz
dGVzdC5weQppbmRleCBmYzJkY2UzYjQwOGVhOWQwM2E0NWI2MTdiODIwNGFjOWI1ZmFkY2YxLi4z
MTRhNjQwMjE4ZmQzNWE1NjFhNmY1YmQyYmIxNGFjNGEwNWE2MGY4IDEwMDY0NAotLS0gYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcXVldWVzdGVzdC5weQorKysgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcXVldWVzdGVzdC5weQpAQCAtNzIsNyAr
NzIsNyBAQCBjbGFzcyBRdWV1ZXNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgX2Rl
ZmF1bHRfYmVnaW5fd29ya19xdWV1ZV9sb2dzKHNlbGYsIG5hbWUpOgogICAgICAgICBjaGVja291
dF9kaXIgPSAnL21vY2stY2hlY2tvdXQnCiAgICAgICAgIHN0cmluZ19yZXBsYWNlbWVudHMgPSB7
Im5hbWUiOiBuYW1lLCAnY2hlY2tvdXRfZGlyJzogY2hlY2tvdXRfZGlyfQotICAgICAgICByZXR1
cm4gIkNBVVRJT046ICUobmFtZSlzIHdpbGwgZGlzY2FyZCBhbGwgbG9jYWwgY2hhbmdlcyBpbiBc
IiUoY2hlY2tvdXRfZGlyKXNcIlxuUnVubmluZyBXZWJLaXQgJShuYW1lKXMuXG4iICUgc3RyaW5n
X3JlcGxhY2VtZW50cworICAgICAgICByZXR1cm4gIkNBVVRJT046ICUobmFtZSlzIHdpbGwgZGlz
Y2FyZCBhbGwgbG9jYWwgY2hhbmdlcyBpbiBcIiUoY2hlY2tvdXRfZGlyKXNcIlxuUnVubmluZyBX
ZWJLaXQgJShuYW1lKXMuXG5NT0NLOiB1cGRhdGVfc3RhdHVzOiAlKG5hbWUpcyBTdGFydGluZyBR
dWV1ZVxuIiAlIHN0cmluZ19yZXBsYWNlbWVudHMKIAogICAgIGRlZiBhc3NlcnRfcXVldWVfb3V0
cHV0cyhzZWxmLCBxdWV1ZSwgYXJncz1Ob25lLCB3b3JrX2l0ZW09Tm9uZSwgZXhwZWN0ZWRfc3Rk
b3V0PU5vbmUsIGV4cGVjdGVkX3N0ZGVycj1Ob25lLCBleHBlY3RlZF9leGNlcHRpb25zPU5vbmUs
IGV4cGVjdGVkX2xvZ3M9Tm9uZSwgb3B0aW9ucz1Ob25lLCB0b29sPU5vbmUpOgogICAgICAgICBp
ZiBub3QgdG9vbDoKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21t
YW5kcy9yb2xsX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1h
bmRzL3JvbGxfdW5pdHRlc3QucHkKaW5kZXggY2Y3NjY1MzUyZTdmMTE3MWVhNmRkOWQ3NmM1MDQ2
NjY5ZmYzMzBmOC4uMWRhZTQ5N2JjM2ZhZmE1NGIxMWIyZDI0MDFhN2Q1Y2U0ZmRhNTA5NSAxMDA2
NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3JvbGxfdW5pdHRl
c3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3JvbGxfdW5p
dHRlc3QucHkKQEAgLTM0LDE0ICszNCwxMyBAQCBmcm9tIHdlYmtpdHB5LnRvb2wubW9ja3Rvb2wg
aW1wb3J0IE1vY2tPcHRpb25zLCBNb2NrVG9vbAogCiBjbGFzcyBSb2xsQ29tbWFuZHNUZXN0KENv
bW1hbmRzVGVzdCk6CiAgICAgZGVmIHRlc3RfdXBkYXRlX2Nocm9taXVtX2RlcHMoc2VsZik6Ci0g
ICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9ICIiIk1PQ0s6IE1vY2tERVBTLndyaXRlX3ZhcmlhYmxl
KGNocm9taXVtX3JldiwgNjc2NCkKKyAgICAgICAgZXhwZWN0ZWRfbG9ncyA9ICIiIlVwZGF0aW5n
IENocm9taXVtIERFUFMgdG8gNjc2NAorTU9DSzogTW9ja0RFUFMud3JpdGVfdmFyaWFibGUoY2hy
b21pdW1fcmV2LCA2NzY0KQogTU9DSzogdXNlci5vcGVuX3VybDogZmlsZTovLy4uLgogV2FzIHRo
YXQgZGlmZiBjb3JyZWN0PwotIiIiCi0gICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAiIiJVcGRhdGlu
ZyBDaHJvbWl1bSBERVBTIHRvIDY3NjQKIENvbW1pdHRlZCByNDk4MjQ6IDxodHRwOi8vdHJhYy53
ZWJraXQub3JnL2NoYW5nZXNldC80OTgyND4KICIiIgotICAgICAgICBzZWxmLmFzc2VydF9leGVj
dXRlX291dHB1dHMoUm9sbENocm9taXVtREVQUygpLCBbNjc2NF0sIGV4cGVjdGVkX3N0ZGVycj1l
eHBlY3RlZF9zdGRlcnIsIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncykKKyAgICAgICAgc2Vs
Zi5hc3NlcnRfZXhlY3V0ZV9vdXRwdXRzKFJvbGxDaHJvbWl1bURFUFMoKSwgWzY3NjRdLCBleHBl
Y3RlZF9sb2dzPWV4cGVjdGVkX2xvZ3MpCiAKICAgICBkZWYgdGVzdF91cGRhdGVfY2hyb21pdW1f
ZGVwc19vbGRlcl9yZXZpc2lvbihzZWxmKToKICAgICAgICAgb3B0aW9ucyA9IE1vY2tPcHRpb25z
KG5vbl9pbnRlcmFjdGl2ZT1GYWxzZSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvdG9vbC9jb21tYW5kcy91cGxvYWRfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3Rvb2wvY29tbWFuZHMvdXBsb2FkX3VuaXR0ZXN0LnB5CmluZGV4IDY2YjIwMTRjYmNmMWJk
NDIxMmYxMGE2ZWRiNWU0M2QxYmViNDUzMDguLmFkMWI1OTFlMDFkZWUyZTI1OGJkYTRkM2JkNThh
NTk2MWIxMmMxZTggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21t
YW5kcy91cGxvYWRfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29s
L2NvbW1hbmRzL3VwbG9hZF91bml0dGVzdC5weQpAQCAtNDIsMTYgKzQyLDE1IEBAIGNsYXNzIFVw
bG9hZENvbW1hbmRzVGVzdChDb21tYW5kc1Rlc3QpOgogCiAgICAgZGVmIHRlc3RfYXNzaWduX3Rv
X2NvbW1pdHRlcihzZWxmKToKICAgICAgICAgdG9vbCA9IE1vY2tUb29sKCkKLSAgICAgICAgZXhw
ZWN0ZWRfc3RkZXJyID0gIiIiV2FybmluZywgYXR0YWNobWVudCAxMDAwMSBvbiBidWcgNTAwMDAg
aGFzIGludmFsaWQgY29tbWl0dGVyIChub24tY29tbWl0dGVyQGV4YW1wbGUuY29tKQorICAgICAg
ICBleHBlY3RlZF9sb2dzID0gIiIiV2FybmluZywgYXR0YWNobWVudCAxMDAwMSBvbiBidWcgNTAw
MDAgaGFzIGludmFsaWQgY29tbWl0dGVyIChub24tY29tbWl0dGVyQGV4YW1wbGUuY29tKQogTU9D
SyByZWFzc2lnbl9idWc6IGJ1Z19pZD01MDAwMCwgYXNzaWduZWU9ZXJpY0B3ZWJraXQub3JnCiAt
LSBCZWdpbiBjb21tZW50IC0tCiBBdHRhY2htZW50IDEwMDAxIHdhcyBwb3N0ZWQgYnkgYSBjb21t
aXR0ZXIgYW5kIGhhcyByZXZpZXcrLCBhc3NpZ25pbmcgdG8gRXJpYyBTZWlkZWwgZm9yIGNvbW1p
dC4KIC0tIEVuZCBjb21tZW50IC0tCi0iIiIKLSAgICAgICAgZXhwZWN0ZWRfbG9ncyA9ICIiIkJ1
ZyA1MDAwMyBpcyBhbHJlYWR5IGFzc2lnbmVkIHRvIGZvb0Bmb28uY29tIChOb25lKS4KK0J1ZyA1
MDAwMyBpcyBhbHJlYWR5IGFzc2lnbmVkIHRvIGZvb0Bmb28uY29tIChOb25lKS4KIEJ1ZyA1MDAw
MiBoYXMgbm8gbm9uLW9ic29sZXRlIHBhdGNoZXMsIGlnbm9yaW5nLgogIiIiCi0gICAgICAgIHNl
bGYuYXNzZXJ0X2V4ZWN1dGVfb3V0cHV0cyhBc3NpZ25Ub0NvbW1pdHRlcigpLCBbXSwgZXhwZWN0
ZWRfc3RkZXJyPWV4cGVjdGVkX3N0ZGVyciwgZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzLCB0
b29sPXRvb2wpCisgICAgICAgIHNlbGYuYXNzZXJ0X2V4ZWN1dGVfb3V0cHV0cyhBc3NpZ25Ub0Nv
bW1pdHRlcigpLCBbXSwgZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzLCB0b29sPXRvb2wpCiAK
ICAgICBkZWYgdGVzdF9vYnNvbGV0ZV9hdHRhY2htZW50cyhzZWxmKToKICAgICAgICAgZXhwZWN0
ZWRfbG9ncyA9ICJPYnNvbGV0aW5nIDIgb2xkIHBhdGNoZXMgb24gYnVnIDUwMDAwXG4iCkBAIC02
Nyw0NSArNjYsNDYgQEAgQnVnIDUwMDAyIGhhcyBubyBub24tb2Jzb2xldGUgcGF0Y2hlcywgaWdu
b3JpbmcuCiAgICAgICAgIG9wdGlvbnMucmVxdWVzdF9jb21taXQgPSBGYWxzZQogICAgICAgICBv
cHRpb25zLnJldmlldyA9IFRydWUKICAgICAgICAgb3B0aW9ucy5zdWdnZXN0X3Jldmlld2VycyA9
IEZhbHNlCi0gICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9ICIiIk1PQ0s6IHVzZXIub3Blbl91cmw6
IGZpbGU6Ly8uLi4KKyAgICAgICAgZXhwZWN0ZWRfbG9ncyA9ICIiIk1PQ0s6IHVzZXIub3Blbl91
cmw6IGZpbGU6Ly8uLi4KIFdhcyB0aGF0IGRpZmYgY29ycmVjdD8KK09ic29sZXRpbmcgMiBvbGQg
cGF0Y2hlcyBvbiBidWcgNTAwMDAKIE1PQ0sgcmVhc3NpZ25fYnVnOiBidWdfaWQ9NTAwMDAsIGFz
c2lnbmVlPU5vbmUKIE1PQ0sgYWRkX3BhdGNoX3RvX2J1ZzogYnVnX2lkPTUwMDAwLCBkZXNjcmlw
dGlvbj1NT0NLIGRlc2NyaXB0aW9uLCBtYXJrX2Zvcl9yZXZpZXc9VHJ1ZSwgbWFya19mb3JfY29t
bWl0X3F1ZXVlPUZhbHNlLCBtYXJrX2Zvcl9sYW5kaW5nPUZhbHNlCiBNT0NLOiB1c2VyLm9wZW5f
dXJsOiBodHRwOi8vZXhhbXBsZS5jb20vNTAwMDAKICIiIgotICAgICAgICBleHBlY3RlZF9sb2dz
ID0gIk9ic29sZXRpbmcgMiBvbGQgcGF0Y2hlcyBvbiBidWcgNTAwMDBcbiIKLSAgICAgICAgc2Vs
Zi5hc3NlcnRfZXhlY3V0ZV9vdXRwdXRzKFBvc3QoKSwgWzUwMDAwXSwgb3B0aW9ucz1vcHRpb25z
LCBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRfc3RkZXJyKQorICAgICAgICBzZWxmLmFzc2VydF9l
eGVjdXRlX291dHB1dHMoUG9zdCgpLCBbNTAwMDBdLCBvcHRpb25zPW9wdGlvbnMsIGV4cGVjdGVk
X2xvZ3M9ZXhwZWN0ZWRfbG9ncykKIAogICAgIGRlZiB0ZXN0X2F0dGFjaF90b19idWcoc2VsZik6
CiAgICAgICAgIG9wdGlvbnMgPSBNb2NrT3B0aW9ucygpCiAgICAgICAgIG9wdGlvbnMuY29tbWVu
dCA9ICJleHRyYSBjb21tZW50IgogICAgICAgICBvcHRpb25zLmRlc2NyaXB0aW9uID0gImZpbGUg
ZGVzY3JpcHRpb24iCi0gICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9ICIiIk1PQ0sgYWRkX2F0dGFj
aG1lbnRfdG9fYnVnOiBidWdfaWQ9NTAwMDAsIGRlc2NyaXB0aW9uPWZpbGUgZGVzY3JpcHRpb24g
ZmlsZW5hbWU9Tm9uZSBtaW1ldHlwZT1Ob25lCisgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAiIiJN
T0NLIGFkZF9hdHRhY2htZW50X3RvX2J1ZzogYnVnX2lkPTUwMDAwLCBkZXNjcmlwdGlvbj1maWxl
IGRlc2NyaXB0aW9uIGZpbGVuYW1lPU5vbmUgbWltZXR5cGU9Tm9uZQogLS0gQmVnaW4gY29tbWVu
dCAtLQogZXh0cmEgY29tbWVudAogLS0gRW5kIGNvbW1lbnQgLS0KICIiIgotICAgICAgICBzZWxm
LmFzc2VydF9leGVjdXRlX291dHB1dHMoQXR0YWNoVG9CdWcoKSwgWzUwMDAwLCAicGF0aC90by9m
aWxlLnR4dCIsICJmaWxlIGRlc2NyaXB0aW9uIl0sIG9wdGlvbnM9b3B0aW9ucywgZXhwZWN0ZWRf
c3RkZXJyPWV4cGVjdGVkX3N0ZGVycikKKyAgICAgICAgc2VsZi5hc3NlcnRfZXhlY3V0ZV9vdXRw
dXRzKEF0dGFjaFRvQnVnKCksIFs1MDAwMCwgInBhdGgvdG8vZmlsZS50eHQiLCAiZmlsZSBkZXNj
cmlwdGlvbiJdLCBvcHRpb25zPW9wdGlvbnMsIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncykK
IAogICAgIGRlZiB0ZXN0X2F0dGFjaF90b19idWdfbm9fZGVzY3JpcHRpb25fb3JfY29tbWVudChz
ZWxmKToKICAgICAgICAgb3B0aW9ucyA9IE1vY2tPcHRpb25zKCkKICAgICAgICAgb3B0aW9ucy5j
b21tZW50ID0gTm9uZQogICAgICAgICBvcHRpb25zLmRlc2NyaXB0aW9uID0gTm9uZQotICAgICAg
ICBleHBlY3RlZF9zdGRlcnIgPSAiIiJNT0NLIGFkZF9hdHRhY2htZW50X3RvX2J1ZzogYnVnX2lk
PTUwMDAwLCBkZXNjcmlwdGlvbj1maWxlLnR4dCBmaWxlbmFtZT1Ob25lIG1pbWV0eXBlPU5vbmUK
LSIiIgotICAgICAgICBzZWxmLmFzc2VydF9leGVjdXRlX291dHB1dHMoQXR0YWNoVG9CdWcoKSwg
WzUwMDAwLCAicGF0aC90by9maWxlLnR4dCJdLCBvcHRpb25zPW9wdGlvbnMsIGV4cGVjdGVkX3N0
ZGVycj1leHBlY3RlZF9zdGRlcnIpCisgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAiTU9DSyBhZGRf
YXR0YWNobWVudF90b19idWc6IGJ1Z19pZD01MDAwMCwgZGVzY3JpcHRpb249ZmlsZS50eHQgZmls
ZW5hbWU9Tm9uZSBtaW1ldHlwZT1Ob25lXG4iCisgICAgICAgIHNlbGYuYXNzZXJ0X2V4ZWN1dGVf
b3V0cHV0cyhBdHRhY2hUb0J1ZygpLCBbNTAwMDAsICJwYXRoL3RvL2ZpbGUudHh0Il0sIG9wdGlv
bnM9b3B0aW9ucywgZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzKQogCiAgICAgZGVmIHRlc3Rf
bGFuZF9zYWZlbHkoc2VsZik6Ci0gICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9ICJNT0NLIHJlYXNz
aWduX2J1ZzogYnVnX2lkPTUwMDAwLCBhc3NpZ25lZT1Ob25lXG5NT0NLIGFkZF9wYXRjaF90b19i
dWc6IGJ1Z19pZD01MDAwMCwgZGVzY3JpcHRpb249UGF0Y2ggZm9yIGxhbmRpbmcsIG1hcmtfZm9y
X3Jldmlldz1GYWxzZSwgbWFya19mb3JfY29tbWl0X3F1ZXVlPUZhbHNlLCBtYXJrX2Zvcl9sYW5k
aW5nPVRydWVcbiIKLSAgICAgICAgZXhwZWN0ZWRfbG9ncyA9ICJPYnNvbGV0aW5nIDIgb2xkIHBh
dGNoZXMgb24gYnVnIDUwMDAwXG4iCi0gICAgICAgIHNlbGYuYXNzZXJ0X2V4ZWN1dGVfb3V0cHV0
cyhMYW5kU2FmZWx5KCksIFs1MDAwMF0sIGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIs
IGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncykKKyAgICAgICAgZXhwZWN0ZWRfbG9ncyA9ICIi
Ik9ic29sZXRpbmcgMiBvbGQgcGF0Y2hlcyBvbiBidWcgNTAwMDAKK01PQ0sgcmVhc3NpZ25fYnVn
OiBidWdfaWQ9NTAwMDAsIGFzc2lnbmVlPU5vbmUKK01PQ0sgYWRkX3BhdGNoX3RvX2J1ZzogYnVn
X2lkPTUwMDAwLCBkZXNjcmlwdGlvbj1QYXRjaCBmb3IgbGFuZGluZywgbWFya19mb3JfcmV2aWV3
PUZhbHNlLCBtYXJrX2Zvcl9jb21taXRfcXVldWU9RmFsc2UsIG1hcmtfZm9yX2xhbmRpbmc9VHJ1
ZQorIiIiCisgICAgICAgIHNlbGYuYXNzZXJ0X2V4ZWN1dGVfb3V0cHV0cyhMYW5kU2FmZWx5KCks
IFs1MDAwMF0sIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncykKIAogICAgIGRlZiB0ZXN0X3By
ZXBhcmVfZGlmZl93aXRoX2FyZyhzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRfZXhlY3V0ZV9v
dXRwdXRzKFByZXBhcmUoKSwgWzUwMDAwXSkKIAogICAgIGRlZiB0ZXN0X3ByZXBhcmUoc2VsZik6
Ci0gICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9ICJNT0NLIGNyZWF0ZV9idWdcbmJ1Z190aXRsZTog
TW9jayB1c2VyIHJlc3BvbnNlXG5idWdfZGVzY3JpcHRpb246IE1vY2sgdXNlciByZXNwb25zZVxu
Y29tcG9uZW50OiBNT0NLIGNvbXBvbmVudFxuY2M6IE1PQ0sgY2NcbiIKLSAgICAgICAgc2VsZi5h
c3NlcnRfZXhlY3V0ZV9vdXRwdXRzKFByZXBhcmUoKSwgW10sIGV4cGVjdGVkX3N0ZGVycj1leHBl
Y3RlZF9zdGRlcnIpCisgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAiTU9DSyBjcmVhdGVfYnVnXG5i
dWdfdGl0bGU6IE1vY2sgdXNlciByZXNwb25zZVxuYnVnX2Rlc2NyaXB0aW9uOiBNb2NrIHVzZXIg
cmVzcG9uc2VcbmNvbXBvbmVudDogTU9DSyBjb21wb25lbnRcbmNjOiBNT0NLIGNjXG4iCisgICAg
ICAgIHNlbGYuYXNzZXJ0X2V4ZWN1dGVfb3V0cHV0cyhQcmVwYXJlKCksIFtdLCBleHBlY3RlZF9s
b2dzPWV4cGVjdGVkX2xvZ3MpCiAKICAgICBkZWYgdGVzdF91cGxvYWQoc2VsZik6CiAgICAgICAg
IG9wdGlvbnMgPSBNb2NrT3B0aW9ucygpCkBAIC0xMTcsMTQgKzExNywxNCBAQCBleHRyYSBjb21t
ZW50CiAgICAgICAgIG9wdGlvbnMucmVxdWVzdF9jb21taXQgPSBGYWxzZQogICAgICAgICBvcHRp
b25zLnJldmlldyA9IFRydWUKICAgICAgICAgb3B0aW9ucy5zdWdnZXN0X3Jldmlld2VycyA9IEZh
bHNlCi0gICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9ICIiIk1PQ0s6IHVzZXIub3Blbl91cmw6IGZp
bGU6Ly8uLi4KKyAgICAgICAgZXhwZWN0ZWRfbG9ncyA9ICIiIk1PQ0s6IHVzZXIub3Blbl91cmw6
IGZpbGU6Ly8uLi4KIFdhcyB0aGF0IGRpZmYgY29ycmVjdD8KK09ic29sZXRpbmcgMiBvbGQgcGF0
Y2hlcyBvbiBidWcgNTAwMDAKIE1PQ0sgcmVhc3NpZ25fYnVnOiBidWdfaWQ9NTAwMDAsIGFzc2ln
bmVlPU5vbmUKIE1PQ0sgYWRkX3BhdGNoX3RvX2J1ZzogYnVnX2lkPTUwMDAwLCBkZXNjcmlwdGlv
bj1NT0NLIGRlc2NyaXB0aW9uLCBtYXJrX2Zvcl9yZXZpZXc9VHJ1ZSwgbWFya19mb3JfY29tbWl0
X3F1ZXVlPUZhbHNlLCBtYXJrX2Zvcl9sYW5kaW5nPUZhbHNlCiBNT0NLOiB1c2VyLm9wZW5fdXJs
OiBodHRwOi8vZXhhbXBsZS5jb20vNTAwMDAKICIiIgotICAgICAgICBleHBlY3RlZF9sb2dzID0g
Ik9ic29sZXRpbmcgMiBvbGQgcGF0Y2hlcyBvbiBidWcgNTAwMDBcbiIKLSAgICAgICAgc2VsZi5h
c3NlcnRfZXhlY3V0ZV9vdXRwdXRzKFVwbG9hZCgpLCBbNTAwMDBdLCBvcHRpb25zPW9wdGlvbnMs
IGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIsIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRf
bG9ncykKKyAgICAgICAgc2VsZi5hc3NlcnRfZXhlY3V0ZV9vdXRwdXRzKFVwbG9hZCgpLCBbNTAw
MDBdLCBvcHRpb25zPW9wdGlvbnMsIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncykKIAogICAg
IGRlZiB0ZXN0X21hcmtfYnVnX2ZpeGVkKHNlbGYpOgogICAgICAgICB0b29sID0gTW9ja1Rvb2wo
KQpAQCAtMTMyLDggKzEzMiwxMSBAQCBNT0NLOiB1c2VyLm9wZW5fdXJsOiBodHRwOi8vZXhhbXBs
ZS5jb20vNTAwMDAKICAgICAgICAgb3B0aW9ucyA9IE1vY2soKQogICAgICAgICBvcHRpb25zLmJ1
Z19pZCA9IDUwMDAwCiAgICAgICAgIG9wdGlvbnMuY29tbWVudCA9ICJNT0NLIGNvbW1lbnQiCi0g
ICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9ICIiIk1PQ0s6IHVzZXIub3Blbl91cmw6IGh0dHA6Ly9l
eGFtcGxlLmNvbS81MDAwMAorICAgICAgICBleHBlY3RlZF9sb2dzID0gIiIiQnVnOiA8aHR0cDov
L2V4YW1wbGUuY29tLzUwMDAwPiBCdWcgd2l0aCB0d28gcisnZCBhbmQgY3ErJ2QgcGF0Y2hlcywg
b25lIG9mIHdoaWNoIGhhcyBhbiBpbnZhbGlkIGNvbW1pdC1xdWV1ZSBzZXR0ZXIuCitSZXZpc2lv
bjogOTg3NgorTU9DSzogdXNlci5vcGVuX3VybDogaHR0cDovL2V4YW1wbGUuY29tLzUwMDAwCiBJ
cyB0aGlzIGNvcnJlY3Q/CitBZGRpbmcgY29tbWVudCB0byBCdWcgNTAwMDAuCiBNT0NLIGJ1ZyBj
b21tZW50OiBidWdfaWQ9NTAwMDAsIGNjPU5vbmUKIC0tLSBCZWdpbiBjb21tZW50IC0tLQogTU9D
SyBjb21tZW50CkBAIC0xNDIsMTEgKzE0NSw3IEBAIENvbW1pdHRlZCByOTg3NjogPGh0dHA6Ly90
cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0Lzk4NzY+CiAtLS0gRW5kIGNvbW1lbnQgLS0tCiAKICIi
IgotICAgICAgICBleHBlY3RlZF9sb2dzID0gIiIiQnVnOiA8aHR0cDovL2V4YW1wbGUuY29tLzUw
MDAwPiBCdWcgd2l0aCB0d28gcisnZCBhbmQgY3ErJ2QgcGF0Y2hlcywgb25lIG9mIHdoaWNoIGhh
cyBhbiBpbnZhbGlkIGNvbW1pdC1xdWV1ZSBzZXR0ZXIuCi1SZXZpc2lvbjogOTg3NgotQWRkaW5n
IGNvbW1lbnQgdG8gQnVnIDUwMDAwLgotIiIiCi0gICAgICAgIHNlbGYuYXNzZXJ0X2V4ZWN1dGVf
b3V0cHV0cyhNYXJrQnVnRml4ZWQoKSwgW10sIGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRl
cnIsIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncywgdG9vbD10b29sLCBvcHRpb25zPW9wdGlv
bnMpCisgICAgICAgIHNlbGYuYXNzZXJ0X2V4ZWN1dGVfb3V0cHV0cyhNYXJrQnVnRml4ZWQoKSwg
W10sIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncywgdG9vbD10b29sLCBvcHRpb25zPW9wdGlv
bnMpCiAKICAgICBkZWYgdGVzdF9lZGl0X2NoYW5nZWxvZyhzZWxmKToKICAgICAgICAgc2VsZi5h
c3NlcnRfZXhlY3V0ZV9vdXRwdXRzKEVkaXRDaGFuZ2VMb2dzKCksIFtdKQpkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL2FwcGx5d2F0Y2hsaXN0X3VuaXR0ZXN0
LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL2FwcGx5d2F0Y2hsaXN0X3Vu
aXR0ZXN0LnB5CmluZGV4IGJkYWFmNzU4YTkzYTMyZjFmMDY3OGU2NTgyMTdlMmQ2YWY0YTIwYzQu
LmE5NzhmNDE2NDg1MmNlYWRlYzg1ZmZkMjcwNDZhMmE3MzhjYjY4MGYgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9hcHBseXdhdGNobGlzdF91bml0dGVzdC5w
eQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvYXBwbHl3YXRjaGxpc3Rf
dW5pdHRlc3QucHkKQEAgLTQxLDExICs0MSwxMSBAQCBjbGFzcyBBcHBseVdhdGNoTGlzdFRlc3Qo
dW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAgICAgJ2J1Z19pZCc6ICc1MDAwMScsCiAgICAg
ICAgICAgICAnZGlmZic6ICdUaGUgZGlmZicsCiAgICAgICAgIH0KLSAgICAgICAgZXhwZWN0ZWRf
c3RkZXJyID0gIiIiTW9ja1dhdGNoTGlzdDogZGV0ZXJtaW5lX2NjX2FuZF9tZXNzYWdlcworICAg
ICAgICBleHBlY3RlZF9sb2dzID0gIiIiTW9ja1dhdGNoTGlzdDogZGV0ZXJtaW5lX2NjX2FuZF9t
ZXNzYWdlcwogTU9DSyBidWcgY29tbWVudDogYnVnX2lkPTUwMDAxLCBjYz1zZXQoWydsZXZpbkBj
aHJvbWl1bS5vcmcnXSkKIC0tLSBCZWdpbiBjb21tZW50IC0tLQogTWVzc2FnZTIuCiAtLS0gRW5k
IGNvbW1lbnQgLS0tCiAKICIiIgotICAgICAgICBjYXB0dXJlLmFzc2VydF9vdXRwdXRzKHNlbGYs
IHN0ZXAucnVuLCBbc3RhdGVdLCBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRfc3RkZXJyKQorICAg
ICAgICBjYXB0dXJlLmFzc2VydF9vdXRwdXRzKHNlbGYsIHN0ZXAucnVuLCBbc3RhdGVdLCBleHBl
Y3RlZF9sb2dzPWV4cGVjdGVkX2xvZ3MpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3Rvb2wvc3RlcHMvY29tbWl0X3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS90b29sL3N0ZXBzL2NvbW1pdF91bml0dGVzdC5weQppbmRleCBkMTM5YzYzYzY0OWZmMDQzNGU0
NGNkODBlOTBmODc1NmU0YWQxYTkzLi45MzZlM2ViYWJiMmVkYWIzMGNhODVmMDIwNmFiMTFjYTI2
MTAxMWYyIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvY29t
bWl0X3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9j
b21taXRfdW5pdHRlc3QucHkKQEAgLTUwLDEzICs1MCwxNiBAQCBjbGFzcyBDb21taXRUZXN0KHVu
aXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgfQogCiAgICAgICAgIHRvb2wuZXhlY3V0aXZlID0g
TW9ja0V4ZWN1dGl2ZShzaG91bGRfbG9nPVRydWUsIHNob3VsZF90aHJvd193aGVuX3J1bj1GYWxz
ZSkKLSAgICAgICAgY2FwdHVyZS5hc3NlcnRfb3V0cHV0cyhzZWxmLCBzdGVwLnJ1biwgW3N0YXRl
XSwgZXhwZWN0ZWRfbG9ncz0iQ29tbWl0dGVkIHI0OTgyNDogPGh0dHA6Ly90cmFjLndlYmtpdC5v
cmcvY2hhbmdlc2V0LzQ5ODI0PlxuIikKKyAgICAgICAgZXhwZWN0ZWRfbG9ncyA9ICJDb21taXR0
ZWQgcjQ5ODI0OiA8aHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvNDk4MjQ+XG4iCisg
ICAgICAgIGNhcHR1cmUuYXNzZXJ0X291dHB1dHMoc2VsZiwgc3RlcC5ydW4sIFtzdGF0ZV0sIGV4
cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncykKIAogICAgICAgICBzdGF0ZSA9IHsKICAgICAgICAg
ICAgICJjaGFuZ2VkX2ZpbGVzIjogWyJwbGF0Zm9ybS9jaHJvbWl1bS8iICsgZmlsZW5hbWVdLAog
ICAgICAgICB9Ci0gICAgICAgIGNhcHR1cmUuYXNzZXJ0X291dHB1dHMoc2VsZiwgc3RlcC5ydW4s
IFtzdGF0ZV0sIGV4cGVjdGVkX3N0ZGVycj0iTU9DSyBydW5fYW5kX3Rocm93X2lmX2ZhaWw6IFsn
bW9jay1jaGVjay13ZWJraXQtc3R5bGUnLCAnLS1kaWZmLWZpbGVzJywgJ3BsYXRmb3JtL2Nocm9t
aXVtLyIKLSAgICAgICAgICAgICsgZmlsZW5hbWUgKyAiJ10sIGN3ZD0vbW9jay1jaGVja291dFxu
IiwgZXhwZWN0ZWRfbG9ncz0iQ29tbWl0dGVkIHI0OTgyNDogPGh0dHA6Ly90cmFjLndlYmtpdC5v
cmcvY2hhbmdlc2V0LzQ5ODI0PlxuIikKKyAgICAgICAgZXhwZWN0ZWRfbG9ncyA9ICIiIk1PQ0sg
cnVuX2FuZF90aHJvd19pZl9mYWlsOiBbJ21vY2stY2hlY2std2Via2l0LXN0eWxlJywgJy0tZGlm
Zi1maWxlcycsICdwbGF0Zm9ybS9jaHJvbWl1bS8lcyddLCBjd2Q9L21vY2stY2hlY2tvdXQKK0Nv
bW1pdHRlZCByNDk4MjQ6IDxodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC80OTgyND4K
KyIiIiAlIGZpbGVuYW1lCisgICAgICAgIGNhcHR1cmUuYXNzZXJ0X291dHB1dHMoc2VsZiwgc3Rl
cC5ydW4sIFtzdGF0ZV0sIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncykKIAogICAgICAgICB0
b29sLmV4ZWN1dGl2ZSA9IE1vY2tFeGVjdXRpdmUoc2hvdWxkX2xvZz1UcnVlLCBzaG91bGRfdGhy
b3dfd2hlbl9ydW49c2V0KFsicGxhdGZvcm0vY2hyb21pdW0vIiArIGZpbGVuYW1lXSkpCiAgICAg
ICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFNjcmlwdEVycm9yLCBjYXB0dXJlLmFzc2VydF9vdXRwdXRz
LCBzZWxmLCBzdGVwLnJ1biwgW3N0YXRlXSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvdG9vbC9zdGVwcy9ydW50ZXN0c191bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvdG9vbC9zdGVwcy9ydW50ZXN0c191bml0dGVzdC5weQppbmRleCAxMjExN2Y3YzcxODJm
M2JjNzUwNThiOTlmNjQxYjQxOWFhMTEyMDFiLi43OGE4NjdiMzZiMDllOGU3Mjc1NjIwYWEyM2Mz
ZGU5ODIxN2Q2Yzg2IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3Rl
cHMvcnVudGVzdHNfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29s
L3N0ZXBzL3J1bnRlc3RzX3VuaXR0ZXN0LnB5CkBAIC0zOCwxMCArMzgsOSBAQCBjbGFzcyBSdW5U
ZXN0c1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICB0b29sLl9kZXByZWNhdGVkX3Bv
cnQucnVuX3B5dGhvbl91bml0dGVzdHNfY29tbWFuZCA9IGxhbWJkYTogTm9uZQogICAgICAgICB0
b29sLl9kZXByZWNhdGVkX3BvcnQucnVuX3BlcmxfdW5pdHRlc3RzX2NvbW1hbmQgPSBsYW1iZGE6
IE5vbmUKICAgICAgICAgc3RlcCA9IFJ1blRlc3RzKHRvb2wsIE1vY2tPcHRpb25zKHRlc3Q9VHJ1
ZSwgbm9uX2ludGVyYWN0aXZlPVRydWUsIHF1aWV0PUZhbHNlKSkKLSAgICAgICAgZXhwZWN0ZWRf
c3RkZXJyID0gIiIiTU9DSyBydW5fYW5kX3Rocm93X2lmX2ZhaWw6IFsnbW9jay1ydW4td2Via2l0
LXVuaXQtdGVzdHMnLCAnLS1ndGVzdF9vdXRwdXQ9eG1sOi9tb2NrLXJlc3VsdHMvd2Via2l0X3Vu
aXRfdGVzdHNfb3V0cHV0LnhtbCddLCBjd2Q9L21vY2stY2hlY2tvdXQKLU1PQ0sgcnVuX2FuZF90
aHJvd19pZl9mYWlsOiBbJ21vY2stcnVuLXdlYmtpdC10ZXN0cycsICctLW5vLW5ldy10ZXN0LXJl
c3VsdHMnLCAnLS1uby1sYXVuY2gtc2FmYXJpJywgJy0tc2tpcC1mYWlsaW5nLXRlc3RzJywgJy0t
ZXhpdC1hZnRlci1uLWZhaWx1cmVzPTMwJywgJy0tcmVzdWx0cy1kaXJlY3Rvcnk9L21vY2stcmVz
dWx0cycsICctLXF1aWV0J10sIGN3ZD0vbW9jay1jaGVja291dAotIiIiCiAgICAgICAgIGV4cGVj
dGVkX2xvZ3MgPSAiIiJSdW5uaW5nIFdlYktpdCB1bml0IHRlc3RzCitNT0NLIHJ1bl9hbmRfdGhy
b3dfaWZfZmFpbDogWydtb2NrLXJ1bi13ZWJraXQtdW5pdC10ZXN0cycsICctLWd0ZXN0X291dHB1
dD14bWw6L21vY2stcmVzdWx0cy93ZWJraXRfdW5pdF90ZXN0c19vdXRwdXQueG1sJ10sIGN3ZD0v
bW9jay1jaGVja291dAogUnVubmluZyBydW4td2Via2l0LXRlc3RzCitNT0NLIHJ1bl9hbmRfdGhy
b3dfaWZfZmFpbDogWydtb2NrLXJ1bi13ZWJraXQtdGVzdHMnLCAnLS1uby1uZXctdGVzdC1yZXN1
bHRzJywgJy0tbm8tbGF1bmNoLXNhZmFyaScsICctLXNraXAtZmFpbGluZy10ZXN0cycsICctLWV4
aXQtYWZ0ZXItbi1mYWlsdXJlcz0zMCcsICctLXJlc3VsdHMtZGlyZWN0b3J5PS9tb2NrLXJlc3Vs
dHMnLCAnLS1xdWlldCddLCBjd2Q9L21vY2stY2hlY2tvdXQKICIiIgotICAgICAgICBPdXRwdXRD
YXB0dXJlKCkuYXNzZXJ0X291dHB1dHMoc2VsZiwgc3RlcC5ydW4sIFt7fV0sIGV4cGVjdGVkX3N0
ZGVycj1leHBlY3RlZF9zdGRlcnIpCisgICAgICAgIE91dHB1dENhcHR1cmUoKS5hc3NlcnRfb3V0
cHV0cyhzZWxmLCBzdGVwLnJ1biwgW3t9XSwgZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzKQpk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3N0ZXBzX3VuaXR0
ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3N0ZXBzX3VuaXR0ZXN0
LnB5CmluZGV4IDMzYjM2MmJmMzA0ZDIwMjJhZDk4MjBiYjliYzM3ZDRjZmZhODMwOTkuLmM0ZWE0
N2I0ZGRmZjVjNmY5ZTFmMWQzNTY3Y2ZlOWU5MDE0MjY0ZDAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9zdGVwc191bml0dGVzdC5weQorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvc3RlcHNfdW5pdHRlc3QucHkKQEAgLTc0LDI2ICs3
NCwyNiBAQCBjbGFzcyBTdGVwc1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBvcHRp
b25zLm9wZW5fYnVnID0gVHJ1ZQogICAgICAgICByZXR1cm4gb3B0aW9ucwogCi0gICAgZGVmIF9h
c3NlcnRfc3RlcF9vdXRwdXRfd2l0aF9idWcoc2VsZiwgc3RlcCwgYnVnX2lkLCBleHBlY3RlZF9z
dGRlcnIsIG9wdGlvbnM9Tm9uZSk6CisgICAgZGVmIF9hc3NlcnRfc3RlcF9vdXRwdXRfd2l0aF9i
dWcoc2VsZiwgc3RlcCwgYnVnX2lkLCBleHBlY3RlZF9sb2dzLCBvcHRpb25zPU5vbmUpOgogICAg
ICAgICBzdGF0ZSA9IHsnYnVnX2lkJzogYnVnX2lkfQotICAgICAgICBPdXRwdXRDYXB0dXJlKCku
YXNzZXJ0X291dHB1dHMoc2VsZiwgc2VsZi5fcnVuX3N0ZXAsIFtzdGVwLCBNb2NrVG9vbCgpLCBv
cHRpb25zLCBzdGF0ZV0sIGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIpCisgICAgICAg
IE91dHB1dENhcHR1cmUoKS5hc3NlcnRfb3V0cHV0cyhzZWxmLCBzZWxmLl9ydW5fc3RlcCwgW3N0
ZXAsIE1vY2tUb29sKCksIG9wdGlvbnMsIHN0YXRlXSwgZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9s
b2dzKQogCi0gICAgZGVmIF9hc3NlcnRfcG9zdF9kaWZmX291dHB1dF9mb3JfYnVnKHNlbGYsIHN0
ZXAsIGJ1Z19pZCwgZXhwZWN0ZWRfc3RkZXJyKToKLSAgICAgICAgc2VsZi5fYXNzZXJ0X3N0ZXBf
b3V0cHV0X3dpdGhfYnVnKHN0ZXAsIGJ1Z19pZCwgZXhwZWN0ZWRfc3RkZXJyLCBzZWxmLl9wb3N0
X2RpZmZfb3B0aW9ucygpKQorICAgIGRlZiBfYXNzZXJ0X3Bvc3RfZGlmZl9vdXRwdXRfZm9yX2J1
ZyhzZWxmLCBzdGVwLCBidWdfaWQsIGV4cGVjdGVkX2xvZ3MpOgorICAgICAgICBzZWxmLl9hc3Nl
cnRfc3RlcF9vdXRwdXRfd2l0aF9idWcoc3RlcCwgYnVnX2lkLCBleHBlY3RlZF9sb2dzLCBzZWxm
Ll9wb3N0X2RpZmZfb3B0aW9ucygpKQogCiAgICAgZGVmIHRlc3RfcG9zdF9kaWZmKHNlbGYpOgot
ICAgICAgICBleHBlY3RlZF9zdGRlcnIgPSAiTU9DSyBhZGRfcGF0Y2hfdG9fYnVnOiBidWdfaWQ9
NzgsIGRlc2NyaXB0aW9uPVBhdGNoLCBtYXJrX2Zvcl9yZXZpZXc9VHJ1ZSwgbWFya19mb3JfY29t
bWl0X3F1ZXVlPUZhbHNlLCBtYXJrX2Zvcl9sYW5kaW5nPUZhbHNlXG5NT0NLOiB1c2VyLm9wZW5f
dXJsOiBodHRwOi8vZXhhbXBsZS5jb20vNzhcbiIKLSAgICAgICAgc2VsZi5fYXNzZXJ0X3Bvc3Rf
ZGlmZl9vdXRwdXRfZm9yX2J1ZyhzdGVwcy5Qb3N0RGlmZiwgNzgsIGV4cGVjdGVkX3N0ZGVycikK
KyAgICAgICAgZXhwZWN0ZWRfbG9ncyA9ICJNT0NLIGFkZF9wYXRjaF90b19idWc6IGJ1Z19pZD03
OCwgZGVzY3JpcHRpb249UGF0Y2gsIG1hcmtfZm9yX3Jldmlldz1UcnVlLCBtYXJrX2Zvcl9jb21t
aXRfcXVldWU9RmFsc2UsIG1hcmtfZm9yX2xhbmRpbmc9RmFsc2Vcbk1PQ0s6IHVzZXIub3Blbl91
cmw6IGh0dHA6Ly9leGFtcGxlLmNvbS83OFxuIgorICAgICAgICBzZWxmLl9hc3NlcnRfcG9zdF9k
aWZmX291dHB1dF9mb3JfYnVnKHN0ZXBzLlBvc3REaWZmLCA3OCwgZXhwZWN0ZWRfbG9ncykKIAog
ICAgIGRlZiB0ZXN0X3Bvc3RfZGlmZl9mb3JfY29tbWl0KHNlbGYpOgotICAgICAgICBleHBlY3Rl
ZF9zdGRlcnIgPSAiTU9DSyBhZGRfcGF0Y2hfdG9fYnVnOiBidWdfaWQ9NzgsIGRlc2NyaXB0aW9u
PVBhdGNoIGZvciBsYW5kaW5nLCBtYXJrX2Zvcl9yZXZpZXc9RmFsc2UsIG1hcmtfZm9yX2NvbW1p
dF9xdWV1ZT1GYWxzZSwgbWFya19mb3JfbGFuZGluZz1UcnVlXG4iCi0gICAgICAgIHNlbGYuX2Fz
c2VydF9wb3N0X2RpZmZfb3V0cHV0X2Zvcl9idWcoc3RlcHMuUG9zdERpZmZGb3JDb21taXQsIDc4
LCBleHBlY3RlZF9zdGRlcnIpCisgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAiTU9DSyBhZGRfcGF0
Y2hfdG9fYnVnOiBidWdfaWQ9NzgsIGRlc2NyaXB0aW9uPVBhdGNoIGZvciBsYW5kaW5nLCBtYXJr
X2Zvcl9yZXZpZXc9RmFsc2UsIG1hcmtfZm9yX2NvbW1pdF9xdWV1ZT1GYWxzZSwgbWFya19mb3Jf
bGFuZGluZz1UcnVlXG4iCisgICAgICAgIHNlbGYuX2Fzc2VydF9wb3N0X2RpZmZfb3V0cHV0X2Zv
cl9idWcoc3RlcHMuUG9zdERpZmZGb3JDb21taXQsIDc4LCBleHBlY3RlZF9sb2dzKQogCiAgICAg
ZGVmIHRlc3RfZW5zdXJlX2J1Z19pc19vcGVuX2FuZF9hc3NpZ25lZChzZWxmKToKLSAgICAgICAg
ZXhwZWN0ZWRfc3RkZXJyID0gIk1PQ0sgcmVvcGVuX2J1ZyA1MDAwNCB3aXRoIGNvbW1lbnQgJ1Jl
b3BlbmluZyB0byBhdHRhY2ggbmV3IHBhdGNoLidcbiIKLSAgICAgICAgc2VsZi5fYXNzZXJ0X3N0
ZXBfb3V0cHV0X3dpdGhfYnVnKHN0ZXBzLkVuc3VyZUJ1Z0lzT3BlbkFuZEFzc2lnbmVkLCA1MDAw
NCwgZXhwZWN0ZWRfc3RkZXJyKQotICAgICAgICBleHBlY3RlZF9zdGRlcnIgPSAiTU9DSyByZWFz
c2lnbl9idWc6IGJ1Z19pZD01MDAwMiwgYXNzaWduZWU9Tm9uZVxuIgotICAgICAgICBzZWxmLl9h
c3NlcnRfc3RlcF9vdXRwdXRfd2l0aF9idWcoc3RlcHMuRW5zdXJlQnVnSXNPcGVuQW5kQXNzaWdu
ZWQsIDUwMDAyLCBleHBlY3RlZF9zdGRlcnIpCisgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAiTU9D
SyByZW9wZW5fYnVnIDUwMDA0IHdpdGggY29tbWVudCAnUmVvcGVuaW5nIHRvIGF0dGFjaCBuZXcg
cGF0Y2guJ1xuIgorICAgICAgICBzZWxmLl9hc3NlcnRfc3RlcF9vdXRwdXRfd2l0aF9idWcoc3Rl
cHMuRW5zdXJlQnVnSXNPcGVuQW5kQXNzaWduZWQsIDUwMDA0LCBleHBlY3RlZF9sb2dzKQorICAg
ICAgICBleHBlY3RlZF9sb2dzID0gIk1PQ0sgcmVhc3NpZ25fYnVnOiBidWdfaWQ9NTAwMDIsIGFz
c2lnbmVlPU5vbmVcbiIKKyAgICAgICAgc2VsZi5fYXNzZXJ0X3N0ZXBfb3V0cHV0X3dpdGhfYnVn
KHN0ZXBzLkVuc3VyZUJ1Z0lzT3BlbkFuZEFzc2lnbmVkLCA1MDAwMiwgZXhwZWN0ZWRfbG9ncykK
IAogICAgIGRlZiB0ZXN0X3J1bnRlc3RzX2FyZ3Moc2VsZik6CiAgICAgICAgIG1vY2tfb3B0aW9u
cyA9IHNlbGYuX3N0ZXBfb3B0aW9ucygpCkBAIC0xMDQsMTQgKzEwNCwxMyBAQCBjbGFzcyBTdGVw
c1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICB0b29sID0gTW9ja1Rvb2wobG9nX2V4
ZWN1dGl2ZT1UcnVlKQogICAgICAgICB0b29sLnBvcnQgPSBsYW1iZGE6IG1vY2tfcG9ydAogICAg
ICAgICBzdGVwID0gc3RlcHMuUnVuVGVzdHModG9vbCwgbW9ja19vcHRpb25zKQotICAgICAgICBl
eHBlY3RlZF9zdGRlcnIgPSAiIiJNT0NLIHJ1bl9hbmRfdGhyb3dfaWZfZmFpbDogWydUb29scy9T
Y3JpcHRzL3Rlc3Qtd2Via2l0cHknXSwgY3dkPS9tb2NrLWNoZWNrb3V0Ci1NT0NLIHJ1bl9hbmRf
dGhyb3dfaWZfZmFpbDogWydUb29scy9TY3JpcHRzL3Rlc3Qtd2Via2l0cGVybCddLCBjd2Q9L21v
Y2stY2hlY2tvdXQKLU1PQ0sgcnVuX2FuZF90aHJvd19pZl9mYWlsOiBbJ1Rvb2xzL1NjcmlwdHMv
cnVuLWphdmFzY3JpcHRjb3JlLXRlc3RzJ10sIGN3ZD0vbW9jay1jaGVja291dAotTU9DSyBydW5f
YW5kX3Rocm93X2lmX2ZhaWw6IFsnVG9vbHMvU2NyaXB0cy9ydW4td2Via2l0LXRlc3RzJywgJy0t
cXVpZXQnXSwgY3dkPS9tb2NrLWNoZWNrb3V0Ci0iIiIKICAgICAgICAgZXhwZWN0ZWRfbG9ncyA9
ICIiIlJ1bm5pbmcgUHl0aG9uIHVuaXQgdGVzdHMKK01PQ0sgcnVuX2FuZF90aHJvd19pZl9mYWls
OiBbJ1Rvb2xzL1NjcmlwdHMvdGVzdC13ZWJraXRweSddLCBjd2Q9L21vY2stY2hlY2tvdXQKIFJ1
bm5pbmcgUGVybCB1bml0IHRlc3RzCitNT0NLIHJ1bl9hbmRfdGhyb3dfaWZfZmFpbDogWydUb29s
cy9TY3JpcHRzL3Rlc3Qtd2Via2l0cGVybCddLCBjd2Q9L21vY2stY2hlY2tvdXQKIFJ1bm5pbmcg
SmF2YVNjcmlwdENvcmUgdGVzdHMKK01PQ0sgcnVuX2FuZF90aHJvd19pZl9mYWlsOiBbJ1Rvb2xz
L1NjcmlwdHMvcnVuLWphdmFzY3JpcHRjb3JlLXRlc3RzJ10sIGN3ZD0vbW9jay1jaGVja291dAog
UnVubmluZyBydW4td2Via2l0LXRlc3RzCitNT0NLIHJ1bl9hbmRfdGhyb3dfaWZfZmFpbDogWydU
b29scy9TY3JpcHRzL3J1bi13ZWJraXQtdGVzdHMnLCAnLS1xdWlldCddLCBjd2Q9L21vY2stY2hl
Y2tvdXQKICIiIgotICAgICAgICBPdXRwdXRDYXB0dXJlKCkuYXNzZXJ0X291dHB1dHMoc2VsZiwg
c3RlcC5ydW4sIFt7fV0sIGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIsIGV4cGVjdGVk
X2xvZ3M9ZXhwZWN0ZWRfbG9ncykKKyAgICAgICAgT3V0cHV0Q2FwdHVyZSgpLmFzc2VydF9vdXRw
dXRzKHNlbGYsIHN0ZXAucnVuLCBbe31dLCBleHBlY3RlZF9sb2dzPWV4cGVjdGVkX2xvZ3MpCmRp
ZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvc3VnZ2VzdHJldmll
d2Vyc191bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9zdWdn
ZXN0cmV2aWV3ZXJzX3VuaXR0ZXN0LnB5CmluZGV4IGU5OTU2NjMyNmJmMzk4YzYwYTQ2NDZhOWYy
YjEwNzQ1Mzc2MjRjZDUuLjQyMjU0Yzg2YmQ5NmZhZTZkMTllODllNWJmMzA4YWY2ZWYwMGMzYTIg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9zdWdnZXN0cmV2
aWV3ZXJzX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVw
cy9zdWdnZXN0cmV2aWV3ZXJzX3VuaXR0ZXN0LnB5CkBAIC00Miw1ICs0Miw1IEBAIGNsYXNzIFN1
Z2dlc3RSZXZpZXdlcnNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgY2FwdHVyZSA9
IE91dHB1dENhcHR1cmUoKQogICAgICAgICBzdGVwID0gU3VnZ2VzdFJldmlld2VycyhNb2NrVG9v
bCgpLCBNb2NrT3B0aW9ucyhzdWdnZXN0X3Jldmlld2Vycz1UcnVlLCBnaXRfY29tbWl0PU5vbmUp
KQogICAgICAgICBleHBlY3RlZF9zdGRvdXQgPSAiVGhlIGZvbGxvd2luZyByZXZpZXdlcnMgaGF2
ZSByZWNlbnRseSBtb2RpZmllZCBmaWxlcyBpbiB5b3VyIHBhdGNoOlxuRm9vIEJhclxuIgotICAg
ICAgICBleHBlY3RlZF9zdGRlcnIgPSAiV291bGQgeW91IGxpa2UgdG8gQ0MgdGhlbT9cbiIKLSAg
ICAgICAgY2FwdHVyZS5hc3NlcnRfb3V0cHV0cyhzZWxmLCBzdGVwLnJ1biwgW3siYnVnX2lkIjog
IjEyMyJ9XSwgZXhwZWN0ZWRfc3Rkb3V0PWV4cGVjdGVkX3N0ZG91dCwgZXhwZWN0ZWRfc3RkZXJy
PWV4cGVjdGVkX3N0ZGVycikKKyAgICAgICAgZXhwZWN0ZWRfbG9ncyA9ICJXb3VsZCB5b3UgbGlr
ZSB0byBDQyB0aGVtP1xuIgorICAgICAgICBjYXB0dXJlLmFzc2VydF9vdXRwdXRzKHNlbGYsIHN0
ZXAucnVuLCBbeyJidWdfaWQiOiAiMTIzIn1dLCBleHBlY3RlZF9zdGRvdXQ9ZXhwZWN0ZWRfc3Rk
b3V0LCBleHBlY3RlZF9sb2dzPWV4cGVjdGVkX2xvZ3MpCmRpZmYgLS1naXQgYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvdmFsaWRhdGVjaGFuZ2Vsb2dzX3VuaXR0ZXN0LnB5IGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3ZhbGlkYXRlY2hhbmdlbG9nc191bml0
dGVzdC5weQppbmRleCA2Nzk5Y2I0YjZmNWI0YmQ1ODZhNTE1YTQ2ODNkYWU0ODliMzY3M2VmLi5j
M2I3MjNlZDE3MjhlZWFlZTZmYjFkNjBkYTNiYTY3ZTc3MTcwZjRiIDEwMDY0NAotLS0gYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvdmFsaWRhdGVjaGFuZ2Vsb2dzX3VuaXR0ZXN0
LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy92YWxpZGF0ZWNoYW5n
ZWxvZ3NfdW5pdHRlc3QucHkKQEAgLTQ1LDkgKzQ1LDggQEAgY2xhc3MgVmFsaWRhdGVDaGFuZ2VM
b2dzVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIGRpZmZfZmlsZS5saW5lcyA9IFso
c3RhcnRfbGluZSwgc3RhcnRfbGluZSwgImZvbyIpXQogICAgICAgICBleHBlY3RlZF9zdGRvdXQg
PSBleHBlY3RlZF9zdGRlcnIgPSBleHBlY3RlZF9sb2dzID0gIiIKICAgICAgICAgaWYgc2hvdWxk
X2ZhaWwgYW5kIG5vdCBub25faW50ZXJhY3RpdmU6Ci0gICAgICAgICAgICBleHBlY3RlZF9zdGRl
cnIgPSAiT0sgdG8gY29udGludWU/XG4iCi0gICAgICAgICAgICBleHBlY3RlZF9sb2dzID0gIlRo
ZSBkaWZmIHRvIG1vY2svQ2hhbmdlTG9nIGxvb2tzIHdyb25nLiBBcmUgeW91IHN1cmUgeW91ciBD
aGFuZ2VMb2cgZW50cnkgaXMgYXQgdGhlIHRvcCBvZiB0aGUgZmlsZT9cbiIKLSAgICAgICAgcmVz
dWx0ID0gT3V0cHV0Q2FwdHVyZSgpLmFzc2VydF9vdXRwdXRzKHNlbGYsIHN0ZXAuX2NoZWNrX2No
YW5nZWxvZ19kaWZmLCBbZGlmZl9maWxlXSwgZXhwZWN0ZWRfc3RkZXJyPWV4cGVjdGVkX3N0ZGVy
ciwgZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzKQorICAgICAgICAgICAgZXhwZWN0ZWRfbG9n
cyA9ICJUaGUgZGlmZiB0byBtb2NrL0NoYW5nZUxvZyBsb29rcyB3cm9uZy4gQXJlIHlvdSBzdXJl
IHlvdXIgQ2hhbmdlTG9nIGVudHJ5IGlzIGF0IHRoZSB0b3Agb2YgdGhlIGZpbGU/XG5PSyB0byBj
b250aW51ZT9cbiIKKyAgICAgICAgcmVzdWx0ID0gT3V0cHV0Q2FwdHVyZSgpLmFzc2VydF9vdXRw
dXRzKHNlbGYsIHN0ZXAuX2NoZWNrX2NoYW5nZWxvZ19kaWZmLCBbZGlmZl9maWxlXSwgZXhwZWN0
ZWRfbG9ncz1leHBlY3RlZF9sb2dzKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG5vdCByZXN1
bHQsIHNob3VsZF9mYWlsKQogCiAgICAgZGVmIHRlc3RfY2hlY2tfY2hhbmdlbG9nX2RpZmYoc2Vs
Zik6Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>