<?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>73799</bug_id>
          
          <creation_ts>2011-12-04 22:34:40 -0800</creation_ts>
          <short_desc>Update String::containsOnlyASCII() to handle 8 bits strings</short_desc>
          <delta_ts>2011-12-05 15:58:14 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Template Framework</component>
          <version>528+ (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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>cc-bugs</cc>
    
    <cc>jamesr</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>514917</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-12-04 22:34:40 -0800</bug_when>
    <thetext>Update String::containsOnlyASCII() to handle 8 bits strings</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514920</commentid>
    <comment_count>1</comment_count>
      <attachid>117845</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-12-04 22:46:08 -0800</bug_when>
    <thetext>Created attachment 117845
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515180</commentid>
    <comment_count>2</comment_count>
      <attachid>117845</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-12-05 10:40:03 -0800</bug_when>
    <thetext>Comment on attachment 117845
Patch

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

&gt; Source/JavaScriptCore/wtf/text/WTFString.h:504
&gt; +    if (is8Bit()) {
&gt; +        const LChar* characters = characters8();
&gt; +        LChar ored = 0;
&gt; +        for (size_t i = 0; i &lt; m_impl-&gt;length(); ++i)
&gt; +            ored |= characters[i];
&gt; +        return !(ored &amp; 0x80);
&gt; +    }

It would probably make sense to add a charactersAreAllASCII that takes LChars, to match the one that takes UChars, and call it here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515440</commentid>
    <comment_count>3</comment_count>
      <attachid>117946</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-12-05 15:18:59 -0800</bug_when>
    <thetext>Created attachment 117946
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515444</commentid>
    <comment_count>4</comment_count>
      <attachid>117946</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-12-05 15:22:14 -0800</bug_when>
    <thetext>Comment on attachment 117946
Patch

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

&gt; Source/JavaScriptCore/wtf/text/WTFString.h:492
&gt;      return !(ored &amp; 0xFF80);

This is the only thing  here that is specific to 2 bytes. It could be written like this:

    return !(ored &amp; ~0x7F);

And then it would only require that CharType was the size of an integer or smaller. Or it could be written like this:

    CharType lowBits = 0x7F;
    return !(ored &amp; ~lowBits);

And then it would work with pretty much any type and a COMPILE_ASSERT would not be needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515447</commentid>
    <comment_count>5</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-12-05 15:25:10 -0800</bug_when>
    <thetext>I like that. Thanks for the review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515470</commentid>
    <comment_count>6</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-12-05 15:58:14 -0800</bug_when>
    <thetext>Committed r102059: &lt;http://trac.webkit.org/changeset/102059&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117845</attachid>
            <date>2011-12-04 22:46:08 -0800</date>
            <delta_ts>2011-12-05 15:18:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73799-20111204224607.patch</filename>
            <type>text/plain</type>
            <size>5936</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxOTY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
MjBhNThmYjZmMTQxYzFhN2Q5YThjNDRlMzFkMzE4MGQxMmZlOTY3Li4zNGZkMzE1NmM2YWQ4ZjRk
NDI0MDU1Mzg5ZDQxMGNkNjgzMDZhMjAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwxOCBAQAogMjAxMS0xMi0wNCAgQmVuamFtaW4gUG91bGFpbiAgPGJlbmphbWluQHdlYmtp
dC5vcmc+CiAKKyAgICAgICAgVXBkYXRlIFN0cmluZzo6Y29udGFpbnNPbmx5QVNDSUkoKSB0byBo
YW5kbGUgOCBiaXRzIHN0cmluZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTczNzk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgSW1wbGVtZW50IFN0cmluZzo6Y29udGFpbnNPbmx5QVNDSUkoKSBzbyB0aGF0
IGl0IGRvZXMgbm90CisgICAgICAgIGNhbGwgU3RyaW5nOjpjaGFyYWN0ZXJzKCkuCisKKyAgICAg
ICAgKiB3dGYvdGV4dC9XVEZTdHJpbmcuaDoKKyAgICAgICAgKFdURjo6U3RyaW5nOjpjb250YWlu
c09ubHlBU0NJSSk6CisKKzIwMTEtMTItMDQgIEJlbmphbWluIFBvdWxhaW4gIDxiZW5qYW1pbkB3
ZWJraXQub3JnPgorCiAgICAgICAgIFVwZGF0ZSBTdHJpbmc6OmNvbnRhaW5zT25seUxhdGluMSgp
IHRvIGF2b2lkIGNvbnZlcnRpbmcgdG8gMTYgYml0cwogICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3OTcKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDc3ODdhZDc0NDUx
MjNiYzkwZjUzMzExMDcxMjY4ODczYTM5MjdkYmEuLmFhMDkyMTAxZWM1Mjg3NTMyMWNkN2ZhY2Y0
MTQ4OGQyOWM4NGIzMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyMiBAQAogMjAxMS0xMi0wNCAg
QmVuamFtaW4gUG91bGFpbiAgPGJlbmphbWluQHdlYmtpdC5vcmc+CiAKKyAgICAgICAgVXBkYXRl
IFN0cmluZzo6Y29udGFpbnNPbmx5QVNDSUkoKSB0byBoYW5kbGUgOCBiaXRzIHN0cmluZ3MKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTczNzk5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiBwb3NzaWJs
ZSwgY2hhbmdlIHRoZSBjYWxsIHNpdGVzIGZyb20gY2hhcmFjdGVyc0FyZUFsbEFTQ0lJKCkKKyAg
ICAgICAgdG8gdGhlIG9wdGltaXplZCB2ZXJzaW9uIFN0cmluZzo6Y29udGFpbnNPbmx5QVNDSUko
KS4KKworICAgICAgICAqIHBsYXRmb3JtL0tVUkwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6S1VS
TDo6aW5pdCk6CisgICAgICAgICogcGxhdGZvcm0vY2YvQmluYXJ5UHJvcGVydHlMaXN0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkJpbmFyeVByb3BlcnR5TGlzdFBsYW46OndyaXRlU3RyaW5nT2Jq
ZWN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Gb250Q2FjaGVDaHJv
bWl1bVdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250Q29kZXBhZ2U6OmlmKToKKworMjAx
MS0xMi0wNCAgQmVuamFtaW4gUG91bGFpbiAgPGJlbmphbWluQHdlYmtpdC5vcmc+CisKICAgICAg
ICAgUmVtb3ZlIG1ldGhvZHMgZGVjbGFyZWQgYnV0IG5ldmVyIGltcGxlbWVudGVkIHdpdGggR09P
R0xFVVJMCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03
Mzc5NQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvV1RGU3Ry
aW5nLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvV1RGU3RyaW5nLmgKaW5kZXgg
YmM1ZWJkYmQ5N2I4NWUzYWY4NmMwYjYwNTg1ZGU4ZmY4Yjg4ZTliYy4uMGU0ODM3NjlkZTZjM2Yz
ZTIzYWU4NzAxNDkzYTY0NmQ2ZjhjMzE1MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi90ZXh0L1dURlN0cmluZy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
dGV4dC9XVEZTdHJpbmcuaApAQCAtMzczLDcgKzM3Myw3IEBAIHB1YmxpYzoKICAgICAgICAgcmV0
dXJuIFdURjo6VW5pY29kZTo6TGVmdFRvUmlnaHQ7CiAgICAgfQogCi0gICAgYm9vbCBjb250YWlu
c09ubHlBU0NJSSgpIGNvbnN0IHsgcmV0dXJuIGNoYXJhY3RlcnNBcmVBbGxBU0NJSShjaGFyYWN0
ZXJzKCksIGxlbmd0aCgpKTsgfQorICAgIGJvb2wgY29udGFpbnNPbmx5QVNDSUkoKSBjb25zdDsK
ICAgICBib29sIGNvbnRhaW5zT25seUxhdGluMSgpIGNvbnN0OwogICAgIGJvb2wgY29udGFpbnNP
bmx5V2hpdGVzcGFjZSgpIGNvbnN0IHsgcmV0dXJuICFtX2ltcGwgfHwgbV9pbXBsLT5jb250YWlu
c09ubHlXaGl0ZXNwYWNlKCk7IH0KIApAQCAtNDkwLDYgKzQ5MCwyMiBAQCBpbmxpbmUgYm9vbCBj
aGFyYWN0ZXJzQXJlQWxsQVNDSUkoY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMsIHNpemVfdCBsZW5n
dGgpCiAgICAgcmV0dXJuICEob3JlZCAmIDB4RkY4MCk7CiB9CiAKK2lubGluZSBib29sIFN0cmlu
Zzo6Y29udGFpbnNPbmx5QVNDSUkoKSBjb25zdAoreworICAgIGlmIChpc0VtcHR5KCkpCisgICAg
ICAgIHJldHVybiB0cnVlOworCisgICAgaWYgKGlzOEJpdCgpKSB7CisgICAgICAgIGNvbnN0IExD
aGFyKiBjaGFyYWN0ZXJzID0gY2hhcmFjdGVyczgoKTsKKyAgICAgICAgTENoYXIgb3JlZCA9IDA7
CisgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9pbXBsLT5sZW5ndGgoKTsgKytpKQor
ICAgICAgICAgICAgb3JlZCB8PSBjaGFyYWN0ZXJzW2ldOworICAgICAgICByZXR1cm4gIShvcmVk
ICYgMHg4MCk7CisgICAgfQorCisgICAgcmV0dXJuIGNoYXJhY3RlcnNBcmVBbGxBU0NJSShjaGFy
YWN0ZXJzMTYoKSwgbV9pbXBsLT5sZW5ndGgoKSk7Cit9CisKIFdURl9FWFBPUlRfUFJJVkFURSBp
bnQgY29kZVBvaW50Q29tcGFyZShjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmKTsKIAogaW5s
aW5lIHNpemVfdCBmaW5kKGNvbnN0IExDaGFyKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgs
IExDaGFyIG1hdGNoQ2hhcmFjdGVyLCB1bnNpZ25lZCBpbmRleCA9IDApCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9LVVJMLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0tVUkwuY3BwCmluZGV4IGMxYzhlZWJmNWI5NjZkZDM3Yjg3NGE5MmQxMGJjYWJjMmVhZDBiMjEu
LmJlZjcyMmZmNWRjNzY2YmEwMTdiNWIxZDRjZGFlZDEzZDEzMGI0OGUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tVUkwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL0tVUkwuY3BwCkBAIC0zNzAsNyArMzcwLDcgQEAgdm9pZCBLVVJMOjppbml0KGNvbnN0IEtV
UkwmIGJhc2UsIGNvbnN0IFN0cmluZyYgcmVsYXRpdmUsIGNvbnN0IFRleHRFbmNvZGluZyYgZW4K
ICAgICBpZiAocmVsLmNvbnRhaW5zKCdcXCcpICYmICEocHJvdG9jb2xJc0phdmFTY3JpcHQocmVs
KSB8fCBwcm90b2NvbElzKHJlbCwgImRhdGEiKSkpCiAgICAgICAgIHJlbCA9IHN1YnN0aXR1dGVC
YWNrc2xhc2hlcyhyZWwpOwogCi0gICAgYm9vbCBhbGxBU0NJSSA9IGNoYXJhY3RlcnNBcmVBbGxB
U0NJSShyZWwuY2hhcmFjdGVycygpLCByZWwubGVuZ3RoKCkpOworICAgIGJvb2wgYWxsQVNDSUkg
PSByZWwuY29udGFpbnNPbmx5QVNDSUkoKTsKICAgICBDaGFyQnVmZmVyIHN0ckJ1ZmZlcjsKICAg
ICBjaGFyKiBzdHI7CiAgICAgc2l6ZV90IGxlbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2NmL0JpbmFyeVByb3BlcnR5TGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9jZi9CaW5hcnlQcm9wZXJ0eUxpc3QuY3BwCmluZGV4IDY1YmU3MGExYWUxZjJlMDhhYTBh
NGNlMmE4NmYwODk5MmI5OGY2NGIuLjRiODIzYjEyYjc4YjY1ZGNjNzViYzExMTc2MjY4MTQwNjZm
Mjg1ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NmL0JpbmFyeVByb3Bl
cnR5TGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2YvQmluYXJ5UHJvcGVy
dHlMaXN0LmNwcApAQCAtMjg1LDEwICsyODUsOSBAQCBzdGF0aWMgc2l6ZV90IG1hcmtlclBsdXNM
ZW5ndGhCeXRlQ291bnQoc2l6ZV90IGxlbmd0aCkKIAogdm9pZCBCaW5hcnlQcm9wZXJ0eUxpc3RQ
bGFuOjp3cml0ZVN0cmluZ09iamVjdChjb25zdCBTdHJpbmcmIHN0cmluZykKIHsKLSAgICBjb25z
dCBVQ2hhciogY2hhcmFjdGVycyA9IHN0cmluZy5jaGFyYWN0ZXJzKCk7CiAgICAgdW5zaWduZWQg
bGVuZ3RoID0gc3RyaW5nLmxlbmd0aCgpOwogICAgIG1fYnl0ZUNvdW50ICs9IG1hcmtlclBsdXNM
ZW5ndGhCeXRlQ291bnQobGVuZ3RoKSArIGxlbmd0aDsKLSAgICBpZiAoIWNoYXJhY3RlcnNBcmVB
bGxBU0NJSShjaGFyYWN0ZXJzLCBsZW5ndGgpKQorICAgIGlmICghc3RyaW5nLmNvbnRhaW5zT25s
eUFTQ0lJKCkpCiAgICAgICAgIG1fYnl0ZUNvdW50ICs9IGxlbmd0aDsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9udENhY2hlQ2hy
b21pdW1XaW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Rm9udENhY2hlQ2hyb21pdW1XaW4uY3BwCmluZGV4IDUyZDEwNjRjMGIyNzY1YjI3ZWM5NzU0M2I3
OWUzMTNkMDdjMzYxZDIuLjlmNWJkNDkxOWZkYTkwMzJjMDA5MmUyY2MxMDQ1ZDllMjA0YjlmY2Eg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0Zv
bnRDYWNoZUNocm9taXVtV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9Gb250Q2FjaGVDaHJvbWl1bVdpbi5jcHAKQEAgLTUwLDEyICs1MCw2IEBA
IHVzaW5nIHN0ZDo6bWluOwogbmFtZXNwYWNlIFdlYkNvcmUKIHsKIAotLy8gRklYTUU6IGNvbnNp
ZGVyIGFkZGluZyB0byBXZWJLaXQgU3RyaW5nIGNsYXNzCi1zdGF0aWMgYm9vbCBjaGFyYWN0ZXJz
QXJlQWxsQVNDSUkoY29uc3QgU3RyaW5nJiBzKQotewotICAgIHJldHVybiBXVEY6OmNoYXJhY3Rl
cnNBcmVBbGxBU0NJSShzLmNoYXJhY3RlcnMoKSwgcy5sZW5ndGgoKSk7Ci19Ci0KIC8vIFdoZW4g
YXNrZWQgZm9yIGEgQ0pLIGZvbnQgd2l0aCBhIG5hdGl2ZSBuYW1lIHVuZGVyIGEgbm9uLUNKSyBs
b2NhbGUgb3IKIC8vIGFza2VkIGZvciBhIENKSyBmb250IHdpdGggYSBSb21hbml6ZWQgbmFtZSB1
bmRlciBhIENKSyBsb2NhbGUsCiAvLyB8R2V0VGV4dEZhY2V8IChhZnRlciB8Q3JlYXRlRm9udCp8
KSByZXR1cm5zIGEgJ2JvZ3VzJyB2YWx1ZSAoZS5nLiBBcmlhbCkuCkBAIC0yMTYsNyArMjEwLDcg
QEAgc3RhdGljIGJvb2wgTG9va3VwQWx0TmFtZShjb25zdCBTdHJpbmcmIG5hbWUsIFN0cmluZyYg
YWx0TmFtZSkKICAgICAvLyB1c2UgfGxvd2VyfCBvbmx5IGZvciBBU0NJSSBuYW1lcyAKICAgICAv
LyBGb3Igbm9uLUFTQ0lJIG5hbWVzLCB3ZSBkb24ndCB3YW50IHRvIGludm9rZSBhbiBleHBlbnNp
dmUgCiAgICAgLy8gYW5kIHVubmVjZXNzYXJ5IHxsb3dlcnwuIAotICAgIGlmIChjaGFyYWN0ZXJz
QXJlQWxsQVNDSUkobmFtZSkpIHsKKyAgICBpZiAobmFtZS5jb250YWluc09ubHlBU0NJSSgpKSB7
CiAgICAgICAgIGlzQXNjaWkgPSB0cnVlOwogICAgICAgICBuID0gbmFtZS5sb3dlcigpOwogICAg
IH0gZWxzZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117946</attachid>
            <date>2011-12-05 15:18:59 -0800</date>
            <delta_ts>2011-12-05 15:22:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73799-20111205151857.patch</filename>
            <type>text/plain</type>
            <size>6717</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyMDQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
OGYxN2NkMWU4YzFjNmIxZTMyNzMyOTYxYzRjZWFhYTJjNTkxZWFjLi4zOGFmYjYzMDAzZmYwZGQ0
ZTUxMzlhOGViMWJiZWQzZTc3ZmFkMDM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAxMS0xMi0wNSAgQmVuamFtaW4gUG91bGFpbiAgPGJlbmphbWluQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgVXBkYXRlIFN0cmluZzo6Y29udGFpbnNPbmx5QVNDSUkoKSB0byBo
YW5kbGUgOCBiaXRzIHN0cmluZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTczNzk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgSW1wbGVtZW50IFN0cmluZzo6Y29udGFpbnNPbmx5QVNDSUkoKSBzbyB0aGF0
IGl0IGRvZXMgbm90CisgICAgICAgIGNhbGwgU3RyaW5nOjpjaGFyYWN0ZXJzKCkuCisKKyAgICAg
ICAgKiB3dGYvdGV4dC9XVEZTdHJpbmcuaDoKKyAgICAgICAgKFdURjo6U3RyaW5nOjpjb250YWlu
c09ubHlBU0NJSSk6CisKIDIwMTEtMTItMDUgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNv
bT4KIAogICAgICAgICBPbGQgSklUIGVtaXRzIDMyLWJpdCBvZmZzZXRzIGZvciBwdXRfYnlfaWQg
YnV0IHNvbWV0aW1lcyBwYXRjaGVzIHRoZW0gYXMgaWYgdGhleQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDk1NTNi
YThhZDRmOWI4YjVkNzA5N2EwZDc5Mjk5N2NiOWJlZDhlOTYuLmY1ZWQ5ODFmMWE3M2NjYmJiMTU5
NjEwNWUxM2VhZjkzMmUxZjI4MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMS0x
Mi0wNSAgQmVuamFtaW4gUG91bGFpbiAgPGJlbmphbWluQHdlYmtpdC5vcmc+CisKKyAgICAgICAg
VXBkYXRlIFN0cmluZzo6Y29udGFpbnNPbmx5QVNDSUkoKSB0byBoYW5kbGUgOCBiaXRzIHN0cmlu
Z3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTczNzk5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiBw
b3NzaWJsZSwgY2hhbmdlIHRoZSBjYWxsIHNpdGVzIGZyb20gY2hhcmFjdGVyc0FyZUFsbEFTQ0lJ
KCkKKyAgICAgICAgdG8gdGhlIG9wdGltaXplZCB2ZXJzaW9uIFN0cmluZzo6Y29udGFpbnNPbmx5
QVNDSUkoKS4KKworICAgICAgICAqIHBsYXRmb3JtL0tVUkwuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6S1VSTDo6aW5pdCk6CisgICAgICAgICogcGxhdGZvcm0vY2YvQmluYXJ5UHJvcGVydHlMaXN0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJpbmFyeVByb3BlcnR5TGlzdFBsYW46OndyaXRlU3Ry
aW5nT2JqZWN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Gb250Q2Fj
aGVDaHJvbWl1bVdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250Q29kZXBhZ2U6OmlmKToK
KwogMjAxMS0xMi0wNSAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAg
ICAgICAgIE1ha2UgTGF5ZXJGbHVzaFNjaGVkdWxlckNsaWVudDo6Zmx1c2hMYXllcnMgaW5kaWNh
dGUgd2hldGhlciB0aGUgZmx1c2ggd2FzIHN1Y2Nlc3NmdWwgb3Igbm90CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvV1RGU3RyaW5nLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL3RleHQvV1RGU3RyaW5nLmgKaW5kZXggYmM1ZWJkYmQ5N2I4NWUzYWY4NmMw
YjYwNTg1ZGU4ZmY4Yjg4ZTliYy4uMmE1MDg4MWU5YmUyMzQxMzhhMzkyNzJiNzYwY2MyNzNjNmVm
ZTNmOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1dURlN0cmlu
Zy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9XVEZTdHJpbmcuaApAQCAt
NjEsNyArNjEsNyBAQCBzdHJ1Y3QgU3RyaW5nSGFzaDsKIAogLy8gRGVjbGFyYXRpb25zIG9mIHN0
cmluZyBvcGVyYXRpb25zCiAKLWJvb2wgY2hhcmFjdGVyc0FyZUFsbEFTQ0lJKGNvbnN0IFVDaGFy
Kiwgc2l6ZV90KTsKK3RlbXBsYXRlPHR5cGVuYW1lIENoYXJUeXBlPiBpbmxpbmUgYm9vbCBjaGFy
YWN0ZXJzQXJlQWxsQVNDSUkoY29uc3QgQ2hhclR5cGUqIGNoYXJhY3RlcnMsIHNpemVfdCBsZW5n
dGgpOwogV1RGX0VYUE9SVF9QUklWQVRFIGludCBjaGFyYWN0ZXJzVG9JbnRTdHJpY3QoY29uc3Qg
TENoYXIqLCBzaXplX3QsIGJvb2wqIG9rID0gMCwgaW50IGJhc2UgPSAxMCk7CiBXVEZfRVhQT1JU
X1BSSVZBVEUgaW50IGNoYXJhY3RlcnNUb0ludFN0cmljdChjb25zdCBVQ2hhciosIHNpemVfdCwg
Ym9vbCogb2sgPSAwLCBpbnQgYmFzZSA9IDEwKTsKIFdURl9FWFBPUlRfUFJJVkFURSB1bnNpZ25l
ZCBjaGFyYWN0ZXJzVG9VSW50U3RyaWN0KGNvbnN0IExDaGFyKiwgc2l6ZV90LCBib29sKiBvayA9
IDAsIGludCBiYXNlID0gMTApOwpAQCAtMzczLDcgKzM3Myw3IEBAIHB1YmxpYzoKICAgICAgICAg
cmV0dXJuIFdURjo6VW5pY29kZTo6TGVmdFRvUmlnaHQ7CiAgICAgfQogCi0gICAgYm9vbCBjb250
YWluc09ubHlBU0NJSSgpIGNvbnN0IHsgcmV0dXJuIGNoYXJhY3RlcnNBcmVBbGxBU0NJSShjaGFy
YWN0ZXJzKCksIGxlbmd0aCgpKTsgfQorICAgIGJvb2wgY29udGFpbnNPbmx5QVNDSUkoKSBjb25z
dDsKICAgICBib29sIGNvbnRhaW5zT25seUxhdGluMSgpIGNvbnN0OwogICAgIGJvb2wgY29udGFp
bnNPbmx5V2hpdGVzcGFjZSgpIGNvbnN0IHsgcmV0dXJuICFtX2ltcGwgfHwgbV9pbXBsLT5jb250
YWluc09ubHlXaGl0ZXNwYWNlKCk7IH0KIApAQCAtNDgyLDE0ICs0ODIsMjcgQEAgaW5saW5lIGJv
b2wgU3RyaW5nOjpjb250YWluc09ubHlMYXRpbjEoKSBjb25zdAogaW5saW5lIE5TU3RyaW5nKiBu
c1N0cmluZ05pbElmRW1wdHkoY29uc3QgU3RyaW5nJiBzdHIpIHsgIHJldHVybiBzdHIuaXNFbXB0
eSgpID8gbmlsIDogKE5TU3RyaW5nKilzdHI7IH0KICNlbmRpZgogCi1pbmxpbmUgYm9vbCBjaGFy
YWN0ZXJzQXJlQWxsQVNDSUkoY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMsIHNpemVfdCBsZW5ndGgp
Cit0ZW1wbGF0ZTx0eXBlbmFtZSBDaGFyVHlwZT4KK2lubGluZSBib29sIGNoYXJhY3RlcnNBcmVB
bGxBU0NJSShjb25zdCBDaGFyVHlwZSogY2hhcmFjdGVycywgc2l6ZV90IGxlbmd0aCkKIHsKLSAg
ICBVQ2hhciBvcmVkID0gMDsKKyAgICBDT01QSUxFX0FTU0VSVChzaXplb2YoQ2hhclR5cGUpIDw9
IDIsIENoYXJNYXNrSXNUd29CeXRlcyk7CisgICAgQ2hhclR5cGUgb3JlZCA9IDA7CiAgICAgZm9y
IChzaXplX3QgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkKICAgICAgICAgb3JlZCB8PSBjaGFyYWN0
ZXJzW2ldOwogICAgIHJldHVybiAhKG9yZWQgJiAweEZGODApOwogfQogCitpbmxpbmUgYm9vbCBT
dHJpbmc6OmNvbnRhaW5zT25seUFTQ0lJKCkgY29uc3QKK3sKKyAgICBpZiAoaXNFbXB0eSgpKQor
ICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIGlmIChpczhCaXQoKSkKKyAgICAgICAgcmV0dXJu
IGNoYXJhY3RlcnNBcmVBbGxBU0NJSShjaGFyYWN0ZXJzOCgpLCBtX2ltcGwtPmxlbmd0aCgpKTsK
KworICAgIHJldHVybiBjaGFyYWN0ZXJzQXJlQWxsQVNDSUkoY2hhcmFjdGVyczE2KCksIG1faW1w
bC0+bGVuZ3RoKCkpOworfQorCiBXVEZfRVhQT1JUX1BSSVZBVEUgaW50IGNvZGVQb2ludENvbXBh
cmUoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJik7CiAKIGlubGluZSBzaXplX3QgZmluZChj
b25zdCBMQ2hhciogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3RoLCBMQ2hhciBtYXRjaENoYXJh
Y3RlciwgdW5zaWduZWQgaW5kZXggPSAwKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vS1VSTC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9LVVJMLmNwcAppbmRleCA3
YzhiMWRiZmJjYjlkYWNhNTExYmRiOWQ2NzU3NDJkZWRhYWMyZDMyLi4wZmEzNWU1YjQzYjc0YWU2
MzczMGI1YWViMDAzYzRiZjA0ZDFlMGQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9LVVJMLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9LVVJMLmNwcApAQCAt
Mzc2LDcgKzM3Niw3IEBAIHZvaWQgS1VSTDo6aW5pdChjb25zdCBLVVJMJiBiYXNlLCBjb25zdCBT
dHJpbmcmIHJlbGF0aXZlLCBjb25zdCBUZXh0RW5jb2RpbmcmIGVuCiAgICAgaWYgKHJlbC5jb250
YWlucygnXFwnKSAmJiAhKHByb3RvY29sSXNKYXZhU2NyaXB0KHJlbCkgfHwgcHJvdG9jb2xJcyhy
ZWwsICJkYXRhIikpKQogICAgICAgICByZWwgPSBzdWJzdGl0dXRlQmFja3NsYXNoZXMocmVsKTsK
IAotICAgIGJvb2wgYWxsQVNDSUkgPSBjaGFyYWN0ZXJzQXJlQWxsQVNDSUkocmVsLmNoYXJhY3Rl
cnMoKSwgcmVsLmxlbmd0aCgpKTsKKyAgICBib29sIGFsbEFTQ0lJID0gcmVsLmNvbnRhaW5zT25s
eUFTQ0lJKCk7CiAgICAgQ2hhckJ1ZmZlciBzdHJCdWZmZXI7CiAgICAgY2hhciogc3RyOwogICAg
IHNpemVfdCBsZW47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jZi9CaW5h
cnlQcm9wZXJ0eUxpc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2YvQmluYXJ5UHJv
cGVydHlMaXN0LmNwcAppbmRleCA2NWJlNzBhMWFlMWYyZTA4YWEwYTRjZTJhODZmMDg5OTJiOThm
NjRiLi40YjgyM2IxMmI3OGI2NWRjYzc1YmMxMTE3NjI2ODE0MDY2ZjI4NWY5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jZi9CaW5hcnlQcm9wZXJ0eUxpc3QuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NmL0JpbmFyeVByb3BlcnR5TGlzdC5jcHAKQEAgLTI4
NSwxMCArMjg1LDkgQEAgc3RhdGljIHNpemVfdCBtYXJrZXJQbHVzTGVuZ3RoQnl0ZUNvdW50KHNp
emVfdCBsZW5ndGgpCiAKIHZvaWQgQmluYXJ5UHJvcGVydHlMaXN0UGxhbjo6d3JpdGVTdHJpbmdP
YmplY3QoY29uc3QgU3RyaW5nJiBzdHJpbmcpCiB7Ci0gICAgY29uc3QgVUNoYXIqIGNoYXJhY3Rl
cnMgPSBzdHJpbmcuY2hhcmFjdGVycygpOwogICAgIHVuc2lnbmVkIGxlbmd0aCA9IHN0cmluZy5s
ZW5ndGgoKTsKICAgICBtX2J5dGVDb3VudCArPSBtYXJrZXJQbHVzTGVuZ3RoQnl0ZUNvdW50KGxl
bmd0aCkgKyBsZW5ndGg7Ci0gICAgaWYgKCFjaGFyYWN0ZXJzQXJlQWxsQVNDSUkoY2hhcmFjdGVy
cywgbGVuZ3RoKSkKKyAgICBpZiAoIXN0cmluZy5jb250YWluc09ubHlBU0NJSSgpKQogICAgICAg
ICBtX2J5dGVDb3VudCArPSBsZW5ndGg7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRDYWNoZUNocm9taXVtV2luLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRDYWNoZUNocm9taXVt
V2luLmNwcAppbmRleCA1MmQxMDY0YzBiMjc2NWIyN2VjOTc1NDNiNzllMzEzZDA3YzM2MWQyLi45
ZjViZDQ5MTlmZGE5MDMyYzAwOTJlMmNjMTA0NWQ5ZTIwNGI5ZmNhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Gb250Q2FjaGVDaHJvbWl1bVdp
bi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9u
dENhY2hlQ2hyb21pdW1XaW4uY3BwCkBAIC01MCwxMiArNTAsNiBAQCB1c2luZyBzdGQ6Om1pbjsK
IG5hbWVzcGFjZSBXZWJDb3JlCiB7CiAKLS8vIEZJWE1FOiBjb25zaWRlciBhZGRpbmcgdG8gV2Vi
S2l0IFN0cmluZyBjbGFzcwotc3RhdGljIGJvb2wgY2hhcmFjdGVyc0FyZUFsbEFTQ0lJKGNvbnN0
IFN0cmluZyYgcykKLXsKLSAgICByZXR1cm4gV1RGOjpjaGFyYWN0ZXJzQXJlQWxsQVNDSUkocy5j
aGFyYWN0ZXJzKCksIHMubGVuZ3RoKCkpOwotfQotCiAvLyBXaGVuIGFza2VkIGZvciBhIENKSyBm
b250IHdpdGggYSBuYXRpdmUgbmFtZSB1bmRlciBhIG5vbi1DSksgbG9jYWxlIG9yCiAvLyBhc2tl
ZCBmb3IgYSBDSksgZm9udCB3aXRoIGEgUm9tYW5pemVkIG5hbWUgdW5kZXIgYSBDSksgbG9jYWxl
LAogLy8gfEdldFRleHRGYWNlfCAoYWZ0ZXIgfENyZWF0ZUZvbnQqfCkgcmV0dXJucyBhICdib2d1
cycgdmFsdWUgKGUuZy4gQXJpYWwpLgpAQCAtMjE2LDcgKzIxMCw3IEBAIHN0YXRpYyBib29sIExv
b2t1cEFsdE5hbWUoY29uc3QgU3RyaW5nJiBuYW1lLCBTdHJpbmcmIGFsdE5hbWUpCiAgICAgLy8g
dXNlIHxsb3dlcnwgb25seSBmb3IgQVNDSUkgbmFtZXMgCiAgICAgLy8gRm9yIG5vbi1BU0NJSSBu
YW1lcywgd2UgZG9uJ3Qgd2FudCB0byBpbnZva2UgYW4gZXhwZW5zaXZlIAogICAgIC8vIGFuZCB1
bm5lY2Vzc2FyeSB8bG93ZXJ8LiAKLSAgICBpZiAoY2hhcmFjdGVyc0FyZUFsbEFTQ0lJKG5hbWUp
KSB7CisgICAgaWYgKG5hbWUuY29udGFpbnNPbmx5QVNDSUkoKSkgewogICAgICAgICBpc0FzY2lp
ID0gdHJ1ZTsKICAgICAgICAgbiA9IG5hbWUubG93ZXIoKTsKICAgICB9IGVsc2UK
</data>
<flag name="review"
          id="117560"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>