<?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>163791</bug_id>
          
          <creation_ts>2016-10-21 09:45:46 -0700</creation_ts>
          <short_desc>[Web IDL] Two types are distinguishable for overload resolution if at most one of the two includes a nullable type</short_desc>
          <delta_ts>2016-10-22 22:09:11 -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>Bindings</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>
          <dependson>163773</dependson>
    
    <dependson>163792</dependson>
    
    <dependson>163793</dependson>
    
    <dependson>163795</dependson>
    
    <dependson>163856</dependson>
    
    <dependson>163859</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1242926</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-10-21 09:45:46 -0700</bug_when>
    <thetext>Fix bad operation overloads in our IDL files.

As per Web IDL [1], two types are distinguishable if at most one of the two includes a nullable type. However, we have overloads in WebKit with more than one nullable type as distinguishing parameter.
We need to fix this so that the bindings generator can generate more correct code.

See following comment in AreTypesDistinguishableForOverloadResolution() in the bindings generator:
# FIXME: The WebIDL mandates this but this currently does not work because some of our IDL is wrong.
# return 0 if $idlTypeA-&gt;isNullable &amp;&amp; $idlTypeB-&gt;isNullable;

[1] https://heycam.github.io/webidl/#dfn-distinguishable</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1242974</commentid>
    <comment_count>1</comment_count>
      <attachid>292370</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-10-21 10:40:31 -0700</bug_when>
    <thetext>Created attachment 292370
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243476</commentid>
    <comment_count>2</comment_count>
      <attachid>292532</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-10-22 21:10:19 -0700</bug_when>
    <thetext>Created attachment 292532
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243483</commentid>
    <comment_count>3</comment_count>
      <attachid>292532</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-22 22:09:06 -0700</bug_when>
    <thetext>Comment on attachment 292532
Patch

Clearing flags on attachment: 292532

Committed r207725: &lt;http://trac.webkit.org/changeset/207725&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243484</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-22 22:09:11 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>292370</attachid>
            <date>2016-10-21 10:40:31 -0700</date>
            <delta_ts>2016-10-21 10:41:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-163791-20161021103651.patch</filename>
            <type>text/plain</type>
            <size>6678</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA3Njc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGE2ZDg2YzFlNmFiYjAx
