<?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>71618</bug_id>
          
          <creation_ts>2011-11-05 18:06:00 -0700</creation_ts>
          <short_desc>bencher script should support remote benchmarking</short_desc>
          <delta_ts>2011-11-10 15:47:53 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>496751</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-11-05 18:06:00 -0700</bug_when>
    <thetext>Currently, when you do a long benchmarking run with bencher, you have to either wait or go use another machine until after bencher finishes, to ensure that performance is unperturbed.  Also, if you want to do benchmarking on multiple types of hardware to reduce systematics, you have to move your builds around manually and manually invoke bencher multiple times on multiple machines.  Bencher should be able to do a remote benchmarking run (complete with moving your builds for you) automatically.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496760</commentid>
    <comment_count>1</comment_count>
      <attachid>113774</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-11-05 18:20:37 -0700</bug_when>
    <thetext>Created attachment 113774
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500349</commentid>
    <comment_count>2</comment_count>
      <attachid>113774</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-11-10 15:37:26 -0800</bug_when>
    <thetext>Comment on attachment 113774
the patch

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500360</commentid>
    <comment_count>3</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-11-10 15:47:53 -0800</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/99909</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113774</attachid>
            <date>2011-11-05 18:20:37 -0700</date>
            <delta_ts>2011-11-10 15:37:26 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>remotebencher_patch_1.diff</filename>
            <type>text/plain</type>
            <size>20138</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDk5MzY1KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMzcgQEAKKzIwMTEtMTEtMDUgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KKwor
