<?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>65444</bug_id>
          
          <creation_ts>2011-07-31 21:27:25 -0700</creation_ts>
          <short_desc>Teach TestExpectationSerializer about parsed expectations.</short_desc>
          <delta_ts>2011-08-01 15:22:46 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>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>
          <dependson>65413</dependson>
          <blocked>64385</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dimitri Glazkov (Google)">dglazkov</reporter>
          <assigned_to name="Dimitri Glazkov (Google)">dglazkov</assigned_to>
          <cc>abarth</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>444510</commentid>
    <comment_count>0</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-07-31 21:27:25 -0700</bug_when>
    <thetext>Teach TestExpectationSerializer about parsed expectations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444511</commentid>
    <comment_count>1</comment_count>
      <attachid>102475</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-07-31 21:29:04 -0700</bug_when>
    <thetext>Created attachment 102475
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444901</commentid>
    <comment_count>2</comment_count>
      <attachid>102563</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-08-01 14:59:50 -0700</bug_when>
    <thetext>Created attachment 102563
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444921</commentid>
    <comment_count>3</comment_count>
      <attachid>102563</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-01 15:22:41 -0700</bug_when>
    <thetext>Comment on attachment 102563
Patch

Clearing flags on attachment: 102563

Committed r92147: &lt;http://trac.webkit.org/changeset/92147&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444922</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-01 15:22:46 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>102475</attachid>
            <date>2011-07-31 21:29:04 -0700</date>
            <delta_ts>2011-08-01 14:59:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65444-20110731212903.patch</filename>
            <type>text/plain</type>
            <size>16512</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTIwODMKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCBlOWFhOWQyMTYxYTJkMWNhYzM0MTM3MmJkNTQ4YTc5NGNi
