<?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>213130</bug_id>
          
          <creation_ts>2020-06-12 08:42:13 -0700</creation_ts>
          <short_desc>FileInputType should use WeakPtr for FileListCreator lambdas</short_desc>
          <delta_ts>2020-06-16 15:09:05 -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>Forms</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=213259</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andy Estes">aestes</reporter>
          <assigned_to name="Andy Estes">aestes</assigned_to>
          <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>mifenton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1661957</commentid>
    <comment_count>0</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2020-06-12 08:42:13 -0700</bug_when>
    <thetext>FileInputType should use WeakPtr for FileListCreator lambdas</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1661958</commentid>
    <comment_count>1</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2020-06-12 08:42:49 -0700</bug_when>
    <thetext>&lt;rdar://problem/64276591&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1661982</commentid>
    <comment_count>2</comment_count>
      <attachid>401737</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2020-06-12 09:20:13 -0700</bug_when>
    <thetext>Created attachment 401737
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1661989</commentid>
    <comment_count>3</comment_count>
      <attachid>401738</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2020-06-12 09:41:03 -0700</bug_when>
    <thetext>Created attachment 401738
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1661990</commentid>
    <comment_count>4</comment_count>
      <attachid>401739</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2020-06-12 09:44:16 -0700</bug_when>
    <thetext>Created attachment 401739
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1661997</commentid>
    <comment_count>5</comment_count>
      <attachid>401742</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2020-06-12 09:56:41 -0700</bug_when>
    <thetext>Created attachment 401742
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662001</commentid>
    <comment_count>6</comment_count>
      <attachid>401745</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2020-06-12 10:01:42 -0700</bug_when>
    <thetext>Created attachment 401745
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662016</commentid>
    <comment_count>7</comment_count>
      <attachid>401745</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2020-06-12 10:22:03 -0700</bug_when>
    <thetext>Comment on attachment 401745
Patch

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

r=me

&gt; Source/WebCore/html/FileInputType.cpp:-107
&gt; -    if (m_fileListCreator)
&gt; -        m_fileListCreator-&gt;cancel();

Should we ASSERT(!m_fileListCreator) here instead?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662031</commentid>
    <comment_count>8</comment_count>
      <attachid>401745</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2020-06-12 10:41:53 -0700</bug_when>
    <thetext>Comment on attachment 401745
Patch

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

&gt;&gt; Source/WebCore/html/FileInputType.cpp:-107
&gt;&gt; -        m_fileListCreator-&gt;cancel();
&gt; 
&gt; Should we ASSERT(!m_fileListCreator) here instead?

m_fileListCreator can still be non-null here. It&apos;d be harmless to leave these lines in, but we don&apos;t need to explicitly cancel anymore because the FileListCreator completion handler can now outlive its FileInputType (it&apos;ll immediately return when executed).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662046</commentid>
    <comment_count>9</comment_count>
      <attachid>401745</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2020-06-12 11:04:08 -0700</bug_when>
    <thetext>Comment on attachment 401745
Patch

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

&gt;&gt;&gt; Source/WebCore/html/FileInputType.cpp:-107
&gt;&gt;&gt; -        m_fileListCreator-&gt;cancel();
&gt;&gt; 
&gt;&gt; Should we ASSERT(!m_fileListCreator) here instead?
&gt; 
&gt; m_fileListCreator can still be non-null here. It&apos;d be harmless to leave these lines in, but we don&apos;t need to explicitly cancel anymore because the FileListCreator completion handler can now outlive its FileInputType (it&apos;ll immediately return when executed).

