<?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>220454</bug_id>
          
          <creation_ts>2021-01-07 20:05:41 -0800</creation_ts>
          <short_desc>Double tap to select does not work if the page clears selections on tap, like grammarly.com does</short_desc>
          <delta_ts>2021-01-11 16:54:41 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>
          
          
          <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="Megan Gardner">megan_gardner</reporter>
          <assigned_to name="Megan Gardner">megan_gardner</assigned_to>
          <cc>thorton</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1718195</commentid>
    <comment_count>0</comment_count>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-01-07 20:05:41 -0800</bug_when>
    <thetext>Double tap to select does not work if the page clears selections on tap, like Grammerly.com does.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718197</commentid>
    <comment_count>1</comment_count>
      <attachid>417239</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-01-07 20:07:49 -0800</bug_when>
    <thetext>Created attachment 417239
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718496</commentid>
    <comment_count>2</comment_count>
      <attachid>417313</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-01-08 16:37:39 -0800</bug_when>
    <thetext>Created attachment 417313
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718502</commentid>
    <comment_count>3</comment_count>
      <attachid>417313</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-01-08 16:48:50 -0800</bug_when>
    <thetext>Comment on attachment 417313
Patch

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

The general approach (deferring the selection change when performing a synthetic click) seems reasonable. Should we also invoke the selection change completion handler in the case where we don&apos;t end up completing the synthetic click?

&gt; Source/WebKit/ChangeLog:15
&gt; +        Reviewed by NOBODY (OOPS!).

Nit - reviewed by line should move up before the description.

&gt; Source/WebKit/WebProcess/WebPage/WebPage.h:1830
&gt; +    WTF::Function&lt;void()&gt; _selectionChangedBlock;

This should probably be something like `m_selectionChangedHandler` or `m_selectionChangedFunction`, since it&apos;s not an Objective-C block (and it&apos;s also a member of a C++ class).

&gt; Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:2137
&gt; +

Nit - extra newline here.

&gt; LayoutTests/fast/events/touch/ios/double-tap-on-editable-content-for-selection-with-clear-on-touch.html:52
&gt; +            var editableElement =document.getElementById(&apos;editable&apos;);

Nit - space after the =</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718509</commentid>
    <comment_count>4</comment_count>
      <attachid>417319</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-01-08 17:01:15 -0800</bug_when>
    <thetext>Created attachment 417319
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718746</commentid>
    <comment_count>5</comment_count>
      <attachid>417393</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-01-11 11:20:49 -0800</bug_when>
    <thetext>Created attachment 417393
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718750</commentid>
    <comment_count>6</comment_count>
      <attachid>417394</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-01-11 11:27:06 -0800</bug_when>
    <thetext>Created attachment 417394
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718792</commentid>
    <comment_count>7</comment_count>
      <attachid>417394</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-01-11 13:00:39 -0800</bug_when>
    <thetext>Comment on attachment 417394
Patch

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

&gt; Source/WebKit/ChangeLog:9
&gt; +        Double tap to select content did not work on grammerly.com on iPad because this is a desktop website run on a touch-based device,

Nit - grammerly.com =&gt; grammarly.com

&gt; Source/WebKit/ChangeLog:14
&gt; +        these two events. This makes for a more expected change of events, and does not let grammerly.com clear a valid selection based off of synthetic 

Ditto.

&gt; Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:856
&gt; +    if (auto selectionChangedHandler = std::exchange(m_selectionChangedHandler, nil))

Nit - nil =&gt; { }.

&gt; Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:1172
&gt; +    if (auto selectionChangedHandler = std::exchange(m_selectionChangedHandler, nil))

Nit - nil =&gt; { }.

&gt; Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:1191
&gt; +    if (auto selectionChangedHandler = std::exchange(m_selectionChangedHandler, nil))

Nit - nil =&gt; { }.

&gt; Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:2141
&gt; +

We should assert that `m_selectionChangedHandler` is not set here, and/or invoke the previous handler if it is set.

