<?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>160698</bug_id>
          
          <creation_ts>2016-08-09 10:40:17 -0700</creation_ts>
          <short_desc>EWS logging should ensure the logging to file is stopped on queue termination</short_desc>
          <delta_ts>2016-08-09 12:31:48 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=160585</see_also>
          <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="Aakash Jain">aakash_jain</reporter>
          <assigned_to name="Aakash Jain">aakash_jain</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>glenn</cc>
    
    <cc>lforschler</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1218761</commentid>
    <comment_count>0</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2016-08-09 10:40:17 -0700</bug_when>
    <thetext>EWS starts logging to file when the queue begins, but does not stops the logging to file when queue is terminated. It might results in unexpected and unwanted log messages to go to log file, making the log file less readable and confusing. We should make sure to stop the logging to file on queue termination.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218771</commentid>
    <comment_count>1</comment_count>
      <attachid>285651</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2016-08-09 11:09:03 -0700</bug_when>
    <thetext>Created attachment 285651
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218780</commentid>
    <comment_count>2</comment_count>
      <attachid>285651</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2016-08-09 11:35:10 -0700</bug_when>
    <thetext>Comment on attachment 285651
Proposed patch

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

&gt; Tools/Scripts/webkitpy/tool/bot/queueengine.py:129
&gt; +        _log.info(&quot;%s&quot; % message)

It is unnecessary to create a new string and use string interpolation when the result string is identical to the string we are interpolating. We should pass message directly:

_log.info(message)

&gt; Tools/Scripts/webkitpy/tool/bot/queueengine_unittest.py:149
&gt; +        expected_logs = &quot;%s\n&quot; % termination_message

I&apos;m unclear on our plan for Python 3. We may want to consider updating this code to use String.format() instead of % to be compatible with Python 3.

&gt; Tools/Scripts/webkitpy/tool/commands/queues.py:112
&gt; +        return os.path.join(&quot;..&quot;, &quot;%s-logs&quot; % self.name)

Ditto.

&gt; Tools/Scripts/webkitpy/tool/commands/queues.py:117
&gt; +        return os.path.join(self._log_directory(), &quot;%s.log&quot; % self.name)

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218786</commentid>
    <comment_count>3</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2016-08-09 11:59:39 -0700</bug_when>
    <thetext>&gt; I&apos;m unclear on our plan for Python 3. We may want to consider updating this code to use String.format() instead of % to be compatible with Python 3.

I think we should do it in a separate patch if we decide to change. There are a lot of places in this file and similar files using %. Currently none of the file in the webkitpy/tool directory use String.format()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218787</commentid>
    <comment_count>4</comment_count>
      <attachid>285655</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2016-08-09 12:00:11 -0700</bug_when>
    <thetext>Created attachment 285655
Updated patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218788</commentid>
    <comment_count>5</comment_count>
      <attachid>285656</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2016-08-09 12:01:48 -0700</bug_when>
    <thetext>Created attachment 285656
Updated patch

Added the &quot;Reviewed by&quot; in ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218800</commentid>
    <comment_count>6</comment_count>
      <attachid>285656</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-08-09 12:31:44 -0700</bug_when>
    <thetext>Comment on attachment 285656
Updated patch

Clearing flags on attachment: 285656

Committed r204289: &lt;http://trac.webkit.org/changeset/204289&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218801</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-08-09 12:31:48 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>285651</attachid>
            <date>2016-08-09 11:09:03 -0700</date>
            <delta_ts>2016-08-09 12:00:11 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>ews-log-stop</filename>
            <type>text/plain</type>
            <size>17706</size>
            <attacher name="Aakash Jain">aakash_jain</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIwNDI4NCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDQ0IEBACisyMDE2LTA4LTA5ICBBYWthc2ggSmFpbiAgPGFha2FzaF9qYWluQGFwcGxlLmNv
