<?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>74896</bug_id>
          
          <creation_ts>2011-12-19 16:04:49 -0800</creation_ts>
          <short_desc>webkitpy: remove port.executive, port.filesystem, port.user properties</short_desc>
          <delta_ts>2011-12-19 17:16:39 -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="Dirk Pranke">dpranke</reporter>
          <assigned_to name="Dirk Pranke">dpranke</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>ojan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>524249</commentid>
    <comment_count>0</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-12-19 16:04:49 -0800</bug_when>
    <thetext>webkitpy: remove port.executive, port.filesystem, port.user properties</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524252</commentid>
    <comment_count>1</comment_count>
      <attachid>119936</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-12-19 16:07:33 -0800</bug_when>
    <thetext>Created attachment 119936
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524279</commentid>
    <comment_count>2</comment_count>
      <attachid>119936</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-12-19 16:37:17 -0800</bug_when>
    <thetext>Comment on attachment 119936
Patch

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

OK.  I&apos;m surprised the diff is this small.

&gt; Tools/Scripts/webkitpy/layout_tests/models/test_configuration.py:43
&gt; -        build_type = port.options.configuration.lower()
&gt; +        build_type = port.get_option(&apos;configuration&apos;).lower()

I think the previous version was cleaner.  Certainly for testing code where we&apos;re not trying to have dynamic support for different option configurations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524299</commentid>
    <comment_count>3</comment_count>
      <attachid>119953</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-12-19 16:53:00 -0800</bug_when>
    <thetext>Created attachment 119953
remove TestConfiguration.from_port()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524301</commentid>
    <comment_count>4</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-12-19 16:55:40 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 119936 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=119936&amp;action=review
&gt; 
&gt; OK.  I&apos;m surprised the diff is this small.
&gt; 

Yeah, there weren&apos;t too many references to it.

&gt; &gt; Tools/Scripts/webkitpy/layout_tests/models/test_configuration.py:43
&gt; &gt; -        build_type = port.options.configuration.lower()
&gt; &gt; +        build_type = port.get_option(&apos;configuration&apos;).lower()
&gt; 
&gt; I think the previous version was cleaner.  Certainly for testing code where we&apos;re not trying to have dynamic support for different option configurations.

This comment caused me to actually look at what was going on in this routine. It turns out Dimitri had refactored an earlier version of the TestConfiguration constructor and didn&apos;t quite get the refactoring as clean as it could be. By finishing that (and updating Port.test_configuration() to just call the 4-arg constructor directly) I can delete this classmethod and better encapsulate things, so it&apos;s even cleaner now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524313</commentid>
    <comment_count>5</comment_count>
      <attachid>119953</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-12-19 17:12:28 -0800</bug_when>
    <thetext>Comment on attachment 119953
remove TestConfiguration.from_port()

OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524319</commentid>
    <comment_count>6</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-12-19 17:16:39 -0800</bug_when>
    <thetext>Committed r103289: &lt;http://trac.webkit.org/changeset/103289&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119936</attachid>
            <date>2011-12-19 16:07:33 -0800</date>
            <delta_ts>2011-12-19 16:52:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74896-20111219160732.patch</filename>
            <type>text/plain</type>
            <size>17896</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzMjcxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggODNjOGZiZTQ2NjRkOTMxMzQzM2M3ZTZkMGJlNWQ2YWY1