&gt; Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:2142
&gt; +    m_selectionChangedHandler = [point, granularity, isInteractingWithFocusedElement, completionHandler = WTFMove(completionHandler), webPage = makeWeakPtr(*this), this]()mutable {

Nit - space before the `mutable`.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718864</commentid>
    <comment_count>8</comment_count>
      <attachid>417420</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-01-11 16:22:51 -0800</bug_when>
    <thetext>Created attachment 417420
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718865</commentid>
    <comment_count>9</comment_count>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-01-11 16:24:55 -0800</bug_when>
    <thetext>rdar://67757411</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718870</commentid>
    <comment_count>10</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-01-11 16:54:41 -0800</bug_when>
    <thetext>Committed r271386: &lt;https://trac.webkit.org/changeset/271386&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 417420.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417239</attachid>
            <date>2021-01-07 20:07:49 -0800</date>
            <delta_ts>2021-01-08 16:37:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220454-20210107200749.patch</filename>
            <type>text/plain</type>
            <size>4664</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMjAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDU5MDcwN2JjNmFkYjhhNTdl
NzllYjI2YTVjM2U5YWE0MjMyNWM4YTIuLjY4Zjg5YjcwNGY4NTMyNzAwN2ZkMTI2YmY3NWU4ZjJi
MmI3ZmY2ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjEtMDEtMDcgIE1lZ2FuIEdh
cmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBEb3VibGUgdGFwIHRv
IHNlbGVjdCBkb2VzIG5vdCB3b3JrIGlmIHRoZSBwYWdlIGNsZWFycyBzZWxlY3Rpb25zIG9uIHRh
cCwgbGlrZSBHcmFtbWVybHkuY29tIGRvZXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMjA0NTQKKyAgICAgICAgcmRhcjovLzY3NzU3NDExCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGF0Y2ggZm9yIGZp
cnN0IHBhc3Mgb24gYm90cywgbm90IGZvciByZXZpZXcuCisKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2Vi
UGFnZUlPUy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6Y29tcGxldGVTeW50aGV0aWND
bGljayk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNldFNlbGVjdGlvblJhbmdlKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZTo6c2VsZWN0VGV4dFdpdGhHcmFudWxhcml0eUF0UG9pbnQp
OgorCiAyMDIxLTAxLTA2ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgVXNlIHNlbmRXaXRoQXN5bmNSZXBseSBpbnN0ZWFkIG9mIGlPUy1zcGVj
aWZpYyBHZW5lcmljQ2FsbGJhY2tzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmgKaW5kZXggOGJhOWY3MWI0NjI1YjkxNWFlNWQ5OGJjMWMzN2JlNmQyNjQwYTcwMC4u
NTA5NjY0ODQxOTRmZWU5MTlkMmZjZWQ2NjkzYWFmMWI4OGY3ZDc3OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtMTc5OCw2ICsxNzk4LDggQEAgcHJp
dmF0ZToKIAogICAgIFZlY3RvcjxSZWZQdHI8U2FuZGJveEV4dGVuc2lvbj4+IGNvbnN1bWVTYW5k
Ym94RXh0ZW5zaW9ucyhTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGVBcnJheSYmKTsKICAgICB2b2lk
IHJldm9rZVNhbmRib3hFeHRlbnNpb25zKFZlY3RvcjxSZWZQdHI8U2FuZGJveEV4dGVuc2lvbj4+
JiBzYW5kYm94RXh0ZW5zaW9ucyk7CisKKyAgICB2b2lkIHNldFNlbGVjdGlvblJhbmdlKGNvbnN0
IFdlYkNvcmU6OkludFBvaW50JiwgV2ViQ29yZTo6VGV4dEdyYW51bGFyaXR5LCBib29sKTsKICAg
ICAKICAgICBXZWJDb3JlOjpQYWdlSWRlbnRpZmllciBtX2lkZW50aWZpZXI7CiAKQEAgLTE4MjUs
NiArMTgyNyw3IEBAIHByaXZhdGU6CiAgICAgSGFzaE1hcDxQREZQbHVnaW5JZGVudGlmaWVyLCBX
ZWFrUHRyPFBERlBsdWdpbj4+IG1fcGRmUGx1Z0luc1dpdGhIVUQ7CiAjZW5kaWYKIAorICAgIFdU
Rjo6RnVuY3Rpb248dm9pZCgpPiBfc2VsZWN0aW9uQ2hhbmdlZEJsb2NrOwogICAgIGJvb2wgbV9p
c0luUmVkbyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzQ2xvc2VkIHsgZmFsc2UgfTsKICAgICBi
b29sIG1fdGFiVG9MaW5rcyB7IGZhbHNlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCmluZGV4IDAwNmI4NWFjNTJiNTQ4ZDRiMzU4
ZTRhMDBlMzFlNjFkYjAyZmM0NzMuLjgxNWU4MzEzOWFlMzhmNmUxMTYxZWY4MzYzMDViZTY2ZmU1
NDAxMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9X
ZWJQYWdlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9X
ZWJQYWdlSU9TLm1tCkBAIC04NTMsNiArODUzLDkgQEAgdm9pZCBXZWJQYWdlOjpjb21wbGV0ZVN5
bnRoZXRpY0NsaWNrKE5vZGUmIG5vZGVSZXNwb25kaW5nVG9DbGljaywgY29uc3QgV2ViQ29yZToK
ICAgICBpZiAobV9pc0Nsb3NlZCkKICAgICAgICAgcmV0dXJuOwogCisgICAgaWYgKGF1dG8gc2Vs
ZWN0aW9uQ2hhbmdlQmxvY2sgPSBzdGQ6OmV4Y2hhbmdlKF9zZWxlY3Rpb25DaGFuZ2VkQmxvY2ss
IG5pbCkpCisgICAgICAgIHNlbGVjdGlvbkNoYW5nZUJsb2NrKCk7CisKICAgICB0YXBXYXNIYW5k
bGVkIHw9IG1haW5mcmFtZS5ldmVudEhhbmRsZXIoKS5oYW5kbGVNb3VzZVJlbGVhc2VFdmVudChQ
bGF0Zm9ybU1vdXNlRXZlbnQocm91bmRlZEFkanVzdGVkUG9pbnQsIHJvdW5kZWRBZGp1c3RlZFBv
aW50LCBMZWZ0QnV0dG9uLCBQbGF0Zm9ybUV2ZW50OjpNb3VzZVJlbGVhc2VkLCAxLCBzaGlmdEtl
eSwgY3RybEtleSwgYWx0S2V5LCBtZXRhS2V5LCBXYWxsVGltZTo6bm93KCksIFdlYkNvcmU6OkZv
cmNlQXRDbGljaywgc3ludGhldGljQ2xpY2tUeXBlLCBwb2ludGVySWQpKTsKICAgICBpZiAobV9p
c0Nsb3NlZCkKICAgICAgICAgcmV0dXJuOwpAQCAtMjExMSw3ICsyMTE0LDcgQEAgdm9pZCBXZWJQ
YWdlOjpzZXRGb2N1c2VkRnJhbWVCZWZvcmVTZWxlY3RpbmdUZXh0QXRMb2NhdGlvbihjb25zdCBJ
bnRQb2ludCYgcG9pbnQKICAgICAgICAgbV9wYWdlLT5mb2N1c0NvbnRyb2xsZXIoKS5zZXRGb2N1
c2VkRnJhbWUocmVzdWx0LmlubmVyTm9kZUZyYW1lKCkpOwogfQogCi12b2lkIFdlYlBhZ2U6OnNl
bGVjdFRleHRXaXRoR3JhbnVsYXJpdHlBdFBvaW50KGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBw
b2ludCwgV2ViQ29yZTo6VGV4dEdyYW51bGFyaXR5IGdyYW51bGFyaXR5LCBib29sIGlzSW50ZXJh
Y3RpbmdXaXRoRm9jdXNlZEVsZW1lbnQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21w
bGV0aW9uSGFuZGxlcikKK3ZvaWQgV2ViUGFnZTo6c2V0U2VsZWN0aW9uUmFuZ2UoY29uc3QgV2Vi
Q29yZTo6SW50UG9pbnQmIHBvaW50LCBXZWJDb3JlOjpUZXh0R3JhbnVsYXJpdHkgZ3JhbnVsYXJp
dHksIGJvb2wgaXNJbnRlcmFjdGluZ1dpdGhGb2N1c2VkRWxlbWVudCkKIHsKICAgICBzZXRGb2N1
c2VkRnJhbWVCZWZvcmVTZWxlY3RpbmdUZXh0QXRMb2NhdGlvbihwb2ludCk7CiAKQEAgLTIxMjAs
NyArMjEyMywyNyBAQCB2b2lkIFdlYlBhZ2U6OnNlbGVjdFRleHRXaXRoR3JhbnVsYXJpdHlBdFBv
aW50KGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBwb2ludCwgVwogICAgIGlmIChyYW5nZSkKICAg
ICAgICAgZnJhbWUuc2VsZWN0aW9uKCkuc2V0U2VsZWN0ZWRSYW5nZSgqcmFuZ2UsIEFmZmluaXR5
OjpVcHN0cmVhbSwgV2ViQ29yZTo6RnJhbWVTZWxlY3Rpb246OlNob3VsZENsb3NlVHlwaW5nOjpZ
ZXMsIFVzZXJUcmlnZ2VyZWQpOwogICAgIG1faW5pdGlhbFNlbGVjdGlvbiA9IHJhbmdlOwotICAg
IGNvbXBsZXRpb25IYW5kbGVyKCk7Cit9CisKK3ZvaWQgV2ViUGFnZTo6c2VsZWN0VGV4dFdpdGhH
cmFudWxhcml0eUF0UG9pbnQoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHBvaW50LCBXZWJDb3Jl
OjpUZXh0R3JhbnVsYXJpdHkgZ3JhbnVsYXJpdHksIGJvb2wgaXNJbnRlcmFjdGluZ1dpdGhGb2N1
c2VkRWxlbWVudCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVy
KQoreworICAgIGlmICghbV9wb3RlbnRpYWxUYXBOb2RlKSB7CisgICAgICAgIHNldFNlbGVjdGlv
blJhbmdlKHBvaW50LCBncmFudWxhcml0eSwgaXNJbnRlcmFjdGluZ1dpdGhGb2N1c2VkRWxlbWVu
dCk7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9
CisKKyAgICBfc2VsZWN0aW9uQ2hhbmdlZEJsb2NrID0gW3BvaW50LCBncmFudWxhcml0eSwgaXNJ
bnRlcmFjdGluZ1dpdGhGb2N1c2VkRWxlbWVudCwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3Zl
KGNvbXBsZXRpb25IYW5kbGVyKSwgd2ViUGFnZSA9IG1ha2VXZWFrUHRyKCp0aGlzKSwgdGhpc10o
KW11dGFibGUgeworCisgICAgICAgIFJlZlB0cjxXZWJQYWdlPiBzdHJvbmdQYWdlID0gd2ViUGFn
ZS5nZXQoKTsKKyAgICAgICAgaWYgKCFzdHJvbmdQYWdlKSB7CisgICAgICAgICAgICBjb21wbGV0
aW9uSGFuZGxlcigpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIHNl
dFNlbGVjdGlvblJhbmdlKHBvaW50LCBncmFudWxhcml0eSwgaXNJbnRlcmFjdGluZ1dpdGhGb2N1
c2VkRWxlbWVudCk7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CisgICAgfTsKKwogfQog
CiB2b2lkIFdlYlBhZ2U6OmJlZ2luU2VsZWN0aW9uSW5EaXJlY3Rpb24oV2ViQ29yZTo6U2VsZWN0
aW9uRGlyZWN0aW9uIGRpcmVjdGlvbiwgQ2FsbGJhY2tJRCBjYWxsYmFja0lEKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417313</attachid>
            <date>2021-01-08 16:37:39 -0800</date>
            <delta_ts>2021-01-08 17:01:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220454-20210108163738.patch</filename>
            <type>text/plain</type>
            <size>11567</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMjAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDU5MDcwN2JjNmFkYjhhNTdl
NzllYjI2YTVjM2U5YWE0MjMyNWM4YTIuLjVlZjIzNjE2YzRlYWQ2NDM5ZDBkNGUwNmVmNTc5MDVi
Y2IyYmNjNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMjEtMDEtMDggIE1lZ2FuIEdh
cmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBEb3VibGUgdGFwIHRv
IHNlbGVjdCBkb2VzIG5vdCB3b3JrIGlmIHRoZSBwYWdlIGNsZWFycyBzZWxlY3Rpb25zIG9uIHRh
cCwgbGlrZSBncmFtbWFybHkuY29tIGRvZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIyMDQ1NAorICAgICAgICByZGFyOi8vNjc3NTc0MTEKKworICAg
ICAgICBEb3VibGUgdGFwIHRvIHNlbGVjdCBjb250ZW50IGRpZCBub3Qgd29yayBvbiBncmFtbWVy
bHkuY29tIG9uIGlQYWQgYmVjYXVzZSB0aGlzIGlzIGEgZGVza3RvcCB3ZWJzaXRlIHJ1biBvbiBh
IHRvdWNoLWJhc2VkIGRldmljZSwKKyAgICAgICAgYW5kIHRoZXJlIHdhcyBhIHNjcmlwdCBydW5u
aW5nIHRoYXQgd291bGQgY2xlYXIgdGhlIHNlbGVjdGlvbiBvbiBhIG1vdXNlRG93biBldmVudC4g
V2hlbiB3ZSB3b3VsZCBzZW5kIHN5bnRoZXRpYyBjbGljayBldmVudHMgdG8gdGhlIHBhZ2UKKyAg
ICAgICAgd2Ugd291bGQgZmlyc3QgdXBkYXRlIHRoZSBzZWxlY3Rpb24gYW5kIHRoZW4gb24gY29t
cGxldGlvbiBvZiB0aGUgdGFwLCB3ZSB3b3VsZCBkaXNwYXRjaCBhIG1vdXNlRG93biBhbmQgbW91
c2VVcCBldmVudCBvbiBpT1MuIE9uIE1hYywgd2UKKyAgICAgICAgdXBkYXRlIHRoZSBzZWxlY3Rp
b24gYmV0d2VlbiB0aGUgbW91c2VEb3duIGFuZCB0aGUgbW91c2VVcCwgc28gaW4gb3JkZXIgdG8g
YnJpbmcgdXMgbW9yZSBpbiBsaW5lIHdpdGggbWFjL21vdXNlIGJlaGF2aW9ycywgd2UgYXJlIG5v
dyBzYXZpbmcKKyAgICAgICAgdGhlIGluZm9ybWF0aW9uIG5lZWRlZCB0byB1cGRhdGUgdGhlIHNl
bGVjdGlvbiB3aGVuIHdlIGJlbGlldmUgd2UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYSBwb3RlbnRp
YWwgdGFwLCBhbmQgdGhlbiBzZXR0aW5nIHRoZSBzZWxlY3Rpb24gYmV0d2VlbgorICAgICAgICB0
aGVzZSB0d28gZXZlbnRzLiBUaGlzIG1ha2VzIGZvciBhIG1vcmUgZXhwZWN0ZWQgY2hhbmdlIG9m
IGV2ZW50cywgYW5kIGRvZXMgbm90IGxldCBncmFtbWVybHkuY29tIGNsZWFyIGEgdmFsaWQgc2Vs
ZWN0aW9uIGJhc2VkIG9mZiBvZiBzeW50aGV0aWMgCisgICAgICAgIGNsaWNrcy4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBmYXN0L2V2ZW50
cy90b3VjaC9pb3MvZG91YmxlLXRhcC1vbi1lZGl0YWJsZS1jb250ZW50LWZvci1zZWxlY3Rpb24t
d2l0aC1jbGVhci1vbi10b3VjaC5odG1sCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5t
bToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6Y29tcGxldGVTeW50aGV0aWNDbGljayk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNldFNlbGVjdGlvblJhbmdlKToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZTo6c2VsZWN0VGV4dFdpdGhHcmFudWxhcml0eUF0UG9pbnQpOgorCiAyMDIx
LTAxLTA2ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgVXNlIHNlbmRXaXRoQXN5bmNSZXBseSBpbnN0ZWFkIG9mIGlPUy1zcGVjaWZpYyBHZW5l
cmljQ2FsbGJhY2tzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgK
aW5kZXggOGJhOWY3MWI0NjI1YjkxNWFlNWQ5OGJjMWMzN2JlNmQyNjQwYTcwMC4uNTA5NjY0ODQx
OTRmZWU5MTlkMmZjZWQ2NjkzYWFmMWI4OGY3ZDc3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtMTc5OCw2ICsxNzk4LDggQEAgcHJpdmF0ZToKIAog
ICAgIFZlY3RvcjxSZWZQdHI8U2FuZGJveEV4dGVuc2lvbj4+IGNvbnN1bWVTYW5kYm94RXh0ZW5z
aW9ucyhTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGVBcnJheSYmKTsKICAgICB2b2lkIHJldm9rZVNh
bmRib3hFeHRlbnNpb25zKFZlY3RvcjxSZWZQdHI8U2FuZGJveEV4dGVuc2lvbj4+JiBzYW5kYm94
RXh0ZW5zaW9ucyk7CisKKyAgICB2b2lkIHNldFNlbGVjdGlvblJhbmdlKGNvbnN0IFdlYkNvcmU6
OkludFBvaW50JiwgV2ViQ29yZTo6VGV4dEdyYW51bGFyaXR5LCBib29sKTsKICAgICAKICAgICBX
ZWJDb3JlOjpQYWdlSWRlbnRpZmllciBtX2lkZW50aWZpZXI7CiAKQEAgLTE4MjUsNiArMTgyNyw3
IEBAIHByaXZhdGU6CiAgICAgSGFzaE1hcDxQREZQbHVnaW5JZGVudGlmaWVyLCBXZWFrUHRyPFBE
RlBsdWdpbj4+IG1fcGRmUGx1Z0luc1dpdGhIVUQ7CiAjZW5kaWYKIAorICAgIFdURjo6RnVuY3Rp
b248dm9pZCgpPiBfc2VsZWN0aW9uQ2hhbmdlZEJsb2NrOwogICAgIGJvb2wgbV9pc0luUmVkbyB7
IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzQ2xvc2VkIHsgZmFsc2UgfTsKICAgICBib29sIG1fdGFi
VG9MaW5rcyB7IGZhbHNlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL2lvcy9XZWJQYWdlSU9TLm1tCmluZGV4IDAwNmI4NWFjNTJiNTQ4ZDRiMzU4ZTRhMDBlMzFl
NjFkYjAyZmM0NzMuLjgxNWU4MzEzOWFlMzhmNmUxMTYxZWY4MzYzMDViZTY2ZmU1NDAxMDYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9T
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9T
Lm1tCkBAIC04NTMsNiArODUzLDkgQEAgdm9pZCBXZWJQYWdlOjpjb21wbGV0ZVN5bnRoZXRpY0Ns
aWNrKE5vZGUmIG5vZGVSZXNwb25kaW5nVG9DbGljaywgY29uc3QgV2ViQ29yZToKICAgICBpZiAo
bV9pc0Nsb3NlZCkKICAgICAgICAgcmV0dXJuOwogCisgICAgaWYgKGF1dG8gc2VsZWN0aW9uQ2hh
bmdlQmxvY2sgPSBzdGQ6OmV4Y2hhbmdlKF9zZWxlY3Rpb25DaGFuZ2VkQmxvY2ssIG5pbCkpCisg
ICAgICAgIHNlbGVjdGlvbkNoYW5nZUJsb2NrKCk7CisKICAgICB0YXBXYXNIYW5kbGVkIHw9IG1h
aW5mcmFtZS5ldmVudEhhbmRsZXIoKS5oYW5kbGVNb3VzZVJlbGVhc2VFdmVudChQbGF0Zm9ybU1v
dXNlRXZlbnQocm91bmRlZEFkanVzdGVkUG9pbnQsIHJvdW5kZWRBZGp1c3RlZFBvaW50LCBMZWZ0
QnV0dG9uLCBQbGF0Zm9ybUV2ZW50OjpNb3VzZVJlbGVhc2VkLCAxLCBzaGlmdEtleSwgY3RybEtl
eSwgYWx0S2V5LCBtZXRhS2V5LCBXYWxsVGltZTo6bm93KCksIFdlYkNvcmU6OkZvcmNlQXRDbGlj
aywgc3ludGhldGljQ2xpY2tUeXBlLCBwb2ludGVySWQpKTsKICAgICBpZiAobV9pc0Nsb3NlZCkK
ICAgICAgICAgcmV0dXJuOwpAQCAtMjExMSw3ICsyMTE0LDcgQEAgdm9pZCBXZWJQYWdlOjpzZXRG
b2N1c2VkRnJhbWVCZWZvcmVTZWxlY3RpbmdUZXh0QXRMb2NhdGlvbihjb25zdCBJbnRQb2ludCYg
cG9pbnQKICAgICAgICAgbV9wYWdlLT5mb2N1c0NvbnRyb2xsZXIoKS5zZXRGb2N1c2VkRnJhbWUo
cmVzdWx0LmlubmVyTm9kZUZyYW1lKCkpOwogfQogCi12b2lkIFdlYlBhZ2U6OnNlbGVjdFRleHRX
aXRoR3JhbnVsYXJpdHlBdFBvaW50KGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBwb2ludCwgV2Vi
Q29yZTo6VGV4dEdyYW51bGFyaXR5IGdyYW51bGFyaXR5LCBib29sIGlzSW50ZXJhY3RpbmdXaXRo
Rm9jdXNlZEVsZW1lbnQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFu
ZGxlcikKK3ZvaWQgV2ViUGFnZTo6c2V0U2VsZWN0aW9uUmFuZ2UoY29uc3QgV2ViQ29yZTo6SW50
UG9pbnQmIHBvaW50LCBXZWJDb3JlOjpUZXh0R3JhbnVsYXJpdHkgZ3JhbnVsYXJpdHksIGJvb2wg
aXNJbnRlcmFjdGluZ1dpdGhGb2N1c2VkRWxlbWVudCkKIHsKICAgICBzZXRGb2N1c2VkRnJhbWVC
ZWZvcmVTZWxlY3RpbmdUZXh0QXRMb2NhdGlvbihwb2ludCk7CiAKQEAgLTIxMjAsNyArMjEyMywy
NyBAQCB2b2lkIFdlYlBhZ2U6OnNlbGVjdFRleHRXaXRoR3JhbnVsYXJpdHlBdFBvaW50KGNvbnN0
IFdlYkNvcmU6OkludFBvaW50JiBwb2ludCwgVwogICAgIGlmIChyYW5nZSkKICAgICAgICAgZnJh
bWUuc2VsZWN0aW9uKCkuc2V0U2VsZWN0ZWRSYW5nZSgqcmFuZ2UsIEFmZmluaXR5OjpVcHN0cmVh
bSwgV2ViQ29yZTo6RnJhbWVTZWxlY3Rpb246OlNob3VsZENsb3NlVHlwaW5nOjpZZXMsIFVzZXJU
cmlnZ2VyZWQpOwogICAgIG1faW5pdGlhbFNlbGVjdGlvbiA9IHJhbmdlOwotICAgIGNvbXBsZXRp
b25IYW5kbGVyKCk7Cit9CisKK3ZvaWQgV2ViUGFnZTo6c2VsZWN0VGV4dFdpdGhHcmFudWxhcml0
eUF0UG9pbnQoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHBvaW50LCBXZWJDb3JlOjpUZXh0R3Jh
bnVsYXJpdHkgZ3JhbnVsYXJpdHksIGJvb2wgaXNJbnRlcmFjdGluZ1dpdGhGb2N1c2VkRWxlbWVu
dCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQoreworICAg
IGlmICghbV9wb3RlbnRpYWxUYXBOb2RlKSB7CisgICAgICAgIHNldFNlbGVjdGlvblJhbmdlKHBv
aW50LCBncmFudWxhcml0eSwgaXNJbnRlcmFjdGluZ1dpdGhGb2N1c2VkRWxlbWVudCk7CisgICAg
ICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBf
c2VsZWN0aW9uQ2hhbmdlZEJsb2NrID0gW3BvaW50LCBncmFudWxhcml0eSwgaXNJbnRlcmFjdGlu
Z1dpdGhGb2N1c2VkRWxlbWVudCwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRp
b25IYW5kbGVyKSwgd2ViUGFnZSA9IG1ha2VXZWFrUHRyKCp0aGlzKSwgdGhpc10oKW11dGFibGUg
eworCisgICAgICAgIFJlZlB0cjxXZWJQYWdlPiBzdHJvbmdQYWdlID0gd2ViUGFnZS5nZXQoKTsK
KyAgICAgICAgaWYgKCFzdHJvbmdQYWdlKSB7CisgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxl
cigpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIHNldFNlbGVjdGlv
blJhbmdlKHBvaW50LCBncmFudWxhcml0eSwgaXNJbnRlcmFjdGluZ1dpdGhGb2N1c2VkRWxlbWVu
dCk7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CisgICAgfTsKKwogfQogCiB2b2lkIFdl
YlBhZ2U6OmJlZ2luU2VsZWN0aW9uSW5EaXJlY3Rpb24oV2ViQ29yZTo6U2VsZWN0aW9uRGlyZWN0
aW9uIGRpcmVjdGlvbiwgQ2FsbGJhY2tJRCBjYWxsYmFja0lEKQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGI4ZjAzYTNkNmNh
ZGQwZDI0YzA2ZGM3ODIzYmY5OWY0N2I5MTE2NjEuLmUxMjhkNzIzMjZjY2Q0NjljYTRlZjU2ODAz
MGY3MjE3ZDgwZDZjYzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMS0wMS0wOCAgTWVnYW4g
R2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisgICAgICAgIERvdWJsZSB0YXAg
dG8gc2VsZWN0IGRvZXMgbm90IHdvcmsgaWYgdGhlIHBhZ2UgY2xlYXJzIHNlbGVjdGlvbnMgb24g
dGFwLCBsaWtlIGdyYW1tYXJseS5jb20gZG9lcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwNDU0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2V2ZW50cy90b3VjaC9pb3MvZG91YmxlLXRhcC1v
bi1lZGl0YWJsZS1jb250ZW50LWZvci1zZWxlY3Rpb24td2l0aC1jbGVhci1vbi10b3VjaC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL3RvdWNoL2lvcy9kb3VibGUt
dGFwLW9uLWVkaXRhYmxlLWNvbnRlbnQtZm9yLXNlbGVjdGlvbi13aXRoLWNsZWFyLW9uLXRvdWNo
Lmh0bWw6IEFkZGVkLgorCiAyMDIxLTAxLTA2ICBSaW5pIFBhdGVsICA8cmluaV9wYXRlbEBhcHBs
ZS5jb20+CiAKICAgICAgICAgW0dQVSBwcm9jZXNzXSBBZGQgTGF5b3V0IHRlc3RzIGZhaWx1cmVz
IHRvIExheW91dFRlc3RzL2dwdS1wcm9jZXNzL1Rlc3RFeHBlY3RhdGlvbnMKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy9kb3VibGUtdGFwLW9uLWVkaXRhYmxl
LWNvbnRlbnQtZm9yLXNlbGVjdGlvbi13aXRoLWNsZWFyLW9uLXRvdWNoLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy9kb3VibGUtdGFwLW9uLWVkaXRhYmxl
LWNvbnRlbnQtZm9yLXNlbGVjdGlvbi13aXRoLWNsZWFyLW9uLXRvdWNoLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4wZmJjYmI1MGZjMWZmODg4ZjYyZDgwNTRlZjJlMTcxYTZiNGNiY2U4Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvaW9zL2RvdWJsZS10
YXAtb24tZWRpdGFibGUtY29udGVudC1mb3Itc2VsZWN0aW9uLXdpdGgtY2xlYXItb24tdG91Y2gt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorUEFTUzogSGFzIENhcmV0IFNlbGVjdGlvbgor
UEFTUzogQ29ycmVjdCBTZWxlY3Rpb24KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvdG91Y2gvaW9zL2RvdWJsZS10YXAtb24tZWRpdGFibGUtY29udGVudC1mb3Itc2VsZWN0
aW9uLXdpdGgtY2xlYXItb24tdG91Y2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Rv
dWNoL2lvcy9kb3VibGUtdGFwLW9uLWVkaXRhYmxlLWNvbnRlbnQtZm9yLXNlbGVjdGlvbi13aXRo
LWNsZWFyLW9uLXRvdWNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTBmOTI2MWFiMDZlMThjY2UzZGU5NTU4
Yzg2MmU3Y2UyYzM3Yjc4YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL3RvdWNoL2lvcy9kb3VibGUtdGFwLW9uLWVkaXRhYmxlLWNvbnRlbnQtZm9yLXNlbGVjdGlv
bi13aXRoLWNsZWFyLW9uLXRvdWNoLmh0bWwKQEAgLTAsMCArMSw5NiBAQAorPCFET0NUWVBFIGh0
bWw+CisKKzxodG1sPgorPGhlYWQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291
cmNlcy9iYXNpYy1nZXN0dXJlcy5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdD4KKworICAgICAg
ICBmdW5jdGlvbiBjbGVhclNlbGVjdGlvbigpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciBz
ZWxlY3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkgfHwgZG9jdW1lbnQuc2VsZWN0aW9uOwor
ICAgICAgICAgICAgc2VsZWN0aW9uLnJlbW92ZUFsbFJhbmdlcygpOworICAgICAgICB9CisKKyAg
ICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgICAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAg
ICAgICB9CisgICAgCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKQorICAgICAgICB7
CisgICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIucnVuVUlTY3JpcHQpCisgICAgICAgICAgICAg
ICAgcmV0dXJuOworCisgICAgICAgICAgICB2YXIgb3V0cHV0ID0gJyc7CisgICAgICAgICAgICB2
YXIgZWRpdGFibGVUYXJnZXRSZWN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VkaXRhYmxl
JykuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CisgICAgICAgICAgICB2YXIgZmlyc3RUYXJnZXRS
ZWN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZpcnN0U2VsZWN0aW9uJykuZ2V0Qm91bmRp
bmdDbGllbnRSZWN0KCk7CisgICAgICAgICAgICB2YXIgbm9uZWRpdGFibGVUb0VkaXRhYmxlT2Zm
c2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VkaXRhYmxlJykuZ2V0Qm91bmRpbmdDbGll
bnRSZWN0KCkueSAtIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdub25lZGl0YWJsZScpLmdldEJv
dW5kaW5nQ2xpZW50UmVjdCgpLnk7CisKKyAgICAgICAgICAgIHZhciB0YXBQb2ludFggPSBlZGl0
YWJsZVRhcmdldFJlY3QueCArIGVkaXRhYmxlVGFyZ2V0UmVjdC53aWR0aCAvIDI7CisgICAgICAg
ICAgICB2YXIgdGFwUG9pbnRZID0gZWRpdGFibGVUYXJnZXRSZWN0LnkgKyBlZGl0YWJsZVRhcmdl
dFJlY3QuaGVpZ2h0IC8gMjsKKyAgICAgICAgICAgIHZhciBkb3VibGVUYXBQb2ludFggPSBmaXJz
dFRhcmdldFJlY3QueCArIGZpcnN0VGFyZ2V0UmVjdC53aWR0aCAvIDI7CisgICAgICAgICAgICB2
YXIgZG91YmxlVGFwUG9pbnRZID0gZmlyc3RUYXJnZXRSZWN0LnkgKyBmaXJzdFRhcmdldFJlY3Qu
aGVpZ2h0IC8gMiArIG5vbmVkaXRhYmxlVG9FZGl0YWJsZU9mZnNldDsKKyAgICAgICAgCisgICAg
ICAgICAgICBhd2FpdCB0YXBBdFBvaW50KHRhcFBvaW50WCwgdGFwUG9pbnRZKTsKKyAgICAgICAg
ICAgIGlmIChkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS50eXBlID09ICJDYXJldCIpCisgICAgICAg
ICAgICAgICAgb3V0cHV0ICs9ICdQQVNTOiBIYXMgQ2FyZXQgU2VsZWN0aW9uJzsKKyAgICAgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgICAgICBvdXRwdXQgKz0gJ0ZBSUw6IGZhaWxlZCB0byBhY3Rp
dmF0ZSBjYXJldCBhcyBhIHJlc3VsdCBvZiBhIHRhcC4gSW5jb3JyZWN0IFNlbGVjdGlvbjogJyAr
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCk7CisgICAgICAgICAgICBvdXRwdXQg
Kz0gJzxicj4nOworCisgICAgICAgICAgICBhd2FpdCBkaWRTaG93S2V5Ym9hcmQoKTsKKworICAg
ICAgICAgICAgYXdhaXQgZG91YmxlVGFwQXRQb2ludChkb3VibGVUYXBQb2ludFgsIGRvdWJsZVRh
cFBvaW50WSk7CisgICAgICAgICAgICBpZiAoZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkudG9TdHJp
bmcoKSA9PSAibWFnbmEiKQorICAgICAgICAgICAgICAgIG91dHB1dCArPSAnUEFTUzogQ29ycmVj
dCBTZWxlY3Rpb24nOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIG91dHB1dCAr
PSAnRkFJTDogZmFpbGVkIHRvIHNlbGVjdCBhIHdvcmQgYXMgYSByZXN1bHQgb2YgYSBsb25nIHBy
ZXNzLiBJbmNvcnJlY3QgU2VsZWN0aW9uOiAnICsgZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkudG9T
dHJpbmcoKTsKKyAgICAgICAgICAgIG91dHB1dCArPSAnPGJyPic7CisKKyAgICAgICAgICAgIHZh
ciBub25lZGl0YWJsZUVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbm9uZWRpdGFi
bGUnKTsKKyAgICAgICAgICAgIG5vbmVkaXRhYmxlRWxlbWVudC5wYXJlbnROb2RlLnJlbW92ZUNo
aWxkKG5vbmVkaXRhYmxlRWxlbWVudCk7CisgICAgICAgICAgICB2YXIgZWRpdGFibGVFbGVtZW50
ID1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZWRpdGFibGUnKTsKKyAgICAgICAgICAgIGVkaXRh
YmxlRWxlbWVudC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGVkaXRhYmxlRWxlbWVudCk7CisgICAg
ICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGFyZ2V0JykuaW5uZXJIVE1MID0gb3V0
cHV0OworICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAgIH0KKwor
ICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHJ1blRlc3QsIGZhbHNlKTsK
KyAgICA8L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAjbm9uZWRpdGFibGUgewor
ICAgICAgICAgICAgaGVpZ2h0OiAyMDBweDsKKyAgICAgICAgICAgIHdpZHRoOiAzMDBweDsKKyAg
ICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNpbHZlcjsKKyAgICAgICAgICAgIGZvbnQtZmFt
aWx5OiBtb25vc3BhY2U7CisgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7CisgICAgICAgIH0K
KyAgICAgICAgI2VkaXRhYmxlIHsKKyAgICAgICAgICAgIGhlaWdodDogMjAwcHg7CisgICAgICAg
ICAgICB3aWR0aDogMzAwcHg7CisgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzaWx2ZXI7
CisgICAgICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOworICAgICAgICAgICAgZm9udC1z
aXplOiAxOHB4OworICAgICAgICB9CisgICAgICAgICN0YXJnZXQgeworICAgICAgICAgICAgaGVp
Z2h0OiA1MHB4OworICAgICAgICAgICAgd2lkdGg6IDMwMHB4OworICAgICAgICAgICAgYmFja2dy
b3VuZC1jb2xvcjogc2lsdmVyOworICAgICAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsK
KyAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDsKKyAgICAgICAgfQorICAgIDwvc3R5bGU+Cisg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXYgaWQ9Im5vbmVkaXRhYmxl
Ij4KKyAgICAgICAgPHA+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFk
aXBpc2NpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3Jl
IGV0IGRvbG9yZSA8c3BhbiBpZD0iZmlyc3RTZWxlY3Rpb24iPm1hZ25hPC9zcGFuPiBhbGlxdWEu
IFV0IGVuaW0gYWQgbWluaW0gdmVuaWFtLCBxdWlzIG5vc3RydWQgZXhlcmNpdGF0aW9uIHVsbGFt
Y28gbGFib3JpcyBuaXNpIHV0IGFsaXF1aXAgZXggZWEgY29tbW9kbyBjb25zZXF1YXQuPC9wPgor
ICAgIDwvZGl2PgorICAgIDxkaXYgaWQ9ImVkaXRhYmxlIiBjb250ZW50ZWRpdGFibGUgb25tb3Vz
ZWRvd249ImNsZWFyU2VsZWN0aW9uKCkiPgorICAgICAgICA8cD5Mb3JlbSBpcHN1bSBkb2xvciBz
aXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1w
b3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4gVXQgZW5pbSBh
ZCBtaW5pbSB2ZW5pYW0sIHF1aXMgbm9zdHJ1ZCBleGVyY2l0YXRpb24gdWxsYW1jbyBsYWJvcmlz
IG5pc2kgdXQgYWxpcXVpcCBleCBlYSBjb21tb2RvIGNvbnNlcXVhdC48L3A+CisgICAgPC9kaXY+
IAorICAgIDxkaXYgaWQ9InRhcmdldCI+CisgICAgICAgIFRoaXMgdGVzdCByZXF1aXJlcyBVSVNj
cmlwdENvbnRyb2xsZXIgdG8gcnVuLgorICAgIDwvZGl2PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417319</attachid>
            <date>2021-01-08 17:01:15 -0800</date>
            <delta_ts>2021-01-11 11:20:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220454-20210108170115.patch</filename>
            <type>text/plain</type>
            <size>11575</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMjAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDU5MDcwN2JjNmFkYjhhNTdl
NzllYjI2YTVjM2U5YWE0MjMyNWM4YTIuLjliYzUzNTgwNWMxZTFjZjhlMjNhMTZjZDAwMGNhODI1
NDBkN2FhNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMjEtMDEtMDggIE1lZ2FuIEdh
cmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBEb3VibGUgdGFwIHRv
IHNlbGVjdCBkb2VzIG5vdCB3b3JrIGlmIHRoZSBwYWdlIGNsZWFycyBzZWxlY3Rpb25zIG9uIHRh
cCwgbGlrZSBncmFtbWFybHkuY29tIGRvZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIyMDQ1NAorICAgICAgICByZGFyOi8vNjc3NTc0MTEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEb3VibGUgdGFwIHRv
IHNlbGVjdCBjb250ZW50IGRpZCBub3Qgd29yayBvbiBncmFtbWVybHkuY29tIG9uIGlQYWQgYmVj
YXVzZSB0aGlzIGlzIGEgZGVza3RvcCB3ZWJzaXRlIHJ1biBvbiBhIHRvdWNoLWJhc2VkIGRldmlj
ZSwKKyAgICAgICAgYW5kIHRoZXJlIHdhcyBhIHNjcmlwdCBydW5uaW5nIHRoYXQgd291bGQgY2xl
YXIgdGhlIHNlbGVjdGlvbiBvbiBhIG1vdXNlRG93biBldmVudC4gV2hlbiB3ZSB3b3VsZCBzZW5k
IHN5bnRoZXRpYyBjbGljayBldmVudHMgdG8gdGhlIHBhZ2UKKyAgICAgICAgd2Ugd291bGQgZmly
c3QgdXBkYXRlIHRoZSBzZWxlY3Rpb24gYW5kIHRoZW4gb24gY29tcGxldGlvbiBvZiB0aGUgdGFw
LCB3ZSB3b3VsZCBkaXNwYXRjaCBhIG1vdXNlRG93biBhbmQgbW91c2VVcCBldmVudCBvbiBpT1Mu
IE9uIE1hYywgd2UKKyAgICAgICAgdXBkYXRlIHRoZSBzZWxlY3Rpb24gYmV0d2VlbiB0aGUgbW91
c2VEb3duIGFuZCB0aGUgbW91c2VVcCwgc28gaW4gb3JkZXIgdG8gYnJpbmcgdXMgbW9yZSBpbiBs
aW5lIHdpdGggbWFjL21vdXNlIGJlaGF2aW9ycywgd2UgYXJlIG5vdyBzYXZpbmcKKyAgICAgICAg
dGhlIGluZm9ybWF0aW9uIG5lZWRlZCB0byB1cGRhdGUgdGhlIHNlbGVjdGlvbiB3aGVuIHdlIGJl
bGlldmUgd2UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYSBwb3RlbnRpYWwgdGFwLCBhbmQgdGhlbiBz
ZXR0aW5nIHRoZSBzZWxlY3Rpb24gYmV0d2VlbgorICAgICAgICB0aGVzZSB0d28gZXZlbnRzLiBU
aGlzIG1ha2VzIGZvciBhIG1vcmUgZXhwZWN0ZWQgY2hhbmdlIG9mIGV2ZW50cywgYW5kIGRvZXMg
bm90IGxldCBncmFtbWVybHkuY29tIGNsZWFyIGEgdmFsaWQgc2VsZWN0aW9uIGJhc2VkIG9mZiBv
ZiBzeW50aGV0aWMgCisgICAgICAgIGNsaWNrcy4KKworICAgICAgICBUZXN0OiBmYXN0L2V2ZW50
cy90b3VjaC9pb3MvZG91YmxlLXRhcC1vbi1lZGl0YWJsZS1jb250ZW50LWZvci1zZWxlY3Rpb24t
d2l0aC1jbGVhci1vbi10b3VjaC5odG1sCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5t
bToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6Y29tcGxldGVTeW50aGV0aWNDbGljayk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNldFNlbGVjdGlvblJhbmdlKToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZTo6c2VsZWN0VGV4dFdpdGhHcmFudWxhcml0eUF0UG9pbnQpOgorCiAyMDIx
LTAxLTA2ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgVXNlIHNlbmRXaXRoQXN5bmNSZXBseSBpbnN0ZWFkIG9mIGlPUy1zcGVjaWZpYyBHZW5l
cmljQ2FsbGJhY2tzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgK
aW5kZXggOGJhOWY3MWI0NjI1YjkxNWFlNWQ5OGJjMWMzN2JlNmQyNjQwYTcwMC4uNTIwMWVlNGU3
NmI0MTQzNWExZGM3YTgwMGQzNzNiYmRjOWFhYzU3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtMTc5OCw2ICsxNzk4LDggQEAgcHJpdmF0ZToKIAog
ICAgIFZlY3RvcjxSZWZQdHI8U2FuZGJveEV4dGVuc2lvbj4+IGNvbnN1bWVTYW5kYm94RXh0ZW5z
aW9ucyhTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGVBcnJheSYmKTsKICAgICB2b2lkIHJldm9rZVNh
bmRib3hFeHRlbnNpb25zKFZlY3RvcjxSZWZQdHI8U2FuZGJveEV4dGVuc2lvbj4+JiBzYW5kYm94
RXh0ZW5zaW9ucyk7CisKKyAgICB2b2lkIHNldFNlbGVjdGlvblJhbmdlKGNvbnN0IFdlYkNvcmU6
OkludFBvaW50JiwgV2ViQ29yZTo6VGV4dEdyYW51bGFyaXR5LCBib29sKTsKICAgICAKICAgICBX
ZWJDb3JlOjpQYWdlSWRlbnRpZmllciBtX2lkZW50aWZpZXI7CiAKQEAgLTE4MjUsNiArMTgyNyw3
IEBAIHByaXZhdGU6CiAgICAgSGFzaE1hcDxQREZQbHVnaW5JZGVudGlmaWVyLCBXZWFrUHRyPFBE
RlBsdWdpbj4+IG1fcGRmUGx1Z0luc1dpdGhIVUQ7CiAjZW5kaWYKIAorICAgIFdURjo6RnVuY3Rp
b248dm9pZCgpPiBtX3NlbGVjdGlvbkNoYW5nZWRIYW5kbGVyOwogICAgIGJvb2wgbV9pc0luUmVk
byB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzQ2xvc2VkIHsgZmFsc2UgfTsKICAgICBib29sIG1f
dGFiVG9MaW5rcyB7IGZhbHNlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCmluZGV4IDAwNmI4NWFjNTJiNTQ4ZDRiMzU4ZTRhMDBl
MzFlNjFkYjAyZmM0NzMuLjdmODI5NTA0ZWI4ODI3NzE5Y2RkMTI1NTYzNmI0MWIwYjk5ZjRjOTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdl
SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdl
SU9TLm1tCkBAIC04NTMsNiArODUzLDkgQEAgdm9pZCBXZWJQYWdlOjpjb21wbGV0ZVN5bnRoZXRp
Y0NsaWNrKE5vZGUmIG5vZGVSZXNwb25kaW5nVG9DbGljaywgY29uc3QgV2ViQ29yZToKICAgICBp
ZiAobV9pc0Nsb3NlZCkKICAgICAgICAgcmV0dXJuOwogCisgICAgaWYgKGF1dG8gc2VsZWN0aW9u
Q2hhbmdlQmxvY2sgPSBzdGQ6OmV4Y2hhbmdlKG1fc2VsZWN0aW9uQ2hhbmdlZEhhbmRsZXIsIG5p
bCkpCisgICAgICAgIHNlbGVjdGlvbkNoYW5nZUJsb2NrKCk7CisKICAgICB0YXBXYXNIYW5kbGVk
IHw9IG1haW5mcmFtZS5ldmVudEhhbmRsZXIoKS5oYW5kbGVNb3VzZVJlbGVhc2VFdmVudChQbGF0
Zm9ybU1vdXNlRXZlbnQocm91bmRlZEFkanVzdGVkUG9pbnQsIHJvdW5kZWRBZGp1c3RlZFBvaW50
LCBMZWZ0QnV0dG9uLCBQbGF0Zm9ybUV2ZW50OjpNb3VzZVJlbGVhc2VkLCAxLCBzaGlmdEtleSwg
Y3RybEtleSwgYWx0S2V5LCBtZXRhS2V5LCBXYWxsVGltZTo6bm93KCksIFdlYkNvcmU6OkZvcmNl
QXRDbGljaywgc3ludGhldGljQ2xpY2tUeXBlLCBwb2ludGVySWQpKTsKICAgICBpZiAobV9pc0Ns
b3NlZCkKICAgICAgICAgcmV0dXJuOwpAQCAtMjExMSw3ICsyMTE0LDcgQEAgdm9pZCBXZWJQYWdl
OjpzZXRGb2N1c2VkRnJhbWVCZWZvcmVTZWxlY3RpbmdUZXh0QXRMb2NhdGlvbihjb25zdCBJbnRQ
b2ludCYgcG9pbnQKICAgICAgICAgbV9wYWdlLT5mb2N1c0NvbnRyb2xsZXIoKS5zZXRGb2N1c2Vk
RnJhbWUocmVzdWx0LmlubmVyTm9kZUZyYW1lKCkpOwogfQogCi12b2lkIFdlYlBhZ2U6OnNlbGVj
dFRleHRXaXRoR3JhbnVsYXJpdHlBdFBvaW50KGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBwb2lu
dCwgV2ViQ29yZTo6VGV4dEdyYW51bGFyaXR5IGdyYW51bGFyaXR5LCBib29sIGlzSW50ZXJhY3Rp
bmdXaXRoRm9jdXNlZEVsZW1lbnQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0
aW9uSGFuZGxlcikKK3ZvaWQgV2ViUGFnZTo6c2V0U2VsZWN0aW9uUmFuZ2UoY29uc3QgV2ViQ29y
ZTo6SW50UG9pbnQmIHBvaW50LCBXZWJDb3JlOjpUZXh0R3JhbnVsYXJpdHkgZ3JhbnVsYXJpdHks
IGJvb2wgaXNJbnRlcmFjdGluZ1dpdGhGb2N1c2VkRWxlbWVudCkKIHsKICAgICBzZXRGb2N1c2Vk
RnJhbWVCZWZvcmVTZWxlY3RpbmdUZXh0QXRMb2NhdGlvbihwb2ludCk7CiAKQEAgLTIxMjAsNyAr
MjEyMywyNiBAQCB2b2lkIFdlYlBhZ2U6OnNlbGVjdFRleHRXaXRoR3JhbnVsYXJpdHlBdFBvaW50
KGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBwb2ludCwgVwogICAgIGlmIChyYW5nZSkKICAgICAg
ICAgZnJhbWUuc2VsZWN0aW9uKCkuc2V0U2VsZWN0ZWRSYW5nZSgqcmFuZ2UsIEFmZmluaXR5OjpV
cHN0cmVhbSwgV2ViQ29yZTo6RnJhbWVTZWxlY3Rpb246OlNob3VsZENsb3NlVHlwaW5nOjpZZXMs
IFVzZXJUcmlnZ2VyZWQpOwogICAgIG1faW5pdGlhbFNlbGVjdGlvbiA9IHJhbmdlOwotICAgIGNv
bXBsZXRpb25IYW5kbGVyKCk7Cit9CisKK3ZvaWQgV2ViUGFnZTo6c2VsZWN0VGV4dFdpdGhHcmFu
dWxhcml0eUF0UG9pbnQoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHBvaW50LCBXZWJDb3JlOjpU
ZXh0R3JhbnVsYXJpdHkgZ3JhbnVsYXJpdHksIGJvb2wgaXNJbnRlcmFjdGluZ1dpdGhGb2N1c2Vk
RWxlbWVudCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQor
eworICAgIGlmICghbV9wb3RlbnRpYWxUYXBOb2RlKSB7CisgICAgICAgIHNldFNlbGVjdGlvblJh
bmdlKHBvaW50LCBncmFudWxhcml0eSwgaXNJbnRlcmFjdGluZ1dpdGhGb2N1c2VkRWxlbWVudCk7
CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICBtX3NlbGVjdGlvbkNoYW5nZWRIYW5kbGVyID0gW3BvaW50LCBncmFudWxhcml0eSwgaXNJ
bnRlcmFjdGluZ1dpdGhGb2N1c2VkRWxlbWVudCwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3Zl
KGNvbXBsZXRpb25IYW5kbGVyKSwgd2ViUGFnZSA9IG1ha2VXZWFrUHRyKCp0aGlzKSwgdGhpc10o
KW11dGFibGUgeworICAgICAgICBSZWZQdHI8V2ViUGFnZT4gc3Ryb25nUGFnZSA9IHdlYlBhZ2Uu
Z2V0KCk7CisgICAgICAgIGlmICghc3Ryb25nUGFnZSkgeworICAgICAgICAgICAgY29tcGxldGlv
bkhhbmRsZXIoKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICBzZXRT
ZWxlY3Rpb25SYW5nZShwb2ludCwgZ3JhbnVsYXJpdHksIGlzSW50ZXJhY3RpbmdXaXRoRm9jdXNl
ZEVsZW1lbnQpOworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigpOworICAgIH07CisKIH0KIAog
dm9pZCBXZWJQYWdlOjpiZWdpblNlbGVjdGlvbkluRGlyZWN0aW9uKFdlYkNvcmU6OlNlbGVjdGlv
bkRpcmVjdGlvbiBkaXJlY3Rpb24sIENhbGxiYWNrSUQgY2FsbGJhY2tJRCkKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBiOGYw
M2EzZDZjYWRkMGQyNGMwNmRjNzgyM2JmOTlmNDdiOTExNjYxLi5lMTI4ZDcyMzI2Y2NkNDY5Y2E0
ZWY1NjgwMzBmNzIxN2Q4MGQ2Y2M5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMDEtMDgg
IE1lZ2FuIEdhcmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBEb3Vi
bGUgdGFwIHRvIHNlbGVjdCBkb2VzIG5vdCB3b3JrIGlmIHRoZSBwYWdlIGNsZWFycyBzZWxlY3Rp
b25zIG9uIHRhcCwgbGlrZSBncmFtbWFybHkuY29tIGRvZXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDQ1NAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9ldmVudHMvdG91Y2gvaW9zL2RvdWJs
ZS10YXAtb24tZWRpdGFibGUtY29udGVudC1mb3Itc2VsZWN0aW9uLXdpdGgtY2xlYXItb24tdG91
Y2gtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy90b3VjaC9pb3Mv
ZG91YmxlLXRhcC1vbi1lZGl0YWJsZS1jb250ZW50LWZvci1zZWxlY3Rpb24td2l0aC1jbGVhci1v
bi10b3VjaC5odG1sOiBBZGRlZC4KKwogMjAyMS0wMS0wNiAgUmluaSBQYXRlbCAgPHJpbmlfcGF0
ZWxAYXBwbGUuY29tPgogCiAgICAgICAgIFtHUFUgcHJvY2Vzc10gQWRkIExheW91dCB0ZXN0cyBm
YWlsdXJlcyB0byBMYXlvdXRUZXN0cy9ncHUtcHJvY2Vzcy9UZXN0RXhwZWN0YXRpb25zCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9pb3MvZG91YmxlLXRhcC1vbi1l
ZGl0YWJsZS1jb250ZW50LWZvci1zZWxlY3Rpb24td2l0aC1jbGVhci1vbi10b3VjaC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9pb3MvZG91YmxlLXRhcC1vbi1l
ZGl0YWJsZS1jb250ZW50LWZvci1zZWxlY3Rpb24td2l0aC1jbGVhci1vbi10b3VjaC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMGZiY2JiNTBmYzFmZjg4OGY2MmQ4MDU0ZWYyZTE3MWE2YjRjYmNl
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy9k
b3VibGUtdGFwLW9uLWVkaXRhYmxlLWNvbnRlbnQtZm9yLXNlbGVjdGlvbi13aXRoLWNsZWFyLW9u
LXRvdWNoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK1BBU1M6IEhhcyBDYXJldCBTZWxl
Y3Rpb24KK1BBU1M6IENvcnJlY3QgU2VsZWN0aW9uCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy9kb3VibGUtdGFwLW9uLWVkaXRhYmxlLWNvbnRlbnQtZm9y
LXNlbGVjdGlvbi13aXRoLWNsZWFyLW9uLXRvdWNoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy90b3VjaC9pb3MvZG91YmxlLXRhcC1vbi1lZGl0YWJsZS1jb250ZW50LWZvci1zZWxlY3Rp
b24td2l0aC1jbGVhci1vbi10b3VjaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBlMWI0ZjFmNzNhOTllYjlm
YjAwNjVlMmU3OTI4NWQ0NzcxMjkyM2YKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2V2ZW50cy90b3VjaC9pb3MvZG91YmxlLXRhcC1vbi1lZGl0YWJsZS1jb250ZW50LWZvci1z
ZWxlY3Rpb24td2l0aC1jbGVhci1vbi10b3VjaC5odG1sCkBAIC0wLDAgKzEsOTYgQEAKKzwhRE9D
VFlQRSBodG1sPgorCis8aHRtbD4KKzxoZWFkPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi8u
Li9yZXNvdXJjZXMvYmFzaWMtZ2VzdHVyZXMuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQ+CisK
KyAgICAgICAgZnVuY3Rpb24gY2xlYXJTZWxlY3Rpb24oKQorICAgICAgICB7CisgICAgICAgICAg
ICB2YXIgc2VsZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbigpIHx8IGRvY3VtZW50LnNlbGVj
dGlvbjsKKyAgICAgICAgICAgIHNlbGVjdGlvbi5yZW1vdmVBbGxSYW5nZXMoKTsKKyAgICAgICAg
fQorCisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICAgICAgdGVzdFJ1
bm5lci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUo
KTsKKyAgICAgICAgfQorICAgIAorICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkKKyAg
ICAgICAgeworICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLnJ1blVJU2NyaXB0KQorICAgICAg
ICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAgdmFyIG91dHB1dCA9ICcnOworICAgICAg
ICAgICAgdmFyIGVkaXRhYmxlVGFyZ2V0UmVjdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdl
ZGl0YWJsZScpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOworICAgICAgICAgICAgdmFyIGZpcnN0
VGFyZ2V0UmVjdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmaXJzdFNlbGVjdGlvbicpLmdl
dEJvdW5kaW5nQ2xpZW50UmVjdCgpOworICAgICAgICAgICAgdmFyIG5vbmVkaXRhYmxlVG9FZGl0
YWJsZU9mZnNldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlZGl0YWJsZScpLmdldEJvdW5k
aW5nQ2xpZW50UmVjdCgpLnkgLSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbm9uZWRpdGFibGUn
KS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS55OworCisgICAgICAgICAgICB2YXIgdGFwUG9pbnRY
ID0gZWRpdGFibGVUYXJnZXRSZWN0LnggKyBlZGl0YWJsZVRhcmdldFJlY3Qud2lkdGggLyAyOwor
ICAgICAgICAgICAgdmFyIHRhcFBvaW50WSA9IGVkaXRhYmxlVGFyZ2V0UmVjdC55ICsgZWRpdGFi
bGVUYXJnZXRSZWN0LmhlaWdodCAvIDI7CisgICAgICAgICAgICB2YXIgZG91YmxlVGFwUG9pbnRY
ID0gZmlyc3RUYXJnZXRSZWN0LnggKyBmaXJzdFRhcmdldFJlY3Qud2lkdGggLyAyOworICAgICAg
ICAgICAgdmFyIGRvdWJsZVRhcFBvaW50WSA9IGZpcnN0VGFyZ2V0UmVjdC55ICsgZmlyc3RUYXJn
ZXRSZWN0LmhlaWdodCAvIDIgKyBub25lZGl0YWJsZVRvRWRpdGFibGVPZmZzZXQ7CisgICAgICAg
IAorICAgICAgICAgICAgYXdhaXQgdGFwQXRQb2ludCh0YXBQb2ludFgsIHRhcFBvaW50WSk7Cisg
ICAgICAgICAgICBpZiAoZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkudHlwZSA9PSAiQ2FyZXQiKQor
ICAgICAgICAgICAgICAgIG91dHB1dCArPSAnUEFTUzogSGFzIENhcmV0IFNlbGVjdGlvbic7Cisg
ICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgb3V0cHV0ICs9ICdGQUlMOiBmYWlsZWQg
dG8gYWN0aXZhdGUgY2FyZXQgYXMgYSByZXN1bHQgb2YgYSB0YXAuIEluY29ycmVjdCBTZWxlY3Rp
b246ICcgKyBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpOworICAgICAgICAgICAg
b3V0cHV0ICs9ICc8YnI+JzsKKworICAgICAgICAgICAgYXdhaXQgZGlkU2hvd0tleWJvYXJkKCk7
CisKKyAgICAgICAgICAgIGF3YWl0IGRvdWJsZVRhcEF0UG9pbnQoZG91YmxlVGFwUG9pbnRYLCBk
b3VibGVUYXBQb2ludFkpOworICAgICAgICAgICAgaWYgKGRvY3VtZW50LmdldFNlbGVjdGlvbigp
LnRvU3RyaW5nKCkgPT0gIm1hZ25hIikKKyAgICAgICAgICAgICAgICBvdXRwdXQgKz0gJ1BBU1M6
IENvcnJlY3QgU2VsZWN0aW9uJzsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBv
dXRwdXQgKz0gJ0ZBSUw6IGZhaWxlZCB0byBzZWxlY3QgYSB3b3JkIGFzIGEgcmVzdWx0IG9mIGEg
bG9uZyBwcmVzcy4gSW5jb3JyZWN0IFNlbGVjdGlvbjogJyArIGRvY3VtZW50LmdldFNlbGVjdGlv
bigpLnRvU3RyaW5nKCk7CisgICAgICAgICAgICBvdXRwdXQgKz0gJzxicj4nOworCisgICAgICAg
ICAgICB2YXIgbm9uZWRpdGFibGVFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25v
bmVkaXRhYmxlJyk7CisgICAgICAgICAgICBub25lZGl0YWJsZUVsZW1lbnQucGFyZW50Tm9kZS5y
ZW1vdmVDaGlsZChub25lZGl0YWJsZUVsZW1lbnQpOworICAgICAgICAgICAgdmFyIGVkaXRhYmxl
RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlZGl0YWJsZScpOworICAgICAgICAg
ICAgZWRpdGFibGVFbGVtZW50LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZWRpdGFibGVFbGVtZW50
KTsKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXJnZXQnKS5pbm5lckhU
TUwgPSBvdXRwdXQ7CisgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAg
ICAgfQorCisgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcnVuVGVzdCwg
ZmFsc2UpOworICAgIDwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICNub25lZGl0
YWJsZSB7CisgICAgICAgICAgICBoZWlnaHQ6IDIwMHB4OworICAgICAgICAgICAgd2lkdGg6IDMw
MHB4OworICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2lsdmVyOworICAgICAgICAgICAg
Zm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKKyAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDsKKyAg
ICAgICAgfQorICAgICAgICAjZWRpdGFibGUgeworICAgICAgICAgICAgaGVpZ2h0OiAyMDBweDsK
KyAgICAgICAgICAgIHdpZHRoOiAzMDBweDsKKyAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6
IHNpbHZlcjsKKyAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CisgICAgICAgICAg
ICBmb250LXNpemU6IDE4cHg7CisgICAgICAgIH0KKyAgICAgICAgI3RhcmdldCB7CisgICAgICAg
ICAgICBoZWlnaHQ6IDUwcHg7CisgICAgICAgICAgICB3aWR0aDogMzAwcHg7CisgICAgICAgICAg
ICBiYWNrZ3JvdW5kLWNvbG9yOiBzaWx2ZXI7CisgICAgICAgICAgICBmb250LWZhbWlseTogbW9u
b3NwYWNlOworICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4OworICAgICAgICB9CisgICAgPC9z
dHlsZT4KKyAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPC9oZWFkPgorPGJvZHk+CisgICAgPGRpdiBpZD0ibm9u
ZWRpdGFibGUiPgorICAgICAgICA8cD5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2Vj
dGV0dXIgYWRpcGlzY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1
dCBsYWJvcmUgZXQgZG9sb3JlIDxzcGFuIGlkPSJmaXJzdFNlbGVjdGlvbiI+bWFnbmE8L3NwYW4+
IGFsaXF1YS4gVXQgZW5pbSBhZCBtaW5pbSB2ZW5pYW0sIHF1aXMgbm9zdHJ1ZCBleGVyY2l0YXRp
b24gdWxsYW1jbyBsYWJvcmlzIG5pc2kgdXQgYWxpcXVpcCBleCBlYSBjb21tb2RvIGNvbnNlcXVh
dC48L3A+CisgICAgPC9kaXY+CisgICAgPGRpdiBpZD0iZWRpdGFibGUiIGNvbnRlbnRlZGl0YWJs
ZSBvbm1vdXNlZG93bj0iY2xlYXJTZWxlY3Rpb24oKSI+CisgICAgICAgIDxwPkxvcmVtIGlwc3Vt
IGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQsIHNlZCBkbyBlaXVz
bW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLiBV
dCBlbmltIGFkIG1pbmltIHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNv
IGxhYm9yaXMgbmlzaSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0LjwvcD4KKyAg
ICA8L2Rpdj4gCisgICAgPGRpdiBpZD0idGFyZ2V0Ij4KKyAgICAgICAgVGhpcyB0ZXN0IHJlcXVp
cmVzIFVJU2NyaXB0Q29udHJvbGxlciB0byBydW4uCisgICAgPC9kaXY+Cis8L2JvZHk+Cis8L2h0
bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417393</attachid>
            <date>2021-01-11 11:20:49 -0800</date>
            <delta_ts>2021-01-11 11:27:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220454-20210111112048.patch</filename>
            <type>text/plain</type>
            <size>12486</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMjAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDU5MDcwN2JjNmFkYjhhNTdl
NzllYjI2YTVjM2U5YWE0MjMyNWM4YTIuLjliYzUzNTgwNWMxZTFjZjhlMjNhMTZjZDAwMGNhODI1
NDBkN2FhNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMjEtMDEtMDggIE1lZ2FuIEdh
cmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBEb3VibGUgdGFwIHRv
IHNlbGVjdCBkb2VzIG5vdCB3b3JrIGlmIHRoZSBwYWdlIGNsZWFycyBzZWxlY3Rpb25zIG9uIHRh
cCwgbGlrZSBncmFtbWFybHkuY29tIGRvZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIyMDQ1NAorICAgICAgICByZGFyOi8vNjc3NTc0MTEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEb3VibGUgdGFwIHRv
IHNlbGVjdCBjb250ZW50IGRpZCBub3Qgd29yayBvbiBncmFtbWVybHkuY29tIG9uIGlQYWQgYmVj
YXVzZSB0aGlzIGlzIGEgZGVza3RvcCB3ZWJzaXRlIHJ1biBvbiBhIHRvdWNoLWJhc2VkIGRldmlj
ZSwKKyAgICAgICAgYW5kIHRoZXJlIHdhcyBhIHNjcmlwdCBydW5uaW5nIHRoYXQgd291bGQgY2xl
YXIgdGhlIHNlbGVjdGlvbiBvbiBhIG1vdXNlRG93biBldmVudC4gV2hlbiB3ZSB3b3VsZCBzZW5k
IHN5bnRoZXRpYyBjbGljayBldmVudHMgdG8gdGhlIHBhZ2UKKyAgICAgICAgd2Ugd291bGQgZmly
c3QgdXBkYXRlIHRoZSBzZWxlY3Rpb24gYW5kIHRoZW4gb24gY29tcGxldGlvbiBvZiB0aGUgdGFw
LCB3ZSB3b3VsZCBkaXNwYXRjaCBhIG1vdXNlRG93biBhbmQgbW91c2VVcCBldmVudCBvbiBpT1Mu
IE9uIE1hYywgd2UKKyAgICAgICAgdXBkYXRlIHRoZSBzZWxlY3Rpb24gYmV0d2VlbiB0aGUgbW91
c2VEb3duIGFuZCB0aGUgbW91c2VVcCwgc28gaW4gb3JkZXIgdG8gYnJpbmcgdXMgbW9yZSBpbiBs
aW5lIHdpdGggbWFjL21vdXNlIGJlaGF2aW9ycywgd2UgYXJlIG5vdyBzYXZpbmcKKyAgICAgICAg
dGhlIGluZm9ybWF0aW9uIG5lZWRlZCB0byB1cGRhdGUgdGhlIHNlbGVjdGlvbiB3aGVuIHdlIGJl
bGlldmUgd2UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYSBwb3RlbnRpYWwgdGFwLCBhbmQgdGhlbiBz
ZXR0aW5nIHRoZSBzZWxlY3Rpb24gYmV0d2VlbgorICAgICAgICB0aGVzZSB0d28gZXZlbnRzLiBU
aGlzIG1ha2VzIGZvciBhIG1vcmUgZXhwZWN0ZWQgY2hhbmdlIG9mIGV2ZW50cywgYW5kIGRvZXMg
bm90IGxldCBncmFtbWVybHkuY29tIGNsZWFyIGEgdmFsaWQgc2VsZWN0aW9uIGJhc2VkIG9mZiBv
ZiBzeW50aGV0aWMgCisgICAgICAgIGNsaWNrcy4KKworICAgICAgICBUZXN0OiBmYXN0L2V2ZW50
cy90b3VjaC9pb3MvZG91YmxlLXRhcC1vbi1lZGl0YWJsZS1jb250ZW50LWZvci1zZWxlY3Rpb24t
d2l0aC1jbGVhci1vbi10b3VjaC5odG1sCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5t
bToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6Y29tcGxldGVTeW50aGV0aWNDbGljayk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNldFNlbGVjdGlvblJhbmdlKToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZTo6c2VsZWN0VGV4dFdpdGhHcmFudWxhcml0eUF0UG9pbnQpOgorCiAyMDIx
LTAxLTA2ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgVXNlIHNlbmRXaXRoQXN5bmNSZXBseSBpbnN0ZWFkIG9mIGlPUy1zcGVjaWZpYyBHZW5l
cmljQ2FsbGJhY2tzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgK
aW5kZXggOGJhOWY3MWI0NjI1YjkxNWFlNWQ5OGJjMWMzN2JlNmQyNjQwYTcwMC4uNTIwMWVlNGU3
NmI0MTQzNWExZGM3YTgwMGQzNzNiYmRjOWFhYzU3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtMTc5OCw2ICsxNzk4LDggQEAgcHJpdmF0ZToKIAog
ICAgIFZlY3RvcjxSZWZQdHI8U2FuZGJveEV4dGVuc2lvbj4+IGNvbnN1bWVTYW5kYm94RXh0ZW5z
aW9ucyhTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGVBcnJheSYmKTsKICAgICB2b2lkIHJldm9rZVNh
bmRib3hFeHRlbnNpb25zKFZlY3RvcjxSZWZQdHI8U2FuZGJveEV4dGVuc2lvbj4+JiBzYW5kYm94
RXh0ZW5zaW9ucyk7CisKKyAgICB2b2lkIHNldFNlbGVjdGlvblJhbmdlKGNvbnN0IFdlYkNvcmU6
OkludFBvaW50JiwgV2ViQ29yZTo6VGV4dEdyYW51bGFyaXR5LCBib29sKTsKICAgICAKICAgICBX
ZWJDb3JlOjpQYWdlSWRlbnRpZmllciBtX2lkZW50aWZpZXI7CiAKQEAgLTE4MjUsNiArMTgyNyw3
IEBAIHByaXZhdGU6CiAgICAgSGFzaE1hcDxQREZQbHVnaW5JZGVudGlmaWVyLCBXZWFrUHRyPFBE
RlBsdWdpbj4+IG1fcGRmUGx1Z0luc1dpdGhIVUQ7CiAjZW5kaWYKIAorICAgIFdURjo6RnVuY3Rp
b248dm9pZCgpPiBtX3NlbGVjdGlvbkNoYW5nZWRIYW5kbGVyOwogICAgIGJvb2wgbV9pc0luUmVk
byB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzQ2xvc2VkIHsgZmFsc2UgfTsKICAgICBib29sIG1f
dGFiVG9MaW5rcyB7IGZhbHNlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCmluZGV4IDAwNmI4NWFjNTJiNTQ4ZDRiMzU4ZTRhMDBl
MzFlNjFkYjAyZmM0NzMuLjUyMjlhODY4NWMzMTQzNGE2NjEzMmRlY2VlZTE1N2VkYTliMDkyZjEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdl
SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdl
SU9TLm1tCkBAIC04NTMsNiArODUzLDkgQEAgdm9pZCBXZWJQYWdlOjpjb21wbGV0ZVN5bnRoZXRp
Y0NsaWNrKE5vZGUmIG5vZGVSZXNwb25kaW5nVG9DbGljaywgY29uc3QgV2ViQ29yZToKICAgICBp
ZiAobV9pc0Nsb3NlZCkKICAgICAgICAgcmV0dXJuOwogCisgICAgaWYgKGF1dG8gc2VsZWN0aW9u
Q2hhbmdlQmxvY2sgPSBzdGQ6OmV4Y2hhbmdlKG1fc2VsZWN0aW9uQ2hhbmdlZEhhbmRsZXIsIG5p
bCkpCisgICAgICAgIHNlbGVjdGlvbkNoYW5nZUJsb2NrKCk7CisKICAgICB0YXBXYXNIYW5kbGVk
IHw9IG1haW5mcmFtZS5ldmVudEhhbmRsZXIoKS5oYW5kbGVNb3VzZVJlbGVhc2VFdmVudChQbGF0
Zm9ybU1vdXNlRXZlbnQocm91bmRlZEFkanVzdGVkUG9pbnQsIHJvdW5kZWRBZGp1c3RlZFBvaW50
LCBMZWZ0QnV0dG9uLCBQbGF0Zm9ybUV2ZW50OjpNb3VzZVJlbGVhc2VkLCAxLCBzaGlmdEtleSwg
Y3RybEtleSwgYWx0S2V5LCBtZXRhS2V5LCBXYWxsVGltZTo6bm93KCksIFdlYkNvcmU6OkZvcmNl
QXRDbGljaywgc3ludGhldGljQ2xpY2tUeXBlLCBwb2ludGVySWQpKTsKICAgICBpZiAobV9pc0Ns
b3NlZCkKICAgICAgICAgcmV0dXJuOwpAQCAtMTE2Niw2ICsxMTY5LDkgQEAgdm9pZCBXZWJQYWdl
Ojpjb21taXRQb3RlbnRpYWxUYXAoT3B0aW9uU2V0PFdlYkV2ZW50OjpNb2RpZmllcj4gbW9kaWZp
ZXJzLCBUcmFuc2EKIAogdm9pZCBXZWJQYWdlOjpjb21taXRQb3RlbnRpYWxUYXBGYWlsZWQoKQog
eworICAgIGlmIChhdXRvIHNlbGVjdGlvbkNoYW5nZUJsb2NrID0gc3RkOjpleGNoYW5nZShtX3Nl
bGVjdGlvbkNoYW5nZWRIYW5kbGVyLCBuaWwpKQorICAgICAgICBzZWxlY3Rpb25DaGFuZ2VCbG9j
aygpOworCiAgICAgQ29udGVudENoYW5nZU9ic2VydmVyOjpkaWRDYW5jZWxQb3RlbnRpYWxUYXAo
bV9wYWdlLT5tYWluRnJhbWUoKSk7CiAgICAgaWYgKCFtX3BhZ2UtPmZvY3VzQ29udHJvbGxlcigp
LmZvY3VzZWRPck1haW5GcmFtZSgpLnNlbGVjdGlvbigpLnNlbGVjdGlvbigpLmlzQ29udGVudEVk
aXRhYmxlKCkpCiAgICAgICAgIGNsZWFyU2VsZWN0aW9uKCk7CkBAIC0xMTgyLDYgKzExODgsOSBA
QCB2b2lkIFdlYlBhZ2U6OmNhbmNlbFBvdGVudGlhbFRhcCgpCiAKIHZvaWQgV2ViUGFnZTo6Y2Fu
Y2VsUG90ZW50aWFsVGFwSW5GcmFtZShXZWJGcmFtZSYgZnJhbWUpCiB7CisgICAgaWYgKGF1dG8g
c2VsZWN0aW9uQ2hhbmdlQmxvY2sgPSBzdGQ6OmV4Y2hhbmdlKG1fc2VsZWN0aW9uQ2hhbmdlZEhh
bmRsZXIsIG5pbCkpCisgICAgICAgIHNlbGVjdGlvbkNoYW5nZUJsb2NrKCk7CisKICAgICBpZiAo
bV9wb3RlbnRpYWxUYXBOb2RlKSB7CiAgICAgICAgIGF1dG8qIHBvdGVudGlhbFRhcEZyYW1lID0g
bV9wb3RlbnRpYWxUYXBOb2RlLT5kb2N1bWVudCgpLmZyYW1lKCk7CiAgICAgICAgIGlmIChwb3Rl
bnRpYWxUYXBGcmFtZSAmJiAhcG90ZW50aWFsVGFwRnJhbWUtPnRyZWUoKS5pc0Rlc2NlbmRhbnRP
ZihmcmFtZS5jb3JlRnJhbWUoKSkpCkBAIC0yMTExLDcgKzIxMjAsNyBAQCB2b2lkIFdlYlBhZ2U6
OnNldEZvY3VzZWRGcmFtZUJlZm9yZVNlbGVjdGluZ1RleHRBdExvY2F0aW9uKGNvbnN0IEludFBv
aW50JiBwb2ludAogICAgICAgICBtX3BhZ2UtPmZvY3VzQ29udHJvbGxlcigpLnNldEZvY3VzZWRG
cmFtZShyZXN1bHQuaW5uZXJOb2RlRnJhbWUoKSk7CiB9CiAKLXZvaWQgV2ViUGFnZTo6c2VsZWN0
VGV4dFdpdGhHcmFudWxhcml0eUF0UG9pbnQoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHBvaW50
LCBXZWJDb3JlOjpUZXh0R3JhbnVsYXJpdHkgZ3JhbnVsYXJpdHksIGJvb2wgaXNJbnRlcmFjdGlu
Z1dpdGhGb2N1c2VkRWxlbWVudCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRp
b25IYW5kbGVyKQordm9pZCBXZWJQYWdlOjpzZXRTZWxlY3Rpb25SYW5nZShjb25zdCBXZWJDb3Jl
OjpJbnRQb2ludCYgcG9pbnQsIFdlYkNvcmU6OlRleHRHcmFudWxhcml0eSBncmFudWxhcml0eSwg
Ym9vbCBpc0ludGVyYWN0aW5nV2l0aEZvY3VzZWRFbGVtZW50KQogewogICAgIHNldEZvY3VzZWRG
cmFtZUJlZm9yZVNlbGVjdGluZ1RleHRBdExvY2F0aW9uKHBvaW50KTsKIApAQCAtMjEyMCw3ICsy
MTI5LDI2IEBAIHZvaWQgV2ViUGFnZTo6c2VsZWN0VGV4dFdpdGhHcmFudWxhcml0eUF0UG9pbnQo
Y29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHBvaW50LCBXCiAgICAgaWYgKHJhbmdlKQogICAgICAg
ICBmcmFtZS5zZWxlY3Rpb24oKS5zZXRTZWxlY3RlZFJhbmdlKCpyYW5nZSwgQWZmaW5pdHk6OlVw
c3RyZWFtLCBXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6U2hvdWxkQ2xvc2VUeXBpbmc6Olllcywg
VXNlclRyaWdnZXJlZCk7CiAgICAgbV9pbml0aWFsU2VsZWN0aW9uID0gcmFuZ2U7Ci0gICAgY29t
cGxldGlvbkhhbmRsZXIoKTsKK30KKwordm9pZCBXZWJQYWdlOjpzZWxlY3RUZXh0V2l0aEdyYW51
bGFyaXR5QXRQb2ludChjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgcG9pbnQsIFdlYkNvcmU6OlRl
eHRHcmFudWxhcml0eSBncmFudWxhcml0eSwgYm9vbCBpc0ludGVyYWN0aW5nV2l0aEZvY3VzZWRF
bGVtZW50LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCit7
CisgICAgaWYgKCFtX3BvdGVudGlhbFRhcE5vZGUpIHsKKyAgICAgICAgc2V0U2VsZWN0aW9uUmFu
Z2UocG9pbnQsIGdyYW51bGFyaXR5LCBpc0ludGVyYWN0aW5nV2l0aEZvY3VzZWRFbGVtZW50KTsK
KyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIG1fc2VsZWN0aW9uQ2hhbmdlZEhhbmRsZXIgPSBbcG9pbnQsIGdyYW51bGFyaXR5LCBpc0lu
dGVyYWN0aW5nV2l0aEZvY3VzZWRFbGVtZW50LCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUo
Y29tcGxldGlvbkhhbmRsZXIpLCB3ZWJQYWdlID0gbWFrZVdlYWtQdHIoKnRoaXMpLCB0aGlzXSgp
bXV0YWJsZSB7CisgICAgICAgIFJlZlB0cjxXZWJQYWdlPiBzdHJvbmdQYWdlID0gd2ViUGFnZS5n
ZXQoKTsKKyAgICAgICAgaWYgKCFzdHJvbmdQYWdlKSB7CisgICAgICAgICAgICBjb21wbGV0aW9u
SGFuZGxlcigpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIHNldFNl
bGVjdGlvblJhbmdlKHBvaW50LCBncmFudWxhcml0eSwgaXNJbnRlcmFjdGluZ1dpdGhGb2N1c2Vk
RWxlbWVudCk7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CisgICAgfTsKKwogfQogCiB2
b2lkIFdlYlBhZ2U6OmJlZ2luU2VsZWN0aW9uSW5EaXJlY3Rpb24oV2ViQ29yZTo6U2VsZWN0aW9u
RGlyZWN0aW9uIGRpcmVjdGlvbiwgQ2FsbGJhY2tJRCBjYWxsYmFja0lEKQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGI4ZjAz
YTNkNmNhZGQwZDI0YzA2ZGM3ODIzYmY5OWY0N2I5MTE2NjEuLmUxMjhkNzIzMjZjY2Q0NjljYTRl
ZjU2ODAzMGY3MjE3ZDgwZDZjYzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMS0wMS0wOCAg
TWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisgICAgICAgIERvdWJs
ZSB0YXAgdG8gc2VsZWN0IGRvZXMgbm90IHdvcmsgaWYgdGhlIHBhZ2UgY2xlYXJzIHNlbGVjdGlv
bnMgb24gdGFwLCBsaWtlIGdyYW1tYXJseS5jb20gZG9lcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwNDU0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2V2ZW50cy90b3VjaC9pb3MvZG91Ymxl
LXRhcC1vbi1lZGl0YWJsZS1jb250ZW50LWZvci1zZWxlY3Rpb24td2l0aC1jbGVhci1vbi10b3Vj
aC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL3RvdWNoL2lvcy9k
b3VibGUtdGFwLW9uLWVkaXRhYmxlLWNvbnRlbnQtZm9yLXNlbGVjdGlvbi13aXRoLWNsZWFyLW9u
LXRvdWNoLmh0bWw6IEFkZGVkLgorCiAyMDIxLTAxLTA2ICBSaW5pIFBhdGVsICA8cmluaV9wYXRl
bEBhcHBsZS5jb20+CiAKICAgICAgICAgW0dQVSBwcm9jZXNzXSBBZGQgTGF5b3V0IHRlc3RzIGZh
aWx1cmVzIHRvIExheW91dFRlc3RzL2dwdS1wcm9jZXNzL1Rlc3RFeHBlY3RhdGlvbnMKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy9kb3VibGUtdGFwLW9uLWVk
aXRhYmxlLWNvbnRlbnQtZm9yLXNlbGVjdGlvbi13aXRoLWNsZWFyLW9uLXRvdWNoLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy9kb3VibGUtdGFwLW9uLWVk
aXRhYmxlLWNvbnRlbnQtZm9yLXNlbGVjdGlvbi13aXRoLWNsZWFyLW9uLXRvdWNoLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4wZmJjYmI1MGZjMWZmODg4ZjYyZDgwNTRlZjJlMTcxYTZiNGNiY2U4
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvaW9zL2Rv
dWJsZS10YXAtb24tZWRpdGFibGUtY29udGVudC1mb3Itc2VsZWN0aW9uLXdpdGgtY2xlYXItb24t
dG91Y2gtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorUEFTUzogSGFzIENhcmV0IFNlbGVj
dGlvbgorUEFTUzogQ29ycmVjdCBTZWxlY3Rpb24KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvdG91Y2gvaW9zL2RvdWJsZS10YXAtb24tZWRpdGFibGUtY29udGVudC1mb3It
c2VsZWN0aW9uLXdpdGgtY2xlYXItb24tdG91Y2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL3RvdWNoL2lvcy9kb3VibGUtdGFwLW9uLWVkaXRhYmxlLWNvbnRlbnQtZm9yLXNlbGVjdGlv
bi13aXRoLWNsZWFyLW9uLXRvdWNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGUxYjRmMWY3M2E5OWViOWZi
MDA2NWUyZTc5Mjg1ZDQ3NzEyOTIzZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZXZlbnRzL3RvdWNoL2lvcy9kb3VibGUtdGFwLW9uLWVkaXRhYmxlLWNvbnRlbnQtZm9yLXNl
bGVjdGlvbi13aXRoLWNsZWFyLW9uLXRvdWNoLmh0bWwKQEAgLTAsMCArMSw5NiBAQAorPCFET0NU
WVBFIGh0bWw+CisKKzxodG1sPgorPGhlYWQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4u
L3Jlc291cmNlcy9iYXNpYy1nZXN0dXJlcy5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdD4KKwor
ICAgICAgICBmdW5jdGlvbiBjbGVhclNlbGVjdGlvbigpCisgICAgICAgIHsKKyAgICAgICAgICAg
IHZhciBzZWxlY3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkgfHwgZG9jdW1lbnQuc2VsZWN0
aW9uOworICAgICAgICAgICAgc2VsZWN0aW9uLnJlbW92ZUFsbFJhbmdlcygpOworICAgICAgICB9
CisKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgICAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OworICAgICAgICB9CisgICAgCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKQorICAg
ICAgICB7CisgICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIucnVuVUlTY3JpcHQpCisgICAgICAg
ICAgICAgICAgcmV0dXJuOworCisgICAgICAgICAgICB2YXIgb3V0cHV0ID0gJyc7CisgICAgICAg
ICAgICB2YXIgZWRpdGFibGVUYXJnZXRSZWN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Vk
aXRhYmxlJykuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CisgICAgICAgICAgICB2YXIgZmlyc3RU
YXJnZXRSZWN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZpcnN0U2VsZWN0aW9uJykuZ2V0
Qm91bmRpbmdDbGllbnRSZWN0KCk7CisgICAgICAgICAgICB2YXIgbm9uZWRpdGFibGVUb0VkaXRh
YmxlT2Zmc2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VkaXRhYmxlJykuZ2V0Qm91bmRp
bmdDbGllbnRSZWN0KCkueSAtIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdub25lZGl0YWJsZScp
LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnk7CisKKyAgICAgICAgICAgIHZhciB0YXBQb2ludFgg
PSBlZGl0YWJsZVRhcmdldFJlY3QueCArIGVkaXRhYmxlVGFyZ2V0UmVjdC53aWR0aCAvIDI7Cisg
ICAgICAgICAgICB2YXIgdGFwUG9pbnRZID0gZWRpdGFibGVUYXJnZXRSZWN0LnkgKyBlZGl0YWJs
ZVRhcmdldFJlY3QuaGVpZ2h0IC8gMjsKKyAgICAgICAgICAgIHZhciBkb3VibGVUYXBQb2ludFgg
PSBmaXJzdFRhcmdldFJlY3QueCArIGZpcnN0VGFyZ2V0UmVjdC53aWR0aCAvIDI7CisgICAgICAg
ICAgICB2YXIgZG91YmxlVGFwUG9pbnRZID0gZmlyc3RUYXJnZXRSZWN0LnkgKyBmaXJzdFRhcmdl
dFJlY3QuaGVpZ2h0IC8gMiArIG5vbmVkaXRhYmxlVG9FZGl0YWJsZU9mZnNldDsKKyAgICAgICAg
CisgICAgICAgICAgICBhd2FpdCB0YXBBdFBvaW50KHRhcFBvaW50WCwgdGFwUG9pbnRZKTsKKyAg
ICAgICAgICAgIGlmIChkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS50eXBlID09ICJDYXJldCIpCisg
ICAgICAgICAgICAgICAgb3V0cHV0ICs9ICdQQVNTOiBIYXMgQ2FyZXQgU2VsZWN0aW9uJzsKKyAg
ICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBvdXRwdXQgKz0gJ0ZBSUw6IGZhaWxlZCB0
byBhY3RpdmF0ZSBjYXJldCBhcyBhIHJlc3VsdCBvZiBhIHRhcC4gSW5jb3JyZWN0IFNlbGVjdGlv
bjogJyArIGRvY3VtZW50LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCk7CisgICAgICAgICAgICBv
dXRwdXQgKz0gJzxicj4nOworCisgICAgICAgICAgICBhd2FpdCBkaWRTaG93S2V5Ym9hcmQoKTsK
KworICAgICAgICAgICAgYXdhaXQgZG91YmxlVGFwQXRQb2ludChkb3VibGVUYXBQb2ludFgsIGRv
dWJsZVRhcFBvaW50WSk7CisgICAgICAgICAgICBpZiAoZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCku
dG9TdHJpbmcoKSA9PSAibWFnbmEiKQorICAgICAgICAgICAgICAgIG91dHB1dCArPSAnUEFTUzog
Q29ycmVjdCBTZWxlY3Rpb24nOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIG91
dHB1dCArPSAnRkFJTDogZmFpbGVkIHRvIHNlbGVjdCBhIHdvcmQgYXMgYSByZXN1bHQgb2YgYSBs
b25nIHByZXNzLiBJbmNvcnJlY3QgU2VsZWN0aW9uOiAnICsgZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCkudG9TdHJpbmcoKTsKKyAgICAgICAgICAgIG91dHB1dCArPSAnPGJyPic7CisKKyAgICAgICAg
ICAgIHZhciBub25lZGl0YWJsZUVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbm9u
ZWRpdGFibGUnKTsKKyAgICAgICAgICAgIG5vbmVkaXRhYmxlRWxlbWVudC5wYXJlbnROb2RlLnJl
bW92ZUNoaWxkKG5vbmVkaXRhYmxlRWxlbWVudCk7CisgICAgICAgICAgICB2YXIgZWRpdGFibGVF
bGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VkaXRhYmxlJyk7CisgICAgICAgICAg
ICBlZGl0YWJsZUVsZW1lbnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlZGl0YWJsZUVsZW1lbnQp
OworICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RhcmdldCcpLmlubmVySFRN
TCA9IG91dHB1dDsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAg
ICB9CisKKyAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBydW5UZXN0LCBm
YWxzZSk7CisgICAgPC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgI25vbmVkaXRh
YmxlIHsKKyAgICAgICAgICAgIGhlaWdodDogMjAwcHg7CisgICAgICAgICAgICB3aWR0aDogMzAw
cHg7CisgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzaWx2ZXI7CisgICAgICAgICAgICBm
b250LWZhbWlseTogbW9ub3NwYWNlOworICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4OworICAg
ICAgICB9CisgICAgICAgICNlZGl0YWJsZSB7CisgICAgICAgICAgICBoZWlnaHQ6IDIwMHB4Owor
ICAgICAgICAgICAgd2lkdGg6IDMwMHB4OworICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjog
c2lsdmVyOworICAgICAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKKyAgICAgICAgICAg
IGZvbnQtc2l6ZTogMThweDsKKyAgICAgICAgfQorICAgICAgICAjdGFyZ2V0IHsKKyAgICAgICAg
ICAgIGhlaWdodDogNTBweDsKKyAgICAgICAgICAgIHdpZHRoOiAzMDBweDsKKyAgICAgICAgICAg
IGJhY2tncm91bmQtY29sb3I6IHNpbHZlcjsKKyAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBtb25v
c3BhY2U7CisgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7CisgICAgICAgIH0KKyAgICA8L3N0
eWxlPgorICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8ZGl2IGlkPSJub25l
ZGl0YWJsZSI+CisgICAgICAgIDxwPkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0
ZXR1ciBhZGlwaXNjaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0
IGxhYm9yZSBldCBkb2xvcmUgPHNwYW4gaWQ9ImZpcnN0U2VsZWN0aW9uIj5tYWduYTwvc3Bhbj4g
YWxpcXVhLiBVdCBlbmltIGFkIG1pbmltIHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4ZXJjaXRhdGlv
biB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0
LjwvcD4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGlkPSJlZGl0YWJsZSIgY29udGVudGVkaXRhYmxl
IG9ubW91c2Vkb3duPSJjbGVhclNlbGVjdGlvbigpIj4KKyAgICAgICAgPHA+TG9yZW0gaXBzdW0g
ZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdCwgc2VkIGRvIGVpdXNt
b2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0
IGVuaW0gYWQgbWluaW0gdmVuaWFtLCBxdWlzIG5vc3RydWQgZXhlcmNpdGF0aW9uIHVsbGFtY28g
bGFib3JpcyBuaXNpIHV0IGFsaXF1aXAgZXggZWEgY29tbW9kbyBjb25zZXF1YXQuPC9wPgorICAg
IDwvZGl2PiAKKyAgICA8ZGl2IGlkPSJ0YXJnZXQiPgorICAgICAgICBUaGlzIHRlc3QgcmVxdWly
ZXMgVUlTY3JpcHRDb250cm9sbGVyIHRvIHJ1bi4KKyAgICA8L2Rpdj4KKzwvYm9keT4KKzwvaHRt
bD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417394</attachid>
            <date>2021-01-11 11:27:06 -0800</date>
            <delta_ts>2021-01-11 16:22:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220454-20210111112705.patch</filename>
            <type>text/plain</type>
            <size>12504</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMjAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDU5MDcwN2JjNmFkYjhhNTdl
NzllYjI2YTVjM2U5YWE0MjMyNWM4YTIuLjliYzUzNTgwNWMxZTFjZjhlMjNhMTZjZDAwMGNhODI1
NDBkN2FhNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMjEtMDEtMDggIE1lZ2FuIEdh
cmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBEb3VibGUgdGFwIHRv
IHNlbGVjdCBkb2VzIG5vdCB3b3JrIGlmIHRoZSBwYWdlIGNsZWFycyBzZWxlY3Rpb25zIG9uIHRh
cCwgbGlrZSBncmFtbWFybHkuY29tIGRvZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIyMDQ1NAorICAgICAgICByZGFyOi8vNjc3NTc0MTEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEb3VibGUgdGFwIHRv
IHNlbGVjdCBjb250ZW50IGRpZCBub3Qgd29yayBvbiBncmFtbWVybHkuY29tIG9uIGlQYWQgYmVj
YXVzZSB0aGlzIGlzIGEgZGVza3RvcCB3ZWJzaXRlIHJ1biBvbiBhIHRvdWNoLWJhc2VkIGRldmlj
ZSwKKyAgICAgICAgYW5kIHRoZXJlIHdhcyBhIHNjcmlwdCBydW5uaW5nIHRoYXQgd291bGQgY2xl
YXIgdGhlIHNlbGVjdGlvbiBvbiBhIG1vdXNlRG93biBldmVudC4gV2hlbiB3ZSB3b3VsZCBzZW5k
IHN5bnRoZXRpYyBjbGljayBldmVudHMgdG8gdGhlIHBhZ2UKKyAgICAgICAgd2Ugd291bGQgZmly
c3QgdXBkYXRlIHRoZSBzZWxlY3Rpb24gYW5kIHRoZW4gb24gY29tcGxldGlvbiBvZiB0aGUgdGFw
LCB3ZSB3b3VsZCBkaXNwYXRjaCBhIG1vdXNlRG93biBhbmQgbW91c2VVcCBldmVudCBvbiBpT1Mu
IE9uIE1hYywgd2UKKyAgICAgICAgdXBkYXRlIHRoZSBzZWxlY3Rpb24gYmV0d2VlbiB0aGUgbW91
c2VEb3duIGFuZCB0aGUgbW91c2VVcCwgc28gaW4gb3JkZXIgdG8gYnJpbmcgdXMgbW9yZSBpbiBs
aW5lIHdpdGggbWFjL21vdXNlIGJlaGF2aW9ycywgd2UgYXJlIG5vdyBzYXZpbmcKKyAgICAgICAg
dGhlIGluZm9ybWF0aW9uIG5lZWRlZCB0byB1cGRhdGUgdGhlIHNlbGVjdGlvbiB3aGVuIHdlIGJl
bGlldmUgd2UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYSBwb3RlbnRpYWwgdGFwLCBhbmQgdGhlbiBz
ZXR0aW5nIHRoZSBzZWxlY3Rpb24gYmV0d2VlbgorICAgICAgICB0aGVzZSB0d28gZXZlbnRzLiBU
aGlzIG1ha2VzIGZvciBhIG1vcmUgZXhwZWN0ZWQgY2hhbmdlIG9mIGV2ZW50cywgYW5kIGRvZXMg
bm90IGxldCBncmFtbWVybHkuY29tIGNsZWFyIGEgdmFsaWQgc2VsZWN0aW9uIGJhc2VkIG9mZiBv
ZiBzeW50aGV0aWMgCisgICAgICAgIGNsaWNrcy4KKworICAgICAgICBUZXN0OiBmYXN0L2V2ZW50
cy90b3VjaC9pb3MvZG91YmxlLXRhcC1vbi1lZGl0YWJsZS1jb250ZW50LWZvci1zZWxlY3Rpb24t
d2l0aC1jbGVhci1vbi10b3VjaC5odG1sCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5t
bToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6Y29tcGxldGVTeW50aGV0aWNDbGljayk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNldFNlbGVjdGlvblJhbmdlKToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZTo6c2VsZWN0VGV4dFdpdGhHcmFudWxhcml0eUF0UG9pbnQpOgorCiAyMDIx
LTAxLTA2ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgVXNlIHNlbmRXaXRoQXN5bmNSZXBseSBpbnN0ZWFkIG9mIGlPUy1zcGVjaWZpYyBHZW5l
cmljQ2FsbGJhY2tzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgK
aW5kZXggOGJhOWY3MWI0NjI1YjkxNWFlNWQ5OGJjMWMzN2JlNmQyNjQwYTcwMC4uNTIwMWVlNGU3
NmI0MTQzNWExZGM3YTgwMGQzNzNiYmRjOWFhYzU3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtMTc5OCw2ICsxNzk4LDggQEAgcHJpdmF0ZToKIAog
ICAgIFZlY3RvcjxSZWZQdHI8U2FuZGJveEV4dGVuc2lvbj4+IGNvbnN1bWVTYW5kYm94RXh0ZW5z
aW9ucyhTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGVBcnJheSYmKTsKICAgICB2b2lkIHJldm9rZVNh
bmRib3hFeHRlbnNpb25zKFZlY3RvcjxSZWZQdHI8U2FuZGJveEV4dGVuc2lvbj4+JiBzYW5kYm94
RXh0ZW5zaW9ucyk7CisKKyAgICB2b2lkIHNldFNlbGVjdGlvblJhbmdlKGNvbnN0IFdlYkNvcmU6
OkludFBvaW50JiwgV2ViQ29yZTo6VGV4dEdyYW51bGFyaXR5LCBib29sKTsKICAgICAKICAgICBX
ZWJDb3JlOjpQYWdlSWRlbnRpZmllciBtX2lkZW50aWZpZXI7CiAKQEAgLTE4MjUsNiArMTgyNyw3
IEBAIHByaXZhdGU6CiAgICAgSGFzaE1hcDxQREZQbHVnaW5JZGVudGlmaWVyLCBXZWFrUHRyPFBE
RlBsdWdpbj4+IG1fcGRmUGx1Z0luc1dpdGhIVUQ7CiAjZW5kaWYKIAorICAgIFdURjo6RnVuY3Rp
b248dm9pZCgpPiBtX3NlbGVjdGlvbkNoYW5nZWRIYW5kbGVyOwogICAgIGJvb2wgbV9pc0luUmVk
byB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzQ2xvc2VkIHsgZmFsc2UgfTsKICAgICBib29sIG1f
dGFiVG9MaW5rcyB7IGZhbHNlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCmluZGV4IDAwNmI4NWFjNTJiNTQ4ZDRiMzU4ZTRhMDBl
MzFlNjFkYjAyZmM0NzMuLjk1ZDZiZGJkMzQwNTllM2UzZjgwOWY1OGQxYTk1OTQ0YTQyODJjMWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdl
SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdl
SU9TLm1tCkBAIC04NTMsNiArODUzLDkgQEAgdm9pZCBXZWJQYWdlOjpjb21wbGV0ZVN5bnRoZXRp
Y0NsaWNrKE5vZGUmIG5vZGVSZXNwb25kaW5nVG9DbGljaywgY29uc3QgV2ViQ29yZToKICAgICBp
ZiAobV9pc0Nsb3NlZCkKICAgICAgICAgcmV0dXJuOwogCisgICAgaWYgKGF1dG8gc2VsZWN0aW9u
Q2hhbmdlZEhhbmRsZXIgPSBzdGQ6OmV4Y2hhbmdlKG1fc2VsZWN0aW9uQ2hhbmdlZEhhbmRsZXIs
IG5pbCkpCisgICAgICAgIHNlbGVjdGlvbkNoYW5nZWRIYW5kbGVyKCk7CisKICAgICB0YXBXYXNI
YW5kbGVkIHw9IG1haW5mcmFtZS5ldmVudEhhbmRsZXIoKS5oYW5kbGVNb3VzZVJlbGVhc2VFdmVu
dChQbGF0Zm9ybU1vdXNlRXZlbnQocm91bmRlZEFkanVzdGVkUG9pbnQsIHJvdW5kZWRBZGp1c3Rl
ZFBvaW50LCBMZWZ0QnV0dG9uLCBQbGF0Zm9ybUV2ZW50OjpNb3VzZVJlbGVhc2VkLCAxLCBzaGlm
dEtleSwgY3RybEtleSwgYWx0S2V5LCBtZXRhS2V5LCBXYWxsVGltZTo6bm93KCksIFdlYkNvcmU6
OkZvcmNlQXRDbGljaywgc3ludGhldGljQ2xpY2tUeXBlLCBwb2ludGVySWQpKTsKICAgICBpZiAo
bV9pc0Nsb3NlZCkKICAgICAgICAgcmV0dXJuOwpAQCAtMTE2Niw2ICsxMTY5LDkgQEAgdm9pZCBX
ZWJQYWdlOjpjb21taXRQb3RlbnRpYWxUYXAoT3B0aW9uU2V0PFdlYkV2ZW50OjpNb2RpZmllcj4g
bW9kaWZpZXJzLCBUcmFuc2EKIAogdm9pZCBXZWJQYWdlOjpjb21taXRQb3RlbnRpYWxUYXBGYWls
ZWQoKQogeworICAgIGlmIChhdXRvIHNlbGVjdGlvbkNoYW5nZWRIYW5kbGVyID0gc3RkOjpleGNo
YW5nZShtX3NlbGVjdGlvbkNoYW5nZWRIYW5kbGVyLCBuaWwpKQorICAgICAgICBzZWxlY3Rpb25D
aGFuZ2VkSGFuZGxlcigpOworCiAgICAgQ29udGVudENoYW5nZU9ic2VydmVyOjpkaWRDYW5jZWxQ
b3RlbnRpYWxUYXAobV9wYWdlLT5tYWluRnJhbWUoKSk7CiAgICAgaWYgKCFtX3BhZ2UtPmZvY3Vz
Q29udHJvbGxlcigpLmZvY3VzZWRPck1haW5GcmFtZSgpLnNlbGVjdGlvbigpLnNlbGVjdGlvbigp
LmlzQ29udGVudEVkaXRhYmxlKCkpCiAgICAgICAgIGNsZWFyU2VsZWN0aW9uKCk7CkBAIC0xMTgy
LDYgKzExODgsOSBAQCB2b2lkIFdlYlBhZ2U6OmNhbmNlbFBvdGVudGlhbFRhcCgpCiAKIHZvaWQg
V2ViUGFnZTo6Y2FuY2VsUG90ZW50aWFsVGFwSW5GcmFtZShXZWJGcmFtZSYgZnJhbWUpCiB7Cisg
ICAgaWYgKGF1dG8gc2VsZWN0aW9uQ2hhbmdlZEhhbmRsZXIgPSBzdGQ6OmV4Y2hhbmdlKG1fc2Vs
ZWN0aW9uQ2hhbmdlZEhhbmRsZXIsIG5pbCkpCisgICAgICAgIHNlbGVjdGlvbkNoYW5nZWRIYW5k
bGVyKCk7CisKICAgICBpZiAobV9wb3RlbnRpYWxUYXBOb2RlKSB7CiAgICAgICAgIGF1dG8qIHBv
dGVudGlhbFRhcEZyYW1lID0gbV9wb3RlbnRpYWxUYXBOb2RlLT5kb2N1bWVudCgpLmZyYW1lKCk7
CiAgICAgICAgIGlmIChwb3RlbnRpYWxUYXBGcmFtZSAmJiAhcG90ZW50aWFsVGFwRnJhbWUtPnRy
ZWUoKS5pc0Rlc2NlbmRhbnRPZihmcmFtZS5jb3JlRnJhbWUoKSkpCkBAIC0yMTExLDcgKzIxMjAs
NyBAQCB2b2lkIFdlYlBhZ2U6OnNldEZvY3VzZWRGcmFtZUJlZm9yZVNlbGVjdGluZ1RleHRBdExv
Y2F0aW9uKGNvbnN0IEludFBvaW50JiBwb2ludAogICAgICAgICBtX3BhZ2UtPmZvY3VzQ29udHJv
bGxlcigpLnNldEZvY3VzZWRGcmFtZShyZXN1bHQuaW5uZXJOb2RlRnJhbWUoKSk7CiB9CiAKLXZv
aWQgV2ViUGFnZTo6c2VsZWN0VGV4dFdpdGhHcmFudWxhcml0eUF0UG9pbnQoY29uc3QgV2ViQ29y
ZTo6SW50UG9pbnQmIHBvaW50LCBXZWJDb3JlOjpUZXh0R3JhbnVsYXJpdHkgZ3JhbnVsYXJpdHks
IGJvb2wgaXNJbnRlcmFjdGluZ1dpdGhGb2N1c2VkRWxlbWVudCwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQordm9pZCBXZWJQYWdlOjpzZXRTZWxlY3Rpb25S
YW5nZShjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgcG9pbnQsIFdlYkNvcmU6OlRleHRHcmFudWxh
cml0eSBncmFudWxhcml0eSwgYm9vbCBpc0ludGVyYWN0aW5nV2l0aEZvY3VzZWRFbGVtZW50KQog
ewogICAgIHNldEZvY3VzZWRGcmFtZUJlZm9yZVNlbGVjdGluZ1RleHRBdExvY2F0aW9uKHBvaW50
KTsKIApAQCAtMjEyMCw3ICsyMTI5LDI2IEBAIHZvaWQgV2ViUGFnZTo6c2VsZWN0VGV4dFdpdGhH
cmFudWxhcml0eUF0UG9pbnQoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHBvaW50LCBXCiAgICAg
aWYgKHJhbmdlKQogICAgICAgICBmcmFtZS5zZWxlY3Rpb24oKS5zZXRTZWxlY3RlZFJhbmdlKCpy
YW5nZSwgQWZmaW5pdHk6OlVwc3RyZWFtLCBXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6U2hvdWxk
Q2xvc2VUeXBpbmc6OlllcywgVXNlclRyaWdnZXJlZCk7CiAgICAgbV9pbml0aWFsU2VsZWN0aW9u
ID0gcmFuZ2U7Ci0gICAgY29tcGxldGlvbkhhbmRsZXIoKTsKK30KKwordm9pZCBXZWJQYWdlOjpz
ZWxlY3RUZXh0V2l0aEdyYW51bGFyaXR5QXRQb2ludChjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYg
cG9pbnQsIFdlYkNvcmU6OlRleHRHcmFudWxhcml0eSBncmFudWxhcml0eSwgYm9vbCBpc0ludGVy
YWN0aW5nV2l0aEZvY3VzZWRFbGVtZW50LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29t
cGxldGlvbkhhbmRsZXIpCit7CisgICAgaWYgKCFtX3BvdGVudGlhbFRhcE5vZGUpIHsKKyAgICAg
ICAgc2V0U2VsZWN0aW9uUmFuZ2UocG9pbnQsIGdyYW51bGFyaXR5LCBpc0ludGVyYWN0aW5nV2l0
aEZvY3VzZWRFbGVtZW50KTsKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKworICAgIG1fc2VsZWN0aW9uQ2hhbmdlZEhhbmRsZXIgPSBbcG9pbnQs
IGdyYW51bGFyaXR5LCBpc0ludGVyYWN0aW5nV2l0aEZvY3VzZWRFbGVtZW50LCBjb21wbGV0aW9u
SGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpLCB3ZWJQYWdlID0gbWFrZVdlYWtQ
dHIoKnRoaXMpLCB0aGlzXSgpbXV0YWJsZSB7CisgICAgICAgIFJlZlB0cjxXZWJQYWdlPiBzdHJv
bmdQYWdlID0gd2ViUGFnZS5nZXQoKTsKKyAgICAgICAgaWYgKCFzdHJvbmdQYWdlKSB7CisgICAg
ICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICB9CisgICAgICAgIHNldFNlbGVjdGlvblJhbmdlKHBvaW50LCBncmFudWxhcml0eSwgaXNJbnRl
cmFjdGluZ1dpdGhGb2N1c2VkRWxlbWVudCk7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7
CisgICAgfTsKKwogfQogCiB2b2lkIFdlYlBhZ2U6OmJlZ2luU2VsZWN0aW9uSW5EaXJlY3Rpb24o
V2ViQ29yZTo6U2VsZWN0aW9uRGlyZWN0aW9uIGRpcmVjdGlvbiwgQ2FsbGJhY2tJRCBjYWxsYmFj
a0lEKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IGI4ZjAzYTNkNmNhZGQwZDI0YzA2ZGM3ODIzYmY5OWY0N2I5MTE2NjEuLmUx
MjhkNzIzMjZjY2Q0NjljYTRlZjU2ODAzMGY3MjE3ZDgwZDZjYzkgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
MyBAQAorMjAyMS0wMS0wOCAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29t
PgorCisgICAgICAgIERvdWJsZSB0YXAgdG8gc2VsZWN0IGRvZXMgbm90IHdvcmsgaWYgdGhlIHBh
Z2UgY2xlYXJzIHNlbGVjdGlvbnMgb24gdGFwLCBsaWtlIGdyYW1tYXJseS5jb20gZG9lcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwNDU0CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2V2ZW50
cy90b3VjaC9pb3MvZG91YmxlLXRhcC1vbi1lZGl0YWJsZS1jb250ZW50LWZvci1zZWxlY3Rpb24t
d2l0aC1jbGVhci1vbi10b3VjaC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
ZXZlbnRzL3RvdWNoL2lvcy9kb3VibGUtdGFwLW9uLWVkaXRhYmxlLWNvbnRlbnQtZm9yLXNlbGVj
dGlvbi13aXRoLWNsZWFyLW9uLXRvdWNoLmh0bWw6IEFkZGVkLgorCiAyMDIxLTAxLTA2ICBSaW5p
IFBhdGVsICA8cmluaV9wYXRlbEBhcHBsZS5jb20+CiAKICAgICAgICAgW0dQVSBwcm9jZXNzXSBB
ZGQgTGF5b3V0IHRlc3RzIGZhaWx1cmVzIHRvIExheW91dFRlc3RzL2dwdS1wcm9jZXNzL1Rlc3RF
eHBlY3RhdGlvbnMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lv
cy9kb3VibGUtdGFwLW9uLWVkaXRhYmxlLWNvbnRlbnQtZm9yLXNlbGVjdGlvbi13aXRoLWNsZWFy
LW9uLXRvdWNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lv
cy9kb3VibGUtdGFwLW9uLWVkaXRhYmxlLWNvbnRlbnQtZm9yLXNlbGVjdGlvbi13aXRoLWNsZWFy
LW9uLXRvdWNoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZmJjYmI1MGZjMWZmODg4ZjYyZDgw
NTRlZjJlMTcxYTZiNGNiY2U4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvdG91Y2gvaW9zL2RvdWJsZS10YXAtb24tZWRpdGFibGUtY29udGVudC1mb3Itc2VsZWN0
aW9uLXdpdGgtY2xlYXItb24tdG91Y2gtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorUEFT
UzogSGFzIENhcmV0IFNlbGVjdGlvbgorUEFTUzogQ29ycmVjdCBTZWxlY3Rpb24KKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvaW9zL2RvdWJsZS10YXAtb24tZWRp
dGFibGUtY29udGVudC1mb3Itc2VsZWN0aW9uLXdpdGgtY2xlYXItb24tdG91Y2guaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy9kb3VibGUtdGFwLW9uLWVkaXRhYmxlLWNv
bnRlbnQtZm9yLXNlbGVjdGlvbi13aXRoLWNsZWFyLW9uLXRvdWNoLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MGUxYjRmMWY3M2E5OWViOWZiMDA2NWUyZTc5Mjg1ZDQ3NzEyOTIzZgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy9kb3VibGUtdGFwLW9uLWVkaXRh
YmxlLWNvbnRlbnQtZm9yLXNlbGVjdGlvbi13aXRoLWNsZWFyLW9uLXRvdWNoLmh0bWwKQEAgLTAs
MCArMSw5NiBAQAorPCFET0NUWVBFIGh0bWw+CisKKzxodG1sPgorPGhlYWQ+CisgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9iYXNpYy1nZXN0dXJlcy5qcyI+PC9zY3JpcHQ+
CisgICAgPHNjcmlwdD4KKworICAgICAgICBmdW5jdGlvbiBjbGVhclNlbGVjdGlvbigpCisgICAg
ICAgIHsKKyAgICAgICAgICAgIHZhciBzZWxlY3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkg
fHwgZG9jdW1lbnQuc2VsZWN0aW9uOworICAgICAgICAgICAgc2VsZWN0aW9uLnJlbW92ZUFsbFJh
bmdlcygpOworICAgICAgICB9CisKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Cisg
ICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgICAgIHRlc3RSdW5u
ZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICB9CisgICAgCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIHJ1blRlc3QoKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIucnVu
VUlTY3JpcHQpCisgICAgICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgICAgICB2YXIgb3V0
cHV0ID0gJyc7CisgICAgICAgICAgICB2YXIgZWRpdGFibGVUYXJnZXRSZWN0ID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ2VkaXRhYmxlJykuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CisgICAg
ICAgICAgICB2YXIgZmlyc3RUYXJnZXRSZWN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Zp
cnN0U2VsZWN0aW9uJykuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CisgICAgICAgICAgICB2YXIg
bm9uZWRpdGFibGVUb0VkaXRhYmxlT2Zmc2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Vk
aXRhYmxlJykuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkueSAtIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdub25lZGl0YWJsZScpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnk7CisKKyAgICAgICAg
ICAgIHZhciB0YXBQb2ludFggPSBlZGl0YWJsZVRhcmdldFJlY3QueCArIGVkaXRhYmxlVGFyZ2V0
UmVjdC53aWR0aCAvIDI7CisgICAgICAgICAgICB2YXIgdGFwUG9pbnRZID0gZWRpdGFibGVUYXJn
ZXRSZWN0LnkgKyBlZGl0YWJsZVRhcmdldFJlY3QuaGVpZ2h0IC8gMjsKKyAgICAgICAgICAgIHZh
ciBkb3VibGVUYXBQb2ludFggPSBmaXJzdFRhcmdldFJlY3QueCArIGZpcnN0VGFyZ2V0UmVjdC53
aWR0aCAvIDI7CisgICAgICAgICAgICB2YXIgZG91YmxlVGFwUG9pbnRZID0gZmlyc3RUYXJnZXRS
ZWN0LnkgKyBmaXJzdFRhcmdldFJlY3QuaGVpZ2h0IC8gMiArIG5vbmVkaXRhYmxlVG9FZGl0YWJs
ZU9mZnNldDsKKyAgICAgICAgCisgICAgICAgICAgICBhd2FpdCB0YXBBdFBvaW50KHRhcFBvaW50
WCwgdGFwUG9pbnRZKTsKKyAgICAgICAgICAgIGlmIChkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS50
eXBlID09ICJDYXJldCIpCisgICAgICAgICAgICAgICAgb3V0cHV0ICs9ICdQQVNTOiBIYXMgQ2Fy
ZXQgU2VsZWN0aW9uJzsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBvdXRwdXQg
Kz0gJ0ZBSUw6IGZhaWxlZCB0byBhY3RpdmF0ZSBjYXJldCBhcyBhIHJlc3VsdCBvZiBhIHRhcC4g
SW5jb3JyZWN0IFNlbGVjdGlvbjogJyArIGRvY3VtZW50LmdldFNlbGVjdGlvbigpLnRvU3RyaW5n
KCk7CisgICAgICAgICAgICBvdXRwdXQgKz0gJzxicj4nOworCisgICAgICAgICAgICBhd2FpdCBk
aWRTaG93S2V5Ym9hcmQoKTsKKworICAgICAgICAgICAgYXdhaXQgZG91YmxlVGFwQXRQb2ludChk
b3VibGVUYXBQb2ludFgsIGRvdWJsZVRhcFBvaW50WSk7CisgICAgICAgICAgICBpZiAoZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSA9PSAibWFnbmEiKQorICAgICAgICAgICAgICAg
IG91dHB1dCArPSAnUEFTUzogQ29ycmVjdCBTZWxlY3Rpb24nOworICAgICAgICAgICAgZWxzZQor
ICAgICAgICAgICAgICAgIG91dHB1dCArPSAnRkFJTDogZmFpbGVkIHRvIHNlbGVjdCBhIHdvcmQg
YXMgYSByZXN1bHQgb2YgYSBsb25nIHByZXNzLiBJbmNvcnJlY3QgU2VsZWN0aW9uOiAnICsgZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKTsKKyAgICAgICAgICAgIG91dHB1dCArPSAn
PGJyPic7CisKKyAgICAgICAgICAgIHZhciBub25lZGl0YWJsZUVsZW1lbnQgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgnbm9uZWRpdGFibGUnKTsKKyAgICAgICAgICAgIG5vbmVkaXRhYmxlRWxl
bWVudC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG5vbmVkaXRhYmxlRWxlbWVudCk7CisgICAgICAg
ICAgICB2YXIgZWRpdGFibGVFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VkaXRh
YmxlJyk7CisgICAgICAgICAgICBlZGl0YWJsZUVsZW1lbnQucGFyZW50Tm9kZS5yZW1vdmVDaGls
ZChlZGl0YWJsZUVsZW1lbnQpOworICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J3RhcmdldCcpLmlubmVySFRNTCA9IG91dHB1dDsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90
aWZ5RG9uZSgpOworICAgICAgICB9CisKKyAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIo
J2xvYWQnLCBydW5UZXN0LCBmYWxzZSk7CisgICAgPC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgI25vbmVkaXRhYmxlIHsKKyAgICAgICAgICAgIGhlaWdodDogMjAwcHg7CisgICAg
ICAgICAgICB3aWR0aDogMzAwcHg7CisgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzaWx2
ZXI7CisgICAgICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOworICAgICAgICAgICAgZm9u
dC1zaXplOiAxOHB4OworICAgICAgICB9CisgICAgICAgICNlZGl0YWJsZSB7CisgICAgICAgICAg
ICBoZWlnaHQ6IDIwMHB4OworICAgICAgICAgICAgd2lkdGg6IDMwMHB4OworICAgICAgICAgICAg
YmFja2dyb3VuZC1jb2xvcjogc2lsdmVyOworICAgICAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9z
cGFjZTsKKyAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDsKKyAgICAgICAgfQorICAgICAgICAj
dGFyZ2V0IHsKKyAgICAgICAgICAgIGhlaWdodDogNTBweDsKKyAgICAgICAgICAgIHdpZHRoOiAz
MDBweDsKKyAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNpbHZlcjsKKyAgICAgICAgICAg
IGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CisgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7Cisg
ICAgICAgIH0KKyAgICA8L3N0eWxlPgorICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8L2hlYWQ+Cis8Ym9keT4K
KyAgICA8ZGl2IGlkPSJub25lZGl0YWJsZSI+CisgICAgICAgIDxwPkxvcmVtIGlwc3VtIGRvbG9y
IHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRl
bXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgPHNwYW4gaWQ9ImZpcnN0U2VsZWN0
aW9uIj5tYWduYTwvc3Bhbj4gYWxpcXVhLiBVdCBlbmltIGFkIG1pbmltIHZlbmlhbSwgcXVpcyBu
b3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1dCBhbGlxdWlwIGV4IGVh
IGNvbW1vZG8gY29uc2VxdWF0LjwvcD4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGlkPSJlZGl0YWJs
ZSIgY29udGVudGVkaXRhYmxlIG9ubW91c2Vkb3duPSJjbGVhclNlbGVjdGlvbigpIj4KKyAgICAg
ICAgPHA+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2Npbmcg
ZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9y
ZSBtYWduYSBhbGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVuaWFtLCBxdWlzIG5vc3RydWQgZXhl
cmNpdGF0aW9uIHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFsaXF1aXAgZXggZWEgY29tbW9kbyBj
b25zZXF1YXQuPC9wPgorICAgIDwvZGl2PiAKKyAgICA8ZGl2IGlkPSJ0YXJnZXQiPgorICAgICAg
ICBUaGlzIHRlc3QgcmVxdWlyZXMgVUlTY3JpcHRDb250cm9sbGVyIHRvIHJ1bi4KKyAgICA8L2Rp
dj4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417420</attachid>
            <date>2021-01-11 16:22:51 -0800</date>
            <delta_ts>2021-01-11 16:54:41 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-220454-20210111162250.patch</filename>
            <type>text/plain</type>
            <size>12667</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMjAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDU5MDcwN2JjNmFkYjhhNTdl
NzllYjI2YTVjM2U5YWE0MjMyNWM4YTIuLmNlYmQ3YzViMGY2NzYwYWFjMDVmYWRjMmY4OTBmYjc1
MDkxNjcyNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMjEtMDEtMDggIE1lZ2FuIEdh
cmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBEb3VibGUgdGFwIHRv
IHNlbGVjdCBkb2VzIG5vdCB3b3JrIGlmIHRoZSBwYWdlIGNsZWFycyBzZWxlY3Rpb25zIG9uIHRh
cCwgbGlrZSBncmFtbWFybHkuY29tIGRvZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIyMDQ1NAorICAgICAgICByZGFyOi8vNjc3NTc0MTEKKworICAg
ICAgICBSZXZpZXdlZCBieSBXZW5zb24gSHNpZWguCisKKyAgICAgICAgRG91YmxlIHRhcCB0byBz
ZWxlY3QgY29udGVudCBkaWQgbm90IHdvcmsgb24gZ3JhbW1lcmx5LmNvbSBvbiBpUGFkIGJlY2F1
c2UgdGhpcyBpcyBhIGRlc2t0b3Agd2Vic2l0ZSBydW4gb24gYSB0b3VjaC1iYXNlZCBkZXZpY2Us
CisgICAgICAgIGFuZCB0aGVyZSB3YXMgYSBzY3JpcHQgcnVubmluZyB0aGF0IHdvdWxkIGNsZWFy
IHRoZSBzZWxlY3Rpb24gb24gYSBtb3VzZURvd24gZXZlbnQuIFdoZW4gd2Ugd291bGQgc2VuZCBz
eW50aGV0aWMgY2xpY2sgZXZlbnRzIHRvIHRoZSBwYWdlCisgICAgICAgIHdlIHdvdWxkIGZpcnN0
IHVwZGF0ZSB0aGUgc2VsZWN0aW9uIGFuZCB0aGVuIG9uIGNvbXBsZXRpb24gb2YgdGhlIHRhcCwg
d2Ugd291bGQgZGlzcGF0Y2ggYSBtb3VzZURvd24gYW5kIG1vdXNlVXAgZXZlbnQgb24gaU9TLiBP
biBNYWMsIHdlCisgICAgICAgIHVwZGF0ZSB0aGUgc2VsZWN0aW9uIGJldHdlZW4gdGhlIG1vdXNl
RG93biBhbmQgdGhlIG1vdXNlVXAsIHNvIGluIG9yZGVyIHRvIGJyaW5nIHVzIG1vcmUgaW4gbGlu
ZSB3aXRoIG1hYy9tb3VzZSBiZWhhdmlvcnMsIHdlIGFyZSBub3cgc2F2aW5nCisgICAgICAgIHRo
ZSBpbmZvcm1hdGlvbiBuZWVkZWQgdG8gdXBkYXRlIHRoZSBzZWxlY3Rpb24gd2hlbiB3ZSBiZWxp
ZXZlIHdlIGFyZSBpbiB0aGUgbWlkZGxlIG9mIGEgcG90ZW50aWFsIHRhcCwgYW5kIHRoZW4gc2V0
dGluZyB0aGUgc2VsZWN0aW9uIGJldHdlZW4KKyAgICAgICAgdGhlc2UgdHdvIGV2ZW50cy4gVGhp
cyBtYWtlcyBmb3IgYSBtb3JlIGV4cGVjdGVkIGNoYW5nZSBvZiBldmVudHMsIGFuZCBkb2VzIG5v
dCBsZXQgZ3JhbW1lcmx5LmNvbSBjbGVhciBhIHZhbGlkIHNlbGVjdGlvbiBiYXNlZCBvZmYgb2Yg
c3ludGhldGljIAorICAgICAgICBjbGlja3MuCisKKyAgICAgICAgVGVzdDogZmFzdC9ldmVudHMv
dG91Y2gvaW9zL2RvdWJsZS10YXAtb24tZWRpdGFibGUtY29udGVudC1mb3Itc2VsZWN0aW9uLXdp
dGgtY2xlYXItb24tdG91Y2guaHRtbAorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW06
CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmNvbXBsZXRlU3ludGhldGljQ2xpY2spOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWdlOjpzZXRTZWxlY3Rpb25SYW5nZSk6CisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2U6OnNlbGVjdFRleHRXaXRoR3JhbnVsYXJpdHlBdFBvaW50KToKKwogMjAyMS0w
MS0wNiAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFVzZSBzZW5kV2l0aEFzeW5jUmVwbHkgaW5zdGVhZCBvZiBpT1Mtc3BlY2lmaWMgR2VuZXJp
Y0NhbGxiYWNrcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmlu
ZGV4IDhiYTlmNzFiNDYyNWI5MTVhZTVkOThiYzFjMzdiZTZkMjY0MGE3MDAuLjUyMDFlZTRlNzZi
NDE0MzVhMWRjN2E4MDBkMzczYmJkYzlhYWM1N2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTE3OTgsNiArMTc5OCw4IEBAIHByaXZhdGU6CiAKICAg
ICBWZWN0b3I8UmVmUHRyPFNhbmRib3hFeHRlbnNpb24+PiBjb25zdW1lU2FuZGJveEV4dGVuc2lv
bnMoU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlQXJyYXkmJik7CiAgICAgdm9pZCByZXZva2VTYW5k
Ym94RXh0ZW5zaW9ucyhWZWN0b3I8UmVmUHRyPFNhbmRib3hFeHRlbnNpb24+PiYgc2FuZGJveEV4
dGVuc2lvbnMpOworCisgICAgdm9pZCBzZXRTZWxlY3Rpb25SYW5nZShjb25zdCBXZWJDb3JlOjpJ
bnRQb2ludCYsIFdlYkNvcmU6OlRleHRHcmFudWxhcml0eSwgYm9vbCk7CiAgICAgCiAgICAgV2Vi
Q29yZTo6UGFnZUlkZW50aWZpZXIgbV9pZGVudGlmaWVyOwogCkBAIC0xODI1LDYgKzE4MjcsNyBA
QCBwcml2YXRlOgogICAgIEhhc2hNYXA8UERGUGx1Z2luSWRlbnRpZmllciwgV2Vha1B0cjxQREZQ
bHVnaW4+PiBtX3BkZlBsdWdJbnNXaXRoSFVEOwogI2VuZGlmCiAKKyAgICBXVEY6OkZ1bmN0aW9u
PHZvaWQoKT4gbV9zZWxlY3Rpb25DaGFuZ2VkSGFuZGxlcjsKICAgICBib29sIG1faXNJblJlZG8g
eyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc0Nsb3NlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3Rh
YlRvTGlua3MgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9pb3MvV2ViUGFnZUlPUy5tbQppbmRleCAwMDZiODVhYzUyYjU0OGQ0YjM1OGU0YTAwZTMx
ZTYxZGIwMmZjNDczLi45OGQzZjc5MTNiMmNiMTFhNzY0ZjRmMTkzMjAxZmMzNmViN2VkYWYzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlP
Uy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlP
Uy5tbQpAQCAtODUzLDYgKzg1Myw5IEBAIHZvaWQgV2ViUGFnZTo6Y29tcGxldGVTeW50aGV0aWND
bGljayhOb2RlJiBub2RlUmVzcG9uZGluZ1RvQ2xpY2ssIGNvbnN0IFdlYkNvcmU6CiAgICAgaWYg
KG1faXNDbG9zZWQpCiAgICAgICAgIHJldHVybjsKIAorICAgIGlmIChhdXRvIHNlbGVjdGlvbkNo
YW5nZWRIYW5kbGVyID0gc3RkOjpleGNoYW5nZShtX3NlbGVjdGlvbkNoYW5nZWRIYW5kbGVyLCB7
fSkpCisgICAgICAgIHNlbGVjdGlvbkNoYW5nZWRIYW5kbGVyKCk7CisKICAgICB0YXBXYXNIYW5k
bGVkIHw9IG1haW5mcmFtZS5ldmVudEhhbmRsZXIoKS5oYW5kbGVNb3VzZVJlbGVhc2VFdmVudChQ
bGF0Zm9ybU1vdXNlRXZlbnQocm91bmRlZEFkanVzdGVkUG9pbnQsIHJvdW5kZWRBZGp1c3RlZFBv
aW50LCBMZWZ0QnV0dG9uLCBQbGF0Zm9ybUV2ZW50OjpNb3VzZVJlbGVhc2VkLCAxLCBzaGlmdEtl
eSwgY3RybEtleSwgYWx0S2V5LCBtZXRhS2V5LCBXYWxsVGltZTo6bm93KCksIFdlYkNvcmU6OkZv
cmNlQXRDbGljaywgc3ludGhldGljQ2xpY2tUeXBlLCBwb2ludGVySWQpKTsKICAgICBpZiAobV9p
c0Nsb3NlZCkKICAgICAgICAgcmV0dXJuOwpAQCAtMTE2Niw2ICsxMTY5LDkgQEAgdm9pZCBXZWJQ
YWdlOjpjb21taXRQb3RlbnRpYWxUYXAoT3B0aW9uU2V0PFdlYkV2ZW50OjpNb2RpZmllcj4gbW9k
aWZpZXJzLCBUcmFuc2EKIAogdm9pZCBXZWJQYWdlOjpjb21taXRQb3RlbnRpYWxUYXBGYWlsZWQo
KQogeworICAgIGlmIChhdXRvIHNlbGVjdGlvbkNoYW5nZWRIYW5kbGVyID0gc3RkOjpleGNoYW5n
ZShtX3NlbGVjdGlvbkNoYW5nZWRIYW5kbGVyLCB7fSkpCisgICAgICAgIHNlbGVjdGlvbkNoYW5n
ZWRIYW5kbGVyKCk7CisKICAgICBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OmRpZENhbmNlbFBvdGVu
dGlhbFRhcChtX3BhZ2UtPm1haW5GcmFtZSgpKTsKICAgICBpZiAoIW1fcGFnZS0+Zm9jdXNDb250
cm9sbGVyKCkuZm9jdXNlZE9yTWFpbkZyYW1lKCkuc2VsZWN0aW9uKCkuc2VsZWN0aW9uKCkuaXND
b250ZW50RWRpdGFibGUoKSkKICAgICAgICAgY2xlYXJTZWxlY3Rpb24oKTsKQEAgLTExODIsNiAr
MTE4OCw5IEBAIHZvaWQgV2ViUGFnZTo6Y2FuY2VsUG90ZW50aWFsVGFwKCkKIAogdm9pZCBXZWJQ
YWdlOjpjYW5jZWxQb3RlbnRpYWxUYXBJbkZyYW1lKFdlYkZyYW1lJiBmcmFtZSkKIHsKKyAgICBp
ZiAoYXV0byBzZWxlY3Rpb25DaGFuZ2VkSGFuZGxlciA9IHN0ZDo6ZXhjaGFuZ2UobV9zZWxlY3Rp
b25DaGFuZ2VkSGFuZGxlciwge30pKQorICAgICAgICBzZWxlY3Rpb25DaGFuZ2VkSGFuZGxlcigp
OworCiAgICAgaWYgKG1fcG90ZW50aWFsVGFwTm9kZSkgewogICAgICAgICBhdXRvKiBwb3RlbnRp
YWxUYXBGcmFtZSA9IG1fcG90ZW50aWFsVGFwTm9kZS0+ZG9jdW1lbnQoKS5mcmFtZSgpOwogICAg
ICAgICBpZiAocG90ZW50aWFsVGFwRnJhbWUgJiYgIXBvdGVudGlhbFRhcEZyYW1lLT50cmVlKCku
aXNEZXNjZW5kYW50T2YoZnJhbWUuY29yZUZyYW1lKCkpKQpAQCAtMjExMSw3ICsyMTIwLDcgQEAg
dm9pZCBXZWJQYWdlOjpzZXRGb2N1c2VkRnJhbWVCZWZvcmVTZWxlY3RpbmdUZXh0QXRMb2NhdGlv
bihjb25zdCBJbnRQb2ludCYgcG9pbnQKICAgICAgICAgbV9wYWdlLT5mb2N1c0NvbnRyb2xsZXIo
KS5zZXRGb2N1c2VkRnJhbWUocmVzdWx0LmlubmVyTm9kZUZyYW1lKCkpOwogfQogCi12b2lkIFdl
YlBhZ2U6OnNlbGVjdFRleHRXaXRoR3JhbnVsYXJpdHlBdFBvaW50KGNvbnN0IFdlYkNvcmU6Oklu
dFBvaW50JiBwb2ludCwgV2ViQ29yZTo6VGV4dEdyYW51bGFyaXR5IGdyYW51bGFyaXR5LCBib29s
IGlzSW50ZXJhY3RpbmdXaXRoRm9jdXNlZEVsZW1lbnQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQgV2ViUGFnZTo6c2V0U2VsZWN0aW9uUmFuZ2Uo
Y29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHBvaW50LCBXZWJDb3JlOjpUZXh0R3JhbnVsYXJpdHkg
Z3JhbnVsYXJpdHksIGJvb2wgaXNJbnRlcmFjdGluZ1dpdGhGb2N1c2VkRWxlbWVudCkKIHsKICAg
ICBzZXRGb2N1c2VkRnJhbWVCZWZvcmVTZWxlY3RpbmdUZXh0QXRMb2NhdGlvbihwb2ludCk7CiAK
QEAgLTIxMjAsNyArMjEyOSwzMCBAQCB2b2lkIFdlYlBhZ2U6OnNlbGVjdFRleHRXaXRoR3JhbnVs
YXJpdHlBdFBvaW50KGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBwb2ludCwgVwogICAgIGlmIChy
YW5nZSkKICAgICAgICAgZnJhbWUuc2VsZWN0aW9uKCkuc2V0U2VsZWN0ZWRSYW5nZSgqcmFuZ2Us
IEFmZmluaXR5OjpVcHN0cmVhbSwgV2ViQ29yZTo6RnJhbWVTZWxlY3Rpb246OlNob3VsZENsb3Nl
VHlwaW5nOjpZZXMsIFVzZXJUcmlnZ2VyZWQpOwogICAgIG1faW5pdGlhbFNlbGVjdGlvbiA9IHJh
bmdlOwotICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7Cit9CisKK3ZvaWQgV2ViUGFnZTo6c2VsZWN0
VGV4dFdpdGhHcmFudWxhcml0eUF0UG9pbnQoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHBvaW50
LCBXZWJDb3JlOjpUZXh0R3JhbnVsYXJpdHkgZ3JhbnVsYXJpdHksIGJvb2wgaXNJbnRlcmFjdGlu
Z1dpdGhGb2N1c2VkRWxlbWVudCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRp
b25IYW5kbGVyKQoreworICAgIGlmICghbV9wb3RlbnRpYWxUYXBOb2RlKSB7CisgICAgICAgIHNl
dFNlbGVjdGlvblJhbmdlKHBvaW50LCBncmFudWxhcml0eSwgaXNJbnRlcmFjdGluZ1dpdGhGb2N1
c2VkRWxlbWVudCk7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CisgICAgICAgIHJldHVy
bjsKKyAgICB9CisgICAgCisgICAgQVNTRVJUKCFtX3NlbGVjdGlvbkNoYW5nZWRIYW5kbGVyKTsK
KyAgICBpZiAoYXV0byBzZWxlY3Rpb25DaGFuZ2VkSGFuZGxlciA9IHN0ZDo6ZXhjaGFuZ2UobV9z
ZWxlY3Rpb25DaGFuZ2VkSGFuZGxlciwge30pKQorICAgICAgICBzZWxlY3Rpb25DaGFuZ2VkSGFu
ZGxlcigpOworCisgICAgbV9zZWxlY3Rpb25DaGFuZ2VkSGFuZGxlciA9IFtwb2ludCwgZ3JhbnVs
YXJpdHksIGlzSW50ZXJhY3RpbmdXaXRoRm9jdXNlZEVsZW1lbnQsIGNvbXBsZXRpb25IYW5kbGVy
ID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlciksIHdlYlBhZ2UgPSBtYWtlV2Vha1B0cigqdGhp
cyksIHRoaXNdKCkgbXV0YWJsZSB7CisgICAgICAgIFJlZlB0cjxXZWJQYWdlPiBzdHJvbmdQYWdl
ID0gd2ViUGFnZS5nZXQoKTsKKyAgICAgICAgaWYgKCFzdHJvbmdQYWdlKSB7CisgICAgICAgICAg
ICBjb21wbGV0aW9uSGFuZGxlcigpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9Cisg
ICAgICAgIHNldFNlbGVjdGlvblJhbmdlKHBvaW50LCBncmFudWxhcml0eSwgaXNJbnRlcmFjdGlu
Z1dpdGhGb2N1c2VkRWxlbWVudCk7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CisgICAg
fTsKKwogfQogCiB2b2lkIFdlYlBhZ2U6OmJlZ2luU2VsZWN0aW9uSW5EaXJlY3Rpb24oV2ViQ29y
ZTo6U2VsZWN0aW9uRGlyZWN0aW9uIGRpcmVjdGlvbiwgQ2FsbGJhY2tJRCBjYWxsYmFja0lEKQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IGI4ZjAzYTNkNmNhZGQwZDI0YzA2ZGM3ODIzYmY5OWY0N2I5MTE2NjEuLmU3ZGJhZTUz
N2VkZmRkZmQxNjYyZTczYWFjZDlmOTJhZGZmYzNlMTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAor
MjAyMS0wMS0wOCAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIERvdWJsZSB0YXAgdG8gc2VsZWN0IGRvZXMgbm90IHdvcmsgaWYgdGhlIHBhZ2UgY2xl
YXJzIHNlbGVjdGlvbnMgb24gdGFwLCBsaWtlIGdyYW1tYXJseS5jb20gZG9lcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwNDU0CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgV2Vuc29uIEhzaWVoLgorCisgICAgICAgICogZmFzdC9ldmVudHMvdG91Y2gv
aW9zL2RvdWJsZS10YXAtb24tZWRpdGFibGUtY29udGVudC1mb3Itc2VsZWN0aW9uLXdpdGgtY2xl
YXItb24tdG91Y2gtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy90
b3VjaC9pb3MvZG91YmxlLXRhcC1vbi1lZGl0YWJsZS1jb250ZW50LWZvci1zZWxlY3Rpb24td2l0
aC1jbGVhci1vbi10b3VjaC5odG1sOiBBZGRlZC4KKwogMjAyMS0wMS0wNiAgUmluaSBQYXRlbCAg
PHJpbmlfcGF0ZWxAYXBwbGUuY29tPgogCiAgICAgICAgIFtHUFUgcHJvY2Vzc10gQWRkIExheW91
dCB0ZXN0cyBmYWlsdXJlcyB0byBMYXlvdXRUZXN0cy9ncHUtcHJvY2Vzcy9UZXN0RXhwZWN0YXRp
b25zCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9pb3MvZG91Ymxl
LXRhcC1vbi1lZGl0YWJsZS1jb250ZW50LWZvci1zZWxlY3Rpb24td2l0aC1jbGVhci1vbi10b3Vj
aC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9pb3MvZG91Ymxl
LXRhcC1vbi1lZGl0YWJsZS1jb250ZW50LWZvci1zZWxlY3Rpb24td2l0aC1jbGVhci1vbi10b3Vj
aC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGZiY2JiNTBmYzFmZjg4OGY2MmQ4MDU0ZWYyZTE3
MWE2YjRjYmNlOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Rv
dWNoL2lvcy9kb3VibGUtdGFwLW9uLWVkaXRhYmxlLWNvbnRlbnQtZm9yLXNlbGVjdGlvbi13aXRo
LWNsZWFyLW9uLXRvdWNoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK1BBU1M6IEhhcyBD
YXJldCBTZWxlY3Rpb24KK1BBU1M6IENvcnJlY3QgU2VsZWN0aW9uCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy9kb3VibGUtdGFwLW9uLWVkaXRhYmxlLWNv
bnRlbnQtZm9yLXNlbGVjdGlvbi13aXRoLWNsZWFyLW9uLXRvdWNoLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy90b3VjaC9pb3MvZG91YmxlLXRhcC1vbi1lZGl0YWJsZS1jb250ZW50LWZv
ci1zZWxlY3Rpb24td2l0aC1jbGVhci1vbi10b3VjaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBlMWI0ZjFm
NzNhOTllYjlmYjAwNjVlMmU3OTI4NWQ0NzcxMjkyM2YKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9pb3MvZG91YmxlLXRhcC1vbi1lZGl0YWJsZS1jb250
ZW50LWZvci1zZWxlY3Rpb24td2l0aC1jbGVhci1vbi10b3VjaC5odG1sCkBAIC0wLDAgKzEsOTYg
QEAKKzwhRE9DVFlQRSBodG1sPgorCis8aHRtbD4KKzxoZWFkPgorICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi8uLi8uLi9yZXNvdXJjZXMvYmFzaWMtZ2VzdHVyZXMuanMiPjwvc2NyaXB0PgorICAgIDxz
Y3JpcHQ+CisKKyAgICAgICAgZnVuY3Rpb24gY2xlYXJTZWxlY3Rpb24oKQorICAgICAgICB7Cisg
ICAgICAgICAgICB2YXIgc2VsZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbigpIHx8IGRvY3Vt
ZW50LnNlbGVjdGlvbjsKKyAgICAgICAgICAgIHNlbGVjdGlvbi5yZW1vdmVBbGxSYW5nZXMoKTsK
KyAgICAgICAgfQorCisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICAg
ICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRV
bnRpbERvbmUoKTsKKyAgICAgICAgfQorICAgIAorICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLnJ1blVJU2NyaXB0
KQorICAgICAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAgdmFyIG91dHB1dCA9ICcn
OworICAgICAgICAgICAgdmFyIGVkaXRhYmxlVGFyZ2V0UmVjdCA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdlZGl0YWJsZScpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOworICAgICAgICAgICAg
dmFyIGZpcnN0VGFyZ2V0UmVjdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmaXJzdFNlbGVj
dGlvbicpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOworICAgICAgICAgICAgdmFyIG5vbmVkaXRh
YmxlVG9FZGl0YWJsZU9mZnNldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlZGl0YWJsZScp
LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnkgLSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbm9u
ZWRpdGFibGUnKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS55OworCisgICAgICAgICAgICB2YXIg
dGFwUG9pbnRYID0gZWRpdGFibGVUYXJnZXRSZWN0LnggKyBlZGl0YWJsZVRhcmdldFJlY3Qud2lk
dGggLyAyOworICAgICAgICAgICAgdmFyIHRhcFBvaW50WSA9IGVkaXRhYmxlVGFyZ2V0UmVjdC55
ICsgZWRpdGFibGVUYXJnZXRSZWN0LmhlaWdodCAvIDI7CisgICAgICAgICAgICB2YXIgZG91Ymxl
VGFwUG9pbnRYID0gZmlyc3RUYXJnZXRSZWN0LnggKyBmaXJzdFRhcmdldFJlY3Qud2lkdGggLyAy
OworICAgICAgICAgICAgdmFyIGRvdWJsZVRhcFBvaW50WSA9IGZpcnN0VGFyZ2V0UmVjdC55ICsg
Zmlyc3RUYXJnZXRSZWN0LmhlaWdodCAvIDIgKyBub25lZGl0YWJsZVRvRWRpdGFibGVPZmZzZXQ7
CisgICAgICAgIAorICAgICAgICAgICAgYXdhaXQgdGFwQXRQb2ludCh0YXBQb2ludFgsIHRhcFBv
aW50WSk7CisgICAgICAgICAgICBpZiAoZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkudHlwZSA9PSAi
Q2FyZXQiKQorICAgICAgICAgICAgICAgIG91dHB1dCArPSAnUEFTUzogSGFzIENhcmV0IFNlbGVj
dGlvbic7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgb3V0cHV0ICs9ICdGQUlM
OiBmYWlsZWQgdG8gYWN0aXZhdGUgY2FyZXQgYXMgYSByZXN1bHQgb2YgYSB0YXAuIEluY29ycmVj
dCBTZWxlY3Rpb246ICcgKyBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpOworICAg
ICAgICAgICAgb3V0cHV0ICs9ICc8YnI+JzsKKworICAgICAgICAgICAgYXdhaXQgZGlkU2hvd0tl
eWJvYXJkKCk7CisKKyAgICAgICAgICAgIGF3YWl0IGRvdWJsZVRhcEF0UG9pbnQoZG91YmxlVGFw
UG9pbnRYLCBkb3VibGVUYXBQb2ludFkpOworICAgICAgICAgICAgaWYgKGRvY3VtZW50LmdldFNl
bGVjdGlvbigpLnRvU3RyaW5nKCkgPT0gIm1hZ25hIikKKyAgICAgICAgICAgICAgICBvdXRwdXQg
Kz0gJ1BBU1M6IENvcnJlY3QgU2VsZWN0aW9uJzsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgICAgICBvdXRwdXQgKz0gJ0ZBSUw6IGZhaWxlZCB0byBzZWxlY3QgYSB3b3JkIGFzIGEgcmVz
dWx0IG9mIGEgbG9uZyBwcmVzcy4gSW5jb3JyZWN0IFNlbGVjdGlvbjogJyArIGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpLnRvU3RyaW5nKCk7CisgICAgICAgICAgICBvdXRwdXQgKz0gJzxicj4nOwor
CisgICAgICAgICAgICB2YXIgbm9uZWRpdGFibGVFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ25vbmVkaXRhYmxlJyk7CisgICAgICAgICAgICBub25lZGl0YWJsZUVsZW1lbnQucGFy
ZW50Tm9kZS5yZW1vdmVDaGlsZChub25lZGl0YWJsZUVsZW1lbnQpOworICAgICAgICAgICAgdmFy
IGVkaXRhYmxlRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlZGl0YWJsZScpOwor
ICAgICAgICAgICAgZWRpdGFibGVFbGVtZW50LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZWRpdGFi
bGVFbGVtZW50KTsKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXJnZXQn
KS5pbm5lckhUTUwgPSBvdXRwdXQ7CisgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUo
KTsKKyAgICAgICAgfQorCisgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywg
cnVuVGVzdCwgZmFsc2UpOworICAgIDwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICNub25lZGl0YWJsZSB7CisgICAgICAgICAgICBoZWlnaHQ6IDIwMHB4OworICAgICAgICAgICAg
d2lkdGg6IDMwMHB4OworICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2lsdmVyOworICAg
ICAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKKyAgICAgICAgICAgIGZvbnQtc2l6ZTog
MThweDsKKyAgICAgICAgfQorICAgICAgICAjZWRpdGFibGUgeworICAgICAgICAgICAgaGVpZ2h0
OiAyMDBweDsKKyAgICAgICAgICAgIHdpZHRoOiAzMDBweDsKKyAgICAgICAgICAgIGJhY2tncm91
bmQtY29sb3I6IHNpbHZlcjsKKyAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7Cisg
ICAgICAgICAgICBmb250LXNpemU6IDE4cHg7CisgICAgICAgIH0KKyAgICAgICAgI3RhcmdldCB7
CisgICAgICAgICAgICBoZWlnaHQ6IDUwcHg7CisgICAgICAgICAgICB3aWR0aDogMzAwcHg7Cisg
ICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzaWx2ZXI7CisgICAgICAgICAgICBmb250LWZh
bWlseTogbW9ub3NwYWNlOworICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4OworICAgICAgICB9
CisgICAgPC9zdHlsZT4KKyAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPC9oZWFkPgorPGJvZHk+CisgICAgPGRp
diBpZD0ibm9uZWRpdGFibGUiPgorICAgICAgICA8cD5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1l
dCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5j
aWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIDxzcGFuIGlkPSJmaXJzdFNlbGVjdGlvbiI+bWFn
bmE8L3NwYW4+IGFsaXF1YS4gVXQgZW5pbSBhZCBtaW5pbSB2ZW5pYW0sIHF1aXMgbm9zdHJ1ZCBl
eGVyY2l0YXRpb24gdWxsYW1jbyBsYWJvcmlzIG5pc2kgdXQgYWxpcXVpcCBleCBlYSBjb21tb2Rv
IGNvbnNlcXVhdC48L3A+CisgICAgPC9kaXY+CisgICAgPGRpdiBpZD0iZWRpdGFibGUiIGNvbnRl
bnRlZGl0YWJsZSBvbm1vdXNlZG93bj0iY2xlYXJTZWxlY3Rpb24oKSI+CisgICAgICAgIDxwPkxv
cmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQsIHNl
ZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEg
YWxpcXVhLiBVdCBlbmltIGFkIG1pbmltIHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4ZXJjaXRhdGlv
biB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0
LjwvcD4KKyAgICA8L2Rpdj4gCisgICAgPGRpdiBpZD0idGFyZ2V0Ij4KKyAgICAgICAgVGhpcyB0
ZXN0IHJlcXVpcmVzIFVJU2NyaXB0Q29udHJvbGxlciB0byBydW4uCisgICAgPC9kaXY+Cis8L2Jv
ZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>