<?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>169053</bug_id>
          
          <creation_ts>2017-03-01 13:32:47 -0800</creation_ts>
          <short_desc>Refactor test results classes in webkitpy to enable faster EWS iteration</short_desc>
          <delta_ts>2017-03-02 14:45:02 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>169063</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Srinivasan Vijayaraghavan">webkit</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>glenn</cc>
    
    <cc>lforschler</cc>
    
    <cc>webkit</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1282420</commentid>
    <comment_count>0</comment_count>
    <who name="Srinivasan Vijayaraghavan">webkit</who>
    <bug_when>2017-03-01 13:32:47 -0800</bug_when>
    <thetext>Patch incoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1282421</commentid>
    <comment_count>1</comment_count>
      <attachid>303108</attachid>
    <who name="Srinivasan Vijayaraghavan">webkit</who>
    <bug_when>2017-03-01 13:35:57 -0800</bug_when>
    <thetext>Created attachment 303108
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1282801</commentid>
    <comment_count>2</comment_count>
      <attachid>303108</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2017-03-02 11:07:21 -0800</bug_when>
    <thetext>Comment on attachment 303108
Patch

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

&gt; Tools/Scripts/webkitpy/tool/bot/abstracttestresultsreader.py:37
&gt; +        except (IOError, KeyError):
&gt; +            return None

Can there be logging when this happens? I&apos;m concerned that if the issue occurs, it may be hard to debug when the failure is silent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1282818</commentid>
    <comment_count>3</comment_count>
      <attachid>303108</attachid>
    <who name="Dean Johnson">dean_johnson</who>
    <bug_when>2017-03-02 12:12:24 -0800</bug_when>
    <thetext>Comment on attachment 303108
Patch

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

LGTM; Please add the unit test(s) mentioned below.

&gt; Tools/Scripts/webkitpy/common/net/abstracttestresults_unittest.py:37
&gt; +        self.assertEqual(None, AbstractTestResults.parse_json_string(invalid_json_v2))

Please add a succeeding unit test too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1282871</commentid>
    <comment_count>4</comment_count>
      <attachid>303235</attachid>
    <who name="Srinivasan Vijayaraghavan">webkit</who>
    <bug_when>2017-03-02 13:53:24 -0800</bug_when>
    <thetext>Created attachment 303235
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1282899</commentid>
    <comment_count>5</comment_count>
      <attachid>303235</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-02 14:44:57 -0800</bug_when>
    <thetext>Comment on attachment 303235
Patch

Clearing flags on attachment: 303235

Committed r213306: &lt;http://trac.webkit.org/changeset/213306&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1282900</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-02 14:45:02 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>303108</attachid>
            <date>2017-03-01 13:35:57 -0800</date>
            <delta_ts>2017-03-02 13:53:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-169053-20170301133258.patch</filename>
            <type>text/plain</type>
            <size>12523</size>
            <attacher name="Srinivasan Vijayaraghavan">webkit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEzMjM3CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZWM1ZmQzOTk0NGU1YzZlYWUyOGJiNjhhYzczYTVhNmQ2
