<?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>197264</bug_id>
          
          <creation_ts>2019-04-24 17:16:42 -0700</creation_ts>
          <short_desc>Make NetworkCache blobs safe for mmap instead of not using blobs</short_desc>
          <delta_ts>2019-04-25 23:06:17 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>InRadar</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>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>koivisto</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1530258</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-04-24 17:16:42 -0700</bug_when>
    <thetext>Make NetworkCache blobs safe for mmap instead of not using blobs</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1530260</commentid>
    <comment_count>1</comment_count>
      <attachid>368203</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-04-24 17:18:49 -0700</bug_when>
    <thetext>Created attachment 368203
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1530309</commentid>
    <comment_count>2</comment_count>
      <attachid>368213</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-04-24 22:26:57 -0700</bug_when>
    <thetext>Created attachment 368213
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1530325</commentid>
    <comment_count>3</comment_count>
      <attachid>368213</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2019-04-25 00:38:06 -0700</bug_when>
    <thetext>Comment on attachment 368213
Patch

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

Looks fine except the part where it doesn&apos;t build.

&gt; Source/WebKit/NetworkProcess/cache/NetworkCacheBlobStorage.cpp:97
&gt; +    makeSafeToUseMemoryMapForPath(blobPathString);

Can&apos;t you do this after the existence test? Or do you specifically want to upgrade existing files?

&gt; Source/WebKit/NetworkProcess/cache/NetworkCacheStorage.cpp:-281
&gt; -static size_t estimateRecordsSize(unsigned recordCount, unsigned blobCount)
&gt; -{
&gt; -    auto inlineBodyCount = recordCount - std::min(blobCount, recordCount);
&gt; -    auto headerSizes = recordCount * 4096;
&gt; -    auto inlineBodySizes = (maximumInlineBodySize / 2) * inlineBodyCount;
&gt; -    return headerSizes + inlineBodySizes;
&gt; -}

You can&apos;t delete this function!

&gt; Source/WebKit/NetworkProcess/cache/NetworkCacheStorage.cpp:315
&gt;  

...because you call it here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1530413</commentid>
    <comment_count>4</comment_count>
      <attachid>368213</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-04-25 10:21:27 -0700</bug_when>
    <thetext>Comment on attachment 368213
Patch

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

&gt;&gt; Source/WebKit/NetworkProcess/cache/NetworkCacheBlobStorage.cpp:97
&gt;&gt; +    makeSafeToUseMemoryMapForPath(blobPathString);
&gt; 
&gt; Can&apos;t you do this after the existence test? Or do you specifically want to upgrade existing files?

I want to &quot;upgrade&quot; existing files.  I don&apos;t think it matters if I do it before or after the call to access, but it needs to be before the call to mapFile.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1530414</commentid>
    <comment_count>5</comment_count>
      <attachid>368243</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-04-25 10:22:21 -0700</bug_when>
    <thetext>Created attachment 368243
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1530631</commentid>
    <comment_count>6</comment_count>
      <attachid>368243</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-25 23:06:15 -0700</bug_when>
    <thetext>Comment on attachment 368243
Patch

Clearing flags on attachment: 368243

Committed r244678: &lt;https://trac.webkit.org/changeset/244678&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1530632</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-25 23:06:17 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>368203</attachid>
            <date>2019-04-24 17:18:49 -0700</date>
            <delta_ts>2019-04-24 22:26:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-197264-20190424171848.patch</filename>
            <type>text/plain</type>
            <size>7919</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDQ2MjkpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDE5LTA0LTI0ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTWFrZSBOZXR3b3Jr