bT4KKworICAgICAgICBFV1MgbG9nZ2luZyBzaG91bGQgZW5zdXJlIHRoZSBsb2dnaW5nIHRvIGZp
bGUgaXMgc3RvcHBlZCBvbiBxdWV1ZSB0ZXJtaW5hdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYwNjk4CisgICAgICAgIHJkYXI6Ly9wcm9ibGVt
LzI0NDY0NTcwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L3F1ZXVlZW5naW5lLnB5OgorICAgICAgICAo
UXVldWVFbmdpbmUuX3N0b3BwaW5nKTogU3RvcCBsb2dnaW5nIHRvIGZpbGUgb24gcXVldWUgdGVy
bWluYXRpb24uCisgICAgICAgIChRdWV1ZUVuZ2luZS5fYmVnaW5fbG9nZ2luZyk6IENvbmZpZ3Vy
ZSB0aGUgUHl0aG9uIGxvZ2dlciB0byBsb2cgdG8gZmlsZS4KKyAgICAgICAgKiBTY3JpcHRzL3dl
YmtpdHB5L2NvbW1vbi9zeXN0ZW0vbG9ndXRpbHMucHk6CisgICAgICAgIChjb25maWd1cmVfbG9n
Z2VyX3RvX2xvZ190b19maWxlKTogUmV0dXJuIHRoZSBoYW5kbGVyIHNvIGFzIHRvIGVuYWJsZSBj
YWxsZXIgdG8gcmVtb3ZlIGl0IGxhdGVyLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9v
bC9ib3QvcXVldWVlbmdpbmVfdW5pdHRlc3QucHk6CisgICAgICAgIChRdWV1ZUVuZ2luZVRlc3Qu
X3J1bl9lbmdpbmUpOiBSZW1vdmVkIGV4dHJhIG5ld2xpbmUgY2hhcmFjdGVyIHRvIGltcHJvdmUg
bG9nIHJlYWRhYmlsaXR5LgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5k
cy9xdWV1ZXMucHk6CisgICAgICAgIChBYnN0cmFjdFF1ZXVlLl9sb2dfZGlyZWN0b3J5KTogUmV2
ZXJ0aW5nIHRvIG9zLnBhdGguam9pbiBhcyB3ZSBkb24ndCBoYXZlIGhvc3Qgb2JqZWN0LgorICAg
ICAgICAoQWJzdHJhY3RRdWV1ZS5xdWV1ZV9sb2dfcGF0aCk6IFNhbWUuCisgICAgICAgIChBYnN0
cmFjdFF1ZXVlLmJlZ2luX3dvcmtfcXVldWUpOiBSZW1vdmVkIGxvZ2dpbmcgaW5pdGlhbGl6YXRp
b24sIGl0IGlzIG5vdyBiZWluZyBkb25lIGluIFF1ZXVlRW5naW5lLgorICAgICAgICAoQWJzdHJh
Y3RRdWV1ZS5fX2luaXRfXyk6IFJlbW92ZWQgaG9zdCBwYXJhbWV0ZXIsIG5vdCByZXF1aXJlZCBh
bnltb3JlLCBpdCB3YXMgcmVxdWlyZWQgYnkgbG9nZ2luZyBpbml0aWFsaXphdGlvbgorICAgICAg
ICB3aGljaCBtb3ZlZCB0byBRdWV1ZUVuZ2luZSBub3cuCisgICAgICAgIChQYXRjaFByb2Nlc3Np
bmdRdWV1ZS5fX2luaXRfXyk6IFNhbWUuCisgICAgICAgIChDb21taXRRdWV1ZS5fX2luaXRfXyk6
IFNhbWUuCisgICAgICAgIChBYnN0cmFjdFJldmlld1F1ZXVlLl9faW5pdF9fKTogU2FtZS4KKyAg
ICAgICAgKFN0eWxlUXVldWUuX19pbml0X18pOiBTYW1lLgorICAgICAgICAqIFNjcmlwdHMvd2Vi
a2l0cHkvdG9vbC9jb21tYW5kcy9xdWV1ZXNfdW5pdHRlc3QucHk6CisgICAgICAgIChUZXN0Q29t
bWl0UXVldWUpOiBSZW1vdmVkIGhvc3QgcGFyYW1ldGVyLgorICAgICAgICAoVGVzdENvbW1pdFF1
ZXVlLl9faW5pdF9fKTogU2FtZS4KKyAgICAgICAgKEFic3RyYWN0UGF0Y2hRdWV1ZVRlc3QudGVz
dF9uZXh0X3BhdGNoKTogU2FtZS4KKyAgICAgICAgKFBhdGNoUHJvY2Vzc2luZ1F1ZXVlVGVzdC50
ZXN0X3VwbG9hZF9yZXN1bHRzX2FyY2hpdmVfZm9yX3BhdGNoKTogU2FtZS4KKyAgICAgICAgKHRl
c3RfY29tbWl0X3F1ZXVlX2ZhaWx1cmUpOiBTYW1lLgorICAgICAgICAobW9ja19ydW5fd2Via2l0
X3BhdGNoKToKKyAgICAgICAgKE1vY2tDb21taXRRdWV1ZVRhc2sucmVzdWx0c19mcm9tX3BhdGNo
X3Rlc3RfcnVuKTogU2FtZS4KKyAgICAgICAgKHRlc3Rfcm9sbG91dF9sYW5kcyk6IFNhbWUuCisg
ICAgICAgICh0ZXN0X25vbl92YWxpZF9wYXRjaCk6IFNhbWUuCisgICAgICAgICh0ZXN0X2F1dG9f
cmV0cnkpOiBTYW1lLgorICAgICAgICAodGVzdF9zdHlsZV9xdWV1ZV93aXRoX3dhdGNoX2xpc3Rf
ZXhjZXB0aW9uKTogU2FtZS4KKyAgICAgICAgKFRlc3RRdWV1ZS5fX2luaXRfXyk6IERlbGV0ZWQu
CisgICAgICAgIChUZXN0UmV2aWV3UXVldWUuX19pbml0X18pOiBEZWxldGVkLgorICAgICAgICAo
VGVzdEZlZWRlclF1ZXVlLl9faW5pdF9fKTogRGVsZXRlZC4KKwogMjAxNi0wOC0wOSAgS29uc3Rh
bnRpbiBUb2thcmV2ICA8YW5udWxlbkB5YW5kZXgucnU+CiAKICAgICAgICAgd2Via2l0LWd0ayB0
YXJiYWxsIGZhaWxzIHRvIGJ1aWxkIGR1ZSB0byBtaXNzaW5nIGZpbGVzCkluZGV4OiBUb29scy9T
Y3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vbG9ndXRpbHMucHkKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2xvZ3V0aWxzLnB5CShyZXZpc2lv
biAyMDQyNzUpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vbG9ndXRp
bHMucHkJKHdvcmtpbmcgY29weSkKQEAgLTIyMyw2ICsyMjMsNyBAQCBkZWYgY29uZmlndXJlX2xv
Z2dlcl90b19sb2dfdG9fZmlsZShsb2dnCiAgICAgaGFuZGxlci5zZXRGb3JtYXR0ZXIoZm9ybWF0
dGVyKQogCiAgICAgbG9nZ2VyLmFkZEhhbmRsZXIoaGFuZGxlcikKKyAgICByZXR1cm4gaGFuZGxl
cgogCiAKIGNsYXNzIEZpbGVTeXN0ZW1IYW5kbGVyKEZpbGVIYW5kbGVyKToKSW5kZXg6IFRvb2xz
L1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvcXVldWVlbmdpbmUucHkKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9xdWV1ZWVuZ2luZS5weQkocmV2aXNpb24g
MjA0Mjc1KQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9xdWV1ZWVuZ2luZS5w
eQkod29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsOCBAQCBpbXBvcnQgdHJhY2ViYWNrCiAKIGZy
b20gZGF0ZXRpbWUgaW1wb3J0IGRhdGV0aW1lLCB0aW1lZGVsdGEKIAorZnJvbSB3ZWJraXRweS5j
b21tb24uaG9zdCBpbXBvcnQgSG9zdAorZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtIGltcG9y
dCBsb2d1dGlscwogZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLmV4ZWN1dGl2ZSBpbXBvcnQg
U2NyaXB0RXJyb3IKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5vdXRwdXR0ZWUgaW1wb3J0
IE91dHB1dFRlZQogCkBAIC0xMjQsMTQgKzEyNiwxOCBAQCBjbGFzcyBRdWV1ZUVuZ2luZToKICAg
ICAgICAgcmV0dXJuIDAKIAogICAgIGRlZiBfc3RvcHBpbmcoc2VsZiwgbWVzc2FnZSk6Ci0gICAg
ICAgIF9sb2cuaW5mbygiXG4lcyIgJSBtZXNzYWdlKQorICAgICAgICBfbG9nLmluZm8oIiVzIiAl
IG1lc3NhZ2UpCiAgICAgICAgIHNlbGYuX2RlbGVnYXRlLnN0b3Bfd29ya19xdWV1ZShtZXNzYWdl
KQorICAgICAgICBsb2dnaW5nLmdldExvZ2dlcigid2Via2l0cHkiKS5yZW1vdmVIYW5kbGVyKHNl
bGYuX2xvZ19oYW5kbGVyKQogICAgICAgICAjIEJlIGNhcmVmdWwgdG8gc2h1dCBkb3duIG91ciBP
dXRwdXRUZWUgb3IgdGhlIHVuaXQgdGVzdHMgd2lsbCBiZSB1bmhhcHB5LgogICAgICAgICBzZWxm
Ll9lbnN1cmVfd29ya19sb2dfY2xvc2VkKCkKICAgICAgICAgc2VsZi5fb3V0cHV0X3RlZS5yZW1v
dmVfbG9nKHNlbGYuX3F1ZXVlX2xvZykKIAogICAgIGRlZiBfYmVnaW5fbG9nZ2luZyhzZWxmKToK
LSAgICAgICAgc2VsZi5fcXVldWVfbG9nID0gc2VsZi5fb3V0cHV0X3RlZS5hZGRfbG9nKHNlbGYu
X2RlbGVnYXRlLnF1ZXVlX2xvZ19wYXRoKCkpCisgICAgICAgIF9xdWV1ZV9sb2dfcGF0aCA9IHNl
bGYuX2RlbGVnYXRlLnF1ZXVlX2xvZ19wYXRoKCkKKyAgICAgICAgIyBXZSBhcmUgdXNpbmcgbG9n
Z2luZy5nZXRMb2dnZXIoIndlYmtpdHB5IikgaW5zdGVhZCBvZiBfbG9nIHNpbmNlIHdlIHdhbnQg
dG8gY2FwdHVyZSBhbGwgbWVzc2FnZXMgbG9nZ2VkIGZyb20gd2Via2l0cHkgbW9kdWxlcy4KKyAg
ICAgICAgc2VsZi5fbG9nX2hhbmRsZXIgPSBsb2d1dGlscy5jb25maWd1cmVfbG9nZ2VyX3RvX2xv
Z190b19maWxlKGxvZ2dpbmcuZ2V0TG9nZ2VyKCJ3ZWJraXRweSIpLCBfcXVldWVfbG9nX3BhdGgs
IEhvc3QoKS5maWxlc3lzdGVtKQorICAgICAgICBzZWxmLl9xdWV1ZV9sb2cgPSBzZWxmLl9vdXRw
dXRfdGVlLmFkZF9sb2coX3F1ZXVlX2xvZ19wYXRoKQogICAgICAgICBzZWxmLl93b3JrX2xvZyA9
IE5vbmUKIAogICAgIGRlZiBfb3Blbl93b3JrX2xvZyhzZWxmLCB3b3JrX2l0ZW0pOgpJbmRleDog
VG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9xdWV1ZWVuZ2luZV91bml0dGVzdC5weQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L3F1ZXVlZW5naW5l
X3VuaXR0ZXN0LnB5CShyZXZpc2lvbiAyMDQyNzUpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5
L3Rvb2wvYm90L3F1ZXVlZW5naW5lX3VuaXR0ZXN0LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0xNDYs
NyArMTQ2LDcgQEAgY2xhc3MgUXVldWVFbmdpbmVUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKQogICAg
ICAgICAgICAgZW5naW5lID0gUXVldWVFbmdpbmUoInRlc3QtcXVldWUiLCBkZWxlZ2F0ZSwgdGhy
ZWFkaW5nLkV2ZW50KCkpCiAgICAgICAgIGlmIG5vdCB0ZXJtaW5hdGlvbl9tZXNzYWdlOgogICAg
ICAgICAgICAgdGVybWluYXRpb25fbWVzc2FnZSA9ICJEZWxlZ2F0ZSB0ZXJtaW5hdGVkIHF1ZXVl
LiIKLSAgICAgICAgZXhwZWN0ZWRfbG9ncyA9ICJcbiVzXG4iICUgdGVybWluYXRpb25fbWVzc2Fn
ZQorICAgICAgICBleHBlY3RlZF9sb2dzID0gIiVzXG4iICUgdGVybWluYXRpb25fbWVzc2FnZQog
ICAgICAgICBPdXRwdXRDYXB0dXJlKCkuYXNzZXJ0X291dHB1dHMoc2VsZiwgZW5naW5lLnJ1biwg
ZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzKQogCiAgICAgZGVmIF90ZXN0X3Rlcm1pbmF0aW5n
X3F1ZXVlKHNlbGYsIGV4Y2VwdGlvbiwgdGVybWluYXRpb25fbWVzc2FnZSk6CkluZGV4OiBUb29s
cy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcXVldWVzLnB5Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9xdWV1ZXMucHkJKHJldmlzaW9u
IDIwNDI3NSkKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9xdWV1ZXMu
cHkJKHdvcmtpbmcgY29weSkKQEAgLTQxLDEwICs0MSw4IEBAIGZyb20gU3RyaW5nSU8gaW1wb3J0
IFN0cmluZ0lPCiAKIGZyb20gd2Via2l0cHkuY29tbW9uLmNvbmZpZy5jb21taXR0ZXJ2YWxpZGF0
b3IgaW1wb3J0IENvbW1pdHRlclZhbGlkYXRvcgogZnJvbSB3ZWJraXRweS5jb21tb24uY29uZmln
LnBvcnRzIGltcG9ydCBEZXByZWNhdGVkUG9ydAotZnJvbSB3ZWJraXRweS5jb21tb24uaG9zdCBp
bXBvcnQgSG9zdAogZnJvbSB3ZWJraXRweS5jb21tb24ubmV0LmJ1Z3ppbGxhIGltcG9ydCBBdHRh
Y2htZW50CiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5uZXQuc3RhdHVzc2VydmVyIGltcG9ydCBTdGF0
dXNTZXJ2ZXIKLWZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbSBpbXBvcnQgbG9ndXRpbHMKIGZy
b20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5leGVjdXRpdmUgaW1wb3J0IFNjcmlwdEVycm9yCiBm
cm9tIHdlYmtpdHB5LnRvb2wuYm90LmJvdGluZm8gaW1wb3J0IEJvdEluZm8KIGZyb20gd2Via2l0
cHkudG9vbC5ib3QuY29tbWl0cXVldWV0YXNrIGltcG9ydCBDb21taXRRdWV1ZVRhc2ssIENvbW1p
dFF1ZXVlVGFza0RlbGVnYXRlCkBAIC02OCw3ICs2Niw3IEBAIGNsYXNzIEFic3RyYWN0UXVldWUo
Q29tbWFuZCwgUXVldWVFbmdpbmUKICAgICBfZmFpbF9zdGF0dXMgPSAiRmFpbCIKICAgICBfZXJy
b3Jfc3RhdHVzID0gIkVycm9yIgogCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIG9wdGlvbnM9Tm9u
ZSwgaG9zdD1Ib3N0KCkpOiAgIyBEZWZhdWx0IHZhbHVlcyBzaG91bGQgbmV2ZXIgYmUgY29sbGVj
dGlvbnMgKGxpa2UgW10pIGFzIGRlZmF1bHQgdmFsdWVzIGFyZSBzaGFyZWQgYmV0d2VlbiBpbnZv
Y2F0aW9ucworICAgIGRlZiBfX2luaXRfXyhzZWxmLCBvcHRpb25zPU5vbmUpOiAgIyBEZWZhdWx0
IHZhbHVlcyBzaG91bGQgbmV2ZXIgYmUgY29sbGVjdGlvbnMgKGxpa2UgW10pIGFzIGRlZmF1bHQg
dmFsdWVzIGFyZSBzaGFyZWQgYmV0d2VlbiBpbnZvY2F0aW9ucwogICAgICAgICBvcHRpb25zX2xp
c3QgPSAob3B0aW9ucyBvciBbXSkgKyBbCiAgICAgICAgICAgICBtYWtlX29wdGlvbigiLS1uby1j
b25maXJtIiwgYWN0aW9uPSJzdG9yZV9mYWxzZSIsIGRlc3Q9ImNvbmZpcm0iLCBkZWZhdWx0PVRy
dWUsIGhlbHA9IkRvIG5vdCBhc2sgdGhlIHVzZXIgZm9yIGNvbmZpcm1hdGlvbiBiZWZvcmUgcnVu
bmluZyB0aGUgcXVldWUuICBEYW5nZXJvdXMhIiksCiAgICAgICAgICAgICBtYWtlX29wdGlvbigi
LS1leGl0LWFmdGVyLWl0ZXJhdGlvbiIsIGFjdGlvbj0ic3RvcmUiLCB0eXBlPSJpbnQiLCBkZXN0
PSJpdGVyYXRpb25zIiwgZGVmYXVsdD1Ob25lLCBoZWxwPSJTdG9wIHJ1bm5pbmcgdGhlIHF1ZXVl
IGFmdGVyIGl0ZXJhdGluZyB0aGlzIG51bWJlciBvZiB0aW1lcy4iKSwKQEAgLTc4LDcgKzc2LDYg
QEAgY2xhc3MgQWJzdHJhY3RRdWV1ZShDb21tYW5kLCBRdWV1ZUVuZ2luZQogICAgICAgICBzZWxm
Ll9pdGVyYXRpb25fY291bnQgPSAwCiAgICAgICAgIGlmIG5vdCBoYXNhdHRyKHNlbGYsICdhcmNo
aXRlY3R1cmUnKToKICAgICAgICAgICAgIHNlbGYuYXJjaGl0ZWN0dXJlID0gTm9uZQotICAgICAg
ICBzZWxmLmhvc3QgPSBob3N0CiAKICAgICBkZWYgX2NjX3dhdGNoZXJzKHNlbGYsIGJ1Z19pZCk6
CiAgICAgICAgIHRyeToKQEAgLTExMiwyMCArMTA5LDE3IEBAIGNsYXNzIEFic3RyYWN0UXVldWUo
Q29tbWFuZCwgUXVldWVFbmdpbmUKICAgICAgICAgcmV0dXJuIGNvbW1hbmRfb3V0cHV0CiAKICAg
ICBkZWYgX2xvZ19kaXJlY3Rvcnkoc2VsZik6Ci0gICAgICAgIHJldHVybiBzZWxmLmhvc3QuZmls
ZXN5c3RlbS5qb2luKCIuLiIsICIlcy1sb2dzIiAlIHNlbGYubmFtZSkKKyAgICAgICAgcmV0dXJu
IG9zLnBhdGguam9pbigiLi4iLCAiJXMtbG9ncyIgJSBzZWxmLm5hbWUpCiAKICAgICAjIFF1ZXVl
RW5naW5lRGVsZWdhdGUgbWV0aG9kcwogCiAgICAgZGVmIHF1ZXVlX2xvZ19wYXRoKHNlbGYpOgot
ICAgICAgICByZXR1cm4gc2VsZi5ob3N0LmZpbGVzeXN0ZW0uam9pbihzZWxmLl9sb2dfZGlyZWN0
b3J5KCksICIlcy5sb2ciICUgc2VsZi5uYW1lKQorICAgICAgICByZXR1cm4gb3MucGF0aC5qb2lu
KHNlbGYuX2xvZ19kaXJlY3RvcnkoKSwgIiVzLmxvZyIgJSBzZWxmLm5hbWUpCiAKICAgICBkZWYg
d29ya19pdGVtX2xvZ19wYXRoKHNlbGYsIHdvcmtfaXRlbSk6CiAgICAgICAgIHJhaXNlIE5vdElt
cGxlbWVudGVkRXJyb3IsICJzdWJjbGFzc2VzIG11c3QgaW1wbGVtZW50IgogCiAgICAgZGVmIGJl
Z2luX3dvcmtfcXVldWUoc2VsZik6Ci0gICAgICAgICMgRklYTUU6IFdlIHNob3VsZCBzdG9wIHRo
ZSBsb2dnaW5nIGFzIHdlbGwgd2hlbiB0aGUgcXVldWUgc3RvcHMuCi0gICAgICAgICMgV2UgYXJl
IHVzaW5nIGxvZ2dpbmcuZ2V0TG9nZ2VyKCJ3ZWJraXRweSIpIGluc3RlYWQgb2YgX2xvZyBzaW5j
ZSB3ZSB3YW50IHRvIGNhcHR1cmUgYWxsIG1lc3NhZ2VzIGxvZ2dlZCBmcm9tIHdlYmtpdHB5IG1v
ZHVsZXMuCi0gICAgICAgIGxvZ3V0aWxzLmNvbmZpZ3VyZV9sb2dnZXJfdG9fbG9nX3RvX2ZpbGUo
bG9nZ2luZy5nZXRMb2dnZXIoIndlYmtpdHB5IiksIHNlbGYucXVldWVfbG9nX3BhdGgoKSwgc2Vs
Zi5ob3N0LmZpbGVzeXN0ZW0pCiAgICAgICAgIF9sb2cuaW5mbygiQ0FVVElPTjogJXMgd2lsbCBk
aXNjYXJkIGFsbCBsb2NhbCBjaGFuZ2VzIGluIFwiJXNcIiIgJSAoc2VsZi5uYW1lLCBzZWxmLl90
b29sLnNjbSgpLmNoZWNrb3V0X3Jvb3QpKQogICAgICAgICBpZiBzZWxmLl9vcHRpb25zLmNvbmZp
cm06CiAgICAgICAgICAgICByZXNwb25zZSA9IHNlbGYuX3Rvb2wudXNlci5wcm9tcHQoIkFyZSB5
b3Ugc3VyZT8gIFR5cGUgXCJ5ZXNcIiB0byBjb250aW51ZTogIikKQEAgLTI2NSwxMCArMjU5LDkg
QEAgY2xhc3MgUGF0Y2hQcm9jZXNzaW5nUXVldWUoQWJzdHJhY3RQYXRjaAogICAgICMgU3ViY2xh
c3NlcyBtdXN0IG92ZXJyaWRlLgogICAgIHBvcnRfbmFtZSA9IE5vbmUKIAotICAgIGRlZiBfX2lu
aXRfXyhzZWxmLCBvcHRpb25zPU5vbmUsIGhvc3Q9SG9zdCgpKToKKyAgICBkZWYgX19pbml0X18o
c2VsZiwgb3B0aW9ucz1Ob25lKToKICAgICAgICAgc2VsZi5fcG9ydCA9IE5vbmUgICMgV2UgY2Fu
J3QgaW5zdGFudGlhdGUgcG9ydCBoZXJlIGJlY2F1c2UgdG9vbCBpc24ndCBhdmFpYWxibGUuCi0g
ICAgICAgIHNlbGYuaG9zdCA9IGhvc3QKLSAgICAgICAgQWJzdHJhY3RQYXRjaFF1ZXVlLl9faW5p
dF9fKHNlbGYsIG9wdGlvbnMsIGhvc3Q9aG9zdCkKKyAgICAgICAgQWJzdHJhY3RQYXRjaFF1ZXVl
Ll9faW5pdF9fKHNlbGYsIG9wdGlvbnMpCiAKICAgICAjIEZJWE1FOiBUaGlzIGlzIGEgaGFjayB0
byBtYXAgYmV0d2VlbiB0aGUgb2xkIHBvcnQgbmFtZXMgYW5kIHRoZSBuZXcgcG9ydCBuYW1lcy4K
ICAgICBkZWYgX25ld19wb3J0X25hbWVfZnJvbV9vbGQoc2VsZiwgcG9ydF9uYW1lLCBwbGF0Zm9y
bSk6CkBAIC0zMjAsMTAgKzMxMyw5IEBAIGNsYXNzIFBhdGNoUHJvY2Vzc2luZ1F1ZXVlKEFic3Ry
YWN0UGF0Y2gKIAogCiBjbGFzcyBDb21taXRRdWV1ZShQYXRjaFByb2Nlc3NpbmdRdWV1ZSwgU3Rl
cFNlcXVlbmNlRXJyb3JIYW5kbGVyLCBDb21taXRRdWV1ZVRhc2tEZWxlZ2F0ZSk6Ci0gICAgZGVm
IF9faW5pdF9fKHNlbGYsIGNvbW1pdF9xdWV1ZV90YXNrX2NsYXNzPUNvbW1pdFF1ZXVlVGFzaywg
aG9zdD1Ib3N0KCkpOgotICAgICAgICBzZWxmLmhvc3QgPSBob3N0CisgICAgZGVmIF9faW5pdF9f
KHNlbGYsIGNvbW1pdF9xdWV1ZV90YXNrX2NsYXNzPUNvbW1pdFF1ZXVlVGFzayk6CiAgICAgICAg
IHNlbGYuX2NvbW1pdF9xdWV1ZV90YXNrX2NsYXNzID0gY29tbWl0X3F1ZXVlX3Rhc2tfY2xhc3MK
LSAgICAgICAgUGF0Y2hQcm9jZXNzaW5nUXVldWUuX19pbml0X18oc2VsZiwgaG9zdD1ob3N0KQor
ICAgICAgICBQYXRjaFByb2Nlc3NpbmdRdWV1ZS5fX2luaXRfXyhzZWxmKQogCiAgICAgbmFtZSA9
ICJjb21taXQtcXVldWUiCiAgICAgcG9ydF9uYW1lID0gIm1hYyIKQEAgLTQzOCw5ICs0MzAsOCBA
QCBjbGFzcyBDb21taXRRdWV1ZShQYXRjaFByb2Nlc3NpbmdRdWV1ZSwgCiAKIGNsYXNzIEFic3Ry
YWN0UmV2aWV3UXVldWUoUGF0Y2hQcm9jZXNzaW5nUXVldWUsIFN0ZXBTZXF1ZW5jZUVycm9ySGFu
ZGxlcik6CiAgICAgIiIiVGhpcyBpcyB0aGUgYmFzZS1jbGFzcyBmb3IgdGhlIEVXUyBxdWV1ZXMg
YW5kIHRoZSBzdHlsZS1xdWV1ZS4iIiIKLSAgICBkZWYgX19pbml0X18oc2VsZiwgb3B0aW9ucz1O
b25lLCBob3N0PUhvc3QoKSk6Ci0gICAgICAgIHNlbGYuaG9zdCA9IGhvc3QKLSAgICAgICAgUGF0
Y2hQcm9jZXNzaW5nUXVldWUuX19pbml0X18oc2VsZiwgb3B0aW9ucywgaG9zdD1ob3N0KQorICAg
IGRlZiBfX2luaXRfXyhzZWxmLCBvcHRpb25zPU5vbmUpOgorICAgICAgICBQYXRjaFByb2Nlc3Np
bmdRdWV1ZS5fX2luaXRfXyhzZWxmLCBvcHRpb25zKQogCiAgICAgZGVmIHJldmlld19wYXRjaChz
ZWxmLCBwYXRjaCk6CiAgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoInN1YmNsYXNz
ZXMgbXVzdCBpbXBsZW1lbnQiKQpAQCAtNDcyLDkgKzQ2Myw4IEBAIGNsYXNzIEFic3RyYWN0UmV2
aWV3UXVldWUoUGF0Y2hQcm9jZXNzaW4KIGNsYXNzIFN0eWxlUXVldWUoQWJzdHJhY3RSZXZpZXdR
dWV1ZSwgU3R5bGVRdWV1ZVRhc2tEZWxlZ2F0ZSk6CiAgICAgbmFtZSA9ICJzdHlsZS1xdWV1ZSIK
IAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBob3N0PUhvc3QoKSk6Ci0gICAgICAgIHNlbGYuaG9z
dCA9IGhvc3QKLSAgICAgICAgQWJzdHJhY3RSZXZpZXdRdWV1ZS5fX2luaXRfXyhzZWxmLCBob3N0
PWhvc3QpCisgICAgZGVmIF9faW5pdF9fKHNlbGYpOgorICAgICAgICBBYnN0cmFjdFJldmlld1F1
ZXVlLl9faW5pdF9fKHNlbGYpCiAKICAgICBkZWYgcmV2aWV3X3BhdGNoKHNlbGYsIHBhdGNoKToK
ICAgICAgICAgdGFzayA9IFN0eWxlUXVldWVUYXNrKHNlbGYsIHBhdGNoKQpJbmRleDogVG9vbHMv
U2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3F1ZXVlc191bml0dGVzdC5weQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcXVldWVzX3VuaXR0
ZXN0LnB5CShyZXZpc2lvbiAyMDQyNzUpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wv
Y29tbWFuZHMvcXVldWVzX3VuaXR0ZXN0LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw2
IEBAIGltcG9ydCBTdHJpbmdJTwogCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5jaGVja291dC5zY20g
aW1wb3J0IENoZWNrb3V0TmVlZHNVcGRhdGUKIGZyb20gd2Via2l0cHkuY29tbW9uLmNoZWNrb3V0
LnNjbS5zY21fbW9jayBpbXBvcnQgTW9ja1NDTQotZnJvbSB3ZWJraXRweS5jb21tb24uaG9zdF9t
b2NrIGltcG9ydCBNb2NrSG9zdAogZnJvbSB3ZWJraXRweS5jb21tb24ubmV0LmxheW91dHRlc3Ry
ZXN1bHRzIGltcG9ydCBMYXlvdXRUZXN0UmVzdWx0cwogZnJvbSB3ZWJraXRweS5jb21tb24ubmV0
LmJ1Z3ppbGxhIGltcG9ydCBBdHRhY2htZW50CiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0u
b3V0cHV0Y2FwdHVyZSBpbXBvcnQgT3V0cHV0Q2FwdHVyZQpAQCAtNDgsNyArNDcsNyBAQCBmcm9t
IHdlYmtpdHB5LnRvb2wubW9ja3Rvb2wgaW1wb3J0IE1vY2tUCiAKIGNsYXNzIFRlc3RDb21taXRR
dWV1ZShDb21taXRRdWV1ZSk6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHRvb2w9Tm9uZSk6Ci0g
ICAgICAgIENvbW1pdFF1ZXVlLl9faW5pdF9fKHNlbGYsIGhvc3Q9TW9ja0hvc3QoKSkKKyAgICAg
ICAgQ29tbWl0UXVldWUuX19pbml0X18oc2VsZikKICAgICAgICAgaWYgdG9vbDoKICAgICAgICAg
ICAgIHNlbGYuYmluZF90b190b29sKHRvb2wpCiAgICAgICAgIHNlbGYuX29wdGlvbnMgPSBNb2Nr
T3B0aW9ucyhjb25maXJtPUZhbHNlLCBwYXJlbnRfY29tbWFuZD0iY29tbWl0LXF1ZXVlIiwgcG9y
dD1Ob25lKQpAQCAtNjMsMjMgKzYyLDE0IEBAIGNsYXNzIFRlc3RDb21taXRRdWV1ZShDb21taXRR
dWV1ZSk6CiBjbGFzcyBUZXN0UXVldWUoQWJzdHJhY3RQYXRjaFF1ZXVlKToKICAgICBuYW1lID0g
InRlc3QtcXVldWUiCiAKLSAgICBkZWYgX19pbml0X18oc2VsZik6Ci0gICAgICAgIEFic3RyYWN0
UGF0Y2hRdWV1ZS5fX2luaXRfXyhzZWxmLCBob3N0PU1vY2tIb3N0KCkpCi0KIAogY2xhc3MgVGVz
dFJldmlld1F1ZXVlKEFic3RyYWN0UmV2aWV3UXVldWUpOgogICAgIG5hbWUgPSAidGVzdC1yZXZp
ZXctcXVldWUiCiAKLSAgICBkZWYgX19pbml0X18oc2VsZik6Ci0gICAgICAgIEFic3RyYWN0UmV2
aWV3UXVldWUuX19pbml0X18oc2VsZiwgaG9zdD1Nb2NrSG9zdCgpKQotCiAKIGNsYXNzIFRlc3RG
ZWVkZXJRdWV1ZShGZWVkZXJRdWV1ZSk6CiAgICAgX3NsZWVwX2R1cmF0aW9uID0gMAogCi0gICAg
ZGVmIF9faW5pdF9fKHNlbGYpOgotICAgICAgICBGZWVkZXJRdWV1ZS5fX2luaXRfXyhzZWxmLCBo
b3N0PU1vY2tIb3N0KCkpCi0KIAogY2xhc3MgQWJzdHJhY3RRdWV1ZVRlc3QoQ29tbWFuZHNUZXN0
KToKICAgICBkZWYgdGVzdF9sb2dfZGlyZWN0b3J5KHNlbGYpOgpAQCAtMTYzLDcgKzE1Myw3IEBA
IE1PQ0s6IHN1Ym1pdF90b19ld3M6IDEwMDAyCiAKIGNsYXNzIEFic3RyYWN0UGF0Y2hRdWV1ZVRl
c3QoQ29tbWFuZHNUZXN0KToKICAgICBkZWYgdGVzdF9uZXh0X3BhdGNoKHNlbGYpOgotICAgICAg
ICBxdWV1ZSA9IEFic3RyYWN0UGF0Y2hRdWV1ZShob3N0PU1vY2tIb3N0KCkpCisgICAgICAgIHF1
ZXVlID0gQWJzdHJhY3RQYXRjaFF1ZXVlKCkKICAgICAgICAgdG9vbCA9IE1vY2tUb29sKCkKICAg
ICAgICAgcXVldWUuYmluZF90b190b29sKHRvb2wpCiAgICAgICAgIHF1ZXVlLl9vcHRpb25zID0g
TW9jaygpCkBAIC0xODEsNyArMTcxLDcgQEAgY2xhc3MgQWJzdHJhY3RQYXRjaFF1ZXVlVGVzdChD
b21tYW5kc1RlcwogCiBjbGFzcyBQYXRjaFByb2Nlc3NpbmdRdWV1ZVRlc3QoQ29tbWFuZHNUZXN0
KToKICAgICBkZWYgdGVzdF91cGxvYWRfcmVzdWx0c19hcmNoaXZlX2Zvcl9wYXRjaChzZWxmKToK
LSAgICAgICAgcXVldWUgPSBQYXRjaFByb2Nlc3NpbmdRdWV1ZShob3N0PU1vY2tIb3N0KCkpCisg
ICAgICAgIHF1ZXVlID0gUGF0Y2hQcm9jZXNzaW5nUXVldWUoKQogICAgICAgICBxdWV1ZS5uYW1l
ID0gIm1vY2stcXVldWUiCiAgICAgICAgIHRvb2wgPSBNb2NrVG9vbCgpCiAgICAgICAgIHF1ZXVl
LmJpbmRfdG9fdG9vbCh0b29sKQpAQCAtMjcwLDcgKzI2MCw3IEBAIE1PQ0s6IHJlbGVhc2Vfd29y
a19pdGVtOiBjb21taXQtcXVldWUgMTAKICAgICAgICAgICAgICJoYW5kbGVfc2NyaXB0X2Vycm9y
IjogIlNjcmlwdEVycm9yIGVycm9yIG1lc3NhZ2VcblxuTU9DSyBvdXRwdXRcbiIsCiAgICAgICAg
ICAgICAiaGFuZGxlX3VuZXhwZWN0ZWRfZXJyb3IiOiAiTU9DSyBzZXR0aW5nIGZsYWcgJ2NvbW1p
dC1xdWV1ZScgdG8gJy0nIG9uIGF0dGFjaG1lbnQgJzEwMDAwJyB3aXRoIGNvbW1lbnQgJ1JlamVj
dGluZyBhdHRhY2htZW50IDEwMDAwIGZyb20gY29tbWl0LXF1ZXVlLlxuXG5Nb2NrIGVycm9yIG1l
c3NhZ2UnXG4iLAogICAgICAgICB9Ci0gICAgICAgIHNlbGYuYXNzZXJ0X3F1ZXVlX291dHB1dHMo
Q29tbWl0UXVldWUoaG9zdD1Nb2NrSG9zdCgpKSwgdG9vbD10b29sLCBleHBlY3RlZF9sb2dzPWV4
cGVjdGVkX2xvZ3MpCisgICAgICAgIHNlbGYuYXNzZXJ0X3F1ZXVlX291dHB1dHMoQ29tbWl0UXVl
dWUoKSwgdG9vbD10b29sLCBleHBlY3RlZF9sb2dzPWV4cGVjdGVkX2xvZ3MpCiAKICAgICBkZWYg
dGVzdF9jb21taXRfcXVldWVfZmFpbHVyZShzZWxmKToKICAgICAgICAgZXhwZWN0ZWRfbG9ncyA9
IHsKQEAgLTI4Niw3ICsyNzYsNyBAQCBNT0NLOiByZWxlYXNlX3dvcmtfaXRlbTogY29tbWl0LXF1
ZXVlIDEwCiAgICAgICAgICAgICAiaGFuZGxlX3NjcmlwdF9lcnJvciI6ICJTY3JpcHRFcnJvciBl
cnJvciBtZXNzYWdlXG5cbk1PQ0sgb3V0cHV0XG4iLAogICAgICAgICAgICAgImhhbmRsZV91bmV4
cGVjdGVkX2Vycm9yIjogIk1PQ0sgc2V0dGluZyBmbGFnICdjb21taXQtcXVldWUnIHRvICctJyBv
biBhdHRhY2htZW50ICcxMDAwMCcgd2l0aCBjb21tZW50ICdSZWplY3RpbmcgYXR0YWNobWVudCAx
MDAwMCBmcm9tIGNvbW1pdC1xdWV1ZS5cblxuTW9jayBlcnJvciBtZXNzYWdlJ1xuIiwKICAgICAg
ICAgfQotICAgICAgICBxdWV1ZSA9IENvbW1pdFF1ZXVlKGhvc3Q9TW9ja0hvc3QoKSkKKyAgICAg
ICAgcXVldWUgPSBDb21taXRRdWV1ZSgpCiAKICAgICAgICAgZGVmIG1vY2tfcnVuX3dlYmtpdF9w
YXRjaChjb21tYW5kKToKICAgICAgICAgICAgIGlmIGNvbW1hbmRbMF0gPT0gJ2NsZWFuJyBvciBj
b21tYW5kWzBdID09ICd1cGRhdGUnOgpAQCAtMzE4LDcgKzMwOCw3IEBAIE1PQ0s6IHJlbGVhc2Vf
d29ya19pdGVtOiBjb21taXQtcXVldWUgMTAKICAgICAgICAgICAgIGRlZiByZXN1bHRzX2Zyb21f
cGF0Y2hfdGVzdF9ydW4oc2VsZiwgcGF0Y2gpOgogICAgICAgICAgICAgICAgIHJldHVybiBMYXlv
dXRUZXN0UmVzdWx0cyhbdGVzdF9yZXN1bHRzLlRlc3RSZXN1bHQoIm1vY2tfdGVzdF9uYW1lLmh0
bWwiLCBmYWlsdXJlcz1bdGVzdF9mYWlsdXJlcy5GYWlsdXJlVGV4dE1pc21hdGNoKCldKV0sIGRp
ZF9leGNlZWRfdGVzdF9mYWlsdXJlX2xpbWl0PUZhbHNlKQogCi0gICAgICAgIHF1ZXVlID0gQ29t
bWl0UXVldWUoTW9ja0NvbW1pdFF1ZXVlVGFzaywgaG9zdD1Nb2NrSG9zdCgpKQorICAgICAgICBx
dWV1ZSA9IENvbW1pdFF1ZXVlKE1vY2tDb21taXRRdWV1ZVRhc2spCiAKICAgICAgICAgZGVmIG1v
Y2tfcnVuX3dlYmtpdF9wYXRjaChjb21tYW5kKToKICAgICAgICAgICAgIGlmIGNvbW1hbmRbMF0g
PT0gJ2NsZWFuJyBvciBjb21tYW5kWzBdID09ICd1cGRhdGUnOgpAQCAtMzU3LDcgKzM0Nyw3IEBA
IE1PQ0s6IHJlbGVhc2Vfd29ya19pdGVtOiBjb21taXQtcXVldWUgMTAKICAgICAgICAgICAgICJo
YW5kbGVfc2NyaXB0X2Vycm9yIjogIlNjcmlwdEVycm9yIGVycm9yIG1lc3NhZ2VcblxuTU9DSyBv
dXRwdXRcbiIsCiAgICAgICAgICAgICAiaGFuZGxlX3VuZXhwZWN0ZWRfZXJyb3IiOiAiTU9DSyBz
ZXR0aW5nIGZsYWcgJ2NvbW1pdC1xdWV1ZScgdG8gJy0nIG9uIGF0dGFjaG1lbnQgJzEwMDAwJyB3
aXRoIGNvbW1lbnQgJ1JlamVjdGluZyBhdHRhY2htZW50IDEwMDAwIGZyb20gY29tbWl0LXF1ZXVl
LlxuXG5Nb2NrIGVycm9yIG1lc3NhZ2UnXG4iLAogICAgICAgICB9Ci0gICAgICAgIHNlbGYuYXNz
ZXJ0X3F1ZXVlX291dHB1dHMoQ29tbWl0UXVldWUoaG9zdD1Nb2NrSG9zdCgpKSwgdG9vbD10b29s
LCBleHBlY3RlZF9sb2dzPWV4cGVjdGVkX2xvZ3MpCisgICAgICAgIHNlbGYuYXNzZXJ0X3F1ZXVl
X291dHB1dHMoQ29tbWl0UXVldWUoKSwgdG9vbD10b29sLCBleHBlY3RlZF9sb2dzPWV4cGVjdGVk
X2xvZ3MpCiAKICAgICBkZWYgdGVzdF9yb2xsb3V0X2xhbmRzKHNlbGYpOgogICAgICAgICB0b29s
ID0gTW9ja1Rvb2woKQpAQCAtMzgyLDcgKzM3Miw3IEBAIE1PQ0s6IHJlbGVhc2Vfd29ya19pdGVt
OiBjb21taXQtcXVldWUgMTAKICAgICAgICAgICAgICJoYW5kbGVfc2NyaXB0X2Vycm9yIjogIlNj
cmlwdEVycm9yIGVycm9yIG1lc3NhZ2VcblxuTU9DSyBvdXRwdXRcbiIsCiAgICAgICAgICAgICAi
aGFuZGxlX3VuZXhwZWN0ZWRfZXJyb3IiOiAiTU9DSyBzZXR0aW5nIGZsYWcgJ2NvbW1pdC1xdWV1
ZScgdG8gJy0nIG9uIGF0dGFjaG1lbnQgJzEwMDA1JyB3aXRoIGNvbW1lbnQgJ1JlamVjdGluZyBh
dHRhY2htZW50IDEwMDA1IGZyb20gY29tbWl0LXF1ZXVlLlxuXG5Nb2NrIGVycm9yIG1lc3NhZ2Un
XG4iLAogICAgICAgICB9Ci0gICAgICAgIHNlbGYuYXNzZXJ0X3F1ZXVlX291dHB1dHMoQ29tbWl0
UXVldWUoaG9zdD1Nb2NrSG9zdCgpKSwgdG9vbD10b29sLCB3b3JrX2l0ZW09cm9sbG91dF9wYXRj
aCwgZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzKQorICAgICAgICBzZWxmLmFzc2VydF9xdWV1
ZV9vdXRwdXRzKENvbW1pdFF1ZXVlKCksIHRvb2w9dG9vbCwgd29ya19pdGVtPXJvbGxvdXRfcGF0
Y2gsIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncykKIAogICAgIGRlZiB0ZXN0X25vbl92YWxp
ZF9wYXRjaChzZWxmKToKICAgICAgICAgdG9vbCA9IE1vY2tUb29sKCkKQEAgLTM5MywxMCArMzgz
LDEwIEBAIE1PQ0s6IHJlbGVhc2Vfd29ya19pdGVtOiBjb21taXQtcXVldWUgMTAKIE1PQ0s6IHJl
bGVhc2Vfd29ya19pdGVtOiBjb21taXQtcXVldWUgMTAwMDcKICIiIiwKICAgICAgICAgfQotICAg
ICAgICBzZWxmLmFzc2VydF9xdWV1ZV9vdXRwdXRzKENvbW1pdFF1ZXVlKGhvc3Q9TW9ja0hvc3Qo
KSksIHRvb2w9dG9vbCwgd29ya19pdGVtPXBhdGNoLCBleHBlY3RlZF9sb2dzPWV4cGVjdGVkX2xv
Z3MpCisgICAgICAgIHNlbGYuYXNzZXJ0X3F1ZXVlX291dHB1dHMoQ29tbWl0UXVldWUoKSwgdG9v
bD10b29sLCB3b3JrX2l0ZW09cGF0Y2gsIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncykKIAog
ICAgIGRlZiB0ZXN0X2F1dG9fcmV0cnkoc2VsZik6Ci0gICAgICAgIHF1ZXVlID0gQ29tbWl0UXVl
dWUoaG9zdD1Nb2NrSG9zdCgpKQorICAgICAgICBxdWV1ZSA9IENvbW1pdFF1ZXVlKCkKICAgICAg
ICAgb3B0aW9ucyA9IE1vY2soKQogICAgICAgICBvcHRpb25zLnBhcmVudF9jb21tYW5kID0gImNv
bW1pdC1xdWV1ZSIKICAgICAgICAgdG9vbCA9IEFsd2F5c0NvbW1pdFF1ZXVlVG9vbCgpCkBAIC01
MDgsNyArNDk4LDcgQEAgTU9DSzogcmVsZWFzZV93b3JrX2l0ZW06IHN0eWxlLXF1ZXVlIDEwMAog
ICAgICAgICAgICAgImhhbmRsZV9zY3JpcHRfZXJyb3IiOiAiTU9DSyBvdXRwdXRcbiIsCiAgICAg
ICAgIH0KICAgICAgICAgdG9vbCA9IE1vY2tUb29sKGV4ZWN1dGl2ZV90aHJvd3Nfd2hlbl9ydW49
c2V0KFsnY2hlY2stc3R5bGUnXSkpCi0gICAgICAgIHNlbGYuYXNzZXJ0X3F1ZXVlX291dHB1dHMo
U3R5bGVRdWV1ZShob3N0PU1vY2tIb3N0KCkpLCBleHBlY3RlZF9sb2dzPWV4cGVjdGVkX2xvZ3Ms
IHRvb2w9dG9vbCkKKyAgICAgICAgc2VsZi5hc3NlcnRfcXVldWVfb3V0cHV0cyhTdHlsZVF1ZXVl
KCksIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncywgdG9vbD10b29sKQogCiAgICAgZGVmIHRl
c3Rfc3R5bGVfcXVldWVfd2l0aF93YXRjaF9saXN0X2V4Y2VwdGlvbihzZWxmKToKICAgICAgICAg
ZXhwZWN0ZWRfbG9ncyA9IHsKQEAgLTUzMyw3ICs1MjMsNyBAQCBNT0NLOiByZWxlYXNlX3dvcmtf
aXRlbTogc3R5bGUtcXVldWUgMTAwCiAgICAgICAgICAgICAiaGFuZGxlX3NjcmlwdF9lcnJvciI6
ICJNT0NLIG91dHB1dFxuIiwKICAgICAgICAgfQogICAgICAgICB0b29sID0gTW9ja1Rvb2woZXhl
Y3V0aXZlX3Rocm93c193aGVuX3J1bj1zZXQoWydhcHBseS13YXRjaGxpc3QtbG9jYWwnXSkpCi0g
ICAgICAgIHNlbGYuYXNzZXJ0X3F1ZXVlX291dHB1dHMoU3R5bGVRdWV1ZShob3N0PU1vY2tIb3N0
KCkpLCBleHBlY3RlZF9sb2dzPWV4cGVjdGVkX2xvZ3MsIHRvb2w9dG9vbCkKKyAgICAgICAgc2Vs
Zi5hc3NlcnRfcXVldWVfb3V0cHV0cyhTdHlsZVF1ZXVlKCksIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0
ZWRfbG9ncywgdG9vbD10b29sKQogCiAgICAgZGVmIHRlc3Rfbm9uX3ZhbGlkX3BhdGNoKHNlbGYp
OgogICAgICAgICB0b29sID0gTW9ja1Rvb2woKQpAQCAtNTQ0LDQgKzUzNCw0IEBAIE1PQ0s6IHJl
bGVhc2Vfd29ya19pdGVtOiBzdHlsZS1xdWV1ZSAxMDAKIE1PQ0s6IHJlbGVhc2Vfd29ya19pdGVt
OiBzdHlsZS1xdWV1ZSAxMDAwNwogIiIiLAogICAgICAgICB9Ci0gICAgICAgIHNlbGYuYXNzZXJ0
X3F1ZXVlX291dHB1dHMoU3R5bGVRdWV1ZShob3N0PU1vY2tIb3N0KCkpLCB0b29sPXRvb2wsIHdv
cmtfaXRlbT1wYXRjaCwgZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzKQorICAgICAgICBzZWxm
LmFzc2VydF9xdWV1ZV9vdXRwdXRzKFN0eWxlUXVldWUoKSwgdG9vbD10b29sLCB3b3JrX2l0ZW09
cGF0Y2gsIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncykK
</data>
<flag name="review"
          id="309258"
          type_id="1"
          status="+"
          setter="dbates"
    />
    <flag name="commit-queue"
          id="309259"
          type_id="3"
          status="-"
          setter="dbates"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>285655</attachid>
            <date>2016-08-09 12:00:11 -0700</date>
            <delta_ts>2016-08-09 12:01:48 -0700</delta_ts>
            <desc>Updated patch</desc>
            <filename>ews-log-stop-v2</filename>
            <type>text/plain</type>
            <size>17699</size>
            <attacher name="Aakash Jain">aakash_jain</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIwNDI4NCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDQ0IEBACisyMDE2LTA4LTA5ICBBYWthc2ggSmFpbiAgPGFha2FzaF9qYWluQGFwcGxlLmNv
