<?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>45408</bug_id>
          
          <creation_ts>2010-09-08 12:34:03 -0700</creation_ts>
          <short_desc>Include detailed test modifiers (e.g. FLAKY) in results.json for non-layout tests</short_desc>
          <delta_ts>2010-09-17 16:12:15 -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>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>
          <dependson>46011</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Kinuko Yasuda">kinuko</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ojan</cc>
    
    <cc>victorw</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>275995</commentid>
    <comment_count>0</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-09-08 12:34:03 -0700</bug_when>
    <thetext>Include detailed test modifiers (e.g. FLAKY) in results.json for failing non-layout tests.
Currently the results.json only includes FAIL or PASS information.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276036</commentid>
    <comment_count>1</comment_count>
      <attachid>66935</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-09-08 13:50:47 -0700</bug_when>
    <thetext>Created attachment 66935
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276344</commentid>
    <comment_count>2</comment_count>
      <attachid>66935</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2010-09-09 00:35:14 -0700</bug_when>
    <thetext>Comment on attachment 66935
Patch

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

&gt; WebKitTools/Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:64
&gt; +            # Shouldn&apos;t happen
If this shouldn&apos;t happen, lets just leave out the try/except clause. Otherwise, if this starts happening, we&apos;ll never know. I&apos;d be OK with the try/except clause if we logged the error (i.e. a warning level log). But, we shouldn&apos;t just silently ignore it.

&gt; WebKitTools/Scripts/webkitpy/layout_tests/run_webkit_tests.py:820
&gt;                                     individual_test_timings)
Indentation is off by a space.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279959</commentid>
    <comment_count>3</comment_count>
      <attachid>67775</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-09-16 00:30:57 -0700</bug_when>
    <thetext>Created attachment 67775
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279963</commentid>
    <comment_count>4</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-09-16 00:37:55 -0700</bug_when>
    <thetext>Sorry it took for me so long to update this again.

Basically mostly same with the previous patch, except that I changed how to record FIXABLE_COUNT.
Now it records &apos;F&apos; for tests with FAILS modifier, &apos;X&apos; for disabled tests, &apos;L&apos; for tests with FLAKY modifier and &apos;P&apos; for others.  (In an assumption that the number of FAILS_ tests is the one we should focus on to  reduce failures - as we discussed.)