MTY0MTkwNi4uNDA2ZTQ1NmQzZmRiMTU0MTAzZGIzYzllY2Q4NTRlYWJjNmM3ZWE3NyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMy
IEBACisyMDE3LTAzLTAxICBTcmluaXZhc2FuIFZpamF5YXJhZ2hhdmFuICA8c3ZpamF5YXJhZ2hh
dmFuQGFwcGxlLmNvbT4KKworICAgICAgICBSZWZhY3RvciB0ZXN0IHJlc3VsdHMgY2xhc3NlcyBp
biB3ZWJraXRweSB0byBlbmFibGUgZmFzdGVyIEVXUyBpdGVyYXRpb24KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2OTA1MworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21t
b24vbmV0L2Fic3RyYWN0dGVzdHJlc3VsdHMucHk6CisgICAgICAgIChBYnN0cmFjdFRlc3RSZXN1
bHRzKTogSW1wb3J0IGpzb24gZm9yIHBhcnNlX2pzb25fc3RyaW5nKCkuCisgICAgICAgIChBYnN0
cmFjdFRlc3RSZXN1bHRzLnBhcnNlX2pzb25fc3RyaW5nKTogQWJzdHJhY3RlZCBvdXQgZnJvbSBK
U0NUZXN0UmVzdWx0cy5yZXN1bHRzX2Zyb21fc3RyaW5nKCkuCisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS9jb21tb24vbmV0L2Fic3RyYWN0dGVzdHJlc3VsdHNfdW5pdHRlc3QucHk6IEFkZGVk
LgorICAgICAgICAoQWJzdHJhY3RUZXN0UmVzdWx0c1Rlc3QpOiBDbGFzcyB0aGF0IHRlc3RzIEFi
c3RyYWN0VGVzdFJlc3VsdHMuCisgICAgICAgIChBYnN0cmFjdFRlc3RSZXN1bHRzVGVzdC50ZXN0
X3BhcnNlX2pzb25fc3RyaW5nKTogTW92ZSBKU09OIHBhcnNpbmcgdW5pdCB0ZXN0cyBmcm9tIEpT
Q1Rlc3RSZXN1bHRzVGVzdC4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQv
anNjdGVzdHJlc3VsdHMucHk6CisgICAgICAgIChKU0NUZXN0UmVzdWx0cy5yZXN1bHRzX2Zyb21f
c3RyaW5nKTogQ2FsbCBwYXJzZV9qc29uX3N0cmluZyBiZWNhdXNlIGl0IHdhcyBhYnN0cmFjdGVk
IG91dC4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvanNjdGVzdHJlc3Vs
dHNfdW5pdHRlc3QucHk6CisgICAgICAgIChKU0NUZXN0UmVzdWx0c1Rlc3QudGVzdF9yZXN1bHRz
X2Zyb21fc3RyaW5nKTogUmVtb3ZlIEpTT04gcGFyc2luZyB1bml0IHRlc3RzLCBiZWNhdXNlIHRo
ZXkgd2VyZSBtb3ZlZC4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L2Fic3Ry
YWN0dGVzdHJlc3VsdHNyZWFkZXIucHk6IEFkZGVkLgorICAgICAgICAoQWJzdHJhY3RUZXN0UmVz
dWx0c1JlYWRlcik6IEdlbmVyaWMgVGVzdFJlc3VsdHNSZWFkZXIgd2l0aCBmdW5jdGlvbnMgY29t
bW9uIHRvIGpzYywgYmluZGluZ3MgZXRjLgorICAgICAgICAoQWJzdHJhY3RUZXN0UmVzdWx0c1Jl
YWRlci5fX2luaXRfXyk6IE1vdmVkIGZyb20gSlNDVGVzdFJlc3VsdHNSZWFkZXIuX19pbml0X18o
KS4KKyAgICAgICAgKEFic3RyYWN0VGVzdFJlc3VsdHNSZWFkZXIuX3JlYWRfZmlsZV9jb250ZW50
cyk6IE1vdmVkIGZyb20gSlNDVGVzdFJlc3VsdHNSZWFkZXIuX3JlYWRfZmlsZV9jb250ZW50cygp
LgorICAgICAgICAoQWJzdHJhY3RUZXN0UmVzdWx0c1JlYWRlci5yZXN1bHRzKTogU3R1Yi4KKyAg
ICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L2pzY3Rlc3RyZXN1bHRzcmVhZGVyLnB5
OgorICAgICAgICAoSlNDVGVzdFJlc3VsdHNSZWFkZXIpOiBOb3cgaW5oZXJpdHMgZnJvbSBBYnN0
cmFjdFRlc3RSZXN1bHRzUmVhZGVyLgorICAgICAgICAoSlNDVGVzdFJlc3VsdHNSZWFkZXIuX19p
bml0X18pOiBEZWxldGVkLgorICAgICAgICAoSlNDVGVzdFJlc3VsdHNSZWFkZXIuX3JlYWRfZmls
ZV9jb250ZW50cyk6IERlbGV0ZWQuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL2Jv
dC9sYXlvdXR0ZXN0cmVzdWx0c3JlYWRlci5weToKKyAgICAgICAgKExheW91dFRlc3RSZXN1bHRz
UmVhZGVyKTogTm93IGluaGVyaXRzIGZyb20gQWJzdHJhY3RUZXN0UmVzdWx0c1JlYWRlci4KKwog
MjAxNy0wMy0wMSAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAg
ICAgICBBZGQgYSB3YXkgdG8gd2F0Y2ggdGhlIENTU1Byb3BlcnRpZXMuanNvbiBmaWxlLCBhbmQg
YWRkIG1lIGFuZCBEYW4gQmF0ZXMgdG8gd2F0Y2ggaXQuCmRpZmYgLS1naXQgYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvYWJzdHJhY3R0ZXN0cmVzdWx0cy5weSBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9hYnN0cmFjdHRlc3RyZXN1bHRzLnB5CmluZGV4IDMw
YTc4NDViYzNmM2Q5MzJkMTRhOTFjMjkzZTczZmZjOTQyMmJlOTMuLmViMmE5NGM4YmVjZDA2MzUx
MDAwOTc2ZGMyYjU3MDhhYTU0NWQ0YzEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvY29tbW9uL25ldC9hYnN0cmFjdHRlc3RyZXN1bHRzLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvY29tbW9uL25ldC9hYnN0cmFjdHRlc3RyZXN1bHRzLnB5CkBAIC0yMCwxMiArMjAs
MjQgQEAKICMgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAoraW1wb3J0IGpz
b24KIGltcG9ydCBsb2dnaW5nCiAKIF9sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykK
IAogCiBjbGFzcyBBYnN0cmFjdFRlc3RSZXN1bHRzKG9iamVjdCk6CisgICAgQGNsYXNzbWV0aG9k
CisgICAgZGVmIHBhcnNlX2pzb25fc3RyaW5nKGNscywgc3RyaW5nKToKKyAgICAgICAgaWYgbm90
IHN0cmluZzoKKyAgICAgICAgICAgIHJldHVybiBOb25lCisKKyAgICAgICAgdHJ5OgorICAgICAg
ICAgICAgcmV0dXJuIGpzb24ubG9hZHMoc3RyaW5nKQorICAgICAgICBleGNlcHQgVmFsdWVFcnJv
cjoKKyAgICAgICAgICAgIF9sb2cuZXJyb3IoJ0ludmFsaWQgSlNPTiByZXN1bHRzJykKKyAgICAg
ICAgICAgIHJldHVybiBOb25lCisKICAgICBkZWYgZmFpbGluZ190ZXN0cyhzZWxmKToKICAgICAg
ICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcigic3ViY2xhc3NlcyBtdXN0IGltcGxlbWVudCIp
CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9hYnN0cmFj
dHRlc3RyZXN1bHRzX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24v
bmV0L2Fic3RyYWN0dGVzdHJlc3VsdHNfdW5pdHRlc3QucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmI4YjFjYjUw
NzAwZDBlYTE0ZDQwODBjYTEyN2FhMDIyZGFmYzlmMwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9hYnN0cmFjdHRlc3RyZXN1bHRzX3VuaXR0ZXN0
LnB5CkBAIC0wLDAgKzEsMzcgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUgbWV0
OgorIyAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisjICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorIyBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRAorIyBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisjIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCisjIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwKKyMgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKKyMgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKKyMg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwKKyMgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKworaW1wb3J0IHVuaXR0ZXN0CisKK2Zyb20gd2Via2l0cHkuY29tbW9uLm5ldC5hYnN0cmFj
dHRlc3RyZXN1bHRzIGltcG9ydCBBYnN0cmFjdFRlc3RSZXN1bHRzCisKKworY2xhc3MgQWJzdHJh
Y3RUZXN0UmVzdWx0c1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgorICAgIGRlZiB0ZXN0X3BhcnNl
X2pzb25fc3RyaW5nKHNlbGYpOgorICAgICAgICBub25lX2l0ZW0gPSBOb25lCisgICAgICAgIGVt
cHR5X2pzb24gPSAnJworICAgICAgICBpbnZhbGlkX2pzb24gPSAneyJhbGxBcGlUZXN0c1Bhc3Nl
ZCI6JworICAgICAgICBpbnZhbGlkX2pzb25fdjIgPSAneyJlcnInCisgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoTm9uZSwgQWJzdHJhY3RUZXN0UmVzdWx0cy5wYXJzZV9qc29uX3N0cmluZyhub25l
X2l0ZW0pKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKE5vbmUsIEFic3RyYWN0VGVzdFJlc3Vs
dHMucGFyc2VfanNvbl9zdHJpbmcoZW1wdHlfanNvbikpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWwoTm9uZSwgQWJzdHJhY3RUZXN0UmVzdWx0cy5wYXJzZV9qc29uX3N0cmluZyhpbnZhbGlkX2pz
b24pKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKE5vbmUsIEFic3RyYWN0VGVzdFJlc3VsdHMu
cGFyc2VfanNvbl9zdHJpbmcoaW52YWxpZF9qc29uX3YyKSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9qc2N0ZXN0cmVzdWx0cy5weSBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvY29tbW9uL25ldC9qc2N0ZXN0cmVzdWx0cy5weQppbmRleCA1MjdjMmUwOWM2
ZGQwMDBkNWMzNTU1MDczZWU1Y2EzNDEwOGE2ZWZlLi44NzVlYzBlNDc5ZTMyMzllMzE1NmYwMGNj
MWFiYWRiMWIwNjUzYmFjIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1v
bi9uZXQvanNjdGVzdHJlc3VsdHMucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21t
b24vbmV0L2pzY3Rlc3RyZXN1bHRzLnB5CkBAIC0yMCw3ICsyMCw2IEBACiAjIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKLWltcG9ydCBqc29uCiBpbXBvcnQgbG9nZ2luZwog
CiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5uZXQuYWJzdHJhY3R0ZXN0cmVzdWx0cyBpbXBvcnQgQWJz
dHJhY3RUZXN0UmVzdWx0cwpAQCAtNDUsMTMgKzQ0LDggQEAgY2xhc3MgSlNDVGVzdFJlc3VsdHMo
QWJzdHJhY3RUZXN0UmVzdWx0cyk6CiAKICAgICBAY2xhc3NtZXRob2QKICAgICBkZWYgcmVzdWx0
c19mcm9tX3N0cmluZyhjbHMsIHN0cmluZyk6Ci0gICAgICAgIGlmIG5vdCBzdHJpbmc6Ci0gICAg
ICAgICAgICByZXR1cm4gTm9uZQotCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIHBhcnNlZF9y
ZXN1bHRzID0ganNvbi5sb2FkcyhzdHJpbmcpCi0gICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgot
ICAgICAgICAgICAgX2xvZy5lcnJvcignSW52YWxpZCBKU09OIHJlc3VsdHMnKQorICAgICAgICBw
YXJzZWRfcmVzdWx0cyA9IGNscy5wYXJzZV9qc29uX3N0cmluZyhzdHJpbmcpCisgICAgICAgIGlm
IG5vdCBwYXJzZWRfcmVzdWx0czoKICAgICAgICAgICAgIHJldHVybiBOb25lCiAKICAgICAgICAg
aWYgJ2FsbEFwaVRlc3RzUGFzc2VkJyBub3QgaW4gcGFyc2VkX3Jlc3VsdHMgb3IgJ3N0cmVzc1Rl
c3RGYWlsdXJlcycgbm90IGluIHBhcnNlZF9yZXN1bHRzOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9jb21tb24vbmV0L2pzY3Rlc3RyZXN1bHRzX3VuaXR0ZXN0LnB5IGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L2pzY3Rlc3RyZXN1bHRzX3VuaXR0ZXN0LnB5
CmluZGV4IDRjZjExNDlhZmNkNjNiNWZiYTY2ODMxNDliY2E4MzdhYzZlYWI5MTYuLmM0MjJkYTA2
NTBiMDRiNjE0MTZlMWNiNzIwNWFjMTgyMTQ3MDAwYmUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvY29tbW9uL25ldC9qc2N0ZXN0cmVzdWx0c191bml0dGVzdC5weQorKysgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvanNjdGVzdHJlc3VsdHNfdW5pdHRlc3Qu
cHkKQEAgLTI3LDE0ICsyNyw4IEBAIGZyb20gd2Via2l0cHkuY29tbW9uLm5ldC5qc2N0ZXN0cmVz
dWx0cyBpbXBvcnQgSlNDVGVzdFJlc3VsdHMKIAogY2xhc3MgSlNDVGVzdFJlc3VsdHNUZXN0KHVu
aXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgdGVzdF9yZXN1bHRzX2Zyb21fc3RyaW5nKHNlbGYp
OgotICAgICAgICBub25lX2l0ZW0gPSBOb25lCi0gICAgICAgIGVtcHR5X2pzb24gPSAnJwotICAg
ICAgICBpbnZhbGlkX2pzb24gPSAneyJhbGxBcGlUZXN0c1Bhc3NlZCI6JwogICAgICAgICBpbmNv
bXBsZXRlX2pzb25fdjEgPSAneyJhbGxBcGlUZXN0c1Bhc3NlZCI6IHRydWV9JwogICAgICAgICBp
bmNvbXBsZXRlX2pzb25fdjIgPSAneyJzdHJlc3NUZXN0RmFpbHVyZXMiOltdfScKLSAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChOb25lLCBKU0NUZXN0UmVzdWx0cy5yZXN1bHRzX2Zyb21fc3RyaW5n
KG5vbmVfaXRlbSkpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoTm9uZSwgSlNDVGVzdFJlc3Vs
dHMucmVzdWx0c19mcm9tX3N0cmluZyhlbXB0eV9qc29uKSkKLSAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbChOb25lLCBKU0NUZXN0UmVzdWx0cy5yZXN1bHRzX2Zyb21fc3RyaW5nKGludmFsaWRfanNv
bikpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoTm9uZSwgSlNDVGVzdFJlc3VsdHMucmVzdWx0
c19mcm9tX3N0cmluZyhpbmNvbXBsZXRlX2pzb25fdjEpKQogICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKE5vbmUsIEpTQ1Rlc3RSZXN1bHRzLnJlc3VsdHNfZnJvbV9zdHJpbmcoaW5jb21wbGV0ZV9q
c29uX3YyKSkKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9h
YnN0cmFjdHRlc3RyZXN1bHRzcmVhZGVyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29s
L2JvdC9hYnN0cmFjdHRlc3RyZXN1bHRzcmVhZGVyLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNjN2Y0ODg1OWY5
NDcyMGYwM2VlZTBjMGQwMzY0MGI5ZTY0ZWEzZGQKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L2Fic3RyYWN0dGVzdHJlc3VsdHNyZWFkZXIucHkKQEAg
LTAsMCArMSw0MCBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBtZXQ6CisjIDEu
ICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorIyAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyMg
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisjIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVECisjIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyMgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKKyMgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTAorIyBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgorIyBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgorIyBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLAorIyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCitp
bXBvcnQgbG9nZ2luZworCitfbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pCisKKwor
Y2xhc3MgQWJzdHJhY3RUZXN0UmVzdWx0c1JlYWRlcihvYmplY3QpOgorICAgIGRlZiBfX2luaXRf
XyhzZWxmLCBob3N0LCByZXN1bHRzX2RpcmVjdG9yeSk6CisgICAgICAgIHNlbGYuX2hvc3QgPSBo
b3N0CisgICAgICAgIHNlbGYuX3Jlc3VsdHNfZGlyZWN0b3J5ID0gcmVzdWx0c19kaXJlY3RvcnkK
KworICAgIGRlZiBfcmVhZF9maWxlX2NvbnRlbnRzKHNlbGYsIHBhdGgpOgorICAgICAgICB0cnk6
CisgICAgICAgICAgICByZXR1cm4gc2VsZi5faG9zdC5maWxlc3lzdGVtLnJlYWRfdGV4dF9maWxl
KHBhdGgpCisgICAgICAgIGV4Y2VwdCAoSU9FcnJvciwgS2V5RXJyb3IpOgorICAgICAgICAgICAg
cmV0dXJuIE5vbmUKKworICAgIGRlZiByZXN1bHRzKHNlbGYpOgorICAgICAgICByYWlzZSBOb3RJ
bXBsZW1lbnRlZEVycm9yKCJzdWJjbGFzc2VzIG11c3QgaW1wbGVtZW50IikKZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvanNjdGVzdHJlc3VsdHNyZWFkZXIucHkg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L2pzY3Rlc3RyZXN1bHRzcmVhZGVyLnB5
CmluZGV4IGIzMjY1YWJjMWIzYTY2YzRkZTQyNDk2ZThjOTQwNTNiNjQ4YjBhYjMuLjZiNzliNGJl
NGQxMThhMzEwZmI2OWM3NTBlNjk2YjZkYjM0YTc1MzcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvdG9vbC9ib3QvanNjdGVzdHJlc3VsdHNyZWFkZXIucHkKKysrIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9qc2N0ZXN0cmVzdWx0c3JlYWRlci5weQpAQCAtMjMs
MjEgKzIzLDEyIEBACiBpbXBvcnQgbG9nZ2luZwogCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5uZXQu
anNjdGVzdHJlc3VsdHMgaW1wb3J0IEpTQ1Rlc3RSZXN1bHRzCitmcm9tIHdlYmtpdHB5LnRvb2wu
Ym90LmFic3RyYWN0dGVzdHJlc3VsdHNyZWFkZXIgaW1wb3J0IEFic3RyYWN0VGVzdFJlc3VsdHNS
ZWFkZXIKIAogX2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQogCiAKLWNsYXNzIEpT
Q1Rlc3RSZXN1bHRzUmVhZGVyKG9iamVjdCk6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGhvc3Qs
IHJlc3VsdHNfZGlyZWN0b3J5KToKLSAgICAgICAgc2VsZi5faG9zdCA9IGhvc3QKLSAgICAgICAg
c2VsZi5fcmVzdWx0c19kaXJlY3RvcnkgPSByZXN1bHRzX2RpcmVjdG9yeQotCi0gICAgZGVmIF9y
ZWFkX2ZpbGVfY29udGVudHMoc2VsZiwgcGF0aCk6Ci0gICAgICAgIHRyeToKLSAgICAgICAgICAg
IHJldHVybiBzZWxmLl9ob3N0LmZpbGVzeXN0ZW0ucmVhZF90ZXh0X2ZpbGUocGF0aCkKLSAgICAg
ICAgZXhjZXB0IChJT0Vycm9yLCBLZXlFcnJvcik6Ci0gICAgICAgICAgICByZXR1cm4gTm9uZQot
CitjbGFzcyBKU0NUZXN0UmVzdWx0c1JlYWRlcihBYnN0cmFjdFRlc3RSZXN1bHRzUmVhZGVyKToK
ICAgICBkZWYgcmVzdWx0cyhzZWxmKToKICAgICAgICAgcmVzdWx0c19wYXRoID0gc2VsZi5faG9z
dC5maWxlc3lzdGVtLmpvaW4oc2VsZi5fcmVzdWx0c19kaXJlY3RvcnksICdqc2NfdGVzdF9yZXN1
bHRzLmpzb24nKQogICAgICAgICBjb250ZW50cyA9IHNlbGYuX3JlYWRfZmlsZV9jb250ZW50cyhy
ZXN1bHRzX3BhdGgpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90
L2xheW91dHRlc3RyZXN1bHRzcmVhZGVyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29s
L2JvdC9sYXlvdXR0ZXN0cmVzdWx0c3JlYWRlci5weQppbmRleCBjMzI4ZTViMTVlNTVkMjBmZGY3
ZTY0MDc2ZjRjNjUwNzg4ZTQ0MjNhLi5jZTUxOGJhMDc3NzdkZDg5NDFhYTY2OTRhODY1NzE2MmYw
ZWNiMzVmIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L2xheW91
dHRlc3RyZXN1bHRzcmVhZGVyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9i
b3QvbGF5b3V0dGVzdHJlc3VsdHNyZWFkZXIucHkKQEAgLTMwLDYgKzMwLDcgQEAgaW1wb3J0IGxv
Z2dpbmcKIAogZnJvbSB3ZWJraXRweS5jb21tb24ubmV0LmxheW91dHRlc3RyZXN1bHRzIGltcG9y
dCBMYXlvdXRUZXN0UmVzdWx0cwogZnJvbSB3ZWJraXRweS5jb21tb24ubmV0LnVuaXR0ZXN0cmVz
dWx0cyBpbXBvcnQgVW5pdFRlc3RSZXN1bHRzCitmcm9tIHdlYmtpdHB5LnRvb2wuYm90LmFic3Ry
YWN0dGVzdHJlc3VsdHNyZWFkZXIgaW1wb3J0IEFic3RyYWN0VGVzdFJlc3VsdHNSZWFkZXIKIGZy
b20gd2Via2l0cHkudG9vbC5zdGVwcy5ydW50ZXN0cyBpbXBvcnQgUnVuVGVzdHMKIAogX2xvZyA9
IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQpAQCAtMzcsNyArMzgsNyBAQCBfbG9nID0gbG9n
Z2luZy5nZXRMb2dnZXIoX19uYW1lX18pCiAKICMgRklYTUU6IFRoaXMgY2xhc3Mgbm8gbG9uZ2Vy
IGhhcyBhIGNsZWFyIHB1cnBvc2UsIGFuZCBzaG91bGQgcHJvYmFibHkKICMgYmUgbWFkZSBwYXJ0
IG9mIFBvcnQsIG9yIHJlbmFtZWQgdG8gTGF5b3V0VGVzdFJlc3VsdHNBcmNoaXZlciBvciBzb21l
dGhpbmcgbW9yZSBmaXR0aW5nPwotY2xhc3MgTGF5b3V0VGVzdFJlc3VsdHNSZWFkZXIob2JqZWN0
KToKK2NsYXNzIExheW91dFRlc3RSZXN1bHRzUmVhZGVyKEFic3RyYWN0VGVzdFJlc3VsdHNSZWFk
ZXIpOgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBob3N0LCByZXN1bHRzX2RpcmVjdG9yeSwgYXJj
aGl2ZV9kaXJlY3RvcnkpOgogICAgICAgICBzZWxmLl9ob3N0ID0gaG9zdAogICAgICAgICBzZWxm
Ll9yZXN1bHRzX2RpcmVjdG9yeSA9IHJlc3VsdHNfZGlyZWN0b3J5Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>303235</attachid>
            <date>2017-03-02 13:53:24 -0800</date>
            <delta_ts>2017-03-02 14:44:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-169053-20170302135323.patch</filename>
            <type>text/plain</type>
            <size>12992</size>
            <attacher name="Srinivasan Vijayaraghavan">webkit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEzMjM3CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZWM1ZmQzOTk0NGU1YzZlYWUyOGJiNjhhYzczYTVhNmQ2
