<?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>82116</bug_id>
          
          <creation_ts>2012-03-23 20:00:35 -0700</creation_ts>
          <short_desc>nrwt: simplify manager/broker interface</short_desc>
          <delta_ts>2012-06-26 17:03:05 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>NRWT</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>82112</dependson>
          <blocked>82137</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dirk Pranke">dpranke</reporter>
          <assigned_to name="Dirk Pranke">dpranke</assigned_to>
          <cc>rakuco</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>586987</commentid>
    <comment_count>0</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-03-23 20:00:35 -0700</bug_when>
    <thetext>nrwt: simplify manager/broker interface</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>586989</commentid>
    <comment_count>1</comment_count>
      <attachid>133614</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-03-23 20:02:52 -0700</bug_when>
    <thetext>Created attachment 133614
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>586990</commentid>
    <comment_count>2</comment_count>
      <attachid>133614</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-03-23 20:03:46 -0700</bug_when>
    <thetext>Comment on attachment 133614
Patch

patch isn&apos;t quite ready for review yet (works, needs editorial pass).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658124</commentid>
    <comment_count>3</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-06-26 17:03:05 -0700</bug_when>
    <thetext>closing ... will file new patches with stuff for landing.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133614</attachid>
            <date>2012-03-23 20:02:52 -0700</date>
            <delta_ts>2012-03-23 20:03:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-82116-20120323200251.patch</filename>
            <type>text/plain</type>
            <size>31554</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExNzY1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOWM0M2UwODZhNDRmZDJkOTM0MGVlNjEzNzFiZmNkYWVl