NzgwZGI1Li45NTk4YTJlMGRmYTkzYTZhNjBhZTUzNjA0NDVjMmJmYmE5ODZhMmIxIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUg
QEAKKzIwMTEtMDctMzEgIERpbWl0cmkgR2xhemtvdiAgPGRnbGF6a292QGNocm9taXVtLm9yZz4K
KworICAgICAgICBUZWFjaCBUZXN0RXhwZWN0YXRpb25TZXJpYWxpemVyIGFib3V0IHBhcnNlZCBl
eHBlY3RhdGlvbnMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD02NTQ0NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfY29uZmlndXJh
dGlvbi5weToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9tb2RlbHMv
dGVzdF9jb25maWd1cmF0aW9uX3VuaXR0ZXN0LnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2V4cGVjdGF0aW9ucy5weToKKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9leHBlY3RhdGlvbnNfdW5p
dHRlc3QucHk6CisKIDIwMTEtMDctMzAgIERpbWl0cmkgR2xhemtvdiAgPGRnbGF6a292QGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBJbnRyb2R1Y2UgU3BlY2lmaWVyU29ydGVyLCBhIHRoaW5nIHRo
YXQga25vd3MgaG93IHNwZWNpZmllcnMgc2hvdWxkIGJlIG9yZGVyZWQuCmRpZmYgLS1naXQgYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9jb25maWd1cmF0
aW9uLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3Rf
Y29uZmlndXJhdGlvbi5weQppbmRleCA2NmUwOWQxYWIyYzc1MmQ5YmM2ZjAzOTQyM2I3MmExZDE5
ZDIzMThiLi4yNWNhOWIwOWE5NDI1Zjc4Yjg0ZDZmNjk4OWI2NTk2MWY1NTZlMTE4IDEwMDY0NAot
LS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9jb25m
aWd1cmF0aW9uLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21v
ZGVscy90ZXN0X2NvbmZpZ3VyYXRpb24ucHkKQEAgLTc0LDE1ICs3NCwxOCBAQCBjbGFzcyBTcGVj
aWZpZXJTb3J0ZXI6CiAgICAgICAgICAgICBmb3IgY2F0ZWdvcnksIHNwZWNpZmllciBpbiB0ZXN0
X2NvbmZpZ3VyYXRpb24uaXRlbXMoKToKICAgICAgICAgICAgICAgICBzZWxmLmFkZF9zcGVjaWZp
ZXIoY2F0ZWdvcnksIHNwZWNpZmllcikKIAorICAgICAgICBzZWxmLmFkZF9tYWNyb3MobWFjcm9z
KQorCisgICAgZGVmIGFkZF9zcGVjaWZpZXIoc2VsZiwgY2F0ZWdvcnksIHNwZWNpZmllcik6Cisg
ICAgICAgIHNlbGYuX3NwZWNpZmllcl90b19jYXRlZ29yeVtzcGVjaWZpZXJdID0gY2F0ZWdvcnkK
KworICAgIGRlZiBhZGRfbWFjcm9zKHNlbGYsIG1hY3Jvcyk6CiAgICAgICAgIGlmIG5vdCBtYWNy
b3M6CiAgICAgICAgICAgICByZXR1cm4KICAgICAgICAgIyBBc3N1bWUgd2VsbC1mb3JtZWQgbWFj
cm9zLgogICAgICAgICBmb3IgbWFjcm8sIHNwZWNpZmllcl9saXN0IGluIG1hY3Jvcy5pdGVtcygp
OgogICAgICAgICAgICAgc2VsZi5hZGRfc3BlY2lmaWVyKHNlbGYuY2F0ZWdvcnlfZm9yX3NwZWNp
ZmllcihzcGVjaWZpZXJfbGlzdFswXSksIG1hY3JvKQogCi0gICAgZGVmIGFkZF9zcGVjaWZpZXIo
c2VsZiwgY2F0ZWdvcnksIHNwZWNpZmllcik6Ci0gICAgICAgIHNlbGYuX3NwZWNpZmllcl90b19j
YXRlZ29yeVtzcGVjaWZpZXJdID0gY2F0ZWdvcnkKLQogICAgIEBjbGFzc21ldGhvZAogICAgIGRl
ZiBjYXRlZ29yeV9wcmlvcml0eShjbHMsIGNhdGVnb3J5KToKICAgICAgICAgcmV0dXJuIFRlc3RD
b25maWd1cmF0aW9uLmNhdGVnb3J5X29yZGVyKCkuaW5kZXgoY2F0ZWdvcnkpCkBAIC0xMzUsNiAr
MTM4LDExIEBAIGNsYXNzIFRlc3RDb25maWd1cmF0aW9uQ29udmVydGVyOgogICAgICAgICAgICAg
ICAgIGlmIGxlbihzZXRfYnlfY2F0ZWdvcnkpID09IDEgYW5kIHNlbGYuX3NwZWNpZmllcl9zb3J0
ZXIuY2F0ZWdvcnlfcHJpb3JpdHkoY2F0ZWdvcnkpID4gc2VsZi5fc3BlY2lmaWVyX3NvcnRlci5z
cGVjaWZpZXJfcHJpb3JpdHkoc3BlY2lmaWVyKToKICAgICAgICAgICAgICAgICAgICAgc2VsZi5f
anVua19zcGVjaWZpZXJfY29tYmluYXRpb25zW3NwZWNpZmllcl0gPSBzZXRfYnlfY2F0ZWdvcnkK
IAorICAgICAgICBzZWxmLl9zcGVjaWZpZXJfc29ydGVyLmFkZF9tYWNyb3MoY29uZmlndXJhdGlv
bl9tYWNyb3MpCisKKyAgICBkZWYgc3BlY2lmaWVyX3NvcnRlcihzZWxmKToKKyAgICAgICAgcmV0
dXJuIHNlbGYuX3NwZWNpZmllcl9zb3J0ZXIKKwogICAgIGRlZiBfZXhwYW5kX21hY3JvcyhzZWxm
LCBzcGVjaWZpZXIpOgogICAgICAgICBleHBhbmRlZF9zcGVjaWZpZXJzID0gc2VsZi5fY29uZmln
dXJhdGlvbl9tYWNyb3MuZ2V0KHNwZWNpZmllcikKICAgICAgICAgcmV0dXJuIGV4cGFuZGVkX3Nw
ZWNpZmllcnMgb3IgW3NwZWNpZmllcl0KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2NvbmZpZ3VyYXRpb25fdW5pdHRlc3QucHkgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9jb25maWd1cmF0
aW9uX3VuaXR0ZXN0LnB5CmluZGV4IDAxMGRlODI3N2IzMjFlN2ZiNTg1NDY4ZGY4MTE2ODAxOTE2
YmIyMjYuLjIxYmQ4NGViZGU5ZDFhMjI3MGNjMGE0YzVkMzhmMmRlZTU4ZmZhMjkgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2NvbmZp
Z3VyYXRpb25fdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvbW9kZWxzL3Rlc3RfY29uZmlndXJhdGlvbl91bml0dGVzdC5weQpAQCAtMTMwLDYgKzEz
MCwxMyBAQCBjbGFzcyBTcGVjaWZpZXJTb3J0ZXJUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoc29ydGVyLmNhdGVnb3J5X2Zvcl9zcGVjaWZpZXIoJ29u
ZScpLCAndmVyc2lvbicpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHNvcnRlci5jYXRlZ29y
eV9mb3Jfc3BlY2lmaWVyKCdyZW5haXNzYW5jZScpLCAnYXJjaGl0ZWN0dXJlJykKIAorICAgIGRl
ZiB0ZXN0X2FkZF9tYWNyb3Moc2VsZik6CisgICAgICAgIHNvcnRlciA9IFNwZWNpZmllclNvcnRl
cihzZWxmLl9hbGxfdGVzdF9jb25maWd1cmF0aW9ucykKKyAgICAgICAgc29ydGVyLmFkZF9tYWNy
b3MoTU9DS19NQUNST1MpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHNvcnRlci5jYXRlZ29y
eV9mb3Jfc3BlY2lmaWVyKCdtYWMnKSwgJ3ZlcnNpb24nKQorICAgICAgICBzZWxmLmFzc2VydEVx
dWFscyhzb3J0ZXIuY2F0ZWdvcnlfZm9yX3NwZWNpZmllcignd2luJyksICd2ZXJzaW9uJykKKyAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoc29ydGVyLmNhdGVnb3J5X2Zvcl9zcGVjaWZpZXIoJ3g4
NicpLCAnYXJjaGl0ZWN0dXJlJykKKwogICAgIGRlZiB0ZXN0X2NhdGVnb3J5X3ByaW9yaXR5KHNl
bGYpOgogICAgICAgICBzb3J0ZXIgPSBTcGVjaWZpZXJTb3J0ZXIoc2VsZi5fYWxsX3Rlc3RfY29u
ZmlndXJhdGlvbnMpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHNvcnRlci5jYXRlZ29yeV9w
cmlvcml0eSgndmVyc2lvbicpLCAwKQpAQCAtMzU4LDMgKzM2NSw4IEBAIGNsYXNzIFRlc3RDb25m
aWd1cmF0aW9uQ29udmVydGVyVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICAgICBU
ZXN0Q29uZmlndXJhdGlvbihOb25lLCAnc25vd2xlb3BhcmQnLCAneDg2JywgJ3JlbGVhc2UnLCAn
Z3B1JyksCiAgICAgICAgIF0pCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKGNvbnZlcnRlci50
b19zcGVjaWZpZXJzX2xpc3QoY29uZmlnc190b19tYXRjaCksIFtzZXQoWyd3aW4nLCAnbWFjJywg
J3JlbGVhc2UnLCAnZ3B1J10pXSkKKworICAgIGRlZiB0ZXN0X3NwZWNpZmllcl9jb252ZXJ0ZXJf
YWNjZXNzKHNlbGYpOgorICAgICAgICBzcGVjaWZpZXJfc29ydGVyID0gVGVzdENvbmZpZ3VyYXRp
b25Db252ZXJ0ZXIoc2VsZi5fYWxsX3Rlc3RfY29uZmlndXJhdGlvbnMsIE1PQ0tfTUFDUk9TKS5z
cGVjaWZpZXJfc29ydGVyKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoc3BlY2lmaWVyX3Nv
cnRlci5jYXRlZ29yeV9mb3Jfc3BlY2lmaWVyKCdzbm93bGVvcGFyZCcpLCAndmVyc2lvbicpCisg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHNwZWNpZmllcl9zb3J0ZXIuY2F0ZWdvcnlfZm9yX3Nw
ZWNpZmllcignbWFjJyksICd2ZXJzaW9uJykKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2V4cGVjdGF0aW9ucy5weSBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2V4cGVjdGF0aW9ucy5weQpp
bmRleCAyMTc0MjJlMGI2NzI1YjEyY2ZjMGQ2ZTZjNDQ0YmMyY2ZiMmJkZGRjLi42ZDA2ZTA3OTg3
Y2Y0ZDlhYjNhYTgyNTZmNmQwMmNiZmFjMDYzOWFjIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9leHBlY3RhdGlvbnMucHkKKysrIGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfZXhwZWN0YXRp
b25zLnB5CkBAIC01Miw5ICs1Miw2IEBAIF9sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVf
XykKIChQQVNTLCBGQUlMLCBURVhULCBJTUFHRSwgSU1BR0VfUExVU19URVhULCBBVURJTywgVElN
RU9VVCwgQ1JBU0gsIFNLSVAsIFdPTlRGSVgsCiAgU0xPVywgUkVCQVNFTElORSwgTUlTU0lORywg
RkxBS1ksIE5PVywgTk9ORSkgPSByYW5nZSgxNikKIAotIyBUZXN0IGV4cGVjdGF0aW9uIGZpbGUg
dXBkYXRlIGFjdGlvbiBjb25zdGFudHMKLShOT19DSEFOR0UsIFJFTU9WRV9URVNULCBSRU1PVkVf
UExBVEZPUk0sIEFERF9QTEFURk9STVNfRVhDRVBUX1RISVMpID0gcmFuZ2UoNCkKLQogCiBkZWYg
cmVzdWx0X3dhc19leHBlY3RlZChyZXN1bHQsIGV4cGVjdGVkX3Jlc3VsdHMsIHRlc3RfbmVlZHNf
cmViYXNlbGluaW5nLCB0ZXN0X2lzX3NraXBwZWQpOgogICAgICIiIlJldHVybnMgd2hldGhlciB3
ZSBnb3QgYSByZXN1bHQgd2Ugd2VyZSBleHBlY3RpbmcuCkBAIC0xMjQsMjYgKzEyMSw0NCBAQCBj
bGFzcyBQYXJzZUVycm9yKEV4Y2VwdGlvbik6CiAKIGNsYXNzIFRlc3RFeHBlY3RhdGlvblNlcmlh
bGl6ZXI6CiAgICAgIiIiUHJvdmlkZXMgbWVhbnMgb2Ygc2VyaWFsaXppbmcgVGVzdEV4cGVjdGF0
aW9uTGluZSBpbnN0YW5jZXMuIiIiCi0gICAgQGNsYXNzbWV0aG9kCi0gICAgZGVmIHRvX3N0cmlu
ZyhjbHMsIGV4cGVjdGF0aW9uKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgdGVzdF9jb25maWd1
cmF0aW9uX2NvbnZlcnRlcik6CisgICAgICAgIHNlbGYuX3Rlc3RfY29uZmlndXJhdGlvbl9jb252
ZXJ0ZXIgPSB0ZXN0X2NvbmZpZ3VyYXRpb25fY29udmVydGVyCisKKyAgICBkZWYgdG9fc3RyaW5n
KHNlbGYsIGV4cGVjdGF0aW9uX2xpbmUpOgorICAgICAgICBpZiBleHBlY3RhdGlvbl9saW5lLmlz
X21hbGZvcm1lZCgpOgorICAgICAgICAgICAgcmV0dXJuIGV4cGVjdGF0aW9uX2xpbmUub3JpZ2lu
YWxfc3RyaW5nIG9yICcnCisKICAgICAgICAgcmVzdWx0ID0gW10KLSAgICAgICAgaWYgZXhwZWN0
YXRpb24uaXNfbWFsZm9ybWVkKCk6Ci0gICAgICAgICAgICByZXN1bHQuYXBwZW5kKGV4cGVjdGF0
aW9uLmNvbW1lbnQpCisgICAgICAgIGlmIGV4cGVjdGF0aW9uX2xpbmUubmFtZSBpcyBOb25lOgor
ICAgICAgICAgICAgaWYgZXhwZWN0YXRpb25fbGluZS5jb21tZW50IGlzIG5vdCBOb25lOgorICAg
ICAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoJy8vJykKKyAgICAgICAgICAgICAgICByZXN1bHQu
YXBwZW5kKGV4cGVjdGF0aW9uX2xpbmUuY29tbWVudCkKICAgICAgICAgZWxzZToKLSAgICAgICAg
ICAgIGlmIGV4cGVjdGF0aW9uLm5hbWUgaXMgTm9uZToKLSAgICAgICAgICAgICAgICBpZiBleHBl
Y3RhdGlvbi5jb21tZW50IGlzIG5vdCBOb25lOgotICAgICAgICAgICAgICAgICAgICByZXN1bHQu
YXBwZW5kKCcvLycpCi0gICAgICAgICAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoZXhwZWN0YXRp
b24uY29tbWVudCkKKyAgICAgICAgICAgIGlmIGV4cGVjdGF0aW9uX2xpbmUucGFyc2VkX2J1Z19t
b2RpZmllcjoKKyAgICAgICAgICAgICAgICBtb2RpZmllcnMgPSBzZWxmLmdldF9wYXJzZWRfbW9k
aWZpZXJfc3RyaW5nKGV4cGVjdGF0aW9uX2xpbmUpCisgICAgICAgICAgICAgICAgZXhwZWN0YXRp
b25zID0gc2VsZi5nZXRfcGFyc2VkX2V4cGVjdGF0aW9uc19zdHJpbmcoZXhwZWN0YXRpb25fbGlu
ZSkKICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCgiJXMg
OiAlcyA9ICVzIiAlICgiICIuam9pbihleHBlY3RhdGlvbi5tb2RpZmllcnMpLnVwcGVyKCksIGV4
cGVjdGF0aW9uLm5hbWUsICIgIi5qb2luKGV4cGVjdGF0aW9uLmV4cGVjdGF0aW9ucykudXBwZXIo
KSkpCi0gICAgICAgICAgICAgICAgaWYgZXhwZWN0YXRpb24uY29tbWVudCBpcyBub3QgTm9uZToK
LSAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCgiIC8vJXMiICUgKGV4cGVjdGF0aW9u
LmNvbW1lbnQpKQorICAgICAgICAgICAgICAgIG1vZGlmaWVycyA9ICIgIi5qb2luKGV4cGVjdGF0
aW9uX2xpbmUubW9kaWZpZXJzKQorICAgICAgICAgICAgICAgIGV4cGVjdGF0aW9ucyA9ICIgIi5q
b2luKGV4cGVjdGF0aW9uX2xpbmUuZXhwZWN0YXRpb25zKQorICAgICAgICAgICAgcmVzdWx0LmFw
cGVuZCgiJXMgOiAlcyA9ICVzIiAlIChtb2RpZmllcnMudXBwZXIoKSwgZXhwZWN0YXRpb25fbGlu
ZS5uYW1lLCBleHBlY3RhdGlvbnMudXBwZXIoKSkpCisgICAgICAgICAgICBpZiBleHBlY3RhdGlv
bl9saW5lLmNvbW1lbnQgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgcmVzdWx0LmFwcGVu
ZCgiIC8vJXMiICUgKGV4cGVjdGF0aW9uX2xpbmUuY29tbWVudCkpCiAKICAgICAgICAgcmV0dXJu
ICcnLmpvaW4ocmVzdWx0KQogCisgICAgZGVmIGdldF9wYXJzZWRfbW9kaWZpZXJfc3RyaW5nKHNl
bGYsIGV4cGVjdGF0aW9uX2xpbmUpOgorICAgICAgICByZXN1bHQgPSBbXQorICAgICAgICByZXN1
bHQuYXBwZW5kKGV4cGVjdGF0aW9uX2xpbmUucGFyc2VkX2J1Z19tb2RpZmllcikKKyAgICAgICAg
cmVzdWx0LmV4dGVuZChleHBlY3RhdGlvbl9saW5lLnBhcnNlZF9tb2RpZmllcnMpCisgICAgICAg
IHJldHVybiAnICcuam9pbihyZXN1bHQpCisKKyAgICBkZWYgZ2V0X3BhcnNlZF9leHBlY3RhdGlv
bnNfc3RyaW5nKHNlbGYsIGV4cGVjdGF0aW9uX2xpbmUpOgorICAgICAgICByZXR1cm4gJ2Zvb29v
JworCiAgICAgQGNsYXNzbWV0aG9kCi0gICAgZGVmIGxpc3RfdG9fc3RyaW5nKGNscywgZXhwZWN0
YXRpb25zKToKLSAgICAgICAgcmV0dXJuICJcbiIuam9pbihbVGVzdEV4cGVjdGF0aW9uU2VyaWFs
aXplci50b19zdHJpbmcoZXhwZWN0YXRpb24pIGZvciBleHBlY3RhdGlvbiBpbiBleHBlY3RhdGlv
bnNdKQorICAgIGRlZiBsaXN0X3RvX3N0cmluZyhjbHMsIGV4cGVjdGF0aW9ucywgdGVzdF9jb25m
aWd1cmF0aW9uX2NvbnZlcnRlcik6CisgICAgICAgIHNlcmlhbGl6ZXIgPSBjbHModGVzdF9jb25m
aWd1cmF0aW9uX2NvbnZlcnRlcikKKyAgICAgICAgcmV0dXJuICJcbiIuam9pbihbc2VyaWFsaXpl
ci50b19zdHJpbmcoZXhwZWN0YXRpb24pIGZvciBleHBlY3RhdGlvbiBpbiBleHBlY3RhdGlvbnNd
KQogCiAKIGNsYXNzIFRlc3RFeHBlY3RhdGlvblBhcnNlcjoKQEAgLTI2NCw2ICsyNzksNyBAQCBj
bGFzcyBUZXN0RXhwZWN0YXRpb25QYXJzZXI6CiAKICAgICAgICAgIiIiCiAgICAgICAgIGV4cGVj
dGF0aW9uX2xpbmUgPSBUZXN0RXhwZWN0YXRpb25MaW5lKCkKKyAgICAgICAgZXhwZWN0YXRpb25f
bGluZS5vcmlnaW5hbF9zdHJpbmcgPSBleHBlY3RhdGlvbl9zdHJpbmcKICAgICAgICAgZXhwZWN0
YXRpb25fbGluZS5saW5lX251bWJlciA9IGxpbmVfbnVtYmVyCiAgICAgICAgIGNvbW1lbnRfaW5k
ZXggPSBleHBlY3RhdGlvbl9zdHJpbmcuZmluZCgiLy8iKQogICAgICAgICBpZiBjb21tZW50X2lu
ZGV4ID09IC0xOgpAQCAtMjgzLDkgKzI5OSw3IEBAIGNsYXNzIFRlc3RFeHBlY3RhdGlvblBhcnNl
cjoKICAgICAgICAgICAgIGlmIGxlbih0ZXN0X2FuZF9leHBlY3RhdGlvbikgIT0gMjoKICAgICAg
ICAgICAgICAgICBleHBlY3RhdGlvbl9saW5lLmVycm9ycy5hcHBlbmQoIk1pc3NpbmcgZXhwZWN0
YXRpb25zIiBpZiBsZW4odGVzdF9hbmRfZXhwZWN0YXRpb24pIDwgMiBlbHNlICJFeHRyYW5lb3Vz
ICc9JyIpCiAKLSAgICAgICAgaWYgZXhwZWN0YXRpb25fbGluZS5pc19tYWxmb3JtZWQoKToKLSAg
ICAgICAgICAgIGV4cGVjdGF0aW9uX2xpbmUuY29tbWVudCA9IGV4cGVjdGF0aW9uX3N0cmluZwot
ICAgICAgICBlbHNlOgorICAgICAgICBpZiBub3QgZXhwZWN0YXRpb25fbGluZS5pc19tYWxmb3Jt
ZWQoKToKICAgICAgICAgICAgIGV4cGVjdGF0aW9uX2xpbmUubW9kaWZpZXJzID0gY2xzLl9zcGxp
dF9zcGFjZV9zZXBhcmF0ZWQocGFydHNbMF0pCiAgICAgICAgICAgICBleHBlY3RhdGlvbl9saW5l
Lm5hbWUgPSB0ZXN0X2FuZF9leHBlY3RhdGlvblswXS5zdHJpcCgpCiAgICAgICAgICAgICBleHBl
Y3RhdGlvbl9saW5lLmV4cGVjdGF0aW9ucyA9IGNscy5fc3BsaXRfc3BhY2Vfc2VwYXJhdGVkKHRl
c3RfYW5kX2V4cGVjdGF0aW9uWzFdKQpAQCAtMzE0LDYgKzMyOCw3IEBAIGNsYXNzIFRlc3RFeHBl
Y3RhdGlvbkxpbmU6CiAKICAgICBkZWYgX19pbml0X18oc2VsZik6CiAgICAgICAgICIiIkluaXRp
YWxpemVzIGEgYmxhbmstbGluZSBlcXVpdmFsZW50IG9mIGFuIGV4cGVjdGF0aW9uLiIiIgorICAg
ICAgICBzZWxmLm9yaWdpbmFsX3N0cmluZyA9IE5vbmUKICAgICAgICAgc2VsZi5saW5lX251bWJl
ciA9IE5vbmUKICAgICAgICAgc2VsZi5uYW1lID0gTm9uZQogICAgICAgICBzZWxmLnBhdGggPSBO
b25lCkBAIC02NDgsNiArNjYzLDcgQEAgY2xhc3MgVGVzdEV4cGVjdGF0aW9uczoKICAgICAgICAg
c2VsZi5faXNfbGludF9tb2RlID0gaXNfbGludF9tb2RlCiAgICAgICAgIHNlbGYuX21vZGVsID0g
VGVzdEV4cGVjdGF0aW9uc01vZGVsKCkKICAgICAgICAgc2VsZi5fcGFyc2VyID0gVGVzdEV4cGVj
dGF0aW9uUGFyc2VyKHBvcnQsIHRlc3RzLCBpc19saW50X21vZGUpCisgICAgICAgIHNlbGYuX3Rl
c3RfY29uZmlndXJhdGlvbl9jb252ZXJ0ZXIgPSBUZXN0Q29uZmlndXJhdGlvbkNvbnZlcnRlcihw
b3J0LmFsbF90ZXN0X2NvbmZpZ3VyYXRpb25zKCksIHBvcnQuY29uZmlndXJhdGlvbl9zcGVjaWZp
ZXJfbWFjcm9zKCkpCiAKICAgICAgICAgc2VsZi5fZXhwZWN0YXRpb25zID0gVGVzdEV4cGVjdGF0
aW9uUGFyc2VyLnRva2VuaXplX2xpc3QoZXhwZWN0YXRpb25zKQogICAgICAgICBzZWxmLl9hZGRf
ZXhwZWN0YXRpb25zKHNlbGYuX2V4cGVjdGF0aW9ucywgb3ZlcnJpZGVzX2FsbG93ZWQ9RmFsc2Up
CkBAIC03MzAsOSArNzQ2LDkgQEAgY2xhc3MgVGVzdEV4cGVjdGF0aW9uczoKICAgICAgICAgd2Fy
bmluZ3MgPSBbXQogICAgICAgICBmb3IgZXhwZWN0YXRpb24gaW4gc2VsZi5fZXhwZWN0YXRpb25z
OgogICAgICAgICAgICAgZm9yIGVycm9yIGluIGV4cGVjdGF0aW9uLmVycm9yczoKLSAgICAgICAg
ICAgICAgICBlcnJvcnMuYXBwZW5kKCJMaW5lOiVzICVzICVzIiAlIChleHBlY3RhdGlvbi5saW5l
X251bWJlciwgZXJyb3IsIGV4cGVjdGF0aW9uLm5hbWUgaWYgZXhwZWN0YXRpb24uZXhwZWN0YXRp
b25zIGVsc2UgZXhwZWN0YXRpb24uY29tbWVudCkpCisgICAgICAgICAgICAgICAgZXJyb3JzLmFw
cGVuZCgiTGluZTolcyAlcyAlcyIgJSAoZXhwZWN0YXRpb24ubGluZV9udW1iZXIsIGVycm9yLCBl
eHBlY3RhdGlvbi5uYW1lIGlmIGV4cGVjdGF0aW9uLmV4cGVjdGF0aW9ucyBlbHNlIGV4cGVjdGF0
aW9uLm9yaWdpbmFsX3N0cmluZykpCiAgICAgICAgICAgICBmb3Igd2FybmluZyBpbiBleHBlY3Rh
dGlvbi53YXJuaW5nczoKLSAgICAgICAgICAgICAgICB3YXJuaW5ncy5hcHBlbmQoIkxpbmU6JXMg
JXMgJXMiICUgKGV4cGVjdGF0aW9uLmxpbmVfbnVtYmVyLCB3YXJuaW5nLCBleHBlY3RhdGlvbi5u
YW1lIGlmIGV4cGVjdGF0aW9uLmV4cGVjdGF0aW9ucyBlbHNlIGV4cGVjdGF0aW9uLmNvbW1lbnQp
KQorICAgICAgICAgICAgICAgIHdhcm5pbmdzLmFwcGVuZCgiTGluZTolcyAlcyAlcyIgJSAoZXhw
ZWN0YXRpb24ubGluZV9udW1iZXIsIHdhcm5pbmcsIGV4cGVjdGF0aW9uLm5hbWUgaWYgZXhwZWN0
YXRpb24uZXhwZWN0YXRpb25zIGVsc2UgZXhwZWN0YXRpb24ub3JpZ2luYWxfc3RyaW5nKSkKIAog
ICAgICAgICBpZiBsZW4oZXJyb3JzKSBvciBsZW4od2FybmluZ3MpOgogICAgICAgICAgICAgX2xv
Zy5lcnJvcigiRkFJTFVSRVMgRk9SICVzIiAlIHN0cihzZWxmLl90ZXN0X2NvbmZpZykpCkBAIC03
NjMsNyArNzc5LDcgQEAgY2xhc3MgVGVzdEV4cGVjdGF0aW9uczoKICAgICAgICAgZGVmIHdpdGhv
dXRfcmViYXNlbGluZV9tb2RpZmllcihleHBlY3RhdGlvbik6CiAgICAgICAgICAgICByZXR1cm4g
bm90IChub3QgZXhwZWN0YXRpb24uaXNfbWFsZm9ybWVkKCkgYW5kIGV4cGVjdGF0aW9uLm5hbWUg
aW4gdGVzdHMgYW5kICJyZWJhc2VsaW5lIiBpbiBleHBlY3RhdGlvbi5tb2RpZmllcnMpCiAKLSAg
ICAgICAgcmV0dXJuIFRlc3RFeHBlY3RhdGlvblNlcmlhbGl6ZXIubGlzdF90b19zdHJpbmcoZmls
dGVyKHdpdGhvdXRfcmViYXNlbGluZV9tb2RpZmllciwgc2VsZi5fZXhwZWN0YXRpb25zKSkKKyAg
ICAgICAgcmV0dXJuIFRlc3RFeHBlY3RhdGlvblNlcmlhbGl6ZXIubGlzdF90b19zdHJpbmcoZmls
dGVyKHdpdGhvdXRfcmViYXNlbGluZV9tb2RpZmllciwgc2VsZi5fZXhwZWN0YXRpb25zKSwgc2Vs
Zi5fdGVzdF9jb25maWd1cmF0aW9uX2NvbnZlcnRlcikKIAogICAgIGRlZiBfYWRkX2V4cGVjdGF0
aW9ucyhzZWxmLCBleHBlY3RhdGlvbl9saXN0LCBvdmVycmlkZXNfYWxsb3dlZCk6CiAgICAgICAg
IGZvciBleHBlY3RhdGlvbl9saW5lIGluIGV4cGVjdGF0aW9uX2xpc3Q6CmRpZmYgLS1naXQgYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9leHBlY3RhdGlv
bnNfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9tb2Rl
bHMvdGVzdF9leHBlY3RhdGlvbnNfdW5pdHRlc3QucHkKaW5kZXggNTI5YzhmYWM4YTY0MjBmOWU1
ZjVmMjA1ODFhZWZkYmUzNGVjZTFlYi4uMDE2OThmMDAyY2QwNzNlNjVkMTQ3ZTM4ODFjODlkODBk
YmNiNTY2OSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
bW9kZWxzL3Rlc3RfZXhwZWN0YXRpb25zX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2V4cGVjdGF0aW9uc191bml0dGVzdC5w
eQpAQCAtMzEsNiArMzEsNyBAQCBpbXBvcnQgdW5pdHRlc3QKIAogZnJvbSB3ZWJraXRweS5sYXlv
dXRfdGVzdHMgaW1wb3J0IHBvcnQKIGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLnBvcnQgaW1w
b3J0IGJhc2UKK2Zyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLm1vZGVscy50ZXN0X2NvbmZpZ3Vy
YXRpb24gaW1wb3J0ICoKIGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLm1vZGVscy50ZXN0X2V4
cGVjdGF0aW9ucyBpbXBvcnQgKgogCiBjbGFzcyBGdW5jdGlvbnNUZXN0KHVuaXR0ZXN0LlRlc3RD
YXNlKToKQEAgLTM4OCwxMyArMzg5LDExIEBAIGNsYXNzIFRlc3RFeHBlY3RhdGlvblBhcnNlclRl
c3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgdGVzdF90b2tlbml6ZV9taXNzaW5nX2Nv
bG9uKHNlbGYpOgogICAgICAgICBleHBlY3RhdGlvbiA9IFRlc3RFeHBlY3RhdGlvblBhcnNlci50
b2tlbml6ZSgnUXV4LicpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0YXRpb24uaXNf
bWFsZm9ybWVkKCksIFRydWUpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0YXRpb24u
Y29tbWVudCwgJ1F1eC4nKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cihleHBlY3RhdGlv
bi5lcnJvcnMpLCAnWyJNaXNzaW5nIGEgXCc6XCciXScpCiAKICAgICBkZWYgdGVzdF90b2tlbml6
ZV9leHRyYV9jb2xvbihzZWxmKToKICAgICAgICAgZXhwZWN0YXRpb24gPSBUZXN0RXhwZWN0YXRp
b25QYXJzZXIudG9rZW5pemUoJ0ZPTyA6IDogYmFyJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChleHBlY3RhdGlvbi5pc19tYWxmb3JtZWQoKSwgVHJ1ZSkKLSAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbChleHBlY3RhdGlvbi5jb21tZW50LCAnRk9PIDogOiBiYXInKQogICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKHN0cihleHBlY3RhdGlvbi5lcnJvcnMpLCAnWyJFeHRyYW5lb3VzIFwnOlwnIl0n
KQogCiAgICAgZGVmIHRlc3RfdG9rZW5pemVfZW1wdHlfY29tbWVudChzZWxmKToKQEAgLTQxMiwx
MyArNDExLDExIEBAIGNsYXNzIFRlc3RFeHBlY3RhdGlvblBhcnNlclRlc3RzKHVuaXR0ZXN0LlRl
c3RDYXNlKToKICAgICBkZWYgdGVzdF90b2tlbml6ZV9taXNzaW5nX2VxdWFsKHNlbGYpOgogICAg
ICAgICBleHBlY3RhdGlvbiA9IFRlc3RFeHBlY3RhdGlvblBhcnNlci50b2tlbml6ZSgnRk9PIDog
YmFyJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBlY3RhdGlvbi5pc19tYWxmb3JtZWQo
KSwgVHJ1ZSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBlY3RhdGlvbi5jb21tZW50LCAn
Rk9PIDogYmFyJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoZXhwZWN0YXRpb24uZXJy
b3JzKSwgIlsnTWlzc2luZyBleHBlY3RhdGlvbnNcJ10iKQogCiAgICAgZGVmIHRlc3RfdG9rZW5p
emVfZXh0cmFfZXF1YWwoc2VsZik6CiAgICAgICAgIGV4cGVjdGF0aW9uID0gVGVzdEV4cGVjdGF0
aW9uUGFyc2VyLnRva2VuaXplKCdGT08gOiBiYXIgPSBCQVogPSBRdXguJykKICAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChleHBlY3RhdGlvbi5pc19tYWxmb3JtZWQoKSwgVHJ1ZSkKLSAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChleHBlY3RhdGlvbi5jb21tZW50LCAnRk9PIDogYmFyID0gQkFaID0g
UXV4LicpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGV4cGVjdGF0aW9uLmVycm9ycyks
ICdbIkV4dHJhbmVvdXMgXCc9XCciXScpCiAKICAgICBkZWYgdGVzdF90b2tlbml6ZV92YWxpZChz
ZWxmKToKQEAgLTQ1OSwzNCArNDU2LDM2IEBAIGNsYXNzIFRlc3RFeHBlY3RhdGlvblNlcmlhbGl6
ZXJUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIGV4cGVjdGF0aW9uID0gVGVzdEV4
cGVjdGF0aW9uUGFyc2VyLnRva2VuaXplKGluX3N0cmluZykKICAgICAgICAgaWYgZXhwZWN0ZWRf
c3RyaW5nIGlzIE5vbmU6CiAgICAgICAgICAgICBleHBlY3RlZF9zdHJpbmcgPSBpbl9zdHJpbmcK
LSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBlY3RlZF9zdHJpbmcsIFRlc3RFeHBlY3RhdGlv
blNlcmlhbGl6ZXIudG9fc3RyaW5nKGV4cGVjdGF0aW9uKSkKKyAgICAgICAgc2VyaWFsaXplciA9
IFRlc3RFeHBlY3RhdGlvblNlcmlhbGl6ZXIoU3BlY2lmaWVyU29ydGVyKCkpCisgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwoZXhwZWN0ZWRfc3RyaW5nLCBzZXJpYWxpemVyLnRvX3N0cmluZyhleHBl
Y3RhdGlvbikpCiAKICAgICBkZWYgYXNzZXJ0X2xpc3Rfcm91bmRfdHJpcChzZWxmLCBpbl9zdHJp
bmcsIGV4cGVjdGVkX3N0cmluZz1Ob25lKToKICAgICAgICAgZXhwZWN0YXRpb25zID0gVGVzdEV4
cGVjdGF0aW9uUGFyc2VyLnRva2VuaXplX2xpc3QoaW5fc3RyaW5nKQogICAgICAgICBpZiBleHBl
Y3RlZF9zdHJpbmcgaXMgTm9uZToKICAgICAgICAgICAgIGV4cGVjdGVkX3N0cmluZyA9IGluX3N0
cmluZwotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4cGVjdGVkX3N0cmluZywgVGVzdEV4cGVj
dGF0aW9uU2VyaWFsaXplci5saXN0X3RvX3N0cmluZyhleHBlY3RhdGlvbnMpKQotCi0gICAgZGVm
IGFzc2VydF90b19zdHJpbmcoc2VsZiwgZXhwZWN0YXRpb24sIGV4cGVjdGVkX3N0cmluZyk6Ci0g
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoVGVzdEV4cGVjdGF0aW9uU2VyaWFsaXplci50b19zdHJp
bmcoZXhwZWN0YXRpb24pLCBleHBlY3RlZF9zdHJpbmcpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWwoZXhwZWN0ZWRfc3RyaW5nLCBUZXN0RXhwZWN0YXRpb25TZXJpYWxpemVyLmxpc3RfdG9fc3Ry
aW5nKGV4cGVjdGF0aW9ucywgU3BlY2lmaWVyU29ydGVyKCkpKQogCi0gICAgZGVmIHRlc3Rfc3Ry
aW5nX3NlcmlhbGl6ZXIoc2VsZik6CisgICAgZGVmIHRlc3RfdW5wYXJzZWRfZXhwZWN0YXRpb25f
c2VyaWFsaXplcihzZWxmKToKICAgICAgICAgZXhwZWN0YXRpb24gPSBUZXN0RXhwZWN0YXRpb25M
aW5lKCkKLSAgICAgICAgc2VsZi5hc3NlcnRfdG9fc3RyaW5nKGV4cGVjdGF0aW9uLCAnJykKKyAg
ICAgICAgc2VyaWFsaXplciA9IFRlc3RFeHBlY3RhdGlvblNlcmlhbGl6ZXIoU3BlY2lmaWVyU29y
dGVyKCkpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZXJpYWxpemVyLnRvX3N0cmluZyhl
eHBlY3RhdGlvbiksICcnKQogICAgICAgICBleHBlY3RhdGlvbi5jb21tZW50ID0gJ1F1eC4nCi0g
ICAgICAgIHNlbGYuYXNzZXJ0X3RvX3N0cmluZyhleHBlY3RhdGlvbiwgJy8vUXV4LicpCisgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VyaWFsaXplci50b19zdHJpbmcoZXhwZWN0YXRpb24pLCAn
Ly9RdXguJykKICAgICAgICAgZXhwZWN0YXRpb24ubmFtZSA9ICdiYXInCi0gICAgICAgIHNlbGYu
YXNzZXJ0X3RvX3N0cmluZyhleHBlY3RhdGlvbiwgJyA6IGJhciA9ICAvL1F1eC4nKQorICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKHNlcmlhbGl6ZXIudG9fc3RyaW5nKGV4cGVjdGF0aW9uKSwgJyA6
IGJhciA9ICAvL1F1eC4nKQogICAgICAgICBleHBlY3RhdGlvbi5tb2RpZmllcnMgPSBbJ2Zvbydd
Ci0gICAgICAgIHNlbGYuYXNzZXJ0X3RvX3N0cmluZyhleHBlY3RhdGlvbiwgJ0ZPTyA6IGJhciA9
ICAvL1F1eC4nKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlcmlhbGl6ZXIudG9fc3RyaW5n
KGV4cGVjdGF0aW9uKSwgJ0ZPTyA6IGJhciA9ICAvL1F1eC4nKQogICAgICAgICBleHBlY3RhdGlv
bi5leHBlY3RhdGlvbnMgPSBbJ2JBeiddCi0gICAgICAgIHNlbGYuYXNzZXJ0X3RvX3N0cmluZyhl
eHBlY3RhdGlvbiwgJ0ZPTyA6IGJhciA9IEJBWiAvL1F1eC4nKQorICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKHNlcmlhbGl6ZXIudG9fc3RyaW5nKGV4cGVjdGF0aW9uKSwgJ0ZPTyA6IGJhciA9IEJB
WiAvL1F1eC4nKQogICAgICAgICBleHBlY3RhdGlvbi5leHBlY3RhdGlvbnMgPSBbJ2JBejEnLCAn
YmFaMiddCi0gICAgICAgIHNlbGYuYXNzZXJ0X3RvX3N0cmluZyhleHBlY3RhdGlvbiwgJ0ZPTyA6
IGJhciA9IEJBWjEgQkFaMiAvL1F1eC4nKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlcmlh
bGl6ZXIudG9fc3RyaW5nKGV4cGVjdGF0aW9uKSwgJ0ZPTyA6IGJhciA9IEJBWjEgQkFaMiAvL1F1
eC4nKQogICAgICAgICBleHBlY3RhdGlvbi5tb2RpZmllcnMgPSBbJ2ZvbzEnLCAnZm9PMiddCi0g
ICAgICAgIHNlbGYuYXNzZXJ0X3RvX3N0cmluZyhleHBlY3RhdGlvbiwgJ0ZPTzEgRk9PMiA6IGJh
ciA9IEJBWjEgQkFaMiAvL1F1eC4nKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlcmlhbGl6
ZXIudG9fc3RyaW5nKGV4cGVjdGF0aW9uKSwgJ0ZPTzEgRk9PMiA6IGJhciA9IEJBWjEgQkFaMiAv
L1F1eC4nKQogICAgICAgICBleHBlY3RhdGlvbi5lcnJvcnMuYXBwZW5kKCdPaCB0aGUgaG9ycm9y
LicpCi0gICAgICAgIHNlbGYuYXNzZXJ0X3RvX3N0cmluZyhleHBlY3RhdGlvbiwgJ1F1eC4nKQor
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlcmlhbGl6ZXIudG9fc3RyaW5nKGV4cGVjdGF0aW9u
KSwgJycpCisgICAgICAgIGV4cGVjdGF0aW9uLm9yaWdpbmFsX3N0cmluZyA9ICdZZXMgaXQgaXMh
JworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlcmlhbGl6ZXIudG9fc3RyaW5nKGV4cGVjdGF0
aW9uKSwgJ1llcyBpdCBpcyEnKQogCiAgICAgZGVmIHRlc3Rfc3RyaW5nX3JvdW5kdHJpcChzZWxm
KToKICAgICAgICAgc2VsZi5hc3NlcnRfcm91bmRfdHJpcCgnJykK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>102563</attachid>
            <date>2011-08-01 14:59:50 -0700</date>
            <delta_ts>2011-08-01 15:22:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65444-20110801145949.patch</filename>
            <type>text/plain</type>
            <size>22622</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTIxMzYKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCA5MTY3OGNiMzg4NGI3OGY4NTM3MDAxN2NlYTAyOGJiMGZj
