<?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>104721</bug_id>
          
          <creation_ts>2012-12-11 14:46:13 -0800</creation_ts>
          <short_desc>CachedResources should hang on to stripped fragment identifiers</short_desc>
          <delta_ts>2012-12-13 09:38:39 -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>WebCore Misc.</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="Nate Chapin">japhet</reporter>
          <assigned_to name="Nate Chapin">japhet</assigned_to>
          <cc>ap</cc>
    
    <cc>beidson</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>koivisto</cc>
    
    <cc>mjs</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>788821</commentid>
    <comment_count>0</comment_count>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2012-12-11 14:46:13 -0800</bug_when>
    <thetext>ResourceRequests for main resource loads typically exit WebCore with the fragment identifier on the request url. Some platforms (at least chromium, probably others) depends on this. With main resources going through the cache (and therefore having fragment identifiers removed), we should figure out a way to plumb the fragment identifier through to the network layer without needing to reach into the DocumentLoader from ResourceLoader.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789703</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-12-12 10:57:39 -0800</bug_when>
    <thetext>Is this what blocks re-landing of the fix for bug 49246?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789723</commentid>
    <comment_count>2</comment_count>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2012-12-12 11:12:42 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; Is this what blocks re-landing of the fix for bug 49246?

It&apos;s part of it. I also am trying to work through a report of an assertion being hit in MainResourceLoader::load().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789804</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-12-12 12:36:27 -0800</bug_when>
    <thetext>Is there a bug tracking that assertion?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789805</commentid>
    <comment_count>4</comment_count>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2012-12-12 12:40:55 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Is there a bug tracking that assertion?

The assertion was added as part of bug 49246 and was removed with the rollout, so I was assuming a bug wasn&apos;t necessary. Is that incorrect?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789812</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-12-12 12:44:30 -0800</bug_when>
    <thetext>https://codereview.chromium.org/11548010/ mentions an assertion failure in MainResourceLoader::load(), but that sounds like the same issue with fragments:

ASSERTION FAILED: equalIgnoringFragmentIdentifier(initialRequest.url(), request.url())</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789831</commentid>
    <comment_count>6</comment_count>
      <attachid>179111</attachid>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2012-12-12 13:02:07 -0800</bug_when>
    <thetext>Created attachment 179111
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789837</commentid>
    <comment_count>7</comment_count>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2012-12-12 13:05:03 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; https://codereview.chromium.org/11548010/ mentions an assertion failure in MainResourceLoader::load(), but that sounds like the same issue with fragments:
&gt; 
&gt; ASSERTION FAILED: equalIgnoringFragmentIdentifier(initialRequest.url(), request.url())

The more I think about it, the more I realize that assertion was wrong on multiple levels.

1. it&apos;s asserting that FrameLoaderClient::willSendRequest() won&apos;t change the url unless it blanks it.  I don&apos;t think this is a hard guarantee.

2. It&apos;s allowing for the possibility of sending the main resource request without the fragment identifier, which is a change in behavior that ports may depend on.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789838</commentid>
    <comment_count>8</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2012-12-12 13:07:24 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #5)
&gt; &gt; https://codereview.chromium.org/11548010/ mentions an assertion failure in MainResourceLoader::load(), but that sounds like the same issue with fragments:
&gt; &gt; 
&gt; &gt; ASSERTION FAILED: equalIgnoringFragmentIdentifier(initialRequest.url(), request.url())
&gt; 
&gt; The more I think about it, the more I realize that assertion was wrong on multiple levels.
&gt; 
&gt; 1. it&apos;s asserting that FrameLoaderClient::willSendRequest() won&apos;t change the url unless it blanks it.  I don&apos;t think this is a hard guarantee.
&gt; 
&gt; 2. It&apos;s allowing for the possibility of sending the main resource request without the fragment identifier, which is a change in behavior that ports may depend on.

Now that you describe it, that does seem like a bad assert. willSendRequest callbacks are allowed to replace the request with anything at all.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789843</commentid>
    <comment_count>9</comment_count>
      <attachid>179111</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2012-12-12 13:21:17 -0800</bug_when>
    <thetext>Comment on attachment 179111
patch

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

&gt; Source/WebCore/loader/cache/CachedResource.cpp:307
&gt; +        request.setURL(url);

I suggest clearing m_fragmentIdentifierForRequest here instead of in CachedResource::stop(), to make clear that it&apos;s only meant to be used once per given CachedResource (and thus won&apos;t be accidentally picked up by future or simultaneous loads of the same resource); and also because it is not actually used between here and the time stop() is called.

&gt; Source/WebCore/loader/cache/CachedResource.cpp:448
&gt; +    m_fragmentIdentifierForRequest = String();

