<?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>159232</bug_id>
          
          <creation_ts>2016-06-28 15:56:43 -0700</creation_ts>
          <short_desc>Enhance shouldNotThrow()/shouldThrow() to accept functions and a descriptive message</short_desc>
          <delta_ts>2017-04-26 19:18:54 -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 Nightly 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=171362</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>
          
          <blocked>159238</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="David Kilzer (:ddkilzer)">ddkilzer</reporter>
          <assigned_to name="David Kilzer (:ddkilzer)">ddkilzer</assigned_to>
          <cc>achristensen</cc>
    
    <cc>aestes</cc>
    
    <cc>alecflett</cc>
    
    <cc>ap</cc>
    
    <cc>beidson</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>jer.noble</cc>
    
    <cc>jfernandez</cc>
    
    <cc>jsbell</cc>
    
    <cc>lforschler</cc>
    
    <cc>rego</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>saam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>svillar</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1206204</commentid>
    <comment_count>0</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2016-06-28 15:56:43 -0700</bug_when>
    <thetext>Enhance shouldNotThrow()/shouldThrow() to accept functions and a descriptive message.

These will be used in a future patch ported from Blink.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1206206</commentid>
    <comment_count>1</comment_count>
      <attachid>282292</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2016-06-28 16:03:38 -0700</bug_when>
    <thetext>Created attachment 282292
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1206211</commentid>
    <comment_count>2</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-06-28 16:09:04 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; These will be used in a future patch ported from Blink.