Q2FjaGUgYmxvYnMgc2FmZSBmb3IgbW1hcCBpbnN0ZWFkIG9mIG5vdCB1c2luZyBibG9icworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk3MjY0CisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS80OTU2NDM0OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGRvZXMgd2hhdCByMjQ0NTk3IGRpZCBmb3IgV0tD
b250ZW50UnVsZUxpc3RzIGJ1dCBmb3IgdGhlIE5ldHdvcmtDYWNoZSdzIGJsb2JzLgorICAgICAg
ICBUaG9zZSBhcmUgdGhlIHR3byBjYXNlcyB3aGVyZSB3ZSB3ZXJlIGNhbGxpbmcgbW1hcCBhbmQg
c2VlaW5nIGNyYXNoZXMgaW4gYXBwcyB3aXRoCisgICAgICAgIGRlZmF1bHQgZmlsZSBwcm90ZWN0
aW9uIG9mIE5TRmlsZVByb3RlY3Rpb25Db21wbGV0ZS4KKworICAgICAgICAqIE5ldHdvcmtQcm9j
ZXNzL2NhY2hlL05ldHdvcmtDYWNoZUJsb2JTdG9yYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
TmV0d29ya0NhY2hlOjpCbG9iU3RvcmFnZTo6YWRkKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vz
cy9jYWNoZS9OZXR3b3JrQ2FjaGVGaWxlU3lzdGVtLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0
d29ya0NhY2hlOjppc1NhZmVUb1VzZU1lbW9yeU1hcEZvclBhdGgpOiBEZWxldGVkLgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUZpbGVTeXN0ZW0uaDoKKyAgICAg
ICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVGaWxlU3lzdGVtQ29jb2EubW06
CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6aXNTYWZlVG9Vc2VNZW1vcnlNYXBGb3JQ
YXRoKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdl
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpTdG9yYWdlOjpTdG9yYWdlKToK
KyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpTdG9yYWdlOjpzeW5jaHJvbml6ZSk6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6U3RvcmFnZTo6bWF5Q29udGFpbkJsb2IgY29u
c3QpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OlN0b3JhZ2U6OnNob3VsZFN0b3Jl
Qm9keUFzQmxvYik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6ZXN0aW1hdGVSZWNv
cmRzU2l6ZSk6IERlbGV0ZWQuCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29y
a0NhY2hlU3RvcmFnZS5oOgorCiAyMDE5LTA0LTI0ICBDb21taXQgUXVldWUgIDxjb21taXQtcXVl
dWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjQ0MjI4
LgpJbmRleDogU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVC
bG9iU3RvcmFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9jYWNoZS9OZXR3b3JrQ2FjaGVCbG9iU3RvcmFnZS5jcHAJKHJldmlzaW9uIDI0NDU5NikKKysr
IFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlQmxvYlN0b3Jh
Z2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05Myw3ICs5MywxMCBAQCBCbG9iU3RvcmFnZTo6Qmxv
YiBCbG9iU3RvcmFnZTo6YWRkKGNvbnN0CiAgICAgaWYgKGRhdGEuaXNFbXB0eSgpKQogICAgICAg
ICByZXR1cm4geyBkYXRhLCBoYXNoIH07CiAKLSAgICBhdXRvIGJsb2JQYXRoID0gRmlsZVN5c3Rl
bTo6ZmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKGJsb2JQYXRoRm9ySGFzaChoYXNoKSk7CisgICAg
U3RyaW5nIGJsb2JQYXRoU3RyaW5nID0gYmxvYlBhdGhGb3JIYXNoKGhhc2gpOworICAgIG1ha2VT
YWZlVG9Vc2VNZW1vcnlNYXBGb3JQYXRoKGJsb2JQYXRoU3RyaW5nKTsKKyAgICAKKyAgICBhdXRv
IGJsb2JQYXRoID0gRmlsZVN5c3RlbTo6ZmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKGJsb2JQYXRo
U3RyaW5nKTsKICAgICBhdXRvIGxpbmtQYXRoID0gRmlsZVN5c3RlbTo6ZmlsZVN5c3RlbVJlcHJl
c2VudGF0aW9uKHBhdGgpOwogICAgIHVubGluayhsaW5rUGF0aC5kYXRhKCkpOwogCkluZGV4OiBT
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUZpbGVTeXN0ZW0u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0
d29ya0NhY2hlRmlsZVN5c3RlbS5jcHAJKHJldmlzaW9uIDI0NDU5NykKKysrIFNvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlRmlsZVN5c3RlbS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTE0NiwxMCArMTQ2LDYgQEAgdm9pZCB1cGRhdGVGaWxlTW9kaWZpY2F0aW9u
VGltZUlmTmVlZGVkKAogfQogCiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCi1ib29sIGlzU2Fm
ZVRvVXNlTWVtb3J5TWFwRm9yUGF0aChjb25zdCBTdHJpbmcmKQotewotICAgIHJldHVybiB0cnVl
OwotfQogdm9pZCBtYWtlU2FmZVRvVXNlTWVtb3J5TWFwRm9yUGF0aChjb25zdCBTdHJpbmcmKQog
ewogfQpJbmRleDogU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2Fj
aGVGaWxlU3lzdGVtLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9jYWNoZS9OZXR3b3JrQ2FjaGVGaWxlU3lzdGVtLmgJKHJldmlzaW9uIDI0NDU5NykKKysrIFNv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlRmlsZVN5c3RlbS5o
CSh3b3JraW5nIGNvcHkpCkBAIC00Miw3ICs0Miw2IEBAIHN0cnVjdCBGaWxlVGltZXMgewogRmls
ZVRpbWVzIGZpbGVUaW1lcyhjb25zdCBTdHJpbmcmIHBhdGgpOwogdm9pZCB1cGRhdGVGaWxlTW9k
aWZpY2F0aW9uVGltZUlmTmVlZGVkKGNvbnN0IFN0cmluZyYgcGF0aCk7CiAKLWJvb2wgaXNTYWZl
VG9Vc2VNZW1vcnlNYXBGb3JQYXRoKGNvbnN0IFN0cmluZyYpOwogdm9pZCBtYWtlU2FmZVRvVXNl
TWVtb3J5TWFwRm9yUGF0aChjb25zdCBTdHJpbmcmKTsKIAogfQpJbmRleDogU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVGaWxlU3lzdGVtQ29jb2EubW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2Fj
aGVGaWxlU3lzdGVtQ29jb2EubW0JKHJldmlzaW9uIDI0NDU5NykKKysrIFNvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlRmlsZVN5c3RlbUNvY29hLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMywxMCArMzMsOCBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIG5hbWVzcGFj
ZSBOZXR3b3JrQ2FjaGUgewogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLWJvb2wgaXNTYWZl
VG9Vc2VNZW1vcnlNYXBGb3JQYXRoKGNvbnN0IFN0cmluZyYgcGF0aCkKK3N0YXRpYyBib29sIGlz
U2FmZVRvVXNlTWVtb3J5TWFwRm9yUGF0aChjb25zdCBTdHJpbmcmIHBhdGgpCiB7Ci0gICAgLy8g
RklYTUU6IEZvciB0aGUgbmV0d29yayBjYWNoZSB3ZSBzaG91bGQgZWl0aGVyIHVzZSBtYWtlU2Fm
ZVRvVXNlTWVtb3J5TWFwRm9yUGF0aCBpbnN0ZWFkIG9mIHRoaXMKLSAgICAvLyBvciB3ZSBzaG91
bGQgbGlzdGVuIHRvIFVJQXBwbGljYXRpb25Qcm90ZWN0ZWREYXRhV2lsbEJlY29tZVVuYXZhaWxh
YmxlIGFuZCB1bm1hcCBmaWxlcy4KICAgICBOU0Vycm9yICplcnJvciA9IG5pbDsKICAgICBOU0Rp
Y3Rpb25hcnk8TlNGaWxlQXR0cmlidXRlS2V5LCBpZD4gKmF0dHJpYnV0ZXMgPSBbW05TRmlsZU1h
bmFnZXIgZGVmYXVsdE1hbmFnZXJdIGF0dHJpYnV0ZXNPZkl0ZW1BdFBhdGg6cGF0aCBlcnJvcjom
ZXJyb3JdOwogICAgIGlmIChlcnJvcikgewpJbmRleDogU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2UuY3BwCShyZXZp
c2lvbiAyNDQ1OTYpCisrKyBTb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdv
cmtDYWNoZVN0b3JhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMjgsNyArMjI4LDYgQEAgU3Rv
cmFnZTo6U3RvcmFnZShjb25zdCBTdHJpbmcmIGJhc2VEaXJlYwogICAgICwgbV9yZWNvcmRzUGF0
aChtYWtlUmVjb3Jkc0RpcmVjdG9yeVBhdGgoYmFzZURpcmVjdG9yeVBhdGgpKQogICAgICwgbV9t
b2RlKG1vZGUpCiAgICAgLCBtX3NhbHQoc2FsdCkKLSAgICAsIG1fY2FuVXNlQmxvYnNGb3JGb3JC
b2R5RGF0YShpc1NhZmVUb1VzZU1lbW9yeU1hcEZvclBhdGgoYmFzZURpcmVjdG9yeVBhdGgpKQog
ICAgICwgbV9yZWFkT3BlcmF0aW9uVGltZW91dFRpbWVyKCp0aGlzLCAmU3RvcmFnZTo6Y2FuY2Vs
QWxsUmVhZE9wZXJhdGlvbnMpCiAgICAgLCBtX3dyaXRlT3BlcmF0aW9uRGlzcGF0Y2hUaW1lcigq
dGhpcywgJlN0b3JhZ2U6OmRpc3BhdGNoUGVuZGluZ1dyaXRlT3BlcmF0aW9ucykKICAgICAsIG1f
aW9RdWV1ZShXb3JrUXVldWU6OmNyZWF0ZSgiY29tLmFwcGxlLldlYktpdC5DYWNoZS5TdG9yYWdl
IiwgV29ya1F1ZXVlOjpUeXBlOjpDb25jdXJyZW50KSkKQEAgLTI3MiwxNCArMjcxLDYgQEAgc2l6
ZV90IFN0b3JhZ2U6OmFwcHJveGltYXRlU2l6ZSgpIGNvbnN0CiAgICAgcmV0dXJuIG1fYXBwcm94
aW1hdGVSZWNvcmRzU2l6ZSArIG1fYmxvYlN0b3JhZ2UuYXBwcm94aW1hdGVTaXplKCk7CiB9CiAK
LXN0YXRpYyBzaXplX3QgZXN0aW1hdGVSZWNvcmRzU2l6ZSh1bnNpZ25lZCByZWNvcmRDb3VudCwg
dW5zaWduZWQgYmxvYkNvdW50KQotewotICAgIGF1dG8gaW5saW5lQm9keUNvdW50ID0gcmVjb3Jk
Q291bnQgLSBzdGQ6Om1pbihibG9iQ291bnQsIHJlY29yZENvdW50KTsKLSAgICBhdXRvIGhlYWRl
clNpemVzID0gcmVjb3JkQ291bnQgKiA0MDk2OwotICAgIGF1dG8gaW5saW5lQm9keVNpemVzID0g
KG1heGltdW1JbmxpbmVCb2R5U2l6ZSAvIDIpICogaW5saW5lQm9keUNvdW50OwotICAgIHJldHVy
biBoZWFkZXJTaXplcyArIGlubGluZUJvZHlTaXplczsKLX0KLQogdm9pZCBTdG9yYWdlOjpzeW5j
aHJvbml6ZSgpCiB7CiAgICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKQEAgLTI5NSw3ICsy
ODYsNiBAQCB2b2lkIFN0b3JhZ2U6OnN5bmNocm9uaXplKCkKICAgICAgICAgYXV0byBibG9iRmls
dGVyID0gc3RkOjptYWtlX3VuaXF1ZTxDb250ZW50c0ZpbHRlcj4oKTsKIAogICAgICAgICAvLyBN
b3N0IG9mIHRoZSBkaXNrIHNwYWNlIHVzYWdlIGlzIGluIGJsb2JzIGlmIHdlIGFyZSB1c2luZyB0
aGVtLiBBcHByb3hpbWF0ZSByZWNvcmRzIGZpbGUgc2l6ZXMgdG8gYXZvaWQgZXhwZW5zaXZlIHN0
YXQoKSBjYWxscy4KLSAgICAgICAgYm9vbCBzaG91bGRDb21wdXRlRXhhY3RSZWNvcmRzU2l6ZSA9
ICFtX2NhblVzZUJsb2JzRm9yRm9yQm9keURhdGE7CiAgICAgICAgIHNpemVfdCByZWNvcmRzU2l6
ZSA9IDA7CiAgICAgICAgIHVuc2lnbmVkIHJlY29yZENvdW50ID0gMDsKICAgICAgICAgdW5zaWdu
ZWQgYmxvYkNvdW50ID0gMDsKQEAgLTMxOCwxOCArMzA4LDEzIEBAIHZvaWQgU3RvcmFnZTo6c3lu
Y2hyb25pemUoKQogCiAgICAgICAgICAgICArK3JlY29yZENvdW50OwogCi0gICAgICAgICAgICBp
ZiAoc2hvdWxkQ29tcHV0ZUV4YWN0UmVjb3Jkc1NpemUpIHsKLSAgICAgICAgICAgICAgICBsb25n
IGxvbmcgZmlsZVNpemUgPSAwOwotICAgICAgICAgICAgICAgIEZpbGVTeXN0ZW06OmdldEZpbGVT
aXplKGZpbGVQYXRoLCBmaWxlU2l6ZSk7Ci0gICAgICAgICAgICAgICAgcmVjb3Jkc1NpemUgKz0g
ZmlsZVNpemU7Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICBsb25nIGxvbmcgZmlsZVNpemUg
PSAwOworICAgICAgICAgICAgRmlsZVN5c3RlbTo6Z2V0RmlsZVNpemUoZmlsZVBhdGgsIGZpbGVT
aXplKTsKKyAgICAgICAgICAgIHJlY29yZHNTaXplICs9IGZpbGVTaXplOwogCiAgICAgICAgICAg
ICByZWNvcmRGaWx0ZXItPmFkZChoYXNoKTsKICAgICAgICAgfSk7CiAKLSAgICAgICAgaWYgKCFz
aG91bGRDb21wdXRlRXhhY3RSZWNvcmRzU2l6ZSkKLSAgICAgICAgICAgIHJlY29yZHNTaXplID0g
ZXN0aW1hdGVSZWNvcmRzU2l6ZShyZWNvcmRDb3VudCwgYmxvYkNvdW50KTsKLQogICAgICAgICBt
X2Jsb2JTdG9yYWdlLnN5bmNocm9uaXplKCk7CiAKICAgICAgICAgZGVsZXRlRW1wdHlSZWNvcmRz
RGlyZWN0b3JpZXMocmVjb3Jkc1BhdGgoKSk7CkBAIC0zNzUsOCArMzYwLDYgQEAgYm9vbCBTdG9y
YWdlOjptYXlDb250YWluKGNvbnN0IEtleSYga2V5KQogYm9vbCBTdG9yYWdlOjptYXlDb250YWlu
QmxvYihjb25zdCBLZXkmIGtleSkgY29uc3QKIHsKICAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWlu
KCkpOwotICAgIGlmICghbV9jYW5Vc2VCbG9ic0ZvckZvckJvZHlEYXRhKQotICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgcmV0dXJuICFtX2Jsb2JGaWx0ZXIgfHwgbV9ibG9iRmlsdGVyLT5tYXlD
b250YWluKGtleS5oYXNoKCkpOwogfQogCkBAIC03OTIsOCArNzc1LDYgQEAgdm9pZCBTdG9yYWdl
OjpkaXNwYXRjaFBlbmRpbmdXcml0ZU9wZXJhdAogCiBib29sIFN0b3JhZ2U6OnNob3VsZFN0b3Jl
Qm9keUFzQmxvYihjb25zdCBEYXRhJiBib2R5RGF0YSkKIHsKLSAgICBpZiAoIW1fY2FuVXNlQmxv
YnNGb3JGb3JCb2R5RGF0YSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIHJldHVybiBib2R5
RGF0YS5zaXplKCkgPiBtYXhpbXVtSW5saW5lQm9keVNpemU7CiB9CiAKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3Rv
cmFnZS5oCShyZXZpc2lvbiAyNDQ1OTYpCisrKyBTb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2UuaAkod29ya2luZyBjb3B5KQpAQCAtMTY5LDcgKzE2
OSw2IEBAIHByaXZhdGU6CiAgICAgCiAgICAgY29uc3QgTW9kZSBtX21vZGU7CiAgICAgY29uc3Qg
U2FsdCBtX3NhbHQ7Ci0gICAgY29uc3QgYm9vbCBtX2NhblVzZUJsb2JzRm9yRm9yQm9keURhdGE7
CiAKICAgICBzaXplX3QgbV9jYXBhY2l0eSB7IHN0ZDo6bnVtZXJpY19saW1pdHM8c2l6ZV90Pjo6
bWF4KCkgfTsKICAgICBzaXplX3QgbV9hcHByb3hpbWF0ZVJlY29yZHNTaXplIHsgMCB9Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>368213</attachid>
            <date>2019-04-24 22:26:57 -0700</date>
            <delta_ts>2019-04-25 10:22:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-197264-20190424222656.patch</filename>
            <type>text/plain</type>
            <size>7799</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDQ2MjkpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDE5LTA0LTI0ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTWFrZSBOZXR3b3Jr