ZmE0YjQwOC4uMTgyYTZkOTUxNGQ0YWY2OWJiOGMxNzRlMGU2MGY0MTdlZTdjZGE2YiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDUx
IEBACiAyMDExLTEyLTE5ICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgogCisg
ICAgICAgIHdlYmtpdHB5OiByZW1vdmUgcG9ydC5leGVjdXRpdmUsIHBvcnQuZmlsZXN5c3RlbSwg
cG9ydC51c2VyIHByb3BlcnRpZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTc0ODk2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgRm9sbG93aW5nIG9uIHRoZSByZWZhY3RvcmluZyBvZiB0aGUgcG9ydCBhbmQg
aG9zdCBvYmplY3RzLCB0aGlzCisgICAgICAgIHJlbW92ZXMgdGhlIHB1YmxpYyBleGVjdXRpdmUs
IGZpbGVzeXN0ZW0sIGFuZCB1c2VyIHByb3BlcnRpZXMKKyAgICAgICAgZnJvbSB0aGUgUG9ydCBp
bnRlcmZhY2UgKHByb3RlY3RlZCB2ZXJzaW9ucyBvZiBleGVjdXRpdmUgYW5kCisgICAgICAgIGZp
bGVzeXN0ZW0gc3RpbGwgZXhpc3QpLiBUaGVyZSBpcyBzdGlsbCBzb21lIG1vcmUgY2xlYW4gdXAg
dG8KKyAgICAgICAgbWFrZSB0aGUgY29kZSBtb3JlIGNvbnNpc3RlbnQgYW5kIHJlYXJyYW5nZSBz
b21lIG90aGVyIGZpbGVzIHRvCisgICAgICAgIHRhbGsgdG8gSG9zdHMgZGlyZWN0bHkgaW5zdGVh
ZCBvZiBnZXR0aW5nIHRoZW0gb2ZmIG9mIHRoZSBQb3J0CisgICAgICAgIGNsYXNzLgorCisgICAg
ICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlci5w
eToKKyAgICAgICAgKE1hbmFnZXIuX19pbml0X18pOgorICAgICAgICAoTWFuYWdlci5yZXN1bHRz
X2RpcmVjdG9yeSk6CisgICAgICAgIChNYW5hZ2VyLl9sb2dfd29ya2VyX3N0YWNrKToKKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyX3Vu
aXR0ZXN0LnB5OgorICAgICAgICAoTWFuYWdlclRlc3QudGVzdF9mYWxsYmFja19wYXRoX2luX2Nv
bmZpZyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxl
cnMvbWFuYWdlcl93b3JrZXJfYnJva2VyLnB5OgorICAgICAgICAoX0lubGluZU1hbmFnZXIuc3Rh
cnRfd29ya2VyKToKKyAgICAgICAgKF9JbmxpbmVXb3JrZXJDb25uZWN0aW9uLl9faW5pdF9fKToK
KyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy93b3Jr
ZXIucHk6CisgICAgICAgIChXb3JrZXIuc2FmZV9pbml0KToKKyAgICAgICAgKiBTY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9jb25maWd1cmF0aW9uLnB5OgorICAgICAg
ICAoVGVzdENvbmZpZ3VyYXRpb24uZnJvbV9wb3J0KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHk6CisgICAgICAgIChQb3J0Ll9faW5pdF9fKToK
KyAgICAgICAgKFBvcnQudGVzdHMpOgorICAgICAgICAoUG9ydC5zaG93X3Jlc3VsdHNfaHRtbF9m
aWxlKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2Vf
dW5pdHRlc3QucHk6CisgICAgICAgIChQb3J0VGVzdC50ZXN0X2xheW91dF90ZXN0c19za2lwcGlu
Zyk6CisgICAgICAgIChQb3J0VGVzdC50ZXN0X3Rlc3RfZGlycyk6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weToKKyAgICAgICAgKF9z
ZXRfdXBfZGVyaXZlZF9vcHRpb25zKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BlcmZv
cm1hbmNlX3Rlc3RzL3BlcmZ0ZXN0c3J1bm5lci5weToKKyAgICAgICAgKFBlcmZUZXN0c1J1bm5l
ci5fX2luaXRfXyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b19iZV9tb3ZlZC9yZWJh
c2VsaW5lX2Nocm9taXVtX3dlYmtpdF90ZXN0cy5weToKKyAgICAgICAgKEh0bWxHZW5lcmF0b3Iu
X19pbml0X18pOgorICAgICAgICAoSHRtbEdlbmVyYXRvci5zaG93X2h0bWwpOgorICAgICAgICAo
cmVhbF9tYWluKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3RvX2JlX21vdmVkL3JlYmFz
ZWxpbmVfY2hyb21pdW1fd2Via2l0X3Rlc3RzX3VuaXR0ZXN0LnB5OgorICAgICAgICAoVGVzdEh0
bWxHZW5lcmF0b3IubWFrZV9nZW5lcmF0b3IpOgorCisyMDExLTEyLTE5ICBEaXJrIFByYW5rZSAg
PGRwcmFua2VAY2hyb21pdW0ub3JnPgorCiAgICAgICAgIHdlYmtpdHB5OiByZW1vdmUgZXhlY3V0
aXZlLGZpbGVzeXN0ZW0sdXNlciBwYXJhbWV0ZXJzIGZyb20gUG9ydCBjb25zdHJ1Y3RvcgogICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NzgKIApkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMv
bWFuYWdlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xs
ZXJzL21hbmFnZXIucHkKaW5kZXggYmFlMzNjYWY3ZDg2ZWMzN2VmY2Y4OTJjOGIyMDllNTY4YTg2
YzYyZS4uNWFkZjEyYTlhZDIxMmMwMjU4NjBlNjNkMjkzNzc3YmI4YjZkNmUyYSAxMDA2NDQKLS0t
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdl
ci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVy
cy9tYW5hZ2VyLnB5CkBAIC0yOTAsNyArMjkwLDggQEAgY2xhc3MgTWFuYWdlcihvYmplY3QpOgog
ICAgICAgICAgIHByaW50ZXI6IGEgUHJpbnRlciBvYmplY3QgdG8gcmVjb3JkIHVwZGF0ZXMgdG8u
CiAgICAgICAgICIiIgogICAgICAgICBzZWxmLl9wb3J0ID0gcG9ydAotICAgICAgICBzZWxmLl9m
cyA9IHBvcnQuZmlsZXN5c3RlbQorICAgICAgICAjIEZJWE1FOiBSZW5hbWUgdG8gc2VsZi5fZmls
ZXN5c3RlbSBmb3IgY29uc2lzdGVuY3kgd2l0aCBvdGhlciBjb2RlLgorICAgICAgICBzZWxmLl9m
cyA9IHBvcnQuaG9zdC5maWxlc3lzdGVtCiAgICAgICAgIHNlbGYuX29wdGlvbnMgPSBvcHRpb25z
CiAgICAgICAgIHNlbGYuX3ByaW50ZXIgPSBwcmludGVyCiAgICAgICAgIHNlbGYuX21lc3NhZ2Vf
YnJva2VyID0gTm9uZQpAQCAtODI4LDggKzgyOSw4IEBAIGNsYXNzIE1hbmFnZXIob2JqZWN0KToK
ICAgICAgICAgaWYgbm90IHNlbGYuX3JldHJ5aW5nOgogICAgICAgICAgICAgcmV0dXJuIHNlbGYu
X3Jlc3VsdHNfZGlyZWN0b3J5CiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLl9wb3J0
Ll9maWxlc3lzdGVtLm1heWJlX21ha2VfZGlyZWN0b3J5KHNlbGYuX3BvcnQuX2ZpbGVzeXN0ZW0u
am9pbihzZWxmLl9yZXN1bHRzX2RpcmVjdG9yeSwgJ3JldHJpZXMnKSkKLSAgICAgICAgICAgIHJl
dHVybiBzZWxmLl9wb3J0Ll9maWxlc3lzdGVtLmpvaW4oc2VsZi5fcmVzdWx0c19kaXJlY3Rvcnks
ICdyZXRyaWVzJykKKyAgICAgICAgICAgIHNlbGYuX2ZzLm1heWJlX21ha2VfZGlyZWN0b3J5KHNl
bGYuX2ZzLmpvaW4oc2VsZi5fcmVzdWx0c19kaXJlY3RvcnksICdyZXRyaWVzJykpCisgICAgICAg
ICAgICByZXR1cm4gc2VsZi5fZnMuam9pbihzZWxmLl9yZXN1bHRzX2RpcmVjdG9yeSwgJ3JldHJp
ZXMnKQogCiAgICAgZGVmIHVwZGF0ZShzZWxmKToKICAgICAgICAgc2VsZi51cGRhdGVfc3VtbWFy
eShzZWxmLl9jdXJyZW50X3Jlc3VsdF9zdW1tYXJ5KQpAQCAtMTQ2MSw3ICsxNDYyLDcgQEAgY2xh
c3MgTWFuYWdlcihvYmplY3QpOgogICAgICAgICBzZWxmLl91cGRhdGVfc3VtbWFyeV93aXRoX3Jl
c3VsdChzZWxmLl9jdXJyZW50X3Jlc3VsdF9zdW1tYXJ5LCByZXN1bHQpCiAKICAgICBkZWYgX2xv
Z193b3JrZXJfc3RhY2soc2VsZiwgc3RhY2spOgotICAgICAgICB3ZWJraXRweWRpciA9IHNlbGYu
X3BvcnQucGF0aF9mcm9tX3dlYmtpdF9iYXNlKCdUb29scycsICdTY3JpcHRzJywgJ3dlYmtpdHB5
JykgKyBzZWxmLl9wb3J0LmZpbGVzeXN0ZW0uc2VwCisgICAgICAgIHdlYmtpdHB5ZGlyID0gc2Vs
Zi5fcG9ydC5wYXRoX2Zyb21fd2Via2l0X2Jhc2UoJ1Rvb2xzJywgJ1NjcmlwdHMnLCAnd2Via2l0
cHknKSArIHNlbGYuX2ZzLnNlcAogICAgICAgICBmb3IgZmlsZW5hbWUsIGxpbmVfbnVtYmVyLCBm
dW5jdGlvbl9uYW1lLCB0ZXh0IGluIHN0YWNrOgogICAgICAgICAgICAgaWYgZmlsZW5hbWUuc3Rh
cnRzd2l0aCh3ZWJraXRweWRpcik6CiAgICAgICAgICAgICAgICAgZmlsZW5hbWUgPSBmaWxlbmFt
ZS5yZXBsYWNlKHdlYmtpdHB5ZGlyLCAnJykKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXJfdW5pdHRlc3QucHkgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyX3VuaXR0
ZXN0LnB5CmluZGV4IGM2ZGI2OTJkY2RkNjUxMDYwYTk2MWExY2UzYWJhZTE4MjA0NjZmZWIuLjk4
ZGIyZmMzY2E4NGJkZDc4ODIyMWZkODk5Y2RhNTY5NTFlNzcxYjMgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXJfdW5pdHRl
c3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxl
cnMvbWFuYWdlcl91bml0dGVzdC5weQpAQCAtMTYzLDcgKzE2Myw3IEBAIGNsYXNzIE1hbmFnZXJU
ZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgaG9zdCA9IE1vY2tIb3N0KCkKICAgICAg
ICAgcG9ydCA9IGhvc3QucG9ydF9mYWN0b3J5LmdldCgndGVzdC1tYWMtbGVvcGFyZCcsIG9wdGlv
bnM9b3B0aW9ucykKICAgICAgICAgcHJpbnRlciA9IHNlbGYuZ2V0X3ByaW50ZXIoKQotICAgICAg
ICBtYW5hZ2VyID0gTWFuYWdlcihwb3J0LCBwb3J0Lm9wdGlvbnMsIHByaW50ZXIpCisgICAgICAg
IG1hbmFnZXIgPSBNYW5hZ2VyKHBvcnQsIG9wdGlvbnMsIHByaW50ZXIpCiAgICAgICAgIG1hbmFn
ZXIucHJpbnRfY29uZmlnKCkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKCdCYXNlbGluZSBzZWFy
Y2ggcGF0aDogdGVzdC1tYWMtbGVvcGFyZCAtPiB0ZXN0LW1hYy1zbm93bGVvcGFyZCAtPiBnZW5l
cmljJyBpbiBwcmludGVyLm91dHB1dCkKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlcl93b3JrZXJfYnJva2VyLnB5IGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlcl93
b3JrZXJfYnJva2VyLnB5CmluZGV4IDhjNTY5NWEyZGRiMDJkZWFjNjRjYWEzYmIyZWI4YjYxMjBl
ODAzNmQuLjgyYmE5MWZmNTJlNzAwNTkyMjhlZDcwOWQwMjE3ODE4OWM2NWNhZGQgMTAwNzU1Ci0t
LSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFn
ZXJfd29ya2VyX2Jyb2tlci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyX3dvcmtlcl9icm9rZXIucHkKQEAgLTE2OCw3ICsxNjgs
NyBAQCBjbGFzcyBfSW5saW5lTWFuYWdlcihfTWFuYWdlckNvbm5lY3Rpb24pOgogCiAgICAgZGVm
IHN0YXJ0X3dvcmtlcihzZWxmLCB3b3JrZXJfbnVtYmVyLCByZXN1bHRzX2RpcmVjdG9yeSk6CiAg
ICAgICAgIHNlbGYuX2lubGluZV93b3JrZXIgPSBfSW5saW5lV29ya2VyQ29ubmVjdGlvbihzZWxm
Ll9icm9rZXIsIHNlbGYuX3BvcnQsCi0gICAgICAgICAgICBzZWxmLl9jbGllbnQsIHNlbGYuX3dv
cmtlcl9jbGFzcywgd29ya2VyX251bWJlciwgcmVzdWx0c19kaXJlY3RvcnkpCisgICAgICAgICAg
ICBzZWxmLl9jbGllbnQsIHNlbGYuX3dvcmtlcl9jbGFzcywgd29ya2VyX251bWJlciwgcmVzdWx0
c19kaXJlY3RvcnksIHNlbGYuX29wdGlvbnMpCiAgICAgICAgIHJldHVybiBzZWxmLl9pbmxpbmVf
d29ya2VyCiAKICAgICBkZWYgcnVuX21lc3NhZ2VfbG9vcChzZWxmLCBkZWxheV9zZWNzPU5vbmUp
OgpAQCAtMjE1LDggKzIxNSw4IEBAIGNsYXNzIF9Xb3JrZXJDb25uZWN0aW9uKG1lc3NhZ2VfYnJv
a2VyLkJyb2tlckNvbm5lY3Rpb24pOgogCiAKIGNsYXNzIF9JbmxpbmVXb3JrZXJDb25uZWN0aW9u
KF9Xb3JrZXJDb25uZWN0aW9uKToKLSAgICBkZWYgX19pbml0X18oc2VsZiwgYnJva2VyLCBwb3J0
LCBtYW5hZ2VyX2NsaWVudCwgd29ya2VyX2NsYXNzLCB3b3JrZXJfbnVtYmVyLCByZXN1bHRzX2Rp
cmVjdG9yeSk6Ci0gICAgICAgIF9Xb3JrZXJDb25uZWN0aW9uLl9faW5pdF9fKHNlbGYsIGJyb2tl
ciwgd29ya2VyX2NsYXNzLCB3b3JrZXJfbnVtYmVyLCByZXN1bHRzX2RpcmVjdG9yeSwgcG9ydC5v
cHRpb25zKQorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBicm9rZXIsIHBvcnQsIG1hbmFnZXJfY2xp
ZW50LCB3b3JrZXJfY2xhc3MsIHdvcmtlcl9udW1iZXIsIHJlc3VsdHNfZGlyZWN0b3J5LCBvcHRp
b25zKToKKyAgICAgICAgX1dvcmtlckNvbm5lY3Rpb24uX19pbml0X18oc2VsZiwgYnJva2VyLCB3
b3JrZXJfY2xhc3MsIHdvcmtlcl9udW1iZXIsIHJlc3VsdHNfZGlyZWN0b3J5LCBvcHRpb25zKQog
ICAgICAgICBzZWxmLl9hbGl2ZSA9IEZhbHNlCiAgICAgICAgIHNlbGYuX3BvcnQgPSBwb3J0CiAg
ICAgICAgIHNlbGYuX21hbmFnZXJfY2xpZW50ID0gbWFuYWdlcl9jbGllbnQKZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL3dvcmtlci5w
eSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL3dvcmtl
ci5weQppbmRleCA4MzJlZWQ4ZDcyYjUxM2JmYWVjODI0NWRlNjE4NDRkODQ0MjU4OWYzLi5iNjZj
ZTliNzlkMjE3OTkxNjdjZWNkZmNjNjc0ZjliNzcwZDZmNWI5IDEwMDY0NAotLS0gYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy93b3JrZXIucHkKKysrIGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvd29ya2VyLnB5
CkBAIC02NSw3ICs2NSw3IEBAIGNsYXNzIFdvcmtlcihtYW5hZ2VyX3dvcmtlcl9icm9rZXIuQWJz
dHJhY3RXb3JrZXIpOgogICAgICAgICBUaGlzIHJvdXRpbmUgZXhpc3RzIHNvIHRoYXQgdGhlIG1p
eGluIGNhbiBiZSBjcmVhdGVkIGFuZCB0aGVuIG1hcnNoYWxlZAogICAgICAgICBhY3Jvc3MgaW50
byBhIGNoaWxkIHByb2Nlc3MuIiIiCiAgICAgICAgIHNlbGYuX3BvcnQgPSBwb3J0Ci0gICAgICAg
IHNlbGYuX2ZpbGVzeXN0ZW0gPSBwb3J0LmZpbGVzeXN0ZW0KKyAgICAgICAgc2VsZi5fZmlsZXN5
c3RlbSA9IHBvcnQuaG9zdC5maWxlc3lzdGVtCiAgICAgICAgIHNlbGYuX2JhdGNoX2NvdW50ID0g
MAogICAgICAgICBzZWxmLl9iYXRjaF9zaXplID0gc2VsZi5fb3B0aW9ucy5iYXRjaF9zaXplIG9y
IDAKICAgICAgICAgdGVzdHNfcnVuX2ZpbGVuYW1lID0gc2VsZi5fZmlsZXN5c3RlbS5qb2luKHNl
bGYuX3Jlc3VsdHNfZGlyZWN0b3J5LCAidGVzdHNfcnVuJWQudHh0IiAlIHNlbGYuX3dvcmtlcl9u
dW1iZXIpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9t
b2RlbHMvdGVzdF9jb25maWd1cmF0aW9uLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvbW9kZWxzL3Rlc3RfY29uZmlndXJhdGlvbi5weQppbmRleCBlMDVjMzQzOGY3OTIz
Y2UxNzI3Y2U5MTNiNDEwZTY0Y2IzZWQyMmIxLi5mMTdhZmZlMmFmNjQ4NmM1MmQyMzkyZTQ0NThk
ZTJhMDA5YmJmNDkyIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9tb2RlbHMvdGVzdF9jb25maWd1cmF0aW9uLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2NvbmZpZ3VyYXRpb24ucHkKQEAgLTQwLDcg
KzQwLDcgQEAgY2xhc3MgVGVzdENvbmZpZ3VyYXRpb24ob2JqZWN0KToKICAgICAgICAgYXNzZXJ0
KHBvcnQpCiAgICAgICAgIHZlcnNpb24gPSBwb3J0LnZlcnNpb24oKQogICAgICAgICBhcmNoaXRl
Y3R1cmUgPSBwb3J0LmFyY2hpdGVjdHVyZSgpCi0gICAgICAgIGJ1aWxkX3R5cGUgPSBwb3J0Lm9w
dGlvbnMuY29uZmlndXJhdGlvbi5sb3dlcigpCisgICAgICAgIGJ1aWxkX3R5cGUgPSBwb3J0Lmdl
dF9vcHRpb24oJ2NvbmZpZ3VyYXRpb24nKS5sb3dlcigpCiAgICAgICAgIGdyYXBoaWNzX3R5cGUg
PSBwb3J0LmdyYXBoaWNzX3R5cGUoKQogICAgICAgICByZXR1cm4gVGVzdENvbmZpZ3VyYXRpb24o
dmVyc2lvbiwgYXJjaGl0ZWN0dXJlLCBidWlsZF90eXBlLCBncmFwaGljc190eXBlKQogCmRpZmYg
LS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHkg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHkKaW5kZXgg
OGVlYjg4MWZiNzg2MTE5ZGJkYjE3MzYxNTVmOTllYjM0ZDkxMzEzZS4uY2NkMWUzMDIzNDVkYmM5
ODRiMTI2YzdjMzljNjIyODQ0MTM0NTJhNiAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFzZS5weQpAQCAtMTAwLDIyICsxMDAsMTIgQEAgY2xhc3Mg
UG9ydChvYmplY3QpOgogICAgICAgICAjIEZJWE1FOiBJZGVhbGx5IHdlJ2QgaGF2ZSBhIHBhY2th
Z2Utd2lkZSB3YXkgdG8gZ2V0IGEKICAgICAgICAgIyB3ZWxsLWZvcm1lZCBvcHRpb25zIG9iamVj
dCB0aGF0IGhhZCBhbGwgb2YgdGhlIG5lY2Vzc2FyeQogICAgICAgICAjIG9wdGlvbnMgZGVmaW5l
ZCBvbiBpdC4KLSAgICAgICAgc2VsZi5vcHRpb25zID0gb3B0aW9ucyBvciBEdW1teU9wdGlvbnMo
KQorICAgICAgICBzZWxmLl9vcHRpb25zID0gb3B0aW9ucyBvciBEdW1teU9wdGlvbnMoKQogCiAg
ICAgICAgIHNlbGYuaG9zdCA9IGhvc3QKLQotICAgICAgICAjIEZJWE1FOiBSZW1vdmUgdGhlcyBh
Y2Nlc3NvcnMgb25jZSBhbGwgY2FsbGVycyBoYXZlIG1vdmVkIHRvIHVzaW5nIHNlbGYuaG9zdC4K
LSAgICAgICAgc2VsZi5leGVjdXRpdmUgPSBzZWxmLmhvc3QuZXhlY3V0aXZlCi0gICAgICAgIHNl
bGYudXNlciA9IHNlbGYuaG9zdC51c2VyCi0gICAgICAgIHNlbGYuZmlsZXN5c3RlbSA9IHNlbGYu
aG9zdC5maWxlc3lzdGVtCi0gICAgICAgIHNlbGYuY29uZmlnID0gY29uZmlnIG9yIHBvcnRfY29u
ZmlnLkNvbmZpZyhzZWxmLmV4ZWN1dGl2ZSwgc2VsZi5maWxlc3lzdGVtKQotCi0gICAgICAgICMg
RklYTUU6IFJlbW92ZSBhbGwgb2YgdGhlIG9sZCAicHJvdGVjdGVkIiB2ZXJzaW9ucyB3aGVuIHdl
IGNhbi4KLSAgICAgICAgc2VsZi5fb3B0aW9ucyA9IHNlbGYub3B0aW9ucwotICAgICAgICBzZWxm
Ll9leGVjdXRpdmUgPSBzZWxmLmV4ZWN1dGl2ZQotICAgICAgICBzZWxmLl9maWxlc3lzdGVtID0g
c2VsZi5maWxlc3lzdGVtCi0gICAgICAgIHNlbGYuX3VzZXIgPSBzZWxmLnVzZXIKLSAgICAgICAg
c2VsZi5fY29uZmlnID0gc2VsZi5jb25maWcKKyAgICAgICAgc2VsZi5fZXhlY3V0aXZlID0gaG9z
dC5leGVjdXRpdmUKKyAgICAgICAgc2VsZi5fZmlsZXN5c3RlbSA9IGhvc3QuZmlsZXN5c3RlbQor
ICAgICAgICBzZWxmLl9jb25maWcgPSBjb25maWcgb3IgcG9ydF9jb25maWcuQ29uZmlnKHNlbGYu
X2V4ZWN1dGl2ZSwgc2VsZi5fZmlsZXN5c3RlbSkKIAogICAgICAgICBzZWxmLl9oZWxwZXIgPSBO
b25lCiAgICAgICAgIHNlbGYuX2h0dHBfc2VydmVyID0gTm9uZQpAQCAtNTAzLDcgKzQ5Myw3IEBA
IGNsYXNzIFBvcnQob2JqZWN0KToKICAgICAgICAgIiIiUmV0dXJuIHRoZSBsaXN0IG9mIHRlc3Rz
IGZvdW5kLiIiIgogICAgICAgICAjIFdoZW4gY29sbGVjdGluZyB0ZXN0IGNhc2VzLCBza2lwIHRo
ZXNlIGRpcmVjdG9yaWVzCiAgICAgICAgIHNraXBwZWRfZGlyZWN0b3JpZXMgPSBzZXQoWycuc3Zu
JywgJ19zdm4nLCAncmVzb3VyY2VzJywgJ3NjcmlwdC10ZXN0cycsICdyZWZlcmVuY2UnLCAncmVm
dGVzdCddKQotICAgICAgICBmaWxlcyA9IGZpbmRfZmlsZXMuZmluZChzZWxmLmZpbGVzeXN0ZW0s
IHNlbGYubGF5b3V0X3Rlc3RzX2RpcigpLCBwYXRocywgc2tpcHBlZF9kaXJlY3RvcmllcywgUG9y
dC5faXNfdGVzdF9maWxlKQorICAgICAgICBmaWxlcyA9IGZpbmRfZmlsZXMuZmluZChzZWxmLl9m
aWxlc3lzdGVtLCBzZWxmLmxheW91dF90ZXN0c19kaXIoKSwgcGF0aHMsIHNraXBwZWRfZGlyZWN0
b3JpZXMsIFBvcnQuX2lzX3Rlc3RfZmlsZSkKICAgICAgICAgcmV0dXJuIHNldChbc2VsZi5yZWxh
dGl2ZV90ZXN0X2ZpbGVuYW1lKGYpIGZvciBmIGluIGZpbGVzXSkKIAogICAgICMgV2hlbiBjb2xs
ZWN0aW5nIHRlc3QgY2FzZXMsIHdlIGluY2x1ZGUgYW55IGZpbGUgd2l0aCB0aGVzZSBleHRlbnNp
b25zLgpAQCAtNzYxLDcgKzc1MSw3IEBAIGNsYXNzIFBvcnQob2JqZWN0KToKICAgICBkZWYgc2hv
d19yZXN1bHRzX2h0bWxfZmlsZShzZWxmLCByZXN1bHRzX2ZpbGVuYW1lKToKICAgICAgICAgIiIi
VGhpcyByb3V0aW5lIHNob3VsZCBkaXNwbGF5IHRoZSBIVE1MIGZpbGUgcG9pbnRlZCBhdCBieQog
ICAgICAgICByZXN1bHRzX2ZpbGVuYW1lIGluIGEgdXNlcnMnIGJyb3dzZXIuIiIiCi0gICAgICAg
IHJldHVybiBzZWxmLl91c2VyLm9wZW5fdXJsKHJlc3VsdHNfZmlsZW5hbWUpCisgICAgICAgIHJl
dHVybiBzZWxmLmhvc3QudXNlci5vcGVuX3VybChyZXN1bHRzX2ZpbGVuYW1lKQogCiAgICAgZGVm
IGNyZWF0ZV9kcml2ZXIoc2VsZiwgd29ya2VyX251bWJlcik6CiAgICAgICAgICIiIlJldHVybiBh
IG5ld2x5IGNyZWF0ZWQgRHJpdmVyIHN1YmNsYXNzIGZvciBzdGFydGluZy9zdG9wcGluZyB0aGUg
dGVzdCBkcml2ZXIuIiIiCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9wb3J0L2Jhc2VfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9wb3J0L2Jhc2VfdW5pdHRlc3QucHkKaW5kZXggMDE5YzYzYWVjYzQ3NzE0YWZk
YjQ0MzU4ZjI3YmY0NmYwNmZkZjM5Mi4uODIzOWNjYTc5MDhkYzM2MzA0MTM2NjU4YTRmMDYyYTFk
YTI0ZTJjMSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
cG9ydC9iYXNlX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3BvcnQvYmFzZV91bml0dGVzdC5weQpAQCAtMjA2LDggKzIwNiw4IEBAIGNsYXNzIFBv
cnRUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKIAogICAgIGRlZiB0ZXN0X2xheW91dF90ZXN0c19z
a2lwcGluZyhzZWxmKToKICAgICAgICAgcG9ydCA9IHNlbGYubWFrZV9wb3J0KCkKLSAgICAgICAg
cG9ydC5maWxlc3lzdGVtLndyaXRlX3RleHRfZmlsZShwb3J0LmxheW91dF90ZXN0c19kaXIoKSAr
ICcvbWVkaWEvdmlkZW8tem9vbS5odG1sJywgJycpCi0gICAgICAgIHBvcnQuZmlsZXN5c3RlbS53
cml0ZV90ZXh0X2ZpbGUocG9ydC5sYXlvdXRfdGVzdHNfZGlyKCkgKyAnL2Zvby9iYXIuaHRtbCcs
ICcnKQorICAgICAgICBwb3J0Lmhvc3QuZmlsZXN5c3RlbS53cml0ZV90ZXh0X2ZpbGUocG9ydC5s
YXlvdXRfdGVzdHNfZGlyKCkgKyAnL21lZGlhL3ZpZGVvLXpvb20uaHRtbCcsICcnKQorICAgICAg
ICBwb3J0Lmhvc3QuZmlsZXN5c3RlbS53cml0ZV90ZXh0X2ZpbGUocG9ydC5sYXlvdXRfdGVzdHNf
ZGlyKCkgKyAnL2Zvby9iYXIuaHRtbCcsICcnKQogICAgICAgICBwb3J0LnNraXBwZWRfbGF5b3V0
X3Rlc3RzID0gbGFtYmRhOiBbJ2Zvby9iYXIuaHRtbCcsICdtZWRpYSddCiAgICAgICAgIHNlbGYu
YXNzZXJ0VHJ1ZShwb3J0LnNraXBzX2xheW91dF90ZXN0KCdmb28vYmFyLmh0bWwnKSkKICAgICAg
ICAgc2VsZi5hc3NlcnRUcnVlKHBvcnQuc2tpcHNfbGF5b3V0X3Rlc3QoJ21lZGlhL3ZpZGVvLXpv
b20uaHRtbCcpKQpAQCAtMjIwLDggKzIyMCw4IEBAIGNsYXNzIFBvcnRUZXN0KHVuaXR0ZXN0LlRl
c3RDYXNlKToKIAogICAgIGRlZiB0ZXN0X3Rlc3RfZGlycyhzZWxmKToKICAgICAgICAgcG9ydCA9
IHNlbGYubWFrZV9wb3J0KCkKLSAgICAgICAgcG9ydC5fZmlsZXN5c3RlbS53cml0ZV90ZXh0X2Zp
bGUocG9ydC5sYXlvdXRfdGVzdHNfZGlyKCkgKyAnL2NhbnZhcy90ZXN0JywgJycpCi0gICAgICAg
IHBvcnQuX2ZpbGVzeXN0ZW0ud3JpdGVfdGV4dF9maWxlKHBvcnQubGF5b3V0X3Rlc3RzX2Rpcigp
ICsgJy9jc3MyLjEvdGVzdCcsICcnKQorICAgICAgICBwb3J0Lmhvc3QuZmlsZXN5c3RlbS53cml0
ZV90ZXh0X2ZpbGUocG9ydC5sYXlvdXRfdGVzdHNfZGlyKCkgKyAnL2NhbnZhcy90ZXN0JywgJycp
CisgICAgICAgIHBvcnQuaG9zdC5maWxlc3lzdGVtLndyaXRlX3RleHRfZmlsZShwb3J0LmxheW91
dF90ZXN0c19kaXIoKSArICcvY3NzMi4xL3Rlc3QnLCAnJykKICAgICAgICAgZGlycyA9IHBvcnQu
dGVzdF9kaXJzKCkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKCdjYW52YXMnIGluIGRpcnMpCiAg
ICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSgnY3NzMi4xJyBpbiBkaXJzKQpkaWZmIC0tZ2l0IGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weSBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHMucHkKaW5k
ZXggN2U2OWY1MWJhNThlYzQ2MjRiNTA1ZjMxOWExZDgyMTk3ZGI1ODE2Ny4uNmU5MTUzYTQyYzJk
NTMzMzdmMmM0NDdlZGQ1NTliNDhkYjRmZGRmMSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weQorKysgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzLnB5CkBAIC0xMjcsMTAg
KzEyNywxMCBAQCBkZWYgX3NldF91cF9kZXJpdmVkX29wdGlvbnMocG9ydCwgb3B0aW9ucyk6CiAg
ICAgaWYgb3B0aW9ucy5hZGRpdGlvbmFsX3BsYXRmb3JtX2RpcmVjdG9yeToKICAgICAgICAgbm9y
bWFsaXplZF9wbGF0Zm9ybV9kaXJlY3RvcmllcyA9IFtdCiAgICAgICAgIGZvciBwYXRoIGluIG9w
dGlvbnMuYWRkaXRpb25hbF9wbGF0Zm9ybV9kaXJlY3Rvcnk6Ci0gICAgICAgICAgICBpZiBub3Qg
cG9ydC5maWxlc3lzdGVtLmlzYWJzKHBhdGgpOgorICAgICAgICAgICAgaWYgbm90IHBvcnQuaG9z
dC5maWxlc3lzdGVtLmlzYWJzKHBhdGgpOgogICAgICAgICAgICAgICAgIHdhcm5pbmdzLmFwcGVu
ZCgiLS1hZGRpdGlvbmFsLXBsYXRmb3JtLWRpcmVjdG9yeT0lcyBpcyBpZ25vcmVkIHNpbmNlIGl0
IGlzIG5vdCBhYnNvbHV0ZSIgJSBwYXRoKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAg
ICAgICAgICBub3JtYWxpemVkX3BsYXRmb3JtX2RpcmVjdG9yaWVzLmFwcGVuZChwb3J0LmZpbGVz
eXN0ZW0ubm9ybXBhdGgocGF0aCkpCisgICAgICAgICAgICBub3JtYWxpemVkX3BsYXRmb3JtX2Rp
cmVjdG9yaWVzLmFwcGVuZChwb3J0Lmhvc3QuZmlsZXN5c3RlbS5ub3JtcGF0aChwYXRoKSkKICAg
ICAgICAgb3B0aW9ucy5hZGRpdGlvbmFsX3BsYXRmb3JtX2RpcmVjdG9yeSA9IG5vcm1hbGl6ZWRf
cGxhdGZvcm1fZGlyZWN0b3JpZXMKIAogICAgIGlmIG5vdCBvcHRpb25zLmh0dHAgYW5kIG9wdGlv
bnMuZm9yY2U6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BlcmZvcm1hbmNl
X3Rlc3RzL3BlcmZ0ZXN0c3J1bm5lci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcGVyZm9y
bWFuY2VfdGVzdHMvcGVyZnRlc3RzcnVubmVyLnB5CmluZGV4IGU4OTc4Y2U1MWNjYmI5MDM2Zjkz
YjZmYjEyOTA5NGY2ZGFmMTI2YWUuLjA1NTMwNTczMjBlOGYxOWEzZmM5NjhkOTk0MzY0YjUzZTVm
YTdkNmYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcGVyZm9ybWFuY2VfdGVz
dHMvcGVyZnRlc3RzcnVubmVyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcGVyZm9y
bWFuY2VfdGVzdHMvcGVyZnRlc3RzcnVubmVyLnB5CkBAIC01NCw3ICs1NCw3IEBAIGNsYXNzIFBl
cmZUZXN0c1J1bm5lcihvYmplY3QpOgogICAgICAgICBzZWxmLl9ob3N0Ll9pbml0aWFsaXplX3Nj
bSgpCiAgICAgICAgIHNlbGYuX3BvcnQgPSBzZWxmLl9ob3N0LnBvcnRfZmFjdG9yeS5nZXQoc2Vs
Zi5fb3B0aW9ucy5wbGF0Zm9ybSwgc2VsZi5fb3B0aW9ucykKICAgICAgICAgc2VsZi5fcHJpbnRl
ciA9IHByaW50aW5nLlByaW50ZXIoc2VsZi5fcG9ydCwgc2VsZi5fb3B0aW9ucywgcmVndWxhcl9v
dXRwdXQsIGJ1aWxkYm90X291dHB1dCwgY29uZmlndXJlX2xvZ2dpbmc9RmFsc2UpCi0gICAgICAg
IHNlbGYuX3dlYmtpdF9iYXNlX2Rpcl9sZW4gPSBsZW4oc2VsZi5fcG9ydC5jb25maWcud2Via2l0
X2Jhc2VfZGlyKCkpCisgICAgICAgIHNlbGYuX3dlYmtpdF9iYXNlX2Rpcl9sZW4gPSBsZW4oc2Vs
Zi5fcG9ydC53ZWJraXRfYmFzZSgpKQogCiAgICAgZGVmIF9wYXJzZV9hcmdzKHNlbGYsIGFyZ3M9
Tm9uZSk6CiAgICAgICAgIHByaW50X29wdGlvbnMgPSBwcmludGluZy5wcmludF9vcHRpb25zKCkK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9fYmVfbW92ZWQvcmViYXNlbGlu
ZV9jaHJvbWl1bV93ZWJraXRfdGVzdHMucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3RvX2Jl
X21vdmVkL3JlYmFzZWxpbmVfY2hyb21pdW1fd2Via2l0X3Rlc3RzLnB5CmluZGV4IDgyMjhkNDM4
MWJhMTBjMzViYjk5MzZkYWQ5NmVmODlmNDk4OGY0NTcuLmI2YjZlNjRiN2IxMDQ3MjhlOTYzYTZm
ZjBlYjM5OGNlMGQyOWNhMmYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9f
YmVfbW92ZWQvcmViYXNlbGluZV9jaHJvbWl1bV93ZWJraXRfdGVzdHMucHkKKysrIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS90b19iZV9tb3ZlZC9yZWJhc2VsaW5lX2Nocm9taXVtX3dlYmtpdF90
ZXN0cy5weQpAQCAtNjUyLDE0ICs2NTIsMTUgQEAgY2xhc3MgSHRtbEdlbmVyYXRvcihvYmplY3Qp
OgogICAgICAgICAgICAgICAgICAgICAgICAgJzxpbWcgc3R5bGU9IndpZHRoOiAyMDAiIHNyYz0i
JSh1cmkpcyIgLz48L2E+PC90ZD4nKQogICAgIEhUTUxfVFIgPSAnPHRyPiVzPC90cj4nCiAKLSAg
ICBkZWYgX19pbml0X18oc2VsZiwgcG9ydCwgdGFyZ2V0X3BvcnQsIG9wdGlvbnMsIHBsYXRmb3Jt
cywgcmViYXNlbGluaW5nX3Rlc3RzKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgaG9zdCwgcG9y
dCwgdGFyZ2V0X3BvcnQsIG9wdGlvbnMsIHBsYXRmb3JtcywgcmViYXNlbGluaW5nX3Rlc3RzKToK
ICAgICAgICAgc2VsZi5faHRtbF9kaXJlY3RvcnkgPSBvcHRpb25zLmh0bWxfZGlyZWN0b3J5Cisg
ICAgICAgIHNlbGYuX2hvc3QgPSBob3N0CisgICAgICAgIHNlbGYuX2ZpbGVzeXN0ZW0gPSBob3N0
LmZpbGVzeXN0ZW0KICAgICAgICAgc2VsZi5fcG9ydCA9IHBvcnQKICAgICAgICAgc2VsZi5fdGFy
Z2V0X3BvcnQgPSB0YXJnZXRfcG9ydAogICAgICAgICBzZWxmLl9vcHRpb25zID0gb3B0aW9ucwog
ICAgICAgICBzZWxmLl9wbGF0Zm9ybXMgPSBwbGF0Zm9ybXMKICAgICAgICAgc2VsZi5fcmViYXNl
bGluaW5nX3Rlc3RzID0gcmViYXNlbGluaW5nX3Rlc3RzCi0gICAgICAgIHNlbGYuX2ZpbGVzeXN0
ZW0gPSBwb3J0Ll9maWxlc3lzdGVtCiAgICAgICAgIHNlbGYuX2h0bWxfZmlsZSA9IHNlbGYuX2Zp
bGVzeXN0ZW0uam9pbihvcHRpb25zLmh0bWxfZGlyZWN0b3J5LAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlYmFzZWxpbmUuaHRtbCcpCiAKQEAgLTY5
NSw3ICs2OTYsNyBAQCBjbGFzcyBIdG1sR2VuZXJhdG9yKG9iamVjdCk6CiAgICAgICAgICIiIkxh
dW5jaCB0aGUgcmViYXNlbGluaW5nIGh0bWwgaW4gYnJ3b3Nlci4iIiIKIAogICAgICAgICBfbG9n
LmRlYnVnKCdMYXVuY2hpbmcgaHRtbDogIiVzIicsIHNlbGYuX2h0bWxfZmlsZSkKLSAgICAgICAg
c2VsZi5fcG9ydC5fdXNlci5vcGVuX3VybChzZWxmLl9odG1sX2ZpbGUpCisgICAgICAgIHNlbGYu
X2hvc3QudXNlci5vcGVuX3VybChzZWxmLl9odG1sX2ZpbGUpCiAgICAgICAgIF9sb2cuZGVidWco
J0h0bWwgbGF1bmNoZWQuJykKIAogICAgIGRlZiBfZ2VuZXJhdGVfYmFzZWxpbmVfbGlua3Moc2Vs
ZiwgdGVzdF9iYXNlbmFtZSwgc3VmZml4LCBwbGF0Zm9ybSk6CkBAIC0xMDMwLDcgKzEwMzEsNyBA
QCBkZWYgcmVhbF9tYWluKGhvc3QsIG9wdGlvbnMsIHRhcmdldF9vcHRpb25zLCBob3N0X3BvcnRf
b2JqLCB0YXJnZXRfcG9ydF9vYmosIHVybAogCiAgICAgX2xvZy5kZWJ1ZygnJykKICAgICBsb2df
ZGFzaGVkX3N0cmluZygnUmViYXNlbGluaW5nIHJlc3VsdCBjb21wYXJpc29uIHN0YXJ0ZWQnKQot
ICAgIGh0bWxfZ2VuZXJhdG9yID0gSHRtbEdlbmVyYXRvcihob3N0X3BvcnRfb2JqLAorICAgIGh0
bWxfZ2VuZXJhdG9yID0gSHRtbEdlbmVyYXRvcihob3N0LCBob3N0X3BvcnRfb2JqLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRfcG9ydF9vYmosCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHJlYmFzZWxpbmVfcGxhdGZvcm1zLApkaWZmIC0tZ2l0IGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS90b19iZV9tb3ZlZC9yZWJhc2VsaW5lX2Nocm9taXVtX3dlYmtpdF90ZXN0
c191bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9fYmVfbW92ZWQvcmViYXNl
bGluZV9jaHJvbWl1bV93ZWJraXRfdGVzdHNfdW5pdHRlc3QucHkKaW5kZXggZjk1MzMwM2M3ZDE0
NTMwMTQ5MTMwMjUxZGU0NWEyYTBiMWQwMmRiYS4uNTkyOTllMzk2ZmE2OWZjZjU3Zjg1NjAzZjA2
ZWFlMWJhYzNjZDVkNyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b19iZV9t
b3ZlZC9yZWJhc2VsaW5lX2Nocm9taXVtX3dlYmtpdF90ZXN0c191bml0dGVzdC5weQorKysgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3RvX2JlX21vdmVkL3JlYmFzZWxpbmVfY2hyb21pdW1fd2Vi
a2l0X3Rlc3RzX3VuaXR0ZXN0LnB5CkBAIC0zNzcsNyArMzc3LDcgQEAgY2xhc3MgVGVzdEh0bWxH
ZW5lcmF0b3IodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAgICAgZnMubWF5YmVfbWFrZV9k
aXJlY3RvcnkoZnMuZGlybmFtZShmaWxlbmFtZSkpCiAgICAgICAgICAgICBmcy53cml0ZV9iaW5h
cnlfZmlsZShmaWxlbmFtZSwgY29udGVudHMpCiAgICAgICAgIGhvc3RfcG9ydCA9IGhvc3QucG9y
dF9mYWN0b3J5LmdldCgndGVzdCcsIG9wdGlvbnMpCi0gICAgICAgIGdlbmVyYXRvciA9IHJlYmFz
ZWxpbmVfY2hyb21pdW1fd2Via2l0X3Rlc3RzLkh0bWxHZW5lcmF0b3IoaG9zdF9wb3J0LAorICAg
ICAgICBnZW5lcmF0b3IgPSByZWJhc2VsaW5lX2Nocm9taXVtX3dlYmtpdF90ZXN0cy5IdG1sR2Vu
ZXJhdG9yKGhvc3QsIGhvc3RfcG9ydCwKICAgICAgICAgICAgIHRhcmdldF9wb3J0PU5vbmUsIG9w
dGlvbnM9b3B0aW9ucywgcGxhdGZvcm1zPVsndGVzdC1tYWMtbGVvcGFyZCddLCByZWJhc2VsaW5p
bmdfdGVzdHM9dGVzdHMpCiAgICAgICAgIHJldHVybiBnZW5lcmF0b3IsIGhvc3RfcG9ydAogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119953</attachid>
            <date>2011-12-19 16:53:00 -0800</date>
            <delta_ts>2011-12-19 17:12:28 -0800</delta_ts>
            <desc>remove TestConfiguration.from_port()</desc>
            <filename>bug-74896-20111219165258.patch</filename>
            <type>text/plain</type>
            <size>20956</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzMjcxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggODNjOGZiZTQ2NjRkOTMxMzQzM2M3ZTZkMGJlNWQ2YWY1
