<?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>194924</bug_id>
          
          <creation_ts>2019-02-21 16:38:50 -0800</creation_ts>
          <short_desc>REGRESSION(PSON) Scroll position is sometimes not restored on history navigation</short_desc>
          <delta_ts>2019-02-22 10:25:06 -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>WebKit2</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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1508743</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-02-21 16:38:50 -0800</bug_when>
    <thetext>Scroll position is sometimes not restored on history navigation when PSON is enabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1508744</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-02-21 16:39:06 -0800</bug_when>
    <thetext>&lt;rdar://problem/48216125&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1508751</commentid>
    <comment_count>2</comment_count>
      <attachid>362671</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-02-21 16:45:01 -0800</bug_when>
    <thetext>Created attachment 362671
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1508759</commentid>
    <comment_count>3</comment_count>
      <attachid>362671</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-02-21 16:56:07 -0800</bug_when>
    <thetext>Comment on attachment 362671
Patch

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

&gt; Source/WebKit/WebProcess/WebPage/WebPage.cpp:2710
&gt; +    SetForScope&lt;void (*)(WebCore::HistoryItem&amp;)&gt; bypassHistoryItemUpdateNotifications(WebCore::notifyHistoryItemChanged, ignoreHistoryItemUpdates);

ignoreHistoryItemUpdates could be replaced by my favorite lambda [](auto){}

&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:4837
&gt;  TEST(ProcessSwap, ScrollPositionRestoration)

This test passes for me in debug before the change.  Is that expected?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1508782</commentid>
    <comment_count>4</comment_count>
      <attachid>362671</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-02-21 17:22:18 -0800</bug_when>
    <thetext>Comment on attachment 362671
Patch