Q2FjaGUgYmxvYnMgc2FmZSBmb3IgbW1hcCBpbnN0ZWFkIG9mIG5vdCB1c2luZyBibG9icworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk3MjY0CisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS80OTU2NDM0OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGRvZXMgd2hhdCByMjQ0NTk3IGRpZCBmb3IgV0tD
b250ZW50UnVsZUxpc3RzIGJ1dCBmb3IgdGhlIE5ldHdvcmtDYWNoZSdzIGJsb2JzLgorICAgICAg
ICBUaG9zZSBhcmUgdGhlIHR3byBjYXNlcyB3aGVyZSB3ZSB3ZXJlIGNhbGxpbmcgbW1hcCBhbmQg
c2VlaW5nIGNyYXNoZXMgaW4gYXBwcyB3aXRoCisgICAgICAgIGRlZmF1bHQgZmlsZSBwcm90ZWN0
aW9uIG9mIE5TRmlsZVByb3RlY3Rpb25Db21wbGV0ZS4KKworICAgICAgICAqIE5ldHdvcmtQcm9j
ZXNzL2NhY2hlL05ldHdvcmtDYWNoZUJsb2JTdG9yYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
TmV0d29ya0NhY2hlOjpCbG9iU3RvcmFnZTo6YWRkKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vz
cy9jYWNoZS9OZXR3b3JrQ2FjaGVGaWxlU3lzdGVtLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0
d29ya0NhY2hlOjppc1NhZmVUb1VzZU1lbW9yeU1hcEZvclBhdGgpOiBEZWxldGVkLgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUZpbGVTeXN0ZW0uaDoKKyAgICAg
ICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVGaWxlU3lzdGVtQ29jb2EubW06
CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6aXNTYWZlVG9Vc2VNZW1vcnlNYXBGb3JQ
YXRoKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdl
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpTdG9yYWdlOjpTdG9yYWdlKToK
KyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpTdG9yYWdlOjpzeW5jaHJvbml6ZSk6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6U3RvcmFnZTo6bWF5Q29udGFpbkJsb2IgY29u
c3QpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OlN0b3JhZ2U6OnNob3VsZFN0b3Jl
Qm9keUFzQmxvYik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6ZXN0aW1hdGVSZWNv
cmRzU2l6ZSk6IERlbGV0ZWQuCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29y
a0NhY2hlU3RvcmFnZS5oOgorCiAyMDE5LTA0LTI0ICBDb21taXQgUXVldWUgIDxjb21taXQtcXVl
dWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjQ0MjI4
LgpJbmRleDogU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVC
bG9iU3RvcmFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9jYWNoZS9OZXR3b3JrQ2FjaGVCbG9iU3RvcmFnZS5jcHAJKHJldmlzaW9uIDI0NDU5NikKKysr
IFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlQmxvYlN0b3Jh
Z2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05Myw3ICs5MywxMCBAQCBCbG9iU3RvcmFnZTo6Qmxv
YiBCbG9iU3RvcmFnZTo6YWRkKGNvbnN0CiAgICAgaWYgKGRhdGEuaXNFbXB0eSgpKQogICAgICAg
ICByZXR1cm4geyBkYXRhLCBoYXNoIH07CiAKLSAgICBhdXRvIGJsb2JQYXRoID0gRmlsZVN5c3Rl
bTo6ZmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKGJsb2JQYXRoRm9ySGFzaChoYXNoKSk7CisgICAg
U3RyaW5nIGJsb2JQYXRoU3RyaW5nID0gYmxvYlBhdGhGb3JIYXNoKGhhc2gpOworICAgIG1ha2VT
YWZlVG9Vc2VNZW1vcnlNYXBGb3JQYXRoKGJsb2JQYXRoU3RyaW5nKTsKKyAgICAKKyAgICBhdXRv
IGJsb2JQYXRoID0gRmlsZVN5c3RlbTo6ZmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKGJsb2JQYXRo
U3RyaW5nKTsKICAgICBhdXRvIGxpbmtQYXRoID0gRmlsZVN5c3RlbTo6ZmlsZVN5c3RlbVJlcHJl
c2VudGF0aW9uKHBhdGgpOwogICAgIHVubGluayhsaW5rUGF0aC5kYXRhKCkpOwogCkluZGV4OiBT
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUZpbGVTeXN0ZW0u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0
d29ya0NhY2hlRmlsZVN5c3RlbS5jcHAJKHJldmlzaW9uIDI0NDU5NykKKysrIFNvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlRmlsZVN5c3RlbS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTE0NiwxMCArMTQ2LDYgQEAgdm9pZCB1cGRhdGVGaWxlTW9kaWZpY2F0aW9u
VGltZUlmTmVlZGVkKAogfQogCiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCi1ib29sIGlzU2Fm
ZVRvVXNlTWVtb3J5TWFwRm9yUGF0aChjb25zdCBTdHJpbmcmKQotewotICAgIHJldHVybiB0cnVl
OwotfQogdm9pZCBtYWtlU2FmZVRvVXNlTWVtb3J5TWFwRm9yUGF0aChjb25zdCBTdHJpbmcmKQog
ewogfQpJbmRleDogU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2Fj
aGVGaWxlU3lzdGVtLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9jYWNoZS9OZXR3b3JrQ2FjaGVGaWxlU3lzdGVtLmgJKHJldmlzaW9uIDI0NDU5NykKKysrIFNv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlRmlsZVN5c3RlbS5o
CSh3b3JraW5nIGNvcHkpCkBAIC00Miw3ICs0Miw2IEBAIHN0cnVjdCBGaWxlVGltZXMgewogRmls
ZVRpbWVzIGZpbGVUaW1lcyhjb25zdCBTdHJpbmcmIHBhdGgpOwogdm9pZCB1cGRhdGVGaWxlTW9k
aWZpY2F0aW9uVGltZUlmTmVlZGVkKGNvbnN0IFN0cmluZyYgcGF0aCk7CiAKLWJvb2wgaXNTYWZl
VG9Vc2VNZW1vcnlNYXBGb3JQYXRoKGNvbnN0IFN0cmluZyYpOwogdm9pZCBtYWtlU2FmZVRvVXNl
TWVtb3J5TWFwRm9yUGF0aChjb25zdCBTdHJpbmcmKTsKIAogfQpJbmRleDogU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVGaWxlU3lzdGVtQ29jb2EubW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2Fj
aGVGaWxlU3lzdGVtQ29jb2EubW0JKHJldmlzaW9uIDI0NDU5NykKKysrIFNvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlRmlsZVN5c3RlbUNvY29hLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMywxMCArMzMsOCBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIG5hbWVzcGFj
ZSBOZXR3b3JrQ2FjaGUgewogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLWJvb2wgaXNTYWZl
VG9Vc2VNZW1vcnlNYXBGb3JQYXRoKGNvbnN0IFN0cmluZyYgcGF0aCkKK3N0YXRpYyBib29sIGlz
U2FmZVRvVXNlTWVtb3J5TWFwRm9yUGF0aChjb25zdCBTdHJpbmcmIHBhdGgpCiB7Ci0gICAgLy8g
RklYTUU6IEZvciB0aGUgbmV0d29yayBjYWNoZSB3ZSBzaG91bGQgZWl0aGVyIHVzZSBtYWtlU2Fm
ZVRvVXNlTWVtb3J5TWFwRm9yUGF0aCBpbnN0ZWFkIG9mIHRoaXMKLSAgICAvLyBvciB3ZSBzaG91
bGQgbGlzdGVuIHRvIFVJQXBwbGljYXRpb25Qcm90ZWN0ZWREYXRhV2lsbEJlY29tZVVuYXZhaWxh
YmxlIGFuZCB1bm1hcCBmaWxlcy4KICAgICBOU0Vycm9yICplcnJvciA9IG5pbDsKICAgICBOU0Rp
Y3Rpb25hcnk8TlNGaWxlQXR0cmlidXRlS2V5LCBpZD4gKmF0dHJpYnV0ZXMgPSBbW05TRmlsZU1h
bmFnZXIgZGVmYXVsdE1hbmFnZXJdIGF0dHJpYnV0ZXNPZkl0ZW1BdFBhdGg6cGF0aCBlcnJvcjom
ZXJyb3JdOwogICAgIGlmIChlcnJvcikgewpJbmRleDogU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2UuY3BwCShyZXZp
c2lvbiAyNDQ1OTYpCisrKyBTb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdv
cmtDYWNoZVN0b3JhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMjgsNyArMjI4LDYgQEAgU3Rv
cmFnZTo6U3RvcmFnZShjb25zdCBTdHJpbmcmIGJhc2VEaXJlYwogICAgICwgbV9yZWNvcmRzUGF0
aChtYWtlUmVjb3Jkc0RpcmVjdG9yeVBhdGgoYmFzZURpcmVjdG9yeVBhdGgpKQogICAgICwgbV9t
b2RlKG1vZGUpCiAgICAgLCBtX3NhbHQoc2FsdCkKLSAgICAsIG1fY2FuVXNlQmxvYnNGb3JGb3JC
b2R5RGF0YShpc1NhZmVUb1VzZU1lbW9yeU1hcEZvclBhdGgoYmFzZURpcmVjdG9yeVBhdGgpKQog
ICAgICwgbV9yZWFkT3BlcmF0aW9uVGltZW91dFRpbWVyKCp0aGlzLCAmU3RvcmFnZTo6Y2FuY2Vs
QWxsUmVhZE9wZXJhdGlvbnMpCiAgICAgLCBtX3dyaXRlT3BlcmF0aW9uRGlzcGF0Y2hUaW1lcigq
dGhpcywgJlN0b3JhZ2U6OmRpc3BhdGNoUGVuZGluZ1dyaXRlT3BlcmF0aW9ucykKICAgICAsIG1f
aW9RdWV1ZShXb3JrUXVldWU6OmNyZWF0ZSgiY29tLmFwcGxlLldlYktpdC5DYWNoZS5TdG9yYWdl
IiwgV29ya1F1ZXVlOjpUeXBlOjpDb25jdXJyZW50KSkKQEAgLTI3MiwxNCArMjcxLDYgQEAgc2l6
ZV90IFN0b3JhZ2U6OmFwcHJveGltYXRlU2l6ZSgpIGNvbnN0CiAgICAgcmV0dXJuIG1fYXBwcm94
aW1hdGVSZWNvcmRzU2l6ZSArIG1fYmxvYlN0b3JhZ2UuYXBwcm94aW1hdGVTaXplKCk7CiB9CiAK
LXN0YXRpYyBzaXplX3QgZXN0aW1hdGVSZWNvcmRzU2l6ZSh1bnNpZ25lZCByZWNvcmRDb3VudCwg
dW5zaWduZWQgYmxvYkNvdW50KQotewotICAgIGF1dG8gaW5saW5lQm9keUNvdW50ID0gcmVjb3Jk
Q291bnQgLSBzdGQ6Om1pbihibG9iQ291bnQsIHJlY29yZENvdW50KTsKLSAgICBhdXRvIGhlYWRl
clNpemVzID0gcmVjb3JkQ291bnQgKiA0MDk2OwotICAgIGF1dG8gaW5saW5lQm9keVNpemVzID0g
KG1heGltdW1JbmxpbmVCb2R5U2l6ZSAvIDIpICogaW5saW5lQm9keUNvdW50OwotICAgIHJldHVy
biBoZWFkZXJTaXplcyArIGlubGluZUJvZHlTaXplczsKLX0KLQogdm9pZCBTdG9yYWdlOjpzeW5j
aHJvbml6ZSgpCiB7CiAgICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKQEAgLTI5NSw3ICsy
ODYsNiBAQCB2b2lkIFN0b3JhZ2U6OnN5bmNocm9uaXplKCkKICAgICAgICAgYXV0byBibG9iRmls
dGVyID0gc3RkOjptYWtlX3VuaXF1ZTxDb250ZW50c0ZpbHRlcj4oKTsKIAogICAgICAgICAvLyBN
b3N0IG9mIHRoZSBkaXNrIHNwYWNlIHVzYWdlIGlzIGluIGJsb2JzIGlmIHdlIGFyZSB1c2luZyB0
aGVtLiBBcHByb3hpbWF0ZSByZWNvcmRzIGZpbGUgc2l6ZXMgdG8gYXZvaWQgZXhwZW5zaXZlIHN0
YXQoKSBjYWxscy4KLSAgICAgICAgYm9vbCBzaG91bGRDb21wdXRlRXhhY3RSZWNvcmRzU2l6ZSA9
ICFtX2NhblVzZUJsb2JzRm9yRm9yQm9keURhdGE7CiAgICAgICAgIHNpemVfdCByZWNvcmRzU2l6
ZSA9IDA7CiAgICAgICAgIHVuc2lnbmVkIHJlY29yZENvdW50ID0gMDsKICAgICAgICAgdW5zaWdu
ZWQgYmxvYkNvdW50ID0gMDsKQEAgLTMxOCwxNyArMzA4LDEwIEBAIHZvaWQgU3RvcmFnZTo6c3lu
Y2hyb25pemUoKQogCiAgICAgICAgICAgICArK3JlY29yZENvdW50OwogCi0gICAgICAgICAgICBp
ZiAoc2hvdWxkQ29tcHV0ZUV4YWN0UmVjb3Jkc1NpemUpIHsKLSAgICAgICAgICAgICAgICBsb25n
IGxvbmcgZmlsZVNpemUgPSAwOwotICAgICAgICAgICAgICAgIEZpbGVTeXN0ZW06OmdldEZpbGVT
aXplKGZpbGVQYXRoLCBmaWxlU2l6ZSk7Ci0gICAgICAgICAgICAgICAgcmVjb3Jkc1NpemUgKz0g
ZmlsZVNpemU7Ci0gICAgICAgICAgICB9Ci0KICAgICAgICAgICAgIHJlY29yZEZpbHRlci0+YWRk
KGhhc2gpOwogICAgICAgICB9KTsKIAotICAgICAgICBpZiAoIXNob3VsZENvbXB1dGVFeGFjdFJl
Y29yZHNTaXplKQotICAgICAgICAgICAgcmVjb3Jkc1NpemUgPSBlc3RpbWF0ZVJlY29yZHNTaXpl
KHJlY29yZENvdW50LCBibG9iQ291bnQpOworICAgICAgICByZWNvcmRzU2l6ZSA9IGVzdGltYXRl
UmVjb3Jkc1NpemUocmVjb3JkQ291bnQsIGJsb2JDb3VudCk7CiAKICAgICAgICAgbV9ibG9iU3Rv
cmFnZS5zeW5jaHJvbml6ZSgpOwogCkBAIC0zNzUsOCArMzU4LDYgQEAgYm9vbCBTdG9yYWdlOjpt
YXlDb250YWluKGNvbnN0IEtleSYga2V5KQogYm9vbCBTdG9yYWdlOjptYXlDb250YWluQmxvYihj
b25zdCBLZXkmIGtleSkgY29uc3QKIHsKICAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwot
ICAgIGlmICghbV9jYW5Vc2VCbG9ic0ZvckZvckJvZHlEYXRhKQotICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgcmV0dXJuICFtX2Jsb2JGaWx0ZXIgfHwgbV9ibG9iRmlsdGVyLT5tYXlDb250YWlu
KGtleS5oYXNoKCkpOwogfQogCkBAIC03OTIsOCArNzczLDYgQEAgdm9pZCBTdG9yYWdlOjpkaXNw
YXRjaFBlbmRpbmdXcml0ZU9wZXJhdAogCiBib29sIFN0b3JhZ2U6OnNob3VsZFN0b3JlQm9keUFz
QmxvYihjb25zdCBEYXRhJiBib2R5RGF0YSkKIHsKLSAgICBpZiAoIW1fY2FuVXNlQmxvYnNGb3JG
b3JCb2R5RGF0YSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIHJldHVybiBib2R5RGF0YS5z
aXplKCkgPiBtYXhpbXVtSW5saW5lQm9keVNpemU7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5o
CShyZXZpc2lvbiAyNDQ1OTYpCisrKyBTb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hl
L05ldHdvcmtDYWNoZVN0b3JhZ2UuaAkod29ya2luZyBjb3B5KQpAQCAtMTY5LDcgKzE2OSw2IEBA
IHByaXZhdGU6CiAgICAgCiAgICAgY29uc3QgTW9kZSBtX21vZGU7CiAgICAgY29uc3QgU2FsdCBt
X3NhbHQ7Ci0gICAgY29uc3QgYm9vbCBtX2NhblVzZUJsb2JzRm9yRm9yQm9keURhdGE7CiAKICAg
ICBzaXplX3QgbV9jYXBhY2l0eSB7IHN0ZDo6bnVtZXJpY19saW1pdHM8c2l6ZV90Pjo6bWF4KCkg
fTsKICAgICBzaXplX3QgbV9hcHByb3hpbWF0ZVJlY29yZHNTaXplIHsgMCB9Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>368243</attachid>
            <date>2019-04-25 10:22:21 -0700</date>
            <delta_ts>2019-04-25 23:06:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-197264-20190425102220.patch</filename>
            <type>text/plain</type>
            <size>7274</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDQ2MjkpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDE5LTA0LTI1ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTWFrZSBOZXR3b3Jr