ICAgICAgICBiZW5jaGVyIHNjcmlwdCBzaG91bGQgc3VwcG9ydCByZW1vdGUgYmVuY2htYXJraW5n
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTYxOAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAg
QWRkZWQgdGhlIGZvbGxvd2luZyBmZWF0dXJlczoKKyAgICAgICAgCisgICAgICAgIC0gQmVuY2ht
YXJrIHJlcG9ydCB0ZWxscyB5b3UgdGhlIGhvc3RuYW1lIGFuZCBtYWNoaW5lIG1vZGVsIChhY2Nv
cmRpbmcgdG8KKyAgICAgICAgICAnc3lzY3RsIGh3Lm1vZGVsJykgb2YgdGhlIG1hY2hpbmUgeW91
IGRpZCB0aGUgcnVuIG9uLCBhbmQgc3ZuIHJldmlzaW9uIG51bWJlcgorICAgICAgICAgIChhY2Nv
cmRpbmcgdG8gJ3N2biBpbmZvJykgb2YgdGhlIFZNcyB5b3UncmUgdGVzdGluZy4KKyAgICAgICAg
CisgICAgICAgIC0gVGhlIC0tcmVtb3RlIG9wdGlvbi4gWW91IGdpdmUgdGhpcyBhbiBzc2gtc3R5
bGUgaG9zdG5hbWUgKGkuZS4gdXNlckBob3N0IGlzCisgICAgICAgICAgYWNjZXB0YWJsZSwgaW4g
YWRkaXRpb24gdG8ganVzdCBob3N0LCBpbiB3aGljaCBjYXNlIHlvdXIgdXNlcm5hbWUgaXMgdXNl
ZCkKKyAgICAgICAgICBhbmQgaXQgYXV0b21hdGljYWxseSBwYWNrYWdlcyB0aGUgYnVpbGQgZGly
ZWN0b3JpZXMgb2YgdGhlIFZNcyB5b3UncmUgdGVzdGluZywKKyAgICAgICAgICBzZW5kcyB0aGVt
IHRvIHRoZSByZW1vdGUgbWFjaGluZSBhbG9uZyB3aXRoIHlvdXIgY29weSBvZiB0aGUgYmVuY2hl
ciBzY3JpcHQKKyAgICAgICAgICBhbmQgYWxsIG9mIHRoZSBvcHRpb25zIHlvdSBwYXNzZWQuICBU
aGlzIHByZXR0eSBtdWNoIHNlYW1sZXNzbHkgYWxsb3dzIHlvdQorICAgICAgICAgIHRvIHJ1biBh
IHNldCBvZiBiZW5jaG1hcmtzIG9uIGFueSBtYWNoaW5lIHRoYXQgaXMgc3VmZmljaWVudGx5IGNv
bXBhdGlibGUgd2l0aAorICAgICAgICAgIHlvdXJzIChpLmUuIHNpbWlsYXIgT1MpIGFuZCB0aGF0
IGhhcyB0aGUgYXBwcm9wcmlhdGUgfi8uYmVuY2hlciBmaWxlLCB3aGljaAorICAgICAgICAgIG11
c3Qgbm93IGluY2x1ZGUgYSB0ZW1wUGF0aCBzZXR0aW5nIHRoYXQgdGVsbHMgYmVuY2hlciB3aGVy
ZSB0byBwdXQgZmlsZXMKKyAgICAgICAgICB3aGVuIHRoYXQgbWFjaGluZSBpcyB1c2VkIGFzIGEg
c2xhdmUgaW4gYSByZW1vdGUgYmVuY2htYXJraW5nIHJ1bi4KKyAgICAgICAgICAKKyAgICAgICAg
LSBBZGRlZCB5ZXQgYW5vdGhlciB3YXkgb2Ygc3BlY2lmeWluZyB3aGljaCBiZW5jaG1hcmtzIHRv
IHJ1bi4gVGhpcyB3YXMgc29ydCBvZgorICAgICAgICAgIG5lY2Vzc2FyeSBmb3IgLS1yZW1vdGUg
dG8gd29yayBhcyBleHBlY3RlZC4gUHJldmlvdXNseSwgeW91IGVpdGhlciBzYWlkIHdoYXQKKyAg
ICAgICAgICBzdWl0ZXMgdG8gZXhjbHVkZSAoZm9yIGV4YW1wbGUgLS1leGNsdWRlLXN1bnNwaWRl
cikgb3IgdGhhdCB5b3Ugb25seSB3YW50ZWQKKyAgICAgICAgICB0byBydW4gb25lIHN1aXRlIHRv
IHRoZSBleGNsdXNpb24gb2Ygb3RoZXJzICgtLXN1bnNwaWRlci1vbmx5KS4gQnV0IGl0J3MKKyAg
ICAgICAgICBvZnRlbiBiZXR0ZXIgdG8ganVzdCBiZSBhYmxlIHRvIHNwZWNpZnkgdGhlIGxpc3Qg
b2Ygc3VpdGVzIHlvdSB3YW50LiBUaGlzIGlzCisgICAgICAgICAgbm93IHN1cHBvcnRlZC4gWW91
IGNhbiBzYXksIGZvciBleGFtcGxlLCAtLXY4IC0tc3Vuc3BpZGVyLCB3aGljaCBtZWFucywganVz
dAorICAgICAgICAgIHJ1biBWOCBhbmQgU3VuU3BpZGVyLiBUaGlzIGlzIGVxdWl2YWxlbnQgdG8g
c2F5aW5nIC0tZXhjbHVkZS1rcmFrZW4sIHdoaWNoIGlzCisgICAgICAgICAgc3RpbGwgc3VwcG9y
dGVkLgorCisgICAgICAgICogU2NyaXB0cy9iZW5jaGVyOgorCiAyMDExLTExLTA0ICBFcmljIFNl
aWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KIAogICAgICAgICBVcGdyYWRlIHRvIHRoZSBsYXRlc3Qg
TWVjaGFuaXplCkluZGV4OiBUb29scy9TY3JpcHRzL2JlbmNoZXIKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9v
bHMvU2NyaXB0cy9iZW5jaGVyCShyZXZpc2lvbiA5OTEzOSkKKysrIFRvb2xzL1NjcmlwdHMvYmVu
Y2hlcgkod29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQCByZXF1aXJlICdydWJ5Z2VtcycK
IHJlcXVpcmUgJ2dldG9wdGxvbmcnCiByZXF1aXJlICdwYXRobmFtZScKIHJlcXVpcmUgJ3RlbXBm
aWxlJworcmVxdWlyZSAnc29ja2V0JwogCiBiZWdpbgogICByZXF1aXJlICdqc29uJwpAQCAtNDIs
OSArNDMsMTUgQEAgQ09ORklHVVJBVElPTl9GTE5NID0gRU5WWyJIT01FIl0rIi8uYmVuYwogCiB1
bmxlc3MgRmlsZVRlc3QuZXhpc3Q/IENPTkZJR1VSQVRJT05fRkxOTQogICAkc3RkZXJyLnB1dHMg
IkVycm9yOiBubyBjb25maWd1cmF0aW9uIGZpbGUgYXQgfi8uYmVuY2hlci4iCi0gICRzdGRlcnIu
cHV0cyAiVGhpcyBmaWxlIHNob3VsZCBjb250YWluIHBhdGhzIHRvIFN1blNwaWRlciwgVjgsIGFu
ZCBLcmFrZW4sIGluIEpTT04iCi0gICRzdGRlcnIucHV0cyAiZm9ybWF0LiAgRm9yIGV4YW1wbGU6
IgotICAkc3RkZXJyLnB1dHMgInsgXCJzdW5TcGlkZXJQYXRoXCI6IFwiL1ZvbHVtZXMvRGF0YS9w
aXpsby9PcGVuU291cmNlL1BlcmZvcm1hbmNlVGVzdHMvU3VuU3BpZGVyL3Rlc3RzL3N1bnNwaWRl
ci0xLjBcIiwgXCJ2OFBhdGhcIjogXCIvVm9sdW1lcy9EYXRhL3BpemxvL09wZW5Tb3VyY2UvUGVy
Zm9ybWFuY2VUZXN0cy9TdW5TcGlkZXIvdGVzdHMvdjgtdjZcIiwgXCJrcmFrZW5QYXRoXCI6IFwi
L1ZvbHVtZXMvRGF0YS9waXpsby9rcmFrZW4va3Jha2VuLWUxMTk0MjFjYjMyNS90ZXN0cy9rcmFr
ZW4tMS4xXCIgfSIKKyAgJHN0ZGVyci5wdXRzICJUaGlzIGZpbGUgc2hvdWxkIGNvbnRhaW4gcGF0
aHMgdG8gU3VuU3BpZGVyLCBWOCwgYW5kIEtyYWtlbiwgYXMgd2VsbCBhcyBhIgorICAkc3RkZXJy
LnB1dHMgInRlbXBvcmFyeSBkaXJlY3RvcnkgdGhhdCBiZW5jaGVyIGNhbiB1c2UgZm9yIGl0cyBy
ZW1vdGUgbW9kZS4gSXQgc2hvdWxkIGJlIgorICAkc3RkZXJyLnB1dHMgImZvcm1hdHRlZCBpbiBK
U09OLiAgRm9yIGV4YW1wbGU6IgorICAkc3RkZXJyLnB1dHMgInsiCisgICRzdGRlcnIucHV0cyAi
ICAgIFwic3VuU3BpZGVyUGF0aFwiOiBcIi9Wb2x1bWVzL0RhdGEvcGl6bG8vT3BlblNvdXJjZS9Q
ZXJmb3JtYW5jZVRlc3RzL1N1blNwaWRlci90ZXN0cy9zdW5zcGlkZXItMS4wXCIsIgorICAkc3Rk
ZXJyLnB1dHMgIiAgICBcInY4UGF0aFwiOiBcIi9Wb2x1bWVzL0RhdGEvcGl6bG8vT3BlblNvdXJj
ZS9QZXJmb3JtYW5jZVRlc3RzL1N1blNwaWRlci90ZXN0cy92OC12NlwiLCIKKyAgJHN0ZGVyci5w
dXRzICIgICAgXCJrcmFrZW5QYXRoXCI6IFwiL1ZvbHVtZXMvRGF0YS9waXpsby9rcmFrZW4va3Jh
a2VuLWUxMTk0MjFjYjMyNS90ZXN0cy9rcmFrZW4tMS4xXCIsIgorICAkc3RkZXJyLnB1dHMgIiAg
ICBcInRlbXBQYXRoXCI6IFwiL1ZvbHVtZXMvRGF0YS9waXpsby9iZW5jaGVyL3RlbXBcIiIKKyAg
JHN0ZGVyci5wdXRzICJ9IgogICBleGl0IDEKIGVuZAogCkBAIC01Myw2ICs2MCw3IEBAIENPTkZJ
R1VSQVRJT04gPSBKU09OLnBhcnNlKEZpbGU6OnJlYWQoQ08KIFNVTlNQSURFUl9QQVRIID0gQ09O
RklHVVJBVElPTlsic3VuU3BpZGVyUGF0aCJdCiBWOF9QQVRIID0gQ09ORklHVVJBVElPTlsidjhQ
YXRoIl0KIEtSQUtFTl9QQVRIID0gQ09ORklHVVJBVElPTlsia3Jha2VuUGF0aCJdCitURU1QX1BB
VEggPSBDT05GSUdVUkFUSU9OWyJ0ZW1wUGF0aCJdCiAKIElCUl9MT09LVVA9WzAuMDA2MTU1ODMs
IDAuMDk3NSwgMC4yMjg1MiwgMC4zNDE2MjgsIDAuNDMwNzQxLCAwLjUwMDUyNiwgMC41NTU5MzMs
IAogICAgICAgICAgICAgMC42MDA3MDYsIDAuNjM3NTEzLCAwLjY2ODI0NCwgMC42OTQyNTQsIDAu
NzE2NTM3LCAwLjczNTgyNywgMC43NTI2ODQsIApAQCAtMjEzLDYgKzIyMSwxMSBAQCAkdGltZU1v
ZGU9OmF1dG8KICRrZWVwRmlsZXM9ZmFsc2UKICRmb3JjZVZNS2luZD1uaWwKICRicmllZj1mYWxz
ZQorJHNpbGVudD1mYWxzZQorJHJlbW90ZUhvc3RzPVtdCiskc3NoT3B0aW9ucz1bXQorJHNsYXZl
PWZhbHNlCiskdm1zID0gW10KIAogIyBIZWxwZnVsIGZ1bmN0aW9ucyBhbmQgY2xhc3NlcwogCkBA
IC0yNDMsNyArMjU2LDcgQEAgZGVmIHVzYWdlCiAgIHB1dHMgInRoZSBleGVjdXRhYmxlIGFuZCA8
bmFtZT4gaXMgdGhlIG5hbWUgdGhhdCB5b3Ugd291bGQgbGlrZSB0byBnaXZlIHRoZSIKICAgcHV0
cyAiY29uZmlndXJhdGlvbiBmb3IgdGhlIHB1cnBvc2VvZiByZXBvcnRpbmcuICBJZiBubyBuYW1l
IGlzIGdpdmVuLCBhIGdlbmVyaWMgbmFtZSIKICAgcHV0cyAib2YgdGhlIGZvcm0gQ29uZiM8bj4g
d2lsbCBiZSBhc2NyaWJlZCB0byB0aGUgY29uZmlndXJhdGlvbiBhdXRvbWF0aWNhbGx5LiIKLSAg
cHV0cyAKKyAgcHV0cwogICBwdXRzICJPcHRpb25zOiIKICAgcHV0cyAiLS1yZXJ1biA8bj4gICAg
ICAgICAgU2V0IHRoZSBudW1iZXIgb2YgaXRlcmF0aW9ucyBvZiB0aGUgYmVuY2htYXJrIHRoYXQi
CiAgIHB1dHMgIiAgICAgICAgICAgICAgICAgICAgIGNvbnRyaWJ1dGUgdG8gdGhlIG1lYXN1cmVk
IHJ1biB0aW1lLiAgRGVmYXVsdCBpcyAjeyRyZXJ1bn0uIgpAQCAtMjczLDYgKzI4NiwxNiBAQCBk
ZWYgdXNhZ2UKICAgcHV0cyAiLS1rZWVwLWZpbGVzICAgICAgICAgS2VlcCB0ZW1wb3JhcnkgZmls
ZXMuICBVc2VmdWwgZm9yIGRlYnVnZ2luZy4iCiAgIHB1dHMgIi0tdmVyYm9zZSBvciAtdiAgICAg
IFByaW50IG1vcmUgc3R1ZmYuIgogICBwdXRzICItLWJyaWVmICAgICAgICAgICAgICBQcmludCBv
bmx5IHRoZSBmaW5hbCByZXN1bHQgZm9yIGVhY2ggVk0uIgorICBwdXRzICItLXNpbGVudCAgICAg
ICAgICAgICBEb24ndCBwcmludCBwcm9ncmVzcy4gVGhpcyBtaWdodCBzbGlnaHRseSByZWR1Y2Ug
c29tZSIKKyAgcHV0cyAiICAgICAgICAgICAgICAgICAgICAgcGVyZm9ybWFuY2UgcGVydHVyYmF0
aW9uLiIKKyAgcHV0cyAiLS1yZW1vdGUgPHNzaGhvc3RzPiAgUGVyZm9ybWFuY2UgcGVyZm9ybWFu
Y2UgbWVhc3VyZW1lbnRzIHJlbW90ZWx5LCBvbiB0aGUgZ2l2ZW4iCisgIHB1dHMgIiAgICAgICAg
ICAgICAgICAgICAgIFNTSCBob3N0KHMpLiBFYXNpZXN0IHdheSB0byB1c2UgdGhpcyBpcyB0byBz
cGVjaWZ5IHRoZSBTU0giCisgIHB1dHMgIiAgICAgICAgICAgICAgICAgICAgIHVzZXJAaG9zdCBz
dHJpbmcuIEhvd2V2ZXIsIHlvdSBjYW4gYWxzbyBzdXBwbHkgYSBjb21tYS0iCisgIHB1dHMgIiAg
ICAgICAgICAgICAgICAgICAgIHNlcGFyYXRlZCBsaXN0IG9mIFNTSCBob3N0cy4gQWx0ZXJuYXRp
dmVseSwgeW91IGNhbiB1c2UgdGhpcyIKKyAgcHV0cyAiICAgICAgICAgICAgICAgICAgICAgb3B0
aW9uIG11bHRpcGxlIHRpbWVzIHRvIHNwZWNpZnkgbXVsdGlwbGUgaG9zdHMuIFRoaXMiCisgIHB1
dHMgIiAgICAgICAgICAgICAgICAgICAgIGF1dG9tYXRpY2FsbHkgY29waWVzIHRoZSBXZWJLaXQg
cmVsZWFzZSBidWlsZHMgb2YgdGhlIFZNcyIKKyAgcHV0cyAiICAgICAgICAgICAgICAgICAgICAg
eW91IHNwZWNpZmllZCB0byBhbGwgb2YgdGhlIGhvc3RzLiIKKyAgcHV0cyAiLS1zc2gtb3B0aW9u
cyAgICAgICAgUGFzcyBhZGRpdGlvbmFsIG9wdGlvbnMgdG8gU1NILiIKICAgcHV0cyAiLS1oZWxw
IG9yIC1oICAgICAgICAgRGlzcGxheSB0aGlzIG1lc3NhZ2UuIgogICBwdXRzCiAgIHB1dHMgIkV4
YW1wbGU6IgpAQCAtNTYxLDcgKzU4NCw3IEBAIGRlZiBiZW5jaFJ1bkhhcm5lc3Modm0sIGJlbmNo
cGF0aCkKICAgICBiZWdpbgogICAgICAgcmVzdWx0PXZtLnJ1bkFuZFJlcG9ydChmaWxlLnBhdGgp
CiAgICAgcmVzY3VlID0+IGUKLSAgICAgICRzdGRlcnIucHV0cyAiQ291bGQgbm90IHJ1biAje2Zp
bGUucGF0aH06IgorICAgICAgJHN0ZGVyci5wdXRzICJDb3VsZCBub3QgcnVuICN7ZmlsZS5wYXRo
fSBiZWNhdXNlICN7ZX06IgogICAgICAgRmlsZS5vcGVuKGZpbGUucGF0aCwiciIpIHsKICAgICAg
ICAgfCBpbnAgfAogICAgICAgICBpbnAuZWFjaF9saW5lIHsKQEAgLTcwMyw4ICs3MjYsOSBAQCBj
bGFzcyBTdGF0c0FjY3VtdWxhdG9yCiBlbmQKIAogY2xhc3MgVk0gPCBTdGF0c0FjY3VtdWxhdG9y
Ci0gIGRlZiBpbml0aWFsaXplKHBhdGgsIG5hbWUsIG5hbWVLaW5kKQorICBkZWYgaW5pdGlhbGl6
ZShvcmlnUGF0aCwgcGF0aCwgbmFtZSwgbmFtZUtpbmQsIHN2blJldmlzaW9uKQogICAgIHN1cGVy
KCkKKyAgICBAb3JpZ1BhdGggPSBvcmlnUGF0aAogICAgIEBwYXRoID0gcGF0aAogICAgIEBuYW1l
ID0gbmFtZQogICAgIEBuYW1lS2luZCA9IG5hbWVLaW5kCkBAIC03MzQsNiArNzU4LDM5IEBAIGNs
YXNzIFZNIDwgU3RhdHNBY2N1bXVsYXRvcgogICAgICAgICBlbmQKICAgICAgIH0KICAgICBlbmQK
KyAgICAKKyAgICBAc3ZuUmV2aXNpb24gPSBzdm5SZXZpc2lvbgorICAgIAorICAgIHVubGVzcyAk
c2xhdmUKKyAgICAgICMgVHJ5IHRvIGRldGVjdCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgVk0uCisg
ICAgICBpZiBwYXRoID1+IC9cL1dlYktpdEJ1aWxkXC9SZWxlYXNlXC8oW2EtekEtWl0rKSQvCisg
ICAgICAgIEBjaGVja291dFBhdGggPSAkfi5wcmVfbWF0Y2gKKyAgICAgICAgdW5sZXNzIEBzdm5S
ZXZpc2lvbgorICAgICAgICAgIGJlZ2luCisgICAgICAgICAgICBEaXIuY2hkaXIoQGNoZWNrb3V0
UGF0aCkgeworICAgICAgICAgICAgICAkc3RkZXJyLnB1dHMgIj4+IGNkICN7QGNoZWNrb3V0UGF0
aH0gJiYgc3ZuIGluZm8iIGlmICR2ZXJib3NpdHk+PTIKKyAgICAgICAgICAgICAgSU8ucG9wZW4o
InN2biBpbmZvIiwgInIiKSB7CisgICAgICAgICAgICAgICAgfCBpbnAgfAorICAgICAgICAgICAg
ICAgIGlucC5lYWNoX2xpbmUgeworICAgICAgICAgICAgICAgICAgfCBsaW5lIHwKKyAgICAgICAg
ICAgICAgICAgIGlmIGxpbmUgPX4gL1JldmlzaW9uOiAoWzAtOV0rKS8KKyAgICAgICAgICAgICAg
ICAgICAgQHN2blJldmlzaW9uID0gJDEKKyAgICAgICAgICAgICAgICAgIGVuZAorICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgdW5s
ZXNzIEBzdm5SZXZpc2lvbgorICAgICAgICAgICAgICAkc3RkZXJyLnB1dHMgIldhcm5pbmc6IHJ1
bm5pbmcgc3ZuIGluZm8gZm9yICN7bmFtZX0gc2lsZW50bHkgZmFpbGVkLiIKKyAgICAgICAgICAg
IGVuZAorICAgICAgICAgIHJlc2N1ZSA9PiBlCisgICAgICAgICAgICAjIEZhaWxlZCB0byBkZXRl
Y3Qgc3ZuIHJldmlzaW9uLgorICAgICAgICAgICAgJHN0ZGVyci5wdXRzICJXYXJuaW5nOiBjb3Vs
ZCBub3QgZ2V0IHN2biByZXZpc2lvbiBpbmZvcm1hdGlvbiBmb3IgI3tuYW1lfTogI3tlfSIKKyAg
ICAgICAgICBlbmQKKyAgICAgICAgZW5kCisgICAgICBlbHNlCisgICAgICAgICRzdGRlcnIucHV0
cyAiV2FybmluZzogY291bGQgbm90IGlkZW50aWZ5IGNoZWNrb3V0IGxvY2F0aW9uIGZvciAje25h
bWV9IgorICAgICAgZW5kCisgICAgZW5kCiAgIGVuZAogICAKICAgZGVmIHRvX3MKQEAgLTc0OCw2
ICs4MDUsMTAgQEAgY2xhc3MgVk0gPCBTdGF0c0FjY3VtdWxhdG9yCiAgICAgJG1lYXN1cmVHQyA9
PSB0cnVlIG9yICgkbWVhc3VyZUdDID09IG5hbWUpCiAgIGVuZAogICAKKyAgZGVmIG9yaWdQYXRo
CisgICAgQG9yaWdQYXRoCisgIGVuZAorICAKICAgZGVmIHBhdGgKICAgICBAcGF0aAogICBlbmQK
QEAgLTc2MCw2ICs4MjEsMTQgQEAgY2xhc3MgVk0gPCBTdGF0c0FjY3VtdWxhdG9yCiAgICAgQHZt
VHlwZQogICBlbmQKICAgCisgIGRlZiBjaGVja291dFBhdGgKKyAgICBAY2hlY2tvdXRQYXRoCisg
IGVuZAorICAKKyAgZGVmIHN2blJldmlzaW9uCisgICAgQHN2blJldmlzaW9uCisgIGVuZAorICAK
ICAgZGVmIHByaW50RnVuY3Rpb24KICAgICBjYXNlIEB2bVR5cGUKICAgICB3aGVuIDpqc2MKQEAg
LTc3NCw2ICs4NDMsMTUgQEAgY2xhc3MgVk0gPCBTdGF0c0FjY3VtdWxhdG9yCiAgIGRlZiBydW4o
ZmlsZW5hbWUpCiAgICAgY2FzZSBAdm1UeXBlCiAgICAgd2hlbiA6anNjCisgICAgICBpZiBAcGF0
aCA9fiAvXC9SZWxlYXNlXC8oW2EtekEtWl0rKSQvCisgICAgICAgIHJhaXNlIHVubGVzcyBAcGF0
aCA9fiAvXC8oW2EtekEtWl0rKSQvCisgICAgICAgIGxpYlBhdGggPSAkfi5wcmVfbWF0Y2gKKyAg
ICAgICAgRU5WWyJEWUxEX0xJQlJBUllfUEFUSCJdPWxpYlBhdGgKKyAgICAgICAgRU5WWyJEWUxE
X0ZSQU1FV09SS19QQVRIIl09bGliUGF0aAorICAgICAgZWxzZQorICAgICAgICBFTlZbIkRZTERf
TElCUkFSWV9QQVRIIl09IiIKKyAgICAgICAgRU5WWyJEWUxEX0ZSQU1FV09SS19QQVRIIl09IiIK
KyAgICAgIGVuZAogICAgICAgY21kID0gIiN7QHBhdGh9ICN7ZmlsZW5hbWV9IgogICAgICAgJHN0
ZGVyci5wdXRzICI+PiAje2NtZH0iIGlmICR2ZXJib3NpdHk+PTIKICAgICAgIElPLnBvcGVuKGNt
ZCwiciIpIHsKQEAgLTExNDMsMTcgKzEyMjEsMzEgQEAgZGVmIHN0YXRzVG9TdHIoc3RhdHMpCiBl
bmQKICAgCiBiZWdpbgorICAkc2F3QmVuY2hPcHRpb25zID0gZmFsc2UKKyAgCisgIGRlZiByZXNl
dEJlbmNoT3B0aW9uc0lmTmVjZXNzYXJ5CisgICAgdW5sZXNzICRzYXdCZW5jaE9wdGlvbnMKKyAg
ICAgICRpbmNsdWRlU3VuU3BpZGVyID0gZmFsc2UKKyAgICAgICRpbmNsdWRlVjggPSBmYWxzZQor
ICAgICAgJGluY2x1ZGVLcmFrZW4gPSBmYWxzZQorICAgICAgJHNhd0JlbmNoT3B0aW9ucyA9IHRy
dWUKKyAgICBlbmQKKyAgZW5kCisgIAogICBHZXRvcHRMb25nLm5ldyhbJy0tcmVydW4nLCBHZXRv
cHRMb25nOjpSRVFVSVJFRF9BUkdVTUVOVF0sCiAgICAgICAgICAgICAgICAgIFsnLS1pbm5lcics
IEdldG9wdExvbmc6OlJFUVVJUkVEX0FSR1VNRU5UXSwKICAgICAgICAgICAgICAgICAgWyctLW91
dGVyJywgR2V0b3B0TG9uZzo6UkVRVUlSRURfQVJHVU1FTlRdLAogICAgICAgICAgICAgICAgICBb
Jy0td2FybXVwJywgR2V0b3B0TG9uZzo6UkVRVUlSRURfQVJHVU1FTlRdLAotICAgICAgICAgICAg
ICAgICBbJy0tdGltZS1tb2RlJywgR2V0b3B0TG9uZzo6UkVRVUlSRURfQVJHVU1FTlRdLAorICAg
ICAgICAgICAgICAgICBbJy0tdGltaW5nLW1vZGUnLCBHZXRvcHRMb25nOjpSRVFVSVJFRF9BUkdV
TUVOVF0sCiAgICAgICAgICAgICAgICAgIFsnLS1zdW5zcGlkZXItb25seScsIEdldG9wdExvbmc6
Ok5PX0FSR1VNRU5UXSwKICAgICAgICAgICAgICAgICAgWyctLXY4LW9ubHknLCBHZXRvcHRMb25n
OjpOT19BUkdVTUVOVF0sCiAgICAgICAgICAgICAgICAgIFsnLS1rcmFrZW4tb25seScsIEdldG9w
dExvbmc6Ok5PX0FSR1VNRU5UXSwKICAgICAgICAgICAgICAgICAgWyctLWV4Y2x1ZGUtc3Vuc3Bp
ZGVyJywgR2V0b3B0TG9uZzo6Tk9fQVJHVU1FTlRdLAogICAgICAgICAgICAgICAgICBbJy0tZXhj
bHVkZS12OCcsIEdldG9wdExvbmc6Ok5PX0FSR1VNRU5UXSwKICAgICAgICAgICAgICAgICAgWyct
LWV4Y2x1ZGUta3Jha2VuJywgR2V0b3B0TG9uZzo6Tk9fQVJHVU1FTlRdLAorICAgICAgICAgICAg
ICAgICBbJy0tc3Vuc3BpZGVyJywgR2V0b3B0TG9uZzo6Tk9fQVJHVU1FTlRdLAorICAgICAgICAg
ICAgICAgICBbJy0tdjgnLCBHZXRvcHRMb25nOjpOT19BUkdVTUVOVF0sCisgICAgICAgICAgICAg
ICAgIFsnLS1rcmFrZW4nLCBHZXRvcHRMb25nOjpOT19BUkdVTUVOVF0sCiAgICAgICAgICAgICAg
ICAgIFsnLS1iZW5jaG1hcmtzJywgR2V0b3B0TG9uZzo6UkVRVUlSRURfQVJHVU1FTlRdLAogICAg
ICAgICAgICAgICAgICBbJy0tbWVhc3VyZS1nYycsIEdldG9wdExvbmc6Ok9QVElPTkFMX0FSR1VN
RU5UXSwKICAgICAgICAgICAgICAgICAgWyctLWZvcmNlLXZtLWtpbmQnLCBHZXRvcHRMb25nOjpS
RVFVSVJFRF9BUkdVTUVOVF0sCkBAIC0xMTYxLDYgKzEyNTMsMTEgQEAgYmVnaW4KICAgICAgICAg
ICAgICAgICAgWyctLWtlZXAtZmlsZXMnLCBHZXRvcHRMb25nOjpOT19BUkdVTUVOVF0sCiAgICAg
ICAgICAgICAgICAgIFsnLS12ZXJib3NlJywgJy12JywgR2V0b3B0TG9uZzo6Tk9fQVJHVU1FTlRd
LAogICAgICAgICAgICAgICAgICBbJy0tYnJpZWYnLCBHZXRvcHRMb25nOjpOT19BUkdVTUVOVF0s
CisgICAgICAgICAgICAgICAgIFsnLS1zaWxlbnQnLCBHZXRvcHRMb25nOjpOT19BUkdVTUVOVF0s
CisgICAgICAgICAgICAgICAgIFsnLS1yZW1vdGUnLCBHZXRvcHRMb25nOjpSRVFVSVJFRF9BUkdV
TUVOVF0sCisgICAgICAgICAgICAgICAgIFsnLS1zc2gtb3B0aW9ucycsIEdldG9wdExvbmc6OlJF
UVVJUkVEX0FSR1VNRU5UXSwKKyAgICAgICAgICAgICAgICAgWyctLXNsYXZlJywgR2V0b3B0TG9u
Zzo6Tk9fQVJHVU1FTlRdLAorICAgICAgICAgICAgICAgICBbJy0tdm1zJywgR2V0b3B0TG9uZzo6
UkVRVUlSRURfQVJHVU1FTlRdLAogICAgICAgICAgICAgICAgICBbJy0taGVscCcsICctaCcsIEdl
dG9wdExvbmc6Ok5PX0FSR1VNRU5UXSkuZWFjaCB7CiAgICAgfCBvcHQsIGFyZyB8CiAgICAgY2Fz
ZSBvcHQKQEAgLTExNzIsNyArMTI2OSw3IEBAIGJlZ2luCiAgICAgICAkb3V0ZXIgPSBpbnRBcmco
b3B0LGFyZywxLG5pbCkKICAgICB3aGVuICctLXdhcm11cCcKICAgICAgICR3YXJtdXAgPSBpbnRB
cmcob3B0LGFyZywwLG5pbCkKLSAgICB3aGVuICctLXRpbWUtbW9kZScKKyAgICB3aGVuICctLXRp
bWluZy1tb2RlJwogICAgICAgaWYgYXJnLnVwY2FzZSA9PSAiUFJFQ0lTRVRJTUUiCiAgICAgICAg
ICR0aW1lTW9kZSA9IDpwcmVjaXNlVGltZQogICAgICAgZWxzaWYgYXJnLnVwY2FzZSA9PSAiREFU
RSIKQEAgLTEyMDksNiArMTMwNiwxNSBAQCBiZWdpbgogICAgICAgJGluY2x1ZGVWOCA9IGZhbHNl
CiAgICAgd2hlbiAnLS1leGNsdWRlLWtyYWtlbicKICAgICAgICRpbmNsdWRlS3Jha2VuID0gZmFs
c2UKKyAgICB3aGVuICctLXN1bnNwaWRlcicKKyAgICAgIHJlc2V0QmVuY2hPcHRpb25zSWZOZWNl
c3NhcnkKKyAgICAgICRpbmNsdWRlU3VuU3BpZGVyID0gdHJ1ZQorICAgIHdoZW4gJy0tdjgnCisg
ICAgICByZXNldEJlbmNoT3B0aW9uc0lmTmVjZXNzYXJ5CisgICAgICAkaW5jbHVkZVY4ID0gdHJ1
ZQorICAgIHdoZW4gJy0ta3Jha2VuJworICAgICAgcmVzZXRCZW5jaE9wdGlvbnNJZk5lY2Vzc2Fy
eQorICAgICAgJGluY2x1ZGVLcmFrZW4gPSB0cnVlCiAgICAgd2hlbiAnLS1iZW5jaG1hcmtzJwog
ICAgICAgJGJlbmNobWFya1BhdHRlcm4gPSBSZWdleHAubmV3KGFyZykKICAgICB3aGVuICctLW1l
YXN1cmUtZ2MnCkBAIC0xMjI1LDYgKzEzMzEsMjMgQEAgYmVnaW4KICAgICAgICR2ZXJib3NpdHkg
Kz0gMQogICAgIHdoZW4gJy0tYnJpZWYnCiAgICAgICAkYnJpZWYgPSB0cnVlCisgICAgd2hlbiAn
LS1zaWxlbnQnCisgICAgICAkc2lsZW50ID0gdHJ1ZQorICAgIHdoZW4gJy0tcmVtb3RlJworICAg
ICAgJHJlbW90ZUhvc3RzICs9IGFyZy5zcGxpdCgnLCcpCisgICAgd2hlbiAnLS1zc2gtb3B0aW9u
cycKKyAgICAgICRzc2hPcHRpb25zIDw8IGFyZworICAgIHdoZW4gJy0tc2xhdmUnCisgICAgICAk
c2xhdmUgPSB0cnVlCisgICAgd2hlbiAnLS12bXMnCisgICAgICBKU09OLnBhcnNlKEZpbGU6OnJl
YWQoYXJnKSkuZWFjaCB7CisgICAgICAgIHwgdm1EZXNjcmlwdG9yIHwKKyAgICAgICAgJHZtcyA8
PCBWTS5uZXcodm1EZXNjcmlwdG9yWyJvcmlnUGF0aCJdLAorICAgICAgICAgICAgICAgICAgICAg
ICB2bURlc2NyaXB0b3JbInBhdGgiXSwKKyAgICAgICAgICAgICAgICAgICAgICAgdm1EZXNjcmlw
dG9yWyJuYW1lIl0sCisgICAgICAgICAgICAgICAgICAgICAgIHZtRGVzY3JpcHRvclsibmFtZUtp
bmQiXS50b19zeW0sCisgICAgICAgICAgICAgICAgICAgICAgIHZtRGVzY3JpcHRvclsic3ZuUmV2
aXNpb24iXSkKKyAgICAgIH0KICAgICB3aGVuICctLWhlbHAnCiAgICAgICB1c2FnZQogICAgIGVs
c2UKQEAgLTEyMzIsMTEgKzEzNTUsNiBAQCBiZWdpbgogICAgIGVuZAogICB9CiAgIAotICBpZiBB
UkdWLmVtcHR5PwotICAgIHF1aWNrRmFpbCgiUGxlYXNlIHNwZWNpZnkgYXQgbGVhc3Qgb24gY29u
ZmlndXJhaXRvbiBvbiB0aGUgY29tbWFuZCBsaW5lLiIsCi0gICAgICAgICAgICAgICJJbnN1ZmZp
Y2llbnQgYXJndW1lbnRzIikKLSAgZW5kCi0gIAogICBTVU5TUElERVIgPSBCZW5jaG1hcmtTdWl0
ZS5uZXcoIlN1blNwaWRlciIsIFNVTlNQSURFUl9QQVRILCA6YXJpdGhtZXRpY01lYW4pCiAgIFsi
M2QtY3ViZSIsICIzZC1tb3JwaCIsICIzZC1yYXl0cmFjZSIsICJhY2Nlc3MtYmluYXJ5LXRyZWVz
IiwKICAgICJhY2Nlc3MtZmFubmt1Y2giLCAiYWNjZXNzLW5ib2R5IiwgImFjY2Vzcy1uc2lldmUi
LApAQCAtMTI2OCw4ICsxMzg2LDYgQEAgYmVnaW4KICAgICBLUkFLRU4uYWRkIEtyYWtlbkJlbmNo
bWFyay5uZXcobmFtZSkKICAgfQogCi0gICR2bXMgPSBbXQotICAKICAgQVJHVi5lYWNoIHsKICAg
ICB8IHZtIHwKICAgICBpZiB2bSA9fiAvKFthLXpBLVowLTlfIF0rKTovCkBAIC0xMjgxLDkgKzEz
OTcsMTQgQEAgYmVnaW4KICAgICAgIG5hbWVLaW5kID0gOmF1dG8KICAgICBlbmQKICAgICAkc3Rk
ZXJyLnB1dHMgIiN7bmFtZX06ICN7dm19IiBpZiAkdmVyYm9zaXR5ID49IDEKLSAgICAkdm1zIDw8
IFZNLm5ldyh2bSwgbmFtZSwgbmFtZUtpbmQpCisgICAgJHZtcyA8PCBWTS5uZXcoUGF0aG5hbWUu
bmV3KHZtKS5yZWFscGF0aCwgdm0sIG5hbWUsIG5hbWVLaW5kLCBuaWwpCiAgIH0KICAgCisgIGlm
ICR2bXMuZW1wdHk/CisgICAgcXVpY2tGYWlsKCJQbGVhc2Ugc3BlY2lmeSBhdCBsZWFzdCBvbiBj
b25maWd1cmFpdG9uIG9uIHRoZSBjb21tYW5kIGxpbmUuIiwKKyAgICAgICAgICAgICAgIkluc3Vm
ZmljaWVudCBhcmd1bWVudHMiKQorICBlbmQKKyAgCiAgIGlmICRtZWFzdXJlR0MgYW5kICRtZWFz
dXJlR0MgIT0gdHJ1ZQogICAgIGZvdW5kID0gZmFsc2UKICAgICAkdm1zLmVhY2ggewpAQCAtMTQw
MSw2ICsxNTIyLDEyNyBAQCBiZWdpbgogICAgICAgfQogICAgIH0KICAgfQorICAKKyAgdW5sZXNz
ICRyZW1vdGVIb3N0cy5lbXB0eT8KKyAgICAjIEhhbmRsZSB0aGUgcmVtb3RlIGJlbmNobWFya2lu
ZyBjYXNlLgorICAgIAorICAgIHJhaXNlIHVubGVzcyBURU1QX1BBVEgKKyAgICAKKyAgICAkc3Rk
ZXJyLnB1dHMgIlBhY2thZ2luZyBWTSBidWlsZHMgZm9yIHJlbW90ZSBob3N0cy4uLiIgaWYgJHZl
cmJvc2l0eT09MAorICAgIAorICAgICMgRmlyc3QgcGFja2FnZSBhbGwgb2YgdGhlIHJlbGVhc2Ug
YnVpbGRzLgorICAgICR2bXMuZWFjaF93aXRoX2luZGV4IHsKKyAgICAgIHwgdm0sIGluZGV4IHwK
KyAgICAgIHVubGVzcyB2bS5jaGVja291dFBhdGgKKyAgICAgICAgZmFpbCgiQ291bGQgbm90IGZp
Z3VyZSBvdXQgaG93IHRvIHBhY2thZ2UgI3t2bS5uYW1lfSwgYmVjYXVzZSB0aGUgVk0gdHlwZSB3
YXMgbm90IHJlY29nbml6ZWQiLCAiQmFkIFZNIGtpbmQgZm9yIC0tcmVtb3RlIikKKyAgICAgIGVu
ZAorICAgICAgCisgICAgICBEaXIuY2hkaXIodm0uY2hlY2tvdXRQYXRoICsgIi9XZWJLaXRCdWls
ZCIpIHsKKyAgICAgICAgY21kID0gInRhciAtY3pmICN7VEVNUF9QQVRIfS92bSN7aW5kZXh9LnRh
ci5neiBSZWxlYXNlIgorICAgICAgICAkc3RkZXJyLnB1dHMgIj4+ICN7Y21kfSIgaWYgJHZlcmJv
c2l0eT49MgorICAgICAgICByYWlzZSB1bmxlc3Mgc3lzdGVtKGNtZCkKKyAgICAgIH0KKyAgICB9
CisgICAgCisgICAgIyBOb3cgYWN0dWFsbHkgZ28gdGFsayB0byB0aGUgcmVtb3RlIGhvc3RzLgor
ICAgIAorICAgIGRlZiBzc2hSZWFkKGhvc3QsIGNvbW1hbmQpCisgICAgICBjbWQgPSAic3NoICN7
JHNzaE9wdGlvbnMuY29sbGVjdHt8eHwgeC5pbnNwZWN0fS5qb2luKCcgJyl9ICN7aG9zdC5pbnNw
ZWN0fSAje2NvbW1hbmQuaW5zcGVjdH0iCisgICAgICAkc3RkZXJyLnB1dHMgIj4+ICN7Y21kfSIg
aWYgJHZlcmJvc2l0eT49MgorICAgICAgcmVzdWx0ID0gIiIKKyAgICAgIElPLnBvcGVuKGNtZCwg
InIiKSB7CisgICAgICAgIHwgaW5wIHwKKyAgICAgICAgaW5wLmVhY2hfbGluZSB7CisgICAgICAg
ICAgfCBsaW5lIHwKKyAgICAgICAgICAkc3RkZXJyLnB1dHMgIiN7aG9zdH06ICN7bGluZX0iIGlm
ICR2ZXJib3NpdHk+PTIKKyAgICAgICAgICByZXN1bHQgKz0gbGluZQorICAgICAgICB9CisgICAg
ICB9CisgICAgICByYWlzZSAiI3skP30iIHVubGVzcyAkPy5zdWNjZXNzPworICAgICAgcmVzdWx0
CisgICAgZW5kCisgICAgCisgICAgZGVmIHNzaFdyaXRlKGhvc3QsIGNvbW1hbmQsIGRhdGEpCisg
ICAgICBjbWQgPSAic3NoICN7JHNzaE9wdGlvbnMuY29sbGVjdHt8eHwgeC5pbnNwZWN0fS5qb2lu
KCcgJyl9ICN7aG9zdC5pbnNwZWN0fSAje2NvbW1hbmQuaW5zcGVjdH0iCisgICAgICAkc3RkZXJy
LnB1dHMgIj4+ICN7Y21kfSIgaWYgJHZlcmJvc2l0eT49MgorICAgICAgSU8ucG9wZW4oY21kLCAi
dyIpIHsKKyAgICAgICAgfCBvdXRwIHwKKyAgICAgICAgb3V0cC53cml0ZShkYXRhKQorICAgICAg
fQorICAgICAgcmFpc2UgIiN7JD99IiB1bmxlc3MgJD8uc3VjY2Vzcz8KKyAgICBlbmQKKyAgICAK
KyAgICAkcmVtb3RlSG9zdHMuZWFjaCB7CisgICAgICB8IGhvc3QgfAorICAgICAgCisgICAgICAk
c3RkZXJyLnB1dHMgIlNlbmRpbmcgVk0gYnVpbGRzIHRvICN7aG9zdH0uLi4iIGlmICR2ZXJib3Np
dHk9PTAKKyAgICAgIAorICAgICAgcmVtb3RlVGVtcFBhdGggPSBKU09OOjpwYXJzZShzc2hSZWFk
KGhvc3QsICJjYXQgfi8uYmVuY2hlciIpKVsidGVtcFBhdGgiXQorICAgICAgcmFpc2UgdW5sZXNz
IHJlbW90ZVRlbXBQYXRoCisgICAgICAKKyAgICAgIHNzaFdyaXRlKGhvc3QsICJjZCAje3JlbW90
ZVRlbXBQYXRoLmluc3BlY3R9ICYmIGNhdCA+IGJlbmNoZXIgJiYgY2htb2QgNzAwIGJlbmNoZXIi
LCBJTzo6cmVhZCgkMCkpCisgICAgICAKKyAgICAgICR2bXMuc2l6ZS50aW1lcyB7CisgICAgICAg
IHwgaW5kZXggfAorICAgICAgICBzc2hXcml0ZShob3N0LCAiY2QgI3tyZW1vdGVUZW1wUGF0aC5p
bnNwZWN0fSAmJiBybSAtcmYgdm0je2luZGV4fSAmJiBta2RpciB2bSN7aW5kZXh9ICYmIGNkIHZt
I3tpbmRleH0gJiYgdGFyIC14emYgL2Rldi9zdGRpbiIsIElPOjpyZWFkKCIje1RFTVBfUEFUSH0v
dm0je2luZGV4fS50YXIuZ3oiKSkKKyAgICAgIH0KKyAgICAgIAorICAgICAgY29uZmlnPVtdCisg
ICAgICAkdm1zLmVhY2hfd2l0aF9pbmRleCB7CisgICAgICAgIHwgdm0sIGluZGV4IHwKKyAgICAg
ICAgY29uZmlnIDw8IHsKKyAgICAgICAgICAib3JpZ1BhdGgiID0+IHZtLm9yaWdQYXRoLAorICAg
ICAgICAgICJwYXRoIiA9PiAiI3tyZW1vdGVUZW1wUGF0aH0vdm0je2luZGV4fS9SZWxlYXNlL2pz
YyIsCisgICAgICAgICAgIm5hbWUiID0+IHZtLm5hbWUsCisgICAgICAgICAgIm5hbWVLaW5kIiA9
PiB2bS5uYW1lS2luZC50b19zLAorICAgICAgICAgICJzdm5SZXZpc2lvbiIgPT4gdm0uc3ZuUmV2
aXNpb24KKyAgICAgICAgfQorICAgICAgfQorICAgICAgCisgICAgICBzc2hXcml0ZShob3N0LCAi
Y2QgI3tyZW1vdGVUZW1wUGF0aC5pbnNwZWN0fSAmJiAoY2F0ID4gdm1zLmNvbmYpIiwgY29uZmln
LnRvX2pzb24pCisgICAgICAKKyAgICAgICRzdGRlcnIucHV0cyAiUnVubmluZyBvbiAje2hvc3R9
Li4uIiBpZiAkdmVyYm9zaXR5PT0wCisgICAgICAKKyAgICAgIGNtZCA9ICJjZCAje3JlbW90ZVRl
bXBQYXRoLmluc3BlY3R9ICYmIC4vYmVuY2hlciIKKyAgICAgIGNtZCArPSAiIC0tcmVydW4gI3sk
cmVydW59IgorICAgICAgY21kICs9ICIgLS1pbm5lciAjeyRpbm5lcn0iCisgICAgICBjbWQgKz0g
IiAtLW91dGVyICN7JG91dGVyfSIKKyAgICAgIGNtZCArPSAiIC0td2FybXVwICN7JHdhcm11cH0i
CisgICAgICBjbWQgKz0gIiAtLXRpbWluZy1tb2RlICN7JHRpbWVNb2RlLnRvX3N9IgorICAgICAg
Y21kICs9ICIgLS1zdW5zcGlkZXIiIGlmICRpbmNsdWRlU3VuU3BpZGVyCisgICAgICBjbWQgKz0g
IiAtLXY4IiBpZiAkaW5jbHVkZVY4CisgICAgICBjbWQgKz0gIiAtLWtyYWtlbiIgaWYgJGluY2x1
ZGVLcmFrZW4KKyAgICAgIGlmICRtZWFzdXJlR0MKKyAgICAgICAgaWYgJG1lYXN1cmVHQyA9PSB0
cnVlCisgICAgICAgICAgY21kICs9ICIgLS1tZWFzdXJlLWdjIgorICAgICAgICBlbHNlCisgICAg
ICAgICAgY21kICs9ICIgLS1tZWFzdXJlLWdjICN7JG1lYXN1cmVHQy5pbnNwZWN0fSIKKyAgICAg
ICAgZW5kCisgICAgICBlbmQKKyAgICAgIGlmICR2ZXJib3NpdHk+PTEKKyAgICAgICAgY21kICs9
ICIgLSIKKyAgICAgICAgJHZlcmJvc2l0eS50aW1lcyB7CisgICAgICAgICAgY21kICs9ICJ2Igor
ICAgICAgICB9CisgICAgICBlbmQKKyAgICAgIGNtZCArPSAiIC0tYnJpZWYiIGlmICRicmllZgor
ICAgICAgY21kICs9ICIgLS1zaWxlbnQiIGlmICRzaWxlbnQKKyAgICAgIGNtZCArPSAiIC0tc2xh
dmUiCisgICAgICBjbWQgKz0gIiAtLXZtcyAjeyhyZW1vdGVUZW1wUGF0aCsnL3Ztcy5jb25mJyku
aW5zcGVjdH0iCisgICAgICByZXN1bHQgPSBzc2hSZWFkKGhvc3QsIGNtZCkKKyAgICAgIHB1dHMg
cmVzdWx0CisgICAgICBpZiByZXN1bHQgPX4gL0dlbmVyYXRpbmcgYmVuY2htYXJrIHJlcG9ydCBh
dCAoLiopXG5cbi8KKyAgICAgICAgcmVwb3J0TmFtZSA9ICQxCisgICAgICAgIHJlcG9ydCA9ICR+
LnBvc3RfbWF0Y2gKKyAgICAgICAgRmlsZS5vcGVuKHJlcG9ydE5hbWUsICJ3IikgeworICAgICAg
ICAgIHwgb3V0cCB8CisgICAgICAgICAgb3V0cC5wdXRzIHJlcG9ydAorICAgICAgICB9CisgICAg
ICBlbmQKKyAgICB9CisgICAgCisgICAgZXhpdCAwCisgIGVuZAogCiAgICRwbGFucyA9IFtdCiAg
ICRiZW5jaG1hcmtzT25WTXMuZWFjaCB7CkBAIC0xNDI5LDIwICsxNjcxLDkgQEAgYmVnaW4KICAg
ICB2bS50b19zLnNpemUKICAgfS5tYXggKyAxCiAKLSAgdW5sZXNzICRicmllZgotICAgIDMudGlt
ZXMgewotICAgICAgfCBpZHggfAotICAgICAgJHN0ZGVyci5wcmludCAiXHJTdGFydGluZyBpbiAj
ezMtaWR4fS4uLiIKLSAgICAgICRzdGRlcnIuZmx1c2gKLSAgICAgIHNsZWVwIDEKLSAgICB9Ci0g
ICAgJHN0ZGVyci5wcmludCAiXHIgICAgICAgICAgICAgICAgICAgICAgIFxyIgotICAgICRzdGRl
cnIuZmx1c2gKLSAgZW5kCi0gIAogICAkcGxhbnMuZWFjaF93aXRoX2luZGV4IHsKICAgICB8IHBs
YW4sIGlkeCB8Ci0gICAgaWYgJHZlcmJvc2l0eSA9PSAwCisgICAgaWYgJHZlcmJvc2l0eSA9PSAw
IGFuZCBub3QgJHNpbGVudAogICAgICAgdGV4dDEgPSBscGFkKGlkeC50b19zLCRwbGFucy5zaXpl
LnRvX3Muc2l6ZSkrIi8iKyRwbGFucy5zaXplLnRvX3MKICAgICAgIHRleHQyID0gcGxhbi5zdWl0
ZS50b19zKyIvIitwbGFuLmJlbmNobWFyay50b19zKyIvIitwbGFuLnZtLnRvX3MKICAgICAgICRz
dGRlcnIucHJpbnQgIlxyI3t0ZXh0MX0gI3tycGFkKHRleHQyLCRzdWl0ZXBhZCsxKyRiZW5jaHBh
ZCsxKyR2bXBhZCl9IgpAQCAtMTQ1Miw3ICsxNjgzLDcgQEAgYmVnaW4KICAgICBwbGFuLnJ1bkFu
ZFJlY29yZAogICB9CiAgIAotICBpZiAkdmVyYm9zaXR5ID09IDAKKyAgaWYgJHZlcmJvc2l0eSA9
PSAwIGFuZCBub3QgJHNpbGVudAogICAgICRzdGRlcnIucHJpbnQgIlxyI3skcGxhbnMuc2l6ZX0v
I3skcGxhbnMuc2l6ZX0gI3snICcqKCRzdWl0ZXBhZCsxKyRiZW5jaHBhZCsxKyR2bXBhZCl9Igog
ICAgICRzdGRlcnIucHV0cyAiXHIjeyRwbGFucy5zaXplfS8jeyRwbGFucy5zaXplfSIKICAgZW5k
CkBAIC0xNTI4LDcgKzE3NTksNyBAQCBiZWdpbgogICAgICJfYmVuY2hSZXBvcnQudHh0IgogCiAg
IHVubGVzcyAkYnJpZWYKLSAgICAkc3RkZXJyLnB1dHMgIkdlbmVyYXRpbmcgYmVuY2htYXJrIHJl
cG9ydCBhdCAje3JlcG9ydE5hbWV9IgorICAgIHB1dHMgIkdlbmVyYXRpbmcgYmVuY2htYXJrIHJl
cG9ydCBhdCAje3JlcG9ydE5hbWV9IgogICBlbmQKICAgCiAgIG91dHAgPSAkc3Rkb3V0CkBAIC0x
NTk0LDYgKzE4MjUsMjEgQEAgYmVnaW4KICAgZWxzZQogICAgIG91dHAucHJpbnQgIiN7JHN1aXRl
c1swLi4tMl0uam9pbignLCAnKX0sIGFuZCAjeyRzdWl0ZXNbLTFdfSIKICAgZW5kCisgIG91dHAu
cHJpbnQgIiBvbiAje1NvY2tldC5nZXRob3N0bmFtZX0iCisgIGJlZ2luCisgICAgSU8ucG9wZW4o
InN5c2N0bCBody5tb2RlbCIsICJyIikgeworICAgICAgfCBpbnAgfAorICAgICAgaW5wLmVhY2hf
bGluZSB7CisgICAgICAgIHwgbGluZSB8CisgICAgICAgIGlmIGxpbmUgPX4gL2h3Lm1vZGVsOiAv
CisgICAgICAgICAgb3V0cC5wcmludCAiICgjeyR+LnBvc3RfbWF0Y2guY2hvbXB9KSIKKyAgICAg
ICAgICBicmVhaworICAgICAgICBlbmQKKyAgICAgIH0KKyAgICB9CisgIHJlc2N1ZSA9PiBlCisg
ICAgIyBTaWxlbnRseSBmYWlsIHNpbmNlIHRoaXMgaXNuJ3QgY3JpdGljYWwuCisgIGVuZAogICBv
dXRwLnB1dHMgIi4iCiAgIG91dHAucHV0cwogICAKQEAgLTE2MTAsNyArMTg1NiwxMSBAQCBiZWdp
bgogICBvdXRwLnB1dHMgIlZNcyB0ZXN0ZWQ6IgogICAkdm1zLmVhY2ggewogICAgIHwgdm0gfAot
ICAgIG91dHAucHV0cyAiXCIje3ZtLm5hbWV9XCIgYXQgI3tQYXRobmFtZS5uZXcodm0ucGF0aCku
cmVhbHBhdGh9IgorICAgIG91dHAucHJpbnQgIlwiI3t2bS5uYW1lfVwiIGF0ICN7dm0ub3JpZ1Bh
dGh9IgorICAgIGlmIHZtLnN2blJldmlzaW9uCisgICAgICBvdXRwLnByaW50ICIgKHIje3ZtLnN2
blJldmlzaW9ufSkiCisgICAgZW5kCisgICAgb3V0cC5wdXRzCiAgIH0KICAgCiAgIG91dHAucHV0
cwpAQCAtMTYyNyw3ICsxODc3LDcgQEAgYmVnaW4KICAgICAgICAgICAgICAgICAgIGVsc2UgKCIg
RW1pdHRlZCBhIGNhbGwgdG8gZ2MoKSBiZXR3ZWVuIHNhbXBsZSBtZWFzdXJlbWVudHMuIikgZW5k
KSsKICAgICAgICAgICAgICAgICAgKGlmICR3YXJtdXAgPT0gMCB0aGVuICgiIERpZCBub3QgaW5j
bHVkZSBhbnkgd2FybS11cCBpdGVyYXRpb25zOyBtZWFzdXJlbWVudHMgIisKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYmVnYW4gd2l0aCB0aGUgdmVyeSBmaXJzdCBp
dGVyYXRpb24uIikKLSAgICAgICAgICAgICAgICAgIGVsc2UgKCIgVXNlZCAjeyR3YXJtdXAqJHJl
cnVufSBiZW5jaG1hcmsgaXRlcmF0aW9uI3twbHVyYWwoJHdhcm11cCl9IHBlciBWTSAiKworICAg
ICAgICAgICAgICAgICAgZWxzZSAoIiBVc2VkICN7JHdhcm11cCokcmVydW59IGJlbmNobWFyayBp
dGVyYXRpb24je3BsdXJhbCgkd2FybXVwKiRyZXJ1bil9IHBlciBWTSAiKwogICAgICAgICAgICAg
ICAgICAgICAgICAgImludm9jYXRpb24gZm9yIHdhcm0tdXAuIikgZW5kKSsKICAgICAgICAgICAg
ICAgICAgKGNhc2UgJHRpbWVNb2RlCiAgICAgICAgICAgICAgICAgICB3aGVuIDpwcmVjaXNlVGlt
ZSB0aGVuICgiIFVzZWQgdGhlIGpzYy1zcGVjaWZpYyBwcmVjaXNlVGltZSgpIGZ1bmN0aW9uIHRv
IGdldCAiKwpAQCAtMTc0NiwxMSArMTk5NiwxNCBAQCBiZWdpbgogICAgICAgb3V0cC5wcmludCgi
ICAgICIrJG92ZXJhbGxSZXN1bHRzWy0xXS5jb21wYXJlVG8oJG92ZXJhbGxSZXN1bHRzWzBdKS50
b19zKQogICAgIGVuZAogICAgIG91dHAucHV0cwotICAgIG91dHAucHV0cwogICBlbmQKKyAgb3V0
cC5wdXRzCiAgIAotICBpZiBvdXRwICE9ICRzdGRvdXQgYW5kIG5vdCAkYnJpZWYKKyAgaWYgb3V0
cCAhPSAkc3Rkb3V0CiAgICAgb3V0cC5jbG9zZQorICBlbmQKKyAgCisgIGlmIG91dHAgIT0gJHN0
ZG91dCBhbmQgbm90ICRicmllZgogICAgIHB1dHMKICAgICBGaWxlLm9wZW4ocmVwb3J0TmFtZSkg
ewogICAgICAgfCBpbnAgfAo=
</data>
<flag name="review"
          id="112258"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>