MjcwOGUxLi40OTY0N2QxMTBlNmVhOWY5ZTQ1N2QzODZjNDI2NmRjZDM1MDM0ZGY0IDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjYg
QEAKIDIwMTEtMDgtMDEgIERpbWl0cmkgR2xhemtvdiAgPGRnbGF6a292QGNocm9taXVtLm9yZz4K
IAorICAgICAgICBUZWFjaCBUZXN0RXhwZWN0YXRpb25TZXJpYWxpemVyIGFib3V0IHBhcnNlZCBl
eHBlY3RhdGlvbnMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD02NTQ0NAorCisgICAgICAgIFRoaXMgaXMgYSBiaXQgbGFyZ2lzaCBpbiBzaXplLCBidXQg
dGhlIGVzc2VudGlhbHMgYXJlOgorICAgICAgICAqIFRlc3RFeHBlY3RhdGlvblNlcmlhbGl6ZXIs
IGdpdmVuIGEgcGFyc2VkIFRlc3RFeHBlY3RhdGlvbkxpbmUsIGNhbiBub3cgc3BpdCBvdXQgYSBw
cmV0dHkgc3RyaW5nLgorICAgICAgICAqIFdlIG5vdyBzdG9yZSBvcmlnaW5hbCBjb250ZW50IG9m
IHRoZSBleHBlY3RhdGlvbiBsaW5lIG9uIFRlc3RFeHBlY3RhdGlvbkxpbmUuCisgICAgICAgICog
TG90cyBvZiB0ZXN0cy4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2NvbmZp
Z3VyYXRpb24ucHk6IEZpeGVkIGFuIGlzc3VlIHdoZXJlIHdlIGRpZG4ndAorICAgICAgICAgICAg
cG9wdWxhdGUgbWFjcm9zIGNvcnJlY3RseSwgYWxzbyBmaXhlZCBhbiBpc3N1ZSB3aGVyZSB3ZSBp
bmNvcnJlY3RseSByZXR1cm5lZCBhbiBlbXB0eSBsaXN0CisgICAgICAgICAgICBmb3IgYWxsIGNv
bmZpZ3VyYXRpb25zLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21v
ZGVscy90ZXN0X2NvbmZpZ3VyYXRpb25fdW5pdHRlc3QucHk6IEFkZGVkIHRlc3RzIGZvciB0aG9z
ZS4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9l
eHBlY3RhdGlvbnMucHk6IFJlbW92ZWQgdmVzdGlnZXMgb2YgY29kZSBsb25nIGdvbmUsCisgICAg
ICAgICAgICByZWZhY3RvcmVkIFRlc3RFeHBlY3RhdGlvbnNTZXJpYWxpemVyIHRvIHJlY29nbml6
ZSBhbmQgY29ycmVjdGx5IHNlcmlhbGl6ZSBwYXJzZWQgVGVzdEV4cGVjdGF0aW9uTGluZSBpbnN0
YW5jZXMsCisgICAgICAgICAgICBjaGFuZ2VkIHRvIHN0b3JlIGFuZCB1c2UgVGVzdEV4cGVjdGF0
aW9uTGluZS5vcmlnaW5hbF9zdHJpbmcuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvbW9kZWxzL3Rlc3RfZXhwZWN0YXRpb25zX3VuaXR0ZXN0LnB5OiBBZGRlZCB0ZXN0
cy4KKworMjAxMS0wOC0wMSAgRGltaXRyaSBHbGF6a292ICA8ZGdsYXprb3ZAY2hyb21pdW0ub3Jn
PgorCiAgICAgICAgIEludHJvZHVjZSBTcGVjaWZpZXJTb3J0ZXIsIGEgdGhpbmcgdGhhdCBrbm93
cyBob3cgc3BlY2lmaWVycyBzaG91bGQgYmUgb3JkZXJlZC4KICAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDEzCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2NvbmZpZ3VyYXRpb24ucHkg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9jb25maWd1
cmF0aW9uLnB5CmluZGV4IGIwNzRmMGRjNDhhNzQ1NGJjNGU1ZTE5ZTRhY2JlN2Q0N2ZkMzE1MGMu
LjVlNTQ0NDQ1NWE1ZDM4ZDdjMDM4ZTJhMjc1MzNjYzY3YmIzNjViZGQgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2NvbmZpZ3VyYXRp
b24ucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rl
c3RfY29uZmlndXJhdGlvbi5weQpAQCAtNzQsMTUgKzc0LDE4IEBAIGNsYXNzIFNwZWNpZmllclNv
cnRlcjoKICAgICAgICAgICAgIGZvciBjYXRlZ29yeSwgc3BlY2lmaWVyIGluIHRlc3RfY29uZmln
dXJhdGlvbi5pdGVtcygpOgogICAgICAgICAgICAgICAgIHNlbGYuYWRkX3NwZWNpZmllcihjYXRl
Z29yeSwgc3BlY2lmaWVyKQogCisgICAgICAgIHNlbGYuYWRkX21hY3JvcyhtYWNyb3MpCisKKyAg
ICBkZWYgYWRkX3NwZWNpZmllcihzZWxmLCBjYXRlZ29yeSwgc3BlY2lmaWVyKToKKyAgICAgICAg
c2VsZi5fc3BlY2lmaWVyX3RvX2NhdGVnb3J5W3NwZWNpZmllcl0gPSBjYXRlZ29yeQorCisgICAg
ZGVmIGFkZF9tYWNyb3Moc2VsZiwgbWFjcm9zKToKICAgICAgICAgaWYgbm90IG1hY3JvczoKICAg
ICAgICAgICAgIHJldHVybgogICAgICAgICAjIEFzc3VtZSB3ZWxsLWZvcm1lZCBtYWNyb3MuCiAg
ICAgICAgIGZvciBtYWNybywgc3BlY2lmaWVyX2xpc3QgaW4gbWFjcm9zLml0ZW1zKCk6CiAgICAg
ICAgICAgICBzZWxmLmFkZF9zcGVjaWZpZXIoc2VsZi5jYXRlZ29yeV9mb3Jfc3BlY2lmaWVyKHNw
ZWNpZmllcl9saXN0WzBdKSwgbWFjcm8pCiAKLSAgICBkZWYgYWRkX3NwZWNpZmllcihzZWxmLCBj
YXRlZ29yeSwgc3BlY2lmaWVyKToKLSAgICAgICAgc2VsZi5fc3BlY2lmaWVyX3RvX2NhdGVnb3J5
W3NwZWNpZmllcl0gPSBjYXRlZ29yeQotCiAgICAgQGNsYXNzbWV0aG9kCiAgICAgZGVmIGNhdGVn
b3J5X3ByaW9yaXR5KGNscywgY2F0ZWdvcnkpOgogICAgICAgICByZXR1cm4gVGVzdENvbmZpZ3Vy
YXRpb24uY2F0ZWdvcnlfb3JkZXIoKS5pbmRleChjYXRlZ29yeSkKQEAgLTEzMyw2ICsxMzYsMTEg
QEAgY2xhc3MgVGVzdENvbmZpZ3VyYXRpb25Db252ZXJ0ZXI6CiAgICAgICAgICAgICAgICAgaWYg
bGVuKHNldF9ieV9jYXRlZ29yeSkgPT0gMSBhbmQgc2VsZi5fc3BlY2lmaWVyX3NvcnRlci5jYXRl
Z29yeV9wcmlvcml0eShjYXRlZ29yeSkgPiBzZWxmLl9zcGVjaWZpZXJfc29ydGVyLnNwZWNpZmll
cl9wcmlvcml0eShzcGVjaWZpZXIpOgogICAgICAgICAgICAgICAgICAgICBzZWxmLl9qdW5rX3Nw
ZWNpZmllcl9jb21iaW5hdGlvbnNbc3BlY2lmaWVyXSA9IHNldF9ieV9jYXRlZ29yeQogCisgICAg
ICAgIHNlbGYuX3NwZWNpZmllcl9zb3J0ZXIuYWRkX21hY3Jvcyhjb25maWd1cmF0aW9uX21hY3Jv
cykKKworICAgIGRlZiBzcGVjaWZpZXJfc29ydGVyKHNlbGYpOgorICAgICAgICByZXR1cm4gc2Vs
Zi5fc3BlY2lmaWVyX3NvcnRlcgorCiAgICAgZGVmIF9leHBhbmRfbWFjcm9zKHNlbGYsIHNwZWNp
Zmllcik6CiAgICAgICAgIGV4cGFuZGVkX3NwZWNpZmllcnMgPSBzZWxmLl9jb25maWd1cmF0aW9u
X21hY3Jvcy5nZXQoc3BlY2lmaWVyKQogICAgICAgICByZXR1cm4gZXhwYW5kZWRfc3BlY2lmaWVy
cyBvciBbc3BlY2lmaWVyXQpAQCAtMTcwLDcgKzE3OCw3IEBAIGNsYXNzIFRlc3RDb25maWd1cmF0
aW9uQ29udmVydGVyOgogCiAgICAgICAgICMgRWFzeSBvdXQ6IGlmIHRoZSBzZXQgaXMgYWxsIGNv
bmZpZ3VyYXRpb25zLCB0aGUgbW9kaWZpZXIgaXMgZW1wdHkuCiAgICAgICAgIGlmIGxlbih0ZXN0
X2NvbmZpZ3VyYXRpb25fc2V0KSA9PSBsZW4oc2VsZi5fYWxsX3Rlc3RfY29uZmlndXJhdGlvbnMp
OgotICAgICAgICAgICAgcmV0dXJuIFtdCisgICAgICAgICAgICByZXR1cm4gW1tdXQogCiAgICAg
ICAgICMgMSkgQnVpbGQgYSBsaXN0IG9mIHNwZWNpZmllciBzZXRzLCBkaXNjYXJkaW5nIHNwZWNp
ZmllcnMgdGhhdCBkb24ndCBhZGQgdmFsdWUuCiAgICAgICAgIHNwZWNpZmllcnNfbGlzdCA9IFtd
CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9tb2RlbHMv
dGVzdF9jb25maWd1cmF0aW9uX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfY29uZmlndXJhdGlvbl91bml0dGVzdC5weQppbmRleCAw
MTBkZTgyNzdiMzIxZTdmYjU4NTQ2OGRmODExNjgwMTkxNmJiMjI2Li5iNjgwYmExMzZkZDU0OWNi
ZTkxZGIxNGM2NjZkZjhhNmY1MDM0MjM2IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9jb25maWd1cmF0aW9uX3VuaXR0ZXN0LnB5Cisr
KyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2NvbmZp
Z3VyYXRpb25fdW5pdHRlc3QucHkKQEAgLTEzMCw2ICsxMzAsMTMgQEAgY2xhc3MgU3BlY2lmaWVy
U29ydGVyVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxz
KHNvcnRlci5jYXRlZ29yeV9mb3Jfc3BlY2lmaWVyKCdvbmUnKSwgJ3ZlcnNpb24nKQogICAgICAg
ICBzZWxmLmFzc2VydEVxdWFscyhzb3J0ZXIuY2F0ZWdvcnlfZm9yX3NwZWNpZmllcigncmVuYWlz
c2FuY2UnKSwgJ2FyY2hpdGVjdHVyZScpCiAKKyAgICBkZWYgdGVzdF9hZGRfbWFjcm9zKHNlbGYp
OgorICAgICAgICBzb3J0ZXIgPSBTcGVjaWZpZXJTb3J0ZXIoc2VsZi5fYWxsX3Rlc3RfY29uZmln
dXJhdGlvbnMpCisgICAgICAgIHNvcnRlci5hZGRfbWFjcm9zKE1PQ0tfTUFDUk9TKQorICAgICAg
ICBzZWxmLmFzc2VydEVxdWFscyhzb3J0ZXIuY2F0ZWdvcnlfZm9yX3NwZWNpZmllcignbWFjJyks
ICd2ZXJzaW9uJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoc29ydGVyLmNhdGVnb3J5X2Zv
cl9zcGVjaWZpZXIoJ3dpbicpLCAndmVyc2lvbicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxz
KHNvcnRlci5jYXRlZ29yeV9mb3Jfc3BlY2lmaWVyKCd4ODYnKSwgJ2FyY2hpdGVjdHVyZScpCisK
ICAgICBkZWYgdGVzdF9jYXRlZ29yeV9wcmlvcml0eShzZWxmKToKICAgICAgICAgc29ydGVyID0g
U3BlY2lmaWVyU29ydGVyKHNlbGYuX2FsbF90ZXN0X2NvbmZpZ3VyYXRpb25zKQogICAgICAgICBz
ZWxmLmFzc2VydEVxdWFscyhzb3J0ZXIuY2F0ZWdvcnlfcHJpb3JpdHkoJ3ZlcnNpb24nKSwgMCkK
QEAgLTI1OCw3ICsyNjUsOCBAQCBjbGFzcyBUZXN0Q29uZmlndXJhdGlvbkNvbnZlcnRlclRlc3Qo
dW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGRlZiB0ZXN0X3RvX3NwZWNpZmllcl9saXN0cyhzZWxm
KToKICAgICAgICAgY29udmVydGVyID0gVGVzdENvbmZpZ3VyYXRpb25Db252ZXJ0ZXIoc2VsZi5f
YWxsX3Rlc3RfY29uZmlndXJhdGlvbnMpCiAKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoY29u
dmVydGVyLnRvX3NwZWNpZmllcnNfbGlzdChzZXQoc2VsZi5fYWxsX3Rlc3RfY29uZmlndXJhdGlv
bnMpKSwgW10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKGNvbnZlcnRlci50b19zcGVjaWZp
ZXJzX2xpc3Qoc2V0KHNlbGYuX2FsbF90ZXN0X2NvbmZpZ3VyYXRpb25zKSksIFtbXV0pCisgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWxzKGNvbnZlcnRlci50b19zcGVjaWZpZXJzX2xpc3Qoc2V0KCkp
LCBbXSkKIAogICAgICAgICBjb25maWdzX3RvX21hdGNoID0gc2V0KFsKICAgICAgICAgICAgIFRl
c3RDb25maWd1cmF0aW9uKE5vbmUsICd4cCcsICd4ODYnLCAncmVsZWFzZScsICdncHUnKSwKQEAg
LTM1OCwzICszNjYsOCBAQCBjbGFzcyBUZXN0Q29uZmlndXJhdGlvbkNvbnZlcnRlclRlc3QodW5p
dHRlc3QuVGVzdENhc2UpOgogICAgICAgICAgICAgVGVzdENvbmZpZ3VyYXRpb24oTm9uZSwgJ3Nu
b3dsZW9wYXJkJywgJ3g4NicsICdyZWxlYXNlJywgJ2dwdScpLAogICAgICAgICBdKQogICAgICAg
ICBzZWxmLmFzc2VydEVxdWFscyhjb252ZXJ0ZXIudG9fc3BlY2lmaWVyc19saXN0KGNvbmZpZ3Nf
dG9fbWF0Y2gpLCBbc2V0KFsnd2luJywgJ21hYycsICdyZWxlYXNlJywgJ2dwdSddKV0pCisKKyAg
ICBkZWYgdGVzdF9zcGVjaWZpZXJfY29udmVydGVyX2FjY2VzcyhzZWxmKToKKyAgICAgICAgc3Bl
Y2lmaWVyX3NvcnRlciA9IFRlc3RDb25maWd1cmF0aW9uQ29udmVydGVyKHNlbGYuX2FsbF90ZXN0
X2NvbmZpZ3VyYXRpb25zLCBNT0NLX01BQ1JPUykuc3BlY2lmaWVyX3NvcnRlcigpCisgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWxzKHNwZWNpZmllcl9zb3J0ZXIuY2F0ZWdvcnlfZm9yX3NwZWNpZmll
cignc25vd2xlb3BhcmQnKSwgJ3ZlcnNpb24nKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhz
cGVjaWZpZXJfc29ydGVyLmNhdGVnb3J5X2Zvcl9zcGVjaWZpZXIoJ21hYycpLCAndmVyc2lvbicp
CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9tb2RlbHMv
dGVzdF9leHBlY3RhdGlvbnMucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9tb2RlbHMvdGVzdF9leHBlY3RhdGlvbnMucHkKaW5kZXggZTY1YjZiZmFmNTBmN2U2YjQ5OGUz
YjFhZTEwNjc1MDEyNmFkNmFjOC4uZDdhNzJhZDdiODU5OWRiZGEyNjYyZTAwOTA3ODQ1NGU2MDM4
ZjY5OCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9k
ZWxzL3Rlc3RfZXhwZWN0YXRpb25zLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL21vZGVscy90ZXN0X2V4cGVjdGF0aW9ucy5weQpAQCAtNTIsOSArNTIsNiBAQCBf
bG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pCiAoUEFTUywgRkFJTCwgVEVYVCwgSU1B
R0UsIElNQUdFX1BMVVNfVEVYVCwgQVVESU8sIFRJTUVPVVQsIENSQVNILCBTS0lQLCBXT05URklY
LAogIFNMT1csIFJFQkFTRUxJTkUsIE1JU1NJTkcsIEZMQUtZLCBOT1csIE5PTkUpID0gcmFuZ2Uo
MTYpCiAKLSMgVGVzdCBleHBlY3RhdGlvbiBmaWxlIHVwZGF0ZSBhY3Rpb24gY29uc3RhbnRzCi0o
Tk9fQ0hBTkdFLCBSRU1PVkVfVEVTVCwgUkVNT1ZFX1BMQVRGT1JNLCBBRERfUExBVEZPUk1TX0VY
Q0VQVF9USElTKSA9IHJhbmdlKDQpCi0KIAogZGVmIHJlc3VsdF93YXNfZXhwZWN0ZWQocmVzdWx0
LCBleHBlY3RlZF9yZXN1bHRzLCB0ZXN0X25lZWRzX3JlYmFzZWxpbmluZywgdGVzdF9pc19za2lw
cGVkKToKICAgICAiIiJSZXR1cm5zIHdoZXRoZXIgd2UgZ290IGEgcmVzdWx0IHdlIHdlcmUgZXhw
ZWN0aW5nLgpAQCAtMTI0LDI2ICsxMjEsNTQgQEAgY2xhc3MgUGFyc2VFcnJvcihFeGNlcHRpb24p
OgogCiBjbGFzcyBUZXN0RXhwZWN0YXRpb25TZXJpYWxpemVyOgogICAgICIiIlByb3ZpZGVzIG1l
YW5zIG9mIHNlcmlhbGl6aW5nIFRlc3RFeHBlY3RhdGlvbkxpbmUgaW5zdGFuY2VzLiIiIgotICAg
IEBjbGFzc21ldGhvZAotICAgIGRlZiB0b19zdHJpbmcoY2xzLCBleHBlY3RhdGlvbik6CisgICAg
ZGVmIF9faW5pdF9fKHNlbGYsIHRlc3RfY29uZmlndXJhdGlvbl9jb252ZXJ0ZXIpOgorICAgICAg
ICBzZWxmLl90ZXN0X2NvbmZpZ3VyYXRpb25fY29udmVydGVyID0gdGVzdF9jb25maWd1cmF0aW9u
X2NvbnZlcnRlcgorICAgICAgICBzZWxmLl9wYXJzZWRfZXhwZWN0YXRpb25fdG9fc3RyaW5nID0g
ZGljdChbW3BhcnNlZF9leHBlY3RhdGlvbiwgZXhwZWN0YXRpb25fc3RyaW5nXSBmb3IgZXhwZWN0
YXRpb25fc3RyaW5nLCBwYXJzZWRfZXhwZWN0YXRpb24gaW4gVGVzdEV4cGVjdGF0aW9ucy5FWFBF
Q1RBVElPTlMuaXRlbXMoKV0pCisKKyAgICBkZWYgdG9fc3RyaW5nKHNlbGYsIGV4cGVjdGF0aW9u
X2xpbmUpOgorICAgICAgICBpZiBleHBlY3RhdGlvbl9saW5lLmlzX21hbGZvcm1lZCgpOgorICAg
ICAgICAgICAgcmV0dXJuIGV4cGVjdGF0aW9uX2xpbmUub3JpZ2luYWxfc3RyaW5nIG9yICcnCisK
KyAgICAgICAgaWYgZXhwZWN0YXRpb25fbGluZS5uYW1lIGlzIE5vbmU6CisgICAgICAgICAgICBy
ZXR1cm4gJycgaWYgZXhwZWN0YXRpb25fbGluZS5jb21tZW50IGlzIE5vbmUgZWxzZSAiLy8lcyIg
JSBleHBlY3RhdGlvbl9saW5lLmNvbW1lbnQKKworICAgICAgICBpZiBleHBlY3RhdGlvbl9saW5l
LnBhcnNlZF9idWdfbW9kaWZpZXI6CisgICAgICAgICAgICBzcGVjaWZpZXJzX2xpc3QgPSBzZWxm
Ll90ZXN0X2NvbmZpZ3VyYXRpb25fY29udmVydGVyLnRvX3NwZWNpZmllcnNfbGlzdChleHBlY3Rh
dGlvbl9saW5lLm1hdGNoaW5nX2NvbmZpZ3VyYXRpb25zKQorICAgICAgICAgICAgcmVzdWx0ID0g
W10KKyAgICAgICAgICAgIGZvciBzcGVjaWZpZXJzIGluIHNwZWNpZmllcnNfbGlzdDoKKyAgICAg
ICAgICAgICAgICBtb2RpZmllcnMgPSBzZWxmLl9wYXJzZWRfbW9kaWZpZXJfc3RyaW5nKGV4cGVj
dGF0aW9uX2xpbmUsIHNwZWNpZmllcnMpCisgICAgICAgICAgICAgICAgZXhwZWN0YXRpb25zID0g
c2VsZi5fcGFyc2VkX2V4cGVjdGF0aW9uc19zdHJpbmcoZXhwZWN0YXRpb25fbGluZSkKKyAgICAg
ICAgICAgICAgICByZXN1bHQuYXBwZW5kKHNlbGYuX2Zvcm1hdF9yZXN1bHQobW9kaWZpZXJzLCBl
eHBlY3RhdGlvbl9saW5lLm5hbWUsIGV4cGVjdGF0aW9ucywgZXhwZWN0YXRpb25fbGluZS5jb21t
ZW50KSkKKyAgICAgICAgICAgIHJldHVybiAiXG4iLmpvaW4ocmVzdWx0KQorCisgICAgICAgIHJl
dHVybiBzZWxmLl9mb3JtYXRfcmVzdWx0KCIgIi5qb2luKGV4cGVjdGF0aW9uX2xpbmUubW9kaWZp
ZXJzKSwgZXhwZWN0YXRpb25fbGluZS5uYW1lLCAiICIuam9pbihleHBlY3RhdGlvbl9saW5lLmV4
cGVjdGF0aW9ucyksIGV4cGVjdGF0aW9uX2xpbmUuY29tbWVudCkKKworICAgIGRlZiBfcGFyc2Vk
X2V4cGVjdGF0aW9uc19zdHJpbmcoc2VsZiwgZXhwZWN0YXRpb25fbGluZSk6CiAgICAgICAgIHJl
c3VsdCA9IFtdCi0gICAgICAgIGlmIGV4cGVjdGF0aW9uLmlzX21hbGZvcm1lZCgpOgotICAgICAg
ICAgICAgcmVzdWx0LmFwcGVuZChleHBlY3RhdGlvbi5jb21tZW50KQotICAgICAgICBlbHNlOgot
ICAgICAgICAgICAgaWYgZXhwZWN0YXRpb24ubmFtZSBpcyBOb25lOgotICAgICAgICAgICAgICAg
IGlmIGV4cGVjdGF0aW9uLmNvbW1lbnQgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgICAg
IHJlc3VsdC5hcHBlbmQoJy8vJykKLSAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmFwcGVuZChl
eHBlY3RhdGlvbi5jb21tZW50KQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBy
ZXN1bHQuYXBwZW5kKCIlcyA6ICVzID0gJXMiICUgKCIgIi5qb2luKGV4cGVjdGF0aW9uLm1vZGlm
aWVycykudXBwZXIoKSwgZXhwZWN0YXRpb24ubmFtZSwgIiAiLmpvaW4oZXhwZWN0YXRpb24uZXhw
ZWN0YXRpb25zKS51cHBlcigpKSkKLSAgICAgICAgICAgICAgICBpZiBleHBlY3RhdGlvbi5jb21t
ZW50IGlzIG5vdCBOb25lOgotICAgICAgICAgICAgICAgICAgICByZXN1bHQuYXBwZW5kKCIgLy8l
cyIgJSAoZXhwZWN0YXRpb24uY29tbWVudCkpCisgICAgICAgIGZvciBpbmRleCBpbiBUZXN0RXhw
ZWN0YXRpb25zLkVYUEVDVEFUSU9OX09SREVSOgorICAgICAgICAgICAgaWYgaW5kZXggaW4gZXhw
ZWN0YXRpb25fbGluZS5wYXJzZWRfZXhwZWN0YXRpb25zOgorICAgICAgICAgICAgICAgIHJlc3Vs
dC5hcHBlbmQoc2VsZi5fcGFyc2VkX2V4cGVjdGF0aW9uX3RvX3N0cmluZ1tpbmRleF0pCisgICAg
ICAgIHJldHVybiAnICcuam9pbihyZXN1bHQpCisKKyAgICBkZWYgX3BhcnNlZF9tb2RpZmllcl9z
dHJpbmcoc2VsZiwgZXhwZWN0YXRpb25fbGluZSwgc3BlY2lmaWVycyk6CisgICAgICAgIHJlc3Vs
dCA9IFtdCisgICAgICAgIGlmIGV4cGVjdGF0aW9uX2xpbmUucGFyc2VkX2J1Z19tb2RpZmllcjoK
KyAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoZXhwZWN0YXRpb25fbGluZS5wYXJzZWRfYnVnX21v
ZGlmaWVyKQorICAgICAgICByZXN1bHQuZXh0ZW5kKGV4cGVjdGF0aW9uX2xpbmUucGFyc2VkX21v
ZGlmaWVycykKKyAgICAgICAgcmVzdWx0LmV4dGVuZChzZWxmLl90ZXN0X2NvbmZpZ3VyYXRpb25f
Y29udmVydGVyLnNwZWNpZmllcl9zb3J0ZXIoKS5zb3J0X3NwZWNpZmllcnMoc3BlY2lmaWVycykp
CisgICAgICAgIHJldHVybiAnICcuam9pbihyZXN1bHQpCiAKLSAgICAgICAgcmV0dXJuICcnLmpv
aW4ocmVzdWx0KQorICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBfZm9ybWF0X3Jlc3VsdChjbHMs
IG1vZGlmaWVycywgbmFtZSwgZXhwZWN0YXRpb25zLCBjb21tZW50KToKKyAgICAgICAgcmVzdWx0
ID0gIiVzIDogJXMgPSAlcyIgJSAobW9kaWZpZXJzLnVwcGVyKCksIG5hbWUsIGV4cGVjdGF0aW9u
cy51cHBlcigpKQorICAgICAgICBpZiBjb21tZW50IGlzIG5vdCBOb25lOgorICAgICAgICAgICAg
cmVzdWx0ICs9ICIgLy8lcyIgJSBjb21tZW50CisgICAgICAgIHJldHVybiByZXN1bHQKIAogICAg
IEBjbGFzc21ldGhvZAotICAgIGRlZiBsaXN0X3RvX3N0cmluZyhjbHMsIGV4cGVjdGF0aW9ucyk6
Ci0gICAgICAgIHJldHVybiAiXG4iLmpvaW4oW1Rlc3RFeHBlY3RhdGlvblNlcmlhbGl6ZXIudG9f
c3RyaW5nKGV4cGVjdGF0aW9uKSBmb3IgZXhwZWN0YXRpb24gaW4gZXhwZWN0YXRpb25zXSkKKyAg
ICBkZWYgbGlzdF90b19zdHJpbmcoY2xzLCBleHBlY3RhdGlvbnMsIHRlc3RfY29uZmlndXJhdGlv
bl9jb252ZXJ0ZXIpOgorICAgICAgICBzZXJpYWxpemVyID0gY2xzKHRlc3RfY29uZmlndXJhdGlv
bl9jb252ZXJ0ZXIpCisgICAgICAgIHJldHVybiAiXG4iLmpvaW4oW3NlcmlhbGl6ZXIudG9fc3Ry
aW5nKGV4cGVjdGF0aW9uKSBmb3IgZXhwZWN0YXRpb24gaW4gZXhwZWN0YXRpb25zXSkKIAogCiBj
bGFzcyBUZXN0RXhwZWN0YXRpb25QYXJzZXI6CkBAIC0yNjQsNiArMjg5LDcgQEAgY2xhc3MgVGVz
dEV4cGVjdGF0aW9uUGFyc2VyOgogCiAgICAgICAgICIiIgogICAgICAgICBleHBlY3RhdGlvbl9s
aW5lID0gVGVzdEV4cGVjdGF0aW9uTGluZSgpCisgICAgICAgIGV4cGVjdGF0aW9uX2xpbmUub3Jp
Z2luYWxfc3RyaW5nID0gZXhwZWN0YXRpb25fc3RyaW5nCiAgICAgICAgIGV4cGVjdGF0aW9uX2xp
bmUubGluZV9udW1iZXIgPSBsaW5lX251bWJlcgogICAgICAgICBjb21tZW50X2luZGV4ID0gZXhw
ZWN0YXRpb25fc3RyaW5nLmZpbmQoIi8vIikKICAgICAgICAgaWYgY29tbWVudF9pbmRleCA9PSAt
MToKQEAgLTI4Myw5ICszMDksNyBAQCBjbGFzcyBUZXN0RXhwZWN0YXRpb25QYXJzZXI6CiAgICAg
ICAgICAgICBpZiBsZW4odGVzdF9hbmRfZXhwZWN0YXRpb24pICE9IDI6CiAgICAgICAgICAgICAg
ICAgZXhwZWN0YXRpb25fbGluZS5lcnJvcnMuYXBwZW5kKCJNaXNzaW5nIGV4cGVjdGF0aW9ucyIg
aWYgbGVuKHRlc3RfYW5kX2V4cGVjdGF0aW9uKSA8IDIgZWxzZSAiRXh0cmFuZW91cyAnPSciKQog
Ci0gICAgICAgIGlmIGV4cGVjdGF0aW9uX2xpbmUuaXNfbWFsZm9ybWVkKCk6Ci0gICAgICAgICAg
ICBleHBlY3RhdGlvbl9saW5lLmNvbW1lbnQgPSBleHBlY3RhdGlvbl9zdHJpbmcKLSAgICAgICAg
ZWxzZToKKyAgICAgICAgaWYgbm90IGV4cGVjdGF0aW9uX2xpbmUuaXNfbWFsZm9ybWVkKCk6CiAg
ICAgICAgICAgICBleHBlY3RhdGlvbl9saW5lLm1vZGlmaWVycyA9IGNscy5fc3BsaXRfc3BhY2Vf
c2VwYXJhdGVkKHBhcnRzWzBdKQogICAgICAgICAgICAgZXhwZWN0YXRpb25fbGluZS5uYW1lID0g
dGVzdF9hbmRfZXhwZWN0YXRpb25bMF0uc3RyaXAoKQogICAgICAgICAgICAgZXhwZWN0YXRpb25f
bGluZS5leHBlY3RhdGlvbnMgPSBjbHMuX3NwbGl0X3NwYWNlX3NlcGFyYXRlZCh0ZXN0X2FuZF9l
eHBlY3RhdGlvblsxXSkKQEAgLTMxNCw2ICszMzgsNyBAQCBjbGFzcyBUZXN0RXhwZWN0YXRpb25M
aW5lOgogCiAgICAgZGVmIF9faW5pdF9fKHNlbGYpOgogICAgICAgICAiIiJJbml0aWFsaXplcyBh
IGJsYW5rLWxpbmUgZXF1aXZhbGVudCBvZiBhbiBleHBlY3RhdGlvbi4iIiIKKyAgICAgICAgc2Vs
Zi5vcmlnaW5hbF9zdHJpbmcgPSBOb25lCiAgICAgICAgIHNlbGYubGluZV9udW1iZXIgPSBOb25l
CiAgICAgICAgIHNlbGYubmFtZSA9IE5vbmUKICAgICAgICAgc2VsZi5wYXRoID0gTm9uZQpAQCAt
NjU0LDYgKzY3OSw3IEBAIGNsYXNzIFRlc3RFeHBlY3RhdGlvbnM6CiAgICAgICAgIHNlbGYuX2lz
X2xpbnRfbW9kZSA9IGlzX2xpbnRfbW9kZQogICAgICAgICBzZWxmLl9tb2RlbCA9IFRlc3RFeHBl
Y3RhdGlvbnNNb2RlbCgpCiAgICAgICAgIHNlbGYuX3BhcnNlciA9IFRlc3RFeHBlY3RhdGlvblBh
cnNlcihwb3J0LCB0ZXN0cywgaXNfbGludF9tb2RlKQorICAgICAgICBzZWxmLl90ZXN0X2NvbmZp
Z3VyYXRpb25fY29udmVydGVyID0gVGVzdENvbmZpZ3VyYXRpb25Db252ZXJ0ZXIocG9ydC5hbGxf
dGVzdF9jb25maWd1cmF0aW9ucygpLCBwb3J0LmNvbmZpZ3VyYXRpb25fc3BlY2lmaWVyX21hY3Jv
cygpKQogCiAgICAgICAgIHNlbGYuX2V4cGVjdGF0aW9ucyA9IFRlc3RFeHBlY3RhdGlvblBhcnNl
ci50b2tlbml6ZV9saXN0KGV4cGVjdGF0aW9ucykKICAgICAgICAgc2VsZi5fYWRkX2V4cGVjdGF0
aW9ucyhzZWxmLl9leHBlY3RhdGlvbnMsIG92ZXJyaWRlc19hbGxvd2VkPUZhbHNlKQpAQCAtNzM2
LDkgKzc2Miw5IEBAIGNsYXNzIFRlc3RFeHBlY3RhdGlvbnM6CiAgICAgICAgIHdhcm5pbmdzID0g
W10KICAgICAgICAgZm9yIGV4cGVjdGF0aW9uIGluIHNlbGYuX2V4cGVjdGF0aW9uczoKICAgICAg
ICAgICAgIGZvciBlcnJvciBpbiBleHBlY3RhdGlvbi5lcnJvcnM6Ci0gICAgICAgICAgICAgICAg
ZXJyb3JzLmFwcGVuZCgiTGluZTolcyAlcyAlcyIgJSAoZXhwZWN0YXRpb24ubGluZV9udW1iZXIs
IGVycm9yLCBleHBlY3RhdGlvbi5uYW1lIGlmIGV4cGVjdGF0aW9uLmV4cGVjdGF0aW9ucyBlbHNl
IGV4cGVjdGF0aW9uLmNvbW1lbnQpKQorICAgICAgICAgICAgICAgIGVycm9ycy5hcHBlbmQoIkxp
bmU6JXMgJXMgJXMiICUgKGV4cGVjdGF0aW9uLmxpbmVfbnVtYmVyLCBlcnJvciwgZXhwZWN0YXRp
b24ubmFtZSBpZiBleHBlY3RhdGlvbi5leHBlY3RhdGlvbnMgZWxzZSBleHBlY3RhdGlvbi5vcmln
aW5hbF9zdHJpbmcpKQogICAgICAgICAgICAgZm9yIHdhcm5pbmcgaW4gZXhwZWN0YXRpb24ud2Fy
bmluZ3M6Ci0gICAgICAgICAgICAgICAgd2FybmluZ3MuYXBwZW5kKCJMaW5lOiVzICVzICVzIiAl
IChleHBlY3RhdGlvbi5saW5lX251bWJlciwgd2FybmluZywgZXhwZWN0YXRpb24ubmFtZSBpZiBl
eHBlY3RhdGlvbi5leHBlY3RhdGlvbnMgZWxzZSBleHBlY3RhdGlvbi5jb21tZW50KSkKKyAgICAg
ICAgICAgICAgICB3YXJuaW5ncy5hcHBlbmQoIkxpbmU6JXMgJXMgJXMiICUgKGV4cGVjdGF0aW9u
LmxpbmVfbnVtYmVyLCB3YXJuaW5nLCBleHBlY3RhdGlvbi5uYW1lIGlmIGV4cGVjdGF0aW9uLmV4
cGVjdGF0aW9ucyBlbHNlIGV4cGVjdGF0aW9uLm9yaWdpbmFsX3N0cmluZykpCiAKICAgICAgICAg
aWYgbGVuKGVycm9ycykgb3IgbGVuKHdhcm5pbmdzKToKICAgICAgICAgICAgIF9sb2cuZXJyb3Io
IkZBSUxVUkVTIEZPUiAlcyIgJSBzdHIoc2VsZi5fdGVzdF9jb25maWcpKQpAQCAtNzY5LDcgKzc5
NSw3IEBAIGNsYXNzIFRlc3RFeHBlY3RhdGlvbnM6CiAgICAgICAgIGRlZiB3aXRob3V0X3JlYmFz
ZWxpbmVfbW9kaWZpZXIoZXhwZWN0YXRpb24pOgogICAgICAgICAgICAgcmV0dXJuIG5vdCAobm90
IGV4cGVjdGF0aW9uLmlzX21hbGZvcm1lZCgpIGFuZCBleHBlY3RhdGlvbi5uYW1lIGluIHRlc3Rz
IGFuZCAicmViYXNlbGluZSIgaW4gZXhwZWN0YXRpb24ubW9kaWZpZXJzKQogCi0gICAgICAgIHJl
dHVybiBUZXN0RXhwZWN0YXRpb25TZXJpYWxpemVyLmxpc3RfdG9fc3RyaW5nKGZpbHRlcih3aXRo
b3V0X3JlYmFzZWxpbmVfbW9kaWZpZXIsIHNlbGYuX2V4cGVjdGF0aW9ucykpCisgICAgICAgIHJl
dHVybiBUZXN0RXhwZWN0YXRpb25TZXJpYWxpemVyLmxpc3RfdG9fc3RyaW5nKGZpbHRlcih3aXRo
b3V0X3JlYmFzZWxpbmVfbW9kaWZpZXIsIHNlbGYuX2V4cGVjdGF0aW9ucyksIHNlbGYuX3Rlc3Rf
Y29uZmlndXJhdGlvbl9jb252ZXJ0ZXIpCiAKICAgICBkZWYgX2FkZF9leHBlY3RhdGlvbnMoc2Vs
ZiwgZXhwZWN0YXRpb25fbGlzdCwgb3ZlcnJpZGVzX2FsbG93ZWQpOgogICAgICAgICBmb3IgZXhw
ZWN0YXRpb25fbGluZSBpbiBleHBlY3RhdGlvbl9saXN0OgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfZXhwZWN0YXRpb25zX3VuaXR0
ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3Rf
ZXhwZWN0YXRpb25zX3VuaXR0ZXN0LnB5CmluZGV4IDUyOWM4ZmFjOGE2NDIwZjllNWY1ZjIwNTgx
YWVmZGJlMzRlY2UxZWIuLmYyYTk1MTkwNGY4MGY0ZWJhZWUzNGEyYzQ2MDA4OTlhNjhkOWMxNzEg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90
ZXN0X2V4cGVjdGF0aW9uc191bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9leHBlY3RhdGlvbnNfdW5pdHRlc3QucHkKQEAgLTMx
LDYgKzMxLDcgQEAgaW1wb3J0IHVuaXR0ZXN0CiAKIGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3Rz
IGltcG9ydCBwb3J0CiBmcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cy5wb3J0IGltcG9ydCBiYXNl
Citmcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cy5tb2RlbHMudGVzdF9jb25maWd1cmF0aW9uIGlt
cG9ydCAqCiBmcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cy5tb2RlbHMudGVzdF9leHBlY3RhdGlv
bnMgaW1wb3J0ICoKIAogY2xhc3MgRnVuY3Rpb25zVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CkBA
IC0zODgsMTMgKzM4OSwxMSBAQCBjbGFzcyBUZXN0RXhwZWN0YXRpb25QYXJzZXJUZXN0cyh1bml0
dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIHRlc3RfdG9rZW5pemVfbWlzc2luZ19jb2xvbihzZWxm
KToKICAgICAgICAgZXhwZWN0YXRpb24gPSBUZXN0RXhwZWN0YXRpb25QYXJzZXIudG9rZW5pemUo
J1F1eC4nKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4cGVjdGF0aW9uLmlzX21hbGZvcm1l
ZCgpLCBUcnVlKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4cGVjdGF0aW9uLmNvbW1lbnQs
ICdRdXguJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoZXhwZWN0YXRpb24uZXJyb3Jz
KSwgJ1siTWlzc2luZyBhIFwnOlwnIl0nKQogCiAgICAgZGVmIHRlc3RfdG9rZW5pemVfZXh0cmFf
Y29sb24oc2VsZik6CiAgICAgICAgIGV4cGVjdGF0aW9uID0gVGVzdEV4cGVjdGF0aW9uUGFyc2Vy
LnRva2VuaXplKCdGT08gOiA6IGJhcicpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0
YXRpb24uaXNfbWFsZm9ybWVkKCksIFRydWUpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhw
ZWN0YXRpb24uY29tbWVudCwgJ0ZPTyA6IDogYmFyJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChzdHIoZXhwZWN0YXRpb24uZXJyb3JzKSwgJ1siRXh0cmFuZW91cyBcJzpcJyJdJykKIAogICAg
IGRlZiB0ZXN0X3Rva2VuaXplX2VtcHR5X2NvbW1lbnQoc2VsZik6CkBAIC00MTIsMTMgKzQxMSwx
MSBAQCBjbGFzcyBUZXN0RXhwZWN0YXRpb25QYXJzZXJUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6
CiAgICAgZGVmIHRlc3RfdG9rZW5pemVfbWlzc2luZ19lcXVhbChzZWxmKToKICAgICAgICAgZXhw
ZWN0YXRpb24gPSBUZXN0RXhwZWN0YXRpb25QYXJzZXIudG9rZW5pemUoJ0ZPTyA6IGJhcicpCiAg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0YXRpb24uaXNfbWFsZm9ybWVkKCksIFRydWUp
Ci0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0YXRpb24uY29tbWVudCwgJ0ZPTyA6IGJh
cicpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGV4cGVjdGF0aW9uLmVycm9ycyksICJb
J01pc3NpbmcgZXhwZWN0YXRpb25zXCddIikKIAogICAgIGRlZiB0ZXN0X3Rva2VuaXplX2V4dHJh
X2VxdWFsKHNlbGYpOgogICAgICAgICBleHBlY3RhdGlvbiA9IFRlc3RFeHBlY3RhdGlvblBhcnNl
ci50b2tlbml6ZSgnRk9PIDogYmFyID0gQkFaID0gUXV4LicpCiAgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwoZXhwZWN0YXRpb24uaXNfbWFsZm9ybWVkKCksIFRydWUpCi0gICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoZXhwZWN0YXRpb24uY29tbWVudCwgJ0ZPTyA6IGJhciA9IEJBWiA9IFF1eC4nKQog
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cihleHBlY3RhdGlvbi5lcnJvcnMpLCAnWyJFeHRy
YW5lb3VzIFwnPVwnIl0nKQogCiAgICAgZGVmIHRlc3RfdG9rZW5pemVfdmFsaWQoc2VsZik6CkBA
IC00NTUsMzggKzQ1Miw4MiBAQCBjbGFzcyBUZXN0RXhwZWN0YXRpb25QYXJzZXJUZXN0cyh1bml0
dGVzdC5UZXN0Q2FzZSk6CiAKIAogY2xhc3MgVGVzdEV4cGVjdGF0aW9uU2VyaWFsaXplclRlc3Rz
KHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgdGVzdEZ1bmMpOgor
ICAgICAgICB0ZXN0X3BvcnQgPSBwb3J0LmdldCgndGVzdC13aW4teHAnLCBOb25lKQorICAgICAg
ICBzZWxmLl9zZXJpYWxpemVyID0gVGVzdEV4cGVjdGF0aW9uU2VyaWFsaXplcihUZXN0Q29uZmln
dXJhdGlvbkNvbnZlcnRlcih0ZXN0X3BvcnQuYWxsX3Rlc3RfY29uZmlndXJhdGlvbnMoKSwgdGVz
dF9wb3J0LmNvbmZpZ3VyYXRpb25fc3BlY2lmaWVyX21hY3JvcygpKSkKKyAgICAgICAgdW5pdHRl
c3QuVGVzdENhc2UuX19pbml0X18oc2VsZiwgdGVzdEZ1bmMpCisKICAgICBkZWYgYXNzZXJ0X3Jv
dW5kX3RyaXAoc2VsZiwgaW5fc3RyaW5nLCBleHBlY3RlZF9zdHJpbmc9Tm9uZSk6CiAgICAgICAg
IGV4cGVjdGF0aW9uID0gVGVzdEV4cGVjdGF0aW9uUGFyc2VyLnRva2VuaXplKGluX3N0cmluZykK
ICAgICAgICAgaWYgZXhwZWN0ZWRfc3RyaW5nIGlzIE5vbmU6CiAgICAgICAgICAgICBleHBlY3Rl
ZF9zdHJpbmcgPSBpbl9zdHJpbmcKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBlY3RlZF9z
dHJpbmcsIFRlc3RFeHBlY3RhdGlvblNlcmlhbGl6ZXIudG9fc3RyaW5nKGV4cGVjdGF0aW9uKSkK
KyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBlY3RlZF9zdHJpbmcsIHNlbGYuX3NlcmlhbGl6
ZXIudG9fc3RyaW5nKGV4cGVjdGF0aW9uKSkKIAogICAgIGRlZiBhc3NlcnRfbGlzdF9yb3VuZF90
cmlwKHNlbGYsIGluX3N0cmluZywgZXhwZWN0ZWRfc3RyaW5nPU5vbmUpOgogICAgICAgICBleHBl
Y3RhdGlvbnMgPSBUZXN0RXhwZWN0YXRpb25QYXJzZXIudG9rZW5pemVfbGlzdChpbl9zdHJpbmcp
CiAgICAgICAgIGlmIGV4cGVjdGVkX3N0cmluZyBpcyBOb25lOgogICAgICAgICAgICAgZXhwZWN0
ZWRfc3RyaW5nID0gaW5fc3RyaW5nCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0ZWRf
c3RyaW5nLCBUZXN0RXhwZWN0YXRpb25TZXJpYWxpemVyLmxpc3RfdG9fc3RyaW5nKGV4cGVjdGF0
aW9ucykpCi0KLSAgICBkZWYgYXNzZXJ0X3RvX3N0cmluZyhzZWxmLCBleHBlY3RhdGlvbiwgZXhw
ZWN0ZWRfc3RyaW5nKToKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChUZXN0RXhwZWN0YXRpb25T
ZXJpYWxpemVyLnRvX3N0cmluZyhleHBlY3RhdGlvbiksIGV4cGVjdGVkX3N0cmluZykKKyAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChleHBlY3RlZF9zdHJpbmcsIFRlc3RFeHBlY3RhdGlvblNlcmlh
bGl6ZXIubGlzdF90b19zdHJpbmcoZXhwZWN0YXRpb25zLCBTcGVjaWZpZXJTb3J0ZXIoKSkpCiAK
LSAgICBkZWYgdGVzdF9zdHJpbmdfc2VyaWFsaXplcihzZWxmKToKKyAgICBkZWYgdGVzdF91bnBh
cnNlZF90b19zdHJpbmcoc2VsZik6CiAgICAgICAgIGV4cGVjdGF0aW9uID0gVGVzdEV4cGVjdGF0
aW9uTGluZSgpCi0gICAgICAgIHNlbGYuYXNzZXJ0X3RvX3N0cmluZyhleHBlY3RhdGlvbiwgJycp
CisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLl9zZXJpYWxpemVyLnRvX3N0cmluZyhl
eHBlY3RhdGlvbiksICcnKQogICAgICAgICBleHBlY3RhdGlvbi5jb21tZW50ID0gJ1F1eC4nCi0g
ICAgICAgIHNlbGYuYXNzZXJ0X3RvX3N0cmluZyhleHBlY3RhdGlvbiwgJy8vUXV4LicpCisgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5fc2VyaWFsaXplci50b19zdHJpbmcoZXhwZWN0YXRp
b24pLCAnLy9RdXguJykKICAgICAgICAgZXhwZWN0YXRpb24ubmFtZSA9ICdiYXInCi0gICAgICAg
IHNlbGYuYXNzZXJ0X3RvX3N0cmluZyhleHBlY3RhdGlvbiwgJyA6IGJhciA9ICAvL1F1eC4nKQor
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuX3NlcmlhbGl6ZXIudG9fc3RyaW5nKGV4cGVj
dGF0aW9uKSwgJyA6IGJhciA9ICAvL1F1eC4nKQogICAgICAgICBleHBlY3RhdGlvbi5tb2RpZmll
cnMgPSBbJ2ZvbyddCi0gICAgICAgIHNlbGYuYXNzZXJ0X3RvX3N0cmluZyhleHBlY3RhdGlvbiwg
J0ZPTyA6IGJhciA9ICAvL1F1eC4nKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuX3Nl
cmlhbGl6ZXIudG9fc3RyaW5nKGV4cGVjdGF0aW9uKSwgJ0ZPTyA6IGJhciA9ICAvL1F1eC4nKQog
ICAgICAgICBleHBlY3RhdGlvbi5leHBlY3RhdGlvbnMgPSBbJ2JBeiddCi0gICAgICAgIHNlbGYu
YXNzZXJ0X3RvX3N0cmluZyhleHBlY3RhdGlvbiwgJ0ZPTyA6IGJhciA9IEJBWiAvL1F1eC4nKQor
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuX3NlcmlhbGl6ZXIudG9fc3RyaW5nKGV4cGVj
dGF0aW9uKSwgJ0ZPTyA6IGJhciA9IEJBWiAvL1F1eC4nKQogICAgICAgICBleHBlY3RhdGlvbi5l
eHBlY3RhdGlvbnMgPSBbJ2JBejEnLCAnYmFaMiddCi0gICAgICAgIHNlbGYuYXNzZXJ0X3RvX3N0
cmluZyhleHBlY3RhdGlvbiwgJ0ZPTyA6IGJhciA9IEJBWjEgQkFaMiAvL1F1eC4nKQorICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuX3NlcmlhbGl6ZXIudG9fc3RyaW5nKGV4cGVjdGF0aW9u
KSwgJ0ZPTyA6IGJhciA9IEJBWjEgQkFaMiAvL1F1eC4nKQogICAgICAgICBleHBlY3RhdGlvbi5t
b2RpZmllcnMgPSBbJ2ZvbzEnLCAnZm9PMiddCi0gICAgICAgIHNlbGYuYXNzZXJ0X3RvX3N0cmlu
ZyhleHBlY3RhdGlvbiwgJ0ZPTzEgRk9PMiA6IGJhciA9IEJBWjEgQkFaMiAvL1F1eC4nKQorICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuX3NlcmlhbGl6ZXIudG9fc3RyaW5nKGV4cGVjdGF0
aW9uKSwgJ0ZPTzEgRk9PMiA6IGJhciA9IEJBWjEgQkFaMiAvL1F1eC4nKQogICAgICAgICBleHBl
Y3RhdGlvbi5lcnJvcnMuYXBwZW5kKCdPaCB0aGUgaG9ycm9yLicpCi0gICAgICAgIHNlbGYuYXNz
ZXJ0X3RvX3N0cmluZyhleHBlY3RhdGlvbiwgJ1F1eC4nKQorICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKHNlbGYuX3NlcmlhbGl6ZXIudG9fc3RyaW5nKGV4cGVjdGF0aW9uKSwgJycpCisgICAgICAg
IGV4cGVjdGF0aW9uLm9yaWdpbmFsX3N0cmluZyA9ICdZZXMgaXQgaXMhJworICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKHNlbGYuX3NlcmlhbGl6ZXIudG9fc3RyaW5nKGV4cGVjdGF0aW9uKSwgJ1ll
cyBpdCBpcyEnKQorCisgICAgZGVmIHRlc3RfcGFyc2VkX3RvX3N0cmluZyhzZWxmKToKKyAgICAg
ICAgZXhwZWN0YXRpb25fbGluZSA9IFRlc3RFeHBlY3RhdGlvbkxpbmUoKQorICAgICAgICBleHBl
Y3RhdGlvbl9saW5lLnBhcnNlZF9idWdfbW9kaWZpZXIgPSAnQlVHWCcKKyAgICAgICAgZXhwZWN0
YXRpb25fbGluZS5uYW1lID0gJ3Rlc3QvbmFtZS9mb3IvcmVhbHouaHRtbCcKKyAgICAgICAgZXhw
ZWN0YXRpb25fbGluZS5wYXJzZWRfZXhwZWN0YXRpb25zID0gc2V0KFtJTUFHRV0pCisgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5fc2VyaWFsaXplci50b19zdHJpbmcoZXhwZWN0YXRpb25f
bGluZSksICcnKQorICAgICAgICBleHBlY3RhdGlvbl9saW5lLm1hdGNoaW5nX2NvbmZpZ3VyYXRp
b25zID0gc2V0KFtUZXN0Q29uZmlndXJhdGlvbihOb25lLCAneHAnLCAneDg2JywgJ3JlbGVhc2Un
LCAnY3B1JyldKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuX3NlcmlhbGl6ZXIudG9f
c3RyaW5nKGV4cGVjdGF0aW9uX2xpbmUpLCAnQlVHWCBYUCBSRUxFQVNFIENQVSA6IHRlc3QvbmFt
ZS9mb3IvcmVhbHouaHRtbCA9IElNQUdFJykKKyAgICAgICAgZXhwZWN0YXRpb25fbGluZS5tYXRj
aGluZ19jb25maWd1cmF0aW9ucyA9IHNldChbVGVzdENvbmZpZ3VyYXRpb24oTm9uZSwgJ3hwJywg
J3g4NicsICdyZWxlYXNlJywgJ2NwdScpLCBUZXN0Q29uZmlndXJhdGlvbihOb25lLCAneHAnLCAn
eDg2JywgJ3JlbGVhc2UnLCAnZ3B1JyldKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYu
X3NlcmlhbGl6ZXIudG9fc3RyaW5nKGV4cGVjdGF0aW9uX2xpbmUpLCAnQlVHWCBYUCBSRUxFQVNF
IDogdGVzdC9uYW1lL2Zvci9yZWFsei5odG1sID0gSU1BR0UnKQorICAgICAgICBleHBlY3RhdGlv
bl9saW5lLm1hdGNoaW5nX2NvbmZpZ3VyYXRpb25zID0gc2V0KFtUZXN0Q29uZmlndXJhdGlvbihO
b25lLCAneHAnLCAneDg2JywgJ3JlbGVhc2UnLCAnY3B1JyksIFRlc3RDb25maWd1cmF0aW9uKE5v
bmUsICd4cCcsICd4ODYnLCAnZGVidWcnLCAnZ3B1JyldKQorICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKHNlbGYuX3NlcmlhbGl6ZXIudG9fc3RyaW5nKGV4cGVjdGF0aW9uX2xpbmUpLCAnQlVHWCBY
UCBSRUxFQVNFIENQVSA6IHRlc3QvbmFtZS9mb3IvcmVhbHouaHRtbCA9IElNQUdFXG5CVUdYIFhQ
IERFQlVHIEdQVSA6IHRlc3QvbmFtZS9mb3IvcmVhbHouaHRtbCA9IElNQUdFJykKKworICAgIGRl
ZiB0ZXN0X3BhcnNlZF9leHBlY3RhdGlvbnNfc3RyaW5nKHNlbGYpOgorICAgICAgICBleHBlY3Rh
dGlvbl9saW5lID0gVGVzdEV4cGVjdGF0aW9uTGluZSgpCisgICAgICAgIGV4cGVjdGF0aW9uX2xp
bmUucGFyc2VkX2V4cGVjdGF0aW9ucyA9IHNldChbXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChzZWxmLl9zZXJpYWxpemVyLl9wYXJzZWRfZXhwZWN0YXRpb25zX3N0cmluZyhleHBlY3RhdGlv
bl9saW5lKSwgJycpCisgICAgICAgIGV4cGVjdGF0aW9uX2xpbmUucGFyc2VkX2V4cGVjdGF0aW9u
cyA9IHNldChbSU1BR0VfUExVU19URVhUXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxm
Ll9zZXJpYWxpemVyLl9wYXJzZWRfZXhwZWN0YXRpb25zX3N0cmluZyhleHBlY3RhdGlvbl9saW5l
KSwgJ2ltYWdlK3RleHQnKQorICAgICAgICBleHBlY3RhdGlvbl9saW5lLnBhcnNlZF9leHBlY3Rh
dGlvbnMgPSBzZXQoW1BBU1MsIEZBSUxdKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYu
X3NlcmlhbGl6ZXIuX3BhcnNlZF9leHBlY3RhdGlvbnNfc3RyaW5nKGV4cGVjdGF0aW9uX2xpbmUp
LCAncGFzcyBmYWlsJykKKyAgICAgICAgZXhwZWN0YXRpb25fbGluZS5wYXJzZWRfZXhwZWN0YXRp
b25zID0gc2V0KFtGQUlMLCBQQVNTXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLl9z
ZXJpYWxpemVyLl9wYXJzZWRfZXhwZWN0YXRpb25zX3N0cmluZyhleHBlY3RhdGlvbl9saW5lKSwg
J3Bhc3MgZmFpbCcpCisKKyAgICBkZWYgdGVzdF9wYXJzZWRfbW9kaWZpZXJfc3RyaW5nKHNlbGYp
OgorICAgICAgICBleHBlY3RhdGlvbl9saW5lID0gVGVzdEV4cGVjdGF0aW9uTGluZSgpCisgICAg
ICAgIGV4cGVjdGF0aW9uX2xpbmUucGFyc2VkX2J1Z19tb2RpZmllciA9ICdnYXJkZW4tby1tYXRp
YycKKyAgICAgICAgZXhwZWN0YXRpb25fbGluZS5wYXJzZWRfbW9kaWZpZXJzID0gWydmb3InLCAn
dGhlJ10KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLl9zZXJpYWxpemVyLl9wYXJzZWRf
bW9kaWZpZXJfc3RyaW5nKGV4cGVjdGF0aW9uX2xpbmUsIFtdKSwgJ2dhcmRlbi1vLW1hdGljIGZv
ciB0aGUnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuX3NlcmlhbGl6ZXIuX3BhcnNl
ZF9tb2RpZmllcl9zdHJpbmcoZXhwZWN0YXRpb25fbGluZSwgWyd3aW4nXSksICdnYXJkZW4tby1t
YXRpYyBmb3IgdGhlIHdpbicpCisgICAgICAgIGV4cGVjdGF0aW9uX2xpbmUucGFyc2VkX2J1Z19t
b2RpZmllciA9ICcnCisgICAgICAgIGV4cGVjdGF0aW9uX2xpbmUucGFyc2VkX21vZGlmaWVycyA9
IFtdCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5fc2VyaWFsaXplci5fcGFyc2VkX21v
ZGlmaWVyX3N0cmluZyhleHBlY3RhdGlvbl9saW5lLCBbXSksICcnKQorICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKHNlbGYuX3NlcmlhbGl6ZXIuX3BhcnNlZF9tb2RpZmllcl9zdHJpbmcoZXhwZWN0
YXRpb25fbGluZSwgWyd3aW4nXSksICd3aW4nKQorCisgICAgZGVmIHRlc3RfZm9ybWF0X3Jlc3Vs
dChzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChUZXN0RXhwZWN0YXRpb25TZXJpYWxp
emVyLl9mb3JtYXRfcmVzdWx0KCdtb2RpZmllcnMnLCAnbmFtZScsICdleHBlY3RhdGlvbnMnLCAn
Y29tbWVudCcpLCAnTU9ESUZJRVJTIDogbmFtZSA9IEVYUEVDVEFUSU9OUyAvL2NvbW1lbnQnKQor
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFRlc3RFeHBlY3RhdGlvblNlcmlhbGl6ZXIuX2Zvcm1h
dF9yZXN1bHQoJ21vZGlmaWVycycsICduYW1lJywgJ2V4cGVjdGF0aW9ucycsIE5vbmUpLCAnTU9E
SUZJRVJTIDogbmFtZSA9IEVYUEVDVEFUSU9OUycpCiAKICAgICBkZWYgdGVzdF9zdHJpbmdfcm91
bmR0cmlwKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydF9yb3VuZF90cmlwKCcnKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>