<?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>200889</bug_id>
          
          <creation_ts>2019-08-19 10:03:14 -0700</creation_ts>
          <short_desc>Clicking the search icon on ae.com hangs the web content process</short_desc>
          <delta_ts>2019-08-20 11:46:44 -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>HTML Editing</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="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>bdakin</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kangil.han</cc>
    
    <cc>rniwa</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1562739</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-08-19 10:03:14 -0700</bug_when>
    <thetext>&lt;rdar://problem/54359330&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1562741</commentid>
    <comment_count>1</comment_count>
      <attachid>376694</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-08-19 10:07:28 -0700</bug_when>
    <thetext>Created attachment 376694
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1562743</commentid>
    <comment_count>2</comment_count>
      <attachid>376695</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-08-19 10:08:48 -0700</bug_when>
    <thetext>Created attachment 376695
WIP patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1562918</commentid>
    <comment_count>3</comment_count>
      <attachid>376740</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-08-19 20:56:35 -0700</bug_when>
    <thetext>Created attachment 376740
Alternate approach</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1562943</commentid>
    <comment_count>4</comment_count>
      <attachid>376740</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-08-19 22:10:47 -0700</bug_when>
    <thetext>Comment on attachment 376740
Alternate approach

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

&gt; Source/WebCore/dom/Position.cpp:636
&gt; +    auto&amp; renderer = *node-&gt;renderer();
&gt; +    return is&lt;RenderElement&gt;(renderer) &amp;&amp; !Position::hasRenderedNonAnonymousDescendantsWithHeight(downcast&lt;RenderElement&gt;(renderer));

This doesn&apos;t seem right. It&apos;s possible for a text node to appear as direct children of a document node.

&gt; LayoutTests/ChangeLog:13
&gt; +        * fast/events/focus-anchor-with-tabindex-hang-expected.txt: Added.
&gt; +        * fast/events/focus-anchor-with-tabindex-hang.html: Added.

Please add another test which uses getSelection().modify(~) to reproduce the hang.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1563087</commentid>
    <comment_count>5</comment_count>
      <attachid>376740</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-08-20 09:23:36 -0700</bug_when>
    <thetext>Comment on attachment 376740
Alternate approach

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

&gt;&gt; Source/WebCore/dom/Position.cpp:636
&gt;&gt; +    return is&lt;RenderElement&gt;(renderer) &amp;&amp; !Position::hasRenderedNonAnonymousDescendantsWithHeight(downcast&lt;RenderElement&gt;(renderer));
&gt; 
&gt; This doesn&apos;t seem right. It&apos;s possible for a text node to appear as direct children of a document node.

Hm…I’m a bit confused by this comment. This existing early return:

    if (!node-&gt;renderer()-&gt;isInline())
        return true;

…should ensure that we always consider the document element to have visually distinct ends, even in a page like this:

    &lt;html&gt;
        &lt;style&gt;
        html, body { display: inline; }
        &lt;/style&gt;
        
    &lt;/html&gt;

Perhaps I misunderstood something?

&gt;&gt; LayoutTests/ChangeLog:13
&gt;&gt; +        * fast/events/focus-anchor-with-tabindex-hang.html: Added.
&gt; 
&gt; Please add another test which uses getSelection().modify(~) to reproduce the hang.

