<?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>55123</bug_id>
          
          <creation_ts>2011-02-24 00:50:59 -0800</creation_ts>
          <short_desc>[NRWT] Remove test_types/* classes finally.</short_desc>
          <delta_ts>2011-02-27 21:19:19 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>51091</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Hayato Ito">hayato</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dpranke</cc>
    
    <cc>ojan</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>356738</commentid>
    <comment_count>0</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2011-02-24 00:50:59 -0800</bug_when>
    <thetext>This will be a final patch to eliminate test_types/* classes.

Please see a master bug for the background:
https://bugs.webkit.org/show_bug.cgi?id=51091

This patch should be just a refactoring, mainly moving code in test_types/* classes into single_test_runner.py.
But there is one visible change. We won&apos;t display statistics per TEST_TYPE any more by this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356747</commentid>
    <comment_count>1</comment_count>
      <attachid>83616</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2011-02-24 01:18:43 -0800</bug_when>
    <thetext>Created attachment 83616
remove-test-types</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356786</commentid>
    <comment_count>2</comment_count>
      <attachid>83616</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-02-24 02:26:14 -0800</bug_when>
    <thetext>Comment on attachment 83616
remove-test-types

OK.  rs=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>357271</commentid>
    <comment_count>3</comment_count>
      <attachid>83616</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-24 12:28:06 -0800</bug_when>
    <thetext>Comment on attachment 83616
remove-test-types

Rejecting attachment 83616 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=eseidel-cq-sl&apos;, &apos;ap...&quot; exit_code: 2

Last 500 characters of output:
rm &apos;Tools/Scripts/webkitpy/layout_tests/test_types/test_type_base.py&apos;
patching file Tools/Scripts/webkitpy/layout_tests/test_types/test_type_base_unittest.py
rm &apos;Tools/Scripts/webkitpy/layout_tests/test_types/test_type_base_unittest.py&apos;
patching file Tools/Scripts/webkitpy/layout_tests/test_types/text_diff.py
rm &apos;Tools/Scripts/webkitpy/layout_tests/test_types/text_diff.py&apos;

Failed to run &quot;[u&apos;/Projects/CommitQueue/Tools/Scripts/svn-apply&apos;, u&apos;--reviewer&apos;, u&apos;Eric Seidel&apos;, u&apos;--force&apos;]&quot; exit_code: 2

Full output: http://queues.webkit.org/results/7984544</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>358886</commentid>
    <comment_count>4</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2011-02-27 21:19:19 -0800</bug_when>
    <thetext>Committed r79840: &lt;http://trac.webkit.org/changeset/79840&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83616</attachid>
            <date>2011-02-24 01:18:43 -0800</date>
            <delta_ts>2011-02-24 12:28:06 -0800</delta_ts>
            <desc>remove-test-types</desc>
            <filename>bug-55123-20110224181840.patch</filename>
            <type>text/plain</type>
            <size>29918</size>
            <attacher name="Hayato Ito">hayato</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogNzk1MjIKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCBhYjM0ODVkODBmMzlhZDI0M2EzMDQ2ZTkxZGI1NjQxOGY0
NTAxZWE1Li5jYWY0NTZkMDA0MDUxNGQ3MTk3NGZhNDViYWQyMDEwOTJhZTk1YjgwIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcg
QEAKKzIwMTEtMDItMjQgIEhheWF0byBJdG8gIDxoYXlhdG9AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtOUldUXSBSZW1vdmUg
dGVzdF90eXBlcy8qIGNsYXNzZXMuCisKKyAgICAgICAgVGhpcyBpcyB0aGUgbGFzdCBwYXRjaCBp
biB0aGUgc2VyaWVzIG9mIGVmZm9ydHMgd2hpY2ggdHJpZWQgdG8gcmVtb3ZlIHRlc3RfdHlwZXMg
Y2xhc3Nlcy4KKyAgICAgICAgQSBzaW5nbGVfdGVzdF9ydW5uZXIgbW9kdWxlIHdpbGwgdGFrZSBv
dmVyIHJlc3BvbnNpYmlsaXRpZXMgb2YgdGVzdF90eXBlIGNsYXNzZXMuCisKKyAgICAgICAgRnJv
bSB0aGlzIHBhdGNoLCB3ZSB3b24ndCBkaXNwbGF5IHN0YXRpc3RpY3MgcGVyIHRlc3RfdHlwZSBl
dmVuIGlmIGEgJy0tdmVyYm9zZScgb3B0aW9uIGlzIGdpdmVuLgorCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NTEyMworCisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbGF5b3V0X3BhY2thZ2Uvc2luZ2xlX3Rlc3RfcnVubmVy
LnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9wYWNr
YWdlL3Rlc3RfcmVzdWx0cy5weToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9sYXlvdXRfcGFja2FnZS90ZXN0X3Jlc3VsdHNfdW5pdHRlc3QucHk6CisgICAgICAgICog
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbGF5b3V0X3BhY2thZ2UvdGVzdF9ydW5uZXIu
cHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbGF5b3V0X3BhY2th
Z2Uvd29ya2VyX21peGluLnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3Rlc3RfdHlwZXMvX19pbml0X18ucHk6IFJlbW92ZWQuCisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvdGVzdF90eXBlcy9pbWFnZV9kaWZmLnB5OiBSZW1vdmVkLgor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Rlc3RfdHlwZXMvdGVzdF90
eXBlX2Jhc2UucHk6IFJlbW92ZWQuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvdGVzdF90eXBlcy90ZXN0X3R5cGVfYmFzZV91bml0dGVzdC5weTogUmVtb3ZlZC4KKyAg
ICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy90ZXN0X3R5cGVzL3RleHRfZGlm
Zi5weTogUmVtb3ZlZC4KKwogMjAxMS0wMi0yMiAgT2phbiBWYWZhaSAgPG9qYW5AY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFRvbnkgQ2hhbmcuCmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2FnZS9zaW5nbGVfdGVz
dF9ydW5uZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRf
cGFja2FnZS9zaW5nbGVfdGVzdF9ydW5uZXIucHkKaW5kZXggNDM3N2ZkMTNhNGQyYjVkZDExZDRi
N2U5MmIzNDM3ZGMyNmI1MWY4Yy4uMjM2MjNlY2QwYWQyNzkwZDM4MTg0MWU1Nzc2ZjlmYTBhMGRh
MGRjZiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbGF5
b3V0X3BhY2thZ2Uvc2luZ2xlX3Rlc3RfcnVubmVyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdlL3NpbmdsZV90ZXN0X3J1bm5lci5weQpA
QCAtMzksOSArMzksOCBAQCBmcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cy5sYXlvdXRfcGFja2Fn
ZS50ZXN0X3Jlc3VsdHMgaW1wb3J0IFRlc3RSZXN1bHQKIF9sb2cgPSBsb2dnaW5nLmdldExvZ2dl
cihfX25hbWVfXykKIAogCi1kZWYgcnVuX3NpbmdsZV90ZXN0KHBvcnQsIG9wdGlvbnMsIHRlc3Rf
aW5wdXQsIGRyaXZlciwgd29ya2VyX25hbWUsIHRlc3RfdHlwZXMpOgotICAgICMgRklYTUU6IFB1
bGwgdGhpcyBpbnRvIFRlc3RTaGVsbFRocmVhZC5fcnVuKCkuCi0gICAgcnVubmVyID0gU2luZ2xl
VGVzdFJ1bm5lcihvcHRpb25zLCBwb3J0LCBkcml2ZXIsIHRlc3RfaW5wdXQsIHdvcmtlcl9uYW1l
LCB0ZXN0X3R5cGVzKQorZGVmIHJ1bl9zaW5nbGVfdGVzdChwb3J0LCBvcHRpb25zLCB0ZXN0X2lu
cHV0LCBkcml2ZXIsIHdvcmtlcl9uYW1lKToKKyAgICBydW5uZXIgPSBTaW5nbGVUZXN0UnVubmVy
KG9wdGlvbnMsIHBvcnQsIGRyaXZlciwgdGVzdF9pbnB1dCwgd29ya2VyX25hbWUpCiAgICAgcmV0
dXJuIHJ1bm5lci5ydW4oKQogCiAKQEAgLTU1LDE0ICs1NCwxMyBAQCBjbGFzcyBFeHBlY3RlZERy
aXZlck91dHB1dDoKIAogY2xhc3MgU2luZ2xlVGVzdFJ1bm5lcjoKIAotICAgIGRlZiBfX2luaXRf
XyhzZWxmLCBvcHRpb25zLCBwb3J0LCBkcml2ZXIsIHRlc3RfaW5wdXQsIHdvcmtlcl9uYW1lLCB0
ZXN0X3R5cGVzKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgb3B0aW9ucywgcG9ydCwgZHJpdmVy
LCB0ZXN0X2lucHV0LCB3b3JrZXJfbmFtZSk6CiAgICAgICAgIHNlbGYuX29wdGlvbnMgPSBvcHRp
b25zCiAgICAgICAgIHNlbGYuX3BvcnQgPSBwb3J0CiAgICAgICAgIHNlbGYuX2RyaXZlciA9IGRy
aXZlcgogICAgICAgICBzZWxmLl9maWxlbmFtZSA9IHRlc3RfaW5wdXQuZmlsZW5hbWUKICAgICAg
ICAgc2VsZi5fdGltZW91dCA9IHRlc3RfaW5wdXQudGltZW91dAogICAgICAgICBzZWxmLl93b3Jr
ZXJfbmFtZSA9IHdvcmtlcl9uYW1lCi0gICAgICAgIHNlbGYuX3Rlc3RfdHlwZXMgPSB0ZXN0X3R5
cGVzCiAgICAgICAgIHNlbGYuX3Rlc3RuYW1lID0gcG9ydC5yZWxhdGl2ZV90ZXN0X2ZpbGVuYW1l
KHRlc3RfaW5wdXQuZmlsZW5hbWUpCiAKICAgICBkZWYgX2V4cGVjdGVkX2RyaXZlcl9vdXRwdXQo
c2VsZik6CkBAIC05MSw3ICs4OSwxMSBAQCBjbGFzcyBTaW5nbGVUZXN0UnVubmVyOgogCiAgICAg
ZGVmIF9ydW5fY29tcGFyZV90ZXN0KHNlbGYpOgogICAgICAgICBkcml2ZXJfb3V0cHV0ID0gc2Vs
Zi5fZHJpdmVyLnJ1bl90ZXN0KHNlbGYuX2RyaXZlcl9pbnB1dCgpKQotICAgICAgICByZXR1cm4g
c2VsZi5fcHJvY2Vzc19vdXRwdXQoZHJpdmVyX291dHB1dCkKKyAgICAgICAgZXhwZWN0ZWRfZHJp
dmVyX291dHB1dCA9IHNlbGYuX2V4cGVjdGVkX2RyaXZlcl9vdXRwdXQoKQorICAgICAgICB0ZXN0
X3Jlc3VsdCA9IHNlbGYuX2NvbXBhcmVfb3V0cHV0KGRyaXZlcl9vdXRwdXQsIGV4cGVjdGVkX2Ry
aXZlcl9vdXRwdXQpCisgICAgICAgIHRlc3RfcmVzdWx0X3dyaXRlci53cml0ZV90ZXN0X3Jlc3Vs
dChzZWxmLl9wb3J0LCBzZWxmLl9vcHRpb25zLnJlc3VsdHNfZGlyZWN0b3J5LCBzZWxmLl9maWxl
bmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRyaXZl
cl9vdXRwdXQsIGV4cGVjdGVkX2RyaXZlcl9vdXRwdXQsIHRlc3RfcmVzdWx0LmZhaWx1cmVzKQor
ICAgICAgICByZXR1cm4gdGVzdF9yZXN1bHQKIAogICAgIGRlZiBfcnVuX3JlYmFzZWxpbmUoc2Vs
Zik6CiAgICAgICAgIGRyaXZlcl9vdXRwdXQgPSBzZWxmLl9kcml2ZXIucnVuX3Rlc3Qoc2VsZi5f
ZHJpdmVyX2lucHV0KCkpCkBAIC0xNTIsNiArMTU0LDcgQEAgY2xhc3MgU2luZ2xlVGVzdFJ1bm5l
cjoKICAgICAgICAgICAgIGZhaWx1cmVzLmFwcGVuZCh0ZXN0X2ZhaWx1cmVzLkZhaWx1cmVDcmFz
aCgpKQogICAgICAgICAgICAgX2xvZy5kZWJ1ZygiJXMgU3RhY2t0cmFjZSBmb3IgJXM6XG4lcyIg
JSAoc2VsZi5fd29ya2VyX25hbWUsIHNlbGYuX3Rlc3RuYW1lLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJpdmVyX291dHB1dC5lcnJvcikp
CisgICAgICAgICAgICAjIEZJWE1FOiBVc2UgdGVzdF9yZXN1bHRfd3JpdGVyIG1vZHVsZS4KICAg
ICAgICAgICAgIHN0YWNrX2ZpbGVuYW1lID0gZnMuam9pbihzZWxmLl9vcHRpb25zLnJlc3VsdHNf
ZGlyZWN0b3J5LCBzZWxmLl90ZXN0bmFtZSkKICAgICAgICAgICAgIHN0YWNrX2ZpbGVuYW1lID0g
ZnMuc3BsaXRleHQoc3RhY2tfZmlsZW5hbWUpWzBdICsgIi1zdGFjay50eHQiCiAgICAgICAgICAg
ICBmcy5tYXliZV9tYWtlX2RpcmVjdG9yeShmcy5kaXJuYW1lKHN0YWNrX2ZpbGVuYW1lKSkKQEAg
LTE2MSwzNyArMTY0LDQ5IEBAIGNsYXNzIFNpbmdsZVRlc3RSdW5uZXI6CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRyaXZlcl9vdXRw
dXQuZXJyb3IpKQogICAgICAgICByZXR1cm4gZmFpbHVyZXMKIAotICAgIGRlZiBfcHJvY2Vzc19v
dXRwdXQoc2VsZiwgZHJpdmVyX291dHB1dCk6Ci0gICAgICAgICIiIlJlY2VpdmVzIHRoZSBvdXRw
dXQgZnJvbSBhIER1bXBSZW5kZXJUcmVlIHByb2Nlc3MsIHN1YmplY3RzIGl0IHRvIGEKLSAgICAg
ICAgbnVtYmVyIG9mIHRlc3RzLCBhbmQgcmV0dXJucyBhIGxpc3Qgb2YgZmFpbHVyZSB0eXBlcyB0
aGUgdGVzdCBwcm9kdWNlZC4KLSAgICAgICAgQXJnczoKLSAgICAgICAgICBkcml2ZXJfb3V0cHV0
OiBhIERyaXZlck91dHB1dCBvYmplY3QgY29udGFpbmluZyB0aGUgb3V0cHV0IGZyb20gdGhlIGRy
aXZlcgorICAgIGRlZiBfY29tcGFyZV9vdXRwdXQoc2VsZiwgZHJpdmVyX291dHB1dCwgZXhwZWN0
ZWRfZHJpdmVyX291dHB1dCk6CisgICAgICAgIGZhaWx1cmVzID0gW10KKyAgICAgICAgZmFpbHVy
ZXMuZXh0ZW5kKHNlbGYuX2hhbmRsZV9lcnJvcihkcml2ZXJfb3V0cHV0KSkKIAotICAgICAgICBS
ZXR1cm5zOiBhIFRlc3RSZXN1bHQgb2JqZWN0Ci0gICAgICAgICIiIgotICAgICAgICBmcyA9IHNl
bGYuX3BvcnQuX2ZpbGVzeXN0ZW0KLSAgICAgICAgZmFpbHVyZXMgPSBzZWxmLl9oYW5kbGVfZXJy
b3IoZHJpdmVyX291dHB1dCkKLSAgICAgICAgZXhwZWN0ZWRfZHJpdmVyX291dHB1dCA9IHNlbGYu
X2V4cGVjdGVkX2RyaXZlcl9vdXRwdXQoKQorICAgICAgICBpZiBkcml2ZXJfb3V0cHV0LmNyYXNo
OgorICAgICAgICAgICAgIyBEb24ndCBjb250aW51ZSBhbnkgbW9yZSBpZiB3ZSBhbHJlYWR5IGhh
dmUgYSBjcmFzaC4KKyAgICAgICAgICAgICMgSW4gY2FzZSBvZiB0aW1lb3V0cywgd2UgY29udGlu
dWUgc2luY2Ugd2Ugc3RpbGwgd2FudCB0byBzZWUgdGhlIHRleHQgYW5kIGltYWdlIG91dHB1dC4K
KyAgICAgICAgICAgIHJldHVybiBUZXN0UmVzdWx0KHNlbGYuX2ZpbGVuYW1lLCBmYWlsdXJlcywg
ZHJpdmVyX291dHB1dC50ZXN0X3RpbWUpCiAKLSAgICAgICAgIyBDaGVjayB0aGUgb3V0cHV0IGFu
ZCBzYXZlIHRoZSByZXN1bHRzLgotICAgICAgICBzdGFydF90aW1lID0gdGltZS50aW1lKCkKLSAg
ICAgICAgdGltZV9mb3JfZGlmZnMgPSB7fQotICAgICAgICBmb3IgdGVzdF90eXBlIGluIHNlbGYu
X3Rlc3RfdHlwZXM6Ci0gICAgICAgICAgICBzdGFydF9kaWZmX3RpbWUgPSB0aW1lLnRpbWUoKQot
ICAgICAgICAgICAgbmV3X2ZhaWx1cmVzID0gdGVzdF90eXBlLmNvbXBhcmVfb3V0cHV0KAotICAg
ICAgICAgICAgICAgIHNlbGYuX3BvcnQsIHNlbGYuX2ZpbGVuYW1lLCBzZWxmLl9vcHRpb25zLCBk
cml2ZXJfb3V0cHV0LAotICAgICAgICAgICAgICAgIGV4cGVjdGVkX2RyaXZlcl9vdXRwdXQpCi0g
ICAgICAgICAgICAjIERvbid0IGFkZCBhbnkgbW9yZSBmYWlsdXJlcyBpZiB3ZSBhbHJlYWR5IGhh
dmUgYSBjcmFzaCwgc28gd2UgZG9uJ3QKLSAgICAgICAgICAgICMgZG91YmxlLXJlcG9ydCB0aG9z
ZSB0ZXN0cy4gV2UgZG8gZG91YmxlLXJlcG9ydCBmb3IgdGltZW91dHMgc2luY2UKLSAgICAgICAg
ICAgICMgd2Ugc3RpbGwgd2FudCB0byBzZWUgdGhlIHRleHQgYW5kIGltYWdlIG91dHB1dC4KLSAg
ICAgICAgICAgIGlmIG5vdCBkcml2ZXJfb3V0cHV0LmNyYXNoOgotICAgICAgICAgICAgICAgIGZh
aWx1cmVzLmV4dGVuZChuZXdfZmFpbHVyZXMpCi0gICAgICAgICAgICB0ZXN0X3Jlc3VsdF93cml0
ZXIud3JpdGVfdGVzdF9yZXN1bHQoCi0gICAgICAgICAgICAgICAgc2VsZi5fcG9ydCwgc2VsZi5f
b3B0aW9ucy5yZXN1bHRzX2RpcmVjdG9yeSwgc2VsZi5fZmlsZW5hbWUsCi0gICAgICAgICAgICAg
ICAgZHJpdmVyX291dHB1dCwgZXhwZWN0ZWRfZHJpdmVyX291dHB1dCwgbmV3X2ZhaWx1cmVzKQot
ICAgICAgICAgICAgdGltZV9mb3JfZGlmZnNbdGVzdF90eXBlLl9fY2xhc3NfXy5fX25hbWVfX10g
PSAoCi0gICAgICAgICAgICAgICAgdGltZS50aW1lKCkgLSBzdGFydF9kaWZmX3RpbWUpCi0KLSAg
ICAgICAgdG90YWxfdGltZV9mb3JfYWxsX2RpZmZzID0gdGltZS50aW1lKCkgLSBzdGFydF9kaWZm
X3RpbWUKLSAgICAgICAgcmV0dXJuIFRlc3RSZXN1bHQoc2VsZi5fZmlsZW5hbWUsIGZhaWx1cmVz
LCBkcml2ZXJfb3V0cHV0LnRlc3RfdGltZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgdG90
YWxfdGltZV9mb3JfYWxsX2RpZmZzLCB0aW1lX2Zvcl9kaWZmcykKKyAgICAgICAgZmFpbHVyZXMu
ZXh0ZW5kKHNlbGYuX2NvbXBhcmVfdGV4dChkcml2ZXJfb3V0cHV0LnRleHQsIGV4cGVjdGVkX2Ry
aXZlcl9vdXRwdXQudGV4dCkpCisgICAgICAgIGlmIHNlbGYuX29wdGlvbnMucGl4ZWxfdGVzdHM6
CisgICAgICAgICAgICBmYWlsdXJlcy5leHRlbmQoc2VsZi5fY29tcGFyZV9pbWFnZShkcml2ZXJf
b3V0cHV0LCBleHBlY3RlZF9kcml2ZXJfb3V0cHV0KSkKKyAgICAgICAgcmV0dXJuIFRlc3RSZXN1
bHQoc2VsZi5fZmlsZW5hbWUsIGZhaWx1cmVzLCBkcml2ZXJfb3V0cHV0LnRlc3RfdGltZSkKKwor
ICAgIGRlZiBfY29tcGFyZV90ZXh0KHNlbGYsIGFjdHVhbF90ZXh0LCBleHBlY3RlZF90ZXh0KToK
KyAgICAgICAgZmFpbHVyZXMgPSBbXQorICAgICAgICBpZiBzZWxmLl9wb3J0LmNvbXBhcmVfdGV4
dChzZWxmLl9nZXRfbm9ybWFsaXplZF9vdXRwdXRfdGV4dChhY3R1YWxfdGV4dCksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgQXNzdW1pbmcgZXhwZWN0ZWRfdGV4dCBpcyBh
bHJlYWR5IG5vcm1hbGl6ZWQuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4
cGVjdGVkX3RleHQpOgorICAgICAgICAgICAgaWYgZXhwZWN0ZWRfdGV4dCA9PSAnJzoKKyAgICAg
ICAgICAgICAgICBmYWlsdXJlcy5hcHBlbmQodGVzdF9mYWlsdXJlcy5GYWlsdXJlTWlzc2luZ1Jl
c3VsdCgpKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBmYWlsdXJlcy5hcHBl
bmQodGVzdF9mYWlsdXJlcy5GYWlsdXJlVGV4dE1pc21hdGNoKCkpCisgICAgICAgIHJldHVybiBm
YWlsdXJlcworCisgICAgZGVmIF9nZXRfbm9ybWFsaXplZF9vdXRwdXRfdGV4dChzZWxmLCBvdXRw
dXQpOgorICAgICAgICAiIiJSZXR1cm5zIHRoZSBub3JtYWxpemVkIHRleHQgb3V0cHV0LCBpLmUu
IHRoZSBvdXRwdXQgaW4gd2hpY2gKKyAgICAgICAgdGhlIGVuZC1vZi1saW5lIGNoYXJhY3RlcnMg
YXJlIG5vcm1hbGl6ZWQgdG8gIlxuIi4iIiIKKyAgICAgICAgIyBSdW5uaW5nIHRlc3RzIG9uIFdp
bmRvd3MgcHJvZHVjZXMgIlxyXG4iLiAgVGhlICJcbiIgcGFydCBpcyBoZWxwZnVsbHkKKyAgICAg
ICAgIyBjaGFuZ2VkIHRvICJcclxuIiBieSBvdXIgc3lzdGVtIChQeXRob24vQ3lnd2luKSwgcmVz
dWx0aW5nIGluCisgICAgICAgICMgIlxyXHJcbiIsIHdoZW4sIGluIGZhY3QsIHdlIHdhbnRlZCB0
byBjb21wYXJlIHRoZSB0ZXh0IG91dHB1dCB3aXRoCisgICAgICAgICMgdGhlIG5vcm1hbGl6ZWQg
dGV4dCBleHBlY3RhdGlvbiBmaWxlcy4KKyAgICAgICAgcmV0dXJuIG91dHB1dC5yZXBsYWNlKCJc
clxyXG4iLCAiXHJcbiIpLnJlcGxhY2UoIlxyXG4iLCAiXG4iKQorCisgICAgZGVmIF9jb21wYXJl
X2ltYWdlKHNlbGYsIGRyaXZlcl9vdXRwdXQsIGV4cGVjdGVkX2RyaXZlcl9vdXRwdXRzKToKKyAg
ICAgICAgZmFpbHVyZXMgPSBbXQorICAgICAgICAjIElmIHdlIGRpZG4ndCBwcm9kdWNlIGEgaGFz
aCBmaWxlLCB0aGlzIHRlc3QgbXVzdCBiZSB0ZXh0LW9ubHkuCisgICAgICAgIGlmIGRyaXZlcl9v
dXRwdXQuaW1hZ2VfaGFzaCBpcyBOb25lOgorICAgICAgICAgICAgcmV0dXJuIGZhaWx1cmVzCisg
ICAgICAgIGlmIG5vdCBleHBlY3RlZF9kcml2ZXJfb3V0cHV0cy5pbWFnZToKKyAgICAgICAgICAg
IGZhaWx1cmVzLmFwcGVuZCh0ZXN0X2ZhaWx1cmVzLkZhaWx1cmVNaXNzaW5nSW1hZ2UoKSkKKyAg
ICAgICAgZWxpZiBub3QgZXhwZWN0ZWRfZHJpdmVyX291dHB1dHMuaW1hZ2VfaGFzaDoKKyAgICAg
ICAgICAgIGZhaWx1cmVzLmFwcGVuZCh0ZXN0X2ZhaWx1cmVzLkZhaWx1cmVNaXNzaW5nSW1hZ2VI
YXNoKCkpCisgICAgICAgIGVsaWYgZHJpdmVyX291dHB1dC5pbWFnZV9oYXNoICE9IGV4cGVjdGVk
X2RyaXZlcl9vdXRwdXRzLmltYWdlX2hhc2g6CisgICAgICAgICAgICBmYWlsdXJlcy5hcHBlbmQo
dGVzdF9mYWlsdXJlcy5GYWlsdXJlSW1hZ2VIYXNoTWlzbWF0Y2goKSkKKyAgICAgICAgcmV0dXJu
IGZhaWx1cmVzCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9sYXlvdXRfcGFja2FnZS90ZXN0X3Jlc3VsdHMucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2FnZS90ZXN0X3Jlc3VsdHMucHkKaW5kZXggMDU1ZjY1
YjcwZTEyYzYwYTM1ZmRkNDMzYzg5MTY5ODc5YjI3ZmRiNC4uYjM4NDBhZmJlYmFhM2M5ZTFlYzk3
NWRlZTNmMjJkMTBlMjFjMTM0NCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvbGF5b3V0X3BhY2thZ2UvdGVzdF9yZXN1bHRzLnB5CisrKyBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdlL3Rlc3RfcmVzdWx0cy5w
eQpAQCAtMzgsMjIgKzM4LDE3IEBAIGNsYXNzIFRlc3RSZXN1bHQob2JqZWN0KToKICAgICBkZWYg
bG9hZHMoc3RyKToKICAgICAgICAgcmV0dXJuIGNQaWNrbGUubG9hZHMoc3RyKQogCi0gICAgZGVm
IF9faW5pdF9fKHNlbGYsIGZpbGVuYW1lLCBmYWlsdXJlcz1Ob25lLCB0ZXN0X3J1bl90aW1lPU5v
bmUsIHRvdGFsX3RpbWVfZm9yX2FsbF9kaWZmcz1Ob25lLCB0aW1lX2Zvcl9kaWZmcz1Ob25lKToK
KyAgICBkZWYgX19pbml0X18oc2VsZiwgZmlsZW5hbWUsIGZhaWx1cmVzPU5vbmUsIHRlc3RfcnVu
X3RpbWU9Tm9uZSk6CiAgICAgICAgIHNlbGYuZmlsZW5hbWUgPSBmaWxlbmFtZQogICAgICAgICBz
ZWxmLmZhaWx1cmVzID0gZmFpbHVyZXMgb3IgW10KICAgICAgICAgc2VsZi50ZXN0X3J1bl90aW1l
ID0gdGVzdF9ydW5fdGltZSBvciAwCi0gICAgICAgIHNlbGYudG90YWxfdGltZV9mb3JfYWxsX2Rp
ZmZzID0gdG90YWxfdGltZV9mb3JfYWxsX2RpZmZzIG9yIDAKLSAgICAgICAgc2VsZi50aW1lX2Zv
cl9kaWZmcyA9IHRpbWVfZm9yX2RpZmZzIG9yIHt9ICAjIEZJWE1FOiBXaHkgaXMgdGhpcyBhIGRp
Y3Rpb25hcnk/Ci0KICAgICAgICAgIyBGSVhNRTogU2V0dGluZyB0aGlzIGluIHRoZSBjb25zdHJ1
Y3RvciBtYWtlcyB0aGlzIGNsYXNzIGhhcmQgdG8gbXV0YXRlLgogICAgICAgICBzZWxmLnR5cGUg
PSB0ZXN0X2ZhaWx1cmVzLmRldGVybWluZV9yZXN1bHRfdHlwZShmYWlsdXJlcykKIAogICAgIGRl
ZiBfX2VxX18oc2VsZiwgb3RoZXIpOgogICAgICAgICByZXR1cm4gKHNlbGYuZmlsZW5hbWUgPT0g
b3RoZXIuZmlsZW5hbWUgYW5kCiAgICAgICAgICAgICAgICAgc2VsZi5mYWlsdXJlcyA9PSBvdGhl
ci5mYWlsdXJlcyBhbmQKLSAgICAgICAgICAgICAgICBzZWxmLnRlc3RfcnVuX3RpbWUgPT0gb3Ro
ZXIudGVzdF9ydW5fdGltZSBhbmQKLSAgICAgICAgICAgICAgICBzZWxmLnRpbWVfZm9yX2RpZmZz
ID09IG90aGVyLnRpbWVfZm9yX2RpZmZzIGFuZAotICAgICAgICAgICAgICAgIHNlbGYudG90YWxf
dGltZV9mb3JfYWxsX2RpZmZzID09IG90aGVyLnRvdGFsX3RpbWVfZm9yX2FsbF9kaWZmcykKKyAg
ICAgICAgICAgICAgICBzZWxmLnRlc3RfcnVuX3RpbWUgPT0gb3RoZXIudGVzdF9ydW5fdGltZSkK
IAogICAgIGRlZiBfX25lX18oc2VsZiwgb3RoZXIpOgogICAgICAgICByZXR1cm4gbm90IChzZWxm
ID09IG90aGVyKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvbGF5b3V0X3BhY2thZ2UvdGVzdF9yZXN1bHRzX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbGF5b3V0X3BhY2thZ2UvdGVzdF9yZXN1bHRzX3VuaXR0
ZXN0LnB5CmluZGV4IGM4ZmNmNjRjMGY4ODFiYjM2OWViM2IxNDc4NTcyZjg4YWVhZmRhNjcuLjgx
MTA3ZDM3ZjU1NWQ4OTk0NDM2NTg3YjIwYTkwY2I3MzNkMWQzMjQgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdlL3Rlc3RfcmVzdWx0
c191bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9s
YXlvdXRfcGFja2FnZS90ZXN0X3Jlc3VsdHNfdW5pdHRlc3QucHkKQEAgLTM3LDE1ICszNywxMSBA
QCBjbGFzcyBUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChyZXN1bHQuZmlsZW5hbWUsICdmb28nKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3Vs
dC5mYWlsdXJlcywgW10pCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzdWx0LnRlc3RfcnVu
X3RpbWUsIDApCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzdWx0LnRvdGFsX3RpbWVfZm9y
X2FsbF9kaWZmcywgMCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXN1bHQudGltZV9mb3Jf
ZGlmZnMsIHt9KQogCiAgICAgZGVmIHRlc3RfbG9hZHMoc2VsZik6CiAgICAgICAgIHJlc3VsdCA9
IFRlc3RSZXN1bHQoZmlsZW5hbWU9J2ZvbycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZmFpbHVyZXM9W10sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF9ydW5fdGltZT0x
LjEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG90YWxfdGltZV9mb3JfYWxsX2RpZmZz
PTAuNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lX2Zvcl9kaWZmcz17fSkKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X3J1bl90aW1lPTEuMSkKICAgICAgICAgcyA9
IHJlc3VsdC5kdW1wcygpCiAgICAgICAgIG5ld19yZXN1bHQgPSBUZXN0UmVzdWx0LmxvYWRzKHMp
CiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpc2luc3RhbmNlKG5ld19yZXN1bHQsIFRlc3RSZXN1
bHQpKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbGF5
b3V0X3BhY2thZ2UvdGVzdF9ydW5uZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9sYXlvdXRfcGFja2FnZS90ZXN0X3J1bm5lci5weQppbmRleCBlM2JkNGFkMjZhZjA4
YTBhNjgxMWU0ZjA2YTc4YTViNjUyODIyMjRlLi4yODk5YmVlYWY1M2VhYTBlN2E2YjgxMDc2ODJh
ZTA0ZDE4ZTk1NjRjIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9sYXlvdXRfcGFja2FnZS90ZXN0X3J1bm5lci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2FnZS90ZXN0X3J1bm5lci5weQpAQCAtOTMw
LDM0ICs5MzAsOSBAQCBjbGFzcyBUZXN0UnVubmVyOgogICAgICAgICBBcmdzOgogICAgICAgICAg
IGluZGl2aWR1YWxfdGVzdF90aW1pbmdzOiBMaXN0IG9mIFRlc3RSZXN1bHRzIGZvciBhbGwgdGVz
dHMuCiAgICAgICAgICIiIgotICAgICAgICB0ZXN0X3R5cGVzID0gW10gICMgVW5pdCB0ZXN0cyBk
b24ndCBhY3R1YWxseSBwcm9kdWNlIGFueSB0aW1pbmdzLgotICAgICAgICBpZiBpbmRpdmlkdWFs
X3Rlc3RfdGltaW5nczoKLSAgICAgICAgICAgIHRlc3RfdHlwZXMgPSBpbmRpdmlkdWFsX3Rlc3Rf
dGltaW5nc1swXS50aW1lX2Zvcl9kaWZmcy5rZXlzKCkKLSAgICAgICAgdGltZXNfZm9yX2R1bXBf
cmVuZGVyX3RyZWUgPSBbXQotICAgICAgICB0aW1lc19mb3JfZGlmZl9wcm9jZXNzaW5nID0gW10K
LSAgICAgICAgdGltZXNfcGVyX3Rlc3RfdHlwZSA9IHt9Ci0gICAgICAgIGZvciB0ZXN0X3R5cGUg
aW4gdGVzdF90eXBlczoKLSAgICAgICAgICAgIHRpbWVzX3Blcl90ZXN0X3R5cGVbdGVzdF90eXBl
XSA9IFtdCi0KLSAgICAgICAgZm9yIHRlc3Rfc3RhdHMgaW4gaW5kaXZpZHVhbF90ZXN0X3RpbWlu
Z3M6Ci0gICAgICAgICAgICB0aW1lc19mb3JfZHVtcF9yZW5kZXJfdHJlZS5hcHBlbmQodGVzdF9z
dGF0cy50ZXN0X3J1bl90aW1lKQotICAgICAgICAgICAgdGltZXNfZm9yX2RpZmZfcHJvY2Vzc2lu
Zy5hcHBlbmQoCi0gICAgICAgICAgICAgICAgdGVzdF9zdGF0cy50b3RhbF90aW1lX2Zvcl9hbGxf
ZGlmZnMpCi0gICAgICAgICAgICB0aW1lX2Zvcl9kaWZmcyA9IHRlc3Rfc3RhdHMudGltZV9mb3Jf
ZGlmZnMKLSAgICAgICAgICAgIGZvciB0ZXN0X3R5cGUgaW4gdGVzdF90eXBlczoKLSAgICAgICAg
ICAgICAgICB0aW1lc19wZXJfdGVzdF90eXBlW3Rlc3RfdHlwZV0uYXBwZW5kKAotICAgICAgICAg
ICAgICAgICAgICB0aW1lX2Zvcl9kaWZmc1t0ZXN0X3R5cGVdKQotCi0gICAgICAgIHNlbGYuX3By
aW50X3N0YXRpc3RpY3NfZm9yX3Rlc3RfdGltaW5ncygKLSAgICAgICAgICAgICJQRVIgVEVTVCBU
SU1FIElOIFRFU1RTSEVMTCAoc2Vjb25kcyk6IiwKLSAgICAgICAgICAgIHRpbWVzX2Zvcl9kdW1w
X3JlbmRlcl90cmVlKQotICAgICAgICBzZWxmLl9wcmludF9zdGF0aXN0aWNzX2Zvcl90ZXN0X3Rp
bWluZ3MoCi0gICAgICAgICAgICAiUEVSIFRFU1QgRElGRiBQUk9DRVNTSU5HIFRJTUVTIChzZWNv
bmRzKToiLAotICAgICAgICAgICAgdGltZXNfZm9yX2RpZmZfcHJvY2Vzc2luZykKLSAgICAgICAg
Zm9yIHRlc3RfdHlwZSBpbiB0ZXN0X3R5cGVzOgotICAgICAgICAgICAgc2VsZi5fcHJpbnRfc3Rh
dGlzdGljc19mb3JfdGVzdF90aW1pbmdzKAotICAgICAgICAgICAgICAgICJQRVIgVEVTVCBUSU1F
UyBCWSBURVNUIFRZUEU6ICVzIiAlIHRlc3RfdHlwZSwKLSAgICAgICAgICAgICAgICB0aW1lc19w
ZXJfdGVzdF90eXBlW3Rlc3RfdHlwZV0pCisgICAgICAgIHRpbWVzX2Zvcl9kdW1wX3JlbmRlcl90
cmVlID0gW3Rlc3Rfc3RhdHMudGVzdF9ydW5fdGltZSBmb3IgdGVzdF9zdGF0cyBpbiBpbmRpdmlk
dWFsX3Rlc3RfdGltaW5nc10KKyAgICAgICAgc2VsZi5fcHJpbnRfc3RhdGlzdGljc19mb3JfdGVz
dF90aW1pbmdzKCJQRVIgVEVTVCBUSU1FIElOIFRFU1RTSEVMTCAoc2Vjb25kcyk6IiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVzX2Zvcl9kdW1w
X3JlbmRlcl90cmVlKQogCiAgICAgZGVmIF9wcmludF9pbmRpdmlkdWFsX3Rlc3RfdGltZXMoc2Vs
ZiwgaW5kaXZpZHVhbF90ZXN0X3RpbWluZ3MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcmVzdWx0X3N1bW1hcnkpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvbGF5b3V0X3BhY2thZ2Uvd29ya2VyX21peGluLnB5IGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbGF5b3V0X3BhY2thZ2Uvd29ya2VyX21peGluLnB5
CmluZGV4IDUzMjljZDFkYzBlODM0YzIxNDM4Y2FmNmI2Y2YxMDkzNDk0MzVlNjguLjc4NzZmOTEz
YzhlZDc2OTExMjNhOTFlM2QyMjFjNjkwNTRiMDM2N2YgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdlL3dvcmtlcl9taXhpbi5weQor
KysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2FnZS93
b3JrZXJfbWl4aW4ucHkKQEAgLTMxLDkgKzMxLDYgQEAgaW1wb3J0IHN5cwogaW1wb3J0IHRocmVh
ZGluZwogaW1wb3J0IHRpbWUKIAotZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMudGVzdF90eXBl
cyBpbXBvcnQgdGV4dF9kaWZmCi1mcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cy50ZXN0X3R5cGVz
IGltcG9ydCBpbWFnZV9kaWZmCi0KIGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLmxheW91dF9w
YWNrYWdlIGltcG9ydCBzaW5nbGVfdGVzdF9ydW5uZXIKIGZyb20gd2Via2l0cHkubGF5b3V0X3Rl
c3RzLmxheW91dF9wYWNrYWdlIGltcG9ydCB0ZXN0X3Jlc3VsdHMKIApAQCAtNTcsMTEgKzU0LDcg
QEAgY2xhc3MgV29ya2VyTWl4aW4ob2JqZWN0KToKICAgICAgICAgc2VsZi5fZmlsZXN5c3RlbSA9
IHBvcnQuX2ZpbGVzeXN0ZW0KICAgICAgICAgc2VsZi5fYmF0Y2hfY291bnQgPSAwCiAgICAgICAg
IHNlbGYuX2JhdGNoX3NpemUgPSBzZWxmLl9vcHRpb25zLmJhdGNoX3NpemUKLSAgICAgICAgc2Vs
Zi5fdGVzdF90eXBlcyA9IFtdCiAgICAgICAgIHNlbGYuX2RyaXZlciA9IE5vbmUKLSAgICAgICAg
Zm9yIGNscyBpbiBzZWxmLl9nZXRfdGVzdF90eXBlX2NsYXNzZXMoKToKLSAgICAgICAgICAgIHNl
bGYuX3Rlc3RfdHlwZXMuYXBwZW5kKGNscyhzZWxmLl9wb3J0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX29wdGlvbnMucmVzdWx0c19kaXJlY3RvcnkpKQog
ICAgICAgICB0ZXN0c19ydW5fZmlsZW5hbWUgPSBzZWxmLl9maWxlc3lzdGVtLmpvaW4oc2VsZi5f
b3B0aW9ucy5yZXN1bHRzX2RpcmVjdG9yeSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJ0ZXN0c19ydW4lZC50eHQiICUgc2VsZi5fd29ya2VyX251
bWJlcikKICAgICAgICAgc2VsZi5fdGVzdHNfcnVuX2ZpbGUgPSBzZWxmLl9maWxlc3lzdGVtLm9w
ZW5fdGV4dF9maWxlX2Zvcl93cml0aW5nKHRlc3RzX3J1bl9maWxlbmFtZSkKQEAgLTcyLDEyICs2
NSw2IEBAIGNsYXNzIFdvcmtlck1peGluKG9iamVjdCk6CiAgICAgICAgICMgdGhlIGxvY2sgaXMg
aGVsZC4KICAgICAgICAgc2VsZi5faGFzX2h0dHBfbG9jayA9IEZhbHNlCiAKLSAgICBkZWYgX2dl
dF90ZXN0X3R5cGVfY2xhc3NlcyhzZWxmKToKLSAgICAgICAgY2xhc3NlcyA9IFt0ZXh0X2RpZmYu
VGVzdFRleHREaWZmXQotICAgICAgICBpZiBzZWxmLl9vcHRpb25zLnBpeGVsX3Rlc3RzOgotICAg
ICAgICAgICAgY2xhc3Nlcy5hcHBlbmQoaW1hZ2VfZGlmZi5JbWFnZURpZmYpCi0gICAgICAgIHJl
dHVybiBjbGFzc2VzCi0KICAgICBkZWYgY2xlYW51cChzZWxmKToKICAgICAgICAgaWYgc2VsZi5f
ZHJpdmVyOgogICAgICAgICAgICAgc2VsZi5raWxsX2RyaXZlcigpCkBAIC0xOTgsOCArMTg1LDcg
QEAgY2xhc3MgV29ya2VyTWl4aW4ob2JqZWN0KToKICAgICAgICAgZHJpdmVyLnN0b3AoKQogCiAg
ICAgICAgIGlmIG5vdCByZXN1bHQ6Ci0gICAgICAgICAgICByZXN1bHQgPSB0ZXN0X3Jlc3VsdHMu
VGVzdFJlc3VsdCh0ZXN0X2lucHV0LmZpbGVuYW1lLCBmYWlsdXJlcz1bXSwKLSAgICAgICAgICAg
ICAgICB0ZXN0X3J1bl90aW1lPTAsIHRvdGFsX3RpbWVfZm9yX2FsbF9kaWZmcz0wLCB0aW1lX2Zv
cl9kaWZmcz17fSkKKyAgICAgICAgICAgIHJlc3VsdCA9IHRlc3RfcmVzdWx0cy5UZXN0UmVzdWx0
KHRlc3RfaW5wdXQuZmlsZW5hbWUsIGZhaWx1cmVzPVtdLCB0ZXN0X3J1bl90aW1lPTApCiAgICAg
ICAgIHJldHVybiByZXN1bHQKIAogICAgIGRlZiBfcnVuX3Rlc3RfaW5fdGhpc190aHJlYWQoc2Vs
ZiwgdGVzdF9pbnB1dCk6CkBAIC0yMTksNCArMjA1LDQgQEAgY2xhc3MgV29ya2VyTWl4aW4ob2Jq
ZWN0KToKIAogICAgIGRlZiBfcnVuX3NpbmdsZV90ZXN0KHNlbGYsIGRyaXZlciwgdGVzdF9pbnB1
dCk6CiAgICAgICAgIHJldHVybiBzaW5nbGVfdGVzdF9ydW5uZXIucnVuX3NpbmdsZV90ZXN0KHNl
bGYuX3BvcnQsIHNlbGYuX29wdGlvbnMsCi0gICAgICAgICAgICB0ZXN0X2lucHV0LCBkcml2ZXIs
IHNlbGYuX25hbWUsIHNlbGYuX3Rlc3RfdHlwZXMpCisgICAgICAgICAgICB0ZXN0X2lucHV0LCBk
cml2ZXIsIHNlbGYuX25hbWUpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy90ZXN0X3R5cGVzL19faW5pdF9fLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvdGVzdF90eXBlcy9fX2luaXRfXy5weQpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggZTY5ZGUyOWJiMmQxZDY0MzRiOGIyOWFlNzc1YWQ4YzJlNDhjNTM5MS4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMApkaWZmIC0tZ2l0IGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvdGVzdF90eXBlcy9pbWFnZV9kaWZmLnB5IGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvdGVzdF90eXBlcy9pbWFnZV9kaWZm
LnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NzMwZjJiN2RjZDQyYzJmODE4NGUy
NDAzZjFjYzI0MGRhOTBjMmExLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Rlc3RfdHlwZXMv
aW1hZ2VfZGlmZi5weQorKysgL2Rldi9udWxsCkBAIC0xLDc1ICswLDAgQEAKLSMhL3Vzci9iaW4v
ZW52IHB5dGhvbgotIyBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLSMKLSMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0jIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSMgbWV0OgotIwotIyAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotIyBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCi0jICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotIyBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0jIGRp
c3RyaWJ1dGlvbi4KLSMgICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3Ig
dGhlIG5hbWVzIG9mIGl0cwotIyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotIwotIyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0jICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UCi0jIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgotIyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotIyBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSMg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAotIyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0jIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSMg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCi0jIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0KLSIiIkNvbXBhcmVzIHRoZSBpbWFnZSBvdXRw
dXQgb2YgYSB0ZXN0IHRvIHRoZSBleHBlY3RlZCBpbWFnZSBvdXRwdXQuCi0KLUNvbXBhcmVzIGhh
c2hlcyBmb3IgdGhlIGdlbmVyYXRlZCBhbmQgZXhwZWN0ZWQgaW1hZ2VzLiBJZiB0aGUgb3V0cHV0
IGRvZXNuJ3QKLW1hdGNoLCByZXR1cm5zIEZhaWx1cmVJbWFnZUhhc2hNaXNtYXRjaCBhbmQgb3V0
cHV0cyBib3RoIGhhc2hlcyBpbnRvIHRoZSBsYXlvdXQKLXRlc3QgcmVzdWx0cyBkaXJlY3Rvcnku
Ci0iIiIKLQotaW1wb3J0IGVycm5vCi1pbXBvcnQgbG9nZ2luZwotCi1mcm9tIHdlYmtpdHB5Lmxh
eW91dF90ZXN0cy5sYXlvdXRfcGFja2FnZSBpbXBvcnQgdGVzdF9mYWlsdXJlcwotZnJvbSB3ZWJr
aXRweS5sYXlvdXRfdGVzdHMudGVzdF90eXBlcyBpbXBvcnQgdGVzdF90eXBlX2Jhc2UKLQotIyBD
YWNoZSB3aGV0aGVyIHdlIGhhdmUgdGhlIGltYWdlX2RpZmYgZXhlY3V0YWJsZSBhdmFpbGFibGUu
Ci1fY29tcGFyZV9hdmFpbGFibGUgPSBUcnVlCi1fY29tcGFyZV9tc2dfcHJpbnRlZCA9IEZhbHNl
Ci0KLV9sb2cgPSBsb2dnaW5nLmdldExvZ2dlcigid2Via2l0cHkubGF5b3V0X3Rlc3RzLnRlc3Rf
dHlwZXMuaW1hZ2VfZGlmZiIpCi0KLQotY2xhc3MgSW1hZ2VEaWZmKHRlc3RfdHlwZV9iYXNlLlRl
c3RUeXBlQmFzZSk6Ci0KLSAgICBkZWYgY29tcGFyZV9vdXRwdXQoc2VsZiwgcG9ydCwgZmlsZW5h
bWUsIG9wdGlvbnMsIGFjdHVhbF9kcml2ZXJfb3V0cHV0LAotICAgICAgICAgICAgICAgICAgICAg
ICBleHBlY3RlZF9kcml2ZXJfb3V0cHV0KToKLSAgICAgICAgIiIiSW1wbGVtZW50YXRpb24gb2Yg
Q29tcGFyZU91dHB1dCB0aGF0IGNoZWNrcyB0aGUgb3V0cHV0IGltYWdlIGFuZAotICAgICAgICBj
aGVja3N1bSBhZ2FpbnN0IHRoZSBleHBlY3RlZCBmaWxlcyBmcm9tIHRoZSBMYXlvdXRUZXN0IGRp
cmVjdG9yeS4KLSAgICAgICAgIiIiCi0gICAgICAgIGZhaWx1cmVzID0gW10KLQotICAgICAgICAj
IElmIHdlIGRpZG4ndCBwcm9kdWNlIGEgaGFzaCBmaWxlLCB0aGlzIHRlc3QgbXVzdCBiZSB0ZXh0
LW9ubHkuCi0gICAgICAgIGlmIGFjdHVhbF9kcml2ZXJfb3V0cHV0LmltYWdlX2hhc2ggaXMgTm9u
ZToKLSAgICAgICAgICAgIHJldHVybiBmYWlsdXJlcwotCi0gICAgICAgIGlmIG5vdCBleHBlY3Rl
ZF9kcml2ZXJfb3V0cHV0LmltYWdlOgotICAgICAgICAgICAgIyBSZXBvcnQgYSBtaXNzaW5nIGV4
cGVjdGVkIFBORyBmaWxlLgotICAgICAgICAgICAgZmFpbHVyZXMuYXBwZW5kKHRlc3RfZmFpbHVy
ZXMuRmFpbHVyZU1pc3NpbmdJbWFnZSgpKQotICAgICAgICAgICAgcmV0dXJuIGZhaWx1cmVzCi0g
ICAgICAgIGlmIG5vdCBleHBlY3RlZF9kcml2ZXJfb3V0cHV0LmltYWdlX2hhc2g6Ci0gICAgICAg
ICAgICAjIFJlcG9ydCBhIG1pc3NpbmcgZXhwZWN0ZWQgY2hlY2tzdW0gZmlsZS4KLSAgICAgICAg
ICAgIGZhaWx1cmVzLmFwcGVuZCh0ZXN0X2ZhaWx1cmVzLkZhaWx1cmVNaXNzaW5nSW1hZ2VIYXNo
KCkpCi0gICAgICAgICAgICByZXR1cm4gZmFpbHVyZXMKLSAgICAgICAgaWYgYWN0dWFsX2RyaXZl
cl9vdXRwdXQuaW1hZ2VfaGFzaCAhPSBleHBlY3RlZF9kcml2ZXJfb3V0cHV0LmltYWdlX2hhc2g6
Ci0gICAgICAgICAgICBmYWlsdXJlcy5hcHBlbmQodGVzdF9mYWlsdXJlcy5GYWlsdXJlSW1hZ2VI
YXNoTWlzbWF0Y2goKSkKLSAgICAgICAgICAgIHJldHVybiBmYWlsdXJlcwotCi0gICAgICAgIHJl
dHVybiBmYWlsdXJlcwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvdGVzdF90eXBlcy90ZXN0X3R5cGVfYmFzZS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3Rlc3RfdHlwZXMvdGVzdF90eXBlX2Jhc2UucHkKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDRlMDUxM2FkMjBjMzFkOTBlN2NmMjg5MmYyMjljOTExZDVhNTI4
NzUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvdGVzdF90eXBlcy90ZXN0X3R5cGVfYmFzZS5w
eQorKysgL2Rldi9udWxsCkBAIC0xLDc2ICswLDAgQEAKLSMhL3Vzci9iaW4vZW52IHB5dGhvbgot
IyBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSMK
LSMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0Ci0jIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSMgbWV0OgotIwotIyAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAot
IyBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCi0jICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKLSMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotIyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0jIGRpc3RyaWJ1dGlvbi4K
LSMgICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cwotIyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbQotIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotIwotIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0jICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0jIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUgotIyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotIyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSMgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotIyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKLSMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0jIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSMgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
Ci0jIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCi0KLSIiIkRlZmluZXMgdGhlIGludGVyZmFjZSBUZXN0VHlwZUJhc2Ug
d2hpY2ggb3RoZXIgdGVzdCB0eXBlcyBpbmhlcml0IGZyb20uCi0iIiIKLQotaW1wb3J0IGNnaQot
aW1wb3J0IGVycm5vCi1pbXBvcnQgbG9nZ2luZwotCi1fbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIo
IndlYmtpdHB5LmxheW91dF90ZXN0cy50ZXN0X3R5cGVzLnRlc3RfdHlwZV9iYXNlIikKLQotCi0j
IFB5dGhvbiBidWcgd29ya2Fyb3VuZC4gIFNlZSB0aGUgd2RpZmYgY29kZSBpbiBXcml0ZU91dHB1
dEZpbGVzIGZvciBhbgotIyBleHBsYW5hdGlvbi4KLV93ZGlmZl9hdmFpbGFibGUgPSBUcnVlCi0K
LQotY2xhc3MgVGVzdFR5cGVCYXNlKG9iamVjdCk6Ci0KLSAgICBkZWYgX19pbml0X18oc2VsZiwg
cG9ydCwgcm9vdF9vdXRwdXRfZGlyKToKLSAgICAgICAgIiIiSW5pdGlhbGl6ZSBhIFRlc3RUeXBl
QmFzZSBvYmplY3QuCi0KLSAgICAgICAgQXJnczoKLSAgICAgICAgICBwb3J0OiBvYmplY3QgaW1w
bGVtZW50aW5nIHBvcnQtc3BlY2lmaWMgaW5mb3JtYXRpb24gYW5kIG1ldGhvZHMKLSAgICAgICAg
ICByb290X291dHB1dF9kaXI6IFRoZSB1bml4IHN0eWxlIHBhdGggdG8gdGhlIG91dHB1dCBkaXIu
Ci0gICAgICAgICIiIgotICAgICAgICBzZWxmLl9yb290X291dHB1dF9kaXIgPSByb290X291dHB1
dF9kaXIKLSAgICAgICAgc2VsZi5fcG9ydCA9IHBvcnQKLQotICAgIGRlZiBjb21wYXJlX291dHB1
dChzZWxmLCBwb3J0LCBmaWxlbmFtZSwgb3B0aW9ucywgYWN0dWFsX2RyaXZlcl9vdXRwdXQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZF9kcml2ZXJfb3V0cHV0KToKLSAgICAgICAg
IiIiTWV0aG9kIHRoYXQgY29tcGFyZXMgdGhlIG91dHB1dCBmcm9tIHRoZSB0ZXN0IHdpdGggdGhl
Ci0gICAgICAgIGV4cGVjdGVkIHZhbHVlLgotCi0gICAgICAgIFRoaXMgaXMgYW4gYWJzdHJhY3Qg
bWV0aG9kIHRvIGJlIGltcGxlbWVudGVkIGJ5IGFsbCBzdWIgY2xhc3Nlcy4KLQotICAgICAgICBB
cmdzOgotICAgICAgICAgIHBvcnQ6IG9iamVjdCBpbXBsZW1lbnRpbmcgcG9ydC1zcGVjaWZpYyBp
bmZvcm1hdGlvbiBhbmQgbWV0aG9kcwotICAgICAgICAgIGZpbGVuYW1lOiBhYnNvbHV0ZSBmaWxl
bmFtZSB0byB0ZXN0IGZpbGUKLSAgICAgICAgICBvcHRpb25zOiBjb21tYW5kIGxpbmUgYXJndW1l
bnQgb2JqZWN0IGZyb20gb3B0cGFyc2UKLSAgICAgICAgICBhY3R1YWxfZHJpdmVyX291dHB1dDog
YSBEcml2ZXJPdXRwdXQgb2JqZWN0IHdoaWNoIHJlcHJlc2VudHMgYWN0dWFsIHRlc3QKLSAgICAg
ICAgICAgICAgb3V0cHV0Ci0gICAgICAgICAgZXhwZWN0ZWRfZHJpdmVyX291dHB1dDogYSBFeHBl
Y3RlZERyaXZlck91dHB1dCBvYmplY3Qgd2hpY2ggcmVwcmVzZW50cyBhCi0gICAgICAgICAgICAg
IGV4cGVjdGVkIHRlc3Qgb3V0cHV0Ci0KLSAgICAgICAgUmV0dXJuOgotICAgICAgICAgIGEgbGlz
dCBvZiBUZXN0RmFpbHVyZSBvYmplY3RzLCBlbXB0eSBpZiB0aGUgdGVzdCBwYXNzZXMKLSAgICAg
ICAgIiIiCi0gICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IKZGlmZiAtLWdpdCBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Rlc3RfdHlwZXMvdGVzdF90eXBlX2Jh
c2VfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy90ZXN0
X3R5cGVzL3Rlc3RfdHlwZV9iYXNlX3VuaXR0ZXN0LnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA3YWY0ZDljNzNjMTk3MWE5ZTkyN2RhYTUwNWM5M2VhOGYxYTFmOGY2Li4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL3Rlc3RfdHlwZXMvdGVzdF90eXBlX2Jhc2VfdW5pdHRlc3QucHkK
KysrIC9kZXYvbnVsbApAQCAtMSw0NyArMCwwIEBACi0jIENvcHlyaWdodCAoQykgMjAxMCBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSMgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZQotIyBtZXQ6Ci0jCi0jICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSMgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotIyAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSMgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lcgotIyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlCi0jIGRpc3RyaWJ1dGlvbi4KLSMgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0jIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0jIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0jCi0j
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMKLSMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSMgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0jIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0j
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLAotIyBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0jIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotIyBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
LSMgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAotIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLQotIiIiIlRlc3Rz
IHN0cmF5IHRlc3RzIG5vdCBjb3ZlcmVkIGJ5IHJlZ3VsYXIgY29kZSBwYXRocy4iIiIKLQotaW1w
b3J0IHRlc3RfdHlwZV9iYXNlCi1pbXBvcnQgdW5pdHRlc3QKLQotZnJvbSB3ZWJraXRweS50aGly
ZHBhcnR5Lm1vY2sgaW1wb3J0IE1vY2sKLQotCi1jbGFzcyBUZXN0KHVuaXR0ZXN0LlRlc3RDYXNl
KToKLQotICAgIGRlZiB0ZXN0X2NvbXBhcmVfb3V0cHV0X25vdGltcGxlbWVudGVkKHNlbGYpOgot
ICAgICAgICB0ZXN0X3R5cGUgPSB0ZXN0X3R5cGVfYmFzZS5UZXN0VHlwZUJhc2UoTm9uZSwgTm9u
ZSkKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoTm90SW1wbGVtZW50ZWRFcnJvciwgdGVzdF90
eXBlLmNvbXBhcmVfb3V0cHV0LAotICAgICAgICAgICAgICAgICAgICAgICAgICBOb25lLCAiZm9v
LnR4dCIsICcnLAotICAgICAgICAgICAgICAgICAgICAgICAgICB7fSwgJ0RlYnVnJykKLQotCi1p
ZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgotICAgIHVuaXR0ZXN0Lm1haW4oKQpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvdGVzdF90eXBlcy90ZXh0X2Rp
ZmYucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy90ZXN0X3R5cGVzL3Rl
eHRfZGlmZi5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWI2NzlmNGI0Y2Q3ZTFi
ZjE3ZWFiMDIwZjgxOWFlNDI2YTk0YmQyZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy90ZXN0
X3R5cGVzL3RleHRfZGlmZi5weQorKysgL2Rldi9udWxsCkBAIC0xLDczICswLDAgQEAKLSMhL3Vz
ci9iaW4vZW52IHB5dGhvbgotIyBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSMKLSMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0jIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSMgbWV0Ogot
IwotIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotIyBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0jICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSMgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotIyBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
Ci0jIGRpc3RyaWJ1dGlvbi4KLSMgICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cwotIyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotIyB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotIwotIyBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
Ci0jICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UCi0jIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotIyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotIyBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwKLSMgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAotIyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0jIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKLSMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCi0jIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0KLSIiIkNvbXBhcmVzIHRoZSB0ZXh0
IG91dHB1dCBvZiBhIHRlc3QgdG8gdGhlIGV4cGVjdGVkIHRleHQgb3V0cHV0LgotCi1JZiB0aGUg
b3V0cHV0IGRvZXNuJ3QgbWF0Y2gsIHJldHVybnMgRmFpbHVyZVRleHRNaXNtYXRjaCBhbmQgb3V0
cHV0cyB0aGUgZGlmZgotZmlsZXMgaW50byB0aGUgbGF5b3V0IHRlc3QgcmVzdWx0cyBkaXJlY3Rv
cnkuCi0iIiIKLQotaW1wb3J0IGVycm5vCi1pbXBvcnQgbG9nZ2luZwotCi1mcm9tIHdlYmtpdHB5
LmxheW91dF90ZXN0cy5sYXlvdXRfcGFja2FnZSBpbXBvcnQgdGVzdF9mYWlsdXJlcwotZnJvbSB3
ZWJraXRweS5sYXlvdXRfdGVzdHMudGVzdF90eXBlcyBpbXBvcnQgdGVzdF90eXBlX2Jhc2UKLQot
X2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCJ3ZWJraXRweS5sYXlvdXRfdGVzdHMudGVzdF90eXBl
cy50ZXh0X2RpZmYiKQotCi0KLWNsYXNzIFRlc3RUZXh0RGlmZih0ZXN0X3R5cGVfYmFzZS5UZXN0
VHlwZUJhc2UpOgotCi0gICAgZGVmIF9nZXRfbm9ybWFsaXplZF9vdXRwdXRfdGV4dChzZWxmLCBv
dXRwdXQpOgotICAgICAgICAiIiJSZXR1cm5zIHRoZSBub3JtYWxpemVkIHRleHQgb3V0cHV0LCBp
LmUuIHRoZSBvdXRwdXQgaW4gd2hpY2gKLSAgICAgICAgdGhlIGVuZC1vZi1saW5lIGNoYXJhY3Rl
cnMgYXJlIG5vcm1hbGl6ZWQgdG8gIlxuIi4iIiIKLSAgICAgICAgIyBSdW5uaW5nIHRlc3RzIG9u
IFdpbmRvd3MgcHJvZHVjZXMgIlxyXG4iLiAgVGhlICJcbiIgcGFydCBpcyBoZWxwZnVsbHkKLSAg
ICAgICAgIyBjaGFuZ2VkIHRvICJcclxuIiBieSBvdXIgc3lzdGVtIChQeXRob24vQ3lnd2luKSwg
cmVzdWx0aW5nIGluCi0gICAgICAgICMgIlxyXHJcbiIsIHdoZW4sIGluIGZhY3QsIHdlIHdhbnRl
ZCB0byBjb21wYXJlIHRoZSB0ZXh0IG91dHB1dCB3aXRoCi0gICAgICAgICMgdGhlIG5vcm1hbGl6
ZWQgdGV4dCBleHBlY3RhdGlvbiBmaWxlcy4KLSAgICAgICAgcmV0dXJuIG91dHB1dC5yZXBsYWNl
KCJcclxyXG4iLCAiXHJcbiIpLnJlcGxhY2UoIlxyXG4iLCAiXG4iKQotCi0gICAgZGVmIGNvbXBh
cmVfb3V0cHV0KHNlbGYsIHBvcnQsIGZpbGVuYW1lLCBvcHRpb25zLCBhY3R1YWxfZHJpdmVyX291
dHB1dCwKLSAgICAgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkX2RyaXZlcl9vdXRwdXQpOgot
ICAgICAgICAiIiJJbXBsZW1lbnRhdGlvbiBvZiBDb21wYXJlT3V0cHV0IHRoYXQgY2hlY2tzIHRo
ZSBvdXRwdXQgdGV4dCBhZ2FpbnN0Ci0gICAgICAgIHRoZSBleHBlY3RlZCB0ZXh0IGZyb20gdGhl
IExheW91dFRlc3QgZGlyZWN0b3J5LiIiIgotICAgICAgICBmYWlsdXJlcyA9IFtdCi0KLSAgICAg
ICAgIyBOb3JtYWxpemUgdGV4dCB0byBkaWZmCi0gICAgICAgIGFjdHVhbF90ZXh0ID0gc2VsZi5f
Z2V0X25vcm1hbGl6ZWRfb3V0cHV0X3RleHQoYWN0dWFsX2RyaXZlcl9vdXRwdXQudGV4dCkKLSAg
ICAgICAgIyBBc3N1bWluZyBleHBlY3RlZF90ZXh0IGlzIGFscmVhZHkgbm9ybWFsaXplZC4KLSAg
ICAgICAgZXhwZWN0ZWRfdGV4dCA9IGV4cGVjdGVkX2RyaXZlcl9vdXRwdXQudGV4dAotCi0gICAg
ICAgIGlmIHBvcnQuY29tcGFyZV90ZXh0KGFjdHVhbF90ZXh0LCBleHBlY3RlZF90ZXh0KToKLSAg
ICAgICAgICAgIGlmIGV4cGVjdGVkX3RleHQgPT0gJyc6Ci0gICAgICAgICAgICAgICAgZmFpbHVy
ZXMuYXBwZW5kKHRlc3RfZmFpbHVyZXMuRmFpbHVyZU1pc3NpbmdSZXN1bHQoKSkKLSAgICAgICAg
ICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgZmFpbHVyZXMuYXBwZW5kKHRlc3RfZmFpbHVyZXMu
RmFpbHVyZVRleHRNaXNtYXRjaCgpKQotCi0gICAgICAgIHJldHVybiBmYWlsdXJlcwo=
</data>
<flag name="review"
          id="75463"
          type_id="1"
          status="+"
          setter="eric"
    />
    <flag name="commit-queue"
          id="75477"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
      

    </bug>

</bugzilla>