Q2FjaGUgYmxvYnMgc2FmZSBmb3IgbW1hcCBpbnN0ZWFkIG9mIG5vdCB1c2luZyBibG9icworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk3MjY0CisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS80OTU2NDM0OD4KKworICAgICAgICBSZXZpZXdlZCBieSBBbnR0
aSBLb2l2aXN0by4KKworICAgICAgICBUaGlzIGRvZXMgd2hhdCByMjQ0NTk3IGRpZCBmb3IgV0tD
b250ZW50UnVsZUxpc3RzIGJ1dCBmb3IgdGhlIE5ldHdvcmtDYWNoZSdzIGJsb2JzLgorICAgICAg
ICBUaG9zZSBhcmUgdGhlIHR3byBjYXNlcyB3aGVyZSB3ZSB3ZXJlIGNhbGxpbmcgbW1hcCBhbmQg
c2VlaW5nIGNyYXNoZXMgaW4gYXBwcyB3aXRoCisgICAgICAgIGRlZmF1bHQgZmlsZSBwcm90ZWN0
aW9uIG9mIE5TRmlsZVByb3RlY3Rpb25Db21wbGV0ZS4KKworICAgICAgICAqIE5ldHdvcmtQcm9j
ZXNzL2NhY2hlL05ldHdvcmtDYWNoZUJsb2JTdG9yYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
TmV0d29ya0NhY2hlOjpCbG9iU3RvcmFnZTo6YWRkKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vz
cy9jYWNoZS9OZXR3b3JrQ2FjaGVGaWxlU3lzdGVtLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0
d29ya0NhY2hlOjppc1NhZmVUb1VzZU1lbW9yeU1hcEZvclBhdGgpOiBEZWxldGVkLgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUZpbGVTeXN0ZW0uaDoKKyAgICAg
ICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVGaWxlU3lzdGVtQ29jb2EubW06
CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6aXNTYWZlVG9Vc2VNZW1vcnlNYXBGb3JQ
YXRoKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdl
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpTdG9yYWdlOjpTdG9yYWdlKToK
KyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpTdG9yYWdlOjpzeW5jaHJvbml6ZSk6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6U3RvcmFnZTo6bWF5Q29udGFpbkJsb2IgY29u
c3QpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OlN0b3JhZ2U6OnNob3VsZFN0b3Jl
Qm9keUFzQmxvYik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6ZXN0aW1hdGVSZWNv
cmRzU2l6ZSk6IERlbGV0ZWQuCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29y
a0NhY2hlU3RvcmFnZS5oOgorCiAyMDE5LTA0LTI0ICBDb21taXQgUXVldWUgIDxjb21taXQtcXVl
dWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjQ0MjI4
LgpJbmRleDogU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVC
bG9iU3RvcmFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9jYWNoZS9OZXR3b3JrQ2FjaGVCbG9iU3RvcmFnZS5jcHAJKHJldmlzaW9uIDI0NDU5NikKKysr
IFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlQmxvYlN0b3Jh
Z2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05Myw3ICs5MywxMCBAQCBCbG9iU3RvcmFnZTo6Qmxv
YiBCbG9iU3RvcmFnZTo6YWRkKGNvbnN0CiAgICAgaWYgKGRhdGEuaXNFbXB0eSgpKQogICAgICAg
ICByZXR1cm4geyBkYXRhLCBoYXNoIH07CiAKLSAgICBhdXRvIGJsb2JQYXRoID0gRmlsZVN5c3Rl
bTo6ZmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKGJsb2JQYXRoRm9ySGFzaChoYXNoKSk7CisgICAg
U3RyaW5nIGJsb2JQYXRoU3RyaW5nID0gYmxvYlBhdGhGb3JIYXNoKGhhc2gpOworICAgIG1ha2VT
YWZlVG9Vc2VNZW1vcnlNYXBGb3JQYXRoKGJsb2JQYXRoU3RyaW5nKTsKKyAgICAKKyAgICBhdXRv
IGJsb2JQYXRoID0gRmlsZVN5c3RlbTo6ZmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKGJsb2JQYXRo
U3RyaW5nKTsKICAgICBhdXRvIGxpbmtQYXRoID0gRmlsZVN5c3RlbTo6ZmlsZVN5c3RlbVJlcHJl
c2VudGF0aW9uKHBhdGgpOwogICAgIHVubGluayhsaW5rUGF0aC5kYXRhKCkpOwogCkluZGV4OiBT
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUZpbGVTeXN0ZW0u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0
d29ya0NhY2hlRmlsZVN5c3RlbS5jcHAJKHJldmlzaW9uIDI0NDU5NykKKysrIFNvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlRmlsZVN5c3RlbS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTE0NiwxMCArMTQ2LDYgQEAgdm9pZCB1cGRhdGVGaWxlTW9kaWZpY2F0aW9u
VGltZUlmTmVlZGVkKAogfQogCiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCi1ib29sIGlzU2Fm
ZVRvVXNlTWVtb3J5TWFwRm9yUGF0aChjb25zdCBTdHJpbmcmKQotewotICAgIHJldHVybiB0cnVl
OwotfQogdm9pZCBtYWtlU2FmZVRvVXNlTWVtb3J5TWFwRm9yUGF0aChjb25zdCBTdHJpbmcmKQog
ewogfQpJbmRleDogU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2Fj
aGVGaWxlU3lzdGVtLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9jYWNoZS9OZXR3b3JrQ2FjaGVGaWxlU3lzdGVtLmgJKHJldmlzaW9uIDI0NDU5NykKKysrIFNv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlRmlsZVN5c3RlbS5o
CSh3b3JraW5nIGNvcHkpCkBAIC00Miw3ICs0Miw2IEBAIHN0cnVjdCBGaWxlVGltZXMgewogRmls
ZVRpbWVzIGZpbGVUaW1lcyhjb25zdCBTdHJpbmcmIHBhdGgpOwogdm9pZCB1cGRhdGVGaWxlTW9k
aWZpY2F0aW9uVGltZUlmTmVlZGVkKGNvbnN0IFN0cmluZyYgcGF0aCk7CiAKLWJvb2wgaXNTYWZl
VG9Vc2VNZW1vcnlNYXBGb3JQYXRoKGNvbnN0IFN0cmluZyYpOwogdm9pZCBtYWtlU2FmZVRvVXNl
TWVtb3J5TWFwRm9yUGF0aChjb25zdCBTdHJpbmcmKTsKIAogfQpJbmRleDogU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVGaWxlU3lzdGVtQ29jb2EubW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2Fj
aGVGaWxlU3lzdGVtQ29jb2EubW0JKHJldmlzaW9uIDI0NDU5NykKKysrIFNvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlRmlsZVN5c3RlbUNvY29hLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMywxMCArMzMsOCBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIG5hbWVzcGFj
ZSBOZXR3b3JrQ2FjaGUgewogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLWJvb2wgaXNTYWZl
VG9Vc2VNZW1vcnlNYXBGb3JQYXRoKGNvbnN0IFN0cmluZyYgcGF0aCkKK3N0YXRpYyBib29sIGlz
U2FmZVRvVXNlTWVtb3J5TWFwRm9yUGF0aChjb25zdCBTdHJpbmcmIHBhdGgpCiB7Ci0gICAgLy8g
RklYTUU6IEZvciB0aGUgbmV0d29yayBjYWNoZSB3ZSBzaG91bGQgZWl0aGVyIHVzZSBtYWtlU2Fm
ZVRvVXNlTWVtb3J5TWFwRm9yUGF0aCBpbnN0ZWFkIG9mIHRoaXMKLSAgICAvLyBvciB3ZSBzaG91
bGQgbGlzdGVuIHRvIFVJQXBwbGljYXRpb25Qcm90ZWN0ZWREYXRhV2lsbEJlY29tZVVuYXZhaWxh
YmxlIGFuZCB1bm1hcCBmaWxlcy4KICAgICBOU0Vycm9yICplcnJvciA9IG5pbDsKICAgICBOU0Rp
Y3Rpb25hcnk8TlNGaWxlQXR0cmlidXRlS2V5LCBpZD4gKmF0dHJpYnV0ZXMgPSBbW05TRmlsZU1h
bmFnZXIgZGVmYXVsdE1hbmFnZXJdIGF0dHJpYnV0ZXNPZkl0ZW1BdFBhdGg6cGF0aCBlcnJvcjom
ZXJyb3JdOwogICAgIGlmIChlcnJvcikgewpJbmRleDogU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2UuY3BwCShyZXZp
c2lvbiAyNDQ1OTYpCisrKyBTb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdv
cmtDYWNoZVN0b3JhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMjgsNyArMjI4LDYgQEAgU3Rv
cmFnZTo6U3RvcmFnZShjb25zdCBTdHJpbmcmIGJhc2VEaXJlYwogICAgICwgbV9yZWNvcmRzUGF0
aChtYWtlUmVjb3Jkc0RpcmVjdG9yeVBhdGgoYmFzZURpcmVjdG9yeVBhdGgpKQogICAgICwgbV9t
b2RlKG1vZGUpCiAgICAgLCBtX3NhbHQoc2FsdCkKLSAgICAsIG1fY2FuVXNlQmxvYnNGb3JGb3JC
b2R5RGF0YShpc1NhZmVUb1VzZU1lbW9yeU1hcEZvclBhdGgoYmFzZURpcmVjdG9yeVBhdGgpKQog
ICAgICwgbV9yZWFkT3BlcmF0aW9uVGltZW91dFRpbWVyKCp0aGlzLCAmU3RvcmFnZTo6Y2FuY2Vs
QWxsUmVhZE9wZXJhdGlvbnMpCiAgICAgLCBtX3dyaXRlT3BlcmF0aW9uRGlzcGF0Y2hUaW1lcigq
dGhpcywgJlN0b3JhZ2U6OmRpc3BhdGNoUGVuZGluZ1dyaXRlT3BlcmF0aW9ucykKICAgICAsIG1f
aW9RdWV1ZShXb3JrUXVldWU6OmNyZWF0ZSgiY29tLmFwcGxlLldlYktpdC5DYWNoZS5TdG9yYWdl
IiwgV29ya1F1ZXVlOjpUeXBlOjpDb25jdXJyZW50KSkKQEAgLTI5NSw3ICsyOTQsNiBAQCB2b2lk
IFN0b3JhZ2U6OnN5bmNocm9uaXplKCkKICAgICAgICAgYXV0byBibG9iRmlsdGVyID0gc3RkOjpt
YWtlX3VuaXF1ZTxDb250ZW50c0ZpbHRlcj4oKTsKIAogICAgICAgICAvLyBNb3N0IG9mIHRoZSBk
aXNrIHNwYWNlIHVzYWdlIGlzIGluIGJsb2JzIGlmIHdlIGFyZSB1c2luZyB0aGVtLiBBcHByb3hp
bWF0ZSByZWNvcmRzIGZpbGUgc2l6ZXMgdG8gYXZvaWQgZXhwZW5zaXZlIHN0YXQoKSBjYWxscy4K
LSAgICAgICAgYm9vbCBzaG91bGRDb21wdXRlRXhhY3RSZWNvcmRzU2l6ZSA9ICFtX2NhblVzZUJs
b2JzRm9yRm9yQm9keURhdGE7CiAgICAgICAgIHNpemVfdCByZWNvcmRzU2l6ZSA9IDA7CiAgICAg
ICAgIHVuc2lnbmVkIHJlY29yZENvdW50ID0gMDsKICAgICAgICAgdW5zaWduZWQgYmxvYkNvdW50
ID0gMDsKQEAgLTMxOCwxNyArMzE2LDEwIEBAIHZvaWQgU3RvcmFnZTo6c3luY2hyb25pemUoKQog
CiAgICAgICAgICAgICArK3JlY29yZENvdW50OwogCi0gICAgICAgICAgICBpZiAoc2hvdWxkQ29t
cHV0ZUV4YWN0UmVjb3Jkc1NpemUpIHsKLSAgICAgICAgICAgICAgICBsb25nIGxvbmcgZmlsZVNp
emUgPSAwOwotICAgICAgICAgICAgICAgIEZpbGVTeXN0ZW06OmdldEZpbGVTaXplKGZpbGVQYXRo
LCBmaWxlU2l6ZSk7Ci0gICAgICAgICAgICAgICAgcmVjb3Jkc1NpemUgKz0gZmlsZVNpemU7Ci0g
ICAgICAgICAgICB9Ci0KICAgICAgICAgICAgIHJlY29yZEZpbHRlci0+YWRkKGhhc2gpOwogICAg
ICAgICB9KTsKIAotICAgICAgICBpZiAoIXNob3VsZENvbXB1dGVFeGFjdFJlY29yZHNTaXplKQot
ICAgICAgICAgICAgcmVjb3Jkc1NpemUgPSBlc3RpbWF0ZVJlY29yZHNTaXplKHJlY29yZENvdW50
LCBibG9iQ291bnQpOworICAgICAgICByZWNvcmRzU2l6ZSA9IGVzdGltYXRlUmVjb3Jkc1NpemUo
cmVjb3JkQ291bnQsIGJsb2JDb3VudCk7CiAKICAgICAgICAgbV9ibG9iU3RvcmFnZS5zeW5jaHJv
bml6ZSgpOwogCkBAIC0zNzUsOCArMzY2LDYgQEAgYm9vbCBTdG9yYWdlOjptYXlDb250YWluKGNv
bnN0IEtleSYga2V5KQogYm9vbCBTdG9yYWdlOjptYXlDb250YWluQmxvYihjb25zdCBLZXkmIGtl
eSkgY29uc3QKIHsKICAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwotICAgIGlmICghbV9j
YW5Vc2VCbG9ic0ZvckZvckJvZHlEYXRhKQotICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgcmV0
dXJuICFtX2Jsb2JGaWx0ZXIgfHwgbV9ibG9iRmlsdGVyLT5tYXlDb250YWluKGtleS5oYXNoKCkp
OwogfQogCkBAIC03OTIsOCArNzgxLDYgQEAgdm9pZCBTdG9yYWdlOjpkaXNwYXRjaFBlbmRpbmdX
cml0ZU9wZXJhdAogCiBib29sIFN0b3JhZ2U6OnNob3VsZFN0b3JlQm9keUFzQmxvYihjb25zdCBE
YXRhJiBib2R5RGF0YSkKIHsKLSAgICBpZiAoIW1fY2FuVXNlQmxvYnNGb3JGb3JCb2R5RGF0YSkK
LSAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIHJldHVybiBib2R5RGF0YS5zaXplKCkgPiBtYXhp
bXVtSW5saW5lQm9keVNpemU7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5oCShyZXZpc2lvbiAy
NDQ1OTYpCisrKyBTb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNo
ZVN0b3JhZ2UuaAkod29ya2luZyBjb3B5KQpAQCAtMTY5LDcgKzE2OSw2IEBAIHByaXZhdGU6CiAg
ICAgCiAgICAgY29uc3QgTW9kZSBtX21vZGU7CiAgICAgY29uc3QgU2FsdCBtX3NhbHQ7Ci0gICAg
Y29uc3QgYm9vbCBtX2NhblVzZUJsb2JzRm9yRm9yQm9keURhdGE7CiAKICAgICBzaXplX3QgbV9j
YXBhY2l0eSB7IHN0ZDo6bnVtZXJpY19saW1pdHM8c2l6ZV90Pjo6bWF4KCkgfTsKICAgICBzaXpl
X3QgbV9hcHByb3hpbWF0ZVJlY29yZHNTaXplIHsgMCB9Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>