ZjA3NDAyZDY0NjgzYTA0ZGMzMTIzNGZmMy4uNDk2YjA1ZDczZTJjYzllZTQ5MDM4NGUyY2MwMmFm
N2QzYjNhY2MxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE2LTEwLTIxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYiBJRExdIFR3byB0eXBl
cyBhcmUgZGlzdGluZ3Vpc2hhYmxlIGZvciBvdmVybG9hZCByZXNvbHV0aW9uIGlmIGF0IG1vc3Qg
b25lIG9mIHRoZSB0d28gaW5jbHVkZXMgYSBudWxsYWJsZSB0eXBlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjM3OTEKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNZWRpYUNvbnRyb2xzSG9zdCBoYXMgaW52
YWxpZCBvcGVyYXRpb24gb3ZlcmxvYWRzOgorICAgICAgICAtIHNvcnRlZFRyYWNrTGlzdEZvck1l
bnUoKQorICAgICAgICAtIGRpc3BsYXlOYW1lRm9yVHJhY2soKQorCisgICAgICAgIFRoZSBwYXJh
bWV0ZXIgaXMgbnVsbGFibGUgZm9yIGJvdGggb3ZlcmxvYWRzIHdoaWNoIGlzIG5vdCB2YWxpZCBJ
REwuCisKKyAgICAgICAgLSBzb3J0ZWRUcmFja0xpc3RGb3JNZW51KCk6IFRoZSBwYXJhbWV0ZXIg
aXMgbm8gbG9uZ2VyIG51bGxhYmxlLiBUaGlzIGlzIGEgbWlub3IKKyAgICAgICAgICBiZWhhdmlv
ciBjaGFuZ2UgYW5kIGl0IHNob3VsZCBiZSBzYWZlIHNpbmNlIHRoaXMgaXMgQXBwbGUtc3BlY2lm
aWMgYW5kIG9ubHkKKyAgICAgICAgICBjYWxsZWQgZnJvbSBtZWRpYUNvbnRyb2xzQXBwbGUuanMg
d2hpY2ggdXNlcyBIVE1MTWVkaWFFbGVtZW50LnZpZGVvVHJhY2tzIGFuZAorICAgICAgICAgIEhU
TUxNZWRpYUVsZW1lbnQuYXVkaW9UcmFja3MgYXMgaW5wdXQsIGJvdGggb2Ygd2hpY2ggYXJlIG5v
dCBudWxsYWJsZS4KKyAgICAgICAgICBOb3RlIHRoYXQgd2UgY291bGQgaGF2ZSBhbHNvIGtlcHQg
b25lIG9mIHRoZSBwYXJhbWV0ZXJzIGFzIG51bGxhYmxlIHRvIG5vdAorICAgICAgICAgIGNoYW5n
ZSBiZWhhdmlvciBidXQgYWxsb3dpbmcgbnVsbCBkb2VzIG5vdCBzZWVtIHVzZWZ1bCBoZXJlLgor
ICAgICAgICAtIGRpc3BsYXlOYW1lRm9yVHJhY2soKTogVXNlIGEgdW5pb24gaW5zdGVhZCBvZiBv
dmVybG9hZGluZywgbm8gYmVoYXZpb3IgY2hhbmdlLgorCisgICAgICAgICogTW9kdWxlcy9tZWRp
YWNvbnRyb2xzL01lZGlhQ29udHJvbHNIb3N0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
Q29udHJvbHNIb3N0Ojpzb3J0ZWRUcmFja0xpc3RGb3JNZW51KToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhQ29udHJvbHNIb3N0OjpkaXNwbGF5TmFtZUZvclRyYWNrKToKKyAgICAgICAgKiBNb2R1
bGVzL21lZGlhY29udHJvbHMvTWVkaWFDb250cm9sc0hvc3QuaDoKKyAgICAgICAgKiBNb2R1bGVz
L21lZGlhY29udHJvbHMvTWVkaWFDb250cm9sc0hvc3QuaWRsOgorCiAyMDE2LTEwLTIxICBEYXZl
IEh5YXR0ICA8aHlhdHRAYXBwbGUuY29tPgogCiAgICAgICAgIFtDU1MgUGFyc2VyXSBBZGQgc3Vw
cG9ydCBmb3IgQC13ZWJraXQtcmVnaW9uIHJ1bGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhY29udHJvbHMvTWVkaWFDb250cm9sc0hvc3QuY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYWNvbnRyb2xzL01lZGlhQ29udHJvbHNIb3N0LmNwcAppbmRleCBm
YWY1MWNmMzY2OTUwMDk0ZmNjNTA4ODI0YzQ5N2QwZmU5MTM0ZGE1Li4wNDIwZDcyMzk4ZDExNDJj
NWJiNWFmYmE5NTZmMTllZDg4ZmY3ZWU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhY29udHJvbHMvTWVkaWFDb250cm9sc0hvc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFjb250cm9scy9NZWRpYUNvbnRyb2xzSG9zdC5jcHAKQEAgLTg0LDQz
ICs4NCwyNSBAQCBNZWRpYUNvbnRyb2xzSG9zdDo6fk1lZGlhQ29udHJvbHNIb3N0KCkKIHsKIH0K
IAotVmVjdG9yPFJlZlB0cjxUZXh0VHJhY2s+PiBNZWRpYUNvbnRyb2xzSG9zdDo6c29ydGVkVHJh
Y2tMaXN0Rm9yTWVudShUZXh0VHJhY2tMaXN0KiB0cmFja0xpc3QpCitWZWN0b3I8UmVmUHRyPFRl
eHRUcmFjaz4+IE1lZGlhQ29udHJvbHNIb3N0Ojpzb3J0ZWRUcmFja0xpc3RGb3JNZW51KFRleHRU
cmFja0xpc3QmIHRyYWNrTGlzdCkKIHsKLSAgICBpZiAoIXRyYWNrTGlzdCkKLSAgICAgICAgcmV0
dXJuIFZlY3RvcjxSZWZQdHI8VGV4dFRyYWNrPj4oKTsKLQotICAgIFBhZ2UqIHBhZ2UgPSBtX21l
ZGlhRWxlbWVudC0+ZG9jdW1lbnQoKS5wYWdlKCk7Ci0gICAgaWYgKCFwYWdlKQotICAgICAgICBy
ZXR1cm4gVmVjdG9yPFJlZlB0cjxUZXh0VHJhY2s+PigpOwotCi0gICAgcmV0dXJuIHBhZ2UtPmdy
b3VwKCkuY2FwdGlvblByZWZlcmVuY2VzKCkuc29ydGVkVHJhY2tMaXN0Rm9yTWVudSh0cmFja0xp
c3QpOwotfQotCi1WZWN0b3I8UmVmUHRyPEF1ZGlvVHJhY2s+PiBNZWRpYUNvbnRyb2xzSG9zdDo6
c29ydGVkVHJhY2tMaXN0Rm9yTWVudShBdWRpb1RyYWNrTGlzdCogdHJhY2tMaXN0KQotewotICAg
IGlmICghdHJhY2tMaXN0KQotICAgICAgICByZXR1cm4gVmVjdG9yPFJlZlB0cjxBdWRpb1RyYWNr
Pj4oKTsKLQogICAgIFBhZ2UqIHBhZ2UgPSBtX21lZGlhRWxlbWVudC0+ZG9jdW1lbnQoKS5wYWdl
KCk7CiAgICAgaWYgKCFwYWdlKQotICAgICAgICByZXR1cm4gVmVjdG9yPFJlZlB0cjxBdWRpb1Ry
YWNrPj4oKTsKKyAgICAgICAgcmV0dXJuIHsgfTsKIAotICAgIHJldHVybiBwYWdlLT5ncm91cCgp
LmNhcHRpb25QcmVmZXJlbmNlcygpLnNvcnRlZFRyYWNrTGlzdEZvck1lbnUodHJhY2tMaXN0KTsK
KyAgICByZXR1cm4gcGFnZS0+Z3JvdXAoKS5jYXB0aW9uUHJlZmVyZW5jZXMoKS5zb3J0ZWRUcmFj
a0xpc3RGb3JNZW51KCZ0cmFja0xpc3QpOwogfQogCi1TdHJpbmcgTWVkaWFDb250cm9sc0hvc3Q6
OmRpc3BsYXlOYW1lRm9yVHJhY2soVGV4dFRyYWNrKiB0cmFjaykKK1ZlY3RvcjxSZWZQdHI8QXVk
aW9UcmFjaz4+IE1lZGlhQ29udHJvbHNIb3N0Ojpzb3J0ZWRUcmFja0xpc3RGb3JNZW51KEF1ZGlv
VHJhY2tMaXN0JiB0cmFja0xpc3QpCiB7Ci0gICAgaWYgKCF0cmFjaykKLSAgICAgICAgcmV0dXJu
IGVtcHR5U3RyaW5nKCk7Ci0KICAgICBQYWdlKiBwYWdlID0gbV9tZWRpYUVsZW1lbnQtPmRvY3Vt
ZW50KCkucGFnZSgpOwogICAgIGlmICghcGFnZSkKLSAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5n
KCk7CisgICAgICAgIHJldHVybiB7IH07CiAKLSAgICByZXR1cm4gcGFnZS0+Z3JvdXAoKS5jYXB0
aW9uUHJlZmVyZW5jZXMoKS5kaXNwbGF5TmFtZUZvclRyYWNrKHRyYWNrKTsKKyAgICByZXR1cm4g
cGFnZS0+Z3JvdXAoKS5jYXB0aW9uUHJlZmVyZW5jZXMoKS5zb3J0ZWRUcmFja0xpc3RGb3JNZW51
KCZ0cmFja0xpc3QpOwogfQogCi1TdHJpbmcgTWVkaWFDb250cm9sc0hvc3Q6OmRpc3BsYXlOYW1l
Rm9yVHJhY2soQXVkaW9UcmFjayogdHJhY2spCitTdHJpbmcgTWVkaWFDb250cm9sc0hvc3Q6OmRp
c3BsYXlOYW1lRm9yVHJhY2soY29uc3QgT3B0aW9uYWw8VGV4dE9yQXVkaW9UcmFjaz4mIHRyYWNr
KQogewogICAgIGlmICghdHJhY2spCiAgICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOwpAQCAt
MTI5LDcgKzExMSw5IEBAIFN0cmluZyBNZWRpYUNvbnRyb2xzSG9zdDo6ZGlzcGxheU5hbWVGb3JU
cmFjayhBdWRpb1RyYWNrKiB0cmFjaykKICAgICBpZiAoIXBhZ2UpCiAgICAgICAgIHJldHVybiBl
bXB0eVN0cmluZygpOwogCi0gICAgcmV0dXJuIHBhZ2UtPmdyb3VwKCkuY2FwdGlvblByZWZlcmVu
Y2VzKCkuZGlzcGxheU5hbWVGb3JUcmFjayh0cmFjayk7CisgICAgcmV0dXJuIFdURjo6dmlzaXQo
WyZwYWdlXShhdXRvJiB0cmFjaykgeworICAgICAgICByZXR1cm4gcGFnZS0+Z3JvdXAoKS5jYXB0
aW9uUHJlZmVyZW5jZXMoKS5kaXNwbGF5TmFtZUZvclRyYWNrKHRyYWNrLmdldCgpKTsKKyAgICB9
LCB0cmFjay52YWx1ZSgpKTsKIH0KIAogVGV4dFRyYWNrKiBNZWRpYUNvbnRyb2xzSG9zdDo6Y2Fw
dGlvbk1lbnVPZmZJdGVtKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFjb250cm9scy9NZWRpYUNvbnRyb2xzSG9zdC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYWNvbnRyb2xzL01lZGlhQ29udHJvbHNIb3N0LmgKaW5kZXggNmYyMGIzYmU1NjI4MmUwYjJm
OWI5MDVjNjdiMDdlY2ViYzU5ZTY3ZC4uNTA1MzgyMjE5MDhlNGJhYWYyNTVlM2JkYWIzZjNkYmY0
MTVkNjJjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNvbnRyb2xz
L01lZGlhQ29udHJvbHNIb3N0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNv
bnRyb2xzL01lZGlhQ29udHJvbHNIb3N0LmgKQEAgLTI5LDYgKzI5LDcgQEAKIAogI2luY2x1ZGUg
PGJpbmRpbmdzL1NjcmlwdE9iamVjdC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+Cisj
aW5jbHVkZSA8d3RmL1ZhcmlhbnQuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVk
ZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKQEAgLTUyLDEwICs1MywxMiBAQCBwdWJsaWM6CiAg
ICAgc3RhdGljIGNvbnN0IEF0b21pY1N0cmluZyYgYWx3YXlzT25LZXl3b3JkKCk7CiAgICAgc3Rh
dGljIGNvbnN0IEF0b21pY1N0cmluZyYgbWFudWFsS2V5d29yZCgpOwogCi0gICAgVmVjdG9yPFJl
ZlB0cjxUZXh0VHJhY2s+PiBzb3J0ZWRUcmFja0xpc3RGb3JNZW51KFRleHRUcmFja0xpc3QqKTsK
LSAgICBWZWN0b3I8UmVmUHRyPEF1ZGlvVHJhY2s+PiBzb3J0ZWRUcmFja0xpc3RGb3JNZW51KEF1
ZGlvVHJhY2tMaXN0Kik7Ci0gICAgU3RyaW5nIGRpc3BsYXlOYW1lRm9yVHJhY2soVGV4dFRyYWNr
Kik7Ci0gICAgU3RyaW5nIGRpc3BsYXlOYW1lRm9yVHJhY2soQXVkaW9UcmFjayopOworICAgIFZl
Y3RvcjxSZWZQdHI8VGV4dFRyYWNrPj4gc29ydGVkVHJhY2tMaXN0Rm9yTWVudShUZXh0VHJhY2tM
aXN0Jik7CisgICAgVmVjdG9yPFJlZlB0cjxBdWRpb1RyYWNrPj4gc29ydGVkVHJhY2tMaXN0Rm9y
TWVudShBdWRpb1RyYWNrTGlzdCYpOworCisgICAgdXNpbmcgVGV4dE9yQXVkaW9UcmFjayA9IFdU
Rjo6VmFyaWFudDxSZWZQdHI8VGV4dFRyYWNrPiwgUmVmUHRyPEF1ZGlvVHJhY2s+PjsKKyAgICBT
dHJpbmcgZGlzcGxheU5hbWVGb3JUcmFjayhjb25zdCBPcHRpb25hbDxUZXh0T3JBdWRpb1RyYWNr
PiYpOworCiAgICAgVGV4dFRyYWNrKiBjYXB0aW9uTWVudU9mZkl0ZW0oKTsKICAgICBUZXh0VHJh
Y2sqIGNhcHRpb25NZW51QXV0b21hdGljSXRlbSgpOwogICAgIEF0b21pY1N0cmluZyBjYXB0aW9u
RGlzcGxheU1vZGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFj
b250cm9scy9NZWRpYUNvbnRyb2xzSG9zdC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhY29udHJvbHMvTWVkaWFDb250cm9sc0hvc3QuaWRsCmluZGV4IGE2ZTMwNGUwOWI1N2FiYjA2
NjAxZjljZTFjYWQzZWEwOTViOGEzOTMuLjIyYTNmNzVhZTQzN2NjODVkYzlkMDJmMWI4OGE2NTQx
YTU1MDNiOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjb250cm9s
cy9NZWRpYUNvbnRyb2xzSG9zdC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YWNvbnRyb2xzL01lZGlhQ29udHJvbHNIb3N0LmlkbApAQCAtMzQsMTAgKzM0LDkgQEAgZW51bSBE
ZXZpY2VUeXBlIHsKICAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIE5vSW50ZXJm
YWNlT2JqZWN0LAogXSBpbnRlcmZhY2UgTWVkaWFDb250cm9sc0hvc3QgewotICAgIHNlcXVlbmNl
PFRleHRUcmFjaz4gc29ydGVkVHJhY2tMaXN0Rm9yTWVudShUZXh0VHJhY2tMaXN0PyB0cmFja0xp
c3QpOwotICAgIHNlcXVlbmNlPEF1ZGlvVHJhY2s+IHNvcnRlZFRyYWNrTGlzdEZvck1lbnUoQXVk
aW9UcmFja0xpc3Q/IHRyYWNrTGlzdCk7Ci0gICAgRE9NU3RyaW5nIGRpc3BsYXlOYW1lRm9yVHJh
Y2soVGV4dFRyYWNrPyB0cmFjayk7Ci0gICAgRE9NU3RyaW5nIGRpc3BsYXlOYW1lRm9yVHJhY2so
QXVkaW9UcmFjaz8gdHJhY2spOworICAgIHNlcXVlbmNlPFRleHRUcmFjaz4gc29ydGVkVHJhY2tM
aXN0Rm9yTWVudShUZXh0VHJhY2tMaXN0IHRyYWNrTGlzdCk7CisgICAgc2VxdWVuY2U8QXVkaW9U
cmFjaz4gc29ydGVkVHJhY2tMaXN0Rm9yTWVudShBdWRpb1RyYWNrTGlzdCB0cmFja0xpc3QpOwor
ICAgIERPTVN0cmluZyBkaXNwbGF5TmFtZUZvclRyYWNrKChUZXh0VHJhY2sgb3IgQXVkaW9UcmFj
ayk/IHRyYWNrKTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgVGV4dFRyYWNrIGNhcHRpb25NZW51
T2ZmSXRlbTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgVGV4dFRyYWNrIGNhcHRpb25NZW51QXV0
b21hdGljSXRlbTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGNhcHRpb25EaXNw
bGF5TW9kZTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>292532</attachid>
            <date>2016-10-22 21:10:19 -0700</date>
            <delta_ts>2016-10-22 22:09:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-163791-20161022210636.patch</filename>
            <type>text/plain</type>
            <size>10493</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA3NzI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTI4ZDY2OGZkMzE3NWNh
