<?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>156284</bug_id>
          
          <creation_ts>2016-04-06 03:27:50 -0700</creation_ts>
          <short_desc>[WinCairo][MediaFoundation] Videos are always autoplaying.</short_desc>
          <delta_ts>2019-05-27 20:24:01 -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>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=190747</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>peavo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>achristensen</cc>
    
    <cc>annulen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1181219</commentid>
    <comment_count>0</comment_count>
    <who name="">peavo</who>
    <bug_when>2016-04-06 03:27:50 -0700</bug_when>
    <thetext>Videos are autoplaying because the MediaFoundation implementation always call play() after load() has been called. When load() has been called, we should only start buffering data, not automatically start the playback.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1181221</commentid>
    <comment_count>1</comment_count>
      <attachid>275766</attachid>
    <who name="">peavo</who>
    <bug_when>2016-04-06 03:41:52 -0700</bug_when>
    <thetext>Created attachment 275766
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1181320</commentid>
    <comment_count>2</comment_count>
      <attachid>275766</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-04-06 11:44:09 -0700</bug_when>
    <thetext>Comment on attachment 275766
Patch

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

&gt; Source/WebCore/platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:850
&gt; +    if (progress &gt;= 100) {

What is 100?  Does this automatically buffer 100% of the data of the video?  Is this good for HUGE videos?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1181348</commentid>
    <comment_count>3</comment_count>
    <who name="">peavo</who>
    <bug_when>2016-04-06 12:03:38 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Comment on attachment 275766 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=275766&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:850
&gt; &gt; +    if (progress &gt;= 100) {
&gt; 
&gt; What is 100?  Does this automatically buffer 100% of the data of the video? 
&gt; Is this good for HUGE videos?

As I have understood it, this is the percentage of the amount of data you need to start playing. 100 then means you have enough data to start or continue playback.

Thanks for looking into this :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1181351</commentid>
    <comment_count>4</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-04-06 12:05:08 -0700</bug_when>
    <thetext>So 100 means 100% of whatever MediaFoundation thinks is enough to start playing, not the percentage of the entire video, right?  Could you give the constant 100 a name?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1181368</commentid>
    <comment_count>5</comment_count>
      <attachid>275810</attachid>
    <who name="">peavo</who>
    <bug_when>2016-04-06 12:45:52 -0700</bug_when>
    <thetext>Created attachment 275810
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1181373</commentid>
    <comment_count>6</comment_count>
    <who name="">peavo</who>
    <bug_when>2016-04-06 12:51:07 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; So 100 means 100% of whatever MediaFoundation thinks is enough to start
&gt; playing, not the percentage of the entire video, right?  Could you give the
&gt; constant 100 a name?

Yes, according to the documentation it is the fill percentage of the playback buffer. I renamed the progress variable to &apos;percentageOfPlaybackBufferFilled&apos;, would that be ok?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1181374</commentid>
    <comment_count>7</comment_count>
    <who name="">peavo</who>
    <bug_when>2016-04-06 12:53:56 -0700</bug_when>
    <thetext>Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1181389</commentid>
    <comment_count>8</comment_count>
      <attachid>275810</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-04-06 13:41:50 -0700</bug_when>
    <thetext>Comment on attachment 275810
Patch

Clearing flags on attachment: 275810

Committed r199114: &lt;http://trac.webkit.org/changeset/199114&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1181390</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-04-06 13:41:53 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1343928</commentid>
    <comment_count>10</comment_count>
    <who name="Konstantin Tokarev">annulen</who>
    <bug_when>2017-08-31 08:11:02 -0700</bug_when>
    <thetext>Local files are still affected by this bug, because they don&apos;t get MEBufferingStarted/MEBufferingStopped events. Any idea what would be the right approach to fix this issue?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>275766</attachid>
            <date>2016-04-06 03:41:52 -0700</date>
            <delta_ts>2016-04-06 12:45:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-156284-20160406124201.patch</filename>
            <type>text/plain</type>
            <size>10252</size>
            <attacher>peavo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5OTA5OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBACisyMDE2LTA0LTA2ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwZWF2b0BvdXRsb29rLmNvbT4KKworICAgICAgICBbV2luQ2Fpcm9dW01lZGlh
Rm91bmRhdGlvbl0gVmlkZW9zIGFyZSBhbHdheXMgYXV0b3BsYXlpbmcuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTYyODQKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBWaWRlb3MgYXJlIGF1dG9wbGF5aW5n
IGJlY2F1c2UgdGhlIE1lZGlhRm91bmRhdGlvbiBpbXBsZW1lbnRhdGlvbiBhbHdheXMgc3RhcnRz
IHBsYXliYWNrCisgICAgICAgIGFmdGVyIHRoZSBsb2FkIG1ldGhvZCBoYXMgYmVlbiBjYWxsZWQu
IFdoZW4gdGhlIGxvYWQgbWV0aG9kIGhhcyBiZWVuIGNhbGxlZCwgd2Ugc2hvdWxkCisgICAgICAg
IG9ubHkgc3RhcnQgYnVmZmVyaW5nIGRhdGEsIG5vdCBhdXRvbWF0aWNhbGx5IHN0YXJ0IHRoZSBw
bGF5YmFjay4gVGhpcyBoYXMgYmVlbiBmaXhlZCBieQorICAgICAgICBpbXBsZW1lbnRpbmcgdGhl
IHByZXBhcmVUb1BsYXkgbWV0aG9kLCBhbmQgY2FsbGluZyB0aGlzIGluc3RlYWQgb2YgdGhlIHBs
YXkgbWV0aG9kLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlhUGxheWVy
UHJpdmF0ZU1lZGlhRm91bmRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXll
clByaXZhdGVNZWRpYUZvdW5kYXRpb246Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlv
bik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb246
OmxvYWQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0
aW9uOjpwcmVwYXJlVG9QbGF5KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0
ZU1lZGlhRm91bmRhdGlvbjo6cGxheSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclBy
aXZhdGVNZWRpYUZvdW5kYXRpb246Om5ldHdvcmtTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb246OnN0YXJ0U2Vzc2lvbik6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb246OmVuZEdldEV2ZW50
KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbjo6
dXBkYXRlUmVhZHlTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVN
ZWRpYUZvdW5kYXRpb246Om9uVG9wb2xvZ3lTZXQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQ
bGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uOjpvbkJ1ZmZlcmluZ1N0YXJ0ZWQpOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uOjpvbkJ1ZmZlcmlu
Z1N0b3BwZWQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3Vu
ZGF0aW9uOjpvblNlc3Npb25FbmRlZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclBy
aXZhdGVNZWRpYUZvdW5kYXRpb246OkRpcmVjdDNEUHJlc2VudGVyOjp1cGRhdGVEZXN0UmVjdCk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlh
Rm91bmRhdGlvbi5oOgorCiAyMDE2LTA0LTA2ICBNYW51ZWwgUmVnbyBDYXNhc25vdmFzICA8cmVn
b0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtjc3MtZ3JpZF0gRml4IHBvc2l0aW9uZWQgY2hpbGRy
ZW4gaW4gUlRMCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTWVk
aWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3Vu
ZGF0aW9uLmNwcAkocmV2aXNpb24gMTk5MDU1KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbi5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTg4LDEwICs4OCwxMiBAQCBNZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5k
YXRpb246Ok1lZGlhCiAgICAgOiBtX3BsYXllcihwbGF5ZXIpCiAgICAgLCBtX3Zpc2libGUoZmFs
c2UpCiAgICAgLCBtX2xvYWRpbmdQcm9ncmVzcyhmYWxzZSkKLSAgICAsIG1fcGF1c2VkKGZhbHNl
KQorICAgICwgbV9wYXVzZWQodHJ1ZSkKICAgICAsIG1faGFzQXVkaW8oZmFsc2UpCiAgICAgLCBt
X2hhc1ZpZGVvKGZhbHNlKQorICAgICwgbV9wcmVwYXJpbmdUb1BsYXkoZmFsc2UpCiAgICAgLCBt
X2h3bmRWaWRlbyhudWxscHRyKQorICAgICwgbV9uZXR3b3JrU3RhdGUoTWVkaWFQbGF5ZXI6OkVt
cHR5KQogICAgICwgbV9yZWFkeVN0YXRlKE1lZGlhUGxheWVyOjpIYXZlTm90aGluZykKICAgICAs
IG1fd2Vha1B0ckZhY3RvcnkodGhpcykKIHsKQEAgLTE2Nyw2ICsxNjksMTEgQEAgTWVkaWFQbGF5
ZXI6OlN1cHBvcnRzVHlwZSBNZWRpYVBsYXllclByaQogdm9pZCBNZWRpYVBsYXllclByaXZhdGVN
ZWRpYUZvdW5kYXRpb246OmxvYWQoY29uc3QgU3RyaW5nJiB1cmwpCiB7CiAgICAgc3RhcnRDcmVh
dGVNZWRpYVNvdXJjZSh1cmwpOworCisgICAgbV9uZXR3b3JrU3RhdGUgPSBNZWRpYVBsYXllcjo6
TG9hZGluZzsKKyAgICBtX3BsYXllci0+bmV0d29ya1N0YXRlQ2hhbmdlZCgpOworICAgIG1fcmVh
ZHlTdGF0ZSA9IE1lZGlhUGxheWVyOjpIYXZlTm90aGluZzsKKyAgICBtX3BsYXllci0+cmVhZHlT
dGF0ZUNoYW5nZWQoKTsKIH0KIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRp
b246OmNhbmNlbExvYWQoKQpAQCAtMTc0LDIxICsxODEsMjAgQEAgdm9pZCBNZWRpYVBsYXllclBy
aXZhdGVNZWRpYUZvdW5kYXRpb246OgogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKLXZvaWQg
TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uOjpwbGF5KCkKK3ZvaWQgTWVkaWFQbGF5
ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uOjpwcmVwYXJlVG9QbGF5KCkKIHsKLSAgICBpZiAoIW1f
bWVkaWFTZXNzaW9uKQotICAgICAgICByZXR1cm47Ci0KLSAgICBQUk9QVkFSSUFOVCB2YXJTdGFy
dDsKLSAgICBQcm9wVmFyaWFudEluaXQoJnZhclN0YXJ0KTsKLSAgICB2YXJTdGFydC52dCA9IFZU
X0VNUFRZOwotCi0gICAgSFJFU1VMVCBociA9IG1fbWVkaWFTZXNzaW9uLT5TdGFydChudWxscHRy
LCAmdmFyU3RhcnQpOwotICAgIEFTU0VSVChTVUNDRUVERUQoaHIpKTsKKyAgICAvLyBXZSBjYWxs
IHN0YXJ0U2Vzc2lvbigpIHRvIHN0YXJ0IGJ1ZmZlcmluZyB2aWRlbyBkYXRhLgorICAgIC8vIFdo
ZW4gd2UgaGF2ZSByZWNlaXZlZCBlbm91Z2ggZGF0YSwgd2UgcGF1c2UsIHNvIHRoYXQgd2UgZG9u
J3QgYWN0dWFsbHkgc3RhcnQgdGhlIHBsYXliYWNrLgorICAgIEFTU0VSVChtX3BhdXNlZCk7Cisg
ICAgQVNTRVJUKCFtX3ByZXBhcmluZ1RvUGxheSk7CisgICAgbV9wcmVwYXJpbmdUb1BsYXkgPSBz
dGFydFNlc3Npb24oKTsKK30KIAotICAgIFByb3BWYXJpYW50Q2xlYXIoJnZhclN0YXJ0KTsKK3Zv
aWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uOjpwbGF5KCkKK3sKKyAgICBtX3Bh
dXNlZCA9ICFzdGFydFNlc3Npb24oKTsKIAotICAgIG1fcGF1c2VkID0gIVNVQ0NFRURFRChocik7
CisgICAgbV9wcmVwYXJpbmdUb1BsYXkgPSBmYWxzZTsKIH0KIAogdm9pZCBNZWRpYVBsYXllclBy
aXZhdGVNZWRpYUZvdW5kYXRpb246OnBhdXNlKCkKQEAgLTMxOSw4ICszMjUsNyBAQCB2b2lkIE1l
ZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbjo6CiAKIE1lZGlhUGxheWVyOjpOZXR3b3Jr
U3RhdGUgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uOjpuZXR3b3JrU3RhdGUoKSBj
b25zdAogeyAKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiBNZWRpYVBsYXllcjo6
RW1wdHk7CisgICAgcmV0dXJuIG1fbmV0d29ya1N0YXRlOwogfQogCiBNZWRpYVBsYXllcjo6UmVh
ZHlTdGF0ZSBNZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb246OnJlYWR5U3RhdGUoKSBj
b25zdApAQCAtNDEzLDYgKzQxOCwyMyBAQCBib29sIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91
bmRhdGlvbjo6CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK2Jvb2wgTWVkaWFQbGF5ZXJQcml2YXRl
TWVkaWFGb3VuZGF0aW9uOjpzdGFydFNlc3Npb24oKQoreworICAgIGlmICghbV9tZWRpYVNlc3Np
b24pCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIFBST1BWQVJJQU5UIHZhclN0YXJ0Owor
ICAgIFByb3BWYXJpYW50SW5pdCgmdmFyU3RhcnQpOworICAgIHZhclN0YXJ0LnZ0ID0gVlRfRU1Q
VFk7CisKKyAgICBIUkVTVUxUIGhyID0gbV9tZWRpYVNlc3Npb24tPlN0YXJ0KG51bGxwdHIsICZ2
YXJTdGFydCk7CisgICAgQVNTRVJUKFNVQ0NFRURFRChocikpOworCisgICAgUHJvcFZhcmlhbnRD
bGVhcigmdmFyU3RhcnQpOworCisgICAgcmV0dXJuIFNVQ0NFRURFRChocik7Cit9CisKIGJvb2wg
TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uOjplbmRTZXNzaW9uKCkKIHsKICAgICBp
ZiAobV9tZWRpYVNlc3Npb24pIHsKQEAgLTUwMywxMSArNTI1LDQ0IEBAIGJvb2wgTWVkaWFQbGF5
ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uOjoKICAgICAgICAgYnJlYWs7CiAgICAgfQogCi0gICAg
Y2FzZSBNRVNlc3Npb25DbG9zZWQ6CisgICAgY2FzZSBNRUJ1ZmZlcmluZ1N0YXJ0ZWQ6IHsKKyAg
ICAgICAgYXV0byB3ZWFrUHRyID0gbV93ZWFrUHRyRmFjdG9yeS5jcmVhdGVXZWFrUHRyKCk7Cisg
ICAgICAgIGNhbGxPbk1haW5UaHJlYWQoW3dlYWtQdHJdIHsKKyAgICAgICAgICAgIGlmICghd2Vh
a1B0cikKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB3ZWFrUHRyLT5vbkJ1
ZmZlcmluZ1N0YXJ0ZWQoKTsKKyAgICAgICAgfSk7CiAgICAgICAgIGJyZWFrOworICAgIH0KKwor
ICAgIGNhc2UgTUVCdWZmZXJpbmdTdG9wcGVkOiB7CisgICAgICAgIGF1dG8gd2Vha1B0ciA9IG1f
d2Vha1B0ckZhY3RvcnkuY3JlYXRlV2Vha1B0cigpOworICAgICAgICBjYWxsT25NYWluVGhyZWFk
KFt3ZWFrUHRyXSB7CisgICAgICAgICAgICBpZiAoIXdlYWtQdHIpCisgICAgICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICAgICAgd2Vha1B0ci0+b25CdWZmZXJpbmdTdG9wcGVkKCk7CisgICAg
ICAgIH0pOworICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBjYXNlIE1FU2Vzc2lvbkVuZGVk
OiB7CisgICAgICAgIGF1dG8gd2Vha1B0ciA9IG1fd2Vha1B0ckZhY3RvcnkuY3JlYXRlV2Vha1B0
cigpOworICAgICAgICBjYWxsT25NYWluVGhyZWFkKFt3ZWFrUHRyXSB7CisgICAgICAgICAgICBp
ZiAoIXdlYWtQdHIpCisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgd2Vha1B0
ci0+b25TZXNzaW9uRW5kZWQoKTsKKyAgICAgICAgfSk7CisgICAgICAgIGJyZWFrOworICAgIH0K
IAogICAgIGNhc2UgTUVNZWRpYVNhbXBsZToKICAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIE1F
RXJyb3I6IHsKKyAgICAgICAgSFJFU1VMVCBzdGF0dXMgPSBTX09LOworICAgICAgICBldmVudC0+
R2V0U3RhdHVzKCZzdGF0dXMpOworICAgICAgICBicmVhazsKKyAgICB9CiAgICAgfQogCiAgICAg
aWYgKG1lZGlhRXZlbnRUeXBlICE9IE1FU2Vzc2lvbkNsb3NlZCkgewpAQCAtNzY0LDYgKzgxOSw0
OSBAQCBib29sIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbjo6CiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uOjp1cGRh
dGVSZWFkeVN0YXRlKCkKK3sKKyAgICBpZiAoIU1GR2V0U2VydmljZVB0cigpKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBDT01QdHI8SVByb3BlcnR5U3RvcmU+IHByb3A7CisKKyAgICAvLyBHZXQg
dGhlIHByb3BlcnR5IHN0b3JlIGZyb20gdGhlIG1lZGlhIHNlc3Npb24uCisgICAgSFJFU1VMVCBo
ciA9IE1GR2V0U2VydmljZVB0cigpKG1fbWVkaWFTZXNzaW9uLmdldCgpLCBNRk5FVFNPVVJDRV9T
VEFUSVNUSUNTX1NFUlZJQ0UsIElJRF9QUFZfQVJHUygmcHJvcCkpOworCisgICAgaWYgKEZBSUxF
RChocikpCisgICAgICAgIHJldHVybjsKKworICAgIFBST1BFUlRZS0VZIGtleTsKKyAgICBrZXku
Zm10aWQgPSBNRk5FVFNPVVJDRV9TVEFUSVNUSUNTOworICAgIGtleS5waWQgPSBNRk5FVFNPVVJD
RV9CVUZGRVJQUk9HUkVTU19JRDsKKworICAgIFBST1BWQVJJQU5UIHZhcjsKKyAgICBociA9IHBy
b3AtPkdldFZhbHVlKGtleSwgJnZhcik7CisKKyAgICBMT05HIHByb2dyZXNzID0gdmFyLmxWYWw7
CisKKyAgICBQcm9wVmFyaWFudENsZWFyKCZ2YXIpOworCisgICAgaWYgKEZBSUxFRChocikpCisg
ICAgICAgIHJldHVybjsKKworICAgIE1lZGlhUGxheWVyOjpSZWFkeVN0YXRlIG9sZFJlYWR5U3Rh
dGUgPSBtX3JlYWR5U3RhdGU7CisgICAgaWYgKHByb2dyZXNzID49IDEwMCkgeworICAgICAgICBt
X3JlYWR5U3RhdGUgPSBNZWRpYVBsYXllcjo6SGF2ZUVub3VnaERhdGE7CisgICAgICAgIGlmICht
X3ByZXBhcmluZ1RvUGxheSkgeworICAgICAgICAgICAgcGF1c2UoKTsKKyAgICAgICAgICAgIG1f
cHJlcGFyaW5nVG9QbGF5ID0gZmFsc2U7CisgICAgICAgIH0KKyAgICB9IGVsc2UgaWYgKHByb2dy
ZXNzID4gMCkKKyAgICAgICAgbV9yZWFkeVN0YXRlID0gTWVkaWFQbGF5ZXI6OkhhdmVGdXR1cmVE
YXRhOworICAgIGVsc2UKKyAgICAgICAgbV9yZWFkeVN0YXRlID0gTWVkaWFQbGF5ZXI6OkhhdmVD
dXJyZW50RGF0YTsKKworICAgIGlmIChtX3JlYWR5U3RhdGUgIT0gb2xkUmVhZHlTdGF0ZSkKKyAg
ICAgICAgbV9wbGF5ZXItPnJlYWR5U3RhdGVDaGFuZ2VkKCk7Cit9CisKIENPTVB0cjxJTUZWaWRl
b0Rpc3BsYXlDb250cm9sPiBNZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb246OnZpZGVv
RGlzcGxheSgpCiB7CiAgICAgaWYgKG1fdmlkZW9EaXNwbGF5KQpAQCAtNzg5LDE3ICs4ODcsMzMg
QEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb246OgogCiB2b2lkIE1lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbjo6b25Ub3BvbG9neVNldCgpCiB7CisgICAgLy8g
VGhpcyBtZXRob2QgaXMgY2FsbGVkIG9uIHRoZSBtYWluIHRocmVhZCBhcyBhIHJlc3VsdCBvZiBs
b2FkKCkgYmVpbmcgY2FsbGVkLgorCiAgICAgaWYgKGF1dG8gdmlkZW9EaXNwbGF5ID0gdGhpcy0+
dmlkZW9EaXNwbGF5KCkpIHsKICAgICAgICAgUkVDVCByYyA9IHsgMCwgMCwgbV9zaXplLndpZHRo
KCksIG1fc2l6ZS5oZWlnaHQoKSB9OwogICAgICAgICB2aWRlb0Rpc3BsYXktPlNldFZpZGVvUG9z
aXRpb24obnVsbHB0ciwgJnJjKTsKICAgICB9CiAKLSAgICBtX3JlYWR5U3RhdGUgPSBNZWRpYVBs
YXllcjo6SGF2ZUZ1dHVyZURhdGE7CisgICAgLy8gSXQgaXMgZXhwZWN0ZWQgdGhhdCB3ZSBzdGFy
dCBidWZmZXJpbmcgZGF0YSBmcm9tIHRoZSBuZXR3b3JrIG5vdy4KKyAgICBwcmVwYXJlVG9QbGF5
KCk7Cit9CiAKLSAgICBBU1NFUlQobV9wbGF5ZXIpOwotICAgIG1fcGxheWVyLT5yZWFkeVN0YXRl
Q2hhbmdlZCgpOwordm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb246Om9uQnVm
ZmVyaW5nU3RhcnRlZCgpCit7CisgICAgdXBkYXRlUmVhZHlTdGF0ZSgpOworfQogCi0gICAgcGxh
eSgpOwordm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb246Om9uQnVmZmVyaW5n
U3RvcHBlZCgpCit7CisgICAgdXBkYXRlUmVhZHlTdGF0ZSgpOworfQorCit2b2lkIE1lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbjo6b25TZXNzaW9uRW5kZWQoKQoreworICAgIG1fbmV0
d29ya1N0YXRlID0gTWVkaWFQbGF5ZXI6OkxvYWRlZDsKKyAgICBtX3BsYXllci0+bmV0d29ya1N0
YXRlQ2hhbmdlZCgpOworCisgICAgbV9wYXVzZWQgPSB0cnVlOwogICAgIG1fcGxheWVyLT5wbGF5
YmFja1N0YXRlQ2hhbmdlZCgpOwogfQogCkBAIC0yOTc0LDcgKzMwODgsOCBAQCBIUkVTVUxUIE1l
ZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvCiAgICAgICAgIHJldHVybiBTX0ZBTFNFOwog
CiAgICAgUkVDVCByY1ZpZXc7Ci0gICAgR2V0Q2xpZW50UmVjdChtX2h3bmQsICZyY1ZpZXcpOwor
ICAgIGlmICghR2V0Q2xpZW50UmVjdChtX2h3bmQsICZyY1ZpZXcpKQorICAgICAgICByZXR1cm4g
RV9GQUlMOwogCiAgICAgLy8gQ2xpcCB0byB0aGUgY2xpZW50IGFyZWEgb2YgdGhlIHdpbmRvdy4K
ICAgICBpZiAobV9kZXN0UmVjdC5yaWdodCA+IHJjVmlldy5yaWdodCkKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9NZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5k
YXRpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
aW4vTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uLmgJKHJldmlzaW9uIDE5OTA1NSkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9NZWRpYVBsYXllclByaXZh
dGVNZWRpYUZvdW5kYXRpb24uaAkod29ya2luZyBjb3B5KQpAQCAtNjAsNiArNjAsOCBAQCBwdWJs
aWM6CiAgICAgdm9pZCBsb2FkKGNvbnN0IFN0cmluZyYgdXJsKSBvdmVycmlkZTsKICAgICB2b2lk
IGNhbmNlbExvYWQoKSBvdmVycmlkZTsKIAorICAgIHZvaWQgcHJlcGFyZVRvUGxheSgpIG92ZXJy
aWRlOworCiAgICAgdm9pZCBwbGF5KCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBwYXVzZSgpIG92ZXJy
aWRlOwogCkBAIC0xMDksNyArMTExLDkgQEAgcHJpdmF0ZToKICAgICBib29sIG1fcGF1c2VkOwog
ICAgIGJvb2wgbV9oYXNBdWRpbzsKICAgICBib29sIG1faGFzVmlkZW87CisgICAgYm9vbCBtX3By
ZXBhcmluZ1RvUGxheTsKICAgICBIV05EIG1faHduZFZpZGVvOworICAgIE1lZGlhUGxheWVyOjpO
ZXR3b3JrU3RhdGUgbV9uZXR3b3JrU3RhdGU7CiAgICAgTWVkaWFQbGF5ZXI6OlJlYWR5U3RhdGUg
bV9yZWFkeVN0YXRlOwogICAgIEZsb2F0UmVjdCBtX2xhc3RQYWludFJlY3Q7CiAKQEAgLTEyNiw2
ICsxMzAsNyBAQCBwcml2YXRlOgogICAgIENPTVB0cjxJTUZWaWRlb0Rpc3BsYXlDb250cm9sPiBt
X3ZpZGVvRGlzcGxheTsKIAogICAgIGJvb2wgY3JlYXRlU2Vzc2lvbigpOworICAgIGJvb2wgc3Rh
cnRTZXNzaW9uKCk7CiAgICAgYm9vbCBlbmRTZXNzaW9uKCk7CiAgICAgYm9vbCBzdGFydENyZWF0
ZU1lZGlhU291cmNlKGNvbnN0IFN0cmluZyYgdXJsKTsKICAgICBib29sIGVuZENyZWF0ZWRNZWRp
YVNvdXJjZShJTUZBc3luY1Jlc3VsdCopOwpAQCAtMTM1LDEwICsxNDAsMTUgQEAgcHJpdmF0ZToK
ICAgICBib29sIGNyZWF0ZU91dHB1dE5vZGUoQ09NUHRyPElNRlN0cmVhbURlc2NyaXB0b3I+IHNv
dXJjZVNELCBDT01QdHI8SU1GVG9wb2xvZ3lOb2RlPiYpOwogICAgIGJvb2wgY3JlYXRlU291cmNl
U3RyZWFtTm9kZShDT01QdHI8SU1GU3RyZWFtRGVzY3JpcHRvcj4gc291cmNlU0QsIENPTVB0cjxJ
TUZUb3BvbG9neU5vZGU+Jik7CiAKKyAgICB2b2lkIHVwZGF0ZVJlYWR5U3RhdGUoKTsKKwogICAg
IENPTVB0cjxJTUZWaWRlb0Rpc3BsYXlDb250cm9sPiB2aWRlb0Rpc3BsYXkoKTsKIAogICAgIHZv
aWQgb25DcmVhdGVkTWVkaWFTb3VyY2UoKTsKICAgICB2b2lkIG9uVG9wb2xvZ3lTZXQoKTsKKyAg
ICB2b2lkIG9uQnVmZmVyaW5nU3RhcnRlZCgpOworICAgIHZvaWQgb25CdWZmZXJpbmdTdG9wcGVk
KCk7CisgICAgdm9pZCBvblNlc3Npb25FbmRlZCgpOwogCiAgICAgTFBDV1NUUiByZWdpc3RlclZp
ZGVvV2luZG93Q2xhc3MoKTsKICAgICB2b2lkIGNyZWF0ZVZpZGVvV2luZG93KCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>275810</attachid>
            <date>2016-04-06 12:45:52 -0700</date>
            <delta_ts>2016-04-06 13:41:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-156284-20160406214603.patch</filename>
            <type>text/plain</type>
            <size>10330</size>
            <attacher>peavo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5OTA5OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBACisyMDE2LTA0LTA2ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwZWF2b0BvdXRsb29rLmNvbT4KKworICAgICAgICBbV2luQ2Fpcm9dW01lZGlh
Rm91bmRhdGlvbl0gVmlkZW9zIGFyZSBhbHdheXMgYXV0b3BsYXlpbmcuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTYyODQKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBWaWRlb3MgYXJlIGF1dG9wbGF5aW5n
IGJlY2F1c2UgdGhlIE1lZGlhRm91bmRhdGlvbiBpbXBsZW1lbnRhdGlvbiBhbHdheXMgc3RhcnRz
IHBsYXliYWNrCisgICAgICAgIGFmdGVyIHRoZSBsb2FkIG1ldGhvZCBoYXMgYmVlbiBjYWxsZWQu
IFdoZW4gdGhlIGxvYWQgbWV0aG9kIGhhcyBiZWVuIGNhbGxlZCwgd2Ugc2hvdWxkCisgICAgICAg
IG9ubHkgc3RhcnQgYnVmZmVyaW5nIGRhdGEsIG5vdCBhdXRvbWF0aWNhbGx5IHN0YXJ0IHRoZSBw
bGF5YmFjay4gVGhpcyBoYXMgYmVlbiBmaXhlZCBieQorICAgICAgICBpbXBsZW1lbnRpbmcgdGhl
IHByZXBhcmVUb1BsYXkgbWV0aG9kLCBhbmQgY2FsbGluZyB0aGlzIGluc3RlYWQgb2YgdGhlIHBs
YXkgbWV0aG9kLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlhUGxheWVy
UHJpdmF0ZU1lZGlhRm91bmRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXll
clByaXZhdGVNZWRpYUZvdW5kYXRpb246Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlv
bik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb246
OmxvYWQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0
aW9uOjpwcmVwYXJlVG9QbGF5KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0
ZU1lZGlhRm91bmRhdGlvbjo6cGxheSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclBy
aXZhdGVNZWRpYUZvdW5kYXRpb246Om5ldHdvcmtTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb246OnN0YXJ0U2Vzc2lvbik6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb246OmVuZEdldEV2ZW50
KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbjo6
dXBkYXRlUmVhZHlTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVN
ZWRpYUZvdW5kYXRpb246Om9uVG9wb2xvZ3lTZXQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQ
bGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uOjpvbkJ1ZmZlcmluZ1N0YXJ0ZWQpOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uOjpvbkJ1ZmZlcmlu
Z1N0b3BwZWQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3Vu
ZGF0aW9uOjpvblNlc3Npb25FbmRlZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclBy
aXZhdGVNZWRpYUZvdW5kYXRpb246OkRpcmVjdDNEUHJlc2VudGVyOjp1cGRhdGVEZXN0UmVjdCk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlh
Rm91bmRhdGlvbi5oOgorCiAyMDE2LTA0LTA2ICBNYW51ZWwgUmVnbyBDYXNhc25vdmFzICA8cmVn
b0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtjc3MtZ3JpZF0gRml4IHBvc2l0aW9uZWQgY2hpbGRy
ZW4gaW4gUlRMCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTWVk
aWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3Vu
ZGF0aW9uLmNwcAkocmV2aXNpb24gMTk5MDU1KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbi5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTg4LDEwICs4OCwxMiBAQCBNZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5k
YXRpb246Ok1lZGlhCiAgICAgOiBtX3BsYXllcihwbGF5ZXIpCiAgICAgLCBtX3Zpc2libGUoZmFs
c2UpCiAgICAgLCBtX2xvYWRpbmdQcm9ncmVzcyhmYWxzZSkKLSAgICAsIG1fcGF1c2VkKGZhbHNl
KQorICAgICwgbV9wYXVzZWQodHJ1ZSkKICAgICAsIG1faGFzQXVkaW8oZmFsc2UpCiAgICAgLCBt
X2hhc1ZpZGVvKGZhbHNlKQorICAgICwgbV9wcmVwYXJpbmdUb1BsYXkoZmFsc2UpCiAgICAgLCBt
X2h3bmRWaWRlbyhudWxscHRyKQorICAgICwgbV9uZXR3b3JrU3RhdGUoTWVkaWFQbGF5ZXI6OkVt
cHR5KQogICAgICwgbV9yZWFkeVN0YXRlKE1lZGlhUGxheWVyOjpIYXZlTm90aGluZykKICAgICAs
IG1fd2Vha1B0ckZhY3RvcnkodGhpcykKIHsKQEAgLTE2Nyw2ICsxNjksMTEgQEAgTWVkaWFQbGF5
ZXI6OlN1cHBvcnRzVHlwZSBNZWRpYVBsYXllclByaQogdm9pZCBNZWRpYVBsYXllclByaXZhdGVN
ZWRpYUZvdW5kYXRpb246OmxvYWQoY29uc3QgU3RyaW5nJiB1cmwpCiB7CiAgICAgc3RhcnRDcmVh
dGVNZWRpYVNvdXJjZSh1cmwpOworCisgICAgbV9uZXR3b3JrU3RhdGUgPSBNZWRpYVBsYXllcjo6
TG9hZGluZzsKKyAgICBtX3BsYXllci0+bmV0d29ya1N0YXRlQ2hhbmdlZCgpOworICAgIG1fcmVh
ZHlTdGF0ZSA9IE1lZGlhUGxheWVyOjpIYXZlTm90aGluZzsKKyAgICBtX3BsYXllci0+cmVhZHlT
dGF0ZUNoYW5nZWQoKTsKIH0KIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRp
b246OmNhbmNlbExvYWQoKQpAQCAtMTc0LDIxICsxODEsMjAgQEAgdm9pZCBNZWRpYVBsYXllclBy
aXZhdGVNZWRpYUZvdW5kYXRpb246OgogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKLXZvaWQg
TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uOjpwbGF5KCkKK3ZvaWQgTWVkaWFQbGF5
ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uOjpwcmVwYXJlVG9QbGF5KCkKIHsKLSAgICBpZiAoIW1f
bWVkaWFTZXNzaW9uKQotICAgICAgICByZXR1cm47Ci0KLSAgICBQUk9QVkFSSUFOVCB2YXJTdGFy
dDsKLSAgICBQcm9wVmFyaWFudEluaXQoJnZhclN0YXJ0KTsKLSAgICB2YXJTdGFydC52dCA9IFZU
X0VNUFRZOwotCi0gICAgSFJFU1VMVCBociA9IG1fbWVkaWFTZXNzaW9uLT5TdGFydChudWxscHRy
LCAmdmFyU3RhcnQpOwotICAgIEFTU0VSVChTVUNDRUVERUQoaHIpKTsKKyAgICAvLyBXZSBjYWxs
IHN0YXJ0U2Vzc2lvbigpIHRvIHN0YXJ0IGJ1ZmZlcmluZyB2aWRlbyBkYXRhLgorICAgIC8vIFdo
ZW4gd2UgaGF2ZSByZWNlaXZlZCBlbm91Z2ggZGF0YSwgd2UgcGF1c2UsIHNvIHRoYXQgd2UgZG9u
J3QgYWN0dWFsbHkgc3RhcnQgdGhlIHBsYXliYWNrLgorICAgIEFTU0VSVChtX3BhdXNlZCk7Cisg
ICAgQVNTRVJUKCFtX3ByZXBhcmluZ1RvUGxheSk7CisgICAgbV9wcmVwYXJpbmdUb1BsYXkgPSBz
dGFydFNlc3Npb24oKTsKK30KIAotICAgIFByb3BWYXJpYW50Q2xlYXIoJnZhclN0YXJ0KTsKK3Zv
aWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uOjpwbGF5KCkKK3sKKyAgICBtX3Bh
dXNlZCA9ICFzdGFydFNlc3Npb24oKTsKIAotICAgIG1fcGF1c2VkID0gIVNVQ0NFRURFRChocik7
CisgICAgbV9wcmVwYXJpbmdUb1BsYXkgPSBmYWxzZTsKIH0KIAogdm9pZCBNZWRpYVBsYXllclBy
aXZhdGVNZWRpYUZvdW5kYXRpb246OnBhdXNlKCkKQEAgLTMxOSw4ICszMjUsNyBAQCB2b2lkIE1l
ZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbjo6CiAKIE1lZGlhUGxheWVyOjpOZXR3b3Jr
U3RhdGUgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uOjpuZXR3b3JrU3RhdGUoKSBj
b25zdAogeyAKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiBNZWRpYVBsYXllcjo6
RW1wdHk7CisgICAgcmV0dXJuIG1fbmV0d29ya1N0YXRlOwogfQogCiBNZWRpYVBsYXllcjo6UmVh
ZHlTdGF0ZSBNZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb246OnJlYWR5U3RhdGUoKSBj
b25zdApAQCAtNDEzLDYgKzQxOCwyMyBAQCBib29sIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91
bmRhdGlvbjo6CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK2Jvb2wgTWVkaWFQbGF5ZXJQcml2YXRl
TWVkaWFGb3VuZGF0aW9uOjpzdGFydFNlc3Npb24oKQoreworICAgIGlmICghbV9tZWRpYVNlc3Np
b24pCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIFBST1BWQVJJQU5UIHZhclN0YXJ0Owor
ICAgIFByb3BWYXJpYW50SW5pdCgmdmFyU3RhcnQpOworICAgIHZhclN0YXJ0LnZ0ID0gVlRfRU1Q
VFk7CisKKyAgICBIUkVTVUxUIGhyID0gbV9tZWRpYVNlc3Npb24tPlN0YXJ0KG51bGxwdHIsICZ2
YXJTdGFydCk7CisgICAgQVNTRVJUKFNVQ0NFRURFRChocikpOworCisgICAgUHJvcFZhcmlhbnRD
bGVhcigmdmFyU3RhcnQpOworCisgICAgcmV0dXJuIFNVQ0NFRURFRChocik7Cit9CisKIGJvb2wg
TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uOjplbmRTZXNzaW9uKCkKIHsKICAgICBp
ZiAobV9tZWRpYVNlc3Npb24pIHsKQEAgLTUwMywxMSArNTI1LDQ0IEBAIGJvb2wgTWVkaWFQbGF5
ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uOjoKICAgICAgICAgYnJlYWs7CiAgICAgfQogCi0gICAg
Y2FzZSBNRVNlc3Npb25DbG9zZWQ6CisgICAgY2FzZSBNRUJ1ZmZlcmluZ1N0YXJ0ZWQ6IHsKKyAg
ICAgICAgYXV0byB3ZWFrUHRyID0gbV93ZWFrUHRyRmFjdG9yeS5jcmVhdGVXZWFrUHRyKCk7Cisg
ICAgICAgIGNhbGxPbk1haW5UaHJlYWQoW3dlYWtQdHJdIHsKKyAgICAgICAgICAgIGlmICghd2Vh
a1B0cikKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB3ZWFrUHRyLT5vbkJ1
ZmZlcmluZ1N0YXJ0ZWQoKTsKKyAgICAgICAgfSk7CiAgICAgICAgIGJyZWFrOworICAgIH0KKwor
ICAgIGNhc2UgTUVCdWZmZXJpbmdTdG9wcGVkOiB7CisgICAgICAgIGF1dG8gd2Vha1B0ciA9IG1f
d2Vha1B0ckZhY3RvcnkuY3JlYXRlV2Vha1B0cigpOworICAgICAgICBjYWxsT25NYWluVGhyZWFk
KFt3ZWFrUHRyXSB7CisgICAgICAgICAgICBpZiAoIXdlYWtQdHIpCisgICAgICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICAgICAgd2Vha1B0ci0+b25CdWZmZXJpbmdTdG9wcGVkKCk7CisgICAg
ICAgIH0pOworICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBjYXNlIE1FU2Vzc2lvbkVuZGVk
OiB7CisgICAgICAgIGF1dG8gd2Vha1B0ciA9IG1fd2Vha1B0ckZhY3RvcnkuY3JlYXRlV2Vha1B0
cigpOworICAgICAgICBjYWxsT25NYWluVGhyZWFkKFt3ZWFrUHRyXSB7CisgICAgICAgICAgICBp
ZiAoIXdlYWtQdHIpCisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgd2Vha1B0
ci0+b25TZXNzaW9uRW5kZWQoKTsKKyAgICAgICAgfSk7CisgICAgICAgIGJyZWFrOworICAgIH0K
IAogICAgIGNhc2UgTUVNZWRpYVNhbXBsZToKICAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIE1F
RXJyb3I6IHsKKyAgICAgICAgSFJFU1VMVCBzdGF0dXMgPSBTX09LOworICAgICAgICBldmVudC0+
R2V0U3RhdHVzKCZzdGF0dXMpOworICAgICAgICBicmVhazsKKyAgICB9CiAgICAgfQogCiAgICAg
aWYgKG1lZGlhRXZlbnRUeXBlICE9IE1FU2Vzc2lvbkNsb3NlZCkgewpAQCAtNzY0LDYgKzgxOSw0
OSBAQCBib29sIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbjo6CiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uOjp1cGRh
dGVSZWFkeVN0YXRlKCkKK3sKKyAgICBpZiAoIU1GR2V0U2VydmljZVB0cigpKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBDT01QdHI8SVByb3BlcnR5U3RvcmU+IHByb3A7CisKKyAgICAvLyBHZXQg
dGhlIHByb3BlcnR5IHN0b3JlIGZyb20gdGhlIG1lZGlhIHNlc3Npb24uCisgICAgSFJFU1VMVCBo
ciA9IE1GR2V0U2VydmljZVB0cigpKG1fbWVkaWFTZXNzaW9uLmdldCgpLCBNRk5FVFNPVVJDRV9T
VEFUSVNUSUNTX1NFUlZJQ0UsIElJRF9QUFZfQVJHUygmcHJvcCkpOworCisgICAgaWYgKEZBSUxF
RChocikpCisgICAgICAgIHJldHVybjsKKworICAgIFBST1BFUlRZS0VZIGtleTsKKyAgICBrZXku
Zm10aWQgPSBNRk5FVFNPVVJDRV9TVEFUSVNUSUNTOworICAgIGtleS5waWQgPSBNRk5FVFNPVVJD
RV9CVUZGRVJQUk9HUkVTU19JRDsKKworICAgIFBST1BWQVJJQU5UIHZhcjsKKyAgICBociA9IHBy
b3AtPkdldFZhbHVlKGtleSwgJnZhcik7CisKKyAgICBjb25zdCBMT05HIHBlcmNlbnRhZ2VPZlBs
YXliYWNrQnVmZmVyRmlsbGVkID0gdmFyLmxWYWw7CisKKyAgICBQcm9wVmFyaWFudENsZWFyKCZ2
YXIpOworCisgICAgaWYgKEZBSUxFRChocikpCisgICAgICAgIHJldHVybjsKKworICAgIE1lZGlh
UGxheWVyOjpSZWFkeVN0YXRlIG9sZFJlYWR5U3RhdGUgPSBtX3JlYWR5U3RhdGU7CisgICAgaWYg
KHBlcmNlbnRhZ2VPZlBsYXliYWNrQnVmZmVyRmlsbGVkID49IDEwMCkgeworICAgICAgICBtX3Jl
YWR5U3RhdGUgPSBNZWRpYVBsYXllcjo6SGF2ZUVub3VnaERhdGE7CisgICAgICAgIGlmIChtX3By
ZXBhcmluZ1RvUGxheSkgeworICAgICAgICAgICAgcGF1c2UoKTsKKyAgICAgICAgICAgIG1fcHJl
cGFyaW5nVG9QbGF5ID0gZmFsc2U7CisgICAgICAgIH0KKyAgICB9IGVsc2UgaWYgKHBlcmNlbnRh
Z2VPZlBsYXliYWNrQnVmZmVyRmlsbGVkID4gMCkKKyAgICAgICAgbV9yZWFkeVN0YXRlID0gTWVk
aWFQbGF5ZXI6OkhhdmVGdXR1cmVEYXRhOworICAgIGVsc2UKKyAgICAgICAgbV9yZWFkeVN0YXRl
ID0gTWVkaWFQbGF5ZXI6OkhhdmVDdXJyZW50RGF0YTsKKworICAgIGlmIChtX3JlYWR5U3RhdGUg
IT0gb2xkUmVhZHlTdGF0ZSkKKyAgICAgICAgbV9wbGF5ZXItPnJlYWR5U3RhdGVDaGFuZ2VkKCk7
Cit9CisKIENPTVB0cjxJTUZWaWRlb0Rpc3BsYXlDb250cm9sPiBNZWRpYVBsYXllclByaXZhdGVN
ZWRpYUZvdW5kYXRpb246OnZpZGVvRGlzcGxheSgpCiB7CiAgICAgaWYgKG1fdmlkZW9EaXNwbGF5
KQpAQCAtNzg5LDE3ICs4ODcsMzMgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5k
YXRpb246OgogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbjo6b25Ub3Bv
bG9neVNldCgpCiB7CisgICAgLy8gVGhpcyBtZXRob2QgaXMgY2FsbGVkIG9uIHRoZSBtYWluIHRo
cmVhZCBhcyBhIHJlc3VsdCBvZiBsb2FkKCkgYmVpbmcgY2FsbGVkLgorCiAgICAgaWYgKGF1dG8g
dmlkZW9EaXNwbGF5ID0gdGhpcy0+dmlkZW9EaXNwbGF5KCkpIHsKICAgICAgICAgUkVDVCByYyA9
IHsgMCwgMCwgbV9zaXplLndpZHRoKCksIG1fc2l6ZS5oZWlnaHQoKSB9OwogICAgICAgICB2aWRl
b0Rpc3BsYXktPlNldFZpZGVvUG9zaXRpb24obnVsbHB0ciwgJnJjKTsKICAgICB9CiAKLSAgICBt
X3JlYWR5U3RhdGUgPSBNZWRpYVBsYXllcjo6SGF2ZUZ1dHVyZURhdGE7CisgICAgLy8gSXQgaXMg
ZXhwZWN0ZWQgdGhhdCB3ZSBzdGFydCBidWZmZXJpbmcgZGF0YSBmcm9tIHRoZSBuZXR3b3JrIG5v
dy4KKyAgICBwcmVwYXJlVG9QbGF5KCk7Cit9CiAKLSAgICBBU1NFUlQobV9wbGF5ZXIpOwotICAg
IG1fcGxheWVyLT5yZWFkeVN0YXRlQ2hhbmdlZCgpOwordm9pZCBNZWRpYVBsYXllclByaXZhdGVN
ZWRpYUZvdW5kYXRpb246Om9uQnVmZmVyaW5nU3RhcnRlZCgpCit7CisgICAgdXBkYXRlUmVhZHlT
dGF0ZSgpOworfQogCi0gICAgcGxheSgpOwordm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYUZv
dW5kYXRpb246Om9uQnVmZmVyaW5nU3RvcHBlZCgpCit7CisgICAgdXBkYXRlUmVhZHlTdGF0ZSgp
OworfQorCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbjo6b25TZXNzaW9u
RW5kZWQoKQoreworICAgIG1fbmV0d29ya1N0YXRlID0gTWVkaWFQbGF5ZXI6OkxvYWRlZDsKKyAg
ICBtX3BsYXllci0+bmV0d29ya1N0YXRlQ2hhbmdlZCgpOworCisgICAgbV9wYXVzZWQgPSB0cnVl
OwogICAgIG1fcGxheWVyLT5wbGF5YmFja1N0YXRlQ2hhbmdlZCgpOwogfQogCkBAIC0yOTc0LDcg
KzMwODgsOCBAQCBIUkVTVUxUIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvCiAgICAg
ICAgIHJldHVybiBTX0ZBTFNFOwogCiAgICAgUkVDVCByY1ZpZXc7Ci0gICAgR2V0Q2xpZW50UmVj
dChtX2h3bmQsICZyY1ZpZXcpOworICAgIGlmICghR2V0Q2xpZW50UmVjdChtX2h3bmQsICZyY1Zp
ZXcpKQorICAgICAgICByZXR1cm4gRV9GQUlMOwogCiAgICAgLy8gQ2xpcCB0byB0aGUgY2xpZW50
IGFyZWEgb2YgdGhlIHdpbmRvdy4KICAgICBpZiAobV9kZXN0UmVjdC5yaWdodCA+IHJjVmlldy5y
aWdodCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9NZWRpYVBs
YXllclByaXZhdGVNZWRpYUZvdW5kYXRpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9u
LmgJKHJldmlzaW9uIDE5OTA1NSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbi9NZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb24uaAkod29ya2luZyBjb3B5KQpA
QCAtNjAsNiArNjAsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBsb2FkKGNvbnN0IFN0cmluZyYgdXJs
KSBvdmVycmlkZTsKICAgICB2b2lkIGNhbmNlbExvYWQoKSBvdmVycmlkZTsKIAorICAgIHZvaWQg
cHJlcGFyZVRvUGxheSgpIG92ZXJyaWRlOworCiAgICAgdm9pZCBwbGF5KCkgb3ZlcnJpZGU7CiAg
ICAgdm9pZCBwYXVzZSgpIG92ZXJyaWRlOwogCkBAIC0xMDksNyArMTExLDkgQEAgcHJpdmF0ZToK
ICAgICBib29sIG1fcGF1c2VkOwogICAgIGJvb2wgbV9oYXNBdWRpbzsKICAgICBib29sIG1faGFz
VmlkZW87CisgICAgYm9vbCBtX3ByZXBhcmluZ1RvUGxheTsKICAgICBIV05EIG1faHduZFZpZGVv
OworICAgIE1lZGlhUGxheWVyOjpOZXR3b3JrU3RhdGUgbV9uZXR3b3JrU3RhdGU7CiAgICAgTWVk
aWFQbGF5ZXI6OlJlYWR5U3RhdGUgbV9yZWFkeVN0YXRlOwogICAgIEZsb2F0UmVjdCBtX2xhc3RQ
YWludFJlY3Q7CiAKQEAgLTEyNiw2ICsxMzAsNyBAQCBwcml2YXRlOgogICAgIENPTVB0cjxJTUZW
aWRlb0Rpc3BsYXlDb250cm9sPiBtX3ZpZGVvRGlzcGxheTsKIAogICAgIGJvb2wgY3JlYXRlU2Vz
c2lvbigpOworICAgIGJvb2wgc3RhcnRTZXNzaW9uKCk7CiAgICAgYm9vbCBlbmRTZXNzaW9uKCk7
CiAgICAgYm9vbCBzdGFydENyZWF0ZU1lZGlhU291cmNlKGNvbnN0IFN0cmluZyYgdXJsKTsKICAg
ICBib29sIGVuZENyZWF0ZWRNZWRpYVNvdXJjZShJTUZBc3luY1Jlc3VsdCopOwpAQCAtMTM1LDEw
ICsxNDAsMTUgQEAgcHJpdmF0ZToKICAgICBib29sIGNyZWF0ZU91dHB1dE5vZGUoQ09NUHRyPElN
RlN0cmVhbURlc2NyaXB0b3I+IHNvdXJjZVNELCBDT01QdHI8SU1GVG9wb2xvZ3lOb2RlPiYpOwog
ICAgIGJvb2wgY3JlYXRlU291cmNlU3RyZWFtTm9kZShDT01QdHI8SU1GU3RyZWFtRGVzY3JpcHRv
cj4gc291cmNlU0QsIENPTVB0cjxJTUZUb3BvbG9neU5vZGU+Jik7CiAKKyAgICB2b2lkIHVwZGF0
ZVJlYWR5U3RhdGUoKTsKKwogICAgIENPTVB0cjxJTUZWaWRlb0Rpc3BsYXlDb250cm9sPiB2aWRl
b0Rpc3BsYXkoKTsKIAogICAgIHZvaWQgb25DcmVhdGVkTWVkaWFTb3VyY2UoKTsKICAgICB2b2lk
IG9uVG9wb2xvZ3lTZXQoKTsKKyAgICB2b2lkIG9uQnVmZmVyaW5nU3RhcnRlZCgpOworICAgIHZv
aWQgb25CdWZmZXJpbmdTdG9wcGVkKCk7CisgICAgdm9pZCBvblNlc3Npb25FbmRlZCgpOwogCiAg
ICAgTFBDV1NUUiByZWdpc3RlclZpZGVvV2luZG93Q2xhc3MoKTsKICAgICB2b2lkIGNyZWF0ZVZp
ZGVvV2luZG93KCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>