bT4KKworICAgICAgICBFV1MgbG9nZ2luZyBzaG91bGQgZW5zdXJlIHRoZSBsb2dnaW5nIHRvIGZp
bGUgaXMgc3RvcHBlZCBvbiBxdWV1ZSB0ZXJtaW5hdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYwNjk4CisgICAgICAgIHJkYXI6Ly9wcm9ibGVt
LzI0NDY0NTcwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L3F1ZXVlZW5naW5lLnB5OgorICAgICAgICAo
UXVldWVFbmdpbmUuX3N0b3BwaW5nKTogU3RvcCBsb2dnaW5nIHRvIGZpbGUgb24gcXVldWUgdGVy
bWluYXRpb24uCisgICAgICAgIChRdWV1ZUVuZ2luZS5fYmVnaW5fbG9nZ2luZyk6IENvbmZpZ3Vy
ZSB0aGUgUHl0aG9uIGxvZ2dlciB0byBsb2cgdG8gZmlsZS4KKyAgICAgICAgKiBTY3JpcHRzL3dl
YmtpdHB5L2NvbW1vbi9zeXN0ZW0vbG9ndXRpbHMucHk6CisgICAgICAgIChjb25maWd1cmVfbG9n
Z2VyX3RvX2xvZ190b19maWxlKTogUmV0dXJuIHRoZSBoYW5kbGVyIHNvIGFzIHRvIGVuYWJsZSBj
YWxsZXIgdG8gcmVtb3ZlIGl0IGxhdGVyLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9v
bC9ib3QvcXVldWVlbmdpbmVfdW5pdHRlc3QucHk6CisgICAgICAgIChRdWV1ZUVuZ2luZVRlc3Qu
X3J1bl9lbmdpbmUpOiBSZW1vdmVkIGV4dHJhIG5ld2xpbmUgY2hhcmFjdGVyIHRvIGltcHJvdmUg
bG9nIHJlYWRhYmlsaXR5LgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5k
cy9xdWV1ZXMucHk6CisgICAgICAgIChBYnN0cmFjdFF1ZXVlLl9sb2dfZGlyZWN0b3J5KTogUmV2
ZXJ0aW5nIHRvIG9zLnBhdGguam9pbiBhcyB3ZSBkb24ndCBoYXZlIGhvc3Qgb2JqZWN0LgorICAg
ICAgICAoQWJzdHJhY3RRdWV1ZS5xdWV1ZV9sb2dfcGF0aCk6IFNhbWUuCisgICAgICAgIChBYnN0
cmFjdFF1ZXVlLmJlZ2luX3dvcmtfcXVldWUpOiBSZW1vdmVkIGxvZ2dpbmcgaW5pdGlhbGl6YXRp
b24sIGl0IGlzIG5vdyBiZWluZyBkb25lIGluIFF1ZXVlRW5naW5lLgorICAgICAgICAoQWJzdHJh
Y3RRdWV1ZS5fX2luaXRfXyk6IFJlbW92ZWQgaG9zdCBwYXJhbWV0ZXIsIG5vdCByZXF1aXJlZCBh
bnltb3JlLCBpdCB3YXMgcmVxdWlyZWQgYnkgbG9nZ2luZyBpbml0aWFsaXphdGlvbgorICAgICAg
ICB3aGljaCBtb3ZlZCB0byBRdWV1ZUVuZ2luZSBub3cuCisgICAgICAgIChQYXRjaFByb2Nlc3Np
bmdRdWV1ZS5fX2luaXRfXyk6IFNhbWUuCisgICAgICAgIChDb21taXRRdWV1ZS5fX2luaXRfXyk6
IFNhbWUuCisgICAgICAgIChBYnN0cmFjdFJldmlld1F1ZXVlLl9faW5pdF9fKTogU2FtZS4KKyAg
ICAgICAgKFN0eWxlUXVldWUuX19pbml0X18pOiBTYW1lLgorICAgICAgICAqIFNjcmlwdHMvd2Vi
a2l0cHkvdG9vbC9jb21tYW5kcy9xdWV1ZXNfdW5pdHRlc3QucHk6CisgICAgICAgIChUZXN0Q29t
bWl0UXVldWUpOiBSZW1vdmVkIGhvc3QgcGFyYW1ldGVyLgorICAgICAgICAoVGVzdENvbW1pdFF1
ZXVlLl9faW5pdF9fKTogU2FtZS4KKyAgICAgICAgKEFic3RyYWN0UGF0Y2hRdWV1ZVRlc3QudGVz
dF9uZXh0X3BhdGNoKTogU2FtZS4KKyAgICAgICAgKFBhdGNoUHJvY2Vzc2luZ1F1ZXVlVGVzdC50
ZXN0X3VwbG9hZF9yZXN1bHRzX2FyY2hpdmVfZm9yX3BhdGNoKTogU2FtZS4KKyAgICAgICAgKHRl
c3RfY29tbWl0X3F1ZXVlX2ZhaWx1cmUpOiBTYW1lLgorICAgICAgICAobW9ja19ydW5fd2Via2l0
X3BhdGNoKToKKyAgICAgICAgKE1vY2tDb21taXRRdWV1ZVRhc2sucmVzdWx0c19mcm9tX3BhdGNo
X3Rlc3RfcnVuKTogU2FtZS4KKyAgICAgICAgKHRlc3Rfcm9sbG91dF9sYW5kcyk6IFNhbWUuCisg
ICAgICAgICh0ZXN0X25vbl92YWxpZF9wYXRjaCk6IFNhbWUuCisgICAgICAgICh0ZXN0X2F1dG9f
cmV0cnkpOiBTYW1lLgorICAgICAgICAodGVzdF9zdHlsZV9xdWV1ZV93aXRoX3dhdGNoX2xpc3Rf
ZXhjZXB0aW9uKTogU2FtZS4KKyAgICAgICAgKFRlc3RRdWV1ZS5fX2luaXRfXyk6IERlbGV0ZWQu
CisgICAgICAgIChUZXN0UmV2aWV3UXVldWUuX19pbml0X18pOiBEZWxldGVkLgorICAgICAgICAo
VGVzdEZlZWRlclF1ZXVlLl9faW5pdF9fKTogRGVsZXRlZC4KKwogMjAxNi0wOC0wOSAgS29uc3Rh
bnRpbiBUb2thcmV2ICA8YW5udWxlbkB5YW5kZXgucnU+CiAKICAgICAgICAgd2Via2l0LWd0ayB0
YXJiYWxsIGZhaWxzIHRvIGJ1aWxkIGR1ZSB0byBtaXNzaW5nIGZpbGVzCkluZGV4OiBUb29scy9T
Y3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vbG9ndXRpbHMucHkKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2xvZ3V0aWxzLnB5CShyZXZpc2lv
biAyMDQyNzUpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vbG9ndXRp
bHMucHkJKHdvcmtpbmcgY29weSkKQEAgLTIyMyw2ICsyMjMsNyBAQCBkZWYgY29uZmlndXJlX2xv
Z2dlcl90b19sb2dfdG9fZmlsZShsb2dnCiAgICAgaGFuZGxlci5zZXRGb3JtYXR0ZXIoZm9ybWF0
dGVyKQogCiAgICAgbG9nZ2VyLmFkZEhhbmRsZXIoaGFuZGxlcikKKyAgICByZXR1cm4gaGFuZGxl
cgogCiAKIGNsYXNzIEZpbGVTeXN0ZW1IYW5kbGVyKEZpbGVIYW5kbGVyKToKSW5kZXg6IFRvb2xz
L1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvcXVldWVlbmdpbmUucHkKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9xdWV1ZWVuZ2luZS5weQkocmV2aXNpb24g
MjA0Mjc1KQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9xdWV1ZWVuZ2luZS5w
eQkod29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsOCBAQCBpbXBvcnQgdHJhY2ViYWNrCiAKIGZy
b20gZGF0ZXRpbWUgaW1wb3J0IGRhdGV0aW1lLCB0aW1lZGVsdGEKIAorZnJvbSB3ZWJraXRweS5j
b21tb24uaG9zdCBpbXBvcnQgSG9zdAorZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtIGltcG9y
dCBsb2d1dGlscwogZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLmV4ZWN1dGl2ZSBpbXBvcnQg
U2NyaXB0RXJyb3IKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5vdXRwdXR0ZWUgaW1wb3J0
IE91dHB1dFRlZQogCkBAIC0xMjQsMTQgKzEyNiwxOCBAQCBjbGFzcyBRdWV1ZUVuZ2luZToKICAg
ICAgICAgcmV0dXJuIDAKIAogICAgIGRlZiBfc3RvcHBpbmcoc2VsZiwgbWVzc2FnZSk6Ci0gICAg
ICAgIF9sb2cuaW5mbygiXG4lcyIgJSBtZXNzYWdlKQorICAgICAgICBfbG9nLmluZm8obWVzc2Fn
ZSkKICAgICAgICAgc2VsZi5fZGVsZWdhdGUuc3RvcF93b3JrX3F1ZXVlKG1lc3NhZ2UpCisgICAg
ICAgIGxvZ2dpbmcuZ2V0TG9nZ2VyKCJ3ZWJraXRweSIpLnJlbW92ZUhhbmRsZXIoc2VsZi5fbG9n
X2hhbmRsZXIpCiAgICAgICAgICMgQmUgY2FyZWZ1bCB0byBzaHV0IGRvd24gb3VyIE91dHB1dFRl
ZSBvciB0aGUgdW5pdCB0ZXN0cyB3aWxsIGJlIHVuaGFwcHkuCiAgICAgICAgIHNlbGYuX2Vuc3Vy
ZV93b3JrX2xvZ19jbG9zZWQoKQogICAgICAgICBzZWxmLl9vdXRwdXRfdGVlLnJlbW92ZV9sb2co
c2VsZi5fcXVldWVfbG9nKQogCiAgICAgZGVmIF9iZWdpbl9sb2dnaW5nKHNlbGYpOgotICAgICAg
ICBzZWxmLl9xdWV1ZV9sb2cgPSBzZWxmLl9vdXRwdXRfdGVlLmFkZF9sb2coc2VsZi5fZGVsZWdh
dGUucXVldWVfbG9nX3BhdGgoKSkKKyAgICAgICAgX3F1ZXVlX2xvZ19wYXRoID0gc2VsZi5fZGVs
ZWdhdGUucXVldWVfbG9nX3BhdGgoKQorICAgICAgICAjIFdlIGFyZSB1c2luZyBsb2dnaW5nLmdl
dExvZ2dlcigid2Via2l0cHkiKSBpbnN0ZWFkIG9mIF9sb2cgc2luY2Ugd2Ugd2FudCB0byBjYXB0
dXJlIGFsbCBtZXNzYWdlcyBsb2dnZWQgZnJvbSB3ZWJraXRweSBtb2R1bGVzLgorICAgICAgICBz
ZWxmLl9sb2dfaGFuZGxlciA9IGxvZ3V0aWxzLmNvbmZpZ3VyZV9sb2dnZXJfdG9fbG9nX3RvX2Zp
bGUobG9nZ2luZy5nZXRMb2dnZXIoIndlYmtpdHB5IiksIF9xdWV1ZV9sb2dfcGF0aCwgSG9zdCgp
LmZpbGVzeXN0ZW0pCisgICAgICAgIHNlbGYuX3F1ZXVlX2xvZyA9IHNlbGYuX291dHB1dF90ZWUu
YWRkX2xvZyhfcXVldWVfbG9nX3BhdGgpCiAgICAgICAgIHNlbGYuX3dvcmtfbG9nID0gTm9uZQog
CiAgICAgZGVmIF9vcGVuX3dvcmtfbG9nKHNlbGYsIHdvcmtfaXRlbSk6CkluZGV4OiBUb29scy9T
Y3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L3F1ZXVlZW5naW5lX3VuaXR0ZXN0LnB5Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvcXVldWVlbmdpbmVfdW5pdHRl
c3QucHkJKHJldmlzaW9uIDIwNDI3NSkKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9i
b3QvcXVldWVlbmdpbmVfdW5pdHRlc3QucHkJKHdvcmtpbmcgY29weSkKQEAgLTE0Niw3ICsxNDYs
NyBAQCBjbGFzcyBRdWV1ZUVuZ2luZVRlc3QodW5pdHRlc3QuVGVzdENhc2UpCiAgICAgICAgICAg
ICBlbmdpbmUgPSBRdWV1ZUVuZ2luZSgidGVzdC1xdWV1ZSIsIGRlbGVnYXRlLCB0aHJlYWRpbmcu
RXZlbnQoKSkKICAgICAgICAgaWYgbm90IHRlcm1pbmF0aW9uX21lc3NhZ2U6CiAgICAgICAgICAg
ICB0ZXJtaW5hdGlvbl9tZXNzYWdlID0gIkRlbGVnYXRlIHRlcm1pbmF0ZWQgcXVldWUuIgotICAg
ICAgICBleHBlY3RlZF9sb2dzID0gIlxuJXNcbiIgJSB0ZXJtaW5hdGlvbl9tZXNzYWdlCisgICAg
ICAgIGV4cGVjdGVkX2xvZ3MgPSAiJXNcbiIgJSB0ZXJtaW5hdGlvbl9tZXNzYWdlCiAgICAgICAg
IE91dHB1dENhcHR1cmUoKS5hc3NlcnRfb3V0cHV0cyhzZWxmLCBlbmdpbmUucnVuLCBleHBlY3Rl
ZF9sb2dzPWV4cGVjdGVkX2xvZ3MpCiAKICAgICBkZWYgX3Rlc3RfdGVybWluYXRpbmdfcXVldWUo
c2VsZiwgZXhjZXB0aW9uLCB0ZXJtaW5hdGlvbl9tZXNzYWdlKToKSW5kZXg6IFRvb2xzL1Njcmlw
dHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9xdWV1ZXMucHkKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMv
U2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3F1ZXVlcy5weQkocmV2aXNpb24gMjA0Mjc1
KQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3F1ZXVlcy5weQkod29y
a2luZyBjb3B5KQpAQCAtNDEsMTAgKzQxLDggQEAgZnJvbSBTdHJpbmdJTyBpbXBvcnQgU3RyaW5n
SU8KIAogZnJvbSB3ZWJraXRweS5jb21tb24uY29uZmlnLmNvbW1pdHRlcnZhbGlkYXRvciBpbXBv
cnQgQ29tbWl0dGVyVmFsaWRhdG9yCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5jb25maWcucG9ydHMg
aW1wb3J0IERlcHJlY2F0ZWRQb3J0Ci1mcm9tIHdlYmtpdHB5LmNvbW1vbi5ob3N0IGltcG9ydCBI
b3N0CiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5uZXQuYnVnemlsbGEgaW1wb3J0IEF0dGFjaG1lbnQK
IGZyb20gd2Via2l0cHkuY29tbW9uLm5ldC5zdGF0dXNzZXJ2ZXIgaW1wb3J0IFN0YXR1c1NlcnZl
cgotZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtIGltcG9ydCBsb2d1dGlscwogZnJvbSB3ZWJr
aXRweS5jb21tb24uc3lzdGVtLmV4ZWN1dGl2ZSBpbXBvcnQgU2NyaXB0RXJyb3IKIGZyb20gd2Vi
a2l0cHkudG9vbC5ib3QuYm90aW5mbyBpbXBvcnQgQm90SW5mbwogZnJvbSB3ZWJraXRweS50b29s
LmJvdC5jb21taXRxdWV1ZXRhc2sgaW1wb3J0IENvbW1pdFF1ZXVlVGFzaywgQ29tbWl0UXVldWVU
YXNrRGVsZWdhdGUKQEAgLTY4LDcgKzY2LDcgQEAgY2xhc3MgQWJzdHJhY3RRdWV1ZShDb21tYW5k
LCBRdWV1ZUVuZ2luZQogICAgIF9mYWlsX3N0YXR1cyA9ICJGYWlsIgogICAgIF9lcnJvcl9zdGF0
dXMgPSAiRXJyb3IiCiAKLSAgICBkZWYgX19pbml0X18oc2VsZiwgb3B0aW9ucz1Ob25lLCBob3N0
PUhvc3QoKSk6ICAjIERlZmF1bHQgdmFsdWVzIHNob3VsZCBuZXZlciBiZSBjb2xsZWN0aW9ucyAo
bGlrZSBbXSkgYXMgZGVmYXVsdCB2YWx1ZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIGludm9jYXRpb25z
CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIG9wdGlvbnM9Tm9uZSk6ICAjIERlZmF1bHQgdmFsdWVz
IHNob3VsZCBuZXZlciBiZSBjb2xsZWN0aW9ucyAobGlrZSBbXSkgYXMgZGVmYXVsdCB2YWx1ZXMg
YXJlIHNoYXJlZCBiZXR3ZWVuIGludm9jYXRpb25zCiAgICAgICAgIG9wdGlvbnNfbGlzdCA9IChv
cHRpb25zIG9yIFtdKSArIFsKICAgICAgICAgICAgIG1ha2Vfb3B0aW9uKCItLW5vLWNvbmZpcm0i
LCBhY3Rpb249InN0b3JlX2ZhbHNlIiwgZGVzdD0iY29uZmlybSIsIGRlZmF1bHQ9VHJ1ZSwgaGVs
cD0iRG8gbm90IGFzayB0aGUgdXNlciBmb3IgY29uZmlybWF0aW9uIGJlZm9yZSBydW5uaW5nIHRo
ZSBxdWV1ZS4gIERhbmdlcm91cyEiKSwKICAgICAgICAgICAgIG1ha2Vfb3B0aW9uKCItLWV4aXQt
YWZ0ZXItaXRlcmF0aW9uIiwgYWN0aW9uPSJzdG9yZSIsIHR5cGU9ImludCIsIGRlc3Q9Iml0ZXJh
dGlvbnMiLCBkZWZhdWx0PU5vbmUsIGhlbHA9IlN0b3AgcnVubmluZyB0aGUgcXVldWUgYWZ0ZXIg
aXRlcmF0aW5nIHRoaXMgbnVtYmVyIG9mIHRpbWVzLiIpLApAQCAtNzgsNyArNzYsNiBAQCBjbGFz
cyBBYnN0cmFjdFF1ZXVlKENvbW1hbmQsIFF1ZXVlRW5naW5lCiAgICAgICAgIHNlbGYuX2l0ZXJh
dGlvbl9jb3VudCA9IDAKICAgICAgICAgaWYgbm90IGhhc2F0dHIoc2VsZiwgJ2FyY2hpdGVjdHVy
ZScpOgogICAgICAgICAgICAgc2VsZi5hcmNoaXRlY3R1cmUgPSBOb25lCi0gICAgICAgIHNlbGYu
aG9zdCA9IGhvc3QKIAogICAgIGRlZiBfY2Nfd2F0Y2hlcnMoc2VsZiwgYnVnX2lkKToKICAgICAg
ICAgdHJ5OgpAQCAtMTEyLDIwICsxMDksMTcgQEAgY2xhc3MgQWJzdHJhY3RRdWV1ZShDb21tYW5k
LCBRdWV1ZUVuZ2luZQogICAgICAgICByZXR1cm4gY29tbWFuZF9vdXRwdXQKIAogICAgIGRlZiBf
bG9nX2RpcmVjdG9yeShzZWxmKToKLSAgICAgICAgcmV0dXJuIHNlbGYuaG9zdC5maWxlc3lzdGVt
LmpvaW4oIi4uIiwgIiVzLWxvZ3MiICUgc2VsZi5uYW1lKQorICAgICAgICByZXR1cm4gb3MucGF0
aC5qb2luKCIuLiIsICIlcy1sb2dzIiAlIHNlbGYubmFtZSkKIAogICAgICMgUXVldWVFbmdpbmVE
ZWxlZ2F0ZSBtZXRob2RzCiAKICAgICBkZWYgcXVldWVfbG9nX3BhdGgoc2VsZik6Ci0gICAgICAg
IHJldHVybiBzZWxmLmhvc3QuZmlsZXN5c3RlbS5qb2luKHNlbGYuX2xvZ19kaXJlY3RvcnkoKSwg
IiVzLmxvZyIgJSBzZWxmLm5hbWUpCisgICAgICAgIHJldHVybiBvcy5wYXRoLmpvaW4oc2VsZi5f
bG9nX2RpcmVjdG9yeSgpLCAiJXMubG9nIiAlIHNlbGYubmFtZSkKIAogICAgIGRlZiB3b3JrX2l0
ZW1fbG9nX3BhdGgoc2VsZiwgd29ya19pdGVtKToKICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50
ZWRFcnJvciwgInN1YmNsYXNzZXMgbXVzdCBpbXBsZW1lbnQiCiAKICAgICBkZWYgYmVnaW5fd29y
a19xdWV1ZShzZWxmKToKLSAgICAgICAgIyBGSVhNRTogV2Ugc2hvdWxkIHN0b3AgdGhlIGxvZ2dp
bmcgYXMgd2VsbCB3aGVuIHRoZSBxdWV1ZSBzdG9wcy4KLSAgICAgICAgIyBXZSBhcmUgdXNpbmcg
bG9nZ2luZy5nZXRMb2dnZXIoIndlYmtpdHB5IikgaW5zdGVhZCBvZiBfbG9nIHNpbmNlIHdlIHdh
bnQgdG8gY2FwdHVyZSBhbGwgbWVzc2FnZXMgbG9nZ2VkIGZyb20gd2Via2l0cHkgbW9kdWxlcy4K
LSAgICAgICAgbG9ndXRpbHMuY29uZmlndXJlX2xvZ2dlcl90b19sb2dfdG9fZmlsZShsb2dnaW5n
LmdldExvZ2dlcigid2Via2l0cHkiKSwgc2VsZi5xdWV1ZV9sb2dfcGF0aCgpLCBzZWxmLmhvc3Qu
ZmlsZXN5c3RlbSkKICAgICAgICAgX2xvZy5pbmZvKCJDQVVUSU9OOiAlcyB3aWxsIGRpc2NhcmQg
YWxsIGxvY2FsIGNoYW5nZXMgaW4gXCIlc1wiIiAlIChzZWxmLm5hbWUsIHNlbGYuX3Rvb2wuc2Nt
KCkuY2hlY2tvdXRfcm9vdCkpCiAgICAgICAgIGlmIHNlbGYuX29wdGlvbnMuY29uZmlybToKICAg
ICAgICAgICAgIHJlc3BvbnNlID0gc2VsZi5fdG9vbC51c2VyLnByb21wdCgiQXJlIHlvdSBzdXJl
PyAgVHlwZSBcInllc1wiIHRvIGNvbnRpbnVlOiAiKQpAQCAtMjY1LDEwICsyNTksOSBAQCBjbGFz
cyBQYXRjaFByb2Nlc3NpbmdRdWV1ZShBYnN0cmFjdFBhdGNoCiAgICAgIyBTdWJjbGFzc2VzIG11
c3Qgb3ZlcnJpZGUuCiAgICAgcG9ydF9uYW1lID0gTm9uZQogCi0gICAgZGVmIF9faW5pdF9fKHNl
bGYsIG9wdGlvbnM9Tm9uZSwgaG9zdD1Ib3N0KCkpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBv
cHRpb25zPU5vbmUpOgogICAgICAgICBzZWxmLl9wb3J0ID0gTm9uZSAgIyBXZSBjYW4ndCBpbnN0
YW50aWF0ZSBwb3J0IGhlcmUgYmVjYXVzZSB0b29sIGlzbid0IGF2YWlhbGJsZS4KLSAgICAgICAg
c2VsZi5ob3N0ID0gaG9zdAotICAgICAgICBBYnN0cmFjdFBhdGNoUXVldWUuX19pbml0X18oc2Vs
Ziwgb3B0aW9ucywgaG9zdD1ob3N0KQorICAgICAgICBBYnN0cmFjdFBhdGNoUXVldWUuX19pbml0
X18oc2VsZiwgb3B0aW9ucykKIAogICAgICMgRklYTUU6IFRoaXMgaXMgYSBoYWNrIHRvIG1hcCBi
ZXR3ZWVuIHRoZSBvbGQgcG9ydCBuYW1lcyBhbmQgdGhlIG5ldyBwb3J0IG5hbWVzLgogICAgIGRl
ZiBfbmV3X3BvcnRfbmFtZV9mcm9tX29sZChzZWxmLCBwb3J0X25hbWUsIHBsYXRmb3JtKToKQEAg
LTMyMCwxMCArMzEzLDkgQEAgY2xhc3MgUGF0Y2hQcm9jZXNzaW5nUXVldWUoQWJzdHJhY3RQYXRj
aAogCiAKIGNsYXNzIENvbW1pdFF1ZXVlKFBhdGNoUHJvY2Vzc2luZ1F1ZXVlLCBTdGVwU2VxdWVu
Y2VFcnJvckhhbmRsZXIsIENvbW1pdFF1ZXVlVGFza0RlbGVnYXRlKToKLSAgICBkZWYgX19pbml0
X18oc2VsZiwgY29tbWl0X3F1ZXVlX3Rhc2tfY2xhc3M9Q29tbWl0UXVldWVUYXNrLCBob3N0PUhv
c3QoKSk6Ci0gICAgICAgIHNlbGYuaG9zdCA9IGhvc3QKKyAgICBkZWYgX19pbml0X18oc2VsZiwg
Y29tbWl0X3F1ZXVlX3Rhc2tfY2xhc3M9Q29tbWl0UXVldWVUYXNrKToKICAgICAgICAgc2VsZi5f
Y29tbWl0X3F1ZXVlX3Rhc2tfY2xhc3MgPSBjb21taXRfcXVldWVfdGFza19jbGFzcwotICAgICAg
ICBQYXRjaFByb2Nlc3NpbmdRdWV1ZS5fX2luaXRfXyhzZWxmLCBob3N0PWhvc3QpCisgICAgICAg
IFBhdGNoUHJvY2Vzc2luZ1F1ZXVlLl9faW5pdF9fKHNlbGYpCiAKICAgICBuYW1lID0gImNvbW1p
dC1xdWV1ZSIKICAgICBwb3J0X25hbWUgPSAibWFjIgpAQCAtNDM4LDkgKzQzMCw4IEBAIGNsYXNz
IENvbW1pdFF1ZXVlKFBhdGNoUHJvY2Vzc2luZ1F1ZXVlLCAKIAogY2xhc3MgQWJzdHJhY3RSZXZp
ZXdRdWV1ZShQYXRjaFByb2Nlc3NpbmdRdWV1ZSwgU3RlcFNlcXVlbmNlRXJyb3JIYW5kbGVyKToK
ICAgICAiIiJUaGlzIGlzIHRoZSBiYXNlLWNsYXNzIGZvciB0aGUgRVdTIHF1ZXVlcyBhbmQgdGhl
IHN0eWxlLXF1ZXVlLiIiIgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBvcHRpb25zPU5vbmUsIGhv
c3Q9SG9zdCgpKToKLSAgICAgICAgc2VsZi5ob3N0ID0gaG9zdAotICAgICAgICBQYXRjaFByb2Nl
c3NpbmdRdWV1ZS5fX2luaXRfXyhzZWxmLCBvcHRpb25zLCBob3N0PWhvc3QpCisgICAgZGVmIF9f
aW5pdF9fKHNlbGYsIG9wdGlvbnM9Tm9uZSk6CisgICAgICAgIFBhdGNoUHJvY2Vzc2luZ1F1ZXVl
Ll9faW5pdF9fKHNlbGYsIG9wdGlvbnMpCiAKICAgICBkZWYgcmV2aWV3X3BhdGNoKHNlbGYsIHBh
dGNoKToKICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcigic3ViY2xhc3NlcyBtdXN0
IGltcGxlbWVudCIpCkBAIC00NzIsOSArNDYzLDggQEAgY2xhc3MgQWJzdHJhY3RSZXZpZXdRdWV1
ZShQYXRjaFByb2Nlc3NpbgogY2xhc3MgU3R5bGVRdWV1ZShBYnN0cmFjdFJldmlld1F1ZXVlLCBT
dHlsZVF1ZXVlVGFza0RlbGVnYXRlKToKICAgICBuYW1lID0gInN0eWxlLXF1ZXVlIgogCi0gICAg
ZGVmIF9faW5pdF9fKHNlbGYsIGhvc3Q9SG9zdCgpKToKLSAgICAgICAgc2VsZi5ob3N0ID0gaG9z
dAotICAgICAgICBBYnN0cmFjdFJldmlld1F1ZXVlLl9faW5pdF9fKHNlbGYsIGhvc3Q9aG9zdCkK
KyAgICBkZWYgX19pbml0X18oc2VsZik6CisgICAgICAgIEFic3RyYWN0UmV2aWV3UXVldWUuX19p
bml0X18oc2VsZikKIAogICAgIGRlZiByZXZpZXdfcGF0Y2goc2VsZiwgcGF0Y2gpOgogICAgICAg
ICB0YXNrID0gU3R5bGVRdWV1ZVRhc2soc2VsZiwgcGF0Y2gpCkluZGV4OiBUb29scy9TY3JpcHRz
L3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcXVldWVzX3VuaXR0ZXN0LnB5Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9xdWV1ZXNfdW5pdHRlc3QucHkJ
KHJldmlzaW9uIDIwNDI3NSkKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5k
cy9xdWV1ZXNfdW5pdHRlc3QucHkJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDYgQEAgaW1w
b3J0IFN0cmluZ0lPCiAKIGZyb20gd2Via2l0cHkuY29tbW9uLmNoZWNrb3V0LnNjbSBpbXBvcnQg
Q2hlY2tvdXROZWVkc1VwZGF0ZQogZnJvbSB3ZWJraXRweS5jb21tb24uY2hlY2tvdXQuc2NtLnNj
bV9tb2NrIGltcG9ydCBNb2NrU0NNCi1mcm9tIHdlYmtpdHB5LmNvbW1vbi5ob3N0X21vY2sgaW1w
b3J0IE1vY2tIb3N0CiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5uZXQubGF5b3V0dGVzdHJlc3VsdHMg
aW1wb3J0IExheW91dFRlc3RSZXN1bHRzCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5uZXQuYnVnemls
bGEgaW1wb3J0IEF0dGFjaG1lbnQKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5vdXRwdXRj
YXB0dXJlIGltcG9ydCBPdXRwdXRDYXB0dXJlCkBAIC00OCw3ICs0Nyw3IEBAIGZyb20gd2Via2l0
cHkudG9vbC5tb2NrdG9vbCBpbXBvcnQgTW9ja1QKIAogY2xhc3MgVGVzdENvbW1pdFF1ZXVlKENv
bW1pdFF1ZXVlKToKICAgICBkZWYgX19pbml0X18oc2VsZiwgdG9vbD1Ob25lKToKLSAgICAgICAg
Q29tbWl0UXVldWUuX19pbml0X18oc2VsZiwgaG9zdD1Nb2NrSG9zdCgpKQorICAgICAgICBDb21t
aXRRdWV1ZS5fX2luaXRfXyhzZWxmKQogICAgICAgICBpZiB0b29sOgogICAgICAgICAgICAgc2Vs
Zi5iaW5kX3RvX3Rvb2wodG9vbCkKICAgICAgICAgc2VsZi5fb3B0aW9ucyA9IE1vY2tPcHRpb25z
KGNvbmZpcm09RmFsc2UsIHBhcmVudF9jb21tYW5kPSJjb21taXQtcXVldWUiLCBwb3J0PU5vbmUp
CkBAIC02MywyMyArNjIsMTQgQEAgY2xhc3MgVGVzdENvbW1pdFF1ZXVlKENvbW1pdFF1ZXVlKToK
IGNsYXNzIFRlc3RRdWV1ZShBYnN0cmFjdFBhdGNoUXVldWUpOgogICAgIG5hbWUgPSAidGVzdC1x
dWV1ZSIKIAotICAgIGRlZiBfX2luaXRfXyhzZWxmKToKLSAgICAgICAgQWJzdHJhY3RQYXRjaFF1
ZXVlLl9faW5pdF9fKHNlbGYsIGhvc3Q9TW9ja0hvc3QoKSkKLQogCiBjbGFzcyBUZXN0UmV2aWV3
UXVldWUoQWJzdHJhY3RSZXZpZXdRdWV1ZSk6CiAgICAgbmFtZSA9ICJ0ZXN0LXJldmlldy1xdWV1
ZSIKIAotICAgIGRlZiBfX2luaXRfXyhzZWxmKToKLSAgICAgICAgQWJzdHJhY3RSZXZpZXdRdWV1
ZS5fX2luaXRfXyhzZWxmLCBob3N0PU1vY2tIb3N0KCkpCi0KIAogY2xhc3MgVGVzdEZlZWRlclF1
ZXVlKEZlZWRlclF1ZXVlKToKICAgICBfc2xlZXBfZHVyYXRpb24gPSAwCiAKLSAgICBkZWYgX19p
bml0X18oc2VsZik6Ci0gICAgICAgIEZlZWRlclF1ZXVlLl9faW5pdF9fKHNlbGYsIGhvc3Q9TW9j
a0hvc3QoKSkKLQogCiBjbGFzcyBBYnN0cmFjdFF1ZXVlVGVzdChDb21tYW5kc1Rlc3QpOgogICAg
IGRlZiB0ZXN0X2xvZ19kaXJlY3Rvcnkoc2VsZik6CkBAIC0xNjMsNyArMTUzLDcgQEAgTU9DSzog
c3VibWl0X3RvX2V3czogMTAwMDIKIAogY2xhc3MgQWJzdHJhY3RQYXRjaFF1ZXVlVGVzdChDb21t
YW5kc1Rlc3QpOgogICAgIGRlZiB0ZXN0X25leHRfcGF0Y2goc2VsZik6Ci0gICAgICAgIHF1ZXVl
ID0gQWJzdHJhY3RQYXRjaFF1ZXVlKGhvc3Q9TW9ja0hvc3QoKSkKKyAgICAgICAgcXVldWUgPSBB
YnN0cmFjdFBhdGNoUXVldWUoKQogICAgICAgICB0b29sID0gTW9ja1Rvb2woKQogICAgICAgICBx
dWV1ZS5iaW5kX3RvX3Rvb2wodG9vbCkKICAgICAgICAgcXVldWUuX29wdGlvbnMgPSBNb2NrKCkK
QEAgLTE4MSw3ICsxNzEsNyBAQCBjbGFzcyBBYnN0cmFjdFBhdGNoUXVldWVUZXN0KENvbW1hbmRz
VGVzCiAKIGNsYXNzIFBhdGNoUHJvY2Vzc2luZ1F1ZXVlVGVzdChDb21tYW5kc1Rlc3QpOgogICAg
IGRlZiB0ZXN0X3VwbG9hZF9yZXN1bHRzX2FyY2hpdmVfZm9yX3BhdGNoKHNlbGYpOgotICAgICAg
ICBxdWV1ZSA9IFBhdGNoUHJvY2Vzc2luZ1F1ZXVlKGhvc3Q9TW9ja0hvc3QoKSkKKyAgICAgICAg
cXVldWUgPSBQYXRjaFByb2Nlc3NpbmdRdWV1ZSgpCiAgICAgICAgIHF1ZXVlLm5hbWUgPSAibW9j
ay1xdWV1ZSIKICAgICAgICAgdG9vbCA9IE1vY2tUb29sKCkKICAgICAgICAgcXVldWUuYmluZF90
b190b29sKHRvb2wpCkBAIC0yNzAsNyArMjYwLDcgQEAgTU9DSzogcmVsZWFzZV93b3JrX2l0ZW06
IGNvbW1pdC1xdWV1ZSAxMAogICAgICAgICAgICAgImhhbmRsZV9zY3JpcHRfZXJyb3IiOiAiU2Ny
aXB0RXJyb3IgZXJyb3IgbWVzc2FnZVxuXG5NT0NLIG91dHB1dFxuIiwKICAgICAgICAgICAgICJo
YW5kbGVfdW5leHBlY3RlZF9lcnJvciI6ICJNT0NLIHNldHRpbmcgZmxhZyAnY29tbWl0LXF1ZXVl
JyB0byAnLScgb24gYXR0YWNobWVudCAnMTAwMDAnIHdpdGggY29tbWVudCAnUmVqZWN0aW5nIGF0
dGFjaG1lbnQgMTAwMDAgZnJvbSBjb21taXQtcXVldWUuXG5cbk1vY2sgZXJyb3IgbWVzc2FnZSdc
biIsCiAgICAgICAgIH0KLSAgICAgICAgc2VsZi5hc3NlcnRfcXVldWVfb3V0cHV0cyhDb21taXRR
dWV1ZShob3N0PU1vY2tIb3N0KCkpLCB0b29sPXRvb2wsIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRf
bG9ncykKKyAgICAgICAgc2VsZi5hc3NlcnRfcXVldWVfb3V0cHV0cyhDb21taXRRdWV1ZSgpLCB0
b29sPXRvb2wsIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncykKIAogICAgIGRlZiB0ZXN0X2Nv
bW1pdF9xdWV1ZV9mYWlsdXJlKHNlbGYpOgogICAgICAgICBleHBlY3RlZF9sb2dzID0gewpAQCAt
Mjg2LDcgKzI3Niw3IEBAIE1PQ0s6IHJlbGVhc2Vfd29ya19pdGVtOiBjb21taXQtcXVldWUgMTAK
ICAgICAgICAgICAgICJoYW5kbGVfc2NyaXB0X2Vycm9yIjogIlNjcmlwdEVycm9yIGVycm9yIG1l
c3NhZ2VcblxuTU9DSyBvdXRwdXRcbiIsCiAgICAgICAgICAgICAiaGFuZGxlX3VuZXhwZWN0ZWRf
ZXJyb3IiOiAiTU9DSyBzZXR0aW5nIGZsYWcgJ2NvbW1pdC1xdWV1ZScgdG8gJy0nIG9uIGF0dGFj
aG1lbnQgJzEwMDAwJyB3aXRoIGNvbW1lbnQgJ1JlamVjdGluZyBhdHRhY2htZW50IDEwMDAwIGZy
b20gY29tbWl0LXF1ZXVlLlxuXG5Nb2NrIGVycm9yIG1lc3NhZ2UnXG4iLAogICAgICAgICB9Ci0g
ICAgICAgIHF1ZXVlID0gQ29tbWl0UXVldWUoaG9zdD1Nb2NrSG9zdCgpKQorICAgICAgICBxdWV1
ZSA9IENvbW1pdFF1ZXVlKCkKIAogICAgICAgICBkZWYgbW9ja19ydW5fd2Via2l0X3BhdGNoKGNv
bW1hbmQpOgogICAgICAgICAgICAgaWYgY29tbWFuZFswXSA9PSAnY2xlYW4nIG9yIGNvbW1hbmRb
MF0gPT0gJ3VwZGF0ZSc6CkBAIC0zMTgsNyArMzA4LDcgQEAgTU9DSzogcmVsZWFzZV93b3JrX2l0
ZW06IGNvbW1pdC1xdWV1ZSAxMAogICAgICAgICAgICAgZGVmIHJlc3VsdHNfZnJvbV9wYXRjaF90
ZXN0X3J1bihzZWxmLCBwYXRjaCk6CiAgICAgICAgICAgICAgICAgcmV0dXJuIExheW91dFRlc3RS
ZXN1bHRzKFt0ZXN0X3Jlc3VsdHMuVGVzdFJlc3VsdCgibW9ja190ZXN0X25hbWUuaHRtbCIsIGZh
aWx1cmVzPVt0ZXN0X2ZhaWx1cmVzLkZhaWx1cmVUZXh0TWlzbWF0Y2goKV0pXSwgZGlkX2V4Y2Vl
ZF90ZXN0X2ZhaWx1cmVfbGltaXQ9RmFsc2UpCiAKLSAgICAgICAgcXVldWUgPSBDb21taXRRdWV1
ZShNb2NrQ29tbWl0UXVldWVUYXNrLCBob3N0PU1vY2tIb3N0KCkpCisgICAgICAgIHF1ZXVlID0g
Q29tbWl0UXVldWUoTW9ja0NvbW1pdFF1ZXVlVGFzaykKIAogICAgICAgICBkZWYgbW9ja19ydW5f
d2Via2l0X3BhdGNoKGNvbW1hbmQpOgogICAgICAgICAgICAgaWYgY29tbWFuZFswXSA9PSAnY2xl
YW4nIG9yIGNvbW1hbmRbMF0gPT0gJ3VwZGF0ZSc6CkBAIC0zNTcsNyArMzQ3LDcgQEAgTU9DSzog
cmVsZWFzZV93b3JrX2l0ZW06IGNvbW1pdC1xdWV1ZSAxMAogICAgICAgICAgICAgImhhbmRsZV9z
Y3JpcHRfZXJyb3IiOiAiU2NyaXB0RXJyb3IgZXJyb3IgbWVzc2FnZVxuXG5NT0NLIG91dHB1dFxu
IiwKICAgICAgICAgICAgICJoYW5kbGVfdW5leHBlY3RlZF9lcnJvciI6ICJNT0NLIHNldHRpbmcg
ZmxhZyAnY29tbWl0LXF1ZXVlJyB0byAnLScgb24gYXR0YWNobWVudCAnMTAwMDAnIHdpdGggY29t
bWVudCAnUmVqZWN0aW5nIGF0dGFjaG1lbnQgMTAwMDAgZnJvbSBjb21taXQtcXVldWUuXG5cbk1v
Y2sgZXJyb3IgbWVzc2FnZSdcbiIsCiAgICAgICAgIH0KLSAgICAgICAgc2VsZi5hc3NlcnRfcXVl
dWVfb3V0cHV0cyhDb21taXRRdWV1ZShob3N0PU1vY2tIb3N0KCkpLCB0b29sPXRvb2wsIGV4cGVj
dGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncykKKyAgICAgICAgc2VsZi5hc3NlcnRfcXVldWVfb3V0cHV0
cyhDb21taXRRdWV1ZSgpLCB0b29sPXRvb2wsIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncykK
IAogICAgIGRlZiB0ZXN0X3JvbGxvdXRfbGFuZHMoc2VsZik6CiAgICAgICAgIHRvb2wgPSBNb2Nr
VG9vbCgpCkBAIC0zODIsNyArMzcyLDcgQEAgTU9DSzogcmVsZWFzZV93b3JrX2l0ZW06IGNvbW1p
dC1xdWV1ZSAxMAogICAgICAgICAgICAgImhhbmRsZV9zY3JpcHRfZXJyb3IiOiAiU2NyaXB0RXJy
b3IgZXJyb3IgbWVzc2FnZVxuXG5NT0NLIG91dHB1dFxuIiwKICAgICAgICAgICAgICJoYW5kbGVf
dW5leHBlY3RlZF9lcnJvciI6ICJNT0NLIHNldHRpbmcgZmxhZyAnY29tbWl0LXF1ZXVlJyB0byAn
LScgb24gYXR0YWNobWVudCAnMTAwMDUnIHdpdGggY29tbWVudCAnUmVqZWN0aW5nIGF0dGFjaG1l
bnQgMTAwMDUgZnJvbSBjb21taXQtcXVldWUuXG5cbk1vY2sgZXJyb3IgbWVzc2FnZSdcbiIsCiAg
ICAgICAgIH0KLSAgICAgICAgc2VsZi5hc3NlcnRfcXVldWVfb3V0cHV0cyhDb21taXRRdWV1ZSho
b3N0PU1vY2tIb3N0KCkpLCB0b29sPXRvb2wsIHdvcmtfaXRlbT1yb2xsb3V0X3BhdGNoLCBleHBl
Y3RlZF9sb2dzPWV4cGVjdGVkX2xvZ3MpCisgICAgICAgIHNlbGYuYXNzZXJ0X3F1ZXVlX291dHB1
dHMoQ29tbWl0UXVldWUoKSwgdG9vbD10b29sLCB3b3JrX2l0ZW09cm9sbG91dF9wYXRjaCwgZXhw
ZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzKQogCiAgICAgZGVmIHRlc3Rfbm9uX3ZhbGlkX3BhdGNo
KHNlbGYpOgogICAgICAgICB0b29sID0gTW9ja1Rvb2woKQpAQCAtMzkzLDEwICszODMsMTAgQEAg
TU9DSzogcmVsZWFzZV93b3JrX2l0ZW06IGNvbW1pdC1xdWV1ZSAxMAogTU9DSzogcmVsZWFzZV93
b3JrX2l0ZW06IGNvbW1pdC1xdWV1ZSAxMDAwNwogIiIiLAogICAgICAgICB9Ci0gICAgICAgIHNl
bGYuYXNzZXJ0X3F1ZXVlX291dHB1dHMoQ29tbWl0UXVldWUoaG9zdD1Nb2NrSG9zdCgpKSwgdG9v
bD10b29sLCB3b3JrX2l0ZW09cGF0Y2gsIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncykKKyAg
ICAgICAgc2VsZi5hc3NlcnRfcXVldWVfb3V0cHV0cyhDb21taXRRdWV1ZSgpLCB0b29sPXRvb2ws
IHdvcmtfaXRlbT1wYXRjaCwgZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzKQogCiAgICAgZGVm
IHRlc3RfYXV0b19yZXRyeShzZWxmKToKLSAgICAgICAgcXVldWUgPSBDb21taXRRdWV1ZShob3N0
PU1vY2tIb3N0KCkpCisgICAgICAgIHF1ZXVlID0gQ29tbWl0UXVldWUoKQogICAgICAgICBvcHRp
b25zID0gTW9jaygpCiAgICAgICAgIG9wdGlvbnMucGFyZW50X2NvbW1hbmQgPSAiY29tbWl0LXF1
ZXVlIgogICAgICAgICB0b29sID0gQWx3YXlzQ29tbWl0UXVldWVUb29sKCkKQEAgLTUwOCw3ICs0
OTgsNyBAQCBNT0NLOiByZWxlYXNlX3dvcmtfaXRlbTogc3R5bGUtcXVldWUgMTAwCiAgICAgICAg
ICAgICAiaGFuZGxlX3NjcmlwdF9lcnJvciI6ICJNT0NLIG91dHB1dFxuIiwKICAgICAgICAgfQog
ICAgICAgICB0b29sID0gTW9ja1Rvb2woZXhlY3V0aXZlX3Rocm93c193aGVuX3J1bj1zZXQoWydj
aGVjay1zdHlsZSddKSkKLSAgICAgICAgc2VsZi5hc3NlcnRfcXVldWVfb3V0cHV0cyhTdHlsZVF1
ZXVlKGhvc3Q9TW9ja0hvc3QoKSksIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncywgdG9vbD10
b29sKQorICAgICAgICBzZWxmLmFzc2VydF9xdWV1ZV9vdXRwdXRzKFN0eWxlUXVldWUoKSwgZXhw
ZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzLCB0b29sPXRvb2wpCiAKICAgICBkZWYgdGVzdF9zdHls
ZV9xdWV1ZV93aXRoX3dhdGNoX2xpc3RfZXhjZXB0aW9uKHNlbGYpOgogICAgICAgICBleHBlY3Rl
ZF9sb2dzID0gewpAQCAtNTMzLDcgKzUyMyw3IEBAIE1PQ0s6IHJlbGVhc2Vfd29ya19pdGVtOiBz
dHlsZS1xdWV1ZSAxMDAKICAgICAgICAgICAgICJoYW5kbGVfc2NyaXB0X2Vycm9yIjogIk1PQ0sg
b3V0cHV0XG4iLAogICAgICAgICB9CiAgICAgICAgIHRvb2wgPSBNb2NrVG9vbChleGVjdXRpdmVf
dGhyb3dzX3doZW5fcnVuPXNldChbJ2FwcGx5LXdhdGNobGlzdC1sb2NhbCddKSkKLSAgICAgICAg
c2VsZi5hc3NlcnRfcXVldWVfb3V0cHV0cyhTdHlsZVF1ZXVlKGhvc3Q9TW9ja0hvc3QoKSksIGV4
cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncywgdG9vbD10b29sKQorICAgICAgICBzZWxmLmFzc2Vy
dF9xdWV1ZV9vdXRwdXRzKFN0eWxlUXVldWUoKSwgZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dz
LCB0b29sPXRvb2wpCiAKICAgICBkZWYgdGVzdF9ub25fdmFsaWRfcGF0Y2goc2VsZik6CiAgICAg
ICAgIHRvb2wgPSBNb2NrVG9vbCgpCkBAIC01NDQsNCArNTM0LDQgQEAgTU9DSzogcmVsZWFzZV93
b3JrX2l0ZW06IHN0eWxlLXF1ZXVlIDEwMAogTU9DSzogcmVsZWFzZV93b3JrX2l0ZW06IHN0eWxl
LXF1ZXVlIDEwMDA3CiAiIiIsCiAgICAgICAgIH0KLSAgICAgICAgc2VsZi5hc3NlcnRfcXVldWVf
b3V0cHV0cyhTdHlsZVF1ZXVlKGhvc3Q9TW9ja0hvc3QoKSksIHRvb2w9dG9vbCwgd29ya19pdGVt
PXBhdGNoLCBleHBlY3RlZF9sb2dzPWV4cGVjdGVkX2xvZ3MpCisgICAgICAgIHNlbGYuYXNzZXJ0
X3F1ZXVlX291dHB1dHMoU3R5bGVRdWV1ZSgpLCB0b29sPXRvb2wsIHdvcmtfaXRlbT1wYXRjaCwg
ZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzKQo=
</data>
<flag name="commit-queue"
          id="309263"
          type_id="3"
          status="+"
          setter="aakash_jain"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>285656</attachid>
            <date>2016-08-09 12:01:48 -0700</date>
            <delta_ts>2016-08-09 12:31:44 -0700</delta_ts>
            <desc>Updated patch</desc>
            <filename>ews-log-stop-v3</filename>
            <type>text/plain</type>
            <size>17697</size>
            <attacher name="Aakash Jain">aakash_jain</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIwNDI4NCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDQ0IEBACisyMDE2LTA4LTA5ICBBYWthc2ggSmFpbiAgPGFha2FzaF9qYWluQGFwcGxlLmNv
