<?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>189805</bug_id>
          
          <creation_ts>2018-09-20 15:29:51 -0700</creation_ts>
          <short_desc>[MSE] Fix comparsion with uninitialized greatestDecodeDuration</short_desc>
          <delta_ts>2018-09-21 09:00:40 -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>Media</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alicia Boya García">aboya</reporter>
          <assigned_to name="Alicia Boya García">aboya</assigned_to>
          <cc>calvaris</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jer.noble</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1461567</commentid>
    <comment_count>0</comment_count>
    <who name="Alicia Boya García">aboya</who>
    <bug_when>2018-09-20 15:29:51 -0700</bug_when>
    <thetext>greatestDecodeDuration was being compared without being set to a valid value before... which resulted in it never being set to valid value... which resulted in distant appends being considered as part of the same coded frame group... which resulted in unwanted frame deletion for frames in the middle... which resulted in the `Append*OutOfOrder` YouTube TV tests failing (and likely seeks resembling the same sequence of appends failing too).

This patch fixes that issue and adds a mock test to ensure it does not happen again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461568</commentid>
    <comment_count>1</comment_count>
      <attachid>350272</attachid>
    <who name="Alicia Boya García">aboya</who>
    <bug_when>2018-09-20 15:31:39 -0700</bug_when>
    <thetext>Created attachment 350272
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461629</commentid>
    <comment_count>2</comment_count>
      <attachid>350272</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-09-20 17:55:01 -0700</bug_when>
    <thetext>Comment on attachment 350272
Patch

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

I&apos;m definitely not qualified to review the new test, but since this is urgent, I&apos;ll just happily note that there is a new test, and I like new tests. Bonus points if you can get a multimedia reviewer to look at this tomorrow morning.

Be sure to add it to https://trac.webkit.org/wiki/WebKitGTK/2.22.x immediately after it lands.

&gt; Source/WebCore/ChangeLog:3
&gt; +        [MSE] Fix comparsion with uninitialized greatestDecodeDuration

comparison</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461806</commentid>
    <comment_count>3</comment_count>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2018-09-21 06:09:41 -0700</bug_when>
    <thetext>r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461819</commentid>
    <comment_count>4</comment_count>
      <attachid>350272</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-09-21 06:47:54 -0700</bug_when>
    <thetext>Comment on attachment 350272
Patch

Clearing flags on attachment: 350272

Committed r236314: &lt;https://trac.webkit.org/changeset/236314&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461820</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-09-21 06:47:56 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461821</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-09-21 06:48:23 -0700</bug_when>
    <thetext>&lt;rdar://problem/44678604&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461827</commentid>
    <comment_count>7</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2018-09-21 07:15:06 -0700</bug_when>
    <thetext>A quick comment on the test itself. I added a function to video-test.js, waitFor(target, eventName) returning a promise. I’ve found that it lets me write more readable tests using async functions. I.e.:


Video.srcObject = mediaSource;
await waitFor(mediaSource, ‘sourceopen’);

sourceBuffer = mediaSource.appendSourceBuffer(....);
await waitFor(sourceBuffer, ‘updateend’);

