<?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>201608</bug_id>
          
          <creation_ts>2019-09-09 11:08:59 -0700</creation_ts>
          <short_desc>Replace &quot;deferred element focus&quot; functionality with alternative solution</short_desc>
          <delta_ts>2020-03-26 12:19:46 -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>WebKit Misc.</component>
          <version>WebKit Local Build</version>
          <rep_platform>iPhone / iPad</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=209570</see_also>
          <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>
          
          <blocked>199960</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1569200</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-09-09 11:08:59 -0700</bug_when>
    <thetext>The concept or &quot;deferred element focus&quot; (added in bug #149567), where the UI process defers a WebProcess request to focus an element until editor state WITH post layout data arrive, does two things:

1. Prevents fixing bug #199960.
2. Reveals that SPI -supportsImagePaste depends on bug #199960 (hence causes (1)): -supportsImagePaste depends on the WebProcess sending an editor state update with isMissingPostLayoutData == false even though the editor state object COULD BE missing post layout data.

The purpose of this bug is to see if it&apos;s possible to replace this concept with some alternative solution that allows the fix for bug #199960 to move forward.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1569204</commentid>
    <comment_count>1</comment_count>
      <attachid>378388</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-09-09 11:13:43 -0700</bug_when>
    <thetext>Created attachment 378388
First attempt - always do editor state update if recollect focus info (simple, likely suboptimal, lets see what breaks though)

Simple, yet sub-optimal. Editor state likely does not need to be updated when Web process responding to &quot;update focus info&quot; request. Maybe this also could regress a benchmark? 🤷‍♂️ Anyway, let&apos;s just see what functionality breaks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631553</commentid>
    <comment_count>2</comment_count>
      <attachid>393953</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-03-18 23:44:06 -0700</bug_when>
    <thetext>Created attachment 393953
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631554</commentid>
    <comment_count>3</comment_count>
      <attachid>393953</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-03-18 23:50:13 -0700</bug_when>
    <thetext>Comment on attachment 393953
Patch

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

&gt; Source/WebKit/ChangeLog:21
&gt; +        defocuing logic in the UI process and prevents fixing &lt;https://bugs.webkit.org/show_bug.cgi?id=199960&gt;.

defocuing =&gt; defocusing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631665</commentid>
    <comment_count>4</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-03-19 09:00:47 -0700</bug_when>
    <thetext>iOS test failure, fast/hidpi/image-srcset-relative-svg-canvas-2x.html, is unrelated to this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631671</commentid>
    <comment_count>5</comment_count>
      <attachid>393953</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-03-19 09:07:29 -0700</bug_when>
    <thetext>Comment on attachment 393953
Patch

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

&gt; Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:3055
&gt; +    RefPtr&lt;Document&gt; document = m_page-&gt;focusController().focusedOrMainFrame().document();
&gt; +    if (!document || !document-&gt;view())
&gt;          return;
&gt;  
&gt; +    auto focusedElement = m_focusedElement.copyRef();
&gt; +    bool willLayout = document-&gt;view()-&gt;needsLayout();
&gt; +    layoutIfNeeded();
&gt; +
&gt; +    // Layout may have detached the document or caused a change of focus.
&gt; +    if (!document-&gt;view() || focusedElement != m_focusedElement)
&gt; +        return;
&gt; +
&gt; +    if (willLayout)
&gt; +        sendEditorStateUpdate();
&gt; +    else
&gt; +        scheduleFullEditorStateUpdate();

Maybe extract this into a private member function? Could be called layoutAndSendEditorStateIfNeeded()?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632069</commentid>
    <comment_count>6</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-03-20 06:46:27 -0700</bug_when>
    <thetext>Ran before and after this change in Speedometer 2.0 and there is 0 change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632214</commentid>
    <comment_count>7</comment_count>
      <attachid>393953</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-03-20 12:30:32 -0700</bug_when>
    <thetext>Comment on attachment 393953
Patch

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

&gt;&gt; Source/WebKit/ChangeLog:21
&gt;&gt; +        defocuing logic in the UI process and prevents fixing &lt;https://bugs.webkit.org/show_bug.cgi?id=199960&gt;.
&gt; 
&gt; defocuing =&gt; defocusing

Yes, that, or blurring.

&gt;&gt; Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:3055
&gt;&gt; +        scheduleFullEditorStateUpdate();
&gt; 
&gt; Maybe extract this into a private member function? Could be called layoutAndSendEditorStateIfNeeded()?

IMO, this is okay as-is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632215</commentid>
    <comment_count>8</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-03-20 12:32:17 -0700</bug_when>
    <thetext>(In reply to Daniel Bates from comment #6)
&gt; Ran before and after this change in Speedometer 2.0 and there is 0 change.

Nice! (I assume you either tested using release builds, or tallied up the total count of editor state computations?)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632217</commentid>
    <comment_count>9</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-03-20 12:34:23 -0700</bug_when>
    <thetext>Oh, you should also remove the declaration of ElementDidFocusArguments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632297</commentid>
    <comment_count>10</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-03-20 14:50:15 -0700</bug_when>
    <thetext>Thanks for the review.

(In reply to Wenson Hsieh from comment #8)
&gt; (In reply to Daniel Bates from comment #6)
&gt; &gt; Ran before and after this change in Speedometer 2.0 and there is 0 change.
&gt; 
&gt; Nice! (I assume you either tested using release builds, or tallied up the
&gt; total count of editor state computations?)

I compared the average time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632298</commentid>
    <comment_count>11</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-03-20 14:50:24 -0700</bug_when>
    <thetext>(In reply to Wenson Hsieh from comment #9)
&gt; Oh, you should also remove the declaration of ElementDidFocusArguments.

Will remove.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632299</commentid>
    <comment_count>12</comment_count>
      <attachid>394133</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-03-20 14:51:04 -0700</bug_when>
    <thetext>Created attachment 394133
To Land</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632301</commentid>
    <comment_count>13</comment_count>
      <attachid>394133</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-03-20 14:55:14 -0700</bug_when>
    <thetext>Comment on attachment 394133
To Land

Clearing flags on attachment: 394133

Committed r258792: &lt;https://trac.webkit.org/changeset/258792&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632302</commentid>
    <comment_count>14</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-03-20 14:55:16 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632304</commentid>
    <comment_count>15</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-03-20 14:56:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/60705921&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>378388</attachid>
            <date>2019-09-09 11:13:43 -0700</date>
            <delta_ts>2020-03-18 23:44:05 -0700</delta_ts>
            <desc>First attempt - always do editor state update if recollect focus info (simple, likely suboptimal, lets see what breaks though)</desc>
            <filename>FirstAttempt-PartialRevertAlwaysDoUpdateBeforeFocus.patch</filename>
            <type>text/plain</type>
            <size>5247</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">RnJvbSA3N2IzN2JkODlhYzNlZmJlZDE4YjRhNWExYzk3MmU1NTUxZTY2OWEyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEYW5pZWwgQmF0ZXMgPGRhYmF0ZXNAYXBwbGUuY29tPgpEYXRl
OiBUaHUsIDUgU2VwIDIwMTkgMTc6MTI6NDUgLTA3MDAKU3ViamVjdDogW1BBVENIXSBQYXJ0aWFs
IHJldmVydCBwYXRjaCBvZgogPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNDk1Njc+CgotLS0KIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAg
ICAgICAgICAgIHwgIDEgLQogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmgg
ICAgICAgICAgICAgfCAgMSAtCiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVBy
b3h5SU9TLm1tICAgICB8IDEwIC0tLS0tLS0tLS0KIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwICAgICAgIHwgIDIgLS0KIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tIHwgIDkgKysrKysrKysrCiA1IGZpbGVzIGNoYW5n
ZWQsIDkgaW5zZXJ0aW9ucygrKSwgMTQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggZmE3NTg4MWJlNmQuLjI4M2VmOGZjMTQzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTcxMzQsNyArNzEzNCw2
IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpyZXNldFN0YXRlQWZ0ZXJQcm9jZXNzRXhpdGVkKFByb2Nl
c3NUZXJtaW5hdGlvblJlYXNvbiB0ZXJtaW5hCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQog
ICAgIG1fd2FpdGluZ0ZvclBvc3RMYXlvdXRFZGl0b3JTdGF0ZVVwZGF0ZUFmdGVyRm9jdXNpbmdF
bGVtZW50ID0gZmFsc2U7Ci0gICAgbV9kZWZlcnJlZEVsZW1lbnREaWRGb2N1c0FyZ3VtZW50cyA9
IG51bGxwdHI7CiAgICAgbV9hY3Rpdml0eVRva2VuID0gbnVsbHB0cjsKICNlbmRpZgogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDdkNWI1OWM3YmMyLi4wMzIwY2Ew
OTQ1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTI0OTMsNyAr
MjQ5Myw2IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0g
ICAgc3RkOjp1bmlxdWVfcHRyPEVsZW1lbnREaWRGb2N1c0FyZ3VtZW50cz4gbV9kZWZlcnJlZEVs
ZW1lbnREaWRGb2N1c0FyZ3VtZW50czsKICAgICBib29sIG1fd2FpdGluZ0ZvclBvc3RMYXlvdXRF
ZGl0b3JTdGF0ZVVwZGF0ZUFmdGVyRm9jdXNpbmdFbGVtZW50IHsgZmFsc2UgfTsKICAgICBib29s
IG1fZm9yY2VBbHdheXNVc2VyU2NhbGFibGUgeyBmYWxzZSB9OwogICAgIFdlYkNvcmU6OkZsb2F0
U2l6ZSBtX3ZpZXdwb3J0Q29uZmlndXJhdGlvblZpZXdMYXlvdXRTaXplOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbSBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0KaW5kZXggMGQ4ZDhmZGJmMWEu
LmM4ZTEyMzgwNDIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2Vi
UGFnZVByb3h5SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdl
UHJveHlJT1MubW0KQEAgLTM4MSw5ICszODEsNiBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkQ29t
bWl0TGF5ZXJUcmVlKGNvbnN0IFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24mCiAg
ICAgICAgIG1faGl0UmVuZGVyVHJlZVNpemVUaHJlc2hvbGQgPSB0cnVlOwogICAgICAgICBkaWRS
ZWFjaExheW91dE1pbGVzdG9uZShXZWJDb3JlOjpSZWFjaGVkU2Vzc2lvblJlc3RvcmF0aW9uUmVu
ZGVyVHJlZVNpemVUaHJlc2hvbGQpOwogICAgIH0KLQotICAgIGlmIChhdXRvIGFyZ3VtZW50cyA9
IHN0ZDo6ZXhjaGFuZ2UobV9kZWZlcnJlZEVsZW1lbnREaWRGb2N1c0FyZ3VtZW50cywgbnVsbHB0
cikpCi0gICAgICAgIHBhZ2VDbGllbnQoKS5lbGVtZW50RGlkRm9jdXMoYXJndW1lbnRzLT5pbmZv
cm1hdGlvbiwgYXJndW1lbnRzLT51c2VySXNJbnRlcmFjdGluZywgYXJndW1lbnRzLT5ibHVyUHJl
dmlvdXNOb2RlLCBhcmd1bWVudHMtPmFjdGl2aXR5U3RhdGVDaGFuZ2VzLCBhcmd1bWVudHMtPnVz
ZXJEYXRhLmdldCgpKTsKIH0KIAogYm9vbCBXZWJQYWdlUHJveHk6OnVwZGF0ZUxheW91dFZpZXdw
b3J0UGFyYW1ldGVycyhjb25zdCBXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uJiBs
YXllclRyZWVUcmFuc2FjdGlvbikKQEAgLTkxNiwxMiArOTEzLDYgQEAgdm9pZCBXZWJQYWdlUHJv
eHk6OmVsZW1lbnREaWRGb2N1cyhjb25zdCBGb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uJiBpbmZv
cm1hdGlvbiwKICAgICBtX3dhaXRpbmdGb3JQb3N0TGF5b3V0RWRpdG9yU3RhdGVVcGRhdGVBZnRl
ckZvY3VzaW5nRWxlbWVudCA9IHRydWU7CiAKICAgICBBUEk6Ok9iamVjdCogdXNlckRhdGFPYmpl
Y3QgPSBwcm9jZXNzKCkudHJhbnNmb3JtSGFuZGxlc1RvT2JqZWN0cyh1c2VyRGF0YS5vYmplY3Qo
KSkuZ2V0KCk7Ci0gICAgaWYgKG1fZWRpdG9yU3RhdGUuaXNNaXNzaW5nUG9zdExheW91dERhdGEp
IHsKLSAgICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCB0cnkgdG8gZWxpbWluYXRlIG1fZGVmZXJy
ZWRFbGVtZW50RGlkRm9jdXNBcmd1bWVudHMgYWx0b2dldGhlciwgaW4gZmF2b3Igb2Ygb25seSBk
ZWZlcnJpbmcgYWN0aW9ucyB0aGF0IGFyZSBkZXBlbmRlbnQgb24gcG9zdC1sYXlvdXQgZWRpdG9y
IHN0YXRlIGluZm9ybWF0aW9uLgotICAgICAgICBtX2RlZmVycmVkRWxlbWVudERpZEZvY3VzQXJn
dW1lbnRzID0gbWFrZVVuaXF1ZTxFbGVtZW50RGlkRm9jdXNBcmd1bWVudHM+KEVsZW1lbnREaWRG
b2N1c0FyZ3VtZW50cyB7IGluZm9ybWF0aW9uLCB1c2VySXNJbnRlcmFjdGluZywgYmx1clByZXZp
b3VzTm9kZSwgYWN0aXZpdHlTdGF0ZUNoYW5nZXMsIHVzZXJEYXRhT2JqZWN0IH0pOwotICAgICAg
ICByZXR1cm47Ci0gICAgfQotCiAgICAgcGFnZUNsaWVudCgpLmVsZW1lbnREaWRGb2N1cyhpbmZv
cm1hdGlvbiwgdXNlcklzSW50ZXJhY3RpbmcsIGJsdXJQcmV2aW91c05vZGUsIGFjdGl2aXR5U3Rh
dGVDaGFuZ2VzLCB1c2VyRGF0YU9iamVjdCk7CiB9CiAKQEAgLTkyOSw3ICs5MjAsNiBAQCB2b2lk
IFdlYlBhZ2VQcm94eTo6ZWxlbWVudERpZEJsdXIoKQogewogICAgIG1fcGVuZGluZ0lucHV0TW9k
ZUNoYW5nZSA9IFdURjo6bnVsbG9wdDsKICAgICBtX3dhaXRpbmdGb3JQb3N0TGF5b3V0RWRpdG9y
U3RhdGVVcGRhdGVBZnRlckZvY3VzaW5nRWxlbWVudCA9IGZhbHNlOwotICAgIG1fZGVmZXJyZWRF
bGVtZW50RGlkRm9jdXNBcmd1bWVudHMgPSBudWxscHRyOwogICAgIHBhZ2VDbGllbnQoKS5lbGVt
ZW50RGlkQmx1cigpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwCmluZGV4IDY3YzA5ZWE3MjI3Li42MDg4OGY0YzVlMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTU0NDYsOCArNTQ0Niw2IEBA
IHZvaWQgV2ViUGFnZTo6ZWxlbWVudERpZEZvY3VzKFdlYkNvcmU6OkVsZW1lbnQmIGVsZW1lbnQp
CiAgICAgICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6U2V0RWRpdGFibGVFbGVtZW50
SXNGb2N1c2VkKCFlbGVtZW50Lmhhc1RhZ05hbWUoV2ViQ29yZTo6SFRNTE5hbWVzOjpzZWxlY3RU
YWcpKSk7CiAjZW5kaWYKICAgICAgICAgbV9yZWNlbnRseUJsdXJyZWRFbGVtZW50ID0gbnVsbHB0
cjsKLQotICAgICAgICBzY2hlZHVsZUZ1bGxFZGl0b3JTdGF0ZVVwZGF0ZSgpOwogICAgIH0KIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBh
Z2VJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlP
Uy5tbQppbmRleCAwODk2ZThjYjgzYi4uZmJmZTZiODY1MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCkBAIC0yODYyLDcgKzI4
NjIsMTYgQEAgdm9pZCBXZWJQYWdlOjpmb2N1c05leHRGb2N1c2VkRWxlbWVudChib29sIGlzRm9y
d2FyZCwgQ2FsbGJhY2tJRCBjYWxsYmFja0lEKQogCiB2b2lkIFdlYlBhZ2U6OmdldEZvY3VzZWRF
bGVtZW50SW5mb3JtYXRpb24oRm9jdXNlZEVsZW1lbnRJbmZvcm1hdGlvbiYgaW5mb3JtYXRpb24p
CiB7CisgICAgLy8gUmVmIHRoZSBmcmFtZSBiZWNhdXNlIHRoaXMgZnVuY3Rpb24gbWF5IHBlcmZv
cm0gbGF5b3V0LCB3aGljaCBtYXkgY2F1c2UgZnJhbWUgZGVzdHJ1Y3Rpb24uCisgICAgUmVmPEZy
YW1lPiBmcmFtZSA9IG1fcGFnZS0+Zm9jdXNDb250cm9sbGVyKCkuZm9jdXNlZE9yTWFpbkZyYW1l
KCk7CisKKyAgICAvLyBTZW5kIGFuIGVkaXRvciBzdGF0ZSB1cGRhdGUuCisgICAgYm9vbCB3aWxs
TGF5b3V0ID0gZnJhbWUtPnZpZXcoKSAmJiBmcmFtZS0+dmlldygpLT5uZWVkc0xheW91dCgpOwog
ICAgIGxheW91dElmTmVlZGVkKCk7CisgICAgaWYgKHdpbGxMYXlvdXQpCisgICAgICAgIHNlbmRF
ZGl0b3JTdGF0ZVVwZGF0ZSgpOworICAgIGVsc2UKKyAgICAgICAgc2NoZWR1bGVGdWxsRWRpdG9y
U3RhdGVVcGRhdGUoKTsKIAogICAgIGluZm9ybWF0aW9uLmxhc3RJbnRlcmFjdGlvbkxvY2F0aW9u
ID0gbV9sYXN0SW50ZXJhY3Rpb25Mb2NhdGlvbjsKIAotLSAKMi4yMS4wIChBcHBsZSBHaXQtMTIy
KQoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393953</attachid>
            <date>2020-03-18 23:44:06 -0700</date>
            <delta_ts>2020-03-20 14:51:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201608-20200318234406.patch</filename>
            <type>text/plain</type>
            <size>8907</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4Njc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGZhZTdlYzcyZjI5ODg1ZGY1
OTI2OWVkNmU5ZWJmZDdlZDE0MDJjYmUuLjcyZWNkODMzNDVmNWFjZjdhNzQ5ZWNjYmU0Njc5Yzdl
MjVmMzAyOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTAgQEAKKzIwMjAtMDMtMTggIERhbmllbCBC
YXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFJlcGxhY2UgImRlZmVycmVkIGVs
ZW1lbnQgZm9jdXMiIGZ1bmN0aW9uYWxpdHkgd2l0aCBhbHRlcm5hdGl2ZSBzb2x1dGlvbgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxNjA4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpcyBhIHBh
cnRpYWwgcmV2ZXJ0IG9mIHIxOTAyNzguIEhhdmUgdGhlIHdlYiBwcm9jZXNzIHBlcmZvcm0gYSBs
YXlvdXQsIGlmIG5lZWRlZCwgd2hlbgorICAgICAgICBjb21wdXRpbmcgZm9jdXMgZWxlbWVudCBp
bmZvcm1hdGlvbiBhbmQgc2VuZCBhbiBlZGl0b3Igc3RhdGUgdXBkYXRlIGltbWVkaWF0ZWx5LiBJ
ZiBsYXlvdXQgaXMKKyAgICAgICAgbm90IG5lZWRlZCB0aGVuIGV4cGxpY2l0bHkgc2NoZWR1bGUg
YSBmdWxsIGVkaXRvciBzdGF0ZSB1cGRhdGUuCisKKyAgICAgICAgQ3VycmVudGx5LCBmZXRjaGlu
ZyBmb2N1cyBlbGVtZW50IGluZm9ybWF0aW9uIG5laXRoZXIgc2VuZHMgYW4gZWRpdG9yIHN0YXRl
IHVwZGF0ZSBub3IKKyAgICAgICAgc2NoZWR1bGVzIG9uZS4gQXMgYSByZXN1bHQsIHdoZW4gdGhl
IHdlYiBwcm9jZXNzIHRlbGxzIHRoZSBVSSBwcm9jZXNzIHRvIGZvY3VzIGFuIGVsZW1lbnQgdGhl
CisgICAgICAgIFVJIHByb2Nlc3MgbWF5IG5lZWQgdG8gZGVmZXIgZG9pbmcgc28gaWYgdGhlIGxh
c3QgcmVjZWl2ZWQgdXBkYXRlIGRpZCBub3QgaW5jbHVkZSBkZXRhaWxzCisgICAgICAgIHRoYXQg
cmVxdWlyZSB1cC10by1kYXRlIGxheW91dCAoZS5nLiB0aGUgYm91bmRpbmcgcmVjdCBvZiB0aGUg
Zm9jdXNlZCBlbGVtZW50LCB3aGljaCBpcyB1c2VkCisgICAgICAgIHRvIHNjcm9sbCBhbmQgem9v
bSB0byBjZW50ZXIgdGhlIGZvY3VzZWQgZWxlbWVudCkuIFRoZSBVSSBwcm9jZXNzIHRoZW4gc2No
ZWR1bGVzIGFuIGFzeW5jIG1lc3NhZ2UKKyAgICAgICAgdG8gdGhlIHdlYiBwcm9jZXNzIHRvIGZl
dGNoIHRoZSBmdWxsIGVkaXRvciBzdGF0ZSwgd2hpY2ggd2lsbCBhcnJpdmUgaW4gYSBsYXllciB0
cmVlIGNvbW1pdCBtZXNzYWdlCisgICAgICAgIGZyb20gdGhlIHdlYiBwcm9jZXNzLiAoTm90ZSB0
aGF0IHRoZSBVSSBwcm9jZXNzIHNjaGVkdWxlcyB0aGlzIHJlcXVlc3QgdG8gZW5zdXJlIHRoZSB3
ZWIgcHJvY2VzcworICAgICAgICBrbm93cyB0aGF0IGl0IGlzIHdhaXRpbmcgZm9yIGEgbGF5ZXIg
dHJlZSBjb21taXQuIFRoZSB3ZWIgcHJvY2VzcyBjYW4gdXNlIHRoaXMgaW5mbyB0byBleHBlZGl0
ZQorICAgICAgICBhIGxheWVyIHRyZWUgY29tbWl0LCBpZiBuZWVkZWQpLiBUaGlzIGRlZmVycmFs
IG1lY2hhbmlzbSBjb21wbGljYXRlcyB0aGUgZWxlbWVudCBmb2N1c2luZyBhbmQKKyAgICAgICAg
ZGVmb2N1aW5nIGxvZ2ljIGluIHRoZSBVSSBwcm9jZXNzIGFuZCBwcmV2ZW50cyBmaXhpbmcgPGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTk5NjA+LgorICAgICAgICBJ
bnN0ZWFkIHJlbW92ZSB0aGlzIGRlZmVycmFsIGNvbmNlcHQgYW5kIGhhdmUgdGhlIHdlYiBwcm9j
ZXNzIGVuc3VyZSB0aGF0IGEgZnVsbCBlZGl0b3Igc3RhdGUKKyAgICAgICAgdXBkYXRlIGlzIHNl
bnQgb3Igd2lsbCBiZSBzZW50IHdoZW4gY29tcHV0aW5nIHRoZSBmb2N1cyBlbGVtZW50IGluZm9y
bWF0aW9uLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6cmVzZXRTdGF0ZUFmdGVyUHJvY2Vzc0V4aXRlZCk6Cisg
ICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9p
b3MvV2ViUGFnZVByb3h5SU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRp
ZENvbW1pdExheWVyVHJlZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZWxlbWVu
dERpZEZvY3VzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjplbGVtZW50RGlkQmx1
cik6CisgICAgICAgIFJlbW92ZSBib29ra2VlcGluZyBjb2RlIHRvIHRyYWNrIGEgZGVmZXJyZWQg
Zm9jdXMgZXZlbnQgb3IgdG8gcGVyZm9ybSB0aGUgZGVmZXJyZWQgZXZlbnQKKyAgICAgICAgb24g
bGF5ZXIgdHJlZSBjb21taXQuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmVsZW1lbnREaWRGb2N1cyk6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlOjpnZXRGb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uKTogU2F2ZSBvZmYgd2hl
dGhlciBhIGxheW91dCBpcyBuZWVkZWQgdGhlbgorICAgICAgICB0ZWxsIHRoZSBwYWdlIHRvIGxh
eW91dCBpZiBuZWVkZWQuIElmIGEgbGF5b3V0IHdhcyBuZWVkZWQgdGhlbiBzZW5kIGFuIGVkaXRv
ciBzdGF0ZSB1cGRhdGUKKyAgICAgICAgaW1tZWRpYXRlbHkgKGl0J3MgYW4gYXN5bmMgbWVzc2Fn
ZSk6IHRoaXMgdXBkYXRlIHdpbGwgYmUgYSAiZnVsbCBlZGl0b3Igc3RhdGUiIHVwZGF0ZSB0aGF0
CisgICAgICAgIGluY2x1ZGVzIHVwLXRvLWRhdGUgbGF5b3V0IGRldGFpbHMuIE90aGVyd2lzZSwg
c2NoZWR1bGUgYSBmdWxsIGVkaXRvciBzdGF0ZSB1cGRhdGUuIFdoaWxlIEkKKyAgICAgICAgYW0g
aGVyZSwgSSB1cGRhdGVkIHRoZSBjb2RlIHRvIHRha2Ugb3V0IGEgcmVmIG9uIHRoZSBmb2N1c2Vk
IGZyYW1lJ3MgZG9jdW1lbnQgYmVmb3JlIHBlcmZvcm1pbmcKKyAgICAgICAgYSBsYXlvdXQgYmVj
YXVzZSBsYXlvdXQgY2FuIGNhdXNlIGFyYml0cmFyeSBKYXZhU2NyaXB0IGV4ZWN1dGlvbiB0aGF0
IGNvdWxkIGRldGFjaCB0aGUgZG9jdW1lbnQKKyAgICAgICAgZnJvbSBpdHMgZnJhbWUgdmlldyBh
cyBwYXJ0IG9mIGRlc3Ryb3lpbmcgdGhlIGRvY3VtZW50LiBEb2N1bWVudCBkZXN0cnVjdGlvbiBp
cyBkZXRlY3RlZCBieQorICAgICAgICBjaGVja2luZyB3aGV0aGVyIHRoZSBkb2N1bWVudCBoYXMg
YmVlbiBkZXRhY2hlZCBmcm9tIGl0cyBmcmFtZSB2aWV3LiBJZiB0aGlzIGhhcHBlbnMgdGhlbgor
ICAgICAgICBiYWlsIG91dCBhcyB0aGVyZSBpcyBubyBuZWVkIHRvIGdldCBmb2N1cyBlbGVtZW50
IGluZm8uCisKIDIwMjAtMDMtMTggIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5j
b20+CiAKICAgICAgICAgZXZlbnRTZW5kZXIubW9uaXRvcldoZWVsRXZlbnRzKCkgaXMgdmVyeSBm
cmFnaWxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
Y3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCA0M2Uy
OWVmNzY3NGE4NjhlYWIxYzdiYjg2YjhjMTI0YjZkOWQwNTNiLi41Y2I4OTUyZGFjYTM2MmE0NjU3
ZjcyN2RhMjU1NWM3MWY1MjNlOWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAKQEAgLTc1NDUsOCArNzU0NSw2IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpyZXNldFN0
YXRlQWZ0ZXJQcm9jZXNzRXhpdGVkKFByb2Nlc3NUZXJtaW5hdGlvblJlYXNvbiB0ZXJtaW5hCiAK
ICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIG1fd2FpdGluZ0ZvclBvc3RMYXlvdXRFZGl0
b3JTdGF0ZVVwZGF0ZUFmdGVyRm9jdXNpbmdFbGVtZW50ID0gZmFsc2U7Ci0gICAgbV9kZWZlcnJl
ZEVsZW1lbnREaWRGb2N1c0FyZ3VtZW50cyA9IG51bGxwdHI7Ci0KICAgICBtX2lzVmlzaWJsZUFj
dGl2aXR5ID0gbnVsbHB0cjsKICAgICBtX2lzQXVkaWJsZUFjdGl2aXR5ID0gbnVsbHB0cjsKICAg
ICBtX2lzQ2FwdHVyaW5nQWN0aXZpdHkgPSBudWxscHRyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaAppbmRleCAwNTI2YmI5MDdmYmYxNjE5YmZjYTkzNDk5MmY3ZDZiODRkYmMx
ODNjLi42M2QyMzUzZTJhNmJjNGJiYzhiYTNmZjBlMjBhYTllMWY2NjdkZGEyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMjY2Myw3ICsyNjYzLDYgQEAgcHJpdmF0
ZToKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgRnVuY3Rpb248Ym9vbCgpPiBtX2Rl
dmljZU9yaWVudGF0aW9uVXNlclBlcm1pc3Npb25IYW5kbGVyRm9yVGVzdGluZzsKLSAgICBzdGQ6
OnVuaXF1ZV9wdHI8RWxlbWVudERpZEZvY3VzQXJndW1lbnRzPiBtX2RlZmVycmVkRWxlbWVudERp
ZEZvY3VzQXJndW1lbnRzOwogICAgIGJvb2wgbV93YWl0aW5nRm9yUG9zdExheW91dEVkaXRvclN0
YXRlVXBkYXRlQWZ0ZXJGb2N1c2luZ0VsZW1lbnQgeyBmYWxzZSB9OwogICAgIFdlYkNvcmU6OkZs
b2F0U2l6ZSBtX21heGltdW1Vbm9ic2N1cmVkU2l6ZTsKICAgICBib29sIG1fbGFzdE9ic2VydmVk
U3RhdGVXYXNCYWNrZ3JvdW5kIHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tCmluZGV4IDQ1ODU0MjUyMTMyMzBkZWM1NmQ0M2I1Mjcx
MGI5YzlkNGI4ZDM1NWIuLjFlZTU4MjA4YzZmY2VkOGU2NTVhNDY3MmNmZTdkYmM1MzIwNmVjNjIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1Mu
bW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQpA
QCAtNDA0LDkgKzQwNCw2IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkaWRDb21taXRMYXllclRyZWUo
Y29uc3QgV2ViS2l0OjpSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbiYKICAgICAgICAgbV9oaXRS
ZW5kZXJUcmVlU2l6ZVRocmVzaG9sZCA9IHRydWU7CiAgICAgICAgIGRpZFJlYWNoTGF5b3V0TWls
ZXN0b25lKFdlYkNvcmU6OlJlYWNoZWRTZXNzaW9uUmVzdG9yYXRpb25SZW5kZXJUcmVlU2l6ZVRo
cmVzaG9sZCk7CiAgICAgfQotCi0gICAgaWYgKGF1dG8gYXJndW1lbnRzID0gc3RkOjpleGNoYW5n
ZShtX2RlZmVycmVkRWxlbWVudERpZEZvY3VzQXJndW1lbnRzLCBudWxscHRyKSkKLSAgICAgICAg
cGFnZUNsaWVudCgpLmVsZW1lbnREaWRGb2N1cyhhcmd1bWVudHMtPmluZm9ybWF0aW9uLCBhcmd1
bWVudHMtPnVzZXJJc0ludGVyYWN0aW5nLCBhcmd1bWVudHMtPmJsdXJQcmV2aW91c05vZGUsIGFy
Z3VtZW50cy0+YWN0aXZpdHlTdGF0ZUNoYW5nZXMsIGFyZ3VtZW50cy0+dXNlckRhdGEuZ2V0KCkp
OwogfQogCiBib29sIFdlYlBhZ2VQcm94eTo6dXBkYXRlTGF5b3V0Vmlld3BvcnRQYXJhbWV0ZXJz
KGNvbnN0IFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24mIGxheWVyVHJlZVRyYW5z
YWN0aW9uKQpAQCAtOTg3LDE5ICs5ODQsMTIgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmVsZW1lbnRE
aWRGb2N1cyhjb25zdCBGb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uJiBpbmZvcm1hdGlvbiwKICAg
ICBtX3BlbmRpbmdJbnB1dE1vZGVDaGFuZ2UgPSBXVEY6Om51bGxvcHQ7CiAKICAgICBBUEk6Ok9i
amVjdCogdXNlckRhdGFPYmplY3QgPSBwcm9jZXNzKCkudHJhbnNmb3JtSGFuZGxlc1RvT2JqZWN0
cyh1c2VyRGF0YS5vYmplY3QoKSkuZ2V0KCk7Ci0gICAgaWYgKG1fZWRpdG9yU3RhdGUuaXNNaXNz
aW5nUG9zdExheW91dERhdGEpIHsKLSAgICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCB0cnkgdG8g
ZWxpbWluYXRlIG1fZGVmZXJyZWRFbGVtZW50RGlkRm9jdXNBcmd1bWVudHMgYWx0b2dldGhlciwg
aW4gZmF2b3Igb2Ygb25seSBkZWZlcnJpbmcgYWN0aW9ucyB0aGF0IGFyZSBkZXBlbmRlbnQgb24g
cG9zdC1sYXlvdXQgZWRpdG9yIHN0YXRlIGluZm9ybWF0aW9uLgotICAgICAgICBtX2RlZmVycmVk
RWxlbWVudERpZEZvY3VzQXJndW1lbnRzID0gbWFrZVVuaXF1ZTxFbGVtZW50RGlkRm9jdXNBcmd1
bWVudHM+KEVsZW1lbnREaWRGb2N1c0FyZ3VtZW50cyB7IGluZm9ybWF0aW9uLCB1c2VySXNJbnRl
cmFjdGluZywgYmx1clByZXZpb3VzTm9kZSwgYWN0aXZpdHlTdGF0ZUNoYW5nZXMsIHVzZXJEYXRh
T2JqZWN0IH0pOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCiAgICAgcGFnZUNsaWVudCgpLmVs
ZW1lbnREaWRGb2N1cyhpbmZvcm1hdGlvbiwgdXNlcklzSW50ZXJhY3RpbmcsIGJsdXJQcmV2aW91
c05vZGUsIGFjdGl2aXR5U3RhdGVDaGFuZ2VzLCB1c2VyRGF0YU9iamVjdCk7CiB9CiAKIHZvaWQg
V2ViUGFnZVByb3h5OjplbGVtZW50RGlkQmx1cigpCiB7CiAgICAgbV9wZW5kaW5nSW5wdXRNb2Rl
Q2hhbmdlID0gV1RGOjpudWxsb3B0OwotICAgIG1fZGVmZXJyZWRFbGVtZW50RGlkRm9jdXNBcmd1
bWVudHMgPSBudWxscHRyOwogICAgIHBhZ2VDbGllbnQoKS5lbGVtZW50RGlkQmx1cigpOwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDA4
ZjE1MmMxYmEzOGY5ZWNkZjVmZjRjNzJlMGFmNDVmYjg2NTFiNjMuLjViZjdkYjJmNDE2NTk0ODQ3
NTQ2ZTc4MTFlNzI2MDJlYTY4OTY3YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC01NjE5LDggKzU2MTksNiBAQCB2b2lkIFdlYlBhZ2U6OmVs
ZW1lbnREaWRGb2N1cyhXZWJDb3JlOjpFbGVtZW50JiBlbGVtZW50KQogICAgICAgICBzZW5kKE1l
c3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNldEVkaXRhYmxlRWxlbWVudElzRm9jdXNlZCghZWxlbWVu
dC5oYXNUYWdOYW1lKFdlYkNvcmU6OkhUTUxOYW1lczo6c2VsZWN0VGFnKSkpOwogI2VuZGlmCiAg
ICAgICAgIG1fcmVjZW50bHlCbHVycmVkRWxlbWVudCA9IG51bGxwdHI7Ci0KLSAgICAgICAgc2No
ZWR1bGVGdWxsRWRpdG9yU3RhdGVVcGRhdGUoKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KaW5kZXggY2YzMjIy
ZThhMGUxNDdmOTRlYjhkZjJhNWVhODYzZjgzZDBkMTFkMC4uNWU0MzQyNzhmNmY5NDEzNzQ0ZTdh
YmQ2ZDE0ODcxMTcxNjg0Y2Q1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KQEAgLTMwMzcsMTEgKzMwMzcsMjMgQEAgdm9pZCBX
ZWJQYWdlOjpmb2N1c05leHRGb2N1c2VkRWxlbWVudChib29sIGlzRm9yd2FyZCwgQ2FsbGJhY2tJ
RCBjYWxsYmFja0lEKQogCiB2b2lkIFdlYlBhZ2U6OmdldEZvY3VzZWRFbGVtZW50SW5mb3JtYXRp
b24oRm9jdXNlZEVsZW1lbnRJbmZvcm1hdGlvbiYgaW5mb3JtYXRpb24pCiB7Ci0gICAgYXV0byBm
b2N1c2VkRWxlbWVudCA9IG1fZm9jdXNlZEVsZW1lbnQuY29weVJlZigpOwotICAgIGxheW91dElm
TmVlZGVkKCk7Ci0gICAgaWYgKGZvY3VzZWRFbGVtZW50ICE9IG1fZm9jdXNlZEVsZW1lbnQpCisg
ICAgUmVmUHRyPERvY3VtZW50PiBkb2N1bWVudCA9IG1fcGFnZS0+Zm9jdXNDb250cm9sbGVyKCku
Zm9jdXNlZE9yTWFpbkZyYW1lKCkuZG9jdW1lbnQoKTsKKyAgICBpZiAoIWRvY3VtZW50IHx8ICFk
b2N1bWVudC0+dmlldygpKQogICAgICAgICByZXR1cm47CiAKKyAgICBhdXRvIGZvY3VzZWRFbGVt
ZW50ID0gbV9mb2N1c2VkRWxlbWVudC5jb3B5UmVmKCk7CisgICAgYm9vbCB3aWxsTGF5b3V0ID0g
ZG9jdW1lbnQtPnZpZXcoKS0+bmVlZHNMYXlvdXQoKTsKKyAgICBsYXlvdXRJZk5lZWRlZCgpOwor
CisgICAgLy8gTGF5b3V0IG1heSBoYXZlIGRldGFjaGVkIHRoZSBkb2N1bWVudCBvciBjYXVzZWQg
YSBjaGFuZ2Ugb2YgZm9jdXMuCisgICAgaWYgKCFkb2N1bWVudC0+dmlldygpIHx8IGZvY3VzZWRF
bGVtZW50ICE9IG1fZm9jdXNlZEVsZW1lbnQpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICh3
aWxsTGF5b3V0KQorICAgICAgICBzZW5kRWRpdG9yU3RhdGVVcGRhdGUoKTsKKyAgICBlbHNlCisg
ICAgICAgIHNjaGVkdWxlRnVsbEVkaXRvclN0YXRlVXBkYXRlKCk7CisKICAgICBpbmZvcm1hdGlv
bi5sYXN0SW50ZXJhY3Rpb25Mb2NhdGlvbiA9IG1fbGFzdEludGVyYWN0aW9uTG9jYXRpb247CiAg
ICAgaWYgKGF1dG8gZWxlbWVudENvbnRleHQgPSBjb250ZXh0Rm9yRWxlbWVudCgqZm9jdXNlZEVs
ZW1lbnQpKQogICAgICAgICBpbmZvcm1hdGlvbi5lbGVtZW50Q29udGV4dCA9IFdURk1vdmUoKmVs
ZW1lbnRDb250ZXh0KTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394133</attachid>
            <date>2020-03-20 14:51:04 -0700</date>
            <delta_ts>2020-03-20 14:51:04 -0700</delta_ts>
            <desc>To Land</desc>
            <filename>bug-201608-20200320145103.patch</filename>
            <type>text/plain</type>
            <size>9590</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4Mjg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDRmZGM4YjRiMjYwNjg3YzRm
NjRkZmE5YjM1NDM1MDgwYjg1NjMyMmIuLjY5MDhjNGFiZGIwNzAyMzkwOTVkZTI2MTY4MmQ3ZDVh
ZTZlMjE1NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTAgQEAKKzIwMjAtMDMtMjAgIERhbmllbCBC
YXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFJlcGxhY2UgImRlZmVycmVkIGVs
ZW1lbnQgZm9jdXMiIGZ1bmN0aW9uYWxpdHkgd2l0aCBhbHRlcm5hdGl2ZSBzb2x1dGlvbgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxNjA4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgV2Vuc29uIEhzaWVoLgorCisgICAgICAgIFRoaXMgaXMgYSBwYXJ0
aWFsIHJldmVydCBvZiByMTkwMjc4LiBIYXZlIHRoZSB3ZWIgcHJvY2VzcyBwZXJmb3JtIGEgbGF5
b3V0LCBpZiBuZWVkZWQsIHdoZW4KKyAgICAgICAgY29tcHV0aW5nIGZvY3VzIGVsZW1lbnQgaW5m
b3JtYXRpb24gYW5kIHNlbmQgYW4gZWRpdG9yIHN0YXRlIHVwZGF0ZSBpbW1lZGlhdGVseS4gSWYg
bGF5b3V0IGlzCisgICAgICAgIG5vdCBuZWVkZWQgdGhlbiBleHBsaWNpdGx5IHNjaGVkdWxlIGEg
ZnVsbCBlZGl0b3Igc3RhdGUgdXBkYXRlLgorCisgICAgICAgIEN1cnJlbnRseSwgZmV0Y2hpbmcg
Zm9jdXMgZWxlbWVudCBpbmZvcm1hdGlvbiBuZWl0aGVyIHNlbmRzIGFuIGVkaXRvciBzdGF0ZSB1
cGRhdGUgbm9yCisgICAgICAgIHNjaGVkdWxlcyBvbmUuIEFzIGEgcmVzdWx0LCB3aGVuIHRoZSB3
ZWIgcHJvY2VzcyB0ZWxscyB0aGUgVUkgcHJvY2VzcyB0byBmb2N1cyBhbiBlbGVtZW50IHRoZQor
ICAgICAgICBVSSBwcm9jZXNzIG1heSBuZWVkIHRvIGRlZmVyIGRvaW5nIHNvIGlmIHRoZSBsYXN0
IHJlY2VpdmVkIHVwZGF0ZSBkaWQgbm90IGluY2x1ZGUgZGV0YWlscworICAgICAgICB0aGF0IHJl
cXVpcmUgdXAtdG8tZGF0ZSBsYXlvdXQgKGUuZy4gdGhlIGJvdW5kaW5nIHJlY3Qgb2YgdGhlIGZv
Y3VzZWQgZWxlbWVudCwgd2hpY2ggaXMgdXNlZAorICAgICAgICB0byBzY3JvbGwgYW5kIHpvb20g
dG8gY2VudGVyIHRoZSBmb2N1c2VkIGVsZW1lbnQpLiBUaGUgVUkgcHJvY2VzcyB0aGVuIHNjaGVk
dWxlcyBhbiBhc3luYyBtZXNzYWdlCisgICAgICAgIHRvIHRoZSB3ZWIgcHJvY2VzcyB0byBmZXRj
aCB0aGUgZnVsbCBlZGl0b3Igc3RhdGUsIHdoaWNoIHdpbGwgYXJyaXZlIGluIGEgbGF5ZXIgdHJl
ZSBjb21taXQgbWVzc2FnZQorICAgICAgICBmcm9tIHRoZSB3ZWIgcHJvY2Vzcy4gKE5vdGUgdGhh
dCB0aGUgVUkgcHJvY2VzcyBzY2hlZHVsZXMgdGhpcyByZXF1ZXN0IHRvIGVuc3VyZSB0aGUgd2Vi
IHByb2Nlc3MKKyAgICAgICAga25vd3MgdGhhdCBpdCBpcyB3YWl0aW5nIGZvciBhIGxheWVyIHRy
ZWUgY29tbWl0LiBUaGUgd2ViIHByb2Nlc3MgY2FuIHVzZSB0aGlzIGluZm8gdG8gZXhwZWRpdGUK
KyAgICAgICAgYSBsYXllciB0cmVlIGNvbW1pdCwgaWYgbmVlZGVkKS4gVGhpcyBkZWZlcnJhbCBt
ZWNoYW5pc20gY29tcGxpY2F0ZXMgdGhlIGVsZW1lbnQgZm9jdXNpbmcgYW5kCisgICAgICAgIGRl
Zm9jdXNpbmcgbG9naWMgaW4gdGhlIFVJIHByb2Nlc3MgYW5kIHByZXZlbnRzIGZpeGluZyA8aHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTk2MD4uCisgICAgICAgIElu
c3RlYWQgcmVtb3ZlIHRoaXMgZGVmZXJyYWwgY29uY2VwdCBhbmQgaGF2ZSB0aGUgd2ViIHByb2Nl
c3MgZW5zdXJlIHRoYXQgYSBmdWxsIGVkaXRvciBzdGF0ZQorICAgICAgICB1cGRhdGUgaXMgc2Vu
dCBvciB3aWxsIGJlIHNlbnQgd2hlbiBjb21wdXRpbmcgdGhlIGZvY3VzIGVsZW1lbnQgaW5mb3Jt
YXRpb24uCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZVByb3h5OjpyZXNldFN0YXRlQWZ0ZXJQcm9jZXNzRXhpdGVkKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL2lv
cy9XZWJQYWdlUHJveHlJT1MubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlk
Q29tbWl0TGF5ZXJUcmVlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjplbGVtZW50
RGlkRm9jdXMpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmVsZW1lbnREaWRCbHVy
KToKKyAgICAgICAgUmVtb3ZlIGJvb2trZWVwaW5nIGNvZGUgdG8gdHJhY2sgYSBkZWZlcnJlZCBm
b2N1cyBldmVudCBvciB0byBwZXJmb3JtIHRoZSBkZWZlcnJlZCBldmVudAorICAgICAgICBvbiBs
YXllciB0cmVlIGNvbW1pdC4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6ZWxlbWVudERpZEZvY3VzKToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW06CisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2U6OmdldEZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24pOiBTYXZlIG9mZiB3aGV0
aGVyIGEgbGF5b3V0IGlzIG5lZWRlZCB0aGVuCisgICAgICAgIHRlbGwgdGhlIHBhZ2UgdG8gbGF5
b3V0IGlmIG5lZWRlZC4gSWYgYSBsYXlvdXQgd2FzIG5lZWRlZCB0aGVuIHNlbmQgYW4gZWRpdG9y
IHN0YXRlIHVwZGF0ZQorICAgICAgICBpbW1lZGlhdGVseSAoaXQncyBhbiBhc3luYyBtZXNzYWdl
KTogdGhpcyB1cGRhdGUgd2lsbCBiZSBhICJmdWxsIGVkaXRvciBzdGF0ZSIgdXBkYXRlIHRoYXQK
KyAgICAgICAgaW5jbHVkZXMgdXAtdG8tZGF0ZSBsYXlvdXQgZGV0YWlscy4gT3RoZXJ3aXNlLCBz
Y2hlZHVsZSBhIGZ1bGwgZWRpdG9yIHN0YXRlIHVwZGF0ZS4gV2hpbGUgSQorICAgICAgICBhbSBo
ZXJlLCBJIHVwZGF0ZWQgdGhlIGNvZGUgdG8gdGFrZSBvdXQgYSByZWYgb24gdGhlIGZvY3VzZWQg
ZnJhbWUncyBkb2N1bWVudCBiZWZvcmUgcGVyZm9ybWluZworICAgICAgICBhIGxheW91dCBiZWNh
dXNlIGxheW91dCBjYW4gY2F1c2UgYXJiaXRyYXJ5IEphdmFTY3JpcHQgZXhlY3V0aW9uIHRoYXQg
Y291bGQgZGV0YWNoIHRoZSBkb2N1bWVudAorICAgICAgICBmcm9tIGl0cyBmcmFtZSB2aWV3IGFz
IHBhcnQgb2YgZGVzdHJveWluZyB0aGUgZG9jdW1lbnQuIERvY3VtZW50IGRlc3RydWN0aW9uIGlz
IGRldGVjdGVkIGJ5CisgICAgICAgIGNoZWNraW5nIHdoZXRoZXIgdGhlIGRvY3VtZW50IGhhcyBi
ZWVuIGRldGFjaGVkIGZyb20gaXRzIGZyYW1lIHZpZXcuIElmIHRoaXMgaGFwcGVucyB0aGVuCisg
ICAgICAgIGJhaWwgb3V0IGFzIHRoZXJlIGlzIG5vIG5lZWQgdG8gZ2V0IGZvY3VzIGVsZW1lbnQg
aW5mby4KKwogMjAyMC0wMy0xOSAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAK
ICAgICAgICAgSGF2ZSBpbnNlcnREaWN0YXRlZFRleHRBc3luYygpIHRha2UgYW4gSW5zZXJ0VGV4
dE9wdGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDI2
ZWZiYjM5MGIzODE2M2U5OGY2ODgzOTFjZjc0NTNjNzk3MGE5M2UuLjBiZjYwZGEzYmVlYjQ2MTMx
M2JlMWI5NzdiNmUyN2ViNjE3Y2U4MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcApAQCAtNzUzNyw4ICs3NTM3LDYgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnJlc2V0
U3RhdGVBZnRlclByb2Nlc3NFeGl0ZWQoUHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29uIHRlcm1pbmEK
IAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgbV93YWl0aW5nRm9yUG9zdExheW91dEVk
aXRvclN0YXRlVXBkYXRlQWZ0ZXJGb2N1c2luZ0VsZW1lbnQgPSBmYWxzZTsKLSAgICBtX2RlZmVy
cmVkRWxlbWVudERpZEZvY3VzQXJndW1lbnRzID0gbnVsbHB0cjsKLQogICAgIG1faXNWaXNpYmxl
QWN0aXZpdHkgPSBudWxscHRyOwogICAgIG1faXNBdWRpYmxlQWN0aXZpdHkgPSBudWxscHRyOwog
ICAgIG1faXNDYXB0dXJpbmdBY3Rpdml0eSA9IG51bGxwdHI7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5oCmluZGV4IDRlNDM4Njc3NzgwNzY0OTlmY2MzYjdlY2IwNGFhNDcxZjlk
NTg5OGIuLmQ3ODg4ZmZjNjQ5MzAwOGJiMTE1ZTViYjBlYWUyMGNkZTJhOTA1MmUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0zOTQsMTQgKzM5NCw2IEBAIHR5cGVk
ZWYgR2VuZXJpY0NhbGxiYWNrPGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiwgdWludDMyX3QsIHVp
bnQzMl90LCB1aW50MzJfdD4KIHR5cGVkZWYgR2VuZXJpY0NhbGxiYWNrPGNvbnN0IFdlYkNvcmU6
OkludFBvaW50JiwgdWludDMyX3QsIHVpbnQzMl90PiBUb3VjaGVzQ2FsbGJhY2s7CiB0eXBlZGVm
IEdlbmVyaWNDYWxsYmFjazxjb25zdCBWZWN0b3I8V2ViQ29yZTo6U2VsZWN0aW9uUmVjdD4mPiBT
ZWxlY3Rpb25SZWN0c0NhbGxiYWNrOwogdHlwZWRlZiBHZW5lcmljQ2FsbGJhY2s8Y29uc3QgRm9j
dXNlZEVsZW1lbnRJbmZvcm1hdGlvbiY+IEZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb25DYWxsYmFj
azsKLXN0cnVjdCBFbGVtZW50RGlkRm9jdXNBcmd1bWVudHMgewotICAgIFdURl9NQUtFX1NUUlVD
VF9GQVNUX0FMTE9DQVRFRDsKLSAgICBGb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uIGluZm9ybWF0
aW9uOwotICAgIGJvb2wgdXNlcklzSW50ZXJhY3Rpbmc7Ci0gICAgYm9vbCBibHVyUHJldmlvdXNO
b2RlOwotICAgIE9wdGlvblNldDxXZWJDb3JlOjpBY3Rpdml0eVN0YXRlOjpGbGFnPiBhY3Rpdml0
eVN0YXRlQ2hhbmdlczsKLSAgICBSZWZQdHI8QVBJOjpPYmplY3Q+IHVzZXJEYXRhOwotfTsKICNl
bmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCkBAIC0yNjYyLDcgKzI2NTQsNiBAQCBwcml2YXRl
OgogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBGdW5jdGlvbjxib29sKCk+IG1fZGV2
aWNlT3JpZW50YXRpb25Vc2VyUGVybWlzc2lvbkhhbmRsZXJGb3JUZXN0aW5nOwotICAgIHN0ZDo6
dW5pcXVlX3B0cjxFbGVtZW50RGlkRm9jdXNBcmd1bWVudHM+IG1fZGVmZXJyZWRFbGVtZW50RGlk
Rm9jdXNBcmd1bWVudHM7CiAgICAgYm9vbCBtX3dhaXRpbmdGb3JQb3N0TGF5b3V0RWRpdG9yU3Rh
dGVVcGRhdGVBZnRlckZvY3VzaW5nRWxlbWVudCB7IGZhbHNlIH07CiAgICAgV2ViQ29yZTo6Rmxv
YXRTaXplIG1fbWF4aW11bVVub2JzY3VyZWRTaXplOwogICAgIGJvb2wgbV9sYXN0T2JzZXJ2ZWRT
dGF0ZVdhc0JhY2tncm91bmQgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L2lvcy9XZWJQYWdlUHJveHlJT1MubW0KaW5kZXggZjVlZGFmOGY1NWUxNzExOGQ1YmFhYjBiMDE2
NTE2ZDljOWQ4ZDRiYi4uNzk1ZWIyMDQ0NTJkNDdkYjU1ODA1ZTk2Mjk5ZWVlNzU5OTFiODgzYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tCkBA
IC00MDQsOSArNDA0LDYgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRpZENvbW1pdExheWVyVHJlZShj
b25zdCBXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uJgogICAgICAgICBtX2hpdFJl
bmRlclRyZWVTaXplVGhyZXNob2xkID0gdHJ1ZTsKICAgICAgICAgZGlkUmVhY2hMYXlvdXRNaWxl
c3RvbmUoV2ViQ29yZTo6UmVhY2hlZFNlc3Npb25SZXN0b3JhdGlvblJlbmRlclRyZWVTaXplVGhy
ZXNob2xkKTsKICAgICB9Ci0KLSAgICBpZiAoYXV0byBhcmd1bWVudHMgPSBzdGQ6OmV4Y2hhbmdl
KG1fZGVmZXJyZWRFbGVtZW50RGlkRm9jdXNBcmd1bWVudHMsIG51bGxwdHIpKQotICAgICAgICBw
YWdlQ2xpZW50KCkuZWxlbWVudERpZEZvY3VzKGFyZ3VtZW50cy0+aW5mb3JtYXRpb24sIGFyZ3Vt
ZW50cy0+dXNlcklzSW50ZXJhY3RpbmcsIGFyZ3VtZW50cy0+Ymx1clByZXZpb3VzTm9kZSwgYXJn
dW1lbnRzLT5hY3Rpdml0eVN0YXRlQ2hhbmdlcywgYXJndW1lbnRzLT51c2VyRGF0YS5nZXQoKSk7
CiB9CiAKIGJvb2wgV2ViUGFnZVByb3h5Ojp1cGRhdGVMYXlvdXRWaWV3cG9ydFBhcmFtZXRlcnMo
Y29uc3QgV2ViS2l0OjpSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbiYgbGF5ZXJUcmVlVHJhbnNh
Y3Rpb24pCkBAIC05ODYsMTkgKzk4MywxMiBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZWxlbWVudERp
ZEZvY3VzKGNvbnN0IEZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24mIGluZm9ybWF0aW9uLAogICAg
IG1fcGVuZGluZ0lucHV0TW9kZUNoYW5nZSA9IFdURjo6bnVsbG9wdDsKIAogICAgIEFQSTo6T2Jq
ZWN0KiB1c2VyRGF0YU9iamVjdCA9IHByb2Nlc3MoKS50cmFuc2Zvcm1IYW5kbGVzVG9PYmplY3Rz
KHVzZXJEYXRhLm9iamVjdCgpKS5nZXQoKTsKLSAgICBpZiAobV9lZGl0b3JTdGF0ZS5pc01pc3Np
bmdQb3N0TGF5b3V0RGF0YSkgewotICAgICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHRyeSB0byBl
bGltaW5hdGUgbV9kZWZlcnJlZEVsZW1lbnREaWRGb2N1c0FyZ3VtZW50cyBhbHRvZ2V0aGVyLCBp
biBmYXZvciBvZiBvbmx5IGRlZmVycmluZyBhY3Rpb25zIHRoYXQgYXJlIGRlcGVuZGVudCBvbiBw
b3N0LWxheW91dCBlZGl0b3Igc3RhdGUgaW5mb3JtYXRpb24uCi0gICAgICAgIG1fZGVmZXJyZWRF
bGVtZW50RGlkRm9jdXNBcmd1bWVudHMgPSBtYWtlVW5pcXVlPEVsZW1lbnREaWRGb2N1c0FyZ3Vt
ZW50cz4oRWxlbWVudERpZEZvY3VzQXJndW1lbnRzIHsgaW5mb3JtYXRpb24sIHVzZXJJc0ludGVy
YWN0aW5nLCBibHVyUHJldmlvdXNOb2RlLCBhY3Rpdml0eVN0YXRlQ2hhbmdlcywgdXNlckRhdGFP
YmplY3QgfSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KICAgICBwYWdlQ2xpZW50KCkuZWxl
bWVudERpZEZvY3VzKGluZm9ybWF0aW9uLCB1c2VySXNJbnRlcmFjdGluZywgYmx1clByZXZpb3Vz
Tm9kZSwgYWN0aXZpdHlTdGF0ZUNoYW5nZXMsIHVzZXJEYXRhT2JqZWN0KTsKIH0KIAogdm9pZCBX
ZWJQYWdlUHJveHk6OmVsZW1lbnREaWRCbHVyKCkKIHsKICAgICBtX3BlbmRpbmdJbnB1dE1vZGVD
aGFuZ2UgPSBXVEY6Om51bGxvcHQ7Ci0gICAgbV9kZWZlcnJlZEVsZW1lbnREaWRGb2N1c0FyZ3Vt
ZW50cyA9IG51bGxwdHI7CiAgICAgcGFnZUNsaWVudCgpLmVsZW1lbnREaWRCbHVyKCk7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggMGY1
MjRmOTdhZTk4NjIxYjU3NDg2ODhiMTdiMzEyOTk4ODM0MmFkMi4uZTMwYzg1MzlhNzI2MjFiMzZm
MjNlOTA4NDg0NWM1OGIyZmFhODNlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTU1ODYsOCArNTU4Niw2IEBAIHZvaWQgV2ViUGFnZTo6ZWxl
bWVudERpZEZvY3VzKFdlYkNvcmU6OkVsZW1lbnQmIGVsZW1lbnQpCiAgICAgICAgIHNlbmQoTWVz
c2FnZXM6OldlYlBhZ2VQcm94eTo6U2V0RWRpdGFibGVFbGVtZW50SXNGb2N1c2VkKCFlbGVtZW50
Lmhhc1RhZ05hbWUoV2ViQ29yZTo6SFRNTE5hbWVzOjpzZWxlY3RUYWcpKSk7CiAjZW5kaWYKICAg
ICAgICAgbV9yZWNlbnRseUJsdXJyZWRFbGVtZW50ID0gbnVsbHB0cjsKLQotICAgICAgICBzY2hl
ZHVsZUZ1bGxFZGl0b3JTdGF0ZVVwZGF0ZSgpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0gYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQppbmRleCA3NzBhNDAy
MTBmNDlmOGUyODM2MTEwYjA0MDk4Yzc4YWZjZTEyYWE1Li4yMjg1YTkyZGVkNmQ5MGMzMjM5YzRj
MjYyYjBkNWJjY2U0M2MzMTM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQpAQCAtMzAzMiwxMSArMzAzMiwyMyBAQCB2b2lkIFdl
YlBhZ2U6OmZvY3VzTmV4dEZvY3VzZWRFbGVtZW50KGJvb2wgaXNGb3J3YXJkLCBDYWxsYmFja0lE
IGNhbGxiYWNrSUQpCiAKIHZvaWQgV2ViUGFnZTo6Z2V0Rm9jdXNlZEVsZW1lbnRJbmZvcm1hdGlv
bihGb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uJiBpbmZvcm1hdGlvbikKIHsKLSAgICBhdXRvIGZv
Y3VzZWRFbGVtZW50ID0gbV9mb2N1c2VkRWxlbWVudC5jb3B5UmVmKCk7Ci0gICAgbGF5b3V0SWZO
ZWVkZWQoKTsKLSAgICBpZiAoZm9jdXNlZEVsZW1lbnQgIT0gbV9mb2N1c2VkRWxlbWVudCkKKyAg
ICBSZWZQdHI8RG9jdW1lbnQ+IGRvY3VtZW50ID0gbV9wYWdlLT5mb2N1c0NvbnRyb2xsZXIoKS5m
b2N1c2VkT3JNYWluRnJhbWUoKS5kb2N1bWVudCgpOworICAgIGlmICghZG9jdW1lbnQgfHwgIWRv
Y3VtZW50LT52aWV3KCkpCiAgICAgICAgIHJldHVybjsKIAorICAgIGF1dG8gZm9jdXNlZEVsZW1l
bnQgPSBtX2ZvY3VzZWRFbGVtZW50LmNvcHlSZWYoKTsKKyAgICBib29sIHdpbGxMYXlvdXQgPSBk
b2N1bWVudC0+dmlldygpLT5uZWVkc0xheW91dCgpOworICAgIGxheW91dElmTmVlZGVkKCk7CisK
KyAgICAvLyBMYXlvdXQgbWF5IGhhdmUgZGV0YWNoZWQgdGhlIGRvY3VtZW50IG9yIGNhdXNlZCBh
IGNoYW5nZSBvZiBmb2N1cy4KKyAgICBpZiAoIWRvY3VtZW50LT52aWV3KCkgfHwgZm9jdXNlZEVs
ZW1lbnQgIT0gbV9mb2N1c2VkRWxlbWVudCkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKHdp
bGxMYXlvdXQpCisgICAgICAgIHNlbmRFZGl0b3JTdGF0ZVVwZGF0ZSgpOworICAgIGVsc2UKKyAg
ICAgICAgc2NoZWR1bGVGdWxsRWRpdG9yU3RhdGVVcGRhdGUoKTsKKwogICAgIGluZm9ybWF0aW9u
Lmxhc3RJbnRlcmFjdGlvbkxvY2F0aW9uID0gbV9sYXN0SW50ZXJhY3Rpb25Mb2NhdGlvbjsKICAg
ICBpZiAoYXV0byBlbGVtZW50Q29udGV4dCA9IGNvbnRleHRGb3JFbGVtZW50KCpmb2N1c2VkRWxl
bWVudCkpCiAgICAgICAgIGluZm9ybWF0aW9uLmVsZW1lbnRDb250ZXh0ID0gV1RGTW92ZSgqZWxl
bWVudENvbnRleHQpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>