<?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>64554</bug_id>
          
          <creation_ts>2011-07-14 13:01:59 -0700</creation_ts>
          <short_desc>Remove the notion of TestExpectationLine.valid, start storing parsing errors in expectations themselves.</short_desc>
          <delta_ts>2011-07-15 08:51:48 -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>64531</dependson>
          <blocked>64385</blocked>
    
    <blocked>64559</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dimitri Glazkov (Google)">dglazkov</reporter>
          <assigned_to name="Dimitri Glazkov (Google)">dglazkov</assigned_to>
          <cc>abarth</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>437276</commentid>
    <comment_count>0</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-07-14 13:01:59 -0700</bug_when>
    <thetext>Remove the notion of TestExpectationLine.valid, start storing parsing errors in expectations themselves.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>437284</commentid>
    <comment_count>1</comment_count>
      <attachid>100852</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-07-14 13:09:53 -0700</bug_when>
    <thetext>Created attachment 100852
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>437563</commentid>
    <comment_count>2</comment_count>
      <attachid>100852</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-07-14 22:47:43 -0700</bug_when>
    <thetext>Comment on attachment 100852
Patch

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

&gt; Tools/Scripts/webkitpy/layout_tests/models/test_expectations.py:726
&gt; +            modifiers = [o for o in options if o in self.MODIFIERS]

normally we&apos;d use the variable option instead of o</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>437564</commentid>
    <comment_count>3</comment_count>
      <attachid>100852</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-07-14 22:48:40 -0700</bug_when>
    <thetext>Comment on attachment 100852
Patch

I mean, I feel like I don&apos;t fully understand this change, which makes me hesitant to review it.  However, the direction looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>437771</commentid>
    <comment_count>4</comment_count>
      <attachid>100852</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-07-15 08:51:43 -0700</bug_when>
    <thetext>Comment on attachment 100852
Patch

Clearing flags on attachment: 100852

Committed r91071: &lt;http://trac.webkit.org/changeset/91071&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>437772</commentid>
    <comment_count>5</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-07-15 08:51:48 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>100852</attachid>
            <date>2011-07-14 13:09:53 -0700</date>
            <delta_ts>2011-07-15 08:51:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-64554-20110714130952.patch</filename>
            <type>text/plain</type>
            <size>21106</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTEwMDIKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCAzOTdkMjZhYTBkODZkNTFjNDE1OWVmMzYzNDBjM2RiYzk3