ZmE0YjQwOC4uMTgyYTZkOTUxNGQ0YWY2OWJiOGMxNzRlMGU2MGY0MTdlZTdjZGE2YiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDUx
IEBACiAyMDExLTEyLTE5ICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgogCisg
ICAgICAgIHdlYmtpdHB5OiByZW1vdmUgcG9ydC5leGVjdXRpdmUsIHBvcnQuZmlsZXN5c3RlbSwg
cG9ydC51c2VyIHByb3BlcnRpZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTc0ODk2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgRm9sbG93aW5nIG9uIHRoZSByZWZhY3RvcmluZyBvZiB0aGUgcG9ydCBhbmQg
aG9zdCBvYmplY3RzLCB0aGlzCisgICAgICAgIHJlbW92ZXMgdGhlIHB1YmxpYyBleGVjdXRpdmUs
IGZpbGVzeXN0ZW0sIGFuZCB1c2VyIHByb3BlcnRpZXMKKyAgICAgICAgZnJvbSB0aGUgUG9ydCBp
bnRlcmZhY2UgKHByb3RlY3RlZCB2ZXJzaW9ucyBvZiBleGVjdXRpdmUgYW5kCisgICAgICAgIGZp
bGVzeXN0ZW0gc3RpbGwgZXhpc3QpLiBUaGVyZSBpcyBzdGlsbCBzb21lIG1vcmUgY2xlYW4gdXAg
dG8KKyAgICAgICAgbWFrZSB0aGUgY29kZSBtb3JlIGNvbnNpc3RlbnQgYW5kIHJlYXJyYW5nZSBz
b21lIG90aGVyIGZpbGVzIHRvCisgICAgICAgIHRhbGsgdG8gSG9zdHMgZGlyZWN0bHkgaW5zdGVh
ZCBvZiBnZXR0aW5nIHRoZW0gb2ZmIG9mIHRoZSBQb3J0CisgICAgICAgIGNsYXNzLgorCisgICAg
ICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlci5w
eToKKyAgICAgICAgKE1hbmFnZXIuX19pbml0X18pOgorICAgICAgICAoTWFuYWdlci5yZXN1bHRz
X2RpcmVjdG9yeSk6CisgICAgICAgIChNYW5hZ2VyLl9sb2dfd29ya2VyX3N0YWNrKToKKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyX3Vu
aXR0ZXN0LnB5OgorICAgICAgICAoTWFuYWdlclRlc3QudGVzdF9mYWxsYmFja19wYXRoX2luX2Nv
bmZpZyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxl
cnMvbWFuYWdlcl93b3JrZXJfYnJva2VyLnB5OgorICAgICAgICAoX0lubGluZU1hbmFnZXIuc3Rh
cnRfd29ya2VyKToKKyAgICAgICAgKF9JbmxpbmVXb3JrZXJDb25uZWN0aW9uLl9faW5pdF9fKToK
KyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy93b3Jr
ZXIucHk6CisgICAgICAgIChXb3JrZXIuc2FmZV9pbml0KToKKyAgICAgICAgKiBTY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9jb25maWd1cmF0aW9uLnB5OgorICAgICAg
ICAoVGVzdENvbmZpZ3VyYXRpb24uZnJvbV9wb3J0KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHk6CisgICAgICAgIChQb3J0Ll9faW5pdF9fKToK
KyAgICAgICAgKFBvcnQudGVzdHMpOgorICAgICAgICAoUG9ydC5zaG93X3Jlc3VsdHNfaHRtbF9m
aWxlKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2Vf
dW5pdHRlc3QucHk6CisgICAgICAgIChQb3J0VGVzdC50ZXN0X2xheW91dF90ZXN0c19za2lwcGlu
Zyk6CisgICAgICAgIChQb3J0VGVzdC50ZXN0X3Rlc3RfZGlycyk6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weToKKyAgICAgICAgKF9z
ZXRfdXBfZGVyaXZlZF9vcHRpb25zKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BlcmZv
cm1hbmNlX3Rlc3RzL3BlcmZ0ZXN0c3J1bm5lci5weToKKyAgICAgICAgKFBlcmZUZXN0c1J1bm5l
ci5fX2luaXRfXyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b19iZV9tb3ZlZC9yZWJh
c2VsaW5lX2Nocm9taXVtX3dlYmtpdF90ZXN0cy5weToKKyAgICAgICAgKEh0bWxHZW5lcmF0b3Iu
X19pbml0X18pOgorICAgICAgICAoSHRtbEdlbmVyYXRvci5zaG93X2h0bWwpOgorICAgICAgICAo
cmVhbF9tYWluKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3RvX2JlX21vdmVkL3JlYmFz
ZWxpbmVfY2hyb21pdW1fd2Via2l0X3Rlc3RzX3VuaXR0ZXN0LnB5OgorICAgICAgICAoVGVzdEh0
bWxHZW5lcmF0b3IubWFrZV9nZW5lcmF0b3IpOgorCisyMDExLTEyLTE5ICBEaXJrIFByYW5rZSAg
PGRwcmFua2VAY2hyb21pdW0ub3JnPgorCiAgICAgICAgIHdlYmtpdHB5OiByZW1vdmUgZXhlY3V0
aXZlLGZpbGVzeXN0ZW0sdXNlciBwYXJhbWV0ZXJzIGZyb20gUG9ydCBjb25zdHJ1Y3RvcgogICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NzgKIApkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMv
bWFuYWdlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xs
ZXJzL21hbmFnZXIucHkKaW5kZXggYmFlMzNjYWY3ZDg2ZWMzN2VmY2Y4OTJjOGIyMDllNTY4YTg2
YzYyZS4uNWFkZjEyYTlhZDIxMmMwMjU4NjBlNjNkMjkzNzc3YmI4YjZkNmUyYSAxMDA2NDQKLS0t
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdl
ci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVy
cy9tYW5hZ2VyLnB5CkBAIC0yOTAsNyArMjkwLDggQEAgY2xhc3MgTWFuYWdlcihvYmplY3QpOgog
ICAgICAgICAgIHByaW50ZXI6IGEgUHJpbnRlciBvYmplY3QgdG8gcmVjb3JkIHVwZGF0ZXMgdG8u
CiAgICAgICAgICIiIgogICAgICAgICBzZWxmLl9wb3J0ID0gcG9ydAotICAgICAgICBzZWxmLl9m
cyA9IHBvcnQuZmlsZXN5c3RlbQorICAgICAgICAjIEZJWE1FOiBSZW5hbWUgdG8gc2VsZi5fZmls
ZXN5c3RlbSBmb3IgY29uc2lzdGVuY3kgd2l0aCBvdGhlciBjb2RlLgorICAgICAgICBzZWxmLl9m
cyA9IHBvcnQuaG9zdC5maWxlc3lzdGVtCiAgICAgICAgIHNlbGYuX29wdGlvbnMgPSBvcHRpb25z
CiAgICAgICAgIHNlbGYuX3ByaW50ZXIgPSBwcmludGVyCiAgICAgICAgIHNlbGYuX21lc3NhZ2Vf
YnJva2VyID0gTm9uZQpAQCAtODI4LDggKzgyOSw4IEBAIGNsYXNzIE1hbmFnZXIob2JqZWN0KToK
ICAgICAgICAgaWYgbm90IHNlbGYuX3JldHJ5aW5nOgogICAgICAgICAgICAgcmV0dXJuIHNlbGYu
X3Jlc3VsdHNfZGlyZWN0b3J5CiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLl9wb3J0
Ll9maWxlc3lzdGVtLm1heWJlX21ha2VfZGlyZWN0b3J5KHNlbGYuX3BvcnQuX2ZpbGVzeXN0ZW0u
am9pbihzZWxmLl9yZXN1bHRzX2RpcmVjdG9yeSwgJ3JldHJpZXMnKSkKLSAgICAgICAgICAgIHJl
dHVybiBzZWxmLl9wb3J0Ll9maWxlc3lzdGVtLmpvaW4oc2VsZi5fcmVzdWx0c19kaXJlY3Rvcnks
ICdyZXRyaWVzJykKKyAgICAgICAgICAgIHNlbGYuX2ZzLm1heWJlX21ha2VfZGlyZWN0b3J5KHNl
bGYuX2ZzLmpvaW4oc2VsZi5fcmVzdWx0c19kaXJlY3RvcnksICdyZXRyaWVzJykpCisgICAgICAg
ICAgICByZXR1cm4gc2VsZi5fZnMuam9pbihzZWxmLl9yZXN1bHRzX2RpcmVjdG9yeSwgJ3JldHJp
ZXMnKQogCiAgICAgZGVmIHVwZGF0ZShzZWxmKToKICAgICAgICAgc2VsZi51cGRhdGVfc3VtbWFy
eShzZWxmLl9jdXJyZW50X3Jlc3VsdF9zdW1tYXJ5KQpAQCAtMTQ2MSw3ICsxNDYyLDcgQEAgY2xh
c3MgTWFuYWdlcihvYmplY3QpOgogICAgICAgICBzZWxmLl91cGRhdGVfc3VtbWFyeV93aXRoX3Jl
c3VsdChzZWxmLl9jdXJyZW50X3Jlc3VsdF9zdW1tYXJ5LCByZXN1bHQpCiAKICAgICBkZWYgX2xv
Z193b3JrZXJfc3RhY2soc2VsZiwgc3RhY2spOgotICAgICAgICB3ZWJraXRweWRpciA9IHNlbGYu
X3BvcnQucGF0aF9mcm9tX3dlYmtpdF9iYXNlKCdUb29scycsICdTY3JpcHRzJywgJ3dlYmtpdHB5
JykgKyBzZWxmLl9wb3J0LmZpbGVzeXN0ZW0uc2VwCisgICAgICAgIHdlYmtpdHB5ZGlyID0gc2Vs
Zi5fcG9ydC5wYXRoX2Zyb21fd2Via2l0X2Jhc2UoJ1Rvb2xzJywgJ1NjcmlwdHMnLCAnd2Via2l0
cHknKSArIHNlbGYuX2ZzLnNlcAogICAgICAgICBmb3IgZmlsZW5hbWUsIGxpbmVfbnVtYmVyLCBm
dW5jdGlvbl9uYW1lLCB0ZXh0IGluIHN0YWNrOgogICAgICAgICAgICAgaWYgZmlsZW5hbWUuc3Rh
cnRzd2l0aCh3ZWJraXRweWRpcik6CiAgICAgICAgICAgICAgICAgZmlsZW5hbWUgPSBmaWxlbmFt
ZS5yZXBsYWNlKHdlYmtpdHB5ZGlyLCAnJykKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXJfdW5pdHRlc3QucHkgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyX3VuaXR0
ZXN0LnB5CmluZGV4IGM2ZGI2OTJkY2RkNjUxMDYwYTk2MWExY2UzYWJhZTE4MjA0NjZmZWIuLjk4
ZGIyZmMzY2E4NGJkZDc4ODIyMWZkODk5Y2RhNTY5NTFlNzcxYjMgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXJfdW5pdHRl
c3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxl
cnMvbWFuYWdlcl91bml0dGVzdC5weQpAQCAtMTYzLDcgKzE2Myw3IEBAIGNsYXNzIE1hbmFnZXJU
ZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgaG9zdCA9IE1vY2tIb3N0KCkKICAgICAg
ICAgcG9ydCA9IGhvc3QucG9ydF9mYWN0b3J5LmdldCgndGVzdC1tYWMtbGVvcGFyZCcsIG9wdGlv
bnM9b3B0aW9ucykKICAgICAgICAgcHJpbnRlciA9IHNlbGYuZ2V0X3ByaW50ZXIoKQotICAgICAg
ICBtYW5hZ2VyID0gTWFuYWdlcihwb3J0LCBwb3J0Lm9wdGlvbnMsIHByaW50ZXIpCisgICAgICAg
IG1hbmFnZXIgPSBNYW5hZ2VyKHBvcnQsIG9wdGlvbnMsIHByaW50ZXIpCiAgICAgICAgIG1hbmFn
ZXIucHJpbnRfY29uZmlnKCkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKCdCYXNlbGluZSBzZWFy
Y2ggcGF0aDogdGVzdC1tYWMtbGVvcGFyZCAtPiB0ZXN0LW1hYy1zbm93bGVvcGFyZCAtPiBnZW5l
cmljJyBpbiBwcmludGVyLm91dHB1dCkKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlcl93b3JrZXJfYnJva2VyLnB5IGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlcl93
b3JrZXJfYnJva2VyLnB5CmluZGV4IDhjNTY5NWEyZGRiMDJkZWFjNjRjYWEzYmIyZWI4YjYxMjBl
ODAzNmQuLjgyYmE5MWZmNTJlNzAwNTkyMjhlZDcwOWQwMjE3ODE4OWM2NWNhZGQgMTAwNzU1Ci0t
LSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFn
ZXJfd29ya2VyX2Jyb2tlci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyX3dvcmtlcl9icm9rZXIucHkKQEAgLTE2OCw3ICsxNjgs
NyBAQCBjbGFzcyBfSW5saW5lTWFuYWdlcihfTWFuYWdlckNvbm5lY3Rpb24pOgogCiAgICAgZGVm
IHN0YXJ0X3dvcmtlcihzZWxmLCB3b3JrZXJfbnVtYmVyLCByZXN1bHRzX2RpcmVjdG9yeSk6CiAg
ICAgICAgIHNlbGYuX2lubGluZV93b3JrZXIgPSBfSW5saW5lV29ya2VyQ29ubmVjdGlvbihzZWxm
Ll9icm9rZXIsIHNlbGYuX3BvcnQsCi0gICAgICAgICAgICBzZWxmLl9jbGllbnQsIHNlbGYuX3dv
cmtlcl9jbGFzcywgd29ya2VyX251bWJlciwgcmVzdWx0c19kaXJlY3RvcnkpCisgICAgICAgICAg
ICBzZWxmLl9jbGllbnQsIHNlbGYuX3dvcmtlcl9jbGFzcywgd29ya2VyX251bWJlciwgcmVzdWx0
c19kaXJlY3RvcnksIHNlbGYuX29wdGlvbnMpCiAgICAgICAgIHJldHVybiBzZWxmLl9pbmxpbmVf
d29ya2VyCiAKICAgICBkZWYgcnVuX21lc3NhZ2VfbG9vcChzZWxmLCBkZWxheV9zZWNzPU5vbmUp
OgpAQCAtMjE1LDggKzIxNSw4IEBAIGNsYXNzIF9Xb3JrZXJDb25uZWN0aW9uKG1lc3NhZ2VfYnJv
a2VyLkJyb2tlckNvbm5lY3Rpb24pOgogCiAKIGNsYXNzIF9JbmxpbmVXb3JrZXJDb25uZWN0aW9u
KF9Xb3JrZXJDb25uZWN0aW9uKToKLSAgICBkZWYgX19pbml0X18oc2VsZiwgYnJva2VyLCBwb3J0
LCBtYW5hZ2VyX2NsaWVudCwgd29ya2VyX2NsYXNzLCB3b3JrZXJfbnVtYmVyLCByZXN1bHRzX2Rp
cmVjdG9yeSk6Ci0gICAgICAgIF9Xb3JrZXJDb25uZWN0aW9uLl9faW5pdF9fKHNlbGYsIGJyb2tl
ciwgd29ya2VyX2NsYXNzLCB3b3JrZXJfbnVtYmVyLCByZXN1bHRzX2RpcmVjdG9yeSwgcG9ydC5v
cHRpb25zKQorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBicm9rZXIsIHBvcnQsIG1hbmFnZXJfY2xp
ZW50LCB3b3JrZXJfY2xhc3MsIHdvcmtlcl9udW1iZXIsIHJlc3VsdHNfZGlyZWN0b3J5LCBvcHRp
b25zKToKKyAgICAgICAgX1dvcmtlckNvbm5lY3Rpb24uX19pbml0X18oc2VsZiwgYnJva2VyLCB3
b3JrZXJfY2xhc3MsIHdvcmtlcl9udW1iZXIsIHJlc3VsdHNfZGlyZWN0b3J5LCBvcHRpb25zKQog
ICAgICAgICBzZWxmLl9hbGl2ZSA9IEZhbHNlCiAgICAgICAgIHNlbGYuX3BvcnQgPSBwb3J0CiAg
ICAgICAgIHNlbGYuX21hbmFnZXJfY2xpZW50ID0gbWFuYWdlcl9jbGllbnQKZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL3dvcmtlci5w
eSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL3dvcmtl
ci5weQppbmRleCA4MzJlZWQ4ZDcyYjUxM2JmYWVjODI0NWRlNjE4NDRkODQ0MjU4OWYzLi5iNjZj
ZTliNzlkMjE3OTkxNjdjZWNkZmNjNjc0ZjliNzcwZDZmNWI5IDEwMDY0NAotLS0gYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy93b3JrZXIucHkKKysrIGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvd29ya2VyLnB5
CkBAIC02NSw3ICs2NSw3IEBAIGNsYXNzIFdvcmtlcihtYW5hZ2VyX3dvcmtlcl9icm9rZXIuQWJz
dHJhY3RXb3JrZXIpOgogICAgICAgICBUaGlzIHJvdXRpbmUgZXhpc3RzIHNvIHRoYXQgdGhlIG1p
eGluIGNhbiBiZSBjcmVhdGVkIGFuZCB0aGVuIG1hcnNoYWxlZAogICAgICAgICBhY3Jvc3MgaW50
byBhIGNoaWxkIHByb2Nlc3MuIiIiCiAgICAgICAgIHNlbGYuX3BvcnQgPSBwb3J0Ci0gICAgICAg
IHNlbGYuX2ZpbGVzeXN0ZW0gPSBwb3J0LmZpbGVzeXN0ZW0KKyAgICAgICAgc2VsZi5fZmlsZXN5
c3RlbSA9IHBvcnQuaG9zdC5maWxlc3lzdGVtCiAgICAgICAgIHNlbGYuX2JhdGNoX2NvdW50ID0g
MAogICAgICAgICBzZWxmLl9iYXRjaF9zaXplID0gc2VsZi5fb3B0aW9ucy5iYXRjaF9zaXplIG9y
IDAKICAgICAgICAgdGVzdHNfcnVuX2ZpbGVuYW1lID0gc2VsZi5fZmlsZXN5c3RlbS5qb2luKHNl
bGYuX3Jlc3VsdHNfZGlyZWN0b3J5LCAidGVzdHNfcnVuJWQudHh0IiAlIHNlbGYuX3dvcmtlcl9u
dW1iZXIpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9t
b2RlbHMvdGVzdF9jb25maWd1cmF0aW9uLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvbW9kZWxzL3Rlc3RfY29uZmlndXJhdGlvbi5weQppbmRleCBlMDVjMzQzOGY3OTIz
Y2UxNzI3Y2U5MTNiNDEwZTY0Y2IzZWQyMmIxLi44NzViYTA0MTUzY2YwNmY2ZTVkMGNjZmFmYTAy
ZGU2ZmZjOTM3YmYxIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9tb2RlbHMvdGVzdF9jb25maWd1cmF0aW9uLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2NvbmZpZ3VyYXRpb24ucHkKQEAgLTM2LDE1
ICszNiw2IEBAIGNsYXNzIFRlc3RDb25maWd1cmF0aW9uKG9iamVjdCk6CiAgICAgICAgIHNlbGYu
Z3JhcGhpY3NfdHlwZSA9IGdyYXBoaWNzX3R5cGUKIAogICAgIEBjbGFzc21ldGhvZAotICAgIGRl
ZiBmcm9tX3BvcnQoY2xzLCBwb3J0KToKLSAgICAgICAgYXNzZXJ0KHBvcnQpCi0gICAgICAgIHZl
cnNpb24gPSBwb3J0LnZlcnNpb24oKQotICAgICAgICBhcmNoaXRlY3R1cmUgPSBwb3J0LmFyY2hp
dGVjdHVyZSgpCi0gICAgICAgIGJ1aWxkX3R5cGUgPSBwb3J0Lm9wdGlvbnMuY29uZmlndXJhdGlv
bi5sb3dlcigpCi0gICAgICAgIGdyYXBoaWNzX3R5cGUgPSBwb3J0LmdyYXBoaWNzX3R5cGUoKQot
ICAgICAgICByZXR1cm4gVGVzdENvbmZpZ3VyYXRpb24odmVyc2lvbiwgYXJjaGl0ZWN0dXJlLCBi
dWlsZF90eXBlLCBncmFwaGljc190eXBlKQotCi0gICAgQGNsYXNzbWV0aG9kCiAgICAgZGVmIGNh
dGVnb3J5X29yZGVyKGNscyk6CiAgICAgICAgICIiIlRoZSBtb3N0IGNvbW1vbiBodW1hbi1yZWFk
YWJsZSBvcmRlciBpbiB3aGljaCB0aGUgY29uZmlndXJhdGlvbiBwcm9wZXJ0aWVzIGFyZSBsaXN0
ZWQuIiIiCiAgICAgICAgIHJldHVybiBbJ3ZlcnNpb24nLCAnYXJjaGl0ZWN0dXJlJywgJ2J1aWxk
X3R5cGUnLCAnZ3JhcGhpY3NfdHlwZSddCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9jb25maWd1cmF0aW9uX3VuaXR0ZXN0LnB5IGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfY29uZmlndXJh
dGlvbl91bml0dGVzdC5weQppbmRleCBkYTA2NDNlOTBiYjI4ZjQ5YzcwNDA1YjY5YTBhMTM4YjNi
ZWIwMTNkLi4xOTI4MzY4NDljZjYzOGMwMzQyN2RjNTMzNmFjNjFjMmVkMjExMGY0IDEwMDY0NAot
LS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9jb25m
aWd1cmF0aW9uX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL21vZGVscy90ZXN0X2NvbmZpZ3VyYXRpb25fdW5pdHRlc3QucHkKQEAgLTkzLDcgKzkz
LDYgQEAgY2xhc3MgVGVzdENvbmZpZ3VyYXRpb25UZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoVGVzdENvbmZpZ3VyYXRpb24oJ3hwJywgJ3g4NicsICdy
ZWxlYXNlJywgJ2NwdScpLCBUZXN0Q29uZmlndXJhdGlvbigneHAnLCAneDg2JywgJ3JlbGVhc2Un
LCAnY3B1JykpCiAgICAgICAgIGhvc3QgPSBNb2NrSG9zdCgpCiAgICAgICAgIHRlc3RfcG9ydCA9
IGhvc3QucG9ydF9mYWN0b3J5LmdldCgndGVzdC13aW4teHAnLCBOb25lKQotICAgICAgICBzZWxm
LmFzc2VydEVxdWFscyhUZXN0Q29uZmlndXJhdGlvbi5mcm9tX3BvcnQodGVzdF9wb3J0KSwgVGVz
dENvbmZpZ3VyYXRpb24oJ3hwJywgJ3g4NicsICdyZWxlYXNlJywgJ2NwdScpKQogICAgICAgICBz
ZWxmLmFzc2VydE5vdEVxdWFscyhUZXN0Q29uZmlndXJhdGlvbigneHAnLCAneDg2JywgJ3JlbGVh
c2UnLCAnZ3B1JyksIFRlc3RDb25maWd1cmF0aW9uKCd4cCcsICd4ODYnLCAncmVsZWFzZScsICdj
cHUnKSkKICAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbHMoVGVzdENvbmZpZ3VyYXRpb24oJ3hw
JywgJ3g4NicsICdkZWJ1ZycsICdjcHUnKSwgVGVzdENvbmZpZ3VyYXRpb24oJ3hwJywgJ3g4Nics
ICdyZWxlYXNlJywgJ2NwdScpKQogCkBAIC0xMDQsMTIgKzEwMyw2IEBAIGNsYXNzIFRlc3RDb25m
aWd1cmF0aW9uVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICAgICByZXN1bHRfY29u
ZmlnX3ZhbHVlcy5hcHBlbmQodmFsdWUpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHNldChb
J3hwJywgJ3g4NicsICdyZWxlYXNlJywgJ2NwdSddKSwgc2V0KHJlc3VsdF9jb25maWdfdmFsdWVz
KSkKIAotICAgIGRlZiB0ZXN0X2Zyb21fcG9ydChzZWxmKToKLSAgICAgICAgaG9zdCA9IE1vY2tI
b3N0KCkKLSAgICAgICAgdGVzdF9wb3J0ID0gaG9zdC5wb3J0X2ZhY3RvcnkuZ2V0KCd0ZXN0LXdp
bi14cCcsIE5vbmUpCi0gICAgICAgIGNvbmZpZyA9IFRlc3RDb25maWd1cmF0aW9uLmZyb21fcG9y
dCh0ZXN0X3BvcnQpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKCc8eHAsIHg4NiwgcmVsZWFz
ZSwgY3B1PicsIHN0cihjb25maWcpKQotCiAKIGNsYXNzIFNwZWNpZmllclNvcnRlclRlc3QodW5p
dHRlc3QuVGVzdENhc2UpOgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCB0ZXN0RnVuYyk6CmRpZmYg
LS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHkg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHkKaW5kZXgg
OGVlYjg4MWZiNzg2MTE5ZGJkYjE3MzYxNTVmOTllYjM0ZDkxMzEzZS4uMWVmMmMzMTAzZjAzY2Ex
N2RhYmRmZTgzOGVmOTM0ZTMzYjVhZjFkZiAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFzZS5weQpAQCAtMTAwLDIyICsxMDAsMTIgQEAgY2xhc3Mg
UG9ydChvYmplY3QpOgogICAgICAgICAjIEZJWE1FOiBJZGVhbGx5IHdlJ2QgaGF2ZSBhIHBhY2th
Z2Utd2lkZSB3YXkgdG8gZ2V0IGEKICAgICAgICAgIyB3ZWxsLWZvcm1lZCBvcHRpb25zIG9iamVj
dCB0aGF0IGhhZCBhbGwgb2YgdGhlIG5lY2Vzc2FyeQogICAgICAgICAjIG9wdGlvbnMgZGVmaW5l
ZCBvbiBpdC4KLSAgICAgICAgc2VsZi5vcHRpb25zID0gb3B0aW9ucyBvciBEdW1teU9wdGlvbnMo
KQorICAgICAgICBzZWxmLl9vcHRpb25zID0gb3B0aW9ucyBvciBEdW1teU9wdGlvbnMoKQogCiAg
ICAgICAgIHNlbGYuaG9zdCA9IGhvc3QKLQotICAgICAgICAjIEZJWE1FOiBSZW1vdmUgdGhlcyBh
Y2Nlc3NvcnMgb25jZSBhbGwgY2FsbGVycyBoYXZlIG1vdmVkIHRvIHVzaW5nIHNlbGYuaG9zdC4K
LSAgICAgICAgc2VsZi5leGVjdXRpdmUgPSBzZWxmLmhvc3QuZXhlY3V0aXZlCi0gICAgICAgIHNl
bGYudXNlciA9IHNlbGYuaG9zdC51c2VyCi0gICAgICAgIHNlbGYuZmlsZXN5c3RlbSA9IHNlbGYu
aG9zdC5maWxlc3lzdGVtCi0gICAgICAgIHNlbGYuY29uZmlnID0gY29uZmlnIG9yIHBvcnRfY29u
ZmlnLkNvbmZpZyhzZWxmLmV4ZWN1dGl2ZSwgc2VsZi5maWxlc3lzdGVtKQotCi0gICAgICAgICMg
RklYTUU6IFJlbW92ZSBhbGwgb2YgdGhlIG9sZCAicHJvdGVjdGVkIiB2ZXJzaW9ucyB3aGVuIHdl
IGNhbi4KLSAgICAgICAgc2VsZi5fb3B0aW9ucyA9IHNlbGYub3B0aW9ucwotICAgICAgICBzZWxm
Ll9leGVjdXRpdmUgPSBzZWxmLmV4ZWN1dGl2ZQotICAgICAgICBzZWxmLl9maWxlc3lzdGVtID0g
c2VsZi5maWxlc3lzdGVtCi0gICAgICAgIHNlbGYuX3VzZXIgPSBzZWxmLnVzZXIKLSAgICAgICAg
c2VsZi5fY29uZmlnID0gc2VsZi5jb25maWcKKyAgICAgICAgc2VsZi5fZXhlY3V0aXZlID0gaG9z
dC5leGVjdXRpdmUKKyAgICAgICAgc2VsZi5fZmlsZXN5c3RlbSA9IGhvc3QuZmlsZXN5c3RlbQor
ICAgICAgICBzZWxmLl9jb25maWcgPSBjb25maWcgb3IgcG9ydF9jb25maWcuQ29uZmlnKHNlbGYu
X2V4ZWN1dGl2ZSwgc2VsZi5fZmlsZXN5c3RlbSkKIAogICAgICAgICBzZWxmLl9oZWxwZXIgPSBO
b25lCiAgICAgICAgIHNlbGYuX2h0dHBfc2VydmVyID0gTm9uZQpAQCAtNTAzLDcgKzQ5Myw3IEBA
IGNsYXNzIFBvcnQob2JqZWN0KToKICAgICAgICAgIiIiUmV0dXJuIHRoZSBsaXN0IG9mIHRlc3Rz
IGZvdW5kLiIiIgogICAgICAgICAjIFdoZW4gY29sbGVjdGluZyB0ZXN0IGNhc2VzLCBza2lwIHRo
ZXNlIGRpcmVjdG9yaWVzCiAgICAgICAgIHNraXBwZWRfZGlyZWN0b3JpZXMgPSBzZXQoWycuc3Zu
JywgJ19zdm4nLCAncmVzb3VyY2VzJywgJ3NjcmlwdC10ZXN0cycsICdyZWZlcmVuY2UnLCAncmVm
dGVzdCddKQotICAgICAgICBmaWxlcyA9IGZpbmRfZmlsZXMuZmluZChzZWxmLmZpbGVzeXN0ZW0s
IHNlbGYubGF5b3V0X3Rlc3RzX2RpcigpLCBwYXRocywgc2tpcHBlZF9kaXJlY3RvcmllcywgUG9y
dC5faXNfdGVzdF9maWxlKQorICAgICAgICBmaWxlcyA9IGZpbmRfZmlsZXMuZmluZChzZWxmLl9m
aWxlc3lzdGVtLCBzZWxmLmxheW91dF90ZXN0c19kaXIoKSwgcGF0aHMsIHNraXBwZWRfZGlyZWN0
b3JpZXMsIFBvcnQuX2lzX3Rlc3RfZmlsZSkKICAgICAgICAgcmV0dXJuIHNldChbc2VsZi5yZWxh
dGl2ZV90ZXN0X2ZpbGVuYW1lKGYpIGZvciBmIGluIGZpbGVzXSkKIAogICAgICMgV2hlbiBjb2xs
ZWN0aW5nIHRlc3QgY2FzZXMsIHdlIGluY2x1ZGUgYW55IGZpbGUgd2l0aCB0aGVzZSBleHRlbnNp
b25zLgpAQCAtNzYxLDcgKzc1MSw3IEBAIGNsYXNzIFBvcnQob2JqZWN0KToKICAgICBkZWYgc2hv
d19yZXN1bHRzX2h0bWxfZmlsZShzZWxmLCByZXN1bHRzX2ZpbGVuYW1lKToKICAgICAgICAgIiIi
VGhpcyByb3V0aW5lIHNob3VsZCBkaXNwbGF5IHRoZSBIVE1MIGZpbGUgcG9pbnRlZCBhdCBieQog
ICAgICAgICByZXN1bHRzX2ZpbGVuYW1lIGluIGEgdXNlcnMnIGJyb3dzZXIuIiIiCi0gICAgICAg
IHJldHVybiBzZWxmLl91c2VyLm9wZW5fdXJsKHJlc3VsdHNfZmlsZW5hbWUpCisgICAgICAgIHJl
dHVybiBzZWxmLmhvc3QudXNlci5vcGVuX3VybChyZXN1bHRzX2ZpbGVuYW1lKQogCiAgICAgZGVm
IGNyZWF0ZV9kcml2ZXIoc2VsZiwgd29ya2VyX251bWJlcik6CiAgICAgICAgICIiIlJldHVybiBh
IG5ld2x5IGNyZWF0ZWQgRHJpdmVyIHN1YmNsYXNzIGZvciBzdGFydGluZy9zdG9wcGluZyB0aGUg
dGVzdCBkcml2ZXIuIiIiCkBAIC04MzcsNyArODI3LDcgQEAgY2xhc3MgUG9ydChvYmplY3QpOgog
ICAgIGRlZiB0ZXN0X2NvbmZpZ3VyYXRpb24oc2VsZik6CiAgICAgICAgICIiIlJldHVybnMgdGhl
IGN1cnJlbnQgVGVzdENvbmZpZ3VyYXRpb24gZm9yIHRoZSBwb3J0LiIiIgogICAgICAgICBpZiBu
b3Qgc2VsZi5fdGVzdF9jb25maWd1cmF0aW9uOgotICAgICAgICAgICAgc2VsZi5fdGVzdF9jb25m
aWd1cmF0aW9uID0gVGVzdENvbmZpZ3VyYXRpb24uZnJvbV9wb3J0KHNlbGYpCisgICAgICAgICAg
ICBzZWxmLl90ZXN0X2NvbmZpZ3VyYXRpb24gPSBUZXN0Q29uZmlndXJhdGlvbihzZWxmLl92ZXJz
aW9uLCBzZWxmLl9hcmNoaXRlY3R1cmUsIHNlbGYuX29wdGlvbnMuY29uZmlndXJhdGlvbi5sb3dl
cigpLCBzZWxmLl9ncmFwaGljc190eXBlKQogICAgICAgICByZXR1cm4gc2VsZi5fdGVzdF9jb25m
aWd1cmF0aW9uCiAKICAgICAjIEZJWE1FOiBCZWxvbmdzIG9uIGEgUGxhdGZvcm0gb2JqZWN0Lgpk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNl
X3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9i
YXNlX3VuaXR0ZXN0LnB5CmluZGV4IDAxOWM2M2FlY2M0NzcxNGFmZGI0NDM1OGYyN2JmNDZmMDZm
ZGYzOTIuLjgyMzljY2E3OTA4ZGMzNjMwNDEzNjY1OGE0ZjA2MmExZGEyNGUyYzEgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFzZV91bml0dGVz
dC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2Vf
dW5pdHRlc3QucHkKQEAgLTIwNiw4ICsyMDYsOCBAQCBjbGFzcyBQb3J0VGVzdCh1bml0dGVzdC5U
ZXN0Q2FzZSk6CiAKICAgICBkZWYgdGVzdF9sYXlvdXRfdGVzdHNfc2tpcHBpbmcoc2VsZik6CiAg
ICAgICAgIHBvcnQgPSBzZWxmLm1ha2VfcG9ydCgpCi0gICAgICAgIHBvcnQuZmlsZXN5c3RlbS53
cml0ZV90ZXh0X2ZpbGUocG9ydC5sYXlvdXRfdGVzdHNfZGlyKCkgKyAnL21lZGlhL3ZpZGVvLXpv
b20uaHRtbCcsICcnKQotICAgICAgICBwb3J0LmZpbGVzeXN0ZW0ud3JpdGVfdGV4dF9maWxlKHBv
cnQubGF5b3V0X3Rlc3RzX2RpcigpICsgJy9mb28vYmFyLmh0bWwnLCAnJykKKyAgICAgICAgcG9y
dC5ob3N0LmZpbGVzeXN0ZW0ud3JpdGVfdGV4dF9maWxlKHBvcnQubGF5b3V0X3Rlc3RzX2Rpcigp
ICsgJy9tZWRpYS92aWRlby16b29tLmh0bWwnLCAnJykKKyAgICAgICAgcG9ydC5ob3N0LmZpbGVz
eXN0ZW0ud3JpdGVfdGV4dF9maWxlKHBvcnQubGF5b3V0X3Rlc3RzX2RpcigpICsgJy9mb28vYmFy
Lmh0bWwnLCAnJykKICAgICAgICAgcG9ydC5za2lwcGVkX2xheW91dF90ZXN0cyA9IGxhbWJkYTog
Wydmb28vYmFyLmh0bWwnLCAnbWVkaWEnXQogICAgICAgICBzZWxmLmFzc2VydFRydWUocG9ydC5z
a2lwc19sYXlvdXRfdGVzdCgnZm9vL2Jhci5odG1sJykpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1
ZShwb3J0LnNraXBzX2xheW91dF90ZXN0KCdtZWRpYS92aWRlby16b29tLmh0bWwnKSkKQEAgLTIy
MCw4ICsyMjAsOCBAQCBjbGFzcyBQb3J0VGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICBk
ZWYgdGVzdF90ZXN0X2RpcnMoc2VsZik6CiAgICAgICAgIHBvcnQgPSBzZWxmLm1ha2VfcG9ydCgp
Ci0gICAgICAgIHBvcnQuX2ZpbGVzeXN0ZW0ud3JpdGVfdGV4dF9maWxlKHBvcnQubGF5b3V0X3Rl
c3RzX2RpcigpICsgJy9jYW52YXMvdGVzdCcsICcnKQotICAgICAgICBwb3J0Ll9maWxlc3lzdGVt
LndyaXRlX3RleHRfZmlsZShwb3J0LmxheW91dF90ZXN0c19kaXIoKSArICcvY3NzMi4xL3Rlc3Qn
LCAnJykKKyAgICAgICAgcG9ydC5ob3N0LmZpbGVzeXN0ZW0ud3JpdGVfdGV4dF9maWxlKHBvcnQu
bGF5b3V0X3Rlc3RzX2RpcigpICsgJy9jYW52YXMvdGVzdCcsICcnKQorICAgICAgICBwb3J0Lmhv
c3QuZmlsZXN5c3RlbS53cml0ZV90ZXh0X2ZpbGUocG9ydC5sYXlvdXRfdGVzdHNfZGlyKCkgKyAn
L2NzczIuMS90ZXN0JywgJycpCiAgICAgICAgIGRpcnMgPSBwb3J0LnRlc3RfZGlycygpCiAgICAg
ICAgIHNlbGYuYXNzZXJ0VHJ1ZSgnY2FudmFzJyBpbiBkaXJzKQogICAgICAgICBzZWxmLmFzc2Vy
dFRydWUoJ2NzczIuMScgaW4gZGlycykKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3BvcnQvd2Via2l0X3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93ZWJraXRfdW5pdHRlc3QucHkKaW5kZXggOGJkMWNm
Yzg4ZThlMzdlZGNjMmY1ZWNjZmE1NmUxMGFkMzI5MmMzNS4uMzUyZWE2NzEzMzE3YzVhNWUwODA1
ODY1ZmEwYzk4YmM3MTI1OWVjNyAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvcG9ydC93ZWJraXRfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93ZWJraXRfdW5pdHRlc3QucHkKQEAgLTUwLDcgKzUw
LDcgQEAgY2xhc3MgVGVzdFdlYktpdFBvcnQoV2ViS2l0UG9ydCk6CiAgICAgICAgIFdlYktpdFBv
cnQuX19pbml0X18oc2VsZiwgaG9zdD1ob3N0LCAqKmt3YXJncykKIAogICAgIGRlZiBhbGxfdGVz
dF9jb25maWd1cmF0aW9ucyhzZWxmKToKLSAgICAgICAgcmV0dXJuIFtUZXN0Q29uZmlndXJhdGlv
bi5mcm9tX3BvcnQoc2VsZildCisgICAgICAgIHJldHVybiBbc2VsZi50ZXN0X2NvbmZpZ3VyYXRp
b24oKV0KIAogICAgIGRlZiBfcnVudGltZV9mZWF0dXJlX2xpc3Qoc2VsZik6CiAgICAgICAgIHJl
dHVybiBzZWxmLmZlYXR1cmVfbGlzdApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHMucHkKaW5kZXggN2U2OWY1MWJhNThlYzQ2
MjRiNTA1ZjMxOWExZDgyMTk3ZGI1ODE2Ny4uNmU5MTUzYTQyYzJkNTMzMzdmMmM0NDdlZGQ1NTli
NDhkYjRmZGRmMSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvcnVuX3dlYmtpdF90ZXN0cy5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzLnB5CkBAIC0xMjcsMTAgKzEyNywxMCBAQCBkZWYgX3Nl
dF91cF9kZXJpdmVkX29wdGlvbnMocG9ydCwgb3B0aW9ucyk6CiAgICAgaWYgb3B0aW9ucy5hZGRp
dGlvbmFsX3BsYXRmb3JtX2RpcmVjdG9yeToKICAgICAgICAgbm9ybWFsaXplZF9wbGF0Zm9ybV9k
aXJlY3RvcmllcyA9IFtdCiAgICAgICAgIGZvciBwYXRoIGluIG9wdGlvbnMuYWRkaXRpb25hbF9w
bGF0Zm9ybV9kaXJlY3Rvcnk6Ci0gICAgICAgICAgICBpZiBub3QgcG9ydC5maWxlc3lzdGVtLmlz
YWJzKHBhdGgpOgorICAgICAgICAgICAgaWYgbm90IHBvcnQuaG9zdC5maWxlc3lzdGVtLmlzYWJz
KHBhdGgpOgogICAgICAgICAgICAgICAgIHdhcm5pbmdzLmFwcGVuZCgiLS1hZGRpdGlvbmFsLXBs
YXRmb3JtLWRpcmVjdG9yeT0lcyBpcyBpZ25vcmVkIHNpbmNlIGl0IGlzIG5vdCBhYnNvbHV0ZSIg
JSBwYXRoKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgICAgICBub3JtYWxpemVk
X3BsYXRmb3JtX2RpcmVjdG9yaWVzLmFwcGVuZChwb3J0LmZpbGVzeXN0ZW0ubm9ybXBhdGgocGF0
aCkpCisgICAgICAgICAgICBub3JtYWxpemVkX3BsYXRmb3JtX2RpcmVjdG9yaWVzLmFwcGVuZChw
b3J0Lmhvc3QuZmlsZXN5c3RlbS5ub3JtcGF0aChwYXRoKSkKICAgICAgICAgb3B0aW9ucy5hZGRp
dGlvbmFsX3BsYXRmb3JtX2RpcmVjdG9yeSA9IG5vcm1hbGl6ZWRfcGxhdGZvcm1fZGlyZWN0b3Jp
ZXMKIAogICAgIGlmIG5vdCBvcHRpb25zLmh0dHAgYW5kIG9wdGlvbnMuZm9yY2U6CmRpZmYgLS1n
aXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BlcmZvcm1hbmNlX3Rlc3RzL3BlcmZ0ZXN0c3J1
bm5lci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcGVyZm9ybWFuY2VfdGVzdHMvcGVyZnRl
c3RzcnVubmVyLnB5CmluZGV4IGU4OTc4Y2U1MWNjYmI5MDM2ZjkzYjZmYjEyOTA5NGY2ZGFmMTI2
YWUuLjA1NTMwNTczMjBlOGYxOWEzZmM5NjhkOTk0MzY0YjUzZTVmYTdkNmYgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcGVyZm9ybWFuY2VfdGVzdHMvcGVyZnRlc3RzcnVubmVy
LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcGVyZm9ybWFuY2VfdGVzdHMvcGVyZnRl
c3RzcnVubmVyLnB5CkBAIC01NCw3ICs1NCw3IEBAIGNsYXNzIFBlcmZUZXN0c1J1bm5lcihvYmpl
Y3QpOgogICAgICAgICBzZWxmLl9ob3N0Ll9pbml0aWFsaXplX3NjbSgpCiAgICAgICAgIHNlbGYu
X3BvcnQgPSBzZWxmLl9ob3N0LnBvcnRfZmFjdG9yeS5nZXQoc2VsZi5fb3B0aW9ucy5wbGF0Zm9y
bSwgc2VsZi5fb3B0aW9ucykKICAgICAgICAgc2VsZi5fcHJpbnRlciA9IHByaW50aW5nLlByaW50
ZXIoc2VsZi5fcG9ydCwgc2VsZi5fb3B0aW9ucywgcmVndWxhcl9vdXRwdXQsIGJ1aWxkYm90X291
dHB1dCwgY29uZmlndXJlX2xvZ2dpbmc9RmFsc2UpCi0gICAgICAgIHNlbGYuX3dlYmtpdF9iYXNl
X2Rpcl9sZW4gPSBsZW4oc2VsZi5fcG9ydC5jb25maWcud2Via2l0X2Jhc2VfZGlyKCkpCisgICAg
ICAgIHNlbGYuX3dlYmtpdF9iYXNlX2Rpcl9sZW4gPSBsZW4oc2VsZi5fcG9ydC53ZWJraXRfYmFz
ZSgpKQogCiAgICAgZGVmIF9wYXJzZV9hcmdzKHNlbGYsIGFyZ3M9Tm9uZSk6CiAgICAgICAgIHBy
aW50X29wdGlvbnMgPSBwcmludGluZy5wcmludF9vcHRpb25zKCkKZGlmZiAtLWdpdCBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvdG9fYmVfbW92ZWQvcmViYXNlbGluZV9jaHJvbWl1bV93ZWJraXRf
dGVzdHMucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3RvX2JlX21vdmVkL3JlYmFzZWxpbmVf
Y2hyb21pdW1fd2Via2l0X3Rlc3RzLnB5CmluZGV4IDgyMjhkNDM4MWJhMTBjMzViYjk5MzZkYWQ5
NmVmODlmNDk4OGY0NTcuLmI2YjZlNjRiN2IxMDQ3MjhlOTYzYTZmZjBlYjM5OGNlMGQyOWNhMmYg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9fYmVfbW92ZWQvcmViYXNlbGlu
ZV9jaHJvbWl1bV93ZWJraXRfdGVzdHMucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90
b19iZV9tb3ZlZC9yZWJhc2VsaW5lX2Nocm9taXVtX3dlYmtpdF90ZXN0cy5weQpAQCAtNjUyLDE0
ICs2NTIsMTUgQEAgY2xhc3MgSHRtbEdlbmVyYXRvcihvYmplY3QpOgogICAgICAgICAgICAgICAg
ICAgICAgICAgJzxpbWcgc3R5bGU9IndpZHRoOiAyMDAiIHNyYz0iJSh1cmkpcyIgLz48L2E+PC90
ZD4nKQogICAgIEhUTUxfVFIgPSAnPHRyPiVzPC90cj4nCiAKLSAgICBkZWYgX19pbml0X18oc2Vs
ZiwgcG9ydCwgdGFyZ2V0X3BvcnQsIG9wdGlvbnMsIHBsYXRmb3JtcywgcmViYXNlbGluaW5nX3Rl
c3RzKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgaG9zdCwgcG9ydCwgdGFyZ2V0X3BvcnQsIG9w
dGlvbnMsIHBsYXRmb3JtcywgcmViYXNlbGluaW5nX3Rlc3RzKToKICAgICAgICAgc2VsZi5faHRt
bF9kaXJlY3RvcnkgPSBvcHRpb25zLmh0bWxfZGlyZWN0b3J5CisgICAgICAgIHNlbGYuX2hvc3Qg
PSBob3N0CisgICAgICAgIHNlbGYuX2ZpbGVzeXN0ZW0gPSBob3N0LmZpbGVzeXN0ZW0KICAgICAg
ICAgc2VsZi5fcG9ydCA9IHBvcnQKICAgICAgICAgc2VsZi5fdGFyZ2V0X3BvcnQgPSB0YXJnZXRf
cG9ydAogICAgICAgICBzZWxmLl9vcHRpb25zID0gb3B0aW9ucwogICAgICAgICBzZWxmLl9wbGF0
Zm9ybXMgPSBwbGF0Zm9ybXMKICAgICAgICAgc2VsZi5fcmViYXNlbGluaW5nX3Rlc3RzID0gcmVi
YXNlbGluaW5nX3Rlc3RzCi0gICAgICAgIHNlbGYuX2ZpbGVzeXN0ZW0gPSBwb3J0Ll9maWxlc3lz
dGVtCiAgICAgICAgIHNlbGYuX2h0bWxfZmlsZSA9IHNlbGYuX2ZpbGVzeXN0ZW0uam9pbihvcHRp
b25zLmh0bWxfZGlyZWN0b3J5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJ3JlYmFzZWxpbmUuaHRtbCcpCiAKQEAgLTY5NSw3ICs2OTYsNyBAQCBjbGFz
cyBIdG1sR2VuZXJhdG9yKG9iamVjdCk6CiAgICAgICAgICIiIkxhdW5jaCB0aGUgcmViYXNlbGlu
aW5nIGh0bWwgaW4gYnJ3b3Nlci4iIiIKIAogICAgICAgICBfbG9nLmRlYnVnKCdMYXVuY2hpbmcg
aHRtbDogIiVzIicsIHNlbGYuX2h0bWxfZmlsZSkKLSAgICAgICAgc2VsZi5fcG9ydC5fdXNlci5v
cGVuX3VybChzZWxmLl9odG1sX2ZpbGUpCisgICAgICAgIHNlbGYuX2hvc3QudXNlci5vcGVuX3Vy
bChzZWxmLl9odG1sX2ZpbGUpCiAgICAgICAgIF9sb2cuZGVidWcoJ0h0bWwgbGF1bmNoZWQuJykK
IAogICAgIGRlZiBfZ2VuZXJhdGVfYmFzZWxpbmVfbGlua3Moc2VsZiwgdGVzdF9iYXNlbmFtZSwg
c3VmZml4LCBwbGF0Zm9ybSk6CkBAIC0xMDMwLDcgKzEwMzEsNyBAQCBkZWYgcmVhbF9tYWluKGhv
c3QsIG9wdGlvbnMsIHRhcmdldF9vcHRpb25zLCBob3N0X3BvcnRfb2JqLCB0YXJnZXRfcG9ydF9v
YmosIHVybAogCiAgICAgX2xvZy5kZWJ1ZygnJykKICAgICBsb2dfZGFzaGVkX3N0cmluZygnUmVi
YXNlbGluaW5nIHJlc3VsdCBjb21wYXJpc29uIHN0YXJ0ZWQnKQotICAgIGh0bWxfZ2VuZXJhdG9y
ID0gSHRtbEdlbmVyYXRvcihob3N0X3BvcnRfb2JqLAorICAgIGh0bWxfZ2VuZXJhdG9yID0gSHRt
bEdlbmVyYXRvcihob3N0LCBob3N0X3BvcnRfb2JqLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB0YXJnZXRfcG9ydF9vYmosCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIG9wdGlvbnMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYmFz
ZWxpbmVfcGxhdGZvcm1zLApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b19i
ZV9tb3ZlZC9yZWJhc2VsaW5lX2Nocm9taXVtX3dlYmtpdF90ZXN0c191bml0dGVzdC5weSBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvdG9fYmVfbW92ZWQvcmViYXNlbGluZV9jaHJvbWl1bV93ZWJr
aXRfdGVzdHNfdW5pdHRlc3QucHkKaW5kZXggZjk1MzMwM2M3ZDE0NTMwMTQ5MTMwMjUxZGU0NWEy
YTBiMWQwMmRiYS4uNTkyOTllMzk2ZmE2OWZjZjU3Zjg1NjAzZjA2ZWFlMWJhYzNjZDVkNyAxMDA2
NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b19iZV9tb3ZlZC9yZWJhc2VsaW5lX2No
cm9taXVtX3dlYmtpdF90ZXN0c191bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3RvX2JlX21vdmVkL3JlYmFzZWxpbmVfY2hyb21pdW1fd2Via2l0X3Rlc3RzX3VuaXR0ZXN0
LnB5CkBAIC0zNzcsNyArMzc3LDcgQEAgY2xhc3MgVGVzdEh0bWxHZW5lcmF0b3IodW5pdHRlc3Qu
VGVzdENhc2UpOgogICAgICAgICAgICAgZnMubWF5YmVfbWFrZV9kaXJlY3RvcnkoZnMuZGlybmFt
ZShmaWxlbmFtZSkpCiAgICAgICAgICAgICBmcy53cml0ZV9iaW5hcnlfZmlsZShmaWxlbmFtZSwg
Y29udGVudHMpCiAgICAgICAgIGhvc3RfcG9ydCA9IGhvc3QucG9ydF9mYWN0b3J5LmdldCgndGVz
dCcsIG9wdGlvbnMpCi0gICAgICAgIGdlbmVyYXRvciA9IHJlYmFzZWxpbmVfY2hyb21pdW1fd2Vi
a2l0X3Rlc3RzLkh0bWxHZW5lcmF0b3IoaG9zdF9wb3J0LAorICAgICAgICBnZW5lcmF0b3IgPSBy
ZWJhc2VsaW5lX2Nocm9taXVtX3dlYmtpdF90ZXN0cy5IdG1sR2VuZXJhdG9yKGhvc3QsIGhvc3Rf
cG9ydCwKICAgICAgICAgICAgIHRhcmdldF9wb3J0PU5vbmUsIG9wdGlvbnM9b3B0aW9ucywgcGxh
dGZvcm1zPVsndGVzdC1tYWMtbGVvcGFyZCddLCByZWJhc2VsaW5pbmdfdGVzdHM9dGVzdHMpCiAg
ICAgICAgIHJldHVybiBnZW5lcmF0b3IsIGhvc3RfcG9ydAogCg==
</data>
<flag name="review"
          id="120094"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>