See note above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789846</commentid>
    <comment_count>10</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2012-12-12 13:23:48 -0800</bug_when>
    <thetext>I suggest also adding a FIXME, if it is plausible to someday wean the network layer off of knowing about fragment IDs. That seems like poor design, because the fragment ID is in theory something that should be processed purely by the layer interpreting the resource (WebCore), not the layer loading it (the network layer) as it should not affect the actual response.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789850</commentid>
    <comment_count>11</comment_count>
      <attachid>179116</attachid>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2012-12-12 13:30:29 -0800</bug_when>
    <thetext>Created attachment 179116
clear fragment after use, add FIXME</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789862</commentid>
    <comment_count>12</comment_count>
      <attachid>179116</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2012-12-12 13:35:25 -0800</bug_when>
    <thetext>Comment on attachment 179116
clear fragment after use, add FIXME

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

r=me with one optional suggested improvement for the ChangeLog.

&gt; Source/WebCore/loader/cache/CachedResourceLoader.cpp:-445
&gt; -    if (request.resourceRequest().url() != url)
&gt; -        request.mutableResourceRequest().setURL(url);

It might be worthwhile to add a note to ChangeLog to explain the deletion of these two lines. With explanation, I can see that what they accomplish is done elsewhere in the patch but it&apos;s hard to tell otherwise.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790647</commentid>
    <comment_count>13</comment_count>
      <attachid>179280</attachid>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2012-12-13 08:56:47 -0800</bug_when>
    <thetext>Created attachment 179280
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790689</commentid>
    <comment_count>14</comment_count>
      <attachid>179280</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-13 09:38:35 -0800</bug_when>
    <thetext>Comment on attachment 179280
Patch for landing

Clearing flags on attachment: 179280

Committed r137604: &lt;http://trac.webkit.org/changeset/137604&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790690</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-13 09:38:39 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>179111</attachid>
            <date>2012-12-12 13:02:07 -0800</date>
            <delta_ts>2012-12-12 13:30:29 -0800</delta_ts>
            <desc>patch</desc>
            <filename>frag.txt</filename>
            <type>text/plain</type>
            <size>4428</size>
            <attacher name="Nate Chapin">japhet</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzNzUwMikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBACisyMDEyLTEyLTEyICBOYXRlIENo
YXBpbiAgPGphcGhldEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ2FjaGVkUmVzb3VyY2VzIHNo
b3VsZCBoYW5nIG9uIHRvIHN0cmlwcGVkIGZyYWdtZW50IGlkZW50aWZpZXJzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ3MjEKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIHRoaXMg
d2lsbCBiZSB1bnVzZWQgdW50aWwgYnVnCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD00OTI0NiByZS1sYW5kcy4gVGhlbiwgaXQgd2lsbAorICAgICAgICBh
bGxvdyBodHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS1wYXJhbWV0ZXJzLmh0bWwgdG8gY29u
dGludWUgcGFzc2luZy4KKworICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6Q2FjaGVkUmVzb3VyY2UpOgor
ICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OmxvYWQpOgorICAgICAgICAoV2ViQ29y
ZTo6Q2FjaGVkUmVzb3VyY2U6OnN0b3BMb2FkaW5nKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUv
Q2FjaGVkUmVzb3VyY2UuaDoKKyAgICAgICAgKENhY2hlZFJlc291cmNlKToKKyAgICAgICAgKiBs
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RSZXNvdXJjZSk6CisKIDIwMTItMTItMTIgIE5v
J2FtIFJvc2VudGhhbCAgPG5vYW0ucm9zZW50aGFsQG5va2lhLmNvbT4KIAogICAgICAgICBSRUdS
RVNTSU9OOiByMTM3NDgxIGNhdXNlZCBhIGJ1aWxkIGZhaWx1cmUgd2l0aCBHVEsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVy
LmNwcAkocmV2aXNpb24gMTM3NDg2KQorKysgU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0Nh
Y2hlZFJlc291cmNlTG9hZGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDQxLDkgKzQ0MSw2IEBA
CiAgICAgLy8gU2VlIGlmIHdlIGNhbiB1c2UgYW4gZXhpc3RpbmcgcmVzb3VyY2UgZnJvbSB0aGUg
Y2FjaGUuCiAgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+IHJlc291cmNl
ID0gbWVtb3J5Q2FjaGUoKS0+cmVzb3VyY2VGb3JVUkwodXJsKTsKIAotICAgIGlmIChyZXF1ZXN0
LnJlc291cmNlUmVxdWVzdCgpLnVybCgpICE9IHVybCkKLSAgICAgICAgcmVxdWVzdC5tdXRhYmxl
UmVzb3VyY2VSZXF1ZXN0KCkuc2V0VVJMKHVybCk7Ci0KICAgICBjb25zdCBSZXZhbGlkYXRpb25Q
b2xpY3kgcG9saWN5ID0gZGV0ZXJtaW5lUmV2YWxpZGF0aW9uUG9saWN5KHR5cGUsIHJlcXVlc3Qu
bXV0YWJsZVJlc291cmNlUmVxdWVzdCgpLCByZXF1ZXN0LmZvclByZWxvYWQoKSwgcmVzb3VyY2Uu
Z2V0KCksIHJlcXVlc3QuZGVmZXIoKSk7CiAgICAgc3dpdGNoIChwb2xpY3kpIHsKICAgICBjYXNl
IFJlbG9hZDoKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNv
dXJjZS5oCShyZXZpc2lvbiAxMzc0ODYpCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkUmVzb3VyY2UuaAkod29ya2luZyBjb3B5KQpAQCAtMzA4LDYgKzMwOCw4IEBACiAgICAg
dm9pZCBhZGRBZGRpdGlvbmFsUmVxdWVzdEhlYWRlcnMoQ2FjaGVkUmVzb3VyY2VMb2FkZXIqKTsK
ICAgICB2b2lkIGZhaWxCZWZvcmVTdGFydGluZygpOwogCisgICAgU3RyaW5nIG1fZnJhZ21lbnRJ
ZGVudGlmaWVyRm9yUmVxdWVzdDsKKwogICAgIFJlZlB0cjxDYWNoZWRNZXRhZGF0YT4gbV9jYWNo
ZWRNZXRhZGF0YTsKIAogICAgIFJlc291cmNlRXJyb3IgbV9lcnJvcjsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcAkocmV2aXNpb24gMTM3
NDg2KQorKysgU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTg4LDYgKzE4OCwxMyBAQAogI2lmbmRlZiBOREVCVUcKICAgICBj
YWNoZWRSZXNvdXJjZUxlYWtDb3VudGVyLmluY3JlbWVudCgpOwogI2VuZGlmCisgICAgaWYgKCFt
X3Jlc291cmNlUmVxdWVzdC51cmwoKS5oYXNGcmFnbWVudElkZW50aWZpZXIoKSkKKyAgICAgICAg
cmV0dXJuOworICAgIEtVUkwgdXJsRm9yQ2FjaGUgPSBNZW1vcnlDYWNoZTo6cmVtb3ZlRnJhZ21l
bnRJZGVudGlmaWVySWZOZWVkZWQobV9yZXNvdXJjZVJlcXVlc3QudXJsKCkpOworICAgIGlmICh1
cmxGb3JDYWNoZS5oYXNGcmFnbWVudElkZW50aWZpZXIoKSkKKyAgICAgICAgcmV0dXJuOworICAg
IG1fZnJhZ21lbnRJZGVudGlmaWVyRm9yUmVxdWVzdCA9IG1fcmVzb3VyY2VSZXF1ZXN0LnVybCgp
LmZyYWdtZW50SWRlbnRpZmllcigpOworICAgIG1fcmVzb3VyY2VSZXF1ZXN0LnNldFVSTCh1cmxG
b3JDYWNoZSk7CiB9CiAKIENhY2hlZFJlc291cmNlOjp+Q2FjaGVkUmVzb3VyY2UoKQpAQCAtMjkz
LDEwICszMDAsMTcgQEAKICAgICBpZiAodHlwZSgpICE9IE1haW5SZXNvdXJjZSkKICAgICAgICAg
YWRkQWRkaXRpb25hbFJlcXVlc3RIZWFkZXJzKGNhY2hlZFJlc291cmNlTG9hZGVyKTsKIAorICAg
IFJlc291cmNlUmVxdWVzdCByZXF1ZXN0KG1fcmVzb3VyY2VSZXF1ZXN0KTsKKyAgICBpZiAoIW1f
ZnJhZ21lbnRJZGVudGlmaWVyRm9yUmVxdWVzdC5pc051bGwoKSkgeworICAgICAgICBLVVJMIHVy
bCA9IHJlcXVlc3QudXJsKCk7CisgICAgICAgIHVybC5zZXRGcmFnbWVudElkZW50aWZpZXIobV9m
cmFnbWVudElkZW50aWZpZXJGb3JSZXF1ZXN0KTsKKyAgICAgICAgcmVxdWVzdC5zZXRVUkwodXJs
KTsKKyAgICB9CisKICNpZiBVU0UoUExBVEZPUk1fU1RSQVRFR0lFUykKLSAgICBtX2xvYWRlciA9
IHBsYXRmb3JtU3RyYXRlZ2llcygpLT5sb2FkZXJTdHJhdGVneSgpLT5yZXNvdXJjZUxvYWRTY2hl
ZHVsZXIoKS0+c2NoZWR1bGVTdWJyZXNvdXJjZUxvYWQoY2FjaGVkUmVzb3VyY2VMb2FkZXItPmZy
YW1lKCksIHRoaXMsIG1fcmVzb3VyY2VSZXF1ZXN0LCBtX3Jlc291cmNlUmVxdWVzdC5wcmlvcml0
eSgpLCBvcHRpb25zKTsKKyAgICBtX2xvYWRlciA9IHBsYXRmb3JtU3RyYXRlZ2llcygpLT5sb2Fk
ZXJTdHJhdGVneSgpLT5yZXNvdXJjZUxvYWRTY2hlZHVsZXIoKS0+c2NoZWR1bGVTdWJyZXNvdXJj
ZUxvYWQoY2FjaGVkUmVzb3VyY2VMb2FkZXItPmZyYW1lKCksIHRoaXMsIHJlcXVlc3QsIHJlcXVl
c3QucHJpb3JpdHkoKSwgb3B0aW9ucyk7CiAjZWxzZQotICAgIG1fbG9hZGVyID0gcmVzb3VyY2VM
b2FkU2NoZWR1bGVyKCktPnNjaGVkdWxlU3VicmVzb3VyY2VMb2FkKGNhY2hlZFJlc291cmNlTG9h
ZGVyLT5mcmFtZSgpLCB0aGlzLCBtX3Jlc291cmNlUmVxdWVzdCwgbV9yZXNvdXJjZVJlcXVlc3Qu
cHJpb3JpdHkoKSwgb3B0aW9ucyk7CisgICAgbV9sb2FkZXIgPSByZXNvdXJjZUxvYWRTY2hlZHVs
ZXIoKS0+c2NoZWR1bGVTdWJyZXNvdXJjZUxvYWQoY2FjaGVkUmVzb3VyY2VMb2FkZXItPmZyYW1l
KCksIHRoaXMsIHJlcXVlc3QsIHJlcXVlc3QucHJpb3JpdHkoKSwgb3B0aW9ucyk7CiAjZW5kaWYK
IAogICAgIGlmICghbV9sb2FkZXIpIHsKQEAgLTQzMSw2ICs0NDUsNyBAQAogewogICAgIEFTU0VS
VChtX2xvYWRlcik7ICAgICAgICAgICAgCiAgICAgbV9sb2FkZXIgPSAwOworICAgIG1fZnJhZ21l
bnRJZGVudGlmaWVyRm9yUmVxdWVzdCA9IFN0cmluZygpOwogCiAgICAgQ2FjaGVkUmVzb3VyY2VI
YW5kbGU8Q2FjaGVkUmVzb3VyY2U+IHByb3RlY3QodGhpcyk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>179116</attachid>
            <date>2012-12-12 13:30:29 -0800</date>
            <delta_ts>2012-12-13 08:56:44 -0800</delta_ts>
            <desc>clear fragment after use, add FIXME</desc>
            <filename>frag.txt</filename>
            <type>text/plain</type>
            <size>4464</size>
            <attacher name="Nate Chapin">japhet</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzNzUwMikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDEyLTEyLTEyICBOYXRlIENo
YXBpbiAgPGphcGhldEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ2FjaGVkUmVzb3VyY2VzIHNo
b3VsZCBoYW5nIG9uIHRvIHN0cmlwcGVkIGZyYWdtZW50IGlkZW50aWZpZXJzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ3MjEKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIHRoaXMg
d2lsbCBiZSB1bnVzZWQgdW50aWwgYnVnCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD00OTI0NiByZS1sYW5kcy4gVGhlbiwgaXQgd2lsbAorICAgICAgICBh
bGxvdyBodHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS1wYXJhbWV0ZXJzLmh0bWwgdG8gY29u
dGludWUgcGFzc2luZy4KKworICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6Q2FjaGVkUmVzb3VyY2UpOgor
ICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OmxvYWQpOgorICAgICAgICAqIGxvYWRl
ci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oOgorICAgICAgICAoQ2FjaGVkUmVzb3VyY2UpOgorICAg
ICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFJlc291cmNlKToKKwogMjAxMi0x
Mi0xMiAgTm8nYW0gUm9zZW50aGFsICA8bm9hbS5yb3NlbnRoYWxAbm9raWEuY29tPgogCiAgICAg
ICAgIFJFR1JFU1NJT046IHIxMzc0ODEgY2F1c2VkIGEgYnVpbGQgZmFpbHVyZSB3aXRoIEdUSwpJ
bmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuY3BwCShyZXZpc2lvbiAxMzc0ODYpCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NDEsOSAr
NDQxLDYgQEAKICAgICAvLyBTZWUgaWYgd2UgY2FuIHVzZSBhbiBleGlzdGluZyByZXNvdXJjZSBm
cm9tIHRoZSBjYWNoZS4KICAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4g
cmVzb3VyY2UgPSBtZW1vcnlDYWNoZSgpLT5yZXNvdXJjZUZvclVSTCh1cmwpOwogCi0gICAgaWYg
KHJlcXVlc3QucmVzb3VyY2VSZXF1ZXN0KCkudXJsKCkgIT0gdXJsKQotICAgICAgICByZXF1ZXN0
Lm11dGFibGVSZXNvdXJjZVJlcXVlc3QoKS5zZXRVUkwodXJsKTsKLQogICAgIGNvbnN0IFJldmFs
aWRhdGlvblBvbGljeSBwb2xpY3kgPSBkZXRlcm1pbmVSZXZhbGlkYXRpb25Qb2xpY3kodHlwZSwg
cmVxdWVzdC5tdXRhYmxlUmVzb3VyY2VSZXF1ZXN0KCksIHJlcXVlc3QuZm9yUHJlbG9hZCgpLCBy
ZXNvdXJjZS5nZXQoKSwgcmVxdWVzdC5kZWZlcigpKTsKICAgICBzd2l0Y2ggKHBvbGljeSkgewog
ICAgIGNhc2UgUmVsb2FkOgpJbmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0Nh
Y2hlZFJlc291cmNlLmgJKHJldmlzaW9uIDEzNzQ4NikKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMDgsNiArMzA4LDgg
QEAKICAgICB2b2lkIGFkZEFkZGl0aW9uYWxSZXF1ZXN0SGVhZGVycyhDYWNoZWRSZXNvdXJjZUxv
YWRlciopOwogICAgIHZvaWQgZmFpbEJlZm9yZVN0YXJ0aW5nKCk7CiAKKyAgICBTdHJpbmcgbV9m
cmFnbWVudElkZW50aWZpZXJGb3JSZXF1ZXN0OworCiAgICAgUmVmUHRyPENhY2hlZE1ldGFkYXRh
PiBtX2NhY2hlZE1ldGFkYXRhOwogCiAgICAgUmVzb3VyY2VFcnJvciBtX2Vycm9yOwpJbmRleDog
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCShyZXZp
c2lvbiAxMzc0ODYpCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODgsNiArMTg4LDE0IEBACiAjaWZuZGVmIE5ERUJV
RwogICAgIGNhY2hlZFJlc291cmNlTGVha0NvdW50ZXIuaW5jcmVtZW50KCk7CiAjZW5kaWYKKwor
ICAgIGlmICghbV9yZXNvdXJjZVJlcXVlc3QudXJsKCkuaGFzRnJhZ21lbnRJZGVudGlmaWVyKCkp
CisgICAgICAgIHJldHVybjsKKyAgICBLVVJMIHVybEZvckNhY2hlID0gTWVtb3J5Q2FjaGU6OnJl
bW92ZUZyYWdtZW50SWRlbnRpZmllcklmTmVlZGVkKG1fcmVzb3VyY2VSZXF1ZXN0LnVybCgpKTsK
KyAgICBpZiAodXJsRm9yQ2FjaGUuaGFzRnJhZ21lbnRJZGVudGlmaWVyKCkpCisgICAgICAgIHJl
dHVybjsKKyAgICBtX2ZyYWdtZW50SWRlbnRpZmllckZvclJlcXVlc3QgPSBtX3Jlc291cmNlUmVx
dWVzdC51cmwoKS5mcmFnbWVudElkZW50aWZpZXIoKTsKKyAgICBtX3Jlc291cmNlUmVxdWVzdC5z
ZXRVUkwodXJsRm9yQ2FjaGUpOwogfQogCiBDYWNoZWRSZXNvdXJjZTo6fkNhY2hlZFJlc291cmNl
KCkKQEAgLTI5MywxMCArMzAxLDIwIEBACiAgICAgaWYgKHR5cGUoKSAhPSBNYWluUmVzb3VyY2Up
CiAgICAgICAgIGFkZEFkZGl0aW9uYWxSZXF1ZXN0SGVhZGVycyhjYWNoZWRSZXNvdXJjZUxvYWRl
cik7CiAKKyAgICAvLyBGSVhNRTogSXQncyB1bmZvcnR1bmF0ZSB0aGF0IHRoZSBjYWNoZSBsYXll
ciBhbmQgYmVsb3cgZ2V0IHRvIGtub3cgYW55dGhpbmcgYWJvdXQgZnJhZ21lbnQgaWRlbnRpZmll
cnMuCisgICAgLy8gV2Ugc2hvdWxkIGxvb2sgaW50byByZW1vdmluZyB0aGUgZXhwZWN0YXRpb24g
b2YgdGhhdCBrbm93bGVkZ2UgZnJvbSB0aGUgcGxhdGZvcm0gbmV0d29yayBzdGFja3MuCisgICAg
UmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QobV9yZXNvdXJjZVJlcXVlc3QpOworICAgIGlmICghbV9m
cmFnbWVudElkZW50aWZpZXJGb3JSZXF1ZXN0LmlzTnVsbCgpKSB7CisgICAgICAgIEtVUkwgdXJs
ID0gcmVxdWVzdC51cmwoKTsKKyAgICAgICAgdXJsLnNldEZyYWdtZW50SWRlbnRpZmllcihtX2Zy
YWdtZW50SWRlbnRpZmllckZvclJlcXVlc3QpOworICAgICAgICByZXF1ZXN0LnNldFVSTCh1cmwp
OworICAgICAgICBtX2ZyYWdtZW50SWRlbnRpZmllckZvclJlcXVlc3QgPSBTdHJpbmcoKTsKKyAg
ICB9CisKICNpZiBVU0UoUExBVEZPUk1fU1RSQVRFR0lFUykKLSAgICBtX2xvYWRlciA9IHBsYXRm
b3JtU3RyYXRlZ2llcygpLT5sb2FkZXJTdHJhdGVneSgpLT5yZXNvdXJjZUxvYWRTY2hlZHVsZXIo
KS0+c2NoZWR1bGVTdWJyZXNvdXJjZUxvYWQoY2FjaGVkUmVzb3VyY2VMb2FkZXItPmZyYW1lKCks
IHRoaXMsIG1fcmVzb3VyY2VSZXF1ZXN0LCBtX3Jlc291cmNlUmVxdWVzdC5wcmlvcml0eSgpLCBv
cHRpb25zKTsKKyAgICBtX2xvYWRlciA9IHBsYXRmb3JtU3RyYXRlZ2llcygpLT5sb2FkZXJTdHJh
dGVneSgpLT5yZXNvdXJjZUxvYWRTY2hlZHVsZXIoKS0+c2NoZWR1bGVTdWJyZXNvdXJjZUxvYWQo
Y2FjaGVkUmVzb3VyY2VMb2FkZXItPmZyYW1lKCksIHRoaXMsIHJlcXVlc3QsIHJlcXVlc3QucHJp
b3JpdHkoKSwgb3B0aW9ucyk7CiAjZWxzZQotICAgIG1fbG9hZGVyID0gcmVzb3VyY2VMb2FkU2No
ZWR1bGVyKCktPnNjaGVkdWxlU3VicmVzb3VyY2VMb2FkKGNhY2hlZFJlc291cmNlTG9hZGVyLT5m
cmFtZSgpLCB0aGlzLCBtX3Jlc291cmNlUmVxdWVzdCwgbV9yZXNvdXJjZVJlcXVlc3QucHJpb3Jp
dHkoKSwgb3B0aW9ucyk7CisgICAgbV9sb2FkZXIgPSByZXNvdXJjZUxvYWRTY2hlZHVsZXIoKS0+
c2NoZWR1bGVTdWJyZXNvdXJjZUxvYWQoY2FjaGVkUmVzb3VyY2VMb2FkZXItPmZyYW1lKCksIHRo
aXMsIHJlcXVlc3QsIHJlcXVlc3QucHJpb3JpdHkoKSwgb3B0aW9ucyk7CiAjZW5kaWYKIAogICAg
IGlmICghbV9sb2FkZXIpIHsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>179280</attachid>
            <date>2012-12-13 08:56:47 -0800</date>
            <delta_ts>2012-12-13 09:38:35 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-104721-20121213085407.patch</filename>
            <type>text/plain</type>
            <size>4922</size>
            <attacher name="Nate Chapin">japhet</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzNzUwMikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDEyLTEyLTEyICBOYXRlIENo
YXBpbiAgPGphcGhldEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ2FjaGVkUmVzb3VyY2VzIHNo
b3VsZCBoYW5nIG9uIHRvIHN0cmlwcGVkIGZyYWdtZW50IGlkZW50aWZpZXJzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ3MjEKKworICAgICAgICBS
ZXZpZXdlZCBieSBNYWNpZWogU3RhY2hvd2lhay4KKworICAgICAgICBObyBuZXcgdGVzdHMsIHRo
aXMgd2lsbCBiZSB1bnVzZWQgdW50aWwgYnVnCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD00OTI0NiByZS1sYW5kcy4gVGhlbiwgaXQgd2lsbAorICAgICAg
ICBhbGxvdyBodHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS1wYXJhbWV0ZXJzLmh0bWwgdG8g
Y29udGludWUgcGFzc2luZy4KKworICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6Q2FjaGVkUmVzb3VyY2Up
OgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OmxvYWQpOgorICAgICAgICAqIGxv
YWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oOgorICAgICAgICAoQ2FjaGVkUmVzb3VyY2UpOgor
ICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFJlc291cmNlKTogV2Ugb3Zl
cnJpZGUgdGhlIHJlcXVlc3QncyB1cmwgd2l0aCB0aGUKKyAgICAgICAgICAgIGxvY2FsIHZhcmlh
YmxlICJ1cmwiIGhlcmUuIFRoZSBvbmx5IGRpZmZlcmVuY2UgYmV0d2VlbiB1cmwgYW5kIHJlcXVl
c3QudXJsKCkgaXMgdGhhdCB1cmwKKyAgICAgICAgICAgIGhhcyBoYWQgYW55IGZyYWdtZW50IGlk
ZW50aWZpZXIgcmVtb3ZlZC4gRG8gdGhpcyB3b3JrIGxhdGVyIChpbiB0aGUgQ2FjaGVkUmVzb3Vy
Y2UgY29uc3RydWN0b3IpCisgICAgICAgICAgICBzbyB0aGF0IHRoZSBDYWNoZWRSZXNvdXJjZSBj
YW4gc2F2ZSB0aGUgZnJhZ21lbnQgZm9yIGxhdGVyLgorCiAyMDEyLTEyLTEyICBObydhbSBSb3Nl
bnRoYWwgIDxub2FtLnJvc2VudGhhbEBub2tpYS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTjog
cjEzNzQ4MSBjYXVzZWQgYSBidWlsZCBmYWlsdXJlIHdpdGggR1RLCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAJKHJldmlzaW9uIDEzNzQ4
NikKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTE4OCw2ICsxODgsMTQgQEAgQ2FjaGVkUmVzb3VyY2U6OkNhY2hlZFJl
c291cmNlKGNvbnN0IFJlcwogI2lmbmRlZiBOREVCVUcKICAgICBjYWNoZWRSZXNvdXJjZUxlYWtD
b3VudGVyLmluY3JlbWVudCgpOwogI2VuZGlmCisKKyAgICBpZiAoIW1fcmVzb3VyY2VSZXF1ZXN0
LnVybCgpLmhhc0ZyYWdtZW50SWRlbnRpZmllcigpKQorICAgICAgICByZXR1cm47CisgICAgS1VS
TCB1cmxGb3JDYWNoZSA9IE1lbW9yeUNhY2hlOjpyZW1vdmVGcmFnbWVudElkZW50aWZpZXJJZk5l
ZWRlZChtX3Jlc291cmNlUmVxdWVzdC51cmwoKSk7CisgICAgaWYgKHVybEZvckNhY2hlLmhhc0Zy
YWdtZW50SWRlbnRpZmllcigpKQorICAgICAgICByZXR1cm47CisgICAgbV9mcmFnbWVudElkZW50
aWZpZXJGb3JSZXF1ZXN0ID0gbV9yZXNvdXJjZVJlcXVlc3QudXJsKCkuZnJhZ21lbnRJZGVudGlm
aWVyKCk7CisgICAgbV9yZXNvdXJjZVJlcXVlc3Quc2V0VVJMKHVybEZvckNhY2hlKTsKIH0KIAog
Q2FjaGVkUmVzb3VyY2U6On5DYWNoZWRSZXNvdXJjZSgpCkBAIC0yOTMsMTAgKzMwMSwyMCBAQCB2
b2lkIENhY2hlZFJlc291cmNlOjpsb2FkKENhY2hlZFJlc291cmNlCiAgICAgaWYgKHR5cGUoKSAh
PSBNYWluUmVzb3VyY2UpCiAgICAgICAgIGFkZEFkZGl0aW9uYWxSZXF1ZXN0SGVhZGVycyhjYWNo
ZWRSZXNvdXJjZUxvYWRlcik7CiAKKyAgICAvLyBGSVhNRTogSXQncyB1bmZvcnR1bmF0ZSB0aGF0
IHRoZSBjYWNoZSBsYXllciBhbmQgYmVsb3cgZ2V0IHRvIGtub3cgYW55dGhpbmcgYWJvdXQgZnJh
Z21lbnQgaWRlbnRpZmllcnMuCisgICAgLy8gV2Ugc2hvdWxkIGxvb2sgaW50byByZW1vdmluZyB0
aGUgZXhwZWN0YXRpb24gb2YgdGhhdCBrbm93bGVkZ2UgZnJvbSB0aGUgcGxhdGZvcm0gbmV0d29y
ayBzdGFja3MuCisgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QobV9yZXNvdXJjZVJlcXVlc3Qp
OworICAgIGlmICghbV9mcmFnbWVudElkZW50aWZpZXJGb3JSZXF1ZXN0LmlzTnVsbCgpKSB7Cisg
ICAgICAgIEtVUkwgdXJsID0gcmVxdWVzdC51cmwoKTsKKyAgICAgICAgdXJsLnNldEZyYWdtZW50
SWRlbnRpZmllcihtX2ZyYWdtZW50SWRlbnRpZmllckZvclJlcXVlc3QpOworICAgICAgICByZXF1
ZXN0LnNldFVSTCh1cmwpOworICAgICAgICBtX2ZyYWdtZW50SWRlbnRpZmllckZvclJlcXVlc3Qg
PSBTdHJpbmcoKTsKKyAgICB9CisKICNpZiBVU0UoUExBVEZPUk1fU1RSQVRFR0lFUykKLSAgICBt
X2xvYWRlciA9IHBsYXRmb3JtU3RyYXRlZ2llcygpLT5sb2FkZXJTdHJhdGVneSgpLT5yZXNvdXJj
ZUxvYWRTY2hlZHVsZXIoKS0+c2NoZWR1bGVTdWJyZXNvdXJjZUxvYWQoY2FjaGVkUmVzb3VyY2VM
b2FkZXItPmZyYW1lKCksIHRoaXMsIG1fcmVzb3VyY2VSZXF1ZXN0LCBtX3Jlc291cmNlUmVxdWVz
dC5wcmlvcml0eSgpLCBvcHRpb25zKTsKKyAgICBtX2xvYWRlciA9IHBsYXRmb3JtU3RyYXRlZ2ll
cygpLT5sb2FkZXJTdHJhdGVneSgpLT5yZXNvdXJjZUxvYWRTY2hlZHVsZXIoKS0+c2NoZWR1bGVT
dWJyZXNvdXJjZUxvYWQoY2FjaGVkUmVzb3VyY2VMb2FkZXItPmZyYW1lKCksIHRoaXMsIHJlcXVl
c3QsIHJlcXVlc3QucHJpb3JpdHkoKSwgb3B0aW9ucyk7CiAjZWxzZQotICAgIG1fbG9hZGVyID0g
cmVzb3VyY2VMb2FkU2NoZWR1bGVyKCktPnNjaGVkdWxlU3VicmVzb3VyY2VMb2FkKGNhY2hlZFJl
c291cmNlTG9hZGVyLT5mcmFtZSgpLCB0aGlzLCBtX3Jlc291cmNlUmVxdWVzdCwgbV9yZXNvdXJj
ZVJlcXVlc3QucHJpb3JpdHkoKSwgb3B0aW9ucyk7CisgICAgbV9sb2FkZXIgPSByZXNvdXJjZUxv
YWRTY2hlZHVsZXIoKS0+c2NoZWR1bGVTdWJyZXNvdXJjZUxvYWQoY2FjaGVkUmVzb3VyY2VMb2Fk
ZXItPmZyYW1lKCksIHRoaXMsIHJlcXVlc3QsIHJlcXVlc3QucHJpb3JpdHkoKSwgb3B0aW9ucyk7
CiAjZW5kaWYKIAogICAgIGlmICghbV9sb2FkZXIpIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCShyZXZpc2lvbiAxMzc0ODYpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaAkod29ya2luZyBjb3B5KQpA
QCAtMzA4LDYgKzMwOCw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBhZGRBZGRpdGlvbmFsUmVxdWVz
dEhlYWRlcnMoQ2FjaGVkUmVzb3VyY2VMb2FkZXIqKTsKICAgICB2b2lkIGZhaWxCZWZvcmVTdGFy
dGluZygpOwogCisgICAgU3RyaW5nIG1fZnJhZ21lbnRJZGVudGlmaWVyRm9yUmVxdWVzdDsKKwog
ICAgIFJlZlB0cjxDYWNoZWRNZXRhZGF0YT4gbV9jYWNoZWRNZXRhZGF0YTsKIAogICAgIFJlc291
cmNlRXJyb3IgbV9lcnJvcjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRSZXNvdXJjZUxvYWRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAkocmV2aXNpb24gMTM3NDg2KQorKysgU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNDQxLDkgKzQ0MSw2IEBAIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJl
c291cmNlPiBDYWMKICAgICAvLyBTZWUgaWYgd2UgY2FuIHVzZSBhbiBleGlzdGluZyByZXNvdXJj
ZSBmcm9tIHRoZSBjYWNoZS4KICAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJj
ZT4gcmVzb3VyY2UgPSBtZW1vcnlDYWNoZSgpLT5yZXNvdXJjZUZvclVSTCh1cmwpOwogCi0gICAg
aWYgKHJlcXVlc3QucmVzb3VyY2VSZXF1ZXN0KCkudXJsKCkgIT0gdXJsKQotICAgICAgICByZXF1
ZXN0Lm11dGFibGVSZXNvdXJjZVJlcXVlc3QoKS5zZXRVUkwodXJsKTsKLQogICAgIGNvbnN0IFJl
dmFsaWRhdGlvblBvbGljeSBwb2xpY3kgPSBkZXRlcm1pbmVSZXZhbGlkYXRpb25Qb2xpY3kodHlw
ZSwgcmVxdWVzdC5tdXRhYmxlUmVzb3VyY2VSZXF1ZXN0KCksIHJlcXVlc3QuZm9yUHJlbG9hZCgp
LCByZXNvdXJjZS5nZXQoKSwgcmVxdWVzdC5kZWZlcigpKTsKICAgICBzd2l0Y2ggKHBvbGljeSkg
ewogICAgIGNhc2UgUmVsb2FkOgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>