Good call! Added a new test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1563088</commentid>
    <comment_count>6</comment_count>
      <attachid>376775</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-08-20 09:25:53 -0700</bug_when>
    <thetext>Created attachment 376775
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1563091</commentid>
    <comment_count>7</comment_count>
      <attachid>376776</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-08-20 09:29:02 -0700</bug_when>
    <thetext>Created attachment 376776
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1563149</commentid>
    <comment_count>8</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-08-20 11:14:12 -0700</bug_when>
    <thetext>(In reply to Wenson Hsieh from comment #5)
&gt; Comment on attachment 376740 [details]
&gt; Alternate approach
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=376740&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/dom/Position.cpp:636
&gt; &gt;&gt; +    return is&lt;RenderElement&gt;(renderer) &amp;&amp; !Position::hasRenderedNonAnonymousDescendantsWithHeight(downcast&lt;RenderElement&gt;(renderer));
&gt; &gt; 
&gt; &gt; This doesn&apos;t seem right. It&apos;s possible for a text node to appear as direct children of a document node.
&gt; 
&gt; Hm…I’m a bit confused by this comment. This existing early return:
&gt; 
&gt;     if (!node-&gt;renderer()-&gt;isInline())
&gt;         return true;
&gt; 
&gt; …should ensure that we always consider the document element to have visually
&gt; distinct ends, even in a page like this:

Oh, I missed that. Cool.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1563161</commentid>
    <comment_count>9</comment_count>
      <attachid>376776</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-20 11:46:42 -0700</bug_when>
    <thetext>Comment on attachment 376776
Patch

Clearing flags on attachment: 376776

Committed r248909: &lt;https://trac.webkit.org/changeset/248909&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1563162</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-20 11:46:44 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>376694</attachid>
            <date>2019-08-19 10:07:28 -0700</date>
            <delta_ts>2019-08-19 10:08:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200889-20190819100728.patch</filename>
            <type>text/plain</type>
            <size>7872</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ4NTE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTJiYjg4OGNmYzEzZGIz
YThjMTcxZjEwNTQ2NTQ2NjIwYzg0OGQ3MS4uNDNlNWQyYjI1Y2UxN2JlMGJkZjg0ZDAyMmFkMzY0
ZjQ4M2UyMjMyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE5LTA4LTE5ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIENsaWNraW5nIHRo
ZSBzZWFyY2ggaWNvbiBvbiBhZS5jb20gaGFuZ3MgdGhlIHdlYiBjb250ZW50IHByb2Nlc3MKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDg4OQorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNTQzNTkzMzA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgV0lQIHBhdGNoLgorCisgICAgICAgIFRlc3Q6IGZhc3Qv
ZXZlbnRzL2ZvY3VzLWFuY2hvci13aXRoLXRhYmluZGV4LWhhbmcuaHRtbAorCisgICAgICAgICog
ZWRpdGluZy9WaXNpYmxlUG9zaXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VmlzaWJsZVBv
c2l0aW9uOjpwcmV2aW91cyBjb25zdCk6CisKIDIwMTktMDgtMTAgIFNpbW9uIEZyYXNlciAgPHNp
bW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjI0NTk3NCk6IE1p
c3NpbmcgY29udGVudCBvbiBoYWJpdGJ1cmdlci5jb20sIGFtYXpvbi5jb20KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVBvc2l0aW9uLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvVmlzaWJsZVBvc2l0aW9uLmNwcAppbmRleCAwZjQ3ODZhNjNkM2I0Y2U5OTY5
NWYzZmM2OTA1YTU0NDE4NDFjMzM4Li44M2FlYjkyM2RmMDJmOGMwOGU0YjIyMDg3YWFiYzg4ZDNi
NWJkNjRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVQb3NpdGlv
bi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlUG9zaXRpb24uY3BwCkBA
IC04MiwzNSArODIsMzcgQEAgVmlzaWJsZVBvc2l0aW9uIFZpc2libGVQb3NpdGlvbjo6cHJldmlv
dXMoRWRpdGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlIHJ1bGUsIGJvb2wKIHsKICAgICBpZiAocmVh
Y2hlZEJvdW5kYXJ5KQogICAgICAgICAqcmVhY2hlZEJvdW5kYXJ5ID0gZmFsc2U7Ci0gICAgLy8g
RklYTUU6IFN1cHBvcnQgQ2FuU2tpcEVkaXRpbmdCb3VuZGFyeQorICAgIC8vIEZJWE1FOiBTdXBw
b3J0IENhblNraXBFZGl0aW5nQm91bmRhcnkuCiAgICAgQVNTRVJUKHJ1bGUgPT0gQ2FuQ3Jvc3NF
ZGl0aW5nQm91bmRhcnkgfHwgcnVsZSA9PSBDYW5ub3RDcm9zc0VkaXRpbmdCb3VuZGFyeSk7Ci0g
ICAgLy8gZmluZCBmaXJzdCBwcmV2aW91cyBET00gcG9zaXRpb24gdGhhdCBpcyB2aXNpYmxlCi0g
ICAgUG9zaXRpb24gcG9zID0gcHJldmlvdXNWaXN1YWxseURpc3RpbmN0Q2FuZGlkYXRlKG1fZGVl
cFBvc2l0aW9uKTsKLSAgICAKLSAgICAvLyByZXR1cm4gbnVsbCB2aXNpYmxlIHBvc2l0aW9uIGlm
IHRoZXJlIGlzIG5vIHByZXZpb3VzIHZpc2libGUgcG9zaXRpb24KLSAgICBpZiAocG9zLmF0U3Rh
cnRPZlRyZWUoKSkgewotICAgICAgICBpZiAocmVhY2hlZEJvdW5kYXJ5KQotICAgICAgICAgICAg
KnJlYWNoZWRCb3VuZGFyeSA9IHRydWU7Ci0gICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24o
KTsKKyAgICBhdXRvIHByZXZpb3VzVmlzaWJsZVBvc2l0aW9uID0gKnRoaXM7CisgICAgYXV0byBw
cmV2aW91c1Bvc2l0aW9uID0gbV9kZWVwUG9zaXRpb247CisgICAgd2hpbGUgKHByZXZpb3VzVmlz
aWJsZVBvc2l0aW9uLmlzTm90TnVsbCgpICYmIHByZXZpb3VzVmlzaWJsZVBvc2l0aW9uLmRlZXBF
cXVpdmFsZW50KCkgPT0gbV9kZWVwUG9zaXRpb24pIHsKKyAgICAgICAgLy8gRmluZCB0aGUgZmly
c3QgcHJldmlvdXMgRE9NIHBvc2l0aW9uIHRoYXQgaXMgdmlzaWJsZS4KKyAgICAgICAgcHJldmlv
dXNQb3NpdGlvbiA9IHByZXZpb3VzVmlzdWFsbHlEaXN0aW5jdENhbmRpZGF0ZShwcmV2aW91c1Bv
c2l0aW9uKTsKKyAgICAgICAgLy8gUmV0dXJuIG51bGwgdmlzaWJsZSBwb3NpdGlvbiBpZiB0aGVy
ZSBpcyBubyBwcmV2aW91cyB2aXNpYmxlIHBvc2l0aW9uLgorICAgICAgICBpZiAocHJldmlvdXNQ
b3NpdGlvbi5hdFN0YXJ0T2ZUcmVlKCkpIHsKKyAgICAgICAgICAgIGlmIChyZWFjaGVkQm91bmRh
cnkpCisgICAgICAgICAgICAgICAgKnJlYWNoZWRCb3VuZGFyeSA9IHRydWU7CisgICAgICAgICAg
ICByZXR1cm4geyB9OworICAgICAgICB9CisKKyAgICAgICAgcHJldmlvdXNWaXNpYmxlUG9zaXRp
b24gPSBWaXNpYmxlUG9zaXRpb24ocHJldmlvdXNQb3NpdGlvbiwgRE9XTlNUUkVBTSk7CiAgICAg
fQotICAgICAgICAKLSAgICBWaXNpYmxlUG9zaXRpb24gcHJldiA9IFZpc2libGVQb3NpdGlvbihw
b3MsIERPV05TVFJFQU0pOwotICAgIEFTU0VSVChwcmV2ICE9ICp0aGlzKTsKLSAgICAKKwogI2lm
bmRlZiBOREVCVUcKLSAgICAvLyB3ZSBzaG91bGQgYWx3YXlzIGJlIGFibGUgdG8gbWFrZSB0aGUg
YWZmaW5pdHkgRE9XTlNUUkVBTSwgYmVjYXVzZSBnb2luZyBwcmV2aW91cyBmcm9tIGFuCisgICAg
Ly8gV2Ugc2hvdWxkIGFsd2F5cyBiZSBhYmxlIHRvIG1ha2UgdGhlIGFmZmluaXR5IERPV05TVFJF
QU0sIGJlY2F1c2UgZ29pbmcgcHJldmlvdXMgZnJvbSBhbgogICAgIC8vIFVQU1RSRUFNIHBvc2l0
aW9uIGNhbiBuZXZlciB5aWVsZCBhbm90aGVyIFVQU1RSRUFNIHBvc2l0aW9uICh1bmxlc3MgbGlu
ZSB3cmFwIGxlbmd0aCBpcyAwISkuCi0gICAgaWYgKHByZXYuaXNOb3ROdWxsKCkgJiYgbV9hZmZp
bml0eSA9PSBVUFNUUkVBTSkgewotICAgICAgICBWaXNpYmxlUG9zaXRpb24gdGVtcCA9IHByZXY7
CisgICAgaWYgKHByZXZpb3VzVmlzaWJsZVBvc2l0aW9uLmlzTm90TnVsbCgpICYmIG1fYWZmaW5p
dHkgPT0gVVBTVFJFQU0pIHsKKyAgICAgICAgVmlzaWJsZVBvc2l0aW9uIHRlbXAgPSBwcmV2aW91
c1Zpc2libGVQb3NpdGlvbjsKICAgICAgICAgdGVtcC5zZXRBZmZpbml0eShVUFNUUkVBTSk7Ci0g
ICAgICAgIEFTU0VSVChpblNhbWVMaW5lKHRlbXAsIHByZXYpKTsKKyAgICAgICAgQVNTRVJUKGlu
U2FtZUxpbmUodGVtcCwgcHJldmlvdXNWaXNpYmxlUG9zaXRpb24pKTsKICAgICB9CiAjZW5kaWYK
IAogICAgIGlmIChydWxlID09IENhbkNyb3NzRWRpdGluZ0JvdW5kYXJ5KQotICAgICAgICByZXR1
cm4gcHJldjsKLSAgICAKLSAgICByZXR1cm4gaG9ub3JFZGl0aW5nQm91bmRhcnlBdE9yQmVmb3Jl
KHByZXYsIHJlYWNoZWRCb3VuZGFyeSk7CisgICAgICAgIHJldHVybiBwcmV2aW91c1Zpc2libGVQ
b3NpdGlvbjsKKworICAgIHJldHVybiBob25vckVkaXRpbmdCb3VuZGFyeUF0T3JCZWZvcmUocHJl
dmlvdXNWaXNpYmxlUG9zaXRpb24sIHJlYWNoZWRCb3VuZGFyeSk7CiB9CiAKIFBvc2l0aW9uIFZp
c2libGVQb3NpdGlvbjo6bGVmdFZpc3VhbGx5RGlzdGluY3RDYW5kaWRhdGUoKSBjb25zdApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IGQ1ZGRlMTEzMjlmZGFmYzVlNjUwMGVjNmUwYjcyMGU4MDNjMGNlZTcuLmU2YzlhY2ZiMTVh
MjFhODBiMTAzNDc4MDVkNWQ4MDUxM2UyZjU1YTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAx
OS0wOC0xOSAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAg
ICBDbGlja2luZyB0aGUgc2VhcmNoIGljb24gb24gYWUuY29tIGhhbmdzIHRoZSB3ZWIgY29udGVu
dCBwcm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMDA4ODkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU0MzU5MzMwPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIGxheW91dCB0ZXN0IHRv
IGVuc3VyZSB0aGF0IGNsaWNraW5nIGFuIGVtcHR5IHNwYW4gdW5kZXIgYSBmb2N1c2FibGUgYW5j
aG9yIGVsZW1lbnQgbW92ZXMgZm9jdXMgdG8gdGhlCisgICAgICAgIGFuY2hvciBlbGVtZW50IGlu
c3RlYWQgb2YgaGFuZ2luZyB0aGUgd2ViIGNvbnRlbnQgcHJvY2VzcyBvciBoaXR0aW5nIGEgZGVi
dWcgYXNzZXJ0aW9uLgorCisgICAgICAgICogZmFzdC9ldmVudHMvZm9jdXMtYW5jaG9yLXdpdGgt
dGFiaW5kZXgtaGFuZy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRz
L2ZvY3VzLWFuY2hvci13aXRoLXRhYmluZGV4LWhhbmcuaHRtbDogQWRkZWQuCisKIDIwMTktMDgt
MTAgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgUkVH
UkVTU0lPTiAocjI0NTk3NCk6IE1pc3NpbmcgY29udGVudCBvbiBoYWJpdGJ1cmdlci5jb20sIGFt
YXpvbi5jb20KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2ZvY3VzLWFuY2hv
ci13aXRoLXRhYmluZGV4LWhhbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvZm9jdXMtYW5jaG9yLXdpdGgtdGFiaW5kZXgtaGFuZy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uM2U2YjMwNDkwZDBlMTdmZGU2ODg4OTEyMTc3OTc5M2UzYWRiZDQ3OQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2ZvY3VzLWFuY2hvci13aXRoLXRhYmluZGV4
LWhhbmctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IGNsaWNraW5nIGFuIGVtcHR5IGNvbnRhaW5lciBpbiBhbiBhbmNob3IgZWxlbWVudCB3aXRo
IGEgdGFiaW5kZXggY29ycmVjdGx5IGZvY3VzZXMgdGhlIGFuY2hvciB3aXRob3V0IGhhbmdpbmcg
dGhlIHdlYiBjb250ZW50IHByb2Nlc3MuIFRvIHJ1biB0aGUgdGVzdCBtYW51YWxseSwgdGFwIG9y
IGNsaWNrIHRoZSByZWQgYm94OyB0aGUgYWN0aXZlIGVsZW1lbnQgc2hvdWxkIGJlIHNldCB0byB0
aGUgYW5jaG9yIGVsZW1lbnQsIGFuZCB0aGUgd2ViIHByb2Nlc3Mgc2hvdWxkIHJlbWFpbiByZXNw
b25zaXZlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBDbGlja2VkIHRh
cmdldC4KK1BBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBpcyBhbmNob3IKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL2ZvY3VzLWFuY2hvci13aXRoLXRhYmluZGV4LWhhbmcuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2ZvY3VzLWFuY2hvci13aXRoLXRhYmluZGV4LWhh
bmcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43NDIwNmI5ZjQyODc3ZmMwZGMyNTQzMzI2ZDVhMjlmMWM5ZTQ5
NmI4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZm9jdXMtYW5j
aG9yLXdpdGgtdGFiaW5kZXgtaGFuZy5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGFbdGFiaW5kZXhdIHsKKyAgICAgICAgICAgICAgICBvdXRsaW5l
OiBub25lOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBzcGFuLmVtcHR5IHsKKyAgICAg
ICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxZW07CisgICAgICAgICAgICAgICAgZm9u
dC1zaXplOiA0MHB4OworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBzcGFuI3RhcmdldCB7
CisgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmVkOworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICBhbmNob3IgPSBkb2N1bWVudC5xdWVy
eVNlbGVjdG9yKCJhIik7CisgICAgICAgICAgICAgICAgdGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInRhcmdldCIpOworICAgICAgICAgICAgICAgIHRhcmdldC5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgiQ2xp
Y2tlZCB0YXJnZXQuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJkb2N1bWVudC5h
Y3RpdmVFbGVtZW50IiwgImFuY2hvciIpOworICAgICAgICAgICAgICAgIH0pOworCisgICAgICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IGNsaWNraW5nIGFu
IGVtcHR5IGNvbnRhaW5lciBpbiBhbiBhbmNob3IgZWxlbWVudCB3aXRoIGEgdGFiaW5kZXggY29y
cmVjdGx5IGZvY3VzZXMgdGhlIGFuY2hvciB3aXRob3V0IGhhbmdpbmcgdGhlIHdlYiBjb250ZW50
IHByb2Nlc3MuIFRvIHJ1biB0aGUgdGVzdCBtYW51YWxseSwgdGFwIG9yIGNsaWNrIHRoZSByZWQg
Ym94OyB0aGUgYWN0aXZlIGVsZW1lbnQgc2hvdWxkIGJlIHNldCB0byB0aGUgYW5jaG9yIGVsZW1l
bnQsIGFuZCB0aGUgd2ViIHByb2Nlc3Mgc2hvdWxkIHJlbWFpbiByZXNwb25zaXZlLiIpOworCisg
ICAgICAgICAgICAgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuOworCisgICAgICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHRhcmdldCk7CisgICAgICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2Vu
dGF0aW9uVXBkYXRlKCk7CisgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICB9KTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAg
ICAgICA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKyAgICAgICAgPHAgaWQ9ImNvbnNvbGUiPjwv
cD4KKyAgICAgICAgPGEgdGFiaW5kZXg9IjAiPgorICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImVt
cHR5Ij4gPC9zcGFuPgorICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImVtcHR5IiBpZD0idGFyZ2V0
Ij4gPC9zcGFuPgorICAgICAgICA8L2E+CisgICAgICAgIDxkaXY+CisgICAgICAgICAgICA8c3Bh
biBjbGFzcz0iZW1wdHkiPiA8L3NwYW4+CisgICAgICAgIDwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>376695</attachid>
            <date>2019-08-19 10:08:48 -0700</date>
            <delta_ts>2019-08-20 09:25:51 -0700</delta_ts>
            <desc>WIP patch</desc>
            <filename>bug-200889-20190819100848.patch</filename>
            <type>text/plain</type>
            <size>7872</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ4NTE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTJiYjg4OGNmYzEzZGIz
YThjMTcxZjEwNTQ2NTQ2NjIwYzg0OGQ3MS4uNDNlNWQyYjI1Y2UxN2JlMGJkZjg0ZDAyMmFkMzY0
ZjQ4M2UyMjMyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE5LTA4LTE5ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIENsaWNraW5nIHRo
ZSBzZWFyY2ggaWNvbiBvbiBhZS5jb20gaGFuZ3MgdGhlIHdlYiBjb250ZW50IHByb2Nlc3MKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDg4OQorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNTQzNTkzMzA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgV0lQIHBhdGNoLgorCisgICAgICAgIFRlc3Q6IGZhc3Qv
ZXZlbnRzL2ZvY3VzLWFuY2hvci13aXRoLXRhYmluZGV4LWhhbmcuaHRtbAorCisgICAgICAgICog
ZWRpdGluZy9WaXNpYmxlUG9zaXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VmlzaWJsZVBv
c2l0aW9uOjpwcmV2aW91cyBjb25zdCk6CisKIDIwMTktMDgtMTAgIFNpbW9uIEZyYXNlciAgPHNp
bW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjI0NTk3NCk6IE1p
c3NpbmcgY29udGVudCBvbiBoYWJpdGJ1cmdlci5jb20sIGFtYXpvbi5jb20KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVBvc2l0aW9uLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvVmlzaWJsZVBvc2l0aW9uLmNwcAppbmRleCAwZjQ3ODZhNjNkM2I0Y2U5OTY5
NWYzZmM2OTA1YTU0NDE4NDFjMzM4Li44M2FlYjkyM2RmMDJmOGMwOGU0YjIyMDg3YWFiYzg4ZDNi
NWJkNjRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVQb3NpdGlv
bi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlUG9zaXRpb24uY3BwCkBA
IC04MiwzNSArODIsMzcgQEAgVmlzaWJsZVBvc2l0aW9uIFZpc2libGVQb3NpdGlvbjo6cHJldmlv
dXMoRWRpdGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlIHJ1bGUsIGJvb2wKIHsKICAgICBpZiAocmVh
Y2hlZEJvdW5kYXJ5KQogICAgICAgICAqcmVhY2hlZEJvdW5kYXJ5ID0gZmFsc2U7Ci0gICAgLy8g
RklYTUU6IFN1cHBvcnQgQ2FuU2tpcEVkaXRpbmdCb3VuZGFyeQorICAgIC8vIEZJWE1FOiBTdXBw
b3J0IENhblNraXBFZGl0aW5nQm91bmRhcnkuCiAgICAgQVNTRVJUKHJ1bGUgPT0gQ2FuQ3Jvc3NF
ZGl0aW5nQm91bmRhcnkgfHwgcnVsZSA9PSBDYW5ub3RDcm9zc0VkaXRpbmdCb3VuZGFyeSk7Ci0g
ICAgLy8gZmluZCBmaXJzdCBwcmV2aW91cyBET00gcG9zaXRpb24gdGhhdCBpcyB2aXNpYmxlCi0g
ICAgUG9zaXRpb24gcG9zID0gcHJldmlvdXNWaXN1YWxseURpc3RpbmN0Q2FuZGlkYXRlKG1fZGVl
cFBvc2l0aW9uKTsKLSAgICAKLSAgICAvLyByZXR1cm4gbnVsbCB2aXNpYmxlIHBvc2l0aW9uIGlm
IHRoZXJlIGlzIG5vIHByZXZpb3VzIHZpc2libGUgcG9zaXRpb24KLSAgICBpZiAocG9zLmF0U3Rh
cnRPZlRyZWUoKSkgewotICAgICAgICBpZiAocmVhY2hlZEJvdW5kYXJ5KQotICAgICAgICAgICAg
KnJlYWNoZWRCb3VuZGFyeSA9IHRydWU7Ci0gICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24o
KTsKKyAgICBhdXRvIHByZXZpb3VzVmlzaWJsZVBvc2l0aW9uID0gKnRoaXM7CisgICAgYXV0byBw
cmV2aW91c1Bvc2l0aW9uID0gbV9kZWVwUG9zaXRpb247CisgICAgd2hpbGUgKHByZXZpb3VzVmlz
aWJsZVBvc2l0aW9uLmlzTm90TnVsbCgpICYmIHByZXZpb3VzVmlzaWJsZVBvc2l0aW9uLmRlZXBF
cXVpdmFsZW50KCkgPT0gbV9kZWVwUG9zaXRpb24pIHsKKyAgICAgICAgLy8gRmluZCB0aGUgZmly
c3QgcHJldmlvdXMgRE9NIHBvc2l0aW9uIHRoYXQgaXMgdmlzaWJsZS4KKyAgICAgICAgcHJldmlv
dXNQb3NpdGlvbiA9IHByZXZpb3VzVmlzdWFsbHlEaXN0aW5jdENhbmRpZGF0ZShwcmV2aW91c1Bv
c2l0aW9uKTsKKyAgICAgICAgLy8gUmV0dXJuIG51bGwgdmlzaWJsZSBwb3NpdGlvbiBpZiB0aGVy
ZSBpcyBubyBwcmV2aW91cyB2aXNpYmxlIHBvc2l0aW9uLgorICAgICAgICBpZiAocHJldmlvdXNQ
b3NpdGlvbi5hdFN0YXJ0T2ZUcmVlKCkpIHsKKyAgICAgICAgICAgIGlmIChyZWFjaGVkQm91bmRh
cnkpCisgICAgICAgICAgICAgICAgKnJlYWNoZWRCb3VuZGFyeSA9IHRydWU7CisgICAgICAgICAg
ICByZXR1cm4geyB9OworICAgICAgICB9CisKKyAgICAgICAgcHJldmlvdXNWaXNpYmxlUG9zaXRp
b24gPSBWaXNpYmxlUG9zaXRpb24ocHJldmlvdXNQb3NpdGlvbiwgRE9XTlNUUkVBTSk7CiAgICAg
fQotICAgICAgICAKLSAgICBWaXNpYmxlUG9zaXRpb24gcHJldiA9IFZpc2libGVQb3NpdGlvbihw
b3MsIERPV05TVFJFQU0pOwotICAgIEFTU0VSVChwcmV2ICE9ICp0aGlzKTsKLSAgICAKKwogI2lm
bmRlZiBOREVCVUcKLSAgICAvLyB3ZSBzaG91bGQgYWx3YXlzIGJlIGFibGUgdG8gbWFrZSB0aGUg
YWZmaW5pdHkgRE9XTlNUUkVBTSwgYmVjYXVzZSBnb2luZyBwcmV2aW91cyBmcm9tIGFuCisgICAg
Ly8gV2Ugc2hvdWxkIGFsd2F5cyBiZSBhYmxlIHRvIG1ha2UgdGhlIGFmZmluaXR5IERPV05TVFJF
QU0sIGJlY2F1c2UgZ29pbmcgcHJldmlvdXMgZnJvbSBhbgogICAgIC8vIFVQU1RSRUFNIHBvc2l0
aW9uIGNhbiBuZXZlciB5aWVsZCBhbm90aGVyIFVQU1RSRUFNIHBvc2l0aW9uICh1bmxlc3MgbGlu
ZSB3cmFwIGxlbmd0aCBpcyAwISkuCi0gICAgaWYgKHByZXYuaXNOb3ROdWxsKCkgJiYgbV9hZmZp
bml0eSA9PSBVUFNUUkVBTSkgewotICAgICAgICBWaXNpYmxlUG9zaXRpb24gdGVtcCA9IHByZXY7
CisgICAgaWYgKHByZXZpb3VzVmlzaWJsZVBvc2l0aW9uLmlzTm90TnVsbCgpICYmIG1fYWZmaW5p
dHkgPT0gVVBTVFJFQU0pIHsKKyAgICAgICAgVmlzaWJsZVBvc2l0aW9uIHRlbXAgPSBwcmV2aW91
c1Zpc2libGVQb3NpdGlvbjsKICAgICAgICAgdGVtcC5zZXRBZmZpbml0eShVUFNUUkVBTSk7Ci0g
ICAgICAgIEFTU0VSVChpblNhbWVMaW5lKHRlbXAsIHByZXYpKTsKKyAgICAgICAgQVNTRVJUKGlu
U2FtZUxpbmUodGVtcCwgcHJldmlvdXNWaXNpYmxlUG9zaXRpb24pKTsKICAgICB9CiAjZW5kaWYK
IAogICAgIGlmIChydWxlID09IENhbkNyb3NzRWRpdGluZ0JvdW5kYXJ5KQotICAgICAgICByZXR1
cm4gcHJldjsKLSAgICAKLSAgICByZXR1cm4gaG9ub3JFZGl0aW5nQm91bmRhcnlBdE9yQmVmb3Jl
KHByZXYsIHJlYWNoZWRCb3VuZGFyeSk7CisgICAgICAgIHJldHVybiBwcmV2aW91c1Zpc2libGVQ
b3NpdGlvbjsKKworICAgIHJldHVybiBob25vckVkaXRpbmdCb3VuZGFyeUF0T3JCZWZvcmUocHJl
dmlvdXNWaXNpYmxlUG9zaXRpb24sIHJlYWNoZWRCb3VuZGFyeSk7CiB9CiAKIFBvc2l0aW9uIFZp
c2libGVQb3NpdGlvbjo6bGVmdFZpc3VhbGx5RGlzdGluY3RDYW5kaWRhdGUoKSBjb25zdApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IGQ1ZGRlMTEzMjlmZGFmYzVlNjUwMGVjNmUwYjcyMGU4MDNjMGNlZTcuLmU2YzlhY2ZiMTVh
MjFhODBiMTAzNDc4MDVkNWQ4MDUxM2UyZjU1YTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAx
OS0wOC0xOSAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAg
ICBDbGlja2luZyB0aGUgc2VhcmNoIGljb24gb24gYWUuY29tIGhhbmdzIHRoZSB3ZWIgY29udGVu
dCBwcm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMDA4ODkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU0MzU5MzMwPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIGxheW91dCB0ZXN0IHRv
IGVuc3VyZSB0aGF0IGNsaWNraW5nIGFuIGVtcHR5IHNwYW4gdW5kZXIgYSBmb2N1c2FibGUgYW5j
aG9yIGVsZW1lbnQgbW92ZXMgZm9jdXMgdG8gdGhlCisgICAgICAgIGFuY2hvciBlbGVtZW50IGlu
c3RlYWQgb2YgaGFuZ2luZyB0aGUgd2ViIGNvbnRlbnQgcHJvY2VzcyBvciBoaXR0aW5nIGEgZGVi
dWcgYXNzZXJ0aW9uLgorCisgICAgICAgICogZmFzdC9ldmVudHMvZm9jdXMtYW5jaG9yLXdpdGgt
dGFiaW5kZXgtaGFuZy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRz
L2ZvY3VzLWFuY2hvci13aXRoLXRhYmluZGV4LWhhbmcuaHRtbDogQWRkZWQuCisKIDIwMTktMDgt
MTAgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgUkVH
UkVTU0lPTiAocjI0NTk3NCk6IE1pc3NpbmcgY29udGVudCBvbiBoYWJpdGJ1cmdlci5jb20sIGFt
YXpvbi5jb20KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2ZvY3VzLWFuY2hv
ci13aXRoLXRhYmluZGV4LWhhbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvZm9jdXMtYW5jaG9yLXdpdGgtdGFiaW5kZXgtaGFuZy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uM2U2YjMwNDkwZDBlMTdmZGU2ODg4OTEyMTc3OTc5M2UzYWRiZDQ3OQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2ZvY3VzLWFuY2hvci13aXRoLXRhYmluZGV4
LWhhbmctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IGNsaWNraW5nIGFuIGVtcHR5IGNvbnRhaW5lciBpbiBhbiBhbmNob3IgZWxlbWVudCB3aXRo
IGEgdGFiaW5kZXggY29ycmVjdGx5IGZvY3VzZXMgdGhlIGFuY2hvciB3aXRob3V0IGhhbmdpbmcg
dGhlIHdlYiBjb250ZW50IHByb2Nlc3MuIFRvIHJ1biB0aGUgdGVzdCBtYW51YWxseSwgdGFwIG9y
IGNsaWNrIHRoZSByZWQgYm94OyB0aGUgYWN0aXZlIGVsZW1lbnQgc2hvdWxkIGJlIHNldCB0byB0
aGUgYW5jaG9yIGVsZW1lbnQsIGFuZCB0aGUgd2ViIHByb2Nlc3Mgc2hvdWxkIHJlbWFpbiByZXNw
b25zaXZlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBDbGlja2VkIHRh
cmdldC4KK1BBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBpcyBhbmNob3IKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL2ZvY3VzLWFuY2hvci13aXRoLXRhYmluZGV4LWhhbmcuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2ZvY3VzLWFuY2hvci13aXRoLXRhYmluZGV4LWhh
bmcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43NDIwNmI5ZjQyODc3ZmMwZGMyNTQzMzI2ZDVhMjlmMWM5ZTQ5
NmI4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZm9jdXMtYW5j
aG9yLXdpdGgtdGFiaW5kZXgtaGFuZy5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBo
dG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBd
IC0tPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIGFbdGFiaW5kZXhdIHsKKyAgICAgICAgICAgICAgICBvdXRsaW5l
OiBub25lOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBzcGFuLmVtcHR5IHsKKyAgICAg
ICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CisgICAgICAgICAgICAgICAgd2lkdGg6
IDEwMCU7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxZW07CisgICAgICAgICAgICAgICAgZm9u
dC1zaXplOiA0MHB4OworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBzcGFuI3RhcmdldCB7
CisgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmVkOworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICBhbmNob3IgPSBkb2N1bWVudC5xdWVy
eVNlbGVjdG9yKCJhIik7CisgICAgICAgICAgICAgICAgdGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInRhcmdldCIpOworICAgICAgICAgICAgICAgIHRhcmdldC5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgiQ2xp
Y2tlZCB0YXJnZXQuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJkb2N1bWVudC5h
Y3RpdmVFbGVtZW50IiwgImFuY2hvciIpOworICAgICAgICAgICAgICAgIH0pOworCisgICAgICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IGNsaWNraW5nIGFu
IGVtcHR5IGNvbnRhaW5lciBpbiBhbiBhbmNob3IgZWxlbWVudCB3aXRoIGEgdGFiaW5kZXggY29y
cmVjdGx5IGZvY3VzZXMgdGhlIGFuY2hvciB3aXRob3V0IGhhbmdpbmcgdGhlIHdlYiBjb250ZW50
IHByb2Nlc3MuIFRvIHJ1biB0aGUgdGVzdCBtYW51YWxseSwgdGFwIG9yIGNsaWNrIHRoZSByZWQg
Ym94OyB0aGUgYWN0aXZlIGVsZW1lbnQgc2hvdWxkIGJlIHNldCB0byB0aGUgYW5jaG9yIGVsZW1l
bnQsIGFuZCB0aGUgd2ViIHByb2Nlc3Mgc2hvdWxkIHJlbWFpbiByZXNwb25zaXZlLiIpOworCisg
ICAgICAgICAgICAgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuOworCisgICAgICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVt
ZW50KHRhcmdldCk7CisgICAgICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2Vu
dGF0aW9uVXBkYXRlKCk7CisgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICB9KTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAg
ICAgICA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKyAgICAgICAgPHAgaWQ9ImNvbnNvbGUiPjwv
cD4KKyAgICAgICAgPGEgdGFiaW5kZXg9IjAiPgorICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImVt
cHR5Ij4gPC9zcGFuPgorICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImVtcHR5IiBpZD0idGFyZ2V0
Ij4gPC9zcGFuPgorICAgICAgICA8L2E+CisgICAgICAgIDxkaXY+CisgICAgICAgICAgICA8c3Bh
biBjbGFzcz0iZW1wdHkiPiA8L3NwYW4+CisgICAgICAgIDwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>376740</attachid>
            <date>2019-08-19 20:56:35 -0700</date>
            <delta_ts>2019-08-20 09:25:52 -0700</delta_ts>
            <desc>Alternate approach</desc>
            <filename>bug-200889-20190819205634.patch</filename>
            <type>text/plain</type>
            <size>10290</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ4ODIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmQzMjMxNzljOGEyYjEw
NzNkMWRlOGI5ZTQ3YjQ2ZWI4Mjg3MzExNi4uNDFiNWRkYjBiMjNjM2I0ZTNkMjQ1YjBlZmY0YTc5
NGM1YjNmOTM4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY1IEBACisyMDE5LTA4LTE5ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIENsaWNraW5nIHRo
ZSBzZWFyY2ggaWNvbiBvbiBhZS5jb20gaGFuZ3MgdGhlIHdlYiBjb250ZW50IHByb2Nlc3MKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDg4OQorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNTQzNTkzMzA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGhhbmcgb2NjdXJzIHVuZGVyIEZyYW1lU2VsZWN0
aW9uOjpzZWxlY3Rpb25BdFNlbnRlbmNlU3RhcnQsIHdoaWxlIGNvbXB1dGluZyBhbiBFZGl0b3JT
dGF0ZSB0byBzZW5kIHRvIHRoZSBVSQorICAgICAgICBwcm9jZXNzLiBUaGlzIGFjdCBvZiBkZXRl
cm1pbmluZyB3aGV0aGVyIHRoZSBnaXZlbiBwb3NpdG9uIGlzIGF0IHRoZSBzdGFydCBvZiBzZW50
ZW5jZSBlbnRhaWxzIG1vdmluZyBiYWNrd2FyZHMKKyAgICAgICAgZnJvbSB0aGUgc3RhcnQgb2Yg
dGhlIGN1cnJlbnQgdmlzaWJsZSBzZWxlY3Rpb24gdW50aWwgdGhlIHN0YXJ0IG9mIGEgcGFyYWdy
YXBoIG9yIHNlbnRlbmNlIGlzIGZvdW5kLCB1c2luZworICAgICAgICBWaXNpYmxlUG9zaXRpb246
OnByZXZpb3VzIHRvIGl0ZXJhdGUgYmFja3dhcmRzIHRocm91Z2ggVmlzaWJsZVBvc2l0aW9ucy4K
KworICAgICAgICBIb3dldmVyLCBvbiB0aGlzIHdlYnNpdGUsIFZpc2libGVQb3NpdGlvbjo6cHJl
dmlvdXMgZW5kcyB1cCBqdXN0IHJldHVybmluZyB0aGUgY3VycmVudCBwb3NpdGlvbiwgYW5kIHdl
IGxvb3AKKyAgICAgICAgaW5maW5pdGVseSBhcyBhIHJlc3VsdCBiZWNhdXNlIHdlIG5ldmVyIGFj
dHVhbGx5IG1vdmUgYmFja3dhcmRzLiBUaGlzIGhhcHBlbnMgYmVjYXVzZSBWaXNpYmxlUG9zaXRp
b246OnByZXZpb3VzCisgICAgICAgIGZpcnN0IHVzZXMgcHJldmlvdXNWaXN1YWxseURpc3RpbmN0
Q2FuZGlkYXRlIHRvIGZpbmQgYSBjYW5kaWRhdGUgUG9zaXRpb24gYmVmb3JlIHRoZSBjdXJyZW50
IHBvc2l0aW9uLCBidXQgd2hlbgorICAgICAgICB0aGUgcG9zaXRpb24gaXMgY2Fub25pY2FsaXpl
ZCB0byBjcmVhdGUgYSBWaXNpYmxlUG9zaXRpb24sIGl0IGlzIG1vdmVkIGJhY2sgdG8gaXRzIG9y
aWdpbmFsIFBvc2l0aW9uIGFzIHRoZSBkZWVwCisgICAgICAgIGVxdWl2YWxlbnQuCisKKyAgICAg
ICAgSW4gdGhlIGF0dGFjaGVkIHRlc3QgY2FzZSAod2hpY2ggaXMgcmVwcmVzZW50YXRpdmUgb2Yg
dGhlIHJlbGV2YW50IHBhcnQgb2YgdGhlIERPTSBvbiBhZS5jb20pLCB3ZSB0cnkgdG8gZmluZAor
ICAgICAgICB0aGUgcHJldmlvdXMgVmlzaWJsZVBvc2l0aW9uIGZyb20gKCNjLCAwKS4gVGhlIHBy
ZXZpb3VzIHZpc3VhbGx5IGRpc3RpbmN0IGNhbmRpZGF0ZSB3ZSBpbml0aWFsbHkgZmluZCBpcwor
ICAgICAgICAoI2IsIDApLCBzaW5jZToKKworICAgICAgICAxLiBUaGUgZW5jbG9zaW5nIHJlbmRl
cmVyIGlzIGEgUmVuZGVyQmxvY2sgd2l0aCBhIG5vbi16ZXJvIGhlaWdodC4KKyAgICAgICAgMi4g
VGhlIGVuY2xvc2luZyByZW5kZXJlciBoYXMgbm8gcmVuZGVyZWQgY2hpbGRyZW4uCisgICAgICAg
IDMuIFRoZSBwb3NpdGlvbiBpcyBhdCB0aGUgZmlyc3QgZWRpdGluZyBwb3NpdGlvbiBpbiB0aGUg
bm9kZSAoaS5lLiB0aGUgc3BhbiBlbGVtZW50KS4KKworICAgICAgICBIb3dldmVyLCB3aGVuIGNh
bm9uaWNhbGl6aW5nIHRoZSBwb3NpdGlvbiwgd2UgZmluZCB0aGF0IG5laXRoZXIgdGhlIHVwc3Ry
ZWFtIG5vciB0aGUgZG93bnN0cmVhbSBwb3NpdGlvbiBpcyBhCisgICAgICAgIGNhbmRpZGF0ZSBi
ZWNhdXNlIGJvdGggdGhlIHVwc3RyZWFtIGFuZCBkb3duc3RyZWFtIG5vZGVzIGVuZCB1cCB3ZWxs
IG91dHNpZGUgb2YgdGhlIHNwYW4gKHRoZSB1cHN0cmVhbSBub2RlIGVuZHMKKyAgICAgICAgdXAg
YmVpbmcgYXQgdGhlIHN0YXJ0IG9mIHRoZSBib2R5IGVsZW1lbnQsIGFuZCB0aGUgZG93bnN0cmVh
bSBwb3NpdGlvbiBlbmRzIHVwIHJpZ2h0IGJlZm9yZSB0aGUgc3RhcnQgb2YgI2MncworICAgICAg
ICBjb250YWluZXIpLiBUaGUgZG93bnN0cmVhbSBwb3NpdGlvbiBpcyBhdCB0aGUgZW5kIG9mIGEg
dGV4dCBub2RlIHdpdGggYSBsZWFkaW5nIG5ld2xpbmUsIGl0J3Mgbm90IGEgY2FuZGlkYXRlCisg
ICAgICAgIGJlY2F1c2UgaXRzIGxhc3QgY2FyZXQgb2Zmc2V0IGlzIGxlc3MgdGhhbiB0aGUgbGVu
Z3RoIG9mIHRoZSB0ZXh0IG5vZGUuCisKKyAgICAgICAgQXMgYSByZXN1bHQsIGV2ZW4gdGhvdWdo
IHRoZSBnaXZlbiBwb3NpdGlvbiAoI2IsIDApIGlzIGEgY2FuZGlkYXRlIGl0c2VsZiwgaXRzIGRv
d25zdHJlYW0gYW5kIHVwc3RyZWFtIHBvc2l0aW9ucworICAgICAgICBhcmUgbm90LiBUaHVzLCBW
aXNpYmxlUG9zaXRpb246OmNhbm9uaWNhbFBvc2l0aW9uIGV4cGFuZHMgdGhlIHNjb3BlIG9mIGl0
cyBjYW5kaWRhdGUgcG9zaXRpb25zIHRvIHRoZSBuZXh0CisgICAgICAgIGNsb3Nlc3QgY2FuZGlk
YXRlIHBvc2l0aW9uczsgdGhlIG5leHQgY2FuZGlkYXRlIHBvc2l0aW9uIGlzICgjYywgMCkuIEJv
dGggb2YgdGhlc2UgY2FuZGlkYXRlcyBhcmUgb3V0c2lkZSBvZiB0aGUKKyAgICAgICAgY29udGFp
bmluZyBibG9jaywgc28gd2UgKHNvbWV3aGF0IGFyYml0cmFyaWx5KSBicmVhayB0aGUgdGllIGJ5
IGNob29zaW5nIHRoZSBuZXh0IHZpc2libGUgcG9zaXRpb24sIGJyaW5naW5nIHVzCisgICAgICAg
IGJhY2sgdG8gKCNjLCAwKS4KKworICAgICAgICBUaGVyZSBhcmUgc2V2ZXJhbCB3YXlzIHRvIGZp
eCB0aGlzLCBvbmUgb2Ygd2hpY2ggaW52b2x2ZXMgZml4aW5nIHRoZSBkb3duc3RyZWFtL3Vwc3Ry
ZWFtIHBvc2l0aW9ucyBvZiAoI2IsIDApIHNvCisgICAgICAgIHRoYXQgdGhleSBubyBsb25nZXIg
anVtcCBvdXQgb2YgdGhlIGNvbnRhaW5pbmcgYmxvY2sgb2YgI2IgYW5kIGNhdXNlICgjYiwgMCkg
dG8gYmUgYW4gaW52YWxpZCB2aXNpYmxlIHBvc2l0aW9uCisgICAgICAgIGRlc3BpdGUgYmVpbmcg
YSBjYW5kaWRhdGUgcG9zaXRpb24uIFRoaXMgY2FuIGJlIGFjaGlldmVkIGJ5IGFkanVzdGluZyB0
aGUgaGV1cmlzdGljIGluCisgICAgICAgIGVuZHNPZk5vZGVBcmVWaXN1YWxseURpc3RpbmN0UG9z
aXRpb25zICh1c2VkIHdoZW4gbW92aW5nIHVwc3RyZWFtIG9yIGRvd25zdHJlYW0pLiBDdXJyZW50
bHksIHRoaXMgaGVscGVyCisgICAgICAgIGZ1bmN0aW9uIHJldHVybnMgZmFsc2UgZm9yICNiIGJl
Y2F1c2UgdGhleSBjb250YWluIGEgc2luZ2xlIChub24tcmVuZGVyZWQpIHdoaXRlc3BhY2UgY2hh
cmFjdGVyLiBSZW1vdmluZyB0aGlzCisgICAgICAgIGV4dHJhbmVvdXMgd2hpdGVzcGFjZSBjaGFy
YWN0ZXIgYWN0dWFsbHkgY2F1c2VzIHRoZSBwcm9ibGVtIHRvIHN0b3AgcmVwcm9kdWNpbmcsIHNp
bmNlICNiIGFuZCAjYyBubyBsb25nZXIKKyAgICAgICAgY29udGFpbiBhbnkgY2hpbGQgbm9kZXMu
IFRoaXMgaXMgaW1wb3J0YW50IGJlY2F1c2UgdGhlIGhldXJpc3RpYyBpbiBQb3NpdGlvbjo6ZG93
bnN0cmVhbSBhdHRlbXB0cyB0byBrZWVwIHRoZQorICAgICAgICBkb3duc3RyZWFtIHBvc2l0aW9u
IHdpdGhpbiB0aGUgY29uZmluZXMgb2YgdGhlIGVuY2xvc2luZyB2aXN1YWwgYm91bmRhcnksIHdo
aWNoIChjdXJyZW50bHkpIGVuZHMgdXAgYmVpbmcgdGhlCisgICAgICAgIGVudGlyZSBib2R5IGVs
ZW1lbnQgYmVjYXVzZSBlbmRzT2ZOb2RlQXJlVmlzdWFsbHlEaXN0aW5jdFBvc2l0aW9ucyByZXR1
cm5zIGZhbHNlIGZvciAjYi4KKworICAgICAgICBUbyBhdm9pZCB0aGlzIHNjZW5hcmlvLCB3ZSB0
ZWFjaCBlbmRzT2ZOb2RlQXJlVmlzdWFsbHlEaXN0aW5jdFBvc2l0aW9ucyB0byB0cmVhdCBpbmxp
bmUtYmxvY2sgY29udGFpbmVycyB0aGF0CisgICAgICAgIGFyZSBlbXB0eSAodGhhdCBpcywgY29u
dGFpbiBubyByZW5kZXJlZCBjb250ZW50KSBidXQgbWF5IGhhdmUgY2hpbGRyZW4gZm9yIGVkaXRp
bmcgaW4gdGhlIHNhbWUgd2F5IGFzIGlubGluZS0KKyAgICAgICAgYmxvY2sgY29udGFpbmVycyB0
aGF0IGRvbid0IGhhdmUgYW55IGNoaWxkcmVuOyBpbiBib3RoIHNjZW5hcmlvcywgdGhleSBtYXkg
Y29udGFpbiBhIGNhbmRpZGF0ZSBwb3NpdGlvbiwgc28gd2UKKyAgICAgICAgc2hvdWxkIHRyZWF0
IHRoZSBlbmRzIG9mIHRoZSBjb250YWluZXIgbm9kZSBhcyBiZWluZyB2aXN1YWxseSBkaXN0aW5j
dC4KKworICAgICAgICBEb2luZyBzbyBjYXVzZXMgdGhlIGRvd25zdHJlYW0gcG9zaXRpb24gb2Yg
KCNiLCAwKSB0byBiZSBrZXB0IHdpdGhpbiB0aGUgaW1tZWRpYXRlIGNvbnRhaW5pbmcgc3BhbiBl
bGVtZW50LAorICAgICAgICB3aGljaCB0aGVuIGFsbG93cyAoI2IsIDApIHRvIGJlIGEgY2Fub25p
Y2FsIFZpc2libGVQb3NpdGlvbi4KKworICAgICAgICBUZXN0OiBmYXN0L2V2ZW50cy9mb2N1cy1h
bmNob3Itd2l0aC10YWJpbmRleC1oYW5nLmh0bWwKKworICAgICAgICAqIGVkaXRpbmcvVmlzaWJs
ZVBvc2l0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlZpc2libGVQb3NpdGlvbjo6cHJldmlv
dXMgY29uc3QpOgorCiAyMDE5LTA4LTE3ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4K
IAogICAgICAgICBSZW5hbWUgU3RyaW5nQnVpbGRlcjo6ZmxleGlibGVBcHBlbmQoLi4uKSB0byBT
dHJpbmdCdWlsZGVyOjphcHBlbmQoLi4uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L1Bvc2l0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Qb3NpdGlvbi5jcHAKaW5kZXggNWVm
NWIxMTMyY2RjMjY1MjcyMzRkNTcwYjY1NzZmMDBjMzMzMWZlNC4uOWE0MjI3NjMwMzE0MzZmMjU0
YThkNThlYzY4ZTIwNTg2MmE0MWFkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1Bv
c2l0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUG9zaXRpb24uY3BwCkBAIC02MjUs
OCArNjI1LDE1IEBAIHN0YXRpYyBib29sIGVuZHNPZk5vZGVBcmVWaXN1YWxseURpc3RpbmN0UG9z
aXRpb25zKE5vZGUqIG5vZGUpCiAgICAgaWYgKGlzPEhUTUxUYWJsZUVsZW1lbnQ+KCpub2RlKSkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIAorICAgIGlmICghbm9kZS0+cmVuZGVyZXIoKS0+
aXNSZXBsYWNlZCgpIHx8ICFjYW5IYXZlQ2hpbGRyZW5Gb3JFZGl0aW5nKCpub2RlKSB8fCAhZG93
bmNhc3Q8UmVuZGVyQm94Pigqbm9kZS0+cmVuZGVyZXIoKSkuaGVpZ2h0KCkpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKwogICAgIC8vIFRoZXJlIGlzIGEgVmlzaWJsZVBvc2l0aW9uIGluc2lkZSBh
biBlbXB0eSBpbmxpbmUtYmxvY2sgY29udGFpbmVyLgotICAgIHJldHVybiBub2RlLT5yZW5kZXJl
cigpLT5pc1JlcGxhY2VkKCkgJiYgY2FuSGF2ZUNoaWxkcmVuRm9yRWRpdGluZygqbm9kZSkgJiYg
ZG93bmNhc3Q8UmVuZGVyQm94Pigqbm9kZS0+cmVuZGVyZXIoKSkuaGVpZ2h0KCkgJiYgIW5vZGUt
PmZpcnN0Q2hpbGQoKTsKKyAgICBpZiAoIW5vZGUtPmhhc0NoaWxkTm9kZXMoKSkKKyAgICAgICAg
cmV0dXJuIHRydWU7CisKKyAgICBhdXRvJiByZW5kZXJlciA9ICpub2RlLT5yZW5kZXJlcigpOwor
ICAgIHJldHVybiBpczxSZW5kZXJFbGVtZW50PihyZW5kZXJlcikgJiYgIVBvc2l0aW9uOjpoYXNS
ZW5kZXJlZE5vbkFub255bW91c0Rlc2NlbmRhbnRzV2l0aEhlaWdodChkb3duY2FzdDxSZW5kZXJF
bGVtZW50PihyZW5kZXJlcikpOwogfQogCiBzdGF0aWMgTm9kZSogZW5jbG9zaW5nVmlzdWFsQm91
bmRhcnkoTm9kZSogbm9kZSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlMTMxYTY4N2Y1MGVlMmE0YmU5MDBkM2ZlMGVhMjNi
ZWNiNzAxNTQwLi5lZDVmZDM0ODAwNTQxNTM2NTIyY2Q1MTM0OWM4N2VmMTZlM2ZhZmIyIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTcgQEAKKzIwMTktMDgtMTkgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2ll
aEBhcHBsZS5jb20+CisKKyAgICAgICAgQ2xpY2tpbmcgdGhlIHNlYXJjaCBpY29uIG9uIGFlLmNv
bSBoYW5ncyB0aGUgd2ViIGNvbnRlbnQgcHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAwODg5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81
NDM1OTMzMD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgYSBsYXlvdXQgdGVzdCB0byBlbnN1cmUgdGhhdCBjbGlja2luZyBhbiBlbXB0eSBzcGFu
IHVuZGVyIGEgZm9jdXNhYmxlIGFuY2hvciBlbGVtZW50IG1vdmVzIGZvY3VzIHRvIHRoZQorICAg
ICAgICBhbmNob3IgZWxlbWVudCBpbnN0ZWFkIG9mIGhhbmdpbmcgdGhlIHdlYiBjb250ZW50IHBy
b2Nlc3Mgb3IgaGl0dGluZyBhIGRlYnVnIGFzc2VydGlvbi4KKworICAgICAgICAqIGZhc3QvZXZl
bnRzL2ZvY3VzLWFuY2hvci13aXRoLXRhYmluZGV4LWhhbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L2V2ZW50cy9mb2N1cy1hbmNob3Itd2l0aC10YWJpbmRleC1oYW5nLmh0
bWw6IEFkZGVkLgorCiAyMDE5LTA4LTE3ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNv
bT4KIAogICAgICAgICBDb250ZW50IGluIDxpZnJhbWU+IHNob3VsZCBvdmVycmlkZSAidG91Y2gt
YWN0aW9uIiBzZXQgaW4gZW1iZWRkaW5nIGRvY3VtZW50CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy9mb2N1cy1hbmNob3Itd2l0aC10YWJpbmRleC1oYW5nLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2ZvY3VzLWFuY2hvci13aXRoLXRhYmluZGV4LWhh
bmctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNlNmIzMDQ5MGQwZTE3ZmRlNjg4ODkxMjE3Nzk3
OTNlM2FkYmQ0NzkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9m
b2N1cy1hbmNob3Itd2l0aC10YWJpbmRleC1oYW5nLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEy
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBjbGlja2luZyBhbiBlbXB0eSBjb250YWluZXIg
aW4gYW4gYW5jaG9yIGVsZW1lbnQgd2l0aCBhIHRhYmluZGV4IGNvcnJlY3RseSBmb2N1c2VzIHRo
ZSBhbmNob3Igd2l0aG91dCBoYW5naW5nIHRoZSB3ZWIgY29udGVudCBwcm9jZXNzLiBUbyBydW4g
dGhlIHRlc3QgbWFudWFsbHksIHRhcCBvciBjbGljayB0aGUgcmVkIGJveDsgdGhlIGFjdGl2ZSBl
bGVtZW50IHNob3VsZCBiZSBzZXQgdG8gdGhlIGFuY2hvciBlbGVtZW50LCBhbmQgdGhlIHdlYiBw
cm9jZXNzIHNob3VsZCByZW1haW4gcmVzcG9uc2l2ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCisKK1BBU1MgQ2xpY2tlZCB0YXJnZXQuCitQQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1l
bnQgaXMgYW5jaG9yCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9mb2N1cy1hbmNo
b3Itd2l0aC10YWJpbmRleC1oYW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9mb2N1
cy1hbmNob3Itd2l0aC10YWJpbmRleC1oYW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjA3NTkxM2M5ZGNh
MzVhYjU3Y2M3ZDgyNjJhMjQ4OTI2MzcyNjYwZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL2ZvY3VzLWFuY2hvci13aXRoLXRhYmluZGV4LWhhbmcuaHRtbApAQCAt
MCwwICsxLDU2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBhW3RhYmluZGV4XSB7
CisgICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTsKKyAgICAgICAgICAgIH0KKworICAgICAg
ICAgICAgc3Bhbi5lbXB0eSB7CisgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2Nr
OworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDog
MWVtOworICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNDBweDsKKyAgICAgICAgICAgIH0KKwor
ICAgICAgICAgICAgc3BhbiNiIHsKKyAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBy
ZWQ7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdD4KKyAgICAgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIGFu
Y2hvciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImEiKTsKKyAgICAgICAgICAgICAgICB0YXJn
ZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYiIpOworICAgICAgICAgICAgICAgIHRhcmdl
dC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdFBhc3NlZCgiQ2xpY2tlZCB0YXJnZXQuIik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJkb2N1bWVudC5hY3RpdmVFbGVtZW50IiwgImFuY2hvciIpOworICAgICAgICAgICAgICAg
IH0pOworCisgICAgICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IGNsaWNraW5nIGFuIGVtcHR5IGNvbnRhaW5lciBpbiBhbiBhbmNob3IgZWxlbWVudCB3aXRo
IGEgdGFiaW5kZXggY29ycmVjdGx5IGZvY3VzZXMgdGhlIGFuY2hvciB3aXRob3V0IGhhbmdpbmcg
dGhlIHdlYiBjb250ZW50IHByb2Nlc3MuIFRvIHJ1biB0aGUgdGVzdCBtYW51YWxseSwgdGFwIG9y
IGNsaWNrIHRoZSByZWQgYm94OyB0aGUgYWN0aXZlIGVsZW1lbnQgc2hvdWxkIGJlIHNldCB0byB0
aGUgYW5jaG9yIGVsZW1lbnQsIGFuZCB0aGUgd2ViIHByb2Nlc3Mgc2hvdWxkIHJlbWFpbiByZXNw
b25zaXZlLiIpOworCisgICAgICAgICAgICAgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KHRhcmdldCk7CisgICAgICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9oZWFkPgor
ICAgIDxib2R5PgorICAgICAgICA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKyAgICAgICAgPHAg
aWQ9ImNvbnNvbGUiPjwvcD4KKyAgICAgICAgPGEgdGFiaW5kZXg9IjAiPgorICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImVtcHR5IiBpZD0iYSI+IDwvc3Bhbj4KKyAgICAgICAgICAgIDxzcGFuIGNs
YXNzPSJlbXB0eSIgaWQ9ImIiPiA8L3NwYW4+CisgICAgICAgIDwvYT4KKyAgICAgICAgPGRpdj4K
KyAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJlbXB0eSIgaWQ9ImMiPiA8L3NwYW4+CisgICAgICAg
IDwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>376775</attachid>
            <date>2019-08-20 09:25:53 -0700</date>
            <delta_ts>2019-08-20 09:29:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200889-20190820092552.patch</filename>
            <type>text/plain</type>
            <size>15604</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ4ODg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTk5MDEyYzI3MmI4M2Jm
NGIyMTcyZjJhOTVlZTg3MGQ2ZjQ3YmZhOS4uMmY3NWQ0NTc0ODgzM2FkMmYzMzIwM2JiMmFlNmUy
YTJjMjEyMTMwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY2IEBACisyMDE5LTA4LTE5ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIENsaWNraW5nIHRo
ZSBzZWFyY2ggaWNvbiBvbiBhZS5jb20gaGFuZ3MgdGhlIHdlYiBjb250ZW50IHByb2Nlc3MKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDg4OQorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNTQzNTkzMzA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGhhbmcgb2NjdXJzIHVuZGVyIEZyYW1lU2VsZWN0
aW9uOjpzZWxlY3Rpb25BdFNlbnRlbmNlU3RhcnQsIHdoaWxlIGNvbXB1dGluZyBhbiBFZGl0b3JT
dGF0ZSB0byBzZW5kIHRvIHRoZSBVSQorICAgICAgICBwcm9jZXNzLiBUaGlzIGFjdCBvZiBkZXRl
cm1pbmluZyB3aGV0aGVyIHRoZSBnaXZlbiBwb3NpdG9uIGlzIGF0IHRoZSBzdGFydCBvZiBzZW50
ZW5jZSBlbnRhaWxzIG1vdmluZyBiYWNrd2FyZHMKKyAgICAgICAgZnJvbSB0aGUgc3RhcnQgb2Yg
dGhlIGN1cnJlbnQgdmlzaWJsZSBzZWxlY3Rpb24gdW50aWwgdGhlIHN0YXJ0IG9mIGEgcGFyYWdy
YXBoIG9yIHNlbnRlbmNlIGlzIGZvdW5kLCB1c2luZworICAgICAgICBWaXNpYmxlUG9zaXRpb246
OnByZXZpb3VzIHRvIGl0ZXJhdGUgYmFja3dhcmRzIHRocm91Z2ggVmlzaWJsZVBvc2l0aW9ucy4K
KworICAgICAgICBIb3dldmVyLCBvbiB0aGlzIHdlYnNpdGUsIFZpc2libGVQb3NpdGlvbjo6cHJl
dmlvdXMgZW5kcyB1cCBqdXN0IHJldHVybmluZyB0aGUgY3VycmVudCBwb3NpdGlvbiwgYW5kIHdl
IGxvb3AKKyAgICAgICAgaW5maW5pdGVseSBhcyBhIHJlc3VsdCBiZWNhdXNlIHdlIG5ldmVyIGFj
dHVhbGx5IG1vdmUgYmFja3dhcmRzLiBUaGlzIGhhcHBlbnMgYmVjYXVzZSBWaXNpYmxlUG9zaXRp
b246OnByZXZpb3VzCisgICAgICAgIGZpcnN0IHVzZXMgcHJldmlvdXNWaXN1YWxseURpc3RpbmN0
Q2FuZGlkYXRlIHRvIGZpbmQgYSBjYW5kaWRhdGUgUG9zaXRpb24gYmVmb3JlIHRoZSBjdXJyZW50
IHBvc2l0aW9uLCBidXQgd2hlbgorICAgICAgICB0aGUgcG9zaXRpb24gaXMgY2Fub25pY2FsaXpl
ZCB0byBjcmVhdGUgYSBWaXNpYmxlUG9zaXRpb24sIGl0IGlzIG1vdmVkIGJhY2sgdG8gaXRzIG9y
aWdpbmFsIFBvc2l0aW9uIGFzIHRoZSBkZWVwCisgICAgICAgIGVxdWl2YWxlbnQuCisKKyAgICAg
ICAgSW4gdGhlIGF0dGFjaGVkIHRlc3QgY2FzZSAod2hpY2ggaXMgcmVwcmVzZW50YXRpdmUgb2Yg
dGhlIHJlbGV2YW50IHBhcnQgb2YgdGhlIERPTSBvbiBhZS5jb20pLCB3ZSB0cnkgdG8gZmluZAor
ICAgICAgICB0aGUgcHJldmlvdXMgVmlzaWJsZVBvc2l0aW9uIGZyb20gKCNjLCAwKS4gVGhlIHBy
ZXZpb3VzIHZpc3VhbGx5IGRpc3RpbmN0IGNhbmRpZGF0ZSB3ZSBpbml0aWFsbHkgZmluZCBpcwor
ICAgICAgICAoI2IsIDApLCBzaW5jZToKKworICAgICAgICAxLiBUaGUgZW5jbG9zaW5nIHJlbmRl
cmVyIGlzIGEgUmVuZGVyQmxvY2sgd2l0aCBhIG5vbi16ZXJvIGhlaWdodC4KKyAgICAgICAgMi4g
VGhlIGVuY2xvc2luZyByZW5kZXJlciBoYXMgbm8gcmVuZGVyZWQgY2hpbGRyZW4uCisgICAgICAg
IDMuIFRoZSBwb3NpdGlvbiBpcyBhdCB0aGUgZmlyc3QgZWRpdGluZyBwb3NpdGlvbiBpbiB0aGUg
bm9kZSAoaS5lLiB0aGUgc3BhbiBlbGVtZW50KS4KKworICAgICAgICBIb3dldmVyLCB3aGVuIGNh
bm9uaWNhbGl6aW5nIHRoZSBwb3NpdGlvbiwgd2UgZmluZCB0aGF0IG5laXRoZXIgdGhlIHVwc3Ry
ZWFtIG5vciB0aGUgZG93bnN0cmVhbSBwb3NpdGlvbiBpcyBhCisgICAgICAgIGNhbmRpZGF0ZSBi
ZWNhdXNlIGJvdGggdGhlIHVwc3RyZWFtIGFuZCBkb3duc3RyZWFtIG5vZGVzIGVuZCB1cCB3ZWxs
IG91dHNpZGUgb2YgdGhlIHNwYW4gKHRoZSB1cHN0cmVhbSBub2RlIGVuZHMKKyAgICAgICAgdXAg
YmVpbmcgYXQgdGhlIHN0YXJ0IG9mIHRoZSBib2R5IGVsZW1lbnQsIGFuZCB0aGUgZG93bnN0cmVh
bSBwb3NpdGlvbiBlbmRzIHVwIHJpZ2h0IGJlZm9yZSB0aGUgc3RhcnQgb2YgI2MncworICAgICAg
ICBjb250YWluZXIpLiBUaGUgZG93bnN0cmVhbSBwb3NpdGlvbiBpcyBhdCB0aGUgZW5kIG9mIGEg
dGV4dCBub2RlIHdpdGggYSBsZWFkaW5nIG5ld2xpbmUsIGl0J3Mgbm90IGEgY2FuZGlkYXRlCisg
ICAgICAgIGJlY2F1c2UgaXRzIGxhc3QgY2FyZXQgb2Zmc2V0IGlzIGxlc3MgdGhhbiB0aGUgbGVu
Z3RoIG9mIHRoZSB0ZXh0IG5vZGUuCisKKyAgICAgICAgQXMgYSByZXN1bHQsIGV2ZW4gdGhvdWdo
IHRoZSBnaXZlbiBwb3NpdGlvbiAoI2IsIDApIGlzIGEgY2FuZGlkYXRlIGl0c2VsZiwgaXRzIGRv
d25zdHJlYW0gYW5kIHVwc3RyZWFtIHBvc2l0aW9ucworICAgICAgICBhcmUgbm90LiBUaHVzLCBW
aXNpYmxlUG9zaXRpb246OmNhbm9uaWNhbFBvc2l0aW9uIGV4cGFuZHMgdGhlIHNjb3BlIG9mIGl0
cyBjYW5kaWRhdGUgcG9zaXRpb25zIHRvIHRoZSBuZXh0CisgICAgICAgIGNsb3Nlc3QgY2FuZGlk
YXRlIHBvc2l0aW9uczsgdGhlIG5leHQgY2FuZGlkYXRlIHBvc2l0aW9uIGlzICgjYywgMCkuIEJv
dGggb2YgdGhlc2UgY2FuZGlkYXRlcyBhcmUgb3V0c2lkZSBvZiB0aGUKKyAgICAgICAgY29udGFp
bmluZyBibG9jaywgc28gd2UgKHNvbWV3aGF0IGFyYml0cmFyaWx5KSBicmVhayB0aGUgdGllIGJ5
IGNob29zaW5nIHRoZSBuZXh0IHZpc2libGUgcG9zaXRpb24sIGJyaW5naW5nIHVzCisgICAgICAg
IGJhY2sgdG8gKCNjLCAwKS4KKworICAgICAgICBUaGVyZSBhcmUgc2V2ZXJhbCB3YXlzIHRvIGZp
eCB0aGlzLCBvbmUgb2Ygd2hpY2ggaW52b2x2ZXMgZml4aW5nIHRoZSBkb3duc3RyZWFtL3Vwc3Ry
ZWFtIHBvc2l0aW9ucyBvZiAoI2IsIDApIHNvCisgICAgICAgIHRoYXQgdGhleSBubyBsb25nZXIg
anVtcCBvdXQgb2YgdGhlIGNvbnRhaW5pbmcgYmxvY2sgb2YgI2IgYW5kIGNhdXNlICgjYiwgMCkg
dG8gYmUgYW4gaW52YWxpZCB2aXNpYmxlIHBvc2l0aW9uCisgICAgICAgIGRlc3BpdGUgYmVpbmcg
YSBjYW5kaWRhdGUgcG9zaXRpb24uIFRoaXMgY2FuIGJlIGFjaGlldmVkIGJ5IGFkanVzdGluZyB0
aGUgaGV1cmlzdGljIGluCisgICAgICAgIGVuZHNPZk5vZGVBcmVWaXN1YWxseURpc3RpbmN0UG9z
aXRpb25zICh1c2VkIHdoZW4gbW92aW5nIHVwc3RyZWFtIG9yIGRvd25zdHJlYW0pLiBDdXJyZW50
bHksIHRoaXMgaGVscGVyCisgICAgICAgIGZ1bmN0aW9uIHJldHVybnMgZmFsc2UgZm9yICNiIGJl
Y2F1c2UgdGhleSBjb250YWluIGEgc2luZ2xlIChub24tcmVuZGVyZWQpIHdoaXRlc3BhY2UgY2hh
cmFjdGVyLiBSZW1vdmluZyB0aGlzCisgICAgICAgIGV4dHJhbmVvdXMgd2hpdGVzcGFjZSBjaGFy
YWN0ZXIgYWN0dWFsbHkgY2F1c2VzIHRoZSBwcm9ibGVtIHRvIHN0b3AgcmVwcm9kdWNpbmcsIHNp
bmNlICNiIGFuZCAjYyBubyBsb25nZXIKKyAgICAgICAgY29udGFpbiBhbnkgY2hpbGQgbm9kZXMu
IFRoaXMgaXMgaW1wb3J0YW50IGJlY2F1c2UgdGhlIGhldXJpc3RpYyBpbiBQb3NpdGlvbjo6ZG93
bnN0cmVhbSBhdHRlbXB0cyB0byBrZWVwIHRoZQorICAgICAgICBkb3duc3RyZWFtIHBvc2l0aW9u
IHdpdGhpbiB0aGUgY29uZmluZXMgb2YgdGhlIGVuY2xvc2luZyB2aXN1YWwgYm91bmRhcnksIHdo
aWNoIChjdXJyZW50bHkpIGVuZHMgdXAgYmVpbmcgdGhlCisgICAgICAgIGVudGlyZSBib2R5IGVs
ZW1lbnQgYmVjYXVzZSBlbmRzT2ZOb2RlQXJlVmlzdWFsbHlEaXN0aW5jdFBvc2l0aW9ucyByZXR1
cm5zIGZhbHNlIGZvciAjYi4KKworICAgICAgICBUbyBhdm9pZCB0aGlzIHNjZW5hcmlvLCB3ZSB0
ZWFjaCBlbmRzT2ZOb2RlQXJlVmlzdWFsbHlEaXN0aW5jdFBvc2l0aW9ucyB0byB0cmVhdCBpbmxp
bmUtYmxvY2sgY29udGFpbmVycyB0aGF0CisgICAgICAgIGFyZSBlbXB0eSAodGhhdCBpcywgY29u
dGFpbiBubyByZW5kZXJlZCBjb250ZW50KSBidXQgbWF5IGhhdmUgY2hpbGRyZW4gZm9yIGVkaXRp
bmcgaW4gdGhlIHNhbWUgd2F5IGFzIGlubGluZS0KKyAgICAgICAgYmxvY2sgY29udGFpbmVycyB0
aGF0IGRvbid0IGhhdmUgYW55IGNoaWxkcmVuOyBpbiBib3RoIHNjZW5hcmlvcywgdGhleSBtYXkg
Y29udGFpbiBhIGNhbmRpZGF0ZSBwb3NpdGlvbiwgc28gd2UKKyAgICAgICAgc2hvdWxkIHRyZWF0
IHRoZSBlbmRzIG9mIHRoZSBjb250YWluZXIgbm9kZSBhcyBiZWluZyB2aXN1YWxseSBkaXN0aW5j
dC4KKworICAgICAgICBEb2luZyBzbyBjYXVzZXMgdGhlIGRvd25zdHJlYW0gcG9zaXRpb24gb2Yg
KCNiLCAwKSB0byBiZSBrZXB0IHdpdGhpbiB0aGUgaW1tZWRpYXRlIGNvbnRhaW5pbmcgc3BhbiBl
bGVtZW50LAorICAgICAgICB3aGljaCB0aGVuIGFsbG93cyAoI2IsIDApIHRvIGJlIGEgY2Fub25p
Y2FsIFZpc2libGVQb3NpdGlvbi4KKworICAgICAgICBUZXN0czogIGZhc3QvZXZlbnRzL2ZvY3Vz
LWFuY2hvci13aXRoLXRhYmluZGV4LWhhbmcuaHRtbAorICAgICAgICAgICAgICAgIGVkaXRpbmcv
c2VsZWN0aW9uL21vZGlmeS1iYWNrd2FyZC1pbmxpbmUtYmxvY2stY29udGFpbmVycy5odG1sCisK
KyAgICAgICAgKiBlZGl0aW5nL1Zpc2libGVQb3NpdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpWaXNpYmxlUG9zaXRpb246OnByZXZpb3VzIGNvbnN0KToKKwogMjAxOS0wOC0xOSAgSmVyIE5v
YmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ29jb2FdIEZpeCBtaXNzcGVs
bGluZyBvZiAtcHJldmVudHNEaXNwbGF5U2xlZXBGb3JWaWRlb1BsYXliYWNrCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vUG9zaXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1Bv
c2l0aW9uLmNwcAppbmRleCA1ZWY1YjExMzJjZGMyNjUyNzIzNGQ1NzBiNjU3NmYwMGMzMzMxZmU0
Li45YTQyMjc2MzAzMTQzNmYyNTRhOGQ1OGVjNjhlMjA1ODYyYTQxYWQ5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vUG9zaXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Q
b3NpdGlvbi5jcHAKQEAgLTYyNSw4ICs2MjUsMTUgQEAgc3RhdGljIGJvb2wgZW5kc09mTm9kZUFy
ZVZpc3VhbGx5RGlzdGluY3RQb3NpdGlvbnMoTm9kZSogbm9kZSkKICAgICBpZiAoaXM8SFRNTFRh
YmxlRWxlbWVudD4oKm5vZGUpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgCisgICAgaWYg
KCFub2RlLT5yZW5kZXJlcigpLT5pc1JlcGxhY2VkKCkgfHwgIWNhbkhhdmVDaGlsZHJlbkZvckVk
aXRpbmcoKm5vZGUpIHx8ICFkb3duY2FzdDxSZW5kZXJCb3g+KCpub2RlLT5yZW5kZXJlcigpKS5o
ZWlnaHQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgLy8gVGhlcmUgaXMgYSBWaXNp
YmxlUG9zaXRpb24gaW5zaWRlIGFuIGVtcHR5IGlubGluZS1ibG9jayBjb250YWluZXIuCi0gICAg
cmV0dXJuIG5vZGUtPnJlbmRlcmVyKCktPmlzUmVwbGFjZWQoKSAmJiBjYW5IYXZlQ2hpbGRyZW5G
b3JFZGl0aW5nKCpub2RlKSAmJiBkb3duY2FzdDxSZW5kZXJCb3g+KCpub2RlLT5yZW5kZXJlcigp
KS5oZWlnaHQoKSAmJiAhbm9kZS0+Zmlyc3RDaGlsZCgpOworICAgIGlmICghbm9kZS0+aGFzQ2hp
bGROb2RlcygpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIGF1dG8mIHJlbmRlcmVyID0g
Km5vZGUtPnJlbmRlcmVyKCk7CisgICAgcmV0dXJuIGlzPFJlbmRlckVsZW1lbnQ+KHJlbmRlcmVy
KSAmJiAhUG9zaXRpb246Omhhc1JlbmRlcmVkTm9uQW5vbnltb3VzRGVzY2VuZGFudHNXaXRoSGVp
Z2h0KGRvd25jYXN0PFJlbmRlckVsZW1lbnQ+KHJlbmRlcmVyKSk7CiB9CiAKIHN0YXRpYyBOb2Rl
KiBlbmNsb3NpbmdWaXN1YWxCb3VuZGFyeShOb2RlKiBub2RlKQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDEyNzJmNjQzNGJl
Mjg4YjQwYzIyODAyZjg4N2YzOTliNmNjNjAyMTEuLjdmODI0MmYxNTQzZWQ1MjFkN2M4OGVhNDFl
MDg0YWUzZDg5NjMxNzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxOS0wOC0yMCAgV2Vuc29u
IEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBDbGlja2luZyB0aGUg
c2VhcmNoIGljb24gb24gYWUuY29tIGhhbmdzIHRoZSB3ZWIgY29udGVudCBwcm9jZXNzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDA4ODkKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzU0MzU5MzMwPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vbW9kaWZ5LWJhY2t3YXJk
LWlubGluZS1ibG9jay1jb250YWluZXJzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9zZWxlY3Rpb24vbW9kaWZ5LWJhY2t3YXJkLWlubGluZS1ibG9jay1jb250YWluZXJz
Lmh0bWw6IEFkZGVkLgorCisgICAgICAgIEFkZCBhIGxheW91dCB0ZXN0IHRvIGVuc3VyZSB0aGF0
IHRoZSBzZWxlY3Rpb24gbWF5IGJlIG1vdmVkIHRocm91Z2ggZW1wdHkgaW5saW5lLWJsb2NrIGNv
bnRhaW5lcnMgdGhhdCBzcGFuIHRoZQorICAgICAgICB3aWR0aCBvZiB0aGUgcGFnZS4KKworICAg
ICAgICAqIGZhc3QvZXZlbnRzL2ZvY3VzLWFuY2hvci13aXRoLXRhYmluZGV4LWhhbmctZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9mb2N1cy1hbmNob3Itd2l0aC10
YWJpbmRleC1oYW5nLmh0bWw6IEFkZGVkLgorCisgICAgICAgIEFkZCBhIGxheW91dCB0ZXN0IHRv
IGVuc3VyZSB0aGF0IGNsaWNraW5nIGFuIGVtcHR5IHNwYW4gdW5kZXIgYSBmb2N1c2FibGUgYW5j
aG9yIGVsZW1lbnQgbW92ZXMgZm9jdXMgdG8gdGhlCisgICAgICAgIGFuY2hvciBlbGVtZW50IGlu
c3RlYWQgb2YgaGFuZ2luZyB0aGUgd2ViIGNvbnRlbnQgcHJvY2VzcyBvciBoaXR0aW5nIGEgZGVi
dWcgYXNzZXJ0aW9uLgorCiAyMDE5LTA4LTE5ICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNo
QGdtYWlsLmNvbT4KIAogICAgICAgICBEYXRlLnByb3RvdHlwZS50b0pTT04gdGhyb3dzIGlmIHRv
SVNPU3RyaW5nIHJldHVybnMgYW4gb2JqZWN0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9tb2RpZnktYmFja3dhcmQtaW5saW5lLWJsb2NrLWNvbnRhaW5lcnMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbW9kaWZ5LWJhY2t3YXJk
LWlubGluZS1ibG9jay1jb250YWluZXJzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMTJkOWMy
MjQxMDM4ZmE3YzgyYzUxZjNkZWY2MjY3ZmNkOWFjZDY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbW9kaWZ5LWJhY2t3YXJkLWlubGluZS1ibG9jay1j
b250YWluZXJzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1NiBAQAorVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgdGhlIHNlbGVjdGlvbiBjYW4gYmUgbW92ZWQgZm9yd2FyZHMgYW5kIGJhY2t3YXJk
cyB0aHJvdWdoIGVtcHR5IGlubGluZS1ibG9jayBjb250YWluZXJzIHRoYXQgc3BhbiB0aGUgZnVs
bCB3aWR0aCBvZiB0aGUgZG9jdW1lbnQuIFRvIG1hbnVhbGx5IHRlc3QsIHVzZSBhcnJvdyBrZXlz
IG9yIGNsaWNrIGJlZm9yZSBlYWNoIGV4Y2xhbWF0aW9uIG1hcmsgdG8gdmVyaWZ5IHRoYXQgdGhl
IHNlbGVjdGlvbiBjYW4gYmUgbW92ZWQgaW50byBlYWNoIGlubGluZS1ibG9jayBzcGFuIGVsZW1l
bnQuCisKK0luaXRpYWwgY2FyZXQgcG9zaXRpb246Cit8ICIKKyAgICAgICAgICAgICIKK3wgPGE+
Cit8ICAgIgorICAgICAgICAgICAgICAgICIKK3wgICA8c3Bhbj4KK3wgICAgIGNsYXNzPSJlbXB0
eSIKK3wgICAgICIgIgorfCAgICIKKyAgICAgICAgICAgICAgICAiCit8ICAgPHNwYW4+Cit8ICAg
ICBjbGFzcz0iZW1wdHkiCit8ICAgICAiICIKK3wgICAiCisgICAgICAgICAgICAiCit8ICIKKyAg
ICAgICAgICAgICIKK3wgPGRpdj4KK3wgICAiCisgICAgICAgICAgICAgICAgIgorfCAgIDxzcGFu
PgorfCAgICAgY2xhc3M9ImVtcHR5IgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgPCNzZWxlY3Rp
b24tY2FyZXQ+Cit8ICAgICAiICIKK3wgICAiCisgICAgICAgICAgICAiCit8ICIKKyAgICAgICAg
IgorCitNb3ZlIGJhY2t3YXJkOgorfCAiCisgICAgICAgICAgICAiCit8IDxhPgorfCAgICIKKyAg
ICAgICAgICAgICAgICAiCit8ICAgPHNwYW4+Cit8ICAgICBjbGFzcz0iZW1wdHkiCit8ICAgICAi
ICIKK3wgICAiCisgICAgICAgICAgICAgICAgIgorfCAgIDxzcGFuPgorfCAgICAgY2xhc3M9ImVt
cHR5IgorfCAgICAgPCNzZWxlY3Rpb24tY2FyZXQ+Cit8ICAgICAiICIKK3wgICAiCisgICAgICAg
ICAgICAiCit8ICIKKyAgICAgICAgICAgICIKK3wgPGRpdj4KK3wgICAiCisgICAgICAgICAgICAg
ICAgIgorfCAgIDxzcGFuPgorfCAgICAgY2xhc3M9ImVtcHR5IgorfCAgICAgaWQ9InN0YXJ0Igor
fCAgICAgIiAiCit8ICAgIgorICAgICAgICAgICAgIgorfCAiCisgICAgICAgICIKKworTW92ZSBi
YWNrd2FyZCBhZ2FpbjoKK3wgIgorICAgICAgICAgICAgIgorfCA8YT4KK3wgICAiCisgICAgICAg
ICAgICAgICAgIgorfCAgIDxzcGFuPgorfCAgICAgY2xhc3M9ImVtcHR5IgorfCAgICAgPCNzZWxl
Y3Rpb24tY2FyZXQ+Cit8ICAgICAiICIKK3wgICAiCisgICAgICAgICAgICAgICAgIgorfCAgIDxz
cGFuPgorfCAgICAgY2xhc3M9ImVtcHR5IgorfCAgICAgIiAiCit8ICAgIgorICAgICAgICAgICAg
IgorfCAiCisgICAgICAgICAgICAiCit8IDxkaXY+Cit8ICAgIgorICAgICAgICAgICAgICAgICIK
K3wgICA8c3Bhbj4KK3wgICAgIGNsYXNzPSJlbXB0eSIKK3wgICAgIGlkPSJzdGFydCIKK3wgICAg
ICIgIgorfCAgICIKKyAgICAgICAgICAgICIKK3wgIgorICAgICAgICAiCisKK01vdmUgZm9yd2Fy
ZDoKK3wgIgorICAgICAgICAgICAgIgorfCA8YT4KK3wgICAiCisgICAgICAgICAgICAgICAgIgor
fCAgIDxzcGFuPgorfCAgICAgY2xhc3M9ImVtcHR5IgorfCAgICAgIiAiCit8ICAgIgorICAgICAg
ICAgICAgICAgICIKK3wgICA8c3Bhbj4KK3wgICAgIGNsYXNzPSJlbXB0eSIKK3wgICAgIDwjc2Vs
ZWN0aW9uLWNhcmV0PgorfCAgICAgIiAiCit8ICAgIgorICAgICAgICAgICAgIgorfCAiCisgICAg
ICAgICAgICAiCit8IDxkaXY+Cit8ICAgIgorICAgICAgICAgICAgICAgICIKK3wgICA8c3Bhbj4K
K3wgICAgIGNsYXNzPSJlbXB0eSIKK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICIgIgorfCAgICIK
KyAgICAgICAgICAgICIKK3wgIgorICAgICAgICAiCisKK01vdmUgZm9yd2FyZCBhZ2FpbjoKK3wg
IgorICAgICAgICAgICAgIgorfCA8YT4KK3wgICAiCisgICAgICAgICAgICAgICAgIgorfCAgIDxz
cGFuPgorfCAgICAgY2xhc3M9ImVtcHR5IgorfCAgICAgIiAiCit8ICAgIgorICAgICAgICAgICAg
ICAgICIKK3wgICA8c3Bhbj4KK3wgICAgIGNsYXNzPSJlbXB0eSIKK3wgICAgICIgIgorfCAgICIK
KyAgICAgICAgICAgICIKK3wgIgorICAgICAgICAgICAgIgorfCA8ZGl2PgorfCAgICIKKyAgICAg
ICAgICAgICAgICAiCit8ICAgPHNwYW4+Cit8ICAgICBjbGFzcz0iZW1wdHkiCit8ICAgICBpZD0i
c3RhcnQiCit8ICAgICA8I3NlbGVjdGlvbi1jYXJldD4KK3wgICAgICIgIgorfCAgICIKKyAgICAg
ICAgICAgICIKK3wgIgorICAgICAgICAiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9tb2RpZnktYmFja3dhcmQtaW5saW5lLWJsb2NrLWNvbnRhaW5lcnMuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL21vZGlmeS1iYWNrd2FyZC1pbmxpbmUtYmxv
Y2stY29udGFpbmVycy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc0ZjVjZGIzZWJlMDdkNjM5YTIyYjYyYWZk
MTNlYTY3NzljYTc1YjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9tb2RpZnktYmFja3dhcmQtaW5saW5lLWJsb2NrLWNvbnRhaW5lcnMuaHRtbApAQCAt
MCwwICsxLDUwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICBzcGFuLmVtcHR5IHsKKyAgICAgICAgICAgICAgICBkaXNw
bGF5OiBpbmxpbmUtYmxvY2s7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
ICAgICAgICAgZm9udC1zaXplOiA0MHB4OworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBz
cGFuLmVtcHR5OmJlZm9yZSB7CisgICAgICAgICAgICAgICAgY29udGVudDogIiEiOworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdD4KKyAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsICgpID0+IHsKKyAgICAg
ICAgICAgIGRvY3VtZW50LmRlc2lnbk1vZGUgPSAib24iOworICAgICAgICAgICAgTWFya3VwLmRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCB0aGUgc2VsZWN0aW9uIGNhbiBiZSBt
b3ZlZCBmb3J3YXJkcyBhbmQgYmFja3dhcmRzIHRocm91Z2ggZW1wdHkgaW5saW5lLWJsb2NrIGNv
bnRhaW5lcnMgdGhhdCBzcGFuIHRoZSBmdWxsIHdpZHRoIG9mIHRoZSBkb2N1bWVudC4gVG8gbWFu
dWFsbHkgdGVzdCwgdXNlIGFycm93IGtleXMgb3IgY2xpY2sgYmVmb3JlIGVhY2ggZXhjbGFtYXRp
b24gbWFyayB0byB2ZXJpZnkgdGhhdCB0aGUgc2VsZWN0aW9uIGNhbiBiZSBtb3ZlZCBpbnRvIGVh
Y2ggaW5saW5lLWJsb2NrIHNwYW4gZWxlbWVudC4iKTsKKworICAgICAgICAgICAgZ2V0U2VsZWN0
aW9uKCkuc2V0UG9zaXRpb24oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworICAg
ICAgICAgICAgTWFya3VwLmR1bXAoImNvbnRhaW5lciIsICJJbml0aWFsIGNhcmV0IHBvc2l0aW9u
Iik7CisKKyAgICAgICAgICAgIGdldFNlbGVjdGlvbigpLm1vZGlmeSgibW92ZSIsICJiYWNrd2Fy
ZCIsICJjaGFyYWN0ZXIiKTsKKyAgICAgICAgICAgIE1hcmt1cC5kdW1wKCJjb250YWluZXIiLCAi
TW92ZSBiYWNrd2FyZCIpOworCisgICAgICAgICAgICBnZXRTZWxlY3Rpb24oKS5tb2RpZnkoIm1v
dmUiLCAiYmFja3dhcmQiLCAiY2hhcmFjdGVyIik7CisgICAgICAgICAgICBNYXJrdXAuZHVtcCgi
Y29udGFpbmVyIiwgIk1vdmUgYmFja3dhcmQgYWdhaW4iKTsKKworICAgICAgICAgICAgZ2V0U2Vs
ZWN0aW9uKCkubW9kaWZ5KCJtb3ZlIiwgImZvcndhcmQiLCAiY2hhcmFjdGVyIik7CisgICAgICAg
ICAgICBNYXJrdXAuZHVtcCgiY29udGFpbmVyIiwgIk1vdmUgZm9yd2FyZCIpOworCisgICAgICAg
ICAgICBnZXRTZWxlY3Rpb24oKS5tb2RpZnkoIm1vdmUiLCAiZm9yd2FyZCIsICJjaGFyYWN0ZXIi
KTsKKyAgICAgICAgICAgIE1hcmt1cC5kdW1wKCJjb250YWluZXIiLCAiTW92ZSBmb3J3YXJkIGFn
YWluIik7CisgICAgICAgIH0pOworICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorICAgICAgICA8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgICAgICAgICAgPGE+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xh
c3M9ImVtcHR5Ij4gPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJlbXB0eSI+
IDwvc3Bhbj4KKyAgICAgICAgICAgIDwvYT4KKyAgICAgICAgICAgIDxkaXY+CisgICAgICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9ImVtcHR5IiBpZD0ic3RhcnQiPiA8L3NwYW4+CisgICAgICAgICAg
ICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZm9jdXMtYW5jaG9yLXdpdGgtdGFiaW5kZXgtaGFu
Zy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9mb2N1cy1hbmNob3Itd2l0
aC10YWJpbmRleC1oYW5nLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZTZiMzA0OTBkMGUxN2Zk
ZTY4ODg5MTIxNzc5NzkzZTNhZGJkNDc5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvZm9jdXMtYW5jaG9yLXdpdGgtdGFiaW5kZXgtaGFuZy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMiBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgY2xpY2tpbmcgYW4gZW1w
dHkgY29udGFpbmVyIGluIGFuIGFuY2hvciBlbGVtZW50IHdpdGggYSB0YWJpbmRleCBjb3JyZWN0
bHkgZm9jdXNlcyB0aGUgYW5jaG9yIHdpdGhvdXQgaGFuZ2luZyB0aGUgd2ViIGNvbnRlbnQgcHJv
Y2Vzcy4gVG8gcnVuIHRoZSB0ZXN0IG1hbnVhbGx5LCB0YXAgb3IgY2xpY2sgdGhlIHJlZCBib3g7
IHRoZSBhY3RpdmUgZWxlbWVudCBzaG91bGQgYmUgc2V0IHRvIHRoZSBhbmNob3IgZWxlbWVudCwg
YW5kIHRoZSB3ZWIgcHJvY2VzcyBzaG91bGQgcmVtYWluIHJlc3BvbnNpdmUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIENsaWNrZWQgdGFyZ2V0LgorUEFTUyBkb2N1bWVu
dC5hY3RpdmVFbGVtZW50IGlzIGFuY2hvcgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvZm9jdXMtYW5jaG9yLXdpdGgtdGFiaW5kZXgtaGFuZy5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvZm9jdXMtYW5jaG9yLXdpdGgtdGFiaW5kZXgtaGFuZy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIwNzU5MTNjOWRjYTM1YWI1N2NjN2Q4MjYyYTI0ODkyNjM3MjY2MGYKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9mb2N1cy1hbmNob3Itd2l0aC10YWJpbmRleC1o
YW5nLmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
YVt0YWJpbmRleF0geworICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7CisgICAgICAgICAg
ICB9CisKKyAgICAgICAgICAgIHNwYW4uZW1wdHkgeworICAgICAgICAgICAgICAgIGRpc3BsYXk6
IGlubGluZS1ibG9jazsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDFlbTsKKyAgICAgICAgICAgICAgICBmb250LXNpemU6IDQwcHg7CisgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgIHNwYW4jYiB7CisgICAgICAgICAgICAgICAgYm9yZGVy
OiAxcHggc29saWQgcmVkOworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGFzeW5jICgpID0+IHsKKyAgICAg
ICAgICAgICAgICBhbmNob3IgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJhIik7CisgICAgICAg
ICAgICAgICAgdGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImIiKTsKKyAgICAgICAg
ICAgICAgICB0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkNsaWNrZWQgdGFyZ2V0LiIpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiZG9jdW1lbnQuYWN0aXZlRWxlbWVudCIsICJhbmNob3IiKTsKKyAg
ICAgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCBjbGlja2luZyBhbiBlbXB0eSBjb250YWluZXIgaW4gYW4gYW5jaG9y
IGVsZW1lbnQgd2l0aCBhIHRhYmluZGV4IGNvcnJlY3RseSBmb2N1c2VzIHRoZSBhbmNob3Igd2l0
aG91dCBoYW5naW5nIHRoZSB3ZWIgY29udGVudCBwcm9jZXNzLiBUbyBydW4gdGhlIHRlc3QgbWFu
dWFsbHksIHRhcCBvciBjbGljayB0aGUgcmVkIGJveDsgdGhlIGFjdGl2ZSBlbGVtZW50IHNob3Vs
ZCBiZSBzZXQgdG8gdGhlIGFuY2hvciBlbGVtZW50LCBhbmQgdGhlIHdlYiBwcm9jZXNzIHNob3Vs
ZCByZW1haW4gcmVzcG9uc2l2ZS4iKTsKKworICAgICAgICAgICAgICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudCh0YXJnZXQpOworICAgICAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLmVuc3VyZVByZXNlbnRhdGlvblVwZGF0ZSgpOworICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgfSk7CisgICAgICAgIDwvc2NyaXB0Pgor
ICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+
CisgICAgICAgIDxwIGlkPSJjb25zb2xlIj48L3A+CisgICAgICAgIDxhIHRhYmluZGV4PSIwIj4K
KyAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJlbXB0eSIgaWQ9ImEiPiA8L3NwYW4+CisgICAgICAg
ICAgICA8c3BhbiBjbGFzcz0iZW1wdHkiIGlkPSJiIj4gPC9zcGFuPgorICAgICAgICA8L2E+Cisg
ICAgICAgIDxkaXY+CisgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZW1wdHkiIGlkPSJjIj4gPC9z
cGFuPgorICAgICAgICA8L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>376776</attachid>
            <date>2019-08-20 09:29:02 -0700</date>
            <delta_ts>2019-08-20 11:46:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200889-20190820092901.patch</filename>
            <type>text/plain</type>
            <size>15541</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ4ODg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTk5MDEyYzI3MmI4M2Jm
NGIyMTcyZjJhOTVlZTg3MGQ2ZjQ3YmZhOS4uMmY3NWQ0NTc0ODgzM2FkMmYzMzIwM2JiMmFlNmUy
YTJjMjEyMTMwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY2IEBACisyMDE5LTA4LTE5ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIENsaWNraW5nIHRo
ZSBzZWFyY2ggaWNvbiBvbiBhZS5jb20gaGFuZ3MgdGhlIHdlYiBjb250ZW50IHByb2Nlc3MKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDg4OQorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNTQzNTkzMzA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGhhbmcgb2NjdXJzIHVuZGVyIEZyYW1lU2VsZWN0
aW9uOjpzZWxlY3Rpb25BdFNlbnRlbmNlU3RhcnQsIHdoaWxlIGNvbXB1dGluZyBhbiBFZGl0b3JT
dGF0ZSB0byBzZW5kIHRvIHRoZSBVSQorICAgICAgICBwcm9jZXNzLiBUaGlzIGFjdCBvZiBkZXRl
cm1pbmluZyB3aGV0aGVyIHRoZSBnaXZlbiBwb3NpdG9uIGlzIGF0IHRoZSBzdGFydCBvZiBzZW50
ZW5jZSBlbnRhaWxzIG1vdmluZyBiYWNrd2FyZHMKKyAgICAgICAgZnJvbSB0aGUgc3RhcnQgb2Yg
dGhlIGN1cnJlbnQgdmlzaWJsZSBzZWxlY3Rpb24gdW50aWwgdGhlIHN0YXJ0IG9mIGEgcGFyYWdy
YXBoIG9yIHNlbnRlbmNlIGlzIGZvdW5kLCB1c2luZworICAgICAgICBWaXNpYmxlUG9zaXRpb246
OnByZXZpb3VzIHRvIGl0ZXJhdGUgYmFja3dhcmRzIHRocm91Z2ggVmlzaWJsZVBvc2l0aW9ucy4K
KworICAgICAgICBIb3dldmVyLCBvbiB0aGlzIHdlYnNpdGUsIFZpc2libGVQb3NpdGlvbjo6cHJl
dmlvdXMgZW5kcyB1cCBqdXN0IHJldHVybmluZyB0aGUgY3VycmVudCBwb3NpdGlvbiwgYW5kIHdl
IGxvb3AKKyAgICAgICAgaW5maW5pdGVseSBhcyBhIHJlc3VsdCBiZWNhdXNlIHdlIG5ldmVyIGFj
dHVhbGx5IG1vdmUgYmFja3dhcmRzLiBUaGlzIGhhcHBlbnMgYmVjYXVzZSBWaXNpYmxlUG9zaXRp
b246OnByZXZpb3VzCisgICAgICAgIGZpcnN0IHVzZXMgcHJldmlvdXNWaXN1YWxseURpc3RpbmN0
Q2FuZGlkYXRlIHRvIGZpbmQgYSBjYW5kaWRhdGUgUG9zaXRpb24gYmVmb3JlIHRoZSBjdXJyZW50
IHBvc2l0aW9uLCBidXQgd2hlbgorICAgICAgICB0aGUgcG9zaXRpb24gaXMgY2Fub25pY2FsaXpl
ZCB0byBjcmVhdGUgYSBWaXNpYmxlUG9zaXRpb24sIGl0IGlzIG1vdmVkIGJhY2sgdG8gaXRzIG9y
aWdpbmFsIFBvc2l0aW9uIGFzIHRoZSBkZWVwCisgICAgICAgIGVxdWl2YWxlbnQuCisKKyAgICAg
ICAgSW4gdGhlIGF0dGFjaGVkIHRlc3QgY2FzZSAod2hpY2ggaXMgcmVwcmVzZW50YXRpdmUgb2Yg
dGhlIHJlbGV2YW50IHBhcnQgb2YgdGhlIERPTSBvbiBhZS5jb20pLCB3ZSB0cnkgdG8gZmluZAor
ICAgICAgICB0aGUgcHJldmlvdXMgVmlzaWJsZVBvc2l0aW9uIGZyb20gKCNjLCAwKS4gVGhlIHBy
ZXZpb3VzIHZpc3VhbGx5IGRpc3RpbmN0IGNhbmRpZGF0ZSB3ZSBpbml0aWFsbHkgZmluZCBpcwor
ICAgICAgICAoI2IsIDApLCBzaW5jZToKKworICAgICAgICAxLiBUaGUgZW5jbG9zaW5nIHJlbmRl
cmVyIGlzIGEgUmVuZGVyQmxvY2sgd2l0aCBhIG5vbi16ZXJvIGhlaWdodC4KKyAgICAgICAgMi4g
VGhlIGVuY2xvc2luZyByZW5kZXJlciBoYXMgbm8gcmVuZGVyZWQgY2hpbGRyZW4uCisgICAgICAg
IDMuIFRoZSBwb3NpdGlvbiBpcyBhdCB0aGUgZmlyc3QgZWRpdGluZyBwb3NpdGlvbiBpbiB0aGUg
bm9kZSAoaS5lLiB0aGUgc3BhbiBlbGVtZW50KS4KKworICAgICAgICBIb3dldmVyLCB3aGVuIGNh
bm9uaWNhbGl6aW5nIHRoZSBwb3NpdGlvbiwgd2UgZmluZCB0aGF0IG5laXRoZXIgdGhlIHVwc3Ry
ZWFtIG5vciB0aGUgZG93bnN0cmVhbSBwb3NpdGlvbiBpcyBhCisgICAgICAgIGNhbmRpZGF0ZSBi
ZWNhdXNlIGJvdGggdGhlIHVwc3RyZWFtIGFuZCBkb3duc3RyZWFtIG5vZGVzIGVuZCB1cCB3ZWxs
IG91dHNpZGUgb2YgdGhlIHNwYW4gKHRoZSB1cHN0cmVhbSBub2RlIGVuZHMKKyAgICAgICAgdXAg
YmVpbmcgYXQgdGhlIHN0YXJ0IG9mIHRoZSBib2R5IGVsZW1lbnQsIGFuZCB0aGUgZG93bnN0cmVh
bSBwb3NpdGlvbiBlbmRzIHVwIHJpZ2h0IGJlZm9yZSB0aGUgc3RhcnQgb2YgI2MncworICAgICAg
ICBjb250YWluZXIpLiBUaGUgZG93bnN0cmVhbSBwb3NpdGlvbiBpcyBhdCB0aGUgZW5kIG9mIGEg
dGV4dCBub2RlIHdpdGggYSBsZWFkaW5nIG5ld2xpbmUsIGl0J3Mgbm90IGEgY2FuZGlkYXRlCisg
ICAgICAgIGJlY2F1c2UgaXRzIGxhc3QgY2FyZXQgb2Zmc2V0IGlzIGxlc3MgdGhhbiB0aGUgbGVu
Z3RoIG9mIHRoZSB0ZXh0IG5vZGUuCisKKyAgICAgICAgQXMgYSByZXN1bHQsIGV2ZW4gdGhvdWdo
IHRoZSBnaXZlbiBwb3NpdGlvbiAoI2IsIDApIGlzIGEgY2FuZGlkYXRlIGl0c2VsZiwgaXRzIGRv
d25zdHJlYW0gYW5kIHVwc3RyZWFtIHBvc2l0aW9ucworICAgICAgICBhcmUgbm90LiBUaHVzLCBW
aXNpYmxlUG9zaXRpb246OmNhbm9uaWNhbFBvc2l0aW9uIGV4cGFuZHMgdGhlIHNjb3BlIG9mIGl0
cyBjYW5kaWRhdGUgcG9zaXRpb25zIHRvIHRoZSBuZXh0CisgICAgICAgIGNsb3Nlc3QgY2FuZGlk
YXRlIHBvc2l0aW9uczsgdGhlIG5leHQgY2FuZGlkYXRlIHBvc2l0aW9uIGlzICgjYywgMCkuIEJv
dGggb2YgdGhlc2UgY2FuZGlkYXRlcyBhcmUgb3V0c2lkZSBvZiB0aGUKKyAgICAgICAgY29udGFp
bmluZyBibG9jaywgc28gd2UgKHNvbWV3aGF0IGFyYml0cmFyaWx5KSBicmVhayB0aGUgdGllIGJ5
IGNob29zaW5nIHRoZSBuZXh0IHZpc2libGUgcG9zaXRpb24sIGJyaW5naW5nIHVzCisgICAgICAg
IGJhY2sgdG8gKCNjLCAwKS4KKworICAgICAgICBUaGVyZSBhcmUgc2V2ZXJhbCB3YXlzIHRvIGZp
eCB0aGlzLCBvbmUgb2Ygd2hpY2ggaW52b2x2ZXMgZml4aW5nIHRoZSBkb3duc3RyZWFtL3Vwc3Ry
ZWFtIHBvc2l0aW9ucyBvZiAoI2IsIDApIHNvCisgICAgICAgIHRoYXQgdGhleSBubyBsb25nZXIg
anVtcCBvdXQgb2YgdGhlIGNvbnRhaW5pbmcgYmxvY2sgb2YgI2IgYW5kIGNhdXNlICgjYiwgMCkg
dG8gYmUgYW4gaW52YWxpZCB2aXNpYmxlIHBvc2l0aW9uCisgICAgICAgIGRlc3BpdGUgYmVpbmcg
YSBjYW5kaWRhdGUgcG9zaXRpb24uIFRoaXMgY2FuIGJlIGFjaGlldmVkIGJ5IGFkanVzdGluZyB0
aGUgaGV1cmlzdGljIGluCisgICAgICAgIGVuZHNPZk5vZGVBcmVWaXN1YWxseURpc3RpbmN0UG9z
aXRpb25zICh1c2VkIHdoZW4gbW92aW5nIHVwc3RyZWFtIG9yIGRvd25zdHJlYW0pLiBDdXJyZW50
bHksIHRoaXMgaGVscGVyCisgICAgICAgIGZ1bmN0aW9uIHJldHVybnMgZmFsc2UgZm9yICNiIGJl
Y2F1c2UgdGhleSBjb250YWluIGEgc2luZ2xlIChub24tcmVuZGVyZWQpIHdoaXRlc3BhY2UgY2hh
cmFjdGVyLiBSZW1vdmluZyB0aGlzCisgICAgICAgIGV4dHJhbmVvdXMgd2hpdGVzcGFjZSBjaGFy
YWN0ZXIgYWN0dWFsbHkgY2F1c2VzIHRoZSBwcm9ibGVtIHRvIHN0b3AgcmVwcm9kdWNpbmcsIHNp
bmNlICNiIGFuZCAjYyBubyBsb25nZXIKKyAgICAgICAgY29udGFpbiBhbnkgY2hpbGQgbm9kZXMu
IFRoaXMgaXMgaW1wb3J0YW50IGJlY2F1c2UgdGhlIGhldXJpc3RpYyBpbiBQb3NpdGlvbjo6ZG93
bnN0cmVhbSBhdHRlbXB0cyB0byBrZWVwIHRoZQorICAgICAgICBkb3duc3RyZWFtIHBvc2l0aW9u
IHdpdGhpbiB0aGUgY29uZmluZXMgb2YgdGhlIGVuY2xvc2luZyB2aXN1YWwgYm91bmRhcnksIHdo
aWNoIChjdXJyZW50bHkpIGVuZHMgdXAgYmVpbmcgdGhlCisgICAgICAgIGVudGlyZSBib2R5IGVs
ZW1lbnQgYmVjYXVzZSBlbmRzT2ZOb2RlQXJlVmlzdWFsbHlEaXN0aW5jdFBvc2l0aW9ucyByZXR1
cm5zIGZhbHNlIGZvciAjYi4KKworICAgICAgICBUbyBhdm9pZCB0aGlzIHNjZW5hcmlvLCB3ZSB0
ZWFjaCBlbmRzT2ZOb2RlQXJlVmlzdWFsbHlEaXN0aW5jdFBvc2l0aW9ucyB0byB0cmVhdCBpbmxp
bmUtYmxvY2sgY29udGFpbmVycyB0aGF0CisgICAgICAgIGFyZSBlbXB0eSAodGhhdCBpcywgY29u
dGFpbiBubyByZW5kZXJlZCBjb250ZW50KSBidXQgbWF5IGhhdmUgY2hpbGRyZW4gZm9yIGVkaXRp
bmcgaW4gdGhlIHNhbWUgd2F5IGFzIGlubGluZS0KKyAgICAgICAgYmxvY2sgY29udGFpbmVycyB0
aGF0IGRvbid0IGhhdmUgYW55IGNoaWxkcmVuOyBpbiBib3RoIHNjZW5hcmlvcywgdGhleSBtYXkg
Y29udGFpbiBhIGNhbmRpZGF0ZSBwb3NpdGlvbiwgc28gd2UKKyAgICAgICAgc2hvdWxkIHRyZWF0
IHRoZSBlbmRzIG9mIHRoZSBjb250YWluZXIgbm9kZSBhcyBiZWluZyB2aXN1YWxseSBkaXN0aW5j
dC4KKworICAgICAgICBEb2luZyBzbyBjYXVzZXMgdGhlIGRvd25zdHJlYW0gcG9zaXRpb24gb2Yg
KCNiLCAwKSB0byBiZSBrZXB0IHdpdGhpbiB0aGUgaW1tZWRpYXRlIGNvbnRhaW5pbmcgc3BhbiBl
bGVtZW50LAorICAgICAgICB3aGljaCB0aGVuIGFsbG93cyAoI2IsIDApIHRvIGJlIGEgY2Fub25p
Y2FsIFZpc2libGVQb3NpdGlvbi4KKworICAgICAgICBUZXN0czogIGZhc3QvZXZlbnRzL2ZvY3Vz
LWFuY2hvci13aXRoLXRhYmluZGV4LWhhbmcuaHRtbAorICAgICAgICAgICAgICAgIGVkaXRpbmcv
c2VsZWN0aW9uL21vZGlmeS1iYWNrd2FyZC1pbmxpbmUtYmxvY2stY29udGFpbmVycy5odG1sCisK
KyAgICAgICAgKiBlZGl0aW5nL1Zpc2libGVQb3NpdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpWaXNpYmxlUG9zaXRpb246OnByZXZpb3VzIGNvbnN0KToKKwogMjAxOS0wOC0xOSAgSmVyIE5v
YmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ29jb2FdIEZpeCBtaXNzcGVs
bGluZyBvZiAtcHJldmVudHNEaXNwbGF5U2xlZXBGb3JWaWRlb1BsYXliYWNrCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vUG9zaXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1Bv
c2l0aW9uLmNwcAppbmRleCA1ZWY1YjExMzJjZGMyNjUyNzIzNGQ1NzBiNjU3NmYwMGMzMzMxZmU0
Li44YjA1YmM4MjNlY2Y3ZTk0ZTg2YTYxNjQ1OTc3ZDMwMDlhYjhjY2ZmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vUG9zaXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Q
b3NpdGlvbi5jcHAKQEAgLTYyNSw4ICs2MjUsMTQgQEAgc3RhdGljIGJvb2wgZW5kc09mTm9kZUFy
ZVZpc3VhbGx5RGlzdGluY3RQb3NpdGlvbnMoTm9kZSogbm9kZSkKICAgICBpZiAoaXM8SFRNTFRh
YmxlRWxlbWVudD4oKm5vZGUpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgCisgICAgaWYg
KCFub2RlLT5yZW5kZXJlcigpLT5pc1JlcGxhY2VkKCkgfHwgIWNhbkhhdmVDaGlsZHJlbkZvckVk
aXRpbmcoKm5vZGUpIHx8ICFkb3duY2FzdDxSZW5kZXJCb3g+KCpub2RlLT5yZW5kZXJlcigpKS5o
ZWlnaHQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgLy8gVGhlcmUgaXMgYSBWaXNp
YmxlUG9zaXRpb24gaW5zaWRlIGFuIGVtcHR5IGlubGluZS1ibG9jayBjb250YWluZXIuCi0gICAg
cmV0dXJuIG5vZGUtPnJlbmRlcmVyKCktPmlzUmVwbGFjZWQoKSAmJiBjYW5IYXZlQ2hpbGRyZW5G
b3JFZGl0aW5nKCpub2RlKSAmJiBkb3duY2FzdDxSZW5kZXJCb3g+KCpub2RlLT5yZW5kZXJlcigp
KS5oZWlnaHQoKSAmJiAhbm9kZS0+Zmlyc3RDaGlsZCgpOworICAgIGlmICghbm9kZS0+aGFzQ2hp
bGROb2RlcygpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIHJldHVybiAhUG9zaXRpb246
Omhhc1JlbmRlcmVkTm9uQW5vbnltb3VzRGVzY2VuZGFudHNXaXRoSGVpZ2h0KGRvd25jYXN0PFJl
bmRlckVsZW1lbnQ+KCpub2RlLT5yZW5kZXJlcigpKSk7CiB9CiAKIHN0YXRpYyBOb2RlKiBlbmNs
b3NpbmdWaXN1YWxCb3VuZGFyeShOb2RlKiBub2RlKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDEyNzJmNjQzNGJlMjg4YjQw
YzIyODAyZjg4N2YzOTliNmNjNjAyMTEuLjdmODI0MmYxNTQzZWQ1MjFkN2M4OGVhNDFlMDg0YWUz
ZDg5NjMxNzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxOS0wOC0yMCAgV2Vuc29uIEhzaWVo
ICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBDbGlja2luZyB0aGUgc2VhcmNo
IGljb24gb24gYWUuY29tIGhhbmdzIHRoZSB3ZWIgY29udGVudCBwcm9jZXNzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDA4ODkKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzU0MzU5MzMwPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vbW9kaWZ5LWJhY2t3YXJkLWlubGlu
ZS1ibG9jay1jb250YWluZXJzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9zZWxlY3Rpb24vbW9kaWZ5LWJhY2t3YXJkLWlubGluZS1ibG9jay1jb250YWluZXJzLmh0bWw6
IEFkZGVkLgorCisgICAgICAgIEFkZCBhIGxheW91dCB0ZXN0IHRvIGVuc3VyZSB0aGF0IHRoZSBz
ZWxlY3Rpb24gbWF5IGJlIG1vdmVkIHRocm91Z2ggZW1wdHkgaW5saW5lLWJsb2NrIGNvbnRhaW5l
cnMgdGhhdCBzcGFuIHRoZQorICAgICAgICB3aWR0aCBvZiB0aGUgcGFnZS4KKworICAgICAgICAq
IGZhc3QvZXZlbnRzL2ZvY3VzLWFuY2hvci13aXRoLXRhYmluZGV4LWhhbmctZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9mb2N1cy1hbmNob3Itd2l0aC10YWJpbmRl
eC1oYW5nLmh0bWw6IEFkZGVkLgorCisgICAgICAgIEFkZCBhIGxheW91dCB0ZXN0IHRvIGVuc3Vy
ZSB0aGF0IGNsaWNraW5nIGFuIGVtcHR5IHNwYW4gdW5kZXIgYSBmb2N1c2FibGUgYW5jaG9yIGVs
ZW1lbnQgbW92ZXMgZm9jdXMgdG8gdGhlCisgICAgICAgIGFuY2hvciBlbGVtZW50IGluc3RlYWQg
b2YgaGFuZ2luZyB0aGUgd2ViIGNvbnRlbnQgcHJvY2VzcyBvciBoaXR0aW5nIGEgZGVidWcgYXNz
ZXJ0aW9uLgorCiAyMDE5LTA4LTE5ICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWls
LmNvbT4KIAogICAgICAgICBEYXRlLnByb3RvdHlwZS50b0pTT04gdGhyb3dzIGlmIHRvSVNPU3Ry
aW5nIHJldHVybnMgYW4gb2JqZWN0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9tb2RpZnktYmFja3dhcmQtaW5saW5lLWJsb2NrLWNvbnRhaW5lcnMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbW9kaWZ5LWJhY2t3YXJkLWlubGlu
ZS1ibG9jay1jb250YWluZXJzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMTJkOWMyMjQxMDM4
ZmE3YzgyYzUxZjNkZWY2MjY3ZmNkOWFjZDY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vbW9kaWZ5LWJhY2t3YXJkLWlubGluZS1ibG9jay1jb250YWlu
ZXJzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1NiBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgdGhlIHNlbGVjdGlvbiBjYW4gYmUgbW92ZWQgZm9yd2FyZHMgYW5kIGJhY2t3YXJkcyB0aHJv
dWdoIGVtcHR5IGlubGluZS1ibG9jayBjb250YWluZXJzIHRoYXQgc3BhbiB0aGUgZnVsbCB3aWR0
aCBvZiB0aGUgZG9jdW1lbnQuIFRvIG1hbnVhbGx5IHRlc3QsIHVzZSBhcnJvdyBrZXlzIG9yIGNs
aWNrIGJlZm9yZSBlYWNoIGV4Y2xhbWF0aW9uIG1hcmsgdG8gdmVyaWZ5IHRoYXQgdGhlIHNlbGVj
dGlvbiBjYW4gYmUgbW92ZWQgaW50byBlYWNoIGlubGluZS1ibG9jayBzcGFuIGVsZW1lbnQuCisK
K0luaXRpYWwgY2FyZXQgcG9zaXRpb246Cit8ICIKKyAgICAgICAgICAgICIKK3wgPGE+Cit8ICAg
IgorICAgICAgICAgICAgICAgICIKK3wgICA8c3Bhbj4KK3wgICAgIGNsYXNzPSJlbXB0eSIKK3wg
ICAgICIgIgorfCAgICIKKyAgICAgICAgICAgICAgICAiCit8ICAgPHNwYW4+Cit8ICAgICBjbGFz
cz0iZW1wdHkiCit8ICAgICAiICIKK3wgICAiCisgICAgICAgICAgICAiCit8ICIKKyAgICAgICAg
ICAgICIKK3wgPGRpdj4KK3wgICAiCisgICAgICAgICAgICAgICAgIgorfCAgIDxzcGFuPgorfCAg
ICAgY2xhc3M9ImVtcHR5IgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAgPCNzZWxlY3Rpb24tY2Fy
ZXQ+Cit8ICAgICAiICIKK3wgICAiCisgICAgICAgICAgICAiCit8ICIKKyAgICAgICAgIgorCitN
b3ZlIGJhY2t3YXJkOgorfCAiCisgICAgICAgICAgICAiCit8IDxhPgorfCAgICIKKyAgICAgICAg
ICAgICAgICAiCit8ICAgPHNwYW4+Cit8ICAgICBjbGFzcz0iZW1wdHkiCit8ICAgICAiICIKK3wg
ICAiCisgICAgICAgICAgICAgICAgIgorfCAgIDxzcGFuPgorfCAgICAgY2xhc3M9ImVtcHR5Igor
fCAgICAgPCNzZWxlY3Rpb24tY2FyZXQ+Cit8ICAgICAiICIKK3wgICAiCisgICAgICAgICAgICAi
Cit8ICIKKyAgICAgICAgICAgICIKK3wgPGRpdj4KK3wgICAiCisgICAgICAgICAgICAgICAgIgor
fCAgIDxzcGFuPgorfCAgICAgY2xhc3M9ImVtcHR5IgorfCAgICAgaWQ9InN0YXJ0IgorfCAgICAg
IiAiCit8ICAgIgorICAgICAgICAgICAgIgorfCAiCisgICAgICAgICIKKworTW92ZSBiYWNrd2Fy
ZCBhZ2FpbjoKK3wgIgorICAgICAgICAgICAgIgorfCA8YT4KK3wgICAiCisgICAgICAgICAgICAg
ICAgIgorfCAgIDxzcGFuPgorfCAgICAgY2xhc3M9ImVtcHR5IgorfCAgICAgPCNzZWxlY3Rpb24t
Y2FyZXQ+Cit8ICAgICAiICIKK3wgICAiCisgICAgICAgICAgICAgICAgIgorfCAgIDxzcGFuPgor
fCAgICAgY2xhc3M9ImVtcHR5IgorfCAgICAgIiAiCit8ICAgIgorICAgICAgICAgICAgIgorfCAi
CisgICAgICAgICAgICAiCit8IDxkaXY+Cit8ICAgIgorICAgICAgICAgICAgICAgICIKK3wgICA8
c3Bhbj4KK3wgICAgIGNsYXNzPSJlbXB0eSIKK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICIgIgor
fCAgICIKKyAgICAgICAgICAgICIKK3wgIgorICAgICAgICAiCisKK01vdmUgZm9yd2FyZDoKK3wg
IgorICAgICAgICAgICAgIgorfCA8YT4KK3wgICAiCisgICAgICAgICAgICAgICAgIgorfCAgIDxz
cGFuPgorfCAgICAgY2xhc3M9ImVtcHR5IgorfCAgICAgIiAiCit8ICAgIgorICAgICAgICAgICAg
ICAgICIKK3wgICA8c3Bhbj4KK3wgICAgIGNsYXNzPSJlbXB0eSIKK3wgICAgIDwjc2VsZWN0aW9u
LWNhcmV0PgorfCAgICAgIiAiCit8ICAgIgorICAgICAgICAgICAgIgorfCAiCisgICAgICAgICAg
ICAiCit8IDxkaXY+Cit8ICAgIgorICAgICAgICAgICAgICAgICIKK3wgICA8c3Bhbj4KK3wgICAg
IGNsYXNzPSJlbXB0eSIKK3wgICAgIGlkPSJzdGFydCIKK3wgICAgICIgIgorfCAgICIKKyAgICAg
ICAgICAgICIKK3wgIgorICAgICAgICAiCisKK01vdmUgZm9yd2FyZCBhZ2FpbjoKK3wgIgorICAg
ICAgICAgICAgIgorfCA8YT4KK3wgICAiCisgICAgICAgICAgICAgICAgIgorfCAgIDxzcGFuPgor
fCAgICAgY2xhc3M9ImVtcHR5IgorfCAgICAgIiAiCit8ICAgIgorICAgICAgICAgICAgICAgICIK
K3wgICA8c3Bhbj4KK3wgICAgIGNsYXNzPSJlbXB0eSIKK3wgICAgICIgIgorfCAgICIKKyAgICAg
ICAgICAgICIKK3wgIgorICAgICAgICAgICAgIgorfCA8ZGl2PgorfCAgICIKKyAgICAgICAgICAg
ICAgICAiCit8ICAgPHNwYW4+Cit8ICAgICBjbGFzcz0iZW1wdHkiCit8ICAgICBpZD0ic3RhcnQi
Cit8ICAgICA8I3NlbGVjdGlvbi1jYXJldD4KK3wgICAgICIgIgorfCAgICIKKyAgICAgICAgICAg
ICIKK3wgIgorICAgICAgICAiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9tb2RpZnktYmFja3dhcmQtaW5saW5lLWJsb2NrLWNvbnRhaW5lcnMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL21vZGlmeS1iYWNrd2FyZC1pbmxpbmUtYmxvY2stY29u
dGFpbmVycy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc0ZjVjZGIzZWJlMDdkNjM5YTIyYjYyYWZkMTNlYTY3
NzljYTc1YjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9tb2RpZnktYmFja3dhcmQtaW5saW5lLWJsb2NrLWNvbnRhaW5lcnMuaHRtbApAQCAtMCwwICsx
LDUwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBzcGFuLmVtcHR5IHsKKyAgICAgICAgICAgICAgICBkaXNwbGF5OiBp
bmxpbmUtYmxvY2s7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgZm9udC1zaXplOiA0MHB4OworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBzcGFuLmVt
cHR5OmJlZm9yZSB7CisgICAgICAgICAgICAgICAgY29udGVudDogIiEiOworICAgICAgICAgICAg
fQorICAgICAgICA8L3N0eWxlPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAg
YWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsICgpID0+IHsKKyAgICAgICAgICAg
IGRvY3VtZW50LmRlc2lnbk1vZGUgPSAib24iOworICAgICAgICAgICAgTWFya3VwLmRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCB0aGUgc2VsZWN0aW9uIGNhbiBiZSBtb3ZlZCBm
b3J3YXJkcyBhbmQgYmFja3dhcmRzIHRocm91Z2ggZW1wdHkgaW5saW5lLWJsb2NrIGNvbnRhaW5l
cnMgdGhhdCBzcGFuIHRoZSBmdWxsIHdpZHRoIG9mIHRoZSBkb2N1bWVudC4gVG8gbWFudWFsbHkg
dGVzdCwgdXNlIGFycm93IGtleXMgb3IgY2xpY2sgYmVmb3JlIGVhY2ggZXhjbGFtYXRpb24gbWFy
ayB0byB2ZXJpZnkgdGhhdCB0aGUgc2VsZWN0aW9uIGNhbiBiZSBtb3ZlZCBpbnRvIGVhY2ggaW5s
aW5lLWJsb2NrIHNwYW4gZWxlbWVudC4iKTsKKworICAgICAgICAgICAgZ2V0U2VsZWN0aW9uKCku
c2V0UG9zaXRpb24oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpOworICAgICAgICAg
ICAgTWFya3VwLmR1bXAoImNvbnRhaW5lciIsICJJbml0aWFsIGNhcmV0IHBvc2l0aW9uIik7CisK
KyAgICAgICAgICAgIGdldFNlbGVjdGlvbigpLm1vZGlmeSgibW92ZSIsICJiYWNrd2FyZCIsICJj
aGFyYWN0ZXIiKTsKKyAgICAgICAgICAgIE1hcmt1cC5kdW1wKCJjb250YWluZXIiLCAiTW92ZSBi
YWNrd2FyZCIpOworCisgICAgICAgICAgICBnZXRTZWxlY3Rpb24oKS5tb2RpZnkoIm1vdmUiLCAi
YmFja3dhcmQiLCAiY2hhcmFjdGVyIik7CisgICAgICAgICAgICBNYXJrdXAuZHVtcCgiY29udGFp
bmVyIiwgIk1vdmUgYmFja3dhcmQgYWdhaW4iKTsKKworICAgICAgICAgICAgZ2V0U2VsZWN0aW9u
KCkubW9kaWZ5KCJtb3ZlIiwgImZvcndhcmQiLCAiY2hhcmFjdGVyIik7CisgICAgICAgICAgICBN
YXJrdXAuZHVtcCgiY29udGFpbmVyIiwgIk1vdmUgZm9yd2FyZCIpOworCisgICAgICAgICAgICBn
ZXRTZWxlY3Rpb24oKS5tb2RpZnkoIm1vdmUiLCAiZm9yd2FyZCIsICJjaGFyYWN0ZXIiKTsKKyAg
ICAgICAgICAgIE1hcmt1cC5kdW1wKCJjb250YWluZXIiLCAiTW92ZSBmb3J3YXJkIGFnYWluIik7
CisgICAgICAgIH0pOworICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorICAgICAgICA8ZGl2IGlkPSJjb250
YWluZXIiPgorICAgICAgICAgICAgPGE+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImVt
cHR5Ij4gPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJlbXB0eSI+IDwvc3Bh
bj4KKyAgICAgICAgICAgIDwvYT4KKyAgICAgICAgICAgIDxkaXY+CisgICAgICAgICAgICAgICAg
PHNwYW4gY2xhc3M9ImVtcHR5IiBpZD0ic3RhcnQiPiA8L3NwYW4+CisgICAgICAgICAgICA8L2Rp
dj4KKyAgICAgICAgPC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvZm9jdXMtYW5jaG9yLXdpdGgtdGFiaW5kZXgtaGFuZy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9mb2N1cy1hbmNob3Itd2l0aC10YWJp
bmRleC1oYW5nLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZTZiMzA0OTBkMGUxN2ZkZTY4ODg5
MTIxNzc5NzkzZTNhZGJkNDc5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvZm9jdXMtYW5jaG9yLXdpdGgtdGFiaW5kZXgtaGFuZy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMiBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgY2xpY2tpbmcgYW4gZW1wdHkgY29u
dGFpbmVyIGluIGFuIGFuY2hvciBlbGVtZW50IHdpdGggYSB0YWJpbmRleCBjb3JyZWN0bHkgZm9j
dXNlcyB0aGUgYW5jaG9yIHdpdGhvdXQgaGFuZ2luZyB0aGUgd2ViIGNvbnRlbnQgcHJvY2Vzcy4g
VG8gcnVuIHRoZSB0ZXN0IG1hbnVhbGx5LCB0YXAgb3IgY2xpY2sgdGhlIHJlZCBib3g7IHRoZSBh
Y3RpdmUgZWxlbWVudCBzaG91bGQgYmUgc2V0IHRvIHRoZSBhbmNob3IgZWxlbWVudCwgYW5kIHRo
ZSB3ZWIgcHJvY2VzcyBzaG91bGQgcmVtYWluIHJlc3BvbnNpdmUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworCitQQVNTIENsaWNrZWQgdGFyZ2V0LgorUEFTUyBkb2N1bWVudC5hY3Rp
dmVFbGVtZW50IGlzIGFuY2hvcgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZm9j
dXMtYW5jaG9yLXdpdGgtdGFiaW5kZXgtaGFuZy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvZm9jdXMtYW5jaG9yLXdpdGgtdGFiaW5kZXgtaGFuZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIwNzU5
MTNjOWRjYTM1YWI1N2NjN2Q4MjYyYTI0ODkyNjM3MjY2MGYKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9mb2N1cy1hbmNob3Itd2l0aC10YWJpbmRleC1oYW5nLmh0
bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCwgaW5pdGlhbC1zY2FsZT0xIj4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgYVt0YWJp
bmRleF0geworICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7CisgICAgICAgICAgICB9CisK
KyAgICAgICAgICAgIHNwYW4uZW1wdHkgeworICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGlu
ZS1ibG9jazsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDFlbTsKKyAgICAgICAgICAgICAgICBmb250LXNpemU6IDQwcHg7CisgICAgICAgICAg
ICB9CisKKyAgICAgICAgICAgIHNwYW4jYiB7CisgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHgg
c29saWQgcmVkOworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAg
ICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICBhbmNob3IgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJhIik7CisgICAgICAgICAgICAg
ICAgdGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImIiKTsKKyAgICAgICAgICAgICAg
ICB0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RQYXNzZWQoIkNsaWNrZWQgdGFyZ2V0LiIpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiZG9jdW1lbnQuYWN0aXZlRWxlbWVudCIsICJhbmNob3IiKTsKKyAgICAgICAg
ICAgICAgICB9KTsKKworICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBjbGlja2luZyBhbiBlbXB0eSBjb250YWluZXIgaW4gYW4gYW5jaG9yIGVsZW1l
bnQgd2l0aCBhIHRhYmluZGV4IGNvcnJlY3RseSBmb2N1c2VzIHRoZSBhbmNob3Igd2l0aG91dCBo
YW5naW5nIHRoZSB3ZWIgY29udGVudCBwcm9jZXNzLiBUbyBydW4gdGhlIHRlc3QgbWFudWFsbHks
IHRhcCBvciBjbGljayB0aGUgcmVkIGJveDsgdGhlIGFjdGl2ZSBlbGVtZW50IHNob3VsZCBiZSBz
ZXQgdG8gdGhlIGFuY2hvciBlbGVtZW50LCBhbmQgdGhlIHdlYiBwcm9jZXNzIHNob3VsZCByZW1h
aW4gcmVzcG9uc2l2ZS4iKTsKKworICAgICAgICAgICAgICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudCh0YXJnZXQpOworICAgICAgICAgICAgICAgIGF3YWl0
IFVJSGVscGVyLmVuc3VyZVByZXNlbnRhdGlvblVwZGF0ZSgpOworICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgfSk7CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwv
aGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+CisgICAg
ICAgIDxwIGlkPSJjb25zb2xlIj48L3A+CisgICAgICAgIDxhIHRhYmluZGV4PSIwIj4KKyAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJlbXB0eSIgaWQ9ImEiPiA8L3NwYW4+CisgICAgICAgICAgICA8
c3BhbiBjbGFzcz0iZW1wdHkiIGlkPSJiIj4gPC9zcGFuPgorICAgICAgICA8L2E+CisgICAgICAg
IDxkaXY+CisgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZW1wdHkiIGlkPSJjIj4gPC9zcGFuPgor
ICAgICAgICA8L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>