(In reply to comment #2)
&gt; (From update of attachment 66935 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=66935&amp;action=prettypatch
&gt; 
&gt; &gt; WebKitTools/Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:64
&gt; &gt; +            # Shouldn&apos;t happen
&gt; If this shouldn&apos;t happen, lets just leave out the try/except clause. Otherwise, if this starts happening, we&apos;ll never know. I&apos;d be OK with the try/except clause if we logged the error (i.e. a warning level log). But, we shouldn&apos;t just silently ignore it.

Added logging.warn in the except part.

&gt; &gt; WebKitTools/Scripts/webkitpy/layout_tests/run_webkit_tests.py:820
&gt; &gt;                                     individual_test_timings)
&gt; Indentation is off by a space.

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280360</commentid>
    <comment_count>5</comment_count>
      <attachid>67775</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2010-09-16 14:27:28 -0700</bug_when>
    <thetext>Comment on attachment 67775
Patch

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

&gt; WebKitTools/Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:65
&gt; +            pass

don&apos;t need the pass anymore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280528</commentid>
    <comment_count>6</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-09-16 21:30:42 -0700</bug_when>
    <thetext>Committed r67692: &lt;http://trac.webkit.org/changeset/67692&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66935</attachid>
            <date>2010-09-08 13:50:47 -0700</date>
            <delta_ts>2010-09-16 00:30:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45408-20100908135046.patch</filename>
            <type>text/plain</type>
            <size>19000</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCAyOGU0ZDdmNzk3MjY3ZWFiNzY1YTc3OTQxNjAzMGY3MmY5NTgxNTVkLi5kNTI0ZGE0
OTljOTZhZjcwMzdhMGI1NGU5ZDY5NzZiMTdlOTk4NDI0IDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAK
KzIwMTAtMDktMDggIEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluY2x1ZGUgZGV0YWls
ZWQgdGVzdCBtb2RpZmllcnMgKGUuZy4gRkxBS1kpIGluIHJlc3VsdHMuanNvbiBmb3IgZmFpbGlu
ZyBub24tbGF5b3V0IHRlc3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00NTQwOAorCisgICAgICAgIFRoaXMgY2hhbmdlIGFsc28gdHJpZXMgdG8gcmVt
b3ZlIGR1cGxpY2F0ZWQgdXBsb2FkX3Jlc3VsdHNfanNvbiBtZXRob2RzCisgICAgICAgIGluIHJ1
bl93ZWJraXRfdGVzdHMucHkgYW5kIGpzb25fcmVzdWx0c19nZW5lcmF0b3IucHkuCisKKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2FnZS9qc29uX3Jl
c3VsdHNfZ2VuZXJhdG9yLnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL2xheW91dF9wYWNrYWdlL2pzb25fcmVzdWx0c19nZW5lcmF0b3JfdW5pdHRlc3QucHk6Cisg
ICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5w
eToKKwogMjAxMC0wOS0wNyAgS2ludWtvIFlhc3VkYSAgPGtpbnVrb0BjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgT2phbiBWYWZhaS4KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdlL2pzb25fcmVzdWx0
c19nZW5lcmF0b3IucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9sYXlvdXRfcGFja2FnZS9qc29uX3Jlc3VsdHNfZ2VuZXJhdG9yLnB5CmluZGV4IDc2NWI0ZDgx
N2ZhNTI5YWMzNWQ0YmQ2NTIzMjEzYTRiNTk5Mjc3MzkuLmYyYzkzNmIxNmFlNWM4NmQyZDIzZTk0
MDQyMWZjYTM1MzY0ZWY1MjcgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdlL2pzb25fcmVzdWx0c19nZW5lcmF0b3IucHkK
KysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbGF5b3V0X3Bh
Y2thZ2UvanNvbl9yZXN1bHRzX2dlbmVyYXRvci5weQpAQCAtNDYsMTcgKzQ2LDM1IEBAIGltcG9y
dCB3ZWJraXRweS50aGlyZHBhcnR5LnNpbXBsZWpzb24gYXMgc2ltcGxlanNvbgogCiBfbG9nID0g
bG9nZ2luZy5nZXRMb2dnZXIoIndlYmtpdHB5LmxheW91dF90ZXN0cy5sYXlvdXRfcGFja2FnZS5q
c29uX3Jlc3VsdHNfZ2VuZXJhdG9yIikKIAotCiBjbGFzcyBUZXN0UmVzdWx0KG9iamVjdCk6CiAg
ICAgIiIiQSBzaW1wbGUgY2xhc3MgdGhhdCByZXByZXNlbnRzIGEgc2luZ2xlIHRlc3QgcmVzdWx0
LiIiIgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBuYW1lLCBmYWlsZWQ9RmFsc2UsIHNraXBwZWQ9
RmFsc2UsIGVsYXBzZWRfdGltZT0wKToKKworICAgICMgVGVzdCBtb2RpZmllciBjb25zdGFudHMu
CisgICAgKE5PTkUsIEZBSUxTLCBGTEFLWSwgRElTQUJMRUQpID0gcmFuZ2UoNCkKKworICAgIGRl
ZiBfX2luaXRfXyhzZWxmLCBuYW1lLCBmYWlsZWQ9RmFsc2UsIGVsYXBzZWRfdGltZT0wKToKICAg
ICAgICAgc2VsZi5uYW1lID0gbmFtZQogICAgICAgICBzZWxmLmZhaWxlZCA9IGZhaWxlZAotICAg
ICAgICBzZWxmLnNraXBwZWQgPSBza2lwcGVkCiAgICAgICAgIHNlbGYudGltZSA9IGVsYXBzZWRf
dGltZQogCisgICAgICAgIHRlc3RfbmFtZSA9IG5hbWUKKyAgICAgICAgdHJ5OgorICAgICAgICAg
ICAgdGVzdF9uYW1lID0gbmFtZS5zcGxpdCgnLicpWzFdCisgICAgICAgIGV4Y2VwdCBJbmRleEVy
cm9yOgorICAgICAgICAgICAgIyBTaG91bGRuJ3QgaGFwcGVuCisgICAgICAgICAgICBwYXNzCisK
KyAgICAgICAgaWYgdGVzdF9uYW1lLnN0YXJ0c3dpdGgoJ0ZBSUxTXycpOgorICAgICAgICAgICAg
c2VsZi5tb2RpZmllciA9IHNlbGYuRkFJTFMKKyAgICAgICAgZWxpZiB0ZXN0X25hbWUuc3RhcnRz
d2l0aCgnRkxBS1lfJyk6CisgICAgICAgICAgICBzZWxmLm1vZGlmaWVyID0gc2VsZi5GTEFLWQor
ICAgICAgICBlbGlmIHRlc3RfbmFtZS5zdGFydHN3aXRoKCdESVNBQkxFRF8nKToKKyAgICAgICAg
ICAgIHNlbGYubW9kaWZpZXIgPSBzZWxmLkRJU0FCTEVECisgICAgICAgIGVsc2U6CisgICAgICAg
ICAgICBzZWxmLm1vZGlmaWVyID0gc2VsZi5OT05FCisKICAgICBkZWYgZml4YWJsZShzZWxmKToK
LSAgICAgICAgcmV0dXJuIHNlbGYuZmFpbGVkIG9yIHNlbGYuc2tpcHBlZAorICAgICAgICByZXR1
cm4gc2VsZi5mYWlsZWQgb3Igc2VsZi5tb2RpZmllciA9PSBzZWxmLkRJU0FCTEVECiAKIAogY2xh
c3MgSlNPTlJlc3VsdHNHZW5lcmF0b3JCYXNlKG9iamVjdCk6CkBAIC03MCw2ICs4OCw3IEBAIGNs
YXNzIEpTT05SZXN1bHRzR2VuZXJhdG9yQmFzZShvYmplY3QpOgogICAgIFBBU1NfUkVTVUxUID0g
IlAiCiAgICAgU0tJUF9SRVNVTFQgPSAiWCIKICAgICBGQUlMX1JFU1VMVCA9ICJGIgorICAgIEZM
QUtZX1JFU1VMVCA9ICJMIgogICAgIE5PX0RBVEFfUkVTVUxUID0gIk4iCiAgICAgVkVSU0lPTiA9
IDMKICAgICBWRVJTSU9OX0tFWSA9ICJ2ZXJzaW9uIgpAQCAtMTE4LDYgKzEzNyw3IEBAIGNsYXNz
IEpTT05SZXN1bHRzR2VuZXJhdG9yQmFzZShvYmplY3QpOgogICAgICAgICBzZWxmLl9idWlsZF9u
YW1lID0gYnVpbGRfbmFtZQogICAgICAgICBzZWxmLl9idWlsZF9udW1iZXIgPSBidWlsZF9udW1i
ZXIKICAgICAgICAgc2VsZi5fYnVpbGRlcl9iYXNlX3VybCA9IGJ1aWxkZXJfYmFzZV91cmwKKyAg
ICAgICAgc2VsZi5fcmVzdWx0c19kaXJlY3RvcnkgPSByZXN1bHRzX2ZpbGVfYmFzZV9wYXRoCiAg
ICAgICAgIHNlbGYuX3Jlc3VsdHNfZmlsZV9wYXRoID0gb3MucGF0aC5qb2luKHJlc3VsdHNfZmls
ZV9iYXNlX3BhdGgsCiAgICAgICAgICAgICBzZWxmLlJFU1VMVFNfRklMRU5BTUUpCiAgICAgICAg
IHNlbGYuX2luY3JlbWVudGFsX3Jlc3VsdHNfZmlsZV9wYXRoID0gb3MucGF0aC5qb2luKApAQCAt
MjA1LDYgKzIyNSwzMSBAQCBjbGFzcyBKU09OUmVzdWx0c0dlbmVyYXRvckJhc2Uob2JqZWN0KToK
ICAgICBkZWYgc2V0X2FyY2hpdmVkX3Jlc3VsdHMoc2VsZiwgYXJjaGl2ZWRfcmVzdWx0cyk6CiAg
ICAgICAgIHNlbGYuX2FyY2hpdmVkX3Jlc3VsdHMgPSBhcmNoaXZlZF9yZXN1bHRzCiAKKyAgICBk
ZWYgdXBsb2FkX2pzb25fZmlsZXMoc2VsZiwganNvbl9maWxlcyk6CisgICAgICAgICIiIlVwbG9h
ZHMgdGhlIGdpdmVuIGpzb25fZmlsZXMgdG8gdGhlIHRlc3RfcmVzdWx0c19zZXJ2ZXIgKGlmIHRo
ZQorICAgICAgICB0ZXN0X3Jlc3VsdHNfc2VydmVyIGlzIGdpdmVuKS4iIiIKKyAgICAgICAgaWYg
bm90IHNlbGYuX3Rlc3RfcmVzdWx0c19zZXJ2ZXI6CisgICAgICAgICAgICByZXR1cm4KKworICAg
ICAgICBfbG9nLmluZm8oIlVwbG9hZGluZyBKU09OIGZpbGVzIGZvciBidWlsZGVyOiAlcyIsIHNl
bGYuX2J1aWxkZXJfbmFtZSkKKyAgICAgICAgYXR0cnMgPSBbKCJidWlsZGVyIiwgc2VsZi5fYnVp
bGRlcl9uYW1lKSwKKyAgICAgICAgICAgICAgICAgKCJ0ZXN0dHlwZSIsIHNlbGYuX3Rlc3RfdHlw
ZSldCisKKyAgICAgICAgZmlsZXMgPSBbKGZpbGUsIG9zLnBhdGguam9pbihzZWxmLl9yZXN1bHRz
X2RpcmVjdG9yeSwgZmlsZSkpCisgICAgICAgICAgICBmb3IgZmlsZSBpbiBqc29uX2ZpbGVzXQor
CisgICAgICAgIHVwbG9hZGVyID0gdGVzdF9yZXN1bHRzX3VwbG9hZGVyLlRlc3RSZXN1bHRzVXBs
b2FkZXIoCisgICAgICAgICAgICBzZWxmLl90ZXN0X3Jlc3VsdHNfc2VydmVyKQorICAgICAgICB0
cnk6CisgICAgICAgICAgICAjIFNldCB1cGxvYWRpbmcgdGltZW91dCBpbiBjYXNlIGFwcGVuZ2lu
ZSBzZXJ2ZXIgaXMgaGF2aW5nIHByb2JsZW0uCisgICAgICAgICAgICAjIDEyMCBzZWNvbmRzIGFy
ZSBtb3JlIHRoYW4gZW5vdWdoIHRvIHVwbG9hZCB0ZXN0IHJlc3VsdHMuCisgICAgICAgICAgICB1
cGxvYWRlci51cGxvYWQoYXR0cnMsIGZpbGVzLCAxMjApCisgICAgICAgIGV4Y2VwdCBFeGNlcHRp
b24sIGVycjoKKyAgICAgICAgICAgIF9sb2cuZXJyb3IoIlVwbG9hZCBmYWlsZWQ6ICVzIiAlIGVy
cikKKyAgICAgICAgICAgIHJldHVybgorCisgICAgICAgIF9sb2cuaW5mbygiSlNPTiBmaWxlcyB1
cGxvYWRlZC4iKQorCiAgICAgZGVmIF9nZW5lcmF0ZV9qc29uX2ZpbGUoc2VsZiwganNvbiwgZmls
ZV9wYXRoKToKICAgICAgICAgIyBTcGVjaWZ5IHNlcGFyYXRvcnMgaW4gb3JkZXIgdG8gZ2V0IGNv
bXBhY3QgZW5jb2RpbmcuCiAgICAgICAgIGpzb25fZGF0YSA9IHNpbXBsZWpzb24uZHVtcHMoanNv
biwgc2VwYXJhdG9ycz0oJywnLCAnOicpKQpAQCAtMjM1LDEyICsyODAsMTMgQEAgY2xhc3MgSlNP
TlJlc3VsdHNHZW5lcmF0b3JCYXNlKG9iamVjdCk6CiAgICAgICAgICAgICByZXR1cm4gSlNPTlJl
c3VsdHNHZW5lcmF0b3IuTk9fREFUQV9SRVNVTFQKIAogICAgICAgICB0ZXN0X3Jlc3VsdCA9IHNl
bGYuX3Rlc3RfcmVzdWx0c19tYXBbdGVzdF9uYW1lXQotICAgICAgICBpZiB0ZXN0X3Jlc3VsdC5z
a2lwcGVkOgorICAgICAgICBpZiB0ZXN0X3Jlc3VsdC5tb2RpZmllciA9PSBUZXN0UmVzdWx0LkRJ
U0FCTEVEOgogICAgICAgICAgICAgcmV0dXJuIEpTT05SZXN1bHRzR2VuZXJhdG9yLlNLSVBfUkVT
VUxUCi0gICAgICAgIGlmIHRlc3RfcmVzdWx0LmZhaWxlZDoKLSAgICAgICAgICAgIHJldHVybiBK
U09OUmVzdWx0c0dlbmVyYXRvci5GQUlMX1JFU1VMVAotCi0gICAgICAgIHJldHVybiBKU09OUmVz
dWx0c0dlbmVyYXRvci5QQVNTX1JFU1VMVAorICAgICAgICBpZiBub3QgdGVzdF9yZXN1bHQuZmFp
bGVkOgorICAgICAgICAgICAgcmV0dXJuIEpTT05SZXN1bHRzR2VuZXJhdG9yLlBBU1NfUkVTVUxU
CisgICAgICAgIGlmIHRlc3RfcmVzdWx0Lm1vZGlmaWVyID09IFRlc3RSZXN1bHQuRkxBS1k6Cisg
ICAgICAgICAgICByZXR1cm4gSlNPTlJlc3VsdHNHZW5lcmF0b3IuRkxBS1lfUkVTVUxUCisgICAg
ICAgIHJldHVybiBKU09OUmVzdWx0c0dlbmVyYXRvci5GQUlMX1JFU1VMVAogCiAgICAgIyBGSVhN
RTogQ2FsbGVycyBzaG91bGQgdXNlIHNjbS5weSBpbnN0ZWFkLgogICAgICMgRklYTUU6IElkZW50
aWZ5IGFuZCBmaXggdGhlIHJ1bi10aW1lIGVycm9ycyB0aGF0IHdlcmUgb2JzZXJ2ZWQgb24gV2lu
ZG93cwpAQCAtNTIzLDI5ICs1NjksNiBAQCBjbGFzcyBKU09OUmVzdWx0c0dlbmVyYXRvcihKU09O
UmVzdWx0c0dlbmVyYXRvckJhc2UpOgogICAgICMgVGhlIGZsYWcgaXMgZm9yIGJhY2t3YXJkIGNv
bXBhdGliaWxpdHkuCiAgICAgb3V0cHV0X2pzb25faW5faW5pdCA9IFRydWUKIAotICAgIGRlZiBf
dXBsb2FkX2pzb25fZmlsZXMoc2VsZik6Ci0gICAgICAgIGlmIG5vdCBzZWxmLl90ZXN0X3Jlc3Vs
dHNfc2VydmVyIG9yIG5vdCBzZWxmLl90ZXN0X3R5cGU6Ci0gICAgICAgICAgICByZXR1cm4KLQot
ICAgICAgICBfbG9nLmluZm8oIlVwbG9hZGluZyBKU09OIGZpbGVzIGZvciAlcyB0byB0aGUgc2Vy
dmVyOiAlcyIsCi0gICAgICAgICAgICAgICAgICBzZWxmLl9idWlsZGVyX25hbWUsIHNlbGYuX3Rl
c3RfcmVzdWx0c19zZXJ2ZXIpCi0gICAgICAgIGF0dHJzID0gWygiYnVpbGRlciIsIHNlbGYuX2J1
aWxkZXJfbmFtZSksICgidGVzdHR5cGUiLCBzZWxmLl90ZXN0X3R5cGUpXQotICAgICAgICBqc29u
X2ZpbGVzID0gW3NlbGYuSU5DUkVNRU5UQUxfUkVTVUxUU19GSUxFTkFNRV0KLQotICAgICAgICBm
aWxlcyA9IFsoZmlsZSwgb3MucGF0aC5qb2luKHNlbGYuX3Jlc3VsdHNfZGlyZWN0b3J5LCBmaWxl
KSkKLSAgICAgICAgICAgIGZvciBmaWxlIGluIGpzb25fZmlsZXNdCi0gICAgICAgIHVwbG9hZGVy
ID0gdGVzdF9yZXN1bHRzX3VwbG9hZGVyLlRlc3RSZXN1bHRzVXBsb2FkZXIoCi0gICAgICAgICAg
ICBzZWxmLl90ZXN0X3Jlc3VsdHNfc2VydmVyKQotICAgICAgICB0cnk6Ci0gICAgICAgICAgICAj
IFNldCB1cGxvYWRpbmcgdGltZW91dCBpbiBjYXNlIGFwcGVuZ2luZSBzZXJ2ZXIgaXMgaGF2aW5n
IHByb2JsZW0uCi0gICAgICAgICAgICAjIDEyMCBzZWNvbmRzIGFyZSBtb3JlIHRoYW4gZW5vdWdo
IHRvIHVwbG9hZCB0ZXN0IHJlc3VsdHMuCi0gICAgICAgICAgICB1cGxvYWRlci51cGxvYWQoYXR0
cnMsIGZpbGVzLCAxMjApCi0gICAgICAgIGV4Y2VwdCBFeGNlcHRpb24sIGVycjoKLSAgICAgICAg
ICAgIF9sb2cuZXJyb3IoIlVwbG9hZCBmYWlsZWQ6ICVzIiAlIGVycikKLSAgICAgICAgICAgIHJl
dHVybgotCi0gICAgICAgIF9sb2cuaW5mbygiSlNPTiBmaWxlcyB1cGxvYWRlZC4iKQotCiAgICAg
ZGVmIF9faW5pdF9fKHNlbGYsIHBvcnQsIGJ1aWxkZXJfbmFtZSwgYnVpbGRfbmFtZSwgYnVpbGRf
bnVtYmVyLAogICAgICAgICByZXN1bHRzX2ZpbGVfYmFzZV9wYXRoLCBidWlsZGVyX2Jhc2VfdXJs
LAogICAgICAgICB0ZXN0X3RpbWluZ3MsIGZhaWx1cmVzLCBwYXNzZWRfdGVzdHMsIHNraXBwZWRf
dGVzdHMsIGFsbF90ZXN0cywKQEAgLTU4MiwxMSArNjA1LDkgQEAgY2xhc3MgSlNPTlJlc3VsdHNH
ZW5lcmF0b3IoSlNPTlJlc3VsdHNHZW5lcmF0b3JCYXNlKToKICAgICAgICAgICAgIHRlc3RfcmVz
dWx0LmZhaWxlZCA9IFRydWUKICAgICAgICAgZm9yIHRlc3QgaW4gc2tpcHBlZF90ZXN0czoKICAg
ICAgICAgICAgIHRlc3RfcmVzdWx0c19tYXBbdGVzdF0gPSB0ZXN0X3Jlc3VsdCA9IGdldCh0ZXN0
LCBUZXN0UmVzdWx0KHRlc3QpKQotICAgICAgICAgICAgdGVzdF9yZXN1bHQuc2tpcHBlZCA9IFRy
dWUKICAgICAgICAgZm9yIHRlc3QgaW4gcGFzc2VkX3Rlc3RzOgogICAgICAgICAgICAgdGVzdF9y
ZXN1bHRzX21hcFt0ZXN0XSA9IHRlc3RfcmVzdWx0ID0gZ2V0KHRlc3QsIFRlc3RSZXN1bHQodGVz
dCkpCiAgICAgICAgICAgICB0ZXN0X3Jlc3VsdC5mYWlsZWQgPSBGYWxzZQotICAgICAgICAgICAg
dGVzdF9yZXN1bHQuc2tpcHBlZCA9IEZhbHNlCiAgICAgICAgIGZvciB0ZXN0IGluIGFsbF90ZXN0
czoKICAgICAgICAgICAgIGlmIHRlc3Qgbm90IGluIHRlc3RfcmVzdWx0c19tYXA6CiAgICAgICAg
ICAgICAgICAgdGVzdF9yZXN1bHRzX21hcFt0ZXN0XSA9IFRlc3RSZXN1bHQodGVzdCkKQEAgLTYw
Myw0ICs2MjQsNCBAQCBjbGFzcyBKU09OUmVzdWx0c0dlbmVyYXRvcihKU09OUmVzdWx0c0dlbmVy
YXRvckJhc2UpOgogCiAgICAgICAgIGlmIHNlbGYuX19jbGFzc19fLm91dHB1dF9qc29uX2luX2lu
aXQ6CiAgICAgICAgICAgICBzZWxmLmdlbmVyYXRlX2pzb25fb3V0cHV0KCkKLSAgICAgICAgICAg
IHNlbGYuX3VwbG9hZF9qc29uX2ZpbGVzKCkKKyAgICAgICAgICAgIHNlbGYudXBsb2FkX2pzb25f
ZmlsZXMoW3NlbGYuSU5DUkVNRU5UQUxfUkVTVUxUU19GSUxFTkFNRV0pCmRpZmYgLS1naXQgYS9X
ZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2FnZS9q
c29uX3Jlc3VsdHNfZ2VuZXJhdG9yX3VuaXR0ZXN0LnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvbGF5b3V0X3BhY2thZ2UvanNvbl9yZXN1bHRzX2dlbmVyYXRv
cl91bml0dGVzdC5weQppbmRleCA3ODVjYzFjYWQ2YjIwYjU3MTUzZmI3NDZiM2NlOGNjYWNjZGQ1
OTM4Li5iMDlkN2ZlZGM2ZDMwN2QxNTE4MTQ3YzM0OGMwYzIwNTI4ZWMwOWI2IDEwMDY0NAotLS0g
YS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2Fn
ZS9qc29uX3Jlc3VsdHNfZ2VuZXJhdG9yX3VuaXR0ZXN0LnB5CisrKyBiL1dlYktpdFRvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdlL2pzb25fcmVzdWx0c19n
ZW5lcmF0b3JfdW5pdHRlc3QucHkKQEAgLTQ3LDQzICs0Nyw1MyBAQCBjbGFzcyBKU09OR2VuZXJh
dG9yVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIHNlbGYuYnVpbGRfbnVtYmVyID0g
J0RVTU1ZX0JVSUxERVJfTlVNQkVSJwogICAgICAgICBzZWxmLl9qc29uID0gTm9uZQogICAgICAg
ICBzZWxmLl9udW1fcnVucyA9IDAKLSAgICAgICAgc2VsZi5fdGVzdHNfbGlzdCA9IHNldChbXSkK
KyAgICAgICAgc2VsZi5fdGVzdHNfc2V0ID0gc2V0KFtdKQogICAgICAgICBzZWxmLl90ZXN0X3Rp
bWluZ3MgPSB7fQotICAgICAgICBzZWxmLl9mYWlsZWRfdGVzdHMgPSB7fQorICAgICAgICBzZWxm
Ll9mYWlsZWRfdGVzdHMgPSBzZXQoW10pCiAgICAgICAgIHNlbGYuX3Bhc3NlZF90ZXN0cyA9IHNl
dChbXSkKICAgICAgICAgc2VsZi5fc2tpcHBlZF90ZXN0cyA9IHNldChbXSkKKyAgICAgICAgc2Vs
Zi5fZmxha3lfdGVzdHMgPSBzZXQoW10pCisKKyAgICBkZWYgX3Rlc3RfanNvbl9nZW5lcmF0aW9u
KHNlbGYsIHBhc3NlZF90ZXN0c19saXN0LCBmYWlsZWRfdGVzdHNfbGlzdCk6CisgICAgICAgIHRl
c3RzX3NldCA9IHNldChwYXNzZWRfdGVzdHNfbGlzdCkgfCBzZXQoZmFpbGVkX3Rlc3RzX2xpc3Qp
CisgICAgICAgIGZhaWxlZF90ZXN0cyA9IHNldChmYWlsZWRfdGVzdHNfbGlzdCkKKyAgICAgICAg
c2tpcHBlZF90ZXN0cyA9IHNldChbdCBmb3IgdCBpbiB0ZXN0c19zZXQKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgdC5zdGFydHN3aXRoKCdESVNBQkxFRF8nKV0pCisgICAgICAgIGZs
YWt5X3Rlc3RzID0gc2V0KFt0IGZvciB0IGluIGZhaWxlZF90ZXN0c19saXN0CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpZiB0LnN0YXJ0c3dpdGgoJ0ZMQUtZXycpXSkKKyAgICAgICAgcGFz
c2VkX3Rlc3RzID0gc2V0KFt0IGZvciB0IGluIHBhc3NlZF90ZXN0c19saXN0CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgdCBub3QgaW4gc2tpcHBlZF90ZXN0c10pCiAKLSAgICBkZWYg
X3Rlc3RfanNvbl9nZW5lcmF0aW9uKHNlbGYsIHBhc3NlZF90ZXN0cywgZmFpbGVkX3Rlc3RzLCBz
a2lwcGVkX3Rlc3RzKToKLSAgICAgICAgIyBNYWtlIHN1cmUgd2UgaGF2ZSBzZXRzIChyYXRoZXIg
dGhhbiBsaXN0cykuCi0gICAgICAgIHBhc3NlZF90ZXN0cyA9IHNldChwYXNzZWRfdGVzdHMpCi0g
ICAgICAgIHNraXBwZWRfdGVzdHMgPSBzZXQoc2tpcHBlZF90ZXN0cykKLSAgICAgICAgdGVzdHNf
bGlzdCA9IHBhc3NlZF90ZXN0cyB8IHNldChmYWlsZWRfdGVzdHMua2V5cygpKQogICAgICAgICB0
ZXN0X3RpbWluZ3MgPSB7fQogICAgICAgICBpID0gMAotICAgICAgICBmb3IgdGVzdCBpbiB0ZXN0
c19saXN0OgorICAgICAgICBmb3IgdGVzdCBpbiB0ZXN0c19zZXQ6CiAgICAgICAgICAgICB0ZXN0
X3RpbWluZ3NbdGVzdF0gPSBmbG9hdChzZWxmLl9udW1fcnVucyAqIDEwMCArIGkpCiAgICAgICAg
ICAgICBpICs9IDEKIAotICAgICAgICBwb3J0X29iaiA9IHBvcnQuZ2V0KE5vbmUpCisgICAgICAg
ICMgRm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkuCisgICAgICAgIHJlYXNvbiA9IHRlc3RfZXhw
ZWN0YXRpb25zLlRFWFQKKyAgICAgICAgZmFpbGVkX3Rlc3RzX2RpY3QgPSBkaWN0KFsobmFtZSwg
cmVhc29uKSBmb3IgbmFtZSBpbiBmYWlsZWRfdGVzdHNdKQogCisgICAgICAgIHBvcnRfb2JqID0g
cG9ydC5nZXQoTm9uZSkKICAgICAgICAgZ2VuZXJhdG9yID0ganNvbl9yZXN1bHRzX2dlbmVyYXRv
ci5KU09OUmVzdWx0c0dlbmVyYXRvcihwb3J0X29iaiwKICAgICAgICAgICAgIHNlbGYuYnVpbGRl
cl9uYW1lLCBzZWxmLmJ1aWxkX25hbWUsIHNlbGYuYnVpbGRfbnVtYmVyLAogICAgICAgICAgICAg
JycsCiAgICAgICAgICAgICBOb25lLCAgICMgZG9uJ3QgZmV0Y2ggcGFzdCBqc29uIHJlc3VsdHMg
YXJjaGl2ZQogICAgICAgICAgICAgdGVzdF90aW1pbmdzLAotICAgICAgICAgICAgZmFpbGVkX3Rl
c3RzLAorICAgICAgICAgICAgZmFpbGVkX3Rlc3RzX2RpY3QsCiAgICAgICAgICAgICBwYXNzZWRf
dGVzdHMsCi0gICAgICAgICAgICBza2lwcGVkX3Rlc3RzLAotICAgICAgICAgICAgdGVzdHNfbGlz
dCkKKyAgICAgICAgICAgICgpLAorICAgICAgICAgICAgdGVzdHNfc2V0KQogCiAgICAgICAgICMg
VGVzdCBpbmNyZW1lbnRhbCBqc29uIHJlc3VsdHMKICAgICAgICAgaW5jcmVtZW50YWxfanNvbiA9
IGdlbmVyYXRvci5nZXRfanNvbihpbmNyZW1lbnRhbD1UcnVlKQogICAgICAgICBzZWxmLl92ZXJp
ZnlfanNvbl9yZXN1bHRzKAotICAgICAgICAgICAgdGVzdHNfbGlzdCwKKyAgICAgICAgICAgIHRl
c3RzX3NldCwKICAgICAgICAgICAgIHRlc3RfdGltaW5ncywKICAgICAgICAgICAgIHBhc3NlZF90
ZXN0cywKICAgICAgICAgICAgIGZhaWxlZF90ZXN0cywKICAgICAgICAgICAgIHNraXBwZWRfdGVz
dHMsCisgICAgICAgICAgICBmbGFreV90ZXN0cywKICAgICAgICAgICAgIGluY3JlbWVudGFsX2pz
b24sCiAgICAgICAgICAgICAxKQogCkBAIC05MiwyMyArMTAyLDI1IEBAIGNsYXNzIEpTT05HZW5l
cmF0b3JUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAganNvbiA9IGdlbmVyYXRvci5n
ZXRfanNvbihpbmNyZW1lbnRhbD1GYWxzZSkKICAgICAgICAgc2VsZi5fanNvbiA9IGpzb24KICAg
ICAgICAgc2VsZi5fbnVtX3J1bnMgKz0gMQotICAgICAgICBzZWxmLl90ZXN0c19saXN0IHw9IHRl
c3RzX2xpc3QKKyAgICAgICAgc2VsZi5fdGVzdHNfc2V0IHw9IHRlc3RzX3NldAogICAgICAgICBz
ZWxmLl90ZXN0X3RpbWluZ3MudXBkYXRlKHRlc3RfdGltaW5ncykKICAgICAgICAgc2VsZi5fZmFp
bGVkX3Rlc3RzLnVwZGF0ZShmYWlsZWRfdGVzdHMpCiAgICAgICAgIHNlbGYuX3Bhc3NlZF90ZXN0
cyB8PSBwYXNzZWRfdGVzdHMKICAgICAgICAgc2VsZi5fc2tpcHBlZF90ZXN0cyB8PSBza2lwcGVk
X3Rlc3RzCisgICAgICAgIHNlbGYuX2ZsYWt5X3Rlc3RzIHw9IGZsYWt5X3Rlc3RzCiAgICAgICAg
IHNlbGYuX3ZlcmlmeV9qc29uX3Jlc3VsdHMoCi0gICAgICAgICAgICBzZWxmLl90ZXN0c19saXN0
LAorICAgICAgICAgICAgc2VsZi5fdGVzdHNfc2V0LAogICAgICAgICAgICAgc2VsZi5fdGVzdF90
aW1pbmdzLAogICAgICAgICAgICAgc2VsZi5fcGFzc2VkX3Rlc3RzLAogICAgICAgICAgICAgc2Vs
Zi5fZmFpbGVkX3Rlc3RzLAogICAgICAgICAgICAgc2VsZi5fc2tpcHBlZF90ZXN0cywKKyAgICAg
ICAgICAgIHNlbGYuX2ZsYWt5X3Rlc3RzLAogICAgICAgICAgICAgc2VsZi5fanNvbiwKICAgICAg
ICAgICAgIHNlbGYuX251bV9ydW5zKQogCi0gICAgZGVmIF92ZXJpZnlfanNvbl9yZXN1bHRzKHNl
bGYsIHRlc3RzX2xpc3QsIHRlc3RfdGltaW5ncywKKyAgICBkZWYgX3ZlcmlmeV9qc29uX3Jlc3Vs
dHMoc2VsZiwgdGVzdHNfc2V0LCB0ZXN0X3RpbWluZ3MsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHBhc3NlZF90ZXN0cywgZmFpbGVkX3Rlc3RzLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBza2lwcGVkX3Rlc3RzLCBqc29uLCBudW1fcnVucyk6CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHNraXBwZWRfdGVzdHMsIGZsYWt5X3Rlc3RzLCBqc29uLCBudW1fcnVucyk6
CiAgICAgICAgICMgQWxpYXNpbmcgdG8gYSBzaG9ydCBuYW1lIGZvciBiZXR0ZXIgYWNjZXNzIHRv
IGl0cyBjb25zdGFudHMuCiAgICAgICAgIEpSRyA9IGpzb25fcmVzdWx0c19nZW5lcmF0b3IuSlNP
TlJlc3VsdHNHZW5lcmF0b3IKIApAQCAtMTIxLDcgKzEzMyw3IEBAIGNsYXNzIEpTT05HZW5lcmF0
b3JUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGxlbihi
dWlsZGluZm9bSlJHLkJVSUxEX05VTUJFUlNdKSA9PSBudW1fcnVucykKICAgICAgICAgc2VsZi5h
c3NlcnRUcnVlKGJ1aWxkaW5mb1tKUkcuQlVJTERfTlVNQkVSU11bMF0gPT0gc2VsZi5idWlsZF9u
dW1iZXIpCiAKLSAgICAgICAgaWYgdGVzdHNfbGlzdCBvciBza2lwcGVkX3Rlc3RzOgorICAgICAg
ICBpZiB0ZXN0c19zZXQgb3Igc2tpcHBlZF90ZXN0czoKICAgICAgICAgICAgIGZpeGFibGUgPSB7
fQogICAgICAgICAgICAgZm9yIGZpeGFibGVfaXRlbXMgaW4gYnVpbGRpbmZvW0pSRy5GSVhBQkxF
XToKICAgICAgICAgICAgICAgICBmb3IgKHR5cGUsIGNvdW50KSBpbiBmaXhhYmxlX2l0ZW1zLml0
ZXJpdGVtcygpOgpAQCAtMTQwLDE2ICsxNTIsMjEgQEAgY2xhc3MgSlNPTkdlbmVyYXRvclRlc3Qo
dW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBz
ZWxmLmFzc2VydFRydWUoSlJHLlNLSVBfUkVTVUxUIG5vdCBpbiBmaXhhYmxlIG9yCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGZpeGFibGVbSlJHLlNLSVBfUkVTVUxUXSA9PSAwKQor
ICAgICAgICAgICAgaWYgZmxha3lfdGVzdHM6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRU
cnVlKGZpeGFibGVbSlJHLkZMQUtZX1JFU1VMVF0gPT0gbGVuKGZsYWt5X3Rlc3RzKSkKKyAgICAg
ICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKEpSRy5GTEFLWV9S
RVNVTFQgbm90IGluIGZpeGFibGUgb3IKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Zml4YWJsZVtKUkcuRkxBS1lfUkVTVUxUXSA9PSAwKQogCiAgICAgICAgIGlmIGZhaWxlZF90ZXN0
czoKICAgICAgICAgICAgIHRlc3RzID0gYnVpbGRpbmZvW0pSRy5URVNUU10KLSAgICAgICAgICAg
IGZvciB0ZXN0X25hbWUsIGZhaWx1cmUgaW4gZmFpbGVkX3Rlc3RzLml0ZXJpdGVtcygpOgorICAg
ICAgICAgICAgZm9yIHRlc3RfbmFtZSBpbiBmYWlsZWRfdGVzdHM6CiAgICAgICAgICAgICAgICAg
c2VsZi5hc3NlcnRUcnVlKHRlc3RfbmFtZSBpbiB0ZXN0cykKICAgICAgICAgICAgICAgICB0ZXN0
ID0gdGVzdHNbdGVzdF9uYW1lXQogCiAgICAgICAgICAgICAgICAgZmFpbGVkID0gMAogICAgICAg
ICAgICAgICAgIGZvciByZXN1bHQgaW4gdGVzdFtKUkcuUkVTVUxUU106Ci0gICAgICAgICAgICAg
ICAgICAgIGlmIHJlc3VsdFsxXSA9PSBKUkcuRkFJTF9SRVNVTFQ6CisgICAgICAgICAgICAgICAg
ICAgIGlmIHJlc3VsdFsxXSBpbiAoSlJHLkZBSUxfUkVTVUxULCBKUkcuRkxBS1lfUkVTVUxUKToK
ICAgICAgICAgICAgICAgICAgICAgICAgIGZhaWxlZCA9IHJlc3VsdFswXQogICAgICAgICAgICAg
ICAgIHNlbGYuYXNzZXJ0VHJ1ZShmYWlsZWQgPT0gMSkKIApAQCAtMTU5LDIzICsxNzYsMjEgQEAg
Y2xhc3MgSlNPTkdlbmVyYXRvclRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAgICAg
ICAgICAgICAgICAgdGltaW5nX2NvdW50ID0gdGltaW5nc1swXQogICAgICAgICAgICAgICAgIHNl
bGYuYXNzZXJ0VHJ1ZSh0aW1pbmdfY291bnQgPT0gMSkKIAotICAgICAgICBmaXhhYmxlX2NvdW50
ID0gbGVuKHNraXBwZWRfdGVzdHMpICsgbGVuKGZhaWxlZF90ZXN0cy5rZXlzKCkpCisgICAgICAg
IGZpeGFibGVfY291bnQgPSBsZW4oc2tpcHBlZF90ZXN0cyB8IGZhaWxlZF90ZXN0cykKICAgICAg
ICAgaWYgc2tpcHBlZF90ZXN0cyBvciBmYWlsZWRfdGVzdHM6CiAgICAgICAgICAgICBzZWxmLmFz
c2VydFRydWUoc3VtKGJ1aWxkaW5mb1tKUkcuRklYQUJMRV9DT1VOVF0pID09IGZpeGFibGVfY291
bnQpCiAKICAgICBkZWYgdGVzdF9qc29uX2dlbmVyYXRpb24oc2VsZik6Ci0gICAgICAgIHJlYXNv
biA9IHRlc3RfZXhwZWN0YXRpb25zLlRFWFQKLQotICAgICAgICBzZWxmLl90ZXN0X2pzb25fZ2Vu
ZXJhdGlvbihbXSwge30sIFtdKQotICAgICAgICBzZWxmLl90ZXN0X2pzb25fZ2VuZXJhdGlvbihb
J0ExJywgJ0IxJ10sIHt9LCBbXSkKLSAgICAgICAgc2VsZi5fdGVzdF9qc29uX2dlbmVyYXRpb24o
W10sIHsnQTInOiByZWFzb24sICdCMic6IHJlYXNvbn0sIFtdKQotICAgICAgICBzZWxmLl90ZXN0
X2pzb25fZ2VuZXJhdGlvbihbXSwge30sIFsnQTMnLCAnQjMnXSkKLSAgICAgICAgc2VsZi5fdGVz
dF9qc29uX2dlbmVyYXRpb24oWydBNCddLCB7J0I0JzogcmVhc29uLCAnQzQnOiByZWFzb259LCBb
XSkKKyAgICAgICAgc2VsZi5fdGVzdF9qc29uX2dlbmVyYXRpb24oW10sIFtdKQorICAgICAgICBz
ZWxmLl90ZXN0X2pzb25fZ2VuZXJhdGlvbihbJ0ExJywgJ0IxJ10sIFtdKQorICAgICAgICBzZWxm
Ll90ZXN0X2pzb25fZ2VuZXJhdGlvbihbXSwgWydBMicsICdCMiddKQorICAgICAgICBzZWxmLl90
ZXN0X2pzb25fZ2VuZXJhdGlvbihbJ0RJU0FCTEVEX0EzJywgJ0RJU0FCTEVEX0IzJ10sIFtdKQor
ICAgICAgICBzZWxmLl90ZXN0X2pzb25fZ2VuZXJhdGlvbihbJ0E0J10sIFsnQjQnLCAnQzQnXSkK
KyAgICAgICAgc2VsZi5fdGVzdF9qc29uX2dlbmVyYXRpb24oWydESVNBQkxFRF9DNScsICdESVNB
QkxFRF9ENSddLCBbJ0E1JywgJ0I1J10pCiAgICAgICAgIHNlbGYuX3Rlc3RfanNvbl9nZW5lcmF0
aW9uKAotICAgICAgICAgICAgW10sIHsnQTUnOiByZWFzb24sICdCNSc6IHJlYXNvbn0sIFsnQzUn
LCAnRDUnXSkKKyAgICAgICAgICAgIFsnQTYnLCAnQjYnLCAnQzYnLCAnRElTQUJMRURfRTYnLCAn
RElTQUJMRURfRjYnXSwgWydENiddKQogICAgICAgICBzZWxmLl90ZXN0X2pzb25fZ2VuZXJhdGlv
bigKLSAgICAgICAgICAgIFsnQTYnLCAnQjYnLCAnQzYnXSwgeydENic6IHJlYXNvbn0sIFsnRTYn
LCAnRjYnXSkKLQorICAgICAgICAgICAgWydBNycsICdGTEFLWV9CNycsICdESVNBQkxFRF9DNydd
LCBbJ0Q3JywgJ0ZMQUtZX0Q4J10pCiAKIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CiAgICAg
dW5pdHRlc3QubWFpbigpCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzLnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weQppbmRleCAyZTJkYTZkNTg3
Mzc3MTgwYzViZmJkMTc0OGRiODU5NGVmYWFhMjI1Li41Yzk0NjAyNTc2NDRmMDI3MzdlZTBiNDNm
YTA2MzU4NjUxYzVmMGNkIDEwMDc1NQotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzLnB5CisrKyBiL1dlYktpdFRvb2xzL1Njcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHMucHkKQEAgLTY5LDcgKzY5
LDYgQEAgZnJvbSBsYXlvdXRfcGFja2FnZSBpbXBvcnQgcHJpbnRpbmcKIGZyb20gbGF5b3V0X3Bh
Y2thZ2UgaW1wb3J0IHRlc3RfZXhwZWN0YXRpb25zCiBmcm9tIGxheW91dF9wYWNrYWdlIGltcG9y
dCB0ZXN0X2ZhaWx1cmVzCiBmcm9tIGxheW91dF9wYWNrYWdlIGltcG9ydCB0ZXN0X2ZpbGVzCi1m
cm9tIGxheW91dF9wYWNrYWdlIGltcG9ydCB0ZXN0X3Jlc3VsdHNfdXBsb2FkZXIKIGZyb20gdGVz
dF90eXBlcyBpbXBvcnQgaW1hZ2VfZGlmZgogZnJvbSB0ZXN0X3R5cGVzIGltcG9ydCB0ZXh0X2Rp
ZmYKIGZyb20gdGVzdF90eXBlcyBpbXBvcnQgdGVzdF90eXBlX2Jhc2UKQEAgLTgxNSwxMyArODE0
LDExIEBAIGNsYXNzIFRlc3RSdW5uZXI6CiAgICAgICAgIHNlbGYuX3ByaW50ZXIucHJpbnRfdW5l
eHBlY3RlZF9yZXN1bHRzKHVuZXhwZWN0ZWRfcmVzdWx0cykKIAogICAgICAgICBpZiBzZWxmLl9v
cHRpb25zLnJlY29yZF9yZXN1bHRzOgotICAgICAgICAgICAgIyBXcml0ZSB0aGUgc2FtZSBkYXRh
IHRvIGxvZyBmaWxlcy4KLSAgICAgICAgICAgIHNlbGYuX3dyaXRlX2pzb25fZmlsZXModW5leHBl
Y3RlZF9yZXN1bHRzLCByZXN1bHRfc3VtbWFyeSwKKyAgICAgICAgICAgICMgV3JpdGUgdGhlIHNh
bWUgZGF0YSB0byBsb2cgZmlsZXMgYW5kIHVwbG9hZCBnZW5lcmF0ZWQgSlNPTiBmaWxlcworICAg
ICAgICAgICAgIyB0byBhcHBlbmdpbmUgc2VydmVyLgorICAgICAgICAgICAgc2VsZi5fdXBsb2Fk
X2pzb25fZmlsZXModW5leHBlY3RlZF9yZXN1bHRzLCByZXN1bHRfc3VtbWFyeSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kaXZpZHVhbF90ZXN0X3RpbWluZ3MpCiAKLSAg
ICAgICAgICAgICMgVXBsb2FkIGdlbmVyYXRlZCBKU09OIGZpbGVzIHRvIGFwcGVuZ2luZSBzZXJ2
ZXIuCi0gICAgICAgICAgICBzZWxmLl91cGxvYWRfanNvbl9maWxlcygpCi0KICAgICAgICAgIyBX
cml0ZSB0aGUgc3VtbWFyeSB0byBkaXNrIChyZXN1bHRzLmh0bWwpIGFuZCBkaXNwbGF5IGl0IGlm
IHJlcXVlc3RlZC4KICAgICAgICAgd3JvdGVfcmVzdWx0cyA9IHNlbGYuX3dyaXRlX3Jlc3VsdHNf
aHRtbF9maWxlKHJlc3VsdF9zdW1tYXJ5KQogICAgICAgICBpZiBzZWxmLl9vcHRpb25zLnNob3df
cmVzdWx0cyBhbmQgd3JvdGVfcmVzdWx0czoKQEAgLTkwMywxMCArOTAwLDEwIEBAIGNsYXNzIFRl
c3RSdW5uZXI6CiAKICAgICAgICAgcmV0dXJuIGZhaWxlZF9yZXN1bHRzCiAKLSAgICBkZWYgX3dy
aXRlX2pzb25fZmlsZXMoc2VsZiwgdW5leHBlY3RlZF9yZXN1bHRzLCByZXN1bHRfc3VtbWFyeSwK
KyAgICBkZWYgX3VwbG9hZF9qc29uX2ZpbGVzKHNlbGYsIHVuZXhwZWN0ZWRfcmVzdWx0cywgcmVz
dWx0X3N1bW1hcnksCiAgICAgICAgICAgICAgICAgICAgICAgICBpbmRpdmlkdWFsX3Rlc3RfdGlt
aW5ncyk6CiAgICAgICAgICIiIldyaXRlcyB0aGUgcmVzdWx0cyBvZiB0aGUgdGVzdCBydW4gYXMg
SlNPTiBmaWxlcyBpbnRvIHRoZSByZXN1bHRzCi0gICAgICAgIGRpci4KKyAgICAgICAgZGlyIGFu
ZCB1cGxvYWQgdGhlIGZpbGVzIHRvIHRoZSBhcHBlbmdpbmUgc2VydmVyLgogCiAgICAgICAgIFRo
ZXJlIGFyZSB0aHJlZSBkaWZmZXJlbnQgZmlsZXMgd3JpdHRlbiBpbnRvIHRoZSByZXN1bHRzIGRp
cjoKICAgICAgICAgICB1bmV4cGVjdGVkX3Jlc3VsdHMuanNvbjogQSBzaG9ydCBsaXN0IG9mIGFu
eSB1bmV4cGVjdGVkIHJlc3VsdHMuCkBAIC05MzUsNyArOTMyLDcgQEAgY2xhc3MgVGVzdFJ1bm5l
cjoKICAgICAgICAgd2l0aCBjb2RlY3Mub3BlbihleHBlY3RhdGlvbnNfcGF0aCwgInciLCAidXRm
LTgiKSBhcyBmaWxlOgogICAgICAgICAgICAgZmlsZS53cml0ZSh1IkFERF9FWFBFQ1RBVElPTlMo
JXMpOyIgJSBleHBlY3RhdGlvbnNfanNvbikKIAotICAgICAgICBqc29uX2xheW91dF9yZXN1bHRz
X2dlbmVyYXRvci5KU09OTGF5b3V0UmVzdWx0c0dlbmVyYXRvcigKKyAgICAgICAgZ2VuZXJhdG9y
ID0ganNvbl9sYXlvdXRfcmVzdWx0c19nZW5lcmF0b3IuSlNPTkxheW91dFJlc3VsdHNHZW5lcmF0
b3IoCiAgICAgICAgICAgICBzZWxmLl9wb3J0LCBzZWxmLl9vcHRpb25zLmJ1aWxkZXJfbmFtZSwg
c2VsZi5fb3B0aW9ucy5idWlsZF9uYW1lLAogICAgICAgICAgICAgc2VsZi5fb3B0aW9ucy5idWls
ZF9udW1iZXIsIHNlbGYuX29wdGlvbnMucmVzdWx0c19kaXJlY3RvcnksCiAgICAgICAgICAgICBC
VUlMREVSX0JBU0VfVVJMLCBpbmRpdmlkdWFsX3Rlc3RfdGltaW5ncywKQEAgLTk0NSwzNSArOTQy
LDE3IEBAIGNsYXNzIFRlc3RSdW5uZXI6CiAKICAgICAgICAgX2xvZy5kZWJ1ZygiRmluaXNoZWQg
d3JpdGluZyBKU09OIGZpbGVzLiIpCiAKLSAgICBkZWYgX3VwbG9hZF9qc29uX2ZpbGVzKHNlbGYp
OgotICAgICAgICBpZiBub3Qgc2VsZi5fb3B0aW9ucy50ZXN0X3Jlc3VsdHNfc2VydmVyOgotICAg
ICAgICAgICAgcmV0dXJuCi0KLSAgICAgICAgX2xvZy5pbmZvKCJVcGxvYWRpbmcgSlNPTiBmaWxl
cyBmb3IgYnVpbGRlcjogJXMiLAotICAgICAgICAgICAgICAgICAgIHNlbGYuX29wdGlvbnMuYnVp
bGRlcl9uYW1lKQotCi0gICAgICAgIGF0dHJzID0gWygiYnVpbGRlciIsIHNlbGYuX29wdGlvbnMu
YnVpbGRlcl9uYW1lKV0KICAgICAgICAganNvbl9maWxlcyA9IFsiZXhwZWN0YXRpb25zLmpzb24i
XQogICAgICAgICBpZiBzZWxmLl9vcHRpb25zLnVwbG9hZF9mdWxsX3Jlc3VsdHM6CiAgICAgICAg
ICAgICBqc29uX2ZpbGVzLmFwcGVuZCgicmVzdWx0cy5qc29uIikKICAgICAgICAgZWxzZToKICAg
ICAgICAgICAgIGpzb25fZmlsZXMuYXBwZW5kKCJpbmNyZW1lbnRhbF9yZXN1bHRzLmpzb24iKQog
Ci0gICAgICAgIGZpbGVzID0gWyhmaWxlLCBvcy5wYXRoLmpvaW4oc2VsZi5fb3B0aW9ucy5yZXN1
bHRzX2RpcmVjdG9yeSwgZmlsZSkpCi0gICAgICAgICAgICBmb3IgZmlsZSBpbiBqc29uX2ZpbGVz
XQotCi0gICAgICAgIHVwbG9hZGVyID0gdGVzdF9yZXN1bHRzX3VwbG9hZGVyLlRlc3RSZXN1bHRz
VXBsb2FkZXIoCi0gICAgICAgICAgICBzZWxmLl9vcHRpb25zLnRlc3RfcmVzdWx0c19zZXJ2ZXIp
Ci0gICAgICAgIHRyeToKLSAgICAgICAgICAgICMgU2V0IHVwbG9hZGluZyB0aW1lb3V0IGluIGNh
c2UgYXBwZW5naW5lIHNlcnZlciBpcyBoYXZpbmcgcHJvYmxlbS4KLSAgICAgICAgICAgICMgMTIw
IHNlY29uZHMgYXJlIG1vcmUgdGhhbiBlbm91Z2ggdG8gdXBsb2FkIHRlc3QgcmVzdWx0cy4KLSAg
ICAgICAgICAgIHVwbG9hZGVyLnVwbG9hZChhdHRycywgZmlsZXMsIDEyMCkKLSAgICAgICAgZXhj
ZXB0IEV4Y2VwdGlvbiwgZXJyOgotICAgICAgICAgICAgX2xvZy5lcnJvcigiVXBsb2FkIGZhaWxl
ZDogJXMiICUgZXJyKQotICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIGdlbmVyYXRvci51cGxv
YWRfanNvbl9maWxlcyhqc29uX2ZpbGVzKQogCiAgICAgICAgIF9sb2cuaW5mbygiSlNPTiBmaWxl
cyB1cGxvYWRlZC4iKQogCisKICAgICBkZWYgX3ByaW50X2NvbmZpZyhzZWxmKToKICAgICAgICAg
IiIiUHJpbnRzIHRoZSBjb25maWd1cmF0aW9uIGZvciB0aGUgdGVzdCBydW4uIiIiCiAgICAgICAg
IHAgPSBzZWxmLl9wcmludGVyCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67775</attachid>
            <date>2010-09-16 00:30:57 -0700</date>
            <delta_ts>2010-09-16 14:27:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45408-20100916003056.patch</filename>
            <type>text/plain</type>
            <size>23072</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCAzNDk3ZDMzMjBiNTRkZGQ3YWI4YTM1NTIxMmU5Y2Y0NjY1NDUzMDQ3Li41MzlkMmQ2
MmQyYmVjZjdmMzU1Y2UzMDFiMzUwNmMxNjgyNjEwM2FlIDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAK
KzIwMTAtMDktMTUgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluY2x1ZGUgZGV0YWls
ZWQgdGVzdCBtb2RpZmllcnMgKGUuZy4gRkxBS1kpIGluIHJlc3VsdHMuanNvbiBmb3IgZmFpbGlu
ZyBub24tbGF5b3V0IHRlc3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00NTQwOAorCisgICAgICAgIFRoaXMgY2hhbmdlIGFsc28gdHJpZXMgdG8gcmVt
b3ZlIGR1cGxpY2F0ZWQgdXBsb2FkX3Jlc3VsdHNfanNvbiBtZXRob2RzCisgICAgICAgIGluIHJ1
bl93ZWJraXRfdGVzdHMucHkgYW5kIGpzb25fcmVzdWx0c19nZW5lcmF0b3IucHkuCisKKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2FnZS9qc29uX3Jl
c3VsdHNfZ2VuZXJhdG9yLnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL2xheW91dF9wYWNrYWdlL2pzb25fcmVzdWx0c19nZW5lcmF0b3JfdW5pdHRlc3QucHk6Cisg
ICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5w
eToKKwogMjAxMC0wOS0xNCAgTWloYWkgUGFycGFyaXRhICA8bWloYWlwQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbGF5b3V0X3BhY2thZ2UvanNvbl9yZXN1
bHRzX2dlbmVyYXRvci5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL2xheW91dF9wYWNrYWdlL2pzb25fcmVzdWx0c19nZW5lcmF0b3IucHkKaW5kZXggNzY1YjRk
ODE3ZmE1MjlhYzM1ZDRiZDY1MjMyMTNhNGI1OTkyNzczOS4uYWNjZmJjNzNhZTQyNzllM2UzOTYy
YTQxYjEwOTM0NWViZDNjZTgyYyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvbGF5b3V0X3BhY2thZ2UvanNvbl9yZXN1bHRzX2dlbmVyYXRvci5w
eQorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRf
cGFja2FnZS9qc29uX3Jlc3VsdHNfZ2VuZXJhdG9yLnB5CkBAIC00NiwxNyArNDYsMzUgQEAgaW1w
b3J0IHdlYmtpdHB5LnRoaXJkcGFydHkuc2ltcGxlanNvbiBhcyBzaW1wbGVqc29uCiAKIF9sb2cg
PSBsb2dnaW5nLmdldExvZ2dlcigid2Via2l0cHkubGF5b3V0X3Rlc3RzLmxheW91dF9wYWNrYWdl
Lmpzb25fcmVzdWx0c19nZW5lcmF0b3IiKQogCi0KIGNsYXNzIFRlc3RSZXN1bHQob2JqZWN0KToK
ICAgICAiIiJBIHNpbXBsZSBjbGFzcyB0aGF0IHJlcHJlc2VudHMgYSBzaW5nbGUgdGVzdCByZXN1
bHQuIiIiCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIG5hbWUsIGZhaWxlZD1GYWxzZSwgc2tpcHBl
ZD1GYWxzZSwgZWxhcHNlZF90aW1lPTApOgorCisgICAgIyBUZXN0IG1vZGlmaWVyIGNvbnN0YW50
cy4KKyAgICAoTk9ORSwgRkFJTFMsIEZMQUtZLCBESVNBQkxFRCkgPSByYW5nZSg0KQorCisgICAg
ZGVmIF9faW5pdF9fKHNlbGYsIG5hbWUsIGZhaWxlZD1GYWxzZSwgZWxhcHNlZF90aW1lPTApOgog
ICAgICAgICBzZWxmLm5hbWUgPSBuYW1lCiAgICAgICAgIHNlbGYuZmFpbGVkID0gZmFpbGVkCi0g
ICAgICAgIHNlbGYuc2tpcHBlZCA9IHNraXBwZWQKICAgICAgICAgc2VsZi50aW1lID0gZWxhcHNl
ZF90aW1lCiAKKyAgICAgICAgdGVzdF9uYW1lID0gbmFtZQorICAgICAgICB0cnk6CisgICAgICAg
ICAgICB0ZXN0X25hbWUgPSBuYW1lLnNwbGl0KCcuJylbMV0KKyAgICAgICAgZXhjZXB0IEluZGV4
RXJyb3I6CisgICAgICAgICAgICBfbG9nLndhcm4oIkludmFsaWQgdGVzdCBuYW1lOiAlcy4iLCBu
YW1lKQorICAgICAgICAgICAgcGFzcworCisgICAgICAgIGlmIHRlc3RfbmFtZS5zdGFydHN3aXRo
KCdGQUlMU18nKToKKyAgICAgICAgICAgIHNlbGYubW9kaWZpZXIgPSBzZWxmLkZBSUxTCisgICAg
ICAgIGVsaWYgdGVzdF9uYW1lLnN0YXJ0c3dpdGgoJ0ZMQUtZXycpOgorICAgICAgICAgICAgc2Vs
Zi5tb2RpZmllciA9IHNlbGYuRkxBS1kKKyAgICAgICAgZWxpZiB0ZXN0X25hbWUuc3RhcnRzd2l0
aCgnRElTQUJMRURfJyk6CisgICAgICAgICAgICBzZWxmLm1vZGlmaWVyID0gc2VsZi5ESVNBQkxF
RAorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5tb2RpZmllciA9IHNlbGYuTk9ORQor
CiAgICAgZGVmIGZpeGFibGUoc2VsZik6Ci0gICAgICAgIHJldHVybiBzZWxmLmZhaWxlZCBvciBz
ZWxmLnNraXBwZWQKKyAgICAgICAgcmV0dXJuIHNlbGYuZmFpbGVkIG9yIHNlbGYubW9kaWZpZXIg
PT0gc2VsZi5ESVNBQkxFRAogCiAKIGNsYXNzIEpTT05SZXN1bHRzR2VuZXJhdG9yQmFzZShvYmpl
Y3QpOgpAQCAtNjcsMTAgKzg1LDIwIEBAIGNsYXNzIEpTT05SZXN1bHRzR2VuZXJhdG9yQmFzZShv
YmplY3QpOgogICAgIE1JTl9USU1FID0gMQogICAgIEpTT05fUFJFRklYID0gIkFERF9SRVNVTFRT
KCIKICAgICBKU09OX1NVRkZJWCA9ICIpOyIKKworICAgICMgTm90ZSB0aGF0IGluIG5vbi1jaHJv
bWl1bSB0ZXN0cyB0aG9zZSBjaGFycyBhcmUgdXNlZCB0byBpbmRpY2F0ZQorICAgICMgdGVzdCBt
b2RpZmllcnMgKEZBSUxTLCBGTEFLWSwgZXRjKSBidXQgbm90IGFjdHVhbCB0ZXN0IHJlc3VsdHMu
CiAgICAgUEFTU19SRVNVTFQgPSAiUCIKICAgICBTS0lQX1JFU1VMVCA9ICJYIgogICAgIEZBSUxf
UkVTVUxUID0gIkYiCisgICAgRkxBS1lfUkVTVUxUID0gIkwiCiAgICAgTk9fREFUQV9SRVNVTFQg
PSAiTiIKKworICAgIE1PRElGSUVSX1RPX0NIQVIgPSB7VGVzdFJlc3VsdC5OT05FOiBQQVNTX1JF
U1VMVCwKKyAgICAgICAgICAgICAgICAgICAgICAgIFRlc3RSZXN1bHQuRElTQUJMRUQ6IFNLSVBf
UkVTVUxULAorICAgICAgICAgICAgICAgICAgICAgICAgVGVzdFJlc3VsdC5GQUlMUzogRkFJTF9S
RVNVTFQsCisgICAgICAgICAgICAgICAgICAgICAgICBUZXN0UmVzdWx0LkZMQUtZOiBGTEFLWV9S
RVNVTFR9CisKICAgICBWRVJTSU9OID0gMwogICAgIFZFUlNJT05fS0VZID0gInZlcnNpb24iCiAg
ICAgUkVTVUxUUyA9ICJyZXN1bHRzIgpAQCAtMTE4LDYgKzE0Niw3IEBAIGNsYXNzIEpTT05SZXN1
bHRzR2VuZXJhdG9yQmFzZShvYmplY3QpOgogICAgICAgICBzZWxmLl9idWlsZF9uYW1lID0gYnVp
bGRfbmFtZQogICAgICAgICBzZWxmLl9idWlsZF9udW1iZXIgPSBidWlsZF9udW1iZXIKICAgICAg
ICAgc2VsZi5fYnVpbGRlcl9iYXNlX3VybCA9IGJ1aWxkZXJfYmFzZV91cmwKKyAgICAgICAgc2Vs
Zi5fcmVzdWx0c19kaXJlY3RvcnkgPSByZXN1bHRzX2ZpbGVfYmFzZV9wYXRoCiAgICAgICAgIHNl
bGYuX3Jlc3VsdHNfZmlsZV9wYXRoID0gb3MucGF0aC5qb2luKHJlc3VsdHNfZmlsZV9iYXNlX3Bh
dGgsCiAgICAgICAgICAgICBzZWxmLlJFU1VMVFNfRklMRU5BTUUpCiAgICAgICAgIHNlbGYuX2lu
Y3JlbWVudGFsX3Jlc3VsdHNfZmlsZV9wYXRoID0gb3MucGF0aC5qb2luKApAQCAtMjA1LDYgKzIz
NCwzMSBAQCBjbGFzcyBKU09OUmVzdWx0c0dlbmVyYXRvckJhc2Uob2JqZWN0KToKICAgICBkZWYg
c2V0X2FyY2hpdmVkX3Jlc3VsdHMoc2VsZiwgYXJjaGl2ZWRfcmVzdWx0cyk6CiAgICAgICAgIHNl
bGYuX2FyY2hpdmVkX3Jlc3VsdHMgPSBhcmNoaXZlZF9yZXN1bHRzCiAKKyAgICBkZWYgdXBsb2Fk
X2pzb25fZmlsZXMoc2VsZiwganNvbl9maWxlcyk6CisgICAgICAgICIiIlVwbG9hZHMgdGhlIGdp
dmVuIGpzb25fZmlsZXMgdG8gdGhlIHRlc3RfcmVzdWx0c19zZXJ2ZXIgKGlmIHRoZQorICAgICAg
ICB0ZXN0X3Jlc3VsdHNfc2VydmVyIGlzIGdpdmVuKS4iIiIKKyAgICAgICAgaWYgbm90IHNlbGYu
X3Rlc3RfcmVzdWx0c19zZXJ2ZXI6CisgICAgICAgICAgICByZXR1cm4KKworICAgICAgICBfbG9n
LmluZm8oIlVwbG9hZGluZyBKU09OIGZpbGVzIGZvciBidWlsZGVyOiAlcyIsIHNlbGYuX2J1aWxk
ZXJfbmFtZSkKKyAgICAgICAgYXR0cnMgPSBbKCJidWlsZGVyIiwgc2VsZi5fYnVpbGRlcl9uYW1l
KSwKKyAgICAgICAgICAgICAgICAgKCJ0ZXN0dHlwZSIsIHNlbGYuX3Rlc3RfdHlwZSldCisKKyAg
ICAgICAgZmlsZXMgPSBbKGZpbGUsIG9zLnBhdGguam9pbihzZWxmLl9yZXN1bHRzX2RpcmVjdG9y
eSwgZmlsZSkpCisgICAgICAgICAgICBmb3IgZmlsZSBpbiBqc29uX2ZpbGVzXQorCisgICAgICAg
IHVwbG9hZGVyID0gdGVzdF9yZXN1bHRzX3VwbG9hZGVyLlRlc3RSZXN1bHRzVXBsb2FkZXIoCisg
ICAgICAgICAgICBzZWxmLl90ZXN0X3Jlc3VsdHNfc2VydmVyKQorICAgICAgICB0cnk6CisgICAg
ICAgICAgICAjIFNldCB1cGxvYWRpbmcgdGltZW91dCBpbiBjYXNlIGFwcGVuZ2luZSBzZXJ2ZXIg
aXMgaGF2aW5nIHByb2JsZW0uCisgICAgICAgICAgICAjIDEyMCBzZWNvbmRzIGFyZSBtb3JlIHRo
YW4gZW5vdWdoIHRvIHVwbG9hZCB0ZXN0IHJlc3VsdHMuCisgICAgICAgICAgICB1cGxvYWRlci51
cGxvYWQoYXR0cnMsIGZpbGVzLCAxMjApCisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24sIGVycjoK
KyAgICAgICAgICAgIF9sb2cuZXJyb3IoIlVwbG9hZCBmYWlsZWQ6ICVzIiAlIGVycikKKyAgICAg
ICAgICAgIHJldHVybgorCisgICAgICAgIF9sb2cuaW5mbygiSlNPTiBmaWxlcyB1cGxvYWRlZC4i
KQorCiAgICAgZGVmIF9nZW5lcmF0ZV9qc29uX2ZpbGUoc2VsZiwganNvbiwgZmlsZV9wYXRoKToK
ICAgICAgICAgIyBTcGVjaWZ5IHNlcGFyYXRvcnMgaW4gb3JkZXIgdG8gZ2V0IGNvbXBhY3QgZW5j
b2RpbmcuCiAgICAgICAgIGpzb25fZGF0YSA9IHNpbXBsZWpzb24uZHVtcHMoanNvbiwgc2VwYXJh
dG9ycz0oJywnLCAnOicpKQpAQCAtMjI2LDE5ICsyODAsMTcgQEAgY2xhc3MgSlNPTlJlc3VsdHNH
ZW5lcmF0b3JCYXNlKG9iamVjdCk6CiAgICAgICAgICIiIlJldHVybnMgYSBzZXQgb2YgZmFpbGVk
IHRlc3QgbmFtZXMuIiIiCiAgICAgICAgIHJldHVybiBzZXQoW3IubmFtZSBmb3IgciBpbiBzZWxm
Ll90ZXN0X3Jlc3VsdHMgaWYgci5mYWlsZWRdKQogCi0gICAgZGVmIF9nZXRfcmVzdWx0X3R5cGVf
Y2hhcihzZWxmLCB0ZXN0X25hbWUpOgorICAgIGRlZiBfZ2V0X21vZGlmaWVyX2NoYXIoc2VsZiwg
dGVzdF9uYW1lKToKICAgICAgICAgIiIiUmV0dXJucyBhIHNpbmdsZSBjaGFyIChlLmcuIFNLSVBf
UkVTVUxULCBGQUlMX1JFU1VMVCwKLSAgICAgICAgUEFTU19SRVNVTFQsIE5PX0RBVEFfUkVTVUxU
LCBldGMpIHRoYXQgaW5kaWNhdGVzIHRoZSB0ZXN0IHJlc3VsdAorICAgICAgICBQQVNTX1JFU1VM
VCwgTk9fREFUQV9SRVNVTFQsIGV0YykgdGhhdCBpbmRpY2F0ZXMgdGhlIHRlc3QgbW9kaWZpZXIK
ICAgICAgICAgZm9yIHRoZSBnaXZlbiB0ZXN0X25hbWUuCiAgICAgICAgICIiIgogICAgICAgICBp
ZiB0ZXN0X25hbWUgbm90IGluIHNlbGYuX3Rlc3RfcmVzdWx0c19tYXA6CiAgICAgICAgICAgICBy
ZXR1cm4gSlNPTlJlc3VsdHNHZW5lcmF0b3IuTk9fREFUQV9SRVNVTFQKIAogICAgICAgICB0ZXN0
X3Jlc3VsdCA9IHNlbGYuX3Rlc3RfcmVzdWx0c19tYXBbdGVzdF9uYW1lXQotICAgICAgICBpZiB0
ZXN0X3Jlc3VsdC5za2lwcGVkOgotICAgICAgICAgICAgcmV0dXJuIEpTT05SZXN1bHRzR2VuZXJh
dG9yLlNLSVBfUkVTVUxUCi0gICAgICAgIGlmIHRlc3RfcmVzdWx0LmZhaWxlZDoKLSAgICAgICAg
ICAgIHJldHVybiBKU09OUmVzdWx0c0dlbmVyYXRvci5GQUlMX1JFU1VMVAorICAgICAgICBpZiB0
ZXN0X3Jlc3VsdC5tb2RpZmllciBpbiBzZWxmLk1PRElGSUVSX1RPX0NIQVIua2V5cygpOgorICAg
ICAgICAgICAgcmV0dXJuIHNlbGYuTU9ESUZJRVJfVE9fQ0hBUlt0ZXN0X3Jlc3VsdC5tb2RpZmll
cl0KIAogICAgICAgICByZXR1cm4gSlNPTlJlc3VsdHNHZW5lcmF0b3IuUEFTU19SRVNVTFQKIApA
QCAtMzQ0LDEwICszOTYsMTAgQEAgY2xhc3MgSlNPTlJlc3VsdHNHZW5lcmF0b3JCYXNlKG9iamVj
dCk6CiAgICAgICAgIHNlbGYuX2luc2VydF9pdGVtX2ludG9fcmF3X2xpc3QocmVzdWx0c19mb3Jf
YnVpbGRlciwKICAgICAgICAgICAgIGZpeGFibGVfY291bnQsIHNlbGYuRklYQUJMRV9DT1VOVCkK
IAotICAgICAgICAjIENyZWF0ZSBhIHBhc3Mvc2tpcC9mYWlsdXJlIHN1bW1hcnkgZGljdGlvbmFy
eS4KKyAgICAgICAgIyBDcmVhdGUgYSB0ZXN0IG1vZGlmaWVycyAoRkFJTFMsIEZMQUtZIGV0Yykg
c3VtbWFyeSBkaWN0aW9uYXJ5LgogICAgICAgICBlbnRyeSA9IHt9CiAgICAgICAgIGZvciB0ZXN0
X25hbWUgaW4gc2VsZi5fdGVzdF9yZXN1bHRzX21hcC5pdGVya2V5cygpOgotICAgICAgICAgICAg
cmVzdWx0X2NoYXIgPSBzZWxmLl9nZXRfcmVzdWx0X3R5cGVfY2hhcih0ZXN0X25hbWUpCisgICAg
ICAgICAgICByZXN1bHRfY2hhciA9IHNlbGYuX2dldF9tb2RpZmllcl9jaGFyKHRlc3RfbmFtZSkK
ICAgICAgICAgICAgIGVudHJ5W3Jlc3VsdF9jaGFyXSA9IGVudHJ5LmdldChyZXN1bHRfY2hhciwg
MCkgKyAxCiAKICAgICAgICAgIyBJbnNlcnQgdGhlIHBhc3Mvc2tpcC9mYWlsdXJlIHN1bW1hcnkg
ZGljdGlvbmFyeS4KQEAgLTQyMyw3ICs0NzUsNyBAQCBjbGFzcyBKU09OUmVzdWx0c0dlbmVyYXRv
ckJhc2Uob2JqZWN0KToKICAgICAgICAgICB0ZXN0czogRGljdGlvbmFyeSBjb250YWluaW5nIHRl
c3QgcmVzdWx0IGVudHJpZXMuCiAgICAgICAgICIiIgogCi0gICAgICAgIHJlc3VsdCA9IHNlbGYu
X2dldF9yZXN1bHRfdHlwZV9jaGFyKHRlc3RfbmFtZSkKKyAgICAgICAgcmVzdWx0ID0gc2VsZi5f
Z2V0X21vZGlmaWVyX2NoYXIodGVzdF9uYW1lKQogICAgICAgICB0aW1lID0gc2VsZi5fZ2V0X3Rl
c3RfdGltaW5nKHRlc3RfbmFtZSkKIAogICAgICAgICBpZiB0ZXN0X25hbWUgbm90IGluIHRlc3Rz
OgpAQCAtNTIzLDI5ICs1NzUsNiBAQCBjbGFzcyBKU09OUmVzdWx0c0dlbmVyYXRvcihKU09OUmVz
dWx0c0dlbmVyYXRvckJhc2UpOgogICAgICMgVGhlIGZsYWcgaXMgZm9yIGJhY2t3YXJkIGNvbXBh
dGliaWxpdHkuCiAgICAgb3V0cHV0X2pzb25faW5faW5pdCA9IFRydWUKIAotICAgIGRlZiBfdXBs
b2FkX2pzb25fZmlsZXMoc2VsZik6Ci0gICAgICAgIGlmIG5vdCBzZWxmLl90ZXN0X3Jlc3VsdHNf
c2VydmVyIG9yIG5vdCBzZWxmLl90ZXN0X3R5cGU6Ci0gICAgICAgICAgICByZXR1cm4KLQotICAg
ICAgICBfbG9nLmluZm8oIlVwbG9hZGluZyBKU09OIGZpbGVzIGZvciAlcyB0byB0aGUgc2VydmVy
OiAlcyIsCi0gICAgICAgICAgICAgICAgICBzZWxmLl9idWlsZGVyX25hbWUsIHNlbGYuX3Rlc3Rf
cmVzdWx0c19zZXJ2ZXIpCi0gICAgICAgIGF0dHJzID0gWygiYnVpbGRlciIsIHNlbGYuX2J1aWxk
ZXJfbmFtZSksICgidGVzdHR5cGUiLCBzZWxmLl90ZXN0X3R5cGUpXQotICAgICAgICBqc29uX2Zp
bGVzID0gW3NlbGYuSU5DUkVNRU5UQUxfUkVTVUxUU19GSUxFTkFNRV0KLQotICAgICAgICBmaWxl
cyA9IFsoZmlsZSwgb3MucGF0aC5qb2luKHNlbGYuX3Jlc3VsdHNfZGlyZWN0b3J5LCBmaWxlKSkK
LSAgICAgICAgICAgIGZvciBmaWxlIGluIGpzb25fZmlsZXNdCi0gICAgICAgIHVwbG9hZGVyID0g
dGVzdF9yZXN1bHRzX3VwbG9hZGVyLlRlc3RSZXN1bHRzVXBsb2FkZXIoCi0gICAgICAgICAgICBz
ZWxmLl90ZXN0X3Jlc3VsdHNfc2VydmVyKQotICAgICAgICB0cnk6Ci0gICAgICAgICAgICAjIFNl
dCB1cGxvYWRpbmcgdGltZW91dCBpbiBjYXNlIGFwcGVuZ2luZSBzZXJ2ZXIgaXMgaGF2aW5nIHBy
b2JsZW0uCi0gICAgICAgICAgICAjIDEyMCBzZWNvbmRzIGFyZSBtb3JlIHRoYW4gZW5vdWdoIHRv
IHVwbG9hZCB0ZXN0IHJlc3VsdHMuCi0gICAgICAgICAgICB1cGxvYWRlci51cGxvYWQoYXR0cnMs
IGZpbGVzLCAxMjApCi0gICAgICAgIGV4Y2VwdCBFeGNlcHRpb24sIGVycjoKLSAgICAgICAgICAg
IF9sb2cuZXJyb3IoIlVwbG9hZCBmYWlsZWQ6ICVzIiAlIGVycikKLSAgICAgICAgICAgIHJldHVy
bgotCi0gICAgICAgIF9sb2cuaW5mbygiSlNPTiBmaWxlcyB1cGxvYWRlZC4iKQotCiAgICAgZGVm
IF9faW5pdF9fKHNlbGYsIHBvcnQsIGJ1aWxkZXJfbmFtZSwgYnVpbGRfbmFtZSwgYnVpbGRfbnVt
YmVyLAogICAgICAgICByZXN1bHRzX2ZpbGVfYmFzZV9wYXRoLCBidWlsZGVyX2Jhc2VfdXJsLAog
ICAgICAgICB0ZXN0X3RpbWluZ3MsIGZhaWx1cmVzLCBwYXNzZWRfdGVzdHMsIHNraXBwZWRfdGVz
dHMsIGFsbF90ZXN0cywKQEAgLTU4MiwxMSArNjExLDkgQEAgY2xhc3MgSlNPTlJlc3VsdHNHZW5l
cmF0b3IoSlNPTlJlc3VsdHNHZW5lcmF0b3JCYXNlKToKICAgICAgICAgICAgIHRlc3RfcmVzdWx0
LmZhaWxlZCA9IFRydWUKICAgICAgICAgZm9yIHRlc3QgaW4gc2tpcHBlZF90ZXN0czoKICAgICAg
ICAgICAgIHRlc3RfcmVzdWx0c19tYXBbdGVzdF0gPSB0ZXN0X3Jlc3VsdCA9IGdldCh0ZXN0LCBU
ZXN0UmVzdWx0KHRlc3QpKQotICAgICAgICAgICAgdGVzdF9yZXN1bHQuc2tpcHBlZCA9IFRydWUK
ICAgICAgICAgZm9yIHRlc3QgaW4gcGFzc2VkX3Rlc3RzOgogICAgICAgICAgICAgdGVzdF9yZXN1
bHRzX21hcFt0ZXN0XSA9IHRlc3RfcmVzdWx0ID0gZ2V0KHRlc3QsIFRlc3RSZXN1bHQodGVzdCkp
CiAgICAgICAgICAgICB0ZXN0X3Jlc3VsdC5mYWlsZWQgPSBGYWxzZQotICAgICAgICAgICAgdGVz
dF9yZXN1bHQuc2tpcHBlZCA9IEZhbHNlCiAgICAgICAgIGZvciB0ZXN0IGluIGFsbF90ZXN0czoK
ICAgICAgICAgICAgIGlmIHRlc3Qgbm90IGluIHRlc3RfcmVzdWx0c19tYXA6CiAgICAgICAgICAg
ICAgICAgdGVzdF9yZXN1bHRzX21hcFt0ZXN0XSA9IFRlc3RSZXN1bHQodGVzdCkKQEAgLTYwMyw0
ICs2MzAsNCBAQCBjbGFzcyBKU09OUmVzdWx0c0dlbmVyYXRvcihKU09OUmVzdWx0c0dlbmVyYXRv
ckJhc2UpOgogCiAgICAgICAgIGlmIHNlbGYuX19jbGFzc19fLm91dHB1dF9qc29uX2luX2luaXQ6
CiAgICAgICAgICAgICBzZWxmLmdlbmVyYXRlX2pzb25fb3V0cHV0KCkKLSAgICAgICAgICAgIHNl
bGYuX3VwbG9hZF9qc29uX2ZpbGVzKCkKKyAgICAgICAgICAgIHNlbGYudXBsb2FkX2pzb25fZmls
ZXMoW3NlbGYuSU5DUkVNRU5UQUxfUkVTVUxUU19GSUxFTkFNRV0pCmRpZmYgLS1naXQgYS9XZWJL
aXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2FnZS9qc29u
X3Jlc3VsdHNfZ2VuZXJhdG9yX3VuaXR0ZXN0LnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvbGF5b3V0X3BhY2thZ2UvanNvbl9yZXN1bHRzX2dlbmVyYXRvcl91
bml0dGVzdC5weQppbmRleCA3ODVjYzFjYWQ2YjIwYjU3MTUzZmI3NDZiM2NlOGNjYWNjZGQ1OTM4
Li42MDZhNjEzY2Y4ZDNlMGFjZGQzMWNmYzM5YWY2Yjk4NzNiZmUwZjU2IDEwMDY0NAotLS0gYS9X
ZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2FnZS9q
c29uX3Jlc3VsdHNfZ2VuZXJhdG9yX3VuaXR0ZXN0LnB5CisrKyBiL1dlYktpdFRvb2xzL1Njcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdlL2pzb25fcmVzdWx0c19nZW5l
cmF0b3JfdW5pdHRlc3QucHkKQEAgLTQ3LDQzICs0Nyw2OCBAQCBjbGFzcyBKU09OR2VuZXJhdG9y
VGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIHNlbGYuYnVpbGRfbnVtYmVyID0gJ0RV
TU1ZX0JVSUxERVJfTlVNQkVSJwogICAgICAgICBzZWxmLl9qc29uID0gTm9uZQogICAgICAgICBz
ZWxmLl9udW1fcnVucyA9IDAKLSAgICAgICAgc2VsZi5fdGVzdHNfbGlzdCA9IHNldChbXSkKKyAg
ICAgICAgc2VsZi5fdGVzdHNfc2V0ID0gc2V0KFtdKQogICAgICAgICBzZWxmLl90ZXN0X3RpbWlu
Z3MgPSB7fQotICAgICAgICBzZWxmLl9mYWlsZWRfdGVzdHMgPSB7fQotICAgICAgICBzZWxmLl9w
YXNzZWRfdGVzdHMgPSBzZXQoW10pCi0gICAgICAgIHNlbGYuX3NraXBwZWRfdGVzdHMgPSBzZXQo
W10pCi0KLSAgICBkZWYgX3Rlc3RfanNvbl9nZW5lcmF0aW9uKHNlbGYsIHBhc3NlZF90ZXN0cywg
ZmFpbGVkX3Rlc3RzLCBza2lwcGVkX3Rlc3RzKToKLSAgICAgICAgIyBNYWtlIHN1cmUgd2UgaGF2
ZSBzZXRzIChyYXRoZXIgdGhhbiBsaXN0cykuCi0gICAgICAgIHBhc3NlZF90ZXN0cyA9IHNldChw
YXNzZWRfdGVzdHMpCi0gICAgICAgIHNraXBwZWRfdGVzdHMgPSBzZXQoc2tpcHBlZF90ZXN0cykK
LSAgICAgICAgdGVzdHNfbGlzdCA9IHBhc3NlZF90ZXN0cyB8IHNldChmYWlsZWRfdGVzdHMua2V5
cygpKQorICAgICAgICBzZWxmLl9mYWlsZWRfdGVzdHMgPSBzZXQoW10pCisKKyAgICAgICAgc2Vs
Zi5fUEFTU190ZXN0cyA9IHNldChbXSkKKyAgICAgICAgc2VsZi5fRElTQUJMRURfdGVzdHMgPSBz
ZXQoW10pCisgICAgICAgIHNlbGYuX0ZMQUtZX3Rlc3RzID0gc2V0KFtdKQorICAgICAgICBzZWxm
Ll9GQUlMU190ZXN0cyA9IHNldChbXSkKKworICAgIGRlZiBfZ2V0X3Rlc3RfbW9kaWZpZXIoc2Vs
ZiwgdGVzdF9uYW1lKToKKyAgICAgICAgaWYgdGVzdF9uYW1lLnN0YXJ0c3dpdGgoJ0RJU0FCTEVE
XycpOgorICAgICAgICAgICAgcmV0dXJuIGpzb25fcmVzdWx0c19nZW5lcmF0b3IuSlNPTlJlc3Vs
dHNHZW5lcmF0b3IuU0tJUF9SRVNVTFQKKyAgICAgICAgZWxpZiB0ZXN0X25hbWUuc3RhcnRzd2l0
aCgnRkxBS1lfJyk6CisgICAgICAgICAgICByZXR1cm4ganNvbl9yZXN1bHRzX2dlbmVyYXRvci5K
U09OUmVzdWx0c0dlbmVyYXRvci5GTEFLWV9SRVNVTFQKKyAgICAgICAgZWxpZiB0ZXN0X25hbWUu
c3RhcnRzd2l0aCgnRkFJTFNfJyk6CisgICAgICAgICAgICByZXR1cm4ganNvbl9yZXN1bHRzX2dl
bmVyYXRvci5KU09OUmVzdWx0c0dlbmVyYXRvci5GQUlMX1JFU1VMVAorICAgICAgICByZXR1cm4g
anNvbl9yZXN1bHRzX2dlbmVyYXRvci5KU09OUmVzdWx0c0dlbmVyYXRvci5QQVNTX1JFU1VMVAor
CisgICAgZGVmIF90ZXN0X2pzb25fZ2VuZXJhdGlvbihzZWxmLCBwYXNzZWRfdGVzdHNfbGlzdCwg
ZmFpbGVkX3Rlc3RzX2xpc3QpOgorICAgICAgICB0ZXN0c19zZXQgPSBzZXQocGFzc2VkX3Rlc3Rz
X2xpc3QpIHwgc2V0KGZhaWxlZF90ZXN0c19saXN0KQorCisgICAgICAgIERJU0FCTEVEX3Rlc3Rz
ID0gc2V0KFt0IGZvciB0IGluIHRlc3RzX3NldAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpZiB0LnN0YXJ0c3dpdGgoJ0RJU0FCTEVEXycpXSkKKyAgICAgICAgRkxBS1lfdGVzdHMgPSBz
ZXQoW3QgZm9yIHQgaW4gdGVzdHNfc2V0CisgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiB0
LnN0YXJ0c3dpdGgoJ0ZMQUtZXycpXSkKKyAgICAgICAgRkFJTFNfdGVzdHMgPSBzZXQoW3QgZm9y
IHQgaW4gdGVzdHNfc2V0CisgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiB0LnN0YXJ0c3dp
dGgoJ0ZBSUxTXycpXSkKKyAgICAgICAgUEFTU190ZXN0cyA9IHRlc3RzX3NldCBeIChESVNBQkxF
RF90ZXN0cyB8IEZMQUtZX3Rlc3RzIHwgRkFJTFNfdGVzdHMpCisKKyAgICAgICAgcGFzc2VkX3Rl
c3RzID0gc2V0KHBhc3NlZF90ZXN0c19saXN0KSBeIERJU0FCTEVEX3Rlc3RzCisgICAgICAgIGZh
aWxlZF90ZXN0cyA9IHNldChmYWlsZWRfdGVzdHNfbGlzdCkKKwogICAgICAgICB0ZXN0X3RpbWlu
Z3MgPSB7fQogICAgICAgICBpID0gMAotICAgICAgICBmb3IgdGVzdCBpbiB0ZXN0c19saXN0Ogor
ICAgICAgICBmb3IgdGVzdCBpbiB0ZXN0c19zZXQ6CiAgICAgICAgICAgICB0ZXN0X3RpbWluZ3Nb
dGVzdF0gPSBmbG9hdChzZWxmLl9udW1fcnVucyAqIDEwMCArIGkpCiAgICAgICAgICAgICBpICs9
IDEKIAotICAgICAgICBwb3J0X29iaiA9IHBvcnQuZ2V0KE5vbmUpCisgICAgICAgICMgRm9yIGJh
Y2t3YXJkIGNvbXBhdGliaWxpdHkuCisgICAgICAgIHJlYXNvbiA9IHRlc3RfZXhwZWN0YXRpb25z
LlRFWFQKKyAgICAgICAgZmFpbGVkX3Rlc3RzX2RpY3QgPSBkaWN0KFsobmFtZSwgcmVhc29uKSBm
b3IgbmFtZSBpbiBmYWlsZWRfdGVzdHNdKQogCisgICAgICAgIHBvcnRfb2JqID0gcG9ydC5nZXQo
Tm9uZSkKICAgICAgICAgZ2VuZXJhdG9yID0ganNvbl9yZXN1bHRzX2dlbmVyYXRvci5KU09OUmVz
dWx0c0dlbmVyYXRvcihwb3J0X29iaiwKICAgICAgICAgICAgIHNlbGYuYnVpbGRlcl9uYW1lLCBz
ZWxmLmJ1aWxkX25hbWUsIHNlbGYuYnVpbGRfbnVtYmVyLAogICAgICAgICAgICAgJycsCiAgICAg
ICAgICAgICBOb25lLCAgICMgZG9uJ3QgZmV0Y2ggcGFzdCBqc29uIHJlc3VsdHMgYXJjaGl2ZQog
ICAgICAgICAgICAgdGVzdF90aW1pbmdzLAotICAgICAgICAgICAgZmFpbGVkX3Rlc3RzLAorICAg
ICAgICAgICAgZmFpbGVkX3Rlc3RzX2RpY3QsCiAgICAgICAgICAgICBwYXNzZWRfdGVzdHMsCi0g
ICAgICAgICAgICBza2lwcGVkX3Rlc3RzLAotICAgICAgICAgICAgdGVzdHNfbGlzdCkKKyAgICAg
ICAgICAgICgpLAorICAgICAgICAgICAgdGVzdHNfc2V0KQogCiAgICAgICAgICMgVGVzdCBpbmNy
ZW1lbnRhbCBqc29uIHJlc3VsdHMKICAgICAgICAgaW5jcmVtZW50YWxfanNvbiA9IGdlbmVyYXRv
ci5nZXRfanNvbihpbmNyZW1lbnRhbD1UcnVlKQogICAgICAgICBzZWxmLl92ZXJpZnlfanNvbl9y
ZXN1bHRzKAotICAgICAgICAgICAgdGVzdHNfbGlzdCwKKyAgICAgICAgICAgIHRlc3RzX3NldCwK
ICAgICAgICAgICAgIHRlc3RfdGltaW5ncywKLSAgICAgICAgICAgIHBhc3NlZF90ZXN0cywKICAg
ICAgICAgICAgIGZhaWxlZF90ZXN0cywKLSAgICAgICAgICAgIHNraXBwZWRfdGVzdHMsCisgICAg
ICAgICAgICBQQVNTX3Rlc3RzLAorICAgICAgICAgICAgRElTQUJMRURfdGVzdHMsCisgICAgICAg
ICAgICBGTEFLWV90ZXN0cywKICAgICAgICAgICAgIGluY3JlbWVudGFsX2pzb24sCiAgICAgICAg
ICAgICAxKQogCkBAIC05MiwyMyArMTE3LDI1IEBAIGNsYXNzIEpTT05HZW5lcmF0b3JUZXN0KHVu
aXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAganNvbiA9IGdlbmVyYXRvci5nZXRfanNvbihpbmNy
ZW1lbnRhbD1GYWxzZSkKICAgICAgICAgc2VsZi5fanNvbiA9IGpzb24KICAgICAgICAgc2VsZi5f
bnVtX3J1bnMgKz0gMQotICAgICAgICBzZWxmLl90ZXN0c19saXN0IHw9IHRlc3RzX2xpc3QKKyAg
ICAgICAgc2VsZi5fdGVzdHNfc2V0IHw9IHRlc3RzX3NldAogICAgICAgICBzZWxmLl90ZXN0X3Rp
bWluZ3MudXBkYXRlKHRlc3RfdGltaW5ncykKICAgICAgICAgc2VsZi5fZmFpbGVkX3Rlc3RzLnVw
ZGF0ZShmYWlsZWRfdGVzdHMpCi0gICAgICAgIHNlbGYuX3Bhc3NlZF90ZXN0cyB8PSBwYXNzZWRf
dGVzdHMKLSAgICAgICAgc2VsZi5fc2tpcHBlZF90ZXN0cyB8PSBza2lwcGVkX3Rlc3RzCisgICAg
ICAgIHNlbGYuX1BBU1NfdGVzdHMgfD0gUEFTU190ZXN0cworICAgICAgICBzZWxmLl9ESVNBQkxF
RF90ZXN0cyB8PSBESVNBQkxFRF90ZXN0cworICAgICAgICBzZWxmLl9GTEFLWV90ZXN0cyB8PSBG
TEFLWV90ZXN0cwogICAgICAgICBzZWxmLl92ZXJpZnlfanNvbl9yZXN1bHRzKAotICAgICAgICAg
ICAgc2VsZi5fdGVzdHNfbGlzdCwKKyAgICAgICAgICAgIHNlbGYuX3Rlc3RzX3NldCwKICAgICAg
ICAgICAgIHNlbGYuX3Rlc3RfdGltaW5ncywKLSAgICAgICAgICAgIHNlbGYuX3Bhc3NlZF90ZXN0
cywKICAgICAgICAgICAgIHNlbGYuX2ZhaWxlZF90ZXN0cywKLSAgICAgICAgICAgIHNlbGYuX3Nr
aXBwZWRfdGVzdHMsCisgICAgICAgICAgICBzZWxmLl9QQVNTX3Rlc3RzLAorICAgICAgICAgICAg
c2VsZi5fRElTQUJMRURfdGVzdHMsCisgICAgICAgICAgICBzZWxmLl9GTEFLWV90ZXN0cywKICAg
ICAgICAgICAgIHNlbGYuX2pzb24sCiAgICAgICAgICAgICBzZWxmLl9udW1fcnVucykKIAotICAg
IGRlZiBfdmVyaWZ5X2pzb25fcmVzdWx0cyhzZWxmLCB0ZXN0c19saXN0LCB0ZXN0X3RpbWluZ3Ms
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhc3NlZF90ZXN0cywgZmFpbGVkX3Rlc3Rz
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBza2lwcGVkX3Rlc3RzLCBqc29uLCBudW1f
cnVucyk6CisgICAgZGVmIF92ZXJpZnlfanNvbl9yZXN1bHRzKHNlbGYsIHRlc3RzX3NldCwgdGVz
dF90aW1pbmdzLCBmYWlsZWRfdGVzdHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBB
U1NfdGVzdHMsIERJU0FCTEVEX3Rlc3RzLCBGTEFLWV90ZXN0cywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAganNvbiwgbnVtX3J1bnMpOgogICAgICAgICAjIEFsaWFzaW5nIHRvIGEgc2hv
cnQgbmFtZSBmb3IgYmV0dGVyIGFjY2VzcyB0byBpdHMgY29uc3RhbnRzLgogICAgICAgICBKUkcg
PSBqc29uX3Jlc3VsdHNfZ2VuZXJhdG9yLkpTT05SZXN1bHRzR2VuZXJhdG9yCiAKQEAgLTExOCwx
MCArMTQ1LDEwIEBAIGNsYXNzIEpTT05HZW5lcmF0b3JUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToK
ICAgICAgICAgYnVpbGRpbmZvID0ganNvbltzZWxmLmJ1aWxkZXJfbmFtZV0KICAgICAgICAgc2Vs
Zi5hc3NlcnRUcnVlKEpSRy5GSVhBQkxFIGluIGJ1aWxkaW5mbykKICAgICAgICAgc2VsZi5hc3Nl
cnRUcnVlKEpSRy5URVNUUyBpbiBidWlsZGluZm8pCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShs
ZW4oYnVpbGRpbmZvW0pSRy5CVUlMRF9OVU1CRVJTXSkgPT0gbnVtX3J1bnMpCi0gICAgICAgIHNl
bGYuYXNzZXJ0VHJ1ZShidWlsZGluZm9bSlJHLkJVSUxEX05VTUJFUlNdWzBdID09IHNlbGYuYnVp
bGRfbnVtYmVyKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihidWlsZGluZm9bSlJHLkJV
SUxEX05VTUJFUlNdKSwgbnVtX3J1bnMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnVpbGRp
bmZvW0pSRy5CVUlMRF9OVU1CRVJTXVswXSwgc2VsZi5idWlsZF9udW1iZXIpCiAKLSAgICAgICAg
aWYgdGVzdHNfbGlzdCBvciBza2lwcGVkX3Rlc3RzOgorICAgICAgICBpZiB0ZXN0c19zZXQgb3Ig
RElTQUJMRURfdGVzdHM6CiAgICAgICAgICAgICBmaXhhYmxlID0ge30KICAgICAgICAgICAgIGZv
ciBmaXhhYmxlX2l0ZW1zIGluIGJ1aWxkaW5mb1tKUkcuRklYQUJMRV06CiAgICAgICAgICAgICAg
ICAgZm9yICh0eXBlLCBjb3VudCkgaW4gZml4YWJsZV9pdGVtcy5pdGVyaXRlbXMoKToKQEAgLTEz
MCw1MiArMTU3LDU4IEBAIGNsYXNzIEpTT05HZW5lcmF0b3JUZXN0KHVuaXR0ZXN0LlRlc3RDYXNl
KToKICAgICAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgICAgIGZp
eGFibGVbdHlwZV0gPSBjb3VudAogCi0gICAgICAgICAgICBpZiBwYXNzZWRfdGVzdHM6Ci0gICAg
ICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGZpeGFibGVbSlJHLlBBU1NfUkVTVUxUXSA9PSBs
ZW4ocGFzc2VkX3Rlc3RzKSkKKyAgICAgICAgICAgIGlmIFBBU1NfdGVzdHM6CisgICAgICAgICAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbChmaXhhYmxlW0pSRy5QQVNTX1JFU1VMVF0sIGxlbihQQVNT
X3Rlc3RzKSkKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRU
cnVlKEpSRy5QQVNTX1JFU1VMVCBub3QgaW4gZml4YWJsZSBvcgogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBmaXhhYmxlW0pSRy5QQVNTX1JFU1VMVF0gPT0gMCkKLSAgICAgICAgICAg
IGlmIHNraXBwZWRfdGVzdHM6Ci0gICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGZpeGFi
bGVbSlJHLlNLSVBfUkVTVUxUXSA9PSBsZW4oc2tpcHBlZF90ZXN0cykpCisgICAgICAgICAgICBp
ZiBESVNBQkxFRF90ZXN0czoKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZpeGFi
bGVbSlJHLlNLSVBfUkVTVUxUXSwgbGVuKERJU0FCTEVEX3Rlc3RzKSkKICAgICAgICAgICAgIGVs
c2U6CiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKEpSRy5TS0lQX1JFU1VMVCBub3Qg
aW4gZml4YWJsZSBvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaXhhYmxlW0pS
Ry5TS0lQX1JFU1VMVF0gPT0gMCkKKyAgICAgICAgICAgIGlmIEZMQUtZX3Rlc3RzOgorICAgICAg
ICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZml4YWJsZVtKUkcuRkxBS1lfUkVTVUxUXSwgbGVu
KEZMQUtZX3Rlc3RzKSkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgc2VsZi5h
c3NlcnRUcnVlKEpSRy5GTEFLWV9SRVNVTFQgbm90IGluIGZpeGFibGUgb3IKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZml4YWJsZVtKUkcuRkxBS1lfUkVTVUxUXSA9PSAwKQogCiAg
ICAgICAgIGlmIGZhaWxlZF90ZXN0czoKICAgICAgICAgICAgIHRlc3RzID0gYnVpbGRpbmZvW0pS
Ry5URVNUU10KLSAgICAgICAgICAgIGZvciB0ZXN0X25hbWUsIGZhaWx1cmUgaW4gZmFpbGVkX3Rl
c3RzLml0ZXJpdGVtcygpOgorICAgICAgICAgICAgZm9yIHRlc3RfbmFtZSBpbiBmYWlsZWRfdGVz
dHM6CiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHRlc3RfbmFtZSBpbiB0ZXN0cykK
ICAgICAgICAgICAgICAgICB0ZXN0ID0gdGVzdHNbdGVzdF9uYW1lXQogCiAgICAgICAgICAgICAg
ICAgZmFpbGVkID0gMAorICAgICAgICAgICAgICAgIG1vZGlmaWVyID0gc2VsZi5fZ2V0X3Rlc3Rf
bW9kaWZpZXIodGVzdF9uYW1lKQogICAgICAgICAgICAgICAgIGZvciByZXN1bHQgaW4gdGVzdFtK
UkcuUkVTVUxUU106Ci0gICAgICAgICAgICAgICAgICAgIGlmIHJlc3VsdFsxXSA9PSBKUkcuRkFJ
TF9SRVNVTFQ6CisgICAgICAgICAgICAgICAgICAgIGlmIHJlc3VsdFsxXSA9PSBtb2RpZmllcjoK
ICAgICAgICAgICAgICAgICAgICAgICAgIGZhaWxlZCA9IHJlc3VsdFswXQotICAgICAgICAgICAg
ICAgIHNlbGYuYXNzZXJ0VHJ1ZShmYWlsZWQgPT0gMSkKKyAgICAgICAgICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKDEsIGZhaWxlZCkKIAogICAgICAgICAgICAgICAgIHRpbWluZ19jb3VudCA9IDAK
ICAgICAgICAgICAgICAgICBmb3IgdGltaW5ncyBpbiB0ZXN0W0pSRy5USU1FU106CiAgICAgICAg
ICAgICAgICAgICAgIGlmIHRpbWluZ3NbMV0gPT0gdGVzdF90aW1pbmdzW3Rlc3RfbmFtZV06CiAg
ICAgICAgICAgICAgICAgICAgICAgICB0aW1pbmdfY291bnQgPSB0aW1pbmdzWzBdCi0gICAgICAg
ICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHRpbWluZ19jb3VudCA9PSAxKQorICAgICAgICAgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwoMSwgdGltaW5nX2NvdW50KQogCi0gICAgICAgIGZpeGFibGVf
Y291bnQgPSBsZW4oc2tpcHBlZF90ZXN0cykgKyBsZW4oZmFpbGVkX3Rlc3RzLmtleXMoKSkKLSAg
ICAgICAgaWYgc2tpcHBlZF90ZXN0cyBvciBmYWlsZWRfdGVzdHM6Ci0gICAgICAgICAgICBzZWxm
LmFzc2VydFRydWUoc3VtKGJ1aWxkaW5mb1tKUkcuRklYQUJMRV9DT1VOVF0pID09IGZpeGFibGVf
Y291bnQpCisgICAgICAgIGZpeGFibGVfY291bnQgPSBsZW4oRElTQUJMRURfdGVzdHMgfCBmYWls
ZWRfdGVzdHMpCisgICAgICAgIGlmIERJU0FCTEVEX3Rlc3RzIG9yIGZhaWxlZF90ZXN0czoKKyAg
ICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3VtKGJ1aWxkaW5mb1tKUkcuRklYQUJMRV9DT1VO
VF0pLCBmaXhhYmxlX2NvdW50KQogCiAgICAgZGVmIHRlc3RfanNvbl9nZW5lcmF0aW9uKHNlbGYp
OgotICAgICAgICByZWFzb24gPSB0ZXN0X2V4cGVjdGF0aW9ucy5URVhUCi0KLSAgICAgICAgc2Vs
Zi5fdGVzdF9qc29uX2dlbmVyYXRpb24oW10sIHt9LCBbXSkKLSAgICAgICAgc2VsZi5fdGVzdF9q
c29uX2dlbmVyYXRpb24oWydBMScsICdCMSddLCB7fSwgW10pCi0gICAgICAgIHNlbGYuX3Rlc3Rf
anNvbl9nZW5lcmF0aW9uKFtdLCB7J0EyJzogcmVhc29uLCAnQjInOiByZWFzb259LCBbXSkKLSAg
ICAgICAgc2VsZi5fdGVzdF9qc29uX2dlbmVyYXRpb24oW10sIHt9LCBbJ0EzJywgJ0IzJ10pCi0g
ICAgICAgIHNlbGYuX3Rlc3RfanNvbl9nZW5lcmF0aW9uKFsnQTQnXSwgeydCNCc6IHJlYXNvbiwg
J0M0JzogcmVhc29ufSwgW10pCisgICAgICAgIHNlbGYuX3Rlc3RfanNvbl9nZW5lcmF0aW9uKFtd
LCBbXSkKKyAgICAgICAgc2VsZi5fdGVzdF9qc29uX2dlbmVyYXRpb24oWydBMScsICdCMSddLCBb
XSkKKyAgICAgICAgc2VsZi5fdGVzdF9qc29uX2dlbmVyYXRpb24oW10sIFsnRkFJTFNfQTInLCAn
RkFJTFNfQjInXSkKKyAgICAgICAgc2VsZi5fdGVzdF9qc29uX2dlbmVyYXRpb24oWydESVNBQkxF
RF9BMycsICdESVNBQkxFRF9CMyddLCBbXSkKKyAgICAgICAgc2VsZi5fdGVzdF9qc29uX2dlbmVy
YXRpb24oWydBNCddLCBbJ0I0JywgJ0ZBSUxTX0M0J10pCisgICAgICAgIHNlbGYuX3Rlc3RfanNv
bl9nZW5lcmF0aW9uKFsnRElTQUJMRURfQzUnLCAnRElTQUJMRURfRDUnXSwgWydBNScsICdCNSdd
KQogICAgICAgICBzZWxmLl90ZXN0X2pzb25fZ2VuZXJhdGlvbigKLSAgICAgICAgICAgIFtdLCB7
J0E1JzogcmVhc29uLCAnQjUnOiByZWFzb259LCBbJ0M1JywgJ0Q1J10pCisgICAgICAgICAgICBb
J0E2JywgJ0I2JywgJ0ZBSUxTX0M2JywgJ0RJU0FCTEVEX0U2JywgJ0RJU0FCTEVEX0Y2J10sCisg
ICAgICAgICAgICBbJ0ZBSUxTX0Q2J10pCiAgICAgICAgIHNlbGYuX3Rlc3RfanNvbl9nZW5lcmF0
aW9uKAotICAgICAgICAgICAgWydBNicsICdCNicsICdDNiddLCB7J0Q2JzogcmVhc29ufSwgWydF
NicsICdGNiddKQotCisgICAgICAgICAgICBbJ0E3JywgJ0ZMQUtZX0I3JywgJ0RJU0FCTEVEX0M3
J10sCisgICAgICAgICAgICBbJ0ZBSUxTX0Q3JywgJ0ZMQUtZX0Q4J10pCiAKIGlmIF9fbmFtZV9f
ID09ICdfX21haW5fXyc6CiAgICAgdW5pdHRlc3QubWFpbigpCmRpZmYgLS1naXQgYS9XZWJLaXRU
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzLnB5IGIv
V2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0
cy5weQppbmRleCAyZTJkYTZkNTg3Mzc3MTgwYzViZmJkMTc0OGRiODU5NGVmYWFhMjI1Li4yOGJj
OTdhNGU0OGQ2NDU1YTkzMjI3M2YwZWExMjUxYjcxZDAwNzEwIDEwMDc1NQotLS0gYS9XZWJLaXRU
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzLnB5Cisr
KyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRf
dGVzdHMucHkKQEAgLTY5LDcgKzY5LDYgQEAgZnJvbSBsYXlvdXRfcGFja2FnZSBpbXBvcnQgcHJp
bnRpbmcKIGZyb20gbGF5b3V0X3BhY2thZ2UgaW1wb3J0IHRlc3RfZXhwZWN0YXRpb25zCiBmcm9t
IGxheW91dF9wYWNrYWdlIGltcG9ydCB0ZXN0X2ZhaWx1cmVzCiBmcm9tIGxheW91dF9wYWNrYWdl
IGltcG9ydCB0ZXN0X2ZpbGVzCi1mcm9tIGxheW91dF9wYWNrYWdlIGltcG9ydCB0ZXN0X3Jlc3Vs
dHNfdXBsb2FkZXIKIGZyb20gdGVzdF90eXBlcyBpbXBvcnQgaW1hZ2VfZGlmZgogZnJvbSB0ZXN0
X3R5cGVzIGltcG9ydCB0ZXh0X2RpZmYKIGZyb20gdGVzdF90eXBlcyBpbXBvcnQgdGVzdF90eXBl
X2Jhc2UKQEAgLTgxNSwxMiArODE0LDEwIEBAIGNsYXNzIFRlc3RSdW5uZXI6CiAgICAgICAgIHNl
bGYuX3ByaW50ZXIucHJpbnRfdW5leHBlY3RlZF9yZXN1bHRzKHVuZXhwZWN0ZWRfcmVzdWx0cykK
IAogICAgICAgICBpZiBzZWxmLl9vcHRpb25zLnJlY29yZF9yZXN1bHRzOgotICAgICAgICAgICAg
IyBXcml0ZSB0aGUgc2FtZSBkYXRhIHRvIGxvZyBmaWxlcy4KLSAgICAgICAgICAgIHNlbGYuX3dy
aXRlX2pzb25fZmlsZXModW5leHBlY3RlZF9yZXN1bHRzLCByZXN1bHRfc3VtbWFyeSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kaXZpZHVhbF90ZXN0X3RpbWluZ3MpCi0K
LSAgICAgICAgICAgICMgVXBsb2FkIGdlbmVyYXRlZCBKU09OIGZpbGVzIHRvIGFwcGVuZ2luZSBz
ZXJ2ZXIuCi0gICAgICAgICAgICBzZWxmLl91cGxvYWRfanNvbl9maWxlcygpCisgICAgICAgICAg
ICAjIFdyaXRlIHRoZSBzYW1lIGRhdGEgdG8gbG9nIGZpbGVzIGFuZCB1cGxvYWQgZ2VuZXJhdGVk
IEpTT04gZmlsZXMKKyAgICAgICAgICAgICMgdG8gYXBwZW5naW5lIHNlcnZlci4KKyAgICAgICAg
ICAgIHNlbGYuX3VwbG9hZF9qc29uX2ZpbGVzKHVuZXhwZWN0ZWRfcmVzdWx0cywgcmVzdWx0X3N1
bW1hcnksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRpdmlkdWFsX3Rl
c3RfdGltaW5ncykKIAogICAgICAgICAjIFdyaXRlIHRoZSBzdW1tYXJ5IHRvIGRpc2sgKHJlc3Vs
dHMuaHRtbCkgYW5kIGRpc3BsYXkgaXQgaWYgcmVxdWVzdGVkLgogICAgICAgICB3cm90ZV9yZXN1
bHRzID0gc2VsZi5fd3JpdGVfcmVzdWx0c19odG1sX2ZpbGUocmVzdWx0X3N1bW1hcnkpCkBAIC05
MDMsMTAgKzkwMCwxMCBAQCBjbGFzcyBUZXN0UnVubmVyOgogCiAgICAgICAgIHJldHVybiBmYWls
ZWRfcmVzdWx0cwogCi0gICAgZGVmIF93cml0ZV9qc29uX2ZpbGVzKHNlbGYsIHVuZXhwZWN0ZWRf
cmVzdWx0cywgcmVzdWx0X3N1bW1hcnksCisgICAgZGVmIF91cGxvYWRfanNvbl9maWxlcyhzZWxm
LCB1bmV4cGVjdGVkX3Jlc3VsdHMsIHJlc3VsdF9zdW1tYXJ5LAogICAgICAgICAgICAgICAgICAg
ICAgICAgaW5kaXZpZHVhbF90ZXN0X3RpbWluZ3MpOgogICAgICAgICAiIiJXcml0ZXMgdGhlIHJl
c3VsdHMgb2YgdGhlIHRlc3QgcnVuIGFzIEpTT04gZmlsZXMgaW50byB0aGUgcmVzdWx0cwotICAg
ICAgICBkaXIuCisgICAgICAgIGRpciBhbmQgdXBsb2FkIHRoZSBmaWxlcyB0byB0aGUgYXBwZW5n
aW5lIHNlcnZlci4KIAogICAgICAgICBUaGVyZSBhcmUgdGhyZWUgZGlmZmVyZW50IGZpbGVzIHdy
aXR0ZW4gaW50byB0aGUgcmVzdWx0cyBkaXI6CiAgICAgICAgICAgdW5leHBlY3RlZF9yZXN1bHRz
Lmpzb246IEEgc2hvcnQgbGlzdCBvZiBhbnkgdW5leHBlY3RlZCByZXN1bHRzLgpAQCAtOTM1LDcg
KzkzMiw3IEBAIGNsYXNzIFRlc3RSdW5uZXI6CiAgICAgICAgIHdpdGggY29kZWNzLm9wZW4oZXhw
ZWN0YXRpb25zX3BhdGgsICJ3IiwgInV0Zi04IikgYXMgZmlsZToKICAgICAgICAgICAgIGZpbGUu
d3JpdGUodSJBRERfRVhQRUNUQVRJT05TKCVzKTsiICUgZXhwZWN0YXRpb25zX2pzb24pCiAKLSAg
ICAgICAganNvbl9sYXlvdXRfcmVzdWx0c19nZW5lcmF0b3IuSlNPTkxheW91dFJlc3VsdHNHZW5l
cmF0b3IoCisgICAgICAgIGdlbmVyYXRvciA9IGpzb25fbGF5b3V0X3Jlc3VsdHNfZ2VuZXJhdG9y
LkpTT05MYXlvdXRSZXN1bHRzR2VuZXJhdG9yKAogICAgICAgICAgICAgc2VsZi5fcG9ydCwgc2Vs
Zi5fb3B0aW9ucy5idWlsZGVyX25hbWUsIHNlbGYuX29wdGlvbnMuYnVpbGRfbmFtZSwKICAgICAg
ICAgICAgIHNlbGYuX29wdGlvbnMuYnVpbGRfbnVtYmVyLCBzZWxmLl9vcHRpb25zLnJlc3VsdHNf
ZGlyZWN0b3J5LAogICAgICAgICAgICAgQlVJTERFUl9CQVNFX1VSTCwgaW5kaXZpZHVhbF90ZXN0
X3RpbWluZ3MsCkBAIC05NDUsMzUgKzk0MiwxNyBAQCBjbGFzcyBUZXN0UnVubmVyOgogCiAgICAg
ICAgIF9sb2cuZGVidWcoIkZpbmlzaGVkIHdyaXRpbmcgSlNPTiBmaWxlcy4iKQogCi0gICAgZGVm
IF91cGxvYWRfanNvbl9maWxlcyhzZWxmKToKLSAgICAgICAgaWYgbm90IHNlbGYuX29wdGlvbnMu
dGVzdF9yZXN1bHRzX3NlcnZlcjoKLSAgICAgICAgICAgIHJldHVybgotCi0gICAgICAgIF9sb2cu
aW5mbygiVXBsb2FkaW5nIEpTT04gZmlsZXMgZm9yIGJ1aWxkZXI6ICVzIiwKLSAgICAgICAgICAg
ICAgICAgICBzZWxmLl9vcHRpb25zLmJ1aWxkZXJfbmFtZSkKLQotICAgICAgICBhdHRycyA9IFso
ImJ1aWxkZXIiLCBzZWxmLl9vcHRpb25zLmJ1aWxkZXJfbmFtZSldCiAgICAgICAgIGpzb25fZmls
ZXMgPSBbImV4cGVjdGF0aW9ucy5qc29uIl0KICAgICAgICAgaWYgc2VsZi5fb3B0aW9ucy51cGxv
YWRfZnVsbF9yZXN1bHRzOgogICAgICAgICAgICAganNvbl9maWxlcy5hcHBlbmQoInJlc3VsdHMu
anNvbiIpCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBqc29uX2ZpbGVzLmFwcGVuZCgiaW5j
cmVtZW50YWxfcmVzdWx0cy5qc29uIikKIAotICAgICAgICBmaWxlcyA9IFsoZmlsZSwgb3MucGF0
aC5qb2luKHNlbGYuX29wdGlvbnMucmVzdWx0c19kaXJlY3RvcnksIGZpbGUpKQotICAgICAgICAg
ICAgZm9yIGZpbGUgaW4ganNvbl9maWxlc10KLQotICAgICAgICB1cGxvYWRlciA9IHRlc3RfcmVz
dWx0c191cGxvYWRlci5UZXN0UmVzdWx0c1VwbG9hZGVyKAotICAgICAgICAgICAgc2VsZi5fb3B0
aW9ucy50ZXN0X3Jlc3VsdHNfc2VydmVyKQotICAgICAgICB0cnk6Ci0gICAgICAgICAgICAjIFNl
dCB1cGxvYWRpbmcgdGltZW91dCBpbiBjYXNlIGFwcGVuZ2luZSBzZXJ2ZXIgaXMgaGF2aW5nIHBy
b2JsZW0uCi0gICAgICAgICAgICAjIDEyMCBzZWNvbmRzIGFyZSBtb3JlIHRoYW4gZW5vdWdoIHRv
IHVwbG9hZCB0ZXN0IHJlc3VsdHMuCi0gICAgICAgICAgICB1cGxvYWRlci51cGxvYWQoYXR0cnMs
IGZpbGVzLCAxMjApCi0gICAgICAgIGV4Y2VwdCBFeGNlcHRpb24sIGVycjoKLSAgICAgICAgICAg
IF9sb2cuZXJyb3IoIlVwbG9hZCBmYWlsZWQ6ICVzIiAlIGVycikKLSAgICAgICAgICAgIHJldHVy
bgorICAgICAgICBnZW5lcmF0b3IudXBsb2FkX2pzb25fZmlsZXMoanNvbl9maWxlcykKIAogICAg
ICAgICBfbG9nLmluZm8oIkpTT04gZmlsZXMgdXBsb2FkZWQuIikKIAorCiAgICAgZGVmIF9wcmlu
dF9jb25maWcoc2VsZik6CiAgICAgICAgICIiIlByaW50cyB0aGUgY29uZmlndXJhdGlvbiBmb3Ig
dGhlIHRlc3QgcnVuLiIiIgogICAgICAgICBwID0gc2VsZi5fcHJpbnRlcgo=
</data>
<flag name="review"
          id="57173"
          type_id="1"
          status="+"
          setter="ojan"
    />
          </attachment>
      

    </bug>

</bugzilla>