Which patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1206236</commentid>
    <comment_count>3</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2016-06-28 17:20:47 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (In reply to comment #0)
&gt; &gt; These will be used in a future patch ported from Blink.
&gt; Which patch?

Bug 159238</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1206248</commentid>
    <comment_count>4</comment_count>
      <attachid>282292</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-06-28 17:50:54 -0700</bug_when>
    <thetext>Comment on attachment 282292
Patch v1

Looks great! r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1206281</commentid>
    <comment_count>5</comment_count>
      <attachid>282292</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-28 21:17:57 -0700</bug_when>
    <thetext>Comment on attachment 282292
Patch v1

Clearing flags on attachment: 282292

Committed r202609: &lt;http://trac.webkit.org/changeset/202609&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1206282</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-28 21:18:03 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>282292</attachid>
            <date>2016-06-28 16:03:38 -0700</date>
            <delta_ts>2016-06-28 21:17:57 -0700</delta_ts>
            <desc>Patch v1</desc>
            <filename>bug-159232-20160628160320.patch</filename>
            <type>text/plain</type>
            <size>27479</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAyNTk0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOTIwNTA2NmQ4MjViM2QwNjUxMjNj
Mzc0OTU2Y2NmYjE1MDViODM3YS4uMzFkMjBhYzE4M2M3ZmVmMjc1YTdmMmM5ZjRmNTcyY2VkNWEx
ZGE0NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDg3IEBACisyMDE2LTA2LTI4ICBEYXZpZCBLaWx6ZXIgIDxk
ZGtpbHplckBhcHBsZS5jb20+CisKKyAgICAgICAgRW5oYW5jZSBzaG91bGROb3RUaHJvdygpL3No
b3VsZFRocm93KCkgdG8gYWNjZXB0IGZ1bmN0aW9ucyBhbmQgYSBkZXNjcmlwdGl2ZSBtZXNzYWdl
CisgICAgICAgIDxodHRwczovL3dlYmtpdC5vcmcvYi8xNTkyMzI+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQmFzZWQgb24gYSBCbGluayBjaGFuZ2Ug
KHBhdGNoIGJ5IDxob25nY2hhbkBjaHJvbWl1bS5vcmc+KToKKyAgICAgICAgPGh0dHBzOi8vc3Jj
LmNocm9taXVtLm9yZy92aWV3dmMvYmxpbms/dmlldz1yZXZpc2lvbiZyZXZpc2lvbj0xOTIyMDQ+
CisKKyAgICAgICAgQ3VycmVudGx5LCBzaG91bGROb3RUaHJvdygpIGFuZCBzaG91bGRUaHJvdygp
IHRha2UgdGhlIGZvbGxvd2luZworICAgICAgICBhcmd1bWVudHM6CisKKyAgICAgICAgICAgIHNo
b3VsZE5vdFRocm93KGV2YWxTdHJpbmcpCisgICAgICAgICAgICBzaG91bGRUaHJvdyhldmFsU3Ry
aW5nLCBleHBlY3RlZEV4Y2VwdGlvblN0cmluZykKKworICAgICAgICBUaGUgY2hhbGxlbmdlcyB3
aXRoIHRoaXMgZGVzaWduIGFyZToKKworICAgICAgICAgICAgMSkgVGhlICdldmFsU3RyaW5nJyBt
dXN0IGNhcHR1cmUgZXZlcnkgdmFyaWFibGUgdGhhdCBpdAorICAgICAgICAgICAgICAgbmVlZHMs
IHdoaWNoIG1lYW5zIHRoZSBjb2RlIGNhbiBiZSBsb25nLCBhbmQgY29uY2F0ZW5hdGVkCisgICAg
ICAgICAgICAgICBpbnRvIGEgc2luZ2xlIGxpbmUuICBJdCB3b3VsZCBiZSByZWFsbHkgbmljZSB0
byBiZSBhYmxlCisgICAgICAgICAgICAgICB0byB1c2UgYW4gKGFub255bW91cykgZnVuY3Rpb24g
dG8gY2FwdHVyZSB2YXJpYWJsZXMKKyAgICAgICAgICAgICAgIGluc3RlYWQuCisgICAgICAgICAg
ICAyKSBUaGUgJ2V2YWxTdHJpbmcnIGlzIGxpdGVyYWxseSBwcmludGVkIG91dCBpbiB0aGUgdGVz
dAorICAgICAgICAgICAgICAgcmVzdWx0cywgd2hpY2ggaXNuJ3QgYWx3YXlzIHRoZSBtb3N0IGRl
c2NyaXB0aXZlLiAgQQorICAgICAgICAgICAgICAgZGVzY3JpcHRpdmUgbWVzc2FnZSB3b3VsZCBt
YWtlIGl0IGNsZWFyZXIgd2hhdCBmYWlsZWQuCisgICAgICAgICAgICAzKSBXaGVuIGNoYW5naW5n
IGEgc2hvdWxkVGhyb3coKSBpbnRvIGEgc2hvdWxkTm90VGhyb3coKQorICAgICAgICAgICAgICAg
b3IgY29weWluZy9wYXN0aW5nIGNvZGUsIGl0J3MgcG9zc2libGUgdG8gZm9yZ2V0IHRvCisgICAg
ICAgICAgICAgICByZW1vdmUgJ2V4cGVjdGVkRXhjZXB0aW9uU3RyaW5nJyBmcm9tIHRoZSBmdW5j
dGlvbiBjYWxsLgorCisgICAgICAgIFRoaXMgcGF0Y2ggY2hhbmdlcyB0aGUgbWV0aG9kcyB0byB0
YWtlIHRoZSBmb2xsb3dpbmcgYXJndW1lbnRzOgorCisgICAgICAgICAgICBzaG91bGROb3RUaHJv
dyhldmFsU3RyaW5nfGZ1bmN0aW9uIFssIG1lc3NhZ2VdKQorICAgICAgICAgICAgc2hvdWxkVGhy
b3coZXZhbFN0cmluZ3xmdW5jdGlvbiwgZXhwZWN0ZWRFeGNlcHRpb25TdHJpbmcgWywgbWVzc2Fn
ZV0pCisKKyAgICAgICAgSWYgJ2Z1bmN0aW9uJyBpcyBwYXNzZWQgaW4sIHRoZW4gaXQgaXMgaW52
b2tlZCBpbnN0ZWFkIG9mCisgICAgICAgIGV2YWx1YXRlZCwgYW5kICdtZXNzYWdlJyByZXBsYWNl
cyB0aGUgbGl0ZXJhbCBjb2RlIGluIHRoZQorICAgICAgICBwYXNzL2ZhaWwgb3V0cHV0LgorCisg
ICAgICAgIFRoaXMgcGF0Y2ggYWxzbyBhZGRzIHRoZSBnbG9iYWwgJ2RpZEZhaWxTb21lVGVzdHMn
IHZhcmlhYmxlIHRvCisgICAgICAgIGpzLXRlc3QuanMsIHdoaWNoIGFscmVhZHkgZXhpc3RzIGlu
IGpzLXRlc3QtcHJlLmpzLiAgVGhpcyB3YXMKKyAgICAgICAgYWRkZWQgdG8ganMtdGVzdC1wcmUu
anMgaW4gcjE1MzIwMyBieSBPbGl2ZXIgSHVudCB0bworICAgICAgICBMYXlvdXRUZXN0cy9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcy4KKworICAgICAgICAqIGZhc3QvY2FudmFzL3dl
YmdsL2NhbnZhcy1zdXBwb3J0cy1jb250ZXh0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0
L2NhbnZhcy93ZWJnbC9nbC1iaW5kLWF0dHJpYi1sb2NhdGlvbi1iZWZvcmUtY29tcGlsZS10ZXN0
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWVsZW1l
bnQtYXV0by1yZXBlYXQtZ2V0LXNldC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20v
Z2V0RWxlbWVudHNCeUNsYXNzTmFtZS9BU0NJSS1jYXNlLWluc2Vuc2l0aXZlLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItYmFzaWNzLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItYmFzaWNzLXByaXZhdGUtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAtIFVwZGF0ZSBleHBlY3RlZCByZXN1bHRzIHRvIGluY2x1ZGUg
IlNvbWUgdGVzdHMgZmFpbC4iIHNpbmNlCisgICAgICAgICAgc29tZSBzdWJ0ZXN0cyBhY3R1YWxs
eSBkbyBmYWlsIGR1cmluZyB0aGVzZSB0ZXN0cy4KKworICAgICAgICAqIGZhc3QvY3NzL3BhcnNp
bmctY3NzLWxhbmcuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Nzcy9wYXJzaW5nLWNzcy1tYXRjaGVz
LTEuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Nzcy9wYXJzaW5nLWNzcy1tYXRjaGVzLTIuaHRtbDoK
KyAgICAgICAgKiBmYXN0L2Nzcy9wYXJzaW5nLWNzcy1tYXRjaGVzLTMuaHRtbDoKKyAgICAgICAg
KiBmYXN0L2Nzcy9wYXJzaW5nLWNzcy1tYXRjaGVzLTQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Nz
cy9wYXJzaW5nLWNzcy1ub3QtMS5odG1sOgorICAgICAgICAqIGZhc3QvY3NzL3BhcnNpbmctY3Nz
LW5vdC0yLmh0bWw6CisgICAgICAgICogZmFzdC9jc3MvcGFyc2luZy1jc3Mtbm90LTMuaHRtbDoK
KyAgICAgICAgKiBmYXN0L2Nzcy9wYXJzaW5nLWNzcy1ub3QtNC5odG1sOgorICAgICAgICAqIGZh
c3QvY3NzL3BhcnNpbmctY3NzLW50aC1jaGlsZC1vZi0xLmh0bWw6CisgICAgICAgICogZmFzdC9j
c3MvcGFyc2luZy1jc3MtbnRoLWNoaWxkLW9mLTIuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Nzcy9w
YXJzaW5nLWNzcy1udGgtbGFzdC1jaGlsZC1vZi0xLmh0bWw6CisgICAgICAgICogZmFzdC9jc3Mv
cGFyc2luZy1jc3MtbnRoLWxhc3QtY2hpbGQtb2YtMi5odG1sOgorICAgICAgICAqIGpzL3Njcmlw
dC10ZXN0cy9hcnJvd2Z1bmN0aW9uLXN1cGVyY2FsbC5qczoKKyAgICAgICAgLSBSZW1vdmUgZXhw
ZWN0ZWRFeGNlcHRpb25TdHJpbmcgZnJvbSBzaG91bGROb3RUaHJvdygpIGNhbGxzCisgICAgICAg
ICAgYWZ0ZXIgdGhleSB3ZXJlIGNoYW5nZWQgZnJvbSBzaG91bGRUaHJvdygpIGNhbGxzLgorCisg
ICAgICAgICogcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzOgorICAgICAgICAoc2hvdWxkTm90VGhy
b3cpOiBDaGFuZ2UgdG8gaW52b2tlIGZpcnN0IGFyZ3VtZW50IGlmIGl0IGlzIGEKKyAgICAgICAg
ZnVuY3Rpb24sIGVsc2UgdXNlIGV2YWwoKSBhcyBiZWZvcmUuICBVc2Ugc2Vjb25kIGFyZ3VybWVu
dCBpbgorICAgICAgICBwbGFjZSBvZiBmaXJzdCBhcmd1bWVudCAoaWYgc2V0KSB3aGVuIHByaW50
aW5nIHJlc3VsdHMuICBOT1RFOgorICAgICAgICBDYXJlIHdhcyB0YWtlbiBub3QgdG8gYWRkIGFu
eSBsaW5lcyBvZiBjb2RlIHRvIHByZXZlbnQgY2hhbmdlcworICAgICAgICB0byB0ZXN0IHJlc3Vs
dHMuCisgICAgICAgIChzaG91bGRUaHJvdyk6IERpdHRvLiAgUmVmb3JtYXQgY29kZS4KKyAgICAg
ICAgKiByZXNvdXJjZXMvanMtdGVzdC5qczogRGVjbGFyZSAnZGlkRmFpbFNvbWVUZXN0cycuCisg
ICAgICAgICh0ZXN0RmFpbGVkKTogU2V0ICdkaWRGYWlsU29tZVRlc3RzJyB0byB0cnVlIHdoZW4g
YSB0ZXN0IGZhaWxzLgorICAgICAgICAoc2hvdWxkTm90VGhyb3cpOiBTYW1lIGNoYW5nZXMgYXMg
anMtdGVzdC1wcmUuanMuCisgICAgICAgIChzaG91bGRUaHJvdyk6IERpdHRvLgorICAgICAgICAo
aXNTdWNjZXNzZnVsbHlQYXJzZWQpOiBPdXRwdXQgYSBtZXNzYWdlIGlmICdkaWRGYWlsU29tZVRl
c3RzJworICAgICAgICBpcyB0cnVlLgorCiAyMDE2LTA2LTI4ICBSeWFuIEhhZGRhZCAgPHJ5YW5o
YWRkYWRAYXBwbGUuY29tPgogCiAgICAgICAgIFJlYmFzZWxpbmUgaHR0cC90ZXN0cy9tZWRpYS92
aWRlby1hdXRoLmh0bWwgZm9yIFdLMgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52
YXMvd2ViZ2wvY2FudmFzLXN1cHBvcnRzLWNvbnRleHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZmFzdC9jYW52YXMvd2ViZ2wvY2FudmFzLXN1cHBvcnRzLWNvbnRleHQtZXhwZWN0ZWQudHh0
CmluZGV4IGUzNDc1MzE2ZWE0NGY0MjUwN2UwNmZjZGE1YjA0ZDIzMTJmZmQyZjcuLjY5MjgxZDI4
MzVhZDc2YmEwZTNiNWQzMmYzZjVhYjAzY2I2NGFkOTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvY2FudmFzL3dlYmdsL2NhbnZhcy1zdXBwb3J0cy1jb250ZXh0LWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9jYW52YXMtc3VwcG9ydHMtY29udGV4
dC1leHBlY3RlZC50eHQKQEAgLTExNSw2ICsxMTUsNyBAQCBUZXN0aW5nIGhvdyBwcm9iYWJseVN1
cHBvcnRzQ29udGV4dCBoYW5kbGVzIG5vIHBhcmFtZXRlcnMKIFBBU1MgZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnY2FudmFzJykucHJvYmFibHlTdXBwb3J0c0NvbnRleHQoKSBpcyBmYWxzZQogCiBQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCitTb21lIHRlc3RzIGZhaWxlZC4KIAogVEVT
VCBDT01QTEVURQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9n
bC1iaW5kLWF0dHJpYi1sb2NhdGlvbi1iZWZvcmUtY29tcGlsZS10ZXN0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2dsLWJpbmQtYXR0cmliLWxvY2F0aW9uLWJl
Zm9yZS1jb21waWxlLXRlc3QtZXhwZWN0ZWQudHh0CmluZGV4IDhiYWQxZjk5NzNjNjgwZGU2ZTg4
Njc3MWNhNGVmY2VlMzg4MWZiNWQuLjk2YjU3ZGRiOGRjMjIxMTkzODBmNDAxZDQ3NTFiYTc5ODQ1
NjVlMTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2dsLWJpbmQt
YXR0cmliLWxvY2F0aW9uLWJlZm9yZS1jb21waWxlLXRlc3QtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2dsLWJpbmQtYXR0cmliLWxvY2F0aW9uLWJlZm9y
ZS1jb21waWxlLXRlc3QtZXhwZWN0ZWQudHh0CkBAIC0yMyw2ICsyMyw3IEBAIEZBSUwgcGl4ZWwg
YXQgKDIwLDE1KSBpcyAoMCwyNTUsMCwyNTUpLCBzaG91bGQgYmUgKDI1NSwwLDAsMjU1KQogUEFT
UyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogCiAKIFBBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKK1NvbWUgdGVzdHMgZmFpbGVkLgogCiBURVNUIENPTVBMRVRF
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtZWxl
bWVudC1hdXRvLXJlcGVhdC1nZXQtc2V0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
Y3NzLWdyaWQtbGF5b3V0L2dyaWQtZWxlbWVudC1hdXRvLXJlcGVhdC1nZXQtc2V0LWV4cGVjdGVk
LnR4dAppbmRleCA4NGFiZTViZTNhNWU3NDYzNmY2OGJlNTNkNzFlOThiZmQzNWJkMGE4Li4wYWJj
YTkxNmI0ZmI5OWY4ZDIyNWFmMmQwMDQwNWY0OTI4M2E1ZGQwIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWVsZW1lbnQtYXV0by1yZXBlYXQtZ2V0LXNl
dC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3Jp
ZC1lbGVtZW50LWF1dG8tcmVwZWF0LWdldC1zZXQtZXhwZWN0ZWQudHh0CkBAIC01Nyw2ICs1Nyw3
IEBAIFBBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5
VmFsdWUoJ2dyaWQtdGVtcGxhdGUtY29sdW1uCiBQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxl
KGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCdncmlkLXRlbXBsYXRlLWNvbHVtbnMnKSBp
cyAibm9uZSIKIFBBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFBy
b3BlcnR5VmFsdWUoJ2dyaWQtdGVtcGxhdGUtY29sdW1ucycpIGlzICJub25lIgogUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorU29tZSB0ZXN0cyBmYWlsZWQuCiAKIFRFU1QgQ09NUExF
VEUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvcGFyc2luZy1jc3MtbGFuZy5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvcGFyc2luZy1jc3MtbGFuZy5odG1sCmluZGV4IDNl
MTQxZTFiYjIxNjJlYTQ4MGY0NDEyOTBlYmU0NmNlMmJhZjgxMjEuLjM1YzYwMjg5ZjM5Njg2MDg3
ZWNjZTU1NDQ2MThiOWUzYTlkMmRlMWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3Nz
L3BhcnNpbmctY3NzLWxhbmcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9wYXJzaW5n
LWNzcy1sYW5nLmh0bWwKQEAgLTExLDcgKzExLDcgQEAKIGRlc2NyaXB0aW9uKCdUZXN0IHRoZSBw
YXJzaW5nIG9mIDpsYW5nKHN0cmluZ0xpc3QpIGZvciBxdWVyeVNlbGVjdG9yIGFuZCBzdHlsZS4n
KTsKIAogZnVuY3Rpb24gdGVzdFZhbGlkTGFuZ3VhZ2VSYW5nZShsYW5ndWFnZVJhbmdlU3RyaW5n
LCBleHBlY3RlZFNlcmlhbGl6ZWRMYW5ndWFnZVJhbmdlKSB7Ci0gICAgc2hvdWxkTm90VGhyb3co
J2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCc6bGFuZygnICsgbGFuZ3VhZ2VSYW5nZVN0cmluZy5y
ZXBsYWNlKC9cXC9nLCAnXFxcXCcpICsgJylcJyknLCAnIkVycm9yOiBTeW50YXhFcnJvcjogRE9N
IEV4Y2VwdGlvbiAxMiInKTsKKyAgICBzaG91bGROb3RUaHJvdygnZG9jdW1lbnQucXVlcnlTZWxl
Y3RvcihcJzpsYW5nKCcgKyBsYW5ndWFnZVJhbmdlU3RyaW5nLnJlcGxhY2UoL1xcL2csICdcXFxc
JykgKyAnKVwnKScpOwogCiAgICAgdmFyIHN0eWxlQ29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ3N0eWxlLWNvbnRhaW5lcicpOwogICAgIHN0eWxlQ29udGFpbmVyLmlubmVySFRN
TCA9ICc6bGFuZygnICsgbGFuZ3VhZ2VSYW5nZVN0cmluZyArICcpIHsgfSc7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9wYXJzaW5nLWNzcy1tYXRjaGVzLTEuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvY3NzL3BhcnNpbmctY3NzLW1hdGNoZXMtMS5odG1sCmluZGV4IGZlY2Q2NDlj
NjU0MzM1MzUwNGIxYzZkMWFmNDFlNjljYzk5ZDg3NWMuLjI1NzgxZjEwZjNmZTZjMDMyOGM5M2Rk
MDQwZDE4NGI1ZmQwMDc3MmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3BhcnNp
bmctY3NzLW1hdGNoZXMtMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3BhcnNpbmct
Y3NzLW1hdGNoZXMtMS5odG1sCkBAIC0xMSw3ICsxMSw3IEBACiBkZXNjcmlwdGlvbignVGVzdCB0
aGUgcGFyc2luZyBvZiA6bWF0Y2hlcyhzZWxlY3Rvckxpc3QpIGZvciBxdWVyeVNlbGVjdG9yIGFu
ZCBzdHlsZS4nKTsKIAogZnVuY3Rpb24gdGVzdFZhbGlkU2VsZWN0b3Ioc2VsZWN0b3JTdHJpbmcs
IGV4cGVjdGVkU2VyaWFsaXplZFNlbGVjdG9yKSB7Ci0gICAgc2hvdWxkTm90VGhyb3coJ2RvY3Vt
ZW50LnF1ZXJ5U2VsZWN0b3IoIjptYXRjaGVzKCcgKyBzZWxlY3RvclN0cmluZy5yZXBsYWNlKC9c
XC9nLCAnXFxcXCcpICsgJykiKScsICciRXJyb3I6IFN5bnRheEVycm9yOiBET00gRXhjZXB0aW9u
IDEyIicpOworICAgIHNob3VsZE5vdFRocm93KCdkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCI6bWF0
Y2hlcygnICsgc2VsZWN0b3JTdHJpbmcucmVwbGFjZSgvXFwvZywgJ1xcXFwnKSArICcpIiknKTsK
IAogICAgIHZhciBzdHlsZUNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdHls
ZS1jb250YWluZXInKTsKICAgICBzdHlsZUNvbnRhaW5lci5pbm5lckhUTUwgPSAnOm1hdGNoZXMo
JyArIHNlbGVjdG9yU3RyaW5nICsgJykgeyB9JzsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvY3NzL3BhcnNpbmctY3NzLW1hdGNoZXMtMi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
cGFyc2luZy1jc3MtbWF0Y2hlcy0yLmh0bWwKaW5kZXggM2ZhMTE1Y2RkNmU5MDBjZTZlODFkMTYz
MDFkMjUzMjVjYzZkNjVjNS4uYmEwY2JlY2JjNzc0MDU5MDY5Y2JmNWE3YTZhYzM3OGRmMmVlZGFj
NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvcGFyc2luZy1jc3MtbWF0Y2hlcy0y
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvcGFyc2luZy1jc3MtbWF0Y2hlcy0yLmh0
bWwKQEAgLTExLDcgKzExLDcgQEAKIGRlc2NyaXB0aW9uKCdUZXN0IHRoZSBwYXJzaW5nIG9mIDpt
YXRjaGVzKHNlbGVjdG9yTGlzdCkgZm9yIHF1ZXJ5U2VsZWN0b3IgYW5kIHN0eWxlLicpOwogCiBm
dW5jdGlvbiB0ZXN0VmFsaWRTZWxlY3RvcihzZWxlY3RvclN0cmluZywgZXhwZWN0ZWRTZXJpYWxp
emVkU2VsZWN0b3IpIHsKLSAgICBzaG91bGROb3RUaHJvdygnZG9jdW1lbnQucXVlcnlTZWxlY3Rv
cigiOm1hdGNoZXMoJyArIHNlbGVjdG9yU3RyaW5nLnJlcGxhY2UoL1xcL2csICdcXFxcJykgKyAn
KSIpJywgJyJFcnJvcjogU3ludGF4RXJyb3I6IERPTSBFeGNlcHRpb24gMTIiJyk7CisgICAgc2hv
dWxkTm90VGhyb3coJ2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIjptYXRjaGVzKCcgKyBzZWxlY3Rv
clN0cmluZy5yZXBsYWNlKC9cXC9nLCAnXFxcXCcpICsgJykiKScpOwogCiAgICAgdmFyIHN0eWxl
Q29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N0eWxlLWNvbnRhaW5lcicpOwog
ICAgIHN0eWxlQ29udGFpbmVyLmlubmVySFRNTCA9ICc6bWF0Y2hlcygnICsgc2VsZWN0b3JTdHJp
bmcgKyAnKSB7IH0nOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvcGFyc2luZy1j
c3MtbWF0Y2hlcy0zLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9wYXJzaW5nLWNzcy1tYXRj
aGVzLTMuaHRtbAppbmRleCBmMWQwZmZiNDQ4ZWViNDRjNGE1NDExOTBlMTdhNjkyM2U4MzMwMTQw
Li5jNmY1NjkwYWMwYzkwMzJjZmFiOTdlMGJhZjc5YTM3N2E1NjkyZjU2IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2Nzcy9wYXJzaW5nLWNzcy1tYXRjaGVzLTMuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2Nzcy9wYXJzaW5nLWNzcy1tYXRjaGVzLTMuaHRtbApAQCAtMTEsNyArMTEs
NyBAQAogZGVzY3JpcHRpb24oJ1Rlc3QgdGhlIHBhcnNpbmcgb2YgOm1hdGNoZXMoc2VsZWN0b3JM
aXN0KSBmb3IgcXVlcnlTZWxlY3RvciBhbmQgc3R5bGUuJyk7CiAKIGZ1bmN0aW9uIHRlc3RWYWxp
ZFNlbGVjdG9yKHNlbGVjdG9yU3RyaW5nLCBleHBlY3RlZFNlcmlhbGl6ZWRTZWxlY3Rvcikgewot
ICAgIHNob3VsZE5vdFRocm93KCdkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCI6bWF0Y2hlcygnICsg
c2VsZWN0b3JTdHJpbmcucmVwbGFjZSgvXFwvZywgJ1xcXFwnKSArICcpIiknLCAnIkVycm9yOiBT
eW50YXhFcnJvcjogRE9NIEV4Y2VwdGlvbiAxMiInKTsKKyAgICBzaG91bGROb3RUaHJvdygnZG9j
dW1lbnQucXVlcnlTZWxlY3RvcigiOm1hdGNoZXMoJyArIHNlbGVjdG9yU3RyaW5nLnJlcGxhY2Uo
L1xcL2csICdcXFxcJykgKyAnKSIpJyk7CiAKICAgICB2YXIgc3R5bGVDb250YWluZXIgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnc3R5bGUtY29udGFpbmVyJyk7CiAgICAgc3R5bGVDb250YWlu
ZXIuaW5uZXJIVE1MID0gJzptYXRjaGVzKCcgKyBzZWxlY3RvclN0cmluZyArICcpIHsgfSc7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9wYXJzaW5nLWNzcy1tYXRjaGVzLTQuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3BhcnNpbmctY3NzLW1hdGNoZXMtNC5odG1sCmluZGV4
IDg4NTI4MzhlNDU2MGMwNGNhYmIwMDRkNjk4NGFiZDUwNzUzMmQwZTguLjJmMDg1NzhmZmQzOTk0
OTc3OGEzYzYwZGQ5YWY3OGNkOTg5MjEyNDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
Y3NzL3BhcnNpbmctY3NzLW1hdGNoZXMtNC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3Nz
L3BhcnNpbmctY3NzLW1hdGNoZXMtNC5odG1sCkBAIC0xMSw3ICsxMSw3IEBACiBkZXNjcmlwdGlv
bignVGVzdCB0aGUgcGFyc2luZyBvZiA6bWF0Y2hlcyhzZWxlY3Rvckxpc3QpIGZvciBxdWVyeVNl
bGVjdG9yIGFuZCBzdHlsZS4nKTsKIAogZnVuY3Rpb24gdGVzdFZhbGlkU2VsZWN0b3Ioc2VsZWN0
b3JTdHJpbmcsIGV4cGVjdGVkU2VyaWFsaXplZFNlbGVjdG9yKSB7Ci0gICAgc2hvdWxkTm90VGhy
b3coJ2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIjptYXRjaGVzKCcgKyBzZWxlY3RvclN0cmluZy5y
ZXBsYWNlKC9cXC9nLCAnXFxcXCcpICsgJykiKScsICciRXJyb3I6IFN5bnRheEVycm9yOiBET00g
RXhjZXB0aW9uIDEyIicpOworICAgIHNob3VsZE5vdFRocm93KCdkb2N1bWVudC5xdWVyeVNlbGVj
dG9yKCI6bWF0Y2hlcygnICsgc2VsZWN0b3JTdHJpbmcucmVwbGFjZSgvXFwvZywgJ1xcXFwnKSAr
ICcpIiknKTsKIAogICAgIHZhciBzdHlsZUNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdzdHlsZS1jb250YWluZXInKTsKICAgICBzdHlsZUNvbnRhaW5lci5pbm5lckhUTUwgPSAn
Om1hdGNoZXMoJyArIHNlbGVjdG9yU3RyaW5nICsgJykgeyB9JzsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvY3NzL3BhcnNpbmctY3NzLW5vdC0xLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2Nzcy9wYXJzaW5nLWNzcy1ub3QtMS5odG1sCmluZGV4IDAxODUzM2YzMTliYzA0MjA0ZjFkM2Yx
MGIyY2Q5ZTYxNzA1NmYxYzguLjY5YmViYmY1OGY4ZTY0ZjgzM2YyYWM4NjhjZGUwNzVjODhmZGJl
YzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3BhcnNpbmctY3NzLW5vdC0xLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvcGFyc2luZy1jc3Mtbm90LTEuaHRtbApAQCAt
MTEsNyArMTEsNyBAQAogZGVzY3JpcHRpb24oJ1Rlc3QgdGhlIHBhcnNpbmcgb2YgOm5vdChzZWxl
Y3Rvckxpc3QpIGZvciBxdWVyeVNlbGVjdG9yIGFuZCBzdHlsZS4nKTsKIAogZnVuY3Rpb24gdGVz
dFZhbGlkU2VsZWN0b3Ioc2VsZWN0b3JTdHJpbmcsIGV4cGVjdGVkU2VyaWFsaXplZFNlbGVjdG9y
KSB7Ci0gICAgc2hvdWxkTm90VGhyb3coJ2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIjpub3QoJyAr
IHNlbGVjdG9yU3RyaW5nLnJlcGxhY2UoL1xcL2csICdcXFxcJykgKyAnKSIpJywgJyJFcnJvcjog
U3ludGF4RXJyb3I6IERPTSBFeGNlcHRpb24gMTIiJyk7CisgICAgc2hvdWxkTm90VGhyb3coJ2Rv
Y3VtZW50LnF1ZXJ5U2VsZWN0b3IoIjpub3QoJyArIHNlbGVjdG9yU3RyaW5nLnJlcGxhY2UoL1xc
L2csICdcXFxcJykgKyAnKSIpJyk7CiAKICAgICB2YXIgc3R5bGVDb250YWluZXIgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnc3R5bGUtY29udGFpbmVyJyk7CiAgICAgc3R5bGVDb250YWluZXIu
aW5uZXJIVE1MID0gJzpub3QoJyArIHNlbGVjdG9yU3RyaW5nICsgJykgeyB9JzsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3BhcnNpbmctY3NzLW5vdC0yLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Nzcy9wYXJzaW5nLWNzcy1ub3QtMi5odG1sCmluZGV4IGIyZjFkNGM4YjgwMmI3
ZmY3Y2RhOWI4ZTBiNDY3MWU3NjFkZTA0YTQuLjQ2YWM2NTBhNWVmMzdkM2E5NThkZDczOWZlZjU5
YTVjNGM2ODMzN2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3BhcnNpbmctY3Nz
LW5vdC0yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvcGFyc2luZy1jc3Mtbm90LTIu
aHRtbApAQCAtMTEsNyArMTEsNyBAQAogZGVzY3JpcHRpb24oJ1Rlc3QgdGhlIHBhcnNpbmcgb2Yg
Om5vdChzZWxlY3Rvckxpc3QpIGZvciBxdWVyeVNlbGVjdG9yIGFuZCBzdHlsZS4nKTsKIAogZnVu
Y3Rpb24gdGVzdFZhbGlkU2VsZWN0b3Ioc2VsZWN0b3JTdHJpbmcsIGV4cGVjdGVkU2VyaWFsaXpl
ZFNlbGVjdG9yKSB7Ci0gICAgc2hvdWxkTm90VGhyb3coJ2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3Io
Ijpub3QoJyArIHNlbGVjdG9yU3RyaW5nLnJlcGxhY2UoL1xcL2csICdcXFxcJykgKyAnKSIpJywg
JyJFcnJvcjogU3ludGF4RXJyb3I6IERPTSBFeGNlcHRpb24gMTIiJyk7CisgICAgc2hvdWxkTm90
VGhyb3coJ2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIjpub3QoJyArIHNlbGVjdG9yU3RyaW5nLnJl
cGxhY2UoL1xcL2csICdcXFxcJykgKyAnKSIpJyk7CiAKICAgICB2YXIgc3R5bGVDb250YWluZXIg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3R5bGUtY29udGFpbmVyJyk7CiAgICAgc3R5bGVD
b250YWluZXIuaW5uZXJIVE1MID0gJzpub3QoJyArIHNlbGVjdG9yU3RyaW5nICsgJykgeyB9JzsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3BhcnNpbmctY3NzLW5vdC0zLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9wYXJzaW5nLWNzcy1ub3QtMy5odG1sCmluZGV4IDY0YmQ0
YmNhOTVkM2U5MDExMTA1OWFlYWQ2YjYyNmNkMWE1NjdhYTIuLmRkYjFmZDdiZTY3ZjMxNTdmZTdi
ZGIxNmFjYzIwYjVkY2M1NWU3NzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3Bh
cnNpbmctY3NzLW5vdC0zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvcGFyc2luZy1j
c3Mtbm90LTMuaHRtbApAQCAtMTEsNyArMTEsNyBAQAogZGVzY3JpcHRpb24oJ1Rlc3QgdGhlIHBh
cnNpbmcgb2YgOm5vdChzZWxlY3Rvckxpc3QpIGZvciBxdWVyeVNlbGVjdG9yIGFuZCBzdHlsZS4n
KTsKIAogZnVuY3Rpb24gdGVzdFZhbGlkU2VsZWN0b3Ioc2VsZWN0b3JTdHJpbmcsIGV4cGVjdGVk
U2VyaWFsaXplZFNlbGVjdG9yKSB7Ci0gICAgc2hvdWxkTm90VGhyb3coJ2RvY3VtZW50LnF1ZXJ5
U2VsZWN0b3IoIjpub3QoJyArIHNlbGVjdG9yU3RyaW5nLnJlcGxhY2UoL1xcL2csICdcXFxcJykg
KyAnKSIpJywgJyJFcnJvcjogU3ludGF4RXJyb3I6IERPTSBFeGNlcHRpb24gMTIiJyk7CisgICAg
c2hvdWxkTm90VGhyb3coJ2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIjpub3QoJyArIHNlbGVjdG9y
U3RyaW5nLnJlcGxhY2UoL1xcL2csICdcXFxcJykgKyAnKSIpJyk7CiAKICAgICB2YXIgc3R5bGVD
b250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3R5bGUtY29udGFpbmVyJyk7CiAg
ICAgc3R5bGVDb250YWluZXIuaW5uZXJIVE1MID0gJzpub3QoJyArIHNlbGVjdG9yU3RyaW5nICsg
JykgeyB9JzsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3BhcnNpbmctY3NzLW5v
dC00Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9wYXJzaW5nLWNzcy1ub3QtNC5odG1sCmlu
ZGV4IDIyYjYwMmJmZjhjYzIxZmUyZjY2Y2UyMjg1ZWI5NjAxMGIxZDljZDguLmQ3ZDJiMTBkMmYy
N2ZlZTI2ZGJhM2Q4MTBhZTdhOTI3MzFkNDg5YTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvY3NzL3BhcnNpbmctY3NzLW5vdC00Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
cGFyc2luZy1jc3Mtbm90LTQuaHRtbApAQCAtMTEsNyArMTEsNyBAQAogZGVzY3JpcHRpb24oJ1Rl
c3QgdGhlIHBhcnNpbmcgb2YgOm5vdChzZWxlY3Rvckxpc3QpIGZvciBxdWVyeVNlbGVjdG9yIGFu
ZCBzdHlsZS4nKTsKIAogZnVuY3Rpb24gdGVzdFZhbGlkU2VsZWN0b3Ioc2VsZWN0b3JTdHJpbmcs
IGV4cGVjdGVkU2VyaWFsaXplZFNlbGVjdG9yKSB7Ci0gICAgc2hvdWxkTm90VGhyb3coJ2RvY3Vt
ZW50LnF1ZXJ5U2VsZWN0b3IoIjpub3QoJyArIHNlbGVjdG9yU3RyaW5nLnJlcGxhY2UoL1xcL2cs
ICdcXFxcJykgKyAnKSIpJywgJyJFcnJvcjogU3ludGF4RXJyb3I6IERPTSBFeGNlcHRpb24gMTIi
Jyk7CisgICAgc2hvdWxkTm90VGhyb3coJ2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIjpub3QoJyAr
IHNlbGVjdG9yU3RyaW5nLnJlcGxhY2UoL1xcL2csICdcXFxcJykgKyAnKSIpJyk7CiAKICAgICB2
YXIgc3R5bGVDb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3R5bGUtY29udGFp
bmVyJyk7CiAgICAgc3R5bGVDb250YWluZXIuaW5uZXJIVE1MID0gJzpub3QoJyArIHNlbGVjdG9y
U3RyaW5nICsgJykgeyB9JzsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3BhcnNp
bmctY3NzLW50aC1jaGlsZC1vZi0xLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9wYXJzaW5n
LWNzcy1udGgtY2hpbGQtb2YtMS5odG1sCmluZGV4IGM2YTk1YWE3YmE2Y2QzM2ZjYTY0MmMxMzYy
MjlmNWQxZTBiYjBmYzUuLjNlNjBiMDgxNjMyMzcxYTlhMTQ5NmI3NmI3Yzc0MTFhN2YxNzQ0MWEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3BhcnNpbmctY3NzLW50aC1jaGlsZC1v
Zi0xLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvcGFyc2luZy1jc3MtbnRoLWNoaWxk
LW9mLTEuaHRtbApAQCAtMTEsNyArMTEsNyBAQAogZGVzY3JpcHRpb24oJ1Rlc3QgdGhlIHBhcnNp
bmcgb2YgOm50aC1jaGlsZChvZikgZm9yIHF1ZXJ5U2VsZWN0b3IgYW5kIHN0eWxlLicpOwogCiBm
dW5jdGlvbiB0ZXN0VmFsaWRTZWxlY3RvcihzZWxlY3RvclN0cmluZywgZXhwZWN0ZWRTZXJpYWxp
emVkU2VsZWN0b3IpIHsKLSAgICBzaG91bGROb3RUaHJvdygnZG9jdW1lbnQucXVlcnlTZWxlY3Rv
cigiOm50aC1jaGlsZCgnICsgc2VsZWN0b3JTdHJpbmcucmVwbGFjZSgvXFwvZywgJ1xcXFwnKSAr
ICcpIiknLCAnIkVycm9yOiBTeW50YXhFcnJvcjogRE9NIEV4Y2VwdGlvbiAxMiInKTsKKyAgICBz
aG91bGROb3RUaHJvdygnZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiOm50aC1jaGlsZCgnICsgc2Vs
ZWN0b3JTdHJpbmcucmVwbGFjZSgvXFwvZywgJ1xcXFwnKSArICcpIiknKTsKIAogICAgIHZhciBz
dHlsZUNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdHlsZS1jb250YWluZXIn
KTsKICAgICBzdHlsZUNvbnRhaW5lci5pbm5lckhUTUwgPSAnOm50aC1jaGlsZCgnICsgc2VsZWN0
b3JTdHJpbmcgKyAnKSB7IH0nOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvcGFy
c2luZy1jc3MtbnRoLWNoaWxkLW9mLTIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3BhcnNp
bmctY3NzLW50aC1jaGlsZC1vZi0yLmh0bWwKaW5kZXggMDkwZjk1MDI4NzM2ZDM4YmI5MWM2MWRj
Njc0MDk4MzNlOTM0MDZiNy4uZTJhMzEwOGRlNzIwYTNlM2M1YTUyYWYxNWI1YmU1YjlkYjlhMTk4
MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvcGFyc2luZy1jc3MtbnRoLWNoaWxk
LW9mLTIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9wYXJzaW5nLWNzcy1udGgtY2hp
bGQtb2YtMi5odG1sCkBAIC0xMSw3ICsxMSw3IEBACiBkZXNjcmlwdGlvbignVGVzdCB0aGUgcGFy
c2luZyBvZiA6bnRoLWNoaWxkKG9mKSBmb3IgcXVlcnlTZWxlY3RvciBhbmQgc3R5bGUuJyk7CiAK
IGZ1bmN0aW9uIHRlc3RWYWxpZFNlbGVjdG9yKHNlbGVjdG9yU3RyaW5nLCBleHBlY3RlZFNlcmlh
bGl6ZWRTZWxlY3RvcikgewotICAgIHNob3VsZE5vdFRocm93KCdkb2N1bWVudC5xdWVyeVNlbGVj
dG9yKCI6bnRoLWNoaWxkKCcgKyBzZWxlY3RvclN0cmluZy5yZXBsYWNlKC9cXC9nLCAnXFxcXCcp
ICsgJykiKScsICciRXJyb3I6IFN5bnRheEVycm9yOiBET00gRXhjZXB0aW9uIDEyIicpOworICAg
IHNob3VsZE5vdFRocm93KCdkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCI6bnRoLWNoaWxkKCcgKyBz
ZWxlY3RvclN0cmluZy5yZXBsYWNlKC9cXC9nLCAnXFxcXCcpICsgJykiKScpOwogCiAgICAgdmFy
IHN0eWxlQ29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N0eWxlLWNvbnRhaW5l
cicpOwogICAgIHN0eWxlQ29udGFpbmVyLmlubmVySFRNTCA9ICc6bnRoLWNoaWxkKCcgKyBzZWxl
Y3RvclN0cmluZyArICcpIHsgfSc7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9w
YXJzaW5nLWNzcy1udGgtbGFzdC1jaGlsZC1vZi0xLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nz
cy9wYXJzaW5nLWNzcy1udGgtbGFzdC1jaGlsZC1vZi0xLmh0bWwKaW5kZXggZmM4NTNlMGRmYTEz
N2NmOTA2NjIwNWU0OTRjYjU2YjdhNzhiNzhkMS4uOGQyZTI4MTM2ODZkNmM3YTI2ODM1MWZmOWI4
MTVkZDlmODE2MDZhZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvcGFyc2luZy1j
c3MtbnRoLWxhc3QtY2hpbGQtb2YtMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3Bh
cnNpbmctY3NzLW50aC1sYXN0LWNoaWxkLW9mLTEuaHRtbApAQCAtMTEsNyArMTEsNyBAQAogZGVz
Y3JpcHRpb24oJ1Rlc3QgdGhlIHBhcnNpbmcgb2YgOm50aC1sYXN0LWNoaWxkKG9mKSBmb3IgcXVl
cnlTZWxlY3RvciBhbmQgc3R5bGUuJyk7CiAKIGZ1bmN0aW9uIHRlc3RWYWxpZFNlbGVjdG9yKHNl
bGVjdG9yU3RyaW5nLCBleHBlY3RlZFNlcmlhbGl6ZWRTZWxlY3RvcikgewotICAgIHNob3VsZE5v
dFRocm93KCdkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCI6bnRoLWxhc3QtY2hpbGQoJyArIHNlbGVj
dG9yU3RyaW5nLnJlcGxhY2UoL1xcL2csICdcXFxcJykgKyAnKSIpJywgJyJFcnJvcjogU3ludGF4
RXJyb3I6IERPTSBFeGNlcHRpb24gMTIiJyk7CisgICAgc2hvdWxkTm90VGhyb3coJ2RvY3VtZW50
LnF1ZXJ5U2VsZWN0b3IoIjpudGgtbGFzdC1jaGlsZCgnICsgc2VsZWN0b3JTdHJpbmcucmVwbGFj
ZSgvXFwvZywgJ1xcXFwnKSArICcpIiknKTsKIAogICAgIHZhciBzdHlsZUNvbnRhaW5lciA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdHlsZS1jb250YWluZXInKTsKICAgICBzdHlsZUNvbnRh
aW5lci5pbm5lckhUTUwgPSAnOm50aC1sYXN0LWNoaWxkKCcgKyBzZWxlY3RvclN0cmluZyArICcp
IHsgfSc7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9wYXJzaW5nLWNzcy1udGgt
bGFzdC1jaGlsZC1vZi0yLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9wYXJzaW5nLWNzcy1u
dGgtbGFzdC1jaGlsZC1vZi0yLmh0bWwKaW5kZXggOTM3MGU1YTRkMGZhODQwMjYzNDllYTczODA4
NjE1NDk0MzEzMjc4ZC4uNWM4ZGMyYjVmMzJkYTFiNTA2NjBmMzJlN2ZmM2EzZjQ3ZDFmZjM0YyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvcGFyc2luZy1jc3MtbnRoLWxhc3QtY2hp
bGQtb2YtMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3BhcnNpbmctY3NzLW50aC1s
YXN0LWNoaWxkLW9mLTIuaHRtbApAQCAtMTEsNyArMTEsNyBAQAogZGVzY3JpcHRpb24oJ1Rlc3Qg
dGhlIHBhcnNpbmcgb2YgOm50aC1sYXN0LWNoaWxkKG9mKSBmb3IgcXVlcnlTZWxlY3RvciBhbmQg
c3R5bGUuJyk7CiAKIGZ1bmN0aW9uIHRlc3RWYWxpZFNlbGVjdG9yKHNlbGVjdG9yU3RyaW5nLCBl
eHBlY3RlZFNlcmlhbGl6ZWRTZWxlY3RvcikgewotICAgIHNob3VsZE5vdFRocm93KCdkb2N1bWVu
dC5xdWVyeVNlbGVjdG9yKCI6bnRoLWxhc3QtY2hpbGQoJyArIHNlbGVjdG9yU3RyaW5nLnJlcGxh
Y2UoL1xcL2csICdcXFxcJykgKyAnKSIpJywgJyJFcnJvcjogU3ludGF4RXJyb3I6IERPTSBFeGNl
cHRpb24gMTIiJyk7CisgICAgc2hvdWxkTm90VGhyb3coJ2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3Io
IjpudGgtbGFzdC1jaGlsZCgnICsgc2VsZWN0b3JTdHJpbmcucmVwbGFjZSgvXFwvZywgJ1xcXFwn
KSArICcpIiknKTsKIAogICAgIHZhciBzdHlsZUNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdzdHlsZS1jb250YWluZXInKTsKICAgICBzdHlsZUNvbnRhaW5lci5pbm5lckhUTUwg
PSAnOm50aC1sYXN0LWNoaWxkKCcgKyBzZWxlY3RvclN0cmluZyArICcpIHsgfSc7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9nZXRFbGVtZW50c0J5Q2xhc3NOYW1lL0FTQ0lJLWNh
c2UtaW5zZW5zaXRpdmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vZ2V0RWxl
bWVudHNCeUNsYXNzTmFtZS9BU0NJSS1jYXNlLWluc2Vuc2l0aXZlLWV4cGVjdGVkLnR4dAppbmRl
eCA5ZjkzMDdmYjljNmFkZTBjNzBlZDQ3NWYwMTVlMmQ4ZmE5NmYyNzdhLi5mZTRhMjk3YjViZmY3
YjIzYzliZjRmZTA0ZDU3OTdkYWVjNzk3NzA2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9nZXRFbGVtZW50c0J5Q2xhc3NOYW1lL0FTQ0lJLWNhc2UtaW5zZW5zaXRpdmUtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2dldEVsZW1lbnRzQnlDbGFzc05hbWUv
QVNDSUktY2FzZS1pbnNlbnNpdGl2ZS1leHBlY3RlZC50eHQKQEAgLTMsNiArMyw3IEBAIEZBSUwg
Z2V0QnlDbGFzc05hbWUoJ0EnKSBzaG91bGQgYmUgYSBBLiBXYXMgQS4KIFBBU1MgZ2V0QnlDbGFz
c05hbWUoJ8OkJykgaXMgIsOkIgogUEFTUyBnZXRCeUNsYXNzTmFtZSgnw4QnKSBpcyAiw4QiCiBQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCitTb21lIHRlc3RzIGZhaWxlZC4KIAogVEVT
VCBDT01QTEVURQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvYXJy
b3dmdW5jdGlvbi1zdXBlcmNhbGwuanMgYi9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvYXJy
b3dmdW5jdGlvbi1zdXBlcmNhbGwuanMKaW5kZXggMjM0NTdhMzcyNmQ5YTk3ZTJlNDc3MTlmODQz
YWJhM2U4NzVhYzYwYS4uNjk3MDA2NGYzYWU3ZmY5ZTNhOGVjZTkzMmUzNDZkMDhjYjcyZmRkYiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL2Fycm93ZnVuY3Rpb24tc3Vw
ZXJjYWxsLmpzCisrKyBiL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9hcnJvd2Z1bmN0aW9u
LXN1cGVyY2FsbC5qcwpAQCAtMTUxLDcgKzE1MSw3IEBAIHNob3VsZEJlVHJ1ZSgiaW5kZXhPZkNo
aWxkQ2xhc3NJblN0YWNrRXJyb3IgPiAtMSAmJiBlcnJvclN0YWNrLmluZGV4T2YoJ0NoaWxkQ2xh
CiBzaG91bGRCZSgiKG5ldyBjbGFzcyBleHRlbmRzIEEgeyBjb25zdHJ1Y3RvcigpIHsgKChhID0g
c3VwZXIoKSk9Pnt9KSgpIH0gfSkuaWQiLCAidmFsdWUiKTsKIHNob3VsZFRocm93KCcobmV3IGNs
YXNzIGV4dGVuZHMgQSB7IGNvbnN0cnVjdG9yKCkgeyAoKGEgPSB0aGlzKT0+eyByZXR1cm4gYTsg
fSkoKSB9IH0pJywgJyJSZWZlcmVuY2VFcnJvcjogQ2Fubm90IGFjY2VzcyB1bmluaXRpYWxpemVk
IHZhcmlhYmxlLiInKTsKIHNob3VsZFRocm93KCcobmV3IGNsYXNzIGV4dGVuZHMgQSB7IGNvbnN0
cnVjdG9yKCkgeyAoKGEgPSB0aGlzLCBiPXN1cGVyKCkpPT57IHJldHVybiBhOyB9KSgpIH0gfSkn
LCAnIlJlZmVyZW5jZUVycm9yOiBDYW5ub3QgYWNjZXNzIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUu
IicpOwotc2hvdWxkTm90VGhyb3coJyhuZXcgY2xhc3MgZXh0ZW5kcyBBIHsgY29uc3RydWN0b3Io
KSB7ICgoYSA9IG5ldy50YXJnZXQpPT57IHJldHVybiBhOyB9KSgpOyBzdXBlcigpOyB9IH0pJywg
JyJSZWZlcmVuY2VFcnJvcjogQ2Fubm90IGFjY2VzcyB1bmluaXRpYWxpemVkIHZhcmlhYmxlLiIn
KTsKLXNob3VsZE5vdFRocm93KCcobmV3IGNsYXNzIGV4dGVuZHMgQSB7IGNvbnN0cnVjdG9yKCkg
eyAoKGEgPSBuZXcudGFyZ2V0LCBiPXN1cGVyKCkpPT57IHJldHVybiBhOyB9KSgpIH0gfSknLCAn
IlJlZmVyZW5jZUVycm9yOiBDYW5ub3QgYWNjZXNzIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUuIicp
Oworc2hvdWxkTm90VGhyb3coJyhuZXcgY2xhc3MgZXh0ZW5kcyBBIHsgY29uc3RydWN0b3IoKSB7
ICgoYSA9IG5ldy50YXJnZXQpPT57IHJldHVybiBhOyB9KSgpOyBzdXBlcigpOyB9IH0pJyk7Citz
aG91bGROb3RUaHJvdygnKG5ldyBjbGFzcyBleHRlbmRzIEEgeyBjb25zdHJ1Y3RvcigpIHsgKChh
ID0gbmV3LnRhcmdldCwgYj1zdXBlcigpKT0+eyByZXR1cm4gYTsgfSkoKSB9IH0pJyk7CiAKIHZh
ciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIGIvTGF5b3V0VGVzdHMvcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzCmluZGV4IGYxMWI0YjU1MTE1OTcxNmIxN2Q4MDMzYjY0NDM0N2I1MzI4YzM3MDIuLjAwYzUy
MzdjMmQ2MTE3NzdiNDg5NjM1NGI0NDNhZDlhODE4ODBjYTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcworKysgYi9MYXlvdXRUZXN0cy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMKQEAgLTU4MywzOCArNTgzLDM4IEBAIGZ1bmN0aW9uIGV4cGVjdFRydWUo
diwgbXNnKSB7CiAgIH0KIH0KIAotZnVuY3Rpb24gc2hvdWxkTm90VGhyb3coX2EpIHsKK2Z1bmN0
aW9uIHNob3VsZE5vdFRocm93KF9hLCBfbWVzc2FnZSkgewogICAgIHRyeSB7Ci0gICAgICAgIGV2
YWwoX2EpOwotICAgICAgICB0ZXN0UGFzc2VkKF9hICsgIiBkaWQgbm90IHRocm93IGV4Y2VwdGlv
bi4iKTsKKyAgICAgICAgdHlwZW9mIF9hID09ICJmdW5jdGlvbiIgPyBfYSgpIDogZXZhbChfYSk7
CisgICAgICAgIHRlc3RQYXNzZWQoKF9tZXNzYWdlID8gX21lc3NhZ2UgOiBfYSkgKyAiIGRpZCBu
b3QgdGhyb3cgZXhjZXB0aW9uLiIpOwogICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgdGVzdEZh
aWxlZChfYSArICIgc2hvdWxkIG5vdCB0aHJvdyBleGNlcHRpb24uIFRocmV3IGV4Y2VwdGlvbiAi
ICsgZSArICIuIik7CisgICAgICAgIHRlc3RGYWlsZWQoKF9tZXNzYWdlID8gX21lc3NhZ2UgOiBf
YSkgKyAiIHNob3VsZCBub3QgdGhyb3cgZXhjZXB0aW9uLiBUaHJldyBleGNlcHRpb24gIiArIGUg
KyAiLiIpOwogICAgIH0KIH0KIAotZnVuY3Rpb24gc2hvdWxkVGhyb3coX2EsIF9lKQorZnVuY3Rp
b24gc2hvdWxkVGhyb3coX2EsIF9lLCBfbWVzc2FnZSkKIHsKLSAgdmFyIGV4Y2VwdGlvbjsKLSAg
dmFyIF9hdjsKLSAgdHJ5IHsKLSAgICAgX2F2ID0gZXZhbChfYSk7Ci0gIH0gY2F0Y2ggKGUpIHsK
LSAgICAgZXhjZXB0aW9uID0gZTsKLSAgfQorICAgIHZhciBfZXhjZXB0aW9uOworICAgIHZhciBf
YXY7CisgICAgdHJ5IHsKKyAgICAgICAgX2F2ID0gdHlwZW9mIF9hID09ICJmdW5jdGlvbiIgPyBf
YSgpIDogZXZhbChfYSk7CisgICAgfSBjYXRjaCAoZSkgeworICAgICAgICBfZXhjZXB0aW9uID0g
ZTsKKyAgICB9CiAKLSAgdmFyIF9ldjsKLSAgaWYgKF9lKQotICAgICAgX2V2ID0gIGV2YWwoX2Up
OworICAgIHZhciBfZXY7CisgICAgaWYgKF9lKQorICAgICAgICBfZXYgPSBldmFsKF9lKTsKIAot
ICBpZiAoZXhjZXB0aW9uKSB7Ci0gICAgaWYgKHR5cGVvZiBfZSA9PSAidW5kZWZpbmVkIiB8fCBl
eGNlcHRpb24gPT0gX2V2KQotICAgICAgdGVzdFBhc3NlZChfYSArICIgdGhyZXcgZXhjZXB0aW9u
ICIgKyBleGNlcHRpb24gKyAiLiIpOworICAgIGlmIChfZXhjZXB0aW9uKSB7CisgICAgICAgIGlm
ICh0eXBlb2YgX2UgPT0gInVuZGVmaW5lZCIgfHwgX2V4Y2VwdGlvbiA9PSBfZXYpCisgICAgICAg
ICAgICB0ZXN0UGFzc2VkKChfbWVzc2FnZSA/IF9tZXNzYWdlIDogX2EpICsgIiB0aHJldyBleGNl
cHRpb24gIiArIF9leGNlcHRpb24gKyAiLiIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB0
ZXN0RmFpbGVkKChfbWVzc2FnZSA/IF9tZXNzYWdlIDogX2EpICsgIiBzaG91bGQgdGhyb3cgIiAr
ICh0eXBlb2YgX2UgPT0gInVuZGVmaW5lZCIgPyAiYW4gZXhjZXB0aW9uIiA6IF9ldikgKyAiLiBU
aHJldyBleGNlcHRpb24gIiArIF9leGNlcHRpb24gKyAiLiIpOworICAgIH0gZWxzZSBpZiAodHlw
ZW9mIF9hdiA9PSAidW5kZWZpbmVkIikKKyAgICAgICAgdGVzdEZhaWxlZCgoX21lc3NhZ2UgPyBf
bWVzc2FnZSA6IF9hKSArICIgc2hvdWxkIHRocm93ICIgKyAodHlwZW9mIF9lID09ICJ1bmRlZmlu
ZWQiID8gImFuIGV4Y2VwdGlvbiIgOiBfZXYpICsgIi4gV2FzIHVuZGVmaW5lZC4iKTsKICAgICBl
bHNlCi0gICAgICB0ZXN0RmFpbGVkKF9hICsgIiBzaG91bGQgdGhyb3cgIiArICh0eXBlb2YgX2Ug
PT0gInVuZGVmaW5lZCIgPyAiYW4gZXhjZXB0aW9uIiA6IF9ldikgKyAiLiBUaHJldyBleGNlcHRp
b24gIiArIGV4Y2VwdGlvbiArICIuIik7Ci0gIH0gZWxzZSBpZiAodHlwZW9mIF9hdiA9PSAidW5k
ZWZpbmVkIikKLSAgICB0ZXN0RmFpbGVkKF9hICsgIiBzaG91bGQgdGhyb3cgIiArICh0eXBlb2Yg
X2UgPT0gInVuZGVmaW5lZCIgPyAiYW4gZXhjZXB0aW9uIiA6IF9ldikgKyAiLiBXYXMgdW5kZWZp
bmVkLiIpOwotICBlbHNlCi0gICAgdGVzdEZhaWxlZChfYSArICIgc2hvdWxkIHRocm93ICIgKyAo
dHlwZW9mIF9lID09ICJ1bmRlZmluZWQiID8gImFuIGV4Y2VwdGlvbiIgOiBfZXYpICsgIi4gV2Fz
ICIgKyBfYXYgKyAiLiIpOworICAgICAgICB0ZXN0RmFpbGVkKChfbWVzc2FnZSA/IF9tZXNzYWdl
IDogX2EpICsgIiBzaG91bGQgdGhyb3cgIiArICh0eXBlb2YgX2UgPT0gInVuZGVmaW5lZCIgPyAi
YW4gZXhjZXB0aW9uIiA6IF9ldikgKyAiLiBXYXMgIiArIF9hdiArICIuIik7CiB9CiAKIGZ1bmN0
aW9uIHNob3VsZEhhdmVIYWRFcnJvcihtZXNzYWdlKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cmVzb3VyY2VzL2pzLXRlc3QuanMgYi9MYXlvdXRUZXN0cy9yZXNvdXJjZXMvanMtdGVzdC5qcwpp
bmRleCA5NTU5OThlYjllMGJiZDhkYjBlZGRkZWUzMGIwM2I3ODk1NTdiMDMyLi40NTEyYTQyODcy
YzA2ZDU4MGFmMTc3NzkzOTU1YWY1ZDU4OGVkMWY1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9y
ZXNvdXJjZXMvanMtdGVzdC5qcworKysgYi9MYXlvdXRUZXN0cy9yZXNvdXJjZXMvanMtdGVzdC5q
cwpAQCAtMTAsNyArMTAsOSBAQCBpZiAoc2VsZi50ZXN0UnVubmVyKSB7CiAgICAgICAgIHRlc3RS
dW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCh0cnVlKTsKIH0KIAotdmFyIGRlc2NyaXB0
aW9uLCBkZWJ1Zywgc3VjY2Vzc2Z1bGx5UGFyc2VkOwordmFyIGRlc2NyaXB0aW9uLCBkZWJ1Zywg
ZGlkRmFpbFNvbWVUZXN0cywgc3VjY2Vzc2Z1bGx5UGFyc2VkOworCitkaWRGYWlsU29tZVRlc3Rz
ID0gZmFsc2U7CiAKIHZhciBleHBlY3RpbmdFcnJvcjsgLy8gc2V0IGJ5IHNob3VsZEhhdmVFcnJv
cigpCiB2YXIgZXhwZWN0ZWRFcnJvck1lc3NhZ2U7IC8vIHNldCBieSBvbmVycm9yIHdoZW4gZXhw
ZWN0aW5nRXJyb3IgaXMgdHJ1ZQpAQCAtMTUzLDYgKzE1NSw3IEBAIGZ1bmN0aW9uIHRlc3RQYXNz
ZWQobXNnKQogCiBmdW5jdGlvbiB0ZXN0RmFpbGVkKG1zZykKIHsKKyAgICBkaWRGYWlsU29tZVRl
c3RzID0gdHJ1ZTsKICAgICBkZWJ1ZygnPHNwYW4+PHNwYW4gY2xhc3M9ImZhaWwiPkZBSUw8L3Nw
YW4+ICcgKyBlc2NhcGVIVE1MKG1zZykgKyAnPC9zcGFuPicpOwogfQogCkBAIC01NTksMzggKzU2
MiwzOCBAQCBmdW5jdGlvbiBleHBlY3RUcnVlKHYsIG1zZykgewogICB9CiB9CiAKLWZ1bmN0aW9u
IHNob3VsZE5vdFRocm93KF9hKSB7CitmdW5jdGlvbiBzaG91bGROb3RUaHJvdyhfYSwgX21lc3Nh
Z2UpIHsKICAgICB0cnkgewotICAgICAgICBldmFsKF9hKTsKLSAgICAgICAgdGVzdFBhc3NlZChf
YSArICIgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uIik7CisgICAgICAgIHR5cGVvZiBfYSA9PSAi
ZnVuY3Rpb24iID8gIF9hKCkgOiBldmFsKF9hKTsKKyAgICAgICAgdGVzdFBhc3NlZCgoX21lc3Nh
Z2UgPyBfbWVzc2FnZSA6IF9hKSArICIgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uIik7CiAgICAg
fSBjYXRjaCAoZSkgewotICAgICAgICB0ZXN0RmFpbGVkKF9hICsgIiBzaG91bGQgbm90IHRocm93
IGV4Y2VwdGlvbi4gVGhyZXcgZXhjZXB0aW9uICIgKyBlICsgIi4iKTsKKyAgICAgICAgdGVzdEZh
aWxlZCgoX21lc3NhZ2UgPyBfbWVzc2FnZSA6IF9hKSArICIgc2hvdWxkIG5vdCB0aHJvdyBleGNl
cHRpb24uIFRocmV3IGV4Y2VwdGlvbiAiICsgZSArICIuIik7CiAgICAgfQogfQogCi1mdW5jdGlv
biBzaG91bGRUaHJvdyhfYSwgX2UpCitmdW5jdGlvbiBzaG91bGRUaHJvdyhfYSwgX2UsIF9tZXNz
YWdlKQogewotICB2YXIgX2V4Y2VwdGlvbjsKLSAgdmFyIF9hdjsKLSAgdHJ5IHsKLSAgICAgX2F2
ID0gZXZhbChfYSk7Ci0gIH0gY2F0Y2ggKGUpIHsKLSAgICAgX2V4Y2VwdGlvbiA9IGU7Ci0gIH0K
KyAgICB2YXIgX2V4Y2VwdGlvbjsKKyAgICB2YXIgX2F2OworICAgIHRyeSB7CisgICAgICAgIF9h
diA9IHR5cGVvZiBfYSA9PSAiZnVuY3Rpb24iID8gX2EoKSA6IGV2YWwoX2EpOworICAgIH0gY2F0
Y2ggKGUpIHsKKyAgICAgICAgX2V4Y2VwdGlvbiA9IGU7CisgICAgfQogCi0gIHZhciBfZXY7Ci0g
IGlmIChfZSkKLSAgICAgIF9ldiA9IGV2YWwoX2UpOworICAgIHZhciBfZXY7CisgICAgaWYgKF9l
KQorICAgICAgICBfZXYgPSBldmFsKF9lKTsKIAotICBpZiAoX2V4Y2VwdGlvbikgewotICAgIGlm
ICh0eXBlb2YgX2UgPT0gInVuZGVmaW5lZCIgfHwgX2V4Y2VwdGlvbiA9PSBfZXYpCi0gICAgICB0
ZXN0UGFzc2VkKF9hICsgIiB0aHJldyBleGNlcHRpb24gIiArIF9leGNlcHRpb24gKyAiLiIpOwor
ICAgIGlmIChfZXhjZXB0aW9uKSB7CisgICAgICAgIGlmICh0eXBlb2YgX2UgPT0gInVuZGVmaW5l
ZCIgfHwgX2V4Y2VwdGlvbiA9PSBfZXYpCisgICAgICAgICAgICB0ZXN0UGFzc2VkKChfbWVzc2Fn
ZSA/IF9tZXNzYWdlIDogX2EpICsgIiB0aHJldyBleGNlcHRpb24gIiArIF9leGNlcHRpb24gKyAi
LiIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB0ZXN0RmFpbGVkKChfbWVzc2FnZSA/IF9t
ZXNzYWdlIDogX2EpICsgIiBzaG91bGQgdGhyb3cgIiArICh0eXBlb2YgX2UgPT0gInVuZGVmaW5l
ZCIgPyAiYW4gZXhjZXB0aW9uIiA6IF9ldikgKyAiLiBUaHJldyBleGNlcHRpb24gIiArIF9leGNl
cHRpb24gKyAiLiIpOworICAgIH0gZWxzZSBpZiAodHlwZW9mIF9hdiA9PSAidW5kZWZpbmVkIikK
KyAgICAgICAgdGVzdEZhaWxlZCgoX21lc3NhZ2UgPyBfbWVzc2FnZSA6IF9hKSArICIgc2hvdWxk
IHRocm93ICIgKyAodHlwZW9mIF9lID09ICJ1bmRlZmluZWQiID8gImFuIGV4Y2VwdGlvbiIgOiBf
ZXYpICsgIi4gV2FzIHVuZGVmaW5lZC4iKTsKICAgICBlbHNlCi0gICAgICB0ZXN0RmFpbGVkKF9h
ICsgIiBzaG91bGQgdGhyb3cgIiArICh0eXBlb2YgX2UgPT0gInVuZGVmaW5lZCIgPyAiYW4gZXhj
ZXB0aW9uIiA6IF9ldikgKyAiLiBUaHJldyBleGNlcHRpb24gIiArIF9leGNlcHRpb24gKyAiLiIp
OwotICB9IGVsc2UgaWYgKHR5cGVvZiBfYXYgPT0gInVuZGVmaW5lZCIpCi0gICAgdGVzdEZhaWxl
ZChfYSArICIgc2hvdWxkIHRocm93ICIgKyAodHlwZW9mIF9lID09ICJ1bmRlZmluZWQiID8gImFu
IGV4Y2VwdGlvbiIgOiBfZXYpICsgIi4gV2FzIHVuZGVmaW5lZC4iKTsKLSAgZWxzZQotICAgIHRl
c3RGYWlsZWQoX2EgKyAiIHNob3VsZCB0aHJvdyAiICsgKHR5cGVvZiBfZSA9PSAidW5kZWZpbmVk
IiA/ICJhbiBleGNlcHRpb24iIDogX2V2KSArICIuIFdhcyAiICsgX2F2ICsgIi4iKTsKKyAgICAg
ICAgdGVzdEZhaWxlZCgoX21lc3NhZ2UgPyBfbWVzc2FnZSA6IF9hKSArICIgc2hvdWxkIHRocm93
ICIgKyAodHlwZW9mIF9lID09ICJ1bmRlZmluZWQiID8gImFuIGV4Y2VwdGlvbiIgOiBfZXYpICsg
Ii4gV2FzICIgKyBfYXYgKyAiLiIpOwogfQogCiBmdW5jdGlvbiBzaG91bGRCZU5vdyhhLCBkZWx0
YSkKQEAgLTY5MSw2ICs2OTQsOCBAQCBmdW5jdGlvbiBpc1N1Y2Nlc3NmdWxseVBhcnNlZCgpCiAg
ICAgLy8gRklYTUU6IFJlbW92ZSB0aGlzIGFuZCBvbmx5IHJlcG9ydCB1bmV4cGVjdGVkIHN5bnRh
eCBlcnJvcnMuCiAgICAgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gIXVuZXhwZWN0ZWRFcnJvck1lc3Nh
Z2U7CiAgICAgc2hvdWxkQmVUcnVlKCJzdWNjZXNzZnVsbHlQYXJzZWQiKTsKKyAgICBpZiAoZGlk
RmFpbFNvbWVUZXN0cykKKyAgICAgICAgZGVidWcoIlNvbWUgdGVzdHMgZmFpbGVkLiIpOwogICAg
IGRlYnVnKCc8YnIgLz48c3BhbiBjbGFzcz0icGFzcyI+VEVTVCBDT01QTEVURTwvc3Bhbj4nKTsK
IH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLWJh
c2ljcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3It
YmFzaWNzLWV4cGVjdGVkLnR4dAppbmRleCAzNzlmNTdmZTM0M2I3MGEyNTVmYTgxOWY5YjRmMzFk
NTI2ZWVkMGU2Li4zM2Q5Y2I0YTBhNzViNmIzODM5MGM4Y2FjZWRkODQxMThhMTEzOGJjIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItYmFzaWNzLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItYmFzaWNz
LWV4cGVjdGVkLnR4dApAQCAtODIsNiArODIsNyBAQCBQQVNTIGN1cnNvciBpbnN0YW5jZW9mIElE
QkN1cnNvcldpdGhWYWx1ZSBpcyBmYWxzZQogUEFTUyBjdXJzb3IucHJpbWFyeUtleSBpcyAwCiBQ
QVNTICd2YWx1ZScgaW4gY3Vyc29yIGlzIGZhbHNlCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCitTb21lIHRlc3RzIGZhaWxlZC4KIAogVEVTVCBDT01QTEVURQogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItYmFzaWNzLXByaXZhdGUtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLWJhc2ljcy1w
cml2YXRlLWV4cGVjdGVkLnR4dAppbmRleCAzNzlmNTdmZTM0M2I3MGEyNTVmYTgxOWY5YjRmMzFk
NTI2ZWVkMGU2Li4zM2Q5Y2I0YTBhNzViNmIzODM5MGM4Y2FjZWRkODQxMThhMTEzOGJjIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItYmFzaWNzLXByaXZh
dGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNv
ci1iYXNpY3MtcHJpdmF0ZS1leHBlY3RlZC50eHQKQEAgLTgyLDYgKzgyLDcgQEAgUEFTUyBjdXJz
b3IgaW5zdGFuY2VvZiBJREJDdXJzb3JXaXRoVmFsdWUgaXMgZmFsc2UKIFBBU1MgY3Vyc29yLnBy
aW1hcnlLZXkgaXMgMAogUEFTUyAndmFsdWUnIGluIGN1cnNvciBpcyBmYWxzZQogUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorU29tZSB0ZXN0cyBmYWlsZWQuCiAKIFRFU1QgQ09NUExF
VEUKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>