<?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>214371</bug_id>
          
          <creation_ts>2020-07-15 12:34:14 -0700</creation_ts>
          <short_desc>Remove a few more uses of the terms black/white list</short_desc>
          <delta_ts>2020-07-15 15:33:20 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=213084</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>213092</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bdakin</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1671868</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-07-15 12:34:14 -0700</bug_when>
    <thetext>Remove a few more uses of the terms black/white list</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671869</commentid>
    <comment_count>1</comment_count>
      <attachid>404375</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-07-15 12:37:14 -0700</bug_when>
    <thetext>Created attachment 404375
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671877</commentid>
    <comment_count>2</comment_count>
      <attachid>404375</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-07-15 12:55:19 -0700</bug_when>
    <thetext>Comment on attachment 404375
Patch

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

Looks good except the part that adds another file read.

&gt; Source/WTF/wtf/URLHelpers.cpp:61
&gt; +// Cocoa has an implementation that read this from a file in /Library or ~/Library.

reads

&gt; Source/WTF/wtf/cocoa/NSURLExtras.mm:85
&gt; +            // FIXME: Remove this at some point after checking that no one is depending on it.

I&apos;ve tried to remove this in the past and was informed that it exists only for third parties and we have no way of checking if they still use it.  There&apos;s also an optimization for it in Foundation, which we should rename at the same time.  I think we should do that instead of checking both filenames, which will significantly adversely affect startup time of many things.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671881</commentid>
    <comment_count>3</comment_count>
      <attachid>404375</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-07-15 13:00:36 -0700</bug_when>
    <thetext>Comment on attachment 404375
Patch

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

&gt;&gt; Source/WTF/wtf/cocoa/NSURLExtras.mm:85
&gt;&gt; +            // FIXME: Remove this at some point after checking that no one is depending on it.
&gt; 
&gt; I&apos;ve tried to remove this in the past and was informed that it exists only for third parties and we have no way of checking if they still use it.  There&apos;s also an optimization for it in Foundation, which we should rename at the same time.  I think we should do that instead of checking both filenames, which will significantly adversely affect startup time of many things.

Yes, I am familiar with how this was originally used. I’m the person who added this in the first place.

But I don’t know anything about this optimization in Foundation. I’ll leave this part out of the patch based on the FUD.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671882</commentid>
    <comment_count>4</comment_count>
      <attachid>404378</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-07-15 13:02:42 -0700</bug_when>
    <thetext>Created attachment 404378
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671891</commentid>
    <comment_count>5</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-07-15 13:08:45 -0700</bug_when>
    <thetext>Let&apos;s just do it now.  I filed rdar://problem/65622670</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671901</commentid>
    <comment_count>6</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-07-15 13:23:38 -0700</bug_when>
    <thetext>And rdar://problem/65623485</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671919</commentid>
    <comment_count>7</comment_count>
      <attachid>404378</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-07-15 13:55:25 -0700</bug_when>
    <thetext>Comment on attachment 404378
Patch

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

&gt; Source/WTF/wtf/URLHelpers.cpp:61
&gt; +// Cocoa has an implementation that read this from a file in /Library or ~/Library.

Oops, forgot to fix &quot;read this&quot; to &quot;reads this&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671923</commentid>
    <comment_count>8</comment_count>
      <attachid>404391</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-07-15 13:59:58 -0700</bug_when>
    <thetext>Created attachment 404391
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671941</commentid>
    <comment_count>9</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-07-15 14:33:36 -0700</bug_when>
    <thetext>Committed r264423: &lt;https://trac.webkit.org/changeset/264423&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671943</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-07-15 14:34:12 -0700</bug_when>
    <thetext>&lt;rdar://problem/65627367&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671950</commentid>
    <comment_count>11</comment_count>
      <attachid>404375</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-07-15 14:45:18 -0700</bug_when>
    <thetext>Comment on attachment 404375
Patch

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

&gt;&gt;&gt; Source/WTF/wtf/cocoa/NSURLExtras.mm:85
&gt;&gt;&gt; +            // FIXME: Remove this at some point after checking that no one is depending on it.
&gt;&gt; 
&gt;&gt; I&apos;ve tried to remove this in the past and was informed that it exists only for third parties and we have no way of checking if they still use it.  There&apos;s also an optimization for it in Foundation, which we should rename at the same time.  I think we should do that instead of checking both filenames, which will significantly adversely affect startup time of many things.
&gt; 
&gt; Yes, I am familiar with how this was originally used. I’m the person who added this in the first place.
&gt; 
&gt; But I don’t know anything about this optimization in Foundation. I’ll leave this part out of the patch based on the FUD.

I was wrong about the optimization in Foundation.  That is just an optimization for the instantiation of an NSString, not in reading the file.  That&apos;s not important to change at the same time as this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671951</commentid>
    <comment_count>12</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-07-15 14:49:13 -0700</bug_when>
    <thetext>I think it’s fine to either remove the feature entirely, or change the name now, or add support for both names now to lay the ground work for removing the old name later.

But I suggest we *not* use this bug to track any of those changes. This one should be left as is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671970</commentid>
    <comment_count>13</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-07-15 15:33:20 -0700</bug_when>
    <thetext>I think we should remove it in a separate patch, probably after the next branch.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404375</attachid>
            <date>2020-07-15 12:37:14 -0700</date>
            <delta_ts>2020-07-15 13:02:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214371-20200715123712.patch</filename>
            <type>text/plain</type>
            <size>13230</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0MzI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGRmMWJmNDcyZDZlZWExYWZkN2Q2MDgw