bT4KKworICAgICAgICBFV1MgbG9nZ2luZyBzaG91bGQgZW5zdXJlIHRoZSBsb2dnaW5nIHRvIGZp
bGUgaXMgc3RvcHBlZCBvbiBxdWV1ZSB0ZXJtaW5hdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYwNjk4CisgICAgICAgIHJkYXI6Ly9wcm9ibGVt
LzI0NDY0NTcwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFuaWVsIEJhdGVzLgorCisgICAgICAg
ICogU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9xdWV1ZWVuZ2luZS5weToKKyAgICAgICAgKFF1
ZXVlRW5naW5lLl9zdG9wcGluZyk6IFN0b3AgbG9nZ2luZyB0byBmaWxlIG9uIHF1ZXVlIHRlcm1p
bmF0aW9uLgorICAgICAgICAoUXVldWVFbmdpbmUuX2JlZ2luX2xvZ2dpbmcpOiBDb25maWd1cmUg
dGhlIFB5dGhvbiBsb2dnZXIgdG8gbG9nIHRvIGZpbGUuCisgICAgICAgICogU2NyaXB0cy93ZWJr
aXRweS9jb21tb24vc3lzdGVtL2xvZ3V0aWxzLnB5OgorICAgICAgICAoY29uZmlndXJlX2xvZ2dl
cl90b19sb2dfdG9fZmlsZSk6IFJldHVybiB0aGUgaGFuZGxlciBzbyBhcyB0byBlbmFibGUgY2Fs
bGVyIHRvIHJlbW92ZSBpdCBsYXRlci4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wv
Ym90L3F1ZXVlZW5naW5lX3VuaXR0ZXN0LnB5OgorICAgICAgICAoUXVldWVFbmdpbmVUZXN0Ll9y
dW5fZW5naW5lKTogUmVtb3ZlZCBleHRyYSBuZXdsaW5lIGNoYXJhY3RlciB0byBpbXByb3ZlIGxv
ZyByZWFkYWJpbGl0eS4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMv
cXVldWVzLnB5OgorICAgICAgICAoQWJzdHJhY3RRdWV1ZS5fbG9nX2RpcmVjdG9yeSk6IFJldmVy
dGluZyB0byBvcy5wYXRoLmpvaW4gYXMgd2UgZG9uJ3QgaGF2ZSBob3N0IG9iamVjdC4KKyAgICAg
ICAgKEFic3RyYWN0UXVldWUucXVldWVfbG9nX3BhdGgpOiBTYW1lLgorICAgICAgICAoQWJzdHJh
Y3RRdWV1ZS5iZWdpbl93b3JrX3F1ZXVlKTogUmVtb3ZlZCBsb2dnaW5nIGluaXRpYWxpemF0aW9u
LCBpdCBpcyBub3cgYmVpbmcgZG9uZSBpbiBRdWV1ZUVuZ2luZS4KKyAgICAgICAgKEFic3RyYWN0
UXVldWUuX19pbml0X18pOiBSZW1vdmVkIGhvc3QgcGFyYW1ldGVyLCBub3QgcmVxdWlyZWQgYW55
bW9yZSwgaXQgd2FzIHJlcXVpcmVkIGJ5IGxvZ2dpbmcgaW5pdGlhbGl6YXRpb24KKyAgICAgICAg
d2hpY2ggbW92ZWQgdG8gUXVldWVFbmdpbmUgbm93LgorICAgICAgICAoUGF0Y2hQcm9jZXNzaW5n
UXVldWUuX19pbml0X18pOiBTYW1lLgorICAgICAgICAoQ29tbWl0UXVldWUuX19pbml0X18pOiBT
YW1lLgorICAgICAgICAoQWJzdHJhY3RSZXZpZXdRdWV1ZS5fX2luaXRfXyk6IFNhbWUuCisgICAg
ICAgIChTdHlsZVF1ZXVlLl9faW5pdF9fKTogU2FtZS4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L3Rvb2wvY29tbWFuZHMvcXVldWVzX3VuaXR0ZXN0LnB5OgorICAgICAgICAoVGVzdENvbW1p
dFF1ZXVlKTogUmVtb3ZlZCBob3N0IHBhcmFtZXRlci4KKyAgICAgICAgKFRlc3RDb21taXRRdWV1
ZS5fX2luaXRfXyk6IFNhbWUuCisgICAgICAgIChBYnN0cmFjdFBhdGNoUXVldWVUZXN0LnRlc3Rf
bmV4dF9wYXRjaCk6IFNhbWUuCisgICAgICAgIChQYXRjaFByb2Nlc3NpbmdRdWV1ZVRlc3QudGVz
dF91cGxvYWRfcmVzdWx0c19hcmNoaXZlX2Zvcl9wYXRjaCk6IFNhbWUuCisgICAgICAgICh0ZXN0
X2NvbW1pdF9xdWV1ZV9mYWlsdXJlKTogU2FtZS4KKyAgICAgICAgKG1vY2tfcnVuX3dlYmtpdF9w
YXRjaCk6CisgICAgICAgIChNb2NrQ29tbWl0UXVldWVUYXNrLnJlc3VsdHNfZnJvbV9wYXRjaF90
ZXN0X3J1bik6IFNhbWUuCisgICAgICAgICh0ZXN0X3JvbGxvdXRfbGFuZHMpOiBTYW1lLgorICAg
ICAgICAodGVzdF9ub25fdmFsaWRfcGF0Y2gpOiBTYW1lLgorICAgICAgICAodGVzdF9hdXRvX3Jl
dHJ5KTogU2FtZS4KKyAgICAgICAgKHRlc3Rfc3R5bGVfcXVldWVfd2l0aF93YXRjaF9saXN0X2V4
Y2VwdGlvbik6IFNhbWUuCisgICAgICAgIChUZXN0UXVldWUuX19pbml0X18pOiBEZWxldGVkLgor
ICAgICAgICAoVGVzdFJldmlld1F1ZXVlLl9faW5pdF9fKTogRGVsZXRlZC4KKyAgICAgICAgKFRl
c3RGZWVkZXJRdWV1ZS5fX2luaXRfXyk6IERlbGV0ZWQuCisKIDIwMTYtMDgtMDkgIEtvbnN0YW50
aW4gVG9rYXJldiAgPGFubnVsZW5AeWFuZGV4LnJ1PgogCiAgICAgICAgIHdlYmtpdC1ndGsgdGFy
YmFsbCBmYWlscyB0byBidWlsZCBkdWUgdG8gbWlzc2luZyBmaWxlcwpJbmRleDogVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2xvZ3V0aWxzLnB5Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9sb2d1dGlscy5weQkocmV2aXNpb24g
MjA0Mjc1KQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2xvZ3V0aWxz
LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0yMjMsNiArMjIzLDcgQEAgZGVmIGNvbmZpZ3VyZV9sb2dn
ZXJfdG9fbG9nX3RvX2ZpbGUobG9nZwogICAgIGhhbmRsZXIuc2V0Rm9ybWF0dGVyKGZvcm1hdHRl
cikKIAogICAgIGxvZ2dlci5hZGRIYW5kbGVyKGhhbmRsZXIpCisgICAgcmV0dXJuIGhhbmRsZXIK
IAogCiBjbGFzcyBGaWxlU3lzdGVtSGFuZGxlcihGaWxlSGFuZGxlcik6CkluZGV4OiBUb29scy9T
Y3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L3F1ZXVlZW5naW5lLnB5Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvcXVldWVlbmdpbmUucHkJKHJldmlzaW9uIDIw
NDI3NSkKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvcXVldWVlbmdpbmUucHkJ
KHdvcmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDggQEAgaW1wb3J0IHRyYWNlYmFjawogCiBmcm9t
IGRhdGV0aW1lIGltcG9ydCBkYXRldGltZSwgdGltZWRlbHRhCiAKK2Zyb20gd2Via2l0cHkuY29t
bW9uLmhvc3QgaW1wb3J0IEhvc3QKK2Zyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbSBpbXBvcnQg
bG9ndXRpbHMKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5leGVjdXRpdmUgaW1wb3J0IFNj
cmlwdEVycm9yCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0ub3V0cHV0dGVlIGltcG9ydCBP
dXRwdXRUZWUKIApAQCAtMTI0LDE0ICsxMjYsMTggQEAgY2xhc3MgUXVldWVFbmdpbmU6CiAgICAg
ICAgIHJldHVybiAwCiAKICAgICBkZWYgX3N0b3BwaW5nKHNlbGYsIG1lc3NhZ2UpOgotICAgICAg
ICBfbG9nLmluZm8oIlxuJXMiICUgbWVzc2FnZSkKKyAgICAgICAgX2xvZy5pbmZvKG1lc3NhZ2Up
CiAgICAgICAgIHNlbGYuX2RlbGVnYXRlLnN0b3Bfd29ya19xdWV1ZShtZXNzYWdlKQorICAgICAg
ICBsb2dnaW5nLmdldExvZ2dlcigid2Via2l0cHkiKS5yZW1vdmVIYW5kbGVyKHNlbGYuX2xvZ19o
YW5kbGVyKQogICAgICAgICAjIEJlIGNhcmVmdWwgdG8gc2h1dCBkb3duIG91ciBPdXRwdXRUZWUg
b3IgdGhlIHVuaXQgdGVzdHMgd2lsbCBiZSB1bmhhcHB5LgogICAgICAgICBzZWxmLl9lbnN1cmVf
d29ya19sb2dfY2xvc2VkKCkKICAgICAgICAgc2VsZi5fb3V0cHV0X3RlZS5yZW1vdmVfbG9nKHNl
bGYuX3F1ZXVlX2xvZykKIAogICAgIGRlZiBfYmVnaW5fbG9nZ2luZyhzZWxmKToKLSAgICAgICAg
c2VsZi5fcXVldWVfbG9nID0gc2VsZi5fb3V0cHV0X3RlZS5hZGRfbG9nKHNlbGYuX2RlbGVnYXRl
LnF1ZXVlX2xvZ19wYXRoKCkpCisgICAgICAgIF9xdWV1ZV9sb2dfcGF0aCA9IHNlbGYuX2RlbGVn
YXRlLnF1ZXVlX2xvZ19wYXRoKCkKKyAgICAgICAgIyBXZSBhcmUgdXNpbmcgbG9nZ2luZy5nZXRM
b2dnZXIoIndlYmtpdHB5IikgaW5zdGVhZCBvZiBfbG9nIHNpbmNlIHdlIHdhbnQgdG8gY2FwdHVy
ZSBhbGwgbWVzc2FnZXMgbG9nZ2VkIGZyb20gd2Via2l0cHkgbW9kdWxlcy4KKyAgICAgICAgc2Vs
Zi5fbG9nX2hhbmRsZXIgPSBsb2d1dGlscy5jb25maWd1cmVfbG9nZ2VyX3RvX2xvZ190b19maWxl
KGxvZ2dpbmcuZ2V0TG9nZ2VyKCJ3ZWJraXRweSIpLCBfcXVldWVfbG9nX3BhdGgsIEhvc3QoKS5m
aWxlc3lzdGVtKQorICAgICAgICBzZWxmLl9xdWV1ZV9sb2cgPSBzZWxmLl9vdXRwdXRfdGVlLmFk
ZF9sb2coX3F1ZXVlX2xvZ19wYXRoKQogICAgICAgICBzZWxmLl93b3JrX2xvZyA9IE5vbmUKIAog
ICAgIGRlZiBfb3Blbl93b3JrX2xvZyhzZWxmLCB3b3JrX2l0ZW0pOgpJbmRleDogVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS90b29sL2JvdC9xdWV1ZWVuZ2luZV91bml0dGVzdC5weQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L3F1ZXVlZW5naW5lX3VuaXR0ZXN0
LnB5CShyZXZpc2lvbiAyMDQyNzUpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90
L3F1ZXVlZW5naW5lX3VuaXR0ZXN0LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0xNDYsNyArMTQ2LDcg
QEAgY2xhc3MgUXVldWVFbmdpbmVUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKQogICAgICAgICAgICAg
ZW5naW5lID0gUXVldWVFbmdpbmUoInRlc3QtcXVldWUiLCBkZWxlZ2F0ZSwgdGhyZWFkaW5nLkV2
ZW50KCkpCiAgICAgICAgIGlmIG5vdCB0ZXJtaW5hdGlvbl9tZXNzYWdlOgogICAgICAgICAgICAg
dGVybWluYXRpb25fbWVzc2FnZSA9ICJEZWxlZ2F0ZSB0ZXJtaW5hdGVkIHF1ZXVlLiIKLSAgICAg
ICAgZXhwZWN0ZWRfbG9ncyA9ICJcbiVzXG4iICUgdGVybWluYXRpb25fbWVzc2FnZQorICAgICAg
ICBleHBlY3RlZF9sb2dzID0gIiVzXG4iICUgdGVybWluYXRpb25fbWVzc2FnZQogICAgICAgICBP
dXRwdXRDYXB0dXJlKCkuYXNzZXJ0X291dHB1dHMoc2VsZiwgZW5naW5lLnJ1biwgZXhwZWN0ZWRf
bG9ncz1leHBlY3RlZF9sb2dzKQogCiAgICAgZGVmIF90ZXN0X3Rlcm1pbmF0aW5nX3F1ZXVlKHNl
bGYsIGV4Y2VwdGlvbiwgdGVybWluYXRpb25fbWVzc2FnZSk6CkluZGV4OiBUb29scy9TY3JpcHRz
L3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcXVldWVzLnB5Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9xdWV1ZXMucHkJKHJldmlzaW9uIDIwNDI3NSkK
KysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9xdWV1ZXMucHkJKHdvcmtp
bmcgY29weSkKQEAgLTQxLDEwICs0MSw4IEBAIGZyb20gU3RyaW5nSU8gaW1wb3J0IFN0cmluZ0lP
CiAKIGZyb20gd2Via2l0cHkuY29tbW9uLmNvbmZpZy5jb21taXR0ZXJ2YWxpZGF0b3IgaW1wb3J0
IENvbW1pdHRlclZhbGlkYXRvcgogZnJvbSB3ZWJraXRweS5jb21tb24uY29uZmlnLnBvcnRzIGlt
cG9ydCBEZXByZWNhdGVkUG9ydAotZnJvbSB3ZWJraXRweS5jb21tb24uaG9zdCBpbXBvcnQgSG9z
dAogZnJvbSB3ZWJraXRweS5jb21tb24ubmV0LmJ1Z3ppbGxhIGltcG9ydCBBdHRhY2htZW50CiBm
cm9tIHdlYmtpdHB5LmNvbW1vbi5uZXQuc3RhdHVzc2VydmVyIGltcG9ydCBTdGF0dXNTZXJ2ZXIK
LWZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbSBpbXBvcnQgbG9ndXRpbHMKIGZyb20gd2Via2l0
cHkuY29tbW9uLnN5c3RlbS5leGVjdXRpdmUgaW1wb3J0IFNjcmlwdEVycm9yCiBmcm9tIHdlYmtp
dHB5LnRvb2wuYm90LmJvdGluZm8gaW1wb3J0IEJvdEluZm8KIGZyb20gd2Via2l0cHkudG9vbC5i
b3QuY29tbWl0cXVldWV0YXNrIGltcG9ydCBDb21taXRRdWV1ZVRhc2ssIENvbW1pdFF1ZXVlVGFz
a0RlbGVnYXRlCkBAIC02OCw3ICs2Niw3IEBAIGNsYXNzIEFic3RyYWN0UXVldWUoQ29tbWFuZCwg
UXVldWVFbmdpbmUKICAgICBfZmFpbF9zdGF0dXMgPSAiRmFpbCIKICAgICBfZXJyb3Jfc3RhdHVz
ID0gIkVycm9yIgogCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIG9wdGlvbnM9Tm9uZSwgaG9zdD1I
b3N0KCkpOiAgIyBEZWZhdWx0IHZhbHVlcyBzaG91bGQgbmV2ZXIgYmUgY29sbGVjdGlvbnMgKGxp
a2UgW10pIGFzIGRlZmF1bHQgdmFsdWVzIGFyZSBzaGFyZWQgYmV0d2VlbiBpbnZvY2F0aW9ucwor
ICAgIGRlZiBfX2luaXRfXyhzZWxmLCBvcHRpb25zPU5vbmUpOiAgIyBEZWZhdWx0IHZhbHVlcyBz
aG91bGQgbmV2ZXIgYmUgY29sbGVjdGlvbnMgKGxpa2UgW10pIGFzIGRlZmF1bHQgdmFsdWVzIGFy
ZSBzaGFyZWQgYmV0d2VlbiBpbnZvY2F0aW9ucwogICAgICAgICBvcHRpb25zX2xpc3QgPSAob3B0
aW9ucyBvciBbXSkgKyBbCiAgICAgICAgICAgICBtYWtlX29wdGlvbigiLS1uby1jb25maXJtIiwg
YWN0aW9uPSJzdG9yZV9mYWxzZSIsIGRlc3Q9ImNvbmZpcm0iLCBkZWZhdWx0PVRydWUsIGhlbHA9
IkRvIG5vdCBhc2sgdGhlIHVzZXIgZm9yIGNvbmZpcm1hdGlvbiBiZWZvcmUgcnVubmluZyB0aGUg
cXVldWUuICBEYW5nZXJvdXMhIiksCiAgICAgICAgICAgICBtYWtlX29wdGlvbigiLS1leGl0LWFm
dGVyLWl0ZXJhdGlvbiIsIGFjdGlvbj0ic3RvcmUiLCB0eXBlPSJpbnQiLCBkZXN0PSJpdGVyYXRp
b25zIiwgZGVmYXVsdD1Ob25lLCBoZWxwPSJTdG9wIHJ1bm5pbmcgdGhlIHF1ZXVlIGFmdGVyIGl0
ZXJhdGluZyB0aGlzIG51bWJlciBvZiB0aW1lcy4iKSwKQEAgLTc4LDcgKzc2LDYgQEAgY2xhc3Mg
QWJzdHJhY3RRdWV1ZShDb21tYW5kLCBRdWV1ZUVuZ2luZQogICAgICAgICBzZWxmLl9pdGVyYXRp
b25fY291bnQgPSAwCiAgICAgICAgIGlmIG5vdCBoYXNhdHRyKHNlbGYsICdhcmNoaXRlY3R1cmUn
KToKICAgICAgICAgICAgIHNlbGYuYXJjaGl0ZWN0dXJlID0gTm9uZQotICAgICAgICBzZWxmLmhv
c3QgPSBob3N0CiAKICAgICBkZWYgX2NjX3dhdGNoZXJzKHNlbGYsIGJ1Z19pZCk6CiAgICAgICAg
IHRyeToKQEAgLTExMiwyMCArMTA5LDE3IEBAIGNsYXNzIEFic3RyYWN0UXVldWUoQ29tbWFuZCwg
UXVldWVFbmdpbmUKICAgICAgICAgcmV0dXJuIGNvbW1hbmRfb3V0cHV0CiAKICAgICBkZWYgX2xv
Z19kaXJlY3Rvcnkoc2VsZik6Ci0gICAgICAgIHJldHVybiBzZWxmLmhvc3QuZmlsZXN5c3RlbS5q
b2luKCIuLiIsICIlcy1sb2dzIiAlIHNlbGYubmFtZSkKKyAgICAgICAgcmV0dXJuIG9zLnBhdGgu
am9pbigiLi4iLCAiJXMtbG9ncyIgJSBzZWxmLm5hbWUpCiAKICAgICAjIFF1ZXVlRW5naW5lRGVs
ZWdhdGUgbWV0aG9kcwogCiAgICAgZGVmIHF1ZXVlX2xvZ19wYXRoKHNlbGYpOgotICAgICAgICBy
ZXR1cm4gc2VsZi5ob3N0LmZpbGVzeXN0ZW0uam9pbihzZWxmLl9sb2dfZGlyZWN0b3J5KCksICIl
cy5sb2ciICUgc2VsZi5uYW1lKQorICAgICAgICByZXR1cm4gb3MucGF0aC5qb2luKHNlbGYuX2xv
Z19kaXJlY3RvcnkoKSwgIiVzLmxvZyIgJSBzZWxmLm5hbWUpCiAKICAgICBkZWYgd29ya19pdGVt
X2xvZ19wYXRoKHNlbGYsIHdvcmtfaXRlbSk6CiAgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVk
RXJyb3IsICJzdWJjbGFzc2VzIG11c3QgaW1wbGVtZW50IgogCiAgICAgZGVmIGJlZ2luX3dvcmtf
cXVldWUoc2VsZik6Ci0gICAgICAgICMgRklYTUU6IFdlIHNob3VsZCBzdG9wIHRoZSBsb2dnaW5n
IGFzIHdlbGwgd2hlbiB0aGUgcXVldWUgc3RvcHMuCi0gICAgICAgICMgV2UgYXJlIHVzaW5nIGxv
Z2dpbmcuZ2V0TG9nZ2VyKCJ3ZWJraXRweSIpIGluc3RlYWQgb2YgX2xvZyBzaW5jZSB3ZSB3YW50
IHRvIGNhcHR1cmUgYWxsIG1lc3NhZ2VzIGxvZ2dlZCBmcm9tIHdlYmtpdHB5IG1vZHVsZXMuCi0g
ICAgICAgIGxvZ3V0aWxzLmNvbmZpZ3VyZV9sb2dnZXJfdG9fbG9nX3RvX2ZpbGUobG9nZ2luZy5n
ZXRMb2dnZXIoIndlYmtpdHB5IiksIHNlbGYucXVldWVfbG9nX3BhdGgoKSwgc2VsZi5ob3N0LmZp
bGVzeXN0ZW0pCiAgICAgICAgIF9sb2cuaW5mbygiQ0FVVElPTjogJXMgd2lsbCBkaXNjYXJkIGFs
bCBsb2NhbCBjaGFuZ2VzIGluIFwiJXNcIiIgJSAoc2VsZi5uYW1lLCBzZWxmLl90b29sLnNjbSgp
LmNoZWNrb3V0X3Jvb3QpKQogICAgICAgICBpZiBzZWxmLl9vcHRpb25zLmNvbmZpcm06CiAgICAg
ICAgICAgICByZXNwb25zZSA9IHNlbGYuX3Rvb2wudXNlci5wcm9tcHQoIkFyZSB5b3Ugc3VyZT8g
IFR5cGUgXCJ5ZXNcIiB0byBjb250aW51ZTogIikKQEAgLTI2NSwxMCArMjU5LDkgQEAgY2xhc3Mg
UGF0Y2hQcm9jZXNzaW5nUXVldWUoQWJzdHJhY3RQYXRjaAogICAgICMgU3ViY2xhc3NlcyBtdXN0
IG92ZXJyaWRlLgogICAgIHBvcnRfbmFtZSA9IE5vbmUKIAotICAgIGRlZiBfX2luaXRfXyhzZWxm
LCBvcHRpb25zPU5vbmUsIGhvc3Q9SG9zdCgpKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgb3B0
aW9ucz1Ob25lKToKICAgICAgICAgc2VsZi5fcG9ydCA9IE5vbmUgICMgV2UgY2FuJ3QgaW5zdGFu
dGlhdGUgcG9ydCBoZXJlIGJlY2F1c2UgdG9vbCBpc24ndCBhdmFpYWxibGUuCi0gICAgICAgIHNl
bGYuaG9zdCA9IGhvc3QKLSAgICAgICAgQWJzdHJhY3RQYXRjaFF1ZXVlLl9faW5pdF9fKHNlbGYs
IG9wdGlvbnMsIGhvc3Q9aG9zdCkKKyAgICAgICAgQWJzdHJhY3RQYXRjaFF1ZXVlLl9faW5pdF9f
KHNlbGYsIG9wdGlvbnMpCiAKICAgICAjIEZJWE1FOiBUaGlzIGlzIGEgaGFjayB0byBtYXAgYmV0
d2VlbiB0aGUgb2xkIHBvcnQgbmFtZXMgYW5kIHRoZSBuZXcgcG9ydCBuYW1lcy4KICAgICBkZWYg
X25ld19wb3J0X25hbWVfZnJvbV9vbGQoc2VsZiwgcG9ydF9uYW1lLCBwbGF0Zm9ybSk6CkBAIC0z
MjAsMTAgKzMxMyw5IEBAIGNsYXNzIFBhdGNoUHJvY2Vzc2luZ1F1ZXVlKEFic3RyYWN0UGF0Y2gK
IAogCiBjbGFzcyBDb21taXRRdWV1ZShQYXRjaFByb2Nlc3NpbmdRdWV1ZSwgU3RlcFNlcXVlbmNl
RXJyb3JIYW5kbGVyLCBDb21taXRRdWV1ZVRhc2tEZWxlZ2F0ZSk6Ci0gICAgZGVmIF9faW5pdF9f
KHNlbGYsIGNvbW1pdF9xdWV1ZV90YXNrX2NsYXNzPUNvbW1pdFF1ZXVlVGFzaywgaG9zdD1Ib3N0
KCkpOgotICAgICAgICBzZWxmLmhvc3QgPSBob3N0CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGNv
bW1pdF9xdWV1ZV90YXNrX2NsYXNzPUNvbW1pdFF1ZXVlVGFzayk6CiAgICAgICAgIHNlbGYuX2Nv
bW1pdF9xdWV1ZV90YXNrX2NsYXNzID0gY29tbWl0X3F1ZXVlX3Rhc2tfY2xhc3MKLSAgICAgICAg
UGF0Y2hQcm9jZXNzaW5nUXVldWUuX19pbml0X18oc2VsZiwgaG9zdD1ob3N0KQorICAgICAgICBQ
YXRjaFByb2Nlc3NpbmdRdWV1ZS5fX2luaXRfXyhzZWxmKQogCiAgICAgbmFtZSA9ICJjb21taXQt
cXVldWUiCiAgICAgcG9ydF9uYW1lID0gIm1hYyIKQEAgLTQzOCw5ICs0MzAsOCBAQCBjbGFzcyBD
b21taXRRdWV1ZShQYXRjaFByb2Nlc3NpbmdRdWV1ZSwgCiAKIGNsYXNzIEFic3RyYWN0UmV2aWV3
UXVldWUoUGF0Y2hQcm9jZXNzaW5nUXVldWUsIFN0ZXBTZXF1ZW5jZUVycm9ySGFuZGxlcik6CiAg
ICAgIiIiVGhpcyBpcyB0aGUgYmFzZS1jbGFzcyBmb3IgdGhlIEVXUyBxdWV1ZXMgYW5kIHRoZSBz
dHlsZS1xdWV1ZS4iIiIKLSAgICBkZWYgX19pbml0X18oc2VsZiwgb3B0aW9ucz1Ob25lLCBob3N0
PUhvc3QoKSk6Ci0gICAgICAgIHNlbGYuaG9zdCA9IGhvc3QKLSAgICAgICAgUGF0Y2hQcm9jZXNz
aW5nUXVldWUuX19pbml0X18oc2VsZiwgb3B0aW9ucywgaG9zdD1ob3N0KQorICAgIGRlZiBfX2lu
aXRfXyhzZWxmLCBvcHRpb25zPU5vbmUpOgorICAgICAgICBQYXRjaFByb2Nlc3NpbmdRdWV1ZS5f
X2luaXRfXyhzZWxmLCBvcHRpb25zKQogCiAgICAgZGVmIHJldmlld19wYXRjaChzZWxmLCBwYXRj
aCk6CiAgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoInN1YmNsYXNzZXMgbXVzdCBp
bXBsZW1lbnQiKQpAQCAtNDcyLDkgKzQ2Myw4IEBAIGNsYXNzIEFic3RyYWN0UmV2aWV3UXVldWUo
UGF0Y2hQcm9jZXNzaW4KIGNsYXNzIFN0eWxlUXVldWUoQWJzdHJhY3RSZXZpZXdRdWV1ZSwgU3R5
bGVRdWV1ZVRhc2tEZWxlZ2F0ZSk6CiAgICAgbmFtZSA9ICJzdHlsZS1xdWV1ZSIKIAotICAgIGRl
ZiBfX2luaXRfXyhzZWxmLCBob3N0PUhvc3QoKSk6Ci0gICAgICAgIHNlbGYuaG9zdCA9IGhvc3QK
LSAgICAgICAgQWJzdHJhY3RSZXZpZXdRdWV1ZS5fX2luaXRfXyhzZWxmLCBob3N0PWhvc3QpCisg
ICAgZGVmIF9faW5pdF9fKHNlbGYpOgorICAgICAgICBBYnN0cmFjdFJldmlld1F1ZXVlLl9faW5p
dF9fKHNlbGYpCiAKICAgICBkZWYgcmV2aWV3X3BhdGNoKHNlbGYsIHBhdGNoKToKICAgICAgICAg
dGFzayA9IFN0eWxlUXVldWVUYXNrKHNlbGYsIHBhdGNoKQpJbmRleDogVG9vbHMvU2NyaXB0cy93
ZWJraXRweS90b29sL2NvbW1hbmRzL3F1ZXVlc191bml0dGVzdC5weQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcXVldWVzX3VuaXR0ZXN0LnB5CShy
ZXZpc2lvbiAyMDQyNzUpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMv
cXVldWVzX3VuaXR0ZXN0LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw2IEBAIGltcG9y
dCBTdHJpbmdJTwogCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5jaGVja291dC5zY20gaW1wb3J0IENo
ZWNrb3V0TmVlZHNVcGRhdGUKIGZyb20gd2Via2l0cHkuY29tbW9uLmNoZWNrb3V0LnNjbS5zY21f
bW9jayBpbXBvcnQgTW9ja1NDTQotZnJvbSB3ZWJraXRweS5jb21tb24uaG9zdF9tb2NrIGltcG9y
dCBNb2NrSG9zdAogZnJvbSB3ZWJraXRweS5jb21tb24ubmV0LmxheW91dHRlc3RyZXN1bHRzIGlt
cG9ydCBMYXlvdXRUZXN0UmVzdWx0cwogZnJvbSB3ZWJraXRweS5jb21tb24ubmV0LmJ1Z3ppbGxh
IGltcG9ydCBBdHRhY2htZW50CiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0ub3V0cHV0Y2Fw
dHVyZSBpbXBvcnQgT3V0cHV0Q2FwdHVyZQpAQCAtNDgsNyArNDcsNyBAQCBmcm9tIHdlYmtpdHB5
LnRvb2wubW9ja3Rvb2wgaW1wb3J0IE1vY2tUCiAKIGNsYXNzIFRlc3RDb21taXRRdWV1ZShDb21t
aXRRdWV1ZSk6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHRvb2w9Tm9uZSk6Ci0gICAgICAgIENv
bW1pdFF1ZXVlLl9faW5pdF9fKHNlbGYsIGhvc3Q9TW9ja0hvc3QoKSkKKyAgICAgICAgQ29tbWl0
UXVldWUuX19pbml0X18oc2VsZikKICAgICAgICAgaWYgdG9vbDoKICAgICAgICAgICAgIHNlbGYu
YmluZF90b190b29sKHRvb2wpCiAgICAgICAgIHNlbGYuX29wdGlvbnMgPSBNb2NrT3B0aW9ucyhj
b25maXJtPUZhbHNlLCBwYXJlbnRfY29tbWFuZD0iY29tbWl0LXF1ZXVlIiwgcG9ydD1Ob25lKQpA
QCAtNjMsMjMgKzYyLDE0IEBAIGNsYXNzIFRlc3RDb21taXRRdWV1ZShDb21taXRRdWV1ZSk6CiBj
bGFzcyBUZXN0UXVldWUoQWJzdHJhY3RQYXRjaFF1ZXVlKToKICAgICBuYW1lID0gInRlc3QtcXVl
dWUiCiAKLSAgICBkZWYgX19pbml0X18oc2VsZik6Ci0gICAgICAgIEFic3RyYWN0UGF0Y2hRdWV1
ZS5fX2luaXRfXyhzZWxmLCBob3N0PU1vY2tIb3N0KCkpCi0KIAogY2xhc3MgVGVzdFJldmlld1F1
ZXVlKEFic3RyYWN0UmV2aWV3UXVldWUpOgogICAgIG5hbWUgPSAidGVzdC1yZXZpZXctcXVldWUi
CiAKLSAgICBkZWYgX19pbml0X18oc2VsZik6Ci0gICAgICAgIEFic3RyYWN0UmV2aWV3UXVldWUu
X19pbml0X18oc2VsZiwgaG9zdD1Nb2NrSG9zdCgpKQotCiAKIGNsYXNzIFRlc3RGZWVkZXJRdWV1
ZShGZWVkZXJRdWV1ZSk6CiAgICAgX3NsZWVwX2R1cmF0aW9uID0gMAogCi0gICAgZGVmIF9faW5p
dF9fKHNlbGYpOgotICAgICAgICBGZWVkZXJRdWV1ZS5fX2luaXRfXyhzZWxmLCBob3N0PU1vY2tI
b3N0KCkpCi0KIAogY2xhc3MgQWJzdHJhY3RRdWV1ZVRlc3QoQ29tbWFuZHNUZXN0KToKICAgICBk
ZWYgdGVzdF9sb2dfZGlyZWN0b3J5KHNlbGYpOgpAQCAtMTYzLDcgKzE1Myw3IEBAIE1PQ0s6IHN1
Ym1pdF90b19ld3M6IDEwMDAyCiAKIGNsYXNzIEFic3RyYWN0UGF0Y2hRdWV1ZVRlc3QoQ29tbWFu
ZHNUZXN0KToKICAgICBkZWYgdGVzdF9uZXh0X3BhdGNoKHNlbGYpOgotICAgICAgICBxdWV1ZSA9
IEFic3RyYWN0UGF0Y2hRdWV1ZShob3N0PU1vY2tIb3N0KCkpCisgICAgICAgIHF1ZXVlID0gQWJz
dHJhY3RQYXRjaFF1ZXVlKCkKICAgICAgICAgdG9vbCA9IE1vY2tUb29sKCkKICAgICAgICAgcXVl
dWUuYmluZF90b190b29sKHRvb2wpCiAgICAgICAgIHF1ZXVlLl9vcHRpb25zID0gTW9jaygpCkBA
IC0xODEsNyArMTcxLDcgQEAgY2xhc3MgQWJzdHJhY3RQYXRjaFF1ZXVlVGVzdChDb21tYW5kc1Rl
cwogCiBjbGFzcyBQYXRjaFByb2Nlc3NpbmdRdWV1ZVRlc3QoQ29tbWFuZHNUZXN0KToKICAgICBk
ZWYgdGVzdF91cGxvYWRfcmVzdWx0c19hcmNoaXZlX2Zvcl9wYXRjaChzZWxmKToKLSAgICAgICAg
cXVldWUgPSBQYXRjaFByb2Nlc3NpbmdRdWV1ZShob3N0PU1vY2tIb3N0KCkpCisgICAgICAgIHF1
ZXVlID0gUGF0Y2hQcm9jZXNzaW5nUXVldWUoKQogICAgICAgICBxdWV1ZS5uYW1lID0gIm1vY2st
cXVldWUiCiAgICAgICAgIHRvb2wgPSBNb2NrVG9vbCgpCiAgICAgICAgIHF1ZXVlLmJpbmRfdG9f
dG9vbCh0b29sKQpAQCAtMjcwLDcgKzI2MCw3IEBAIE1PQ0s6IHJlbGVhc2Vfd29ya19pdGVtOiBj
b21taXQtcXVldWUgMTAKICAgICAgICAgICAgICJoYW5kbGVfc2NyaXB0X2Vycm9yIjogIlNjcmlw
dEVycm9yIGVycm9yIG1lc3NhZ2VcblxuTU9DSyBvdXRwdXRcbiIsCiAgICAgICAgICAgICAiaGFu
ZGxlX3VuZXhwZWN0ZWRfZXJyb3IiOiAiTU9DSyBzZXR0aW5nIGZsYWcgJ2NvbW1pdC1xdWV1ZScg
dG8gJy0nIG9uIGF0dGFjaG1lbnQgJzEwMDAwJyB3aXRoIGNvbW1lbnQgJ1JlamVjdGluZyBhdHRh
Y2htZW50IDEwMDAwIGZyb20gY29tbWl0LXF1ZXVlLlxuXG5Nb2NrIGVycm9yIG1lc3NhZ2UnXG4i
LAogICAgICAgICB9Ci0gICAgICAgIHNlbGYuYXNzZXJ0X3F1ZXVlX291dHB1dHMoQ29tbWl0UXVl
dWUoaG9zdD1Nb2NrSG9zdCgpKSwgdG9vbD10b29sLCBleHBlY3RlZF9sb2dzPWV4cGVjdGVkX2xv
Z3MpCisgICAgICAgIHNlbGYuYXNzZXJ0X3F1ZXVlX291dHB1dHMoQ29tbWl0UXVldWUoKSwgdG9v
bD10b29sLCBleHBlY3RlZF9sb2dzPWV4cGVjdGVkX2xvZ3MpCiAKICAgICBkZWYgdGVzdF9jb21t
aXRfcXVldWVfZmFpbHVyZShzZWxmKToKICAgICAgICAgZXhwZWN0ZWRfbG9ncyA9IHsKQEAgLTI4
Niw3ICsyNzYsNyBAQCBNT0NLOiByZWxlYXNlX3dvcmtfaXRlbTogY29tbWl0LXF1ZXVlIDEwCiAg
ICAgICAgICAgICAiaGFuZGxlX3NjcmlwdF9lcnJvciI6ICJTY3JpcHRFcnJvciBlcnJvciBtZXNz
YWdlXG5cbk1PQ0sgb3V0cHV0XG4iLAogICAgICAgICAgICAgImhhbmRsZV91bmV4cGVjdGVkX2Vy
cm9yIjogIk1PQ0sgc2V0dGluZyBmbGFnICdjb21taXQtcXVldWUnIHRvICctJyBvbiBhdHRhY2ht
ZW50ICcxMDAwMCcgd2l0aCBjb21tZW50ICdSZWplY3RpbmcgYXR0YWNobWVudCAxMDAwMCBmcm9t
IGNvbW1pdC1xdWV1ZS5cblxuTW9jayBlcnJvciBtZXNzYWdlJ1xuIiwKICAgICAgICAgfQotICAg
ICAgICBxdWV1ZSA9IENvbW1pdFF1ZXVlKGhvc3Q9TW9ja0hvc3QoKSkKKyAgICAgICAgcXVldWUg
PSBDb21taXRRdWV1ZSgpCiAKICAgICAgICAgZGVmIG1vY2tfcnVuX3dlYmtpdF9wYXRjaChjb21t
YW5kKToKICAgICAgICAgICAgIGlmIGNvbW1hbmRbMF0gPT0gJ2NsZWFuJyBvciBjb21tYW5kWzBd
ID09ICd1cGRhdGUnOgpAQCAtMzE4LDcgKzMwOCw3IEBAIE1PQ0s6IHJlbGVhc2Vfd29ya19pdGVt
OiBjb21taXQtcXVldWUgMTAKICAgICAgICAgICAgIGRlZiByZXN1bHRzX2Zyb21fcGF0Y2hfdGVz
dF9ydW4oc2VsZiwgcGF0Y2gpOgogICAgICAgICAgICAgICAgIHJldHVybiBMYXlvdXRUZXN0UmVz
dWx0cyhbdGVzdF9yZXN1bHRzLlRlc3RSZXN1bHQoIm1vY2tfdGVzdF9uYW1lLmh0bWwiLCBmYWls
dXJlcz1bdGVzdF9mYWlsdXJlcy5GYWlsdXJlVGV4dE1pc21hdGNoKCldKV0sIGRpZF9leGNlZWRf
dGVzdF9mYWlsdXJlX2xpbWl0PUZhbHNlKQogCi0gICAgICAgIHF1ZXVlID0gQ29tbWl0UXVldWUo
TW9ja0NvbW1pdFF1ZXVlVGFzaywgaG9zdD1Nb2NrSG9zdCgpKQorICAgICAgICBxdWV1ZSA9IENv
bW1pdFF1ZXVlKE1vY2tDb21taXRRdWV1ZVRhc2spCiAKICAgICAgICAgZGVmIG1vY2tfcnVuX3dl
YmtpdF9wYXRjaChjb21tYW5kKToKICAgICAgICAgICAgIGlmIGNvbW1hbmRbMF0gPT0gJ2NsZWFu
JyBvciBjb21tYW5kWzBdID09ICd1cGRhdGUnOgpAQCAtMzU3LDcgKzM0Nyw3IEBAIE1PQ0s6IHJl
bGVhc2Vfd29ya19pdGVtOiBjb21taXQtcXVldWUgMTAKICAgICAgICAgICAgICJoYW5kbGVfc2Ny
aXB0X2Vycm9yIjogIlNjcmlwdEVycm9yIGVycm9yIG1lc3NhZ2VcblxuTU9DSyBvdXRwdXRcbiIs
CiAgICAgICAgICAgICAiaGFuZGxlX3VuZXhwZWN0ZWRfZXJyb3IiOiAiTU9DSyBzZXR0aW5nIGZs
YWcgJ2NvbW1pdC1xdWV1ZScgdG8gJy0nIG9uIGF0dGFjaG1lbnQgJzEwMDAwJyB3aXRoIGNvbW1l
bnQgJ1JlamVjdGluZyBhdHRhY2htZW50IDEwMDAwIGZyb20gY29tbWl0LXF1ZXVlLlxuXG5Nb2Nr
IGVycm9yIG1lc3NhZ2UnXG4iLAogICAgICAgICB9Ci0gICAgICAgIHNlbGYuYXNzZXJ0X3F1ZXVl
X291dHB1dHMoQ29tbWl0UXVldWUoaG9zdD1Nb2NrSG9zdCgpKSwgdG9vbD10b29sLCBleHBlY3Rl
ZF9sb2dzPWV4cGVjdGVkX2xvZ3MpCisgICAgICAgIHNlbGYuYXNzZXJ0X3F1ZXVlX291dHB1dHMo
Q29tbWl0UXVldWUoKSwgdG9vbD10b29sLCBleHBlY3RlZF9sb2dzPWV4cGVjdGVkX2xvZ3MpCiAK
ICAgICBkZWYgdGVzdF9yb2xsb3V0X2xhbmRzKHNlbGYpOgogICAgICAgICB0b29sID0gTW9ja1Rv
b2woKQpAQCAtMzgyLDcgKzM3Miw3IEBAIE1PQ0s6IHJlbGVhc2Vfd29ya19pdGVtOiBjb21taXQt
cXVldWUgMTAKICAgICAgICAgICAgICJoYW5kbGVfc2NyaXB0X2Vycm9yIjogIlNjcmlwdEVycm9y
IGVycm9yIG1lc3NhZ2VcblxuTU9DSyBvdXRwdXRcbiIsCiAgICAgICAgICAgICAiaGFuZGxlX3Vu
ZXhwZWN0ZWRfZXJyb3IiOiAiTU9DSyBzZXR0aW5nIGZsYWcgJ2NvbW1pdC1xdWV1ZScgdG8gJy0n
IG9uIGF0dGFjaG1lbnQgJzEwMDA1JyB3aXRoIGNvbW1lbnQgJ1JlamVjdGluZyBhdHRhY2htZW50
IDEwMDA1IGZyb20gY29tbWl0LXF1ZXVlLlxuXG5Nb2NrIGVycm9yIG1lc3NhZ2UnXG4iLAogICAg
ICAgICB9Ci0gICAgICAgIHNlbGYuYXNzZXJ0X3F1ZXVlX291dHB1dHMoQ29tbWl0UXVldWUoaG9z
dD1Nb2NrSG9zdCgpKSwgdG9vbD10b29sLCB3b3JrX2l0ZW09cm9sbG91dF9wYXRjaCwgZXhwZWN0
ZWRfbG9ncz1leHBlY3RlZF9sb2dzKQorICAgICAgICBzZWxmLmFzc2VydF9xdWV1ZV9vdXRwdXRz
KENvbW1pdFF1ZXVlKCksIHRvb2w9dG9vbCwgd29ya19pdGVtPXJvbGxvdXRfcGF0Y2gsIGV4cGVj
dGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncykKIAogICAgIGRlZiB0ZXN0X25vbl92YWxpZF9wYXRjaChz
ZWxmKToKICAgICAgICAgdG9vbCA9IE1vY2tUb29sKCkKQEAgLTM5MywxMCArMzgzLDEwIEBAIE1P
Q0s6IHJlbGVhc2Vfd29ya19pdGVtOiBjb21taXQtcXVldWUgMTAKIE1PQ0s6IHJlbGVhc2Vfd29y
a19pdGVtOiBjb21taXQtcXVldWUgMTAwMDcKICIiIiwKICAgICAgICAgfQotICAgICAgICBzZWxm
LmFzc2VydF9xdWV1ZV9vdXRwdXRzKENvbW1pdFF1ZXVlKGhvc3Q9TW9ja0hvc3QoKSksIHRvb2w9
dG9vbCwgd29ya19pdGVtPXBhdGNoLCBleHBlY3RlZF9sb2dzPWV4cGVjdGVkX2xvZ3MpCisgICAg
ICAgIHNlbGYuYXNzZXJ0X3F1ZXVlX291dHB1dHMoQ29tbWl0UXVldWUoKSwgdG9vbD10b29sLCB3
b3JrX2l0ZW09cGF0Y2gsIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncykKIAogICAgIGRlZiB0
ZXN0X2F1dG9fcmV0cnkoc2VsZik6Ci0gICAgICAgIHF1ZXVlID0gQ29tbWl0UXVldWUoaG9zdD1N
b2NrSG9zdCgpKQorICAgICAgICBxdWV1ZSA9IENvbW1pdFF1ZXVlKCkKICAgICAgICAgb3B0aW9u
cyA9IE1vY2soKQogICAgICAgICBvcHRpb25zLnBhcmVudF9jb21tYW5kID0gImNvbW1pdC1xdWV1
ZSIKICAgICAgICAgdG9vbCA9IEFsd2F5c0NvbW1pdFF1ZXVlVG9vbCgpCkBAIC01MDgsNyArNDk4
LDcgQEAgTU9DSzogcmVsZWFzZV93b3JrX2l0ZW06IHN0eWxlLXF1ZXVlIDEwMAogICAgICAgICAg
ICAgImhhbmRsZV9zY3JpcHRfZXJyb3IiOiAiTU9DSyBvdXRwdXRcbiIsCiAgICAgICAgIH0KICAg
ICAgICAgdG9vbCA9IE1vY2tUb29sKGV4ZWN1dGl2ZV90aHJvd3Nfd2hlbl9ydW49c2V0KFsnY2hl
Y2stc3R5bGUnXSkpCi0gICAgICAgIHNlbGYuYXNzZXJ0X3F1ZXVlX291dHB1dHMoU3R5bGVRdWV1
ZShob3N0PU1vY2tIb3N0KCkpLCBleHBlY3RlZF9sb2dzPWV4cGVjdGVkX2xvZ3MsIHRvb2w9dG9v
bCkKKyAgICAgICAgc2VsZi5hc3NlcnRfcXVldWVfb3V0cHV0cyhTdHlsZVF1ZXVlKCksIGV4cGVj
dGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncywgdG9vbD10b29sKQogCiAgICAgZGVmIHRlc3Rfc3R5bGVf
cXVldWVfd2l0aF93YXRjaF9saXN0X2V4Y2VwdGlvbihzZWxmKToKICAgICAgICAgZXhwZWN0ZWRf
bG9ncyA9IHsKQEAgLTUzMyw3ICs1MjMsNyBAQCBNT0NLOiByZWxlYXNlX3dvcmtfaXRlbTogc3R5
bGUtcXVldWUgMTAwCiAgICAgICAgICAgICAiaGFuZGxlX3NjcmlwdF9lcnJvciI6ICJNT0NLIG91
dHB1dFxuIiwKICAgICAgICAgfQogICAgICAgICB0b29sID0gTW9ja1Rvb2woZXhlY3V0aXZlX3Ro
cm93c193aGVuX3J1bj1zZXQoWydhcHBseS13YXRjaGxpc3QtbG9jYWwnXSkpCi0gICAgICAgIHNl
bGYuYXNzZXJ0X3F1ZXVlX291dHB1dHMoU3R5bGVRdWV1ZShob3N0PU1vY2tIb3N0KCkpLCBleHBl
Y3RlZF9sb2dzPWV4cGVjdGVkX2xvZ3MsIHRvb2w9dG9vbCkKKyAgICAgICAgc2VsZi5hc3NlcnRf
cXVldWVfb3V0cHV0cyhTdHlsZVF1ZXVlKCksIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncywg
dG9vbD10b29sKQogCiAgICAgZGVmIHRlc3Rfbm9uX3ZhbGlkX3BhdGNoKHNlbGYpOgogICAgICAg
ICB0b29sID0gTW9ja1Rvb2woKQpAQCAtNTQ0LDQgKzUzNCw0IEBAIE1PQ0s6IHJlbGVhc2Vfd29y
a19pdGVtOiBzdHlsZS1xdWV1ZSAxMDAKIE1PQ0s6IHJlbGVhc2Vfd29ya19pdGVtOiBzdHlsZS1x
dWV1ZSAxMDAwNwogIiIiLAogICAgICAgICB9Ci0gICAgICAgIHNlbGYuYXNzZXJ0X3F1ZXVlX291
dHB1dHMoU3R5bGVRdWV1ZShob3N0PU1vY2tIb3N0KCkpLCB0b29sPXRvb2wsIHdvcmtfaXRlbT1w
YXRjaCwgZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzKQorICAgICAgICBzZWxmLmFzc2VydF9x
dWV1ZV9vdXRwdXRzKFN0eWxlUXVldWUoKSwgdG9vbD10b29sLCB3b3JrX2l0ZW09cGF0Y2gsIGV4
cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncykK
</data>

          </attachment>
      

    </bug>

</bugzilla>