<?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>170024</bug_id>
          
          <creation_ts>2017-03-23 14:16:47 -0700</creation_ts>
          <short_desc>Fix framesEncoded/framesDecoded RTC stats</short_desc>
          <delta_ts>2017-03-24 09:25: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>WebCore Misc.</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>169662</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>jonlee</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1290596</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-03-23 14:16:47 -0700</bug_when>
    <thetext>Fix framesEncoded/framesDecoded RTC stats</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1290597</commentid>
    <comment_count>1</comment_count>
      <attachid>305226</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-03-23 14:18:18 -0700</bug_when>
    <thetext>Created attachment 305226
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1290678</commentid>
    <comment_count>2</comment_count>
      <attachid>305226</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2017-03-23 17:26:25 -0700</bug_when>
    <thetext>Comment on attachment 305226
Patch

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

&gt; LayoutTests/webrtc/video-stats.html:86
&gt; +        return waitFor(1000);

1) hard coded timeout seems like a recipe for a flakey test, and 2) this means the test will always take a full second to run. Is there any way to have it check for completion instead of always waiting a second?

&gt; LayoutTests/webrtc/video-stats.html:95
&gt; +        assert_true(stats.timestamp &gt; statsFirstConnection.timestamp, &quot;Timestamp should have increased&quot;);
&gt; +        assert_true(stats.framesEncoded &gt; statsFirstConnection.framesEncoded, &quot;Number of encoded frames should have increased&quot;);
&gt; +        return getInboundRTPStats(secondConnection);
&gt; +    }).then((stats) =&gt; {
&gt; +        assert_true(stats.timestamp &gt; statsSecondConnection.timestamp, &quot;Timestamp should have increased&quot;);
&gt; +        assert_true(stats.framesDecoded &gt; statsSecondConnection.framesDecoded, &quot;Number of decoded frames should have increased&quot;);

Having the same failure message for two different tests will make this harder to debug if it fails. Can you make the messages different, eg. &quot;Timestamp should have increased in first connection stats&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1290687</commentid>
    <comment_count>3</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-03-23 18:16:04 -0700</bug_when>
    <thetext>Thanks for the review.

&gt; &gt; LayoutTests/webrtc/video-stats.html:86
&gt; &gt; +        return waitFor(1000);
&gt; 
&gt; 1) hard coded timeout seems like a recipe for a flakey test, and 2) this
&gt; means the test will always take a full second to run. Is there any way to
&gt; have it check for completion instead of always waiting a second?

We need to let some time for the &quot;cached stats report&quot; to be obsolete and a new one to be created.
But we also need to ensure there are some new frames decoded and encoded to ensure we are not flaky.
1000 might be a bit too large, 100 is a minimum.
I will reduce it to 200.

