<?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>142135</bug_id>
          
          <creation_ts>2015-02-28 13:12:30 -0800</creation_ts>
          <short_desc>Fetch cache origins from the network process</short_desc>
          <delta_ts>2015-02-28 13:53:22 -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>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="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1073063</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-02-28 13:12:30 -0800</bug_when>
    <thetext>Fetch cache origins from the network process</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073064</commentid>
    <comment_count>1</comment_count>
      <attachid>247610</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-02-28 13:15:11 -0800</bug_when>
    <thetext>Created attachment 247610
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073065</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-02-28 13:17:51 -0800</bug_when>
    <thetext>Attachment 247610 did not pass style-queue:


ERROR: Source/WebKit2/NetworkProcess/NetworkProcess.cpp:262:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebKit2/NetworkProcess/NetworkProcess.cpp:289:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebKit2/NetworkProcess/NetworkProcess.cpp:304:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 3 in 3 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>1073067</commentid>
    <comment_count>3</comment_count>
      <attachid>247611</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-02-28 13:19:48 -0800</bug_when>
    <thetext>Created attachment 247611
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073068</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-02-28 13:22:48 -0800</bug_when>
    <thetext>Attachment 247611 did not pass style-queue:


ERROR: Source/WebKit2/NetworkProcess/NetworkProcess.cpp:262:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebKit2/NetworkProcess/NetworkProcess.cpp:291:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebKit2/NetworkProcess/NetworkProcess.cpp:306:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 3 in 3 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>1073074</commentid>
    <comment_count>5</comment_count>
      <attachid>247611</attachid>
    <who name="">mitz</who>
    <bug_when>2015-02-28 13:47:37 -0800</bug_when>
    <thetext>Comment on attachment 247611
Patch

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

&gt; Source/WebKit2/NetworkProcess/NetworkProcess.cpp:262
&gt; +static void fetchDiskCacheOrigins(SessionID sessionID, std::function&lt;void (Vector&lt;WebsiteData::Entry&gt;)&gt; completionHandler)

Why “origins” and not “entires”?

&gt; Source/WebKit2/UIProcess/WebsiteData/WebsiteDataStore.cpp:114
&gt; +    if (dataTypes &amp; WebsiteDataTypeDiskCache &amp;&amp; !isNonPersistentStore)

The double negative is confusing. Why not change the boolean to isPersistentStore?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073078</commentid>
    <comment_count>6</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-02-28 13:53:22 -0800</bug_when>
    <thetext>Committed r180841: &lt;http://trac.webkit.org/changeset/180841&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247610</attachid>
            <date>2015-02-28 13:15:11 -0800</date>
            <delta_ts>2015-02-28 13:19:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-142135-20150228131456.patch</filename>
            <type>text/plain</type>
            <size>7949</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgwODM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNzc2YzY2MzBmZGRlNDdk