YTk2MjM3OS4uYjRjYmQ4OWJiYzA4MGI2NTI4MzU1ZGQzYjY0NmJmMWM3NzYwNjBjZCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDc4
IEBACiAyMDEyLTAzLTIzICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgogCisg
ICAgICAgIG5yd3Q6IHNpbXBsaWZ5IG1hbmFnZXIvYnJva2VyIGludGVyZmFjZQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODIxMTYKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBcyBwYXJ0IG9mIGNsZWFuaW5n
IHVwIGNvZGUgYW5kIHdhbnRpbmcgdG8gcmUtdXNlIHRoZQorICAgICAgICBwYXJhbGxlbCBtYW5h
Z2VyL3dvcmtlciBjb2RlIGZvciB0ZXN0LXdlYmtpdHB5LCBJIHdhbnQgdG8gbW92ZQorICAgICAg
ICBhbGwgb2YgdGhlIHdvcmtlciBtYW5hZ2VtZW50IG91dCBvZiB0aGUgTWFuYWdlciBjbGFzcyBh
bmQgaW50bworICAgICAgICBtYW5hZ2VyX3dvcmtlcl9icm9rZXIgaXRzZWxmLiBUaGlzIHdpbGwg
bGVhdmUgbWFuYWdlci5weSB3aXRoCisgICAgICAgIHB1cmVseSBsYXlvdXQtdGVzdC1zcGVjaWZp
YyBsb2dpYy4gU3Vic2VxdWVudCBwYXRjaGVzIHdpbGwgZG8KKyAgICAgICAgdGhlIHNhbWUgZm9y
IHdvcmtlci5weSwgYW5kIHRoZW4gYWxsb3cgbWUgdG8gZGVsZXRlIGEgd2hvbGUKKyAgICAgICAg
YnVuY2ggb2YgY29kZSBpbiBtYW5hZ2VyX3dvcmtlcl9icm9rZXIucHkgaW4gYSB0aGlyZCBwYXRj
aC4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJz
L21hbmFnZXIucHk6CisgICAgICAgIChzdW1tYXJpemVfcmVzdWx0cyk6CisgICAgICAgIChNYW5h
Z2VyLl9faW5pdF9fKToKKyAgICAgICAgKE1hbmFnZXIubmFtZSk6CisgICAgICAgIChNYW5hZ2Vy
Ll9ydW5fdGVzdHMpOgorICAgICAgICAoTWFuYWdlci5faW50ZXJydXB0X2lmX2F0X2ZhaWx1cmVf
bGltaXRzLmludGVycnVwdF9pZl9hdF9mYWlsdXJlX2xpbWl0KToKKyAgICAgICAgKE1hbmFnZXIu
ZmluaXNoZWRfbGlzdCk6CisgICAgICAgIChNYW5hZ2VyLmZpbmlzaGVkX3Rlc3QpOgorICAgICAg
ICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXJfd29y
a2VyX2Jyb2tlci5weToKKyAgICAgICAgKGdldCk6CisgICAgICAgIChUZXN0UnVuSW50ZXJydXB0
ZWRFeGNlcHRpb24pOgorICAgICAgICAoVGVzdFJ1bkludGVycnVwdGVkRXhjZXB0aW9uLl9faW5p
dF9fKToKKyAgICAgICAgKFRlc3RSdW5JbnRlcnJ1cHRlZEV4Y2VwdGlvbi5fX3JlZHVjZV9fKToK
KyAgICAgICAgKFdvcmtlckV4Y2VwdGlvbik6CisgICAgICAgIChXb3JrZXJBcmd1bWVudHMpOgor
ICAgICAgICAoV29ya2VyQXJndW1lbnRzLl9faW5pdF9fKToKKyAgICAgICAgKEJyb2tlckNsaWVu
dC5uYW1lKToKKyAgICAgICAgKEFic3RyYWN0V29ya2VyLl9faW5pdF9fKToKKyAgICAgICAgKF9N
YW5hZ2VyQ29ubmVjdGlvbi5fX2luaXRfXyk6CisgICAgICAgIChfTWFuYWdlckNvbm5lY3Rpb24u
bmFtZSk6CisgICAgICAgIChfTWFuYWdlckNvbm5lY3Rpb24pOgorICAgICAgICAoX01hbmFnZXJD
b25uZWN0aW9uLnJ1bl9zaGFyZHMpOgorICAgICAgICAoX01hbmFnZXJDb25uZWN0aW9uLmNhbmNl
bF93b3JrZXJzKToKKyAgICAgICAgKF9NYW5hZ2VyQ29ubmVjdGlvbi5pc19kb25lKToKKyAgICAg
ICAgKF9NYW5hZ2VyQ29ubmVjdGlvbi5fd29ya2VyX2lzX2RvbmUpOgorICAgICAgICAoX01hbmFn
ZXJDb25uZWN0aW9uLmhhbmRsZV9zdGFydGVkX3Rlc3QpOgorICAgICAgICAoX01hbmFnZXJDb25u
ZWN0aW9uLmhhbmRsZV9kb25lKToKKyAgICAgICAgKF9NYW5hZ2VyQ29ubmVjdGlvbi5oYW5kbGVf
ZXhjZXB0aW9uKToKKyAgICAgICAgKF9NYW5hZ2VyQ29ubmVjdGlvbi5oYW5kbGVfZmluaXNoZWRf
bGlzdCk6CisgICAgICAgIChfTWFuYWdlckNvbm5lY3Rpb24uaGFuZGxlX2ZpbmlzaGVkX3Rlc3Qp
OgorICAgICAgICAoX01hbmFnZXJDb25uZWN0aW9uLl9sb2dfd29ya2VyX3N0YWNrKToKKyAgICAg
ICAgKF9NYW5hZ2VyQ29ubmVjdGlvbi50aHJlYWRfdGltaW5ncyk6CisgICAgICAgIChfV29ya2Vy
U3RhdGUpOgorICAgICAgICAoX1dvcmtlclN0YXRlLmZvcik6CisgICAgICAgIChfV29ya2VyU3Rh
dGUuX19pbml0X18pOgorICAgICAgICAoX1dvcmtlclN0YXRlLl9fcmVwcl9fKToKKyAgICAgICAg
KF9JbmxpbmVNYW5hZ2VyLl9faW5pdF9fKToKKyAgICAgICAgKF9JbmxpbmVNYW5hZ2VyLnN0YXJ0
X3dvcmtlcik6CisgICAgICAgIChfSW5saW5lTWFuYWdlci5ydW5fbWVzc2FnZV9sb29wKToKKyAg
ICAgICAgKF9NdWx0aVByb2Nlc3NNYW5hZ2VyLnN0YXJ0X3dvcmtlcik6CisgICAgICAgIChfTXVs
dGlQcm9jZXNzTWFuYWdlci5ydW5fbWVzc2FnZV9sb29wKToKKyAgICAgICAgKiBTY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyX3dvcmtlcl9icm9rZXJfdW5p
dHRlc3QucHk6CisgICAgICAgIChfVGVzdFdvcmtlci5fX2luaXRfXyk6CisgICAgICAgIChfVGVz
dFdvcmtlci5uYW1lKToKKyAgICAgICAgKF9UZXN0V29ya2VyKToKKyAgICAgICAgKF9UZXN0V29y
a2VyLnNldF9pbmxpbmVfYXJndW1lbnRzKToKKyAgICAgICAgKF9UZXN0V29ya2VyLmhhbmRsZV90
ZXN0KToKKyAgICAgICAgKF9UZXN0c01peGluLmZpbmlzaGVkX3Rlc3QpOgorICAgICAgICAoX1Rl
c3RzTWl4aW4uc2V0VXApOgorICAgICAgICAoX1Rlc3RzTWl4aW4udGVzdF9uYW1lKToKKyAgICAg
ICAgKF9UZXN0c01peGluLnRlc3RfY2FuY2VsKToKKyAgICAgICAgKF9UZXN0c01peGluLnRlc3Rf
ZG9uZSk6CisgICAgICAgIChfVGVzdHNNaXhpbi50ZXN0X3Vua25vd25fbWVzc2FnZSk6CisgICAg
ICAgIChJbmxpbmVCcm9rZXJUZXN0cy50ZXN0X2lubGluZV9hcmd1bWVudHMpOgorICAgICAgICAo
SW50ZXJmYWNlVGVzdC50ZXN0X21hbmFnZXJjb25uZWN0aW9uX2lzX2Fic3RyYWN0KToKKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy93b3JrZXIucHk6
CisgICAgICAgIChXb3JrZXIubmFtZSk6CisKKzIwMTItMDMtMjMgIERpcmsgUHJhbmtlICA8ZHBy
YW5rZUBjaHJvbWl1bS5vcmc+CisKICAgICAgICAgbnJ3dDogcmVtb3ZlIC0td29ya2VyLW1vZGVs
IGZsYWcKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgy
MTEyCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2Nv
bnRyb2xsZXJzL21hbmFnZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9jb250cm9sbGVycy9tYW5hZ2VyLnB5CmluZGV4IGVjODA0ZjhmMWM2ODU0ZWRiMTUzODIxNDU5
MzE0NzI0ODBjZDFmZGQuLjFkNmFiMzRmZGE1MjA5ODJhMWUyODQwMzA1ODQxNWY5ZDhlOTEzODUg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xs
ZXJzL21hbmFnZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
Y29udHJvbGxlcnMvbWFuYWdlci5weQpAQCAtNjQsNiArNjQsOCBAQCBCVUlMREVSX0JBU0VfVVJM
ID0gImh0dHA6Ly9idWlsZC5jaHJvbWl1bS5vcmcvYnVpbGRib3QvbGF5b3V0X3Rlc3RfcmVzdWx0
cy8iCiAKIFRlc3RFeHBlY3RhdGlvbnMgPSB0ZXN0X2V4cGVjdGF0aW9ucy5UZXN0RXhwZWN0YXRp
b25zCiAKK1Rlc3RSdW5JbnRlcnJ1cHRlZEV4Y2VwdGlvbiA9IG1hbmFnZXJfd29ya2VyX2Jyb2tl
ci5UZXN0UnVuSW50ZXJydXB0ZWRFeGNlcHRpb24KK1dvcmtlckV4Y2VwdGlvbiA9IG1hbmFnZXJf
d29ya2VyX2Jyb2tlci5Xb3JrZXJFeGNlcHRpb24KIAogZGVmIGludGVycHJldF90ZXN0X2ZhaWx1
cmVzKHBvcnQsIHRlc3RfbmFtZSwgZmFpbHVyZXMpOgogICAgICIiIkludGVycHJldCB0ZXN0IGZh
aWx1cmVzIGFuZCByZXR1cm5zIGEgdGVzdCByZXN1bHQgYXMgZGljdC4KQEAgLTI0OSwyMiArMjUx
LDYgQEAgZGVmIHN1bW1hcml6ZV9yZXN1bHRzKHBvcnRfb2JqLCBleHBlY3RhdGlvbnMsIHJlc3Vs
dF9zdW1tYXJ5LCByZXRyeV9zdW1tYXJ5LCB0ZXMKICAgICByZXR1cm4gcmVzdWx0cwogCiAKLWNs
YXNzIFRlc3RSdW5JbnRlcnJ1cHRlZEV4Y2VwdGlvbihFeGNlcHRpb24pOgotICAgICIiIlJhaXNl
ZCB3aGVuIGEgdGVzdCBydW4gc2hvdWxkIGJlIHN0b3BwZWQgaW1tZWRpYXRlbHkuIiIiCi0gICAg
ZGVmIF9faW5pdF9fKHNlbGYsIHJlYXNvbik6Ci0gICAgICAgIEV4Y2VwdGlvbi5fX2luaXRfXyhz
ZWxmKQotICAgICAgICBzZWxmLnJlYXNvbiA9IHJlYXNvbgotICAgICAgICBzZWxmLm1zZyA9IHJl
YXNvbgotCi0gICAgZGVmIF9fcmVkdWNlX18oc2VsZik6Ci0gICAgICAgIHJldHVybiBzZWxmLl9f
Y2xhc3NfXywgKHNlbGYucmVhc29uLCkKLQotCi1jbGFzcyBXb3JrZXJFeGNlcHRpb24oRXhjZXB0
aW9uKToKLSAgICAiIiJSYWlzZWQgd2hlbiB3ZSByZWNlaXZlIGFuIHVuZXhwZWN0ZWQvdW5rbm93
biBleGNlcHRpb24gZnJvbSBhIHdvcmtlci4iIiIKLSAgICBwYXNzCi0KLQogY2xhc3MgVGVzdFNo
YXJkKG9iamVjdCk6CiAgICAgIiIiQSB0ZXN0IHNoYXJkIGlzIGEgbmFtZWQgbGlzdCBvZiBUZXN0
SW5wdXRzLiIiIgogCkBAIC0zMjIsOSArMzA4LDEwIEBAIGNsYXNzIE1hbmFnZXIob2JqZWN0KToK
ICAgICAgICAgc2VsZi5fYWxsX3Jlc3VsdHMgPSBbXQogICAgICAgICBzZWxmLl9ncm91cF9zdGF0
cyA9IHt9CiAgICAgICAgIHNlbGYuX2N1cnJlbnRfcmVzdWx0X3N1bW1hcnkgPSBOb25lCisgICAg
ICAgIHNlbGYuX25hbWUgPSAnTWFuYWdlcicKIAotICAgICAgICAjIFRoaXMgbWFwcyB3b3JrZXIg
bmFtZXMgdG8gdGhlIHN0YXRlIHdlIGFyZSB0cmFja2luZyBmb3IgZWFjaCBvZiB0aGVtLgotICAg
ICAgICBzZWxmLl93b3JrZXJfc3RhdGVzID0ge30KKyAgICBkZWYgbmFtZShzZWxmKToKKyAgICAg
ICAgcmV0dXJuIHNlbGYuX25hbWUKIAogICAgIGRlZiBjb2xsZWN0X3Rlc3RzKHNlbGYsIGFyZ3Mp
OgogICAgICAgICAiIiJGaW5kIGFsbCB0aGUgZmlsZXMgdG8gdGVzdC4KQEAgLTcyNiw3ICs3MTMs
NiBAQCBjbGFzcyBNYW5hZ2VyKG9iamVjdCk6CiAgICAgICAgIHNlbGYuX2N1cnJlbnRfcmVzdWx0
X3N1bW1hcnkgPSByZXN1bHRfc3VtbWFyeQogICAgICAgICBzZWxmLl9hbGxfcmVzdWx0cyA9IFtd
CiAgICAgICAgIHNlbGYuX2dyb3VwX3N0YXRzID0ge30KLSAgICAgICAgc2VsZi5fd29ya2VyX3N0
YXRlcyA9IHt9CiAKICAgICAgICAga2V5Ym9hcmRfaW50ZXJydXB0ZWQgPSBGYWxzZQogICAgICAg
ICBpbnRlcnJ1cHRlZCA9IEZhbHNlCkBAIC03NTYsNzAgKzc0MiwxNyBAQCBjbGFzcyBNYW5hZ2Vy
KG9iamVjdCk6CiAgICAgICAgIGlmIHNlbGYuX29wdGlvbnMuZHJ5X3J1bjoKICAgICAgICAgICAg
IHJldHVybiAoa2V5Ym9hcmRfaW50ZXJydXB0ZWQsIGludGVycnVwdGVkLCB0aHJlYWRfdGltaW5n
cywgc2VsZi5fZ3JvdXBfc3RhdHMsIHNlbGYuX2FsbF9yZXN1bHRzKQogCi0gICAgICAgIHNlbGYu
X3ByaW50ZXIucHJpbnRfdXBkYXRlKCdTdGFydGluZyAlcyAuLi4nICUgZ3JhbW1hci5wbHVyYWxp
emUoJ3dvcmtlcicsIG51bV93b3JrZXJzKSkKLSAgICAgICAgZm9yIHdvcmtlcl9udW1iZXIgaW4g
eHJhbmdlKG51bV93b3JrZXJzKToKLSAgICAgICAgICAgIHdvcmtlcl9hcmd1bWVudHMgPSB3b3Jr
ZXIuV29ya2VyQXJndW1lbnRzKHdvcmtlcl9udW1iZXIsIHNlbGYucmVzdWx0c19kaXJlY3Rvcnko
KSwgc2VsZi5fb3B0aW9ucykKLSAgICAgICAgICAgIHdvcmtlcl9jb25uZWN0aW9uID0gbWFuYWdl
cl9jb25uZWN0aW9uLnN0YXJ0X3dvcmtlcih3b3JrZXJfYXJndW1lbnRzKQotICAgICAgICAgICAg
aWYgc2VsZi5fb3B0aW9ucy5jaGlsZF9wcm9jZXNzZXMgPT0gMToKLSAgICAgICAgICAgICAgICAj
IEZJWE1FOiBXZSBuZWVkIHRvIGJlIGFibGUgdG8gc2hhcmUgYSBwb3J0IHdpdGggdGhlIHdvcmsg
c28KLSAgICAgICAgICAgICAgICAjIHRoYXQgc29tZSBvZiB0aGUgdGVzdHMgY2FuIHF1ZXJ5IHN0
YXRlIG9uIHRoZSBwb3J0OyBpZGVhbGx5Ci0gICAgICAgICAgICAgICAgIyB3ZSdkIHJld3JpdGUg
dGhlIHRlc3RzIHNvIHRoYXQgdGhpcyB3YXNuJ3QgbmVjZXNzYXJ5LgotICAgICAgICAgICAgICAg
ICMKLSAgICAgICAgICAgICAgICAjIE5vdGUgdGhhdCB0aGlzIG9ubHkgd29ya3MgYmVjYXVzZSBp
biB0aGUgaW5saW5lIGNhc2UKLSAgICAgICAgICAgICAgICAjIHRoZSB3b3JrZXIgaGFzbid0IHJl
YWxseSBzdGFydGVkIHlldCBhbmQgd29uJ3Qgc3RhcnQKLSAgICAgICAgICAgICAgICAjIHJ1bm5p
bmcgdW50aWwgd2UgY2FsbCBydW5fbWVzc2FnZV9sb29wKCksIGJlbG93LgotICAgICAgICAgICAg
ICAgIHdvcmtlcl9jb25uZWN0aW9uLnNldF9pbmxpbmVfYXJndW1lbnRzKHNlbGYuX3BvcnQpCi0K
LSAgICAgICAgICAgIHdvcmtlcl9zdGF0ZSA9IF9Xb3JrZXJTdGF0ZSh3b3JrZXJfbnVtYmVyLCB3
b3JrZXJfY29ubmVjdGlvbikKLSAgICAgICAgICAgIHNlbGYuX3dvcmtlcl9zdGF0ZXNbd29ya2Vy
X2Nvbm5lY3Rpb24ubmFtZSgpXSA9IHdvcmtlcl9zdGF0ZQotCi0gICAgICAgICAgICB0aW1lLnNs
ZWVwKHNlbGYuX3BvcnQud29ya2VyX3N0YXJ0dXBfZGVsYXlfc2VjcygpKQotCi0gICAgICAgIHNl
bGYuX3ByaW50ZXIucHJpbnRfdXBkYXRlKCJTdGFydGluZyB0ZXN0aW5nIC4uLiIpCi0gICAgICAg
IGZvciBzaGFyZCBpbiBhbGxfc2hhcmRzOgotICAgICAgICAgICAgIyBGSVhNRTogQ2hhbmdlICd0
ZXN0X2xpc3QnIHRvICdzaGFyZCcsIG1ha2Ugc2hhcmRpbmcgcHVibGljLgotICAgICAgICAgICAg
bWFuYWdlcl9jb25uZWN0aW9uLnBvc3RfbWVzc2FnZSgndGVzdF9saXN0Jywgc2hhcmQubmFtZSwg
c2hhcmQudGVzdF9pbnB1dHMpCi0KLSAgICAgICAgIyBXZSBwb3N0IG9uZSAnc3RvcCcgbWVzc2Fn
ZSBmb3IgZWFjaCB3b3JrZXIuIEJlY2F1c2UgdGhlIHN0b3AgbWVzc2FnZQotICAgICAgICAjIGFy
ZSBzZW50IGFmdGVyIGFsbCBvZiB0aGUgdGVzdHMsIGFuZCBiZWNhdXNlIGVhY2ggd29ya2VyIHdp
bGwgc3RvcAotICAgICAgICAjIHJlYWRpbmcgbWVzc3NhZ2VzIGFmdGVyIHJlY2VpdmluZyBhIHN0
b3AsIHdlIGNhbiBiZSBzdXJlIGVhY2gKLSAgICAgICAgIyB3b3JrZXIgd2lsbCBnZXQgYSBzdG9w
IG1lc3NhZ2UgYW5kIGhlbmNlIHRoZXkgd2lsbCBhbGwgc2h1dCBkb3duLgotICAgICAgICBmb3Ig
XyBpbiB4cmFuZ2UobnVtX3dvcmtlcnMpOgotICAgICAgICAgICAgbWFuYWdlcl9jb25uZWN0aW9u
LnBvc3RfbWVzc2FnZSgnc3RvcCcpCi0KKyAgICAgICAgc2VsZi5fcHJpbnRlci5wcmludF91cGRh
dGUoJ1N0YXJ0aW5nIHRlc3RpbmcgKHdpdGggJXMpIC4uLicgJSBncmFtbWFyLnBsdXJhbGl6ZSgn
d29ya2VyJywgbnVtX3dvcmtlcnMpKQogCiAgICAgICAgIHRyeToKLSAgICAgICAgICAgIHdoaWxl
IG5vdCBzZWxmLmlzX2RvbmUoKToKLSAgICAgICAgICAgICAgICBtYW5hZ2VyX2Nvbm5lY3Rpb24u
cnVuX21lc3NhZ2VfbG9vcChkZWxheV9zZWNzPTEuMCkKLQotICAgICAgICAgICAgIyBNYWtlIHN1
cmUgYWxsIG9mIHRoZSB3b3JrZXJzIGhhdmUgc2h1dCBkb3duIChpZiBwb3NzaWJsZSkuCi0gICAg
ICAgICAgICBmb3Igd29ya2VyX3N0YXRlIGluIHNlbGYuX3dvcmtlcl9zdGF0ZXMudmFsdWVzKCk6
Ci0gICAgICAgICAgICAgICAgaWYgd29ya2VyX3N0YXRlLndvcmtlcl9jb25uZWN0aW9uLmlzX2Fs
aXZlKCk6Ci0gICAgICAgICAgICAgICAgICAgIF9sb2cuZGVidWcoJ1dhaXRpbmcgZm9yIHdvcmtl
ciAlZCB0byBleGl0JyAlIHdvcmtlcl9zdGF0ZS5udW1iZXIpCi0gICAgICAgICAgICAgICAgICAg
IHdvcmtlcl9zdGF0ZS53b3JrZXJfY29ubmVjdGlvbi5qb2luKDUuMCkKLSAgICAgICAgICAgICAg
ICAgICAgaWYgd29ya2VyX3N0YXRlLndvcmtlcl9jb25uZWN0aW9uLmlzX2FsaXZlKCk6Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBfbG9nLmVycm9yKCdXb3JrZXIgJWQgZGlkIG5vdCBleGl0IGlu
IHRpbWUuJyAlIHdvcmtlcl9zdGF0ZS5udW1iZXIpCi0KLSAgICAgICAgZXhjZXB0IEtleWJvYXJk
SW50ZXJydXB0OgotICAgICAgICAgICAgc2VsZi5fcHJpbnRlci5wcmludF91cGRhdGUoJ0ludGVy
cnVwdGVkLCBleGl0aW5nIC4uLicpCi0gICAgICAgICAgICBzZWxmLmNhbmNlbF93b3JrZXJzKCkK
LSAgICAgICAgICAgIGtleWJvYXJkX2ludGVycnVwdGVkID0gVHJ1ZQotICAgICAgICBleGNlcHQg
VGVzdFJ1bkludGVycnVwdGVkRXhjZXB0aW9uLCBlOgotICAgICAgICAgICAgX2xvZy53YXJuaW5n
KGUucmVhc29uKQotICAgICAgICAgICAgc2VsZi5jYW5jZWxfd29ya2VycygpCi0gICAgICAgICAg
ICBpbnRlcnJ1cHRlZCA9IFRydWUKLSAgICAgICAgZXhjZXB0IFdvcmtlckV4Y2VwdGlvbjoKLSAg
ICAgICAgICAgIHNlbGYuY2FuY2VsX3dvcmtlcnMoKQotICAgICAgICAgICAgcmFpc2UKLSAgICAg
ICAgZXhjZXB0OgotICAgICAgICAgICAgIyBVbmV4cGVjdGVkIGV4Y2VwdGlvbjsgZG9uJ3QgdHJ5
IHRvIGNsZWFuIHVwIHdvcmtlcnMuCi0gICAgICAgICAgICBfbG9nLmVycm9yKCJFeGNlcHRpb24g
cmFpc2VkLCBleGl0aW5nIikKLSAgICAgICAgICAgIHNlbGYuY2FuY2VsX3dvcmtlcnMoKQotICAg
ICAgICAgICAgcmFpc2UKKyAgICAgICAgICAgIGludGVycnVwdGVkLCBrZXlib2FyZF9pbnRlcnJ1
cHRlZCA9IG1hbmFnZXJfY29ubmVjdGlvbi5ydW5fc2hhcmRzKGFsbF9zaGFyZHMsCisgICAgICAg
ICAgICAgICAgd29ya2VyX3N0YXJ0dXBfZGVsYXlfc2Vjcz1zZWxmLl9wb3J0Lndvcmtlcl9zdGFy
dHVwX2RlbGF5X3NlY3MoKSwKKyAgICAgICAgICAgICAgICB3b3JrZXJfYXJncz10dXBsZShbc2Vs
Zi5yZXN1bHRzX2RpcmVjdG9yeSgpLCBzZWxmLl9vcHRpb25zXSksCisgICAgICAgICAgICAgICAg
aW5saW5lX2FyZ3M9dHVwbGUoW3NlbGYuX3BvcnRdKSkKICAgICAgICAgZmluYWxseToKICAgICAg
ICAgICAgIHNlbGYuc3RvcF9zZXJ2ZXJzX3dpdGhfbG9jaygpCiAKLSAgICAgICAgdGhyZWFkX3Rp
bWluZ3MgPSBbd29ya2VyX3N0YXRlLnN0YXRzIGZvciB3b3JrZXJfc3RhdGUgaW4gc2VsZi5fd29y
a2VyX3N0YXRlcy52YWx1ZXMoKV0KKyAgICAgICAgdGhyZWFkX3RpbWluZ3MgPSBtYW5hZ2VyX2Nv
bm5lY3Rpb24udGhyZWFkX3RpbWluZ3MoKQogCiAgICAgICAgICMgRklYTUU6IHNob3VsZCB0aGlz
IGJlIGEgY2xhc3MgaW5zdGVhZCBvZiBhIHR1cGxlPwogICAgICAgICByZXR1cm4gKGludGVycnVw
dGVkLCBrZXlib2FyZF9pbnRlcnJ1cHRlZCwgdGhyZWFkX3RpbWluZ3MsIHNlbGYuX2dyb3VwX3N0
YXRzLCBzZWxmLl9hbGxfcmVzdWx0cykKQEAgLTk4Niw3ICs5MTksNyBAQCBjbGFzcyBNYW5hZ2Vy
KG9iamVjdCk6CiAgICAgICAgIGRlZiBpbnRlcnJ1cHRfaWZfYXRfZmFpbHVyZV9saW1pdChsaW1p
dCwgZmFpbHVyZV9jb3VudCwgcmVzdWx0X3N1bW1hcnksIG1lc3NhZ2UpOgogICAgICAgICAgICAg
aWYgbGltaXQgYW5kIGZhaWx1cmVfY291bnQgPj0gbGltaXQ6CiAgICAgICAgICAgICAgICAgbWVz
c2FnZSArPSAiICVkIHRlc3RzIHJ1bi4iICUgKHJlc3VsdF9zdW1tYXJ5LmV4cGVjdGVkICsgcmVz
dWx0X3N1bW1hcnkudW5leHBlY3RlZCkKLSAgICAgICAgICAgICAgICByYWlzZSBUZXN0UnVuSW50
ZXJydXB0ZWRFeGNlcHRpb24obWVzc2FnZSkKKyAgICAgICAgICAgICAgICByYWlzZSBtYW5hZ2Vy
X3dvcmtlcl9icm9rZXIuVGVzdFJ1bkludGVycnVwdGVkRXhjZXB0aW9uKG1lc3NhZ2UpCiAKICAg
ICAgICAgaW50ZXJydXB0X2lmX2F0X2ZhaWx1cmVfbGltaXQoCiAgICAgICAgICAgICBzZWxmLl9v
cHRpb25zLmV4aXRfYWZ0ZXJfbl9mYWlsdXJlcywKQEAgLTEzODUsNDEgKzEzMTgsNyBAQCBjbGFz
cyBNYW5hZ2VyKG9iamVjdCk6CiAgICAgICAgIHJlc3VsdHNfZmlsZW5hbWUgPSBzZWxmLl9maWxl
c3lzdGVtLmpvaW4oc2VsZi5fcmVzdWx0c19kaXJlY3RvcnksICJyZXN1bHRzLmh0bWwiKQogICAg
ICAgICBzZWxmLl9wb3J0LnNob3dfcmVzdWx0c19odG1sX2ZpbGUocmVzdWx0c19maWxlbmFtZSkK
IAotICAgIGRlZiBuYW1lKHNlbGYpOgotICAgICAgICByZXR1cm4gJ01hbmFnZXInCi0KLSAgICBk
ZWYgaXNfZG9uZShzZWxmKToKLSAgICAgICAgd29ya2VyX3N0YXRlcyA9IHNlbGYuX3dvcmtlcl9z
dGF0ZXMudmFsdWVzKCkKLSAgICAgICAgcmV0dXJuIHdvcmtlcl9zdGF0ZXMgYW5kIGFsbChzZWxm
Ll93b3JrZXJfaXNfZG9uZSh3b3JrZXJfc3RhdGUpIGZvciB3b3JrZXJfc3RhdGUgaW4gd29ya2Vy
X3N0YXRlcykKLQotICAgICMgRklYTUU6IElubGluZSB0aGlzIGZ1bmN0aW9uLgotICAgIGRlZiBf
d29ya2VyX2lzX2RvbmUoc2VsZiwgd29ya2VyX3N0YXRlKToKLSAgICAgICAgcmV0dXJuIHdvcmtl
cl9zdGF0ZS5kb25lCi0KLSAgICBkZWYgY2FuY2VsX3dvcmtlcnMoc2VsZik6Ci0gICAgICAgIGZv
ciB3b3JrZXJfc3RhdGUgaW4gc2VsZi5fd29ya2VyX3N0YXRlcy52YWx1ZXMoKToKLSAgICAgICAg
ICAgIHdvcmtlcl9zdGF0ZS53b3JrZXJfY29ubmVjdGlvbi5jYW5jZWwoKQotCi0gICAgZGVmIGhh
bmRsZV9zdGFydGVkX3Rlc3Qoc2VsZiwgc291cmNlLCB0ZXN0X2luZm8sIGhhbmdfdGltZW91dCk6
Ci0gICAgICAgIHdvcmtlcl9zdGF0ZSA9IHNlbGYuX3dvcmtlcl9zdGF0ZXNbc291cmNlXQotICAg
ICAgICB3b3JrZXJfc3RhdGUuY3VycmVudF90ZXN0X25hbWUgPSB0ZXN0X2luZm8udGVzdF9uYW1l
Ci0gICAgICAgIHdvcmtlcl9zdGF0ZS5uZXh0X3RpbWVvdXQgPSB0aW1lLnRpbWUoKSArIGhhbmdf
dGltZW91dAotCi0gICAgZGVmIGhhbmRsZV9kb25lKHNlbGYsIHNvdXJjZSk6Ci0gICAgICAgIHdv
cmtlcl9zdGF0ZSA9IHNlbGYuX3dvcmtlcl9zdGF0ZXNbc291cmNlXQotICAgICAgICB3b3JrZXJf
c3RhdGUuZG9uZSA9IFRydWUKLQotICAgIGRlZiBoYW5kbGVfZXhjZXB0aW9uKHNlbGYsIHNvdXJj
ZSwgZXhjZXB0aW9uX3R5cGUsIGV4Y2VwdGlvbl92YWx1ZSwgc3RhY2spOgotICAgICAgICBpZiBl
eGNlcHRpb25fdHlwZSBpbiAoS2V5Ym9hcmRJbnRlcnJ1cHQsIFRlc3RSdW5JbnRlcnJ1cHRlZEV4
Y2VwdGlvbik6Ci0gICAgICAgICAgICByYWlzZSBleGNlcHRpb25fdHlwZShleGNlcHRpb25fdmFs
dWUpCi0gICAgICAgIF9sb2cuZXJyb3IoIiVzIHJhaXNlZCAlcygnJXMnKToiICUgKAotICAgICAg
ICAgICAgICAgICAgIHNvdXJjZSwKLSAgICAgICAgICAgICAgICAgICBleGNlcHRpb25fdmFsdWUu
X19jbGFzc19fLl9fbmFtZV9fLAotICAgICAgICAgICAgICAgICAgIHN0cihleGNlcHRpb25fdmFs
dWUpKSkKLSAgICAgICAgc2VsZi5fbG9nX3dvcmtlcl9zdGFjayhzdGFjaykKLSAgICAgICAgcmFp
c2UgV29ya2VyRXhjZXB0aW9uKHN0cihleGNlcHRpb25fdmFsdWUpKQotCi0gICAgZGVmIGhhbmRs
ZV9maW5pc2hlZF9saXN0KHNlbGYsIHNvdXJjZSwgbGlzdF9uYW1lLCBudW1fdGVzdHMsIGVsYXBz
ZWRfdGltZSk6CisgICAgZGVmIGZpbmlzaGVkX2xpc3Qoc2VsZiwgbGlzdF9uYW1lLCBudW1fdGVz
dHMsIGVsYXBzZWRfdGltZSk6CiAgICAgICAgIHNlbGYuX2dyb3VwX3N0YXRzW2xpc3RfbmFtZV0g
PSAobnVtX3Rlc3RzLCBlbGFwc2VkX3RpbWUpCiAKICAgICAgICAgZGVmIGZpbmQobmFtZSwgdGVz
dF9saXN0cyk6CkBAIC0xNDM0LDI0ICsxMzMzLDEwIEBAIGNsYXNzIE1hbmFnZXIob2JqZWN0KToK
ICAgICAgICAgICAgIGlmIG5vdCBzZWxmLl9yZW1haW5pbmdfbG9ja2VkX3NoYXJkczoKICAgICAg
ICAgICAgICAgICBzZWxmLnN0b3Bfc2VydmVyc193aXRoX2xvY2soKQogCi0gICAgZGVmIGhhbmRs
ZV9maW5pc2hlZF90ZXN0KHNlbGYsIHNvdXJjZSwgcmVzdWx0LCBlbGFwc2VkX3RpbWUpOgotICAg
ICAgICB3b3JrZXJfc3RhdGUgPSBzZWxmLl93b3JrZXJfc3RhdGVzW3NvdXJjZV0KLSAgICAgICAg
d29ya2VyX3N0YXRlLm5leHRfdGltZW91dCA9IE5vbmUKLSAgICAgICAgd29ya2VyX3N0YXRlLmN1
cnJlbnRfdGVzdF9uYW1lID0gTm9uZQotICAgICAgICB3b3JrZXJfc3RhdGUuc3RhdHNbJ3RvdGFs
X3RpbWUnXSArPSBlbGFwc2VkX3RpbWUKLSAgICAgICAgd29ya2VyX3N0YXRlLnN0YXRzWydudW1f
dGVzdHMnXSArPSAxCi0KKyAgICBkZWYgZmluaXNoZWRfdGVzdChzZWxmLCByZXN1bHQsIGVsYXBz
ZWRfdGltZSk6CiAgICAgICAgIHNlbGYuX2FsbF9yZXN1bHRzLmFwcGVuZChyZXN1bHQpCiAgICAg
ICAgIHNlbGYuX3VwZGF0ZV9zdW1tYXJ5X3dpdGhfcmVzdWx0KHNlbGYuX2N1cnJlbnRfcmVzdWx0
X3N1bW1hcnksIHJlc3VsdCkKIAotICAgIGRlZiBfbG9nX3dvcmtlcl9zdGFjayhzZWxmLCBzdGFj
ayk6Ci0gICAgICAgIHdlYmtpdHB5ZGlyID0gc2VsZi5fcG9ydC5wYXRoX2Zyb21fd2Via2l0X2Jh
c2UoJ1Rvb2xzJywgJ1NjcmlwdHMnLCAnd2Via2l0cHknKSArIHNlbGYuX2ZpbGVzeXN0ZW0uc2Vw
Ci0gICAgICAgIGZvciBmaWxlbmFtZSwgbGluZV9udW1iZXIsIGZ1bmN0aW9uX25hbWUsIHRleHQg
aW4gc3RhY2s6Ci0gICAgICAgICAgICBpZiBmaWxlbmFtZS5zdGFydHN3aXRoKHdlYmtpdHB5ZGly
KToKLSAgICAgICAgICAgICAgICBmaWxlbmFtZSA9IGZpbGVuYW1lLnJlcGxhY2Uod2Via2l0cHlk
aXIsICcnKQotICAgICAgICAgICAgX2xvZy5lcnJvcignICAlczoldSAoaW4gJXMpJyAlIChmaWxl
bmFtZSwgbGluZV9udW1iZXIsIGZ1bmN0aW9uX25hbWUpKQotICAgICAgICAgICAgX2xvZy5lcnJv
cignICAgICVzJyAlIHRleHQpCi0KIAogZGVmIHJlYWRfdGVzdF9maWxlcyhmcywgZmlsZW5hbWVz
LCB0ZXN0X3BhdGhfc2VwYXJhdG9yKToKICAgICB0ZXN0cyA9IFtdCkBAIC0xNTAwLDIwICsxMzg1
LDMgQEAgZGVmIG5hdHVyYWxfc29ydF9rZXkoc3RyaW5nX3RvX3NwbGl0KToKICAgICAgICAgICAg
IHJldHVybiB2YWwKIAogICAgIHJldHVybiBbdHJ5aW50KGNodW5rKSBmb3IgY2h1bmsgaW4gcmUu
c3BsaXQoJyhcZCspJywgc3RyaW5nX3RvX3NwbGl0KV0KLQotCi1jbGFzcyBfV29ya2VyU3RhdGUo
b2JqZWN0KToKLSAgICAiIiJBIGNsYXNzIGZvciB0aGUgbWFuYWdlciB0byB1c2UgdG8gdHJhY2sg
dGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIHdvcmtlcnMuIiIiCi0gICAgZGVmIF9faW5pdF9fKHNl
bGYsIG51bWJlciwgd29ya2VyX2Nvbm5lY3Rpb24pOgotICAgICAgICBzZWxmLndvcmtlcl9jb25u
ZWN0aW9uID0gd29ya2VyX2Nvbm5lY3Rpb24KLSAgICAgICAgc2VsZi5udW1iZXIgPSBudW1iZXIK
LSAgICAgICAgc2VsZi5kb25lID0gRmFsc2UKLSAgICAgICAgc2VsZi5jdXJyZW50X3Rlc3RfbmFt
ZSA9IE5vbmUKLSAgICAgICAgc2VsZi5uZXh0X3RpbWVvdXQgPSBOb25lCi0gICAgICAgIHNlbGYu
c3RhdHMgPSB7fQotICAgICAgICBzZWxmLnN0YXRzWyduYW1lJ10gPSB3b3JrZXJfY29ubmVjdGlv
bi5uYW1lKCkKLSAgICAgICAgc2VsZi5zdGF0c1snbnVtX3Rlc3RzJ10gPSAwCi0gICAgICAgIHNl
bGYuc3RhdHNbJ3RvdGFsX3RpbWUnXSA9IDAKLQotICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKLSAg
ICAgICAgcmV0dXJuICJfV29ya2VyU3RhdGUoIiArIHN0cihzZWxmLl9fZGljdF9fKSArICIpIgpk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxl
cnMvbWFuYWdlcl93b3JrZXJfYnJva2VyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlcl93b3JrZXJfYnJva2VyLnB5CmluZGV4IDE3NmVm
MDBjNzMwYTI1MjExMjA2M2M4ZTg5OThhNmNlYzA5MzAxNjEuLjAzNTg4MGQzMjFkZjdkMmJjMmUx
OGRhOTg5ZjlmOGE1ZDY5MjVjMDggMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXJfd29ya2VyX2Jyb2tlci5weQorKysgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyX3dv
cmtlcl9icm9rZXIucHkKQEAgLTcxLDYgKzcxLDcgQEAgaW1wb3J0IG11bHRpcHJvY2Vzc2luZwog
aW1wb3J0IG9wdHBhcnNlCiBpbXBvcnQgUXVldWUKIGltcG9ydCBzeXMKK2ltcG9ydCB0aW1lCiBp
bXBvcnQgdHJhY2ViYWNrCiAKIApAQCAtMTA3LDcgKzEwOCwzMCBAQCBkZWYgZ2V0KG1heF93b3Jr
ZXJzLCBjbGllbnQsIHdvcmtlcl9jbGFzcyk6CiAgICAgICAgIG1hbmFnZXJfY2xhc3MgPSBfTXVs
dGlQcm9jZXNzTWFuYWdlcgogCiAgICAgYnJva2VyID0gX0Jyb2tlcihxdWV1ZV9jbGFzcykKLSAg
ICByZXR1cm4gbWFuYWdlcl9jbGFzcyhicm9rZXIsIGNsaWVudCwgd29ya2VyX2NsYXNzKQorICAg
IHJldHVybiBtYW5hZ2VyX2NsYXNzKGJyb2tlciwgY2xpZW50LCB3b3JrZXJfY2xhc3MsIG1heF93
b3JrZXJzKQorCisKK2NsYXNzIFRlc3RSdW5JbnRlcnJ1cHRlZEV4Y2VwdGlvbihFeGNlcHRpb24p
OgorICAgICIiIlJhaXNlZCB3aGVuIGEgdGVzdCBydW4gc2hvdWxkIGJlIHN0b3BwZWQgaW1tZWRp
YXRlbHkuIiIiCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHJlYXNvbik6CisgICAgICAgIEV4Y2Vw
dGlvbi5fX2luaXRfXyhzZWxmKQorICAgICAgICBzZWxmLnJlYXNvbiA9IHJlYXNvbgorICAgICAg
ICBzZWxmLm1zZyA9IHJlYXNvbgorCisgICAgZGVmIF9fcmVkdWNlX18oc2VsZik6CisgICAgICAg
IHJldHVybiBzZWxmLl9fY2xhc3NfXywgKHNlbGYucmVhc29uLCkKKworCitjbGFzcyBXb3JrZXJF
eGNlcHRpb24oRXhjZXB0aW9uKToKKyAgICAiIiJSYWlzZWQgd2hlbiB3ZSByZWNlaXZlIGFuIHVu
ZXhwZWN0ZWQvdW5rbm93biBleGNlcHRpb24gZnJvbSBhIHdvcmtlci4iIiIKKyAgICBwYXNzCisK
KworY2xhc3MgV29ya2VyQXJndW1lbnRzKG9iamVjdCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYs
IHdvcmtlcl9udW1iZXIsIHJlc3VsdHNfZGlyZWN0b3J5PU5vbmUsIG9wdGlvbnM9Tm9uZSk6Cisg
ICAgICAgIHNlbGYud29ya2VyX251bWJlciA9IHdvcmtlcl9udW1iZXIKKyAgICAgICAgc2VsZi5y
ZXN1bHRzX2RpcmVjdG9yeSA9IHJlc3VsdHNfZGlyZWN0b3J5CisgICAgICAgIHNlbGYub3B0aW9u
cyA9IG9wdGlvbnMKIAogCiBjbGFzcyBCcm9rZXJDbGllbnQob2JqZWN0KToKQEAgLTEyOSw3ICsx
NTMsNiBAQCBjbGFzcyBCcm9rZXJDbGllbnQob2JqZWN0KToKICAgICAgICAgIiIiUmV0dXJuIGEg
bmFtZSB0aGF0IGlkZW50aWZpZXMgdGhlIGNsaWVudC4iIiIKICAgICAgICAgcmFpc2UgTm90SW1w
bGVtZW50ZWRFcnJvcgogCi0KIGNsYXNzIF9Ccm9rZXIob2JqZWN0KToKICAgICAiIiJCcm9rZXJz
IHByb3ZpZGUgdGhlIGJhc2ljIG1vZGVsIG9mIGEgc2V0IG9mIHRvcGljcy4gQ2xpZW50cyBjYW4g
cG9zdCBhCiAgICAgbWVzc2FnZSB0byBhbnkgdG9waWMgdXNpbmcgcG9zdF9tZXNzYWdlKCksIGFu
ZCBjYW4gcHJvY2VzcyBtZXNzYWdlcyBvbiBvbmUKQEAgLTI1OSw5ICsyODIsNiBAQCBjbGFzcyBB
YnN0cmFjdFdvcmtlcihCcm9rZXJDbGllbnQpOgogICAgICAgICBzZWxmLl9kb25lID0gRmFsc2UK
ICAgICAgICAgc2VsZi5fY2FuY2VsZWQgPSBGYWxzZQogCi0gICAgZGVmIG5hbWUoc2VsZik6Ci0g
ICAgICAgIHJldHVybiBzZWxmLl9uYW1lCi0KICAgICBkZWYgaXNfZG9uZShzZWxmKToKICAgICAg
ICAgcmV0dXJuIHNlbGYuX2RvbmUgb3Igc2VsZi5fY2FuY2VsZWQKIApAQCAtMjk2LDE2ICszMTYs
MTkgQEAgY2xhc3MgQWJzdHJhY3RXb3JrZXIoQnJva2VyQ2xpZW50KToKIAogCiBjbGFzcyBfTWFu
YWdlckNvbm5lY3Rpb24oX0Jyb2tlckNvbm5lY3Rpb24pOgotICAgIGRlZiBfX2luaXRfXyhzZWxm
LCBicm9rZXIsIGNsaWVudCwgd29ya2VyX2NsYXNzKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwg
YnJva2VyLCBjbGllbnQsIHdvcmtlcl9jbGFzcywgbWF4X3dvcmtlcnMpOgogICAgICAgICAiIiJC
YXNlIGluaXRpYWxpemF0aW9uIGZvciBhbGwgTWFuYWdlciBvYmplY3RzLgogCiAgICAgICAgIEFy
Z3M6CiAgICAgICAgICAgICBicm9rZXI6IGhhbmRsZSB0byB0aGUgbWVzc2FnZV9icm9rZXIgb2Jq
ZWN0CiAgICAgICAgICAgICBjbGllbnQ6IGNhbGxiYWNrIG9iamVjdCAodGhlIGNhbGxlcikKICAg
ICAgICAgICAgIHdvcmtlcl9jbGFzczogY2xhc3Mgb2JqZWN0IHRvIHVzZSB0byBjcmVhdGUgd29y
a2Vycy4KKyAgICAgICAgICAgIG1heF93b3JrZXJzOiBtYXggIyBvZiB3b3JrZXJzIHRvIHJ1biBj
b25jdXJyZW50bHkKICAgICAgICAgIiIiCiAgICAgICAgIF9Ccm9rZXJDb25uZWN0aW9uLl9faW5p
dF9fKHNlbGYsIGJyb2tlciwgY2xpZW50LCBNQU5BR0VSX1RPUElDLCBBTllfV09SS0VSX1RPUElD
KQogICAgICAgICBzZWxmLl93b3JrZXJfY2xhc3MgPSB3b3JrZXJfY2xhc3MKKyAgICAgICAgc2Vs
Zi5fd29ya2VyX3N0YXRlcyA9IHt9CisgICAgICAgIHNlbGYuX21heF93b3JrZXJzID0gbWF4X3dv
cmtlcnMKIAogICAgIGRlZiBzdGFydF93b3JrZXIoc2VsZiwgd29ya2VyX2FyZ3VtZW50cz1Ob25l
KToKICAgICAgICAgIiIiU3RhcnRzIGEgbmV3IHdvcmtlci4KQEAgLTMxNSwxNSArMzM4LDE0OSBA
QCBjbGFzcyBfTWFuYWdlckNvbm5lY3Rpb24oX0Jyb2tlckNvbm5lY3Rpb24pOgogICAgICAgICAi
IiIKICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcgogCisgICAgZGVmIG5hbWUoc2Vs
Zik6CisgICAgICAgIHJldHVybiAnTWFuYWdlcicKKworICAgIGRlZiBydW5fc2hhcmRzKHNlbGYs
IGFsbF9zaGFyZHMsIHdvcmtlcl9zdGFydHVwX2RlbGF5X3NlY3M9MCwgd29ya2VyX2FyZ3M9dHVw
bGUoKSwgaW5saW5lX2FyZ3M9dHVwbGUoKSk6CisgICAgICAgIGludGVycnVwdGVkID0gRmFsc2UK
KyAgICAgICAga2V5Ym9hcmRfaW50ZXJydXB0ZWQgPSBGYWxzZQorICAgICAgICBmb3Igd29ya2Vy
X251bWJlciBpbiB4cmFuZ2Uoc2VsZi5fbWF4X3dvcmtlcnMpOgorICAgICAgICAgICAgd29ya2Vy
X2FyZ3VtZW50cyA9IFdvcmtlckFyZ3VtZW50cyh3b3JrZXJfbnVtYmVyLCAqd29ya2VyX2FyZ3Mp
CisgICAgICAgICAgICB3b3JrZXJfY29ubmVjdGlvbiA9IHNlbGYuc3RhcnRfd29ya2VyKHdvcmtl
cl9hcmd1bWVudHMpCisgICAgICAgICAgICBpZiBzZWxmLl9tYXhfd29ya2VycyA9PSAxOgorICAg
ICAgICAgICAgICAgICMgZml4bWU6IHdlIG5lZWQgdG8gYmUgYWJsZSB0byBzaGFyZSBhIHBvcnQg
d2l0aCB0aGUgd29yayBzbworICAgICAgICAgICAgICAgICMgdGhhdCBzb21lIG9mIHRoZSB0ZXN0
cyBjYW4gcXVlcnkgc3RhdGUgb24gdGhlIHBvcnQ7IGlkZWFsbHkKKyAgICAgICAgICAgICAgICAj
IHdlJ2QgcmV3cml0ZSB0aGUgdGVzdHMgc28gdGhhdCB0aGlzIHdhc24ndCBuZWNlc3NhcnkuCisg
ICAgICAgICAgICAgICAgIworICAgICAgICAgICAgICAgICMgbm90ZSB0aGF0IHRoaXMgb25seSB3
b3JrcyBiZWNhdXNlIGluIHRoZSBpbmxpbmUgY2FzZQorICAgICAgICAgICAgICAgICMgdGhlIHdv
cmtlciBoYXNuJ3QgcmVhbGx5IHN0YXJ0ZWQgeWV0IGFuZCB3b24ndCBzdGFydAorICAgICAgICAg
ICAgICAgICMgcnVubmluZyB1bnRpbCB3ZSBjYWxsIHJ1bl9tZXNzYWdlX2xvb3AoKSwgYmVsb3cu
CisgICAgICAgICAgICAgICAgd29ya2VyX2Nvbm5lY3Rpb24uc2V0X2lubGluZV9hcmd1bWVudHMo
KmlubGluZV9hcmdzKQorCisgICAgICAgICAgICBpZiB3b3JrZXJfc3RhcnR1cF9kZWxheV9zZWNz
OgorICAgICAgICAgICAgICAgIHRpbWUuc2xlZXAod29ya2VyX3N0YXJ0dXBfZGVsYXlfc2VjcykK
KworICAgICAgICBmb3Igc2hhcmQgaW4gYWxsX3NoYXJkczoKKyAgICAgICAgICAgICMgRklYTUU6
IENoYW5nZSAndGVzdF9saXN0JyB0byAnc2hhcmQnLCBtYWtlIHNoYXJkaW5nIHB1YmxpYy4KKyAg
ICAgICAgICAgIHNlbGYucG9zdF9tZXNzYWdlKCd0ZXN0X2xpc3QnLCBzaGFyZC5uYW1lLCBzaGFy
ZC50ZXN0X2lucHV0cykKKworICAgICAgICAjIFdlIHBvc3Qgb25lICdzdG9wJyBtZXNzYWdlIGZv
ciBlYWNoIHdvcmtlci4gQmVjYXVzZSB0aGUgc3RvcCBtZXNzYWdlCisgICAgICAgICMgYXJlIHNl
bnQgYWZ0ZXIgYWxsIG9mIHRoZSB0ZXN0cywgYW5kIGJlY2F1c2UgZWFjaCB3b3JrZXIgd2lsbCBz
dG9wCisgICAgICAgICMgcmVhZGluZyBtZXNzc2FnZXMgYWZ0ZXIgcmVjZWl2aW5nIGEgc3RvcCwg
d2UgY2FuIGJlIHN1cmUgZWFjaAorICAgICAgICAjIHdvcmtlciB3aWxsIGdldCBhIHN0b3AgbWVz
c2FnZSBhbmQgaGVuY2UgdGhleSB3aWxsIGFsbCBzaHV0IGRvd24uCisgICAgICAgIGZvciBfIGlu
IHhyYW5nZShzZWxmLl9tYXhfd29ya2Vycyk6CisgICAgICAgICAgICBzZWxmLnBvc3RfbWVzc2Fn
ZSgnc3RvcCcpCisKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgd2hpbGUgbm90IHNlbGYuaXNf
ZG9uZSgpOgorICAgICAgICAgICAgICAgIHNlbGYucnVuX21lc3NhZ2VfbG9vcChkZWxheV9zZWNz
PTEuMCkKKworICAgICAgICAgICAgIyBNYWtlIHN1cmUgYWxsIG9mIHRoZSB3b3JrZXJzIGhhdmUg
c2h1dCBkb3duIChpZiBwb3NzaWJsZSkuCisgICAgICAgICAgICBmb3Igd29ya2VyX3N0YXRlIGlu
IHNlbGYuX3dvcmtlcl9zdGF0ZXMudmFsdWVzKCk6CisgICAgICAgICAgICAgICAgaWYgd29ya2Vy
X3N0YXRlLndvcmtlcl9jb25uZWN0aW9uLmlzX2FsaXZlKCk6CisgICAgICAgICAgICAgICAgICAg
IF9sb2cuZGVidWcoJ1dhaXRpbmcgZm9yIHdvcmtlciAlZCB0byBleGl0JyAlIHdvcmtlcl9zdGF0
ZS5udW1iZXIpCisgICAgICAgICAgICAgICAgICAgIHdvcmtlcl9zdGF0ZS53b3JrZXJfY29ubmVj
dGlvbi5qb2luKDUuMCkKKyAgICAgICAgICAgICAgICAgICAgaWYgd29ya2VyX3N0YXRlLndvcmtl
cl9jb25uZWN0aW9uLmlzX2FsaXZlKCk6CisgICAgICAgICAgICAgICAgICAgICAgICBfbG9nLmVy
cm9yKCdXb3JrZXIgJWQgZGlkIG5vdCBleGl0IGluIHRpbWUuJyAlIHdvcmtlcl9zdGF0ZS5udW1i
ZXIpCisKKyAgICAgICAgZXhjZXB0IEtleWJvYXJkSW50ZXJydXB0OgorICAgICAgICAgICAgX2xv
Zy5pbmZvKCdJbnRlcnJ1cHRlZCwgZXhpdGluZyAuLi4nKQorICAgICAgICAgICAgc2VsZi5jYW5j
ZWxfd29ya2VycygpCisgICAgICAgICAgICByYWlzZQorICAgICAgICBleGNlcHQgVGVzdFJ1bklu
dGVycnVwdGVkRXhjZXB0aW9uLCBlOgorICAgICAgICAgICAgX2xvZy53YXJuaW5nKGUucmVhc29u
KQorICAgICAgICAgICAgc2VsZi5jYW5jZWxfd29ya2VycygpCisgICAgICAgICAgICBpbnRlcnJ1
cHRlZCA9IFRydWUKKyAgICAgICAgZXhjZXB0IFdvcmtlckV4Y2VwdGlvbjoKKyAgICAgICAgICAg
IHNlbGYuY2FuY2VsX3dvcmtlcnMoKQorICAgICAgICAgICAgcmFpc2UKKyAgICAgICAgZXhjZXB0
OgorICAgICAgICAgICAgIyBVbmV4cGVjdGVkIGV4Y2VwdGlvbjsgZG9uJ3QgdHJ5IHRvIGNsZWFu
IHVwIHdvcmtlcnMuCisgICAgICAgICAgICBfbG9nLmVycm9yKCJFeGNlcHRpb24gcmFpc2VkLCBl
eGl0aW5nIikKKyAgICAgICAgICAgIHNlbGYuY2FuY2VsX3dvcmtlcnMoKQorICAgICAgICAgICAg
cmFpc2UKKworICAgICAgICByZXR1cm4gKGludGVycnVwdGVkLCBrZXlib2FyZF9pbnRlcnJ1cHRl
ZCkKKworICAgIGRlZiBjYW5jZWxfd29ya2VycyhzZWxmKToKKyAgICAgICAgZm9yIHdvcmtlcl9z
dGF0ZSBpbiBzZWxmLl93b3JrZXJfc3RhdGVzLnZhbHVlcygpOgorICAgICAgICAgICAgd29ya2Vy
X3N0YXRlLndvcmtlcl9jb25uZWN0aW9uLmNhbmNlbCgpCisKKyAgICBkZWYgaXNfZG9uZShzZWxm
KToKKyAgICAgICAgd29ya2VyX3N0YXRlcyA9IHNlbGYuX3dvcmtlcl9zdGF0ZXMudmFsdWVzKCkK
KyAgICAgICAgcmV0dXJuIHdvcmtlcl9zdGF0ZXMgYW5kIGFsbChzZWxmLl93b3JrZXJfaXNfZG9u
ZSh3b3JrZXJfc3RhdGUpIGZvciB3b3JrZXJfc3RhdGUgaW4gd29ya2VyX3N0YXRlcykKKworICAg
ICMgRklYTUU6IElubGluZSB0aGlzIGZ1bmN0aW9uLgorICAgIGRlZiBfd29ya2VyX2lzX2RvbmUo
c2VsZiwgd29ya2VyX3N0YXRlKToKKyAgICAgICAgcmV0dXJuIHdvcmtlcl9zdGF0ZS5kb25lCisK
KyAgICBkZWYgaGFuZGxlX3N0YXJ0ZWRfdGVzdChzZWxmLCBzb3VyY2UsIHRlc3RfaW5mbywgaGFu
Z190aW1lb3V0KToKKyAgICAgICAgd29ya2VyX3N0YXRlID0gc2VsZi5fd29ya2VyX3N0YXRlc1tz
b3VyY2VdCisgICAgICAgIHdvcmtlcl9zdGF0ZS5jdXJyZW50X3Rlc3RfbmFtZSA9IHRlc3RfaW5m
by50ZXN0X25hbWUKKyAgICAgICAgd29ya2VyX3N0YXRlLm5leHRfdGltZW91dCA9IHRpbWUudGlt
ZSgpICsgaGFuZ190aW1lb3V0CisKKyAgICBkZWYgaGFuZGxlX2RvbmUoc2VsZiwgc291cmNlKToK
KyAgICAgICAgd29ya2VyX3N0YXRlID0gc2VsZi5fd29ya2VyX3N0YXRlc1tzb3VyY2VdCisgICAg
ICAgIHdvcmtlcl9zdGF0ZS5kb25lID0gVHJ1ZQorCisgICAgZGVmIGhhbmRsZV9leGNlcHRpb24o
c2VsZiwgc291cmNlLCBleGNlcHRpb25fdHlwZSwgZXhjZXB0aW9uX3ZhbHVlLCBzdGFjayk6Cisg
ICAgICAgIGlmIGV4Y2VwdGlvbl90eXBlIGluIChLZXlib2FyZEludGVycnVwdCwgVGVzdFJ1bklu
dGVycnVwdGVkRXhjZXB0aW9uKToKKyAgICAgICAgICAgIHJhaXNlIGV4Y2VwdGlvbl90eXBlKGV4
Y2VwdGlvbl92YWx1ZSkKKyAgICAgICAgX2xvZy5lcnJvcigiJXMgcmFpc2VkICVzKCclcycpOiIg
JSAoCisgICAgICAgICAgICAgICAgICAgc291cmNlLAorICAgICAgICAgICAgICAgICAgIGV4Y2Vw
dGlvbl92YWx1ZS5fX2NsYXNzX18uX19uYW1lX18sCisgICAgICAgICAgICAgICAgICAgc3RyKGV4
Y2VwdGlvbl92YWx1ZSkpKQorICAgICAgICBzZWxmLl9sb2dfd29ya2VyX3N0YWNrKHN0YWNrKQor
ICAgICAgICByYWlzZSBXb3JrZXJFeGNlcHRpb24oc3RyKGV4Y2VwdGlvbl92YWx1ZSkpCisKKyAg
ICBkZWYgaGFuZGxlX2ZpbmlzaGVkX2xpc3Qoc2VsZiwgc291cmNlLCBsaXN0X25hbWUsIG51bV90
ZXN0cywgZWxhcHNlZF90aW1lKToKKyAgICAgICAgc2VsZi5fY2xpZW50LmZpbmlzaGVkX2xpc3Qo
bGlzdF9uYW1lLCBudW1fdGVzdHMsIGVsYXBzZWRfdGltZSkKKworICAgIGRlZiBoYW5kbGVfZmlu
aXNoZWRfdGVzdChzZWxmLCBzb3VyY2UsIHJlc3VsdCwgZWxhcHNlZF90aW1lKToKKyAgICAgICAg
d29ya2VyX3N0YXRlID0gc2VsZi5fd29ya2VyX3N0YXRlc1tzb3VyY2VdCisgICAgICAgIHdvcmtl
cl9zdGF0ZS5jdXJyZW50X3Rlc3RfbmFtZSA9IE5vbmUKKyAgICAgICAgd29ya2VyX3N0YXRlLnN0
YXRzWyd0b3RhbF90aW1lJ10gKz0gZWxhcHNlZF90aW1lCisgICAgICAgIHdvcmtlcl9zdGF0ZS5z
dGF0c1snbnVtX3Rlc3RzJ10gKz0gMQorCisgICAgICAgIHNlbGYuX2NsaWVudC5maW5pc2hlZF90
ZXN0KHJlc3VsdCwgZWxhcHNlZF90aW1lKQorCisgICAgZGVmIF9sb2dfd29ya2VyX3N0YWNrKHNl
bGYsIHN0YWNrKToKKyAgICAgICAgZm9yIGZpbGVuYW1lLCBsaW5lX251bWJlciwgZnVuY3Rpb25f
bmFtZSwgdGV4dCBpbiBzdGFjazoKKyAgICAgICAgICAgIF9sb2cuZXJyb3IoJyAgJXM6JXUgKGlu
ICVzKScgJSAoZmlsZW5hbWUsIGxpbmVfbnVtYmVyLCBmdW5jdGlvbl9uYW1lKSkKKyAgICAgICAg
ICAgIF9sb2cuZXJyb3IoJyAgICAlcycgJSB0ZXh0KQorCisgICAgZGVmIHRocmVhZF90aW1pbmdz
KHNlbGYpOgorICAgICAgICByZXR1cm4gW3dvcmtlcl9zdGF0ZS5zdGF0cyBmb3Igd29ya2VyX3N0
YXRlIGluIHNlbGYuX3dvcmtlcl9zdGF0ZXMudmFsdWVzKCldCisKKworY2xhc3MgX1dvcmtlclN0
YXRlKG9iamVjdCk6CisgICAgIiIiQSBjbGFzcyBmb3IgdGhlIG1hbmFnZXIgdG8gdXNlIHRvIHRy
YWNrIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSB3b3JrZXJzLiIiIgorICAgIGRlZiBfX2luaXRf
XyhzZWxmLCBudW1iZXIsIHdvcmtlcl9jb25uZWN0aW9uKToKKyAgICAgICAgc2VsZi53b3JrZXJf
Y29ubmVjdGlvbiA9IHdvcmtlcl9jb25uZWN0aW9uCisgICAgICAgIHNlbGYubnVtYmVyID0gbnVt
YmVyCisgICAgICAgIHNlbGYuZG9uZSA9IEZhbHNlCisgICAgICAgIHNlbGYuY3VycmVudF90ZXN0
X25hbWUgPSBOb25lCisgICAgICAgIHNlbGYubmV4dF90aW1lb3V0ID0gTm9uZQorICAgICAgICBz
ZWxmLnN0YXRzID0ge30KKyAgICAgICAgc2VsZi5zdGF0c1snbnVtX3Rlc3RzJ10gPSAwCisgICAg
ICAgIHNlbGYuc3RhdHNbJ3RvdGFsX3RpbWUnXSA9IDAKKworICAgIGRlZiBfX3JlcHJfXyhzZWxm
KToKKyAgICAgICAgcmV0dXJuICJfV29ya2VyU3RhdGUoIiArIHN0cihzZWxmLl9fZGljdF9fKSAr
ICIpIgorCiAKIGNsYXNzIF9JbmxpbmVNYW5hZ2VyKF9NYW5hZ2VyQ29ubmVjdGlvbik6Ci0gICAg
ZGVmIF9faW5pdF9fKHNlbGYsIGJyb2tlciwgY2xpZW50LCB3b3JrZXJfY2xhc3MpOgotICAgICAg
ICBfTWFuYWdlckNvbm5lY3Rpb24uX19pbml0X18oc2VsZiwgYnJva2VyLCBjbGllbnQsIHdvcmtl
cl9jbGFzcykKKyAgICBkZWYgX19pbml0X18oc2VsZiwgYnJva2VyLCBjbGllbnQsIHdvcmtlcl9j
bGFzcywgbWF4X3dvcmtlcnMpOgorICAgICAgICBfTWFuYWdlckNvbm5lY3Rpb24uX19pbml0X18o
c2VsZiwgYnJva2VyLCBjbGllbnQsIHdvcmtlcl9jbGFzcywgbWF4X3dvcmtlcnMpCiAgICAgICAg
IHNlbGYuX2lubGluZV93b3JrZXIgPSBOb25lCiAKICAgICBkZWYgc3RhcnRfd29ya2VyKHNlbGYs
IHdvcmtlcl9hcmd1bWVudHM9Tm9uZSk6CiAgICAgICAgIHNlbGYuX2lubGluZV93b3JrZXIgPSBf
SW5saW5lV29ya2VyQ29ubmVjdGlvbihzZWxmLl9icm9rZXIsCi0gICAgICAgICAgICBzZWxmLl9j
bGllbnQsIHNlbGYuX3dvcmtlcl9jbGFzcywgd29ya2VyX2FyZ3VtZW50cykKKyAgICAgICAgICAg
IHNlbGYsIHNlbGYuX3dvcmtlcl9jbGFzcywgd29ya2VyX2FyZ3VtZW50cykKKyAgICAgICAgd29y
a2VyX3N0YXRlID0gX1dvcmtlclN0YXRlKHdvcmtlcl9hcmd1bWVudHMud29ya2VyX251bWJlciwg
c2VsZi5faW5saW5lX3dvcmtlcikKKyAgICAgICAgd29ya2VyX3N0YXRlLnN0YXRzWyduYW1lJ10g
PSBzZWxmLl9pbmxpbmVfd29ya2VyLm5hbWUoKQorICAgICAgICBzZWxmLl93b3JrZXJfc3RhdGVz
W3NlbGYuX2lubGluZV93b3JrZXIubmFtZSgpXSA9IHdvcmtlcl9zdGF0ZQorCiAgICAgICAgIHJl
dHVybiBzZWxmLl9pbmxpbmVfd29ya2VyCiAKICAgICBkZWYgc2V0X2lubGluZV9hcmd1bWVudHMo
c2VsZiwgYXJndW1lbnRzPU5vbmUpOgpAQCAtMzM2LDcgKzQ5Myw3IEBAIGNsYXNzIF9JbmxpbmVN
YW5hZ2VyKF9NYW5hZ2VyQ29ubmVjdGlvbik6CiAgICAgICAgICMgTm90ZSB0aGF0IGRlbGF5X3Nl
Y3MgaXMgaWdub3JlZCBpbiB0aGlzIGNhc2Ugc2luY2Ugd2UgY2FuJ3QgZWFzaWx5CiAgICAgICAg
ICMgaW1wbGVtZW50IGl0LgogICAgICAgICBzZWxmLl9pbmxpbmVfd29ya2VyLnJ1bigpCi0gICAg
ICAgIHNlbGYuX2Jyb2tlci5ydW5fYWxsX3BlbmRpbmcoTUFOQUdFUl9UT1BJQywgc2VsZi5fY2xp
ZW50KQorICAgICAgICBzZWxmLl9icm9rZXIucnVuX2FsbF9wZW5kaW5nKE1BTkFHRVJfVE9QSUMs
IHNlbGYpCiAKIAogY2xhc3MgX011bHRpUHJvY2Vzc01hbmFnZXIoX01hbmFnZXJDb25uZWN0aW9u
KToKQEAgLTM0NCw4ICs1MDEsMTQgQEAgY2xhc3MgX011bHRpUHJvY2Vzc01hbmFnZXIoX01hbmFn
ZXJDb25uZWN0aW9uKToKICAgICAgICAgd29ya2VyX2Nvbm5lY3Rpb24gPSBfTXVsdGlQcm9jZXNz
V29ya2VyQ29ubmVjdGlvbihzZWxmLl9icm9rZXIsCiAgICAgICAgICAgICBzZWxmLl93b3JrZXJf
Y2xhc3MsIHdvcmtlcl9hcmd1bWVudHMpCiAgICAgICAgIHdvcmtlcl9jb25uZWN0aW9uLnN0YXJ0
KCkKKyAgICAgICAgd29ya2VyX3N0YXRlID0gX1dvcmtlclN0YXRlKHdvcmtlcl9hcmd1bWVudHMu
d29ya2VyX251bWJlciwgd29ya2VyX2Nvbm5lY3Rpb24pCisgICAgICAgIHdvcmtlcl9zdGF0ZS5z
dGF0c1snbmFtZSddID0gd29ya2VyX2Nvbm5lY3Rpb24ubmFtZSgpCisgICAgICAgIHNlbGYuX3dv
cmtlcl9zdGF0ZXNbd29ya2VyX2Nvbm5lY3Rpb24ubmFtZSgpXSA9IHdvcmtlcl9zdGF0ZQogICAg
ICAgICByZXR1cm4gd29ya2VyX2Nvbm5lY3Rpb24KIAorICAgIGRlZiBydW5fbWVzc2FnZV9sb29w
KHNlbGYsIGRlbGF5X3NlY3M9Tm9uZSk6CisgICAgICAgIHNlbGYuX2Jyb2tlci5ydW5fbWVzc2Fn
ZV9sb29wKE1BTkFHRVJfVE9QSUMsIHNlbGYsIGRlbGF5X3NlY3MpCisKIAogY2xhc3MgX1dvcmtl
ckNvbm5lY3Rpb24oX0Jyb2tlckNvbm5lY3Rpb24pOgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBi
cm9rZXIsIHdvcmtlcl9jbGFzcywgd29ya2VyX2FyZ3VtZW50cz1Ob25lKToKZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXJf
d29ya2VyX2Jyb2tlcl91bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXJfd29ya2VyX2Jyb2tlcl91bml0dGVzdC5weQppbmRl
eCAyMjg0NGZkZGY0ZjRjNjVkNTdlYjdiZGRmNDc5ODNjM2E2MjExNmE3Li5kMDhhYTk0MWIwNzI2
NTY4ZGY0YzdjZTVkNGY2NWNmM2UwMzI3YjI5IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyX3dvcmtlcl9icm9rZXJfdW5p
dHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJv
bGxlcnMvbWFuYWdlcl93b3JrZXJfYnJva2VyX3VuaXR0ZXN0LnB5CkBAIC00Niw2ICs0Niw4IEBA
IHN0b3BwaW5nX3F1ZXVlID0gTm9uZQogCiBXT1JLRVJfTkFNRSA9ICdUZXN0V29ya2VyJwogCitX
b3JrZXJBcmd1bWVudHMgPSBtYW5hZ2VyX3dvcmtlcl9icm9rZXIuV29ya2VyQXJndW1lbnRzCisK
IAogZGVmIG1ha2VfYnJva2VyKG1hbmFnZXIsIG1heF93b3JrZXJzLCBzdGFydF9xdWV1ZT1Ob25l
LCBzdG9wX3F1ZXVlPU5vbmUpOgogICAgIGdsb2JhbCBzdGFydGluZ19xdWV1ZQpAQCAtNTksMTIg
KzYxLDE1IEBAIGNsYXNzIF9UZXN0V29ya2VyKG1hbmFnZXJfd29ya2VyX2Jyb2tlci5BYnN0cmFj
dFdvcmtlcik6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHdvcmtlcl9jb25uZWN0aW9uLCB3b3Jr
ZXJfYXJndW1lbnRzPU5vbmUpOgogICAgICAgICBzdXBlcihfVGVzdFdvcmtlciwgc2VsZikuX19p
bml0X18od29ya2VyX2Nvbm5lY3Rpb24pCiAgICAgICAgIHNlbGYuX25hbWUgPSBXT1JLRVJfTkFN
RQotICAgICAgICBzZWxmLl90aGluZ190b19ncmVldCA9ICdldmVyeWJvZHknCisgICAgICAgIHNl
bGYuX2VsYXBzZWRfdGltZSA9IDEuMAogICAgICAgICBzZWxmLl9zdGFydGluZ19xdWV1ZSA9IHN0
YXJ0aW5nX3F1ZXVlCiAgICAgICAgIHNlbGYuX3N0b3BwaW5nX3F1ZXVlID0gc3RvcHBpbmdfcXVl
dWUKIAotICAgIGRlZiBzZXRfaW5saW5lX2FyZ3VtZW50cyhzZWxmLCB0aGluZ190b19ncmVldCk6
Ci0gICAgICAgIHNlbGYuX3RoaW5nX3RvX2dyZWV0ID0gdGhpbmdfdG9fZ3JlZXQKKyAgICBkZWYg
bmFtZShzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYuX25hbWUKKworICAgIGRlZiBzZXRfaW5s
aW5lX2FyZ3VtZW50cyhzZWxmLCBlbGFwc2VkX3RpbWUpOgorICAgICAgICBzZWxmLl9lbGFwc2Vk
X3RpbWUgPSBlbGFwc2VkX3RpbWUKIAogICAgIGRlZiBoYW5kbGVfc3RvcChzZWxmLCBzcmMpOgog
ICAgICAgICBzZWxmLnN0b3BfaGFuZGxpbmdfbWVzc2FnZXMoKQpAQCAtNzIsNyArNzcsNyBAQCBj
bGFzcyBfVGVzdFdvcmtlcihtYW5hZ2VyX3dvcmtlcl9icm9rZXIuQWJzdHJhY3RXb3JrZXIpOgog
ICAgIGRlZiBoYW5kbGVfdGVzdChzZWxmLCBzcmMsIGFuX2ludCwgYV9zdHIpOgogICAgICAgICBh
c3NlcnQgYW5faW50ID09IDEKICAgICAgICAgYXNzZXJ0IGFfc3RyID09ICJoZWxsbywgd29ybGQi
Ci0gICAgICAgIHNlbGYuX3dvcmtlcl9jb25uZWN0aW9uLnBvc3RfbWVzc2FnZSgndGVzdCcsIDIs
ICdoaSwgJyArIHNlbGYuX3RoaW5nX3RvX2dyZWV0KQorICAgICAgICBzZWxmLl93b3JrZXJfY29u
bmVjdGlvbi5wb3N0X21lc3NhZ2UoJ2ZpbmlzaGVkX3Rlc3QnLCAyLCBzZWxmLl9lbGFwc2VkX3Rp
bWUpCiAKICAgICBkZWYgcnVuKHNlbGYpOgogICAgICAgICBpZiBzZWxmLl9zdGFydGluZ19xdWV1
ZToKQEAgLTEwNCwyNSArMTA5LDE0IEBAIGNsYXNzIF9UZXN0c01peGluKG9iamVjdCk6CiAgICAg
ZGVmIG5hbWUoc2VsZik6CiAgICAgICAgIHJldHVybiAnVGVzdGVyTWFuYWdlcicKIAotICAgIGRl
ZiBpc19kb25lKHNlbGYpOgotICAgICAgICByZXR1cm4gc2VsZi5fZG9uZQotCi0gICAgZGVmIGhh
bmRsZV9kb25lKHNlbGYsIHNyYyk6Ci0gICAgICAgIHNlbGYuX2RvbmUgPSBUcnVlCi0KLSAgICBk
ZWYgaGFuZGxlX3Rlc3Qoc2VsZiwgc3JjLCBhbl9pbnQsIGFfc3RyKToKKyAgICBkZWYgZmluaXNo
ZWRfdGVzdChzZWxmLCBhbl9pbnQsIGVsYXBzZWRfdGltZSk6CiAgICAgICAgIHNlbGYuX2FuX2lu
dCA9IGFuX2ludAotICAgICAgICBzZWxmLl9hX3N0ciA9IGFfc3RyCi0KLSAgICBkZWYgaGFuZGxl
X2V4Y2VwdGlvbihzZWxmLCBzcmMsIGV4Y2VwdGlvbl90eXBlLCBleGNlcHRpb25fdmFsdWUsIHN0
YWNrKToKLSAgICAgICAgcmFpc2UgZXhjZXB0aW9uX3R5cGUoZXhjZXB0aW9uX3ZhbHVlKQorICAg
ICAgICBzZWxmLl9lbGFwc2VkX3RpbWUgPSBlbGFwc2VkX3RpbWUKIAogICAgIGRlZiBzZXRVcChz
ZWxmKToKICAgICAgICAgc2VsZi5fYW5faW50ID0gTm9uZQogICAgICAgICBzZWxmLl9hX3N0ciA9
IE5vbmUKICAgICAgICAgc2VsZi5fYnJva2VyID0gTm9uZQotICAgICAgICBzZWxmLl9kb25lID0g
RmFsc2UKLSAgICAgICAgc2VsZi5fZXhjZXB0aW9uID0gTm9uZQogICAgICAgICBzZWxmLl9tYXhf
d29ya2VycyA9IE5vbmUKIAogICAgIGRlZiBtYWtlX2Jyb2tlcihzZWxmLCBzdGFydGluZ19xdWV1
ZT1Ob25lLCBzdG9wcGluZ19xdWV1ZT1Ob25lKToKQEAgLTEzMSw3ICsxMjUsNyBAQCBjbGFzcyBf
VGVzdHNNaXhpbihvYmplY3QpOgogCiAgICAgZGVmIHRlc3RfbmFtZShzZWxmKToKICAgICAgICAg
c2VsZi5tYWtlX2Jyb2tlcigpCi0gICAgICAgIHdvcmtlciA9IHNlbGYuX2Jyb2tlci5zdGFydF93
b3JrZXIoKQorICAgICAgICB3b3JrZXIgPSBzZWxmLl9icm9rZXIuc3RhcnRfd29ya2VyKFdvcmtl
ckFyZ3VtZW50cygxKSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMod29ya2VyLm5hbWUoKSwg
V09SS0VSX05BTUUpCiAgICAgICAgIHdvcmtlci5jYW5jZWwoKQogICAgICAgICB3b3JrZXIuam9p
bigwLjEpCkBAIC0xMzksNyArMTMzLDcgQEAgY2xhc3MgX1Rlc3RzTWl4aW4ob2JqZWN0KToKIAog
ICAgIGRlZiB0ZXN0X2NhbmNlbChzZWxmKToKICAgICAgICAgc2VsZi5tYWtlX2Jyb2tlcigpCi0g
ICAgICAgIHdvcmtlciA9IHNlbGYuX2Jyb2tlci5zdGFydF93b3JrZXIoKQorICAgICAgICB3b3Jr
ZXIgPSBzZWxmLl9icm9rZXIuc3RhcnRfd29ya2VyKFdvcmtlckFyZ3VtZW50cygxKSkKICAgICAg
ICAgd29ya2VyLmNhbmNlbCgpCiAgICAgICAgIHNlbGYuX2Jyb2tlci5wb3N0X21lc3NhZ2UoJ3Rl
c3QnLCAxLCAnaGVsbG8sIHdvcmxkJykKICAgICAgICAgd29ya2VyLmpvaW4oMC4xKQpAQCAtMTQ3
LDE5ICsxNDEsMTggQEAgY2xhc3MgX1Rlc3RzTWl4aW4ob2JqZWN0KToKIAogICAgIGRlZiB0ZXN0
X2RvbmUoc2VsZik6CiAgICAgICAgIHNlbGYubWFrZV9icm9rZXIoKQotICAgICAgICB3b3JrZXIg
PSBzZWxmLl9icm9rZXIuc3RhcnRfd29ya2VyKCkKKyAgICAgICAgd29ya2VyID0gc2VsZi5fYnJv
a2VyLnN0YXJ0X3dvcmtlcihXb3JrZXJBcmd1bWVudHMoMSkpCiAgICAgICAgIHNlbGYuX2Jyb2tl
ci5wb3N0X21lc3NhZ2UoJ3Rlc3QnLCAxLCAnaGVsbG8sIHdvcmxkJykKICAgICAgICAgc2VsZi5f
YnJva2VyLnBvc3RfbWVzc2FnZSgnc3RvcCcpCiAgICAgICAgIHNlbGYuX2Jyb2tlci5ydW5fbWVz
c2FnZV9sb29wKCkKICAgICAgICAgd29ya2VyLmpvaW4oMC41KQogICAgICAgICBzZWxmLmFzc2Vy
dEZhbHNlKHdvcmtlci5pc19hbGl2ZSgpKQotICAgICAgICBzZWxmLmFzc2VydFRydWUoc2VsZi5p
c19kb25lKCkpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5fYW5faW50LCAyKQotICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuX2Ffc3RyLCAnaGksIGV2ZXJ5Ym9keScpCisgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5fZWxhcHNlZF90aW1lLCAxLjApCiAKICAgICBkZWYg
dGVzdF91bmtub3duX21lc3NhZ2Uoc2VsZik6CiAgICAgICAgIHNlbGYubWFrZV9icm9rZXIoKQot
ICAgICAgICB3b3JrZXIgPSBzZWxmLl9icm9rZXIuc3RhcnRfd29ya2VyKCkKKyAgICAgICAgd29y
a2VyID0gc2VsZi5fYnJva2VyLnN0YXJ0X3dvcmtlcihXb3JrZXJBcmd1bWVudHMoMSkpCiAgICAg
ICAgIHNlbGYuX2Jyb2tlci5wb3N0X21lc3NhZ2UoJ3Vua25vd24nKQogICAgICAgICB0cnk6CiAg
ICAgICAgICAgICBzZWxmLl9icm9rZXIucnVuX21lc3NhZ2VfbG9vcCgpCkBAIC0xNjcsNiArMTYw
LDkgQEAgY2xhc3MgX1Rlc3RzTWl4aW4ob2JqZWN0KToKICAgICAgICAgZXhjZXB0IFZhbHVlRXJy
b3IsIGU6CiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhzdHIoZSksCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiJXM6IHJlY2VpdmVkIG1lc3NhZ2UgJ3Vua25vd24nIGl0IGNv
dWxkbid0IGhhbmRsZSIgJSBXT1JLRVJfTkFNRSkKKyAgICAgICAgZXhjZXB0IG1hbmFnZXJfd29y
a2VyX2Jyb2tlci5Xb3JrZXJFeGNlcHRpb24sIGU6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVx
dWFscyhzdHIoZSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXM6IHJlY2VpdmVk
IG1lc3NhZ2UgJ3Vua25vd24nIGl0IGNvdWxkbid0IGhhbmRsZSIgJSBXT1JLRVJfTkFNRSkKICAg
ICAgICAgZmluYWxseToKICAgICAgICAgICAgIHdvcmtlci5qb2luKDAuNSkKICAgICAgICAgc2Vs
Zi5hc3NlcnRGYWxzZSh3b3JrZXIuaXNfYWxpdmUoKSkKQEAgLTE3OSwxMiArMTc1LDEyIEBAIGNs
YXNzIElubGluZUJyb2tlclRlc3RzKF9UZXN0c01peGluLCB1bml0dGVzdC5UZXN0Q2FzZSk6CiAK
ICAgICBkZWYgdGVzdF9pbmxpbmVfYXJndW1lbnRzKHNlbGYpOgogICAgICAgICBzZWxmLm1ha2Vf
YnJva2VyKCkKLSAgICAgICAgd29ya2VyID0gc2VsZi5fYnJva2VyLnN0YXJ0X3dvcmtlcigpCi0g
ICAgICAgIHdvcmtlci5zZXRfaW5saW5lX2FyZ3VtZW50cygnbWUnKQorICAgICAgICB3b3JrZXIg
PSBzZWxmLl9icm9rZXIuc3RhcnRfd29ya2VyKFdvcmtlckFyZ3VtZW50cygxKSkKKyAgICAgICAg
d29ya2VyLnNldF9pbmxpbmVfYXJndW1lbnRzKDIuMCkKICAgICAgICAgc2VsZi5fYnJva2VyLnBv
c3RfbWVzc2FnZSgndGVzdCcsIDEsICdoZWxsbywgd29ybGQnKQogICAgICAgICBzZWxmLl9icm9r
ZXIucG9zdF9tZXNzYWdlKCdzdG9wJykKICAgICAgICAgc2VsZi5fYnJva2VyLnJ1bl9tZXNzYWdl
X2xvb3AoKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhzZWxmLl9hX3N0ciwgJ2hpLCBtZScp
CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHNlbGYuX2VsYXBzZWRfdGltZSwgMi4wKQogCiAK
ICMgRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NDUyMC4K
QEAgLTIxMiw3ICsyMDgsNyBAQCBjbGFzcyBJbnRlcmZhY2VUZXN0KHVuaXR0ZXN0LlRlc3RDYXNl
KToKICAgICAgICAgIyBUZXN0IHRoYXQgYWxsIHRoZSBiYXNlIGNsYXNzIG1ldGhvZHMgYXJlIGFi
c3RyYWN0IGFuZCBoYXZlIHRoZQogICAgICAgICAjIHNpZ25hdHVyZSB3ZSBleHBlY3QuCiAgICAg
ICAgIGJyb2tlciA9IG1ha2VfYnJva2VyKHNlbGYsICdpbmxpbmUnKQotICAgICAgICBvYmogPSBt
YW5hZ2VyX3dvcmtlcl9icm9rZXIuX01hbmFnZXJDb25uZWN0aW9uKGJyb2tlci5fYnJva2VyLCBz
ZWxmLCBOb25lKQorICAgICAgICBvYmogPSBtYW5hZ2VyX3dvcmtlcl9icm9rZXIuX01hbmFnZXJD
b25uZWN0aW9uKGJyb2tlci5fYnJva2VyLCBzZWxmLCBOb25lLCAxKQogICAgICAgICBzZWxmLmFz
c2VydFJhaXNlcyhOb3RJbXBsZW1lbnRlZEVycm9yLCBvYmouc3RhcnRfd29ya2VyKQogCiAgICAg
ZGVmIHRlc3Rfd29ya2VyY29ubmVjdGlvbl9pc19hYnN0cmFjdChzZWxmKToKZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL3dvcmtlci5w
eSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL3dvcmtl
ci5weQppbmRleCAyMmMwYTVmMDQyMzEwNWUzMDkzOGI4ZWYzNTI3ZGM2N2UyMDI5YWEyLi5hNGUy
MTFlOGUwYjY0MmUwMmVkMjc4YmZmODA1NWI0NGQzNjVhODkyIDEwMDY0NAotLS0gYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy93b3JrZXIucHkKKysrIGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvd29ya2VyLnB5
CkBAIC00NCwxMSArNDQsNyBAQCBmcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cy52aWV3cyBpbXBv
cnQgcHJpbnRpbmcKIF9sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKIAogCi1jbGFz
cyBXb3JrZXJBcmd1bWVudHMob2JqZWN0KToKLSAgICBkZWYgX19pbml0X18oc2VsZiwgd29ya2Vy
X251bWJlciwgcmVzdWx0c19kaXJlY3RvcnksIG9wdGlvbnMpOgotICAgICAgICBzZWxmLndvcmtl
cl9udW1iZXIgPSB3b3JrZXJfbnVtYmVyCi0gICAgICAgIHNlbGYucmVzdWx0c19kaXJlY3Rvcnkg
PSByZXN1bHRzX2RpcmVjdG9yeQotICAgICAgICBzZWxmLm9wdGlvbnMgPSBvcHRpb25zCitXb3Jr
ZXJBcmd1bWVudHMgPSBtYW5hZ2VyX3dvcmtlcl9icm9rZXIuV29ya2VyQXJndW1lbnRzCiAKIAog
Y2xhc3MgV29ya2VyKG1hbmFnZXJfd29ya2VyX2Jyb2tlci5BYnN0cmFjdFdvcmtlcik6CkBAIC03
MCw2ICs2Niw5IEBAIGNsYXNzIFdvcmtlcihtYW5hZ2VyX3dvcmtlcl9icm9rZXIuQWJzdHJhY3RX
b3JrZXIpOgogICAgIGRlZiBfX2RlbF9fKHNlbGYpOgogICAgICAgICBzZWxmLmNsZWFudXAoKQog
CisgICAgZGVmIG5hbWUoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLl9uYW1lCisKICAgICBk
ZWYgc2FmZV9pbml0KHNlbGYpOgogICAgICAgICAiIiJUaGlzIG1ldGhvZCBzaG91bGQgb25seSBi
ZSBjYWxsZWQgd2hlbiBpdCBpcyBpcyBzYWZlIGZvciB0aGUgbWl4aW4KICAgICAgICAgdG8gY3Jl
YXRlIHN0YXRlIHRoYXQgY2FuJ3QgYmUgUGlja2xlZC4K
</data>

          </attachment>
      

    </bug>

</bugzilla>