MjE0MjY3Li43NDI5YTU0NWRlNDI4Y2IxZGNmMDg4ZTFjNDk0Zjc4ZjhhMGYwOTAyIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjMg
QEAKIDIwMTEtMDctMTQgIERpbWl0cmkgR2xhemtvdiAgPGRnbGF6a292QGNocm9taXVtLm9yZz4K
IAorICAgICAgICBSZW1vdmUgdGhlIG5vdGlvbiBvZiBUZXN0RXhwZWN0YXRpb25MaW5lLnZhbGlk
LCBzdGFydCBzdG9yaW5nIHBhcnNpbmcgZXJyb3JzIGluIGV4cGVjdGF0aW9ucyB0aGVtc2VsdmVz
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ1NTQK
KworICAgICAgICBUaGlzIG1vdmVzIHVzIHRvd2FyZCB0aGUgd29ybGQgd2hlcmUgZXJyb3JzIGFy
ZSBjb2xsZWN0ZWQgb24gdGhlIGV4cGVjdGF0aW9ucywgd2hpY2ggYWxsb3dzIHVzIHRvCisgICAg
ICAgIGVhc2lseSBlbnVtZXJhdGUgdGhlbSwga2VlcCBhc3NvY2lhdGlvbiB3aXRoIHRoZSBwb2lu
dCBvZiBvcmlnaW4sIGFuZCBmcmVlbHkgcGFzcyBUZXN0RXhwZWN0YXRpb25MaW5lIGluc3RhbmNl
cyBhcm91bmQuCisKKyAgICAgICAgQWxzbyBlbGltaW5hdGUgdGhlIHZhbGlkYXRvciBpZGVhLCBz
aW5jZSB2YWxpZGF0aW9uIGlzIGEgY29udGV4dC1kZXBlbmRlbnQgY29uY2VwdCBhbmQgaGFzIHRv
IGJlIGRlY291cGxlZCBmcm9tIGluaXRpYWwKKyAgICAgICAgcGFyc2luZy4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2V4cGVjdGF0aW9ucy5weTogUmVtb3ZlZCBUZXN0RXhw
ZWN0YXRpb24udmFsaWQsIHZhbGlkYXRvciwKKyAgICAgICAgICAgIGNoYW5nZWQgVGVzdEV4cGVj
dGF0aW9uUGFyc2VyIHRvIGNvbGxlY3QgZXJyb3JzIGluIFRlc3RFeHBlY3RhdGlvbkxpbmUsIHJl
ZmFjdG9yZWQgc3Vycm91bmRpbmcgY29kZS4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9tb2RlbHMvdGVzdF9leHBlY3RhdGlvbnNfdW5pdHRlc3QucHk6IENoYW5nZWQg
dGVzdHMgdG8gYWNjb21tb2RhdGUgY2hhbmdlcy4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L3N0eWxlL2NoZWNrZXJzL3Rlc3RfZXhwZWN0YXRpb25zX3VuaXR0ZXN0LnB5OiBEaXR0by4KKwor
MjAxMS0wNy0xNCAgRGltaXRyaSBHbGF6a292ICA8ZGdsYXprb3ZAY2hyb21pdW0ub3JnPgorCiAg
ICAgICAgIEludHJvZHVjZSBUZXN0RXhwZWN0YXRpb25zTW9kZWwsIHNwbGl0IG91dCBvZiBUZXN0
RXhwZWN0YXRpb25zLgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NjQ1MzEKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvbW9kZWxzL3Rlc3RfZXhwZWN0YXRpb25zLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfZXhwZWN0YXRpb25zLnB5CmluZGV4IDkyYzJjMDQ2
YTJmNmVjZjM4ZjMxOGY2NDllMjRlNjE2NzU1YThjZDguLmZhMTE4ODVkNzVlMmM4MzY5MzdlN2M4
YzNlZTc4MTE3MDZlZDZhNmMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL21vZGVscy90ZXN0X2V4cGVjdGF0aW9ucy5weQorKysgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9leHBlY3RhdGlvbnMucHkKQEAgLTE0
Myw3ICsxNDMsNyBAQCBjbGFzcyBUZXN0RXhwZWN0YXRpb25TZXJpYWxpemVyOgogICAgIEBjbGFz
c21ldGhvZAogICAgIGRlZiB0b19zdHJpbmcoY2xzLCBleHBlY3RhdGlvbik6CiAgICAgICAgIHJl
c3VsdCA9IFtdCi0gICAgICAgIGlmIGV4cGVjdGF0aW9uLm1hbGZvcm1lZDoKKyAgICAgICAgaWYg
ZXhwZWN0YXRpb24uaXNfbWFsZm9ybWVkKCk6CiAgICAgICAgICAgICByZXN1bHQuYXBwZW5kKGV4
cGVjdGF0aW9uLmNvbW1lbnQpCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBpZiBleHBlY3Rh
dGlvbi5uYW1lIGlzIE5vbmU6CkBAIC0xNzgsNyArMTc4LDYgQEAgY2xhc3MgVGVzdEV4cGVjdGF0
aW9uUGFyc2VyOgogCiAgICAgICAgICIiIgogICAgICAgICBleHBlY3RhdGlvbiA9IFRlc3RFeHBl
Y3RhdGlvbkxpbmUoKQotICAgICAgICBlcnJvcnMgPSBbXQogICAgICAgICBjb21tZW50X2luZGV4
ID0gZXhwZWN0YXRpb25fc3RyaW5nLmZpbmQoIi8vIikKICAgICAgICAgaWYgY29tbWVudF9pbmRl
eCA9PSAtMToKICAgICAgICAgICAgIGNvbW1lbnRfaW5kZXggPSBsZW4oZXhwZWN0YXRpb25fc3Ry
aW5nKQpAQCAtMTg3LDQxICsxODYsMzEgQEAgY2xhc3MgVGVzdEV4cGVjdGF0aW9uUGFyc2VyOgog
CiAgICAgICAgIHJlbWFpbmluZ19zdHJpbmcgPSByZS5zdWIociJccysiLCAiICIsIGV4cGVjdGF0
aW9uX3N0cmluZ1s6Y29tbWVudF9pbmRleF0uc3RyaXAoKSkKICAgICAgICAgaWYgbGVuKHJlbWFp
bmluZ19zdHJpbmcpID09IDA6Ci0gICAgICAgICAgICBleHBlY3RhdGlvbi5tYWxmb3JtZWQgPSBG
YWxzZQotICAgICAgICAgICAgZXhwZWN0YXRpb24udmFsaWQgPSBUcnVlCi0gICAgICAgICAgICBy
ZXR1cm4gZXhwZWN0YXRpb24sIGVycm9ycworICAgICAgICAgICAgcmV0dXJuIGV4cGVjdGF0aW9u
CiAKICAgICAgICAgcGFydHMgPSByZW1haW5pbmdfc3RyaW5nLnNwbGl0KCc6JykKICAgICAgICAg
aWYgbGVuKHBhcnRzKSAhPSAyOgotICAgICAgICAgICAgZXJyb3JzLmFwcGVuZCgoIk1pc3Npbmcg
YSAnOicgaW4iIGlmIGxlbihwYXJ0cykgPCAyIGVsc2UgIkV4dHJhbmVvdXMgJzonIGluIiwgIici
ICsgZXhwZWN0YXRpb25fc3RyaW5nICsgIiciKSkKKyAgICAgICAgICAgIGV4cGVjdGF0aW9uLmVy
cm9ycy5hcHBlbmQoIk1pc3NpbmcgYSAnOiciIGlmIGxlbihwYXJ0cykgPCAyIGVsc2UgIkV4dHJh
bmVvdXMgJzonIikKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHRlc3RfYW5kX2V4cGVjdGF0
aW9uID0gcGFydHNbMV0uc3BsaXQoJz0nKQogICAgICAgICAgICAgaWYgbGVuKHRlc3RfYW5kX2V4
cGVjdGF0aW9uKSAhPSAyOgotICAgICAgICAgICAgICAgIGVycm9ycy5hcHBlbmQoKCJNaXNzaW5n
IGV4cGVjdGF0aW9ucyBpbiIgaWYgbGVuKHRlc3RfYW5kX2V4cGVjdGF0aW9uKSA8IDIgZWxzZSAi
RXh0cmFuZW91cyAnPScgaW4iLCAiJyIgKyBleHBlY3RhdGlvbl9zdHJpbmcgKyAiJyIpKQorICAg
ICAgICAgICAgICAgIGV4cGVjdGF0aW9uLmVycm9ycy5hcHBlbmQoIk1pc3NpbmcgZXhwZWN0YXRp
b25zIiBpZiBsZW4odGVzdF9hbmRfZXhwZWN0YXRpb24pIDwgMiBlbHNlICJFeHRyYW5lb3VzICc9
JyIpCiAKLSAgICAgICAgaWYgbGVuKGVycm9ycykgPiAwOgorICAgICAgICBpZiBleHBlY3RhdGlv
bi5pc19tYWxmb3JtZWQoKToKICAgICAgICAgICAgIGV4cGVjdGF0aW9uLmNvbW1lbnQgPSBleHBl
Y3RhdGlvbl9zdHJpbmcKLSAgICAgICAgICAgIGV4cGVjdGF0aW9uLm1hbGZvcm1lZCA9IFRydWUK
LSAgICAgICAgICAgIGV4cGVjdGF0aW9uLnZhbGlkID0gRmFsc2UKICAgICAgICAgZWxzZToKLSAg
ICAgICAgICAgIGV4cGVjdGF0aW9uLm1hbGZvcm1lZCA9IEZhbHNlCi0gICAgICAgICAgICBleHBl
Y3RhdGlvbi52YWxpZCA9IFRydWUKICAgICAgICAgICAgIGV4cGVjdGF0aW9uLm1vZGlmaWVycyA9
IGNscy5fc3BsaXRfc3BhY2Vfc2VwYXJhdGVkKHBhcnRzWzBdKQogICAgICAgICAgICAgZXhwZWN0
YXRpb24ubmFtZSA9IHRlc3RfYW5kX2V4cGVjdGF0aW9uWzBdLnN0cmlwKCkKICAgICAgICAgICAg
IGV4cGVjdGF0aW9uLmV4cGVjdGF0aW9ucyA9IGNscy5fc3BsaXRfc3BhY2Vfc2VwYXJhdGVkKHRl
c3RfYW5kX2V4cGVjdGF0aW9uWzFdKQogCi0gICAgICAgIHJldHVybiBleHBlY3RhdGlvbiwgZXJy
b3JzCisgICAgICAgIHJldHVybiBleHBlY3RhdGlvbgogCiAgICAgQGNsYXNzbWV0aG9kCi0gICAg
ZGVmIHBhcnNlX2xpc3QoY2xzLCBleHBlY3RhdGlvbnNfc3RyaW5nLCB2YWxpZGF0b3IpOgorICAg
IGRlZiBwYXJzZV9saXN0KGNscywgZXhwZWN0YXRpb25zX3N0cmluZyk6CiAgICAgICAgICIiIlJl
dHVybnMgYSBsaXN0IG9mIFRlc3RFeHBlY3RhdGlvbkxpbmVzLCBvbmUgZm9yIGVhY2ggbGluZSBp
biBleHBlY3RhdGlvbnNfc3RyaW5nLiIiIgogICAgICAgICBleHBlY3RhdGlvbnMgPSBbXQotICAg
ICAgICBsaW5lX251bWJlciA9IDAKICAgICAgICAgZm9yIGxpbmUgaW4gZXhwZWN0YXRpb25zX3N0
cmluZy5zcGxpdCgiXG4iKToKLSAgICAgICAgICAgIGV4cGVjdGF0aW9uLCBlcnJvcnMgPSBjbHMu
cGFyc2UobGluZSkKLSAgICAgICAgICAgIGxpbmVfbnVtYmVyICs9IDEKLSAgICAgICAgICAgIGV4
cGVjdGF0aW9uLnZhbGlkID0gdmFsaWRhdG9yLnZhbGlkYXRlKGxpbmVfbnVtYmVyLCBleHBlY3Rh
dGlvbiwgZXJyb3JzKQotICAgICAgICAgICAgZXhwZWN0YXRpb25zLmFwcGVuZChleHBlY3RhdGlv
bikKKyAgICAgICAgICAgIGV4cGVjdGF0aW9ucy5hcHBlbmQoY2xzLnBhcnNlKGxpbmUpKQogICAg
ICAgICByZXR1cm4gZXhwZWN0YXRpb25zCiAKICAgICBAY2xhc3NtZXRob2QKQEAgLTI0MCwxMCAr
MjI5LDEwIEBAIGNsYXNzIFRlc3RFeHBlY3RhdGlvbkxpbmU6CiAgICAgICAgIHNlbGYubW9kaWZp
ZXJzID0gW10KICAgICAgICAgc2VsZi5leHBlY3RhdGlvbnMgPSBbXQogICAgICAgICBzZWxmLmNv
bW1lbnQgPSBOb25lCi0gICAgICAgICMgRklYTUU6IFNob3VsZCB2YWxpZCBhbmQgbWFsZm9ybWVk
IGJlIGEgc2luZ2xlIHN0YXRlIGZsYWc/IFByb2JhYmx5IG5vdCwgc2luY2UgIm1hbGZvcm1lZCIg
aXMgYWxzbyAibm90IHZhbGlkIi4KLSAgICAgICAgc2VsZi52YWxpZCA9IEZhbHNlCi0gICAgICAg
IHNlbGYubWFsZm9ybWVkID0gRmFsc2UKKyAgICAgICAgc2VsZi5lcnJvcnMgPSBbXQogCisgICAg
ZGVmIGlzX21hbGZvcm1lZChzZWxmKToKKyAgICAgICAgcmV0dXJuIGxlbihzZWxmLmVycm9ycykg
PiAwCiAKICMgRklYTUU6IFJlZmFjdG9yIHRvIHVzZSBUZXN0RXhwZWN0YXRpb25MaW5lIGFzIGRh
dGEgaXRlbQogIyBGSVhNRTogUmVmYWN0b3IgQVBJIHRvIGJlIGEgcHJvcGVyIENSVUQuCkBAIC01
NzYsMTQgKzU2NSwxMyBAQCBjbGFzcyBUZXN0RXhwZWN0YXRpb25zOgogICAgICAgICAjIGludmFs
aWQgb25lcy4KICAgICAgICAgc2VsZi5fYWxsX2V4cGVjdGF0aW9ucyA9IHt9CiAKLSAgICAgICAg
c2VsZi5fbWF0Y2hlciA9IE1vZGlmaWVyTWF0Y2hlcihzZWxmLl90ZXN0X2NvbmZpZykKLSAgICAg
ICAgc2VsZi5fb3ZlcnJpZGVzX2FsbG93ZWQgPSBGYWxzZQotICAgICAgICBzZWxmLl9leHBlY3Rh
dGlvbnMgPSBUZXN0RXhwZWN0YXRpb25QYXJzZXIucGFyc2VfbGlzdChleHBlY3RhdGlvbnMsIHNl
bGYpCisgICAgICAgIHNlbGYuX2V4cGVjdGF0aW9ucyA9IFRlc3RFeHBlY3RhdGlvblBhcnNlci5w
YXJzZV9saXN0KGV4cGVjdGF0aW9ucykKKyAgICAgICAgc2VsZi5fYWRkX2V4cGVjdGF0aW9ucyhz
ZWxmLl9leHBlY3RhdGlvbnMsIG92ZXJyaWRlc19hbGxvd2VkPUZhbHNlKQogCiAgICAgICAgIGlm
IG92ZXJyaWRlczoKLSAgICAgICAgICAgIHNlbGYuX292ZXJyaWRlc19hbGxvd2VkID0gVHJ1ZQot
ICAgICAgICAgICAgc2VsZi5fZXhwZWN0YXRpb25zICs9IFRlc3RFeHBlY3RhdGlvblBhcnNlci5w
YXJzZV9saXN0KG92ZXJyaWRlcywgc2VsZikKLSAgICAgICAgICAgIHNlbGYuX292ZXJyaWRlc19h
bGxvd2VkID0gRmFsc2UKKyAgICAgICAgICAgIG92ZXJyaWRlc19leHBlY3RhdGlvbnMgPSBUZXN0
RXhwZWN0YXRpb25QYXJzZXIucGFyc2VfbGlzdChvdmVycmlkZXMpCisgICAgICAgICAgICBzZWxm
Ll9hZGRfZXhwZWN0YXRpb25zKG92ZXJyaWRlc19leHBlY3RhdGlvbnMsIG92ZXJyaWRlc19hbGxv
d2VkPVRydWUpCisgICAgICAgICAgICBzZWxmLl9leHBlY3RhdGlvbnMgKz0gb3ZlcnJpZGVzX2V4
cGVjdGF0aW9ucwogCiAgICAgICAgIHNlbGYuX2hhbmRsZV9hbnlfcmVhZF9lcnJvcnMoKQogICAg
ICAgICBzZWxmLl9wcm9jZXNzX3Rlc3RzX3dpdGhvdXRfZXhwZWN0YXRpb25zKCkKQEAgLTY4Niw3
ICs2NzQsNyBAQCBjbGFzcyBUZXN0RXhwZWN0YXRpb25zOgogICAgIGRlZiByZW1vdmVfcmViYXNl
bGluZWRfdGVzdHMoc2VsZiwgdGVzdHMpOgogICAgICAgICAiIiJSZXR1cm5zIGEgY29weSBvZiB0
aGUgZXhwZWN0YXRpb25zIHdpdGggdGhlIHRlc3RzIHJlbW92ZWQuIiIiCiAgICAgICAgIGRlZiB3
aXRob3V0X3JlYmFzZWxpbmVfbW9kaWZpZXIoZXhwZWN0YXRpb24pOgotICAgICAgICAgICAgcmV0
dXJuIG5vdCAoZXhwZWN0YXRpb24udmFsaWQgYW5kIGV4cGVjdGF0aW9uLm5hbWUgaW4gdGVzdHMg
YW5kICJyZWJhc2VsaW5lIiBpbiBleHBlY3RhdGlvbi5tb2RpZmllcnMpCisgICAgICAgICAgICBy
ZXR1cm4gbm90IChub3QgZXhwZWN0YXRpb24uaXNfbWFsZm9ybWVkKCkgYW5kIGV4cGVjdGF0aW9u
Lm5hbWUgaW4gdGVzdHMgYW5kICJyZWJhc2VsaW5lIiBpbiBleHBlY3RhdGlvbi5tb2RpZmllcnMp
CiAKICAgICAgICAgcmV0dXJuIFRlc3RFeHBlY3RhdGlvblNlcmlhbGl6ZXIubGlzdF90b19zdHJp
bmcoZmlsdGVyKHdpdGhvdXRfcmViYXNlbGluZV9tb2RpZmllciwgc2VsZi5fZXhwZWN0YXRpb25z
KSkKIApAQCAtNjk2LDQ5ICs2ODQsNTEgQEAgY2xhc3MgVGVzdEV4cGVjdGF0aW9uczoKICAgICAg
ICAgc2VsZi5fYWxsX2V4cGVjdGF0aW9uc1t0ZXN0XS5hcHBlbmQoCiAgICAgICAgICAgICBNb2Rp
ZmllcnNBbmRFeHBlY3RhdGlvbnMob3B0aW9ucywgZXhwZWN0YXRpb25zKSkKIAotICAgIGRlZiB2
YWxpZGF0ZShzZWxmLCBsaW5lbm8sIGV4cGVjdGF0aW9uLCBzeW50YXhfZXJyb3JzKToKLSAgICAg
ICAgdGVzdF9saXN0X3BhdGggPSBleHBlY3RhdGlvbi5uYW1lCi0gICAgICAgIG9wdGlvbnMgPSBl
eHBlY3RhdGlvbi5tb2RpZmllcnMKLSAgICAgICAgZXhwZWN0YXRpb25zID0gZXhwZWN0YXRpb24u
ZXhwZWN0YXRpb25zCi0gICAgICAgIG1hdGNoZXIgPSBzZWxmLl9tYXRjaGVyCi0gICAgICAgIG92
ZXJyaWRlc19hbGxvd2VkID0gc2VsZi5fb3ZlcnJpZGVzX2FsbG93ZWQKKyAgICBkZWYgX2FkZF9l
eHBlY3RhdGlvbnMoc2VsZiwgZXhwZWN0YXRpb25fbGlzdCwgb3ZlcnJpZGVzX2FsbG93ZWQpOgor
ICAgICAgICBtYXRjaGVyID0gTW9kaWZpZXJNYXRjaGVyKHNlbGYuX3Rlc3RfY29uZmlnKQogCi0g
ICAgICAgIGZvciAobWVzc2FnZSwgc291cmNlKSBpbiBzeW50YXhfZXJyb3JzOgotICAgICAgICAg
ICAgc2VsZi5fYWRkX2Vycm9yKGxpbmVubywgbWVzc2FnZSwgc291cmNlKQorICAgICAgICBsaW5l
bm8gPSAwCisgICAgICAgIGZvciBleHBlY3RhdGlvbiBpbiBleHBlY3RhdGlvbl9saXN0OgorICAg
ICAgICAgICAgbGluZW5vICs9IDEKKyAgICAgICAgICAgIHRlc3RfbGlzdF9wYXRoID0gZXhwZWN0
YXRpb24ubmFtZQorICAgICAgICAgICAgb3B0aW9ucyA9IGV4cGVjdGF0aW9uLm1vZGlmaWVycwor
ICAgICAgICAgICAgZXhwZWN0YXRpb25zID0gZXhwZWN0YXRpb24uZXhwZWN0YXRpb25zCiAKLSAg
ICAgICAgaWYgbm90IGV4cGVjdGF0aW9uczoKLSAgICAgICAgICAgIHJldHVybiBGYWxzZQorICAg
ICAgICAgICAgZm9yIGVycm9yIGluIGV4cGVjdGF0aW9uLmVycm9yczoKKyAgICAgICAgICAgICAg
ICBzZWxmLl9hZGRfZXJyb3IobGluZW5vLCBlcnJvciwgZXhwZWN0YXRpb24uY29tbWVudCkKIAot
ICAgICAgICBzZWxmLl9hZGRfdG9fYWxsX2V4cGVjdGF0aW9ucyh0ZXN0X2xpc3RfcGF0aCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiICIuam9pbihvcHRpb25zKS51
cHBlcigpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgIi5qb2lu
KGV4cGVjdGF0aW9ucykudXBwZXIoKSkKKyAgICAgICAgICAgIGlmIG5vdCBleHBlY3RhdGlvbnM6
CisgICAgICAgICAgICAgICAgY29udGludWUKIAotICAgICAgICBudW1fbWF0Y2hlcyA9IHNlbGYu
X2NoZWNrX29wdGlvbnMobWF0Y2hlciwgb3B0aW9ucywgbGluZW5vLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF9saXN0X3BhdGgpCi0gICAgICAgIGlmIG51
bV9tYXRjaGVzID09IE1vZGlmaWVyTWF0Y2hlci5OT19NQVRDSDoKLSAgICAgICAgICAgIHJldHVy
biBGYWxzZQorICAgICAgICAgICAgc2VsZi5fYWRkX3RvX2FsbF9leHBlY3RhdGlvbnModGVzdF9s
aXN0X3BhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIg
Ii5qb2luKG9wdGlvbnMpLnVwcGVyKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICIgIi5qb2luKGV4cGVjdGF0aW9ucykudXBwZXIoKSkKIAotICAgICAgICBl
eHBlY3RhdGlvbnMgPSBzZWxmLl9wYXJzZV9leHBlY3RhdGlvbnMoZXhwZWN0YXRpb25zLCBsaW5l
bm8sCi0gICAgICAgICAgICB0ZXN0X2xpc3RfcGF0aCkKKyAgICAgICAgICAgIG51bV9tYXRjaGVz
ID0gc2VsZi5fY2hlY2tfb3B0aW9ucyhtYXRjaGVyLCBvcHRpb25zLCBsaW5lbm8sCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF9saXN0X3BhdGgpCisg
ICAgICAgICAgICBpZiBudW1fbWF0Y2hlcyA9PSBNb2RpZmllck1hdGNoZXIuTk9fTUFUQ0g6Cisg
ICAgICAgICAgICAgICAgY29udGludWUKIAotICAgICAgICBzZWxmLl9jaGVja19vcHRpb25zX2Fn
YWluc3RfZXhwZWN0YXRpb25zKG9wdGlvbnMsIGV4cGVjdGF0aW9ucywKLSAgICAgICAgICAgIGxp
bmVubywgdGVzdF9saXN0X3BhdGgpCisgICAgICAgICAgICBleHBlY3RhdGlvbnMgPSBzZWxmLl9w
YXJzZV9leHBlY3RhdGlvbnMoZXhwZWN0YXRpb25zLCBsaW5lbm8sCisgICAgICAgICAgICAgICAg
dGVzdF9saXN0X3BhdGgpCiAKLSAgICAgICAgaWYgc2VsZi5fY2hlY2tfcGF0aF9kb2VzX25vdF9l
eGlzdChsaW5lbm8sIHRlc3RfbGlzdF9wYXRoKToKLSAgICAgICAgICAgIHJldHVybiBGYWxzZQor
ICAgICAgICAgICAgc2VsZi5fY2hlY2tfb3B0aW9uc19hZ2FpbnN0X2V4cGVjdGF0aW9ucyhvcHRp
b25zLCBleHBlY3RhdGlvbnMsCisgICAgICAgICAgICAgICAgbGluZW5vLCB0ZXN0X2xpc3RfcGF0
aCkKIAotICAgICAgICBpZiBub3Qgc2VsZi5fZnVsbF90ZXN0X2xpc3Q6Ci0gICAgICAgICAgICB0
ZXN0cyA9IFt0ZXN0X2xpc3RfcGF0aF0KLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHRlc3Rz
ID0gc2VsZi5fZXhwYW5kX3Rlc3RzKHRlc3RfbGlzdF9wYXRoKQorICAgICAgICAgICAgaWYgc2Vs
Zi5fY2hlY2tfcGF0aF9kb2VzX25vdF9leGlzdChsaW5lbm8sIHRlc3RfbGlzdF9wYXRoKToKKyAg
ICAgICAgICAgICAgICBjb250aW51ZQogCi0gICAgICAgIG1vZGlmaWVycyA9IFtvIGZvciBvIGlu
IG9wdGlvbnMgaWYgbyBpbiBzZWxmLk1PRElGSUVSU10KLSAgICAgICAgIyBGSVhNRTogRWxpbWlu
YXRlIHRoaXMgYXdmdWwgZXJyb3IgcGx1bWJpbmcKLSAgICAgICAgbW9kaWZpZXJfZXJyb3JzID0g
c2VsZi5fbW9kZWwuYWRkX3Rlc3RzKHRlc3RzLCBleHBlY3RhdGlvbnMsIHRlc3RfbGlzdF9wYXRo
LCBsaW5lbm8sIG1vZGlmaWVycywgbnVtX21hdGNoZXMsIG9wdGlvbnMsIG92ZXJyaWRlc19hbGxv
d2VkKQotICAgICAgICBmb3IgKG1lc3NhZ2UsIHNvdXJjZSkgaW4gbW9kaWZpZXJfZXJyb3JzOgot
ICAgICAgICAgICAgc2VsZi5fYWRkX2Vycm9yKGxpbmVubywgbWVzc2FnZSwgc291cmNlKQorICAg
ICAgICAgICAgaWYgbm90IHNlbGYuX2Z1bGxfdGVzdF9saXN0OgorICAgICAgICAgICAgICAgIHRl
c3RzID0gW3Rlc3RfbGlzdF9wYXRoXQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAg
ICB0ZXN0cyA9IHNlbGYuX2V4cGFuZF90ZXN0cyh0ZXN0X2xpc3RfcGF0aCkKKworICAgICAgICAg
ICAgbW9kaWZpZXJzID0gW28gZm9yIG8gaW4gb3B0aW9ucyBpZiBvIGluIHNlbGYuTU9ESUZJRVJT
XQorICAgICAgICAgICAgIyBGSVhNRTogRWxpbWluYXRlIHRoaXMgYXdmdWwgZXJyb3IgcGx1bWJp
bmcKKyAgICAgICAgICAgIG1vZGlmaWVyX2Vycm9ycyA9IHNlbGYuX21vZGVsLmFkZF90ZXN0cyh0
ZXN0cywgZXhwZWN0YXRpb25zLCB0ZXN0X2xpc3RfcGF0aCwgbGluZW5vLCBtb2RpZmllcnMsIG51
bV9tYXRjaGVzLCBvcHRpb25zLCBvdmVycmlkZXNfYWxsb3dlZCkKKyAgICAgICAgICAgIGZvciAo
bWVzc2FnZSwgc291cmNlKSBpbiBtb2RpZmllcl9lcnJvcnM6CisgICAgICAgICAgICAgICAgc2Vs
Zi5fYWRkX2Vycm9yKGxpbmVubywgbWVzc2FnZSwgc291cmNlKQogCi0gICAgICAgIHJldHVybiBU
cnVlCiAKICAgICAjIEZJWE1FOiBSZW1vdmUsIG5vIGxvbmdlciB1c2VkIGFueXdoZXJlPwogICAg
IGRlZiBfZ2V0X29wdGlvbnNfbGlzdChzZWxmLCBsaXN0U3RyaW5nKToKQEAgLTgzMyw3ICs4MjMs
NyBAQCBjbGFzcyBUZXN0RXhwZWN0YXRpb25zOgogICAgICAgICAiIiJSZXBvcnRzIGFuIGVycm9y
IHRoYXQgd2lsbCBwcmV2ZW50IHJ1bm5pbmcgdGhlIHRlc3RzLiBEb2VzIG5vdAogICAgICAgICBp
bW1lZGlhdGVseSByYWlzZSBhbiBleGNlcHRpb24gYmVjYXVzZSB3ZSdkIGxpa2UgdG8gYWdncmVn
YXRlIGFsbCB0aGUKICAgICAgICAgZXJyb3JzIHNvIHRoZXkgY2FuIGFsbCBiZSBwcmludGVkIG91
dC4iIiIKLSAgICAgICAgc2VsZi5fZXJyb3JzLmFwcGVuZCgnTGluZTolcyAlcyAlcycgJSAobGlu
ZW5vLCBtc2csIHBhdGgpKQorICAgICAgICBzZWxmLl9lcnJvcnMuYXBwZW5kKCJMaW5lOiVzICVz
ICVzIiAlIChsaW5lbm8sIG1zZywgcGF0aCkpCiAKICAgICBkZWYgX2xvZ19ub25fZmF0YWxfZXJy
b3Ioc2VsZiwgbGluZW5vLCBtc2csIHBhdGgpOgogICAgICAgICAiIiJSZXBvcnRzIGFuIGVycm9y
IHRoYXQgd2lsbCBub3QgcHJldmVudCBydW5uaW5nIHRoZSB0ZXN0cy4gVGhlc2UgYXJlCmRpZmYg
LS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9l
eHBlY3RhdGlvbnNfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9tb2RlbHMvdGVzdF9leHBlY3RhdGlvbnNfdW5pdHRlc3QucHkKaW5kZXggMDdhMzVlMWU5
MzU0NGM2OTliYTU4Njc1YjFhOTFmYTc5YWViNDA0My4uNDhmODk1OGNjNzBkOTBlNTI3M2QyZDdm
N2EzMWRmMWUyOWU3M2QwZSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvbW9kZWxzL3Rlc3RfZXhwZWN0YXRpb25zX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2V4cGVjdGF0aW9uc191
bml0dGVzdC5weQpAQCAtMTk1LDcgKzE5NSw3IEBAIFNLSVAgOiBmYWlsdXJlcy9leHBlY3RlZC9p
bWFnZS5odG1sIiIiKQogICAgICAgICBleGNlcHQgUGFyc2VFcnJvciwgZToKICAgICAgICAgICAg
IHNlbGYuYXNzZXJ0VHJ1ZShlLmZhdGFsKQogICAgICAgICAgICAgZXhwX2Vycm9ycyA9IFt1Ikxp
bmU6MSBVbnJlY29nbml6ZWQgb3B0aW9uICdmb28nIGZhaWx1cmVzL2V4cGVjdGVkL3RleHQuaHRt
bCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHUiTGluZToyIE1pc3NpbmcgZXhwZWN0YXRp
b25zIGluICdTS0lQIDogZmFpbHVyZXMvZXhwZWN0ZWQvaW1hZ2UuaHRtbCciXQorICAgICAgICAg
ICAgICAgICAgICAgICAgICB1IkxpbmU6MiBNaXNzaW5nIGV4cGVjdGF0aW9ucyBTS0lQIDogZmFp
bHVyZXMvZXhwZWN0ZWQvaW1hZ2UuaHRtbCJdCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KHN0cihlKSwgJ1xuJy5qb2luKG1hcChzdHIsIGV4cF9lcnJvcnMpKSkKICAgICAgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwoZS5lcnJvcnMsIGV4cF9lcnJvcnMpCiAKQEAgLTQ2MywxMDIgKzQ2Myw3
OSBAQCBjbGFzcyBNb2RpZmllclRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKIAogY2xhc3MgVGVz
dEV4cGVjdGF0aW9uUGFyc2VyVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGRlZiB0ZXN0
X2JsYW5rKHNlbGYpOgotICAgICAgICAoZXhwZWN0YXRpb24sIGVycm9ycykgPSBUZXN0RXhwZWN0
YXRpb25QYXJzZXIucGFyc2UoJycpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0YXRp
b24ubWFsZm9ybWVkLCBGYWxzZSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBlY3RhdGlv
bi52YWxpZCwgVHJ1ZSkKKyAgICAgICAgZXhwZWN0YXRpb24gPSBUZXN0RXhwZWN0YXRpb25QYXJz
ZXIucGFyc2UoJycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0YXRpb24uaXNfbWFs
Zm9ybWVkKCksIEZhbHNlKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4cGVjdGF0aW9uLmNv
bW1lbnQsIE5vbmUpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGVycm9ycyksIDApCisg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGV4cGVjdGF0aW9uLmVycm9ycyksIDApCiAKICAg
ICBkZWYgdGVzdF9taXNzaW5nX2NvbG9uKHNlbGYpOgotICAgICAgICAoZXhwZWN0YXRpb24sIGVy
cm9ycykgPSBUZXN0RXhwZWN0YXRpb25QYXJzZXIucGFyc2UoJ1F1eC4nKQotICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKGV4cGVjdGF0aW9uLm1hbGZvcm1lZCwgVHJ1ZSkKLSAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbChleHBlY3RhdGlvbi52YWxpZCwgRmFsc2UpCisgICAgICAgIGV4cGVjdGF0aW9u
ID0gVGVzdEV4cGVjdGF0aW9uUGFyc2VyLnBhcnNlKCdRdXguJykKKyAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChleHBlY3RhdGlvbi5pc19tYWxmb3JtZWQoKSwgVHJ1ZSkKICAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbChleHBlY3RhdGlvbi5jb21tZW50LCAnUXV4LicpCi0gICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoc3RyKGVycm9ycyksICdbKCJNaXNzaW5nIGEgXCc6XCcgaW4iLCAiXCdRdXguXCci
KV0nKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cihleHBlY3RhdGlvbi5lcnJvcnMpLCAn
WyJNaXNzaW5nIGEgXCc6XCciXScpCiAKICAgICBkZWYgdGVzdF9leHRyYV9jb2xvbihzZWxmKToK
LSAgICAgICAgKGV4cGVjdGF0aW9uLCBlcnJvcnMpID0gVGVzdEV4cGVjdGF0aW9uUGFyc2VyLnBh
cnNlKCdGT08gOiA6IGJhcicpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0YXRpb24u
bWFsZm9ybWVkLCBUcnVlKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4cGVjdGF0aW9uLnZh
bGlkLCBGYWxzZSkKKyAgICAgICAgZXhwZWN0YXRpb24gPSBUZXN0RXhwZWN0YXRpb25QYXJzZXIu
cGFyc2UoJ0ZPTyA6IDogYmFyJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBlY3RhdGlv
bi5pc19tYWxmb3JtZWQoKSwgVHJ1ZSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBlY3Rh
dGlvbi5jb21tZW50LCAnRk9PIDogOiBiYXInKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0
cihlcnJvcnMpLCAnWygiRXh0cmFuZW91cyBcJzpcJyBpbiIsICJcJ0ZPTyA6IDogYmFyXCciKV0n
KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cihleHBlY3RhdGlvbi5lcnJvcnMpLCAnWyJF
eHRyYW5lb3VzIFwnOlwnIl0nKQogCiAgICAgZGVmIHRlc3RfZW1wdHlfY29tbWVudChzZWxmKToK
LSAgICAgICAgKGV4cGVjdGF0aW9uLCBlcnJvcnMpID0gVGVzdEV4cGVjdGF0aW9uUGFyc2VyLnBh
cnNlKCcvLycpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0YXRpb24ubWFsZm9ybWVk
LCBGYWxzZSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBlY3RhdGlvbi52YWxpZCwgVHJ1
ZSkKKyAgICAgICAgZXhwZWN0YXRpb24gPSBUZXN0RXhwZWN0YXRpb25QYXJzZXIucGFyc2UoJy8v
JykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBlY3RhdGlvbi5pc19tYWxmb3JtZWQoKSwg
RmFsc2UpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0YXRpb24uY29tbWVudCwgJycp
Ci0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGVycm9ycyksIDApCisgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwobGVuKGV4cGVjdGF0aW9uLmVycm9ycyksIDApCiAKICAgICBkZWYgdGVzdF9j
b21tZW50KHNlbGYpOgotICAgICAgICAoZXhwZWN0YXRpb24sIGVycm9ycykgPSBUZXN0RXhwZWN0
YXRpb25QYXJzZXIucGFyc2UoJy8vUXV4LicpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhw
ZWN0YXRpb24ubWFsZm9ybWVkLCBGYWxzZSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBl
Y3RhdGlvbi52YWxpZCwgVHJ1ZSkKKyAgICAgICAgZXhwZWN0YXRpb24gPSBUZXN0RXhwZWN0YXRp
b25QYXJzZXIucGFyc2UoJy8vUXV4LicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0
YXRpb24uaXNfbWFsZm9ybWVkKCksIEZhbHNlKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4
cGVjdGF0aW9uLmNvbW1lbnQsICdRdXguJykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4o
ZXJyb3JzKSwgMCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oZXhwZWN0YXRpb24uZXJy
b3JzKSwgMCkKIAogICAgIGRlZiB0ZXN0X21pc3NpbmdfZXF1YWwoc2VsZik6Ci0gICAgICAgIChl
eHBlY3RhdGlvbiwgZXJyb3JzKSA9IFRlc3RFeHBlY3RhdGlvblBhcnNlci5wYXJzZSgnRk9PIDog
YmFyJykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBlY3RhdGlvbi5tYWxmb3JtZWQsIFRy
dWUpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0YXRpb24udmFsaWQsIEZhbHNlKQor
ICAgICAgICBleHBlY3RhdGlvbiA9IFRlc3RFeHBlY3RhdGlvblBhcnNlci5wYXJzZSgnRk9PIDog
YmFyJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBlY3RhdGlvbi5pc19tYWxmb3JtZWQo
KSwgVHJ1ZSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBlY3RhdGlvbi5jb21tZW50LCAn
Rk9PIDogYmFyJykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoZXJyb3JzKSwgJ1soXCdN
aXNzaW5nIGV4cGVjdGF0aW9ucyBpblwnLCAiXCdGT08gOiBiYXJcJyIpXScpCisgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwoc3RyKGV4cGVjdGF0aW9uLmVycm9ycyksICJbJ01pc3NpbmcgZXhwZWN0
YXRpb25zXCddIikKIAogICAgIGRlZiB0ZXN0X2V4dHJhX2VxdWFsKHNlbGYpOgotICAgICAgICAo
ZXhwZWN0YXRpb24sIGVycm9ycykgPSBUZXN0RXhwZWN0YXRpb25QYXJzZXIucGFyc2UoJ0ZPTyA6
IGJhciA9IEJBWiA9IFF1eC4nKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4cGVjdGF0aW9u
Lm1hbGZvcm1lZCwgVHJ1ZSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBlY3RhdGlvbi52
YWxpZCwgRmFsc2UpCisgICAgICAgIGV4cGVjdGF0aW9uID0gVGVzdEV4cGVjdGF0aW9uUGFyc2Vy
LnBhcnNlKCdGT08gOiBiYXIgPSBCQVogPSBRdXguJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChleHBlY3RhdGlvbi5pc19tYWxmb3JtZWQoKSwgVHJ1ZSkKICAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbChleHBlY3RhdGlvbi5jb21tZW50LCAnRk9PIDogYmFyID0gQkFaID0gUXV4LicpCi0gICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGVycm9ycyksICdbKCJFeHRyYW5lb3VzIFwnPVwnIGlu
IiwgIlwnRk9PIDogYmFyID0gQkFaID0gUXV4LlwnIildJykKKyAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbChzdHIoZXhwZWN0YXRpb24uZXJyb3JzKSwgJ1siRXh0cmFuZW91cyBcJz1cJyJdJykKIAog
ICAgIGRlZiB0ZXN0X3ZhbGlkKHNlbGYpOgotICAgICAgICAoZXhwZWN0YXRpb24sIGVycm9ycykg
PSBUZXN0RXhwZWN0YXRpb25QYXJzZXIucGFyc2UoJ0ZPTyA6IGJhciA9IEJBWicpCi0gICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0YXRpb24ubWFsZm9ybWVkLCBGYWxzZSkKLSAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChleHBlY3RhdGlvbi52YWxpZCwgVHJ1ZSkKKyAgICAgICAgZXhwZWN0
YXRpb24gPSBUZXN0RXhwZWN0YXRpb25QYXJzZXIucGFyc2UoJ0ZPTyA6IGJhciA9IEJBWicpCisg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0YXRpb24uaXNfbWFsZm9ybWVkKCksIEZhbHNl
KQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4cGVjdGF0aW9uLmNvbW1lbnQsIE5vbmUpCi0g
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGVycm9ycyksIDApCisgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwobGVuKGV4cGVjdGF0aW9uLmVycm9ycyksIDApCiAKICAgICBkZWYgdGVzdF92YWxp
ZF93aXRoX2NvbW1lbnQoc2VsZik6Ci0gICAgICAgIChleHBlY3RhdGlvbiwgZXJyb3JzKSA9IFRl
c3RFeHBlY3RhdGlvblBhcnNlci5wYXJzZSgnRk9PIDogYmFyID0gQkFaIC8vUXV4LicpCi0gICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0YXRpb24ubWFsZm9ybWVkLCBGYWxzZSkKLSAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChleHBlY3RhdGlvbi52YWxpZCwgVHJ1ZSkKKyAgICAgICAgZXhw
ZWN0YXRpb24gPSBUZXN0RXhwZWN0YXRpb25QYXJzZXIucGFyc2UoJ0ZPTyA6IGJhciA9IEJBWiAv
L1F1eC4nKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4cGVjdGF0aW9uLmlzX21hbGZvcm1l
ZCgpLCBGYWxzZSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBlY3RhdGlvbi5jb21tZW50
LCAnUXV4LicpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGV4cGVjdGF0aW9uLm1vZGlm
aWVycyksICdbXCdmb29cJ10nKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cihleHBlY3Rh
dGlvbi5leHBlY3RhdGlvbnMpLCAnW1wnYmF6XCddJykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChsZW4oZXJyb3JzKSwgMCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oZXhwZWN0YXRp
b24uZXJyb3JzKSwgMCkKIAogICAgIGRlZiB0ZXN0X3ZhbGlkX3dpdGhfbXVsdGlwbGVfbW9kaWZp
ZXJzKHNlbGYpOgotICAgICAgICAoZXhwZWN0YXRpb24sIGVycm9ycykgPSBUZXN0RXhwZWN0YXRp
b25QYXJzZXIucGFyc2UoJ0ZPTzEgRk9PMiA6IGJhciA9IEJBWiAvL1F1eC4nKQotICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKGV4cGVjdGF0aW9uLm1hbGZvcm1lZCwgRmFsc2UpCi0gICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwoZXhwZWN0YXRpb24udmFsaWQsIFRydWUpCisgICAgICAgIGV4cGVjdGF0
aW9uID0gVGVzdEV4cGVjdGF0aW9uUGFyc2VyLnBhcnNlKCdGT08xIEZPTzIgOiBiYXIgPSBCQVog
Ly9RdXguJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBlY3RhdGlvbi5pc19tYWxmb3Jt
ZWQoKSwgRmFsc2UpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0YXRpb24uY29tbWVu
dCwgJ1F1eC4nKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cihleHBlY3RhdGlvbi5tb2Rp
ZmllcnMpLCAnW1wnZm9vMVwnLCBcJ2ZvbzJcJ10nKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KHN0cihleHBlY3RhdGlvbi5leHBlY3RhdGlvbnMpLCAnW1wnYmF6XCddJykKLSAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChsZW4oZXJyb3JzKSwgMCkKLQotICAgIGRlZiB0ZXN0X2xpbmVfbnVtYmVy
X2luY3JlbWVudChzZWxmKToKLSAgICAgICAgdmFsaWRhdG9yID0gVGVzdFZhbGlkYXRvcigpCi0g
ICAgICAgIGV4cGVjdGF0aW9ucyA9IFRlc3RFeHBlY3RhdGlvblBhcnNlci5wYXJzZV9saXN0KCcv
LyBCYXJcbkZPTyA6IGJhciA9IEJBWlxuXG4nLCB2YWxpZGF0b3IpCi0gICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoc3RyKHZhbGlkYXRvci5saW5lX251bWJlcnMpLCAnWzEsIDIsIDMsIDRdJykKLQot
ICAgIGRlZiB0ZXN0X3ZhbGlkYXRvcl9mZWVkYmFjayhzZWxmKToKLSAgICAgICAgdmFsaWRhdG9y
ID0gVGVzdFZhbGlkYXRvcigpCi0gICAgICAgIGV4cGVjdGF0aW9ucyA9IFRlc3RFeHBlY3RhdGlv
blBhcnNlci5wYXJzZV9saXN0KCdGT08gOiBiYXIxID0gQkFaXG5GT08gOiBiYXIyID0gQkFaXG5G
T08gOiBiYXIzID0gQkFaJywgdmFsaWRhdG9yKQotICAgICAgICBsaW5lX251bWJlciA9IDAKLSAg
ICAgICAgZm9yIGV4cGVjdGF0aW9uIGluIGV4cGVjdGF0aW9uczoKLSAgICAgICAgICAgIGxpbmVf
bnVtYmVyICs9IDEKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGluZV9udW1iZXIgJSAy
ID09IDAsIGV4cGVjdGF0aW9uLnZhbGlkKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihl
eHBlY3RhdGlvbi5lcnJvcnMpLCAwKQogCiAKIGNsYXNzIFRlc3RFeHBlY3RhdGlvblNlcmlhbGl6
ZXJUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIGFzc2VydF9yb3VuZF90cmlwKHNl
bGYsIGluX3N0cmluZywgZXhwZWN0ZWRfc3RyaW5nPU5vbmUpOgotICAgICAgICAoZXhwZWN0YXRp
b24sIF8pID0gVGVzdEV4cGVjdGF0aW9uUGFyc2VyLnBhcnNlKGluX3N0cmluZykKKyAgICAgICAg
ZXhwZWN0YXRpb24gPSBUZXN0RXhwZWN0YXRpb25QYXJzZXIucGFyc2UoaW5fc3RyaW5nKQogICAg
ICAgICBpZiBleHBlY3RlZF9zdHJpbmcgaXMgTm9uZToKICAgICAgICAgICAgIGV4cGVjdGVkX3N0
cmluZyA9IGluX3N0cmluZwogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4cGVjdGVkX3N0cmlu
ZywgVGVzdEV4cGVjdGF0aW9uU2VyaWFsaXplci50b19zdHJpbmcoZXhwZWN0YXRpb24pKQogCiAg
ICAgZGVmIGFzc2VydF9saXN0X3JvdW5kX3RyaXAoc2VsZiwgaW5fc3RyaW5nLCBleHBlY3RlZF9z
dHJpbmc9Tm9uZSk6Ci0gICAgICAgIGV4cGVjdGF0aW9ucyA9IFRlc3RFeHBlY3RhdGlvblBhcnNl
ci5wYXJzZV9saXN0KGluX3N0cmluZywgVGVzdFZhbGlkYXRvcigpKQorICAgICAgICBleHBlY3Rh
dGlvbnMgPSBUZXN0RXhwZWN0YXRpb25QYXJzZXIucGFyc2VfbGlzdChpbl9zdHJpbmcpCiAgICAg
ICAgIGlmIGV4cGVjdGVkX3N0cmluZyBpcyBOb25lOgogICAgICAgICAgICAgZXhwZWN0ZWRfc3Ry
aW5nID0gaW5fc3RyaW5nCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0ZWRfc3RyaW5n
LCBUZXN0RXhwZWN0YXRpb25TZXJpYWxpemVyLmxpc3RfdG9fc3RyaW5nKGV4cGVjdGF0aW9ucykp
CkBAIC01ODEsNyArNTU4LDcgQEAgY2xhc3MgVGVzdEV4cGVjdGF0aW9uU2VyaWFsaXplclRlc3Rz
KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgc2VsZi5hc3NlcnRfdG9fc3RyaW5nKGV4cGVj
dGF0aW9uLCAnRk9PIDogYmFyID0gQkFaMSBCQVoyIC8vUXV4LicpCiAgICAgICAgIGV4cGVjdGF0
aW9uLm1vZGlmaWVycyA9IFsnZm9vMScsICdmb08yJ10KICAgICAgICAgc2VsZi5hc3NlcnRfdG9f
c3RyaW5nKGV4cGVjdGF0aW9uLCAnRk9PMSBGT08yIDogYmFyID0gQkFaMSBCQVoyIC8vUXV4Licp
Ci0gICAgICAgIGV4cGVjdGF0aW9uLm1hbGZvcm1lZCA9IFRydWUKKyAgICAgICAgZXhwZWN0YXRp
b24uZXJyb3JzLmFwcGVuZCgnT2ggdGhlIGhvcnJvci4nKQogICAgICAgICBzZWxmLmFzc2VydF90
b19zdHJpbmcoZXhwZWN0YXRpb24sICdRdXguJykKIAogICAgIGRlZiB0ZXN0X3N0cmluZ19yb3Vu
ZHRyaXAoc2VsZik6CkBAIC02MjUsMTQgKzYwMiw1IEBAIGNsYXNzIFRlc3RFeHBlY3RhdGlvblNl
cmlhbGl6ZXJUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIHNlbGYuYXNzZXJ0X3Jv
dW5kX3RyaXAoJ0ZPTyA6ICAgICAgIGJhciA9ICAgIEJBWiAvLyBRdXguJywgJ0ZPTyA6IGJhciA9
IEJBWiAvLyBRdXguJykKICAgICAgICAgc2VsZi5hc3NlcnRfcm91bmRfdHJpcCgnRk9PIDogICAg
ICAgYmFyICAgICA9ICAgIEJBWiAvLyBRdXguJywgJ0ZPTyA6IGJhciA9IEJBWiAvLyBRdXguJykK
IAotCi1jbGFzcyBUZXN0VmFsaWRhdG9yOgotICAgIGRlZiBfX2luaXRfXyhzZWxmKToKLSAgICAg
ICAgc2VsZi5saW5lX251bWJlcnMgPSBbXQotCi0gICAgZGVmIHZhbGlkYXRlKHNlbGYsIGxpbmVf
bnVtYmVyLCBleHBlY3RhdGlvbiwgZXJyb3JzKToKLSAgICAgICAgc2VsZi5saW5lX251bWJlcnMu
YXBwZW5kKGxpbmVfbnVtYmVyKQotICAgICAgICByZXR1cm4gbGluZV9udW1iZXIgJSAyID09IDAK
LQogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKICAgICB1bml0dGVzdC5tYWluKCkKZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvdGVzdF9leHBlY3Rh
dGlvbnNfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJz
L3Rlc3RfZXhwZWN0YXRpb25zX3VuaXR0ZXN0LnB5CmluZGV4IGE1MzVlZjFiMGNjNmZkNjA3ZGVl
ODliZTY1Njk3ZTJjNGY1YTljMTEuLjJmNmFlNTI4OGRiYzJmZjVlODgxOWQzN2U3ZGZkY2JjMTcy
ZGJmODkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMv
dGVzdF9leHBlY3RhdGlvbnNfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9zdHlsZS9jaGVja2Vycy90ZXN0X2V4cGVjdGF0aW9uc191bml0dGVzdC5weQpAQCAtMTIyLDcg
KzEyMiw3IEBAIGNsYXNzIFRlc3RFeHBlY3RhdGlvbnNUZXN0Q2FzZSh1bml0dGVzdC5UZXN0Q2Fz
ZSk6CiAgICAgZGVmIHRlc3RfZXhwZWN0YXRpb25fZXJyb3JzKHNlbGYpOgogICAgICAgICBzZWxm
LmFzc2VydF9saW5lc19saW50KAogICAgICAgICAgICAgWyJtaXNzaW5nIGV4cGVjdGF0aW9ucyJd
LAotICAgICAgICAgICAgIk1pc3NpbmcgYSAnOicgaW4gJ21pc3NpbmcgZXhwZWN0YXRpb25zJyAg
W3Rlc3QvZXhwZWN0YXRpb25zXSBbNV0iKQorICAgICAgICAgICAgIk1pc3NpbmcgYSAnOicgbWlz
c2luZyBleHBlY3RhdGlvbnMgIFt0ZXN0L2V4cGVjdGF0aW9uc10gWzVdIikKICAgICAgICAgc2Vs
Zi5hc3NlcnRfbGluZXNfbGludCgKICAgICAgICAgICAgIFsiU0xPVyA6IHBhc3Nlcy90ZXh0Lmh0
bWwgPSBUSU1FT1VUIl0sCiAgICAgICAgICAgICAiQSB0ZXN0IGNhbiBub3QgYmUgYm90aCBTTE9X
IGFuZCBUSU1FT1VULiAiCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>