MTU0ODFlNjE4OTYwZjRhOTUuLjhiNjEyMjc3MjdmOTYzYTUyZjU1YjYxZDE3MzUxOTQ0M2FlMDVj
NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMjAtMDctMTUgIERhcmluIEFkbGVyICA8ZGFyaW5A
YXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBhIGZldyBtb3JlIHVzZXMgb2YgdGhlIHRlcm1z
IGJsYWNrL3doaXRlIGxpc3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIxNDM3MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogd3RmL1VSTEhlbHBlcnMuY3BwOgorICAgICAgICAoV1RGOjpVUkxIZWxwZXJz
Ojpsb2FkSUROQWxsb3dlZFNjcmlwdExpc3QpOiBSZW5hbWVkLgorICAgICAgICAoV1RGOjpVUkxI
ZWxwZXJzOjppc0xvb2thbGlrZUNoYXJhY3Rlcik6IFJlbmFtZWQuCisgICAgICAgIChXVEY6OlVS
TEhlbHBlcnM6OmFkZFNjcmlwdFRvSUROQWxsb3dlZFNjcmlwdExpc3QpOiBSZW5hbWVkLgorICAg
ICAgICAoV1RGOjpVUkxIZWxwZXJzOjppbml0aWFsaXplRGVmYXVsdElETkFsbG93ZWRTY3JpcHRM
aXN0KTogUmVuYW1lZC4KKyAgICAgICAgKFdURjo6VVJMSGVscGVyczo6YWxsQ2hhcmFjdGVyc0lu
QWxsb3dlZElETlNjcmlwdExpc3QpOiBSZW5hbWVkLgorICAgICAgICAoV1RGOjpVUkxIZWxwZXJz
OjptYXBIb3N0TmFtZSk6IFVwZGF0ZWQgZm9yIG5hbWUgY2hhbmdlcy4KKyAgICAgICAgKiB3dGYv
VVJMSGVscGVycy5oOiBSZW5hbWVkIHRoaW5ncy4KKworICAgICAgICAqIHd0Zi9jb2NvYS9OU1VS
TEV4dHJhcy5tbToKKyAgICAgICAgKFdURjo6cmVhZElETkFsbG93ZWRTY3JpcHRMaXN0RmlsZSk6
IFJlbmFtZWQuCisgICAgICAgIChXVEY6OlVSTEhlbHBlcnM6OmxvYWRJRE5BbGxvd2VkU2NyaXB0
TGlzdCk6IFJlbmFtZWQsIGFuZCBjaGFuZ2VkIHRvIGxvYWQgZnJvbSB0aGUKKyAgICAgICAgZmls
ZSBuYW1lIElETkFsbG93ZWRTY3JpcHRMaXN0LnR4dC4gVGhlIG9sZCBmaWxlIG5hbWUgaXMgc3Rp
bGwgYWxzbyBzdXBwb3J0ZWQgZm9yIG5vdzsKKyAgICAgICAgd2lsbCBuZWVkIHRvIGNvbWUgYmFj
ayBhbmQgcmVtb3ZlIGl0IHNlcGFyYXRlbHksIGxhdGVyLiBBbHNvIHVzZSBhIG1vZGVybiBmb3Ig
bG9vcAorICAgICAgICB0byBzaW1wbGlmeSB0aGUgY29kZS4KKwogMjAyMC0wNy0xMyAgS2VpdGgg
TWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBDbGVhbiB1cCBTb3Vy
Y2VQcm92aWRlciBhbmQgYWRkIGNhbGxlciByZWxhdGl2ZSBsb2FkIHNjcmlwdCB0byBqc2MuY3Bw
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCmluZGV4IDYzMGRjNDU4NTcyNDllN2EwMjNmZDZhZGQyZjI0MGU2OWIzODI5MDcuLjI0
NjU3ZTg3M2QzZjkxZGM4ZWMxYjMyNWQxMGRmZjljNzI4MDgxOTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTMgQEAKKzIwMjAtMDctMTUgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgorCisg
ICAgICAgIFJlbW92ZSBhIGZldyBtb3JlIHVzZXMgb2YgdGhlIHRlcm1zIGJsYWNrL3doaXRlIGxp
c3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNDM3
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6c2hv
dWxkUGx1Z0luQXV0b1N0YXJ0RnJvbU9yaWdpbik6IFJld29yZGVkIGEgY29tbWVudC4KKwogMjAy
MC0wNy0xMyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBt
b3JlIGxvZ2dpbmcgZm9yIG5hdmlnYXRpb24gcG9saWN5IGRlY2lzaW9ucyBvbiBVSVByb2Nlc3Mg
c2lkZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCmluZGV4IGUzMjRlZjQyNWI1ZTI2YjcxYTQ4
Y2RjNGFiYzYzNmI2NWY1MmI2ZTAuLjFjOWM1OWUzNGIxOTRkZTllOTUwM2FhNGJjOWU0ODNkYjNk
M2I1ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAy
MC0wNy0xNSAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3Zl
IGEgZmV3IG1vcmUgdXNlcyBvZiB0aGUgdGVybXMgYmxhY2svd2hpdGUgbGlzdAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0MzcxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXdQ
cml2YXRlLmg6IENvcnJlY3RlZCBhIG1pc3Rha2UgaW4gYSBjb21tZW50LgorCiAyMDIwLTA3LTEz
ICBLZWl0aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJAYXBwbGUuY29tPgogCiAgICAgICAgIENsZWFu
IHVwIFNvdXJjZVByb3ZpZGVyIGFuZCBhZGQgY2FsbGVyIHJlbGF0aXZlIGxvYWQgc2NyaXB0IHRv
IGpzYy5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1VSTEhlbHBlcnMuY3BwIGIvU291
cmNlL1dURi93dGYvVVJMSGVscGVycy5jcHAKaW5kZXggNTFjNWRlMDYxYjY0ZmU3NDU1YTY5NDE4
NGE3ZTkyYzMxZTQ2YzVmNi4uMjgxYmJjMDFiM2Y1YzNjMDc4YTE2ZDkwZjMyNmRjN2RkYWQ0ZGQ0
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvVVJMSGVscGVycy5jcHAKKysrIGIvU291cmNl
L1dURi93dGYvVVJMSGVscGVycy5jcHAKQEAgLTQ1LDI0ICs0NSwyNCBAQCBuYW1lc3BhY2UgVVJM
SGVscGVycyB7CiBjb25zdGV4cHIgdW5zaWduZWQgaG9zdE5hbWVCdWZmZXJMZW5ndGggPSAyMDQ4
OwogY29uc3RleHByIHVuc2lnbmVkIHVybEJ5dGVzQnVmZmVyTGVuZ3RoID0gMjA0ODsKIAotLy8g
VGhpcyBuZWVkcyB0byBiZSBoaWdoZXIgdGhhbiB0aGUgVVNjcmlwdENvZGUgZm9yIGFueSBvZiB0
aGUgc2NyaXB0cyBvbiB0aGUgSUROIHdoaXRlbGlzdC4KKy8vIFRoaXMgbmVlZHMgdG8gYmUgaGln
aGVyIHRoYW4gdGhlIFVTY3JpcHRDb2RlIGZvciBhbnkgb2YgdGhlIHNjcmlwdHMgb24gdGhlIElE
TiBhbGxvd2VkIGxpc3QuCiAvLyBBdCBvbmUgcG9pbnQgd2UgdXNlZCBVU0NSSVBUX0NPREVfTElN
SVQgZnJvbSBJQ1UsIGJ1dCB0aGVyZSBhcmUgdHdvIHJlYXNvbnMgbm90IHRvIHVzZSBpdC4KIC8v
IDEpIElDVSBjb25zaWRlcnMgaXQgZGVwcmVjYXRlZCwgc28gYnkgc2V0dGluZyBVX0hJREVfREVQ
UkVDQVRFRCB3ZSBjYW4ndCBzZWUgaXQuCiAvLyAyKSBObyBnb29kIHJlYXNvbiB0byBsaW1pdCBv
dXJzZWx2ZXMgdG8gc2NyaXB0cyB0aGF0IGV4aXN0ZWQgaW4gdGhlIElDVSBoZWFkZXJzIHdoZW4K
IC8vICAgIFdlYktpdCB3YXMgY29tcGlsZWQuCi0vLyBUaGlzIGlzIG9ubHkgcmVhbGx5IGltcG9y
dGFudCBmb3IgcGxhdGZvcm1zIHRoYXQgbG9hZCBhbiBleHRlcm5hbCBJQ1Ugd2hpdGVsaXN0Lgor
Ly8gVGhpcyBpcyBvbmx5IHJlYWxseSBpbXBvcnRhbnQgZm9yIHBsYXRmb3JtcyB0aGF0IGxvYWQg
YW4gZXh0ZXJuYWwgSUROIGFsbG93ZWQgc2NyaXB0IGxpc3QuCiAvLyBOb3QgaW1wb3J0YW50IGZv
ciB0aGUgY29tcGlsZWQtaW4gb25lLgogY29uc3RleHByIGF1dG8gc2NyaXB0Q29kZUxpbWl0ID0g
c3RhdGljX2Nhc3Q8VVNjcmlwdENvZGU+KDI1Nik7CiAKLXN0YXRpYyB1aW50MzJfdCBJRE5TY3Jp
cHRXaGl0ZUxpc3RbKHNjcmlwdENvZGVMaW1pdCArIDMxKSAvIDMyXTsKK3N0YXRpYyB1aW50MzJf
dCBhbGxvd2VkSUROU2NyaXB0Qml0c1soc2NyaXB0Q29kZUxpbWl0ICsgMzEpIC8gMzJdOwogCiAj
aWYgIVBMQVRGT1JNKENPQ09BKQogCi0vLyBDb2NvYSBoYXMgYW4gaW1wbGVtZW50YXRpb24gdGhh
dCB1c2VzIGEgd2hpdGVsaXN0IGluIC9MaWJyYXJ5IG9yIH4vTGlicmFyeSwgaWYgaXQgZXhpc3Rz
Lgotdm9pZCBsb2FkSUROU2NyaXB0V2hpdGVMaXN0KCkKKy8vIENvY29hIGhhcyBhbiBpbXBsZW1l
bnRhdGlvbiB0aGF0IHJlYWQgdGhpcyBmcm9tIGEgZmlsZSBpbiAvTGlicmFyeSBvciB+L0xpYnJh
cnkuCit2b2lkIGxvYWRJRE5BbGxvd2VkU2NyaXB0TGlzdCgpCiB7CiAgICAgc3RhdGljIHN0ZDo6
b25jZV9mbGFnIGZsYWc7Ci0gICAgc3RkOjpjYWxsX29uY2UoZmxhZywgaW5pdGlhbGl6ZURlZmF1
bHRJRE5TY3JpcHRXaGl0ZUxpc3QpOworICAgIHN0ZDo6Y2FsbF9vbmNlKGZsYWcsIGluaXRpYWxp
emVEZWZhdWx0SUROQWxsb3dlZFNjcmlwdExpc3QpOwogfQogCiAjZW5kaWYgLy8gIVBMQVRGT1JN
KENPQ09BKQpAQCAtMTEyLDcgKzExMiw3IEBAIHN0YXRpYyBib29sIGlzTG9va2FsaWtlQ2hhcmFj
dGVyKGNvbnN0IE9wdGlvbmFsPFVDaGFyMzI+JiBwcmV2aW91c0NvZGVQb2ludCwgVUNoCiAgICAg
Ly8gYW55IG5vbi1wcmludGFibGUgY2hhcmFjdGVyLCBhbnkgY2hhcmFjdGVyIGNvbnNpZGVyZWQg
YXMgd2hpdGVzcGFjZSwKICAgICAvLyBhbnkgaWdub3JhYmxlIGNoYXJhY3RlciwgYW5kIGVtb2pp
IGNoYXJhY3RlcnMgcmVsYXRlZCB0byBsb2Nrcy4KICAgICAKLSAgICAvLyBXZSBhbHNvIGNvbnNp
ZGVyZWQgdGhlIGNoYXJhY3RlcnMgaW4gTW96aWxsYSdzIGJsYWNrbGlzdCA8aHR0cDovL2tiLm1v
emlsbGF6aW5lLm9yZy9OZXR3b3JrLklETi5ibGFja2xpc3RfY2hhcnM+LgorICAgIC8vIFdlIGFs
c28gY29uc2lkZXJlZCB0aGUgY2hhcmFjdGVycyBpbiBNb3ppbGxhJ3MgbGlzdCBvZiBjaGFyYWN0
ZXJzIDxodHRwOi8va2IubW96aWxsYXppbmUub3JnL05ldHdvcmsuSUROLmJsYWNrbGlzdF9jaGFy
cz4uCiAKICAgICAvLyBTb21lIG9mIHRoZSBjaGFyYWN0ZXJzIGhlcmUgd2lsbCBuZXZlciBhcHBl
YXIgb25jZSBJQ1UgaGFzIGVuY29kZWQuCiAgICAgLy8gRm9yIGV4YW1wbGUsIElDVSB0cmFuc2Zv
cm1zIG1vc3Qgc3BhY2VzIGludG8gYW4gQVNDSUkgc3BhY2UgYW5kIG1vc3QKQEAgLTI2NCwyOCAr
MjY0LDI4IEBAIHN0YXRpYyBib29sIGlzTG9va2FsaWtlQ2hhcmFjdGVyKGNvbnN0IE9wdGlvbmFs
PFVDaGFyMzI+JiBwcmV2aW91c0NvZGVQb2ludCwgVUNoCiAgICAgfQogfQogCi1zdGF0aWMgdm9p
ZCB3aGl0ZUxpc3RJRE5TY3JpcHQoaW50MzJfdCBzY3JpcHQpCitzdGF0aWMgdm9pZCBhZGRTY3Jp
cHRUb0lETkFsbG93ZWRTY3JpcHRMaXN0KGludDMyX3Qgc2NyaXB0KQogewogICAgIGlmIChzY3Jp
cHQgPj0gMCAmJiBzY3JpcHQgPCBzY3JpcHRDb2RlTGltaXQpIHsKICAgICAgICAgc2l6ZV90IGlu
ZGV4ID0gc2NyaXB0IC8gMzI7CiAgICAgICAgIHVpbnQzMl90IG1hc2sgPSAxIDw8IChzY3JpcHQg
JSAzMik7Ci0gICAgICAgIElETlNjcmlwdFdoaXRlTGlzdFtpbmRleF0gfD0gbWFzazsKKyAgICAg
ICAgYWxsb3dlZElETlNjcmlwdEJpdHNbaW5kZXhdIHw9IG1hc2s7CiAgICAgfQogfQogCi1zdGF0
aWMgdm9pZCB3aGl0ZUxpc3RJRE5TY3JpcHQoVVNjcmlwdENvZGUgc2NyaXB0KQorc3RhdGljIHZv
aWQgYWRkU2NyaXB0VG9JRE5BbGxvd2VkU2NyaXB0TGlzdChVU2NyaXB0Q29kZSBzY3JpcHQpCiB7
Ci0gICAgd2hpdGVMaXN0SUROU2NyaXB0KHN0YXRpY19jYXN0PGludDMyX3Q+KHNjcmlwdCkpOwor
ICAgIGFkZFNjcmlwdFRvSUROQWxsb3dlZFNjcmlwdExpc3Qoc3RhdGljX2Nhc3Q8aW50MzJfdD4o
c2NyaXB0KSk7CiB9CiAKLXZvaWQgd2hpdGVMaXN0SUROU2NyaXB0KGNvbnN0IGNoYXIqIHNjcmlw
dE5hbWUpCit2b2lkIGFkZFNjcmlwdFRvSUROQWxsb3dlZFNjcmlwdExpc3QoY29uc3QgY2hhciog
c2NyaXB0TmFtZSkKIHsKLSAgICB3aGl0ZUxpc3RJRE5TY3JpcHQodV9nZXRQcm9wZXJ0eVZhbHVl
RW51bShVQ0hBUl9TQ1JJUFQsIHNjcmlwdE5hbWUpKTsKKyAgICBhZGRTY3JpcHRUb0lETkFsbG93
ZWRTY3JpcHRMaXN0KHVfZ2V0UHJvcGVydHlWYWx1ZUVudW0oVUNIQVJfU0NSSVBULCBzY3JpcHRO
YW1lKSk7CiB9CiAKLXZvaWQgaW5pdGlhbGl6ZURlZmF1bHRJRE5TY3JpcHRXaGl0ZUxpc3QoKQor
dm9pZCBpbml0aWFsaXplRGVmYXVsdElETkFsbG93ZWRTY3JpcHRMaXN0KCkKIHsKLSAgICBjb25z
dGV4cHIgVVNjcmlwdENvZGUgZGVmYXVsdElETlNjcmlwdFdoaXRlTGlzdFtdID0geworICAgIGNv
bnN0ZXhwciBVU2NyaXB0Q29kZSBzY3JpcHRzW10gPSB7CiAgICAgICAgIFVTQ1JJUFRfQ09NTU9O
LAogICAgICAgICBVU0NSSVBUX0lOSEVSSVRFRCwKICAgICAgICAgVVNDUklQVF9BUkFCSUMsCkBA
IC0zMDcsMTMgKzMwNywxMyBAQCB2b2lkIGluaXRpYWxpemVEZWZhdWx0SUROU2NyaXB0V2hpdGVM
aXN0KCkKICAgICAgICAgVVNDUklQVF9USEFJLAogICAgICAgICBVU0NSSVBUX1lJLAogICAgIH07
Ci0gICAgZm9yIChhdXRvIHNjcmlwdCA6IGRlZmF1bHRJRE5TY3JpcHRXaGl0ZUxpc3QpCi0gICAg
ICAgIHdoaXRlTGlzdElETlNjcmlwdChzY3JpcHQpOworICAgIGZvciAoYXV0byBzY3JpcHQgOiBz
Y3JpcHRzKQorICAgICAgICBhZGRTY3JpcHRUb0lETkFsbG93ZWRTY3JpcHRMaXN0KHNjcmlwdCk7
CiB9CiAKLXN0YXRpYyBib29sIGFsbENoYXJhY3RlcnNJbklETlNjcmlwdFdoaXRlTGlzdChjb25z
dCBVQ2hhciogYnVmZmVyLCBpbnQzMl90IGxlbmd0aCkKK3N0YXRpYyBib29sIGFsbENoYXJhY3Rl
cnNJbkFsbG93ZWRJRE5TY3JpcHRMaXN0KGNvbnN0IFVDaGFyKiBidWZmZXIsIGludDMyX3QgbGVu
Z3RoKQogewotICAgIGxvYWRJRE5TY3JpcHRXaGl0ZUxpc3QoKTsKKyAgICBsb2FkSUROQWxsb3dl
ZFNjcmlwdExpc3QoKTsKICAgICBpbnQzMl90IGkgPSAwOwogICAgIE9wdGlvbmFsPFVDaGFyMzI+
IHByZXZpb3VzQ29kZVBvaW50OwogICAgIHdoaWxlIChpIDwgbGVuZ3RoKSB7CkBAIC0zMzQsNyAr
MzM0LDcgQEAgc3RhdGljIGJvb2wgYWxsQ2hhcmFjdGVyc0luSUROU2NyaXB0V2hpdGVMaXN0KGNv
bnN0IFVDaGFyKiBidWZmZXIsIGludDMyX3QgbGVuZ3QKIAogICAgICAgICBzaXplX3QgaW5kZXgg
PSBzY3JpcHQgLyAzMjsKICAgICAgICAgdWludDMyX3QgbWFzayA9IDEgPDwgKHNjcmlwdCAlIDMy
KTsKLSAgICAgICAgaWYgKCEoSUROU2NyaXB0V2hpdGVMaXN0W2luZGV4XSAmIG1hc2spKQorICAg
ICAgICBpZiAoIShhbGxvd2VkSUROU2NyaXB0Qml0c1tpbmRleF0gJiBtYXNrKSkKICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgCiAgICAgICAgIGlmIChpc0xvb2thbGlrZUNoYXJh
Y3RlcihwcmV2aW91c0NvZGVQb2ludCwgYykpCkBAIC01NzIsNyArNTcyLDcgQEAgT3B0aW9uYWw8
U3RyaW5nPiBtYXBIb3N0TmFtZShjb25zdCBTdHJpbmcmIGhvc3ROYW1lLCBVUkxEZWNvZGVGdW5j
dGlvbiBkZWNvZGVGdW4KICAgICBpZiAobnVtQ2hhcmFjdGVyc0NvbnZlcnRlZCA9PSBzdGF0aWNf
Y2FzdDxpbnQzMl90PihsZW5ndGgpICYmICFtZW1jbXAoc291cmNlQnVmZmVyLmRhdGEoKSwgZGVz
dGluYXRpb25CdWZmZXIsIGxlbmd0aCAqIHNpemVvZihVQ2hhcikpKQogICAgICAgICByZXR1cm4g
U3RyaW5nKCk7CiAKLSAgICBpZiAoIWRlY29kZUZ1bmN0aW9uICYmICFhbGxDaGFyYWN0ZXJzSW5J
RE5TY3JpcHRXaGl0ZUxpc3QoZGVzdGluYXRpb25CdWZmZXIsIG51bUNoYXJhY3RlcnNDb252ZXJ0
ZWQpICYmICFhbGxDaGFyYWN0ZXJzQWxsb3dlZEJ5VExEUnVsZXMoZGVzdGluYXRpb25CdWZmZXIs
IG51bUNoYXJhY3RlcnNDb252ZXJ0ZWQpKQorICAgIGlmICghZGVjb2RlRnVuY3Rpb24gJiYgIWFs
bENoYXJhY3RlcnNJbkFsbG93ZWRJRE5TY3JpcHRMaXN0KGRlc3RpbmF0aW9uQnVmZmVyLCBudW1D
aGFyYWN0ZXJzQ29udmVydGVkKSAmJiAhYWxsQ2hhcmFjdGVyc0FsbG93ZWRCeVRMRFJ1bGVzKGRl
c3RpbmF0aW9uQnVmZmVyLCBudW1DaGFyYWN0ZXJzQ29udmVydGVkKSkKICAgICAgICAgcmV0dXJu
IFN0cmluZygpOwogCiAgICAgcmV0dXJuIFN0cmluZyhkZXN0aW5hdGlvbkJ1ZmZlciwgbnVtQ2hh
cmFjdGVyc0NvbnZlcnRlZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9VUkxIZWxwZXJz
LmggYi9Tb3VyY2UvV1RGL3d0Zi9VUkxIZWxwZXJzLmgKaW5kZXggMGFjMGIzZGU0OTRiZThmNzI4
YTVjYWU2MjhmZmFiNjg0ZmRlZWMyZi4uNzBkOGU5NDRlOTQwOWYyYzc5NTI0MjI2YTBkNjFhNmE0
NmJkM2E4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvVVJMSGVscGVycy5oCisrKyBiL1Nv
dXJjZS9XVEYvd3RmL1VSTEhlbHBlcnMuaApAQCAtMzcsOSArMzcsOSBAQCBuYW1lc3BhY2UgVVJM
SGVscGVycyB7CiB1c2luZyBVUkxEZWNvZGVGdW5jdGlvbiA9IFN0cmluZygqKShjb25zdCBTdHJp
bmcmKTsKIAogV1RGX0VYUE9SVF9QUklWQVRFIFN0cmluZyB1c2VyVmlzaWJsZVVSTChjb25zdCBD
U3RyaW5nJiBVUkwpOwotdm9pZCBsb2FkSUROU2NyaXB0V2hpdGVMaXN0KCk7Ci12b2lkIHdoaXRl
TGlzdElETlNjcmlwdChjb25zdCBjaGFyKiBzY3JpcHROYW1lKTsKLXZvaWQgaW5pdGlhbGl6ZURl
ZmF1bHRJRE5TY3JpcHRXaGl0ZUxpc3QoKTsKK3ZvaWQgbG9hZElETkFsbG93ZWRTY3JpcHRMaXN0
KCk7Cit2b2lkIGFkZFNjcmlwdFRvSUROQWxsb3dlZFNjcmlwdExpc3QoY29uc3QgY2hhciogc2Ny
aXB0TmFtZSk7Cit2b2lkIGluaXRpYWxpemVEZWZhdWx0SUROQWxsb3dlZFNjcmlwdExpc3QoKTsK
IE9wdGlvbmFsPFN0cmluZz4gbWFwSG9zdE5hbWUoY29uc3QgU3RyaW5nJiwgVVJMRGVjb2RlRnVu
Y3Rpb24pOwogU3RyaW5nIG1hcEhvc3ROYW1lcyhjb25zdCBTdHJpbmcmLCBVUkxEZWNvZGVGdW5j
dGlvbik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL2NvY29hL05TVVJMRXh0cmFzLm1t
IGIvU291cmNlL1dURi93dGYvY29jb2EvTlNVUkxFeHRyYXMubW0KaW5kZXggN2I2NGNlZDZjMmFi
Yjk1M2Q2ZjgxZWM0OGJlMTM5N2RhNjg3NTY3My4uMjE4ODI2MzU2Y2E0YzEyOWE4ZDI2ODExMzFh
NmVlZDk2OGUzZGVlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvY29jb2EvTlNVUkxFeHRy
YXMubW0KKysrIGIvU291cmNlL1dURi93dGYvY29jb2EvTlNVUkxFeHRyYXMubW0KQEAgLTQyLDcg
KzQyLDcgQEAgdXNpbmcgbmFtZXNwYWNlIFVSTEhlbHBlcnM7CiAKIGNvbnN0ZXhwciB1bnNpZ25l
ZCB1cmxCeXRlc0J1ZmZlckxlbmd0aCA9IDIwNDg7CiAKLXN0YXRpYyBCT09MIHJlYWRJRE5TY3Jp
cHRXaGl0ZUxpc3RGaWxlKE5TU3RyaW5nICpmaWxlbmFtZSkKK3N0YXRpYyBCT09MIHJlYWRJRE5B
bGxvd2VkU2NyaXB0TGlzdEZpbGUoTlNTdHJpbmcgKmZpbGVuYW1lKQogewogICAgIGlmICghZmls
ZW5hbWUpCiAgICAgICAgIHJldHVybiBOTzsKQEAgLTY2LDcgKzY2LDcgQEAgc3RhdGljIEJPT0wg
cmVhZElETlNjcmlwdFdoaXRlTGlzdEZpbGUoTlNTdHJpbmcgKmZpbGVuYW1lKQogICAgICAgICAK
ICAgICAgICAgaWYgKHJlc3VsdCA9PSAxKSB7CiAgICAgICAgICAgICAvLyBHb3QgYSB3b3JkLCBt
YXAgdG8gc2NyaXB0IGNvZGUgYW5kIHB1dCBpdCBpbnRvIHRoZSBhcnJheS4KLSAgICAgICAgICAg
IHdoaXRlTGlzdElETlNjcmlwdCh3b3JkKTsKKyAgICAgICAgICAgIGFkZFNjcmlwdFRvSUROQWxs
b3dlZFNjcmlwdExpc3Qod29yZCk7CiAgICAgICAgIH0KICAgICB9CiAgICAgZmNsb3NlKGZpbGUp
OwpAQCAtNzUsMTggKzc1LDE4IEBAIHN0YXRpYyBCT09MIHJlYWRJRE5TY3JpcHRXaGl0ZUxpc3RG
aWxlKE5TU3RyaW5nICpmaWxlbmFtZSkKIAogbmFtZXNwYWNlIFVSTEhlbHBlcnMgewogCi12b2lk
IGxvYWRJRE5TY3JpcHRXaGl0ZUxpc3QoKQordm9pZCBsb2FkSUROQWxsb3dlZFNjcmlwdExpc3Qo
KQogewogICAgIHN0YXRpYyBkaXNwYXRjaF9vbmNlX3QgZmxhZzsKICAgICBkaXNwYXRjaF9vbmNl
KCZmbGFnLCBeewotICAgICAgICAvLyBSZWFkIHdoaXRlIGxpc3QgZnJvbSBsaWJyYXJ5LgotICAg
ICAgICBOU0FycmF5ICpkaXJzID0gTlNTZWFyY2hQYXRoRm9yRGlyZWN0b3JpZXNJbkRvbWFpbnMo
TlNMaWJyYXJ5RGlyZWN0b3J5LCBOU0FsbERvbWFpbnNNYXNrLCBZRVMpOwotICAgICAgICBpbnQg
bnVtRGlycyA9IFtkaXJzIGNvdW50XTsKLSAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBudW1E
aXJzOyBpKyspIHsKLSAgICAgICAgICAgIGlmIChyZWFkSUROU2NyaXB0V2hpdGVMaXN0RmlsZShb
W2RpcnMgb2JqZWN0QXRJbmRleDppXSBzdHJpbmdCeUFwcGVuZGluZ1BhdGhDb21wb25lbnQ6QCJJ
RE5TY3JpcHRXaGl0ZUxpc3QudHh0Il0pKQorICAgICAgICBmb3IgKE5TU3RyaW5nICpkaXJlY3Rv
cnkgaW4gTlNTZWFyY2hQYXRoRm9yRGlyZWN0b3JpZXNJbkRvbWFpbnMoTlNMaWJyYXJ5RGlyZWN0
b3J5LCBOU0FsbERvbWFpbnNNYXNrLCBZRVMpKSB7CisgICAgICAgICAgICBpZiAocmVhZElETkFs
bG93ZWRTY3JpcHRMaXN0RmlsZShbZGlyZWN0b3J5IHN0cmluZ0J5QXBwZW5kaW5nUGF0aENvbXBv
bmVudDpAIklETkFsbG93ZWRTY3JpcHRMaXN0LnR4dCJdKSkKKyAgICAgICAgICAgICAgICByZXR1
cm47CisgICAgICAgICAgICAvLyBGSVhNRTogUmVtb3ZlIHRoaXMgYXQgc29tZSBwb2ludCBhZnRl
ciBjaGVja2luZyB0aGF0IG5vIG9uZSBpcyBkZXBlbmRpbmcgb24gaXQuCisgICAgICAgICAgICBp
ZiAocmVhZElETkFsbG93ZWRTY3JpcHRMaXN0RmlsZShbZGlyZWN0b3J5IHN0cmluZ0J5QXBwZW5k
aW5nUGF0aENvbXBvbmVudDpAIklETlNjcmlwdFdoaXRlTGlzdC50eHQiXSkpCiAgICAgICAgICAg
ICAgICAgcmV0dXJuOwogICAgICAgICB9Ci0gICAgICAgIGluaXRpYWxpemVEZWZhdWx0SUROU2Ny
aXB0V2hpdGVMaXN0KCk7CisgICAgICAgIGluaXRpYWxpemVEZWZhdWx0SUROQWxsb3dlZFNjcmlw
dExpc3QoKTsKICAgICB9KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
Y3BwCmluZGV4IDZmMmQ4ZmFkMTY1ZjVhYTQ5YThmMmE4ZTkwZGE2Njc4NTU2NmRmNDUuLjYyNTM1
ZTg2NTI4MTM3NTIxNWZjY2Y4YzI3YzA5Mzg5NTBkMzg4NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5jcHAKQEAgLTkyMSw3ICs5MjEsNyBAQCBib29sIFdlYlByb2Nlc3M6
OnNob3VsZFBsdWdJbkF1dG9TdGFydEZyb21PcmlnaW4oV2ViUGFnZSYgd2ViUGFnZSwgY29uc3Qg
U3RyaW5nJgogICAgICAgICByZXR1cm4gdHJ1ZTsKIAogI2lmIEVOQUJMRShQUklNQVJZX1NOQVBT
SE9UVEVEX1BMVUdJTl9IRVVSSVNUSUMpCi0gICAgLy8gVGhlIHBsdWdpbiB3YXNuJ3QgaW4gdGhl
IGdlbmVyYWwgd2hpdGVsaXN0LCBzbyBjaGVjayBpZiBpdCBzaW1pbGFyIHRvIHRoZSBwcmltYXJ5
IHBsdWdpbiBmb3IgdGhlIHBhZ2UgKGlmIHdlJ3ZlIGZvdW5kIG9uZSkuCisgICAgLy8gVGhlIHBs
dWdpbiB3YXNuJ3QgaW4gdGhlIGdlbmVyYWwgbGlzdCwgc28gY2hlY2sgaWYgaXQgc2ltaWxhciB0
byB0aGUgcHJpbWFyeSBwbHVnaW4gZm9yIHRoZSBwYWdlIChpZiB3ZSd2ZSBmb3VuZCBvbmUpLgog
ICAgIGlmICh3ZWJQYWdlLm1hdGNoZXNQcmltYXJ5UGx1Z0luKHBhZ2VPcmlnaW4sIHBsdWdpbk9y
aWdpbiwgbWltZVR5cGUpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKICNlbHNlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdQcml2YXRlLmggYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdQcml2YXRlLmgKaW5kZXggNDg3YzRh
MmQ3MGZlMjRhMDQyNTFlYWNlZDg4ZmI0ODNjNzcyNDkxZC4uMTIxZmU1ZTI0OTMzZGIzMTFkZDFj
ZjVlNzc4ODY0NTJjNGFkYWUwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJWaWV3UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dl
YlZpZXcvV2ViVmlld1ByaXZhdGUuaApAQCAtODAwLDcgKzgwMCw3IEBAIENvdWxkIGJlIHdvcnRo
IGFkZGluZyB0byB0aGUgQVBJLgogKyAodm9pZClfYWRkT3JpZ2luQWNjZXNzQWxsb3dMaXN0RW50
cnlXaXRoU291cmNlT3JpZ2luOihOU1N0cmluZyAqKXNvdXJjZU9yaWdpbiBkZXN0aW5hdGlvblBy
b3RvY29sOihOU1N0cmluZyAqKWRlc3RpbmF0aW9uUHJvdG9jb2wgZGVzdGluYXRpb25Ib3N0OihO
U1N0cmluZyAqKWRlc3RpbmF0aW9uSG9zdCBhbGxvd0Rlc3RpbmF0aW9uU3ViZG9tYWluczooQk9P
TClhbGxvd0Rlc3RpbmF0aW9uU3ViZG9tYWluczsKICsgKHZvaWQpX3JlbW92ZU9yaWdpbkFjY2Vz
c0FsbG93TGlzdEVudHJ5V2l0aFNvdXJjZU9yaWdpbjooTlNTdHJpbmcgKilzb3VyY2VPcmlnaW4g
ZGVzdGluYXRpb25Qcm90b2NvbDooTlNTdHJpbmcgKilkZXN0aW5hdGlvblByb3RvY29sIGRlc3Rp
bmF0aW9uSG9zdDooTlNTdHJpbmcgKilkZXN0aW5hdGlvbkhvc3QgYWxsb3dEZXN0aW5hdGlvblN1
YmRvbWFpbnM6KEJPT0wpYWxsb3dEZXN0aW5hdGlvblN1YmRvbWFpbnM7CiAKLS8vIFJlbW92ZXMg
YWxsIHdoaXRlIGxpc3QgZW50cmllcyBjcmVhdGVkIHdpdGggX2FkZE9yaWdpbkFjY2Vzc0FsbG93
TGlzdEVudHJ5V2l0aFNvdXJjZU9yaWdpbi4KKy8vIFJlbW92ZXMgYWxsIGFsbG93IGxpc3QgZW50
cmllcyBjcmVhdGVkIHdpdGggX2FkZE9yaWdpbkFjY2Vzc0FsbG93TGlzdEVudHJ5V2l0aFNvdXJj
ZU9yaWdpbi4KICsgKHZvaWQpX3Jlc2V0T3JpZ2luQWNjZXNzQWxsb3dMaXN0czsKIAogLy8gRklY
TUU6IFRoZSBmb2xsb3dpbmcgdHdvIG1ldGhvZHMgYXJlIGRlcHJlY2F0ZWQgaW4gZmF2b3Igb2Yg
dGhlIG92ZXJsb2FkcyBiZWxvdyB0aGF0IHRha2UgdGhlIFdlYlVzZXJDb250ZW50SW5qZWN0ZWRG
cmFtZXMgYXJndW1lbnQuIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00
MTgwMC4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404378</attachid>
            <date>2020-07-15 13:02:42 -0700</date>
            <delta_ts>2020-07-15 13:59:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214371-20200715130241.patch</filename>
            <type>text/plain</type>
            <size>12800</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0MzI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGRmMWJmNDcyZDZlZWExYWZkN2Q2MDgw