&gt; 
&gt; &gt; LayoutTests/webrtc/video-stats.html:95
&gt; &gt; +        assert_true(stats.timestamp &gt; statsFirstConnection.timestamp, &quot;Timestamp should have increased&quot;);
&gt; &gt; +        assert_true(stats.framesEncoded &gt; statsFirstConnection.framesEncoded, &quot;Number of encoded frames should have increased&quot;);
&gt; &gt; +        return getInboundRTPStats(secondConnection);
&gt; &gt; +    }).then((stats) =&gt; {
&gt; &gt; +        assert_true(stats.timestamp &gt; statsSecondConnection.timestamp, &quot;Timestamp should have increased&quot;);
&gt; &gt; +        assert_true(stats.framesDecoded &gt; statsSecondConnection.framesDecoded, &quot;Number of decoded frames should have increased&quot;);
&gt; 
&gt; Having the same failure message for two different tests will make this
&gt; harder to debug if it fails. Can you make the messages different, eg.
&gt; &quot;Timestamp should have increased in first connection stats&quot;?

Right, will do</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1290808</commentid>
    <comment_count>4</comment_count>
      <attachid>305285</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-03-24 08:43:10 -0700</bug_when>
    <thetext>Created attachment 305285
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1290816</commentid>
    <comment_count>5</comment_count>
      <attachid>305285</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-24 09:25:12 -0700</bug_when>
    <thetext>Comment on attachment 305285
Patch for landing

Clearing flags on attachment: 305285

Committed r214348: &lt;http://trac.webkit.org/changeset/214348&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1290817</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-24 09:25:15 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>305226</attachid>
            <date>2017-03-23 14:18:18 -0700</date>
            <delta_ts>2017-03-24 08:43:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-170024-20170323141818.patch</filename>
            <type>text/plain</type>
            <size>7414</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE0MzA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDc2ZmMwZDA0Y2QxZjE0
OTRhODI2YjBjODUyNGNlN2Y0OGM5ZDllZC4uYjBlYTJjZGRkOTEzYTQ1OWFkNjYzZTg1NDRjMjk4
ODhmODY1ZjM2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIwIEBACiAyMDE3LTAzLTIzICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAorICAgICAgICBGaXggZnJhbWVzRW5jb2Rl
ZC9mcmFtZXNEZWNvZGVkIFJUQyBzdGF0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTcwMDI0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGVzdDogd2VicnRjL3ZpZGVvLXN0YXRzLmh0bWwKKworICAgICAg
ICBBZGRpbmcgYWNjZXNzIHRvIHRoZXNlIGZpZWxkcyBub3cgdGhhdCB0aGV5IGFyZSBhdmFpbGFi
bGUuCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENN
ZWRpYUVuZHBvaW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmZpbGxJbmJvdW5kUlRQU3RyZWFt
U3RhdHMpOgorICAgICAgICAoV2ViQ29yZTo6ZmlsbE91dGJvdW5kUlRQU3RyZWFtU3RhdHMpOgor
CisyMDE3LTAzLTIzICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKwogICAgICAg
ICBBZGQgbGlid2VicnRjIGJhY2tlbmQgc3VwcG9ydCBmb3IgUlRDUnRwU2VuZGVyOjpyZXBsYWNl
VHJhY2sKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2
OTg0MQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xp
YndlYnJ0Yy9MaWJXZWJSVENNZWRpYUVuZHBvaW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwCmluZGV4
IDdjNTM3ZGI1MTMyOWFjNTljY2E0YWFlYzg5NmU3YjdlYjNmZWNkNmQuLmIwODczM2VlMDlmMzRm
ZGI4YTc3MGZkNGQwNzBkOTdkNjQyZmNmNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJU
Q01lZGlhRW5kcG9pbnQuY3BwCkBAIC0zMDUsOCArMzA1LDggQEAgc3RhdGljIGlubGluZSB2b2lk
IGZpbGxJbmJvdW5kUlRQU3RyZWFtU3RhdHMoUlRDU3RhdHNSZXBvcnQ6OkluYm91bmRSVFBTdHJl
YW1TdGEKICAgICAgICAgc3RhdHMuZ2FwTG9zc1JhdGUgPSAqcnRjU3RhdHMuZ2FwX2xvc3NfcmF0
ZTsKICAgICBpZiAocnRjU3RhdHMuZ2FwX2Rpc2NhcmRfcmF0ZS5pc19kZWZpbmVkKCkpCiAgICAg
ICAgIHN0YXRzLmdhcERpc2NhcmRSYXRlID0gKnJ0Y1N0YXRzLmdhcF9kaXNjYXJkX3JhdGU7Ci0g
ICAgLy8gRklYTUU6IFNldCBmcmFtZXNEZWNvZGVkCi0gICAgc3RhdHMuZnJhbWVzRGVjb2RlZCA9
IDA7CisgICAgaWYgKHJ0Y1N0YXRzLmZyYW1lc19kZWNvZGVkLmlzX2RlZmluZWQoKSkKKyAgICAg
ICAgc3RhdHMuZnJhbWVzRGVjb2RlZCA9ICpydGNTdGF0cy5mcmFtZXNfZGVjb2RlZDsKIH0KIAog
c3RhdGljIGlubGluZSB2b2lkIGZpbGxPdXRib3VuZFJUUFN0cmVhbVN0YXRzKFJUQ1N0YXRzUmVw
b3J0OjpPdXRib3VuZFJUUFN0cmVhbVN0YXRzJiBzdGF0cywgY29uc3Qgd2VicnRjOjpSVENPdXRi
b3VuZFJUUFN0cmVhbVN0YXRzJiBydGNTdGF0cykKQEAgLTMxOSw4ICszMTksOCBAQCBzdGF0aWMg
aW5saW5lIHZvaWQgZmlsbE91dGJvdW5kUlRQU3RyZWFtU3RhdHMoUlRDU3RhdHNSZXBvcnQ6Ok91
dGJvdW5kUlRQU3RyZWFtUwogICAgICAgICBzdGF0cy5ieXRlc1NlbnQgPSAqcnRjU3RhdHMuYnl0
ZXNfc2VudDsKICAgICBpZiAocnRjU3RhdHMudGFyZ2V0X2JpdHJhdGUuaXNfZGVmaW5lZCgpKQog
ICAgICAgICBzdGF0cy50YXJnZXRCaXRyYXRlID0gKnJ0Y1N0YXRzLnRhcmdldF9iaXRyYXRlOwot
ICAgIC8vIEZJWE1FOiBTZXQgZnJhbWVzRW5jb2RlZAotICAgIHN0YXRzLmZyYW1lc0VuY29kZWQg
PSAwOworICAgIGlmIChydGNTdGF0cy5mcmFtZXNfZW5jb2RlZC5pc19kZWZpbmVkKCkpCisgICAg
ICAgIHN0YXRzLmZyYW1lc0VuY29kZWQgPSAqcnRjU3RhdHMuZnJhbWVzX2VuY29kZWQ7CiB9CiAK
IHZvaWQgTGliV2ViUlRDTWVkaWFFbmRwb2ludDo6U3RhdHNDb2xsZWN0b3I6Ok9uU3RhdHNEZWxp
dmVyZWQoY29uc3QgcnRjOjpzY29wZWRfcmVmcHRyPGNvbnN0IHdlYnJ0Yzo6UlRDU3RhdHNSZXBv
cnQ+JiBydGNSZXBvcnQpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMTljMTBkNWZkNDI3MGUxMmZlYzM3ZjJjZjIzNDU4M2Rj
NjJhYmU3NS4uZTJiMDVlZDAxYTk2ZjZlYzhhYjAwODczYzkzMjdkM2IxYjM2NDIyMCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSw1ICsxLDE1IEBACiAyMDE3LTAzLTIzICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxl
LmNvbT4KIAorICAgICAgICBGaXggZnJhbWVzRW5jb2RlZC9mcmFtZXNEZWNvZGVkIFJUQyBzdGF0
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwMDI0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWJy
dGMvdmlkZW8tc3RhdHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJydGMvdmlk
ZW8tc3RhdHMuaHRtbDogQWRkZWQuCisKKzIwMTctMDMtMjMgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgorCiAgICAgICAgIEFkZCBsaWJ3ZWJydGMgYmFja2VuZCBzdXBwb3J0IGZv
ciBSVENSdHBTZW5kZXI6OnJlcGxhY2VUcmFjawogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY5ODQxCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YnJ0Yy92aWRlby1zdGF0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJydGMvdmlkZW8t
c3RhdHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI0MmE0YTUzNzFhZTc5NzY5ZTgyZjU0MDQw
ZTA0ZTEwNjI5M2U3NjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJydGMvdmlk
ZW8tc3RhdHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEJhc2ljIHZpZGVv
IHN0YXRzIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJydGMvdmlkZW8tc3RhdHMuaHRt
bCBiL0xheW91dFRlc3RzL3dlYnJ0Yy92aWRlby1zdGF0cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM4MWI3
OTIxODM5Zjg2NzQ4N2Y1YThiMzQwZjE4NTQ5Nzc1ZDQxOGEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJydGMvdmlkZW8tc3RhdHMuaHRtbApAQCAtMCwwICsxLDEwMCBAQAorPCFk
b2N0eXBlIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgY2hhcnNldD0i
dXRmLTgiPgorICAgICAgICA8dGl0bGU+VGVzdGluZyBiYXNpYyB2aWRlbyBleGNoYW5nZSBmcm9t
IG9mZmVyZXIgdG8gcmVjZWl2ZXI8L3RpdGxlPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CisgICAgPC9oZWFkPgor
ICAgIDxib2R5PgorICAgICAgICA8c2NyaXB0IHNyYyA9InJvdXRpbmVzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdD4KKworZnVuY3Rpb24gZ2V0SW5ib3VuZFJUUFN0YXRzKGNvbm5lY3Rp
b24pCit7CisgICAgcmV0dXJuIGNvbm5lY3Rpb24uZ2V0U3RhdHMoKS50aGVuKChyZXBvcnQpID0+
IHsKKyAgICAgICAgdmFyIHN0YXRzOworICAgICAgICByZXBvcnQuZm9yRWFjaCgoc3RhdEl0ZW0p
ID0+IHsKKyAgICAgICAgICAgIGlmIChzdGF0SXRlbS50eXBlID09PSAiaW5ib3VuZC1ydHAiKSB7
CisgICAgICAgICAgICAgICAgc3RhdHMgPSBzdGF0SXRlbTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfSk7CisgICAgICAgIHJldHVybiBzdGF0czsKKyAgICB9KTsKK30KKworZnVuY3Rpb24gZ2V0
T3V0Ym91bmRSVFBTdGF0cyhjb25uZWN0aW9uKQoreworICAgIHJldHVybiBjb25uZWN0aW9uLmdl
dFN0YXRzKCkudGhlbigocmVwb3J0KSA9PiB7CisgICAgICAgIHZhciBzdGF0czsKKyAgICAgICAg
cmVwb3J0LmZvckVhY2goKHN0YXRJdGVtKSA9PiB7CisgICAgICAgICAgICBpZiAoc3RhdEl0ZW0u
dHlwZSA9PT0gIm91dGJvdW5kLXJ0cCIpIHsKKyAgICAgICAgICAgICAgICBzdGF0cyA9IHN0YXRJ
dGVtOworICAgICAgICAgICAgfQorICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuIHN0YXRzOwor
ICAgIH0pOworfQorCitmdW5jdGlvbiB0ZXN0U3RhdHNUd2ljZShmaXJzdENvbm5lY3Rpb24sIHNl
Y29uZENvbm5lY3Rpb24pCit7CisgICAgcmV0dXJuIFByb21pc2UuYWxsKFsKKyAgICAgICAgZmly
c3RDb25uZWN0aW9uLmdldFN0YXRzKCkudGhlbigocmVwb3J0KSA9PiB7CisgICAgICAgICAgICBm
aXJzdFJlcG9ydEIgPSByZXBvcnQ7CisgICAgICAgIH0pLAorICAgICAgICBzZWNvbmRDb25uZWN0
aW9uLmdldFN0YXRzKCkudGhlbigocmVwb3J0KSA9PiB7CisgICAgICAgICAgICBzZWNvbmRSZXBv
cnRCID0gcmVwb3J0OworICAgICAgICB9KQorICAgIF0pOworfQorCit2YXIgZmlyc3RDb25uZWN0
aW9uLCBzZWNvbmRDb25uZWN0aW9uOworcHJvbWlzZV90ZXN0KCh0ZXN0KSA9PiB7CisgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLnNldFVzZXJNZWRpYVBlcm1p
c3Npb24odHJ1ZSk7CisKKyAgICB2YXIgbG9jYWxTdHJlYW0sIHJlbW90ZVN0cmVhbTsKKyAgICBy
ZXR1cm4gbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoeyB2aWRlbzogdHJ1ZX0p
LnRoZW4oKHN0cmVhbSkgPT4geworICAgICAgICBsb2NhbFN0cmVhbSA9IHN0cmVhbTsKKyAgICAg
ICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKKyAgICAgICAgICAg
IGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgIGludGVybmFscy51c2VNb2Nr
UlRDUGVlckNvbm5lY3Rpb25GYWN0b3J5KCJUd29SZWFsUGVlckNvbm5lY3Rpb25zIik7CisKKyAg
ICAgICAgICAgIGNyZWF0ZUNvbm5lY3Rpb25zKChjb25uZWN0aW9uKSA9PiB7CisgICAgICAgICAg
ICAgICAgZmlyc3RDb25uZWN0aW9uID0gY29ubmVjdGlvbjsKKyAgICAgICAgICAgICAgICBmaXJz
dENvbm5lY3Rpb24uYWRkVHJhY2soc3RyZWFtLmdldFZpZGVvVHJhY2tzKClbMF0sIHN0cmVhbSk7
CisgICAgICAgICAgICB9LCAoY29ubmVjdGlvbikgPT4geworICAgICAgICAgICAgICAgIHNlY29u
ZENvbm5lY3Rpb24gPSBjb25uZWN0aW9uOworICAgICAgICAgICAgICAgIHNlY29uZENvbm5lY3Rp
b24ub250cmFjayA9ICh0cmFja0V2ZW50KSA9PiB7CisgICAgICAgICAgICAgICAgICAgIHJlbW90
ZVN0cmVhbSA9IHRyYWNrRXZlbnQuc3RyZWFtc1swXTsKKyAgICAgICAgICAgICAgICAgICAgcmVz
b2x2ZSgpOworICAgICAgICAgICAgICAgIH07CisgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IHNldFRpbWVvdXQoKCkgPT4gcmVqZWN0KCJUZXN0IHRpbWVkIG91dCIpLCA1MDAwKTsKKyAgICAg
ICAgfSk7CisgICAgfSkudGhlbigoKSA9PiB7CisgICAgICAgIHJldHVybiBnZXRPdXRib3VuZFJU
UFN0YXRzKGZpcnN0Q29ubmVjdGlvbik7CisgICAgfSkudGhlbigoc3RhdHMpID0+IHsKKyAgICAg
ICAgYXNzZXJ0X3RydWUoISFzdGF0cywgIm91dGJvdW5kLXJ0cCBzdGF0cyBzaG91bGQgbm90IGJl
IG51bGwiKTsKKyAgICAgICAgYXNzZXJ0X3RydWUoTnVtYmVyLmlzSW50ZWdlcihzdGF0cy5mcmFt
ZXNFbmNvZGVkKSwgImZyYW1lc0VuY29kZWQgc2hvdWxkIGJlIGFuIGludGVnZXIiKTsKKyAgICAg
ICAgc3RhdHNGaXJzdENvbm5lY3Rpb24gPSBzdGF0czsKKyAgICAgICAgcmV0dXJuIGdldEluYm91
bmRSVFBTdGF0cyhzZWNvbmRDb25uZWN0aW9uKTsKKyAgICB9KS50aGVuKChzdGF0cykgPT4gewor
ICAgICAgICBhc3NlcnRfdHJ1ZSghIXN0YXRzLCAiaW5ib3VuZC1ydHAgc3RhdHMgc2hvdWxkIG5v
dCBiZSBudWxsIik7CisgICAgICAgIGFzc2VydF90cnVlKE51bWJlci5pc0ludGVnZXIoc3RhdHMu
ZnJhbWVzRGVjb2RlZCksICJmcmFtZXNEZWNvZGVkIHNob3VsZCBiZSBhbiBpbnRlZ2VyIik7Cisg
ICAgICAgIHN0YXRzU2Vjb25kQ29ubmVjdGlvbiA9IHN0YXRzOworICAgICAgICByZXR1cm4gd2Fp
dEZvcigxMDAwKTsKKyAgICB9KS50aGVuKCgpID0+IHsKKyAgICAgICAgcmV0dXJuIGdldE91dGJv
dW5kUlRQU3RhdHMoZmlyc3RDb25uZWN0aW9uKTsKKyAgICB9KS50aGVuKChzdGF0cykgPT4gewor
ICAgICAgICBhc3NlcnRfdHJ1ZShzdGF0cy50aW1lc3RhbXAgPiBzdGF0c0ZpcnN0Q29ubmVjdGlv
bi50aW1lc3RhbXAsICJUaW1lc3RhbXAgc2hvdWxkIGhhdmUgaW5jcmVhc2VkIik7CisgICAgICAg
IGFzc2VydF90cnVlKHN0YXRzLmZyYW1lc0VuY29kZWQgPiBzdGF0c0ZpcnN0Q29ubmVjdGlvbi5m
cmFtZXNFbmNvZGVkLCAiTnVtYmVyIG9mIGVuY29kZWQgZnJhbWVzIHNob3VsZCBoYXZlIGluY3Jl
YXNlZCIpOworICAgICAgICByZXR1cm4gZ2V0SW5ib3VuZFJUUFN0YXRzKHNlY29uZENvbm5lY3Rp
b24pOworICAgIH0pLnRoZW4oKHN0YXRzKSA9PiB7CisgICAgICAgIGFzc2VydF90cnVlKHN0YXRz
LnRpbWVzdGFtcCA+IHN0YXRzU2Vjb25kQ29ubmVjdGlvbi50aW1lc3RhbXAsICJUaW1lc3RhbXAg
c2hvdWxkIGhhdmUgaW5jcmVhc2VkIik7CisgICAgICAgIGFzc2VydF90cnVlKHN0YXRzLmZyYW1l
c0RlY29kZWQgPiBzdGF0c1NlY29uZENvbm5lY3Rpb24uZnJhbWVzRGVjb2RlZCwgIk51bWJlciBv
ZiBkZWNvZGVkIGZyYW1lcyBzaG91bGQgaGF2ZSBpbmNyZWFzZWQiKTsKKyAgICB9KTsKK30sICJC
YXNpYyB2aWRlbyBzdGF0cyIpOworICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>305285</attachid>
            <date>2017-03-24 08:43:10 -0700</date>
            <delta_ts>2017-03-24 09:25:12 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-170024-20170324084314.patch</filename>
            <type>text/plain</type>
            <size>7410</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE0MzQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzM0MTI0ZDM3NWViYWRl
YWU1OWQ0MzcyMzgyM2EwZTE5Yzc3N2Y3Yi4uNGUxYWUxOTA2ZWY4NTQyZDEwZWNhNTdiY2VjZWMw
YzBlMGI5ZThlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE3LTAzLTI0ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBGaXggZnJhbWVzRW5jb2Rl
ZC9mcmFtZXNEZWNvZGVkIFJUQyBzdGF0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTcwMDI0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJs
c29uLgorCisgICAgICAgIFRlc3Q6IHdlYnJ0Yy92aWRlby1zdGF0cy5odG1sCisKKyAgICAgICAg
QWRkaW5nIGFjY2VzcyB0byB0aGVzZSBmaWVsZHMgbm93IHRoYXQgdGhleSBhcmUgYXZhaWxhYmxl
LgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDTWVk
aWFFbmRwb2ludC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpmaWxsSW5ib3VuZFJUUFN0cmVhbVN0
YXRzKToKKyAgICAgICAgKFdlYkNvcmU6OmZpbGxPdXRib3VuZFJUUFN0cmVhbVN0YXRzKToKKwog
MjAxNy0wMy0yNCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgVW5yZXZpZXdlZC4gRml4IEdUSysgdGVzdCAvd2Via2l0Mi9XZWJLaXRXZWJWaWV3
L2RlZmF1bHQtbWVudSBhZnRlciByMjE0MjQ0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDTWVkaWFFbmRwb2ludC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENN
ZWRpYUVuZHBvaW50LmNwcAppbmRleCA3YzUzN2RiNTEzMjlhYzU5Y2NhNGFhZWM4OTZlN2I3ZWIz
ZmVjZDZkLi5iMDg3MzNlZTA5ZjM0ZmRiOGE3NzBmZDRkMDcwZDk3ZDY0MmZjZjU5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJS
VENNZWRpYUVuZHBvaW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENNZWRpYUVuZHBvaW50LmNwcApAQCAtMzA1LDggKzMwNSw4
IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBmaWxsSW5ib3VuZFJUUFN0cmVhbVN0YXRzKFJUQ1N0YXRz
UmVwb3J0OjpJbmJvdW5kUlRQU3RyZWFtU3RhCiAgICAgICAgIHN0YXRzLmdhcExvc3NSYXRlID0g
KnJ0Y1N0YXRzLmdhcF9sb3NzX3JhdGU7CiAgICAgaWYgKHJ0Y1N0YXRzLmdhcF9kaXNjYXJkX3Jh
dGUuaXNfZGVmaW5lZCgpKQogICAgICAgICBzdGF0cy5nYXBEaXNjYXJkUmF0ZSA9ICpydGNTdGF0
cy5nYXBfZGlzY2FyZF9yYXRlOwotICAgIC8vIEZJWE1FOiBTZXQgZnJhbWVzRGVjb2RlZAotICAg
IHN0YXRzLmZyYW1lc0RlY29kZWQgPSAwOworICAgIGlmIChydGNTdGF0cy5mcmFtZXNfZGVjb2Rl
ZC5pc19kZWZpbmVkKCkpCisgICAgICAgIHN0YXRzLmZyYW1lc0RlY29kZWQgPSAqcnRjU3RhdHMu
ZnJhbWVzX2RlY29kZWQ7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBmaWxsT3V0Ym91bmRSVFBT
dHJlYW1TdGF0cyhSVENTdGF0c1JlcG9ydDo6T3V0Ym91bmRSVFBTdHJlYW1TdGF0cyYgc3RhdHMs
IGNvbnN0IHdlYnJ0Yzo6UlRDT3V0Ym91bmRSVFBTdHJlYW1TdGF0cyYgcnRjU3RhdHMpCkBAIC0z
MTksOCArMzE5LDggQEAgc3RhdGljIGlubGluZSB2b2lkIGZpbGxPdXRib3VuZFJUUFN0cmVhbVN0
YXRzKFJUQ1N0YXRzUmVwb3J0OjpPdXRib3VuZFJUUFN0cmVhbVMKICAgICAgICAgc3RhdHMuYnl0
ZXNTZW50ID0gKnJ0Y1N0YXRzLmJ5dGVzX3NlbnQ7CiAgICAgaWYgKHJ0Y1N0YXRzLnRhcmdldF9i
aXRyYXRlLmlzX2RlZmluZWQoKSkKICAgICAgICAgc3RhdHMudGFyZ2V0Qml0cmF0ZSA9ICpydGNT
dGF0cy50YXJnZXRfYml0cmF0ZTsKLSAgICAvLyBGSVhNRTogU2V0IGZyYW1lc0VuY29kZWQKLSAg
ICBzdGF0cy5mcmFtZXNFbmNvZGVkID0gMDsKKyAgICBpZiAocnRjU3RhdHMuZnJhbWVzX2VuY29k
ZWQuaXNfZGVmaW5lZCgpKQorICAgICAgICBzdGF0cy5mcmFtZXNFbmNvZGVkID0gKnJ0Y1N0YXRz
LmZyYW1lc19lbmNvZGVkOwogfQogCiB2b2lkIExpYldlYlJUQ01lZGlhRW5kcG9pbnQ6OlN0YXRz
Q29sbGVjdG9yOjpPblN0YXRzRGVsaXZlcmVkKGNvbnN0IHJ0Yzo6c2NvcGVkX3JlZnB0cjxjb25z
dCB3ZWJydGM6OlJUQ1N0YXRzUmVwb3J0PiYgcnRjUmVwb3J0KQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGRkYzY0MThiMDZl
NWM2YzAwYjNmMWU1ZGExMDM5NDI2YzAyNjNiYjAuLmFlMmEyY2QwOTQ4YTViNTU5NzBkOGNmNjQz
ZGYyZTA1MjRlYzQ3N2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxNy0wMy0yNCAgWW91ZW5u
IEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgRml4IGZyYW1lc0VuY29kZWQv
ZnJhbWVzRGVjb2RlZCBSVEMgc3RhdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE3MDAyNAorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNv
bi4KKworICAgICAgICAqIHdlYnJ0Yy92aWRlby1zdGF0cy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHdlYnJ0Yy92aWRlby1zdGF0cy5odG1sOiBBZGRlZC4KKwogMjAxNy0wMy0yNCAg
Q2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgVW5y
ZXZpZXdlZCBHVEsrIGdhcmRlbmluZy4gTWFyayBtZWRpYS92aWRlby1sb2FkLXJlcXVpcmUtdXNl
ci1nZXN0dXJlLmh0bWwgYXMgZmFpbGluZyBhZnRlciByMjE0MzM4LgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2VicnRjL3ZpZGVvLXN0YXRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dl
YnJ0Yy92aWRlby1zdGF0cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjQyYTRhNTM3MWFlNzk3
NjllODJmNTQwNDBlMDRlMTA2MjkzZTc2NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3dlYnJ0Yy92aWRlby1zdGF0cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1Mg
QmFzaWMgdmlkZW8gc3RhdHMgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYnJ0Yy92aWRl
by1zdGF0cy5odG1sIGIvTGF5b3V0VGVzdHMvd2VicnRjL3ZpZGVvLXN0YXRzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNzM0Mzk1YmFhZmM2OGE0MTY3NjBlMWQwYTcyZjNhZmQxMGVjNDkzNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3dlYnJ0Yy92aWRlby1zdGF0cy5odG1sCkBAIC0wLDAgKzEs
MTAwIEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0
YSBjaGFyc2V0PSJ1dGYtOCI+CisgICAgICAgIDx0aXRsZT5UZXN0aW5nIGJhc2ljIHZpZGVvIGV4
Y2hhbmdlIGZyb20gb2ZmZXJlciB0byByZWNlaXZlcjwvdGl0bGU+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKyAg
ICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxzY3JpcHQgc3JjID0icm91dGluZXMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0PgorCitmdW5jdGlvbiBnZXRJbmJvdW5kUlRQU3Rh
dHMoY29ubmVjdGlvbikKK3sKKyAgICByZXR1cm4gY29ubmVjdGlvbi5nZXRTdGF0cygpLnRoZW4o
KHJlcG9ydCkgPT4geworICAgICAgICB2YXIgc3RhdHM7CisgICAgICAgIHJlcG9ydC5mb3JFYWNo
KChzdGF0SXRlbSkgPT4geworICAgICAgICAgICAgaWYgKHN0YXRJdGVtLnR5cGUgPT09ICJpbmJv
dW5kLXJ0cCIpIHsKKyAgICAgICAgICAgICAgICBzdGF0cyA9IHN0YXRJdGVtOworICAgICAgICAg
ICAgfQorICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuIHN0YXRzOworICAgIH0pOworfQorCitm
dW5jdGlvbiBnZXRPdXRib3VuZFJUUFN0YXRzKGNvbm5lY3Rpb24pCit7CisgICAgcmV0dXJuIGNv
bm5lY3Rpb24uZ2V0U3RhdHMoKS50aGVuKChyZXBvcnQpID0+IHsKKyAgICAgICAgdmFyIHN0YXRz
OworICAgICAgICByZXBvcnQuZm9yRWFjaCgoc3RhdEl0ZW0pID0+IHsKKyAgICAgICAgICAgIGlm
IChzdGF0SXRlbS50eXBlID09PSAib3V0Ym91bmQtcnRwIikgeworICAgICAgICAgICAgICAgIHN0
YXRzID0gc3RhdEl0ZW07CisgICAgICAgICAgICB9CisgICAgICAgIH0pOworICAgICAgICByZXR1
cm4gc3RhdHM7CisgICAgfSk7Cit9CisKK2Z1bmN0aW9uIHRlc3RTdGF0c1R3aWNlKGZpcnN0Q29u
bmVjdGlvbiwgc2Vjb25kQ29ubmVjdGlvbikKK3sKKyAgICByZXR1cm4gUHJvbWlzZS5hbGwoWwor
ICAgICAgICBmaXJzdENvbm5lY3Rpb24uZ2V0U3RhdHMoKS50aGVuKChyZXBvcnQpID0+IHsKKyAg
ICAgICAgICAgIGZpcnN0UmVwb3J0QiA9IHJlcG9ydDsKKyAgICAgICAgfSksCisgICAgICAgIHNl
Y29uZENvbm5lY3Rpb24uZ2V0U3RhdHMoKS50aGVuKChyZXBvcnQpID0+IHsKKyAgICAgICAgICAg
IHNlY29uZFJlcG9ydEIgPSByZXBvcnQ7CisgICAgICAgIH0pCisgICAgXSk7Cit9CisKK3ZhciBm
aXJzdENvbm5lY3Rpb24sIHNlY29uZENvbm5lY3Rpb247Citwcm9taXNlX3Rlc3QoKHRlc3QpID0+
IHsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNl
ck1lZGlhUGVybWlzc2lvbih0cnVlKTsKKworICAgIHZhciBsb2NhbFN0cmVhbSwgcmVtb3RlU3Ry
ZWFtOworICAgIHJldHVybiBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSh7IHZp
ZGVvOiB0cnVlfSkudGhlbigoc3RyZWFtKSA9PiB7CisgICAgICAgIGxvY2FsU3RyZWFtID0gc3Ry
ZWFtOworICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4gewor
ICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgaW50ZXJu
YWxzLnVzZU1vY2tSVENQZWVyQ29ubmVjdGlvbkZhY3RvcnkoIlR3b1JlYWxQZWVyQ29ubmVjdGlv
bnMiKTsKKworICAgICAgICAgICAgY3JlYXRlQ29ubmVjdGlvbnMoKGNvbm5lY3Rpb24pID0+IHsK
KyAgICAgICAgICAgICAgICBmaXJzdENvbm5lY3Rpb24gPSBjb25uZWN0aW9uOworICAgICAgICAg
ICAgICAgIGZpcnN0Q29ubmVjdGlvbi5hZGRUcmFjayhzdHJlYW0uZ2V0VmlkZW9UcmFja3MoKVsw
XSwgc3RyZWFtKTsKKyAgICAgICAgICAgIH0sIChjb25uZWN0aW9uKSA9PiB7CisgICAgICAgICAg
ICAgICAgc2Vjb25kQ29ubmVjdGlvbiA9IGNvbm5lY3Rpb247CisgICAgICAgICAgICAgICAgc2Vj
b25kQ29ubmVjdGlvbi5vbnRyYWNrID0gKHRyYWNrRXZlbnQpID0+IHsKKyAgICAgICAgICAgICAg
ICAgICAgcmVtb3RlU3RyZWFtID0gdHJhY2tFdmVudC5zdHJlYW1zWzBdOworICAgICAgICAgICAg
ICAgICAgICByZXNvbHZlKCk7CisgICAgICAgICAgICAgICAgfTsKKyAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiByZWplY3QoIlRlc3QgdGltZWQgb3V0IiksIDUw
MDApOworICAgICAgICB9KTsKKyAgICB9KS50aGVuKCgpID0+IHsKKyAgICAgICAgcmV0dXJuIGdl
dE91dGJvdW5kUlRQU3RhdHMoZmlyc3RDb25uZWN0aW9uKTsKKyAgICB9KS50aGVuKChzdGF0cykg
PT4geworICAgICAgICBhc3NlcnRfdHJ1ZSghIXN0YXRzLCAib3V0Ym91bmQtcnRwIHN0YXRzIHNo
b3VsZCBub3QgYmUgbnVsbCIpOworICAgICAgICBhc3NlcnRfdHJ1ZShOdW1iZXIuaXNJbnRlZ2Vy
KHN0YXRzLmZyYW1lc0VuY29kZWQpLCAiZnJhbWVzRW5jb2RlZCBzaG91bGQgYmUgYW4gaW50ZWdl
ciIpOworICAgICAgICBzdGF0c0ZpcnN0Q29ubmVjdGlvbiA9IHN0YXRzOworICAgICAgICByZXR1
cm4gZ2V0SW5ib3VuZFJUUFN0YXRzKHNlY29uZENvbm5lY3Rpb24pOworICAgIH0pLnRoZW4oKHN0
YXRzKSA9PiB7CisgICAgICAgIGFzc2VydF90cnVlKCEhc3RhdHMsICJpbmJvdW5kLXJ0cCBzdGF0
cyBzaG91bGQgbm90IGJlIG51bGwiKTsKKyAgICAgICAgYXNzZXJ0X3RydWUoTnVtYmVyLmlzSW50
ZWdlcihzdGF0cy5mcmFtZXNEZWNvZGVkKSwgImZyYW1lc0RlY29kZWQgc2hvdWxkIGJlIGFuIGlu
dGVnZXIiKTsKKyAgICAgICAgc3RhdHNTZWNvbmRDb25uZWN0aW9uID0gc3RhdHM7CisgICAgICAg
IHJldHVybiB3YWl0Rm9yKDMwMCk7CisgICAgfSkudGhlbigoKSA9PiB7CisgICAgICAgIHJldHVy
biBnZXRPdXRib3VuZFJUUFN0YXRzKGZpcnN0Q29ubmVjdGlvbik7CisgICAgfSkudGhlbigoc3Rh
dHMpID0+IHsKKyAgICAgICAgYXNzZXJ0X3RydWUoc3RhdHMudGltZXN0YW1wID4gc3RhdHNGaXJz
dENvbm5lY3Rpb24udGltZXN0YW1wLCAiVGltZXN0YW1wIGZvciBmaXJzdCBjb25uZWN0aW9uIHNo
b3VsZCBoYXZlIGluY3JlYXNlZCIpOworICAgICAgICBhc3NlcnRfdHJ1ZShzdGF0cy5mcmFtZXNF
bmNvZGVkID4gc3RhdHNGaXJzdENvbm5lY3Rpb24uZnJhbWVzRW5jb2RlZCwgIk51bWJlciBvZiBl
bmNvZGVkIGZyYW1lcyBzaG91bGQgaGF2ZSBpbmNyZWFzZWQiKTsKKyAgICAgICAgcmV0dXJuIGdl
dEluYm91bmRSVFBTdGF0cyhzZWNvbmRDb25uZWN0aW9uKTsKKyAgICB9KS50aGVuKChzdGF0cykg
PT4geworICAgICAgICBhc3NlcnRfdHJ1ZShzdGF0cy50aW1lc3RhbXAgPiBzdGF0c1NlY29uZENv
bm5lY3Rpb24udGltZXN0YW1wLCAiVGltZXN0YW1wIGZvciBzZWNvbmQgY29ubmVjdGlvbiBzaG91
bGQgaGF2ZSBpbmNyZWFzZWQiKTsKKyAgICAgICAgYXNzZXJ0X3RydWUoc3RhdHMuZnJhbWVzRGVj
b2RlZCA+IHN0YXRzU2Vjb25kQ29ubmVjdGlvbi5mcmFtZXNEZWNvZGVkLCAiTnVtYmVyIG9mIGRl
Y29kZWQgZnJhbWVzIHNob3VsZCBoYXZlIGluY3JlYXNlZCIpOworICAgIH0pOworfSwgIkJhc2lj
IHZpZGVvIHN0YXRzIik7CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>