<?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>158636</bug_id>
          
          <creation_ts>2016-06-10 15:07:11 -0700</creation_ts>
          <short_desc>handleDataURL is only used by curl</short_desc>
          <delta_ts>2017-03-02 11:06:11 -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>New Bugs</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>basuke</cc>
    
    <cc>commit-queue</cc>
    
    <cc>fujii</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1201398</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-06-10 15:07:11 -0700</bug_when>
    <thetext>handleDataURL is only used by curl</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1201399</commentid>
    <comment_count>1</comment_count>
      <attachid>281051</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-06-10 15:07:29 -0700</bug_when>
    <thetext>Created attachment 281051
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1201400</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-10 15:09:45 -0700</bug_when>
    <thetext>Attachment 281051 did not pass style-queue:


ERROR: Source/WebCore/ChangeLog:8:  You should remove the &apos;No new tests&apos; and either add and list tests, or explain why no new tests were possible.  [changelog/nonewtests] [5]
Total errors found: 1 in 2 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1201411</commentid>
    <comment_count>3</comment_count>
      <attachid>281051</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-06-10 15:38:09 -0700</bug_when>
    <thetext>Comment on attachment 281051
Patch

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

&gt; Source/WebCore/platform/network/curl/ResourceHandleManager.cpp:916
&gt; +static void handleDataURL(ResourceHandle* handle)

This should take a reference, not a pointer.

&gt; Source/WebCore/platform/network/curl/ResourceHandleManager.cpp:921
&gt; +    ASSERT(handle);

Not all that valuable to assert this after first using it in a second assertion above.

&gt; Source/WebCore/platform/network/curl/ResourceHandleManager.cpp:924
&gt; +    int index = url.find(&apos;,&apos;);

Type here needs to be auto, not int.