MTU0ODFlNjE4OTYwZjRhOTUuLmJhNTM4ZmJjNWU0ODBiNDMzYmRmOTBiYjM0NjFlZTFhMDJjYzhm
ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMjAtMDctMTUgIERhcmluIEFkbGVyICA8ZGFyaW5A
YXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBhIGZldyBtb3JlIHVzZXMgb2YgdGhlIHRlcm1z
IGJsYWNrL3doaXRlIGxpc3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIxNDM3MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogd3RmL1VSTEhlbHBlcnMuY3BwOgorICAgICAgICAoV1RGOjpVUkxIZWxwZXJz
Ojpsb2FkSUROQWxsb3dlZFNjcmlwdExpc3QpOiBSZW5hbWVkLgorICAgICAgICAoV1RGOjpVUkxI
ZWxwZXJzOjppc0xvb2thbGlrZUNoYXJhY3Rlcik6IFJlbmFtZWQuCisgICAgICAgIChXVEY6OlVS
TEhlbHBlcnM6OmFkZFNjcmlwdFRvSUROQWxsb3dlZFNjcmlwdExpc3QpOiBSZW5hbWVkLgorICAg
ICAgICAoV1RGOjpVUkxIZWxwZXJzOjppbml0aWFsaXplRGVmYXVsdElETkFsbG93ZWRTY3JpcHRM
aXN0KTogUmVuYW1lZC4KKyAgICAgICAgKFdURjo6VVJMSGVscGVyczo6YWxsQ2hhcmFjdGVyc0lu
QWxsb3dlZElETlNjcmlwdExpc3QpOiBSZW5hbWVkLgorICAgICAgICAoV1RGOjpVUkxIZWxwZXJz
OjptYXBIb3N0TmFtZSk6IFVwZGF0ZWQgZm9yIG5hbWUgY2hhbmdlcy4KKyAgICAgICAgKiB3dGYv
VVJMSGVscGVycy5oOiBSZW5hbWVkIHRoaW5ncy4KKworICAgICAgICAqIHd0Zi9jb2NvYS9OU1VS
TEV4dHJhcy5tbToKKyAgICAgICAgKFdURjo6cmVhZElETkFsbG93ZWRTY3JpcHRMaXN0RmlsZSk6
IFJlbmFtZWQuCisgICAgICAgIChXVEY6OlVSTEhlbHBlcnM6OmxvYWRJRE5BbGxvd2VkU2NyaXB0
TGlzdCk6IFJlbmFtZWQuIEFsc28gdXNlIGEgbW9kZXJuIGZvcgorICAgICAgICBsb29wIHRvIHNp
bXBsaWZ5IHRoZSBjb2RlLgorCiAyMDIwLTA3LTEzICBLZWl0aCBNaWxsZXIgIDxrZWl0aF9taWxs
ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIENsZWFuIHVwIFNvdXJjZVByb3ZpZGVyIGFuZCBhZGQg
Y2FsbGVyIHJlbGF0aXZlIGxvYWQgc2NyaXB0IHRvIGpzYy5jcHAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNjMwZGM0
NTg1NzI0OWU3YTAyM2ZkNmFkZDJmMjQwZTY5YjM4MjkwNy4uMjQ2NTdlODczZDNmOTFkYzhlYzFi
MzI1ZDEwZGZmOWM3MjgwODE5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMC0wNy0x
NSAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIGEgZmV3
IG1vcmUgdXNlcyBvZiB0aGUgdGVybXMgYmxhY2svd2hpdGUgbGlzdAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0MzcxCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpzaG91bGRQbHVnSW5BdXRvU3RhcnRG
cm9tT3JpZ2luKTogUmV3b3JkZWQgYSBjb21tZW50LgorCiAyMDIwLTA3LTEzICBDaHJpcyBEdW1l
eiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIG1vcmUgbG9nZ2luZyBmb3IgbmF2
aWdhdGlvbiBwb2xpY3kgZGVjaXNpb25zIG9uIFVJUHJvY2VzcyBzaWRlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9DaGFuZ2VMb2cKaW5kZXggZTMyNGVmNDI1YjVlMjZiNzFhNDhjZGM0YWJjNjM2YjY1ZjUyYjZl
MC4uMWM5YzU5ZTM0YjE5NGRlOWU5NTAzYWE0YmM5ZTQ4M2RiM2QzYjVmNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIwLTA3LTE1ICBEYXJpbiBBZGxl
ciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgYSBmZXcgbW9yZSB1c2VzIG9m
IHRoZSB0ZXJtcyBibGFjay93aGl0ZSBsaXN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQzNzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFdlYlZpZXcvV2ViVmlld1ByaXZhdGUuaDogQ29ycmVjdGVk
IGEgbWlzdGFrZSBpbiBhIGNvbW1lbnQuCisKIDIwMjAtMDctMTMgIEtlaXRoIE1pbGxlciAgPGtl
aXRoX21pbGxlckBhcHBsZS5jb20+CiAKICAgICAgICAgQ2xlYW4gdXAgU291cmNlUHJvdmlkZXIg
YW5kIGFkZCBjYWxsZXIgcmVsYXRpdmUgbG9hZCBzY3JpcHQgdG8ganNjLmNwcApkaWZmIC0tZ2l0
IGEvU291cmNlL1dURi93dGYvVVJMSGVscGVycy5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9VUkxIZWxw
ZXJzLmNwcAppbmRleCA1MWM1ZGUwNjFiNjRmZTc0NTVhNjk0MTg0YTdlOTJjMzFlNDZjNWY2Li4y
ODFiYmMwMWIzZjVjM2MwNzhhMTZkOTBmMzI2ZGM3ZGRhZDRkZDQwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV1RGL3d0Zi9VUkxIZWxwZXJzLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9VUkxIZWxwZXJz
LmNwcApAQCAtNDUsMjQgKzQ1LDI0IEBAIG5hbWVzcGFjZSBVUkxIZWxwZXJzIHsKIGNvbnN0ZXhw
ciB1bnNpZ25lZCBob3N0TmFtZUJ1ZmZlckxlbmd0aCA9IDIwNDg7CiBjb25zdGV4cHIgdW5zaWdu
ZWQgdXJsQnl0ZXNCdWZmZXJMZW5ndGggPSAyMDQ4OwogCi0vLyBUaGlzIG5lZWRzIHRvIGJlIGhp
Z2hlciB0aGFuIHRoZSBVU2NyaXB0Q29kZSBmb3IgYW55IG9mIHRoZSBzY3JpcHRzIG9uIHRoZSBJ
RE4gd2hpdGVsaXN0LgorLy8gVGhpcyBuZWVkcyB0byBiZSBoaWdoZXIgdGhhbiB0aGUgVVNjcmlw
dENvZGUgZm9yIGFueSBvZiB0aGUgc2NyaXB0cyBvbiB0aGUgSUROIGFsbG93ZWQgbGlzdC4KIC8v
IEF0IG9uZSBwb2ludCB3ZSB1c2VkIFVTQ1JJUFRfQ09ERV9MSU1JVCBmcm9tIElDVSwgYnV0IHRo
ZXJlIGFyZSB0d28gcmVhc29ucyBub3QgdG8gdXNlIGl0LgogLy8gMSkgSUNVIGNvbnNpZGVycyBp
dCBkZXByZWNhdGVkLCBzbyBieSBzZXR0aW5nIFVfSElERV9ERVBSRUNBVEVEIHdlIGNhbid0IHNl
ZSBpdC4KIC8vIDIpIE5vIGdvb2QgcmVhc29uIHRvIGxpbWl0IG91cnNlbHZlcyB0byBzY3JpcHRz
IHRoYXQgZXhpc3RlZCBpbiB0aGUgSUNVIGhlYWRlcnMgd2hlbgogLy8gICAgV2ViS2l0IHdhcyBj
b21waWxlZC4KLS8vIFRoaXMgaXMgb25seSByZWFsbHkgaW1wb3J0YW50IGZvciBwbGF0Zm9ybXMg
dGhhdCBsb2FkIGFuIGV4dGVybmFsIElDVSB3aGl0ZWxpc3QuCisvLyBUaGlzIGlzIG9ubHkgcmVh
bGx5IGltcG9ydGFudCBmb3IgcGxhdGZvcm1zIHRoYXQgbG9hZCBhbiBleHRlcm5hbCBJRE4gYWxs
b3dlZCBzY3JpcHQgbGlzdC4KIC8vIE5vdCBpbXBvcnRhbnQgZm9yIHRoZSBjb21waWxlZC1pbiBv
bmUuCiBjb25zdGV4cHIgYXV0byBzY3JpcHRDb2RlTGltaXQgPSBzdGF0aWNfY2FzdDxVU2NyaXB0
Q29kZT4oMjU2KTsKIAotc3RhdGljIHVpbnQzMl90IElETlNjcmlwdFdoaXRlTGlzdFsoc2NyaXB0
Q29kZUxpbWl0ICsgMzEpIC8gMzJdOworc3RhdGljIHVpbnQzMl90IGFsbG93ZWRJRE5TY3JpcHRC
aXRzWyhzY3JpcHRDb2RlTGltaXQgKyAzMSkgLyAzMl07CiAKICNpZiAhUExBVEZPUk0oQ09DT0Ep
CiAKLS8vIENvY29hIGhhcyBhbiBpbXBsZW1lbnRhdGlvbiB0aGF0IHVzZXMgYSB3aGl0ZWxpc3Qg
aW4gL0xpYnJhcnkgb3Igfi9MaWJyYXJ5LCBpZiBpdCBleGlzdHMuCi12b2lkIGxvYWRJRE5TY3Jp
cHRXaGl0ZUxpc3QoKQorLy8gQ29jb2EgaGFzIGFuIGltcGxlbWVudGF0aW9uIHRoYXQgcmVhZCB0
aGlzIGZyb20gYSBmaWxlIGluIC9MaWJyYXJ5IG9yIH4vTGlicmFyeS4KK3ZvaWQgbG9hZElETkFs
bG93ZWRTY3JpcHRMaXN0KCkKIHsKICAgICBzdGF0aWMgc3RkOjpvbmNlX2ZsYWcgZmxhZzsKLSAg
ICBzdGQ6OmNhbGxfb25jZShmbGFnLCBpbml0aWFsaXplRGVmYXVsdElETlNjcmlwdFdoaXRlTGlz
dCk7CisgICAgc3RkOjpjYWxsX29uY2UoZmxhZywgaW5pdGlhbGl6ZURlZmF1bHRJRE5BbGxvd2Vk
U2NyaXB0TGlzdCk7CiB9CiAKICNlbmRpZiAvLyAhUExBVEZPUk0oQ09DT0EpCkBAIC0xMTIsNyAr
MTEyLDcgQEAgc3RhdGljIGJvb2wgaXNMb29rYWxpa2VDaGFyYWN0ZXIoY29uc3QgT3B0aW9uYWw8
VUNoYXIzMj4mIHByZXZpb3VzQ29kZVBvaW50LCBVQ2gKICAgICAvLyBhbnkgbm9uLXByaW50YWJs
ZSBjaGFyYWN0ZXIsIGFueSBjaGFyYWN0ZXIgY29uc2lkZXJlZCBhcyB3aGl0ZXNwYWNlLAogICAg
IC8vIGFueSBpZ25vcmFibGUgY2hhcmFjdGVyLCBhbmQgZW1vamkgY2hhcmFjdGVycyByZWxhdGVk
IHRvIGxvY2tzLgogICAgIAotICAgIC8vIFdlIGFsc28gY29uc2lkZXJlZCB0aGUgY2hhcmFjdGVy
cyBpbiBNb3ppbGxhJ3MgYmxhY2tsaXN0IDxodHRwOi8va2IubW96aWxsYXppbmUub3JnL05ldHdv
cmsuSUROLmJsYWNrbGlzdF9jaGFycz4uCisgICAgLy8gV2UgYWxzbyBjb25zaWRlcmVkIHRoZSBj
aGFyYWN0ZXJzIGluIE1vemlsbGEncyBsaXN0IG9mIGNoYXJhY3RlcnMgPGh0dHA6Ly9rYi5tb3pp
bGxhemluZS5vcmcvTmV0d29yay5JRE4uYmxhY2tsaXN0X2NoYXJzPi4KIAogICAgIC8vIFNvbWUg
b2YgdGhlIGNoYXJhY3RlcnMgaGVyZSB3aWxsIG5ldmVyIGFwcGVhciBvbmNlIElDVSBoYXMgZW5j
b2RlZC4KICAgICAvLyBGb3IgZXhhbXBsZSwgSUNVIHRyYW5zZm9ybXMgbW9zdCBzcGFjZXMgaW50
byBhbiBBU0NJSSBzcGFjZSBhbmQgbW9zdApAQCAtMjY0LDI4ICsyNjQsMjggQEAgc3RhdGljIGJv
b2wgaXNMb29rYWxpa2VDaGFyYWN0ZXIoY29uc3QgT3B0aW9uYWw8VUNoYXIzMj4mIHByZXZpb3Vz
Q29kZVBvaW50LCBVQ2gKICAgICB9CiB9CiAKLXN0YXRpYyB2b2lkIHdoaXRlTGlzdElETlNjcmlw
dChpbnQzMl90IHNjcmlwdCkKK3N0YXRpYyB2b2lkIGFkZFNjcmlwdFRvSUROQWxsb3dlZFNjcmlw
dExpc3QoaW50MzJfdCBzY3JpcHQpCiB7CiAgICAgaWYgKHNjcmlwdCA+PSAwICYmIHNjcmlwdCA8
IHNjcmlwdENvZGVMaW1pdCkgewogICAgICAgICBzaXplX3QgaW5kZXggPSBzY3JpcHQgLyAzMjsK
ICAgICAgICAgdWludDMyX3QgbWFzayA9IDEgPDwgKHNjcmlwdCAlIDMyKTsKLSAgICAgICAgSURO
U2NyaXB0V2hpdGVMaXN0W2luZGV4XSB8PSBtYXNrOworICAgICAgICBhbGxvd2VkSUROU2NyaXB0
Qml0c1tpbmRleF0gfD0gbWFzazsKICAgICB9CiB9CiAKLXN0YXRpYyB2b2lkIHdoaXRlTGlzdElE
TlNjcmlwdChVU2NyaXB0Q29kZSBzY3JpcHQpCitzdGF0aWMgdm9pZCBhZGRTY3JpcHRUb0lETkFs
bG93ZWRTY3JpcHRMaXN0KFVTY3JpcHRDb2RlIHNjcmlwdCkKIHsKLSAgICB3aGl0ZUxpc3RJRE5T
Y3JpcHQoc3RhdGljX2Nhc3Q8aW50MzJfdD4oc2NyaXB0KSk7CisgICAgYWRkU2NyaXB0VG9JRE5B
bGxvd2VkU2NyaXB0TGlzdChzdGF0aWNfY2FzdDxpbnQzMl90PihzY3JpcHQpKTsKIH0KIAotdm9p
ZCB3aGl0ZUxpc3RJRE5TY3JpcHQoY29uc3QgY2hhciogc2NyaXB0TmFtZSkKK3ZvaWQgYWRkU2Ny
aXB0VG9JRE5BbGxvd2VkU2NyaXB0TGlzdChjb25zdCBjaGFyKiBzY3JpcHROYW1lKQogewotICAg
IHdoaXRlTGlzdElETlNjcmlwdCh1X2dldFByb3BlcnR5VmFsdWVFbnVtKFVDSEFSX1NDUklQVCwg
c2NyaXB0TmFtZSkpOworICAgIGFkZFNjcmlwdFRvSUROQWxsb3dlZFNjcmlwdExpc3QodV9nZXRQ
cm9wZXJ0eVZhbHVlRW51bShVQ0hBUl9TQ1JJUFQsIHNjcmlwdE5hbWUpKTsKIH0KIAotdm9pZCBp
bml0aWFsaXplRGVmYXVsdElETlNjcmlwdFdoaXRlTGlzdCgpCit2b2lkIGluaXRpYWxpemVEZWZh
dWx0SUROQWxsb3dlZFNjcmlwdExpc3QoKQogewotICAgIGNvbnN0ZXhwciBVU2NyaXB0Q29kZSBk
ZWZhdWx0SUROU2NyaXB0V2hpdGVMaXN0W10gPSB7CisgICAgY29uc3RleHByIFVTY3JpcHRDb2Rl
IHNjcmlwdHNbXSA9IHsKICAgICAgICAgVVNDUklQVF9DT01NT04sCiAgICAgICAgIFVTQ1JJUFRf
SU5IRVJJVEVELAogICAgICAgICBVU0NSSVBUX0FSQUJJQywKQEAgLTMwNywxMyArMzA3LDEzIEBA
IHZvaWQgaW5pdGlhbGl6ZURlZmF1bHRJRE5TY3JpcHRXaGl0ZUxpc3QoKQogICAgICAgICBVU0NS
SVBUX1RIQUksCiAgICAgICAgIFVTQ1JJUFRfWUksCiAgICAgfTsKLSAgICBmb3IgKGF1dG8gc2Ny
aXB0IDogZGVmYXVsdElETlNjcmlwdFdoaXRlTGlzdCkKLSAgICAgICAgd2hpdGVMaXN0SUROU2Ny
aXB0KHNjcmlwdCk7CisgICAgZm9yIChhdXRvIHNjcmlwdCA6IHNjcmlwdHMpCisgICAgICAgIGFk
ZFNjcmlwdFRvSUROQWxsb3dlZFNjcmlwdExpc3Qoc2NyaXB0KTsKIH0KIAotc3RhdGljIGJvb2wg
YWxsQ2hhcmFjdGVyc0luSUROU2NyaXB0V2hpdGVMaXN0KGNvbnN0IFVDaGFyKiBidWZmZXIsIGlu
dDMyX3QgbGVuZ3RoKQorc3RhdGljIGJvb2wgYWxsQ2hhcmFjdGVyc0luQWxsb3dlZElETlNjcmlw
dExpc3QoY29uc3QgVUNoYXIqIGJ1ZmZlciwgaW50MzJfdCBsZW5ndGgpCiB7Ci0gICAgbG9hZElE
TlNjcmlwdFdoaXRlTGlzdCgpOworICAgIGxvYWRJRE5BbGxvd2VkU2NyaXB0TGlzdCgpOwogICAg
IGludDMyX3QgaSA9IDA7CiAgICAgT3B0aW9uYWw8VUNoYXIzMj4gcHJldmlvdXNDb2RlUG9pbnQ7
CiAgICAgd2hpbGUgKGkgPCBsZW5ndGgpIHsKQEAgLTMzNCw3ICszMzQsNyBAQCBzdGF0aWMgYm9v
bCBhbGxDaGFyYWN0ZXJzSW5JRE5TY3JpcHRXaGl0ZUxpc3QoY29uc3QgVUNoYXIqIGJ1ZmZlciwg
aW50MzJfdCBsZW5ndAogCiAgICAgICAgIHNpemVfdCBpbmRleCA9IHNjcmlwdCAvIDMyOwogICAg
ICAgICB1aW50MzJfdCBtYXNrID0gMSA8PCAoc2NyaXB0ICUgMzIpOwotICAgICAgICBpZiAoIShJ
RE5TY3JpcHRXaGl0ZUxpc3RbaW5kZXhdICYgbWFzaykpCisgICAgICAgIGlmICghKGFsbG93ZWRJ
RE5TY3JpcHRCaXRzW2luZGV4XSAmIG1hc2spKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgICAgICAKICAgICAgICAgaWYgKGlzTG9va2FsaWtlQ2hhcmFjdGVyKHByZXZpb3VzQ29kZVBv
aW50LCBjKSkKQEAgLTU3Miw3ICs1NzIsNyBAQCBPcHRpb25hbDxTdHJpbmc+IG1hcEhvc3ROYW1l
KGNvbnN0IFN0cmluZyYgaG9zdE5hbWUsIFVSTERlY29kZUZ1bmN0aW9uIGRlY29kZUZ1bgogICAg
IGlmIChudW1DaGFyYWN0ZXJzQ29udmVydGVkID09IHN0YXRpY19jYXN0PGludDMyX3Q+KGxlbmd0
aCkgJiYgIW1lbWNtcChzb3VyY2VCdWZmZXIuZGF0YSgpLCBkZXN0aW5hdGlvbkJ1ZmZlciwgbGVu
Z3RoICogc2l6ZW9mKFVDaGFyKSkpCiAgICAgICAgIHJldHVybiBTdHJpbmcoKTsKIAotICAgIGlm
ICghZGVjb2RlRnVuY3Rpb24gJiYgIWFsbENoYXJhY3RlcnNJbklETlNjcmlwdFdoaXRlTGlzdChk
ZXN0aW5hdGlvbkJ1ZmZlciwgbnVtQ2hhcmFjdGVyc0NvbnZlcnRlZCkgJiYgIWFsbENoYXJhY3Rl
cnNBbGxvd2VkQnlUTERSdWxlcyhkZXN0aW5hdGlvbkJ1ZmZlciwgbnVtQ2hhcmFjdGVyc0NvbnZl
cnRlZCkpCisgICAgaWYgKCFkZWNvZGVGdW5jdGlvbiAmJiAhYWxsQ2hhcmFjdGVyc0luQWxsb3dl
ZElETlNjcmlwdExpc3QoZGVzdGluYXRpb25CdWZmZXIsIG51bUNoYXJhY3RlcnNDb252ZXJ0ZWQp
ICYmICFhbGxDaGFyYWN0ZXJzQWxsb3dlZEJ5VExEUnVsZXMoZGVzdGluYXRpb25CdWZmZXIsIG51
bUNoYXJhY3RlcnNDb252ZXJ0ZWQpKQogICAgICAgICByZXR1cm4gU3RyaW5nKCk7CiAKICAgICBy
ZXR1cm4gU3RyaW5nKGRlc3RpbmF0aW9uQnVmZmVyLCBudW1DaGFyYWN0ZXJzQ29udmVydGVkKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1VSTEhlbHBlcnMuaCBiL1NvdXJjZS9XVEYvd3Rm
L1VSTEhlbHBlcnMuaAppbmRleCAwYWMwYjNkZTQ5NGJlOGY3MjhhNWNhZTYyOGZmYWI2ODRmZGVl
YzJmLi43MGQ4ZTk0NGU5NDA5ZjJjNzk1MjQyMjZhMGQ2MWE2YTQ2YmQzYThiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV1RGL3d0Zi9VUkxIZWxwZXJzLmgKKysrIGIvU291cmNlL1dURi93dGYvVVJMSGVs
cGVycy5oCkBAIC0zNyw5ICszNyw5IEBAIG5hbWVzcGFjZSBVUkxIZWxwZXJzIHsKIHVzaW5nIFVS
TERlY29kZUZ1bmN0aW9uID0gU3RyaW5nKCopKGNvbnN0IFN0cmluZyYpOwogCiBXVEZfRVhQT1JU
X1BSSVZBVEUgU3RyaW5nIHVzZXJWaXNpYmxlVVJMKGNvbnN0IENTdHJpbmcmIFVSTCk7Ci12b2lk
IGxvYWRJRE5TY3JpcHRXaGl0ZUxpc3QoKTsKLXZvaWQgd2hpdGVMaXN0SUROU2NyaXB0KGNvbnN0
IGNoYXIqIHNjcmlwdE5hbWUpOwotdm9pZCBpbml0aWFsaXplRGVmYXVsdElETlNjcmlwdFdoaXRl
TGlzdCgpOwordm9pZCBsb2FkSUROQWxsb3dlZFNjcmlwdExpc3QoKTsKK3ZvaWQgYWRkU2NyaXB0
VG9JRE5BbGxvd2VkU2NyaXB0TGlzdChjb25zdCBjaGFyKiBzY3JpcHROYW1lKTsKK3ZvaWQgaW5p
dGlhbGl6ZURlZmF1bHRJRE5BbGxvd2VkU2NyaXB0TGlzdCgpOwogT3B0aW9uYWw8U3RyaW5nPiBt
YXBIb3N0TmFtZShjb25zdCBTdHJpbmcmLCBVUkxEZWNvZGVGdW5jdGlvbik7CiBTdHJpbmcgbWFw
SG9zdE5hbWVzKGNvbnN0IFN0cmluZyYsIFVSTERlY29kZUZ1bmN0aW9uKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dURi93dGYvY29jb2EvTlNVUkxFeHRyYXMubW0gYi9Tb3VyY2UvV1RGL3d0Zi9j
b2NvYS9OU1VSTEV4dHJhcy5tbQppbmRleCA3YjY0Y2VkNmMyYWJiOTUzZDZmODFlYzQ4YmUxMzk3
ZGE2ODc1NjczLi5hNDVkOGMxMWM3ZWVhNWVkNjk0Y2Q2NWZmMjBlZTk2MjVjNTk2M2FkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9OU1VSTEV4dHJhcy5tbQorKysgYi9Tb3VyY2Uv
V1RGL3d0Zi9jb2NvYS9OU1VSTEV4dHJhcy5tbQpAQCAtNDIsNyArNDIsNyBAQCB1c2luZyBuYW1l
c3BhY2UgVVJMSGVscGVyczsKIAogY29uc3RleHByIHVuc2lnbmVkIHVybEJ5dGVzQnVmZmVyTGVu
Z3RoID0gMjA0ODsKIAotc3RhdGljIEJPT0wgcmVhZElETlNjcmlwdFdoaXRlTGlzdEZpbGUoTlNT
dHJpbmcgKmZpbGVuYW1lKQorc3RhdGljIEJPT0wgcmVhZElETkFsbG93ZWRTY3JpcHRMaXN0Rmls
ZShOU1N0cmluZyAqZmlsZW5hbWUpCiB7CiAgICAgaWYgKCFmaWxlbmFtZSkKICAgICAgICAgcmV0
dXJuIE5POwpAQCAtNjYsNyArNjYsNyBAQCBzdGF0aWMgQk9PTCByZWFkSUROU2NyaXB0V2hpdGVM
aXN0RmlsZShOU1N0cmluZyAqZmlsZW5hbWUpCiAgICAgICAgIAogICAgICAgICBpZiAocmVzdWx0
ID09IDEpIHsKICAgICAgICAgICAgIC8vIEdvdCBhIHdvcmQsIG1hcCB0byBzY3JpcHQgY29kZSBh
bmQgcHV0IGl0IGludG8gdGhlIGFycmF5LgotICAgICAgICAgICAgd2hpdGVMaXN0SUROU2NyaXB0
KHdvcmQpOworICAgICAgICAgICAgYWRkU2NyaXB0VG9JRE5BbGxvd2VkU2NyaXB0TGlzdCh3b3Jk
KTsKICAgICAgICAgfQogICAgIH0KICAgICBmY2xvc2UoZmlsZSk7CkBAIC03NSwxOCArNzUsMTUg
QEAgc3RhdGljIEJPT0wgcmVhZElETlNjcmlwdFdoaXRlTGlzdEZpbGUoTlNTdHJpbmcgKmZpbGVu
YW1lKQogCiBuYW1lc3BhY2UgVVJMSGVscGVycyB7CiAKLXZvaWQgbG9hZElETlNjcmlwdFdoaXRl
TGlzdCgpCit2b2lkIGxvYWRJRE5BbGxvd2VkU2NyaXB0TGlzdCgpCiB7CiAgICAgc3RhdGljIGRp
c3BhdGNoX29uY2VfdCBmbGFnOwogICAgIGRpc3BhdGNoX29uY2UoJmZsYWcsIF57Ci0gICAgICAg
IC8vIFJlYWQgd2hpdGUgbGlzdCBmcm9tIGxpYnJhcnkuCi0gICAgICAgIE5TQXJyYXkgKmRpcnMg
PSBOU1NlYXJjaFBhdGhGb3JEaXJlY3Rvcmllc0luRG9tYWlucyhOU0xpYnJhcnlEaXJlY3Rvcnks
IE5TQWxsRG9tYWluc01hc2ssIFlFUyk7Ci0gICAgICAgIGludCBudW1EaXJzID0gW2RpcnMgY291
bnRdOwotICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG51bURpcnM7IGkrKykgewotICAgICAg
ICAgICAgaWYgKHJlYWRJRE5TY3JpcHRXaGl0ZUxpc3RGaWxlKFtbZGlycyBvYmplY3RBdEluZGV4
OmldIHN0cmluZ0J5QXBwZW5kaW5nUGF0aENvbXBvbmVudDpAIklETlNjcmlwdFdoaXRlTGlzdC50
eHQiXSkpCisgICAgICAgIGZvciAoTlNTdHJpbmcgKmRpcmVjdG9yeSBpbiBOU1NlYXJjaFBhdGhG
b3JEaXJlY3Rvcmllc0luRG9tYWlucyhOU0xpYnJhcnlEaXJlY3RvcnksIE5TQWxsRG9tYWluc01h
c2ssIFlFUykpIHsKKyAgICAgICAgICAgIGlmIChyZWFkSUROQWxsb3dlZFNjcmlwdExpc3RGaWxl
KFtkaXJlY3Rvcnkgc3RyaW5nQnlBcHBlbmRpbmdQYXRoQ29tcG9uZW50OkAiSUROU2NyaXB0V2hp
dGVMaXN0LnR4dCJdKSkKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLSAgICAg
ICAgaW5pdGlhbGl6ZURlZmF1bHRJRE5TY3JpcHRXaGl0ZUxpc3QoKTsKKyAgICAgICAgaW5pdGlh
bGl6ZURlZmF1bHRJRE5BbGxvd2VkU2NyaXB0TGlzdCgpOwogICAgIH0pOwogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggNmYyZDhmYWQxNjVmNWFhNDlhOGYy
YThlOTBkYTY2Nzg1NTY2ZGY0NS4uNjI1MzVlODY1MjgxMzc1MjE1ZmNjZjhjMjdjMDkzODk1MGQz
ODg0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAtOTIxLDcg
KzkyMSw3IEBAIGJvb2wgV2ViUHJvY2Vzczo6c2hvdWxkUGx1Z0luQXV0b1N0YXJ0RnJvbU9yaWdp
bihXZWJQYWdlJiB3ZWJQYWdlLCBjb25zdCBTdHJpbmcmCiAgICAgICAgIHJldHVybiB0cnVlOwog
CiAjaWYgRU5BQkxFKFBSSU1BUllfU05BUFNIT1RURURfUExVR0lOX0hFVVJJU1RJQykKLSAgICAv
LyBUaGUgcGx1Z2luIHdhc24ndCBpbiB0aGUgZ2VuZXJhbCB3aGl0ZWxpc3QsIHNvIGNoZWNrIGlm
IGl0IHNpbWlsYXIgdG8gdGhlIHByaW1hcnkgcGx1Z2luIGZvciB0aGUgcGFnZSAoaWYgd2UndmUg
Zm91bmQgb25lKS4KKyAgICAvLyBUaGUgcGx1Z2luIHdhc24ndCBpbiB0aGUgZ2VuZXJhbCBsaXN0
LCBzbyBjaGVjayBpZiBpdCBzaW1pbGFyIHRvIHRoZSBwcmltYXJ5IHBsdWdpbiBmb3IgdGhlIHBh
Z2UgKGlmIHdlJ3ZlIGZvdW5kIG9uZSkuCiAgICAgaWYgKHdlYlBhZ2UubWF0Y2hlc1ByaW1hcnlQ
bHVnSW4ocGFnZU9yaWdpbiwgcGx1Z2luT3JpZ2luLCBtaW1lVHlwZSkpCiAgICAgICAgIHJldHVy
biB0cnVlOwogI2Vsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZp
ZXcvV2ViVmlld1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2Vi
Vmlld1ByaXZhdGUuaAppbmRleCA0ODdjNGEyZDcwZmUyNGEwNDI1MWVhY2VkODhmYjQ4M2M3NzI0
OTFkLi4xMjFmZTVlMjQ5MzNkYjMxMWRkMWNmNWU3Nzg4NjQ1MmM0YWRhZTAxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdQcml2YXRlLmgKKysrIGIv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3UHJpdmF0ZS5oCkBAIC04MDAs
NyArODAwLDcgQEAgQ291bGQgYmUgd29ydGggYWRkaW5nIHRvIHRoZSBBUEkuCiArICh2b2lkKV9h
ZGRPcmlnaW5BY2Nlc3NBbGxvd0xpc3RFbnRyeVdpdGhTb3VyY2VPcmlnaW46KE5TU3RyaW5nICop
c291cmNlT3JpZ2luIGRlc3RpbmF0aW9uUHJvdG9jb2w6KE5TU3RyaW5nICopZGVzdGluYXRpb25Q
cm90b2NvbCBkZXN0aW5hdGlvbkhvc3Q6KE5TU3RyaW5nICopZGVzdGluYXRpb25Ib3N0IGFsbG93
RGVzdGluYXRpb25TdWJkb21haW5zOihCT09MKWFsbG93RGVzdGluYXRpb25TdWJkb21haW5zOwog
KyAodm9pZClfcmVtb3ZlT3JpZ2luQWNjZXNzQWxsb3dMaXN0RW50cnlXaXRoU291cmNlT3JpZ2lu
OihOU1N0cmluZyAqKXNvdXJjZU9yaWdpbiBkZXN0aW5hdGlvblByb3RvY29sOihOU1N0cmluZyAq
KWRlc3RpbmF0aW9uUHJvdG9jb2wgZGVzdGluYXRpb25Ib3N0OihOU1N0cmluZyAqKWRlc3RpbmF0
aW9uSG9zdCBhbGxvd0Rlc3RpbmF0aW9uU3ViZG9tYWluczooQk9PTClhbGxvd0Rlc3RpbmF0aW9u
U3ViZG9tYWluczsKIAotLy8gUmVtb3ZlcyBhbGwgd2hpdGUgbGlzdCBlbnRyaWVzIGNyZWF0ZWQg
d2l0aCBfYWRkT3JpZ2luQWNjZXNzQWxsb3dMaXN0RW50cnlXaXRoU291cmNlT3JpZ2luLgorLy8g
UmVtb3ZlcyBhbGwgYWxsb3cgbGlzdCBlbnRyaWVzIGNyZWF0ZWQgd2l0aCBfYWRkT3JpZ2luQWNj
ZXNzQWxsb3dMaXN0RW50cnlXaXRoU291cmNlT3JpZ2luLgogKyAodm9pZClfcmVzZXRPcmlnaW5B
Y2Nlc3NBbGxvd0xpc3RzOwogCiAvLyBGSVhNRTogVGhlIGZvbGxvd2luZyB0d28gbWV0aG9kcyBh
cmUgZGVwcmVjYXRlZCBpbiBmYXZvciBvZiB0aGUgb3ZlcmxvYWRzIGJlbG93IHRoYXQgdGFrZSB0
aGUgV2ViVXNlckNvbnRlbnRJbmplY3RlZEZyYW1lcyBhcmd1bWVudC4gaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQxODAwLgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404391</attachid>
            <date>2020-07-15 13:59:58 -0700</date>
            <delta_ts>2020-07-15 14:04:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214371-20200715135958.patch</filename>
            <type>text/plain</type>
            <size>12774</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0NDE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGM0ZTg2Y2M2ZGMyM2UxNjQ0M2U3ZjM1