A release build also shows the test doesn&apos;t exercise the fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1508806</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-02-21 18:20:28 -0800</bug_when>
    <thetext>(In reply to Alex Christensen from comment #4)
&gt; Comment on attachment 362671 [details]
&gt; Patch
&gt; 
&gt; A release build also shows the test doesn&apos;t exercise the fix.

Did you try on iOS? It definitely reproduced the bug for me with the iOS simulator.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1508807</commentid>
    <comment_count>6</comment_count>
      <attachid>362671</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-02-21 18:21:54 -0800</bug_when>
    <thetext>Comment on attachment 362671
Patch

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

Not sure why the r-

&gt;&gt; Source/WebKit/WebProcess/WebPage/WebPage.cpp:2710
&gt;&gt; +    SetForScope&lt;void (*)(WebCore::HistoryItem&amp;)&gt; bypassHistoryItemUpdateNotifications(WebCore::notifyHistoryItemChanged, ignoreHistoryItemUpdates);
&gt; 
&gt; ignoreHistoryItemUpdates could be replaced by my favorite lambda [](auto){}

Will this work even though it expects a function pointer?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1508808</commentid>
    <comment_count>7</comment_count>
      <attachid>362681</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-02-21 18:28:46 -0800</bug_when>
    <thetext>Created attachment 362681
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1508809</commentid>
    <comment_count>8</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-02-21 18:30:59 -0800</bug_when>
    <thetext>Attachment 362681 did not pass style-queue:


ERROR: Source/WebKit/WebProcess/WebPage/WebPage.cpp:2708:  Missing space before {  [whitespace/braces] [5]
ERROR: Source/WebKit/WebProcess/WebPage/WebPage.cpp:2708:  Missing space inside { }.  [whitespace/braces] [5]
Total errors found: 2 in 4 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>1508819</commentid>
    <comment_count>9</comment_count>
      <attachid>362681</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-02-21 19:00:58 -0800</bug_when>
    <thetext>Comment on attachment 362681
Patch

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

This seems sensible but I&apos;d like someone familiar with the relevant code review it.W

&gt; Source/WebKit/ChangeLog:14
&gt; +        wuch as the scroll position.

Nit: wuch.

&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:4863
&gt; +    TestWebKitAPI::Util::sleep(0.5);

What&apos;s up with all these sleeps?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1508838</commentid>
    <comment_count>10</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-02-21 19:38:37 -0800</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #9)
&gt; Comment on attachment 362681 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=362681&amp;action=review
&gt; 
&gt; This seems sensible but I&apos;d like someone familiar with the relevant code
&gt; review it.W
&gt; 
&gt; &gt; Source/WebKit/ChangeLog:14
&gt; &gt; +        wuch as the scroll position.
&gt; 
&gt; Nit: wuch.
&gt; 

Whoops.

&gt; &gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:4863
&gt; &gt; +    TestWebKitAPI::Util::sleep(0.5);
&gt; 
&gt; What&apos;s up with all these sleeps?

Need to give some time for the ipc to get received by the uiprocess.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1508842</commentid>
    <comment_count>11</comment_count>
      <attachid>362687</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-02-21 19:45:03 -0800</bug_when>
    <thetext>Created attachment 362687
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1508843</commentid>
    <comment_count>12</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-02-21 19:47:10 -0800</bug_when>
    <thetext>Attachment 362687 did not pass style-queue:


ERROR: Source/WebKit/WebProcess/WebPage/WebPage.cpp:2708:  Missing space before {  [whitespace/braces] [5]
ERROR: Source/WebKit/WebProcess/WebPage/WebPage.cpp:2708:  Missing space inside { }.  [whitespace/braces] [5]
Total errors found: 2 in 4 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>1508851</commentid>
    <comment_count>13</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-02-21 20:01:29 -0800</bug_when>
    <thetext>(In reply to Chris Dumez from comment #10)
&gt;
&gt; &gt; &gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:4863
&gt; &gt; &gt; +    TestWebKitAPI::Util::sleep(0.5);
&gt; &gt; 
&gt; &gt; What&apos;s up with all these sleeps?
&gt; 
&gt; Need to give some time for the ipc to get received by the uiprocess.

There&apos;s no way to round-trip IPC to web content process to ensure such a state? Relying on a sleep makes me worry that this test might become flaky in the future...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1508854</commentid>
    <comment_count>14</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-02-21 20:11:09 -0800</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #13)
&gt; (In reply to Chris Dumez from comment #10)
&gt; &gt;
&gt; &gt; &gt; &gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:4863
&gt; &gt; &gt; &gt; +    TestWebKitAPI::Util::sleep(0.5);
&gt; &gt; &gt; 
&gt; &gt; &gt; What&apos;s up with all these sleeps?
&gt; &gt; 
&gt; &gt; Need to give some time for the ipc to get received by the uiprocess.
&gt; 
&gt; There&apos;s no way to round-trip IPC to web content process to ensure such a
&gt; state? Relying on a sleep makes me worry that this test might become flaky
&gt; in the future...

I agree it is not ideal but I was already happy to be able to write a test for this. I will try to find a more robust way tomorrow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1508861</commentid>
    <comment_count>15</comment_count>
      <attachid>362689</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-02-21 20:40:45 -0800</bug_when>
    <thetext>Created attachment 362689
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1508862</commentid>
    <comment_count>16</comment_count>
      <attachid>362671</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-02-21 20:41:43 -0800</bug_when>
    <thetext>Comment on attachment 362671
Patch

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

&gt;&gt;&gt; Source/WebKit/WebProcess/WebPage/WebPage.cpp:2710
&gt;&gt;&gt; +    SetForScope&lt;void (*)(WebCore::HistoryItem&amp;)&gt; bypassHistoryItemUpdateNotifications(WebCore::notifyHistoryItemChanged, ignoreHistoryItemUpdates);
&gt;&gt; 
&gt;&gt; ignoreHistoryItemUpdates could be replaced by my favorite lambda [](auto){}
&gt; 
&gt; Will this work even though it expects a function pointer?

Your proposal did not build with WPE.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1508863</commentid>
    <comment_count>17</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-02-21 20:43:13 -0800</bug_when>
    <thetext>Attachment 362689 did not pass style-queue:


ERROR: Source/WebKit/WebProcess/WebPage/WebPage.cpp:2708:  Missing space before {  [whitespace/braces] [5]
ERROR: Source/WebKit/WebProcess/WebPage/WebPage.cpp:2708:  Missing space inside { }.  [whitespace/braces] [5]
Total errors found: 2 in 6 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>1508869</commentid>
    <comment_count>18</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-02-21 20:51:02 -0800</bug_when>
    <thetext>Woohoo found something that builds on WPE.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509030</commentid>
    <comment_count>19</comment_count>
      <attachid>362689</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2019-02-22 10:15:54 -0800</bug_when>
    <thetext>Comment on attachment 362689
Patch

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

r=me

&gt; Source/WebKit/ChangeLog:10
&gt; +        call restoreSessionInternal() to restore the HistoryItems based on the UIProcess&apos;

UIProcess&apos;s

&gt; Source/WebKit/ChangeLog:12
&gt; +        updates back to the UIProcess. Without PSON, this would be unnecessary but harmless.

When did this ever happen without PSON? (I think only PSON creates a new WebPage for backforward navigation.)

&gt; Source/WebKit/WebProcess/WebPage/WebPage.cpp:2705
&gt; +    // Since we&apos;re merely restoring HistoryItems from the UIProcess, there is no need to send HistoryItem update notifications back to the UIProcess.

I would comment more strongly: Avoid sending HistoryItem updates to the UIProcess because we may overwrite important in-flight state from the UI process (like scroll position).

&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:4816
&gt; +// Pages with dedicated workers do not go into page cache.
&gt; +var myWorker = new Worker(&apos;worker.js&apos;);

Seems like it would be nice to add window.internals.disablePageCache() for cases like this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509031</commentid>
    <comment_count>20</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-02-22 10:19:32 -0800</bug_when>
    <thetext>(In reply to Chris Dumez from comment #6)
&gt; Will this work even though it expects a function pointer?
Lambdas with no captures can be used as function pointers.  Lambdas with auto parameters are kind of like templates, which was probably what was causing problems with WPE.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509033</commentid>
    <comment_count>21</comment_count>
      <attachid>362689</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-02-22 10:21:35 -0800</bug_when>
    <thetext>Comment on attachment 362689
Patch

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

&gt;&gt; Source/WebKit/ChangeLog:12
&gt;&gt; +        updates back to the UIProcess. Without PSON, this would be unnecessary but harmless.
&gt; 
&gt; When did this ever happen without PSON? (I think only PSON creates a new WebPage for backforward navigation.)

After a crash.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509035</commentid>
    <comment_count>22</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-02-22 10:25:06 -0800</bug_when>
    <thetext>Committed r241950: &lt;https://trac.webkit.org/changeset/241950&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>362671</attachid>
            <date>2019-02-21 16:45:01 -0800</date>
            <delta_ts>2019-02-21 18:28:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-194924-20190221164459.patch</filename>
            <type>text/plain</type>
            <size>7042</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQxODY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDkyYzY2ZDRkY2ZhYWExNTJl
YTg4YzNkNzg1YTZjNGVlY2I5YjBlOGUuLmNmMWQwNDQwMmVmYWM5ZWNiZmFmODczMzcwZTRhYTI1
ZWJhMDAzZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTktMDItMjEgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OKFBTT04pIFNjcm9s
bCBwb3NpdGlvbiBpcyBzb21ldGltZXMgbm90IHJlc3RvcmVkIG9uIGhpc3RvcnkgbmF2aWdhdGlv
bgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk0OTI0
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80ODIxNjEyNT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIHByb2Nlc3Mtc3dhcHBpbmcsIHdlIHdv
dWxkIGNyZWF0ZSBhIG5ldyBXZWJQYWdlIGluIHRoZSBuZXcgcHJvY2Vzcywgd2hpY2ggd291bGQK
KyAgICAgICAgY2FsbCByZXN0b3JlU2Vzc2lvbkludGVybmFsKCkgdG8gcmVzdG9yZSB0aGUgSGlz
dG9yeUl0ZW1zIGJhc2VkIG9uIHRoZSBVSVByb2Nlc3MnCisgICAgICAgIGJhY2tmb3J3YXJkIGxp
c3QuIFRoZSBpc3N1ZSBpcyB0aGF0IHRoaXMgc2Vzc2lvbiByZXN0b3Jpbmcgd291bGQgc2VuZCBI
aXN0b3J5SXRlbQorICAgICAgICB1cGRhdGVzIGJhY2sgdG8gdGhlIFVJUHJvY2Vzcy4gV2l0aG91
dCBQU09OLCB0aGlzIHdvdWxkIGJlIHVubmVjZXNzYXJ5IGJ1dCBoYXJtbGVzcy4KKyAgICAgICAg
V2l0aCBQU09OIHRob3VnaCwgdGhpcyBtYXkgZW5kIHVwIG92ZXJ3cml0aW5nIHZhbHVlcyBzZXQg
YnkgdGhlIHByZXZpb3VzIHByb2Nlc3MsCisgICAgICAgIHd1Y2ggYXMgdGhlIHNjcm9sbCBwb3Np
dGlvbi4KKworICAgICAgICBBZGRyZXNzIHRoZSBpc3N1ZSBieSB0ZW1wb3JhcmlseSBkaXNhYmxp
bmcgdGhlIEhpc3RvcnlJdGVtIHVwZGF0ZSBub3RpZmljYXRpb25zIHRvCisgICAgICAgIHRoZSBV
SVByb2Nlc3Mgd2hpbGUgcmVzdG9yaW5nIGEgc2Vzc2lvbi4KKworICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6aWdub3JlSGlzdG9yeUl0
ZW1VcGRhdGVzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6cmVzdG9yZVNlc3Npb25JbnRl
cm5hbCk6CisKIDIwMTktMDItMjAgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgog
CiAgICAgICAgIE1ha2UgcHJvZ3JhbW1hdGljIGZyYW1lIHNjcm9sbGluZyB3b3JrIG9uIGlPUwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCAwODVk
ODJhOGU2NGQ5N2FiNjIxOTk0ODAwMGFiOWZjN2E5Yjc4ZmIwLi44ZDY2YTBiZGI3OTQ5ZWYxYjJk
MGM4ZjEyNGNkMWJhMjVkZjM2MjJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcApAQCAtMjcwMCw4ICsyNzAwLDE0IEBAIHZvaWQgV2ViUGFnZTo6c2V0
TmVlZHNGb250QXR0cmlidXRlcyhib29sIG5lZWRzRm9udEF0dHJpYnV0ZXMpCiAgICAgICAgIHNl
bmRQYXJ0aWFsRWRpdG9yU3RhdGVBbmRTY2hlZHVsZVBvc3RMYXlvdXRVcGRhdGUoKTsKIH0KIAor
c3RhdGljIHZvaWQgaWdub3JlSGlzdG9yeUl0ZW1VcGRhdGVzKFdlYkNvcmU6Okhpc3RvcnlJdGVt
JikKK3sKK30KKwogdm9pZCBXZWJQYWdlOjpyZXN0b3JlU2Vzc2lvbkludGVybmFsKGNvbnN0IFZl
Y3RvcjxCYWNrRm9yd2FyZExpc3RJdGVtU3RhdGU+JiBpdGVtU3RhdGVzLCBXYXNSZXN0b3JlZEJ5
QVBJUmVxdWVzdCByZXN0b3JlZEJ5QVBJUmVxdWVzdCwgV2ViQmFja0ZvcndhcmRMaXN0UHJveHk6
Ok92ZXJ3cml0ZUV4aXN0aW5nSXRlbSBvdmVyd3JpdGUpCiB7CisgICAgLy8gU2luY2Ugd2UncmUg
bWVyZWx5IHJlc3RvcmluZyBIaXN0b3J5SXRlbXMgZnJvbSB0aGUgVUlQcm9jZXNzLCB0aGVyZSBp
cyBubyBuZWVkIHRvIHNlbmQgSGlzdG9yeUl0ZW0gdXBkYXRlIG5vdGlmaWNhdGlvbnMgYmFjayB0
byB0aGUgVUlQcm9jZXNzLgorICAgIFNldEZvclNjb3BlPHZvaWQgKCopKFdlYkNvcmU6Okhpc3Rv
cnlJdGVtJik+IGJ5cGFzc0hpc3RvcnlJdGVtVXBkYXRlTm90aWZpY2F0aW9ucyhXZWJDb3JlOjpu
b3RpZnlIaXN0b3J5SXRlbUNoYW5nZWQsIGlnbm9yZUhpc3RvcnlJdGVtVXBkYXRlcyk7CiAgICAg
Zm9yIChjb25zdCBhdXRvJiBpdGVtU3RhdGUgOiBpdGVtU3RhdGVzKSB7CiAgICAgICAgIGF1dG8g
aGlzdG9yeUl0ZW0gPSB0b0hpc3RvcnlJdGVtKGl0ZW1TdGF0ZSk7CiAgICAgICAgIGhpc3RvcnlJ
dGVtLT5zZXRXYXNSZXN0b3JlZEZyb21TZXNzaW9uKHJlc3RvcmVkQnlBUElSZXF1ZXN0ID09IFdh
c1Jlc3RvcmVkQnlBUElSZXF1ZXN0OjpZZXMpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9n
IGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDRmMzJiMzdmNjBhZjFlNTE2NTI4ZmU1ZGE4OGY0YzFk
ZGEzNTQzMTAuLmI2OWEzNmFmMTYxZDA5MmExZDYxNzIwYzE3OTY3MDg3ZDE0NmI4ZWQgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NSBAQAorMjAxOS0wMi0yMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAg
ICAgIFJFR1JFU1NJT04oUFNPTikgU2Nyb2xsIHBvc2l0aW9uIGlzIHNvbWV0aW1lcyBub3QgcmVz
dG9yZWQgb24gaGlzdG9yeSBuYXZpZ2F0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xOTQ5MjQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ4MjE2
MTI1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCBBUEkgdGVzdCBjb3ZlcmFnZS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Q29jb2EvUHJvY2Vzc1N3YXBPbk5hdmlnYXRpb24ubW06CisKIDIwMTktMDItMjEgIFJvYiBC
dWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBVcGRhdGUgTUlNRSB0eXBlIHBhcnNl
cgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Qcm9j
ZXNzU3dhcE9uTmF2aWdhdGlvbi5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Q29jb2EvUHJvY2Vzc1N3YXBPbk5hdmlnYXRpb24ubW0KaW5kZXggMzdmNjc3M2IwYzg3MzI1N2Ri
NDk0OTYzYWUxY2ZjOGJhMWMwZTczYy4uNzQ4NjJlYmU0MmRiM2VjYjk2ZDIxYzExMzU1ZjE5ZjJk
MjAzNDA1OCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2Nv
YS9Qcm9jZXNzU3dhcE9uTmF2aWdhdGlvbi5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdENvY29hL1Byb2Nlc3NTd2FwT25OYXZpZ2F0aW9uLm1tCkBAIC00Nzk0LDYgKzQ3
OTQsOCBAQCBURVNUKFByb2Nlc3NTd2FwLCBHb0JhY2tUb1N1c3BlbmRlZFBhZ2VXaXRoTWFpbkZy
YW1lSURUaGF0SXNOb3RPbmUpCiAgICAgRVhQRUNUX0VRKHBpZDEsIHBpZDUpOwogfQogCisjZW5k
aWYgLy8gUExBVEZPUk0oTUFDKQorCiBzdGF0aWMgY29uc3QgY2hhciogdGFsbFBhZ2VCeXRlcyA9
IFIiUFNPTlJFU09VUkNFKAogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KQEAgLTQ4MDgsMTEgKzQ4
MTAsMzAgQEAgYm9keSB7CiA8L3N0eWxlPgogPC9oZWFkPgogPGJvZHk+Cis8c2NyaXB0PgorLy8g
UGFnZXMgd2l0aCBkZWRpY2F0ZWQgd29ya2VycyBkbyBub3QgZ28gaW50byBwYWdlIGNhY2hlLgor
dmFyIG15V29ya2VyID0gbmV3IFdvcmtlcignd29ya2VyLmpzJyk7Cis8L3NjcmlwdD4KIDxhIGlk
PSJ0ZXN0TGluayIgaHJlZj0icHNvbjovL3d3dy5hcHBsZS5jb20vbWFpbi5odG1sIj5UZXN0PC9h
PgogPC9ib2R5PgogPC9odG1sPgogKVBTT05SRVNPVVJDRSI7CiAKK3N0YXRpYyB1bnNpZ25lZCB3
YWl0VW50aWxTY3JvbGxQb3NpdGlvbklzUmVzdG9yZWQoV0tXZWJWaWV3ICp3ZWJWaWV3KQorewor
ICAgIHVuc2lnbmVkIHNjcm9sbFBvc2l0aW9uID0gMDsKKyAgICBkbyB7CisgICAgICAgIFt3ZWJW
aWV3IGV2YWx1YXRlSmF2YVNjcmlwdDpAIndpbmRvdy5zY3JvbGxZIiBjb21wbGV0aW9uSGFuZGxl
cjogWyZdIChpZCByZXN1bHQsIE5TRXJyb3IgKmVycm9yKSB7CisgICAgICAgICAgICBzY3JvbGxQ
b3NpdGlvbiA9IFtyZXN1bHQgaW50ZWdlclZhbHVlXTsKKyAgICAgICAgICAgIGRvbmUgPSB0cnVl
OworICAgICAgICB9XTsKKyAgICAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsK
KyAgICAgICAgZG9uZSA9IGZhbHNlOworICAgIH0gd2hpbGUgKCFzY3JvbGxQb3NpdGlvbik7CisK
KyAgICByZXR1cm4gc2Nyb2xsUG9zaXRpb247Cit9CisKIFRFU1QoUHJvY2Vzc1N3YXAsIFNjcm9s
bFBvc2l0aW9uUmVzdG9yYXRpb24pCiB7CiAgICAgYXV0byBwcm9jZXNzUG9vbENvbmZpZ3VyYXRp
b24gPSBwc29uUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uKCk7CkBAIC00ODI0LDggKzQ4NDUsNiBA
QCBURVNUKFByb2Nlc3NTd2FwLCBTY3JvbGxQb3NpdGlvblJlc3RvcmF0aW9uKQogICAgIFtoYW5k
bGVyIGFkZE1hcHBpbmdGcm9tVVJMU3RyaW5nOkAicHNvbjovL3d3dy53ZWJraXQub3JnL21haW4u
aHRtbCIgdG9EYXRhOnRhbGxQYWdlQnl0ZXNdOwogICAgIFt3ZWJWaWV3Q29uZmlndXJhdGlvbiBz
ZXRVUkxTY2hlbWVIYW5kbGVyOmhhbmRsZXIuZ2V0KCkgZm9yVVJMU2NoZW1lOkAiUFNPTiJdOwog
Ci0gICAgW1t3ZWJWaWV3Q29uZmlndXJhdGlvbiBwcmVmZXJlbmNlc10gX3NldFVzZXNQYWdlQ2Fj
aGU6Tk9dOwotCiAgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10g
aW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKSBjb25maWd1cmF0aW9uOndl
YlZpZXdDb25maWd1cmF0aW9uLmdldCgpXSk7CiAgICAgYXV0byBkZWxlZ2F0ZSA9IGFkb3B0TlMo
W1tQU09OTmF2aWdhdGlvbkRlbGVnYXRlIGFsbG9jXSBpbml0XSk7CiAgICAgW3dlYlZpZXcgc2V0
TmF2aWdhdGlvbkRlbGVnYXRlOmRlbGVnYXRlLmdldCgpXTsKQEAgLTQ4NDEsNiArNDg2MCw4IEBA
IFRFU1QoUHJvY2Vzc1N3YXAsIFNjcm9sbFBvc2l0aW9uUmVzdG9yYXRpb24pCiAgICAgVGVzdFdl
YktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKICAgICBkb25lID0gZmFsc2U7CiAKKyAgICBUZXN0
V2ViS2l0QVBJOjpVdGlsOjpzbGVlcCgwLjUpOworCiAgICAgW3dlYlZpZXcgZXZhbHVhdGVKYXZh
U2NyaXB0OkAidGVzdExpbmsuY2xpY2soKSIgY29tcGxldGlvbkhhbmRsZXI6IG5pbF07CiAKICAg
ICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOwpAQCAtNDg1MywxOSArNDg3NCw0NCBA
QCBURVNUKFByb2Nlc3NTd2FwLCBTY3JvbGxQb3NpdGlvblJlc3RvcmF0aW9uKQogICAgIFRlc3RX
ZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CiAgICAgZG9uZSA9IGZhbHNlOwogCisgICAgVGVz
dFdlYktpdEFQSTo6VXRpbDo6c2xlZXAoMC4xKTsKKwogICAgIFt3ZWJWaWV3IGdvQmFja107CiAg
ICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKICAgICBkb25lID0gZmFsc2U7CiAK
KyAgICBhdXRvIHNjcm9sbFBvc2l0aW9uID0gd2FpdFVudGlsU2Nyb2xsUG9zaXRpb25Jc1Jlc3Rv
cmVkKHdlYlZpZXcuZ2V0KCkpOworICAgIEVYUEVDVF9FUSg1MDAwVSwgc2Nyb2xsUG9zaXRpb24p
OworCisgICAgW3dlYlZpZXcgZXZhbHVhdGVKYXZhU2NyaXB0OkAic2Nyb2xsKDAsIDQwMDApIiBj
b21wbGV0aW9uSGFuZGxlcjogWyZdIChpZCByZXN1bHQsIE5TRXJyb3IgKmVycm9yKSB7CisgICAg
ICAgIGRvbmUgPSB0cnVlOworICAgIH1dOworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigm
ZG9uZSk7CisgICAgZG9uZSA9IGZhbHNlOworCisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6c2xl
ZXAoMC41KTsKKworICAgIFt3ZWJWaWV3IGV2YWx1YXRlSmF2YVNjcmlwdDpAInRlc3RMaW5rLmNs
aWNrKCkiIGNvbXBsZXRpb25IYW5kbGVyOiBuaWxdOworCisgICAgVGVzdFdlYktpdEFQSTo6VXRp
bDo6cnVuKCZkb25lKTsKKyAgICBkb25lID0gZmFsc2U7CisKICAgICBbd2ViVmlldyBldmFsdWF0
ZUphdmFTY3JpcHQ6QCJ3aW5kb3cuc2Nyb2xsWSIgY29tcGxldGlvbkhhbmRsZXI6IFsmXSAoaWQg
cmVzdWx0LCBOU0Vycm9yICplcnJvcikgewotICAgICAgICBFWFBFQ1RfRVEoNTAwMCwgW3Jlc3Vs
dCBpbnRlZ2VyVmFsdWVdKTsKKyAgICAgICAgRVhQRUNUX0VRKDAsIFtyZXN1bHQgaW50ZWdlclZh
bHVlXSk7CiAgICAgICAgIGRvbmUgPSB0cnVlOwogICAgIH1dOwogICAgIFRlc3RXZWJLaXRBUEk6
OlV0aWw6OnJ1bigmZG9uZSk7CiAgICAgZG9uZSA9IGZhbHNlOwotfQogCi0jZW5kaWYgLy8gUExB
VEZPUk0oTUFDKQorICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnNsZWVwKDAuMSk7CisKKyAgICBb
d2ViVmlldyBnb0JhY2tdOworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7Cisg
ICAgZG9uZSA9IGZhbHNlOworCisgICAgc2Nyb2xsUG9zaXRpb24gPSB3YWl0VW50aWxTY3JvbGxQ
b3NpdGlvbklzUmVzdG9yZWQod2ViVmlldy5nZXQoKSk7CisgICAgRVhQRUNUX0VRKDQwMDBVLCBz
Y3JvbGxQb3NpdGlvbik7Cit9CiAKIHN0YXRpYyBOU1N0cmluZyAqYmxvY2ttZUZpbHRlciA9IEAi
W3tcImFjdGlvblwiOntcInR5cGVcIjpcImJsb2NrXCJ9LFwidHJpZ2dlclwiOntcInVybC1maWx0
ZXJcIjpcIi4qYmxvY2ttZS5odG1sXCJ9fV0iOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>362681</attachid>
            <date>2019-02-21 18:28:46 -0800</date>
            <delta_ts>2019-02-21 19:44:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-194924-20190221182843.patch</filename>
            <type>text/plain</type>
            <size>6893</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQxODY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDkyYzY2ZDRkY2ZhYWExNTJl
YTg4YzNkNzg1YTZjNGVlY2I5YjBlOGUuLmNmMWQwNDQwMmVmYWM5ZWNiZmFmODczMzcwZTRhYTI1
ZWJhMDAzZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTktMDItMjEgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OKFBTT04pIFNjcm9s
bCBwb3NpdGlvbiBpcyBzb21ldGltZXMgbm90IHJlc3RvcmVkIG9uIGhpc3RvcnkgbmF2aWdhdGlv
bgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk0OTI0
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80ODIxNjEyNT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIHByb2Nlc3Mtc3dhcHBpbmcsIHdlIHdv
dWxkIGNyZWF0ZSBhIG5ldyBXZWJQYWdlIGluIHRoZSBuZXcgcHJvY2Vzcywgd2hpY2ggd291bGQK
KyAgICAgICAgY2FsbCByZXN0b3JlU2Vzc2lvbkludGVybmFsKCkgdG8gcmVzdG9yZSB0aGUgSGlz
dG9yeUl0ZW1zIGJhc2VkIG9uIHRoZSBVSVByb2Nlc3MnCisgICAgICAgIGJhY2tmb3J3YXJkIGxp
c3QuIFRoZSBpc3N1ZSBpcyB0aGF0IHRoaXMgc2Vzc2lvbiByZXN0b3Jpbmcgd291bGQgc2VuZCBI
aXN0b3J5SXRlbQorICAgICAgICB1cGRhdGVzIGJhY2sgdG8gdGhlIFVJUHJvY2Vzcy4gV2l0aG91
dCBQU09OLCB0aGlzIHdvdWxkIGJlIHVubmVjZXNzYXJ5IGJ1dCBoYXJtbGVzcy4KKyAgICAgICAg
V2l0aCBQU09OIHRob3VnaCwgdGhpcyBtYXkgZW5kIHVwIG92ZXJ3cml0aW5nIHZhbHVlcyBzZXQg
YnkgdGhlIHByZXZpb3VzIHByb2Nlc3MsCisgICAgICAgIHd1Y2ggYXMgdGhlIHNjcm9sbCBwb3Np
dGlvbi4KKworICAgICAgICBBZGRyZXNzIHRoZSBpc3N1ZSBieSB0ZW1wb3JhcmlseSBkaXNhYmxp
bmcgdGhlIEhpc3RvcnlJdGVtIHVwZGF0ZSBub3RpZmljYXRpb25zIHRvCisgICAgICAgIHRoZSBV
SVByb2Nlc3Mgd2hpbGUgcmVzdG9yaW5nIGEgc2Vzc2lvbi4KKworICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6aWdub3JlSGlzdG9yeUl0
ZW1VcGRhdGVzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6cmVzdG9yZVNlc3Npb25JbnRl
cm5hbCk6CisKIDIwMTktMDItMjAgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgog
CiAgICAgICAgIE1ha2UgcHJvZ3JhbW1hdGljIGZyYW1lIHNjcm9sbGluZyB3b3JrIG9uIGlPUwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCAwODVk
ODJhOGU2NGQ5N2FiNjIxOTk0ODAwMGFiOWZjN2E5Yjc4ZmIwLi5jMzE1NWQzYzhmZDNmYWZlM2E2
OTM5MGU0MzY3NmRiZjQ0Yjk1NzUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcApAQCAtMjcwMiw2ICsyNzAyLDggQEAgdm9pZCBXZWJQYWdlOjpzZXRO
ZWVkc0ZvbnRBdHRyaWJ1dGVzKGJvb2wgbmVlZHNGb250QXR0cmlidXRlcykKIAogdm9pZCBXZWJQ
YWdlOjpyZXN0b3JlU2Vzc2lvbkludGVybmFsKGNvbnN0IFZlY3RvcjxCYWNrRm9yd2FyZExpc3RJ
dGVtU3RhdGU+JiBpdGVtU3RhdGVzLCBXYXNSZXN0b3JlZEJ5QVBJUmVxdWVzdCByZXN0b3JlZEJ5
QVBJUmVxdWVzdCwgV2ViQmFja0ZvcndhcmRMaXN0UHJveHk6Ok92ZXJ3cml0ZUV4aXN0aW5nSXRl
bSBvdmVyd3JpdGUpCiB7CisgICAgLy8gU2luY2Ugd2UncmUgbWVyZWx5IHJlc3RvcmluZyBIaXN0
b3J5SXRlbXMgZnJvbSB0aGUgVUlQcm9jZXNzLCB0aGVyZSBpcyBubyBuZWVkIHRvIHNlbmQgSGlz
dG9yeUl0ZW0gdXBkYXRlIG5vdGlmaWNhdGlvbnMgYmFjayB0byB0aGUgVUlQcm9jZXNzLgorICAg
IFNldEZvclNjb3BlPHZvaWQgKCopKFdlYkNvcmU6Okhpc3RvcnlJdGVtJik+IGJ5cGFzc0hpc3Rv
cnlJdGVtVXBkYXRlTm90aWZpY2F0aW9ucyhXZWJDb3JlOjpub3RpZnlIaXN0b3J5SXRlbUNoYW5n
ZWQsIFtdKGF1dG8pe30pOwogICAgIGZvciAoY29uc3QgYXV0byYgaXRlbVN0YXRlIDogaXRlbVN0
YXRlcykgewogICAgICAgICBhdXRvIGhpc3RvcnlJdGVtID0gdG9IaXN0b3J5SXRlbShpdGVtU3Rh
dGUpOwogICAgICAgICBoaXN0b3J5SXRlbS0+c2V0V2FzUmVzdG9yZWRGcm9tU2Vzc2lvbihyZXN0
b3JlZEJ5QVBJUmVxdWVzdCA9PSBXYXNSZXN0b3JlZEJ5QVBJUmVxdWVzdDo6WWVzKTsKZGlmZiAt
LWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA0ZjMyYjM3ZjYw
YWYxZTUxNjUyOGZlNWRhODhmNGMxZGRhMzU0MzEwLi5iNjlhMzZhZjE2MWQwOTJhMWQ2MTcyMGMx
Nzk2NzA4N2QxNDZiOGVkIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTktMDItMjEgIENocmlzIER1bWV6ICA8Y2R1
bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OKFBTT04pIFNjcm9sbCBwb3NpdGlv
biBpcyBzb21ldGltZXMgbm90IHJlc3RvcmVkIG9uIGhpc3RvcnkgbmF2aWdhdGlvbgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk0OTI0CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS80ODIxNjEyNT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGQgQVBJIHRlc3QgY292ZXJhZ2UuCisKKyAgICAgICAgKiBU
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Byb2Nlc3NTd2FwT25OYXZpZ2F0aW9uLm1t
OgorCiAyMDE5LTAyLTIxICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAKICAgICAgICAg
VXBkYXRlIE1JTUUgdHlwZSBwYXJzZXIKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Q29jb2EvUHJvY2Vzc1N3YXBPbk5hdmlnYXRpb24ubW0gYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Byb2Nlc3NTd2FwT25OYXZpZ2F0aW9uLm1tCmlu
ZGV4IDM3ZjY3NzNiMGM4NzMyNTdkYjQ5NDk2M2FlMWNmYzhiYTFjMGU3M2MuLjc0ODYyZWJlNDJk
YjNlY2I5NmQyMWMxMTM1NWYxOWYyZDIwMzQwNTggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJvY2Vzc1N3YXBPbk5hdmlnYXRpb24ubW0KKysrIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Qcm9jZXNzU3dhcE9uTmF2aWdh
dGlvbi5tbQpAQCAtNDc5NCw2ICs0Nzk0LDggQEAgVEVTVChQcm9jZXNzU3dhcCwgR29CYWNrVG9T
dXNwZW5kZWRQYWdlV2l0aE1haW5GcmFtZUlEVGhhdElzTm90T25lKQogICAgIEVYUEVDVF9FUShw
aWQxLCBwaWQ1KTsKIH0KIAorI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykKKwogc3RhdGljIGNvbnN0
IGNoYXIqIHRhbGxQYWdlQnl0ZXMgPSBSIlBTT05SRVNPVVJDRSgKIDwhRE9DVFlQRSBodG1sPgog
PGh0bWw+CkBAIC00ODA4LDExICs0ODEwLDMwIEBAIGJvZHkgewogPC9zdHlsZT4KIDwvaGVhZD4K
IDxib2R5PgorPHNjcmlwdD4KKy8vIFBhZ2VzIHdpdGggZGVkaWNhdGVkIHdvcmtlcnMgZG8gbm90
IGdvIGludG8gcGFnZSBjYWNoZS4KK3ZhciBteVdvcmtlciA9IG5ldyBXb3JrZXIoJ3dvcmtlci5q
cycpOworPC9zY3JpcHQ+CiA8YSBpZD0idGVzdExpbmsiIGhyZWY9InBzb246Ly93d3cuYXBwbGUu
Y29tL21haW4uaHRtbCI+VGVzdDwvYT4KIDwvYm9keT4KIDwvaHRtbD4KIClQU09OUkVTT1VSQ0Ui
OwogCitzdGF0aWMgdW5zaWduZWQgd2FpdFVudGlsU2Nyb2xsUG9zaXRpb25Jc1Jlc3RvcmVkKFdL
V2ViVmlldyAqd2ViVmlldykKK3sKKyAgICB1bnNpZ25lZCBzY3JvbGxQb3NpdGlvbiA9IDA7Cisg
ICAgZG8geworICAgICAgICBbd2ViVmlldyBldmFsdWF0ZUphdmFTY3JpcHQ6QCJ3aW5kb3cuc2Ny
b2xsWSIgY29tcGxldGlvbkhhbmRsZXI6IFsmXSAoaWQgcmVzdWx0LCBOU0Vycm9yICplcnJvcikg
eworICAgICAgICAgICAgc2Nyb2xsUG9zaXRpb24gPSBbcmVzdWx0IGludGVnZXJWYWx1ZV07Cisg
ICAgICAgICAgICBkb25lID0gdHJ1ZTsKKyAgICAgICAgfV07CisgICAgICAgIFRlc3RXZWJLaXRB
UEk6OlV0aWw6OnJ1bigmZG9uZSk7CisgICAgICAgIGRvbmUgPSBmYWxzZTsKKyAgICB9IHdoaWxl
ICghc2Nyb2xsUG9zaXRpb24pOworCisgICAgcmV0dXJuIHNjcm9sbFBvc2l0aW9uOworfQorCiBU
RVNUKFByb2Nlc3NTd2FwLCBTY3JvbGxQb3NpdGlvblJlc3RvcmF0aW9uKQogewogICAgIGF1dG8g
cHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uID0gcHNvblByb2Nlc3NQb29sQ29uZmlndXJhdGlvbigp
OwpAQCAtNDgyNCw4ICs0ODQ1LDYgQEAgVEVTVChQcm9jZXNzU3dhcCwgU2Nyb2xsUG9zaXRpb25S
ZXN0b3JhdGlvbikKICAgICBbaGFuZGxlciBhZGRNYXBwaW5nRnJvbVVSTFN0cmluZzpAInBzb246
Ly93d3cud2Via2l0Lm9yZy9tYWluLmh0bWwiIHRvRGF0YTp0YWxsUGFnZUJ5dGVzXTsKICAgICBb
d2ViVmlld0NvbmZpZ3VyYXRpb24gc2V0VVJMU2NoZW1lSGFuZGxlcjpoYW5kbGVyLmdldCgpIGZv
clVSTFNjaGVtZTpAIlBTT04iXTsKIAotICAgIFtbd2ViVmlld0NvbmZpZ3VyYXRpb24gcHJlZmVy
ZW5jZXNdIF9zZXRVc2VzUGFnZUNhY2hlOk5PXTsKLQogICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0
TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA4MDAs
IDYwMCkgY29uZmlndXJhdGlvbjp3ZWJWaWV3Q29uZmlndXJhdGlvbi5nZXQoKV0pOwogICAgIGF1
dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtbUFNPTk5hdmlnYXRpb25EZWxlZ2F0ZSBhbGxvY10gaW5p
dF0pOwogICAgIFt3ZWJWaWV3IHNldE5hdmlnYXRpb25EZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07
CkBAIC00ODQxLDYgKzQ4NjAsOCBAQCBURVNUKFByb2Nlc3NTd2FwLCBTY3JvbGxQb3NpdGlvblJl
c3RvcmF0aW9uKQogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CiAgICAgZG9u
ZSA9IGZhbHNlOwogCisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6c2xlZXAoMC41KTsKKwogICAg
IFt3ZWJWaWV3IGV2YWx1YXRlSmF2YVNjcmlwdDpAInRlc3RMaW5rLmNsaWNrKCkiIGNvbXBsZXRp
b25IYW5kbGVyOiBuaWxdOwogCiAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsK
QEAgLTQ4NTMsMTkgKzQ4NzQsNDQgQEAgVEVTVChQcm9jZXNzU3dhcCwgU2Nyb2xsUG9zaXRpb25S
ZXN0b3JhdGlvbikKICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOwogICAgIGRv
bmUgPSBmYWxzZTsKIAorICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnNsZWVwKDAuMSk7CisKICAg
ICBbd2ViVmlldyBnb0JhY2tdOwogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7
CiAgICAgZG9uZSA9IGZhbHNlOwogCisgICAgYXV0byBzY3JvbGxQb3NpdGlvbiA9IHdhaXRVbnRp
bFNjcm9sbFBvc2l0aW9uSXNSZXN0b3JlZCh3ZWJWaWV3LmdldCgpKTsKKyAgICBFWFBFQ1RfRVEo
NTAwMFUsIHNjcm9sbFBvc2l0aW9uKTsKKworICAgIFt3ZWJWaWV3IGV2YWx1YXRlSmF2YVNjcmlw
dDpAInNjcm9sbCgwLCA0MDAwKSIgY29tcGxldGlvbkhhbmRsZXI6IFsmXSAoaWQgcmVzdWx0LCBO
U0Vycm9yICplcnJvcikgeworICAgICAgICBkb25lID0gdHJ1ZTsKKyAgICB9XTsKKyAgICBUZXN0
V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOworICAgIGRvbmUgPSBmYWxzZTsKKworICAgIFRl
c3RXZWJLaXRBUEk6OlV0aWw6OnNsZWVwKDAuNSk7CisKKyAgICBbd2ViVmlldyBldmFsdWF0ZUph
dmFTY3JpcHQ6QCJ0ZXN0TGluay5jbGljaygpIiBjb21wbGV0aW9uSGFuZGxlcjogbmlsXTsKKwor
ICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CisgICAgZG9uZSA9IGZhbHNlOwor
CiAgICAgW3dlYlZpZXcgZXZhbHVhdGVKYXZhU2NyaXB0OkAid2luZG93LnNjcm9sbFkiIGNvbXBs
ZXRpb25IYW5kbGVyOiBbJl0gKGlkIHJlc3VsdCwgTlNFcnJvciAqZXJyb3IpIHsKLSAgICAgICAg
RVhQRUNUX0VRKDUwMDAsIFtyZXN1bHQgaW50ZWdlclZhbHVlXSk7CisgICAgICAgIEVYUEVDVF9F
USgwLCBbcmVzdWx0IGludGVnZXJWYWx1ZV0pOwogICAgICAgICBkb25lID0gdHJ1ZTsKICAgICB9
XTsKICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOwogICAgIGRvbmUgPSBmYWxz
ZTsKLX0KIAotI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGls
OjpzbGVlcCgwLjEpOworCisgICAgW3dlYlZpZXcgZ29CYWNrXTsKKyAgICBUZXN0V2ViS2l0QVBJ
OjpVdGlsOjpydW4oJmRvbmUpOworICAgIGRvbmUgPSBmYWxzZTsKKworICAgIHNjcm9sbFBvc2l0
aW9uID0gd2FpdFVudGlsU2Nyb2xsUG9zaXRpb25Jc1Jlc3RvcmVkKHdlYlZpZXcuZ2V0KCkpOwor
ICAgIEVYUEVDVF9FUSg0MDAwVSwgc2Nyb2xsUG9zaXRpb24pOworfQogCiBzdGF0aWMgTlNTdHJp
bmcgKmJsb2NrbWVGaWx0ZXIgPSBAIlt7XCJhY3Rpb25cIjp7XCJ0eXBlXCI6XCJibG9ja1wifSxc
InRyaWdnZXJcIjp7XCJ1cmwtZmlsdGVyXCI6XCIuKmJsb2NrbWUuaHRtbFwifX1dIjsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>362687</attachid>
            <date>2019-02-21 19:45:03 -0800</date>
            <delta_ts>2019-02-21 20:40:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-194924-20190221194501.patch</filename>
            <type>text/plain</type>
            <size>6731</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQxODY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDkyYzY2ZDRkY2ZhYWExNTJl
YTg4YzNkNzg1YTZjNGVlY2I5YjBlOGUuLjk0YTM5ZmQwZWVjMTFkNjllZDVlNjI0Mzg3MGZiYjRk
NmQ1Yzk5NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTktMDItMjEgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OKFBTT04pIFNjcm9s
bCBwb3NpdGlvbiBpcyBzb21ldGltZXMgbm90IHJlc3RvcmVkIG9uIGhpc3RvcnkgbmF2aWdhdGlv
bgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk0OTI0
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80ODIxNjEyNT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIHByb2Nlc3Mtc3dhcHBpbmcsIHdlIHdv
dWxkIGNyZWF0ZSBhIG5ldyBXZWJQYWdlIGluIHRoZSBuZXcgcHJvY2Vzcywgd2hpY2ggd291bGQK
KyAgICAgICAgY2FsbCByZXN0b3JlU2Vzc2lvbkludGVybmFsKCkgdG8gcmVzdG9yZSB0aGUgSGlz
dG9yeUl0ZW1zIGJhc2VkIG9uIHRoZSBVSVByb2Nlc3MnCisgICAgICAgIGJhY2tmb3J3YXJkIGxp
c3QuIFRoZSBpc3N1ZSBpcyB0aGF0IHRoaXMgc2Vzc2lvbiByZXN0b3Jpbmcgd291bGQgc2VuZCBI
aXN0b3J5SXRlbQorICAgICAgICB1cGRhdGVzIGJhY2sgdG8gdGhlIFVJUHJvY2Vzcy4gV2l0aG91
dCBQU09OLCB0aGlzIHdvdWxkIGJlIHVubmVjZXNzYXJ5IGJ1dCBoYXJtbGVzcy4KKyAgICAgICAg
V2l0aCBQU09OIHRob3VnaCwgdGhpcyBtYXkgZW5kIHVwIG92ZXJ3cml0aW5nIHZhbHVlcyBzZXQg
YnkgdGhlIHByZXZpb3VzIHByb2Nlc3MsCisgICAgICAgIHN1Y2ggYXMgdGhlIHNjcm9sbCBwb3Np
dGlvbi4KKworICAgICAgICBBZGRyZXNzIHRoZSBpc3N1ZSBieSB0ZW1wb3JhcmlseSBkaXNhYmxp
bmcgdGhlIEhpc3RvcnlJdGVtIHVwZGF0ZSBub3RpZmljYXRpb25zIHRvCisgICAgICAgIHRoZSBV
SVByb2Nlc3Mgd2hpbGUgcmVzdG9yaW5nIGEgc2Vzc2lvbi4KKworICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6aWdub3JlSGlzdG9yeUl0
ZW1VcGRhdGVzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6cmVzdG9yZVNlc3Npb25JbnRl
cm5hbCk6CisKIDIwMTktMDItMjAgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgog
CiAgICAgICAgIE1ha2UgcHJvZ3JhbW1hdGljIGZyYW1lIHNjcm9sbGluZyB3b3JrIG9uIGlPUwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCAwODVk
ODJhOGU2NGQ5N2FiNjIxOTk0ODAwMGFiOWZjN2E5Yjc4ZmIwLi5jMzE1NWQzYzhmZDNmYWZlM2E2
OTM5MGU0MzY3NmRiZjQ0Yjk1NzUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcApAQCAtMjcwMiw2ICsyNzAyLDggQEAgdm9pZCBXZWJQYWdlOjpzZXRO
ZWVkc0ZvbnRBdHRyaWJ1dGVzKGJvb2wgbmVlZHNGb250QXR0cmlidXRlcykKIAogdm9pZCBXZWJQ
YWdlOjpyZXN0b3JlU2Vzc2lvbkludGVybmFsKGNvbnN0IFZlY3RvcjxCYWNrRm9yd2FyZExpc3RJ
dGVtU3RhdGU+JiBpdGVtU3RhdGVzLCBXYXNSZXN0b3JlZEJ5QVBJUmVxdWVzdCByZXN0b3JlZEJ5
QVBJUmVxdWVzdCwgV2ViQmFja0ZvcndhcmRMaXN0UHJveHk6Ok92ZXJ3cml0ZUV4aXN0aW5nSXRl
bSBvdmVyd3JpdGUpCiB7CisgICAgLy8gU2luY2Ugd2UncmUgbWVyZWx5IHJlc3RvcmluZyBIaXN0
b3J5SXRlbXMgZnJvbSB0aGUgVUlQcm9jZXNzLCB0aGVyZSBpcyBubyBuZWVkIHRvIHNlbmQgSGlz
dG9yeUl0ZW0gdXBkYXRlIG5vdGlmaWNhdGlvbnMgYmFjayB0byB0aGUgVUlQcm9jZXNzLgorICAg
IFNldEZvclNjb3BlPHZvaWQgKCopKFdlYkNvcmU6Okhpc3RvcnlJdGVtJik+IGJ5cGFzc0hpc3Rv
cnlJdGVtVXBkYXRlTm90aWZpY2F0aW9ucyhXZWJDb3JlOjpub3RpZnlIaXN0b3J5SXRlbUNoYW5n
ZWQsIFtdKGF1dG8pe30pOwogICAgIGZvciAoY29uc3QgYXV0byYgaXRlbVN0YXRlIDogaXRlbVN0
YXRlcykgewogICAgICAgICBhdXRvIGhpc3RvcnlJdGVtID0gdG9IaXN0b3J5SXRlbShpdGVtU3Rh
dGUpOwogICAgICAgICBoaXN0b3J5SXRlbS0+c2V0V2FzUmVzdG9yZWRGcm9tU2Vzc2lvbihyZXN0
b3JlZEJ5QVBJUmVxdWVzdCA9PSBXYXNSZXN0b3JlZEJ5QVBJUmVxdWVzdDo6WWVzKTsKZGlmZiAt
LWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA0ZjMyYjM3ZjYw
YWYxZTUxNjUyOGZlNWRhODhmNGMxZGRhMzU0MzEwLi5iNjlhMzZhZjE2MWQwOTJhMWQ2MTcyMGMx
Nzk2NzA4N2QxNDZiOGVkIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTktMDItMjEgIENocmlzIER1bWV6ICA8Y2R1
bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OKFBTT04pIFNjcm9sbCBwb3NpdGlv
biBpcyBzb21ldGltZXMgbm90IHJlc3RvcmVkIG9uIGhpc3RvcnkgbmF2aWdhdGlvbgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk0OTI0CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS80ODIxNjEyNT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGQgQVBJIHRlc3QgY292ZXJhZ2UuCisKKyAgICAgICAgKiBU
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Byb2Nlc3NTd2FwT25OYXZpZ2F0aW9uLm1t
OgorCiAyMDE5LTAyLTIxICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAKICAgICAgICAg
VXBkYXRlIE1JTUUgdHlwZSBwYXJzZXIKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Q29jb2EvUHJvY2Vzc1N3YXBPbk5hdmlnYXRpb24ubW0gYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Byb2Nlc3NTd2FwT25OYXZpZ2F0aW9uLm1tCmlu
ZGV4IDM3ZjY3NzNiMGM4NzMyNTdkYjQ5NDk2M2FlMWNmYzhiYTFjMGU3M2MuLjVmMTYwZWVhNTBm
NzBjZTE5ZTAwZDQyMTQ4YzVjNjc5NjhmOWU2MjggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJvY2Vzc1N3YXBPbk5hdmlnYXRpb24ubW0KKysrIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Qcm9jZXNzU3dhcE9uTmF2aWdh
dGlvbi5tbQpAQCAtNDc5NCw2ICs0Nzk0LDggQEAgVEVTVChQcm9jZXNzU3dhcCwgR29CYWNrVG9T
dXNwZW5kZWRQYWdlV2l0aE1haW5GcmFtZUlEVGhhdElzTm90T25lKQogICAgIEVYUEVDVF9FUShw
aWQxLCBwaWQ1KTsKIH0KIAorI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykKKwogc3RhdGljIGNvbnN0
IGNoYXIqIHRhbGxQYWdlQnl0ZXMgPSBSIlBTT05SRVNPVVJDRSgKIDwhRE9DVFlQRSBodG1sPgog
PGh0bWw+CkBAIC00ODA4LDExICs0ODEwLDMwIEBAIGJvZHkgewogPC9zdHlsZT4KIDwvaGVhZD4K
IDxib2R5PgorPHNjcmlwdD4KKy8vIFBhZ2VzIHdpdGggZGVkaWNhdGVkIHdvcmtlcnMgZG8gbm90
IGdvIGludG8gcGFnZSBjYWNoZS4KK3ZhciBteVdvcmtlciA9IG5ldyBXb3JrZXIoJ3dvcmtlci5q
cycpOworPC9zY3JpcHQ+CiA8YSBpZD0idGVzdExpbmsiIGhyZWY9InBzb246Ly93d3cuYXBwbGUu
Y29tL21haW4uaHRtbCI+VGVzdDwvYT4KIDwvYm9keT4KIDwvaHRtbD4KIClQU09OUkVTT1VSQ0Ui
OwogCitzdGF0aWMgdW5zaWduZWQgd2FpdFVudGlsU2Nyb2xsUG9zaXRpb25Jc1Jlc3RvcmVkKFdL
V2ViVmlldyAqd2ViVmlldykKK3sKKyAgICB1bnNpZ25lZCBzY3JvbGxQb3NpdGlvbiA9IDA7Cisg
ICAgZG8geworICAgICAgICBbd2ViVmlldyBldmFsdWF0ZUphdmFTY3JpcHQ6QCJ3aW5kb3cuc2Ny
b2xsWSIgY29tcGxldGlvbkhhbmRsZXI6IFsmXSAoaWQgcmVzdWx0LCBOU0Vycm9yICplcnJvcikg
eworICAgICAgICAgICAgc2Nyb2xsUG9zaXRpb24gPSBbcmVzdWx0IGludGVnZXJWYWx1ZV07Cisg
ICAgICAgICAgICBkb25lID0gdHJ1ZTsKKyAgICAgICAgfV07CisgICAgICAgIFRlc3RXZWJLaXRB
UEk6OlV0aWw6OnJ1bigmZG9uZSk7CisgICAgICAgIGRvbmUgPSBmYWxzZTsKKyAgICB9IHdoaWxl
ICghc2Nyb2xsUG9zaXRpb24pOworCisgICAgcmV0dXJuIHNjcm9sbFBvc2l0aW9uOworfQorCiBU
RVNUKFByb2Nlc3NTd2FwLCBTY3JvbGxQb3NpdGlvblJlc3RvcmF0aW9uKQogewogICAgIGF1dG8g
cHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uID0gcHNvblByb2Nlc3NQb29sQ29uZmlndXJhdGlvbigp
OwpAQCAtNDgyNCw4ICs0ODQ1LDYgQEAgVEVTVChQcm9jZXNzU3dhcCwgU2Nyb2xsUG9zaXRpb25S
ZXN0b3JhdGlvbikKICAgICBbaGFuZGxlciBhZGRNYXBwaW5nRnJvbVVSTFN0cmluZzpAInBzb246
Ly93d3cud2Via2l0Lm9yZy9tYWluLmh0bWwiIHRvRGF0YTp0YWxsUGFnZUJ5dGVzXTsKICAgICBb
d2ViVmlld0NvbmZpZ3VyYXRpb24gc2V0VVJMU2NoZW1lSGFuZGxlcjpoYW5kbGVyLmdldCgpIGZv
clVSTFNjaGVtZTpAIlBTT04iXTsKIAotICAgIFtbd2ViVmlld0NvbmZpZ3VyYXRpb24gcHJlZmVy
ZW5jZXNdIF9zZXRVc2VzUGFnZUNhY2hlOk5PXTsKLQogICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0
TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA4MDAs
IDYwMCkgY29uZmlndXJhdGlvbjp3ZWJWaWV3Q29uZmlndXJhdGlvbi5nZXQoKV0pOwogICAgIGF1
dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtbUFNPTk5hdmlnYXRpb25EZWxlZ2F0ZSBhbGxvY10gaW5p
dF0pOwogICAgIFt3ZWJWaWV3IHNldE5hdmlnYXRpb25EZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07
CkBAIC00ODQxLDYgKzQ4NjAsOCBAQCBURVNUKFByb2Nlc3NTd2FwLCBTY3JvbGxQb3NpdGlvblJl
c3RvcmF0aW9uKQogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CiAgICAgZG9u
ZSA9IGZhbHNlOwogCisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6c2xlZXAoMC41KTsKKwogICAg
IFt3ZWJWaWV3IGV2YWx1YXRlSmF2YVNjcmlwdDpAInRlc3RMaW5rLmNsaWNrKCkiIGNvbXBsZXRp
b25IYW5kbGVyOiBuaWxdOwogCiAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsK
QEAgLTQ4NTcsMTUgKzQ4NzgsMzYgQEAgVEVTVChQcm9jZXNzU3dhcCwgU2Nyb2xsUG9zaXRpb25S
ZXN0b3JhdGlvbikKICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOwogICAgIGRv
bmUgPSBmYWxzZTsKIAorICAgIGF1dG8gc2Nyb2xsUG9zaXRpb24gPSB3YWl0VW50aWxTY3JvbGxQ
b3NpdGlvbklzUmVzdG9yZWQod2ViVmlldy5nZXQoKSk7CisgICAgRVhQRUNUX0VRKDUwMDBVLCBz
Y3JvbGxQb3NpdGlvbik7CisKKyAgICBbd2ViVmlldyBldmFsdWF0ZUphdmFTY3JpcHQ6QCJzY3Jv
bGwoMCwgNDAwMCkiIGNvbXBsZXRpb25IYW5kbGVyOiBbJl0gKGlkIHJlc3VsdCwgTlNFcnJvciAq
ZXJyb3IpIHsKKyAgICAgICAgZG9uZSA9IHRydWU7CisgICAgfV07CisgICAgVGVzdFdlYktpdEFQ
STo6VXRpbDo6cnVuKCZkb25lKTsKKyAgICBkb25lID0gZmFsc2U7CisKKyAgICBUZXN0V2ViS2l0
QVBJOjpVdGlsOjpzbGVlcCgwLjUpOworCisgICAgW3dlYlZpZXcgZXZhbHVhdGVKYXZhU2NyaXB0
OkAidGVzdExpbmsuY2xpY2soKSIgY29tcGxldGlvbkhhbmRsZXI6IG5pbF07CisKKyAgICBUZXN0
V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOworICAgIGRvbmUgPSBmYWxzZTsKKwogICAgIFt3
ZWJWaWV3IGV2YWx1YXRlSmF2YVNjcmlwdDpAIndpbmRvdy5zY3JvbGxZIiBjb21wbGV0aW9uSGFu
ZGxlcjogWyZdIChpZCByZXN1bHQsIE5TRXJyb3IgKmVycm9yKSB7Ci0gICAgICAgIEVYUEVDVF9F
USg1MDAwLCBbcmVzdWx0IGludGVnZXJWYWx1ZV0pOworICAgICAgICBFWFBFQ1RfRVEoMCwgW3Jl
c3VsdCBpbnRlZ2VyVmFsdWVdKTsKICAgICAgICAgZG9uZSA9IHRydWU7CiAgICAgfV07CiAgICAg
VGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKICAgICBkb25lID0gZmFsc2U7Ci19CiAK
LSNlbmRpZiAvLyBQTEFURk9STShNQUMpCisgICAgW3dlYlZpZXcgZ29CYWNrXTsKKyAgICBUZXN0
V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOworICAgIGRvbmUgPSBmYWxzZTsKKworICAgIHNj
cm9sbFBvc2l0aW9uID0gd2FpdFVudGlsU2Nyb2xsUG9zaXRpb25Jc1Jlc3RvcmVkKHdlYlZpZXcu
Z2V0KCkpOworICAgIEVYUEVDVF9FUSg0MDAwVSwgc2Nyb2xsUG9zaXRpb24pOworfQogCiBzdGF0
aWMgTlNTdHJpbmcgKmJsb2NrbWVGaWx0ZXIgPSBAIlt7XCJhY3Rpb25cIjp7XCJ0eXBlXCI6XCJi
bG9ja1wifSxcInRyaWdnZXJcIjp7XCJ1cmwtZmlsdGVyXCI6XCIuKmJsb2NrbWUuaHRtbFwifX1d
IjsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>362689</attachid>
            <date>2019-02-21 20:40:45 -0800</date>
            <delta_ts>2019-02-22 10:15:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-194924-20190221204043.patch</filename>
            <type>text/plain</type>
            <size>8691</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQxODY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDkyYzY2ZDRkY2ZhYWExNTJl
YTg4YzNkNzg1YTZjNGVlY2I5YjBlOGUuLjMxY2NlNDBhMDU1ZGI4MWY4MmFiNDNlZmZlNTdjZDJi
NjJjYzJiODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTktMDItMjEgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OKFBTT04pIFNjcm9s
bCBwb3NpdGlvbiBpcyBzb21ldGltZXMgbm90IHJlc3RvcmVkIG9uIGhpc3RvcnkgbmF2aWdhdGlv
bgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk0OTI0
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80ODIxNjEyNT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIHByb2Nlc3Mtc3dhcHBpbmcsIHdlIHdv
dWxkIGNyZWF0ZSBhIG5ldyBXZWJQYWdlIGluIHRoZSBuZXcgcHJvY2Vzcywgd2hpY2ggd291bGQK
KyAgICAgICAgY2FsbCByZXN0b3JlU2Vzc2lvbkludGVybmFsKCkgdG8gcmVzdG9yZSB0aGUgSGlz
dG9yeUl0ZW1zIGJhc2VkIG9uIHRoZSBVSVByb2Nlc3MnCisgICAgICAgIGJhY2tmb3J3YXJkIGxp
c3QuIFRoZSBpc3N1ZSBpcyB0aGF0IHRoaXMgc2Vzc2lvbiByZXN0b3Jpbmcgd291bGQgc2VuZCBI
aXN0b3J5SXRlbQorICAgICAgICB1cGRhdGVzIGJhY2sgdG8gdGhlIFVJUHJvY2Vzcy4gV2l0aG91
dCBQU09OLCB0aGlzIHdvdWxkIGJlIHVubmVjZXNzYXJ5IGJ1dCBoYXJtbGVzcy4KKyAgICAgICAg
V2l0aCBQU09OIHRob3VnaCwgdGhpcyBtYXkgZW5kIHVwIG92ZXJ3cml0aW5nIHZhbHVlcyBzZXQg
YnkgdGhlIHByZXZpb3VzIHByb2Nlc3MsCisgICAgICAgIHN1Y2ggYXMgdGhlIHNjcm9sbCBwb3Np
dGlvbi4KKworICAgICAgICBBZGRyZXNzIHRoZSBpc3N1ZSBieSB0ZW1wb3JhcmlseSBkaXNhYmxp
bmcgdGhlIEhpc3RvcnlJdGVtIHVwZGF0ZSBub3RpZmljYXRpb25zIHRvCisgICAgICAgIHRoZSBV
SVByb2Nlc3Mgd2hpbGUgcmVzdG9yaW5nIGEgc2Vzc2lvbi4KKworICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tCYWNrRm9yd2FyZExpc3RJdGVtLm1tOgorICAgICAgICAoLVtXS0JhY2tG
b3J3YXJkTGlzdEl0ZW0gX3Njcm9sbFBvc2l0aW9uXSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS0JhY2tGb3J3YXJkTGlzdEl0ZW1Qcml2YXRlLmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpyZXN0
b3JlU2Vzc2lvbkludGVybmFsKToKKwogMjAxOS0wMi0yMCAgQW50dGkgS29pdmlzdG8gIDxhbnR0
aUBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSBwcm9ncmFtbWF0aWMgZnJhbWUgc2Nyb2xsaW5n
IHdvcmsgb24gaU9TCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tCYWNrRm9yd2FyZExpc3RJdGVtLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLQmFja0ZvcndhcmRMaXN0SXRlbS5tbQppbmRleCBjZDgxOGVmZDVlNmQyOWE5NDI2
ZDE4OGY2ZWE4ZTExNzkyNTdkODIyLi42ZDhkOGIzZGJmNTJkYTdhMzU0OTdjMGJmNTc3Mzc2OGY1
ZmIzMzA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tC
YWNrRm9yd2FyZExpc3RJdGVtLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS0JhY2tGb3J3YXJkTGlzdEl0ZW0ubW0KQEAgLTcxLDYgKzcxLDExIEBAIC0gKENHSW1h
Z2VSZWYpX2NvcHlTbmFwc2hvdEZvclRlc3RpbmcKICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAor
LSAoQ0dQb2ludCkgX3Njcm9sbFBvc2l0aW9uCit7CisgICAgcmV0dXJuIENHUG9pbnRNYWtlKF9p
dGVtLT5wYWdlU3RhdGUoKS5tYWluRnJhbWVTdGF0ZS5zY3JvbGxQb3NpdGlvbi54KCksIF9pdGVt
LT5wYWdlU3RhdGUoKS5tYWluRnJhbWVTdGF0ZS5zY3JvbGxQb3NpdGlvbi55KCkpOworfQorCiAj
cHJhZ21hIG1hcmsgV0tPYmplY3QgcHJvdG9jb2wgaW1wbGVtZW50YXRpb24KIAogLSAoQVBJOjpP
YmplY3QmKV9hcGlPYmplY3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS0JhY2tGb3J3YXJkTGlzdEl0ZW1Qcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tCYWNrRm9yd2FyZExpc3RJdGVtUHJpdmF0ZS5oCmluZGV4IDYy
Mzg3NzE4NzRjZTUxOTUwZTc0Mjg0Y2VmODE4ZWEzZmYyZmJhMjYuLjNkMzBhYzhhYWI1ZmE3ZmI5
ZTJlZjE1MWI5MDQyNTNiZTNiNzdkYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS0JhY2tGb3J3YXJkTGlzdEl0ZW1Qcml2YXRlLmgKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQmFja0ZvcndhcmRMaXN0SXRlbVByaXZhdGUu
aApAQCAtMzIsNiArMzIsOCBAQAogLy8gRm9yIHRlc3Rpbmcgb25seS4KIC0gKENHSW1hZ2VSZWYp
X2NvcHlTbmFwc2hvdEZvclRlc3RpbmcgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTIuMyks
IGlvcygxMC4zKSk7CiAKK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBDR1BvaW50IF9zY3JvbGxQb3Np
dGlvbiBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEp
KTsKKwogQGVuZAogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5jcHAKaW5kZXggMDg1ZDgyYThlNjRkOTdhYjYyMTk5NDgwMDBhYjlmYzdhOWI3OGZi
MC4uYWY2MDgxNzNmZmFhYWNiN2IwMzY1ZmUzN2ExZGQ0OWI3NGYzOGQ5NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTI3MDIsNiArMjcwMiw4
IEBAIHZvaWQgV2ViUGFnZTo6c2V0TmVlZHNGb250QXR0cmlidXRlcyhib29sIG5lZWRzRm9udEF0
dHJpYnV0ZXMpCiAKIHZvaWQgV2ViUGFnZTo6cmVzdG9yZVNlc3Npb25JbnRlcm5hbChjb25zdCBW
ZWN0b3I8QmFja0ZvcndhcmRMaXN0SXRlbVN0YXRlPiYgaXRlbVN0YXRlcywgV2FzUmVzdG9yZWRC
eUFQSVJlcXVlc3QgcmVzdG9yZWRCeUFQSVJlcXVlc3QsIFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5
OjpPdmVyd3JpdGVFeGlzdGluZ0l0ZW0gb3ZlcndyaXRlKQogeworICAgIC8vIFNpbmNlIHdlJ3Jl
IG1lcmVseSByZXN0b3JpbmcgSGlzdG9yeUl0ZW1zIGZyb20gdGhlIFVJUHJvY2VzcywgdGhlcmUg
aXMgbm8gbmVlZCB0byBzZW5kIEhpc3RvcnlJdGVtIHVwZGF0ZSBub3RpZmljYXRpb25zIGJhY2sg
dG8gdGhlIFVJUHJvY2Vzcy4KKyAgICBTZXRGb3JTY29wZTx2b2lkICgqKShXZWJDb3JlOjpIaXN0
b3J5SXRlbSYpPiBieXBhc3NIaXN0b3J5SXRlbVVwZGF0ZU5vdGlmaWNhdGlvbnMoV2ViQ29yZTo6
bm90aWZ5SGlzdG9yeUl0ZW1DaGFuZ2VkLCBbXShXZWJDb3JlOjpIaXN0b3J5SXRlbSYpe30pOwog
ICAgIGZvciAoY29uc3QgYXV0byYgaXRlbVN0YXRlIDogaXRlbVN0YXRlcykgewogICAgICAgICBh
dXRvIGhpc3RvcnlJdGVtID0gdG9IaXN0b3J5SXRlbShpdGVtU3RhdGUpOwogICAgICAgICBoaXN0
b3J5SXRlbS0+c2V0V2FzUmVzdG9yZWRGcm9tU2Vzc2lvbihyZXN0b3JlZEJ5QVBJUmVxdWVzdCA9
PSBXYXNSZXN0b3JlZEJ5QVBJUmVxdWVzdDo6WWVzKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5n
ZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA0ZjMyYjM3ZjYwYWYxZTUxNjUyOGZlNWRhODhm
NGMxZGRhMzU0MzEwLi5iNjlhMzZhZjE2MWQwOTJhMWQ2MTcyMGMxNzk2NzA4N2QxNDZiOGVkIDEw
MDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTUgQEAKKzIwMTktMDItMjEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwor
ICAgICAgICBSRUdSRVNTSU9OKFBTT04pIFNjcm9sbCBwb3NpdGlvbiBpcyBzb21ldGltZXMgbm90
IHJlc3RvcmVkIG9uIGhpc3RvcnkgbmF2aWdhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk0OTI0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80
ODIxNjEyNT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgQVBJIHRlc3QgY292ZXJhZ2UuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL1Byb2Nlc3NTd2FwT25OYXZpZ2F0aW9uLm1tOgorCiAyMDE5LTAyLTIxICBS
b2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgVXBkYXRlIE1JTUUgdHlwZSBw
YXJzZXIKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Ev
UHJvY2Vzc1N3YXBPbk5hdmlnYXRpb24ubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdENvY29hL1Byb2Nlc3NTd2FwT25OYXZpZ2F0aW9uLm1tCmluZGV4IDM3ZjY3NzNiMGM4NzMy
NTdkYjQ5NDk2M2FlMWNmYzhiYTFjMGU3M2MuLjBhYzliMjhkOThkMjY5NTdiNzNiZTMyOTA0ZWUw
MjBlMjc2ZjQzZGIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Q29jb2EvUHJvY2Vzc1N3YXBPbk5hdmlnYXRpb24ubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXRDb2NvYS9Qcm9jZXNzU3dhcE9uTmF2aWdhdGlvbi5tbQpAQCAtMjksNiAr
MjksNyBAQAogI2ltcG9ydCAiVGVzdC5oIgogI2ltcG9ydCAiVGVzdE5hdmlnYXRpb25EZWxlZ2F0
ZS5oIgogI2ltcG9ydCAiVGVzdFdLV2ViVmlldy5oIgorI2ltcG9ydCA8V2ViS2l0L1dLQmFja0Zv
cndhcmRMaXN0SXRlbVByaXZhdGUuaD4KICNpbXBvcnQgPFdlYktpdC9XS0NvbnRlbnRSdWxlTGlz
dFN0b3JlLmg+CiAjaW1wb3J0IDxXZWJLaXQvV0tOYXZpZ2F0aW9uRGVsZWdhdGVQcml2YXRlLmg+
CiAjaW1wb3J0IDxXZWJLaXQvV0tOYXZpZ2F0aW9uUHJpdmF0ZS5oPgpAQCAtNDc5NCw2ICs0Nzk1
LDggQEAgVEVTVChQcm9jZXNzU3dhcCwgR29CYWNrVG9TdXNwZW5kZWRQYWdlV2l0aE1haW5GcmFt
ZUlEVGhhdElzTm90T25lKQogICAgIEVYUEVDVF9FUShwaWQxLCBwaWQ1KTsKIH0KIAorI2VuZGlm
IC8vIFBMQVRGT1JNKE1BQykKKwogc3RhdGljIGNvbnN0IGNoYXIqIHRhbGxQYWdlQnl0ZXMgPSBS
IlBTT05SRVNPVVJDRSgKIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CkBAIC00ODA4LDExICs0ODEx
LDMwIEBAIGJvZHkgewogPC9zdHlsZT4KIDwvaGVhZD4KIDxib2R5PgorPHNjcmlwdD4KKy8vIFBh
Z2VzIHdpdGggZGVkaWNhdGVkIHdvcmtlcnMgZG8gbm90IGdvIGludG8gcGFnZSBjYWNoZS4KK3Zh
ciBteVdvcmtlciA9IG5ldyBXb3JrZXIoJ3dvcmtlci5qcycpOworPC9zY3JpcHQ+CiA8YSBpZD0i
dGVzdExpbmsiIGhyZWY9InBzb246Ly93d3cuYXBwbGUuY29tL21haW4uaHRtbCI+VGVzdDwvYT4K
IDwvYm9keT4KIDwvaHRtbD4KIClQU09OUkVTT1VSQ0UiOwogCitzdGF0aWMgdW5zaWduZWQgd2Fp
dFVudGlsU2Nyb2xsUG9zaXRpb25Jc1Jlc3RvcmVkKFdLV2ViVmlldyAqd2ViVmlldykKK3sKKyAg
ICB1bnNpZ25lZCBzY3JvbGxQb3NpdGlvbiA9IDA7CisgICAgZG8geworICAgICAgICBbd2ViVmll
dyBldmFsdWF0ZUphdmFTY3JpcHQ6QCJ3aW5kb3cuc2Nyb2xsWSIgY29tcGxldGlvbkhhbmRsZXI6
IFsmXSAoaWQgcmVzdWx0LCBOU0Vycm9yICplcnJvcikgeworICAgICAgICAgICAgc2Nyb2xsUG9z
aXRpb24gPSBbcmVzdWx0IGludGVnZXJWYWx1ZV07CisgICAgICAgICAgICBkb25lID0gdHJ1ZTsK
KyAgICAgICAgfV07CisgICAgICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7Cisg
ICAgICAgIGRvbmUgPSBmYWxzZTsKKyAgICB9IHdoaWxlICghc2Nyb2xsUG9zaXRpb24pOworCisg
ICAgcmV0dXJuIHNjcm9sbFBvc2l0aW9uOworfQorCiBURVNUKFByb2Nlc3NTd2FwLCBTY3JvbGxQ
b3NpdGlvblJlc3RvcmF0aW9uKQogewogICAgIGF1dG8gcHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9u
ID0gcHNvblByb2Nlc3NQb29sQ29uZmlndXJhdGlvbigpOwpAQCAtNDgyNCw4ICs0ODQ2LDYgQEAg
VEVTVChQcm9jZXNzU3dhcCwgU2Nyb2xsUG9zaXRpb25SZXN0b3JhdGlvbikKICAgICBbaGFuZGxl
ciBhZGRNYXBwaW5nRnJvbVVSTFN0cmluZzpAInBzb246Ly93d3cud2Via2l0Lm9yZy9tYWluLmh0
bWwiIHRvRGF0YTp0YWxsUGFnZUJ5dGVzXTsKICAgICBbd2ViVmlld0NvbmZpZ3VyYXRpb24gc2V0
VVJMU2NoZW1lSGFuZGxlcjpoYW5kbGVyLmdldCgpIGZvclVSTFNjaGVtZTpAIlBTT04iXTsKIAot
ICAgIFtbd2ViVmlld0NvbmZpZ3VyYXRpb24gcHJlZmVyZW5jZXNdIF9zZXRVc2VzUGFnZUNhY2hl
Ok5PXTsKLQogICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGlu
aXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA4MDAsIDYwMCkgY29uZmlndXJhdGlvbjp3ZWJW
aWV3Q29uZmlndXJhdGlvbi5nZXQoKV0pOwogICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtb
UFNPTk5hdmlnYXRpb25EZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOwogICAgIFt3ZWJWaWV3IHNldE5h
dmlnYXRpb25EZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07CkBAIC00ODQxLDYgKzQ4NjEsMTAgQEAg
VEVTVChQcm9jZXNzU3dhcCwgU2Nyb2xsUG9zaXRpb25SZXN0b3JhdGlvbikKICAgICBUZXN0V2Vi
S2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOwogICAgIGRvbmUgPSBmYWxzZTsKIAorICAgIGRvIHsK
KyAgICAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6c2xlZXAoMC4wNSk7CisgICAgfSB3aGlsZSAo
bHJvdW5kZihbW1t3ZWJWaWV3IGJhY2tGb3J3YXJkTGlzdF0gY3VycmVudEl0ZW1dIF9zY3JvbGxQ
b3NpdGlvbl0ueSkgIT0gNTAwMCk7CisKICAgICBbd2ViVmlldyBldmFsdWF0ZUphdmFTY3JpcHQ6
QCJ0ZXN0TGluay5jbGljaygpIiBjb21wbGV0aW9uSGFuZGxlcjogbmlsXTsKIAogICAgIFRlc3RX
ZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CkBAIC00ODU3LDE1ICs0ODgxLDM4IEBAIFRFU1Qo
UHJvY2Vzc1N3YXAsIFNjcm9sbFBvc2l0aW9uUmVzdG9yYXRpb24pCiAgICAgVGVzdFdlYktpdEFQ
STo6VXRpbDo6cnVuKCZkb25lKTsKICAgICBkb25lID0gZmFsc2U7CiAKKyAgICBhdXRvIHNjcm9s
bFBvc2l0aW9uID0gd2FpdFVudGlsU2Nyb2xsUG9zaXRpb25Jc1Jlc3RvcmVkKHdlYlZpZXcuZ2V0
KCkpOworICAgIEVYUEVDVF9FUSg1MDAwVSwgc2Nyb2xsUG9zaXRpb24pOworCisgICAgW3dlYlZp
ZXcgZXZhbHVhdGVKYXZhU2NyaXB0OkAic2Nyb2xsKDAsIDQwMDApIiBjb21wbGV0aW9uSGFuZGxl
cjogWyZdIChpZCByZXN1bHQsIE5TRXJyb3IgKmVycm9yKSB7CisgICAgICAgIGRvbmUgPSB0cnVl
OworICAgIH1dOworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CisgICAgZG9u
ZSA9IGZhbHNlOworCisgICAgZG8geworICAgICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpzbGVl
cCgwLjA1KTsKKyAgICB9IHdoaWxlIChscm91bmRmKFtbW3dlYlZpZXcgYmFja0ZvcndhcmRMaXN0
XSBjdXJyZW50SXRlbV0gX3Njcm9sbFBvc2l0aW9uXS55KSAhPSA0MDAwKTsKKworICAgIFt3ZWJW
aWV3IGV2YWx1YXRlSmF2YVNjcmlwdDpAInRlc3RMaW5rLmNsaWNrKCkiIGNvbXBsZXRpb25IYW5k
bGVyOiBuaWxdOworCisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKKyAgICBk
b25lID0gZmFsc2U7CisKICAgICBbd2ViVmlldyBldmFsdWF0ZUphdmFTY3JpcHQ6QCJ3aW5kb3cu
c2Nyb2xsWSIgY29tcGxldGlvbkhhbmRsZXI6IFsmXSAoaWQgcmVzdWx0LCBOU0Vycm9yICplcnJv
cikgewotICAgICAgICBFWFBFQ1RfRVEoNTAwMCwgW3Jlc3VsdCBpbnRlZ2VyVmFsdWVdKTsKKyAg
ICAgICAgRVhQRUNUX0VRKDAsIFtyZXN1bHQgaW50ZWdlclZhbHVlXSk7CiAgICAgICAgIGRvbmUg
PSB0cnVlOwogICAgIH1dOwogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CiAg
ICAgZG9uZSA9IGZhbHNlOwotfQogCi0jZW5kaWYgLy8gUExBVEZPUk0oTUFDKQorICAgIFt3ZWJW
aWV3IGdvQmFja107CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKKyAgICBk
b25lID0gZmFsc2U7CisKKyAgICBzY3JvbGxQb3NpdGlvbiA9IHdhaXRVbnRpbFNjcm9sbFBvc2l0
aW9uSXNSZXN0b3JlZCh3ZWJWaWV3LmdldCgpKTsKKyAgICBFWFBFQ1RfRVEoNDAwMFUsIHNjcm9s
bFBvc2l0aW9uKTsKK30KIAogc3RhdGljIE5TU3RyaW5nICpibG9ja21lRmlsdGVyID0gQCJbe1wi
YWN0aW9uXCI6e1widHlwZVwiOlwiYmxvY2tcIn0sXCJ0cmlnZ2VyXCI6e1widXJsLWZpbHRlclwi
OlwiLipibG9ja21lLmh0bWxcIn19XSI7CiAK
</data>
<flag name="review"
          id="379305"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>