&gt; Source/WebCore/platform/network/curl/ResourceHandleManager.cpp:925
&gt; +    if (index == -1) {

Needs to be &quot;notFound&quot;, not -1.

&gt; Source/WebCore/platform/network/curl/ResourceHandleManager.cpp:930
&gt; +    String mediaType = url.substring(5, index - 5);

Function should use a lot more StringView and a lot less String to be more efficient.

&gt; Source/WebCore/platform/network/curl/ResourceHandleManager.cpp:933
&gt; +    bool base64 = mediaType.endsWith(&quot;;base64&quot;, false);

Would be nice for this to use endsWithIgnoringASCIICase instead of passing &quot;false&quot; here, although it looks like that one is not overloaded for string literals so it would allocate a temporary string unless we add that overload.

&gt; Source/WebCore/platform/network/curl/ResourceHandleManager.cpp:938
&gt; +        mediaType = &quot;text/plain&quot;;

Should use ASCIILiteral here.

&gt; Source/WebCore/platform/network/curl/ResourceHandleManager.cpp:944
&gt; +        charset = &quot;US-ASCII&quot;;

Should use ASCIILiteral here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280524</commentid>
    <comment_count>4</comment_count>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2017-02-23 15:14:26 -0800</bug_when>
    <thetext>This bug seems to be resolved.
https://trac.webkit.org/changeset/201946</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1282799</commentid>
    <comment_count>5</comment_count>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2017-03-02 11:06:11 -0800</bug_when>
    <thetext>This bug seems to be resolved.
https://trac.webkit.org/changeset/201946</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>281051</attachid>
            <date>2016-06-10 15:07:29 -0700</date>
            <delta_ts>2016-06-10 15:24:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-158636-20160610150859.patch</filename>
            <type>text/plain</type>
            <size>10983</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwMTk0MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDE2LTA2LTEwICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgaGFuZGxlRGF0
YVVSTCBpcyBvbmx5IHVzZWQgYnkgY3VybAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTU4NjM2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChPT1BTISkuCisKKyAgICAgICAgKiBDTWFr
ZUxpc3RzLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0RhdGFVUkwuY3BwOiBSZW1v
dmVkLgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvRGF0YVVSTC5oOiBSZW1vdmVkLgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhhbmRsZU1hbmFnZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGVNYW5hZ2VyOjpzdGFydFNjaGVkdWxlZEpv
YnMpOgorICAgICAgICAoV2ViQ29yZTo6aGFuZGxlRGF0YVVSTCk6CisgICAgICAgIChXZWJDb3Jl
OjpSZXNvdXJjZUhhbmRsZU1hbmFnZXI6OmRpc3BhdGNoU3luY2hyb25vdXNKb2IpOgorCiAyMDE2
LTA2LTEwICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgUmVkdWNlIFJlc291cmNlUmVzcG9uc2UgY29weWluZwpJbmRleDogU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQJKHJldmlzaW9uIDIwMTk0MykKKysrIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0yMzMxLDcgKzIzMzEsNiBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VT
CiAgICAgcGxhdGZvcm0vbmV0d29yay9DcmVkZW50aWFsQmFzZS5jcHAKICAgICBwbGF0Zm9ybS9u
ZXR3b3JrL0NyZWRlbnRpYWxTdG9yYWdlLmNwcAogICAgIHBsYXRmb3JtL25ldHdvcmsvRE5TUmVz
b2x2ZVF1ZXVlLmNwcAotICAgIHBsYXRmb3JtL25ldHdvcmsvRGF0YVVSTC5jcHAKICAgICBwbGF0
Zm9ybS9uZXR3b3JrL0RhdGFVUkxEZWNvZGVyLmNwcAogICAgIHBsYXRmb3JtL25ldHdvcmsvRm9y
bURhdGEuY3BwCiAgICAgcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YUJ1aWxkZXIuY3BwCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0RhdGFVUkwuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRGF0YVVSTC5jcHAJKHJldmlzaW9u
IDIwMTk0MykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRGF0YVVSTC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMTA0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MDcgQWxwIFRva2VyIDxhbHBAYXRva2VyLmNvbT4KLSAqIENvcHlyaWdodCAoQykgMjAxMCBQYXRy
aWNrIEdhbnN0ZXJlciA8cGFyb2dhQHBhcm9nYS5jb20+Ci0gKgotICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
LSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgot
I2luY2x1ZGUgIkRhdGFVUkwuaCIKLQotI2luY2x1ZGUgIkhUVFBQYXJzZXJzLmgiCi0jaW5jbHVk
ZSAiUmVzb3VyY2VIYW5kbGUuaCIKLSNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUNsaWVudC5oIgot
I2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgotI2luY2x1ZGUgIlJlc291cmNlUmVzcG9uc2Uu
aCIKLSNpbmNsdWRlICJUZXh0RW5jb2RpbmcuaCIKLSNpbmNsdWRlIDx3dGYvdGV4dC9CYXNlNjQu
aD4KLSNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQvU3Ry
aW5nVmlldy5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXZvaWQgaGFuZGxlRGF0YVVSTChS
ZXNvdXJjZUhhbmRsZSogaGFuZGxlKQotewotICAgIEFTU0VSVChoYW5kbGUtPmZpcnN0UmVxdWVz
dCgpLnVybCgpLnByb3RvY29sSXNEYXRhKCkpOwotICAgIFN0cmluZyB1cmwgPSBoYW5kbGUtPmZp
cnN0UmVxdWVzdCgpLnVybCgpLnN0cmluZygpOwotCi0gICAgQVNTRVJUKGhhbmRsZSk7Ci0gICAg
QVNTRVJUKGhhbmRsZS0+Y2xpZW50KCkpOwotCi0gICAgaW50IGluZGV4ID0gdXJsLmZpbmQoJywn
KTsKLSAgICBpZiAoaW5kZXggPT0gLTEpIHsKLSAgICAgICAgaGFuZGxlLT5jbGllbnQoKS0+Y2Fu
bm90U2hvd1VSTChoYW5kbGUpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgU3RyaW5n
IG1lZGlhVHlwZSA9IHVybC5zdWJzdHJpbmcoNSwgaW5kZXggLSA1KTsKLSAgICBTdHJpbmcgZGF0
YSA9IHVybC5zdWJzdHJpbmcoaW5kZXggKyAxKTsKLQotICAgIGJvb2wgYmFzZTY0ID0gbWVkaWFU
eXBlLmVuZHNXaXRoKCI7YmFzZTY0IiwgZmFsc2UpOwotICAgIGlmIChiYXNlNjQpCi0gICAgICAg
IG1lZGlhVHlwZSA9IG1lZGlhVHlwZS5sZWZ0KG1lZGlhVHlwZS5sZW5ndGgoKSAtIDcpOwotCi0g
ICAgaWYgKG1lZGlhVHlwZS5pc0VtcHR5KCkpCi0gICAgICAgIG1lZGlhVHlwZSA9ICJ0ZXh0L3Bs
YWluIjsKLQotICAgIFN0cmluZyBtaW1lVHlwZSA9IGV4dHJhY3RNSU1FVHlwZUZyb21NZWRpYVR5
cGUobWVkaWFUeXBlKTsKLSAgICBTdHJpbmcgY2hhcnNldCA9IGV4dHJhY3RDaGFyc2V0RnJvbU1l
ZGlhVHlwZShtZWRpYVR5cGUpOwotCi0gICAgaWYgKGNoYXJzZXQuaXNFbXB0eSgpKQotICAgICAg
ICBjaGFyc2V0ID0gIlVTLUFTQ0lJIjsKLQotICAgIFJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2U7
Ci0gICAgcmVzcG9uc2Uuc2V0TWltZVR5cGUobWltZVR5cGUpOwotICAgIHJlc3BvbnNlLnNldFRl
eHRFbmNvZGluZ05hbWUoY2hhcnNldCk7Ci0gICAgcmVzcG9uc2Uuc2V0VVJMKGhhbmRsZS0+Zmly
c3RSZXF1ZXN0KCkudXJsKCkpOwotCi0gICAgaWYgKGJhc2U2NCkgewotICAgICAgICBkYXRhID0g
ZGVjb2RlVVJMRXNjYXBlU2VxdWVuY2VzKGRhdGEpOwotICAgICAgICBoYW5kbGUtPmNsaWVudCgp
LT5kaWRSZWNlaXZlUmVzcG9uc2UoaGFuZGxlLCBXVEZNb3ZlKHJlc3BvbnNlKSk7Ci0KLSAgICAg
ICAgLy8gZGlkUmVjZWl2ZVJlc3BvbnNlIG1pZ2h0IGNhdXNlIHRoZSBjbGllbnQgdG8gYmUgZGVs
ZXRlZC4KLSAgICAgICAgaWYgKGhhbmRsZS0+Y2xpZW50KCkpIHsKLSAgICAgICAgICAgIFZlY3Rv
cjxjaGFyPiBvdXQ7Ci0gICAgICAgICAgICBpZiAoYmFzZTY0RGVjb2RlKGRhdGEsIG91dCwgQmFz
ZTY0SWdub3JlU3BhY2VzQW5kTmV3TGluZXMpICYmIG91dC5zaXplKCkgPiAwKQotICAgICAgICAg
ICAgICAgIGhhbmRsZS0+Y2xpZW50KCktPmRpZFJlY2VpdmVEYXRhKGhhbmRsZSwgb3V0LmRhdGEo
KSwgb3V0LnNpemUoKSwgMCk7Ci0gICAgICAgIH0KLSAgICB9IGVsc2UgewotICAgICAgICBUZXh0
RW5jb2RpbmcgZW5jb2RpbmcoY2hhcnNldCk7Ci0gICAgICAgIGRhdGEgPSBkZWNvZGVVUkxFc2Nh
cGVTZXF1ZW5jZXMoZGF0YSwgZW5jb2RpbmcpOwotICAgICAgICBoYW5kbGUtPmNsaWVudCgpLT5k
aWRSZWNlaXZlUmVzcG9uc2UoaGFuZGxlLCBXVEZNb3ZlKHJlc3BvbnNlKSk7Ci0KLSAgICAgICAg
Ly8gZGlkUmVjZWl2ZVJlc3BvbnNlIG1pZ2h0IGNhdXNlIHRoZSBjbGllbnQgdG8gYmUgZGVsZXRl
ZC4KLSAgICAgICAgaWYgKGhhbmRsZS0+Y2xpZW50KCkpIHsKLSAgICAgICAgICAgIENTdHJpbmcg
ZW5jb2RlZERhdGEgPSBlbmNvZGluZy5lbmNvZGUoZGF0YSwgVVJMRW5jb2RlZEVudGl0aWVzRm9y
VW5lbmNvZGFibGVzKTsKLSAgICAgICAgICAgIGlmIChlbmNvZGVkRGF0YS5sZW5ndGgoKSkKLSAg
ICAgICAgICAgICAgICBoYW5kbGUtPmNsaWVudCgpLT5kaWRSZWNlaXZlRGF0YShoYW5kbGUsIGVu
Y29kZWREYXRhLmRhdGEoKSwgZW5jb2RlZERhdGEubGVuZ3RoKCksIDApOwotICAgICAgICB9Ci0g
ICAgfQotCi0gICAgaWYgKGhhbmRsZS0+Y2xpZW50KCkpCi0gICAgICAgIGhhbmRsZS0+Y2xpZW50
KCktPmRpZEZpbmlzaExvYWRpbmcoaGFuZGxlLCAwKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9EYXRhVVJMLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9EYXRhVVJMLmgJKHJl
dmlzaW9uIDIwMTk0MykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRGF0YVVS
TC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM3ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMTAgUGF0cmljayBHYW5zdGVyZXIgPHBhcm9nYUBwYXJvZ2EuY29tPgotICoKLSAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
LSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoK
LSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgRGF0
YVVSTF9oCi0jZGVmaW5lIERhdGFVUkxfaAotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNz
IFJlc291cmNlSGFuZGxlOwotCi12b2lkIGhhbmRsZURhdGFVUkwoUmVzb3VyY2VIYW5kbGUqKTsK
LQotfQotCi0jZW5kaWYgLy8gRGF0YVVSTF9oCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVNYW5hZ2VyLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVNYW5hZ2Vy
LmNwcAkocmV2aXNpb24gMjAxOTQzKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9jdXJsL1Jlc291cmNlSGFuZGxlTWFuYWdlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcsNiAr
Nyw3IEBACiAgKiBDb3B5cmlnaHQgKEMpIDIwMDggTnVhbnRpIEx0ZC4KICAqIENvcHlyaWdodCAo
QykgMjAwOSBBcHBjZWxlcmF0b3IgSW5jLgogICogQ29weXJpZ2h0IChDKSAyMDA5IEJyZW50IEZ1
bGdoYW0gPGJmdWxnaGFtQHdlYmtpdC5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgUGF0cmlj
ayBHYW5zdGVyZXIgPHBhcm9nYUBwYXJvZ2EuY29tPgogICogQ29weXJpZ2h0IChDKSAyMDEzIFBl
dGVyIEdhbCA8Z2FscGV0ZXJAaW5mLnUtc3plZ2VkLmh1PiwgVW5pdmVyc2l0eSBvZiBTemVnZWQK
ICAqIENvcHlyaWdodCAoQykgMjAxMyBBbGV4IENocmlzdGVuc2VuIDxhY2hyaXN0ZW5zZW5Ad2Vi
a2l0Lm9yZz4KICAqIENvcHlyaWdodCAoQykgMjAxMyBVbml2ZXJzaXR5IG9mIFN6ZWdlZApAQCAt
NDgsOCArNDksMTUgQEAKICNpbmNsdWRlICJNdWx0aXBhcnRIYW5kbGUuaCIKICNpbmNsdWRlICJS
ZXNvdXJjZUVycm9yLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGUuaCIKKyNpbmNsdWRlICJS
ZXNvdXJjZUhhbmRsZUNsaWVudC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlSW50ZXJuYWwu
aCIKKyNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKKyNpbmNsdWRlICJSZXNvdXJjZVJlc3Bv
bnNlLmgiCiAjaW5jbHVkZSAiU1NMSGFuZGxlLmgiCisjaW5jbHVkZSAiVGV4dEVuY29kaW5nLmgi
CisjaW5jbHVkZSA8d3RmL3RleHQvQmFzZTY0Lmg+CisjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmlu
Zy5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ1ZpZXcuaD4KIAogI2lmIE9TKFdJTkRPV1Mp
CiAjaW5jbHVkZSAiV2ViQ29yZUJ1bmRsZVdpbi5oIgpAQCAtNzMsNyArODEsNiBAQAogI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKLQogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjb25zdCBpbnQgc2VsZWN0VGltZW91dE1TID0gNTsKQEAgLTkw
Niw2ICs5MTMsNjggQEAgYm9vbCBSZXNvdXJjZUhhbmRsZU1hbmFnZXI6OnN0YXJ0U2NoZWR1bAog
ICAgIHJldHVybiBzdGFydGVkOwogfQogCitzdGF0aWMgdm9pZCBoYW5kbGVEYXRhVVJMKFJlc291
cmNlSGFuZGxlKiBoYW5kbGUpCit7CisgICAgQVNTRVJUKGhhbmRsZS0+Zmlyc3RSZXF1ZXN0KCku
dXJsKCkucHJvdG9jb2xJc0RhdGEoKSk7CisgICAgU3RyaW5nIHVybCA9IGhhbmRsZS0+Zmlyc3RS
ZXF1ZXN0KCkudXJsKCkuc3RyaW5nKCk7CisKKyAgICBBU1NFUlQoaGFuZGxlKTsKKyAgICBBU1NF
UlQoaGFuZGxlLT5jbGllbnQoKSk7CisKKyAgICBpbnQgaW5kZXggPSB1cmwuZmluZCgnLCcpOwor
ICAgIGlmIChpbmRleCA9PSAtMSkgeworICAgICAgICBoYW5kbGUtPmNsaWVudCgpLT5jYW5ub3RT
aG93VVJMKGhhbmRsZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBTdHJpbmcgbWVk
aWFUeXBlID0gdXJsLnN1YnN0cmluZyg1LCBpbmRleCAtIDUpOworICAgIFN0cmluZyBkYXRhID0g
dXJsLnN1YnN0cmluZyhpbmRleCArIDEpOworCisgICAgYm9vbCBiYXNlNjQgPSBtZWRpYVR5cGUu
ZW5kc1dpdGgoIjtiYXNlNjQiLCBmYWxzZSk7CisgICAgaWYgKGJhc2U2NCkKKyAgICAgICAgbWVk
aWFUeXBlID0gbWVkaWFUeXBlLmxlZnQobWVkaWFUeXBlLmxlbmd0aCgpIC0gNyk7CisKKyAgICBp
ZiAobWVkaWFUeXBlLmlzRW1wdHkoKSkKKyAgICAgICAgbWVkaWFUeXBlID0gInRleHQvcGxhaW4i
OworCisgICAgU3RyaW5nIG1pbWVUeXBlID0gZXh0cmFjdE1JTUVUeXBlRnJvbU1lZGlhVHlwZSht
ZWRpYVR5cGUpOworICAgIFN0cmluZyBjaGFyc2V0ID0gZXh0cmFjdENoYXJzZXRGcm9tTWVkaWFU
eXBlKG1lZGlhVHlwZSk7CisKKyAgICBpZiAoY2hhcnNldC5pc0VtcHR5KCkpCisgICAgICAgIGNo
YXJzZXQgPSAiVVMtQVNDSUkiOworCisgICAgUmVzb3VyY2VSZXNwb25zZSByZXNwb25zZTsKKyAg
ICByZXNwb25zZS5zZXRNaW1lVHlwZShtaW1lVHlwZSk7CisgICAgcmVzcG9uc2Uuc2V0VGV4dEVu
Y29kaW5nTmFtZShjaGFyc2V0KTsKKyAgICByZXNwb25zZS5zZXRVUkwoaGFuZGxlLT5maXJzdFJl
cXVlc3QoKS51cmwoKSk7CisKKyAgICBpZiAoYmFzZTY0KSB7CisgICAgICAgIGRhdGEgPSBkZWNv
ZGVVUkxFc2NhcGVTZXF1ZW5jZXMoZGF0YSk7CisgICAgICAgIGhhbmRsZS0+Y2xpZW50KCktPmRp
ZFJlY2VpdmVSZXNwb25zZShoYW5kbGUsIFdURk1vdmUocmVzcG9uc2UpKTsKKworICAgICAgICAv
LyBkaWRSZWNlaXZlUmVzcG9uc2UgbWlnaHQgY2F1c2UgdGhlIGNsaWVudCB0byBiZSBkZWxldGVk
LgorICAgICAgICBpZiAoaGFuZGxlLT5jbGllbnQoKSkgeworICAgICAgICAgICAgVmVjdG9yPGNo
YXI+IG91dDsKKyAgICAgICAgICAgIGlmIChiYXNlNjREZWNvZGUoZGF0YSwgb3V0LCBCYXNlNjRJ
Z25vcmVTcGFjZXNBbmROZXdMaW5lcykgJiYgb3V0LnNpemUoKSA+IDApCisgICAgICAgICAgICAg
ICAgaGFuZGxlLT5jbGllbnQoKS0+ZGlkUmVjZWl2ZURhdGEoaGFuZGxlLCBvdXQuZGF0YSgpLCBv
dXQuc2l6ZSgpLCAwKTsKKyAgICAgICAgfQorICAgIH0gZWxzZSB7CisgICAgICAgIFRleHRFbmNv
ZGluZyBlbmNvZGluZyhjaGFyc2V0KTsKKyAgICAgICAgZGF0YSA9IGRlY29kZVVSTEVzY2FwZVNl
cXVlbmNlcyhkYXRhLCBlbmNvZGluZyk7CisgICAgICAgIGhhbmRsZS0+Y2xpZW50KCktPmRpZFJl
Y2VpdmVSZXNwb25zZShoYW5kbGUsIFdURk1vdmUocmVzcG9uc2UpKTsKKworICAgICAgICAvLyBk
aWRSZWNlaXZlUmVzcG9uc2UgbWlnaHQgY2F1c2UgdGhlIGNsaWVudCB0byBiZSBkZWxldGVkLgor
ICAgICAgICBpZiAoaGFuZGxlLT5jbGllbnQoKSkgeworICAgICAgICAgICAgQ1N0cmluZyBlbmNv
ZGVkRGF0YSA9IGVuY29kaW5nLmVuY29kZShkYXRhLCBVUkxFbmNvZGVkRW50aXRpZXNGb3JVbmVu
Y29kYWJsZXMpOworICAgICAgICAgICAgaWYgKGVuY29kZWREYXRhLmxlbmd0aCgpKQorICAgICAg
ICAgICAgICAgIGhhbmRsZS0+Y2xpZW50KCktPmRpZFJlY2VpdmVEYXRhKGhhbmRsZSwgZW5jb2Rl
ZERhdGEuZGF0YSgpLCBlbmNvZGVkRGF0YS5sZW5ndGgoKSwgMCk7CisgICAgICAgIH0KKyAgICB9
CisKKyAgICBpZiAoaGFuZGxlLT5jbGllbnQoKSkKKyAgICAgICAgaGFuZGxlLT5jbGllbnQoKS0+
ZGlkRmluaXNoTG9hZGluZyhoYW5kbGUsIDApOworfQorCiB2b2lkIFJlc291cmNlSGFuZGxlTWFu
YWdlcjo6ZGlzcGF0Y2hTeW5jaHJvbm91c0pvYihSZXNvdXJjZUhhbmRsZSogam9iKQogewogICAg
IFVSTCBrdXJsID0gam9iLT5maXJzdFJlcXVlc3QoKS51cmwoKTsK
</data>
<flag name="review"
          id="304920"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>