I was mostly concerned about leaks.  I guess the completion handler stored on FileListCreator could leak, but that assert should be on the FileListCreator destructor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662060</commentid>
    <comment_count>10</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2020-06-12 11:33:15 -0700</bug_when>
    <thetext>(In reply to David Kilzer (:ddkilzer) from comment #9)
&gt; Comment on attachment 401745 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=401745&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Source/WebCore/html/FileInputType.cpp:-107
&gt; &gt;&gt;&gt; -        m_fileListCreator-&gt;cancel();
&gt; &gt;&gt; 
&gt; &gt;&gt; Should we ASSERT(!m_fileListCreator) here instead?
&gt; &gt; 
&gt; &gt; m_fileListCreator can still be non-null here. It&apos;d be harmless to leave these lines in, but we don&apos;t need to explicitly cancel anymore because the FileListCreator completion handler can now outlive its FileInputType (it&apos;ll immediately return when executed).
&gt; 
&gt; I was mostly concerned about leaks.  I guess the completion handler stored
&gt; on FileListCreator could leak, but that assert should be on the
&gt; FileListCreator destructor.

FileListCreator&apos;s destructor does assert that the completion handler is null.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662064</commentid>
    <comment_count>11</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-06-12 11:40:29 -0700</bug_when>
    <thetext>Committed r262962: &lt;https://trac.webkit.org/changeset/262962&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 401745.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>401737</attachid>
            <date>2020-06-12 09:20:13 -0700</date>
            <delta_ts>2020-06-12 09:41:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213130-20200612092012.patch</filename>
            <type>text/plain</type>
            <size>11181</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyOTI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWI2NjVjODViZjNiNjgw
ZGRhMjY3YjQ4MDg2MjI5YmQ1NWRhZWY2Ny4uNGJiMDEwZGRlOTdmYzQ4Y2NlOThmNDNhYjBjZGEw
ODliOGZhODgwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDIwLTA2LTEyICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBGaWxlSW5wdXRUeXBlIHNob3Vs
ZCB1c2UgV2Vha1B0ciBmb3IgRmlsZUxpc3RDcmVhdG9yIGxhbWJkYXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzEzMAorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vNjQyNzY1OTE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgRmlsZUlucHV0VHlwZTo6ZmlsZXNDaG9zZW4gd2FzIHBhc3NpbmcgYSBjb21w
bGV0aW9uIGhhbmRsZXIgdG8gRmlsZUxpc3RDcmVhdG9yOjpjcmVhdGUgdGhhdAorICAgICAgICBj
YXB0dXJlZCB8dGhpc3wuIElmIHRoZSBGaWxlTGlzdENyZWF0b3IgaW5zdGFuY2Ugc3RpbGwgZXhp
c3RlZCB3aGVuIHx0aGlzfCB3YXMgZGVzdHJveWVkLAorICAgICAgICBGaWxlSW5wdXRUeXBlOjp+
RmlsZUlucHV0VHlwZSB3b3VsZCBjbGVhciB0aGUgY2FwdHVyZWQgfHRoaXN8IGJ5IGNhbGxpbmcK
KyAgICAgICAgRmlsZUxpc3RDcmVhdG9yOjpjbGVhci4gVGhpcyBjYW4gYmUgc2ltcGxpZmllZCBi
eSBoYXZpbmcgdGhlIEZpbGVMaXN0Q3JlYXRvciBjb21wbGV0aW9uCisgICAgICAgIGhhbmRsZXIg
Y2FwdHVyZSBhIFdlYWtQdHIgdG8gfHRoaXN8LgorCisgICAgICAgIEFsc28sIHdoZW4gRmlsZUlu
cHV0VHlwZTo6YWxsb3dzRGlyZWN0b3JpZXMgaXMgZmFsc2UsIG1fZmlsZUxpc3RDcmVhdG9yIHdv
dWxkIG5vdCBiZQorICAgICAgICBwcm9wZXJseSBjbGVhcmVkIGFmdGVyIGNyZWF0aW5nIHRoZSBm
aWxlIGxpc3QuIFRoZSBGaWxlTGlzdENyZWF0b3IgY29tcGxldGlvbiBoYW5kbGVyIHdvdWxkCisg
ICAgICAgIHNldCBtX2ZpbGVMaXN0Q3JlYXRvciB0byBudWxscHRyLCBidXQgd291bGQgYmUgZXhl
Y3V0ZWQgKmJlZm9yZSogRmlsZUxpc3RDcmVhdG9yOjpjcmVhdGUKKyAgICAgICAgcmV0dXJuZWQg
YW5kIHNldCBtX2ZpbGVMaXN0Q3JlYXRvciB0byB0aGUgbmV3bHktY3JlYXRlZCBGaWxlTGlzdENy
ZWF0b3Igb2JqZWN0LiBGaXhlZCB0aGlzCisgICAgICAgIGJ5IGhhdmluZyBGaWxlTGlzdENyZWF0
b3I6OmNyZWF0ZSBleGVjdXRlIHRoZSBjb21wbGV0aW9uIGhhbmRsZXIgaW1tZWRpYXRlbHkgYW5k
IHJldHVybgorICAgICAgICBudWxscHRyIGluIGNhc2VzIHdoZXJlIGEgRmlsZUxpc3RDcmVhdG9y
IGRvZXMgbm90IG5lZWQgdG8gYmUgY3JlYXRlZCBmb3IgZGlyZWN0b3J5CisgICAgICAgIHJlc29s
dXRpb24uCisKKyAgICAgICAgQ292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAq
IGh0bWwvRmlsZUlucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGaWxlSW5wdXRUeXBl
Ojp+RmlsZUlucHV0VHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpGaWxlSW5wdXRUeXBlOjpmaWxl
c0Nob3Nlbik6CisgICAgICAgICogaHRtbC9GaWxlSW5wdXRUeXBlLmg6CisgICAgICAgICogaHRt
bC9GaWxlTGlzdENyZWF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlRmlsZUxpc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6RmlsZUxpc3RDcmVhdG9yOjpjcmVhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6RmlsZUxpc3RDcmVhdG9yOjpGaWxlTGlzdENyZWF0b3IpOgorICAgICAgICAoV2Vi
Q29yZTo6RmlsZUxpc3RDcmVhdG9yOjp+RmlsZUxpc3RDcmVhdG9yKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OkZpbGVMaXN0Q3JlYXRvcjo6Y3JlYXRlRmlsZUxpc3QpOiBEZWxldGVkLgor
ICAgICAgICAqIGh0bWwvRmlsZUxpc3RDcmVhdG9yLmg6CisgICAgICAgIChXZWJDb3JlOjpGaWxl
TGlzdENyZWF0b3I6OmNyZWF0ZSk6IERlbGV0ZWQuCisKIDIwMjAtMDYtMTEgIFJvYiBCdWlzICA8
cmJ1aXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMjYyNzc2KTogRmxha3kg
Y3Jhc2ggdW5kZXIgLVtXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdh
dGUgY29ubmVjdGlvbjp3aWxsU2VuZFJlcXVlc3Q6cmVkaXJlY3RSZXNwb25zZTpdCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0ZpbGVJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9GaWxlSW5wdXRUeXBlLmNwcAppbmRleCA5YmVmMWQyYzdmMDBjYWQ4ZDllN2JkMWYz
Y2RhZWJmMWZmMzJiNjYxLi44ZjcxNzgxYTI1ODE2NzI4MGYyYWU5YThmY2QyYjc5YTdlODg4ZjEy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0ZpbGVJbnB1dFR5cGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvRmlsZUlucHV0VHlwZS5jcHAKQEAgLTEsNSArMSw1IEBACiAv
KgotICogQ29weXJpZ2h0IChDKSAyMDA0LTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA0LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgpAQCAtMTAzLDkgKzEwMyw2IEBAIEZpbGVJbnB1dFR5cGU6OkZp
bGVJbnB1dFR5cGUoSFRNTElucHV0RWxlbWVudCYgZWxlbWVudCkKIAogRmlsZUlucHV0VHlwZTo6
fkZpbGVJbnB1dFR5cGUoKQogewotICAgIGlmIChtX2ZpbGVMaXN0Q3JlYXRvcikKLSAgICAgICAg
bV9maWxlTGlzdENyZWF0b3ItPmNhbmNlbCgpOwotCiAgICAgaWYgKG1fZmlsZUNob29zZXIpCiAg
ICAgICAgIG1fZmlsZUNob29zZXItPmludmFsaWRhdGUoKTsKIApAQCAtNDE2LDcgKzQxMywxMCBA
QCB2b2lkIEZpbGVJbnB1dFR5cGU6OmZpbGVzQ2hvc2VuKGNvbnN0IFZlY3RvcjxGaWxlQ2hvb3Nl
ckZpbGVJbmZvPiYgcGF0aHMsIGNvbnN0CiAgICAgICAgIG1fZmlsZUxpc3RDcmVhdG9yLT5jYW5j
ZWwoKTsKIAogICAgIGF1dG8gc2hvdWxkUmVzb2x2ZURpcmVjdG9yaWVzID0gYWxsb3dzRGlyZWN0
b3JpZXMoKSA/IEZpbGVMaXN0Q3JlYXRvcjo6U2hvdWxkUmVzb2x2ZURpcmVjdG9yaWVzOjpZZXMg
OiBGaWxlTGlzdENyZWF0b3I6OlNob3VsZFJlc29sdmVEaXJlY3Rvcmllczo6Tm87Ci0gICAgbV9m
aWxlTGlzdENyZWF0b3IgPSBGaWxlTGlzdENyZWF0b3I6OmNyZWF0ZShwYXRocywgc2hvdWxkUmVz
b2x2ZURpcmVjdG9yaWVzLCBbdGhpcywgaWNvbiA9IG1ha2VSZWZQdHIoaWNvbildKFJlZjxGaWxl
TGlzdD4mJiBmaWxlTGlzdCkgbXV0YWJsZSB7CisgICAgbV9maWxlTGlzdENyZWF0b3IgPSBGaWxl
TGlzdENyZWF0b3I6OmNyZWF0ZShwYXRocywgc2hvdWxkUmVzb2x2ZURpcmVjdG9yaWVzLCBbdGhp
cywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyksIGljb24gPSBtYWtlUmVmUHRyKGljb24p
XShSZWY8RmlsZUxpc3Q+JiYgZmlsZUxpc3QpIG11dGFibGUgeworICAgICAgICBhdXRvIHByb3Rl
Y3RlZFRoaXMgPSBtYWtlUmVmUHRyKHdlYWtUaGlzLmdldCgpKTsKKyAgICAgICAgaWYgKCFwcm90
ZWN0ZWRUaGlzKQorICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBzZXRGaWxlcyhXVEZNb3Zl
KGZpbGVMaXN0KSwgaWNvbiA/IFJlcXVlc3RJY29uOjpZZXMgOiBSZXF1ZXN0SWNvbjo6Tm8pOwog
ICAgICAgICBpZiAoaWNvbiAmJiAhbV9maWxlTGlzdC0+aXNFbXB0eSgpICYmIGVsZW1lbnQoKSkK
ICAgICAgICAgICAgIGljb25Mb2FkZWQoV1RGTW92ZShpY29uKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0ZpbGVJbnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRmls
ZUlucHV0VHlwZS5oCmluZGV4IDgyNmFjMjhlMzFlODZlZDlhMWNjOTlhMTU2ZDQ2N2U5NGIwMzE1
NWIuLjI5Mzg0ODJhMjJhNDhmNjQ0M2JhODQ3MGJjZTYyMjIxMDY5ZTVkMmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvRmlsZUlucHV0VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvRmlsZUlucHV0VHlwZS5oCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAo
QykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChD
KSAyMDExLTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0
IChDKSAyMDExLTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIkZp
bGVDaG9vc2VyLmgiCiAjaW5jbHVkZSAiRmlsZUljb25Mb2FkZXIuaCIKICNpbmNsdWRlIDx3dGYv
UmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCkBAIC00Myw3ICs0NCw3IEBAIGNsYXNzIEZpbGVMaXN0OwogY2xhc3MgRmlsZUxpc3RDcmVh
dG9yOwogY2xhc3MgSWNvbjsKIAotY2xhc3MgRmlsZUlucHV0VHlwZSBmaW5hbCA6IHB1YmxpYyBC
YXNlQ2xpY2thYmxlV2l0aEtleUlucHV0VHlwZSwgcHJpdmF0ZSBGaWxlQ2hvb3NlckNsaWVudCwg
cHJpdmF0ZSBGaWxlSWNvbkxvYWRlckNsaWVudCB7CitjbGFzcyBGaWxlSW5wdXRUeXBlIGZpbmFs
IDogcHVibGljIEJhc2VDbGlja2FibGVXaXRoS2V5SW5wdXRUeXBlLCBwcml2YXRlIEZpbGVDaG9v
c2VyQ2xpZW50LCBwcml2YXRlIEZpbGVJY29uTG9hZGVyQ2xpZW50LCBwdWJsaWMgQ2FuTWFrZVdl
YWtQdHI8RmlsZUlucHV0VHlwZT4gewogcHVibGljOgogICAgIGV4cGxpY2l0IEZpbGVJbnB1dFR5
cGUoSFRNTElucHV0RWxlbWVudCYpOwogICAgIHZpcnR1YWwgfkZpbGVJbnB1dFR5cGUoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRmlsZUxpc3RDcmVhdG9yLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvRmlsZUxpc3RDcmVhdG9yLmNwcAppbmRleCBkYzYyODViYzliNTgzNTA2
ZTNkNmQyMGUwOTUxNjUxY2U5MGRlY2RiLi43MTczOWI4YjJmMTMyNmNhMjgwMTQ3MzgzYTIwZDll
MTFlMGQ0ZmNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0ZpbGVMaXN0Q3JlYXRv
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9GaWxlTGlzdENyZWF0b3IuY3BwCkBAIC0x
LDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTctMjAyMCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM0LDEx
ICszNCw2IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotRmlsZUxpc3RDcmVhdG9yOjp+Rmls
ZUxpc3RDcmVhdG9yKCkKLXsKLSAgICBBU1NFUlQoIW1fY29tcGxldGlvbkhhbmRlcik7Ci19Ci0K
IHN0YXRpYyB2b2lkIGFwcGVuZERpcmVjdG9yeUZpbGVzKGNvbnN0IFN0cmluZyYgZGlyZWN0b3J5
LCBjb25zdCBTdHJpbmcmIHJlbGF0aXZlUGF0aCwgVmVjdG9yPFJlZjxGaWxlPj4mIGZpbGVPYmpl
Y3RzKQogewogICAgIGZvciAoYXV0byYgY2hpbGRQYXRoIDogRmlsZVN5c3RlbTo6bGlzdERpcmVj
dG9yeShkaXJlY3RvcnksICIqIikpIHsKQEAgLTU3LDMwICs1MiwxMiBAQCBzdGF0aWMgdm9pZCBh
cHBlbmREaXJlY3RvcnlGaWxlcyhjb25zdCBTdHJpbmcmIGRpcmVjdG9yeSwgY29uc3QgU3RyaW5n
JiByZWxhdGl2ZQogICAgIH0KIH0KIAotRmlsZUxpc3RDcmVhdG9yOjpGaWxlTGlzdENyZWF0b3Io
Y29uc3QgVmVjdG9yPEZpbGVDaG9vc2VyRmlsZUluZm8+JiBwYXRocywgU2hvdWxkUmVzb2x2ZURp
cmVjdG9yaWVzIHNob3VsZFJlc29sdmVEaXJlY3RvcmllcywgQ29tcGxldGlvbkhhbmRsZXImJiBj
b21wbGV0aW9uSGFuZGxlcikKLXsKLSAgICBpZiAoc2hvdWxkUmVzb2x2ZURpcmVjdG9yaWVzID09
IFNob3VsZFJlc29sdmVEaXJlY3Rvcmllczo6Tm8pCi0gICAgICAgIGNvbXBsZXRpb25IYW5kbGVy
KGNyZWF0ZUZpbGVMaXN0PFNob3VsZFJlc29sdmVEaXJlY3Rvcmllczo6Tm8+KHBhdGhzKSk7Ci0g
ICAgZWxzZSB7Ci0gICAgICAgIC8vIFJlc29sdmUgZGlyZWN0b3JpZXMgb24gYSBiYWNrZ3JvdW5k
IHRocmVhZCB0byBhdm9pZCBibG9ja2luZyB0aGUgbWFpbiB0aHJlYWQuCi0gICAgICAgIG1fY29t
cGxldGlvbkhhbmRlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpOwotICAgICAgICBtX3dv
cmtRdWV1ZSA9IFdvcmtRdWV1ZTo6Y3JlYXRlKCJGaWxlTGlzdENyZWF0b3IgV29yayBRdWV1ZSIp
OwotICAgICAgICBtX3dvcmtRdWV1ZS0+ZGlzcGF0Y2goW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBt
YWtlUmVmKCp0aGlzKSwgcGF0aHMgPSBjcm9zc1RocmVhZENvcHkocGF0aHMpXSgpIG11dGFibGUg
ewotICAgICAgICAgICAgYXV0byBmaWxlTGlzdCA9IGNyZWF0ZUZpbGVMaXN0PFNob3VsZFJlc29s
dmVEaXJlY3Rvcmllczo6WWVzPihwYXRocyk7Ci0gICAgICAgICAgICBjYWxsT25NYWluVGhyZWFk
KFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gV1RGTW92ZShwcm90ZWN0ZWRUaGlzKSwgZmlsZUxpc3Qg
PSBXVEZNb3ZlKGZpbGVMaXN0KV0oKSBtdXRhYmxlIHsKLSAgICAgICAgICAgICAgICBpZiAoYXV0
byBjb21wbGV0aW9uSGFuZGVyID0gV1RGTW92ZShtX2NvbXBsZXRpb25IYW5kZXIpKQotICAgICAg
ICAgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGVyKFdURk1vdmUoZmlsZUxpc3QpKTsKLSAgICAg
ICAgICAgIH0pOwotICAgICAgICB9KTsKLSAgICB9Ci19Ci0KIHRlbXBsYXRlPEZpbGVMaXN0Q3Jl
YXRvcjo6U2hvdWxkUmVzb2x2ZURpcmVjdG9yaWVzIHNob3VsZFJlc29sdmVEaXJlY3Rvcmllcz4K
LVJlZjxGaWxlTGlzdD4gRmlsZUxpc3RDcmVhdG9yOjpjcmVhdGVGaWxlTGlzdChjb25zdCBWZWN0
b3I8RmlsZUNob29zZXJGaWxlSW5mbz4mIHBhdGhzKQorc3RhdGljIFJlZjxGaWxlTGlzdD4gY3Jl
YXRlRmlsZUxpc3QoY29uc3QgVmVjdG9yPEZpbGVDaG9vc2VyRmlsZUluZm8+JiBwYXRocykKIHsK
ICAgICBWZWN0b3I8UmVmPEZpbGU+PiBmaWxlT2JqZWN0czsKICAgICBmb3IgKGF1dG8mIGluZm8g
OiBwYXRocykgewotICAgICAgICBpZiAoc2hvdWxkUmVzb2x2ZURpcmVjdG9yaWVzID09IFNob3Vs
ZFJlc29sdmVEaXJlY3Rvcmllczo6WWVzICYmIEZpbGVTeXN0ZW06OmZpbGVJc0RpcmVjdG9yeShp
bmZvLnBhdGgsIEZpbGVTeXN0ZW06OlNob3VsZEZvbGxvd1N5bWJvbGljTGlua3M6Ok5vKSkKKyAg
ICAgICAgaWYgKHNob3VsZFJlc29sdmVEaXJlY3RvcmllcyA9PSBGaWxlTGlzdENyZWF0b3I6OlNo
b3VsZFJlc29sdmVEaXJlY3Rvcmllczo6WWVzICYmIEZpbGVTeXN0ZW06OmZpbGVJc0RpcmVjdG9y
eShpbmZvLnBhdGgsIEZpbGVTeXN0ZW06OlNob3VsZEZvbGxvd1N5bWJvbGljTGlua3M6Ok5vKSkK
ICAgICAgICAgICAgIGFwcGVuZERpcmVjdG9yeUZpbGVzKGluZm8ucGF0aCwgRmlsZVN5c3RlbTo6
cGF0aEdldEZpbGVOYW1lKGluZm8ucGF0aCksIGZpbGVPYmplY3RzKTsKICAgICAgICAgZWxzZQog
ICAgICAgICAgICAgZmlsZU9iamVjdHMuYXBwZW5kKEZpbGU6OmNyZWF0ZShpbmZvLnBhdGgsIGlu
Zm8uZGlzcGxheU5hbWUpKTsKQEAgLTg4LDYgKzY1LDMwIEBAIFJlZjxGaWxlTGlzdD4gRmlsZUxp
c3RDcmVhdG9yOjpjcmVhdGVGaWxlTGlzdChjb25zdCBWZWN0b3I8RmlsZUNob29zZXJGaWxlSW5m
bz4mCiAgICAgcmV0dXJuIEZpbGVMaXN0OjpjcmVhdGUoV1RGTW92ZShmaWxlT2JqZWN0cykpOwog
fQogCitSZWZQdHI8RmlsZUxpc3RDcmVhdG9yPiBGaWxlTGlzdENyZWF0b3I6OmNyZWF0ZShjb25z
dCBWZWN0b3I8RmlsZUNob29zZXJGaWxlSW5mbz4mIHBhdGhzLCBTaG91bGRSZXNvbHZlRGlyZWN0
b3JpZXMgc2hvdWxkUmVzb2x2ZURpcmVjdG9yaWVzLCBDb21wbGV0aW9uSGFuZGxlciYmIGNvbXBs
ZXRpb25IYW5kbGVyKQoreworICAgIGlmIChzaG91bGRSZXNvbHZlRGlyZWN0b3JpZXMgPT0gU2hv
dWxkUmVzb2x2ZURpcmVjdG9yaWVzOjpObykgeworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihj
cmVhdGVGaWxlTGlzdDxTaG91bGRSZXNvbHZlRGlyZWN0b3JpZXM6Ok5vPihwYXRocykpOworICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CisKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBG
aWxlTGlzdENyZWF0b3IocGF0aHMsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKSk7Cit9CisK
K0ZpbGVMaXN0Q3JlYXRvcjo6RmlsZUxpc3RDcmVhdG9yKGNvbnN0IFZlY3RvcjxGaWxlQ2hvb3Nl
ckZpbGVJbmZvPiYgcGF0aHMsIENvbXBsZXRpb25IYW5kbGVyJiYgY29tcGxldGlvbkhhbmRsZXIp
Cit7CisgICAgLy8gUmVzb2x2ZSBkaXJlY3RvcmllcyBvbiBhIGJhY2tncm91bmQgdGhyZWFkIHRv
IGF2b2lkIGJsb2NraW5nIHRoZSBtYWluIHRocmVhZC4KKyAgICBtX2NvbXBsZXRpb25IYW5kZXIg
PSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKTsKKyAgICBtX3dvcmtRdWV1ZSA9IFdvcmtRdWV1
ZTo6Y3JlYXRlKCJGaWxlTGlzdENyZWF0b3IgV29yayBRdWV1ZSIpOworICAgIG1fd29ya1F1ZXVl
LT5kaXNwYXRjaChbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBwYXRocyA9
IGNyb3NzVGhyZWFkQ29weShwYXRocyldKCkgbXV0YWJsZSB7CisgICAgICAgIGF1dG8gZmlsZUxp
c3QgPSBjcmVhdGVGaWxlTGlzdDxTaG91bGRSZXNvbHZlRGlyZWN0b3JpZXM6Olllcz4ocGF0aHMp
OworICAgICAgICBjYWxsT25NYWluVGhyZWFkKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gV1RGTW92
ZShwcm90ZWN0ZWRUaGlzKSwgZmlsZUxpc3QgPSBXVEZNb3ZlKGZpbGVMaXN0KV0oKSBtdXRhYmxl
IHsKKyAgICAgICAgICAgIGlmIChhdXRvIGNvbXBsZXRpb25IYW5kZXIgPSBXVEZNb3ZlKG1fY29t
cGxldGlvbkhhbmRlcikpCisgICAgICAgICAgICAgICAgY29tcGxldGlvbkhhbmRlcihXVEZNb3Zl
KGZpbGVMaXN0KSk7CisgICAgICAgIH0pOworICAgIH0pOworfQorCiB2b2lkIEZpbGVMaXN0Q3Jl
YXRvcjo6Y2FuY2VsKCkKIHsKICAgICBtX2NvbXBsZXRpb25IYW5kZXIgPSBudWxscHRyOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9GaWxlTGlzdENyZWF0b3IuaCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvRmlsZUxpc3RDcmVhdG9yLmgKaW5kZXggNzdjMGEwMzkwZmIxMTcwNWZhZmY5
NTRmMTVjYWZkZTY4YWZhYzIyNS4uNDRkNGI0NDNjOTNhMGE0NzgyYTU0MDlhNzA5MGU1NTNiNmI4
NTNlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9GaWxlTGlzdENyZWF0b3IuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0ZpbGVMaXN0Q3JlYXRvci5oCkBAIC0xLDUgKzEsNSBA
QAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTctMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTQxLDIwICs0MSwxMiBA
QCBwdWJsaWM6CiAgICAgdXNpbmcgQ29tcGxldGlvbkhhbmRsZXIgPSBGdW5jdGlvbjx2b2lkKFJl
ZjxGaWxlTGlzdD4mJik+OwogCiAgICAgZW51bSBjbGFzcyBTaG91bGRSZXNvbHZlRGlyZWN0b3Jp
ZXMgeyBObywgWWVzIH07Ci0gICAgc3RhdGljIFJlZjxGaWxlTGlzdENyZWF0b3I+IGNyZWF0ZShj
b25zdCBWZWN0b3I8RmlsZUNob29zZXJGaWxlSW5mbz4mIHBhdGhzLCBTaG91bGRSZXNvbHZlRGly
ZWN0b3JpZXMgc2hvdWxkUmVzb2x2ZURpcmVjdG9yaWVzLCBDb21wbGV0aW9uSGFuZGxlciYmIGNv
bXBsZXRpb25IYW5kbGVyKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRmls
ZUxpc3RDcmVhdG9yKHBhdGhzLCBzaG91bGRSZXNvbHZlRGlyZWN0b3JpZXMsIFdURk1vdmUoY29t
cGxldGlvbkhhbmRsZXIpKSk7Ci0gICAgfQotCi0gICAgfkZpbGVMaXN0Q3JlYXRvcigpOworICAg
IHN0YXRpYyBSZWZQdHI8RmlsZUxpc3RDcmVhdG9yPiBjcmVhdGUoY29uc3QgVmVjdG9yPEZpbGVD
aG9vc2VyRmlsZUluZm8+JiwgU2hvdWxkUmVzb2x2ZURpcmVjdG9yaWVzLCBDb21wbGV0aW9uSGFu
ZGxlciYmKTsKIAogICAgIHZvaWQgY2FuY2VsKCk7CiAKIHByaXZhdGU6Ci0gICAgRmlsZUxpc3RD
cmVhdG9yKGNvbnN0IFZlY3RvcjxGaWxlQ2hvb3NlckZpbGVJbmZvPiYgcGF0aHMsIFNob3VsZFJl
c29sdmVEaXJlY3RvcmllcywgQ29tcGxldGlvbkhhbmRsZXImJik7Ci0KLSAgICB0ZW1wbGF0ZTxT
aG91bGRSZXNvbHZlRGlyZWN0b3JpZXMgc2hvdWxkUmVzb2x2ZURpcmVjdG9yaWVzPgotICAgIHN0
YXRpYyBSZWY8RmlsZUxpc3Q+IGNyZWF0ZUZpbGVMaXN0KGNvbnN0IFZlY3RvcjxGaWxlQ2hvb3Nl
ckZpbGVJbmZvPiYpOworICAgIEZpbGVMaXN0Q3JlYXRvcihjb25zdCBWZWN0b3I8RmlsZUNob29z
ZXJGaWxlSW5mbz4mIHBhdGhzLCBDb21wbGV0aW9uSGFuZGxlciYmKTsKIAogICAgIFJlZlB0cjxX
b3JrUXVldWU+IG1fd29ya1F1ZXVlOwogICAgIENvbXBsZXRpb25IYW5kbGVyIG1fY29tcGxldGlv
bkhhbmRlcjsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>401738</attachid>
            <date>2020-06-12 09:41:03 -0700</date>
            <delta_ts>2020-06-12 09:44:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213130-20200612094102.patch</filename>
            <type>text/plain</type>
            <size>11176</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyOTI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWI2NjVjODViZjNiNjgw
ZGRhMjY3YjQ4MDg2MjI5YmQ1NWRhZWY2Ny4uNGJiMDEwZGRlOTdmYzQ4Y2NlOThmNDNhYjBjZGEw
ODliOGZhODgwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDIwLTA2LTEyICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBGaWxlSW5wdXRUeXBlIHNob3Vs
ZCB1c2UgV2Vha1B0ciBmb3IgRmlsZUxpc3RDcmVhdG9yIGxhbWJkYXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzEzMAorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vNjQyNzY1OTE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgRmlsZUlucHV0VHlwZTo6ZmlsZXNDaG9zZW4gd2FzIHBhc3NpbmcgYSBjb21w
bGV0aW9uIGhhbmRsZXIgdG8gRmlsZUxpc3RDcmVhdG9yOjpjcmVhdGUgdGhhdAorICAgICAgICBj
YXB0dXJlZCB8dGhpc3wuIElmIHRoZSBGaWxlTGlzdENyZWF0b3IgaW5zdGFuY2Ugc3RpbGwgZXhp
c3RlZCB3aGVuIHx0aGlzfCB3YXMgZGVzdHJveWVkLAorICAgICAgICBGaWxlSW5wdXRUeXBlOjp+
RmlsZUlucHV0VHlwZSB3b3VsZCBjbGVhciB0aGUgY2FwdHVyZWQgfHRoaXN8IGJ5IGNhbGxpbmcK
KyAgICAgICAgRmlsZUxpc3RDcmVhdG9yOjpjbGVhci4gVGhpcyBjYW4gYmUgc2ltcGxpZmllZCBi
eSBoYXZpbmcgdGhlIEZpbGVMaXN0Q3JlYXRvciBjb21wbGV0aW9uCisgICAgICAgIGhhbmRsZXIg
Y2FwdHVyZSBhIFdlYWtQdHIgdG8gfHRoaXN8LgorCisgICAgICAgIEFsc28sIHdoZW4gRmlsZUlu
cHV0VHlwZTo6YWxsb3dzRGlyZWN0b3JpZXMgaXMgZmFsc2UsIG1fZmlsZUxpc3RDcmVhdG9yIHdv
dWxkIG5vdCBiZQorICAgICAgICBwcm9wZXJseSBjbGVhcmVkIGFmdGVyIGNyZWF0aW5nIHRoZSBm
aWxlIGxpc3QuIFRoZSBGaWxlTGlzdENyZWF0b3IgY29tcGxldGlvbiBoYW5kbGVyIHdvdWxkCisg
ICAgICAgIHNldCBtX2ZpbGVMaXN0Q3JlYXRvciB0byBudWxscHRyLCBidXQgd291bGQgYmUgZXhl
Y3V0ZWQgKmJlZm9yZSogRmlsZUxpc3RDcmVhdG9yOjpjcmVhdGUKKyAgICAgICAgcmV0dXJuZWQg
YW5kIHNldCBtX2ZpbGVMaXN0Q3JlYXRvciB0byB0aGUgbmV3bHktY3JlYXRlZCBGaWxlTGlzdENy
ZWF0b3Igb2JqZWN0LiBGaXhlZCB0aGlzCisgICAgICAgIGJ5IGhhdmluZyBGaWxlTGlzdENyZWF0
b3I6OmNyZWF0ZSBleGVjdXRlIHRoZSBjb21wbGV0aW9uIGhhbmRsZXIgaW1tZWRpYXRlbHkgYW5k
IHJldHVybgorICAgICAgICBudWxscHRyIGluIGNhc2VzIHdoZXJlIGEgRmlsZUxpc3RDcmVhdG9y
IGRvZXMgbm90IG5lZWQgdG8gYmUgY3JlYXRlZCBmb3IgZGlyZWN0b3J5CisgICAgICAgIHJlc29s
dXRpb24uCisKKyAgICAgICAgQ292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAq
IGh0bWwvRmlsZUlucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGaWxlSW5wdXRUeXBl
Ojp+RmlsZUlucHV0VHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpGaWxlSW5wdXRUeXBlOjpmaWxl
c0Nob3Nlbik6CisgICAgICAgICogaHRtbC9GaWxlSW5wdXRUeXBlLmg6CisgICAgICAgICogaHRt
bC9GaWxlTGlzdENyZWF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlRmlsZUxpc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6RmlsZUxpc3RDcmVhdG9yOjpjcmVhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6RmlsZUxpc3RDcmVhdG9yOjpGaWxlTGlzdENyZWF0b3IpOgorICAgICAgICAoV2Vi
Q29yZTo6RmlsZUxpc3RDcmVhdG9yOjp+RmlsZUxpc3RDcmVhdG9yKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OkZpbGVMaXN0Q3JlYXRvcjo6Y3JlYXRlRmlsZUxpc3QpOiBEZWxldGVkLgor
ICAgICAgICAqIGh0bWwvRmlsZUxpc3RDcmVhdG9yLmg6CisgICAgICAgIChXZWJDb3JlOjpGaWxl
TGlzdENyZWF0b3I6OmNyZWF0ZSk6IERlbGV0ZWQuCisKIDIwMjAtMDYtMTEgIFJvYiBCdWlzICA8
cmJ1aXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMjYyNzc2KTogRmxha3kg
Y3Jhc2ggdW5kZXIgLVtXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdh
dGUgY29ubmVjdGlvbjp3aWxsU2VuZFJlcXVlc3Q6cmVkaXJlY3RSZXNwb25zZTpdCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0ZpbGVJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9GaWxlSW5wdXRUeXBlLmNwcAppbmRleCA5YmVmMWQyYzdmMDBjYWQ4ZDllN2JkMWYz
Y2RhZWJmMWZmMzJiNjYxLi44ZjcxNzgxYTI1ODE2NzI4MGYyYWU5YThmY2QyYjc5YTdlODg4ZjEy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0ZpbGVJbnB1dFR5cGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvRmlsZUlucHV0VHlwZS5jcHAKQEAgLTEsNSArMSw1IEBACiAv
KgotICogQ29weXJpZ2h0IChDKSAyMDA0LTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA0LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgpAQCAtMTAzLDkgKzEwMyw2IEBAIEZpbGVJbnB1dFR5cGU6OkZp
bGVJbnB1dFR5cGUoSFRNTElucHV0RWxlbWVudCYgZWxlbWVudCkKIAogRmlsZUlucHV0VHlwZTo6
fkZpbGVJbnB1dFR5cGUoKQogewotICAgIGlmIChtX2ZpbGVMaXN0Q3JlYXRvcikKLSAgICAgICAg
bV9maWxlTGlzdENyZWF0b3ItPmNhbmNlbCgpOwotCiAgICAgaWYgKG1fZmlsZUNob29zZXIpCiAg
ICAgICAgIG1fZmlsZUNob29zZXItPmludmFsaWRhdGUoKTsKIApAQCAtNDE2LDcgKzQxMywxMCBA
QCB2b2lkIEZpbGVJbnB1dFR5cGU6OmZpbGVzQ2hvc2VuKGNvbnN0IFZlY3RvcjxGaWxlQ2hvb3Nl
ckZpbGVJbmZvPiYgcGF0aHMsIGNvbnN0CiAgICAgICAgIG1fZmlsZUxpc3RDcmVhdG9yLT5jYW5j
ZWwoKTsKIAogICAgIGF1dG8gc2hvdWxkUmVzb2x2ZURpcmVjdG9yaWVzID0gYWxsb3dzRGlyZWN0
b3JpZXMoKSA/IEZpbGVMaXN0Q3JlYXRvcjo6U2hvdWxkUmVzb2x2ZURpcmVjdG9yaWVzOjpZZXMg
OiBGaWxlTGlzdENyZWF0b3I6OlNob3VsZFJlc29sdmVEaXJlY3Rvcmllczo6Tm87Ci0gICAgbV9m
aWxlTGlzdENyZWF0b3IgPSBGaWxlTGlzdENyZWF0b3I6OmNyZWF0ZShwYXRocywgc2hvdWxkUmVz
b2x2ZURpcmVjdG9yaWVzLCBbdGhpcywgaWNvbiA9IG1ha2VSZWZQdHIoaWNvbildKFJlZjxGaWxl
TGlzdD4mJiBmaWxlTGlzdCkgbXV0YWJsZSB7CisgICAgbV9maWxlTGlzdENyZWF0b3IgPSBGaWxl
TGlzdENyZWF0b3I6OmNyZWF0ZShwYXRocywgc2hvdWxkUmVzb2x2ZURpcmVjdG9yaWVzLCBbdGhp
cywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyksIGljb24gPSBtYWtlUmVmUHRyKGljb24p
XShSZWY8RmlsZUxpc3Q+JiYgZmlsZUxpc3QpIG11dGFibGUgeworICAgICAgICBhdXRvIHByb3Rl
Y3RlZFRoaXMgPSBtYWtlUmVmUHRyKHdlYWtUaGlzLmdldCgpKTsKKyAgICAgICAgaWYgKCFwcm90
ZWN0ZWRUaGlzKQorICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBzZXRGaWxlcyhXVEZNb3Zl
KGZpbGVMaXN0KSwgaWNvbiA/IFJlcXVlc3RJY29uOjpZZXMgOiBSZXF1ZXN0SWNvbjo6Tm8pOwog
ICAgICAgICBpZiAoaWNvbiAmJiAhbV9maWxlTGlzdC0+aXNFbXB0eSgpICYmIGVsZW1lbnQoKSkK
ICAgICAgICAgICAgIGljb25Mb2FkZWQoV1RGTW92ZShpY29uKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0ZpbGVJbnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRmls
ZUlucHV0VHlwZS5oCmluZGV4IDgyNmFjMjhlMzFlODZlZDlhMWNjOTlhMTU2ZDQ2N2U5NGIwMzE1
NWIuLjI5Mzg0ODJhMjJhNDhmNjQ0M2JhODQ3MGJjZTYyMjIxMDY5ZTVkMmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvRmlsZUlucHV0VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvRmlsZUlucHV0VHlwZS5oCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAo
QykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChD
KSAyMDExLTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0
IChDKSAyMDExLTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIkZp
bGVDaG9vc2VyLmgiCiAjaW5jbHVkZSAiRmlsZUljb25Mb2FkZXIuaCIKICNpbmNsdWRlIDx3dGYv
UmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCkBAIC00Myw3ICs0NCw3IEBAIGNsYXNzIEZpbGVMaXN0OwogY2xhc3MgRmlsZUxpc3RDcmVh
dG9yOwogY2xhc3MgSWNvbjsKIAotY2xhc3MgRmlsZUlucHV0VHlwZSBmaW5hbCA6IHB1YmxpYyBC
YXNlQ2xpY2thYmxlV2l0aEtleUlucHV0VHlwZSwgcHJpdmF0ZSBGaWxlQ2hvb3NlckNsaWVudCwg
cHJpdmF0ZSBGaWxlSWNvbkxvYWRlckNsaWVudCB7CitjbGFzcyBGaWxlSW5wdXRUeXBlIGZpbmFs
IDogcHVibGljIEJhc2VDbGlja2FibGVXaXRoS2V5SW5wdXRUeXBlLCBwcml2YXRlIEZpbGVDaG9v
c2VyQ2xpZW50LCBwcml2YXRlIEZpbGVJY29uTG9hZGVyQ2xpZW50LCBwdWJsaWMgQ2FuTWFrZVdl
YWtQdHI8RmlsZUlucHV0VHlwZT4gewogcHVibGljOgogICAgIGV4cGxpY2l0IEZpbGVJbnB1dFR5
cGUoSFRNTElucHV0RWxlbWVudCYpOwogICAgIHZpcnR1YWwgfkZpbGVJbnB1dFR5cGUoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRmlsZUxpc3RDcmVhdG9yLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvRmlsZUxpc3RDcmVhdG9yLmNwcAppbmRleCBkYzYyODViYzliNTgzNTA2
ZTNkNmQyMGUwOTUxNjUxY2U5MGRlY2RiLi40YzQ0MTk3ZjY2NTM5NzQ0ZjcyMTBjNmY3ZWQ1Yjkz
MGM5MmZiMjhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0ZpbGVMaXN0Q3JlYXRv
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9GaWxlTGlzdENyZWF0b3IuY3BwCkBAIC0x
LDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTctMjAyMCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM0LDEx
ICszNCw2IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotRmlsZUxpc3RDcmVhdG9yOjp+Rmls
ZUxpc3RDcmVhdG9yKCkKLXsKLSAgICBBU1NFUlQoIW1fY29tcGxldGlvbkhhbmRlcik7Ci19Ci0K
IHN0YXRpYyB2b2lkIGFwcGVuZERpcmVjdG9yeUZpbGVzKGNvbnN0IFN0cmluZyYgZGlyZWN0b3J5
LCBjb25zdCBTdHJpbmcmIHJlbGF0aXZlUGF0aCwgVmVjdG9yPFJlZjxGaWxlPj4mIGZpbGVPYmpl
Y3RzKQogewogICAgIGZvciAoYXV0byYgY2hpbGRQYXRoIDogRmlsZVN5c3RlbTo6bGlzdERpcmVj
dG9yeShkaXJlY3RvcnksICIqIikpIHsKQEAgLTU3LDMwICs1MiwxMiBAQCBzdGF0aWMgdm9pZCBh
cHBlbmREaXJlY3RvcnlGaWxlcyhjb25zdCBTdHJpbmcmIGRpcmVjdG9yeSwgY29uc3QgU3RyaW5n
JiByZWxhdGl2ZQogICAgIH0KIH0KIAotRmlsZUxpc3RDcmVhdG9yOjpGaWxlTGlzdENyZWF0b3Io
Y29uc3QgVmVjdG9yPEZpbGVDaG9vc2VyRmlsZUluZm8+JiBwYXRocywgU2hvdWxkUmVzb2x2ZURp
cmVjdG9yaWVzIHNob3VsZFJlc29sdmVEaXJlY3RvcmllcywgQ29tcGxldGlvbkhhbmRsZXImJiBj
b21wbGV0aW9uSGFuZGxlcikKLXsKLSAgICBpZiAoc2hvdWxkUmVzb2x2ZURpcmVjdG9yaWVzID09
IFNob3VsZFJlc29sdmVEaXJlY3Rvcmllczo6Tm8pCi0gICAgICAgIGNvbXBsZXRpb25IYW5kbGVy
KGNyZWF0ZUZpbGVMaXN0PFNob3VsZFJlc29sdmVEaXJlY3Rvcmllczo6Tm8+KHBhdGhzKSk7Ci0g
ICAgZWxzZSB7Ci0gICAgICAgIC8vIFJlc29sdmUgZGlyZWN0b3JpZXMgb24gYSBiYWNrZ3JvdW5k
IHRocmVhZCB0byBhdm9pZCBibG9ja2luZyB0aGUgbWFpbiB0aHJlYWQuCi0gICAgICAgIG1fY29t
cGxldGlvbkhhbmRlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpOwotICAgICAgICBtX3dv
cmtRdWV1ZSA9IFdvcmtRdWV1ZTo6Y3JlYXRlKCJGaWxlTGlzdENyZWF0b3IgV29yayBRdWV1ZSIp
OwotICAgICAgICBtX3dvcmtRdWV1ZS0+ZGlzcGF0Y2goW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBt
YWtlUmVmKCp0aGlzKSwgcGF0aHMgPSBjcm9zc1RocmVhZENvcHkocGF0aHMpXSgpIG11dGFibGUg
ewotICAgICAgICAgICAgYXV0byBmaWxlTGlzdCA9IGNyZWF0ZUZpbGVMaXN0PFNob3VsZFJlc29s
dmVEaXJlY3Rvcmllczo6WWVzPihwYXRocyk7Ci0gICAgICAgICAgICBjYWxsT25NYWluVGhyZWFk
KFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gV1RGTW92ZShwcm90ZWN0ZWRUaGlzKSwgZmlsZUxpc3Qg
PSBXVEZNb3ZlKGZpbGVMaXN0KV0oKSBtdXRhYmxlIHsKLSAgICAgICAgICAgICAgICBpZiAoYXV0
byBjb21wbGV0aW9uSGFuZGVyID0gV1RGTW92ZShtX2NvbXBsZXRpb25IYW5kZXIpKQotICAgICAg
ICAgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGVyKFdURk1vdmUoZmlsZUxpc3QpKTsKLSAgICAg
ICAgICAgIH0pOwotICAgICAgICB9KTsKLSAgICB9Ci19Ci0KIHRlbXBsYXRlPEZpbGVMaXN0Q3Jl
YXRvcjo6U2hvdWxkUmVzb2x2ZURpcmVjdG9yaWVzIHNob3VsZFJlc29sdmVEaXJlY3Rvcmllcz4K
LVJlZjxGaWxlTGlzdD4gRmlsZUxpc3RDcmVhdG9yOjpjcmVhdGVGaWxlTGlzdChjb25zdCBWZWN0
b3I8RmlsZUNob29zZXJGaWxlSW5mbz4mIHBhdGhzKQorc3RhdGljIFJlZjxGaWxlTGlzdD4gY3Jl
YXRlRmlsZUxpc3QoY29uc3QgVmVjdG9yPEZpbGVDaG9vc2VyRmlsZUluZm8+JiBwYXRocykKIHsK
ICAgICBWZWN0b3I8UmVmPEZpbGU+PiBmaWxlT2JqZWN0czsKICAgICBmb3IgKGF1dG8mIGluZm8g
OiBwYXRocykgewotICAgICAgICBpZiAoc2hvdWxkUmVzb2x2ZURpcmVjdG9yaWVzID09IFNob3Vs
ZFJlc29sdmVEaXJlY3Rvcmllczo6WWVzICYmIEZpbGVTeXN0ZW06OmZpbGVJc0RpcmVjdG9yeShp
bmZvLnBhdGgsIEZpbGVTeXN0ZW06OlNob3VsZEZvbGxvd1N5bWJvbGljTGlua3M6Ok5vKSkKKyAg
ICAgICAgaWYgKHNob3VsZFJlc29sdmVEaXJlY3RvcmllcyA9PSBGaWxlTGlzdENyZWF0b3I6OlNo
b3VsZFJlc29sdmVEaXJlY3Rvcmllczo6WWVzICYmIEZpbGVTeXN0ZW06OmZpbGVJc0RpcmVjdG9y
eShpbmZvLnBhdGgsIEZpbGVTeXN0ZW06OlNob3VsZEZvbGxvd1N5bWJvbGljTGlua3M6Ok5vKSkK
ICAgICAgICAgICAgIGFwcGVuZERpcmVjdG9yeUZpbGVzKGluZm8ucGF0aCwgRmlsZVN5c3RlbTo6
cGF0aEdldEZpbGVOYW1lKGluZm8ucGF0aCksIGZpbGVPYmplY3RzKTsKICAgICAgICAgZWxzZQog
ICAgICAgICAgICAgZmlsZU9iamVjdHMuYXBwZW5kKEZpbGU6OmNyZWF0ZShpbmZvLnBhdGgsIGlu
Zm8uZGlzcGxheU5hbWUpKTsKQEAgLTg4LDYgKzY1LDMwIEBAIFJlZjxGaWxlTGlzdD4gRmlsZUxp
c3RDcmVhdG9yOjpjcmVhdGVGaWxlTGlzdChjb25zdCBWZWN0b3I8RmlsZUNob29zZXJGaWxlSW5m
bz4mCiAgICAgcmV0dXJuIEZpbGVMaXN0OjpjcmVhdGUoV1RGTW92ZShmaWxlT2JqZWN0cykpOwog
fQogCitSZWZQdHI8RmlsZUxpc3RDcmVhdG9yPiBGaWxlTGlzdENyZWF0b3I6OmNyZWF0ZShjb25z
dCBWZWN0b3I8RmlsZUNob29zZXJGaWxlSW5mbz4mIHBhdGhzLCBTaG91bGRSZXNvbHZlRGlyZWN0
b3JpZXMgc2hvdWxkUmVzb2x2ZURpcmVjdG9yaWVzLCBDb21wbGV0aW9uSGFuZGxlciYmIGNvbXBs
ZXRpb25IYW5kbGVyKQoreworICAgIGlmIChzaG91bGRSZXNvbHZlRGlyZWN0b3JpZXMgPT0gU2hv
dWxkUmVzb2x2ZURpcmVjdG9yaWVzOjpObykgeworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihj
cmVhdGVGaWxlTGlzdDxTaG91bGRSZXNvbHZlRGlyZWN0b3JpZXM6Ok5vPihwYXRocykpOworICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CisKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBG
aWxlTGlzdENyZWF0b3IocGF0aHMsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKSk7Cit9CisK
K0ZpbGVMaXN0Q3JlYXRvcjo6RmlsZUxpc3RDcmVhdG9yKGNvbnN0IFZlY3RvcjxGaWxlQ2hvb3Nl
ckZpbGVJbmZvPiYgcGF0aHMsIENvbXBsZXRpb25IYW5kbGVyJiYgY29tcGxldGlvbkhhbmRsZXIp
CisgICAgOiBtX3dvcmtRdWV1ZShXb3JrUXVldWU6OmNyZWF0ZSgiRmlsZUxpc3RDcmVhdG9yIFdv
cmsgUXVldWUiKSkKKyAgICAsIG1fY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShjb21wbGV0aW9u
SGFuZGxlcikpCit7CisgICAgLy8gUmVzb2x2ZSBkaXJlY3RvcmllcyBvbiBhIGJhY2tncm91bmQg
dGhyZWFkIHRvIGF2b2lkIGJsb2NraW5nIHRoZSBtYWluIHRocmVhZC4KKyAgICBtX3dvcmtRdWV1
ZS0+ZGlzcGF0Y2goW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgcGF0aHMg
PSBjcm9zc1RocmVhZENvcHkocGF0aHMpXSgpIG11dGFibGUgeworICAgICAgICBhdXRvIGZpbGVM
aXN0ID0gY3JlYXRlRmlsZUxpc3Q8U2hvdWxkUmVzb2x2ZURpcmVjdG9yaWVzOjpZZXM+KHBhdGhz
KTsKKyAgICAgICAgY2FsbE9uTWFpblRocmVhZChbdGhpcywgcHJvdGVjdGVkVGhpcyA9IFdURk1v
dmUocHJvdGVjdGVkVGhpcyksIGZpbGVMaXN0ID0gV1RGTW92ZShmaWxlTGlzdCldKCkgbXV0YWJs
ZSB7CisgICAgICAgICAgICBpZiAoYXV0byBjb21wbGV0aW9uSGFuZGVyID0gV1RGTW92ZShtX2Nv
bXBsZXRpb25IYW5kZXIpKQorICAgICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kZXIoV1RGTW92
ZShmaWxlTGlzdCkpOworICAgICAgICB9KTsKKyAgICB9KTsKK30KKwogdm9pZCBGaWxlTGlzdENy
ZWF0b3I6OmNhbmNlbCgpCiB7CiAgICAgbV9jb21wbGV0aW9uSGFuZGVyID0gbnVsbHB0cjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRmlsZUxpc3RDcmVhdG9yLmggYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0ZpbGVMaXN0Q3JlYXRvci5oCmluZGV4IDc3YzBhMDM5MGZiMTE3MDVmYWZm
OTU0ZjE1Y2FmZGU2OGFmYWMyMjUuLmJjMGQwYzczZjI1YjgzYWY4ZWRkMmUwNWNkN2I0ZmIwNTYz
MGUzMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRmlsZUxpc3RDcmVhdG9yLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9GaWxlTGlzdENyZWF0b3IuaApAQCAtMSw1ICsxLDUg
QEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE3LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC00MSwyMCArNDEsMTIg
QEAgcHVibGljOgogICAgIHVzaW5nIENvbXBsZXRpb25IYW5kbGVyID0gRnVuY3Rpb248dm9pZChS
ZWY8RmlsZUxpc3Q+JiYpPjsKIAogICAgIGVudW0gY2xhc3MgU2hvdWxkUmVzb2x2ZURpcmVjdG9y
aWVzIHsgTm8sIFllcyB9OwotICAgIHN0YXRpYyBSZWY8RmlsZUxpc3RDcmVhdG9yPiBjcmVhdGUo
Y29uc3QgVmVjdG9yPEZpbGVDaG9vc2VyRmlsZUluZm8+JiBwYXRocywgU2hvdWxkUmVzb2x2ZURp
cmVjdG9yaWVzIHNob3VsZFJlc29sdmVEaXJlY3RvcmllcywgQ29tcGxldGlvbkhhbmRsZXImJiBj
b21wbGV0aW9uSGFuZGxlcikKLSAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEZp
bGVMaXN0Q3JlYXRvcihwYXRocywgc2hvdWxkUmVzb2x2ZURpcmVjdG9yaWVzLCBXVEZNb3ZlKGNv
bXBsZXRpb25IYW5kbGVyKSkpOwotICAgIH0KLQotICAgIH5GaWxlTGlzdENyZWF0b3IoKTsKKyAg
ICBzdGF0aWMgUmVmUHRyPEZpbGVMaXN0Q3JlYXRvcj4gY3JlYXRlKGNvbnN0IFZlY3RvcjxGaWxl
Q2hvb3NlckZpbGVJbmZvPiYsIFNob3VsZFJlc29sdmVEaXJlY3RvcmllcywgQ29tcGxldGlvbkhh
bmRsZXImJik7CiAKICAgICB2b2lkIGNhbmNlbCgpOwogCiBwcml2YXRlOgotICAgIEZpbGVMaXN0
Q3JlYXRvcihjb25zdCBWZWN0b3I8RmlsZUNob29zZXJGaWxlSW5mbz4mIHBhdGhzLCBTaG91bGRS
ZXNvbHZlRGlyZWN0b3JpZXMsIENvbXBsZXRpb25IYW5kbGVyJiYpOwotCi0gICAgdGVtcGxhdGU8
U2hvdWxkUmVzb2x2ZURpcmVjdG9yaWVzIHNob3VsZFJlc29sdmVEaXJlY3Rvcmllcz4KLSAgICBz
dGF0aWMgUmVmPEZpbGVMaXN0PiBjcmVhdGVGaWxlTGlzdChjb25zdCBWZWN0b3I8RmlsZUNob29z
ZXJGaWxlSW5mbz4mKTsKKyAgICBGaWxlTGlzdENyZWF0b3IoY29uc3QgVmVjdG9yPEZpbGVDaG9v
c2VyRmlsZUluZm8+JiwgQ29tcGxldGlvbkhhbmRsZXImJik7CiAKICAgICBSZWZQdHI8V29ya1F1
ZXVlPiBtX3dvcmtRdWV1ZTsKICAgICBDb21wbGV0aW9uSGFuZGxlciBtX2NvbXBsZXRpb25IYW5k
ZXI7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>401739</attachid>
            <date>2020-06-12 09:44:16 -0700</date>
            <delta_ts>2020-06-12 09:56:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213130-20200612094415.patch</filename>
            <type>text/plain</type>
            <size>11301</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyOTI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWI2NjVjODViZjNiNjgw
ZGRhMjY3YjQ4MDg2MjI5YmQ1NWRhZWY2Ny4uNGJiMDEwZGRlOTdmYzQ4Y2NlOThmNDNhYjBjZGEw
ODliOGZhODgwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDIwLTA2LTEyICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBGaWxlSW5wdXRUeXBlIHNob3Vs
ZCB1c2UgV2Vha1B0ciBmb3IgRmlsZUxpc3RDcmVhdG9yIGxhbWJkYXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzEzMAorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vNjQyNzY1OTE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgRmlsZUlucHV0VHlwZTo6ZmlsZXNDaG9zZW4gd2FzIHBhc3NpbmcgYSBjb21w
bGV0aW9uIGhhbmRsZXIgdG8gRmlsZUxpc3RDcmVhdG9yOjpjcmVhdGUgdGhhdAorICAgICAgICBj
YXB0dXJlZCB8dGhpc3wuIElmIHRoZSBGaWxlTGlzdENyZWF0b3IgaW5zdGFuY2Ugc3RpbGwgZXhp
c3RlZCB3aGVuIHx0aGlzfCB3YXMgZGVzdHJveWVkLAorICAgICAgICBGaWxlSW5wdXRUeXBlOjp+
RmlsZUlucHV0VHlwZSB3b3VsZCBjbGVhciB0aGUgY2FwdHVyZWQgfHRoaXN8IGJ5IGNhbGxpbmcK
KyAgICAgICAgRmlsZUxpc3RDcmVhdG9yOjpjbGVhci4gVGhpcyBjYW4gYmUgc2ltcGxpZmllZCBi
eSBoYXZpbmcgdGhlIEZpbGVMaXN0Q3JlYXRvciBjb21wbGV0aW9uCisgICAgICAgIGhhbmRsZXIg
Y2FwdHVyZSBhIFdlYWtQdHIgdG8gfHRoaXN8LgorCisgICAgICAgIEFsc28sIHdoZW4gRmlsZUlu
cHV0VHlwZTo6YWxsb3dzRGlyZWN0b3JpZXMgaXMgZmFsc2UsIG1fZmlsZUxpc3RDcmVhdG9yIHdv
dWxkIG5vdCBiZQorICAgICAgICBwcm9wZXJseSBjbGVhcmVkIGFmdGVyIGNyZWF0aW5nIHRoZSBm
aWxlIGxpc3QuIFRoZSBGaWxlTGlzdENyZWF0b3IgY29tcGxldGlvbiBoYW5kbGVyIHdvdWxkCisg
ICAgICAgIHNldCBtX2ZpbGVMaXN0Q3JlYXRvciB0byBudWxscHRyLCBidXQgd291bGQgYmUgZXhl
Y3V0ZWQgKmJlZm9yZSogRmlsZUxpc3RDcmVhdG9yOjpjcmVhdGUKKyAgICAgICAgcmV0dXJuZWQg
YW5kIHNldCBtX2ZpbGVMaXN0Q3JlYXRvciB0byB0aGUgbmV3bHktY3JlYXRlZCBGaWxlTGlzdENy
ZWF0b3Igb2JqZWN0LiBGaXhlZCB0aGlzCisgICAgICAgIGJ5IGhhdmluZyBGaWxlTGlzdENyZWF0
b3I6OmNyZWF0ZSBleGVjdXRlIHRoZSBjb21wbGV0aW9uIGhhbmRsZXIgaW1tZWRpYXRlbHkgYW5k
IHJldHVybgorICAgICAgICBudWxscHRyIGluIGNhc2VzIHdoZXJlIGEgRmlsZUxpc3RDcmVhdG9y
IGRvZXMgbm90IG5lZWQgdG8gYmUgY3JlYXRlZCBmb3IgZGlyZWN0b3J5CisgICAgICAgIHJlc29s
dXRpb24uCisKKyAgICAgICAgQ292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAq
IGh0bWwvRmlsZUlucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGaWxlSW5wdXRUeXBl
Ojp+RmlsZUlucHV0VHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpGaWxlSW5wdXRUeXBlOjpmaWxl
c0Nob3Nlbik6CisgICAgICAgICogaHRtbC9GaWxlSW5wdXRUeXBlLmg6CisgICAgICAgICogaHRt
bC9GaWxlTGlzdENyZWF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlRmlsZUxpc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6RmlsZUxpc3RDcmVhdG9yOjpjcmVhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6RmlsZUxpc3RDcmVhdG9yOjpGaWxlTGlzdENyZWF0b3IpOgorICAgICAgICAoV2Vi
Q29yZTo6RmlsZUxpc3RDcmVhdG9yOjp+RmlsZUxpc3RDcmVhdG9yKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OkZpbGVMaXN0Q3JlYXRvcjo6Y3JlYXRlRmlsZUxpc3QpOiBEZWxldGVkLgor
ICAgICAgICAqIGh0bWwvRmlsZUxpc3RDcmVhdG9yLmg6CisgICAgICAgIChXZWJDb3JlOjpGaWxl
TGlzdENyZWF0b3I6OmNyZWF0ZSk6IERlbGV0ZWQuCisKIDIwMjAtMDYtMTEgIFJvYiBCdWlzICA8
cmJ1aXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMjYyNzc2KTogRmxha3kg
Y3Jhc2ggdW5kZXIgLVtXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdh
dGUgY29ubmVjdGlvbjp3aWxsU2VuZFJlcXVlc3Q6cmVkaXJlY3RSZXNwb25zZTpdCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0ZpbGVJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9GaWxlSW5wdXRUeXBlLmNwcAppbmRleCA5YmVmMWQyYzdmMDBjYWQ4ZDllN2JkMWYz
Y2RhZWJmMWZmMzJiNjYxLi44ZjcxNzgxYTI1ODE2NzI4MGYyYWU5YThmY2QyYjc5YTdlODg4ZjEy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0ZpbGVJbnB1dFR5cGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvRmlsZUlucHV0VHlwZS5jcHAKQEAgLTEsNSArMSw1IEBACiAv
KgotICogQ29weXJpZ2h0IChDKSAyMDA0LTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA0LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgpAQCAtMTAzLDkgKzEwMyw2IEBAIEZpbGVJbnB1dFR5cGU6OkZp
bGVJbnB1dFR5cGUoSFRNTElucHV0RWxlbWVudCYgZWxlbWVudCkKIAogRmlsZUlucHV0VHlwZTo6
fkZpbGVJbnB1dFR5cGUoKQogewotICAgIGlmIChtX2ZpbGVMaXN0Q3JlYXRvcikKLSAgICAgICAg
bV9maWxlTGlzdENyZWF0b3ItPmNhbmNlbCgpOwotCiAgICAgaWYgKG1fZmlsZUNob29zZXIpCiAg
ICAgICAgIG1fZmlsZUNob29zZXItPmludmFsaWRhdGUoKTsKIApAQCAtNDE2LDcgKzQxMywxMCBA
QCB2b2lkIEZpbGVJbnB1dFR5cGU6OmZpbGVzQ2hvc2VuKGNvbnN0IFZlY3RvcjxGaWxlQ2hvb3Nl
ckZpbGVJbmZvPiYgcGF0aHMsIGNvbnN0CiAgICAgICAgIG1fZmlsZUxpc3RDcmVhdG9yLT5jYW5j
ZWwoKTsKIAogICAgIGF1dG8gc2hvdWxkUmVzb2x2ZURpcmVjdG9yaWVzID0gYWxsb3dzRGlyZWN0
b3JpZXMoKSA/IEZpbGVMaXN0Q3JlYXRvcjo6U2hvdWxkUmVzb2x2ZURpcmVjdG9yaWVzOjpZZXMg
OiBGaWxlTGlzdENyZWF0b3I6OlNob3VsZFJlc29sdmVEaXJlY3Rvcmllczo6Tm87Ci0gICAgbV9m
aWxlTGlzdENyZWF0b3IgPSBGaWxlTGlzdENyZWF0b3I6OmNyZWF0ZShwYXRocywgc2hvdWxkUmVz
b2x2ZURpcmVjdG9yaWVzLCBbdGhpcywgaWNvbiA9IG1ha2VSZWZQdHIoaWNvbildKFJlZjxGaWxl
TGlzdD4mJiBmaWxlTGlzdCkgbXV0YWJsZSB7CisgICAgbV9maWxlTGlzdENyZWF0b3IgPSBGaWxl
TGlzdENyZWF0b3I6OmNyZWF0ZShwYXRocywgc2hvdWxkUmVzb2x2ZURpcmVjdG9yaWVzLCBbdGhp
cywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyksIGljb24gPSBtYWtlUmVmUHRyKGljb24p
XShSZWY8RmlsZUxpc3Q+JiYgZmlsZUxpc3QpIG11dGFibGUgeworICAgICAgICBhdXRvIHByb3Rl
Y3RlZFRoaXMgPSBtYWtlUmVmUHRyKHdlYWtUaGlzLmdldCgpKTsKKyAgICAgICAgaWYgKCFwcm90
ZWN0ZWRUaGlzKQorICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBzZXRGaWxlcyhXVEZNb3Zl
KGZpbGVMaXN0KSwgaWNvbiA/IFJlcXVlc3RJY29uOjpZZXMgOiBSZXF1ZXN0SWNvbjo6Tm8pOwog
ICAgICAgICBpZiAoaWNvbiAmJiAhbV9maWxlTGlzdC0+aXNFbXB0eSgpICYmIGVsZW1lbnQoKSkK
ICAgICAgICAgICAgIGljb25Mb2FkZWQoV1RGTW92ZShpY29uKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0ZpbGVJbnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRmls
ZUlucHV0VHlwZS5oCmluZGV4IDgyNmFjMjhlMzFlODZlZDlhMWNjOTlhMTU2ZDQ2N2U5NGIwMzE1
NWIuLjI5Mzg0ODJhMjJhNDhmNjQ0M2JhODQ3MGJjZTYyMjIxMDY5ZTVkMmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvRmlsZUlucHV0VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvRmlsZUlucHV0VHlwZS5oCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAo
QykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChD
KSAyMDExLTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0
IChDKSAyMDExLTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIkZp
bGVDaG9vc2VyLmgiCiAjaW5jbHVkZSAiRmlsZUljb25Mb2FkZXIuaCIKICNpbmNsdWRlIDx3dGYv
UmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCkBAIC00Myw3ICs0NCw3IEBAIGNsYXNzIEZpbGVMaXN0OwogY2xhc3MgRmlsZUxpc3RDcmVh
dG9yOwogY2xhc3MgSWNvbjsKIAotY2xhc3MgRmlsZUlucHV0VHlwZSBmaW5hbCA6IHB1YmxpYyBC
YXNlQ2xpY2thYmxlV2l0aEtleUlucHV0VHlwZSwgcHJpdmF0ZSBGaWxlQ2hvb3NlckNsaWVudCwg
cHJpdmF0ZSBGaWxlSWNvbkxvYWRlckNsaWVudCB7CitjbGFzcyBGaWxlSW5wdXRUeXBlIGZpbmFs
IDogcHVibGljIEJhc2VDbGlja2FibGVXaXRoS2V5SW5wdXRUeXBlLCBwcml2YXRlIEZpbGVDaG9v
c2VyQ2xpZW50LCBwcml2YXRlIEZpbGVJY29uTG9hZGVyQ2xpZW50LCBwdWJsaWMgQ2FuTWFrZVdl
YWtQdHI8RmlsZUlucHV0VHlwZT4gewogcHVibGljOgogICAgIGV4cGxpY2l0IEZpbGVJbnB1dFR5
cGUoSFRNTElucHV0RWxlbWVudCYpOwogICAgIHZpcnR1YWwgfkZpbGVJbnB1dFR5cGUoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRmlsZUxpc3RDcmVhdG9yLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvRmlsZUxpc3RDcmVhdG9yLmNwcAppbmRleCBkYzYyODViYzliNTgzNTA2
ZTNkNmQyMGUwOTUxNjUxY2U5MGRlY2RiLi5iMmYwMDE3MTZmMWRkZGY5YmM4ZWQxMDQ0NDg3OGZk
ZGZlNjViMjU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0ZpbGVMaXN0Q3JlYXRv
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9GaWxlTGlzdENyZWF0b3IuY3BwCkBAIC0x
LDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTctMjAyMCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM0LDEx
ICszNCw2IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotRmlsZUxpc3RDcmVhdG9yOjp+Rmls
ZUxpc3RDcmVhdG9yKCkKLXsKLSAgICBBU1NFUlQoIW1fY29tcGxldGlvbkhhbmRlcik7Ci19Ci0K
IHN0YXRpYyB2b2lkIGFwcGVuZERpcmVjdG9yeUZpbGVzKGNvbnN0IFN0cmluZyYgZGlyZWN0b3J5
LCBjb25zdCBTdHJpbmcmIHJlbGF0aXZlUGF0aCwgVmVjdG9yPFJlZjxGaWxlPj4mIGZpbGVPYmpl
Y3RzKQogewogICAgIGZvciAoYXV0byYgY2hpbGRQYXRoIDogRmlsZVN5c3RlbTo6bGlzdERpcmVj
dG9yeShkaXJlY3RvcnksICIqIikpIHsKQEAgLTU3LDMwICs1MiwxMiBAQCBzdGF0aWMgdm9pZCBh
cHBlbmREaXJlY3RvcnlGaWxlcyhjb25zdCBTdHJpbmcmIGRpcmVjdG9yeSwgY29uc3QgU3RyaW5n
JiByZWxhdGl2ZQogICAgIH0KIH0KIAotRmlsZUxpc3RDcmVhdG9yOjpGaWxlTGlzdENyZWF0b3Io
Y29uc3QgVmVjdG9yPEZpbGVDaG9vc2VyRmlsZUluZm8+JiBwYXRocywgU2hvdWxkUmVzb2x2ZURp
cmVjdG9yaWVzIHNob3VsZFJlc29sdmVEaXJlY3RvcmllcywgQ29tcGxldGlvbkhhbmRsZXImJiBj
b21wbGV0aW9uSGFuZGxlcikKLXsKLSAgICBpZiAoc2hvdWxkUmVzb2x2ZURpcmVjdG9yaWVzID09
IFNob3VsZFJlc29sdmVEaXJlY3Rvcmllczo6Tm8pCi0gICAgICAgIGNvbXBsZXRpb25IYW5kbGVy
KGNyZWF0ZUZpbGVMaXN0PFNob3VsZFJlc29sdmVEaXJlY3Rvcmllczo6Tm8+KHBhdGhzKSk7Ci0g
ICAgZWxzZSB7Ci0gICAgICAgIC8vIFJlc29sdmUgZGlyZWN0b3JpZXMgb24gYSBiYWNrZ3JvdW5k
IHRocmVhZCB0byBhdm9pZCBibG9ja2luZyB0aGUgbWFpbiB0aHJlYWQuCi0gICAgICAgIG1fY29t
cGxldGlvbkhhbmRlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpOwotICAgICAgICBtX3dv
cmtRdWV1ZSA9IFdvcmtRdWV1ZTo6Y3JlYXRlKCJGaWxlTGlzdENyZWF0b3IgV29yayBRdWV1ZSIp
OwotICAgICAgICBtX3dvcmtRdWV1ZS0+ZGlzcGF0Y2goW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBt
YWtlUmVmKCp0aGlzKSwgcGF0aHMgPSBjcm9zc1RocmVhZENvcHkocGF0aHMpXSgpIG11dGFibGUg
ewotICAgICAgICAgICAgYXV0byBmaWxlTGlzdCA9IGNyZWF0ZUZpbGVMaXN0PFNob3VsZFJlc29s
dmVEaXJlY3Rvcmllczo6WWVzPihwYXRocyk7Ci0gICAgICAgICAgICBjYWxsT25NYWluVGhyZWFk
KFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gV1RGTW92ZShwcm90ZWN0ZWRUaGlzKSwgZmlsZUxpc3Qg
PSBXVEZNb3ZlKGZpbGVMaXN0KV0oKSBtdXRhYmxlIHsKLSAgICAgICAgICAgICAgICBpZiAoYXV0
byBjb21wbGV0aW9uSGFuZGVyID0gV1RGTW92ZShtX2NvbXBsZXRpb25IYW5kZXIpKQotICAgICAg
ICAgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGVyKFdURk1vdmUoZmlsZUxpc3QpKTsKLSAgICAg
ICAgICAgIH0pOwotICAgICAgICB9KTsKLSAgICB9Ci19Ci0KIHRlbXBsYXRlPEZpbGVMaXN0Q3Jl
YXRvcjo6U2hvdWxkUmVzb2x2ZURpcmVjdG9yaWVzIHNob3VsZFJlc29sdmVEaXJlY3Rvcmllcz4K
LVJlZjxGaWxlTGlzdD4gRmlsZUxpc3RDcmVhdG9yOjpjcmVhdGVGaWxlTGlzdChjb25zdCBWZWN0
b3I8RmlsZUNob29zZXJGaWxlSW5mbz4mIHBhdGhzKQorc3RhdGljIFJlZjxGaWxlTGlzdD4gY3Jl
YXRlRmlsZUxpc3QoY29uc3QgVmVjdG9yPEZpbGVDaG9vc2VyRmlsZUluZm8+JiBwYXRocykKIHsK
ICAgICBWZWN0b3I8UmVmPEZpbGU+PiBmaWxlT2JqZWN0czsKICAgICBmb3IgKGF1dG8mIGluZm8g
OiBwYXRocykgewotICAgICAgICBpZiAoc2hvdWxkUmVzb2x2ZURpcmVjdG9yaWVzID09IFNob3Vs
ZFJlc29sdmVEaXJlY3Rvcmllczo6WWVzICYmIEZpbGVTeXN0ZW06OmZpbGVJc0RpcmVjdG9yeShp
bmZvLnBhdGgsIEZpbGVTeXN0ZW06OlNob3VsZEZvbGxvd1N5bWJvbGljTGlua3M6Ok5vKSkKKyAg
ICAgICAgaWYgKHNob3VsZFJlc29sdmVEaXJlY3RvcmllcyA9PSBGaWxlTGlzdENyZWF0b3I6OlNo
b3VsZFJlc29sdmVEaXJlY3Rvcmllczo6WWVzICYmIEZpbGVTeXN0ZW06OmZpbGVJc0RpcmVjdG9y
eShpbmZvLnBhdGgsIEZpbGVTeXN0ZW06OlNob3VsZEZvbGxvd1N5bWJvbGljTGlua3M6Ok5vKSkK
ICAgICAgICAgICAgIGFwcGVuZERpcmVjdG9yeUZpbGVzKGluZm8ucGF0aCwgRmlsZVN5c3RlbTo6
cGF0aEdldEZpbGVOYW1lKGluZm8ucGF0aCksIGZpbGVPYmplY3RzKTsKICAgICAgICAgZWxzZQog
ICAgICAgICAgICAgZmlsZU9iamVjdHMuYXBwZW5kKEZpbGU6OmNyZWF0ZShpbmZvLnBhdGgsIGlu
Zm8uZGlzcGxheU5hbWUpKTsKQEAgLTg4LDkgKzY1LDMzIEBAIFJlZjxGaWxlTGlzdD4gRmlsZUxp
c3RDcmVhdG9yOjpjcmVhdGVGaWxlTGlzdChjb25zdCBWZWN0b3I8RmlsZUNob29zZXJGaWxlSW5m
bz4mCiAgICAgcmV0dXJuIEZpbGVMaXN0OjpjcmVhdGUoV1RGTW92ZShmaWxlT2JqZWN0cykpOwog
fQogCitSZWZQdHI8RmlsZUxpc3RDcmVhdG9yPiBGaWxlTGlzdENyZWF0b3I6OmNyZWF0ZShjb25z
dCBWZWN0b3I8RmlsZUNob29zZXJGaWxlSW5mbz4mIHBhdGhzLCBTaG91bGRSZXNvbHZlRGlyZWN0
b3JpZXMgc2hvdWxkUmVzb2x2ZURpcmVjdG9yaWVzLCBDb21wbGV0aW9uSGFuZGxlciYmIGNvbXBs
ZXRpb25IYW5kbGVyKQoreworICAgIGlmIChzaG91bGRSZXNvbHZlRGlyZWN0b3JpZXMgPT0gU2hv
dWxkUmVzb2x2ZURpcmVjdG9yaWVzOjpObykgeworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihj
cmVhdGVGaWxlTGlzdDxTaG91bGRSZXNvbHZlRGlyZWN0b3JpZXM6Ok5vPihwYXRocykpOworICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CisKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBG
aWxlTGlzdENyZWF0b3IocGF0aHMsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKSk7Cit9CisK
K0ZpbGVMaXN0Q3JlYXRvcjo6RmlsZUxpc3RDcmVhdG9yKGNvbnN0IFZlY3RvcjxGaWxlQ2hvb3Nl
ckZpbGVJbmZvPiYgcGF0aHMsIENvbXBsZXRpb25IYW5kbGVyJiYgY29tcGxldGlvbkhhbmRsZXIp
CisgICAgOiBtX3dvcmtRdWV1ZShXb3JrUXVldWU6OmNyZWF0ZSgiRmlsZUxpc3RDcmVhdG9yIFdv
cmsgUXVldWUiKSkKKyAgICAsIG1fY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShjb21wbGV0aW9u
SGFuZGxlcikpCit7CisgICAgLy8gUmVzb2x2ZSBkaXJlY3RvcmllcyBvbiBhIGJhY2tncm91bmQg
dGhyZWFkIHRvIGF2b2lkIGJsb2NraW5nIHRoZSBtYWluIHRocmVhZC4KKyAgICBtX3dvcmtRdWV1
ZS0+ZGlzcGF0Y2goW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgcGF0aHMg
PSBjcm9zc1RocmVhZENvcHkocGF0aHMpXSgpIG11dGFibGUgeworICAgICAgICBhdXRvIGZpbGVM
aXN0ID0gY3JlYXRlRmlsZUxpc3Q8U2hvdWxkUmVzb2x2ZURpcmVjdG9yaWVzOjpZZXM+KHBhdGhz
KTsKKyAgICAgICAgY2FsbE9uTWFpblRocmVhZChbdGhpcywgcHJvdGVjdGVkVGhpcyA9IFdURk1v
dmUocHJvdGVjdGVkVGhpcyksIGZpbGVMaXN0ID0gV1RGTW92ZShmaWxlTGlzdCldKCkgbXV0YWJs
ZSB7CisgICAgICAgICAgICBpZiAoYXV0byBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUobV9j
b21wbGV0aW9uSGFuZGxlcikpCisgICAgICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoV1RG
TW92ZShmaWxlTGlzdCkpOworICAgICAgICB9KTsKKyAgICB9KTsKK30KKwogdm9pZCBGaWxlTGlz
dENyZWF0b3I6OmNhbmNlbCgpCiB7Ci0gICAgbV9jb21wbGV0aW9uSGFuZGVyID0gbnVsbHB0cjsK
KyAgICBtX2NvbXBsZXRpb25IYW5kbGVyID0gbnVsbHB0cjsKICAgICBtX3dvcmtRdWV1ZSA9IG51
bGxwdHI7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRmlsZUxpc3RDcmVh
dG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0ZpbGVMaXN0Q3JlYXRvci5oCmluZGV4IDc3YzBh
MDM5MGZiMTE3MDVmYWZmOTU0ZjE1Y2FmZGU2OGFmYWMyMjUuLjM5ZmQ2NThhZGJmZjc1Mzg3Y2M5
ZWY2NzBkMjhjNGUwMjdmZTExYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRmls
ZUxpc3RDcmVhdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9GaWxlTGlzdENyZWF0b3Iu
aApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE3LTIwMjAgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBA
IC00MSwyMyArNDEsMTUgQEAgcHVibGljOgogICAgIHVzaW5nIENvbXBsZXRpb25IYW5kbGVyID0g
RnVuY3Rpb248dm9pZChSZWY8RmlsZUxpc3Q+JiYpPjsKIAogICAgIGVudW0gY2xhc3MgU2hvdWxk
UmVzb2x2ZURpcmVjdG9yaWVzIHsgTm8sIFllcyB9OwotICAgIHN0YXRpYyBSZWY8RmlsZUxpc3RD
cmVhdG9yPiBjcmVhdGUoY29uc3QgVmVjdG9yPEZpbGVDaG9vc2VyRmlsZUluZm8+JiBwYXRocywg
U2hvdWxkUmVzb2x2ZURpcmVjdG9yaWVzIHNob3VsZFJlc29sdmVEaXJlY3RvcmllcywgQ29tcGxl
dGlvbkhhbmRsZXImJiBjb21wbGV0aW9uSGFuZGxlcikKLSAgICB7Ci0gICAgICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IEZpbGVMaXN0Q3JlYXRvcihwYXRocywgc2hvdWxkUmVzb2x2ZURpcmVjdG9y
aWVzLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSkpOwotICAgIH0KLQotICAgIH5GaWxlTGlz
dENyZWF0b3IoKTsKKyAgICBzdGF0aWMgUmVmUHRyPEZpbGVMaXN0Q3JlYXRvcj4gY3JlYXRlKGNv
bnN0IFZlY3RvcjxGaWxlQ2hvb3NlckZpbGVJbmZvPiYsIFNob3VsZFJlc29sdmVEaXJlY3Rvcmll
cywgQ29tcGxldGlvbkhhbmRsZXImJik7CiAKICAgICB2b2lkIGNhbmNlbCgpOwogCiBwcml2YXRl
OgotICAgIEZpbGVMaXN0Q3JlYXRvcihjb25zdCBWZWN0b3I8RmlsZUNob29zZXJGaWxlSW5mbz4m
IHBhdGhzLCBTaG91bGRSZXNvbHZlRGlyZWN0b3JpZXMsIENvbXBsZXRpb25IYW5kbGVyJiYpOwot
Ci0gICAgdGVtcGxhdGU8U2hvdWxkUmVzb2x2ZURpcmVjdG9yaWVzIHNob3VsZFJlc29sdmVEaXJl
Y3Rvcmllcz4KLSAgICBzdGF0aWMgUmVmPEZpbGVMaXN0PiBjcmVhdGVGaWxlTGlzdChjb25zdCBW
ZWN0b3I8RmlsZUNob29zZXJGaWxlSW5mbz4mKTsKKyAgICBGaWxlTGlzdENyZWF0b3IoY29uc3Qg
VmVjdG9yPEZpbGVDaG9vc2VyRmlsZUluZm8+JiwgQ29tcGxldGlvbkhhbmRsZXImJik7CiAKICAg
ICBSZWZQdHI8V29ya1F1ZXVlPiBtX3dvcmtRdWV1ZTsKLSAgICBDb21wbGV0aW9uSGFuZGxlciBt
X2NvbXBsZXRpb25IYW5kZXI7CisgICAgQ29tcGxldGlvbkhhbmRsZXIgbV9jb21wbGV0aW9uSGFu
ZGxlcjsKIH07CiAKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>401742</attachid>
            <date>2020-06-12 09:56:41 -0700</date>
            <delta_ts>2020-06-12 10:01:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213130-20200612095641.patch</filename>
            <type>text/plain</type>
            <size>10910</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyOTI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWI2NjVjODViZjNiNjgw
ZGRhMjY3YjQ4MDg2MjI5YmQ1NWRhZWY2Ny4uNDk1ZTY1ODM1MjE4OTg5YTk4MzNlODRjOTY3NDg5
YWQ1ZDVlYThjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIwLTA2LTEyICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBGaWxlSW5wdXRUeXBlIHNob3Vs
ZCB1c2UgV2Vha1B0ciBmb3IgRmlsZUxpc3RDcmVhdG9yIGxhbWJkYXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzEzMAorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vNjQyNzY1OTE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgRmlsZUlucHV0VHlwZTo6ZmlsZXNDaG9zZW4gd2FzIHBhc3NpbmcgYSBjb21w
bGV0aW9uIGhhbmRsZXIgdG8gRmlsZUxpc3RDcmVhdG9yOjpjcmVhdGUgdGhhdAorICAgICAgICBj
YXB0dXJlZCB8dGhpc3wuIElmIHRoZSBGaWxlTGlzdENyZWF0b3IgaW5zdGFuY2Ugc3RpbGwgZXhp
c3RlZCB3aGVuIHx0aGlzfCB3YXMgZGVzdHJveWVkLAorICAgICAgICBGaWxlSW5wdXRUeXBlOjp+
RmlsZUlucHV0VHlwZSB3b3VsZCBjbGVhciB0aGUgY2FwdHVyZWQgfHRoaXN8IGJ5IGNhbGxpbmcK
KyAgICAgICAgRmlsZUxpc3RDcmVhdG9yOjpjbGVhci4gVGhpcyBjYW4gYmUgc2ltcGxpZmllZCBi
eSBoYXZpbmcgdGhlIEZpbGVMaXN0Q3JlYXRvciBjb21wbGV0aW9uCisgICAgICAgIGhhbmRsZXIg
Y2FwdHVyZSBhIFdlYWtQdHIgdG8gfHRoaXN8LgorCisgICAgICAgIEFsc28sIHdoZW4gRmlsZUlu
cHV0VHlwZTo6YWxsb3dzRGlyZWN0b3JpZXMgaXMgZmFsc2UsIG1fZmlsZUxpc3RDcmVhdG9yIHdv
dWxkIG5vdCBiZQorICAgICAgICBwcm9wZXJseSBjbGVhcmVkIGFmdGVyIGNyZWF0aW5nIHRoZSBm
aWxlIGxpc3QuIFRoZSBGaWxlTGlzdENyZWF0b3IgY29tcGxldGlvbiBoYW5kbGVyIHdvdWxkCisg
ICAgICAgIHNldCBtX2ZpbGVMaXN0Q3JlYXRvciB0byBudWxscHRyLCBidXQgd291bGQgYmUgZXhl
Y3V0ZWQgKmJlZm9yZSogRmlsZUxpc3RDcmVhdG9yOjpjcmVhdGUKKyAgICAgICAgcmV0dXJuZWQg
YW5kIHNldCBtX2ZpbGVMaXN0Q3JlYXRvciB0byB0aGUgbmV3bHktY3JlYXRlZCBGaWxlTGlzdENy
ZWF0b3Igb2JqZWN0LiBGaXhlZCB0aGlzCisgICAgICAgIGJ5IGhhdmluZyBGaWxlTGlzdENyZWF0
b3I6OmNyZWF0ZSBleGVjdXRlIHRoZSBjb21wbGV0aW9uIGhhbmRsZXIgaW1tZWRpYXRlbHkgYW5k
IHJldHVybgorICAgICAgICBudWxscHRyIGluIGNhc2VzIHdoZXJlIGEgRmlsZUxpc3RDcmVhdG9y
IGRvZXMgbm90IG5lZWQgdG8gYmUgY3JlYXRlZCBmb3IgZGlyZWN0b3J5CisgICAgICAgIHJlc29s
dXRpb24uCisKKyAgICAgICAgQ292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAq
IGh0bWwvRmlsZUlucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGaWxlSW5wdXRUeXBl
Ojp+RmlsZUlucHV0VHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpGaWxlSW5wdXRUeXBlOjpmaWxl
c0Nob3Nlbik6CisgICAgICAgICogaHRtbC9GaWxlSW5wdXRUeXBlLmg6CisgICAgICAgICogaHRt
bC9GaWxlTGlzdENyZWF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlRmlsZUxpc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6RmlsZUxpc3RDcmVhdG9yOjpjcmVhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6RmlsZUxpc3RDcmVhdG9yOjpGaWxlTGlzdENyZWF0b3IpOgorICAgICAgICAoV2Vi
Q29yZTo6RmlsZUxpc3RDcmVhdG9yOjpjcmVhdGVGaWxlTGlzdCk6CisgICAgICAgICogaHRtbC9G
aWxlTGlzdENyZWF0b3IuaDoKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVMaXN0Q3JlYXRvcjo6Y3Jl
YXRlKTogRGVsZXRlZC4KKwogMjAyMC0wNi0xMSAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29t
PgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIyNjI3NzYpOiBGbGFreSBjcmFzaCB1bmRlciAtW1dl
YkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZSBjb25uZWN0aW9uOndp
bGxTZW5kUmVxdWVzdDpyZWRpcmVjdFJlc3BvbnNlOl0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvRmlsZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0ZpbGVJbnB1
dFR5cGUuY3BwCmluZGV4IDliZWYxZDJjN2YwMGNhZDhkOWU3YmQxZjNjZGFlYmYxZmYzMmI2NjEu
LjhmNzE3ODFhMjU4MTY3MjgwZjJhZTlhOGZjZDJiNzlhN2U4ODhmMTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvRmlsZUlucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9GaWxlSW5wdXRUeXBlLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMDQtMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMDQtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5
cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBU
aGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yCkBAIC0xMDMsOSArMTAzLDYgQEAgRmlsZUlucHV0VHlwZTo6RmlsZUlucHV0VHlwZShIVE1M
SW5wdXRFbGVtZW50JiBlbGVtZW50KQogCiBGaWxlSW5wdXRUeXBlOjp+RmlsZUlucHV0VHlwZSgp
CiB7Ci0gICAgaWYgKG1fZmlsZUxpc3RDcmVhdG9yKQotICAgICAgICBtX2ZpbGVMaXN0Q3JlYXRv
ci0+Y2FuY2VsKCk7Ci0KICAgICBpZiAobV9maWxlQ2hvb3NlcikKICAgICAgICAgbV9maWxlQ2hv
b3Nlci0+aW52YWxpZGF0ZSgpOwogCkBAIC00MTYsNyArNDEzLDEwIEBAIHZvaWQgRmlsZUlucHV0
VHlwZTo6ZmlsZXNDaG9zZW4oY29uc3QgVmVjdG9yPEZpbGVDaG9vc2VyRmlsZUluZm8+JiBwYXRo
cywgY29uc3QKICAgICAgICAgbV9maWxlTGlzdENyZWF0b3ItPmNhbmNlbCgpOwogCiAgICAgYXV0
byBzaG91bGRSZXNvbHZlRGlyZWN0b3JpZXMgPSBhbGxvd3NEaXJlY3RvcmllcygpID8gRmlsZUxp
c3RDcmVhdG9yOjpTaG91bGRSZXNvbHZlRGlyZWN0b3JpZXM6OlllcyA6IEZpbGVMaXN0Q3JlYXRv
cjo6U2hvdWxkUmVzb2x2ZURpcmVjdG9yaWVzOjpObzsKLSAgICBtX2ZpbGVMaXN0Q3JlYXRvciA9
IEZpbGVMaXN0Q3JlYXRvcjo6Y3JlYXRlKHBhdGhzLCBzaG91bGRSZXNvbHZlRGlyZWN0b3JpZXMs
IFt0aGlzLCBpY29uID0gbWFrZVJlZlB0cihpY29uKV0oUmVmPEZpbGVMaXN0PiYmIGZpbGVMaXN0
KSBtdXRhYmxlIHsKKyAgICBtX2ZpbGVMaXN0Q3JlYXRvciA9IEZpbGVMaXN0Q3JlYXRvcjo6Y3Jl
YXRlKHBhdGhzLCBzaG91bGRSZXNvbHZlRGlyZWN0b3JpZXMsIFt0aGlzLCB3ZWFrVGhpcyA9IG1h
a2VXZWFrUHRyKCp0aGlzKSwgaWNvbiA9IG1ha2VSZWZQdHIoaWNvbildKFJlZjxGaWxlTGlzdD4m
JiBmaWxlTGlzdCkgbXV0YWJsZSB7CisgICAgICAgIGF1dG8gcHJvdGVjdGVkVGhpcyA9IG1ha2VS
ZWZQdHIod2Vha1RoaXMuZ2V0KCkpOworICAgICAgICBpZiAoIXByb3RlY3RlZFRoaXMpCisgICAg
ICAgICAgICByZXR1cm47CiAgICAgICAgIHNldEZpbGVzKFdURk1vdmUoZmlsZUxpc3QpLCBpY29u
ID8gUmVxdWVzdEljb246OlllcyA6IFJlcXVlc3RJY29uOjpObyk7CiAgICAgICAgIGlmIChpY29u
ICYmICFtX2ZpbGVMaXN0LT5pc0VtcHR5KCkgJiYgZWxlbWVudCgpKQogICAgICAgICAgICAgaWNv
bkxvYWRlZChXVEZNb3ZlKGljb24pKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
RmlsZUlucHV0VHlwZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9GaWxlSW5wdXRUeXBlLmgKaW5k
ZXggODI2YWMyOGUzMWU4NmVkOWExY2M5OWExNTZkNDY3ZTk0YjAzMTU1Yi4uMjkzODQ4MmEyMmE0
OGY2NDQzYmE4NDcwYmNlNjIyMjEwNjllNWQyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9GaWxlSW5wdXRUeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9GaWxlSW5wdXRU
eXBlLmgKQEAgLTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEtMjAxOCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEtMjAyMCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAiRmlsZUNob29zZXIuaCIKICNp
bmNsdWRlICJGaWxlSWNvbkxvYWRlci5oIgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKyNpbmNs
dWRlIDx3dGYvV2Vha1B0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQzLDcgKzQ0
LDcgQEAgY2xhc3MgRmlsZUxpc3Q7CiBjbGFzcyBGaWxlTGlzdENyZWF0b3I7CiBjbGFzcyBJY29u
OwogCi1jbGFzcyBGaWxlSW5wdXRUeXBlIGZpbmFsIDogcHVibGljIEJhc2VDbGlja2FibGVXaXRo
S2V5SW5wdXRUeXBlLCBwcml2YXRlIEZpbGVDaG9vc2VyQ2xpZW50LCBwcml2YXRlIEZpbGVJY29u
TG9hZGVyQ2xpZW50IHsKK2NsYXNzIEZpbGVJbnB1dFR5cGUgZmluYWwgOiBwdWJsaWMgQmFzZUNs
aWNrYWJsZVdpdGhLZXlJbnB1dFR5cGUsIHByaXZhdGUgRmlsZUNob29zZXJDbGllbnQsIHByaXZh
dGUgRmlsZUljb25Mb2FkZXJDbGllbnQsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxGaWxlSW5wdXRU
eXBlPiB7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgRmlsZUlucHV0VHlwZShIVE1MSW5wdXRFbGVt
ZW50Jik7CiAgICAgdmlydHVhbCB+RmlsZUlucHV0VHlwZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9GaWxlTGlzdENyZWF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9G
aWxlTGlzdENyZWF0b3IuY3BwCmluZGV4IGRjNjI4NWJjOWI1ODM1MDZlM2Q2ZDIwZTA5NTE2NTFj
ZTkwZGVjZGIuLmFmMTFjNjVjMzY0NGRjOWFmYzFjNGVkNjg0MWQxZWE3ZjE3ZDRkYTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRmlsZUxpc3RDcmVhdG9yLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0ZpbGVMaXN0Q3JlYXRvci5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgot
ICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAxNy0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNTcsMzAgKzU3LDEyIEBAIHN0YXRp
YyB2b2lkIGFwcGVuZERpcmVjdG9yeUZpbGVzKGNvbnN0IFN0cmluZyYgZGlyZWN0b3J5LCBjb25z
dCBTdHJpbmcmIHJlbGF0aXZlCiAgICAgfQogfQogCi1GaWxlTGlzdENyZWF0b3I6OkZpbGVMaXN0
Q3JlYXRvcihjb25zdCBWZWN0b3I8RmlsZUNob29zZXJGaWxlSW5mbz4mIHBhdGhzLCBTaG91bGRS
ZXNvbHZlRGlyZWN0b3JpZXMgc2hvdWxkUmVzb2x2ZURpcmVjdG9yaWVzLCBDb21wbGV0aW9uSGFu
ZGxlciYmIGNvbXBsZXRpb25IYW5kbGVyKQotewotICAgIGlmIChzaG91bGRSZXNvbHZlRGlyZWN0
b3JpZXMgPT0gU2hvdWxkUmVzb2x2ZURpcmVjdG9yaWVzOjpObykKLSAgICAgICAgY29tcGxldGlv
bkhhbmRsZXIoY3JlYXRlRmlsZUxpc3Q8U2hvdWxkUmVzb2x2ZURpcmVjdG9yaWVzOjpObz4ocGF0
aHMpKTsKLSAgICBlbHNlIHsKLSAgICAgICAgLy8gUmVzb2x2ZSBkaXJlY3RvcmllcyBvbiBhIGJh
Y2tncm91bmQgdGhyZWFkIHRvIGF2b2lkIGJsb2NraW5nIHRoZSBtYWluIHRocmVhZC4KLSAgICAg
ICAgbV9jb21wbGV0aW9uSGFuZGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcik7Ci0gICAg
ICAgIG1fd29ya1F1ZXVlID0gV29ya1F1ZXVlOjpjcmVhdGUoIkZpbGVMaXN0Q3JlYXRvciBXb3Jr
IFF1ZXVlIik7Ci0gICAgICAgIG1fd29ya1F1ZXVlLT5kaXNwYXRjaChbdGhpcywgcHJvdGVjdGVk
VGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBwYXRocyA9IGNyb3NzVGhyZWFkQ29weShwYXRocyldKCkg
bXV0YWJsZSB7Ci0gICAgICAgICAgICBhdXRvIGZpbGVMaXN0ID0gY3JlYXRlRmlsZUxpc3Q8U2hv
dWxkUmVzb2x2ZURpcmVjdG9yaWVzOjpZZXM+KHBhdGhzKTsKLSAgICAgICAgICAgIGNhbGxPbk1h
aW5UaHJlYWQoW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBXVEZNb3ZlKHByb3RlY3RlZFRoaXMpLCBm
aWxlTGlzdCA9IFdURk1vdmUoZmlsZUxpc3QpXSgpIG11dGFibGUgewotICAgICAgICAgICAgICAg
IGlmIChhdXRvIGNvbXBsZXRpb25IYW5kZXIgPSBXVEZNb3ZlKG1fY29tcGxldGlvbkhhbmRlcikp
Ci0gICAgICAgICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kZXIoV1RGTW92ZShmaWxlTGlzdCkp
OwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0pOwotICAgIH0KLX0KLQogdGVtcGxhdGU8Rmls
ZUxpc3RDcmVhdG9yOjpTaG91bGRSZXNvbHZlRGlyZWN0b3JpZXMgc2hvdWxkUmVzb2x2ZURpcmVj
dG9yaWVzPgotUmVmPEZpbGVMaXN0PiBGaWxlTGlzdENyZWF0b3I6OmNyZWF0ZUZpbGVMaXN0KGNv
bnN0IFZlY3RvcjxGaWxlQ2hvb3NlckZpbGVJbmZvPiYgcGF0aHMpCitzdGF0aWMgUmVmPEZpbGVM
aXN0PiBjcmVhdGVGaWxlTGlzdChjb25zdCBWZWN0b3I8RmlsZUNob29zZXJGaWxlSW5mbz4mIHBh
dGhzKQogewogICAgIFZlY3RvcjxSZWY8RmlsZT4+IGZpbGVPYmplY3RzOwogICAgIGZvciAoYXV0
byYgaW5mbyA6IHBhdGhzKSB7Ci0gICAgICAgIGlmIChzaG91bGRSZXNvbHZlRGlyZWN0b3JpZXMg
PT0gU2hvdWxkUmVzb2x2ZURpcmVjdG9yaWVzOjpZZXMgJiYgRmlsZVN5c3RlbTo6ZmlsZUlzRGly
ZWN0b3J5KGluZm8ucGF0aCwgRmlsZVN5c3RlbTo6U2hvdWxkRm9sbG93U3ltYm9saWNMaW5rczo6
Tm8pKQorICAgICAgICBpZiAoc2hvdWxkUmVzb2x2ZURpcmVjdG9yaWVzID09IEZpbGVMaXN0Q3Jl
YXRvcjo6U2hvdWxkUmVzb2x2ZURpcmVjdG9yaWVzOjpZZXMgJiYgRmlsZVN5c3RlbTo6ZmlsZUlz
RGlyZWN0b3J5KGluZm8ucGF0aCwgRmlsZVN5c3RlbTo6U2hvdWxkRm9sbG93U3ltYm9saWNMaW5r
czo6Tm8pKQogICAgICAgICAgICAgYXBwZW5kRGlyZWN0b3J5RmlsZXMoaW5mby5wYXRoLCBGaWxl
U3lzdGVtOjpwYXRoR2V0RmlsZU5hbWUoaW5mby5wYXRoKSwgZmlsZU9iamVjdHMpOwogICAgICAg
ICBlbHNlCiAgICAgICAgICAgICBmaWxlT2JqZWN0cy5hcHBlbmQoRmlsZTo6Y3JlYXRlKGluZm8u
cGF0aCwgaW5mby5kaXNwbGF5TmFtZSkpOwpAQCAtODgsOSArNzAsMzMgQEAgUmVmPEZpbGVMaXN0
PiBGaWxlTGlzdENyZWF0b3I6OmNyZWF0ZUZpbGVMaXN0KGNvbnN0IFZlY3RvcjxGaWxlQ2hvb3Nl
ckZpbGVJbmZvPiYKICAgICByZXR1cm4gRmlsZUxpc3Q6OmNyZWF0ZShXVEZNb3ZlKGZpbGVPYmpl
Y3RzKSk7CiB9CiAKK1JlZlB0cjxGaWxlTGlzdENyZWF0b3I+IEZpbGVMaXN0Q3JlYXRvcjo6Y3Jl
YXRlKGNvbnN0IFZlY3RvcjxGaWxlQ2hvb3NlckZpbGVJbmZvPiYgcGF0aHMsIFNob3VsZFJlc29s
dmVEaXJlY3RvcmllcyBzaG91bGRSZXNvbHZlRGlyZWN0b3JpZXMsIENvbXBsZXRpb25IYW5kbGVy
JiYgY29tcGxldGlvbkhhbmRsZXIpCit7CisgICAgaWYgKHNob3VsZFJlc29sdmVEaXJlY3Rvcmll
cyA9PSBTaG91bGRSZXNvbHZlRGlyZWN0b3JpZXM6Ok5vKSB7CisgICAgICAgIGNvbXBsZXRpb25I
YW5kbGVyKGNyZWF0ZUZpbGVMaXN0PFNob3VsZFJlc29sdmVEaXJlY3Rvcmllczo6Tm8+KHBhdGhz
KSk7CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0KKworICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IEZpbGVMaXN0Q3JlYXRvcihwYXRocywgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikp
KTsKK30KKworRmlsZUxpc3RDcmVhdG9yOjpGaWxlTGlzdENyZWF0b3IoY29uc3QgVmVjdG9yPEZp
bGVDaG9vc2VyRmlsZUluZm8+JiBwYXRocywgQ29tcGxldGlvbkhhbmRsZXImJiBjb21wbGV0aW9u
SGFuZGxlcikKKyAgICA6IG1fd29ya1F1ZXVlKFdvcmtRdWV1ZTo6Y3JlYXRlKCJGaWxlTGlzdENy
ZWF0b3IgV29yayBRdWV1ZSIpKQorICAgICwgbV9jb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGNv
bXBsZXRpb25IYW5kbGVyKSkKK3sKKyAgICAvLyBSZXNvbHZlIGRpcmVjdG9yaWVzIG9uIGEgYmFj
a2dyb3VuZCB0aHJlYWQgdG8gYXZvaWQgYmxvY2tpbmcgdGhlIG1haW4gdGhyZWFkLgorICAgIG1f
d29ya1F1ZXVlLT5kaXNwYXRjaChbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMp
LCBwYXRocyA9IGNyb3NzVGhyZWFkQ29weShwYXRocyldKCkgbXV0YWJsZSB7CisgICAgICAgIGF1
dG8gZmlsZUxpc3QgPSBjcmVhdGVGaWxlTGlzdDxTaG91bGRSZXNvbHZlRGlyZWN0b3JpZXM6Olll
cz4ocGF0aHMpOworICAgICAgICBjYWxsT25NYWluVGhyZWFkKFt0aGlzLCBwcm90ZWN0ZWRUaGlz
ID0gV1RGTW92ZShwcm90ZWN0ZWRUaGlzKSwgZmlsZUxpc3QgPSBXVEZNb3ZlKGZpbGVMaXN0KV0o
KSBtdXRhYmxlIHsKKyAgICAgICAgICAgIGlmIChhdXRvIGNvbXBsZXRpb25IYW5kbGVyID0gV1RG
TW92ZShtX2NvbXBsZXRpb25IYW5kbGVyKSkKKyAgICAgICAgICAgICAgICBjb21wbGV0aW9uSGFu
ZGxlcihXVEZNb3ZlKGZpbGVMaXN0KSk7CisgICAgICAgIH0pOworICAgIH0pOworfQorCiB2b2lk
IEZpbGVMaXN0Q3JlYXRvcjo6Y2FuY2VsKCkKIHsKLSAgICBtX2NvbXBsZXRpb25IYW5kZXIgPSBu
dWxscHRyOworICAgIG1fY29tcGxldGlvbkhhbmRsZXIgPSBudWxscHRyOwogICAgIG1fd29ya1F1
ZXVlID0gbnVsbHB0cjsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9GaWxl
TGlzdENyZWF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRmlsZUxpc3RDcmVhdG9yLmgKaW5k
ZXggNzdjMGEwMzkwZmIxMTcwNWZhZmY5NTRmMTVjYWZkZTY4YWZhYzIyNS4uYmNiYWMwZWQzNzk5
M2E1YzdhNWNiNjgzOWFhOTI3MjAyYjg2ZWU2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9GaWxlTGlzdENyZWF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0ZpbGVMaXN0
Q3JlYXRvci5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTctMjAyMCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKQEAgLTQxLDIzICs0MSwxNyBAQCBwdWJsaWM6CiAgICAgdXNpbmcgQ29tcGxldGlvbkhh
bmRsZXIgPSBGdW5jdGlvbjx2b2lkKFJlZjxGaWxlTGlzdD4mJik+OwogCiAgICAgZW51bSBjbGFz
cyBTaG91bGRSZXNvbHZlRGlyZWN0b3JpZXMgeyBObywgWWVzIH07Ci0gICAgc3RhdGljIFJlZjxG
aWxlTGlzdENyZWF0b3I+IGNyZWF0ZShjb25zdCBWZWN0b3I8RmlsZUNob29zZXJGaWxlSW5mbz4m
IHBhdGhzLCBTaG91bGRSZXNvbHZlRGlyZWN0b3JpZXMgc2hvdWxkUmVzb2x2ZURpcmVjdG9yaWVz
LCBDb21wbGV0aW9uSGFuZGxlciYmIGNvbXBsZXRpb25IYW5kbGVyKQotICAgIHsKLSAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgRmlsZUxpc3RDcmVhdG9yKHBhdGhzLCBzaG91bGRSZXNvbHZl
RGlyZWN0b3JpZXMsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKSk7Ci0gICAgfQorICAgIHN0
YXRpYyBSZWZQdHI8RmlsZUxpc3RDcmVhdG9yPiBjcmVhdGUoY29uc3QgVmVjdG9yPEZpbGVDaG9v
c2VyRmlsZUluZm8+JiwgU2hvdWxkUmVzb2x2ZURpcmVjdG9yaWVzLCBDb21wbGV0aW9uSGFuZGxl
ciYmKTsKIAogICAgIH5GaWxlTGlzdENyZWF0b3IoKTsKIAogICAgIHZvaWQgY2FuY2VsKCk7CiAK
IHByaXZhdGU6Ci0gICAgRmlsZUxpc3RDcmVhdG9yKGNvbnN0IFZlY3RvcjxGaWxlQ2hvb3NlckZp
bGVJbmZvPiYgcGF0aHMsIFNob3VsZFJlc29sdmVEaXJlY3RvcmllcywgQ29tcGxldGlvbkhhbmRs
ZXImJik7Ci0KLSAgICB0ZW1wbGF0ZTxTaG91bGRSZXNvbHZlRGlyZWN0b3JpZXMgc2hvdWxkUmVz
b2x2ZURpcmVjdG9yaWVzPgotICAgIHN0YXRpYyBSZWY8RmlsZUxpc3Q+IGNyZWF0ZUZpbGVMaXN0
KGNvbnN0IFZlY3RvcjxGaWxlQ2hvb3NlckZpbGVJbmZvPiYpOworICAgIEZpbGVMaXN0Q3JlYXRv
cihjb25zdCBWZWN0b3I8RmlsZUNob29zZXJGaWxlSW5mbz4mLCBDb21wbGV0aW9uSGFuZGxlciYm
KTsKIAogICAgIFJlZlB0cjxXb3JrUXVldWU+IG1fd29ya1F1ZXVlOwotICAgIENvbXBsZXRpb25I
YW5kbGVyIG1fY29tcGxldGlvbkhhbmRlcjsKKyAgICBDb21wbGV0aW9uSGFuZGxlciBtX2NvbXBs
ZXRpb25IYW5kbGVyOwogfTsKIAogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>401745</attachid>
            <date>2020-06-12 10:01:42 -0700</date>
            <delta_ts>2020-06-12 11:40:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213130-20200612100141.patch</filename>
            <type>text/plain</type>
            <size>11183</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyOTI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWI2NjVjODViZjNiNjgw
ZGRhMjY3YjQ4MDg2MjI5YmQ1NWRhZWY2Ny4uNDk1ZTY1ODM1MjE4OTg5YTk4MzNlODRjOTY3NDg5
YWQ1ZDVlYThjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIwLTA2LTEyICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBGaWxlSW5wdXRUeXBlIHNob3Vs
ZCB1c2UgV2Vha1B0ciBmb3IgRmlsZUxpc3RDcmVhdG9yIGxhbWJkYXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzEzMAorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vNjQyNzY1OTE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgRmlsZUlucHV0VHlwZTo6ZmlsZXNDaG9zZW4gd2FzIHBhc3NpbmcgYSBjb21w
bGV0aW9uIGhhbmRsZXIgdG8gRmlsZUxpc3RDcmVhdG9yOjpjcmVhdGUgdGhhdAorICAgICAgICBj
YXB0dXJlZCB8dGhpc3wuIElmIHRoZSBGaWxlTGlzdENyZWF0b3IgaW5zdGFuY2Ugc3RpbGwgZXhp
c3RlZCB3aGVuIHx0aGlzfCB3YXMgZGVzdHJveWVkLAorICAgICAgICBGaWxlSW5wdXRUeXBlOjp+
RmlsZUlucHV0VHlwZSB3b3VsZCBjbGVhciB0aGUgY2FwdHVyZWQgfHRoaXN8IGJ5IGNhbGxpbmcK
KyAgICAgICAgRmlsZUxpc3RDcmVhdG9yOjpjbGVhci4gVGhpcyBjYW4gYmUgc2ltcGxpZmllZCBi
eSBoYXZpbmcgdGhlIEZpbGVMaXN0Q3JlYXRvciBjb21wbGV0aW9uCisgICAgICAgIGhhbmRsZXIg
Y2FwdHVyZSBhIFdlYWtQdHIgdG8gfHRoaXN8LgorCisgICAgICAgIEFsc28sIHdoZW4gRmlsZUlu
cHV0VHlwZTo6YWxsb3dzRGlyZWN0b3JpZXMgaXMgZmFsc2UsIG1fZmlsZUxpc3RDcmVhdG9yIHdv
dWxkIG5vdCBiZQorICAgICAgICBwcm9wZXJseSBjbGVhcmVkIGFmdGVyIGNyZWF0aW5nIHRoZSBm
aWxlIGxpc3QuIFRoZSBGaWxlTGlzdENyZWF0b3IgY29tcGxldGlvbiBoYW5kbGVyIHdvdWxkCisg
ICAgICAgIHNldCBtX2ZpbGVMaXN0Q3JlYXRvciB0byBudWxscHRyLCBidXQgd291bGQgYmUgZXhl
Y3V0ZWQgKmJlZm9yZSogRmlsZUxpc3RDcmVhdG9yOjpjcmVhdGUKKyAgICAgICAgcmV0dXJuZWQg
YW5kIHNldCBtX2ZpbGVMaXN0Q3JlYXRvciB0byB0aGUgbmV3bHktY3JlYXRlZCBGaWxlTGlzdENy
ZWF0b3Igb2JqZWN0LiBGaXhlZCB0aGlzCisgICAgICAgIGJ5IGhhdmluZyBGaWxlTGlzdENyZWF0
b3I6OmNyZWF0ZSBleGVjdXRlIHRoZSBjb21wbGV0aW9uIGhhbmRsZXIgaW1tZWRpYXRlbHkgYW5k
IHJldHVybgorICAgICAgICBudWxscHRyIGluIGNhc2VzIHdoZXJlIGEgRmlsZUxpc3RDcmVhdG9y
IGRvZXMgbm90IG5lZWQgdG8gYmUgY3JlYXRlZCBmb3IgZGlyZWN0b3J5CisgICAgICAgIHJlc29s
dXRpb24uCisKKyAgICAgICAgQ292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAq
IGh0bWwvRmlsZUlucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGaWxlSW5wdXRUeXBl
Ojp+RmlsZUlucHV0VHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpGaWxlSW5wdXRUeXBlOjpmaWxl
c0Nob3Nlbik6CisgICAgICAgICogaHRtbC9GaWxlSW5wdXRUeXBlLmg6CisgICAgICAgICogaHRt
bC9GaWxlTGlzdENyZWF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlRmlsZUxpc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6RmlsZUxpc3RDcmVhdG9yOjpjcmVhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6RmlsZUxpc3RDcmVhdG9yOjpGaWxlTGlzdENyZWF0b3IpOgorICAgICAgICAoV2Vi
Q29yZTo6RmlsZUxpc3RDcmVhdG9yOjpjcmVhdGVGaWxlTGlzdCk6CisgICAgICAgICogaHRtbC9G
aWxlTGlzdENyZWF0b3IuaDoKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVMaXN0Q3JlYXRvcjo6Y3Jl
YXRlKTogRGVsZXRlZC4KKwogMjAyMC0wNi0xMSAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29t
PgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIyNjI3NzYpOiBGbGFreSBjcmFzaCB1bmRlciAtW1dl
YkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZSBjb25uZWN0aW9uOndp
bGxTZW5kUmVxdWVzdDpyZWRpcmVjdFJlc3BvbnNlOl0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvRmlsZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0ZpbGVJbnB1
dFR5cGUuY3BwCmluZGV4IDliZWYxZDJjN2YwMGNhZDhkOWU3YmQxZjNjZGFlYmYxZmYzMmI2NjEu
LjhmNzE3ODFhMjU4MTY3MjgwZjJhZTlhOGZjZDJiNzlhN2U4ODhmMTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvRmlsZUlucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9GaWxlSW5wdXRUeXBlLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMDQtMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMDQtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5
cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBU
aGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yCkBAIC0xMDMsOSArMTAzLDYgQEAgRmlsZUlucHV0VHlwZTo6RmlsZUlucHV0VHlwZShIVE1M
SW5wdXRFbGVtZW50JiBlbGVtZW50KQogCiBGaWxlSW5wdXRUeXBlOjp+RmlsZUlucHV0VHlwZSgp
CiB7Ci0gICAgaWYgKG1fZmlsZUxpc3RDcmVhdG9yKQotICAgICAgICBtX2ZpbGVMaXN0Q3JlYXRv
ci0+Y2FuY2VsKCk7Ci0KICAgICBpZiAobV9maWxlQ2hvb3NlcikKICAgICAgICAgbV9maWxlQ2hv
b3Nlci0+aW52YWxpZGF0ZSgpOwogCkBAIC00MTYsNyArNDEzLDEwIEBAIHZvaWQgRmlsZUlucHV0
VHlwZTo6ZmlsZXNDaG9zZW4oY29uc3QgVmVjdG9yPEZpbGVDaG9vc2VyRmlsZUluZm8+JiBwYXRo
cywgY29uc3QKICAgICAgICAgbV9maWxlTGlzdENyZWF0b3ItPmNhbmNlbCgpOwogCiAgICAgYXV0
byBzaG91bGRSZXNvbHZlRGlyZWN0b3JpZXMgPSBhbGxvd3NEaXJlY3RvcmllcygpID8gRmlsZUxp
c3RDcmVhdG9yOjpTaG91bGRSZXNvbHZlRGlyZWN0b3JpZXM6OlllcyA6IEZpbGVMaXN0Q3JlYXRv
cjo6U2hvdWxkUmVzb2x2ZURpcmVjdG9yaWVzOjpObzsKLSAgICBtX2ZpbGVMaXN0Q3JlYXRvciA9
IEZpbGVMaXN0Q3JlYXRvcjo6Y3JlYXRlKHBhdGhzLCBzaG91bGRSZXNvbHZlRGlyZWN0b3JpZXMs
IFt0aGlzLCBpY29uID0gbWFrZVJlZlB0cihpY29uKV0oUmVmPEZpbGVMaXN0PiYmIGZpbGVMaXN0
KSBtdXRhYmxlIHsKKyAgICBtX2ZpbGVMaXN0Q3JlYXRvciA9IEZpbGVMaXN0Q3JlYXRvcjo6Y3Jl
YXRlKHBhdGhzLCBzaG91bGRSZXNvbHZlRGlyZWN0b3JpZXMsIFt0aGlzLCB3ZWFrVGhpcyA9IG1h
a2VXZWFrUHRyKCp0aGlzKSwgaWNvbiA9IG1ha2VSZWZQdHIoaWNvbildKFJlZjxGaWxlTGlzdD4m
JiBmaWxlTGlzdCkgbXV0YWJsZSB7CisgICAgICAgIGF1dG8gcHJvdGVjdGVkVGhpcyA9IG1ha2VS
ZWZQdHIod2Vha1RoaXMuZ2V0KCkpOworICAgICAgICBpZiAoIXByb3RlY3RlZFRoaXMpCisgICAg
ICAgICAgICByZXR1cm47CiAgICAgICAgIHNldEZpbGVzKFdURk1vdmUoZmlsZUxpc3QpLCBpY29u
ID8gUmVxdWVzdEljb246OlllcyA6IFJlcXVlc3RJY29uOjpObyk7CiAgICAgICAgIGlmIChpY29u
ICYmICFtX2ZpbGVMaXN0LT5pc0VtcHR5KCkgJiYgZWxlbWVudCgpKQogICAgICAgICAgICAgaWNv
bkxvYWRlZChXVEZNb3ZlKGljb24pKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
RmlsZUlucHV0VHlwZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9GaWxlSW5wdXRUeXBlLmgKaW5k
ZXggODI2YWMyOGUzMWU4NmVkOWExY2M5OWExNTZkNDY3ZTk0YjAzMTU1Yi4uMjkzODQ4MmEyMmE0
OGY2NDQzYmE4NDcwYmNlNjIyMjEwNjllNWQyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9GaWxlSW5wdXRUeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9GaWxlSW5wdXRU
eXBlLmgKQEAgLTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEtMjAxOCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEtMjAyMCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAiRmlsZUNob29zZXIuaCIKICNp
bmNsdWRlICJGaWxlSWNvbkxvYWRlci5oIgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKyNpbmNs
dWRlIDx3dGYvV2Vha1B0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQzLDcgKzQ0
LDcgQEAgY2xhc3MgRmlsZUxpc3Q7CiBjbGFzcyBGaWxlTGlzdENyZWF0b3I7CiBjbGFzcyBJY29u
OwogCi1jbGFzcyBGaWxlSW5wdXRUeXBlIGZpbmFsIDogcHVibGljIEJhc2VDbGlja2FibGVXaXRo
S2V5SW5wdXRUeXBlLCBwcml2YXRlIEZpbGVDaG9vc2VyQ2xpZW50LCBwcml2YXRlIEZpbGVJY29u
TG9hZGVyQ2xpZW50IHsKK2NsYXNzIEZpbGVJbnB1dFR5cGUgZmluYWwgOiBwdWJsaWMgQmFzZUNs
aWNrYWJsZVdpdGhLZXlJbnB1dFR5cGUsIHByaXZhdGUgRmlsZUNob29zZXJDbGllbnQsIHByaXZh
dGUgRmlsZUljb25Mb2FkZXJDbGllbnQsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxGaWxlSW5wdXRU
eXBlPiB7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgRmlsZUlucHV0VHlwZShIVE1MSW5wdXRFbGVt
ZW50Jik7CiAgICAgdmlydHVhbCB+RmlsZUlucHV0VHlwZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9GaWxlTGlzdENyZWF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9G
aWxlTGlzdENyZWF0b3IuY3BwCmluZGV4IGRjNjI4NWJjOWI1ODM1MDZlM2Q2ZDIwZTA5NTE2NTFj
ZTkwZGVjZGIuLjE1MjdlMGQxOGRlYjZiYTM5ODYxODU5ZGFkY2U5OTc3ZmRiMzU2NWUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRmlsZUxpc3RDcmVhdG9yLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0ZpbGVMaXN0Q3JlYXRvci5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgot
ICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAxNy0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzYsNyArMzYsNyBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIEZpbGVMaXN0Q3JlYXRvcjo6fkZpbGVMaXN0Q3JlYXRvcigpCiB7Ci0g
ICAgQVNTRVJUKCFtX2NvbXBsZXRpb25IYW5kZXIpOworICAgIEFTU0VSVCghbV9jb21wbGV0aW9u
SGFuZGxlcik7CiB9CiAKIHN0YXRpYyB2b2lkIGFwcGVuZERpcmVjdG9yeUZpbGVzKGNvbnN0IFN0
cmluZyYgZGlyZWN0b3J5LCBjb25zdCBTdHJpbmcmIHJlbGF0aXZlUGF0aCwgVmVjdG9yPFJlZjxG
aWxlPj4mIGZpbGVPYmplY3RzKQpAQCAtNTcsMzAgKzU3LDEyIEBAIHN0YXRpYyB2b2lkIGFwcGVu
ZERpcmVjdG9yeUZpbGVzKGNvbnN0IFN0cmluZyYgZGlyZWN0b3J5LCBjb25zdCBTdHJpbmcmIHJl
bGF0aXZlCiAgICAgfQogfQogCi1GaWxlTGlzdENyZWF0b3I6OkZpbGVMaXN0Q3JlYXRvcihjb25z
dCBWZWN0b3I8RmlsZUNob29zZXJGaWxlSW5mbz4mIHBhdGhzLCBTaG91bGRSZXNvbHZlRGlyZWN0
b3JpZXMgc2hvdWxkUmVzb2x2ZURpcmVjdG9yaWVzLCBDb21wbGV0aW9uSGFuZGxlciYmIGNvbXBs
ZXRpb25IYW5kbGVyKQotewotICAgIGlmIChzaG91bGRSZXNvbHZlRGlyZWN0b3JpZXMgPT0gU2hv
dWxkUmVzb2x2ZURpcmVjdG9yaWVzOjpObykKLSAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoY3Jl
YXRlRmlsZUxpc3Q8U2hvdWxkUmVzb2x2ZURpcmVjdG9yaWVzOjpObz4ocGF0aHMpKTsKLSAgICBl
bHNlIHsKLSAgICAgICAgLy8gUmVzb2x2ZSBkaXJlY3RvcmllcyBvbiBhIGJhY2tncm91bmQgdGhy
ZWFkIHRvIGF2b2lkIGJsb2NraW5nIHRoZSBtYWluIHRocmVhZC4KLSAgICAgICAgbV9jb21wbGV0
aW9uSGFuZGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcik7Ci0gICAgICAgIG1fd29ya1F1
ZXVlID0gV29ya1F1ZXVlOjpjcmVhdGUoIkZpbGVMaXN0Q3JlYXRvciBXb3JrIFF1ZXVlIik7Ci0g
ICAgICAgIG1fd29ya1F1ZXVlLT5kaXNwYXRjaChbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VS
ZWYoKnRoaXMpLCBwYXRocyA9IGNyb3NzVGhyZWFkQ29weShwYXRocyldKCkgbXV0YWJsZSB7Ci0g
ICAgICAgICAgICBhdXRvIGZpbGVMaXN0ID0gY3JlYXRlRmlsZUxpc3Q8U2hvdWxkUmVzb2x2ZURp
cmVjdG9yaWVzOjpZZXM+KHBhdGhzKTsKLSAgICAgICAgICAgIGNhbGxPbk1haW5UaHJlYWQoW3Ro
aXMsIHByb3RlY3RlZFRoaXMgPSBXVEZNb3ZlKHByb3RlY3RlZFRoaXMpLCBmaWxlTGlzdCA9IFdU
Rk1vdmUoZmlsZUxpc3QpXSgpIG11dGFibGUgewotICAgICAgICAgICAgICAgIGlmIChhdXRvIGNv
bXBsZXRpb25IYW5kZXIgPSBXVEZNb3ZlKG1fY29tcGxldGlvbkhhbmRlcikpCi0gICAgICAgICAg
ICAgICAgICAgIGNvbXBsZXRpb25IYW5kZXIoV1RGTW92ZShmaWxlTGlzdCkpOwotICAgICAgICAg
ICAgfSk7Ci0gICAgICAgIH0pOwotICAgIH0KLX0KLQogdGVtcGxhdGU8RmlsZUxpc3RDcmVhdG9y
OjpTaG91bGRSZXNvbHZlRGlyZWN0b3JpZXMgc2hvdWxkUmVzb2x2ZURpcmVjdG9yaWVzPgotUmVm
PEZpbGVMaXN0PiBGaWxlTGlzdENyZWF0b3I6OmNyZWF0ZUZpbGVMaXN0KGNvbnN0IFZlY3RvcjxG
aWxlQ2hvb3NlckZpbGVJbmZvPiYgcGF0aHMpCitzdGF0aWMgUmVmPEZpbGVMaXN0PiBjcmVhdGVG
aWxlTGlzdChjb25zdCBWZWN0b3I8RmlsZUNob29zZXJGaWxlSW5mbz4mIHBhdGhzKQogewogICAg
IFZlY3RvcjxSZWY8RmlsZT4+IGZpbGVPYmplY3RzOwogICAgIGZvciAoYXV0byYgaW5mbyA6IHBh
dGhzKSB7Ci0gICAgICAgIGlmIChzaG91bGRSZXNvbHZlRGlyZWN0b3JpZXMgPT0gU2hvdWxkUmVz
b2x2ZURpcmVjdG9yaWVzOjpZZXMgJiYgRmlsZVN5c3RlbTo6ZmlsZUlzRGlyZWN0b3J5KGluZm8u
cGF0aCwgRmlsZVN5c3RlbTo6U2hvdWxkRm9sbG93U3ltYm9saWNMaW5rczo6Tm8pKQorICAgICAg
ICBpZiAoc2hvdWxkUmVzb2x2ZURpcmVjdG9yaWVzID09IEZpbGVMaXN0Q3JlYXRvcjo6U2hvdWxk
UmVzb2x2ZURpcmVjdG9yaWVzOjpZZXMgJiYgRmlsZVN5c3RlbTo6ZmlsZUlzRGlyZWN0b3J5KGlu
Zm8ucGF0aCwgRmlsZVN5c3RlbTo6U2hvdWxkRm9sbG93U3ltYm9saWNMaW5rczo6Tm8pKQogICAg
ICAgICAgICAgYXBwZW5kRGlyZWN0b3J5RmlsZXMoaW5mby5wYXRoLCBGaWxlU3lzdGVtOjpwYXRo
R2V0RmlsZU5hbWUoaW5mby5wYXRoKSwgZmlsZU9iamVjdHMpOwogICAgICAgICBlbHNlCiAgICAg
ICAgICAgICBmaWxlT2JqZWN0cy5hcHBlbmQoRmlsZTo6Y3JlYXRlKGluZm8ucGF0aCwgaW5mby5k
aXNwbGF5TmFtZSkpOwpAQCAtODgsOSArNzAsMzMgQEAgUmVmPEZpbGVMaXN0PiBGaWxlTGlzdENy
ZWF0b3I6OmNyZWF0ZUZpbGVMaXN0KGNvbnN0IFZlY3RvcjxGaWxlQ2hvb3NlckZpbGVJbmZvPiYK
ICAgICByZXR1cm4gRmlsZUxpc3Q6OmNyZWF0ZShXVEZNb3ZlKGZpbGVPYmplY3RzKSk7CiB9CiAK
K1JlZlB0cjxGaWxlTGlzdENyZWF0b3I+IEZpbGVMaXN0Q3JlYXRvcjo6Y3JlYXRlKGNvbnN0IFZl
Y3RvcjxGaWxlQ2hvb3NlckZpbGVJbmZvPiYgcGF0aHMsIFNob3VsZFJlc29sdmVEaXJlY3Rvcmll
cyBzaG91bGRSZXNvbHZlRGlyZWN0b3JpZXMsIENvbXBsZXRpb25IYW5kbGVyJiYgY29tcGxldGlv
bkhhbmRsZXIpCit7CisgICAgaWYgKHNob3VsZFJlc29sdmVEaXJlY3RvcmllcyA9PSBTaG91bGRS
ZXNvbHZlRGlyZWN0b3JpZXM6Ok5vKSB7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKGNyZWF0
ZUZpbGVMaXN0PFNob3VsZFJlc29sdmVEaXJlY3Rvcmllczo6Tm8+KHBhdGhzKSk7CisgICAgICAg
IHJldHVybiBudWxscHRyOworICAgIH0KKworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEZpbGVM
aXN0Q3JlYXRvcihwYXRocywgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpKTsKK30KKworRmls
ZUxpc3RDcmVhdG9yOjpGaWxlTGlzdENyZWF0b3IoY29uc3QgVmVjdG9yPEZpbGVDaG9vc2VyRmls
ZUluZm8+JiBwYXRocywgQ29tcGxldGlvbkhhbmRsZXImJiBjb21wbGV0aW9uSGFuZGxlcikKKyAg
ICA6IG1fd29ya1F1ZXVlKFdvcmtRdWV1ZTo6Y3JlYXRlKCJGaWxlTGlzdENyZWF0b3IgV29yayBR
dWV1ZSIpKQorICAgICwgbV9jb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGNvbXBsZXRpb25IYW5k
bGVyKSkKK3sKKyAgICAvLyBSZXNvbHZlIGRpcmVjdG9yaWVzIG9uIGEgYmFja2dyb3VuZCB0aHJl
YWQgdG8gYXZvaWQgYmxvY2tpbmcgdGhlIG1haW4gdGhyZWFkLgorICAgIG1fd29ya1F1ZXVlLT5k
aXNwYXRjaChbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBwYXRocyA9IGNy
b3NzVGhyZWFkQ29weShwYXRocyldKCkgbXV0YWJsZSB7CisgICAgICAgIGF1dG8gZmlsZUxpc3Qg
PSBjcmVhdGVGaWxlTGlzdDxTaG91bGRSZXNvbHZlRGlyZWN0b3JpZXM6Olllcz4ocGF0aHMpOwor
ICAgICAgICBjYWxsT25NYWluVGhyZWFkKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gV1RGTW92ZShw
cm90ZWN0ZWRUaGlzKSwgZmlsZUxpc3QgPSBXVEZNb3ZlKGZpbGVMaXN0KV0oKSBtdXRhYmxlIHsK
KyAgICAgICAgICAgIGlmIChhdXRvIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShtX2NvbXBs
ZXRpb25IYW5kbGVyKSkKKyAgICAgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihXVEZNb3Zl
KGZpbGVMaXN0KSk7CisgICAgICAgIH0pOworICAgIH0pOworfQorCiB2b2lkIEZpbGVMaXN0Q3Jl
YXRvcjo6Y2FuY2VsKCkKIHsKLSAgICBtX2NvbXBsZXRpb25IYW5kZXIgPSBudWxscHRyOworICAg
IG1fY29tcGxldGlvbkhhbmRsZXIgPSBudWxscHRyOwogICAgIG1fd29ya1F1ZXVlID0gbnVsbHB0
cjsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9GaWxlTGlzdENyZWF0b3Iu
aCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRmlsZUxpc3RDcmVhdG9yLmgKaW5kZXggNzdjMGEwMzkw
ZmIxMTcwNWZhZmY5NTRmMTVjYWZkZTY4YWZhYzIyNS4uYmNiYWMwZWQzNzk5M2E1YzdhNWNiNjgz
OWFhOTI3MjAyYjg2ZWU2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9GaWxlTGlz
dENyZWF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0ZpbGVMaXN0Q3JlYXRvci5oCkBA
IC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTctMjAyMCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTQx
LDIzICs0MSwxNyBAQCBwdWJsaWM6CiAgICAgdXNpbmcgQ29tcGxldGlvbkhhbmRsZXIgPSBGdW5j
dGlvbjx2b2lkKFJlZjxGaWxlTGlzdD4mJik+OwogCiAgICAgZW51bSBjbGFzcyBTaG91bGRSZXNv
bHZlRGlyZWN0b3JpZXMgeyBObywgWWVzIH07Ci0gICAgc3RhdGljIFJlZjxGaWxlTGlzdENyZWF0
b3I+IGNyZWF0ZShjb25zdCBWZWN0b3I8RmlsZUNob29zZXJGaWxlSW5mbz4mIHBhdGhzLCBTaG91
bGRSZXNvbHZlRGlyZWN0b3JpZXMgc2hvdWxkUmVzb2x2ZURpcmVjdG9yaWVzLCBDb21wbGV0aW9u
SGFuZGxlciYmIGNvbXBsZXRpb25IYW5kbGVyKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0
UmVmKCpuZXcgRmlsZUxpc3RDcmVhdG9yKHBhdGhzLCBzaG91bGRSZXNvbHZlRGlyZWN0b3JpZXMs
IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKSk7Ci0gICAgfQorICAgIHN0YXRpYyBSZWZQdHI8
RmlsZUxpc3RDcmVhdG9yPiBjcmVhdGUoY29uc3QgVmVjdG9yPEZpbGVDaG9vc2VyRmlsZUluZm8+
JiwgU2hvdWxkUmVzb2x2ZURpcmVjdG9yaWVzLCBDb21wbGV0aW9uSGFuZGxlciYmKTsKIAogICAg
IH5GaWxlTGlzdENyZWF0b3IoKTsKIAogICAgIHZvaWQgY2FuY2VsKCk7CiAKIHByaXZhdGU6Ci0g
ICAgRmlsZUxpc3RDcmVhdG9yKGNvbnN0IFZlY3RvcjxGaWxlQ2hvb3NlckZpbGVJbmZvPiYgcGF0
aHMsIFNob3VsZFJlc29sdmVEaXJlY3RvcmllcywgQ29tcGxldGlvbkhhbmRsZXImJik7Ci0KLSAg
ICB0ZW1wbGF0ZTxTaG91bGRSZXNvbHZlRGlyZWN0b3JpZXMgc2hvdWxkUmVzb2x2ZURpcmVjdG9y
aWVzPgotICAgIHN0YXRpYyBSZWY8RmlsZUxpc3Q+IGNyZWF0ZUZpbGVMaXN0KGNvbnN0IFZlY3Rv
cjxGaWxlQ2hvb3NlckZpbGVJbmZvPiYpOworICAgIEZpbGVMaXN0Q3JlYXRvcihjb25zdCBWZWN0
b3I8RmlsZUNob29zZXJGaWxlSW5mbz4mLCBDb21wbGV0aW9uSGFuZGxlciYmKTsKIAogICAgIFJl
ZlB0cjxXb3JrUXVldWU+IG1fd29ya1F1ZXVlOwotICAgIENvbXBsZXRpb25IYW5kbGVyIG1fY29t
cGxldGlvbkhhbmRlcjsKKyAgICBDb21wbGV0aW9uSGFuZGxlciBtX2NvbXBsZXRpb25IYW5kbGVy
OwogfTsKIAogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>