OTlkZDIzOWE5NWFlYWM1NjMuLjkwNzdkZTZiYzRlMTQ2NTQwM2YzNjUwY2M2NmFkMjgzZDEwNTA4
ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMjAtMDctMTUgIERhcmluIEFkbGVyICA8ZGFyaW5A
YXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBhIGZldyBtb3JlIHVzZXMgb2YgdGhlIHRlcm1z
IGJsYWNrL3doaXRlIGxpc3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIxNDM3MQorCisgICAgICAgIFJldmlld2VkIGJ5IEFsZXggQ2hyaXN0ZW5zZW4u
CisKKyAgICAgICAgKiB3dGYvVVJMSGVscGVycy5jcHA6CisgICAgICAgIChXVEY6OlVSTEhlbHBl
cnM6OmxvYWRJRE5BbGxvd2VkU2NyaXB0TGlzdCk6IFJlbmFtZWQuCisgICAgICAgIChXVEY6OlVS
TEhlbHBlcnM6OmlzTG9va2FsaWtlQ2hhcmFjdGVyKTogUmVuYW1lZC4KKyAgICAgICAgKFdURjo6
VVJMSGVscGVyczo6YWRkU2NyaXB0VG9JRE5BbGxvd2VkU2NyaXB0TGlzdCk6IFJlbmFtZWQuCisg
ICAgICAgIChXVEY6OlVSTEhlbHBlcnM6OmluaXRpYWxpemVEZWZhdWx0SUROQWxsb3dlZFNjcmlw
dExpc3QpOiBSZW5hbWVkLgorICAgICAgICAoV1RGOjpVUkxIZWxwZXJzOjphbGxDaGFyYWN0ZXJz
SW5BbGxvd2VkSUROU2NyaXB0TGlzdCk6IFJlbmFtZWQuCisgICAgICAgIChXVEY6OlVSTEhlbHBl
cnM6Om1hcEhvc3ROYW1lKTogVXBkYXRlZCBmb3IgbmFtZSBjaGFuZ2VzLgorICAgICAgICAqIHd0
Zi9VUkxIZWxwZXJzLmg6IFJlbmFtZWQgdGhpbmdzLgorCisgICAgICAgICogd3RmL2NvY29hL05T
VVJMRXh0cmFzLm1tOgorICAgICAgICAoV1RGOjpyZWFkSUROQWxsb3dlZFNjcmlwdExpc3RGaWxl
KTogUmVuYW1lZC4KKyAgICAgICAgKFdURjo6VVJMSGVscGVyczo6bG9hZElETkFsbG93ZWRTY3Jp
cHRMaXN0KTogUmVuYW1lZC4gQWxzbyB1c2UgYSBtb2Rlcm4gZm9yCisgICAgICAgIGxvb3AgdG8g
c2ltcGxpZnkgdGhlIGNvZGUuCisKIDIwMjAtMDctMTUgIEppbSBNYXNvbiAgPGptYXNvbkBpYmlu
eC5jb20+CiAKICAgICAgICAgW1dURl0gRml4IFBhY2tlZEFsaWduZWRQdHIgZm9yIFg4Nl82NCBj
YW5vbmljYWwgYWRkcmVzc2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGVmMTMzOWIwYThkNDFkOTVmNTViMmIxZDIx
MGUzZGRkMjdlZjdiYzIuLjBmZGZmNmNkODQ5Njg5NjdhMzg2ZWFkMzI2OTI2OTIwZTFmZWU0ZjIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjAtMDctMTUgIERhcmluIEFkbGVyICA8ZGFy
aW5AYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBhIGZldyBtb3JlIHVzZXMgb2YgdGhlIHRl
cm1zIGJsYWNrL3doaXRlIGxpc3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIxNDM3MQorCisgICAgICAgIFJldmlld2VkIGJ5IEFsZXggQ2hyaXN0ZW5z
ZW4uCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQcm9jZXNzOjpzaG91bGRQbHVnSW5BdXRvU3RhcnRGcm9tT3JpZ2luKTogUmV3b3Jk
ZWQgYSBjb21tZW50LgorCiAyMDIwLTA3LTE1ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJA
YXBwbGUuY29tPgogCiAgICAgICAgIGl0c25pY2V0aGF0LmNvbSBwYWdlIGlzIHNvbWV0aW1lcyBu
b24tc2Nyb2xsYWJsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCmluZGV4IGUzMjRlZjQyNWI1
ZTI2YjcxYTQ4Y2RjNGFiYzYzNmI2NWY1MmI2ZTAuLjI5MDE3OWFmMDYzMTUzMTQ1MzMwNDdhNTYw
OWM4ZDRlMjY2YmJmYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
MiBAQAorMjAyMC0wNy0xNSAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgUmVtb3ZlIGEgZmV3IG1vcmUgdXNlcyBvZiB0aGUgdGVybXMgYmxhY2svd2hpdGUgbGlzdAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0MzcxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJpc3RlbnNlbi4KKworICAgICAgICAqIFdlYlZp
ZXcvV2ViVmlld1ByaXZhdGUuaDogQ29ycmVjdGVkIGEgbWlzdGFrZSBpbiBhIGNvbW1lbnQuCisK
IDIwMjAtMDctMTMgIEtlaXRoIE1pbGxlciAgPGtlaXRoX21pbGxlckBhcHBsZS5jb20+CiAKICAg
ICAgICAgQ2xlYW4gdXAgU291cmNlUHJvdmlkZXIgYW5kIGFkZCBjYWxsZXIgcmVsYXRpdmUgbG9h
ZCBzY3JpcHQgdG8ganNjLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvVVJMSGVscGVy
cy5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9VUkxIZWxwZXJzLmNwcAppbmRleCA1MWM1ZGUwNjFiNjRm
ZTc0NTVhNjk0MTg0YTdlOTJjMzFlNDZjNWY2Li44OWQwNTkyMDFlNjkyYjNhODM1ZDE1NzA2NzBm
YzczZjc4NDI4YWFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9VUkxIZWxwZXJzLmNwcAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi9VUkxIZWxwZXJzLmNwcApAQCAtNDUsMjQgKzQ1LDI0IEBAIG5h
bWVzcGFjZSBVUkxIZWxwZXJzIHsKIGNvbnN0ZXhwciB1bnNpZ25lZCBob3N0TmFtZUJ1ZmZlckxl
bmd0aCA9IDIwNDg7CiBjb25zdGV4cHIgdW5zaWduZWQgdXJsQnl0ZXNCdWZmZXJMZW5ndGggPSAy
MDQ4OwogCi0vLyBUaGlzIG5lZWRzIHRvIGJlIGhpZ2hlciB0aGFuIHRoZSBVU2NyaXB0Q29kZSBm
b3IgYW55IG9mIHRoZSBzY3JpcHRzIG9uIHRoZSBJRE4gd2hpdGVsaXN0LgorLy8gVGhpcyBuZWVk
cyB0byBiZSBoaWdoZXIgdGhhbiB0aGUgVVNjcmlwdENvZGUgZm9yIGFueSBvZiB0aGUgc2NyaXB0
cyBvbiB0aGUgSUROIGFsbG93ZWQgbGlzdC4KIC8vIEF0IG9uZSBwb2ludCB3ZSB1c2VkIFVTQ1JJ
UFRfQ09ERV9MSU1JVCBmcm9tIElDVSwgYnV0IHRoZXJlIGFyZSB0d28gcmVhc29ucyBub3QgdG8g
dXNlIGl0LgogLy8gMSkgSUNVIGNvbnNpZGVycyBpdCBkZXByZWNhdGVkLCBzbyBieSBzZXR0aW5n
IFVfSElERV9ERVBSRUNBVEVEIHdlIGNhbid0IHNlZSBpdC4KIC8vIDIpIE5vIGdvb2QgcmVhc29u
IHRvIGxpbWl0IG91cnNlbHZlcyB0byBzY3JpcHRzIHRoYXQgZXhpc3RlZCBpbiB0aGUgSUNVIGhl
YWRlcnMgd2hlbgogLy8gICAgV2ViS2l0IHdhcyBjb21waWxlZC4KLS8vIFRoaXMgaXMgb25seSBy
ZWFsbHkgaW1wb3J0YW50IGZvciBwbGF0Zm9ybXMgdGhhdCBsb2FkIGFuIGV4dGVybmFsIElDVSB3
aGl0ZWxpc3QuCisvLyBUaGlzIGlzIG9ubHkgcmVhbGx5IGltcG9ydGFudCBmb3IgcGxhdGZvcm1z
IHRoYXQgbG9hZCBhbiBleHRlcm5hbCBJRE4gYWxsb3dlZCBzY3JpcHQgbGlzdC4KIC8vIE5vdCBp
bXBvcnRhbnQgZm9yIHRoZSBjb21waWxlZC1pbiBvbmUuCiBjb25zdGV4cHIgYXV0byBzY3JpcHRD
b2RlTGltaXQgPSBzdGF0aWNfY2FzdDxVU2NyaXB0Q29kZT4oMjU2KTsKIAotc3RhdGljIHVpbnQz
Ml90IElETlNjcmlwdFdoaXRlTGlzdFsoc2NyaXB0Q29kZUxpbWl0ICsgMzEpIC8gMzJdOworc3Rh
dGljIHVpbnQzMl90IGFsbG93ZWRJRE5TY3JpcHRCaXRzWyhzY3JpcHRDb2RlTGltaXQgKyAzMSkg
LyAzMl07CiAKICNpZiAhUExBVEZPUk0oQ09DT0EpCiAKLS8vIENvY29hIGhhcyBhbiBpbXBsZW1l
bnRhdGlvbiB0aGF0IHVzZXMgYSB3aGl0ZWxpc3QgaW4gL0xpYnJhcnkgb3Igfi9MaWJyYXJ5LCBp
ZiBpdCBleGlzdHMuCi12b2lkIGxvYWRJRE5TY3JpcHRXaGl0ZUxpc3QoKQorLy8gQ29jb2EgaGFz
IGFuIGltcGxlbWVudGF0aW9uIHRoYXQgcmVhZHMgdGhpcyBmcm9tIGEgZmlsZSBpbiAvTGlicmFy
eSBvciB+L0xpYnJhcnkuCit2b2lkIGxvYWRJRE5BbGxvd2VkU2NyaXB0TGlzdCgpCiB7CiAgICAg
c3RhdGljIHN0ZDo6b25jZV9mbGFnIGZsYWc7Ci0gICAgc3RkOjpjYWxsX29uY2UoZmxhZywgaW5p
dGlhbGl6ZURlZmF1bHRJRE5TY3JpcHRXaGl0ZUxpc3QpOworICAgIHN0ZDo6Y2FsbF9vbmNlKGZs
YWcsIGluaXRpYWxpemVEZWZhdWx0SUROQWxsb3dlZFNjcmlwdExpc3QpOwogfQogCiAjZW5kaWYg
Ly8gIVBMQVRGT1JNKENPQ09BKQpAQCAtMTEyLDcgKzExMiw3IEBAIHN0YXRpYyBib29sIGlzTG9v
a2FsaWtlQ2hhcmFjdGVyKGNvbnN0IE9wdGlvbmFsPFVDaGFyMzI+JiBwcmV2aW91c0NvZGVQb2lu
dCwgVUNoCiAgICAgLy8gYW55IG5vbi1wcmludGFibGUgY2hhcmFjdGVyLCBhbnkgY2hhcmFjdGVy
IGNvbnNpZGVyZWQgYXMgd2hpdGVzcGFjZSwKICAgICAvLyBhbnkgaWdub3JhYmxlIGNoYXJhY3Rl
ciwgYW5kIGVtb2ppIGNoYXJhY3RlcnMgcmVsYXRlZCB0byBsb2Nrcy4KICAgICAKLSAgICAvLyBX
ZSBhbHNvIGNvbnNpZGVyZWQgdGhlIGNoYXJhY3RlcnMgaW4gTW96aWxsYSdzIGJsYWNrbGlzdCA8
aHR0cDovL2tiLm1vemlsbGF6aW5lLm9yZy9OZXR3b3JrLklETi5ibGFja2xpc3RfY2hhcnM+Lgor
ICAgIC8vIFdlIGFsc28gY29uc2lkZXJlZCB0aGUgY2hhcmFjdGVycyBpbiBNb3ppbGxhJ3MgbGlz
dCBvZiBjaGFyYWN0ZXJzIDxodHRwOi8va2IubW96aWxsYXppbmUub3JnL05ldHdvcmsuSUROLmJs
YWNrbGlzdF9jaGFycz4uCiAKICAgICAvLyBTb21lIG9mIHRoZSBjaGFyYWN0ZXJzIGhlcmUgd2ls
bCBuZXZlciBhcHBlYXIgb25jZSBJQ1UgaGFzIGVuY29kZWQuCiAgICAgLy8gRm9yIGV4YW1wbGUs
IElDVSB0cmFuc2Zvcm1zIG1vc3Qgc3BhY2VzIGludG8gYW4gQVNDSUkgc3BhY2UgYW5kIG1vc3QK
QEAgLTI2NCwyOCArMjY0LDI4IEBAIHN0YXRpYyBib29sIGlzTG9va2FsaWtlQ2hhcmFjdGVyKGNv
bnN0IE9wdGlvbmFsPFVDaGFyMzI+JiBwcmV2aW91c0NvZGVQb2ludCwgVUNoCiAgICAgfQogfQog
Ci1zdGF0aWMgdm9pZCB3aGl0ZUxpc3RJRE5TY3JpcHQoaW50MzJfdCBzY3JpcHQpCitzdGF0aWMg
dm9pZCBhZGRTY3JpcHRUb0lETkFsbG93ZWRTY3JpcHRMaXN0KGludDMyX3Qgc2NyaXB0KQogewog
ICAgIGlmIChzY3JpcHQgPj0gMCAmJiBzY3JpcHQgPCBzY3JpcHRDb2RlTGltaXQpIHsKICAgICAg
ICAgc2l6ZV90IGluZGV4ID0gc2NyaXB0IC8gMzI7CiAgICAgICAgIHVpbnQzMl90IG1hc2sgPSAx
IDw8IChzY3JpcHQgJSAzMik7Ci0gICAgICAgIElETlNjcmlwdFdoaXRlTGlzdFtpbmRleF0gfD0g
bWFzazsKKyAgICAgICAgYWxsb3dlZElETlNjcmlwdEJpdHNbaW5kZXhdIHw9IG1hc2s7CiAgICAg
fQogfQogCi1zdGF0aWMgdm9pZCB3aGl0ZUxpc3RJRE5TY3JpcHQoVVNjcmlwdENvZGUgc2NyaXB0
KQorc3RhdGljIHZvaWQgYWRkU2NyaXB0VG9JRE5BbGxvd2VkU2NyaXB0TGlzdChVU2NyaXB0Q29k
ZSBzY3JpcHQpCiB7Ci0gICAgd2hpdGVMaXN0SUROU2NyaXB0KHN0YXRpY19jYXN0PGludDMyX3Q+
KHNjcmlwdCkpOworICAgIGFkZFNjcmlwdFRvSUROQWxsb3dlZFNjcmlwdExpc3Qoc3RhdGljX2Nh
c3Q8aW50MzJfdD4oc2NyaXB0KSk7CiB9CiAKLXZvaWQgd2hpdGVMaXN0SUROU2NyaXB0KGNvbnN0
IGNoYXIqIHNjcmlwdE5hbWUpCit2b2lkIGFkZFNjcmlwdFRvSUROQWxsb3dlZFNjcmlwdExpc3Qo
Y29uc3QgY2hhciogc2NyaXB0TmFtZSkKIHsKLSAgICB3aGl0ZUxpc3RJRE5TY3JpcHQodV9nZXRQ
cm9wZXJ0eVZhbHVlRW51bShVQ0hBUl9TQ1JJUFQsIHNjcmlwdE5hbWUpKTsKKyAgICBhZGRTY3Jp
cHRUb0lETkFsbG93ZWRTY3JpcHRMaXN0KHVfZ2V0UHJvcGVydHlWYWx1ZUVudW0oVUNIQVJfU0NS
SVBULCBzY3JpcHROYW1lKSk7CiB9CiAKLXZvaWQgaW5pdGlhbGl6ZURlZmF1bHRJRE5TY3JpcHRX
aGl0ZUxpc3QoKQordm9pZCBpbml0aWFsaXplRGVmYXVsdElETkFsbG93ZWRTY3JpcHRMaXN0KCkK
IHsKLSAgICBjb25zdGV4cHIgVVNjcmlwdENvZGUgZGVmYXVsdElETlNjcmlwdFdoaXRlTGlzdFtd
ID0geworICAgIGNvbnN0ZXhwciBVU2NyaXB0Q29kZSBzY3JpcHRzW10gPSB7CiAgICAgICAgIFVT
Q1JJUFRfQ09NTU9OLAogICAgICAgICBVU0NSSVBUX0lOSEVSSVRFRCwKICAgICAgICAgVVNDUklQ
VF9BUkFCSUMsCkBAIC0zMDcsMTMgKzMwNywxMyBAQCB2b2lkIGluaXRpYWxpemVEZWZhdWx0SURO
U2NyaXB0V2hpdGVMaXN0KCkKICAgICAgICAgVVNDUklQVF9USEFJLAogICAgICAgICBVU0NSSVBU
X1lJLAogICAgIH07Ci0gICAgZm9yIChhdXRvIHNjcmlwdCA6IGRlZmF1bHRJRE5TY3JpcHRXaGl0
ZUxpc3QpCi0gICAgICAgIHdoaXRlTGlzdElETlNjcmlwdChzY3JpcHQpOworICAgIGZvciAoYXV0
byBzY3JpcHQgOiBzY3JpcHRzKQorICAgICAgICBhZGRTY3JpcHRUb0lETkFsbG93ZWRTY3JpcHRM
aXN0KHNjcmlwdCk7CiB9CiAKLXN0YXRpYyBib29sIGFsbENoYXJhY3RlcnNJbklETlNjcmlwdFdo
aXRlTGlzdChjb25zdCBVQ2hhciogYnVmZmVyLCBpbnQzMl90IGxlbmd0aCkKK3N0YXRpYyBib29s
IGFsbENoYXJhY3RlcnNJbkFsbG93ZWRJRE5TY3JpcHRMaXN0KGNvbnN0IFVDaGFyKiBidWZmZXIs
IGludDMyX3QgbGVuZ3RoKQogewotICAgIGxvYWRJRE5TY3JpcHRXaGl0ZUxpc3QoKTsKKyAgICBs
b2FkSUROQWxsb3dlZFNjcmlwdExpc3QoKTsKICAgICBpbnQzMl90IGkgPSAwOwogICAgIE9wdGlv
bmFsPFVDaGFyMzI+IHByZXZpb3VzQ29kZVBvaW50OwogICAgIHdoaWxlIChpIDwgbGVuZ3RoKSB7
CkBAIC0zMzQsNyArMzM0LDcgQEAgc3RhdGljIGJvb2wgYWxsQ2hhcmFjdGVyc0luSUROU2NyaXB0
V2hpdGVMaXN0KGNvbnN0IFVDaGFyKiBidWZmZXIsIGludDMyX3QgbGVuZ3QKIAogICAgICAgICBz
aXplX3QgaW5kZXggPSBzY3JpcHQgLyAzMjsKICAgICAgICAgdWludDMyX3QgbWFzayA9IDEgPDwg
KHNjcmlwdCAlIDMyKTsKLSAgICAgICAgaWYgKCEoSUROU2NyaXB0V2hpdGVMaXN0W2luZGV4XSAm
IG1hc2spKQorICAgICAgICBpZiAoIShhbGxvd2VkSUROU2NyaXB0Qml0c1tpbmRleF0gJiBtYXNr
KSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgCiAgICAgICAgIGlmIChpc0xv
b2thbGlrZUNoYXJhY3RlcihwcmV2aW91c0NvZGVQb2ludCwgYykpCkBAIC01NzIsNyArNTcyLDcg
QEAgT3B0aW9uYWw8U3RyaW5nPiBtYXBIb3N0TmFtZShjb25zdCBTdHJpbmcmIGhvc3ROYW1lLCBV
UkxEZWNvZGVGdW5jdGlvbiBkZWNvZGVGdW4KICAgICBpZiAobnVtQ2hhcmFjdGVyc0NvbnZlcnRl
ZCA9PSBzdGF0aWNfY2FzdDxpbnQzMl90PihsZW5ndGgpICYmICFtZW1jbXAoc291cmNlQnVmZmVy
LmRhdGEoKSwgZGVzdGluYXRpb25CdWZmZXIsIGxlbmd0aCAqIHNpemVvZihVQ2hhcikpKQogICAg
ICAgICByZXR1cm4gU3RyaW5nKCk7CiAKLSAgICBpZiAoIWRlY29kZUZ1bmN0aW9uICYmICFhbGxD
aGFyYWN0ZXJzSW5JRE5TY3JpcHRXaGl0ZUxpc3QoZGVzdGluYXRpb25CdWZmZXIsIG51bUNoYXJh
Y3RlcnNDb252ZXJ0ZWQpICYmICFhbGxDaGFyYWN0ZXJzQWxsb3dlZEJ5VExEUnVsZXMoZGVzdGlu
YXRpb25CdWZmZXIsIG51bUNoYXJhY3RlcnNDb252ZXJ0ZWQpKQorICAgIGlmICghZGVjb2RlRnVu
Y3Rpb24gJiYgIWFsbENoYXJhY3RlcnNJbkFsbG93ZWRJRE5TY3JpcHRMaXN0KGRlc3RpbmF0aW9u
QnVmZmVyLCBudW1DaGFyYWN0ZXJzQ29udmVydGVkKSAmJiAhYWxsQ2hhcmFjdGVyc0FsbG93ZWRC
eVRMRFJ1bGVzKGRlc3RpbmF0aW9uQnVmZmVyLCBudW1DaGFyYWN0ZXJzQ29udmVydGVkKSkKICAg
ICAgICAgcmV0dXJuIFN0cmluZygpOwogCiAgICAgcmV0dXJuIFN0cmluZyhkZXN0aW5hdGlvbkJ1
ZmZlciwgbnVtQ2hhcmFjdGVyc0NvbnZlcnRlZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0
Zi9VUkxIZWxwZXJzLmggYi9Tb3VyY2UvV1RGL3d0Zi9VUkxIZWxwZXJzLmgKaW5kZXggMGFjMGIz
ZGU0OTRiZThmNzI4YTVjYWU2MjhmZmFiNjg0ZmRlZWMyZi4uNzBkOGU5NDRlOTQwOWYyYzc5NTI0
MjI2YTBkNjFhNmE0NmJkM2E4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvVVJMSGVscGVy
cy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1VSTEhlbHBlcnMuaApAQCAtMzcsOSArMzcsOSBAQCBu
YW1lc3BhY2UgVVJMSGVscGVycyB7CiB1c2luZyBVUkxEZWNvZGVGdW5jdGlvbiA9IFN0cmluZygq
KShjb25zdCBTdHJpbmcmKTsKIAogV1RGX0VYUE9SVF9QUklWQVRFIFN0cmluZyB1c2VyVmlzaWJs
ZVVSTChjb25zdCBDU3RyaW5nJiBVUkwpOwotdm9pZCBsb2FkSUROU2NyaXB0V2hpdGVMaXN0KCk7
Ci12b2lkIHdoaXRlTGlzdElETlNjcmlwdChjb25zdCBjaGFyKiBzY3JpcHROYW1lKTsKLXZvaWQg
aW5pdGlhbGl6ZURlZmF1bHRJRE5TY3JpcHRXaGl0ZUxpc3QoKTsKK3ZvaWQgbG9hZElETkFsbG93
ZWRTY3JpcHRMaXN0KCk7Cit2b2lkIGFkZFNjcmlwdFRvSUROQWxsb3dlZFNjcmlwdExpc3QoY29u
c3QgY2hhciogc2NyaXB0TmFtZSk7Cit2b2lkIGluaXRpYWxpemVEZWZhdWx0SUROQWxsb3dlZFNj
cmlwdExpc3QoKTsKIE9wdGlvbmFsPFN0cmluZz4gbWFwSG9zdE5hbWUoY29uc3QgU3RyaW5nJiwg
VVJMRGVjb2RlRnVuY3Rpb24pOwogU3RyaW5nIG1hcEhvc3ROYW1lcyhjb25zdCBTdHJpbmcmLCBV
UkxEZWNvZGVGdW5jdGlvbik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL2NvY29hL05T
VVJMRXh0cmFzLm1tIGIvU291cmNlL1dURi93dGYvY29jb2EvTlNVUkxFeHRyYXMubW0KaW5kZXgg
N2I2NGNlZDZjMmFiYjk1M2Q2ZjgxZWM0OGJlMTM5N2RhNjg3NTY3My4uYTQ1ZDhjMTFjN2VlYTVl
ZDY5NGNkNjVmZjIwZWU5NjI1YzU5NjNhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvY29j
b2EvTlNVUkxFeHRyYXMubW0KKysrIGIvU291cmNlL1dURi93dGYvY29jb2EvTlNVUkxFeHRyYXMu
bW0KQEAgLTQyLDcgKzQyLDcgQEAgdXNpbmcgbmFtZXNwYWNlIFVSTEhlbHBlcnM7CiAKIGNvbnN0
ZXhwciB1bnNpZ25lZCB1cmxCeXRlc0J1ZmZlckxlbmd0aCA9IDIwNDg7CiAKLXN0YXRpYyBCT09M
IHJlYWRJRE5TY3JpcHRXaGl0ZUxpc3RGaWxlKE5TU3RyaW5nICpmaWxlbmFtZSkKK3N0YXRpYyBC
T09MIHJlYWRJRE5BbGxvd2VkU2NyaXB0TGlzdEZpbGUoTlNTdHJpbmcgKmZpbGVuYW1lKQogewog
ICAgIGlmICghZmlsZW5hbWUpCiAgICAgICAgIHJldHVybiBOTzsKQEAgLTY2LDcgKzY2LDcgQEAg
c3RhdGljIEJPT0wgcmVhZElETlNjcmlwdFdoaXRlTGlzdEZpbGUoTlNTdHJpbmcgKmZpbGVuYW1l
KQogICAgICAgICAKICAgICAgICAgaWYgKHJlc3VsdCA9PSAxKSB7CiAgICAgICAgICAgICAvLyBH
b3QgYSB3b3JkLCBtYXAgdG8gc2NyaXB0IGNvZGUgYW5kIHB1dCBpdCBpbnRvIHRoZSBhcnJheS4K
LSAgICAgICAgICAgIHdoaXRlTGlzdElETlNjcmlwdCh3b3JkKTsKKyAgICAgICAgICAgIGFkZFNj
cmlwdFRvSUROQWxsb3dlZFNjcmlwdExpc3Qod29yZCk7CiAgICAgICAgIH0KICAgICB9CiAgICAg
ZmNsb3NlKGZpbGUpOwpAQCAtNzUsMTggKzc1LDE1IEBAIHN0YXRpYyBCT09MIHJlYWRJRE5TY3Jp
cHRXaGl0ZUxpc3RGaWxlKE5TU3RyaW5nICpmaWxlbmFtZSkKIAogbmFtZXNwYWNlIFVSTEhlbHBl
cnMgewogCi12b2lkIGxvYWRJRE5TY3JpcHRXaGl0ZUxpc3QoKQordm9pZCBsb2FkSUROQWxsb3dl
ZFNjcmlwdExpc3QoKQogewogICAgIHN0YXRpYyBkaXNwYXRjaF9vbmNlX3QgZmxhZzsKICAgICBk
aXNwYXRjaF9vbmNlKCZmbGFnLCBeewotICAgICAgICAvLyBSZWFkIHdoaXRlIGxpc3QgZnJvbSBs
aWJyYXJ5LgotICAgICAgICBOU0FycmF5ICpkaXJzID0gTlNTZWFyY2hQYXRoRm9yRGlyZWN0b3Jp
ZXNJbkRvbWFpbnMoTlNMaWJyYXJ5RGlyZWN0b3J5LCBOU0FsbERvbWFpbnNNYXNrLCBZRVMpOwot
ICAgICAgICBpbnQgbnVtRGlycyA9IFtkaXJzIGNvdW50XTsKLSAgICAgICAgZm9yIChpbnQgaSA9
IDA7IGkgPCBudW1EaXJzOyBpKyspIHsKLSAgICAgICAgICAgIGlmIChyZWFkSUROU2NyaXB0V2hp
dGVMaXN0RmlsZShbW2RpcnMgb2JqZWN0QXRJbmRleDppXSBzdHJpbmdCeUFwcGVuZGluZ1BhdGhD
b21wb25lbnQ6QCJJRE5TY3JpcHRXaGl0ZUxpc3QudHh0Il0pKQorICAgICAgICBmb3IgKE5TU3Ry
aW5nICpkaXJlY3RvcnkgaW4gTlNTZWFyY2hQYXRoRm9yRGlyZWN0b3JpZXNJbkRvbWFpbnMoTlNM
aWJyYXJ5RGlyZWN0b3J5LCBOU0FsbERvbWFpbnNNYXNrLCBZRVMpKSB7CisgICAgICAgICAgICBp
ZiAocmVhZElETkFsbG93ZWRTY3JpcHRMaXN0RmlsZShbZGlyZWN0b3J5IHN0cmluZ0J5QXBwZW5k
aW5nUGF0aENvbXBvbmVudDpAIklETlNjcmlwdFdoaXRlTGlzdC50eHQiXSkpCiAgICAgICAgICAg
ICAgICAgcmV0dXJuOwogICAgICAgICB9Ci0gICAgICAgIGluaXRpYWxpemVEZWZhdWx0SUROU2Ny
aXB0V2hpdGVMaXN0KCk7CisgICAgICAgIGluaXRpYWxpemVEZWZhdWx0SUROQWxsb3dlZFNjcmlw
dExpc3QoKTsKICAgICB9KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
Y3BwCmluZGV4IGM3M2M0M2U5ODU3YzMzYTRmOGVmYTY2ODNhZDBjYmM0YzBlMGVmNDAuLjYzYmVm
YzAzOWUyOTJlMWJiZjFiNzJmMTUyZjFlYzFkMzQyODdmODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5jcHAKQEAgLTkyMSw3ICs5MjEsNyBAQCBib29sIFdlYlByb2Nlc3M6
OnNob3VsZFBsdWdJbkF1dG9TdGFydEZyb21PcmlnaW4oV2ViUGFnZSYgd2ViUGFnZSwgY29uc3Qg
U3RyaW5nJgogICAgICAgICByZXR1cm4gdHJ1ZTsKIAogI2lmIEVOQUJMRShQUklNQVJZX1NOQVBT
SE9UVEVEX1BMVUdJTl9IRVVSSVNUSUMpCi0gICAgLy8gVGhlIHBsdWdpbiB3YXNuJ3QgaW4gdGhl
IGdlbmVyYWwgd2hpdGVsaXN0LCBzbyBjaGVjayBpZiBpdCBzaW1pbGFyIHRvIHRoZSBwcmltYXJ5
IHBsdWdpbiBmb3IgdGhlIHBhZ2UgKGlmIHdlJ3ZlIGZvdW5kIG9uZSkuCisgICAgLy8gVGhlIHBs
dWdpbiB3YXNuJ3QgaW4gdGhlIGdlbmVyYWwgbGlzdCwgc28gY2hlY2sgaWYgaXQgc2ltaWxhciB0
byB0aGUgcHJpbWFyeSBwbHVnaW4gZm9yIHRoZSBwYWdlIChpZiB3ZSd2ZSBmb3VuZCBvbmUpLgog
ICAgIGlmICh3ZWJQYWdlLm1hdGNoZXNQcmltYXJ5UGx1Z0luKHBhZ2VPcmlnaW4sIHBsdWdpbk9y
aWdpbiwgbWltZVR5cGUpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKICNlbHNlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdQcml2YXRlLmggYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdQcml2YXRlLmgKaW5kZXggNDg3YzRh
MmQ3MGZlMjRhMDQyNTFlYWNlZDg4ZmI0ODNjNzcyNDkxZC4uMTIxZmU1ZTI0OTMzZGIzMTFkZDFj
ZjVlNzc4ODY0NTJjNGFkYWUwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJWaWV3UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dl
YlZpZXcvV2ViVmlld1ByaXZhdGUuaApAQCAtODAwLDcgKzgwMCw3IEBAIENvdWxkIGJlIHdvcnRo
IGFkZGluZyB0byB0aGUgQVBJLgogKyAodm9pZClfYWRkT3JpZ2luQWNjZXNzQWxsb3dMaXN0RW50
cnlXaXRoU291cmNlT3JpZ2luOihOU1N0cmluZyAqKXNvdXJjZU9yaWdpbiBkZXN0aW5hdGlvblBy
b3RvY29sOihOU1N0cmluZyAqKWRlc3RpbmF0aW9uUHJvdG9jb2wgZGVzdGluYXRpb25Ib3N0OihO
U1N0cmluZyAqKWRlc3RpbmF0aW9uSG9zdCBhbGxvd0Rlc3RpbmF0aW9uU3ViZG9tYWluczooQk9P
TClhbGxvd0Rlc3RpbmF0aW9uU3ViZG9tYWluczsKICsgKHZvaWQpX3JlbW92ZU9yaWdpbkFjY2Vz
c0FsbG93TGlzdEVudHJ5V2l0aFNvdXJjZU9yaWdpbjooTlNTdHJpbmcgKilzb3VyY2VPcmlnaW4g
ZGVzdGluYXRpb25Qcm90b2NvbDooTlNTdHJpbmcgKilkZXN0aW5hdGlvblByb3RvY29sIGRlc3Rp
bmF0aW9uSG9zdDooTlNTdHJpbmcgKilkZXN0aW5hdGlvbkhvc3QgYWxsb3dEZXN0aW5hdGlvblN1
YmRvbWFpbnM6KEJPT0wpYWxsb3dEZXN0aW5hdGlvblN1YmRvbWFpbnM7CiAKLS8vIFJlbW92ZXMg
YWxsIHdoaXRlIGxpc3QgZW50cmllcyBjcmVhdGVkIHdpdGggX2FkZE9yaWdpbkFjY2Vzc0FsbG93
TGlzdEVudHJ5V2l0aFNvdXJjZU9yaWdpbi4KKy8vIFJlbW92ZXMgYWxsIGFsbG93IGxpc3QgZW50
cmllcyBjcmVhdGVkIHdpdGggX2FkZE9yaWdpbkFjY2Vzc0FsbG93TGlzdEVudHJ5V2l0aFNvdXJj
ZU9yaWdpbi4KICsgKHZvaWQpX3Jlc2V0T3JpZ2luQWNjZXNzQWxsb3dMaXN0czsKIAogLy8gRklY
TUU6IFRoZSBmb2xsb3dpbmcgdHdvIG1ldGhvZHMgYXJlIGRlcHJlY2F0ZWQgaW4gZmF2b3Igb2Yg
dGhlIG92ZXJsb2FkcyBiZWxvdyB0aGF0IHRha2UgdGhlIFdlYlVzZXJDb250ZW50SW5qZWN0ZWRG
cmFtZXMgYXJndW1lbnQuIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00
MTgwMC4K
</data>
<flag name="review"
          id="419778"
          type_id="1"
          status="+"
          setter="achristensen"
    />
          </attachment>
      

    </bug>

</bugzilla>