Most tests written this way can end up being written as a single async function, and it ends up being much more clear at a glance what the function is doing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461872</commentid>
    <comment_count>8</comment_count>
    <who name="Alicia Boya García">aboya</who>
    <bug_when>2018-09-21 09:00:40 -0700</bug_when>
    <thetext>(In reply to Jer Noble from comment #7)
&gt; A quick comment on the test itself. I added a function to video-test.js,
&gt; waitFor(target, eventName) returning a promise. I’ve found that it lets me
&gt; write more readable tests using async functions. I.e.:
&gt; 
&gt; 
&gt; Video.srcObject = mediaSource;
&gt; await waitFor(mediaSource, ‘sourceopen’);
&gt; 
&gt; sourceBuffer = mediaSource.appendSourceBuffer(....);
&gt; await waitFor(sourceBuffer, ‘updateend’);
&gt; 
&gt; Most tests written this way can end up being written as a single async
&gt; function, and it ends up being much more clear at a glance what the function
&gt; is doing.

Thanks for that, I noticed later working on another test and indeed `waitFor()` is very useful; I&apos;m glad to be able to use async-await in tests.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>350272</attachid>
            <date>2018-09-20 15:31:39 -0700</date>
            <delta_ts>2018-09-21 06:47:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189805-20180921003137.patch</filename>
            <type>text/plain</type>
            <size>6802</size>
            <attacher name="Alicia Boya García">aboya</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2MTY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWZjYjY1NzE0MmVkN2Zl
MjUwM2NjMjdmN2JkYWU2MzRlZmRmMjFlNC4uNWVhOTgzNTkwZjk5ZTNlYjE4M2RhOWIxYmU4MGJk
MjZiMmZkNjE5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE4LTA5LTIwICBBbGlj
aWEgQm95YSBHYXJjw61hICA8YWJveWFAaWdhbGlhLmNvbT4KKworICAgICAgICBbTVNFXSBGaXgg
Y29tcGFyc2lvbiB3aXRoIHVuaW5pdGlhbGl6ZWQgZ3JlYXRlc3REZWNvZGVEdXJhdGlvbgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg5ODA1CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBidWcgd2Fz
IGNhdXNpbmcgZ3JlYXRlc3REZWNvZGVEdXJhdGlvbiB0byBuZXZlciBiZSBpbml0aWFsaXplZCwK
KyAgICAgICAgd2hpY2ggaW4gdHVybmVkIGNhdXNlZCB1bmludGVuZGVkIGZyYW1lIGVyYXNlIGFz
IGRpc3RhbnQgYXBwZW5kcyB3aGVyZQorICAgICAgICBub3QgYmVpbmcgcmVjb2duaXplZCBhcyBk
aXN0aW5jdCBjb2RlZCBmcmFtZSBncm91cHMuCisKKyAgICAgICAgQSB0ZXN0IHJlcHJvZHVjaW5n
IHRoZSBzZXF1ZW5jZSBvZiBhcHBlbmRzIHRoYXQgY2F1c2VkIHVuaW50ZW5kZWQKKyAgICAgICAg
ZnJhbWUgZGVsZXRpb24gaGFzIGFsc28gYmVlbiBhZGRlZCAobWVkaWEtc291cmNlLWFwcGVuZC1v
dXQtb2Ytb3JkZXIuaHRtbCkuCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJj
ZUJ1ZmZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXI6OnNvdXJjZUJ1ZmZl
clByaXZhdGVEaWRSZWNlaXZlU2FtcGxlKToKKwogMjAxOC0wOS0xOSAgUGhpbGlwcGUgTm9ybWFu
ZCA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1N0cmVhbWVyXSBBZGQgc3VwcG9y
dCBmb3IgQVYxIGRlY29kaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKaW5kZXggMzhiZTc1NGFmY2YxMmJhNDQ1MzAwNzFiZjI0
YmM2Njc1MGU0ODRmNS4uMWQ1NGI4OGU1ZTkzNjdmYzFjMmE1YjE4YWZiYjM1MzRmOGEzZTEzMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZm
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVm
ZmVyLmNwcApAQCAtMTY5NCw3ICsxNjk0LDcgQEAgdm9pZCBTb3VyY2VCdWZmZXI6OnNvdXJjZUJ1
ZmZlclByaXZhdGVEaWRSZWNlaXZlU2FtcGxlKE1lZGlhU2FtcGxlJiBzYW1wbGUpCiAgICAgICAg
IC8vIHRvIHRoZSBkZWNvZGVkIGR1cmF0aW9uLiBXaGVuIGNvbXBhcmluZyBkZWx0YXMgYmV0d2Vl
biBkZWNvZGUgdGltZXN0YW1wcywgdGhlIGRlY29kZSBkdXJhdGlvbiwgbm90IHRoZSBwcmVzZW50
YXRpb24uCiAgICAgICAgIGlmICh0cmFja0J1ZmZlci5sYXN0RGVjb2RlVGltZXN0YW1wLmlzVmFs
aWQoKSkgewogICAgICAgICAgICAgTWVkaWFUaW1lIGxhc3REZWNvZGVEdXJhdGlvbiA9IGRlY29k
ZVRpbWVzdGFtcCAtIHRyYWNrQnVmZmVyLmxhc3REZWNvZGVUaW1lc3RhbXA7Ci0gICAgICAgICAg
ICBpZiAobGFzdERlY29kZUR1cmF0aW9uID4gdHJhY2tCdWZmZXIuZ3JlYXRlc3REZWNvZGVEdXJh
dGlvbikKKyAgICAgICAgICAgIGlmICghdHJhY2tCdWZmZXIuZ3JlYXRlc3REZWNvZGVEdXJhdGlv
bi5pc1ZhbGlkKCkgfHwgbGFzdERlY29kZUR1cmF0aW9uID4gdHJhY2tCdWZmZXIuZ3JlYXRlc3RE
ZWNvZGVEdXJhdGlvbikKICAgICAgICAgICAgICAgICB0cmFja0J1ZmZlci5ncmVhdGVzdERlY29k
ZUR1cmF0aW9uID0gbGFzdERlY29kZUR1cmF0aW9uOwogICAgICAgICB9CiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL21lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UtYXBwZW5kLW91dC1v
Zi1vcmRlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvbWVk
aWEtc291cmNlLWFwcGVuZC1vdXQtb2Ytb3JkZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
ZjkwY2E0ZmJkZTdlMmE0MWM0N2M5N2E5ZjM1Y2M5YzRlNjcxZGUKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLWFwcGVuZC1vdXQt
b2Ytb3JkZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjEgQEAKKworRVhQRUNURUQgKHNvdXJj
ZS5yZWFkeVN0YXRlID09ICdjbG9zZWQnKSBPSworRVZFTlQoc291cmNlb3BlbikKK1JVTihzb3Vy
Y2VCdWZmZXIgPSBzb3VyY2UuYWRkU291cmNlQnVmZmVyKCJ2aWRlby9tb2NrOyBjb2RlY3M9bW9j
ayIpKQorUlVOKHNvdXJjZUJ1ZmZlci5hcHBlbmRCdWZmZXIoaW5pdFNlZ21lbnQpKQorRVZFTlQo
dXBkYXRlZW5kKQorRVhQRUNURUQgKHNvdXJjZUJ1ZmZlci5idWZmZXJlZC5sZW5ndGggPT0gJzAn
KSBPSworUlVOKHNvdXJjZUJ1ZmZlci5hcHBlbmRCdWZmZXIoc3luY1NhbXBsZVJ1bigxMCwgMjAp
KSkKK0VWRU5UKHVwZGF0ZWVuZCkKK0VYUEVDVEVEIChmb3JtYXRSYW5nZXMoc291cmNlQnVmZmVy
LmJ1ZmZlcmVkKSA9PSAnWzEwLCAyMCknKSBPSworUlVOKHNvdXJjZUJ1ZmZlci5hcHBlbmRCdWZm
ZXIoc3luY1NhbXBsZVJ1bigwLCAxMCkpKQorRVZFTlQodXBkYXRlZW5kKQorRVhQRUNURUQgKGZv
cm1hdFJhbmdlcyhzb3VyY2VCdWZmZXIuYnVmZmVyZWQpID09ICdbMCwgMjApJykgT0sKK1JVTihz
b3VyY2VCdWZmZXIuYXBwZW5kQnVmZmVyKHN5bmNTYW1wbGVSdW4oMzAsIDQwKSkpCitFVkVOVCh1
cGRhdGVlbmQpCitFWFBFQ1RFRCAoZm9ybWF0UmFuZ2VzKHNvdXJjZUJ1ZmZlci5idWZmZXJlZCkg
PT0gJ1swLCAyMCkgWzMwLCA0MCknKSBPSworUlVOKHNvdXJjZUJ1ZmZlci5hcHBlbmRCdWZmZXIo
c3luY1NhbXBsZVJ1bigyMCwgMzApKSkKK0VWRU5UKHVwZGF0ZWVuZCkKK0VYUEVDVEVEIChmb3Jt
YXRSYW5nZXMoc291cmNlQnVmZmVyLmJ1ZmZlcmVkKSA9PSAnWzAsIDQwKScpIE9LCitFTkQgT0Yg
VEVTVAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWEt
c291cmNlLWFwcGVuZC1vdXQtb2Ytb3JkZXIuaHRtbCBiL0xheW91dFRlc3RzL21lZGlhL21lZGlh
LXNvdXJjZS9tZWRpYS1zb3VyY2UtYXBwZW5kLW91dC1vZi1vcmRlci5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEzODRjMGI2N2U5YzlkZDE3YmMyNjNlY2Q1ZDAwYjE4ZmIzNGJmZDkKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLWFwcGVuZC1v
dXQtb2Ytb3JkZXIuaHRtbApAQCAtMCwwICsxLDk3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+CisgICAgPHRpdGxlPm1vY2stbWVkaWEtc291cmNlPC90aXRsZT4KKyAgICA8c2Ny
aXB0IHNyYz0ibW9jay1tZWRpYS1zb3VyY2UuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3Jj
PSIuLi92aWRlby10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgIHZhciBzb3Vy
Y2U7CisgICAgdmFyIHNvdXJjZUJ1ZmZlcjsKKyAgICB2YXIgaW5pdFNlZ21lbnQ7CisKKyAgICBp
ZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgaW50ZXJuYWxzLmluaXRpYWxpemVNb2NrTWVk
aWFTb3VyY2UoKTsKKworICAgIGZ1bmN0aW9uIHJ1blRlc3QoKQorICAgIHsKKyAgICAgICAgZmlu
ZE1lZGlhRWxlbWVudCgpOworCisgICAgICAgIHNvdXJjZSA9IG5ldyBNZWRpYVNvdXJjZSgpOwor
ICAgICAgICB0ZXN0RXhwZWN0ZWQoJ3NvdXJjZS5yZWFkeVN0YXRlJywgJ2Nsb3NlZCcpOworCisg
ICAgICAgIHdhaXRGb3JFdmVudE9uKHNvdXJjZSwgJ3NvdXJjZW9wZW4nLCBzb3VyY2VPcGVuKTsK
KyAgICAgICAgdmFyIHZpZGVvU291cmNlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc291cmNl
Jyk7CisgICAgICAgIHZpZGVvU291cmNlLnR5cGUgPSAndmlkZW8vbW9jazsgY29kZWNzPW1vY2sn
OworICAgICAgICB2aWRlb1NvdXJjZS5zcmMgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKHNvdXJjZSk7
CisgICAgICAgIHZpZGVvLmFwcGVuZENoaWxkKHZpZGVvU291cmNlKTsKKyAgICB9CisgICAgCisg
ICAgZnVuY3Rpb24gc3luY1NhbXBsZVJ1bihzdGFydCwgZW5kKSB7CisgICAgICAgIGNvbnN0IHNh
bXBsZXMgPSBbXTsKKyAgICAgICAgZm9yIChsZXQgdGltZSA9IHN0YXJ0OyB0aW1lIDwgZW5kOyB0
aW1lKyspCisgICAgICAgICAgICBzYW1wbGVzLnB1c2gobWFrZUFTYW1wbGUodGltZSwgdGltZSwg
MSwgMSwgdGltZSA9PT0gc3RhcnQgPyBTQU1QTEVfRkxBRy5TWU5DIDogU0FNUExFX0ZMQUcuTk9O
RSkpOworICAgICAgICByZXR1cm4gY29uY2F0ZW5hdGVTYW1wbGVzKHNhbXBsZXMpOworICAgIH0K
KworICAgIGZ1bmN0aW9uIGZvcm1hdFJhbmdlcyhidWZmZXJlZCkgeworICAgICAgICBmdW5jdGlv
biByYW5nZXNUb0FycmF5KHJhbmdlcykgeworICAgICAgICAgICAgY29uc3QgcmV0ID0gW107Cisg
ICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJhbmdlcy5sZW5ndGg7IGkrKykgeworICAg
ICAgICAgICAgICAgIHJldC5wdXNoKHtzdGFydDogcmFuZ2VzLnN0YXJ0KGkpLCBlbmQ6IHJhbmdl
cy5lbmQoaSl9KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJldHVybiByZXQ7CisgICAg
ICAgIH0KKworICAgICAgICByZXR1cm4gcmFuZ2VzVG9BcnJheShidWZmZXJlZCkKKyAgICAgICAg
ICAgIC5tYXAocmFuZ2UgPT4gYFske3JhbmdlLnN0YXJ0fSwgJHtyYW5nZS5lbmR9KWApCisgICAg
ICAgICAgICAuam9pbignICcpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHNvdXJjZU9wZW4oKQor
ICAgIHsKKyAgICAgICAgcnVuKCdzb3VyY2VCdWZmZXIgPSBzb3VyY2UuYWRkU291cmNlQnVmZmVy
KCJ2aWRlby9tb2NrOyBjb2RlY3M9bW9jayIpJyk7CisgICAgICAgIHdhaXRGb3JFdmVudE9uKHNv
dXJjZUJ1ZmZlciwgJ3VwZGF0ZWVuZCcsIGxvYWRTYW1wbGVzMTBfMjAsIGZhbHNlLCB0cnVlKTsK
KyAgICAgICAgaW5pdFNlZ21lbnQgPSBtYWtlQUluaXQoOCwgW21ha2VBVHJhY2soMSwgJ21vY2sn
LCBUUkFDS19LSU5ELlZJREVPKV0pOworICAgICAgICBydW4oJ3NvdXJjZUJ1ZmZlci5hcHBlbmRC
dWZmZXIoaW5pdFNlZ21lbnQpJyk7CisgICAgfQorCisgICAgZnVuY3Rpb24gbG9hZFNhbXBsZXMx
MF8yMCgpCisgICAgeworICAgICAgICB0ZXN0RXhwZWN0ZWQoJ3NvdXJjZUJ1ZmZlci5idWZmZXJl
ZC5sZW5ndGgnLCAwKTsKKworICAgICAgICB3YWl0Rm9yRXZlbnRPbihzb3VyY2VCdWZmZXIsICd1
cGRhdGVlbmQnLCBsb2FkU2FtcGxlczBfMTAsIGZhbHNlLCB0cnVlKTsKKyAgICAgICAgcnVuKCdz
b3VyY2VCdWZmZXIuYXBwZW5kQnVmZmVyKHN5bmNTYW1wbGVSdW4oMTAsIDIwKSknKTsKKyAgICB9
CisKKyAgICBmdW5jdGlvbiBsb2FkU2FtcGxlczBfMTAoKSB7CisgICAgICAgIHRlc3RFeHBlY3Rl
ZCgnZm9ybWF0UmFuZ2VzKHNvdXJjZUJ1ZmZlci5idWZmZXJlZCknLCAnWzEwLCAyMCknKTsKKwor
ICAgICAgICB3YWl0Rm9yRXZlbnRPbihzb3VyY2VCdWZmZXIsICd1cGRhdGVlbmQnLCBsb2FkU2Ft
cGxlczMwXzQwLCBmYWxzZSwgdHJ1ZSk7CisgICAgICAgIHJ1bignc291cmNlQnVmZmVyLmFwcGVu
ZEJ1ZmZlcihzeW5jU2FtcGxlUnVuKDAsIDEwKSknKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBs
b2FkU2FtcGxlczMwXzQwKCkgeworICAgICAgICB0ZXN0RXhwZWN0ZWQoJ2Zvcm1hdFJhbmdlcyhz
b3VyY2VCdWZmZXIuYnVmZmVyZWQpJywgJ1swLCAyMCknKTsKKworICAgICAgICB3YWl0Rm9yRXZl
bnRPbihzb3VyY2VCdWZmZXIsICd1cGRhdGVlbmQnLCBsb2FkU2FtcGxlczIwXzMwLCBmYWxzZSwg
dHJ1ZSk7CisgICAgICAgIHJ1bignc291cmNlQnVmZmVyLmFwcGVuZEJ1ZmZlcihzeW5jU2FtcGxl
UnVuKDMwLCA0MCkpJyk7CisgICAgfQorCisgICAgZnVuY3Rpb24gbG9hZFNhbXBsZXMyMF8zMCgp
IHsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCdmb3JtYXRSYW5nZXMoc291cmNlQnVmZmVyLmJ1ZmZl
cmVkKScsICdbMCwgMjApIFszMCwgNDApJyk7CisKKyAgICAgICAgd2FpdEZvckV2ZW50T24oc291
cmNlQnVmZmVyLCAndXBkYXRlZW5kJywgbG9hZGVkQWxsU2FtcGxlcywgZmFsc2UsIHRydWUpOwor
ICAgICAgICBydW4oJ3NvdXJjZUJ1ZmZlci5hcHBlbmRCdWZmZXIoc3luY1NhbXBsZVJ1bigyMCwg
MzApKScpOworICAgIH0KKworICAgIGZ1bmN0aW9uIGxvYWRlZEFsbFNhbXBsZXMoKQorICAgIHsK
KyAgICAgICAgdGVzdEV4cGVjdGVkKCdmb3JtYXRSYW5nZXMoc291cmNlQnVmZmVyLmJ1ZmZlcmVk
KScsICdbMCwgNDApJyk7CisgICAgICAgIGVuZFRlc3QoKTsKKyAgICB9CisgICAgPC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+CisgICAgPHZpZGVvPjwvdmlkZW8+
Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>