OGVjMWI1MTU4NDAzY2UzYjRhYmUxZjUwOC4uZjM0MGFkNTIzZTYyZTc5MGExYzJjMGMxYjNlY2M3
OGE2NDI2MGI2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI2IEBACiAyMDE2LTEwLTIyICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgW1dlYiBJRExdIFR3byB0eXBl
cyBhcmUgZGlzdGluZ3Vpc2hhYmxlIGZvciBvdmVybG9hZCByZXNvbHV0aW9uIGlmIGF0IG1vc3Qg
b25lIG9mIHRoZSB0d28gaW5jbHVkZXMgYSBudWxsYWJsZSB0eXBlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjM3OTEKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgb3ZlcmxvYWQgcmVzb2x1dGlv
biBpbiB0aGUgYmluZGluZ3MgZ2VuZXJhdG9yIHNvIHRoYXQgMiBudWxsYWJsZSB0eXBlcworICAg
ICAgICBhcmUgbm8gbG9uZ2VyIGNvbnNpZGVyZWQgYXMgZGlzdGluZ3Vpc2hhYmxlLCBhcyBwZXIg
V2ViIElETDoKKyAgICAgICAgLSBodHRwczovL2hleWNhbS5naXRodWIuaW8vd2ViaWRsLyNkZm4t
ZGlzdGluZ3Vpc2hhYmxlCisKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0
b3JKUy5wbToKKyAgICAgICAgKEFyZVR5cGVzRGlzdGluZ3Vpc2hhYmxlRm9yT3ZlcmxvYWRSZXNv
bHV0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uT3ZlcmxvYWRX
aXRoTnVsbGFibGVOb25EaXN0aW5ndWlzaGluZ1BhcmFtZXRlcjEpOgorICAgICAgICAoV2ViQ29y
ZTo6anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25PdmVybG9hZFdpdGhOdWxsYWJsZU5vbkRpc3Rp
bmd1aXNoaW5nUGFyYW1ldGVyMUNhbGxlcik6CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RPYmpQ
cm90b3R5cGVGdW5jdGlvbk92ZXJsb2FkV2l0aE51bGxhYmxlTm9uRGlzdGluZ3Vpc2hpbmdQYXJh
bWV0ZXIyKToKKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uT3Zl
cmxvYWRXaXRoTnVsbGFibGVOb25EaXN0aW5ndWlzaGluZ1BhcmFtZXRlcjJDYWxsZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25PdmVybG9hZFdpdGhOdWxs
YWJsZU5vbkRpc3Rpbmd1aXNoaW5nUGFyYW1ldGVyKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVGVzdE9iai5pZGw6CisKKzIwMTYtMTAtMjIgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKwogICAgICAgICBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLnRleFN1Yklt
YWdlMkQoKSBzaG91bGQgdXNlIGEgdW5pb24gaW5zdGVhZCBvZiBvdmVybG9hZGluZwogICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYzODU5CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBt
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5k
ZXggYTdkMjNhN2YzMTBmNzY3YzZiNmU4ODZiZmQ3NTFiYmY2NDk1NmYzMS4uMzdkMTQ0OWVkMmYz
ZGRiM2I2M2IzZmY2ZjhhMjA4OTZhZTc0OTlhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTE5NzMsOCArMTk3Myw4IEBA
IHN1YiBBcmVUeXBlc0Rpc3Rpbmd1aXNoYWJsZUZvck92ZXJsb2FkUmVzb2x1dGlvbgogICAgICAg
ICByZXR1cm4gJGNvZGVHZW5lcmF0b3ItPklzRnVuY3Rpb25Pbmx5Q2FsbGJhY2tJbnRlcmZhY2Uo
JHR5cGUpIHx8ICYkaXNEaWN0aW9uYXJ5KCR0eXBlKTsKICAgICB9OwogCi0gICAgIyBGSVhNRTog
VGhlIFdlYklETCBtYW5kYXRlcyB0aGlzIGJ1dCB0aGlzIGN1cnJlbnRseSBkb2VzIG5vdCB3b3Jr
IGJlY2F1c2Ugc29tZSBvZiBvdXIgSURMIGlzIHdyb25nLgotICAgICMgcmV0dXJuIDAgaWYgJGlk
bFR5cGVBLT5pc051bGxhYmxlICYmICRpZGxUeXBlQi0+aXNOdWxsYWJsZTsKKyAgICAjIFR3byB0
eXBlcyBhcmUgZGlzdGluZ3Vpc2hhYmxlIGZvciBvdmVybG9hZCByZXNvbHV0aW9uIGlmIGF0IG1v
c3Qgb25lIG9mIHRoZSB0d28gaW5jbHVkZXMgYSBudWxsYWJsZSB0eXBlLgorICAgIHJldHVybiAw
IGlmICRpZGxUeXBlQS0+aXNOdWxsYWJsZSAmJiAkaWRsVHlwZUItPmlzTnVsbGFibGU7CiAKICAg
ICAjIFVuaW9uIHR5cGVzOiBpZGxUeXBlQSBhbmQgaWRsVHlwZUIgIGFyZSBkaXN0aW5ndWlzaGFi
bGUgaWY6CiAgICAgIyAtIEJvdGggdHlwZXMgYXJlIGVpdGhlciBhIHVuaW9uIHR5cGUgb3IgbnVs
bGFibGUgdW5pb24gdHlwZSwgYW5kIGVhY2ggbWVtYmVyIHR5cGUgb2YgdGhlIG9uZSBpcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9i
ai5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2Jq
LmNwcAppbmRleCBlMWJlZTNjY2RhNWVlNGI4NmQ1MGQ5ZTY0NDMwNGFlMDY2ZWEyZjc4Li42Zjlk
NjNiOTg1YTIzOTU2MTNhOGJkMjkzN2RkM2NhNDNiZDdhYTIyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcApAQCAtOTYy
LDYgKzk2Miw3IEBAIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQ
cm90b3R5cGVGdW5jdGlvbk92ZXJsb2FkZWRNZXRob2RXaXRoCiBKU0M6OkVuY29kZWRKU1ZhbHVl
IEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25PdmVybG9hZGVkTWV0aG9k
V2l0aE5vbkRpc3Rpbmd1aXNoaW5nVW5pb24oSlNDOjpFeGVjU3RhdGUqKTsKIEpTQzo6RW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk92ZXJsb2Fk
V2l0aE51bGxhYmxlVW5pb24oSlNDOjpFeGVjU3RhdGUqKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUg
SlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk92ZXJsb2FkV2l0aE9wdGlv
bmFsVW5pb24oSlNDOjpFeGVjU3RhdGUqKTsKK0pTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk92ZXJsb2FkV2l0aE51bGxhYmxlTm9uRGlz
dGluZ3Vpc2hpbmdQYXJhbWV0ZXIoSlNDOjpFeGVjU3RhdGUqKTsKIEpTQzo6RW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpDb25zdHJ1Y3RvckZ1bmN0aW9uQ2xhc3NNZXRob2Qo
SlNDOjpFeGVjU3RhdGUqKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rl
c3RPYmpDb25zdHJ1Y3RvckZ1bmN0aW9uQ2xhc3NNZXRob2RXaXRoT3B0aW9uYWwoSlNDOjpFeGVj
U3RhdGUqKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpDb25z
dHJ1Y3RvckZ1bmN0aW9uQ2xhc3NNZXRob2QyKEpTQzo6RXhlY1N0YXRlKik7CkBAIC0xNTg1LDYg
KzE1ODYsNyBAQCBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0T2JqUHJvdG90eXBl
VGFibGVWYWx1ZXNbXSA9CiAgICAgeyAib3ZlcmxvYWRlZE1ldGhvZFdpdGhOb25EaXN0aW5ndWlz
aGluZ1VuaW9uIiwgSlNDOjpGdW5jdGlvbiwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRp
Y19jYXN0PE5hdGl2ZUZ1bmN0aW9uPihqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk92ZXJsb2Fk
ZWRNZXRob2RXaXRoTm9uRGlzdGluZ3Vpc2hpbmdVbmlvbiksIChpbnRwdHJfdCkgKDIpIH0gfSwK
ICAgICB7ICJvdmVybG9hZFdpdGhOdWxsYWJsZVVuaW9uIiwgSlNDOjpGdW5jdGlvbiwgTm9JbnRy
aW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PE5hdGl2ZUZ1bmN0aW9uPihqc1Rlc3RPYmpQ
cm90b3R5cGVGdW5jdGlvbk92ZXJsb2FkV2l0aE51bGxhYmxlVW5pb24pLCAoaW50cHRyX3QpICgx
KSB9IH0sCiAgICAgeyAib3ZlcmxvYWRXaXRoT3B0aW9uYWxVbmlvbiIsIEpTQzo6RnVuY3Rpb24s
IE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxOYXRpdmVGdW5jdGlvbj4oanNU
ZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25PdmVybG9hZFdpdGhPcHRpb25hbFVuaW9uKSwgKGludHB0
cl90KSAoMCkgfSB9LAorICAgIHsgIm92ZXJsb2FkV2l0aE51bGxhYmxlTm9uRGlzdGluZ3Vpc2hp
bmdQYXJhbWV0ZXIiLCBKU0M6OkZ1bmN0aW9uLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3Rh
dGljX2Nhc3Q8TmF0aXZlRnVuY3Rpb24+KGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uT3Zlcmxv
YWRXaXRoTnVsbGFibGVOb25EaXN0aW5ndWlzaGluZ1BhcmFtZXRlciksIChpbnRwdHJfdCkgKDIp
IH0gfSwKICAgICB7ICJjbGFzc01ldGhvZFdpdGhDbGFtcCIsIEpTQzo6RnVuY3Rpb24sIE5vSW50
cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxOYXRpdmVGdW5jdGlvbj4oanNUZXN0T2Jq
UHJvdG90eXBlRnVuY3Rpb25DbGFzc01ldGhvZFdpdGhDbGFtcCksIChpbnRwdHJfdCkgKDIpIH0g
fSwKICAgICB7ICJjbGFzc01ldGhvZFdpdGhFbmZvcmNlUmFuZ2UiLCBKU0M6OkZ1bmN0aW9uLCBO
b0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8TmF0aXZlRnVuY3Rpb24+KGpzVGVz
dE9ialByb3RvdHlwZUZ1bmN0aW9uQ2xhc3NNZXRob2RXaXRoRW5mb3JjZVJhbmdlKSwgKGludHB0
cl90KSAoMikgfSB9LAogICAgIHsgIm1ldGhvZFdpdGhVbnNpZ25lZExvbmdTZXF1ZW5jZSIsIEpT
Qzo6RnVuY3Rpb24sIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxOYXRpdmVG
dW5jdGlvbj4oanNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25NZXRob2RXaXRoVW5zaWduZWRMb25n
U2VxdWVuY2UpLCAoaW50cHRyX3QpICgxKSB9IH0sCkBAIC03MTU1LDYgKzcxNTcsNzYgQEAgRW5j
b2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk92ZXJs
b2FkV2l0aE9wdGlvbmFsVW5pb24KICAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihzdGF0ZSwg
dGhyb3dTY29wZSk7CiB9CiAKK3N0YXRpYyBpbmxpbmUgSlNDOjpFbmNvZGVkSlNWYWx1ZSBqc1Rl
c3RPYmpQcm90b3R5cGVGdW5jdGlvbk92ZXJsb2FkV2l0aE51bGxhYmxlTm9uRGlzdGluZ3Vpc2hp
bmdQYXJhbWV0ZXIxQ2FsbGVyKEpTQzo6RXhlY1N0YXRlKiwgSlNUZXN0T2JqKiwgSlNDOjpUaHJv
d1Njb3BlJik7CisKK3N0YXRpYyBpbmxpbmUgRW5jb2RlZEpTVmFsdWUganNUZXN0T2JqUHJvdG90
eXBlRnVuY3Rpb25PdmVybG9hZFdpdGhOdWxsYWJsZU5vbkRpc3Rpbmd1aXNoaW5nUGFyYW1ldGVy
MShFeGVjU3RhdGUqIHN0YXRlKQoreworICAgIHJldHVybiBCaW5kaW5nQ2FsbGVyPEpTVGVzdE9i
aj46OmNhbGxPcGVyYXRpb248anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25PdmVybG9hZFdpdGhO
dWxsYWJsZU5vbkRpc3Rpbmd1aXNoaW5nUGFyYW1ldGVyMUNhbGxlcj4oc3RhdGUsICJvdmVybG9h
ZFdpdGhOdWxsYWJsZU5vbkRpc3Rpbmd1aXNoaW5nUGFyYW1ldGVyIik7Cit9CisKK3N0YXRpYyBp
bmxpbmUgSlNDOjpFbmNvZGVkSlNWYWx1ZSBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk92ZXJs
b2FkV2l0aE51bGxhYmxlTm9uRGlzdGluZ3Vpc2hpbmdQYXJhbWV0ZXIxQ2FsbGVyKEpTQzo6RXhl
Y1N0YXRlKiBzdGF0ZSwgSlNUZXN0T2JqKiBjYXN0ZWRUaGlzLCBKU0M6OlRocm93U2NvcGUmIHRo
cm93U2NvcGUpCit7CisgICAgVU5VU0VEX1BBUkFNKHN0YXRlKTsKKyAgICBVTlVTRURfUEFSQU0o
dGhyb3dTY29wZSk7CisgICAgYXV0byYgaW1wbCA9IGNhc3RlZFRoaXMtPndyYXBwZWQoKTsKKyAg
ICBpZiAoVU5MSUtFTFkoc3RhdGUtPmFyZ3VtZW50Q291bnQoKSA8IDIpKQorICAgICAgICByZXR1
cm4gdGhyb3dWTUVycm9yKHN0YXRlLCB0aHJvd1Njb3BlLCBjcmVhdGVOb3RFbm91Z2hBcmd1bWVu
dHNFcnJvcihzdGF0ZSkpOworICAgIFRlc3RPYmoqIG9iaiA9IG51bGxwdHI7CisgICAgaWYgKCFz
dGF0ZS0+dW5jaGVja2VkQXJndW1lbnQoMCkuaXNVbmRlZmluZWRPck51bGwoKSkgeworICAgICAg
ICBvYmogPSBKU1Rlc3RPYmo6OnRvV3JhcHBlZChzdGF0ZS0+dW5jaGVja2VkQXJndW1lbnQoMCkp
OworICAgICAgICBpZiAoVU5MSUtFTFkoIW9iaikpCisgICAgICAgICAgICByZXR1cm4gdGhyb3dB
cmd1bWVudFR5cGVFcnJvcigqc3RhdGUsIHRocm93U2NvcGUsIDAsICJvYmoiLCAiVGVzdE9iamVj
dCIsICJvdmVybG9hZFdpdGhOdWxsYWJsZU5vbkRpc3Rpbmd1aXNoaW5nUGFyYW1ldGVyIiwgIlRl
c3RPYmoiKTsKKyAgICB9CisgICAgYXV0byBub2RlID0gSlNUZXN0Tm9kZTo6dG9XcmFwcGVkKHN0
YXRlLT51bmNoZWNrZWRBcmd1bWVudCgxKSk7CisgICAgaWYgKFVOTElLRUxZKCFub2RlKSkKKyAg
ICAgICAgcmV0dXJuIHRocm93QXJndW1lbnRUeXBlRXJyb3IoKnN0YXRlLCB0aHJvd1Njb3BlLCAx
LCAibm9kZSIsICJUZXN0T2JqZWN0IiwgIm92ZXJsb2FkV2l0aE51bGxhYmxlTm9uRGlzdGluZ3Vp
c2hpbmdQYXJhbWV0ZXIiLCAiVGVzdE5vZGUiKTsKKyAgICBpbXBsLm92ZXJsb2FkV2l0aE51bGxh
YmxlTm9uRGlzdGluZ3Vpc2hpbmdQYXJhbWV0ZXIoV1RGTW92ZShvYmopLCAqbm9kZSk7CisgICAg
cmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKK30KKworc3RhdGljIGlubGlu
ZSBKU0M6OkVuY29kZWRKU1ZhbHVlIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uT3ZlcmxvYWRX
aXRoTnVsbGFibGVOb25EaXN0aW5ndWlzaGluZ1BhcmFtZXRlcjJDYWxsZXIoSlNDOjpFeGVjU3Rh
dGUqLCBKU1Rlc3RPYmoqLCBKU0M6OlRocm93U2NvcGUmKTsKKworc3RhdGljIGlubGluZSBFbmNv
ZGVkSlNWYWx1ZSBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk92ZXJsb2FkV2l0aE51bGxhYmxl
Tm9uRGlzdGluZ3Vpc2hpbmdQYXJhbWV0ZXIyKEV4ZWNTdGF0ZSogc3RhdGUpCit7CisgICAgcmV0
dXJuIEJpbmRpbmdDYWxsZXI8SlNUZXN0T2JqPjo6Y2FsbE9wZXJhdGlvbjxqc1Rlc3RPYmpQcm90
b3R5cGVGdW5jdGlvbk92ZXJsb2FkV2l0aE51bGxhYmxlTm9uRGlzdGluZ3Vpc2hpbmdQYXJhbWV0
ZXIyQ2FsbGVyPihzdGF0ZSwgIm92ZXJsb2FkV2l0aE51bGxhYmxlTm9uRGlzdGluZ3Vpc2hpbmdQ
YXJhbWV0ZXIiKTsKK30KKworc3RhdGljIGlubGluZSBKU0M6OkVuY29kZWRKU1ZhbHVlIGpzVGVz
dE9ialByb3RvdHlwZUZ1bmN0aW9uT3ZlcmxvYWRXaXRoTnVsbGFibGVOb25EaXN0aW5ndWlzaGlu
Z1BhcmFtZXRlcjJDYWxsZXIoSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBKU1Rlc3RPYmoqIGNhc3Rl
ZFRoaXMsIEpTQzo6VGhyb3dTY29wZSYgdGhyb3dTY29wZSkKK3sKKyAgICBVTlVTRURfUEFSQU0o
c3RhdGUpOworICAgIFVOVVNFRF9QQVJBTSh0aHJvd1Njb3BlKTsKKyAgICBhdXRvJiBpbXBsID0g
Y2FzdGVkVGhpcy0+d3JhcHBlZCgpOworICAgIGlmIChVTkxJS0VMWShzdGF0ZS0+YXJndW1lbnRD
b3VudCgpIDwgMikpCisgICAgICAgIHJldHVybiB0aHJvd1ZNRXJyb3Ioc3RhdGUsIHRocm93U2Nv
cGUsIGNyZWF0ZU5vdEVub3VnaEFyZ3VtZW50c0Vycm9yKHN0YXRlKSk7CisgICAgVGVzdE5vZGUq
IG5vZGUgPSBudWxscHRyOworICAgIGlmICghc3RhdGUtPnVuY2hlY2tlZEFyZ3VtZW50KDApLmlz
VW5kZWZpbmVkT3JOdWxsKCkpIHsKKyAgICAgICAgbm9kZSA9IEpTVGVzdE5vZGU6OnRvV3JhcHBl
ZChzdGF0ZS0+dW5jaGVja2VkQXJndW1lbnQoMCkpOworICAgICAgICBpZiAoVU5MSUtFTFkoIW5v
ZGUpKQorICAgICAgICAgICAgcmV0dXJuIHRocm93QXJndW1lbnRUeXBlRXJyb3IoKnN0YXRlLCB0
aHJvd1Njb3BlLCAwLCAibm9kZSIsICJUZXN0T2JqZWN0IiwgIm92ZXJsb2FkV2l0aE51bGxhYmxl
Tm9uRGlzdGluZ3Vpc2hpbmdQYXJhbWV0ZXIiLCAiVGVzdE5vZGUiKTsKKyAgICB9CisgICAgYXV0
byBpbmRleCA9IGNvbnZlcnQ8SURMTG9uZz4oKnN0YXRlLCBzdGF0ZS0+dW5jaGVja2VkQXJndW1l
bnQoMSksIE5vcm1hbENvbnZlcnNpb24pOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dT
Y29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7CisgICAgaW1wbC5vdmVybG9hZFdpdGhOdWxsYWJsZU5v
bkRpc3Rpbmd1aXNoaW5nUGFyYW1ldGVyKFdURk1vdmUobm9kZSksIFdURk1vdmUoaW5kZXgpKTsK
KyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworfQorCitFbmNvZGVk
SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uT3ZlcmxvYWRX
aXRoTnVsbGFibGVOb25EaXN0aW5ndWlzaGluZ1BhcmFtZXRlcihFeGVjU3RhdGUqIHN0YXRlKQor
eworICAgIFZNJiB2bSA9IHN0YXRlLT52bSgpOworICAgIGF1dG8gdGhyb3dTY29wZSA9IERFQ0xB
UkVfVEhST1dfU0NPUEUodm0pOworICAgIFVOVVNFRF9QQVJBTSh0aHJvd1Njb3BlKTsKKyAgICBz
aXplX3QgYXJnc0NvdW50ID0gc3RkOjptaW48c2l6ZV90PigyLCBzdGF0ZS0+YXJndW1lbnRDb3Vu
dCgpKTsKKyAgICBpZiAoYXJnc0NvdW50ID09IDIpIHsKKyAgICAgICAgSlNWYWx1ZSBkaXN0aW5n
dWlzaGluZ0FyZyA9IHN0YXRlLT51bmNoZWNrZWRBcmd1bWVudCgxKTsKKyAgICAgICAgaWYgKGRp
c3Rpbmd1aXNoaW5nQXJnLmlzT2JqZWN0KCkgJiYgYXNPYmplY3QoZGlzdGluZ3Vpc2hpbmdBcmcp
LT5pbmhlcml0cyhKU1Rlc3ROb2RlOjppbmZvKCkpKQorICAgICAgICAgICAgcmV0dXJuIGpzVGVz
dE9ialByb3RvdHlwZUZ1bmN0aW9uT3ZlcmxvYWRXaXRoTnVsbGFibGVOb25EaXN0aW5ndWlzaGlu
Z1BhcmFtZXRlcjEoc3RhdGUpOworICAgICAgICBpZiAoZGlzdGluZ3Vpc2hpbmdBcmcuaXNOdW1i
ZXIoKSkKKyAgICAgICAgICAgIHJldHVybiBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk92ZXJs
b2FkV2l0aE51bGxhYmxlTm9uRGlzdGluZ3Vpc2hpbmdQYXJhbWV0ZXIyKHN0YXRlKTsKKyAgICAg
ICAgcmV0dXJuIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uT3ZlcmxvYWRXaXRoTnVsbGFibGVO
b25EaXN0aW5ndWlzaGluZ1BhcmFtZXRlcjIoc3RhdGUpOworICAgIH0KKyAgICByZXR1cm4gYXJn
c0NvdW50IDwgMiA/IHRocm93Vk1FcnJvcihzdGF0ZSwgdGhyb3dTY29wZSwgY3JlYXRlTm90RW5v
dWdoQXJndW1lbnRzRXJyb3Ioc3RhdGUpKSA6IHRocm93Vk1UeXBlRXJyb3Ioc3RhdGUsIHRocm93
U2NvcGUpOworfQorCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9iakNvbnN0
cnVjdG9yRnVuY3Rpb25DbGFzc01ldGhvZChFeGVjU3RhdGUqIHN0YXRlKQogewogICAgIFZNJiB2
bSA9IHN0YXRlLT52bSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L1Rlc3RPYmouaWRsIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Rlc3RPYmouaWRsCmluZGV4IGQyMjYxNDgzMDFmNDYwMWQyYWJjMzQwODFhOWI0YjJlN2Qz
OWQzMmUuLmI2M2EwM2E1NzY3MmE0YTRiN2MyNWM5YmZiMTYyMWMzOGJhMWIxZmQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGwKQEAgLTMx
Myw2ICszMTMsOSBAQCBlbnVtIFRlc3RDb25maWRlbmNlIHsgImhpZ2giLCAia2luZGEtbG93IiB9
OwogCiAgICAgdm9pZCBvdmVybG9hZFdpdGhPcHRpb25hbFVuaW9uKG9wdGlvbmFsIChET01TdHJp
bmcgb3IgYm9vbGVhbikgb2JqZWN0T3JOb2RlID0gdHJ1ZSk7CiAgICAgdm9pZCBvdmVybG9hZFdp
dGhPcHRpb25hbFVuaW9uKGxvbmcgaW5kZXgpOworCisgICAgdm9pZCBvdmVybG9hZFdpdGhOdWxs
YWJsZU5vbkRpc3Rpbmd1aXNoaW5nUGFyYW1ldGVyKFRlc3RPYmo/IG9iaiwgVGVzdE5vZGUgbm9k
ZSk7CisgICAgdm9pZCBvdmVybG9hZFdpdGhOdWxsYWJsZU5vbkRpc3Rpbmd1aXNoaW5nUGFyYW1l
dGVyKFRlc3ROb2RlPyBub2RlLCBsb25nIGluZGV4KTsKICNlbmRpZgogCiAgICAgLy8gQ2xhc3Mg
bWV0aG9kcyB3aXRoaW4gSmF2YVNjcmlwdCAobGlrZSB3aGF0J3MgdXNlZCBmb3IgSURCS2V5UmFu
Z2UpLgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>