<?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>154433</bug_id>
          
          <creation_ts>2016-02-18 19:52:11 -0800</creation_ts>
          <short_desc>Perf dashboard should let user cancel pending A/B testing and hide failed ones</short_desc>
          <delta_ts>2016-02-18 20:18:23 -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>Perf Dashboard</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>cdumez</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1166290</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-02-18 19:52:11 -0800</bug_when>
    <thetext>It should be able to cancel pending jobs and not waste cycle time.
It should also have the capability to hide bad A/B testing results.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1166291</commentid>
    <comment_count>1</comment_count>
      <attachid>271723</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-02-18 20:09:56 -0800</bug_when>
    <thetext>Created attachment 271723
Adds the capability</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1166292</commentid>
    <comment_count>2</comment_count>
      <attachid>271723</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-02-18 20:11:50 -0800</bug_when>
    <thetext>Comment on attachment 271723
Adds the capability

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1166293</commentid>
    <comment_count>3</comment_count>
      <attachid>271724</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-02-18 20:16:00 -0800</bug_when>
    <thetext>Created attachment 271724
Addd a description to change log</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1166294</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-02-18 20:18:23 -0800</bug_when>
    <thetext>Committed r196794: &lt;http://trac.webkit.org/changeset/196794&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>271723</attachid>
            <date>2016-02-18 20:09:56 -0800</date>
            <delta_ts>2016-02-18 20:15:54 -0800</delta_ts>
            <desc>Adds the capability</desc>
            <filename>bug-154433-20160218200941.patch</filename>
            <type>text/plain</type>
            <size>20586</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwkocmV2aXNpb24gMTk2NzkzKQorKysg
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDQ2IEBACisyMDE2LTAyLTE4ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgor
CisgICAgICAgIFBlcmYgZGFzaGJvYXJkIHNob3VsZCBsZXQgdXNlciBjYW5jZWwgcGVuZGluZyBB
L0IgdGVzdGluZyBhbmQgaGlkZSBmYWlsZWQgb25lcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU0NDMzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBpbml0LWRhdGFiYXNlLnNxbDogQWRkZWQgdGVzdGdy
b3VwX2hpZGRlbiBjb2x1bW4gdG8gYW5hbHlzaXNfdGVzdF9ncm91cHMgdGFibGUgYW5kIGFkZGVk
ICdjYW5jZWxlZCcKKyAgICAgICAgYXMgYSB2YWx1ZSB0byBidWlsZF9yZXF1ZXN0X3N0YXR1c190
eXBlIHRhYmxlLgorICAgICAgICAqIHB1YmxpYy9hcGkvdGVzdC1ncm91cHMucGhwOgorICAgICAg
ICAoZm9ybWF0X3Rlc3RfZ3JvdXApOiBBZGRlZCAnaGlkZGVuJyBmaWVsZCBpbiB0aGUgSlNPTiBy
ZXN1bHQuCisgICAgICAgICogcHVibGljL3ByaXZpbGVnZWQtYXBpL3VwZGF0ZS10ZXN0LWdyb3Vw
LnBocDoKKyAgICAgICAgKG1haW4pOiBBZGRlZCB0aGUgc3VwcG9ydCBmb3IgdXBkYXRpbmcgdGVz
dGdyb3VwX2hpZGRlbiBjb2x1bW4uIFdoZW4gdGhpcyBjb2x1bW4gaXMgc2V0IHRvIHRydWUsIGFs
c28KKyAgICAgICAgY2FuY2VsIGFsbCBwZW5kaW5nIGJ1aWxkIHJlcXVlc3RzIChieSBzZXR0aW5n
IGl0cyByZXF1ZXN0X3N0YXR1cyB0byAnY2FuY2VsZWQnIHdoaWNoIHdpbGwgYmUgaWdub3JlIGJ5
CisgICAgICAgIHRoZSBzeW5jaW5nIHNjcmlwdCkuCisgICAgICAgICogcHVibGljL3YzL2NvbXBv
bmVudHMvdGVzdC1ncm91cC1yZXN1bHRzLXRhYmxlLmpzOgorICAgICAgICAoVGVzdEdyb3VwUmVz
dWx0c1RhYmxlLnByb3RvdHlwZS5zZXRUZXN0R3JvdXApOiBSZXNldCBfcmVuZGVyZWRUZXN0R3Jv
dXAgaGVyZSBzbyB0aGF0IHRoZSBuZXh0IGNhbGwgdG8KKyAgICAgICAgcmVuZGVyKCkgd2lsbCB1
cGRhdGUgdGhlIHRhYmxlOyBlLmcuIHdoZW4gYnVpbGQgcmVxdWVzdHMnIHN0YXR1cyBjaGFuZ2Ug
ZnJvbSAnUGVuZGluZycgdG8gJ0NhbmNlbGVkJy4KKyAgICAgICAgKiBwdWJsaWMvdjMvbW9kZWxz
L2J1aWxkLXJlcXVlc3QuanM6CisgICAgICAgIChCdWlsZFJlcXVlc3QucHJvdG90eXBlLmhhc0Nv
bXBsZXRlZCk6IEEgYnVpbGQgcmVxdWVzdCBpcyBjb25zaWRlcmVkIGNvbXBsZXRlL2ZpbmlzaGVk
IGlmIGl0J3MgY2FuY2VsZWQuCisgICAgICAgIChCdWlsZFJlcXVlc3QucHJvdG90eXBlLmhhc1Bl
bmRpbmcpOiBBZGRlZC4KKyAgICAgICAgKEJ1aWxkUmVxdWVzdC5wcm90b3R5cGUuc3RhdHVzTGFi
ZWwpOiBIYW5kbGUgJ2NhbmNlbGVkJyBzdGF0dXMuCisgICAgICAgICogcHVibGljL3YzL21vZGVs
cy90ZXN0LWdyb3VwLmpzOgorICAgICAgICAoVGVzdEdyb3VwKToKKyAgICAgICAgKFRlc3RHcm91
cC5wcm90b3R5cGUudXBkYXRlU2luZ2xldG9uKTogQWRkZWQgdG8gdXBkYXRlICdoaWRkZW4nIGZp
ZWxkLgorICAgICAgICAoVGVzdEdyb3VwLnByb3RvdHlwZS5pc0hpZGRlbik6IEFkZGVkLgorICAg
ICAgICAoVGVzdEdyb3VwLnByb3RvdHlwZS5oYXNQZW5kaW5nKTogQWRkZWQuCisgICAgICAgIChU
ZXN0R3JvdXAucHJvdG90eXBlLmhhc1BlbmRpbmcpOiBBZGRlZC4KKyAgICAgICAgKFRlc3RHcm91
cC5wcm90b3R5cGUudXBkYXRlSGlkZGVuRmxhZyk6IEFkZGVkLiBVc2VzIHRoZSBwcml2aWxlZ2Vk
IEFQSSB0byB1cGRhdGUgdGVzdGdyb3VwX2hpZGRlbiBjb2x1bW4uCisgICAgICAgIFRoZSBKU09O
IEFQSSBhbHNvIHVwZGF0ZXMgdGhlIHN0YXR1cyBvZiB0aGUgJ3BlbmRpbmcnIGJ1aWxkIHJlcXVl
c3RzIGluIHRoZSBncm91cCB0byAnY2FuY2VsZWQnLgorICAgICAgICAqIHB1YmxpYy92My9wYWdl
cy9hbmFseXNpcy10YXNrLXBhZ2UuanM6CisgICAgICAgIChBbmFseXNpc1Rhc2tQYWdlKTogQWRk
ZWQgX3Nob3dIaWRkZW5UZXN0R3JvdXBzIGFuZCBfZmlsdGVyZWRUZXN0R3JvdXBzIGFzIGluc3Rh
bmNlIHZhcmlhYmxlcy4KKyAgICAgICAgKEFuYWx5c2lzVGFza1BhZ2UucHJvdG90eXBlLl9kaWRG
ZXRjaFRlc3RHcm91cHMpOgorICAgICAgICAoQW5hbHlzaXNUYXNrUGFnZS5wcm90b3R5cGUuX3No
b3dBbGxUZXN0R3JvdXBzKTogQWRkZWQuCisgICAgICAgIChBbmFseXNpc1Rhc2tQYWdlLnByb3Rv
dHlwZS5fZGlkVXBkYXRlVGVzdEdyb3VwSGlkZGVuU3RhdGUpOiBFeHRyYWN0ZWQgZnJvbSBfZGlk
RmV0Y2hUZXN0R3JvdXBzLgorICAgICAgICAoQW5hbHlzaXNUYXNrUGFnZS5wcm90b3R5cGUuX3Jl
bmRlclRlc3RHcm91cExpc3QpOiBVc2UgdGhlIGZpbHRlcmVkIGxpc3Qgb2YgdGVzdCBncm91cHMg
dG8gc2hvdyB0aGUgbGlzdAorICAgICAgICBvZiB0ZXN0IGdyb3Vwcy4gV2hlbiBhbGwgdGVzdCBn
cm91cHMgYXJlIHNob3duLCB3ZSB3b3VsZCBmaXJzdCBzaG93IHRoZSBoaWRkZW4gb25lcyBhZnRl
ciB0aGUgcmVndWxhciBvbmVzLgorICAgICAgICAoQW5hbHlzaXNUYXNrUGFnZS5wcm90b3R5cGUu
X2NyZWF0ZVRlc3RHcm91cExpc3RJdGVtKTogRXh0cmFjdGVkIGZyb20gX3JlbmRlclRlc3RHcm91
cExpc3QuCisgICAgICAgIChBbmFseXNpc1Rhc2tQYWdlLnByb3RvdHlwZS5fcmVuZGVyVGVzdEdy
b3VwRGV0YWlscyk6IFVwZGF0ZSB0aGUgdGV4dCBpbnNpZGUgdGhlIGJ1dHRvbiB0byBoaWRlIHRo
ZSB0ZXN0CisgICAgICAgIGdyb3VwLiBBbHNvIHNob3cgYSB3YXJuaW5nIHRleHQgdGhhdCB0aGUg
cGVuZGluZyByZXF1ZXN0cyB3aWxsIGJlIGNhbmNlbGVkIGlmIHRoZXJlIGFyZSBhbnkuCisgICAg
ICAgIChBbmFseXNpc1Rhc2tQYWdlLnByb3RvdHlwZS5faGlkZUN1cnJlbnRUZXN0R3JvdXApOiBB
ZGRlZC4KKyAgICAgICAgKEFuYWx5c2lzVGFza1BhZ2UuY3NzVGVtcGxhdGUpOiBVcGRhdGVkIHRo
ZSBzdHlsZS4KKwogMjAxNi0wMi0xOCAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4K
IAogICAgICAgICBUaGUgcm93cyBpbiB0aGUgYW5hbHlzaXMgcmVzdWx0cyB0YWJsZSBzaG91bGQg
YmUgZXhwYW5kYWJsZQpJbmRleDogV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL2luaXQtZGF0YWJh
c2Uuc3FsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9pbml0LWRhdGFi
YXNlLnNxbAkocmV2aXNpb24gMTk2Nzg4KQorKysgV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL2lu
aXQtZGF0YWJhc2Uuc3FsCSh3b3JraW5nIGNvcHkpCkBAIC0yMjUsMTAgKzIyNSwxMSBAQCBDUkVB
VEUgVEFCTEUgdHJpZ2dlcmFibGVfY29uZmlndXJhdGlvbnMgCiAKIENSRUFURSBUQUJMRSBhbmFs
eXNpc190ZXN0X2dyb3VwcyAoCiAgICAgdGVzdGdyb3VwX2lkIHNlcmlhbCBQUklNQVJZIEtFWSwK
LSAgICB0ZXN0Z3JvdXBfdGFzayBpbnRlZ2VyIFJFRkVSRU5DRVMgYW5hbHlzaXNfdGFza3MgTk9U
IE5VTEwsCisgICAgdGVzdGdyb3VwX3Rhc2sgaW50ZWdlciBOT1QgTlVMTCBSRUZFUkVOQ0VTIGFu
YWx5c2lzX3Rhc2tzIE9OIERFTEVURSBDQVNDQURFLAogICAgIHRlc3Rncm91cF9uYW1lIHZhcmNo
YXIoMjU2KSwKICAgICB0ZXN0Z3JvdXBfYXV0aG9yIHZhcmNoYXIoMjU2KSwKICAgICB0ZXN0Z3Jv
dXBfY3JlYXRlZF9hdCB0aW1lc3RhbXAgTk9UIE5VTEwgREVGQVVMVCAoQ1VSUkVOVF9USU1FU1RB
TVAgQVQgVElNRSBaT05FICdVVEMnKSwKKyAgICB0ZXN0Z3JvdXBfaGlkZGVuIGJvb2xlYW4gTk9U
IE5VTEwgREVGQVVMVCBGQUxTRSwKICAgICBDT05TVFJBSU5UIHRlc3Rncm91cF9uYW1lX211c3Rf
YmVfdW5pcXVlX2Zvcl9lYWNoX3Rhc2sgVU5JUVVFKHRlc3Rncm91cF90YXNrLCB0ZXN0Z3JvdXBf
bmFtZSkpOwogQ1JFQVRFIElOREVYIHRlc3Rncm91cF90YXNrX2luZGV4IE9OIGFuYWx5c2lzX3Rl
c3RfZ3JvdXBzKHRlc3Rncm91cF90YXNrKTsKIApAQCAtMjM5LDEzICsyNDAsMTMgQEAgQ1JFQVRF
IFRBQkxFIHJvb3RzICgKICAgICByb290X3NldCBpbnRlZ2VyIFJFRkVSRU5DRVMgcm9vdF9zZXRz
IE5PVCBOVUxMLAogICAgIHJvb3RfY29tbWl0IGludGVnZXIgUkVGRVJFTkNFUyBjb21taXRzIE5P
VCBOVUxMKTsKIAotQ1JFQVRFIFRZUEUgYnVpbGRfcmVxdWVzdF9zdGF0dXNfdHlwZSBhcyBFTlVN
ICgncGVuZGluZycsICdzY2hlZHVsZWQnLCAncnVubmluZycsICdmYWlsZWQnLCAnY29tcGxldGVk
Jyk7CitDUkVBVEUgVFlQRSBidWlsZF9yZXF1ZXN0X3N0YXR1c190eXBlIGFzIEVOVU0gKCdwZW5k
aW5nJywgJ3NjaGVkdWxlZCcsICdydW5uaW5nJywgJ2ZhaWxlZCcsICdjb21wbGV0ZWQnLCAnY2Fu
Y2VsZWQnKTsKIENSRUFURSBUQUJMRSBidWlsZF9yZXF1ZXN0cyAoCiAgICAgcmVxdWVzdF9pZCBz
ZXJpYWwgUFJJTUFSWSBLRVksCiAgICAgcmVxdWVzdF90cmlnZ2VyYWJsZSBpbnRlZ2VyIFJFRkVS
RU5DRVMgYnVpbGRfdHJpZ2dlcmFibGVzIE5PVCBOVUxMLAogICAgIHJlcXVlc3RfcGxhdGZvcm0g
aW50ZWdlciBSRUZFUkVOQ0VTIHBsYXRmb3JtcyBOT1QgTlVMTCwKICAgICByZXF1ZXN0X3Rlc3Qg
aW50ZWdlciBSRUZFUkVOQ0VTIHRlc3RzIE5PVCBOVUxMLAotICAgIHJlcXVlc3RfZ3JvdXAgaW50
ZWdlciBSRUZFUkVOQ0VTIGFuYWx5c2lzX3Rlc3RfZ3JvdXBzIE5PVCBOVUxMLAorICAgIHJlcXVl
c3RfZ3JvdXAgaW50ZWdlciBOT1QgTlVMTCBSRUZFUkVOQ0VTIGFuYWx5c2lzX3Rlc3RfZ3JvdXBz
IE9OIERFTEVURSBDQVNDQURFLAogICAgIHJlcXVlc3Rfb3JkZXIgaW50ZWdlciBOT1QgTlVMTCwK
ICAgICByZXF1ZXN0X3Jvb3Rfc2V0IGludGVnZXIgUkVGRVJFTkNFUyByb290X3NldHMgTk9UIE5V
TEwsCiAgICAgcmVxdWVzdF9zdGF0dXMgYnVpbGRfcmVxdWVzdF9zdGF0dXNfdHlwZSBOT1QgTlVM
TCBERUZBVUxUICdwZW5kaW5nJywKSW5kZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJs
aWMvYXBpL3Rlc3QtZ3JvdXBzLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy9wZXJmLndlYmtp
dC5vcmcvcHVibGljL2FwaS90ZXN0LWdyb3Vwcy5waHAJKHJldmlzaW9uIDE5Njc4OCkKKysrIFdl
YnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvYXBpL3Rlc3QtZ3JvdXBzLnBocAkod29ya2lu
ZyBjb3B5KQpAQCAtNjUsNiArNjUsNyBAQCBmdW5jdGlvbiBmb3JtYXRfdGVzdF9ncm91cCgkZ3Jv
dXBfcm93KSB7CiAgICAgICAgICduYW1lJyA9PiAkZ3JvdXBfcm93Wyd0ZXN0Z3JvdXBfbmFtZSdd
LAogICAgICAgICAnYXV0aG9yJyA9PiAkZ3JvdXBfcm93Wyd0ZXN0Z3JvdXBfYXV0aG9yJ10sCiAg
ICAgICAgICdjcmVhdGVkQXQnID0+IHN0cnRvdGltZSgkZ3JvdXBfcm93Wyd0ZXN0Z3JvdXBfY3Jl
YXRlZF9hdCddKSAqIDEwMDAsCisgICAgICAgICdoaWRkZW4nID0+IERhdGFiYXNlOjppc190cnVl
KCRncm91cF9yb3dbJ3Rlc3Rncm91cF9oaWRkZW4nXSksCiAgICAgICAgICdidWlsZFJlcXVlc3Rz
JyA9PiBhcnJheSgpLAogICAgICAgICAncm9vdFNldHMnID0+IGFycmF5KCksCiAgICAgKTsKSW5k
ZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvcHJpdmlsZWdlZC1hcGkvdXBkYXRl
LXRlc3QtZ3JvdXAucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9w
dWJsaWMvcHJpdmlsZWdlZC1hcGkvdXBkYXRlLXRlc3QtZ3JvdXAucGhwCShyZXZpc2lvbiAxOTY3
ODgpCisrKyBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3ByaXZpbGVnZWQtYXBpL3Vw
ZGF0ZS10ZXN0LWdyb3VwLnBocAkod29ya2luZyBjb3B5KQpAQCAtMTQsNiArMTQsOSBAQCBmdW5j
dGlvbiBtYWluKCkgewogICAgIGlmIChhcnJheV9rZXlfZXhpc3RzKCduYW1lJywgJGRhdGEpKQog
ICAgICAgICAkdmFsdWVzWyduYW1lJ10gPSAkZGF0YVsnbmFtZSddOwogCisgICAgaWYgKGFycmF5
X2tleV9leGlzdHMoJ2hpZGRlbicsICRkYXRhKSkKKyAgICAgICAgJHZhbHVlc1snaGlkZGVuJ10g
PSBEYXRhYmFzZTo6dG9fZGF0YWJhc2VfYm9vbGVhbigkZGF0YVsnaGlkZGVuJ10pOworCiAgICAg
aWYgKCEkdmFsdWVzKQogICAgICAgICBleGl0X3dpdGhfZXJyb3IoJ05vdGhpbmdUb1VwZGF0ZScp
OwogCkBAIC0yNSw2ICsyOCwxMSBAQCBmdW5jdGlvbiBtYWluKCkgewogICAgICAgICBleGl0X3dp
dGhfZXJyb3IoJ0ZhaWxlZFRvVXBkYXRlVGVzdEdyb3VwJywgYXJyYXkoJ2lkJyA9PiAkdGVzdF9n
cm91cF9pZCwgJ3ZhbHVlcycgPT4gJHZhbHVlcykpOwogICAgIH0KIAorICAgIGlmIChhcnJheV9n
ZXQoJGRhdGEsICdoaWRkZW4nKSkgeworICAgICAgICAkZGItPnF1ZXJ5X2FuZF9nZXRfYWZmZWN0
ZWRfcm93cygnVVBEQVRFIGJ1aWxkX3JlcXVlc3RzIFNFVCByZXF1ZXN0X3N0YXR1cyA9ICQxCisg
ICAgICAgICAgICBXSEVSRSByZXF1ZXN0X2dyb3VwID0gJDIgQU5EIHJlcXVlc3Rfc3RhdHVzID0g
JDMnLCBhcnJheSgnY2FuY2VsZWQnLCAkdGVzdF9ncm91cF9pZCwgJ3BlbmRpbmcnKSk7CisgICAg
fQorCiAgICAgJGRiLT5jb21taXRfdHJhbnNhY3Rpb24oKTsKIAogICAgIGV4aXRfd2l0aF9zdWNj
ZXNzKCk7CkluZGV4OiBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL2NvbXBvbmVu
dHMvdGVzdC1ncm91cC1yZXN1bHRzLXRhYmxlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3Bl
cmYud2Via2l0Lm9yZy9wdWJsaWMvdjMvY29tcG9uZW50cy90ZXN0LWdyb3VwLXJlc3VsdHMtdGFi
bGUuanMJKHJldmlzaW9uIDE5Njc4OCkKKysrIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJs
aWMvdjMvY29tcG9uZW50cy90ZXN0LWdyb3VwLXJlc3VsdHMtdGFibGUuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTgsNyArOCwxMSBAQCBjbGFzcyBUZXN0R3JvdXBSZXN1bHRzVGFibGUgZXh0ZW5kcyBS
ZXN1CiAgICAgfQogCiAgICAgZGlkVXBkYXRlUmVzdWx0cygpIHsgdGhpcy5fcmVuZGVyZWRUZXN0
R3JvdXAgPSBudWxsOyB9Ci0gICAgc2V0VGVzdEdyb3VwKHRlc3RHcm91cCkgeyB0aGlzLl90ZXN0
R3JvdXAgPSB0ZXN0R3JvdXA7IH0KKyAgICBzZXRUZXN0R3JvdXAodGVzdEdyb3VwKQorICAgIHsK
KyAgICAgICAgdGhpcy5fdGVzdEdyb3VwID0gdGVzdEdyb3VwOworICAgICAgICB0aGlzLl9yZW5k
ZXJlZFRlc3RHcm91cCA9IG51bGw7CisgICAgfQogCiAgICAgaGVhZGluZygpCiAgICAgewpJbmRl
eDogV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9tb2RlbHMvYnVpbGQtcmVxdWVz
dC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL21v
ZGVscy9idWlsZC1yZXF1ZXN0LmpzCShyZXZpc2lvbiAxOTY3ODgpCisrKyBXZWJzaXRlcy9wZXJm
LndlYmtpdC5vcmcvcHVibGljL3YzL21vZGVscy9idWlsZC1yZXF1ZXN0LmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0zMCw4ICszMCw5IEBAIGNsYXNzIEJ1aWxkUmVxdWVzdCBleHRlbmRzIERhdGFNb2Rl
bE9iamUKICAgICBvcmRlcigpIHsgcmV0dXJuIHRoaXMuX29yZGVyOyB9CiAgICAgcm9vdFNldCgp
IHsgcmV0dXJuIHRoaXMuX3Jvb3RTZXQ7IH0KIAotICAgIGhhc0NvbXBsZXRlZCgpIHsgcmV0dXJu
IHRoaXMuX3N0YXR1cyA9PSAnZmFpbGVkJyB8fCB0aGlzLl9zdGF0dXMgPT0gJ2NvbXBsZXRlZCc7
IH0KKyAgICBoYXNDb21wbGV0ZWQoKSB7IHJldHVybiB0aGlzLl9zdGF0dXMgPT0gJ2ZhaWxlZCcg
fHwgdGhpcy5fc3RhdHVzID09ICdjb21wbGV0ZWQnIHx8IHRoaXMuX3N0YXR1cyA9PSAnY2FuY2Vs
ZWQnOyB9CiAgICAgaGFzU3RhcnRlZCgpIHsgcmV0dXJuIHRoaXMuX3N0YXR1cyAhPSAncGVuZGlu
Zyc7IH0KKyAgICBoYXNQZW5kaW5nKCkgeyByZXR1cm4gdGhpcy5fc3RhdHVzID09ICdwZW5kaW5n
JzsgfQogICAgIHN0YXR1c0xhYmVsKCkKICAgICB7CiAgICAgICAgIHN3aXRjaCAodGhpcy5fc3Rh
dHVzKSB7CkBAIC00NSw2ICs0Niw4IEBAIGNsYXNzIEJ1aWxkUmVxdWVzdCBleHRlbmRzIERhdGFN
b2RlbE9iamUKICAgICAgICAgICAgIHJldHVybiAnRmFpbGVkJzsKICAgICAgICAgY2FzZSAnY29t
cGxldGVkJzoKICAgICAgICAgICAgIHJldHVybiAnQ29tcGxldGVkJzsKKyAgICAgICAgY2FzZSAn
Y2FuY2VsZWQnOgorICAgICAgICAgICAgcmV0dXJuICdDYW5jZWxlZCc7CiAgICAgICAgIH0KICAg
ICB9CiAgICAgc3RhdHVzVXJsKCkgeyByZXR1cm4gdGhpcy5fc3RhdHVzVXJsOyB9CkluZGV4OiBX
ZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL21vZGVscy90ZXN0LWdyb3VwLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjMvbW9kZWxzL3Rl
c3QtZ3JvdXAuanMJKHJldmlzaW9uIDE5Njc4OCkKKysrIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9y
Zy9wdWJsaWMvdjMvbW9kZWxzL3Rlc3QtZ3JvdXAuanMJKHdvcmtpbmcgY29weSkKQEAgLTcsNiAr
Nyw3IEBAIGNsYXNzIFRlc3RHcm91cCBleHRlbmRzIExhYmVsZWRPYmplY3QgewogICAgICAgICB0
aGlzLl90YXNrSWQgPSBvYmplY3QudGFzazsKICAgICAgICAgdGhpcy5fYXV0aG9yTmFtZSA9IG9i
amVjdC5hdXRob3I7CiAgICAgICAgIHRoaXMuX2NyZWF0ZWRBdCA9IG5ldyBEYXRlKG9iamVjdC5j
cmVhdGVkQXQpOworICAgICAgICB0aGlzLl9pc0hpZGRlbiA9IG9iamVjdC5oaWRkZW47CiAgICAg
ICAgIHRoaXMuX2J1aWxkUmVxdWVzdHMgPSBbXTsKICAgICAgICAgdGhpcy5fcmVxdWVzdHNBcmVJ
bk9yZGVyID0gZmFsc2U7CiAgICAgICAgIHRoaXMuX3JlcG9zaXRvcmllcyA9IG51bGw7CkBAIC0x
Nyw3ICsxOCwxOSBAQCBjbGFzcyBUZXN0R3JvdXAgZXh0ZW5kcyBMYWJlbGVkT2JqZWN0IHsKICAg
ICAgICAgdGhpcy5fcGxhdGZvcm0gPSBvYmplY3QucGxhdGZvcm07CiAgICAgfQogCisgICAgdXBk
YXRlU2luZ2xldG9uKG9iamVjdCkKKyAgICB7CisgICAgICAgIHN1cGVyLnVwZGF0ZVNpbmdsZXRv
bihvYmplY3QpOworCisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMuX3Rhc2tJZCA9PSBvYmpl
Y3QudGFzayk7CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KCt0aGlzLl9jcmVhdGVkQXQgPT0gK29i
amVjdC5jcmVhdGVkQXQpOworICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlzLl9wbGF0Zm9ybSA9
PSBvYmplY3QucGxhdGZvcm0pOworCisgICAgICAgIHRoaXMuX2lzSGlkZGVuID0gb2JqZWN0Lmhp
ZGRlbjsKKyAgICB9CisKICAgICBjcmVhdGVkQXQoKSB7IHJldHVybiB0aGlzLl9jcmVhdGVkQXQ7
IH0KKyAgICBpc0hpZGRlbigpIHsgcmV0dXJuIHRoaXMuX2lzSGlkZGVuOyB9CiAgICAgYnVpbGRS
ZXF1ZXN0cygpIHsgcmV0dXJuIHRoaXMuX2J1aWxkUmVxdWVzdHM7IH0KICAgICBhZGRCdWlsZFJl
cXVlc3QocmVxdWVzdCkKICAgICB7CkBAIC05Niw2ICsxMDksMTEgQEAgY2xhc3MgVGVzdEdyb3Vw
IGV4dGVuZHMgTGFiZWxlZE9iamVjdCB7CiAgICAgICAgIHJldHVybiB0aGlzLl9idWlsZFJlcXVl
c3RzLnNvbWUoZnVuY3Rpb24gKHJlcXVlc3QpIHsgcmV0dXJuIHJlcXVlc3QuaGFzU3RhcnRlZCgp
OyB9KTsKICAgICB9CiAKKyAgICBoYXNQZW5kaW5nKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0
aGlzLl9idWlsZFJlcXVlc3RzLnNvbWUoZnVuY3Rpb24gKHJlcXVlc3QpIHsgcmV0dXJuIHJlcXVl
c3QuaGFzUGVuZGluZygpOyB9KTsKKyAgICB9CisKICAgICBjb21wYXJlVGVzdFJlc3VsdHMocm9v
dFNldEEsIHJvb3RTZXRCKQogICAgIHsKICAgICAgICAgdmFyIGJlZm9yZVZhbHVlcyA9IHRoaXMu
X3ZhbHVlc0ZvclJvb3RTZXQocm9vdFNldEEpOwpAQCAtMTY1LDYgKzE4MywxOSBAQCBjbGFzcyBU
ZXN0R3JvdXAgZXh0ZW5kcyBMYWJlbGVkT2JqZWN0IHsKICAgICAgICAgfSk7CiAgICAgfQogCisg
ICAgdXBkYXRlSGlkZGVuRmxhZyhoaWRkZW4pCisgICAgeworICAgICAgICB2YXIgc2VsZiA9IHRo
aXM7CisgICAgICAgIHZhciBpZCA9IHRoaXMuaWQoKTsKKyAgICAgICAgcmV0dXJuIFByaXZpbGVn
ZWRBUEkuc2VuZFJlcXVlc3QoJ3VwZGF0ZS10ZXN0LWdyb3VwJywgeworICAgICAgICAgICAgZ3Jv
dXA6IGlkLAorICAgICAgICAgICAgaGlkZGVuOiAhIWhpZGRlbiwKKyAgICAgICAgfSkudGhlbihm
dW5jdGlvbiAoZGF0YSkgeworICAgICAgICAgICAgcmV0dXJuIFRlc3RHcm91cC5jYWNoZWRGZXRj
aChgLi4vYXBpL3Rlc3QtZ3JvdXBzLyR7aWR9YCwge30sIHRydWUpCisgICAgICAgICAgICAgICAg
LnRoZW4oVGVzdEdyb3VwLl9jcmVhdGVNb2RlbHNGcm9tRmV0Y2hlZFRlc3RHcm91cHMuYmluZChU
ZXN0R3JvdXApKTsKKyAgICAgICAgfSk7CisgICAgfQorCiAgICAgc3RhdGljIGNyZWF0ZUFuZFJl
ZmV0Y2hUZXN0R3JvdXBzKHRhc2ssIG5hbWUsIHJlcGV0aXRpb25Db3VudCwgcm9vdFNldHMpCiAg
ICAgewogICAgICAgICB2YXIgc2VsZiA9IHRoaXM7CkluZGV4OiBXZWJzaXRlcy9wZXJmLndlYmtp
dC5vcmcvcHVibGljL3YzL3BhZ2VzL2FuYWx5c2lzLXRhc2stcGFnZS5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL3BhZ2VzL2FuYWx5c2lzLXRhc2st
cGFnZS5qcwkocmV2aXNpb24gMTk2Nzg4KQorKysgV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1
YmxpYy92My9wYWdlcy9hbmFseXNpcy10YXNrLXBhZ2UuanMJKHdvcmtpbmcgY29weSkKQEAgLTQ0
LDYgKzQ0LDggQEAgY2xhc3MgQW5hbHlzaXNUYXNrUGFnZSBleHRlbmRzIFBhZ2VXaXRoSAogICAg
ICAgICB0aGlzLl9lbmRQb2ludCA9IG51bGw7CiAgICAgICAgIHRoaXMuX2Vycm9yTWVzc2FnZSA9
IG51bGw7CiAgICAgICAgIHRoaXMuX2N1cnJlbnRUZXN0R3JvdXAgPSBudWxsOworICAgICAgICB0
aGlzLl9maWx0ZXJlZFRlc3RHcm91cHMgPSBudWxsOworICAgICAgICB0aGlzLl9zaG93SGlkZGVu
VGVzdEdyb3VwcyA9IGZhbHNlOwogCiAgICAgICAgIHRoaXMuX2NoYXJ0UGFuZSA9IHRoaXMuY29u
dGVudCgpLnF1ZXJ5U2VsZWN0b3IoJ2FuYWx5c2lzLXRhc2stY2hhcnQtcGFuZScpLmNvbXBvbmVu
dCgpOwogICAgICAgICB0aGlzLl9jaGFydFBhbmUuc2V0UGFnZSh0aGlzKTsKQEAgLTY5LDggKzcx
LDEwIEBAIGNsYXNzIEFuYWx5c2lzVGFza1BhZ2UgZXh0ZW5kcyBQYWdlV2l0aEgKICAgICAgICAg
dGhpcy5fbmV3VGVzdEdyb3VwRm9ybUZvclZpZXdlciA9IHRoaXMuY29udGVudCgpLnF1ZXJ5U2Vs
ZWN0b3IoJy5hbmFseXNpcy1yZXN1bHRzLXZpZXcgY3VzdG9taXphYmxlLXRlc3QtZ3JvdXAtZm9y
bScpLmNvbXBvbmVudCgpOwogICAgICAgICB0aGlzLl9uZXdUZXN0R3JvdXBGb3JtRm9yVmlld2Vy
LnNldFN0YXJ0Q2FsbGJhY2sodGhpcy5fY3JlYXRlTmV3VGVzdEdyb3VwRnJvbVZpZXdlci5iaW5k
KHRoaXMpKTsKIAotICAgICAgICB0aGlzLl9yZXRyeUZvcm0gPSB0aGlzLmNvbnRlbnQoKS5xdWVy
eVNlbGVjdG9yKCcudGVzdC1ncm91cC1yZXRyeS1mb3JtJykuZmlyc3RDaGlsZC5jb21wb25lbnQo
KTsKKyAgICAgICAgdGhpcy5fcmV0cnlGb3JtID0gdGhpcy5jb250ZW50KCkucXVlcnlTZWxlY3Rv
cignLnRlc3QtZ3JvdXAtcmV0cnktZm9ybSB0ZXN0LWdyb3VwLWZvcm0nKS5jb21wb25lbnQoKTsK
ICAgICAgICAgdGhpcy5fcmV0cnlGb3JtLnNldFN0YXJ0Q2FsbGJhY2sodGhpcy5fcmV0cnlDdXJy
ZW50VGVzdEdyb3VwLmJpbmQodGhpcykpOworICAgICAgICB0aGlzLl9oaWRlQnV0dG9uID0gdGhp
cy5jb250ZW50KCkucXVlcnlTZWxlY3RvcignLnRlc3QtZ3JvdXAtaGlkZS1idXR0b24nKTsKKyAg
ICAgICAgdGhpcy5faGlkZUJ1dHRvbi5vbmNsaWNrID0gdGhpcy5faGlkZUN1cnJlbnRUZXN0R3Jv
dXAuYmluZCh0aGlzKTsKICAgICB9CiAKICAgICB0aXRsZSgpIHsgcmV0dXJuIHRoaXMuX3Rhc2sg
PyB0aGlzLl90YXNrLmxhYmVsKCkgOiAnQW5hbHlzaXMgVGFzayc7IH0KQEAgLTE1NywxNCArMTYx
LDMxIEBAIGNsYXNzIEFuYWx5c2lzVGFza1BhZ2UgZXh0ZW5kcyBQYWdlV2l0aEgKICAgICBfZGlk
RmV0Y2hUZXN0R3JvdXBzKHRlc3RHcm91cHMpCiAgICAgewogICAgICAgICB0aGlzLl90ZXN0R3Jv
dXBzID0gdGVzdEdyb3Vwcy5zb3J0KGZ1bmN0aW9uIChhLCBiKSB7IHJldHVybiArYS5jcmVhdGVk
QXQoKSAtIGIuY3JlYXRlZEF0KCk7IH0pOwotICAgICAgICB0aGlzLl9jdXJyZW50VGVzdEdyb3Vw
ID0gdGVzdEdyb3Vwcy5sZW5ndGggPyB0ZXN0R3JvdXBzW3Rlc3RHcm91cHMubGVuZ3RoIC0gMV0g
OiBudWxsOwotCi0gICAgICAgIHRoaXMuX2FuYWx5c2lzUmVzdWx0c1ZpZXdlci5zZXRUZXN0R3Jv
dXBzKHRlc3RHcm91cHMpOwotICAgICAgICB0aGlzLl90ZXN0R3JvdXBSZXN1bHRzVGFibGUuc2V0
VGVzdEdyb3VwKHRoaXMuX2N1cnJlbnRUZXN0R3JvdXApOworICAgICAgICB0aGlzLl9kaWRVcGRh
dGVUZXN0R3JvdXBIaWRkZW5TdGF0ZSgpOwogICAgICAgICB0aGlzLl9hc3NpZ25UZXN0UmVzdWx0
c0lmUG9zc2libGUoKTsKICAgICAgICAgdGhpcy5yZW5kZXIoKTsKICAgICB9CiAKKyAgICBfc2hv
d0FsbFRlc3RHcm91cHMoKQorICAgIHsKKyAgICAgICAgdGhpcy5fc2hvd0hpZGRlblRlc3RHcm91
cHMgPSB0cnVlOworICAgICAgICB0aGlzLl9kaWRVcGRhdGVUZXN0R3JvdXBIaWRkZW5TdGF0ZSgp
OworICAgICAgICB0aGlzLnJlbmRlcigpOworICAgIH0KKworICAgIF9kaWRVcGRhdGVUZXN0R3Jv
dXBIaWRkZW5TdGF0ZSgpCisgICAgeworICAgICAgICB0aGlzLl9yZW5kZXJlZEN1cnJlbnRUZXN0
R3JvdXAgPSBudWxsOworICAgICAgICB0aGlzLl9yZW5kZXJlZFRlc3RHcm91cHMgPSBudWxsOwor
ICAgICAgICBpZiAoIXRoaXMuX3Nob3dIaWRkZW5UZXN0R3JvdXBzKQorICAgICAgICAgICAgdGhp
cy5fZmlsdGVyZWRUZXN0R3JvdXBzID0gdGhpcy5fdGVzdEdyb3Vwcy5maWx0ZXIoZnVuY3Rpb24g
KGdyb3VwKSB7IHJldHVybiAhZ3JvdXAuaXNIaWRkZW4oKTsgfSk7CisgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgIHRoaXMuX2ZpbHRlcmVkVGVzdEdyb3VwcyA9IHRoaXMuX3Rlc3RHcm91cHM7Cisg
ICAgICAgIHRoaXMuX2N1cnJlbnRUZXN0R3JvdXAgPSB0aGlzLl9maWx0ZXJlZFRlc3RHcm91cHMg
PyB0aGlzLl9maWx0ZXJlZFRlc3RHcm91cHNbdGhpcy5fZmlsdGVyZWRUZXN0R3JvdXBzLmxlbmd0
aCAtIDFdIDogbnVsbDsKKyAgICAgICAgdGhpcy5fYW5hbHlzaXNSZXN1bHRzVmlld2VyLnNldFRl
c3RHcm91cHModGhpcy5fZmlsdGVyZWRUZXN0R3JvdXBzKTsKKyAgICAgICAgdGhpcy5fdGVzdEdy
b3VwUmVzdWx0c1RhYmxlLnNldFRlc3RHcm91cCh0aGlzLl9jdXJyZW50VGVzdEdyb3VwKTsKKyAg
ICB9CisKICAgICBfZGlkRmV0Y2hBbmFseXNpc1Jlc3VsdHMocmVzdWx0cykKICAgICB7CiAgICAg
ICAgIHRoaXMuX2FuYWx5c2lzUmVzdWx0cyA9IHJlc3VsdHM7CkBAIC0yNzcsMjYgKzI5OCwyNyBA
QCBjbGFzcyBBbmFseXNpc1Rhc2tQYWdlIGV4dGVuZHMgUGFnZVdpdGhICiAgICAgICAgICAgICB0
aGlzLl9yZW5kZXJlZFRlc3RHcm91cHMgPSB0aGlzLl90ZXN0R3JvdXBzOwogICAgICAgICAgICAg
dGhpcy5fdGVzdEdyb3VwTGFiZWxNYXAuY2xlYXIoKTsKIAotICAgICAgICAgICAgdmFyIHNlbGYg
PSB0aGlzOwotICAgICAgICAgICAgdmFyIHVwZGF0ZVRlc3RHcm91cE5hbWUgPSB0aGlzLl91cGRh
dGVUZXN0R3JvdXBOYW1lLmJpbmQodGhpcyk7Ci0gICAgICAgICAgICB2YXIgc2hvd1Rlc3RHcm91
cCA9IHRoaXMuX3Nob3dUZXN0R3JvdXAuYmluZCh0aGlzKTsKLQotICAgICAgICAgICAgdGhpcy5y
ZW5kZXJSZXBsYWNlKHRoaXMuY29udGVudCgpLnF1ZXJ5U2VsZWN0b3IoJy50ZXN0LWdyb3VwLWxp
c3QnKSwKLSAgICAgICAgICAgICAgICB0aGlzLl90ZXN0R3JvdXBzLm1hcChmdW5jdGlvbiAoZ3Jv
dXApIHsKLSAgICAgICAgICAgICAgICAgICAgdmFyIHRleHQgPSBuZXcgRWRpdGFibGVUZXh0KGdy
b3VwLmxhYmVsKCkpOwotICAgICAgICAgICAgICAgICAgICB0ZXh0LnNldFN0YXJ0ZWRFZGl0aW5n
Q2FsbGJhY2soZnVuY3Rpb24gKCkgeyByZXR1cm4gdGV4dC5yZW5kZXIoKTsgfSk7Ci0gICAgICAg
ICAgICAgICAgICAgIHRleHQuc2V0VXBkYXRlQ2FsbGJhY2soZnVuY3Rpb24gKCkgeyByZXR1cm4g
dXBkYXRlVGVzdEdyb3VwTmFtZShncm91cCk7IH0pOwotCi0gICAgICAgICAgICAgICAgICAgIHNl
bGYuX3Rlc3RHcm91cExhYmVsTWFwLnNldChncm91cCwgdGV4dCk7Ci0gICAgICAgICAgICAgICAg
ICAgIHJldHVybiBlbGVtZW50KCdsaScsIHtjbGFzczogJ3Rlc3QtZ3JvdXAtbGlzdC0nICsgZ3Jv
dXAuaWQoKX0sCi0gICAgICAgICAgICAgICAgICAgICAgICBsaW5rKHRleHQsIGdyb3VwLmxhYmVs
KCksIGZ1bmN0aW9uICgpIHsgc2hvd1Rlc3RHcm91cChncm91cCk7IH0pKTsKLSAgICAgICAgICAg
ICAgICB9KS5yZXZlcnNlKCkpOworICAgICAgICAgICAgdmFyIHVuaGlkZGVuVGVzdEdyb3VwcyA9
IHRoaXMuX2ZpbHRlcmVkVGVzdEdyb3Vwcy5maWx0ZXIoZnVuY3Rpb24gKGdyb3VwKSB7IHJldHVy
biAhZ3JvdXAuaXNIaWRkZW4oKTsgfSk7CisgICAgICAgICAgICB2YXIgaGlkZGVuVGVzdEdyb3Vw
cyA9IHRoaXMuX2ZpbHRlcmVkVGVzdEdyb3Vwcy5maWx0ZXIoZnVuY3Rpb24gKGdyb3VwKSB7IHJl
dHVybiBncm91cC5pc0hpZGRlbigpOyB9KTsKKworICAgICAgICAgICAgdmFyIGxpc3RJdGVtcyA9
IFtdOworICAgICAgICAgICAgZm9yICh2YXIgZ3JvdXAgb2YgaGlkZGVuVGVzdEdyb3VwcykKKyAg
ICAgICAgICAgICAgICBsaXN0SXRlbXMudW5zaGlmdCh0aGlzLl9jcmVhdGVUZXN0R3JvdXBMaXN0
SXRlbShncm91cCkpOworICAgICAgICAgICAgZm9yICh2YXIgZ3JvdXAgb2YgdW5oaWRkZW5UZXN0
R3JvdXBzKQorICAgICAgICAgICAgICAgIGxpc3RJdGVtcy51bnNoaWZ0KHRoaXMuX2NyZWF0ZVRl
c3RHcm91cExpc3RJdGVtKGdyb3VwKSk7CisKKyAgICAgICAgICAgIGlmICh0aGlzLl90ZXN0R3Jv
dXBzLmxlbmd0aCAhPSB0aGlzLl9maWx0ZXJlZFRlc3RHcm91cHMubGVuZ3RoKSB7CisgICAgICAg
ICAgICAgICAgbGlzdEl0ZW1zLnB1c2goZWxlbWVudCgnbGknLCB7Y2xhc3M6ICd0ZXN0LWdyb3Vw
LWxpc3Qtc2hvdy1hbGwnfSwKKyAgICAgICAgICAgICAgICAgICAgbGluaygnU2hvdyBoaWRkZW4g
dGVzdHMnLCB0aGlzLl9zaG93QWxsVGVzdEdyb3Vwcy5iaW5kKHRoaXMpKSkpOworICAgICAgICAg
ICAgfQorCisgICAgICAgICAgICB0aGlzLnJlbmRlclJlcGxhY2UodGhpcy5jb250ZW50KCkucXVl
cnlTZWxlY3RvcignLnRlc3QtZ3JvdXAtbGlzdCcpLCBsaXN0SXRlbXMpOwogCiAgICAgICAgICAg
ICB0aGlzLl9yZW5kZXJlZEN1cnJlbnRUZXN0R3JvdXAgPSBudWxsOwogICAgICAgICB9CiAKICAg
ICAgICAgaWYgKHRoaXMuX3Rlc3RHcm91cHMpIHsKLSAgICAgICAgICAgIGZvciAodmFyIHRlc3RH
cm91cCBvZiB0aGlzLl90ZXN0R3JvdXBzKSB7CisgICAgICAgICAgICBmb3IgKHZhciB0ZXN0R3Jv
dXAgb2YgdGhpcy5fZmlsdGVyZWRUZXN0R3JvdXBzKSB7CiAgICAgICAgICAgICAgICAgdmFyIGxh
YmVsID0gdGhpcy5fdGVzdEdyb3VwTGFiZWxNYXAuZ2V0KHRlc3RHcm91cCk7CiAgICAgICAgICAg
ICAgICAgbGFiZWwuc2V0VGV4dCh0ZXN0R3JvdXAubGFiZWwoKSk7CiAgICAgICAgICAgICAgICAg
bGFiZWwucmVuZGVyKCk7CkBAIC0zMDQsNiArMzI2LDE3IEBAIGNsYXNzIEFuYWx5c2lzVGFza1Bh
Z2UgZXh0ZW5kcyBQYWdlV2l0aEgKICAgICAgICAgfQogICAgIH0KIAorICAgIF9jcmVhdGVUZXN0
R3JvdXBMaXN0SXRlbShncm91cCkKKyAgICB7CisgICAgICAgIHZhciB0ZXh0ID0gbmV3IEVkaXRh
YmxlVGV4dChncm91cC5sYWJlbCgpKTsKKyAgICAgICAgdGV4dC5zZXRTdGFydGVkRWRpdGluZ0Nh
bGxiYWNrKGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRleHQucmVuZGVyKCk7IH0pOworICAgICAgICB0
ZXh0LnNldFVwZGF0ZUNhbGxiYWNrKHRoaXMuX3VwZGF0ZVRlc3RHcm91cE5hbWUuYmluZCh0aGlz
LCBncm91cCkpOworCisgICAgICAgIHRoaXMuX3Rlc3RHcm91cExhYmVsTWFwLnNldChncm91cCwg
dGV4dCk7CisgICAgICAgIHJldHVybiBDb21wb25lbnRCYXNlLmNyZWF0ZUVsZW1lbnQoJ2xpJywg
e2NsYXNzOiAndGVzdC1ncm91cC1saXN0LScgKyBncm91cC5pZCgpfSwKKyAgICAgICAgICAgIENv
bXBvbmVudEJhc2UuY3JlYXRlTGluayh0ZXh0LCBncm91cC5sYWJlbCgpLCB0aGlzLl9zaG93VGVz
dEdyb3VwLmJpbmQodGhpcywgZ3JvdXApKSk7CisgICAgfQorCiAgICAgX3JlbmRlclRlc3RHcm91
cERldGFpbHMoKQogICAgIHsKICAgICAgICAgaWYgKHRoaXMuX3JlbmRlcmVkQ3VycmVudFRlc3RH
cm91cCAhPT0gdGhpcy5fY3VycmVudFRlc3RHcm91cCkgewpAQCAtMzMyLDYgKzM2NSwxMiBAQCBj
bGFzcyBBbmFseXNpc1Rhc2tQYWdlIGV4dGVuZHMgUGFnZVdpdGhICiAgICAgICAgICAgICAgICAg
dGhpcy5fcmV0cnlGb3JtLnNldFJlcGV0aXRpb25Db3VudCh0aGlzLl9jdXJyZW50VGVzdEdyb3Vw
LnJlcGV0aXRpb25Db3VudCgpKTsKICAgICAgICAgICAgIHRoaXMuX3JldHJ5Rm9ybS5lbGVtZW50
KCkuc3R5bGUuZGlzcGxheSA9IHRoaXMuX2N1cnJlbnRUZXN0R3JvdXAgPyBudWxsIDogJ25vbmUn
OwogCisgICAgICAgICAgICB0aGlzLmNvbnRlbnQoKS5xdWVyeVNlbGVjdG9yKCcudGVzdC1ncm91
cC1oaWRlLWJ1dHRvbicpLnRleHRDb250ZW50CisgICAgICAgICAgICAgICAgPSB0aGlzLl9jdXJy
ZW50VGVzdEdyb3VwICYmIHRoaXMuX2N1cnJlbnRUZXN0R3JvdXAuaXNIaWRkZW4oKSA/ICdVbmhp
ZGUnIDogJ0hpZGUnOworCisgICAgICAgICAgICB0aGlzLmNvbnRlbnQoKS5xdWVyeVNlbGVjdG9y
KCcucGVuZGluZy1yZXF1ZXN0LWNhbmNlbC13YXJuaW5nJykuc3R5bGUuZGlzcGxheQorICAgICAg
ICAgICAgICAgID0gdGhpcy5fY3VycmVudFRlc3RHcm91cCAmJiB0aGlzLl9jdXJyZW50VGVzdEdy
b3VwLmhhc1BlbmRpbmcoKSA/IG51bGwgOiAnbm9uZSc7CisKICAgICAgICAgICAgIHRoaXMuX3Jl
bmRlcmVkQ3VycmVudFRlc3RHcm91cCA9IHRoaXMuX2N1cnJlbnRUZXN0R3JvdXA7CiAgICAgICAg
IH0KICAgICAgICAgdGhpcy5fcmV0cnlGb3JtLnJlbmRlcigpOwpAQCAtMzczLDcgKzQxMiwyMSBA
QCBjbGFzcyBBbmFseXNpc1Rhc2tQYWdlIGV4dGVuZHMgUGFnZVdpdGhICiAgICAgICAgICAgICBz
ZWxmLnJlbmRlcigpOwogICAgICAgICB9LCBmdW5jdGlvbiAoZXJyb3IpIHsKICAgICAgICAgICAg
IHNlbGYucmVuZGVyKCk7Ci0gICAgICAgICAgICBhbGVydCgnRmFpbGVkIHRvIHVwZGF0ZSB0aGUg
bmFtZTogJyArIGVycm9yKTsKKyAgICAgICAgICAgIGFsZXJ0KCdGYWlsZWQgdG8gaGlkZSB0aGUg
dGVzdCBuYW1lOiAnICsgZXJyb3IpOworICAgICAgICB9KTsKKyAgICB9CisKKyAgICBfaGlkZUN1
cnJlbnRUZXN0R3JvdXAoKQorICAgIHsKKyAgICAgICAgdmFyIHNlbGYgPSB0aGlzOworICAgICAg
ICBjb25zb2xlLmFzc2VydCh0aGlzLl9jdXJyZW50VGVzdEdyb3VwKTsKKyAgICAgICAgcmV0dXJu
IHRoaXMuX2N1cnJlbnRUZXN0R3JvdXAudXBkYXRlSGlkZGVuRmxhZyghdGhpcy5fY3VycmVudFRl
c3RHcm91cC5pc0hpZGRlbigpKS50aGVuKGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIHNlbGYu
X2RpZFVwZGF0ZVRlc3RHcm91cEhpZGRlblN0YXRlKCk7CisgICAgICAgICAgICBzZWxmLnJlbmRl
cigpOworICAgICAgICB9LCBmdW5jdGlvbiAoZXJyb3IpIHsKKyAgICAgICAgICAgIHNlbGYuX21h
eUhhdmVNdXRhdGVkVGVzdEdyb3VwSGlkZGVuU3RhdGUoKTsKKyAgICAgICAgICAgIHNlbGYucmVu
ZGVyKCk7CisgICAgICAgICAgICBhbGVydCgnRmFpbGVkIHRvIHVwZGF0ZSB0aGUgZ3JvdXA6ICcg
KyBlcnJvcik7CiAgICAgICAgIH0pOwogICAgIH0KIApAQCAtNTY5LDYgKzYyMiw4IEBAIGNsYXNz
IEFuYWx5c2lzVGFza1BhZ2UgZXh0ZW5kcyBQYWdlV2l0aEgKICAgICAgICAgICAgICAgICAgICAg
PGRpdiBjbGFzcz0idGVzdC1ncm91cC1kZXRhaWxzIj4KICAgICAgICAgICAgICAgICAgICAgICAg
IDx0ZXN0LWdyb3VwLXJlc3VsdHMtdGFibGU+PC90ZXN0LWdyb3VwLXJlc3VsdHMtdGFibGU+CiAg
ICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXN0LWdyb3VwLXJldHJ5LWZvcm0i
Pjx0ZXN0LWdyb3VwLWZvcm0+PC90ZXN0LWdyb3VwLWZvcm0+PC9kaXY+CisgICAgICAgICAgICAg
ICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ0ZXN0LWdyb3VwLWhpZGUtYnV0dG9uIj5IaWRlPC9i
dXR0b24+CisgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icGVuZGluZy1yZXF1
ZXN0LWNhbmNlbC13YXJuaW5nIj4oY2FuY2VscyBwZW5kaW5nIHJlcXVlc3RzKTwvc3Bhbj4KICAg
ICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAg
ICAgICAgICAgPC9kaXY+CkBAIC02OTAsNiArNzQ1LDEwIEBAIGNsYXNzIEFuYWx5c2lzVGFza1Bh
Z2UgZXh0ZW5kcyBQYWdlV2l0aEgKICAgICAgICAgICAgICAgICBtYXJnaW46IDAuNXJlbTsKICAg
ICAgICAgICAgIH0KIAorICAgICAgICAgICAgLnRlc3QtZ3JvdXAtaGlkZS1idXR0b24geworICAg
ICAgICAgICAgICAgIG1hcmdpbjogMC41cmVtOworICAgICAgICAgICAgfQorCiAgICAgICAgICAg
ICAudGVzdC1ncm91cC1saXN0IHsKICAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxs
OwogICAgICAgICAgICAgICAgIG1hcmdpbjogMDsKQEAgLTY5Nyw2ICs3NTYsNyBAQCBjbGFzcyBB
bmFseXNpc1Rhc2tQYWdlIGV4dGVuZHMgUGFnZVdpdGhICiAgICAgICAgICAgICAgICAgbGlzdC1z
dHlsZTogbm9uZTsKICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IHNvbGlkIDFweCAjY2Nj
OwogICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CisgICAgICAgICAgICAgICAg
bWluLXdpZHRoOiA4cmVtOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAudGVzdC1ncm91
cC1saXN0OmVtcHR5IHsKQEAgLTcwNywxNiArNzY3LDI4IEBAIGNsYXNzIEFuYWx5c2lzVGFza1Bh
Z2UgZXh0ZW5kcyBQYWdlV2l0aEgKIAogICAgICAgICAgICAgLnRlc3QtZ3JvdXAtbGlzdCA+IGxp
IHsKICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jazsKKyAgICAgICAgICAgICAgICBmb250
LXNpemU6IDAuOXJlbTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgLnRlc3QtZ3JvdXAt
bGlzdCA+IGxpID4gYSB7CiAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAg
ICAgICAgICAgY29sb3I6IGluaGVyaXQ7CiAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9u
OiBub25lOwotICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtOwogICAgICAgICAgICAg
ICAgIG1hcmdpbjogMDsKICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjJyZW07CiAgICAgICAg
ICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAgICAgIC50ZXN0LWdyb3VwLWxpc3QgPiBsaS50
ZXN0LWdyb3VwLWxpc3Qtc2hvdy1hbGwgeworICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44
cmVtOworICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTsKKyAgICAgICAgICAgICAg
ICBwYWRkaW5nLXJpZ2h0OiAxcmVtOworICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRl
cjsKKyAgICAgICAgICAgICAgICBjb2xvcjogIzk5OTsKKyAgICAgICAgICAgIH0KKworICAgICAg
ICAgICAgLnRlc3QtZ3JvdXAtbGlzdCA+IGxpLnRlc3QtZ3JvdXAtbGlzdC1zaG93LWFsbDpub3Qo
LnNlbGVjdGVkKSBhOmhvdmVyIHsKKyAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBpbmhlcml0
OworICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAudGVzdC1ncm91cC1saXN0ID4gbGkuc2Vs
ZWN0ZWQgPiBhIHsKICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDIwNCwgMTUzLCA1
MSwgMC4xKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>271724</attachid>
            <date>2016-02-18 20:16:00 -0800</date>
            <delta_ts>2016-02-18 20:17:00 -0800</delta_ts>
            <desc>Addd a description to change log</desc>
            <filename>bug-154433-20160218201545.patch</filename>
            <type>text/plain</type>
            <size>21157</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwkocmV2aXNpb24gMTk2NzkzKQorKysg
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDUyIEBACisyMDE2LTAyLTE4ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgor
CisgICAgICAgIFBlcmYgZGFzaGJvYXJkIHNob3VsZCBsZXQgdXNlciBjYW5jZWwgcGVuZGluZyBB
L0IgdGVzdGluZyBhbmQgaGlkZSBmYWlsZWQgb25lcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU0NDMzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgYSBidXR0b24gdG8gaGlkZSBhIHRlc3QgZ3Jv
dXAgaW4gdGhlIGRldGFpbHMgdmlldyAodGhlIGJvdHRvbSB0YWJsZSkgaW4gdGhlIGFuYWx5c2lz
IHRhc2sgcGFnZSwgYW5kCisgICAgICAgICJTaG93IGhpZGRlbiB0ZXN0cyIgbGluayB0byBzaG93
IHRoZSBoaWRkZW4gdGVzdCBncm91cHMgb24gZGVtYW5kLiBXaGVuIGEgdGVzdCBncm91cCBpcyBo
aWRkZW4sIGFsbCBwZW5kaW5nCisgICAgICAgIHJlcXVlc3RzIGluIHRoZSBncm91cCB3aWxsIGFs
c28gYmUgY2FuY2VsZWQgc2luY2UgYSBjb21tb24gc2NlbmFyaW8gb2YgdXNpbmcgdGhpcyBmZWF0
dXJlIGlzIHRoYXQgdGhlIHVzZXIKKyAgICAgICAgaGFkIHRyaWdnZXJlZCBhbiB1c2VsZXNzIEEv
QiB0ZXN0aW5nOyBlLmcuIGFsbCBidWlsZHMgd2lsbCBmYWlsLCB3cm9uZywgZXRjLi4uIFdlIGNh
biByZXZpc2l0IGFuZCBhZGQgdGhlCisgICAgICAgIGNhcGFiaWxpdHkgdG8ganVzdCBjYW5jZWwg
dGhlIHBlbmRpbmcgcmVxdWVzdHMgYW5kIGxlYXZpbmcgdGhlIGdyb3VwIHZpc2libGUgbGF0ZXIg
aWYgbmVjZXNzYXJ5LgorCisgICAgICAgICogaW5pdC1kYXRhYmFzZS5zcWw6IEFkZGVkIHRlc3Rn
cm91cF9oaWRkZW4gY29sdW1uIHRvIGFuYWx5c2lzX3Rlc3RfZ3JvdXBzIHRhYmxlIGFuZCBhZGRl
ZCAnY2FuY2VsZWQnCisgICAgICAgIGFzIGEgdmFsdWUgdG8gYnVpbGRfcmVxdWVzdF9zdGF0dXNf
dHlwZSB0YWJsZS4KKyAgICAgICAgKiBwdWJsaWMvYXBpL3Rlc3QtZ3JvdXBzLnBocDoKKyAgICAg
ICAgKGZvcm1hdF90ZXN0X2dyb3VwKTogQWRkZWQgJ2hpZGRlbicgZmllbGQgaW4gdGhlIEpTT04g
cmVzdWx0LgorICAgICAgICAqIHB1YmxpYy9wcml2aWxlZ2VkLWFwaS91cGRhdGUtdGVzdC1ncm91
cC5waHA6CisgICAgICAgIChtYWluKTogQWRkZWQgdGhlIHN1cHBvcnQgZm9yIHVwZGF0aW5nIHRl
c3Rncm91cF9oaWRkZW4gY29sdW1uLiBXaGVuIHRoaXMgY29sdW1uIGlzIHNldCB0byB0cnVlLCBh
bHNvCisgICAgICAgIGNhbmNlbCBhbGwgcGVuZGluZyBidWlsZCByZXF1ZXN0cyAoYnkgc2V0dGlu
ZyBpdHMgcmVxdWVzdF9zdGF0dXMgdG8gJ2NhbmNlbGVkJyB3aGljaCB3aWxsIGJlIGlnbm9yZSBi
eQorICAgICAgICB0aGUgc3luY2luZyBzY3JpcHQpLgorICAgICAgICAqIHB1YmxpYy92My9jb21w
b25lbnRzL3Rlc3QtZ3JvdXAtcmVzdWx0cy10YWJsZS5qczoKKyAgICAgICAgKFRlc3RHcm91cFJl
c3VsdHNUYWJsZS5wcm90b3R5cGUuc2V0VGVzdEdyb3VwKTogUmVzZXQgX3JlbmRlcmVkVGVzdEdy
b3VwIGhlcmUgc28gdGhhdCB0aGUgbmV4dCBjYWxsIHRvCisgICAgICAgIHJlbmRlcigpIHdpbGwg
dXBkYXRlIHRoZSB0YWJsZTsgZS5nLiB3aGVuIGJ1aWxkIHJlcXVlc3RzJyBzdGF0dXMgY2hhbmdl
IGZyb20gJ1BlbmRpbmcnIHRvICdDYW5jZWxlZCcuCisgICAgICAgICogcHVibGljL3YzL21vZGVs
cy9idWlsZC1yZXF1ZXN0LmpzOgorICAgICAgICAoQnVpbGRSZXF1ZXN0LnByb3RvdHlwZS5oYXND
b21wbGV0ZWQpOiBBIGJ1aWxkIHJlcXVlc3QgaXMgY29uc2lkZXJlZCBjb21wbGV0ZS9maW5pc2hl
ZCBpZiBpdCdzIGNhbmNlbGVkLgorICAgICAgICAoQnVpbGRSZXF1ZXN0LnByb3RvdHlwZS5oYXNQ
ZW5kaW5nKTogQWRkZWQuCisgICAgICAgIChCdWlsZFJlcXVlc3QucHJvdG90eXBlLnN0YXR1c0xh
YmVsKTogSGFuZGxlICdjYW5jZWxlZCcgc3RhdHVzLgorICAgICAgICAqIHB1YmxpYy92My9tb2Rl
bHMvdGVzdC1ncm91cC5qczoKKyAgICAgICAgKFRlc3RHcm91cCk6CisgICAgICAgIChUZXN0R3Jv
dXAucHJvdG90eXBlLnVwZGF0ZVNpbmdsZXRvbik6IEFkZGVkIHRvIHVwZGF0ZSAnaGlkZGVuJyBm
aWVsZC4KKyAgICAgICAgKFRlc3RHcm91cC5wcm90b3R5cGUuaXNIaWRkZW4pOiBBZGRlZC4KKyAg
ICAgICAgKFRlc3RHcm91cC5wcm90b3R5cGUuaGFzUGVuZGluZyk6IEFkZGVkLgorICAgICAgICAo
VGVzdEdyb3VwLnByb3RvdHlwZS5oYXNQZW5kaW5nKTogQWRkZWQuCisgICAgICAgIChUZXN0R3Jv
dXAucHJvdG90eXBlLnVwZGF0ZUhpZGRlbkZsYWcpOiBBZGRlZC4gVXNlcyB0aGUgcHJpdmlsZWdl
ZCBBUEkgdG8gdXBkYXRlIHRlc3Rncm91cF9oaWRkZW4gY29sdW1uLgorICAgICAgICBUaGUgSlNP
TiBBUEkgYWxzbyB1cGRhdGVzIHRoZSBzdGF0dXMgb2YgdGhlICdwZW5kaW5nJyBidWlsZCByZXF1
ZXN0cyBpbiB0aGUgZ3JvdXAgdG8gJ2NhbmNlbGVkJy4KKyAgICAgICAgKiBwdWJsaWMvdjMvcGFn
ZXMvYW5hbHlzaXMtdGFzay1wYWdlLmpzOgorICAgICAgICAoQW5hbHlzaXNUYXNrUGFnZSk6IEFk
ZGVkIF9zaG93SGlkZGVuVGVzdEdyb3VwcyBhbmQgX2ZpbHRlcmVkVGVzdEdyb3VwcyBhcyBpbnN0
YW5jZSB2YXJpYWJsZXMuCisgICAgICAgIChBbmFseXNpc1Rhc2tQYWdlLnByb3RvdHlwZS5fZGlk
RmV0Y2hUZXN0R3JvdXBzKToKKyAgICAgICAgKEFuYWx5c2lzVGFza1BhZ2UucHJvdG90eXBlLl9z
aG93QWxsVGVzdEdyb3Vwcyk6IEFkZGVkLgorICAgICAgICAoQW5hbHlzaXNUYXNrUGFnZS5wcm90
b3R5cGUuX2RpZFVwZGF0ZVRlc3RHcm91cEhpZGRlblN0YXRlKTogRXh0cmFjdGVkIGZyb20gX2Rp
ZEZldGNoVGVzdEdyb3Vwcy4KKyAgICAgICAgKEFuYWx5c2lzVGFza1BhZ2UucHJvdG90eXBlLl9y
ZW5kZXJUZXN0R3JvdXBMaXN0KTogVXNlIHRoZSBmaWx0ZXJlZCBsaXN0IG9mIHRlc3QgZ3JvdXBz
IHRvIHNob3cgdGhlIGxpc3QKKyAgICAgICAgb2YgdGVzdCBncm91cHMuIFdoZW4gYWxsIHRlc3Qg
Z3JvdXBzIGFyZSBzaG93biwgd2Ugd291bGQgZmlyc3Qgc2hvdyB0aGUgaGlkZGVuIG9uZXMgYWZ0
ZXIgdGhlIHJlZ3VsYXIgb25lcy4KKyAgICAgICAgKEFuYWx5c2lzVGFza1BhZ2UucHJvdG90eXBl
Ll9jcmVhdGVUZXN0R3JvdXBMaXN0SXRlbSk6IEV4dHJhY3RlZCBmcm9tIF9yZW5kZXJUZXN0R3Jv
dXBMaXN0LgorICAgICAgICAoQW5hbHlzaXNUYXNrUGFnZS5wcm90b3R5cGUuX3JlbmRlclRlc3RH
cm91cERldGFpbHMpOiBVcGRhdGUgdGhlIHRleHQgaW5zaWRlIHRoZSBidXR0b24gdG8gaGlkZSB0
aGUgdGVzdAorICAgICAgICBncm91cC4gQWxzbyBzaG93IGEgd2FybmluZyB0ZXh0IHRoYXQgdGhl
IHBlbmRpbmcgcmVxdWVzdHMgd2lsbCBiZSBjYW5jZWxlZCBpZiB0aGVyZSBhcmUgYW55LgorICAg
ICAgICAoQW5hbHlzaXNUYXNrUGFnZS5wcm90b3R5cGUuX2hpZGVDdXJyZW50VGVzdEdyb3VwKTog
QWRkZWQuCisgICAgICAgIChBbmFseXNpc1Rhc2tQYWdlLmNzc1RlbXBsYXRlKTogVXBkYXRlZCB0
aGUgc3R5bGUuCisKIDIwMTYtMDItMTggIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgVGhlIHJvd3MgaW4gdGhlIGFuYWx5c2lzIHJlc3VsdHMgdGFibGUgc2hvdWxk
IGJlIGV4cGFuZGFibGUKSW5kZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9pbml0LWRhdGFi
YXNlLnNxbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvaW5pdC1kYXRh
YmFzZS5zcWwJKHJldmlzaW9uIDE5Njc4OCkKKysrIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9p
bml0LWRhdGFiYXNlLnNxbAkod29ya2luZyBjb3B5KQpAQCAtMjI1LDEwICsyMjUsMTEgQEAgQ1JF
QVRFIFRBQkxFIHRyaWdnZXJhYmxlX2NvbmZpZ3VyYXRpb25zIAogCiBDUkVBVEUgVEFCTEUgYW5h
bHlzaXNfdGVzdF9ncm91cHMgKAogICAgIHRlc3Rncm91cF9pZCBzZXJpYWwgUFJJTUFSWSBLRVks
Ci0gICAgdGVzdGdyb3VwX3Rhc2sgaW50ZWdlciBSRUZFUkVOQ0VTIGFuYWx5c2lzX3Rhc2tzIE5P
VCBOVUxMLAorICAgIHRlc3Rncm91cF90YXNrIGludGVnZXIgTk9UIE5VTEwgUkVGRVJFTkNFUyBh
bmFseXNpc190YXNrcyBPTiBERUxFVEUgQ0FTQ0FERSwKICAgICB0ZXN0Z3JvdXBfbmFtZSB2YXJj
aGFyKDI1NiksCiAgICAgdGVzdGdyb3VwX2F1dGhvciB2YXJjaGFyKDI1NiksCiAgICAgdGVzdGdy
b3VwX2NyZWF0ZWRfYXQgdGltZXN0YW1wIE5PVCBOVUxMIERFRkFVTFQgKENVUlJFTlRfVElNRVNU
QU1QIEFUIFRJTUUgWk9ORSAnVVRDJyksCisgICAgdGVzdGdyb3VwX2hpZGRlbiBib29sZWFuIE5P
VCBOVUxMIERFRkFVTFQgRkFMU0UsCiAgICAgQ09OU1RSQUlOVCB0ZXN0Z3JvdXBfbmFtZV9tdXN0
X2JlX3VuaXF1ZV9mb3JfZWFjaF90YXNrIFVOSVFVRSh0ZXN0Z3JvdXBfdGFzaywgdGVzdGdyb3Vw
X25hbWUpKTsKIENSRUFURSBJTkRFWCB0ZXN0Z3JvdXBfdGFza19pbmRleCBPTiBhbmFseXNpc190
ZXN0X2dyb3Vwcyh0ZXN0Z3JvdXBfdGFzayk7CiAKQEAgLTIzOSwxMyArMjQwLDEzIEBAIENSRUFU
RSBUQUJMRSByb290cyAoCiAgICAgcm9vdF9zZXQgaW50ZWdlciBSRUZFUkVOQ0VTIHJvb3Rfc2V0
cyBOT1QgTlVMTCwKICAgICByb290X2NvbW1pdCBpbnRlZ2VyIFJFRkVSRU5DRVMgY29tbWl0cyBO
T1QgTlVMTCk7CiAKLUNSRUFURSBUWVBFIGJ1aWxkX3JlcXVlc3Rfc3RhdHVzX3R5cGUgYXMgRU5V
TSAoJ3BlbmRpbmcnLCAnc2NoZWR1bGVkJywgJ3J1bm5pbmcnLCAnZmFpbGVkJywgJ2NvbXBsZXRl
ZCcpOworQ1JFQVRFIFRZUEUgYnVpbGRfcmVxdWVzdF9zdGF0dXNfdHlwZSBhcyBFTlVNICgncGVu
ZGluZycsICdzY2hlZHVsZWQnLCAncnVubmluZycsICdmYWlsZWQnLCAnY29tcGxldGVkJywgJ2Nh
bmNlbGVkJyk7CiBDUkVBVEUgVEFCTEUgYnVpbGRfcmVxdWVzdHMgKAogICAgIHJlcXVlc3RfaWQg
c2VyaWFsIFBSSU1BUlkgS0VZLAogICAgIHJlcXVlc3RfdHJpZ2dlcmFibGUgaW50ZWdlciBSRUZF
UkVOQ0VTIGJ1aWxkX3RyaWdnZXJhYmxlcyBOT1QgTlVMTCwKICAgICByZXF1ZXN0X3BsYXRmb3Jt
IGludGVnZXIgUkVGRVJFTkNFUyBwbGF0Zm9ybXMgTk9UIE5VTEwsCiAgICAgcmVxdWVzdF90ZXN0
IGludGVnZXIgUkVGRVJFTkNFUyB0ZXN0cyBOT1QgTlVMTCwKLSAgICByZXF1ZXN0X2dyb3VwIGlu
dGVnZXIgUkVGRVJFTkNFUyBhbmFseXNpc190ZXN0X2dyb3VwcyBOT1QgTlVMTCwKKyAgICByZXF1
ZXN0X2dyb3VwIGludGVnZXIgTk9UIE5VTEwgUkVGRVJFTkNFUyBhbmFseXNpc190ZXN0X2dyb3Vw
cyBPTiBERUxFVEUgQ0FTQ0FERSwKICAgICByZXF1ZXN0X29yZGVyIGludGVnZXIgTk9UIE5VTEws
CiAgICAgcmVxdWVzdF9yb290X3NldCBpbnRlZ2VyIFJFRkVSRU5DRVMgcm9vdF9zZXRzIE5PVCBO
VUxMLAogICAgIHJlcXVlc3Rfc3RhdHVzIGJ1aWxkX3JlcXVlc3Rfc3RhdHVzX3R5cGUgTk9UIE5V
TEwgREVGQVVMVCAncGVuZGluZycsCkluZGV4OiBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVi
bGljL2FwaS90ZXN0LWdyb3Vwcy5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvcGVyZi53ZWJr
aXQub3JnL3B1YmxpYy9hcGkvdGVzdC1ncm91cHMucGhwCShyZXZpc2lvbiAxOTY3ODgpCisrKyBX
ZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL2FwaS90ZXN0LWdyb3Vwcy5waHAJKHdvcmtp
bmcgY29weSkKQEAgLTY1LDYgKzY1LDcgQEAgZnVuY3Rpb24gZm9ybWF0X3Rlc3RfZ3JvdXAoJGdy
b3VwX3JvdykgewogICAgICAgICAnbmFtZScgPT4gJGdyb3VwX3Jvd1sndGVzdGdyb3VwX25hbWUn
XSwKICAgICAgICAgJ2F1dGhvcicgPT4gJGdyb3VwX3Jvd1sndGVzdGdyb3VwX2F1dGhvciddLAog
ICAgICAgICAnY3JlYXRlZEF0JyA9PiBzdHJ0b3RpbWUoJGdyb3VwX3Jvd1sndGVzdGdyb3VwX2Ny
ZWF0ZWRfYXQnXSkgKiAxMDAwLAorICAgICAgICAnaGlkZGVuJyA9PiBEYXRhYmFzZTo6aXNfdHJ1
ZSgkZ3JvdXBfcm93Wyd0ZXN0Z3JvdXBfaGlkZGVuJ10pLAogICAgICAgICAnYnVpbGRSZXF1ZXN0
cycgPT4gYXJyYXkoKSwKICAgICAgICAgJ3Jvb3RTZXRzJyA9PiBhcnJheSgpLAogICAgICk7Cklu
ZGV4OiBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3ByaXZpbGVnZWQtYXBpL3VwZGF0
ZS10ZXN0LWdyb3VwLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcv
cHVibGljL3ByaXZpbGVnZWQtYXBpL3VwZGF0ZS10ZXN0LWdyb3VwLnBocAkocmV2aXNpb24gMTk2
Nzg4KQorKysgV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy9wcml2aWxlZ2VkLWFwaS91
cGRhdGUtdGVzdC1ncm91cC5waHAJKHdvcmtpbmcgY29weSkKQEAgLTE0LDYgKzE0LDkgQEAgZnVu
Y3Rpb24gbWFpbigpIHsKICAgICBpZiAoYXJyYXlfa2V5X2V4aXN0cygnbmFtZScsICRkYXRhKSkK
ICAgICAgICAgJHZhbHVlc1snbmFtZSddID0gJGRhdGFbJ25hbWUnXTsKIAorICAgIGlmIChhcnJh
eV9rZXlfZXhpc3RzKCdoaWRkZW4nLCAkZGF0YSkpCisgICAgICAgICR2YWx1ZXNbJ2hpZGRlbidd
ID0gRGF0YWJhc2U6OnRvX2RhdGFiYXNlX2Jvb2xlYW4oJGRhdGFbJ2hpZGRlbiddKTsKKwogICAg
IGlmICghJHZhbHVlcykKICAgICAgICAgZXhpdF93aXRoX2Vycm9yKCdOb3RoaW5nVG9VcGRhdGUn
KTsKIApAQCAtMjUsNiArMjgsMTEgQEAgZnVuY3Rpb24gbWFpbigpIHsKICAgICAgICAgZXhpdF93
aXRoX2Vycm9yKCdGYWlsZWRUb1VwZGF0ZVRlc3RHcm91cCcsIGFycmF5KCdpZCcgPT4gJHRlc3Rf
Z3JvdXBfaWQsICd2YWx1ZXMnID0+ICR2YWx1ZXMpKTsKICAgICB9CiAKKyAgICBpZiAoYXJyYXlf
Z2V0KCRkYXRhLCAnaGlkZGVuJykpIHsKKyAgICAgICAgJGRiLT5xdWVyeV9hbmRfZ2V0X2FmZmVj
dGVkX3Jvd3MoJ1VQREFURSBidWlsZF9yZXF1ZXN0cyBTRVQgcmVxdWVzdF9zdGF0dXMgPSAkMQor
ICAgICAgICAgICAgV0hFUkUgcmVxdWVzdF9ncm91cCA9ICQyIEFORCByZXF1ZXN0X3N0YXR1cyA9
ICQzJywgYXJyYXkoJ2NhbmNlbGVkJywgJHRlc3RfZ3JvdXBfaWQsICdwZW5kaW5nJykpOworICAg
IH0KKwogICAgICRkYi0+Y29tbWl0X3RyYW5zYWN0aW9uKCk7CiAKICAgICBleGl0X3dpdGhfc3Vj
Y2VzcygpOwpJbmRleDogV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9jb21wb25l
bnRzL3Rlc3QtZ3JvdXAtcmVzdWx0cy10YWJsZS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy9w
ZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL2NvbXBvbmVudHMvdGVzdC1ncm91cC1yZXN1bHRzLXRh
YmxlLmpzCShyZXZpc2lvbiAxOTY3ODgpCisrKyBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVi
bGljL3YzL2NvbXBvbmVudHMvdGVzdC1ncm91cC1yZXN1bHRzLXRhYmxlLmpzCSh3b3JraW5nIGNv
cHkpCkBAIC04LDcgKzgsMTEgQEAgY2xhc3MgVGVzdEdyb3VwUmVzdWx0c1RhYmxlIGV4dGVuZHMg
UmVzdQogICAgIH0KIAogICAgIGRpZFVwZGF0ZVJlc3VsdHMoKSB7IHRoaXMuX3JlbmRlcmVkVGVz
dEdyb3VwID0gbnVsbDsgfQotICAgIHNldFRlc3RHcm91cCh0ZXN0R3JvdXApIHsgdGhpcy5fdGVz
dEdyb3VwID0gdGVzdEdyb3VwOyB9CisgICAgc2V0VGVzdEdyb3VwKHRlc3RHcm91cCkKKyAgICB7
CisgICAgICAgIHRoaXMuX3Rlc3RHcm91cCA9IHRlc3RHcm91cDsKKyAgICAgICAgdGhpcy5fcmVu
ZGVyZWRUZXN0R3JvdXAgPSBudWxsOworICAgIH0KIAogICAgIGhlYWRpbmcoKQogICAgIHsKSW5k
ZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjMvbW9kZWxzL2J1aWxkLXJlcXVl
c3QuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9t
b2RlbHMvYnVpbGQtcmVxdWVzdC5qcwkocmV2aXNpb24gMTk2Nzg4KQorKysgV2Vic2l0ZXMvcGVy
Zi53ZWJraXQub3JnL3B1YmxpYy92My9tb2RlbHMvYnVpbGQtcmVxdWVzdC5qcwkod29ya2luZyBj
b3B5KQpAQCAtMzAsOCArMzAsOSBAQCBjbGFzcyBCdWlsZFJlcXVlc3QgZXh0ZW5kcyBEYXRhTW9k
ZWxPYmplCiAgICAgb3JkZXIoKSB7IHJldHVybiB0aGlzLl9vcmRlcjsgfQogICAgIHJvb3RTZXQo
KSB7IHJldHVybiB0aGlzLl9yb290U2V0OyB9CiAKLSAgICBoYXNDb21wbGV0ZWQoKSB7IHJldHVy
biB0aGlzLl9zdGF0dXMgPT0gJ2ZhaWxlZCcgfHwgdGhpcy5fc3RhdHVzID09ICdjb21wbGV0ZWQn
OyB9CisgICAgaGFzQ29tcGxldGVkKCkgeyByZXR1cm4gdGhpcy5fc3RhdHVzID09ICdmYWlsZWQn
IHx8IHRoaXMuX3N0YXR1cyA9PSAnY29tcGxldGVkJyB8fCB0aGlzLl9zdGF0dXMgPT0gJ2NhbmNl
bGVkJzsgfQogICAgIGhhc1N0YXJ0ZWQoKSB7IHJldHVybiB0aGlzLl9zdGF0dXMgIT0gJ3BlbmRp
bmcnOyB9CisgICAgaGFzUGVuZGluZygpIHsgcmV0dXJuIHRoaXMuX3N0YXR1cyA9PSAncGVuZGlu
Zyc7IH0KICAgICBzdGF0dXNMYWJlbCgpCiAgICAgewogICAgICAgICBzd2l0Y2ggKHRoaXMuX3N0
YXR1cykgewpAQCAtNDUsNiArNDYsOCBAQCBjbGFzcyBCdWlsZFJlcXVlc3QgZXh0ZW5kcyBEYXRh
TW9kZWxPYmplCiAgICAgICAgICAgICByZXR1cm4gJ0ZhaWxlZCc7CiAgICAgICAgIGNhc2UgJ2Nv
bXBsZXRlZCc6CiAgICAgICAgICAgICByZXR1cm4gJ0NvbXBsZXRlZCc7CisgICAgICAgIGNhc2Ug
J2NhbmNlbGVkJzoKKyAgICAgICAgICAgIHJldHVybiAnQ2FuY2VsZWQnOwogICAgICAgICB9CiAg
ICAgfQogICAgIHN0YXR1c1VybCgpIHsgcmV0dXJuIHRoaXMuX3N0YXR1c1VybDsgfQpJbmRleDog
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9tb2RlbHMvdGVzdC1ncm91cC5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL21vZGVscy90
ZXN0LWdyb3VwLmpzCShyZXZpc2lvbiAxOTY3ODgpCisrKyBXZWJzaXRlcy9wZXJmLndlYmtpdC5v
cmcvcHVibGljL3YzL21vZGVscy90ZXN0LWdyb3VwLmpzCSh3b3JraW5nIGNvcHkpCkBAIC03LDYg
KzcsNyBAQCBjbGFzcyBUZXN0R3JvdXAgZXh0ZW5kcyBMYWJlbGVkT2JqZWN0IHsKICAgICAgICAg
dGhpcy5fdGFza0lkID0gb2JqZWN0LnRhc2s7CiAgICAgICAgIHRoaXMuX2F1dGhvck5hbWUgPSBv
YmplY3QuYXV0aG9yOwogICAgICAgICB0aGlzLl9jcmVhdGVkQXQgPSBuZXcgRGF0ZShvYmplY3Qu
Y3JlYXRlZEF0KTsKKyAgICAgICAgdGhpcy5faXNIaWRkZW4gPSBvYmplY3QuaGlkZGVuOwogICAg
ICAgICB0aGlzLl9idWlsZFJlcXVlc3RzID0gW107CiAgICAgICAgIHRoaXMuX3JlcXVlc3RzQXJl
SW5PcmRlciA9IGZhbHNlOwogICAgICAgICB0aGlzLl9yZXBvc2l0b3JpZXMgPSBudWxsOwpAQCAt
MTcsNyArMTgsMTkgQEAgY2xhc3MgVGVzdEdyb3VwIGV4dGVuZHMgTGFiZWxlZE9iamVjdCB7CiAg
ICAgICAgIHRoaXMuX3BsYXRmb3JtID0gb2JqZWN0LnBsYXRmb3JtOwogICAgIH0KIAorICAgIHVw
ZGF0ZVNpbmdsZXRvbihvYmplY3QpCisgICAgeworICAgICAgICBzdXBlci51cGRhdGVTaW5nbGV0
b24ob2JqZWN0KTsKKworICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlzLl90YXNrSWQgPT0gb2Jq
ZWN0LnRhc2spOworICAgICAgICBjb25zb2xlLmFzc2VydCgrdGhpcy5fY3JlYXRlZEF0ID09ICtv
YmplY3QuY3JlYXRlZEF0KTsKKyAgICAgICAgY29uc29sZS5hc3NlcnQodGhpcy5fcGxhdGZvcm0g
PT0gb2JqZWN0LnBsYXRmb3JtKTsKKworICAgICAgICB0aGlzLl9pc0hpZGRlbiA9IG9iamVjdC5o
aWRkZW47CisgICAgfQorCiAgICAgY3JlYXRlZEF0KCkgeyByZXR1cm4gdGhpcy5fY3JlYXRlZEF0
OyB9CisgICAgaXNIaWRkZW4oKSB7IHJldHVybiB0aGlzLl9pc0hpZGRlbjsgfQogICAgIGJ1aWxk
UmVxdWVzdHMoKSB7IHJldHVybiB0aGlzLl9idWlsZFJlcXVlc3RzOyB9CiAgICAgYWRkQnVpbGRS
ZXF1ZXN0KHJlcXVlc3QpCiAgICAgewpAQCAtOTYsNiArMTA5LDExIEBAIGNsYXNzIFRlc3RHcm91
cCBleHRlbmRzIExhYmVsZWRPYmplY3QgewogICAgICAgICByZXR1cm4gdGhpcy5fYnVpbGRSZXF1
ZXN0cy5zb21lKGZ1bmN0aW9uIChyZXF1ZXN0KSB7IHJldHVybiByZXF1ZXN0Lmhhc1N0YXJ0ZWQo
KTsgfSk7CiAgICAgfQogCisgICAgaGFzUGVuZGluZygpCisgICAgeworICAgICAgICByZXR1cm4g
dGhpcy5fYnVpbGRSZXF1ZXN0cy5zb21lKGZ1bmN0aW9uIChyZXF1ZXN0KSB7IHJldHVybiByZXF1
ZXN0Lmhhc1BlbmRpbmcoKTsgfSk7CisgICAgfQorCiAgICAgY29tcGFyZVRlc3RSZXN1bHRzKHJv
b3RTZXRBLCByb290U2V0QikKICAgICB7CiAgICAgICAgIHZhciBiZWZvcmVWYWx1ZXMgPSB0aGlz
Ll92YWx1ZXNGb3JSb290U2V0KHJvb3RTZXRBKTsKQEAgLTE2NSw2ICsxODMsMTkgQEAgY2xhc3Mg
VGVzdEdyb3VwIGV4dGVuZHMgTGFiZWxlZE9iamVjdCB7CiAgICAgICAgIH0pOwogICAgIH0KIAor
ICAgIHVwZGF0ZUhpZGRlbkZsYWcoaGlkZGVuKQorICAgIHsKKyAgICAgICAgdmFyIHNlbGYgPSB0
aGlzOworICAgICAgICB2YXIgaWQgPSB0aGlzLmlkKCk7CisgICAgICAgIHJldHVybiBQcml2aWxl
Z2VkQVBJLnNlbmRSZXF1ZXN0KCd1cGRhdGUtdGVzdC1ncm91cCcsIHsKKyAgICAgICAgICAgIGdy
b3VwOiBpZCwKKyAgICAgICAgICAgIGhpZGRlbjogISFoaWRkZW4sCisgICAgICAgIH0pLnRoZW4o
ZnVuY3Rpb24gKGRhdGEpIHsKKyAgICAgICAgICAgIHJldHVybiBUZXN0R3JvdXAuY2FjaGVkRmV0
Y2goYC4uL2FwaS90ZXN0LWdyb3Vwcy8ke2lkfWAsIHt9LCB0cnVlKQorICAgICAgICAgICAgICAg
IC50aGVuKFRlc3RHcm91cC5fY3JlYXRlTW9kZWxzRnJvbUZldGNoZWRUZXN0R3JvdXBzLmJpbmQo
VGVzdEdyb3VwKSk7CisgICAgICAgIH0pOworICAgIH0KKwogICAgIHN0YXRpYyBjcmVhdGVBbmRS
ZWZldGNoVGVzdEdyb3Vwcyh0YXNrLCBuYW1lLCByZXBldGl0aW9uQ291bnQsIHJvb3RTZXRzKQog
ICAgIHsKICAgICAgICAgdmFyIHNlbGYgPSB0aGlzOwpJbmRleDogV2Vic2l0ZXMvcGVyZi53ZWJr
aXQub3JnL3B1YmxpYy92My9wYWdlcy9hbmFseXNpcy10YXNrLXBhZ2UuanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9wYWdlcy9hbmFseXNpcy10YXNr
LXBhZ2UuanMJKHJldmlzaW9uIDE5Njc4OCkKKysrIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9w
dWJsaWMvdjMvcGFnZXMvYW5hbHlzaXMtdGFzay1wYWdlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC00
NCw2ICs0NCw4IEBAIGNsYXNzIEFuYWx5c2lzVGFza1BhZ2UgZXh0ZW5kcyBQYWdlV2l0aEgKICAg
ICAgICAgdGhpcy5fZW5kUG9pbnQgPSBudWxsOwogICAgICAgICB0aGlzLl9lcnJvck1lc3NhZ2Ug
PSBudWxsOwogICAgICAgICB0aGlzLl9jdXJyZW50VGVzdEdyb3VwID0gbnVsbDsKKyAgICAgICAg
dGhpcy5fZmlsdGVyZWRUZXN0R3JvdXBzID0gbnVsbDsKKyAgICAgICAgdGhpcy5fc2hvd0hpZGRl
blRlc3RHcm91cHMgPSBmYWxzZTsKIAogICAgICAgICB0aGlzLl9jaGFydFBhbmUgPSB0aGlzLmNv
bnRlbnQoKS5xdWVyeVNlbGVjdG9yKCdhbmFseXNpcy10YXNrLWNoYXJ0LXBhbmUnKS5jb21wb25l
bnQoKTsKICAgICAgICAgdGhpcy5fY2hhcnRQYW5lLnNldFBhZ2UodGhpcyk7CkBAIC02OSw4ICs3
MSwxMCBAQCBjbGFzcyBBbmFseXNpc1Rhc2tQYWdlIGV4dGVuZHMgUGFnZVdpdGhICiAgICAgICAg
IHRoaXMuX25ld1Rlc3RHcm91cEZvcm1Gb3JWaWV3ZXIgPSB0aGlzLmNvbnRlbnQoKS5xdWVyeVNl
bGVjdG9yKCcuYW5hbHlzaXMtcmVzdWx0cy12aWV3IGN1c3RvbWl6YWJsZS10ZXN0LWdyb3VwLWZv
cm0nKS5jb21wb25lbnQoKTsKICAgICAgICAgdGhpcy5fbmV3VGVzdEdyb3VwRm9ybUZvclZpZXdl
ci5zZXRTdGFydENhbGxiYWNrKHRoaXMuX2NyZWF0ZU5ld1Rlc3RHcm91cEZyb21WaWV3ZXIuYmlu
ZCh0aGlzKSk7CiAKLSAgICAgICAgdGhpcy5fcmV0cnlGb3JtID0gdGhpcy5jb250ZW50KCkucXVl
cnlTZWxlY3RvcignLnRlc3QtZ3JvdXAtcmV0cnktZm9ybScpLmZpcnN0Q2hpbGQuY29tcG9uZW50
KCk7CisgICAgICAgIHRoaXMuX3JldHJ5Rm9ybSA9IHRoaXMuY29udGVudCgpLnF1ZXJ5U2VsZWN0
b3IoJy50ZXN0LWdyb3VwLXJldHJ5LWZvcm0gdGVzdC1ncm91cC1mb3JtJykuY29tcG9uZW50KCk7
CiAgICAgICAgIHRoaXMuX3JldHJ5Rm9ybS5zZXRTdGFydENhbGxiYWNrKHRoaXMuX3JldHJ5Q3Vy
cmVudFRlc3RHcm91cC5iaW5kKHRoaXMpKTsKKyAgICAgICAgdGhpcy5faGlkZUJ1dHRvbiA9IHRo
aXMuY29udGVudCgpLnF1ZXJ5U2VsZWN0b3IoJy50ZXN0LWdyb3VwLWhpZGUtYnV0dG9uJyk7Cisg
ICAgICAgIHRoaXMuX2hpZGVCdXR0b24ub25jbGljayA9IHRoaXMuX2hpZGVDdXJyZW50VGVzdEdy
b3VwLmJpbmQodGhpcyk7CiAgICAgfQogCiAgICAgdGl0bGUoKSB7IHJldHVybiB0aGlzLl90YXNr
ID8gdGhpcy5fdGFzay5sYWJlbCgpIDogJ0FuYWx5c2lzIFRhc2snOyB9CkBAIC0xNTcsMTQgKzE2
MSwzMSBAQCBjbGFzcyBBbmFseXNpc1Rhc2tQYWdlIGV4dGVuZHMgUGFnZVdpdGhICiAgICAgX2Rp
ZEZldGNoVGVzdEdyb3Vwcyh0ZXN0R3JvdXBzKQogICAgIHsKICAgICAgICAgdGhpcy5fdGVzdEdy
b3VwcyA9IHRlc3RHcm91cHMuc29ydChmdW5jdGlvbiAoYSwgYikgeyByZXR1cm4gK2EuY3JlYXRl
ZEF0KCkgLSBiLmNyZWF0ZWRBdCgpOyB9KTsKLSAgICAgICAgdGhpcy5fY3VycmVudFRlc3RHcm91
cCA9IHRlc3RHcm91cHMubGVuZ3RoID8gdGVzdEdyb3Vwc1t0ZXN0R3JvdXBzLmxlbmd0aCAtIDFd
IDogbnVsbDsKLQotICAgICAgICB0aGlzLl9hbmFseXNpc1Jlc3VsdHNWaWV3ZXIuc2V0VGVzdEdy
b3Vwcyh0ZXN0R3JvdXBzKTsKLSAgICAgICAgdGhpcy5fdGVzdEdyb3VwUmVzdWx0c1RhYmxlLnNl
dFRlc3RHcm91cCh0aGlzLl9jdXJyZW50VGVzdEdyb3VwKTsKKyAgICAgICAgdGhpcy5fZGlkVXBk
YXRlVGVzdEdyb3VwSGlkZGVuU3RhdGUoKTsKICAgICAgICAgdGhpcy5fYXNzaWduVGVzdFJlc3Vs
dHNJZlBvc3NpYmxlKCk7CiAgICAgICAgIHRoaXMucmVuZGVyKCk7CiAgICAgfQogCisgICAgX3No
b3dBbGxUZXN0R3JvdXBzKCkKKyAgICB7CisgICAgICAgIHRoaXMuX3Nob3dIaWRkZW5UZXN0R3Jv
dXBzID0gdHJ1ZTsKKyAgICAgICAgdGhpcy5fZGlkVXBkYXRlVGVzdEdyb3VwSGlkZGVuU3RhdGUo
KTsKKyAgICAgICAgdGhpcy5yZW5kZXIoKTsKKyAgICB9CisKKyAgICBfZGlkVXBkYXRlVGVzdEdy
b3VwSGlkZGVuU3RhdGUoKQorICAgIHsKKyAgICAgICAgdGhpcy5fcmVuZGVyZWRDdXJyZW50VGVz
dEdyb3VwID0gbnVsbDsKKyAgICAgICAgdGhpcy5fcmVuZGVyZWRUZXN0R3JvdXBzID0gbnVsbDsK
KyAgICAgICAgaWYgKCF0aGlzLl9zaG93SGlkZGVuVGVzdEdyb3VwcykKKyAgICAgICAgICAgIHRo
aXMuX2ZpbHRlcmVkVGVzdEdyb3VwcyA9IHRoaXMuX3Rlc3RHcm91cHMuZmlsdGVyKGZ1bmN0aW9u
IChncm91cCkgeyByZXR1cm4gIWdyb3VwLmlzSGlkZGVuKCk7IH0pOworICAgICAgICBlbHNlCisg
ICAgICAgICAgICB0aGlzLl9maWx0ZXJlZFRlc3RHcm91cHMgPSB0aGlzLl90ZXN0R3JvdXBzOwor
ICAgICAgICB0aGlzLl9jdXJyZW50VGVzdEdyb3VwID0gdGhpcy5fZmlsdGVyZWRUZXN0R3JvdXBz
ID8gdGhpcy5fZmlsdGVyZWRUZXN0R3JvdXBzW3RoaXMuX2ZpbHRlcmVkVGVzdEdyb3Vwcy5sZW5n
dGggLSAxXSA6IG51bGw7CisgICAgICAgIHRoaXMuX2FuYWx5c2lzUmVzdWx0c1ZpZXdlci5zZXRU
ZXN0R3JvdXBzKHRoaXMuX2ZpbHRlcmVkVGVzdEdyb3Vwcyk7CisgICAgICAgIHRoaXMuX3Rlc3RH
cm91cFJlc3VsdHNUYWJsZS5zZXRUZXN0R3JvdXAodGhpcy5fY3VycmVudFRlc3RHcm91cCk7Cisg
ICAgfQorCiAgICAgX2RpZEZldGNoQW5hbHlzaXNSZXN1bHRzKHJlc3VsdHMpCiAgICAgewogICAg
ICAgICB0aGlzLl9hbmFseXNpc1Jlc3VsdHMgPSByZXN1bHRzOwpAQCAtMjc3LDI2ICsyOTgsMjcg
QEAgY2xhc3MgQW5hbHlzaXNUYXNrUGFnZSBleHRlbmRzIFBhZ2VXaXRoSAogICAgICAgICAgICAg
dGhpcy5fcmVuZGVyZWRUZXN0R3JvdXBzID0gdGhpcy5fdGVzdEdyb3VwczsKICAgICAgICAgICAg
IHRoaXMuX3Rlc3RHcm91cExhYmVsTWFwLmNsZWFyKCk7CiAKLSAgICAgICAgICAgIHZhciBzZWxm
ID0gdGhpczsKLSAgICAgICAgICAgIHZhciB1cGRhdGVUZXN0R3JvdXBOYW1lID0gdGhpcy5fdXBk
YXRlVGVzdEdyb3VwTmFtZS5iaW5kKHRoaXMpOwotICAgICAgICAgICAgdmFyIHNob3dUZXN0R3Jv
dXAgPSB0aGlzLl9zaG93VGVzdEdyb3VwLmJpbmQodGhpcyk7Ci0KLSAgICAgICAgICAgIHRoaXMu
cmVuZGVyUmVwbGFjZSh0aGlzLmNvbnRlbnQoKS5xdWVyeVNlbGVjdG9yKCcudGVzdC1ncm91cC1s
aXN0JyksCi0gICAgICAgICAgICAgICAgdGhpcy5fdGVzdEdyb3Vwcy5tYXAoZnVuY3Rpb24gKGdy
b3VwKSB7Ci0gICAgICAgICAgICAgICAgICAgIHZhciB0ZXh0ID0gbmV3IEVkaXRhYmxlVGV4dChn
cm91cC5sYWJlbCgpKTsKLSAgICAgICAgICAgICAgICAgICAgdGV4dC5zZXRTdGFydGVkRWRpdGlu
Z0NhbGxiYWNrKGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRleHQucmVuZGVyKCk7IH0pOwotICAgICAg
ICAgICAgICAgICAgICB0ZXh0LnNldFVwZGF0ZUNhbGxiYWNrKGZ1bmN0aW9uICgpIHsgcmV0dXJu
IHVwZGF0ZVRlc3RHcm91cE5hbWUoZ3JvdXApOyB9KTsKLQotICAgICAgICAgICAgICAgICAgICBz
ZWxmLl90ZXN0R3JvdXBMYWJlbE1hcC5zZXQoZ3JvdXAsIHRleHQpOwotICAgICAgICAgICAgICAg
ICAgICByZXR1cm4gZWxlbWVudCgnbGknLCB7Y2xhc3M6ICd0ZXN0LWdyb3VwLWxpc3QtJyArIGdy
b3VwLmlkKCl9LAotICAgICAgICAgICAgICAgICAgICAgICAgbGluayh0ZXh0LCBncm91cC5sYWJl
bCgpLCBmdW5jdGlvbiAoKSB7IHNob3dUZXN0R3JvdXAoZ3JvdXApOyB9KSk7Ci0gICAgICAgICAg
ICAgICAgfSkucmV2ZXJzZSgpKTsKKyAgICAgICAgICAgIHZhciB1bmhpZGRlblRlc3RHcm91cHMg
PSB0aGlzLl9maWx0ZXJlZFRlc3RHcm91cHMuZmlsdGVyKGZ1bmN0aW9uIChncm91cCkgeyByZXR1
cm4gIWdyb3VwLmlzSGlkZGVuKCk7IH0pOworICAgICAgICAgICAgdmFyIGhpZGRlblRlc3RHcm91
cHMgPSB0aGlzLl9maWx0ZXJlZFRlc3RHcm91cHMuZmlsdGVyKGZ1bmN0aW9uIChncm91cCkgeyBy
ZXR1cm4gZ3JvdXAuaXNIaWRkZW4oKTsgfSk7CisKKyAgICAgICAgICAgIHZhciBsaXN0SXRlbXMg
PSBbXTsKKyAgICAgICAgICAgIGZvciAodmFyIGdyb3VwIG9mIGhpZGRlblRlc3RHcm91cHMpCisg
ICAgICAgICAgICAgICAgbGlzdEl0ZW1zLnVuc2hpZnQodGhpcy5fY3JlYXRlVGVzdEdyb3VwTGlz
dEl0ZW0oZ3JvdXApKTsKKyAgICAgICAgICAgIGZvciAodmFyIGdyb3VwIG9mIHVuaGlkZGVuVGVz
dEdyb3VwcykKKyAgICAgICAgICAgICAgICBsaXN0SXRlbXMudW5zaGlmdCh0aGlzLl9jcmVhdGVU
ZXN0R3JvdXBMaXN0SXRlbShncm91cCkpOworCisgICAgICAgICAgICBpZiAodGhpcy5fdGVzdEdy
b3Vwcy5sZW5ndGggIT0gdGhpcy5fZmlsdGVyZWRUZXN0R3JvdXBzLmxlbmd0aCkgeworICAgICAg
ICAgICAgICAgIGxpc3RJdGVtcy5wdXNoKGVsZW1lbnQoJ2xpJywge2NsYXNzOiAndGVzdC1ncm91
cC1saXN0LXNob3ctYWxsJ30sCisgICAgICAgICAgICAgICAgICAgIGxpbmsoJ1Nob3cgaGlkZGVu
IHRlc3RzJywgdGhpcy5fc2hvd0FsbFRlc3RHcm91cHMuYmluZCh0aGlzKSkpKTsKKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgdGhpcy5yZW5kZXJSZXBsYWNlKHRoaXMuY29udGVudCgpLnF1
ZXJ5U2VsZWN0b3IoJy50ZXN0LWdyb3VwLWxpc3QnKSwgbGlzdEl0ZW1zKTsKIAogICAgICAgICAg
ICAgdGhpcy5fcmVuZGVyZWRDdXJyZW50VGVzdEdyb3VwID0gbnVsbDsKICAgICAgICAgfQogCiAg
ICAgICAgIGlmICh0aGlzLl90ZXN0R3JvdXBzKSB7Ci0gICAgICAgICAgICBmb3IgKHZhciB0ZXN0
R3JvdXAgb2YgdGhpcy5fdGVzdEdyb3VwcykgeworICAgICAgICAgICAgZm9yICh2YXIgdGVzdEdy
b3VwIG9mIHRoaXMuX2ZpbHRlcmVkVGVzdEdyb3VwcykgewogICAgICAgICAgICAgICAgIHZhciBs
YWJlbCA9IHRoaXMuX3Rlc3RHcm91cExhYmVsTWFwLmdldCh0ZXN0R3JvdXApOwogICAgICAgICAg
ICAgICAgIGxhYmVsLnNldFRleHQodGVzdEdyb3VwLmxhYmVsKCkpOwogICAgICAgICAgICAgICAg
IGxhYmVsLnJlbmRlcigpOwpAQCAtMzA0LDYgKzMyNiwxNyBAQCBjbGFzcyBBbmFseXNpc1Rhc2tQ
YWdlIGV4dGVuZHMgUGFnZVdpdGhICiAgICAgICAgIH0KICAgICB9CiAKKyAgICBfY3JlYXRlVGVz
dEdyb3VwTGlzdEl0ZW0oZ3JvdXApCisgICAgeworICAgICAgICB2YXIgdGV4dCA9IG5ldyBFZGl0
YWJsZVRleHQoZ3JvdXAubGFiZWwoKSk7CisgICAgICAgIHRleHQuc2V0U3RhcnRlZEVkaXRpbmdD
YWxsYmFjayhmdW5jdGlvbiAoKSB7IHJldHVybiB0ZXh0LnJlbmRlcigpOyB9KTsKKyAgICAgICAg
dGV4dC5zZXRVcGRhdGVDYWxsYmFjayh0aGlzLl91cGRhdGVUZXN0R3JvdXBOYW1lLmJpbmQodGhp
cywgZ3JvdXApKTsKKworICAgICAgICB0aGlzLl90ZXN0R3JvdXBMYWJlbE1hcC5zZXQoZ3JvdXAs
IHRleHQpOworICAgICAgICByZXR1cm4gQ29tcG9uZW50QmFzZS5jcmVhdGVFbGVtZW50KCdsaScs
IHtjbGFzczogJ3Rlc3QtZ3JvdXAtbGlzdC0nICsgZ3JvdXAuaWQoKX0sCisgICAgICAgICAgICBD
b21wb25lbnRCYXNlLmNyZWF0ZUxpbmsodGV4dCwgZ3JvdXAubGFiZWwoKSwgdGhpcy5fc2hvd1Rl
c3RHcm91cC5iaW5kKHRoaXMsIGdyb3VwKSkpOworICAgIH0KKwogICAgIF9yZW5kZXJUZXN0R3Jv
dXBEZXRhaWxzKCkKICAgICB7CiAgICAgICAgIGlmICh0aGlzLl9yZW5kZXJlZEN1cnJlbnRUZXN0
R3JvdXAgIT09IHRoaXMuX2N1cnJlbnRUZXN0R3JvdXApIHsKQEAgLTMzMiw2ICszNjUsMTIgQEAg
Y2xhc3MgQW5hbHlzaXNUYXNrUGFnZSBleHRlbmRzIFBhZ2VXaXRoSAogICAgICAgICAgICAgICAg
IHRoaXMuX3JldHJ5Rm9ybS5zZXRSZXBldGl0aW9uQ291bnQodGhpcy5fY3VycmVudFRlc3RHcm91
cC5yZXBldGl0aW9uQ291bnQoKSk7CiAgICAgICAgICAgICB0aGlzLl9yZXRyeUZvcm0uZWxlbWVu
dCgpLnN0eWxlLmRpc3BsYXkgPSB0aGlzLl9jdXJyZW50VGVzdEdyb3VwID8gbnVsbCA6ICdub25l
JzsKIAorICAgICAgICAgICAgdGhpcy5jb250ZW50KCkucXVlcnlTZWxlY3RvcignLnRlc3QtZ3Jv
dXAtaGlkZS1idXR0b24nKS50ZXh0Q29udGVudAorICAgICAgICAgICAgICAgID0gdGhpcy5fY3Vy
cmVudFRlc3RHcm91cCAmJiB0aGlzLl9jdXJyZW50VGVzdEdyb3VwLmlzSGlkZGVuKCkgPyAnVW5o
aWRlJyA6ICdIaWRlJzsKKworICAgICAgICAgICAgdGhpcy5jb250ZW50KCkucXVlcnlTZWxlY3Rv
cignLnBlbmRpbmctcmVxdWVzdC1jYW5jZWwtd2FybmluZycpLnN0eWxlLmRpc3BsYXkKKyAgICAg
ICAgICAgICAgICA9IHRoaXMuX2N1cnJlbnRUZXN0R3JvdXAgJiYgdGhpcy5fY3VycmVudFRlc3RH
cm91cC5oYXNQZW5kaW5nKCkgPyBudWxsIDogJ25vbmUnOworCiAgICAgICAgICAgICB0aGlzLl9y
ZW5kZXJlZEN1cnJlbnRUZXN0R3JvdXAgPSB0aGlzLl9jdXJyZW50VGVzdEdyb3VwOwogICAgICAg
ICB9CiAgICAgICAgIHRoaXMuX3JldHJ5Rm9ybS5yZW5kZXIoKTsKQEAgLTM3Myw3ICs0MTIsMjEg
QEAgY2xhc3MgQW5hbHlzaXNUYXNrUGFnZSBleHRlbmRzIFBhZ2VXaXRoSAogICAgICAgICAgICAg
c2VsZi5yZW5kZXIoKTsKICAgICAgICAgfSwgZnVuY3Rpb24gKGVycm9yKSB7CiAgICAgICAgICAg
ICBzZWxmLnJlbmRlcigpOwotICAgICAgICAgICAgYWxlcnQoJ0ZhaWxlZCB0byB1cGRhdGUgdGhl
IG5hbWU6ICcgKyBlcnJvcik7CisgICAgICAgICAgICBhbGVydCgnRmFpbGVkIHRvIGhpZGUgdGhl
IHRlc3QgbmFtZTogJyArIGVycm9yKTsKKyAgICAgICAgfSk7CisgICAgfQorCisgICAgX2hpZGVD
dXJyZW50VGVzdEdyb3VwKCkKKyAgICB7CisgICAgICAgIHZhciBzZWxmID0gdGhpczsKKyAgICAg
ICAgY29uc29sZS5hc3NlcnQodGhpcy5fY3VycmVudFRlc3RHcm91cCk7CisgICAgICAgIHJldHVy
biB0aGlzLl9jdXJyZW50VGVzdEdyb3VwLnVwZGF0ZUhpZGRlbkZsYWcoIXRoaXMuX2N1cnJlbnRU
ZXN0R3JvdXAuaXNIaWRkZW4oKSkudGhlbihmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICBzZWxm
Ll9kaWRVcGRhdGVUZXN0R3JvdXBIaWRkZW5TdGF0ZSgpOworICAgICAgICAgICAgc2VsZi5yZW5k
ZXIoKTsKKyAgICAgICAgfSwgZnVuY3Rpb24gKGVycm9yKSB7CisgICAgICAgICAgICBzZWxmLl9t
YXlIYXZlTXV0YXRlZFRlc3RHcm91cEhpZGRlblN0YXRlKCk7CisgICAgICAgICAgICBzZWxmLnJl
bmRlcigpOworICAgICAgICAgICAgYWxlcnQoJ0ZhaWxlZCB0byB1cGRhdGUgdGhlIGdyb3VwOiAn
ICsgZXJyb3IpOwogICAgICAgICB9KTsKICAgICB9CiAKQEAgLTU2OSw2ICs2MjIsOCBAQCBjbGFz
cyBBbmFseXNpc1Rhc2tQYWdlIGV4dGVuZHMgUGFnZVdpdGhICiAgICAgICAgICAgICAgICAgICAg
IDxkaXYgY2xhc3M9InRlc3QtZ3JvdXAtZGV0YWlscyI+CiAgICAgICAgICAgICAgICAgICAgICAg
ICA8dGVzdC1ncm91cC1yZXN1bHRzLXRhYmxlPjwvdGVzdC1ncm91cC1yZXN1bHRzLXRhYmxlPgog
ICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGVzdC1ncm91cC1yZXRyeS1mb3Jt
Ij48dGVzdC1ncm91cC1mb3JtPjwvdGVzdC1ncm91cC1mb3JtPjwvZGl2PgorICAgICAgICAgICAg
ICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idGVzdC1ncm91cC1oaWRlLWJ1dHRvbiI+SGlkZTwv
YnV0dG9uPgorICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBlbmRpbmctcmVx
dWVzdC1jYW5jZWwtd2FybmluZyI+KGNhbmNlbHMgcGVuZGluZyByZXF1ZXN0cyk8L3NwYW4+CiAg
ICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAg
ICAgICAgICAgIDwvZGl2PgpAQCAtNjkwLDYgKzc0NSwxMCBAQCBjbGFzcyBBbmFseXNpc1Rhc2tQ
YWdlIGV4dGVuZHMgUGFnZVdpdGhICiAgICAgICAgICAgICAgICAgbWFyZ2luOiAwLjVyZW07CiAg
ICAgICAgICAgICB9CiAKKyAgICAgICAgICAgIC50ZXN0LWdyb3VwLWhpZGUtYnV0dG9uIHsKKyAg
ICAgICAgICAgICAgICBtYXJnaW46IDAuNXJlbTsKKyAgICAgICAgICAgIH0KKwogICAgICAgICAg
ICAgLnRlc3QtZ3JvdXAtbGlzdCB7CiAgICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2Vs
bDsKICAgICAgICAgICAgICAgICBtYXJnaW46IDA7CkBAIC02OTcsNiArNzU2LDcgQEAgY2xhc3Mg
QW5hbHlzaXNUYXNrUGFnZSBleHRlbmRzIFBhZ2VXaXRoSAogICAgICAgICAgICAgICAgIGxpc3Qt
c3R5bGU6IG5vbmU7CiAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggI2Nj
YzsKICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOworICAgICAgICAgICAgICAg
IG1pbi13aWR0aDogOHJlbTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgLnRlc3QtZ3Jv
dXAtbGlzdDplbXB0eSB7CkBAIC03MDcsMTYgKzc2NywyOCBAQCBjbGFzcyBBbmFseXNpc1Rhc2tQ
YWdlIGV4dGVuZHMgUGFnZVdpdGhICiAKICAgICAgICAgICAgIC50ZXN0LWdyb3VwLWxpc3QgPiBs
aSB7CiAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7CisgICAgICAgICAgICAgICAgZm9u
dC1zaXplOiAwLjlyZW07CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIC50ZXN0LWdyb3Vw
LWxpc3QgPiBsaSA+IGEgewogICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAg
ICAgICAgICAgIGNvbG9yOiBpbmhlcml0OwogICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlv
bjogbm9uZTsKLSAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOXJlbTsKICAgICAgICAgICAg
ICAgICBtYXJnaW46IDA7CiAgICAgICAgICAgICAgICAgcGFkZGluZzogMC4ycmVtOwogICAgICAg
ICAgICAgfQorICAgICAgICAgICAgCisgICAgICAgICAgICAudGVzdC1ncm91cC1saXN0ID4gbGku
dGVzdC1ncm91cC1saXN0LXNob3ctYWxsIHsKKyAgICAgICAgICAgICAgICBmb250LXNpemU6IDAu
OHJlbTsKKyAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjVyZW07CisgICAgICAgICAgICAg
ICAgcGFkZGluZy1yaWdodDogMXJlbTsKKyAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50
ZXI7CisgICAgICAgICAgICAgICAgY29sb3I6ICM5OTk7CisgICAgICAgICAgICB9CisKKyAgICAg
ICAgICAgIC50ZXN0LWdyb3VwLWxpc3QgPiBsaS50ZXN0LWdyb3VwLWxpc3Qtc2hvdy1hbGw6bm90
KC5zZWxlY3RlZCkgYTpob3ZlciB7CisgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogaW5oZXJp
dDsKKyAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgLnRlc3QtZ3JvdXAtbGlzdCA+IGxpLnNl
bGVjdGVkID4gYSB7CiAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyMDQsIDE1Mywg
NTEsIDAuMSk7Cg==
</data>
<flag name="review"
          id="296552"
          type_id="1"
          status="+"
          setter="cdumez"
    />
          </attachment>
      

    </bug>

</bugzilla>