YTgxYWVhMWM5OWE4MjEwYjkyNjJhYTBkZC4uNjQ0Mzk1MGE3ZTg0YTRiYTUxNjg3MjM4OGQ5M2Ex
ZmU5ZTkzYjUyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI5IEBACiAyMDE1LTAyLTI4ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKKyAgICAgICAgRmV0Y2ggY2FjaGUg
b3JpZ2lucyBmcm9tIHRoZSBuZXR3b3JrIHByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MjEzNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3Mu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpjZlVSTENhY2hlT3JpZ2lucyk6CisgICAgICAgIEFkZCBh
IG5ldyBoZWxwZXIgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgdmVjdG9yIG9mIENGVVJMIGNhY2hl
IG9yaWdpbnMuCisKKyAgICAgICAgKFdlYktpdDo6ZmV0Y2hEaXNrQ2FjaGVPcmlnaW5zKToKKyAg
ICAgICAgRmV0Y2ggdGhlIGRpc2sgY2FjaGUgb3JpZ2lucyBhbmQgcGFzcyB0aGVtIGFsb25nIHRv
IHRoZSBjb21wbGV0aW9uIGhhbmRsZXIuIEN1cnJlbnRseSB3ZSBkb24ndCBoYW5kbGUgdGhlIG5l
dyBkaXNrIGNhY2hlLgorCisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpmZXRjaFdl
YnNpdGVEYXRhKToKKyAgICAgICAgQ3JlYXRlIGEgY2FsbGJhY2sgYWdncmVnYXRvciBhbmQgZmV0
Y2ggZGlzayBjYWNoZSBvcmlnaW5zIGlmIHdlJ3JlIGFza2VkIGZvciBpdC4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6Y29tcHV0ZU5ldHdvcmtQcm9jZXNzQWNjZXNzVHlwZUZvckRhdGFGZXRjaCk6CisgICAg
ICAgIE5ldyBoZWxwZXIgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBpZiB3ZSBuZWVkIHRvIGxhdW5j
aCB0aGUgbmV0d29yayBwcm9jZXNzIGluIG9yZGVyIHRvIGZldGNoIGRhdGEuCisKKyAgICAgICAg
KFdlYktpdDo6V2Vic2l0ZURhdGFTdG9yZTo6ZmV0Y2hEYXRhKToKKyAgICAgICAgRmV0Y2ggd2Vi
c2l0ZSBkYXRhIGZyb20gdGhlIG5ldHdvcmsgcHJvY2VzcyBhcyB3ZWxsLgorCisyMDE1LTAyLTI4
ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKICAgICAgICAgU2ltcGxp
ZnkgV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJDRk5ldC5tbSBjb2RlCiAgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDIxMzQKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwIGIvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCmluZGV4IDliYWFhMmRkM2Fh
ZDI1ZGRjZjZmODAwNTYxZDkxMDIzMTNhMTM5ODguLmU2MTQyYWQ5MTc5Y2ZlMTcyNzEyYWE1ZjZl
YTExMzZjZDhiOWRkNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L05ldHdvcmtQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUHJvY2Vzcy5jcHAKQEAgLTQ0LDYgKzQ0LDcgQEAKICNpbmNsdWRlICJTdGF0aXN0aWNz
RGF0YS5oIgogI2luY2x1ZGUgIldlYkNvb2tpZU1hbmFnZXIuaCIKICNpbmNsdWRlICJXZWJQcm9j
ZXNzUG9vbE1lc3NhZ2VzLmgiCisjaW5jbHVkZSAiV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXIuaCIK
ICNpbmNsdWRlICJXZWJzaXRlRGF0YS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvTG9nZ2luZy5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmg+CkBAIC0yNDEsMTIgKzI0
Miw3OCBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzOjpkZXN0cm95UHJpdmF0ZUJyb3dzaW5nU2Vzc2lv
bihTZXNzaW9uSUQgc2Vzc2lvbklEKQogICAgIFNlc3Npb25UcmFja2VyOjpkZXN0cm95U2Vzc2lv
bihzZXNzaW9uSUQpOwogfQogCisjaWYgVVNFKENGVVJMQ0FDSEUpCitzdGF0aWMgVmVjdG9yPFJl
ZlB0cjxTZWN1cml0eU9yaWdpbj4+IGNmVVJMQ2FjaGVPcmlnaW5zKCkKK3sKKyAgICBWZWN0b3I8
UmVmUHRyPFNlY3VyaXR5T3JpZ2luPj4gcmVzdWx0OworCisgICAgV2ViUmVzb3VyY2VDYWNoZU1h
bmFnZXI6OmNmVVJMQ2FjaGVIb3N0TmFtZXNXaXRoQ2FsbGJhY2soWyZyZXN1bHRdKFJldGFpblB0
cjxDRkFycmF5UmVmPiBjZlVSTEhvc3RzKSB7CisgICAgICAgIGZvciAoQ0ZJbmRleCBpID0gMCwg
c2l6ZSA9IENGQXJyYXlHZXRDb3VudChjZlVSTEhvc3RzLmdldCgpKTsgaSA8IHNpemU7ICsraSkg
eworICAgICAgICAgICAgQ0ZTdHJpbmdSZWYgaG9zdCA9IHN0YXRpY19jYXN0PENGU3RyaW5nUmVm
PihDRkFycmF5R2V0VmFsdWVBdEluZGV4KGNmVVJMSG9zdHMuZ2V0KCksIGkpKTsKKworICAgICAg
ICAgICAgcmVzdWx0LmFwcGVuZChTZWN1cml0eU9yaWdpbjo6Y3JlYXRlKCJodHRwIiwgaG9zdCwg
MCkpOworICAgICAgICB9CisgICAgfSk7CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorI2VuZGlm
CisKK3N0YXRpYyB2b2lkIGZldGNoRGlza0NhY2hlT3JpZ2lucyhTZXNzaW9uSUQgc2Vzc2lvbklE
LCBzdGQ6OmZ1bmN0aW9uPHZvaWQgKFZlY3RvcjxXZWJzaXRlRGF0YTo6RW50cnk+KT4gY29tcGxl
dGlvbkhhbmRsZXIpCit7CisgICAgaWYgKE5ldHdvcmtDYWNoZTo6c2luZ2xldG9uKCkuaXNFbmFi
bGVkKCkpIHsKKyAgICAgICAgLy8gRklYTUU6IEhhbmRsZSB0aGlzLgorICAgICAgICBSdW5Mb29w
OjptYWluKCkuZGlzcGF0Y2goW2NvbXBsZXRpb25IYW5kbGVyXSB7CisgICAgICAgICAgICBjb21w
bGV0aW9uSGFuZGxlcih7IH0pOworICAgICAgICB9KTsKKworICAgICAgICByZXR1cm47CisgICAg
fQorCisgICAgVmVjdG9yPFdlYnNpdGVEYXRhOjpFbnRyeT4gZW50cmllczsKKworI2lmIFVTRShD
RlVSTENBQ0hFKQorICAgIGF1dG8gb3JpZ2lucyA9IGNmVVJMQ2FjaGVPcmlnaW5zKCk7CisgICAg
Zm9yIChhdXRvJiBvcmlnaW4gOiBjZlVSTENhY2hlT3JpZ2lucygpKQorICAgICAgICBlbnRyaWVz
LmFwcGVuZChXZWJzaXRlRGF0YTo6RW50cnkgeyBXVEY6Om1vdmUob3JpZ2luKSwgV2Vic2l0ZURh
dGFUeXBlRGlza0NhY2hlIH0pOworI2VuZGlmCisKKyAgICBSdW5Mb29wOjptYWluKCkuZGlzcGF0
Y2goW2NvbXBsZXRpb25IYW5kbGVyLCBlbnRyaWVzXSB7CisgICAgICAgIGNvbXBsZXRpb25IYW5k
bGVyKGVudHJpZXMpOworICAgIH0pOworfQorCiB2b2lkIE5ldHdvcmtQcm9jZXNzOjpmZXRjaFdl
YnNpdGVEYXRhKFNlc3Npb25JRCBzZXNzaW9uSUQsIHVpbnQ2NF90IHdlYnNpdGVEYXRhVHlwZXMs
IHVpbnQ2NF90IGNhbGxiYWNrSUQpCiB7Ci0gICAgLy8gRklYTUU6IEFjdHVhbGx5IHJldHVybiBk
YXRhLgotICAgIFdlYnNpdGVEYXRhIHdlYnNpdGVEYXRhOworICAgIHN0cnVjdCBDYWxsYmFja0Fn
Z3JlZ2F0b3IgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxDYWxsYmFja0FnZ3JlZ2F0b3I+IHsK
KyAgICAgICAgZXhwbGljaXQgQ2FsbGJhY2tBZ2dyZWdhdG9yKHN0ZDo6ZnVuY3Rpb248dm9pZCAo
V2Vic2l0ZURhdGEpPiBjb21wbGV0aW9uSGFuZGxlcikKKyAgICAgICAgICAgIDogbV9jb21wbGV0
aW9uSGFuZGxlcihXVEY6Om1vdmUoY29tcGxldGlvbkhhbmRsZXIpKQorICAgICAgICB7CisgICAg
ICAgIH0KIAotICAgIHBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6Ok5l
dHdvcmtQcm9jZXNzUHJveHk6OkRpZEZldGNoV2Vic2l0ZURhdGEoY2FsbGJhY2tJRCwgd2Vic2l0
ZURhdGEpLCAwKTsKKyAgICAgICAgfkNhbGxiYWNrQWdncmVnYXRvcigpCisgICAgICAgIHsKKyAg
ICAgICAgICAgIGF1dG8gY29tcGxldGlvbkhhbmRsZXIgPSBXVEY6Om1vdmUobV9jb21wbGV0aW9u
SGFuZGxlcik7CisgICAgICAgICAgICBhdXRvIHdlYnNpdGVEYXRhID0gV1RGOjptb3ZlKG1fd2Vi
c2l0ZURhdGEpOworCisgICAgICAgICAgICBSdW5Mb29wOjptYWluKCkuZGlzcGF0Y2goW2NvbXBs
ZXRpb25IYW5kbGVyLCB3ZWJzaXRlRGF0YV0geworICAgICAgICAgICAgICAgIGNvbXBsZXRpb25I
YW5kbGVyKHdlYnNpdGVEYXRhKTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9CisKKyAgICAg
ICAgc3RkOjpmdW5jdGlvbjx2b2lkIChXZWJzaXRlRGF0YSk+IG1fY29tcGxldGlvbkhhbmRsZXI7
CisgICAgICAgIFdlYnNpdGVEYXRhIG1fd2Vic2l0ZURhdGE7CisgICAgfTsKKworICAgIFJlZlB0
cjxDYWxsYmFja0FnZ3JlZ2F0b3I+IGNhbGxiYWNrQWdncmVnYXRvciA9IGFkb3B0UmVmKG5ldyBD
YWxsYmFja0FnZ3JlZ2F0b3IoW3RoaXMsIGNhbGxiYWNrSURdKFdlYnNpdGVEYXRhIHdlYnNpdGVE
YXRhKSB7CisgICAgICAgIHBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6
Ok5ldHdvcmtQcm9jZXNzUHJveHk6OkRpZEZldGNoV2Vic2l0ZURhdGEoY2FsbGJhY2tJRCwgd2Vi
c2l0ZURhdGEpLCAwKTsKKyAgICB9KSk7CisKKyAgICBpZiAod2Vic2l0ZURhdGFUeXBlcyAmIFdl
YnNpdGVEYXRhVHlwZURpc2tDYWNoZSkgeworICAgICAgICBmZXRjaERpc2tDYWNoZU9yaWdpbnMo
c2Vzc2lvbklELCBbY2FsbGJhY2tBZ2dyZWdhdG9yXShWZWN0b3I8V2Vic2l0ZURhdGE6OkVudHJ5
PiBlbnRyaWVzKSB7CisgICAgICAgICAgICBjYWxsYmFja0FnZ3JlZ2F0b3ItPm1fd2Vic2l0ZURh
dGEuZW50cmllcy5hcHBlbmRWZWN0b3IoZW50cmllcyk7CisgICAgICAgIH0pOworICAgIH0KIH0K
IAogdm9pZCBOZXR3b3JrUHJvY2Vzczo6ZGVsZXRlV2Vic2l0ZURhdGEoU2Vzc2lvbklEIHNlc3Np
b25JRCwgdWludDY0X3Qgd2Vic2l0ZURhdGFUeXBlcywgc3RkOjpjaHJvbm86OnN5c3RlbV9jbG9j
azo6dGltZV9wb2ludCBtb2RpZmllZFNpbmNlLCB1aW50NjRfdCBjYWxsYmFja0lEKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3Rv
cmUuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRh
U3RvcmUuY3BwCmluZGV4IDVmNzQ4OTRlZDJlY2Y2NWIxMjhmZGIwZGQ1MzMzYjJjNjJmN2FkNzEu
LjRmMmIxNzg0NmU2OTM1ODQzMjk0NmFhYjc4MDY1ZWIwYjI4OTI2MmEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9y
ZS5jcHAKQEAgLTEwMCw2ICsxMDAsMjMgQEAgZW51bSBjbGFzcyBQcm9jZXNzQWNjZXNzVHlwZSB7
CiAgICAgTGF1bmNoLAogfTsKIAorc3RhdGljIFByb2Nlc3NBY2Nlc3NUeXBlIGNvbXB1dGVOZXR3
b3JrUHJvY2Vzc0FjY2Vzc1R5cGVGb3JEYXRhRmV0Y2goV2Vic2l0ZURhdGFUeXBlcyBkYXRhVHlw
ZXMsIGJvb2wgaXNOb25QZXJzaXN0ZW50U3RvcmUpCit7CisgICAgUHJvY2Vzc0FjY2Vzc1R5cGUg
cHJvY2Vzc0FjY2Vzc1R5cGUgPSBQcm9jZXNzQWNjZXNzVHlwZTo6Tm9uZTsKKworICAgIGlmIChk
YXRhVHlwZXMgJiBXZWJzaXRlRGF0YVR5cGVDb29raWVzKSB7CisgICAgICAgIGlmIChpc05vblBl
cnNpc3RlbnRTdG9yZSkKKyAgICAgICAgICAgIHByb2Nlc3NBY2Nlc3NUeXBlID0gc3RkOjptYXgo
cHJvY2Vzc0FjY2Vzc1R5cGUsIFByb2Nlc3NBY2Nlc3NUeXBlOjpPbmx5SWZMYXVuY2hlZCk7Cisg
ICAgICAgIGVsc2UKKyAgICAgICAgICAgIHByb2Nlc3NBY2Nlc3NUeXBlID0gc3RkOjptYXgocHJv
Y2Vzc0FjY2Vzc1R5cGUsIFByb2Nlc3NBY2Nlc3NUeXBlOjpMYXVuY2gpOworICAgIH0KKworICAg
IGlmIChkYXRhVHlwZXMgJiBXZWJzaXRlRGF0YVR5cGVEaXNrQ2FjaGUgJiYgIWlzTm9uUGVyc2lz
dGVudFN0b3JlKQorICAgICAgICBwcm9jZXNzQWNjZXNzVHlwZSA9IHN0ZDo6bWF4KHByb2Nlc3NB
Y2Nlc3NUeXBlLCBQcm9jZXNzQWNjZXNzVHlwZTo6TGF1bmNoKTsKKworICAgIHJldHVybiBwcm9j
ZXNzQWNjZXNzVHlwZTsKK30KKwogc3RhdGljIFByb2Nlc3NBY2Nlc3NUeXBlIGNvbXB1dGVXZWJQ
cm9jZXNzQWNjZXNzVHlwZUZvckRhdGFGZXRjaChXZWJzaXRlRGF0YVR5cGVzIGRhdGFUeXBlcywg
Ym9vbCBpc05vblBlcnNpc3RlbnRTdG9yZSkKIHsKICAgICBVTlVTRURfUEFSQU0oaXNOb25QZXJz
aXN0ZW50U3RvcmUpOwpAQCAtMTc2LDYgKzE5MywzNCBAQCB2b2lkIFdlYnNpdGVEYXRhU3RvcmU6
OmZldGNoRGF0YShXZWJzaXRlRGF0YVR5cGVzIGRhdGFUeXBlcywgc3RkOjpmdW5jdGlvbjx2b2lk
CiAKICAgICBSZWZQdHI8Q2FsbGJhY2tBZ2dyZWdhdG9yPiBjYWxsYmFja0FnZ3JlZ2F0b3IgPSBh
ZG9wdFJlZihuZXcgQ2FsbGJhY2tBZ2dyZWdhdG9yKFdURjo6bW92ZShjb21wbGV0aW9uSGFuZGxl
cikpKTsKIAorICAgIGF1dG8gbmV0d29ya1Byb2Nlc3NBY2Nlc3NUeXBlID0gY29tcHV0ZU5ldHdv
cmtQcm9jZXNzQWNjZXNzVHlwZUZvckRhdGFGZXRjaChkYXRhVHlwZXMsIGlzTm9uUGVyc2lzdGVu
dCgpKTsKKyAgICBpZiAobmV0d29ya1Byb2Nlc3NBY2Nlc3NUeXBlICE9IFByb2Nlc3NBY2Nlc3NU
eXBlOjpOb25lKSB7CisgICAgICAgIEhhc2hTZXQ8V2ViUHJvY2Vzc1Bvb2wqPiBwcm9jZXNzUG9v
bHM7CisgICAgICAgIGZvciAoYXV0byYgcHJvY2VzcyA6IHByb2Nlc3NlcygpKQorICAgICAgICAg
ICAgcHJvY2Vzc1Bvb2xzLmFkZCgmcHJvY2Vzcy0+cHJvY2Vzc1Bvb2woKSk7CisKKyAgICAgICAg
Zm9yIChhdXRvJiBwcm9jZXNzUG9vbCA6IHByb2Nlc3NQb29scykgeworICAgICAgICAgICAgc3dp
dGNoIChuZXR3b3JrUHJvY2Vzc0FjY2Vzc1R5cGUpIHsKKyAgICAgICAgICAgIGNhc2UgUHJvY2Vz
c0FjY2Vzc1R5cGU6Ok9ubHlJZkxhdW5jaGVkOgorICAgICAgICAgICAgICAgIGlmICghcHJvY2Vz
c1Bvb2wtPm5ldHdvcmtQcm9jZXNzKCkpCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwor
ICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICBjYXNlIFByb2Nlc3NBY2Nlc3NU
eXBlOjpMYXVuY2g6CisgICAgICAgICAgICAgICAgcHJvY2Vzc1Bvb2wtPmVuc3VyZU5ldHdvcmtQ
cm9jZXNzKCk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgIGNhc2UgUHJv
Y2Vzc0FjY2Vzc1R5cGU6Ok5vbmU6CisgICAgICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGNhbGxiYWNrQWdncmVnYXRvci0+YWRk
UGVuZGluZ0NhbGxiYWNrKCk7CisgICAgICAgICAgICBwcm9jZXNzUG9vbC0+bmV0d29ya1Byb2Nl
c3MoKS0+ZmV0Y2hXZWJzaXRlRGF0YShtX3Nlc3Npb25JRCwgZGF0YVR5cGVzLCBbY2FsbGJhY2tB
Z2dyZWdhdG9yXShXZWJzaXRlRGF0YSB3ZWJzaXRlRGF0YSkgeworICAgICAgICAgICAgICAgIGNh
bGxiYWNrQWdncmVnYXRvci0+cmVtb3ZlUGVuZGluZ0NhbGxiYWNrKFdURjo6bW92ZSh3ZWJzaXRl
RGF0YSkpOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0KKyAgICB9CisKICAgICBhdXRvIHdl
YlByb2Nlc3NBY2Nlc3NUeXBlID0gY29tcHV0ZVdlYlByb2Nlc3NBY2Nlc3NUeXBlRm9yRGF0YUZl
dGNoKGRhdGFUeXBlcywgaXNOb25QZXJzaXN0ZW50KCkpOwogICAgIGlmICh3ZWJQcm9jZXNzQWNj
ZXNzVHlwZSAhPSBQcm9jZXNzQWNjZXNzVHlwZTo6Tm9uZSkgewogICAgICAgICBmb3IgKGF1dG8m
IHByb2Nlc3MgOiBwcm9jZXNzZXMoKSkgewo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247611</attachid>
            <date>2015-02-28 13:19:48 -0800</date>
            <delta_ts>2015-02-28 13:47:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-142135-20150228131933.patch</filename>
            <type>text/plain</type>
            <size>7984</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgwODM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNzc2YzY2MzBmZGRlNDdk