MTY0MTkwNi4uY2ViN2IwMjcxMWRmMWI4ZWYwNDM1NTY3ZjdhYWJhMTAxNWU4NTQ0YyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMz
IEBACisyMDE3LTAzLTAyICBTcmluaXZhc2FuIFZpamF5YXJhZ2hhdmFuICA8c3ZpamF5YXJhZ2hh
dmFuQGFwcGxlLmNvbT4KKworICAgICAgICBSZWZhY3RvciB0ZXN0IHJlc3VsdHMgY2xhc3NlcyBp
biB3ZWJraXRweSB0byBlbmFibGUgZmFzdGVyIEVXUyBpdGVyYXRpb24KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2OTA1MworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21t
b24vbmV0L2Fic3RyYWN0dGVzdHJlc3VsdHMucHk6CisgICAgICAgIChBYnN0cmFjdFRlc3RSZXN1
bHRzKTogSW1wb3J0IGpzb24gZm9yIHBhcnNlX2pzb25fc3RyaW5nKCkuCisgICAgICAgIChBYnN0
cmFjdFRlc3RSZXN1bHRzLnBhcnNlX2pzb25fc3RyaW5nKTogQWJzdHJhY3RlZCBvdXQgZnJvbSBK
U0NUZXN0UmVzdWx0cy5yZXN1bHRzX2Zyb21fc3RyaW5nKCkuCisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS9jb21tb24vbmV0L2Fic3RyYWN0dGVzdHJlc3VsdHNfdW5pdHRlc3QucHk6IEFkZGVk
LgorICAgICAgICAoQWJzdHJhY3RUZXN0UmVzdWx0c1Rlc3QpOiBDbGFzcyB0aGF0IHRlc3RzIEFi
c3RyYWN0VGVzdFJlc3VsdHMuCisgICAgICAgIChBYnN0cmFjdFRlc3RSZXN1bHRzVGVzdC50ZXN0
X3BhcnNlX2pzb25fc3RyaW5nX2ludmFsaWRfaW5wdXRzKTogTW92ZSB1bml0IHRlc3RzIGZyb20g
SlNDVGVzdFJlc3VsdHNUZXN0LgorICAgICAgICAoQWJzdHJhY3RUZXN0UmVzdWx0c1Rlc3QudGVz
dF9wYXJzZV9qc29uX3N0cmluZ192YWxpZF9pbnB1dCk6IEFkZCBhIHVuaXQgdGVzdCBmb3IgYSBz
dWNjZXNzIGNhc2UuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L2pzY3Rl
c3RyZXN1bHRzLnB5OgorICAgICAgICAoSlNDVGVzdFJlc3VsdHMucmVzdWx0c19mcm9tX3N0cmlu
Zyk6IENhbGwgcGFyc2VfanNvbl9zdHJpbmcgYmVjYXVzZSBpdCB3YXMgYWJzdHJhY3RlZCBvdXQu
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L2pzY3Rlc3RyZXN1bHRzX3Vu
aXR0ZXN0LnB5OgorICAgICAgICAoSlNDVGVzdFJlc3VsdHNUZXN0LnRlc3RfcmVzdWx0c19mcm9t
X3N0cmluZyk6IFJlbW92ZSBKU09OIHBhcnNpbmcgdW5pdCB0ZXN0cywgYmVjYXVzZSB0aGV5IHdl
cmUgbW92ZWQuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9hYnN0cmFjdHRl
c3RyZXN1bHRzcmVhZGVyLnB5OiBBZGRlZC4KKyAgICAgICAgKEFic3RyYWN0VGVzdFJlc3VsdHNS
ZWFkZXIpOiBHZW5lcmljIFRlc3RSZXN1bHRzUmVhZGVyIHdpdGggZnVuY3Rpb25zIGNvbW1vbiB0
byBqc2MsIGJpbmRpbmdzIGV0Yy4KKyAgICAgICAgKEFic3RyYWN0VGVzdFJlc3VsdHNSZWFkZXIu
X19pbml0X18pOiBNb3ZlZCBmcm9tIEpTQ1Rlc3RSZXN1bHRzUmVhZGVyLl9faW5pdF9fKCkuCisg
ICAgICAgIChBYnN0cmFjdFRlc3RSZXN1bHRzUmVhZGVyLl9yZWFkX2ZpbGVfY29udGVudHMpOiBN
b3ZlZCBmcm9tIEpTQ1Rlc3RSZXN1bHRzUmVhZGVyLl9yZWFkX2ZpbGVfY29udGVudHMoKS4KKyAg
ICAgICAgKEFic3RyYWN0VGVzdFJlc3VsdHNSZWFkZXIucmVzdWx0cyk6IFN0dWIuCisgICAgICAg
ICogU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9qc2N0ZXN0cmVzdWx0c3JlYWRlci5weToKKyAg
ICAgICAgKEpTQ1Rlc3RSZXN1bHRzUmVhZGVyKTogTm93IGluaGVyaXRzIGZyb20gQWJzdHJhY3RU
ZXN0UmVzdWx0c1JlYWRlci4KKyAgICAgICAgKEpTQ1Rlc3RSZXN1bHRzUmVhZGVyLl9faW5pdF9f
KTogRGVsZXRlZC4KKyAgICAgICAgKEpTQ1Rlc3RSZXN1bHRzUmVhZGVyLl9yZWFkX2ZpbGVfY29u
dGVudHMpOiBEZWxldGVkLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvbGF5
b3V0dGVzdHJlc3VsdHNyZWFkZXIucHk6CisgICAgICAgIChMYXlvdXRUZXN0UmVzdWx0c1JlYWRl
cik6IE5vdyBpbmhlcml0cyBmcm9tIEFic3RyYWN0VGVzdFJlc3VsdHNSZWFkZXIuCisKIDIwMTct
MDMtMDEgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAg
QWRkIGEgd2F5IHRvIHdhdGNoIHRoZSBDU1NQcm9wZXJ0aWVzLmpzb24gZmlsZSwgYW5kIGFkZCBt
ZSBhbmQgRGFuIEJhdGVzIHRvIHdhdGNoIGl0LgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9jb21tb24vbmV0L2Fic3RyYWN0dGVzdHJlc3VsdHMucHkgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2NvbW1vbi9uZXQvYWJzdHJhY3R0ZXN0cmVzdWx0cy5weQppbmRleCAzMGE3ODQ1
YmMzZjNkOTMyZDE0YTkxYzI5M2U3M2ZmYzk0MjJiZTkzLi5lYjJhOTRjOGJlY2QwNjM1MTAwMDk3
NmRjMmI1NzA4YWE1NDVkNGMxIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2Nv
bW1vbi9uZXQvYWJzdHJhY3R0ZXN0cmVzdWx0cy5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2NvbW1vbi9uZXQvYWJzdHJhY3R0ZXN0cmVzdWx0cy5weQpAQCAtMjAsMTIgKzIwLDI0IEBA
CiAjIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKK2ltcG9ydCBqc29uCiBp
bXBvcnQgbG9nZ2luZwogCiBfbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pCiAKIAog
Y2xhc3MgQWJzdHJhY3RUZXN0UmVzdWx0cyhvYmplY3QpOgorICAgIEBjbGFzc21ldGhvZAorICAg
IGRlZiBwYXJzZV9qc29uX3N0cmluZyhjbHMsIHN0cmluZyk6CisgICAgICAgIGlmIG5vdCBzdHJp
bmc6CisgICAgICAgICAgICByZXR1cm4gTm9uZQorCisgICAgICAgIHRyeToKKyAgICAgICAgICAg
IHJldHVybiBqc29uLmxvYWRzKHN0cmluZykKKyAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6Cisg
ICAgICAgICAgICBfbG9nLmVycm9yKCdJbnZhbGlkIEpTT04gcmVzdWx0cycpCisgICAgICAgICAg
ICByZXR1cm4gTm9uZQorCiAgICAgZGVmIGZhaWxpbmdfdGVzdHMoc2VsZik6CiAgICAgICAgIHJh
aXNlIE5vdEltcGxlbWVudGVkRXJyb3IoInN1YmNsYXNzZXMgbXVzdCBpbXBsZW1lbnQiKQogCmRp
ZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvYWJzdHJhY3R0ZXN0
cmVzdWx0c191bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9h
YnN0cmFjdHRlc3RyZXN1bHRzX3VuaXR0ZXN0LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU0Y2JjZTMwOWE0YzRh
YmQyNzdhNTMxM2Q3ZDFhODk4MTlkZWNhMTUKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvYWJzdHJhY3R0ZXN0cmVzdWx0c191bml0dGVzdC5weQpA
QCAtMCwwICsxLDQzIEBACisjIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMg
MS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisjIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
IyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyMgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQKKyMgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorIyBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgorIyBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMCisjIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCisjIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCisjIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksCisjIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisK
K2ltcG9ydCB1bml0dGVzdAorCitmcm9tIHdlYmtpdHB5LmNvbW1vbi5uZXQuYWJzdHJhY3R0ZXN0
cmVzdWx0cyBpbXBvcnQgQWJzdHJhY3RUZXN0UmVzdWx0cworCisKK2NsYXNzIEFic3RyYWN0VGVz
dFJlc3VsdHNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICBkZWYgdGVzdF9wYXJzZV9qc29u
X3N0cmluZ19pbnZhbGlkX2lucHV0cyhzZWxmKToKKyAgICAgICAgbm9uZV9pdGVtID0gTm9uZQor
ICAgICAgICBlbXB0eV9qc29uID0gJycKKyAgICAgICAgaW52YWxpZF9qc29uID0gJ3siYWxsQXBp
VGVzdHNQYXNzZWQiOicKKyAgICAgICAgaW52YWxpZF9qc29uX3YyID0gJ3siZXJyJworICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKE5vbmUsIEFic3RyYWN0VGVzdFJlc3VsdHMucGFyc2VfanNvbl9z
dHJpbmcobm9uZV9pdGVtKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChOb25lLCBBYnN0cmFj
dFRlc3RSZXN1bHRzLnBhcnNlX2pzb25fc3RyaW5nKGVtcHR5X2pzb24pKQorICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKE5vbmUsIEFic3RyYWN0VGVzdFJlc3VsdHMucGFyc2VfanNvbl9zdHJpbmco
aW52YWxpZF9qc29uKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChOb25lLCBBYnN0cmFjdFRl
c3RSZXN1bHRzLnBhcnNlX2pzb25fc3RyaW5nKGludmFsaWRfanNvbl92MikpCisKKyAgICBkZWYg
dGVzdF9wYXJzZV9qc29uX3N0cmluZ192YWxpZF9pbnB1dChzZWxmKToKKyAgICAgICAgdGVzdF9z
dHJpbmcgPSAneyJmYWlsdXJlcyI6IFsiZmFpbDEiLCAiZmFpbDIiXSwgImVycm9ycyI6IFtdfScK
KyAgICAgICAgdGVzdF9kaWN0ID0geyJmYWlsdXJlcyI6IFsiZmFpbDEiLCAiZmFpbDIiXSwgImVy
cm9ycyI6IFtdfQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodGVzdF9kaWN0LCBBYnN0cmFj
dFRlc3RSZXN1bHRzLnBhcnNlX2pzb25fc3RyaW5nKHRlc3Rfc3RyaW5nKSkKZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9qc2N0ZXN0cmVzdWx0cy5weSBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9qc2N0ZXN0cmVzdWx0cy5weQppbmRleCA1
MjdjMmUwOWM2ZGQwMDBkNWMzNTU1MDczZWU1Y2EzNDEwOGE2ZWZlLi44NzVlYzBlNDc5ZTMyMzll
MzE1NmYwMGNjMWFiYWRiMWIwNjUzYmFjIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2NvbW1vbi9uZXQvanNjdGVzdHJlc3VsdHMucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9jb21tb24vbmV0L2pzY3Rlc3RyZXN1bHRzLnB5CkBAIC0yMCw3ICsyMCw2IEBACiAjIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKLWltcG9ydCBqc29uCiBpbXBvcnQg
bG9nZ2luZwogCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5uZXQuYWJzdHJhY3R0ZXN0cmVzdWx0cyBp
bXBvcnQgQWJzdHJhY3RUZXN0UmVzdWx0cwpAQCAtNDUsMTMgKzQ0LDggQEAgY2xhc3MgSlNDVGVz
dFJlc3VsdHMoQWJzdHJhY3RUZXN0UmVzdWx0cyk6CiAKICAgICBAY2xhc3NtZXRob2QKICAgICBk
ZWYgcmVzdWx0c19mcm9tX3N0cmluZyhjbHMsIHN0cmluZyk6Ci0gICAgICAgIGlmIG5vdCBzdHJp
bmc6Ci0gICAgICAgICAgICByZXR1cm4gTm9uZQotCi0gICAgICAgIHRyeToKLSAgICAgICAgICAg
IHBhcnNlZF9yZXN1bHRzID0ganNvbi5sb2FkcyhzdHJpbmcpCi0gICAgICAgIGV4Y2VwdCBWYWx1
ZUVycm9yOgotICAgICAgICAgICAgX2xvZy5lcnJvcignSW52YWxpZCBKU09OIHJlc3VsdHMnKQor
ICAgICAgICBwYXJzZWRfcmVzdWx0cyA9IGNscy5wYXJzZV9qc29uX3N0cmluZyhzdHJpbmcpCisg
ICAgICAgIGlmIG5vdCBwYXJzZWRfcmVzdWx0czoKICAgICAgICAgICAgIHJldHVybiBOb25lCiAK
ICAgICAgICAgaWYgJ2FsbEFwaVRlc3RzUGFzc2VkJyBub3QgaW4gcGFyc2VkX3Jlc3VsdHMgb3Ig
J3N0cmVzc1Rlc3RGYWlsdXJlcycgbm90IGluIHBhcnNlZF9yZXN1bHRzOgpkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L2pzY3Rlc3RyZXN1bHRzX3VuaXR0ZXN0
LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L2pzY3Rlc3RyZXN1bHRzX3Vu
aXR0ZXN0LnB5CmluZGV4IDRjZjExNDlhZmNkNjNiNWZiYTY2ODMxNDliY2E4MzdhYzZlYWI5MTYu
LmM0MjJkYTA2NTBiMDRiNjE0MTZlMWNiNzIwNWFjMTgyMTQ3MDAwYmUgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9qc2N0ZXN0cmVzdWx0c191bml0dGVzdC5w
eQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvanNjdGVzdHJlc3VsdHNf
dW5pdHRlc3QucHkKQEAgLTI3LDE0ICsyNyw4IEBAIGZyb20gd2Via2l0cHkuY29tbW9uLm5ldC5q
c2N0ZXN0cmVzdWx0cyBpbXBvcnQgSlNDVGVzdFJlc3VsdHMKIAogY2xhc3MgSlNDVGVzdFJlc3Vs
dHNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgdGVzdF9yZXN1bHRzX2Zyb21fc3Ry
aW5nKHNlbGYpOgotICAgICAgICBub25lX2l0ZW0gPSBOb25lCi0gICAgICAgIGVtcHR5X2pzb24g
PSAnJwotICAgICAgICBpbnZhbGlkX2pzb24gPSAneyJhbGxBcGlUZXN0c1Bhc3NlZCI6JwogICAg
ICAgICBpbmNvbXBsZXRlX2pzb25fdjEgPSAneyJhbGxBcGlUZXN0c1Bhc3NlZCI6IHRydWV9Jwog
ICAgICAgICBpbmNvbXBsZXRlX2pzb25fdjIgPSAneyJzdHJlc3NUZXN0RmFpbHVyZXMiOltdfScK
LSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChOb25lLCBKU0NUZXN0UmVzdWx0cy5yZXN1bHRzX2Zy
b21fc3RyaW5nKG5vbmVfaXRlbSkpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoTm9uZSwgSlND
VGVzdFJlc3VsdHMucmVzdWx0c19mcm9tX3N0cmluZyhlbXB0eV9qc29uKSkKLSAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChOb25lLCBKU0NUZXN0UmVzdWx0cy5yZXN1bHRzX2Zyb21fc3RyaW5nKGlu
dmFsaWRfanNvbikpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoTm9uZSwgSlNDVGVzdFJlc3Vs
dHMucmVzdWx0c19mcm9tX3N0cmluZyhpbmNvbXBsZXRlX2pzb25fdjEpKQogICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKE5vbmUsIEpTQ1Rlc3RSZXN1bHRzLnJlc3VsdHNfZnJvbV9zdHJpbmcoaW5j
b21wbGV0ZV9qc29uX3YyKSkKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90
b29sL2JvdC9hYnN0cmFjdHRlc3RyZXN1bHRzcmVhZGVyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS90b29sL2JvdC9hYnN0cmFjdHRlc3RyZXN1bHRzcmVhZGVyLnB5Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQy
MTM4OWZlNWFmOWMxMTc0MWMwZmJjYzU2YzZhMWU3MmNmZTg3ZWQKLS0tIC9kZXYvbnVsbAorKysg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L2Fic3RyYWN0dGVzdHJlc3VsdHNyZWFk
ZXIucHkKQEAgLTAsMCArMSw0MSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBt
ZXQ6CisjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisjIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVECisjIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyMgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKKyMg
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTAorIyBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgorIyBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgor
IyBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLAorIyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorCitpbXBvcnQgbG9nZ2luZworCitfbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1l
X18pCisKKworY2xhc3MgQWJzdHJhY3RUZXN0UmVzdWx0c1JlYWRlcihvYmplY3QpOgorICAgIGRl
ZiBfX2luaXRfXyhzZWxmLCBob3N0LCByZXN1bHRzX2RpcmVjdG9yeSk6CisgICAgICAgIHNlbGYu
X2hvc3QgPSBob3N0CisgICAgICAgIHNlbGYuX3Jlc3VsdHNfZGlyZWN0b3J5ID0gcmVzdWx0c19k
aXJlY3RvcnkKKworICAgIGRlZiBfcmVhZF9maWxlX2NvbnRlbnRzKHNlbGYsIHBhdGgpOgorICAg
ICAgICB0cnk6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5faG9zdC5maWxlc3lzdGVtLnJlYWRf
dGV4dF9maWxlKHBhdGgpCisgICAgICAgIGV4Y2VwdCAoSU9FcnJvciwgS2V5RXJyb3IpOgorICAg
ICAgICAgICAgX2xvZy5lcnJvcignRmlsZSBjb3VsZCBub3QgYmUgcmVhZDogJXMnICUgcGF0aCkK
KyAgICAgICAgICAgIHJldHVybiBOb25lCisKKyAgICBkZWYgcmVzdWx0cyhzZWxmKToKKyAgICAg
ICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcigic3ViY2xhc3NlcyBtdXN0IGltcGxlbWVudCIp
CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L2pzY3Rlc3RyZXN1
bHRzcmVhZGVyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9qc2N0ZXN0cmVz
dWx0c3JlYWRlci5weQppbmRleCBiMzI2NWFiYzFiM2E2NmM0ZGU0MjQ5NmU4Yzk0MDUzYjY0OGIw
YWIzLi42Yjc5YjRiZTRkMTE4YTMxMGZiNjljNzUwZTY5NmI2ZGIzNGE3NTM3IDEwMDY0NAotLS0g
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L2pzY3Rlc3RyZXN1bHRzcmVhZGVyLnB5
CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvanNjdGVzdHJlc3VsdHNyZWFk
ZXIucHkKQEAgLTIzLDIxICsyMywxMiBAQAogaW1wb3J0IGxvZ2dpbmcKIAogZnJvbSB3ZWJraXRw
eS5jb21tb24ubmV0LmpzY3Rlc3RyZXN1bHRzIGltcG9ydCBKU0NUZXN0UmVzdWx0cworZnJvbSB3
ZWJraXRweS50b29sLmJvdC5hYnN0cmFjdHRlc3RyZXN1bHRzcmVhZGVyIGltcG9ydCBBYnN0cmFj
dFRlc3RSZXN1bHRzUmVhZGVyCiAKIF9sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykK
IAogCi1jbGFzcyBKU0NUZXN0UmVzdWx0c1JlYWRlcihvYmplY3QpOgotICAgIGRlZiBfX2luaXRf
XyhzZWxmLCBob3N0LCByZXN1bHRzX2RpcmVjdG9yeSk6Ci0gICAgICAgIHNlbGYuX2hvc3QgPSBo
b3N0Ci0gICAgICAgIHNlbGYuX3Jlc3VsdHNfZGlyZWN0b3J5ID0gcmVzdWx0c19kaXJlY3RvcnkK
LQotICAgIGRlZiBfcmVhZF9maWxlX2NvbnRlbnRzKHNlbGYsIHBhdGgpOgotICAgICAgICB0cnk6
Ci0gICAgICAgICAgICByZXR1cm4gc2VsZi5faG9zdC5maWxlc3lzdGVtLnJlYWRfdGV4dF9maWxl
KHBhdGgpCi0gICAgICAgIGV4Y2VwdCAoSU9FcnJvciwgS2V5RXJyb3IpOgotICAgICAgICAgICAg
cmV0dXJuIE5vbmUKLQorY2xhc3MgSlNDVGVzdFJlc3VsdHNSZWFkZXIoQWJzdHJhY3RUZXN0UmVz
dWx0c1JlYWRlcik6CiAgICAgZGVmIHJlc3VsdHMoc2VsZik6CiAgICAgICAgIHJlc3VsdHNfcGF0
aCA9IHNlbGYuX2hvc3QuZmlsZXN5c3RlbS5qb2luKHNlbGYuX3Jlc3VsdHNfZGlyZWN0b3J5LCAn
anNjX3Rlc3RfcmVzdWx0cy5qc29uJykKICAgICAgICAgY29udGVudHMgPSBzZWxmLl9yZWFkX2Zp
bGVfY29udGVudHMocmVzdWx0c19wYXRoKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS90b29sL2JvdC9sYXlvdXR0ZXN0cmVzdWx0c3JlYWRlci5weSBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvdG9vbC9ib3QvbGF5b3V0dGVzdHJlc3VsdHNyZWFkZXIucHkKaW5kZXggYzMyOGU1
YjE1ZTU1ZDIwZmRmN2U2NDA3NmY0YzY1MDc4OGU0NDIzYS4uY2U1MThiYTA3Nzc3ZGQ4OTQxYWE2
Njk0YTg2NTcxNjJmMGVjYjM1ZiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90
b29sL2JvdC9sYXlvdXR0ZXN0cmVzdWx0c3JlYWRlci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3Rvb2wvYm90L2xheW91dHRlc3RyZXN1bHRzcmVhZGVyLnB5CkBAIC0zMCw2ICszMCw3
IEBAIGltcG9ydCBsb2dnaW5nCiAKIGZyb20gd2Via2l0cHkuY29tbW9uLm5ldC5sYXlvdXR0ZXN0
cmVzdWx0cyBpbXBvcnQgTGF5b3V0VGVzdFJlc3VsdHMKIGZyb20gd2Via2l0cHkuY29tbW9uLm5l
dC51bml0dGVzdHJlc3VsdHMgaW1wb3J0IFVuaXRUZXN0UmVzdWx0cworZnJvbSB3ZWJraXRweS50
b29sLmJvdC5hYnN0cmFjdHRlc3RyZXN1bHRzcmVhZGVyIGltcG9ydCBBYnN0cmFjdFRlc3RSZXN1
bHRzUmVhZGVyCiBmcm9tIHdlYmtpdHB5LnRvb2wuc3RlcHMucnVudGVzdHMgaW1wb3J0IFJ1blRl
c3RzCiAKIF9sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKQEAgLTM3LDcgKzM4LDcg
QEAgX2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQogCiAjIEZJWE1FOiBUaGlzIGNs
YXNzIG5vIGxvbmdlciBoYXMgYSBjbGVhciBwdXJwb3NlLCBhbmQgc2hvdWxkIHByb2JhYmx5CiAj
IGJlIG1hZGUgcGFydCBvZiBQb3J0LCBvciByZW5hbWVkIHRvIExheW91dFRlc3RSZXN1bHRzQXJj
aGl2ZXIgb3Igc29tZXRoaW5nIG1vcmUgZml0dGluZz8KLWNsYXNzIExheW91dFRlc3RSZXN1bHRz
UmVhZGVyKG9iamVjdCk6CitjbGFzcyBMYXlvdXRUZXN0UmVzdWx0c1JlYWRlcihBYnN0cmFjdFRl
c3RSZXN1bHRzUmVhZGVyKToKICAgICBkZWYgX19pbml0X18oc2VsZiwgaG9zdCwgcmVzdWx0c19k
aXJlY3RvcnksIGFyY2hpdmVfZGlyZWN0b3J5KToKICAgICAgICAgc2VsZi5faG9zdCA9IGhvc3QK
ICAgICAgICAgc2VsZi5fcmVzdWx0c19kaXJlY3RvcnkgPSByZXN1bHRzX2RpcmVjdG9yeQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>