YTgxYWVhMWM5OWE4MjEwYjkyNjJhYTBkZC4uNjQ0Mzk1MGE3ZTg0YTRiYTUxNjg3MjM4OGQ5M2Ex
ZmU5ZTkzYjUyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI5IEBACiAyMDE1LTAyLTI4ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKKyAgICAgICAgRmV0Y2ggY2FjaGUg
b3JpZ2lucyBmcm9tIHRoZSBuZXR3b3JrIHByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MjEzNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3Mu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpjZlVSTENhY2hlT3JpZ2lucyk6CisgICAgICAgIEFkZCBh
IG5ldyBoZWxwZXIgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgdmVjdG9yIG9mIENGVVJMIGNhY2hl
IG9yaWdpbnMuCisKKyAgICAgICAgKFdlYktpdDo6ZmV0Y2hEaXNrQ2FjaGVPcmlnaW5zKToKKyAg
ICAgICAgRmV0Y2ggdGhlIGRpc2sgY2FjaGUgb3JpZ2lucyBhbmQgcGFzcyB0aGVtIGFsb25nIHRv
IHRoZSBjb21wbGV0aW9uIGhhbmRsZXIuIEN1cnJlbnRseSB3ZSBkb24ndCBoYW5kbGUgdGhlIG5l
dyBkaXNrIGNhY2hlLgorCisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpmZXRjaFdl
YnNpdGVEYXRhKToKKyAgICAgICAgQ3JlYXRlIGEgY2FsbGJhY2sgYWdncmVnYXRvciBhbmQgZmV0
Y2ggZGlzayBjYWNoZSBvcmlnaW5zIGlmIHdlJ3JlIGFza2VkIGZvciBpdC4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6Y29tcHV0ZU5ldHdvcmtQcm9jZXNzQWNjZXNzVHlwZUZvckRhdGFGZXRjaCk6CisgICAg
ICAgIE5ldyBoZWxwZXIgZnVuY3Rpb24gdGhhdCBjb21wdXRlcyBpZiB3ZSBuZWVkIHRvIGxhdW5j
aCB0aGUgbmV0d29yayBwcm9jZXNzIGluIG9yZGVyIHRvIGZldGNoIGRhdGEuCisKKyAgICAgICAg
KFdlYktpdDo6V2Vic2l0ZURhdGFTdG9yZTo6ZmV0Y2hEYXRhKToKKyAgICAgICAgRmV0Y2ggd2Vi
c2l0ZSBkYXRhIGZyb20gdGhlIG5ldHdvcmsgcHJvY2VzcyBhcyB3ZWxsLgorCisyMDE1LTAyLTI4
ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKICAgICAgICAgU2ltcGxp
ZnkgV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJDRk5ldC5tbSBjb2RlCiAgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDIxMzQKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwIGIvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCmluZGV4IDliYWFhMmRkM2Fh
ZDI1ZGRjZjZmODAwNTYxZDkxMDIzMTNhMTM5ODguLmQ4NjllZmQ5ZDUyYzljZTdkMzM3MjA1NTM5
ZGE1NDZkNmRkMDIwMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L05ldHdvcmtQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUHJvY2Vzcy5jcHAKQEAgLTQ0LDYgKzQ0LDcgQEAKICNpbmNsdWRlICJTdGF0aXN0aWNz
RGF0YS5oIgogI2luY2x1ZGUgIldlYkNvb2tpZU1hbmFnZXIuaCIKICNpbmNsdWRlICJXZWJQcm9j
ZXNzUG9vbE1lc3NhZ2VzLmgiCisjaW5jbHVkZSAiV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXIuaCIK
ICNpbmNsdWRlICJXZWJzaXRlRGF0YS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvTG9nZ2luZy5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmg+CkBAIC0yNDEsMTIgKzI0
Miw4MCBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzOjpkZXN0cm95UHJpdmF0ZUJyb3dzaW5nU2Vzc2lv
bihTZXNzaW9uSUQgc2Vzc2lvbklEKQogICAgIFNlc3Npb25UcmFja2VyOjpkZXN0cm95U2Vzc2lv
bihzZXNzaW9uSUQpOwogfQogCisjaWYgVVNFKENGVVJMQ0FDSEUpCitzdGF0aWMgVmVjdG9yPFJl
ZlB0cjxTZWN1cml0eU9yaWdpbj4+IGNmVVJMQ2FjaGVPcmlnaW5zKCkKK3sKKyAgICBWZWN0b3I8
UmVmUHRyPFNlY3VyaXR5T3JpZ2luPj4gcmVzdWx0OworCisgICAgV2ViUmVzb3VyY2VDYWNoZU1h
bmFnZXI6OmNmVVJMQ2FjaGVIb3N0TmFtZXNXaXRoQ2FsbGJhY2soWyZyZXN1bHRdKFJldGFpblB0
cjxDRkFycmF5UmVmPiBjZlVSTEhvc3RzKSB7CisgICAgICAgIGZvciAoQ0ZJbmRleCBpID0gMCwg
c2l6ZSA9IENGQXJyYXlHZXRDb3VudChjZlVSTEhvc3RzLmdldCgpKTsgaSA8IHNpemU7ICsraSkg
eworICAgICAgICAgICAgQ0ZTdHJpbmdSZWYgaG9zdCA9IHN0YXRpY19jYXN0PENGU3RyaW5nUmVm
PihDRkFycmF5R2V0VmFsdWVBdEluZGV4KGNmVVJMSG9zdHMuZ2V0KCksIGkpKTsKKworICAgICAg
ICAgICAgcmVzdWx0LmFwcGVuZChTZWN1cml0eU9yaWdpbjo6Y3JlYXRlKCJodHRwIiwgaG9zdCwg
MCkpOworICAgICAgICB9CisgICAgfSk7CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorI2VuZGlm
CisKK3N0YXRpYyB2b2lkIGZldGNoRGlza0NhY2hlT3JpZ2lucyhTZXNzaW9uSUQgc2Vzc2lvbklE
LCBzdGQ6OmZ1bmN0aW9uPHZvaWQgKFZlY3RvcjxXZWJzaXRlRGF0YTo6RW50cnk+KT4gY29tcGxl
dGlvbkhhbmRsZXIpCit7CisjaWYgRU5BQkxFKE5FVFdPUktfQ0FDSEUpCisgICAgaWYgKE5ldHdv
cmtDYWNoZTo6c2luZ2xldG9uKCkuaXNFbmFibGVkKCkpIHsKKyAgICAgICAgLy8gRklYTUU6IEhh
bmRsZSB0aGlzLgorICAgICAgICBSdW5Mb29wOjptYWluKCkuZGlzcGF0Y2goW2NvbXBsZXRpb25I
YW5kbGVyXSB7CisgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcih7IH0pOworICAgICAgICB9
KTsKKworICAgICAgICByZXR1cm47CisgICAgfQorI2VuZGlmCisKKyAgICBWZWN0b3I8V2Vic2l0
ZURhdGE6OkVudHJ5PiBlbnRyaWVzOworCisjaWYgVVNFKENGVVJMQ0FDSEUpCisgICAgYXV0byBv
cmlnaW5zID0gY2ZVUkxDYWNoZU9yaWdpbnMoKTsKKyAgICBmb3IgKGF1dG8mIG9yaWdpbiA6IGNm
VVJMQ2FjaGVPcmlnaW5zKCkpCisgICAgICAgIGVudHJpZXMuYXBwZW5kKFdlYnNpdGVEYXRhOjpF
bnRyeSB7IFdURjo6bW92ZShvcmlnaW4pLCBXZWJzaXRlRGF0YVR5cGVEaXNrQ2FjaGUgfSk7Cisj
ZW5kaWYKKworICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaChbY29tcGxldGlvbkhhbmRsZXIs
IGVudHJpZXNdIHsKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoZW50cmllcyk7CisgICAgfSk7
Cit9CisKIHZvaWQgTmV0d29ya1Byb2Nlc3M6OmZldGNoV2Vic2l0ZURhdGEoU2Vzc2lvbklEIHNl
c3Npb25JRCwgdWludDY0X3Qgd2Vic2l0ZURhdGFUeXBlcywgdWludDY0X3QgY2FsbGJhY2tJRCkK
IHsKLSAgICAvLyBGSVhNRTogQWN0dWFsbHkgcmV0dXJuIGRhdGEuCi0gICAgV2Vic2l0ZURhdGEg
d2Vic2l0ZURhdGE7CisgICAgc3RydWN0IENhbGxiYWNrQWdncmVnYXRvciBmaW5hbCA6IHB1Ymxp
YyBSZWZDb3VudGVkPENhbGxiYWNrQWdncmVnYXRvcj4geworICAgICAgICBleHBsaWNpdCBDYWxs
YmFja0FnZ3JlZ2F0b3Ioc3RkOjpmdW5jdGlvbjx2b2lkIChXZWJzaXRlRGF0YSk+IGNvbXBsZXRp
b25IYW5kbGVyKQorICAgICAgICAgICAgOiBtX2NvbXBsZXRpb25IYW5kbGVyKFdURjo6bW92ZShj
b21wbGV0aW9uSGFuZGxlcikpCisgICAgICAgIHsKKyAgICAgICAgfQogCi0gICAgcGFyZW50UHJv
Y2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6TmV0d29ya1Byb2Nlc3NQcm94eTo6RGlk
RmV0Y2hXZWJzaXRlRGF0YShjYWxsYmFja0lELCB3ZWJzaXRlRGF0YSksIDApOworICAgICAgICB+
Q2FsbGJhY2tBZ2dyZWdhdG9yKCkKKyAgICAgICAgeworICAgICAgICAgICAgYXV0byBjb21wbGV0
aW9uSGFuZGxlciA9IFdURjo6bW92ZShtX2NvbXBsZXRpb25IYW5kbGVyKTsKKyAgICAgICAgICAg
IGF1dG8gd2Vic2l0ZURhdGEgPSBXVEY6Om1vdmUobV93ZWJzaXRlRGF0YSk7CisKKyAgICAgICAg
ICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaChbY29tcGxldGlvbkhhbmRsZXIsIHdlYnNpdGVE
YXRhXSB7CisgICAgICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIod2Vic2l0ZURhdGEpOwor
ICAgICAgICAgICAgfSk7CisgICAgICAgIH0KKworICAgICAgICBzdGQ6OmZ1bmN0aW9uPHZvaWQg
KFdlYnNpdGVEYXRhKT4gbV9jb21wbGV0aW9uSGFuZGxlcjsKKyAgICAgICAgV2Vic2l0ZURhdGEg
bV93ZWJzaXRlRGF0YTsKKyAgICB9OworCisgICAgUmVmUHRyPENhbGxiYWNrQWdncmVnYXRvcj4g
Y2FsbGJhY2tBZ2dyZWdhdG9yID0gYWRvcHRSZWYobmV3IENhbGxiYWNrQWdncmVnYXRvcihbdGhp
cywgY2FsbGJhY2tJRF0oV2Vic2l0ZURhdGEgd2Vic2l0ZURhdGEpIHsKKyAgICAgICAgcGFyZW50
UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6TmV0d29ya1Byb2Nlc3NQcm94eTo6
RGlkRmV0Y2hXZWJzaXRlRGF0YShjYWxsYmFja0lELCB3ZWJzaXRlRGF0YSksIDApOworICAgIH0p
KTsKKworICAgIGlmICh3ZWJzaXRlRGF0YVR5cGVzICYgV2Vic2l0ZURhdGFUeXBlRGlza0NhY2hl
KSB7CisgICAgICAgIGZldGNoRGlza0NhY2hlT3JpZ2lucyhzZXNzaW9uSUQsIFtjYWxsYmFja0Fn
Z3JlZ2F0b3JdKFZlY3RvcjxXZWJzaXRlRGF0YTo6RW50cnk+IGVudHJpZXMpIHsKKyAgICAgICAg
ICAgIGNhbGxiYWNrQWdncmVnYXRvci0+bV93ZWJzaXRlRGF0YS5lbnRyaWVzLmFwcGVuZFZlY3Rv
cihlbnRyaWVzKTsKKyAgICAgICAgfSk7CisgICAgfQogfQogCiB2b2lkIE5ldHdvcmtQcm9jZXNz
OjpkZWxldGVXZWJzaXRlRGF0YShTZXNzaW9uSUQgc2Vzc2lvbklELCB1aW50NjRfdCB3ZWJzaXRl
RGF0YVR5cGVzLCBzdGQ6OmNocm9ubzo6c3lzdGVtX2Nsb2NrOjp0aW1lX3BvaW50IG1vZGlmaWVk
U2luY2UsIHVpbnQ2NF90IGNhbGxiYWNrSUQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAKaW5kZXggNWY3NDg5
NGVkMmVjZjY1YjEyOGZkYjBkZDUzMzNiMmM2MmY3YWQ3MS4uNGYyYjE3ODQ2ZTY5MzU4NDMyOTQ2
YWFiNzgwNjVlYjBiMjg5MjYyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcApAQCAtMTAwLDYgKzEwMCwy
MyBAQCBlbnVtIGNsYXNzIFByb2Nlc3NBY2Nlc3NUeXBlIHsKICAgICBMYXVuY2gsCiB9OwogCitz
dGF0aWMgUHJvY2Vzc0FjY2Vzc1R5cGUgY29tcHV0ZU5ldHdvcmtQcm9jZXNzQWNjZXNzVHlwZUZv
ckRhdGFGZXRjaChXZWJzaXRlRGF0YVR5cGVzIGRhdGFUeXBlcywgYm9vbCBpc05vblBlcnNpc3Rl
bnRTdG9yZSkKK3sKKyAgICBQcm9jZXNzQWNjZXNzVHlwZSBwcm9jZXNzQWNjZXNzVHlwZSA9IFBy
b2Nlc3NBY2Nlc3NUeXBlOjpOb25lOworCisgICAgaWYgKGRhdGFUeXBlcyAmIFdlYnNpdGVEYXRh
VHlwZUNvb2tpZXMpIHsKKyAgICAgICAgaWYgKGlzTm9uUGVyc2lzdGVudFN0b3JlKQorICAgICAg
ICAgICAgcHJvY2Vzc0FjY2Vzc1R5cGUgPSBzdGQ6Om1heChwcm9jZXNzQWNjZXNzVHlwZSwgUHJv
Y2Vzc0FjY2Vzc1R5cGU6Ok9ubHlJZkxhdW5jaGVkKTsKKyAgICAgICAgZWxzZQorICAgICAgICAg
ICAgcHJvY2Vzc0FjY2Vzc1R5cGUgPSBzdGQ6Om1heChwcm9jZXNzQWNjZXNzVHlwZSwgUHJvY2Vz
c0FjY2Vzc1R5cGU6OkxhdW5jaCk7CisgICAgfQorCisgICAgaWYgKGRhdGFUeXBlcyAmIFdlYnNp
dGVEYXRhVHlwZURpc2tDYWNoZSAmJiAhaXNOb25QZXJzaXN0ZW50U3RvcmUpCisgICAgICAgIHBy
b2Nlc3NBY2Nlc3NUeXBlID0gc3RkOjptYXgocHJvY2Vzc0FjY2Vzc1R5cGUsIFByb2Nlc3NBY2Nl
c3NUeXBlOjpMYXVuY2gpOworCisgICAgcmV0dXJuIHByb2Nlc3NBY2Nlc3NUeXBlOworfQorCiBz
dGF0aWMgUHJvY2Vzc0FjY2Vzc1R5cGUgY29tcHV0ZVdlYlByb2Nlc3NBY2Nlc3NUeXBlRm9yRGF0
YUZldGNoKFdlYnNpdGVEYXRhVHlwZXMgZGF0YVR5cGVzLCBib29sIGlzTm9uUGVyc2lzdGVudFN0
b3JlKQogewogICAgIFVOVVNFRF9QQVJBTShpc05vblBlcnNpc3RlbnRTdG9yZSk7CkBAIC0xNzYs
NiArMTkzLDM0IEBAIHZvaWQgV2Vic2l0ZURhdGFTdG9yZTo6ZmV0Y2hEYXRhKFdlYnNpdGVEYXRh
VHlwZXMgZGF0YVR5cGVzLCBzdGQ6OmZ1bmN0aW9uPHZvaWQKIAogICAgIFJlZlB0cjxDYWxsYmFj
a0FnZ3JlZ2F0b3I+IGNhbGxiYWNrQWdncmVnYXRvciA9IGFkb3B0UmVmKG5ldyBDYWxsYmFja0Fn
Z3JlZ2F0b3IoV1RGOjptb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSkpOwogCisgICAgYXV0byBuZXR3
b3JrUHJvY2Vzc0FjY2Vzc1R5cGUgPSBjb21wdXRlTmV0d29ya1Byb2Nlc3NBY2Nlc3NUeXBlRm9y
RGF0YUZldGNoKGRhdGFUeXBlcywgaXNOb25QZXJzaXN0ZW50KCkpOworICAgIGlmIChuZXR3b3Jr
UHJvY2Vzc0FjY2Vzc1R5cGUgIT0gUHJvY2Vzc0FjY2Vzc1R5cGU6Ok5vbmUpIHsKKyAgICAgICAg
SGFzaFNldDxXZWJQcm9jZXNzUG9vbCo+IHByb2Nlc3NQb29sczsKKyAgICAgICAgZm9yIChhdXRv
JiBwcm9jZXNzIDogcHJvY2Vzc2VzKCkpCisgICAgICAgICAgICBwcm9jZXNzUG9vbHMuYWRkKCZw
cm9jZXNzLT5wcm9jZXNzUG9vbCgpKTsKKworICAgICAgICBmb3IgKGF1dG8mIHByb2Nlc3NQb29s
IDogcHJvY2Vzc1Bvb2xzKSB7CisgICAgICAgICAgICBzd2l0Y2ggKG5ldHdvcmtQcm9jZXNzQWNj
ZXNzVHlwZSkgeworICAgICAgICAgICAgY2FzZSBQcm9jZXNzQWNjZXNzVHlwZTo6T25seUlmTGF1
bmNoZWQ6CisgICAgICAgICAgICAgICAgaWYgKCFwcm9jZXNzUG9vbC0+bmV0d29ya1Byb2Nlc3Mo
KSkKKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAgYnJlYWs7
CisKKyAgICAgICAgICAgIGNhc2UgUHJvY2Vzc0FjY2Vzc1R5cGU6OkxhdW5jaDoKKyAgICAgICAg
ICAgICAgICBwcm9jZXNzUG9vbC0+ZW5zdXJlTmV0d29ya1Byb2Nlc3MoKTsKKyAgICAgICAgICAg
ICAgICBicmVhazsKKworICAgICAgICAgICAgY2FzZSBQcm9jZXNzQWNjZXNzVHlwZTo6Tm9uZToK
KyAgICAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgICAgIH0KKwor
ICAgICAgICAgICAgY2FsbGJhY2tBZ2dyZWdhdG9yLT5hZGRQZW5kaW5nQ2FsbGJhY2soKTsKKyAg
ICAgICAgICAgIHByb2Nlc3NQb29sLT5uZXR3b3JrUHJvY2VzcygpLT5mZXRjaFdlYnNpdGVEYXRh
KG1fc2Vzc2lvbklELCBkYXRhVHlwZXMsIFtjYWxsYmFja0FnZ3JlZ2F0b3JdKFdlYnNpdGVEYXRh
IHdlYnNpdGVEYXRhKSB7CisgICAgICAgICAgICAgICAgY2FsbGJhY2tBZ2dyZWdhdG9yLT5yZW1v
dmVQZW5kaW5nQ2FsbGJhY2soV1RGOjptb3ZlKHdlYnNpdGVEYXRhKSk7CisgICAgICAgICAgICB9
KTsKKyAgICAgICAgfQorICAgIH0KKwogICAgIGF1dG8gd2ViUHJvY2Vzc0FjY2Vzc1R5cGUgPSBj
b21wdXRlV2ViUHJvY2Vzc0FjY2Vzc1R5cGVGb3JEYXRhRmV0Y2goZGF0YVR5cGVzLCBpc05vblBl
cnNpc3RlbnQoKSk7CiAgICAgaWYgKHdlYlByb2Nlc3NBY2Nlc3NUeXBlICE9IFByb2Nlc3NBY2Nl
c3NUeXBlOjpOb25lKSB7CiAgICAgICAgIGZvciAoYXV0byYgcHJvY2VzcyA6IHByb2Nlc3Nlcygp
KSB7Cg==
</data>
<flag name="review"
          id="272530"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
      

    </bug>

</bugzilla>