<?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>221942</bug_id>
          
          <creation_ts>2021-02-15 17:53:56 -0800</creation_ts>
          <short_desc>EventHandler::updateSelectionForMouseDownDispatchingSelectStart should not use an orphaned selection</short_desc>
          <delta_ts>2021-02-19 20:21:12 -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>HTML Editing</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=221786</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=222219</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kangil.han</cc>
    
    <cc>mifenton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1729494</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-02-15 17:53:56 -0800</bug_when>
    <thetext>Fix what appears to be the root/primary cause of the bug 221786 and add a test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729504</commentid>
    <comment_count>1</comment_count>
      <attachid>420410</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-02-15 18:28:36 -0800</bug_when>
    <thetext>Created attachment 420410
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729515</commentid>
    <comment_count>2</comment_count>
      <attachid>420414</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-02-15 19:01:14 -0800</bug_when>
    <thetext>Created attachment 420414
Fixed release builds</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729517</commentid>
    <comment_count>3</comment_count>
      <attachid>420414</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-02-15 19:07:29 -0800</bug_when>
    <thetext>Comment on attachment 420414
Fixed release builds

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

r=me (assuming EWS is green)

&gt; LayoutTests/editing/selection/click-selection-with-selectstart-node-removal.html:32
&gt; +    const boundingRect = editor.getBoundingClientRect();
&gt; +    const x = boundingRect.x + 10;
&gt; +    const y = boundingRect.y + 10;
&gt; +    UIHelper.activateAndWaitForInputSessionAt(x, y);

Nit - can we just `UIHelper.activateElement(editor);` here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729519</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-02-15 19:14:44 -0800</bug_when>
    <thetext>(In reply to Wenson Hsieh from comment #3)
&gt; Comment on attachment 420414 [details]
&gt; Fixed release builds
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=420414&amp;action=review
&gt; 
&gt; r=me (assuming EWS is green)
&gt; 
&gt; &gt; LayoutTests/editing/selection/click-selection-with-selectstart-node-removal.html:32
&gt; &gt; +    const boundingRect = editor.getBoundingClientRect();
&gt; &gt; +    const x = boundingRect.x + 10;
&gt; &gt; +    const y = boundingRect.y + 10;
&gt; &gt; +    UIHelper.activateAndWaitForInputSessionAt(x, y);
&gt; 
&gt; Nit - can we just `UIHelper.activateElement(editor);` here?

Hm... maybe? Does WebKitTestRunner knows to gracefully dismiss the keyword if it starts coming up?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729521</commentid>
    <comment_count>5</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-02-15 19:17:16 -0800</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #4)
&gt; (In reply to Wenson Hsieh from comment #3)
&gt; &gt; Comment on attachment 420414 [details]
&gt; &gt; Fixed release builds
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=420414&amp;action=review
&gt; &gt; 
&gt; &gt; r=me (assuming EWS is green)
&gt; &gt; 
&gt; &gt; &gt; LayoutTests/editing/selection/click-selection-with-selectstart-node-removal.html:32
&gt; &gt; &gt; +    const boundingRect = editor.getBoundingClientRect();
&gt; &gt; &gt; +    const x = boundingRect.x + 10;
&gt; &gt; &gt; +    const y = boundingRect.y + 10;
&gt; &gt; &gt; +    UIHelper.activateAndWaitForInputSessionAt(x, y);
&gt; &gt; 
&gt; &gt; Nit - can we just `UIHelper.activateElement(editor);` here?
&gt; 
&gt; Hm... maybe? Does WebKitTestRunner knows to gracefully dismiss the keyword
&gt; if it starts coming up?

It should, yes. Though to be totally safe, you can do something like:

    await UIHelper.activateElementAndWaitForInputSession(editor);

...instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729540</commentid>
    <comment_count>6</comment_count>
      <attachid>420420</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-02-15 20:04:07 -0800</bug_when>
    <thetext>Created attachment 420420
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729541</commentid>
    <comment_count>7</comment_count>
      <attachid>420420</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-02-15 20:04:22 -0800</bug_when>
    <thetext>Comment on attachment 420420
Patch for landing

Wait for EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729928</commentid>
    <comment_count>8</comment_count>
      <attachid>420420</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-02-16 14:05:11 -0800</bug_when>
    <thetext>Comment on attachment 420420
Patch for landing

Clearing flags on attachment: 420420

Committed r272928: &lt;https://commits.webkit.org/r272928&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729929</commentid>
    <comment_count>9</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-02-16 14:05:13 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729930</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-02-16 14:07:29 -0800</bug_when>
    <thetext>&lt;rdar://problem/74405933&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420410</attachid>
            <date>2021-02-15 18:28:36 -0800</date>
            <delta_ts>2021-02-15 19:07:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221942-20210215182835.patch</filename>
            <type>text/plain</type>
            <size>16014</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyODI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzBlZjUzZWE2NmExMDZk
NmM0MmFiOWFiZjAxODgwMzA2NDlkMGQ2Yy4uOWNkYTAyMTIxMDQ5NDhiYmFlYzNiYWM5ODljMzE4
NjIwNmU0MTMyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDIxLTAyLTE1ICBSeW9z
dWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIEV2ZW50SGFuZGxlcjo6dXBk
YXRlU2VsZWN0aW9uRm9yTW91c2VEb3duRGlzcGF0Y2hpbmdTZWxlY3RTdGFydCBzaG91bGQgbm90
IHVzZSBhbiBvcnBoYW5lZCBzZWxlY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIyMTk0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEluIHIyNzI3NzcsIHdlIHJlLWludHJvZHVjZWQgYSBudWxscHRy
IGNoZWNrIGluIERPTVNlbGVjdGlvbjo6Z2V0UmFuZ2VBdCBhcyB3ZSB3ZXJlIGdldHRpbmcgY3Jh
c2ggcmVwb3J0cworICAgICAgICBpbiB0aGlzIGNvZGUgYnV0IHdlIHdlcmVuJ3Qgc3VyZSBvZiB0
aGUgcm9vdCBjYXVzZS4gU2luY2UgdGhlbiB3ZSd2ZSBpZGVudGlmaWVkIHRoYXQgb25lIG9mIHRo
ZSByb290IGNhdXNlcworICAgICAgICBpcyB0aGF0IEV2ZW50SGFuZGxlcjo6dXBkYXRlU2VsZWN0
aW9uRm9yTW91c2VEb3duRGlzcGF0Y2hpbmdTZWxlY3RTdGFydCBkb2Vzbid0IGNoZWNrIGlmIFZp
c2libGVTZWxlY3Rpb24KKyAgICAgICAgaXMgc3RpbGwgaW4gYSBnb29kIHN0YXRlIGFmdGVyIGRp
c3BhdGNoaW5nIHNlbGVjdHN0YXJ0IGV2ZW50LiBUaGlzIHJlc3VsdHMgaW4gRnJhbWVTZWxlY3Rp
b24ncworICAgICAgICBzZXRTZWxlY3Rpb25XaXRob3V0VXBkYXRpbmdBcHBlYXJhbmNlIGdldHRp
bmcgY2FsbGVkIHdpdGggYSBzZWxlY3Rpb24gd2l0aCBlbmQgcG9pbnRzIGFscmVhZHkgYmVpbmcg
b3JwaGFuZWQuCisKKyAgICAgICAgVGhpcyBwYXRjaCBmaXhlcyB0aGlzIGJ1ZyBpbiBzZXRTZWxl
Y3Rpb25XaXRob3V0VXBkYXRpbmdBcHBlYXJhbmNlIGFuZCBhbHNvIGFkZHMgYW4gYWRkaXRpb25h
bCBjaGVjayBpbgorICAgICAgICBGcmFtZVNlbGVjdGlvbjo6c2V0U2VsZWN0aW9uV2l0aG91dFVw
ZGF0aW5nQXBwZWFyYW5jZSBpdHNlbGYgdG8gYXZvaWQgdXNpbmcgYW4gb3JwaGFuZWQgc2VsZWN0
aW9uLiBJdCBhbHNvCisgICAgICAgIGludHJvZHVjZXMgYSBudW1iZXIgb2YgcmVsZWFzZSBhbmQg
ZGVidWcgYXNzZXJ0aW9ucyBpbiBhIG51bWJlciBvZiBwbGFjZXMgdG8gaGVscCBjYXRjaCBzaW1p
bGFyIGJ1Z3MuCisKKyAgICAgICAgVGVzdDogZWRpdGluZy9zZWxlY3Rpb24vY2xpY2stc2VsZWN0
aW9uLXdpdGgtc2VsZWN0c3RhcnQtbm9kZS1yZW1vdmFsLmh0bWwKKworICAgICAgICAqIGRvbS9D
b250YWluZXJOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRhaW5lck5vZGU6OnJlbW92
ZUFsbENoaWxkcmVuV2l0aFNjcmlwdEFzc2VydGlvbik6IEFkZGVkIGEgZGVidWctb25seSBhc3Nl
cnRpb24uCisgICAgICAgIChXZWJDb3JlOjpDb250YWluZXJOb2RlOjpyZW1vdmVOb2RlV2l0aFNj
cmlwdEFzc2VydGlvbik6IERpdHRvLgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cmVtb3ZlZExhc3RSZWYpOiBEaXNhbGxvdyBzY3JpcHQg
ZXhlY3V0aW9uIGluIHRoaXMgY29kZSBlbnRpcmVseS4gQWxzbyByZWxlYXNlIGFzc2VydAorICAg
ICAgICB0aGF0IHRoZSBzZWxlY3Rpb24gaGFkIGFscmVhZHkgYmVlbiBjbGVhcmVkIGJ5IHRoaXMg
cG9pbnQuCisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6d2lsbEJlUmVtb3ZlZEZyb21GcmFt
ZSk6IERpc2FsbG93IHNjcmlwdCBleGVjdXRpb24gb25jZSB3ZSd2ZSB1bmxvYWRlZCBzdWJmcmFt
ZXMuCisgICAgICAgICogZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZVNlbGVjdGlvbjo6c2V0U2VsZWN0aW9uV2l0aG91dFVwZGF0aW5nQXBwZWFyYW5j
ZSk6IFJldHVybiBlYXJseSBpZiB0aGUgbmV3IHNlbGVjdGlvbidzCisgICAgICAgIGVuZCBwb2lu
dHMgaGFkIGJlZW4gb3JwaGFuZWQsIGFuZCBkaXNhbGxvdyBzY3JpcHQgZXhlY3V0aW9uIGJldHdl
ZW4gdGhhdCBhbmQgdW50aWwgd2UgdXBkYXRlIHRoZSBzZWxlY3Rpb24uIAorICAgICAgICAqIGVk
aXRpbmcvVmlzaWJsZVNlbGVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWaXNpYmxlU2Vs
ZWN0aW9uOjppc09ycGhhbiBjb25zdCk6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvVmlzaWJs
ZVNlbGVjdGlvbi5oOgorICAgICAgICAqIHBhZ2UvRE9NU2VsZWN0aW9uLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkRPTVNlbGVjdGlvbjo6Z2V0UmFuZ2VBdCk6IFJlbW92ZWQgbnVsbHB0ciBjaGVj
ayBhZGRlZCBpbiByMjcyNzc3LgorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6dXBkYXRlU2VsZWN0aW9uRm9yTW91c2VEb3du
RGlzcGF0Y2hpbmdTZWxlY3RTdGFydCk6IEZpeGVkIHdoYXQgaXMgbm93IGJlbGlldmVkIHRvIGJl
CisgICAgICAgIHRoZSByb290IGNhdXNlIG9mIHRoZSBidWcgMjIxNzg2LgorCiAyMDIxLTAyLTEy
ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFtNYWNdIFVuYWJs
ZSB0byBwbGF5IFdlYk0vT3B1cyBnZW5lcmF0ZWQgZnJvbSBDaHJvbWUgTWVkaWFSZWNvcmRlcgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuY3BwCmluZGV4IDBlOWFiYzg3YjlkOTJkMTQzNDhi
YTVhMjZmNTJjOTIwMDNlN2YyMjIuLmY4OWJjNmNhZGNjMTVhODIxNzQ3MjE3NThjYzRkMGQ4N2Q4
ZGZjZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5jcHAKQEAgLTEyNiw2ICsxMjYs
OCBAQCBBTFdBWVNfSU5MSU5FIE5vZGVWZWN0b3IgQ29udGFpbmVyTm9kZTo6cmVtb3ZlQWxsQ2hp
bGRyZW5XaXRoU2NyaXB0QXNzZXJ0aW9uKENoaQogICAgICAgICAgICAgd2lsbENyZWF0ZVBvc3Np
Ymx5T3JwaGFuZWRUcmVlQnlSZW1vdmFsKGNoaWxkLmdldCgpKTsKICAgICB9CiAKKyAgICBBU1NF
UlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighZG9jdW1lbnQoKS5zZWxlY3Rpb24oKS5zZWxl
Y3Rpb24oKS5pc09ycGhhbigpKTsKKwogICAgIGlmIChkZWZlckNoaWxkcmVuQ2hhbmdlZCA9PSBE
ZWZlckNoaWxkcmVuQ2hhbmdlZDo6Tm8pCiAgICAgICAgIGNoaWxkcmVuQ2hhbmdlZChDb250YWlu
ZXJOb2RlOjpDaGlsZENoYW5nZSB7IENoaWxkQ2hhbmdlOjpUeXBlOjpBbGxDaGlsZHJlblJlbW92
ZWQsIG51bGxwdHIsIG51bGxwdHIsIHNvdXJjZSB9KTsKIApAQCAtMTkyLDYgKzE5NCw4IEBAIEFM
V0FZU19JTkxJTkUgYm9vbCBDb250YWluZXJOb2RlOjpyZW1vdmVOb2RlV2l0aFNjcmlwdEFzc2Vy
dGlvbihOb2RlJiBjaGlsZFRvUmVtCiAgICAgaWYgKHNvdXJjZSA9PSBDaGlsZENoYW5nZTo6U291
cmNlOjpBUEkgJiYgc3VidHJlZU9ic2VydmFiaWxpdHkgPT0gUmVtb3ZlZFN1YnRyZWVPYnNlcnZh
YmlsaXR5OjpNYXliZU9ic2VydmFibGVCeVJlZlB0cikKICAgICAgICAgd2lsbENyZWF0ZVBvc3Np
Ymx5T3JwaGFuZWRUcmVlQnlSZW1vdmFsKCZjaGlsZFRvUmVtb3ZlKTsKIAorICAgIEFTU0VSVF9X
SVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFkb2N1bWVudCgpLnNlbGVjdGlvbigpLnNlbGVjdGlv
bigpLmlzT3JwaGFuKCkpOworCiAgICAgLy8gRklYTUU6IE1vdmUgY2hpbGRyZW5DaGFuZ2VkIGlu
dG8gU2NyaXB0RGlzYWxsb3dlZFNjb3BlIGJsb2NrLgogICAgIGNoaWxkcmVuQ2hhbmdlZChjaGFu
Z2UpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCAzOGVjMThiOWY0YjZiNzIyOWQ0ZTJm
ZWRjNDM0N2JjNjhiNmNhMDFkLi4xYjlmNzI2NjM5MjEwODVjNThkMDhiNWIwNzk5NjU2OWZlYTY2
MmFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTc4MSw2ICs3ODEsNyBAQCBEb2N1bWVu
dDo6fkRvY3VtZW50KCkKIAogdm9pZCBEb2N1bWVudDo6cmVtb3ZlZExhc3RSZWYoKQogeworICAg
IFNjcmlwdERpc2FsbG93ZWRTY29wZTo6SW5NYWluVGhyZWFkIHNjcmlwdERpc2FsbG93ZWRTY29w
ZTsKICAgICBBU1NFUlQoIW1fZGVsZXRpb25IYXNCZWd1bik7CiAgICAgaWYgKG1fcmVmZXJlbmNp
bmdOb2RlQ291bnQpIHsKICAgICAgICAgLy8gTm9kZTo6cmVtb3ZlZExhc3RSZWYgZG9lc24ndCBz
ZXQgcmVmQ291bnQoKSB0byB6ZXJvIGJlY2F1c2UgaXQncyBub3Qgb2JzZXJ2YWJsZS4KQEAgLTgx
MSw2ICs4MTIsOCBAQCB2b2lkIERvY3VtZW50OjpyZW1vdmVkTGFzdFJlZigpCiAKICAgICAgICAg
ZGV0YWNoUGFyc2VyKCk7CiAKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQobV9zZWxlY3Rpb24tPmlz
Tm9uZSgpKTsKKwogICAgICAgICAvLyByZW1vdmVEZXRhY2hlZENoaWxkcmVuKCkgZG9lc24ndCBh
bHdheXMgdW5yZWdpc3RlciBJRHMsCiAgICAgICAgIC8vIHNvIHRlYXIgZG93biBzY29wZSBpbmZv
cm1hdGlvbiB1cCBmcm9udCB0byBhdm9pZCBoYXZpbmcKICAgICAgICAgLy8gc3RhbGUgcmVmZXJl
bmNlcyBpbiB0aGUgbWFwLgpAQCAtMjU5Myw2ICsyNTk2LDggQEAgdm9pZCBEb2N1bWVudDo6d2ls
bEJlUmVtb3ZlZEZyb21GcmFtZSgpCiAgICAgfQogICAgIFJFTEVBU0VfQVNTRVJUX1dJVEhfU0VD
VVJJVFlfSU1QTElDQVRJT04oIW1fZnJhbWUgfHwgIW1fZnJhbWUtPnRyZWUoKS5jaGlsZENvdW50
KCkpOwogCisgICAgU2NyaXB0RGlzYWxsb3dlZFNjb3BlOjpJbk1haW5UaHJlYWQgc2NyaXB0RGlz
YWxsb3dlZFNjb3BlOworCiAgICAgaWYgKG1fZG9tV2luZG93ICYmIG1fZnJhbWUpCiAgICAgICAg
IG1fZG9tV2luZG93LT53aWxsRGV0YWNoRG9jdW1lbnRGcm9tRnJhbWUoKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcAppbmRleCBjYWZjMTQ0ZWFjNjk5ZGE3M2Rj
OThlMmZmNWVmNWQ2MmFlOTE1MmU4Li5iZDk4ZGIxMmQxNDE4NGUyMzIzMzExYTkxZDRmY2E0ZGVl
Y2Q3OTU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcApAQCAt
MzMzLDE3ICszMzMsMTEgQEAgYm9vbCBGcmFtZVNlbGVjdGlvbjo6c2V0U2VsZWN0aW9uV2l0aG91
dFVwZGF0aW5nQXBwZWFyYW5jZShjb25zdCBWaXNpYmxlU2VsZWN0aW8KICAgICBpZiAoc2hvdWxk
QWx3YXlzVXNlRGlyZWN0aW9uYWxTZWxlY3Rpb24obV9kb2N1bWVudC5nZXQoKSkpCiAgICAgICAg
IG5ld1NlbGVjdGlvbi5zZXRJc0RpcmVjdGlvbmFsKHRydWUpOwogCi0gICAgaWYgKCFtX2RvY3Vt
ZW50IHx8ICFtX2RvY3VtZW50LT5mcmFtZSgpKSB7Ci0gICAgICAgIG1fc2VsZWN0aW9uID0gbmV3
U2VsZWN0aW9uOwotICAgICAgICB1cGRhdGVBc3NvY2lhdGVkTGl2ZVJhbmdlKCk7Ci0gICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICB9Ci0KICAgICAvLyA8aHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjM0NjQ+OiBJbmZpbml0ZSByZWN1cnNpb24gYXQgRnJhbWVTZWxlY3Rp
b246OnNldFNlbGVjdGlvbgogICAgIC8vIGlmIGRvY3VtZW50LT5mcmFtZSgpID09IG1fZG9jdW1l
bnQtPmZyYW1lKCkgd2UgY2FuIGdldCBpbnRvIGFuIGluZmluaXRlIGxvb3AKICAgICBpZiAoRG9j
dW1lbnQqIG5ld1NlbGVjdGlvbkRvY3VtZW50ID0gbmV3U2VsZWN0aW9uLmJhc2UoKS5kb2N1bWVu
dCgpKSB7CiAgICAgICAgIGlmIChSZWZQdHI8RnJhbWU+IG5ld1NlbGVjdGlvbkZyYW1lID0gbmV3
U2VsZWN0aW9uRG9jdW1lbnQtPmZyYW1lKCkpIHsKLSAgICAgICAgICAgIGlmIChuZXdTZWxlY3Rp
b25GcmFtZSAhPSBtX2RvY3VtZW50LT5mcmFtZSgpICYmIG5ld1NlbGVjdGlvbkRvY3VtZW50ICE9
IG1fZG9jdW1lbnQpIHsKKyAgICAgICAgICAgIGlmIChtX2RvY3VtZW50ICYmIG5ld1NlbGVjdGlv
bkZyYW1lICE9IG1fZG9jdW1lbnQtPmZyYW1lKCkgJiYgbmV3U2VsZWN0aW9uRG9jdW1lbnQgIT0g
bV9kb2N1bWVudCkgewogICAgICAgICAgICAgICAgIG5ld1NlbGVjdGlvbkRvY3VtZW50LT5zZWxl
Y3Rpb24oKS5zZXRTZWxlY3Rpb24obmV3U2VsZWN0aW9uLCBvcHRpb25zLCBBWFRleHRTdGF0ZUNo
YW5nZUludGVudCgpLCBhbGlnbiwgZ3JhbnVsYXJpdHkpOwogICAgICAgICAgICAgICAgIC8vIEl0
J3MgcG9zc2libGUgdGhhdCBkdXJpbmcgdGhlIGFib3ZlIHNldCBzZWxlY3Rpb24sIHRoaXMgRnJh
bWVTZWxlY3Rpb24gaGFzIGJlZW4gbW9kaWZpZWQgYnkKICAgICAgICAgICAgICAgICAvLyBzZWxl
Y3RGcmFtZUVsZW1lbnRJblBhcmVudElmRnVsbHlTZWxlY3RlZCwgYnV0IHRoYXQgdGhlIHNlbGVj
dGlvbiBpcyBubyBsb25nZXIgdmFsaWQgc2luY2UKQEAgLTM1NSwyNyArMzQ5LDQxIEBAIGJvb2wg
RnJhbWVTZWxlY3Rpb246OnNldFNlbGVjdGlvbldpdGhvdXRVcGRhdGluZ0FwcGVhcmFuY2UoY29u
c3QgVmlzaWJsZVNlbGVjdGlvCiAgICAgICAgIH0KICAgICB9CiAKLSAgICBtX2dyYW51bGFyaXR5
ID0gZ3JhbnVsYXJpdHk7CisgICAgVmlzaWJsZVNlbGVjdGlvbiBvbGRTZWxlY3Rpb24gPSBtX3Nl
bGVjdGlvbjsKKyAgICBib29sIHdpbGxNdXRhdGVTZWxlY3Rpb24gPSBvbGRTZWxlY3Rpb24gIT0g
bmV3U2VsZWN0aW9uOworICAgIGlmICh3aWxsTXV0YXRlU2VsZWN0aW9uICYmIG1fZG9jdW1lbnQp
CisgICAgICAgIG1fZG9jdW1lbnQtPmVkaXRvcigpLnNlbGVjdGlvbldpbGxDaGFuZ2UoKTsKIAot
ICAgIGlmIChjbG9zZVR5cGluZykKLSAgICAgICAgVHlwaW5nQ29tbWFuZDo6Y2xvc2VUeXBpbmco
Km1fZG9jdW1lbnQpOworICAgIHsKKyAgICAgICAgU2NyaXB0RGlzYWxsb3dlZFNjb3BlOjpJbk1h
aW5UaHJlYWQgc2NyaXB0RGlzYWxsb3dlZFNjb3BlOworICAgICAgICBpZiAobmV3U2VsZWN0aW9u
LmlzT3JwaGFuKCkpIHsKKyAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAg
ICAgICAgY2xlYXIoKTsKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQogCi0g
ICAgaWYgKHNob3VsZENsZWFyVHlwaW5nU3R5bGUpCi0gICAgICAgIGNsZWFyVHlwaW5nU3R5bGUo
KTsKKyAgICAgICAgaWYgKCFtX2RvY3VtZW50IHx8ICFtX2RvY3VtZW50LT5mcmFtZSgpKSB7Cisg
ICAgICAgICAgICBtX3NlbGVjdGlvbiA9IG5ld1NlbGVjdGlvbjsKKyAgICAgICAgICAgIHVwZGF0
ZUFzc29jaWF0ZWRMaXZlUmFuZ2UoKTsKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAg
ICAgfQogCi0gICAgVmlzaWJsZVNlbGVjdGlvbiBvbGRTZWxlY3Rpb24gPSBtX3NlbGVjdGlvbjsK
LSAgICBib29sIGRpZE11dGF0ZVNlbGVjdGlvbiA9IG9sZFNlbGVjdGlvbiAhPSBuZXdTZWxlY3Rp
b247Ci0gICAgaWYgKGRpZE11dGF0ZVNlbGVjdGlvbikKLSAgICAgICAgbV9kb2N1bWVudC0+ZWRp
dG9yKCkuc2VsZWN0aW9uV2lsbENoYW5nZSgpOworICAgICAgICBpZiAoY2xvc2VUeXBpbmcpCisg
ICAgICAgICAgICBUeXBpbmdDb21tYW5kOjpjbG9zZVR5cGluZygqbV9kb2N1bWVudCk7CiAKLSAg
ICBtX3NlbGVjdGlvbiA9IG5ld1NlbGVjdGlvbjsKLSAgICB1cGRhdGVBc3NvY2lhdGVkTGl2ZVJh
bmdlKCk7CisgICAgICAgIGlmIChzaG91bGRDbGVhclR5cGluZ1N0eWxlKQorICAgICAgICAgICAg
Y2xlYXJUeXBpbmdTdHlsZSgpOworCisgICAgICAgIG1fZ3JhbnVsYXJpdHkgPSBncmFudWxhcml0
eTsKKyAgICAgICAgbV9zZWxlY3Rpb24gPSBuZXdTZWxlY3Rpb247CisgICAgICAgIHVwZGF0ZUFz
c29jaWF0ZWRMaXZlUmFuZ2UoKTsKKyAgICB9CiAKICAgICAvLyBTZWxlY3Rpb24gb2Zmc2V0cyBz
aG91bGQgaW5jcmVhc2Ugd2hlbiBMRiBpcyBpbnNlcnRlZCBiZWZvcmUgdGhlIGNhcmV0IGluIElu
c2VydExpbmVCcmVha0NvbW1hbmQuIFNlZSA8aHR0cHM6Ly93ZWJraXQub3JnL2IvNTYwNjE+Lgog
ICAgIGlmIChIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudCogdGV4dENvbnRyb2wgPSBlbmNsb3Np
bmdUZXh0Rm9ybUNvbnRyb2wobmV3U2VsZWN0aW9uLnN0YXJ0KCkpKQogICAgICAgICB0ZXh0Q29u
dHJvbC0+c2VsZWN0aW9uQ2hhbmdlZChvcHRpb25zLmNvbnRhaW5zKEZpcmVTZWxlY3RFdmVudCkp
OwogCi0gICAgaWYgKCFkaWRNdXRhdGVTZWxlY3Rpb24pCisgICAgaWYgKCF3aWxsTXV0YXRlU2Vs
ZWN0aW9uKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBzZXRDYXJldFJlY3ROZWVkc1Vw
ZGF0ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlU2VsZWN0
aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVNlbGVjdGlvbi5jcHAKaW5k
ZXggYmFkNTM1NzNiYTlkNzlkZWQ5ZDFiNTJmMDZiMWViODNkNWMwOGU4OS4uMDBkNWY4N2E0NTUy
NmJjYWVmOGNiZWM5OWYzZmQ3OWM1MGE3MjBhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9WaXNpYmxlU2VsZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L1Zpc2libGVTZWxlY3Rpb24uY3BwCkBAIC0xMzMsNiArMTMzLDE3IEBAIHZvaWQgVmlzaWJsZVNl
bGVjdGlvbjo6c2V0RXh0ZW50KGNvbnN0IFZpc2libGVQb3NpdGlvbiYgdmlzaWJsZVBvc2l0aW9u
KQogICAgIHNldEV4dGVudCh2aXNpYmxlUG9zaXRpb24uZGVlcEVxdWl2YWxlbnQoKSk7CiB9CiAK
K2Jvb2wgVmlzaWJsZVNlbGVjdGlvbjo6aXNPcnBoYW4oKSBjb25zdAoreworICAgIGlmIChtX2Jh
c2UuaXNPcnBoYW4oKSB8fCBtX2V4dGVudC5pc09ycGhhbigpIHx8IG1fc3RhcnQuaXNPcnBoYW4o
KSB8fCBtX2VuZC5pc09ycGhhbigpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICBpZiAobV9h
bmNob3IuaXNPcnBoYW4oKSAmJiBtX2FuY2hvci5kb2N1bWVudCgpLT5zZXR0aW5ncygpLmxpdmVS
YW5nZVNlbGVjdGlvbkVuYWJsZWQoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgaWYgKG1f
Zm9jdXMuaXNPcnBoYW4oKSAmJiBtX2ZvY3VzLmRvY3VtZW50KCktPnNldHRpbmdzKCkubGl2ZVJh
bmdlU2VsZWN0aW9uRW5hYmxlZCgpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4g
ZmFsc2U7Cit9CisKIE9wdGlvbmFsPFNpbXBsZVJhbmdlPiBWaXNpYmxlU2VsZWN0aW9uOjpmaXJz
dFJhbmdlKCkgY29uc3QKIHsKICAgICBpZiAoaXNOb25lT3JPcnBoYW5lZCgpKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlU2VsZWN0aW9uLmggYi9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL1Zpc2libGVTZWxlY3Rpb24uaAppbmRleCBlNmU4ZjUxNGE2ZTZiMzc2ODQ3
MjliZTRhMjYyODliMjhjMDRmZTFjLi43YWJlYWZkNTc1MTI3YTE0YmJkNTQxYzQ4MTNhNTg1Mzg3
MjYwMjk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVTZWxlY3Rp
b24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVTZWxlY3Rpb24uaApAQCAt
ODYsNiArODYsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0NhcmV0T3JSYW5nZSgpIGNvbnN0IHsg
cmV0dXJuICFpc05vbmUoKTsgfQogICAgIGJvb2wgaXNOb25PcnBoYW5lZFJhbmdlKCkgY29uc3Qg
eyByZXR1cm4gaXNSYW5nZSgpICYmICFzdGFydCgpLmlzT3JwaGFuKCkgJiYgIWVuZCgpLmlzT3Jw
aGFuKCk7IH0KICAgICBib29sIGlzTm9uZU9yT3JwaGFuZWQoKSBjb25zdCB7IHJldHVybiBpc05v
bmUoKSB8fCBzdGFydCgpLmlzT3JwaGFuKCkgfHwgZW5kKCkuaXNPcnBoYW4oKTsgfQorICAgIGJv
b2wgaXNPcnBoYW4oKSBjb25zdDsKIAogICAgIGJvb2wgaXNCYXNlRmlyc3QoKSBjb25zdCB7IHJl
dHVybiBtX2FuY2hvcklzRmlyc3Q7IH0KICAgICBib29sIGlzRGlyZWN0aW9uYWwoKSBjb25zdCB7
IHJldHVybiBtX2lzRGlyZWN0aW9uYWw7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRE9NU2VsZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NU2VsZWN0aW9uLmNw
cAppbmRleCA0MTE2MWM5ZjJjYzA2NDcyZDY0N2IzMjg4OTA5OGE3OWFlZmUxZTQ1Li4wZGY3ZDli
NjEwNzc3YzY0ZGRhNzVhYTAyNjJmNzQ5MmJhMDBhOTIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0RPTVNlbGVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01T
ZWxlY3Rpb24uY3BwCkBAIC0zNjcsMTEgKzM2Nyw3IEBAIEV4Y2VwdGlvbk9yPFJlZjxSYW5nZT4+
IERPTVNlbGVjdGlvbjo6Z2V0UmFuZ2VBdCh1bnNpZ25lZCBpbmRleCkKICAgICAgICAgcmV0dXJu
IGZyYW1lLT5zZWxlY3Rpb24oKS5hc3NvY2lhdGVkTGl2ZVJhbmdlKCkucmVsZWFzZU5vbk51bGwo
KTsKICAgICBpZiAoYXV0byBzaGFkb3dBbmNlc3RvciA9IHNlbGVjdGlvblNoYWRvd0FuY2VzdG9y
KGZyYW1lKSkKICAgICAgICAgcmV0dXJuIGNyZWF0ZUxpdmVSYW5nZShtYWtlU2ltcGxlUmFuZ2Uo
Km1ha2VCb3VuZGFyeVBvaW50QmVmb3JlTm9kZSgqc2hhZG93QW5jZXN0b3IpKSk7Ci0gICAgYXV0
byBzaW1wbGVSYW5nZSA9IGZyYW1lLT5zZWxlY3Rpb24oKS5zZWxlY3Rpb24oKS5maXJzdFJhbmdl
KCk7Ci0gICAgQVNTRVJUKHNpbXBsZVJhbmdlKTsgLy8gc2VsZWN0aW9uIGlzIG9ycGhhbmVkIGJ1
dCB0aGlzIHNob3VsZG4ndCBoYXBwZW4uCi0gICAgaWYgKCFzaW1wbGVSYW5nZSkKLSAgICAgICAg
cmV0dXJuIEV4Y2VwdGlvbiB7IEluZGV4U2l6ZUVycm9yIH07Ci0gICAgcmV0dXJuIGNyZWF0ZUxp
dmVSYW5nZSgqc2ltcGxlUmFuZ2UpOworICAgIHJldHVybiBjcmVhdGVMaXZlUmFuZ2UoKmZyYW1l
LT5zZWxlY3Rpb24oKS5zZWxlY3Rpb24oKS5maXJzdFJhbmdlKCkpOwogfQogCiB2b2lkIERPTVNl
bGVjdGlvbjo6cmVtb3ZlQWxsUmFuZ2VzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRXZlbnRIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNw
cAppbmRleCBhYjI0NjA4NDgzMzhmZTViOGE2MGVmNjk1NzQ0MTRmMWY1ZjJjMDZlLi5jYjZhZTNl
YTY5ZGYwZmZiMDJhMjI2OTQ1NjFkNjEyZWM3NjFiZjVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVu
dEhhbmRsZXIuY3BwCkBAIC00NjYsNiArNDY2LDExIEBAIGJvb2wgRXZlbnRIYW5kbGVyOjp1cGRh
dGVTZWxlY3Rpb25Gb3JNb3VzZURvd25EaXNwYXRjaGluZ1NlbGVjdFN0YXJ0KE5vZGUqIHRhcmdl
CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKKyAgICBpZiAoc2VsZWN0aW9uLmlzT3Jw
aGFuKCkpIHsKKyAgICAgICAgbV9tb3VzZURvd25NYXlTdGFydFNlbGVjdCA9IGZhbHNlOworICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCiAgICAgaWYgKHNlbGVjdGlvbi5pc1JhbmdlKCkp
CiAgICAgICAgIG1fc2VsZWN0aW9uSW5pdGlhdGlvblN0YXRlID0gRXh0ZW5kZWRTZWxlY3Rpb247
CiAgICAgZWxzZSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggNGMxYzk3N2IwODc2NTMyNTM1MjhhOTE1ZmFjOWRkOWNmZWZj
YmRiNS4uODg1YjdiOWJiMmEyN2E3MDhmYTgxNzZlOTY4M2Y2Njg3NmFjOTljMCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDIwIEBACisyMDIxLTAyLTE1ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3Jn
PgorCisgICAgICAgIEV2ZW50SGFuZGxlcjo6dXBkYXRlU2VsZWN0aW9uRm9yTW91c2VEb3duRGlz
cGF0Y2hpbmdTZWxlY3RTdGFydCBzaG91bGQgbm90IHVzZSBhbiBvcnBoYW5lZCBzZWxlY3Rpb24K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTk0Mgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGEg
cmVncmVzc2lvbiB0ZXN0IGZvciB0aGUgYnVnIDIyMTc4NiAvIHIyNzI3NzcuCisKKyAgICAgICAg
QWxzbyB1cGRhdGVkIGEgdGVzdCBpbXBvcnRlZCBmcm9tIGJsaW5rIHRvIGV4cGVjdCByYW5nZUNv
dW50IG9mIDAgaW5zdGVhZCBvZiAxCisgICAgICAgIHNpbmNlIHdlIG5vIGxvbmdlciB1cGRhdGUg
dGhlIHNlbGVjdGlvbiB3aGVuIHRoZSB0YXJnZXQgbm9kZSBoYXMgYmVlbiByZW1vdmVkCisgICAg
ICAgIGR1cmluZyBzZWxlY3RzdGFydC4KKworICAgICAgICAqIGVkaXRpbmcvc2VsZWN0aW9uL2Ns
aWNrLXNlbGVjdGlvbi13aXRoLXNlbGVjdHN0YXJ0LW5vZGUtcmVtb3ZhbC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvc2VsZWN0aW9uL2NsaWNrLXNlbGVjdGlvbi13aXRo
LXNlbGVjdHN0YXJ0LW5vZGUtcmVtb3ZhbC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBpbXBvcnRl
ZC9ibGluay9lZGl0aW5nL3NlbGVjdGlvbi9zZWxlY3RzdGFydC1ldmVudC1jcmFzaC5odG1sOgor
CiAyMDIxLTAyLTEyICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjI3Mjc4NCk6IFttYWNPUyBSZWxlYXNlXSBmYXN0L2Fu
aW1hdGlvbi9yZXF1ZXN0LWFuaW1hdGlvbi1mcmFtZS10aHJvdHRsaW5nLWxvd1Bvd2VyTW9kZS5o
dG1sIGlzIGEgZmxha3kgZmFpbHVyZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vY2xpY2stc2VsZWN0aW9uLXdpdGgtc2VsZWN0c3RhcnQtbm9kZS1yZW1vdmFsLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2NsaWNrLXNlbGVjdGlv
bi13aXRoLXNlbGVjdHN0YXJ0LW5vZGUtcmVtb3ZhbC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZDYwZjhlMDA2MTNhMjZjYWM2ZWQ4ODc2MTkyYjM1ZTQwM2M5YzJkNQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2NsaWNrLXNlbGVjdGlvbi13aXRoLXNl
bGVjdHN0YXJ0LW5vZGUtcmVtb3ZhbC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitQQVNT
IGdldFNlbGVjdGlvbigpLnJhbmdlQ291bnQgaXMgMAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCitDbGljayB0aGUgYm94IGJlbG93LgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY2xpY2stc2VsZWN0aW9uLXdpdGgtc2Vs
ZWN0c3RhcnQtbm9kZS1yZW1vdmFsLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9jbGljay1zZWxlY3Rpb24td2l0aC1zZWxlY3RzdGFydC1ub2RlLXJlbW92YWwuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5hMDA0NzE0M2JlMmRhNmJlMmI5NzJkNjE4YmYwY2IwMDMwMjVhZGYyCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY2xpY2stc2VsZWN0aW9u
LXdpdGgtc2VsZWN0c3RhcnQtbm9kZS1yZW1vdmFsLmh0bWwKQEAgLTAsMCArMSwzOSBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHAgaWQ9ImNvbnRhaW5lciI+Q2xpY2sgdGhl
IGJveCBiZWxvdy48L3A+Cis8ZGl2IGlkPSJlZGl0b3IiIHN0eWxlPSJib3JkZXI6IHNvbGlkIDJw
eCByZWQ7IHBhZGRpbmc6IDJweDsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4IiBjb250ZW50
ZWRpdGFibGU+YTwvZGl2PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCitkZXNjcmlwdGlv
bihgVGhpcyB0ZXN0cyByZW1vdmluZyB0aGUgdGFyZ2V0IG9mIG1vdXNlIGRvd24gZHVyaW5nIHNl
bGVjdHN0YXJ0LgorV2ViS2l0IHNob3VsZCBub3Qgc2V0IHRoZSBzZWxlY3Rpb24ncyBlbmRwb2lu
dHMgdG8gbmV3bHkgZGlzY29ubmVjdGVkIG5vZGVzIGV2ZW4gaW4gdGhpcyBjYXNlLidgKTsKKwor
ZWRpdG9yLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsICgpID0+IHsKKyAgICBnZXRTZWxl
Y3Rpb24oKS5yZW1vdmVBbGxSYW5nZXMoKTsKKyAgICBlZGl0b3IuYWRkRXZlbnRMaXN0ZW5lcign
c2VsZWN0c3RhcnQnLCAoKSA9PiB7CisgICAgICAgIGVkaXRvci5yZW1vdmUoKTsKKyAgICB9LCB7
b25jZTogdHJ1ZX0pOworICAgIHNldFRpbWVvdXQoKCkgPT4geworICAgICAgICBzaG91bGRCZSgn
Z2V0U2VsZWN0aW9uKCkucmFuZ2VDb3VudCcsICcwJyk7CisgICAgICAgIGlmIChnZXRTZWxlY3Rp
b24oKS5yYW5nZUNvdW50KQorICAgICAgICAgICAgY29uc29sZS5sb2coZ2V0U2VsZWN0aW9uKCku
Z2V0UmFuZ2VBdCgwKSk7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgIH0sIDUpOworfSk7
CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIGNvbnN0IGJvdW5kaW5nUmVjdCA9IGVk
aXRvci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKKyAgICBjb25zdCB4ID0gYm91bmRpbmdSZWN0
LnggKyAxMDsKKyAgICBjb25zdCB5ID0gYm91bmRpbmdSZWN0LnkgKyAxMDsKKyAgICBVSUhlbHBl
ci5hY3RpdmF0ZUFuZFdhaXRGb3JJbnB1dFNlc3Npb25BdCh4LCB5KTsKK30KKworc3VjY2Vzc2Z1
bGx5UGFyc2VkID0gdHJ1ZTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC9ibGluay9lZGl0aW5nL3NlbGVjdGlvbi9zZWxlY3Rz
dGFydC1ldmVudC1jcmFzaC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvYmxpbmsvZWRpdGlu
Zy9zZWxlY3Rpb24vc2VsZWN0c3RhcnQtZXZlbnQtY3Jhc2guaHRtbAppbmRleCAyNTNmODdmNGU3
ZmEzNTE5YmViMjU3YzRkNjNjODYxNjIzNTExYTc1Li5jM2Q3NmRlNjM1ZTJjYTNkOWRkNzNlMmU5
MmRhNjE2Y2VmODhjMmU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC9ibGluay9l
ZGl0aW5nL3NlbGVjdGlvbi9zZWxlY3RzdGFydC1ldmVudC1jcmFzaC5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL2JsaW5rL2VkaXRpbmcvc2VsZWN0aW9uL3NlbGVjdHN0YXJ0LWV2ZW50
LWNyYXNoLmh0bWwKQEAgLTE0LDYgKzE0LDYgQEAgdGVzdChmdW5jdGlvbigpIHsKICAgICBldmVu
dFNlbmRlci5tb3VzZU1vdmVUbyhvbmUub2Zmc2V0TGVmdCwgb25lLm9mZnNldFRvcCk7CiAgICAg
ZXZlbnRTZW5kZXIubW91c2VEb3duKCk7CiAgICAgdmFyIHNlbGVjdGlvbiA9IGdldFNlbGVjdGlv
bigpOwotICAgIGFzc2VydF9lcXVhbHMoc2VsZWN0aW9uLnJhbmdlQ291bnQsIDEpOworICAgIGFz
c2VydF9lcXVhbHMoc2VsZWN0aW9uLnJhbmdlQ291bnQsIDApOwogfSk7CiA8L3NjcmlwdD4K
</data>
<flag name="commit-queue"
          id="438929"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420414</attachid>
            <date>2021-02-15 19:01:14 -0800</date>
            <delta_ts>2021-02-15 20:04:04 -0800</delta_ts>
            <desc>Fixed release builds</desc>
            <filename>bug-221942-20210215190113.patch</filename>
            <type>text/plain</type>
            <size>16232</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyODI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzBlZjUzZWE2NmExMDZk
NmM0MmFiOWFiZjAxODgwMzA2NDlkMGQ2Yy4uOWNkYTAyMTIxMDQ5NDhiYmFlYzNiYWM5ODljMzE4
NjIwNmU0MTMyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDIxLTAyLTE1ICBSeW9z
dWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIEV2ZW50SGFuZGxlcjo6dXBk
YXRlU2VsZWN0aW9uRm9yTW91c2VEb3duRGlzcGF0Y2hpbmdTZWxlY3RTdGFydCBzaG91bGQgbm90
IHVzZSBhbiBvcnBoYW5lZCBzZWxlY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIyMTk0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEluIHIyNzI3NzcsIHdlIHJlLWludHJvZHVjZWQgYSBudWxscHRy
IGNoZWNrIGluIERPTVNlbGVjdGlvbjo6Z2V0UmFuZ2VBdCBhcyB3ZSB3ZXJlIGdldHRpbmcgY3Jh
c2ggcmVwb3J0cworICAgICAgICBpbiB0aGlzIGNvZGUgYnV0IHdlIHdlcmVuJ3Qgc3VyZSBvZiB0
aGUgcm9vdCBjYXVzZS4gU2luY2UgdGhlbiB3ZSd2ZSBpZGVudGlmaWVkIHRoYXQgb25lIG9mIHRo
ZSByb290IGNhdXNlcworICAgICAgICBpcyB0aGF0IEV2ZW50SGFuZGxlcjo6dXBkYXRlU2VsZWN0
aW9uRm9yTW91c2VEb3duRGlzcGF0Y2hpbmdTZWxlY3RTdGFydCBkb2Vzbid0IGNoZWNrIGlmIFZp
c2libGVTZWxlY3Rpb24KKyAgICAgICAgaXMgc3RpbGwgaW4gYSBnb29kIHN0YXRlIGFmdGVyIGRp
c3BhdGNoaW5nIHNlbGVjdHN0YXJ0IGV2ZW50LiBUaGlzIHJlc3VsdHMgaW4gRnJhbWVTZWxlY3Rp
b24ncworICAgICAgICBzZXRTZWxlY3Rpb25XaXRob3V0VXBkYXRpbmdBcHBlYXJhbmNlIGdldHRp
bmcgY2FsbGVkIHdpdGggYSBzZWxlY3Rpb24gd2l0aCBlbmQgcG9pbnRzIGFscmVhZHkgYmVpbmcg
b3JwaGFuZWQuCisKKyAgICAgICAgVGhpcyBwYXRjaCBmaXhlcyB0aGlzIGJ1ZyBpbiBzZXRTZWxl
Y3Rpb25XaXRob3V0VXBkYXRpbmdBcHBlYXJhbmNlIGFuZCBhbHNvIGFkZHMgYW4gYWRkaXRpb25h
bCBjaGVjayBpbgorICAgICAgICBGcmFtZVNlbGVjdGlvbjo6c2V0U2VsZWN0aW9uV2l0aG91dFVw
ZGF0aW5nQXBwZWFyYW5jZSBpdHNlbGYgdG8gYXZvaWQgdXNpbmcgYW4gb3JwaGFuZWQgc2VsZWN0
aW9uLiBJdCBhbHNvCisgICAgICAgIGludHJvZHVjZXMgYSBudW1iZXIgb2YgcmVsZWFzZSBhbmQg
ZGVidWcgYXNzZXJ0aW9ucyBpbiBhIG51bWJlciBvZiBwbGFjZXMgdG8gaGVscCBjYXRjaCBzaW1p
bGFyIGJ1Z3MuCisKKyAgICAgICAgVGVzdDogZWRpdGluZy9zZWxlY3Rpb24vY2xpY2stc2VsZWN0
aW9uLXdpdGgtc2VsZWN0c3RhcnQtbm9kZS1yZW1vdmFsLmh0bWwKKworICAgICAgICAqIGRvbS9D
b250YWluZXJOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRhaW5lck5vZGU6OnJlbW92
ZUFsbENoaWxkcmVuV2l0aFNjcmlwdEFzc2VydGlvbik6IEFkZGVkIGEgZGVidWctb25seSBhc3Nl
cnRpb24uCisgICAgICAgIChXZWJDb3JlOjpDb250YWluZXJOb2RlOjpyZW1vdmVOb2RlV2l0aFNj
cmlwdEFzc2VydGlvbik6IERpdHRvLgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cmVtb3ZlZExhc3RSZWYpOiBEaXNhbGxvdyBzY3JpcHQg
ZXhlY3V0aW9uIGluIHRoaXMgY29kZSBlbnRpcmVseS4gQWxzbyByZWxlYXNlIGFzc2VydAorICAg
ICAgICB0aGF0IHRoZSBzZWxlY3Rpb24gaGFkIGFscmVhZHkgYmVlbiBjbGVhcmVkIGJ5IHRoaXMg
cG9pbnQuCisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6d2lsbEJlUmVtb3ZlZEZyb21GcmFt
ZSk6IERpc2FsbG93IHNjcmlwdCBleGVjdXRpb24gb25jZSB3ZSd2ZSB1bmxvYWRlZCBzdWJmcmFt
ZXMuCisgICAgICAgICogZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZVNlbGVjdGlvbjo6c2V0U2VsZWN0aW9uV2l0aG91dFVwZGF0aW5nQXBwZWFyYW5j
ZSk6IFJldHVybiBlYXJseSBpZiB0aGUgbmV3IHNlbGVjdGlvbidzCisgICAgICAgIGVuZCBwb2lu
dHMgaGFkIGJlZW4gb3JwaGFuZWQsIGFuZCBkaXNhbGxvdyBzY3JpcHQgZXhlY3V0aW9uIGJldHdl
ZW4gdGhhdCBhbmQgdW50aWwgd2UgdXBkYXRlIHRoZSBzZWxlY3Rpb24uIAorICAgICAgICAqIGVk
aXRpbmcvVmlzaWJsZVNlbGVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWaXNpYmxlU2Vs
ZWN0aW9uOjppc09ycGhhbiBjb25zdCk6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvVmlzaWJs
ZVNlbGVjdGlvbi5oOgorICAgICAgICAqIHBhZ2UvRE9NU2VsZWN0aW9uLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkRPTVNlbGVjdGlvbjo6Z2V0UmFuZ2VBdCk6IFJlbW92ZWQgbnVsbHB0ciBjaGVj
ayBhZGRlZCBpbiByMjcyNzc3LgorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6dXBkYXRlU2VsZWN0aW9uRm9yTW91c2VEb3du
RGlzcGF0Y2hpbmdTZWxlY3RTdGFydCk6IEZpeGVkIHdoYXQgaXMgbm93IGJlbGlldmVkIHRvIGJl
CisgICAgICAgIHRoZSByb290IGNhdXNlIG9mIHRoZSBidWcgMjIxNzg2LgorCiAyMDIxLTAyLTEy
ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFtNYWNdIFVuYWJs
ZSB0byBwbGF5IFdlYk0vT3B1cyBnZW5lcmF0ZWQgZnJvbSBDaHJvbWUgTWVkaWFSZWNvcmRlcgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuY3BwCmluZGV4IDBlOWFiYzg3YjlkOTJkMTQzNDhi
YTVhMjZmNTJjOTIwMDNlN2YyMjIuLmY4OWJjNmNhZGNjMTVhODIxNzQ3MjE3NThjYzRkMGQ4N2Q4
ZGZjZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5jcHAKQEAgLTEyNiw2ICsxMjYs
OCBAQCBBTFdBWVNfSU5MSU5FIE5vZGVWZWN0b3IgQ29udGFpbmVyTm9kZTo6cmVtb3ZlQWxsQ2hp
bGRyZW5XaXRoU2NyaXB0QXNzZXJ0aW9uKENoaQogICAgICAgICAgICAgd2lsbENyZWF0ZVBvc3Np
Ymx5T3JwaGFuZWRUcmVlQnlSZW1vdmFsKGNoaWxkLmdldCgpKTsKICAgICB9CiAKKyAgICBBU1NF
UlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighZG9jdW1lbnQoKS5zZWxlY3Rpb24oKS5zZWxl
Y3Rpb24oKS5pc09ycGhhbigpKTsKKwogICAgIGlmIChkZWZlckNoaWxkcmVuQ2hhbmdlZCA9PSBE
ZWZlckNoaWxkcmVuQ2hhbmdlZDo6Tm8pCiAgICAgICAgIGNoaWxkcmVuQ2hhbmdlZChDb250YWlu
ZXJOb2RlOjpDaGlsZENoYW5nZSB7IENoaWxkQ2hhbmdlOjpUeXBlOjpBbGxDaGlsZHJlblJlbW92
ZWQsIG51bGxwdHIsIG51bGxwdHIsIHNvdXJjZSB9KTsKIApAQCAtMTkyLDYgKzE5NCw4IEBAIEFM
V0FZU19JTkxJTkUgYm9vbCBDb250YWluZXJOb2RlOjpyZW1vdmVOb2RlV2l0aFNjcmlwdEFzc2Vy
dGlvbihOb2RlJiBjaGlsZFRvUmVtCiAgICAgaWYgKHNvdXJjZSA9PSBDaGlsZENoYW5nZTo6U291
cmNlOjpBUEkgJiYgc3VidHJlZU9ic2VydmFiaWxpdHkgPT0gUmVtb3ZlZFN1YnRyZWVPYnNlcnZh
YmlsaXR5OjpNYXliZU9ic2VydmFibGVCeVJlZlB0cikKICAgICAgICAgd2lsbENyZWF0ZVBvc3Np
Ymx5T3JwaGFuZWRUcmVlQnlSZW1vdmFsKCZjaGlsZFRvUmVtb3ZlKTsKIAorICAgIEFTU0VSVF9X
SVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFkb2N1bWVudCgpLnNlbGVjdGlvbigpLnNlbGVjdGlv
bigpLmlzT3JwaGFuKCkpOworCiAgICAgLy8gRklYTUU6IE1vdmUgY2hpbGRyZW5DaGFuZ2VkIGlu
dG8gU2NyaXB0RGlzYWxsb3dlZFNjb3BlIGJsb2NrLgogICAgIGNoaWxkcmVuQ2hhbmdlZChjaGFu
Z2UpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCAzOGVjMThiOWY0YjZiNzIyOWQ0ZTJm
ZWRjNDM0N2JjNjhiNmNhMDFkLi4xYjlmNzI2NjM5MjEwODVjNThkMDhiNWIwNzk5NjU2OWZlYTY2
MmFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTc4MSw2ICs3ODEsNyBAQCBEb2N1bWVu
dDo6fkRvY3VtZW50KCkKIAogdm9pZCBEb2N1bWVudDo6cmVtb3ZlZExhc3RSZWYoKQogeworICAg
IFNjcmlwdERpc2FsbG93ZWRTY29wZTo6SW5NYWluVGhyZWFkIHNjcmlwdERpc2FsbG93ZWRTY29w
ZTsKICAgICBBU1NFUlQoIW1fZGVsZXRpb25IYXNCZWd1bik7CiAgICAgaWYgKG1fcmVmZXJlbmNp
bmdOb2RlQ291bnQpIHsKICAgICAgICAgLy8gTm9kZTo6cmVtb3ZlZExhc3RSZWYgZG9lc24ndCBz
ZXQgcmVmQ291bnQoKSB0byB6ZXJvIGJlY2F1c2UgaXQncyBub3Qgb2JzZXJ2YWJsZS4KQEAgLTgx
MSw2ICs4MTIsOCBAQCB2b2lkIERvY3VtZW50OjpyZW1vdmVkTGFzdFJlZigpCiAKICAgICAgICAg
ZGV0YWNoUGFyc2VyKCk7CiAKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQobV9zZWxlY3Rpb24tPmlz
Tm9uZSgpKTsKKwogICAgICAgICAvLyByZW1vdmVEZXRhY2hlZENoaWxkcmVuKCkgZG9lc24ndCBh
bHdheXMgdW5yZWdpc3RlciBJRHMsCiAgICAgICAgIC8vIHNvIHRlYXIgZG93biBzY29wZSBpbmZv
cm1hdGlvbiB1cCBmcm9udCB0byBhdm9pZCBoYXZpbmcKICAgICAgICAgLy8gc3RhbGUgcmVmZXJl
bmNlcyBpbiB0aGUgbWFwLgpAQCAtMjU5Myw2ICsyNTk2LDggQEAgdm9pZCBEb2N1bWVudDo6d2ls
bEJlUmVtb3ZlZEZyb21GcmFtZSgpCiAgICAgfQogICAgIFJFTEVBU0VfQVNTRVJUX1dJVEhfU0VD
VVJJVFlfSU1QTElDQVRJT04oIW1fZnJhbWUgfHwgIW1fZnJhbWUtPnRyZWUoKS5jaGlsZENvdW50
KCkpOwogCisgICAgU2NyaXB0RGlzYWxsb3dlZFNjb3BlOjpJbk1haW5UaHJlYWQgc2NyaXB0RGlz
YWxsb3dlZFNjb3BlOworCiAgICAgaWYgKG1fZG9tV2luZG93ICYmIG1fZnJhbWUpCiAgICAgICAg
IG1fZG9tV2luZG93LT53aWxsRGV0YWNoRG9jdW1lbnRGcm9tRnJhbWUoKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcAppbmRleCBjYWZjMTQ0ZWFjNjk5ZGE3M2Rj
OThlMmZmNWVmNWQ2MmFlOTE1MmU4Li5kOTNiMTE2NGVjY2M4YzQzNDgyOTRmZTAzYjdiZDI0MWQz
OGVhMGE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcApAQCAt
NjUsNiArNjUsNyBAQAogI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKICNpbmNsdWRlICJSZW5kZXJX
aWRnZXQuaCIKICNpbmNsdWRlICJSZW5kZXJlZFBvc2l0aW9uLmgiCisjaW5jbHVkZSAiU2NyaXB0
RGlzYWxsb3dlZFNjb3BlLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJTaW1w
bGVSYW5nZS5oIgogI2luY2x1ZGUgIlNwYXRpYWxOYXZpZ2F0aW9uLmgiCkBAIC0zMzMsMTcgKzMz
NCwxMSBAQCBib29sIEZyYW1lU2VsZWN0aW9uOjpzZXRTZWxlY3Rpb25XaXRob3V0VXBkYXRpbmdB
cHBlYXJhbmNlKGNvbnN0IFZpc2libGVTZWxlY3RpbwogICAgIGlmIChzaG91bGRBbHdheXNVc2VE
aXJlY3Rpb25hbFNlbGVjdGlvbihtX2RvY3VtZW50LmdldCgpKSkKICAgICAgICAgbmV3U2VsZWN0
aW9uLnNldElzRGlyZWN0aW9uYWwodHJ1ZSk7CiAKLSAgICBpZiAoIW1fZG9jdW1lbnQgfHwgIW1f
ZG9jdW1lbnQtPmZyYW1lKCkpIHsKLSAgICAgICAgbV9zZWxlY3Rpb24gPSBuZXdTZWxlY3Rpb247
Ci0gICAgICAgIHVwZGF0ZUFzc29jaWF0ZWRMaXZlUmFuZ2UoKTsKLSAgICAgICAgcmV0dXJuIGZh
bHNlOwotICAgIH0KLQogICAgIC8vIDxodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMzQ2ND46IEluZmluaXRlIHJlY3Vyc2lvbiBhdCBGcmFtZVNlbGVjdGlvbjo6c2V0U2Vs
ZWN0aW9uCiAgICAgLy8gaWYgZG9jdW1lbnQtPmZyYW1lKCkgPT0gbV9kb2N1bWVudC0+ZnJhbWUo
KSB3ZSBjYW4gZ2V0IGludG8gYW4gaW5maW5pdGUgbG9vcAogICAgIGlmIChEb2N1bWVudCogbmV3
U2VsZWN0aW9uRG9jdW1lbnQgPSBuZXdTZWxlY3Rpb24uYmFzZSgpLmRvY3VtZW50KCkpIHsKICAg
ICAgICAgaWYgKFJlZlB0cjxGcmFtZT4gbmV3U2VsZWN0aW9uRnJhbWUgPSBuZXdTZWxlY3Rpb25E
b2N1bWVudC0+ZnJhbWUoKSkgewotICAgICAgICAgICAgaWYgKG5ld1NlbGVjdGlvbkZyYW1lICE9
IG1fZG9jdW1lbnQtPmZyYW1lKCkgJiYgbmV3U2VsZWN0aW9uRG9jdW1lbnQgIT0gbV9kb2N1bWVu
dCkgeworICAgICAgICAgICAgaWYgKG1fZG9jdW1lbnQgJiYgbmV3U2VsZWN0aW9uRnJhbWUgIT0g
bV9kb2N1bWVudC0+ZnJhbWUoKSAmJiBuZXdTZWxlY3Rpb25Eb2N1bWVudCAhPSBtX2RvY3VtZW50
KSB7CiAgICAgICAgICAgICAgICAgbmV3U2VsZWN0aW9uRG9jdW1lbnQtPnNlbGVjdGlvbigpLnNl
dFNlbGVjdGlvbihuZXdTZWxlY3Rpb24sIG9wdGlvbnMsIEFYVGV4dFN0YXRlQ2hhbmdlSW50ZW50
KCksIGFsaWduLCBncmFudWxhcml0eSk7CiAgICAgICAgICAgICAgICAgLy8gSXQncyBwb3NzaWJs
ZSB0aGF0IGR1cmluZyB0aGUgYWJvdmUgc2V0IHNlbGVjdGlvbiwgdGhpcyBGcmFtZVNlbGVjdGlv
biBoYXMgYmVlbiBtb2RpZmllZCBieQogICAgICAgICAgICAgICAgIC8vIHNlbGVjdEZyYW1lRWxl
bWVudEluUGFyZW50SWZGdWxseVNlbGVjdGVkLCBidXQgdGhhdCB0aGUgc2VsZWN0aW9uIGlzIG5v
IGxvbmdlciB2YWxpZCBzaW5jZQpAQCAtMzU1LDI3ICszNTAsNDEgQEAgYm9vbCBGcmFtZVNlbGVj
dGlvbjo6c2V0U2VsZWN0aW9uV2l0aG91dFVwZGF0aW5nQXBwZWFyYW5jZShjb25zdCBWaXNpYmxl
U2VsZWN0aW8KICAgICAgICAgfQogICAgIH0KIAotICAgIG1fZ3JhbnVsYXJpdHkgPSBncmFudWxh
cml0eTsKKyAgICBWaXNpYmxlU2VsZWN0aW9uIG9sZFNlbGVjdGlvbiA9IG1fc2VsZWN0aW9uOwor
ICAgIGJvb2wgd2lsbE11dGF0ZVNlbGVjdGlvbiA9IG9sZFNlbGVjdGlvbiAhPSBuZXdTZWxlY3Rp
b247CisgICAgaWYgKHdpbGxNdXRhdGVTZWxlY3Rpb24gJiYgbV9kb2N1bWVudCkKKyAgICAgICAg
bV9kb2N1bWVudC0+ZWRpdG9yKCkuc2VsZWN0aW9uV2lsbENoYW5nZSgpOwogCi0gICAgaWYgKGNs
b3NlVHlwaW5nKQotICAgICAgICBUeXBpbmdDb21tYW5kOjpjbG9zZVR5cGluZygqbV9kb2N1bWVu
dCk7CisgICAgeworICAgICAgICBTY3JpcHREaXNhbGxvd2VkU2NvcGU6OkluTWFpblRocmVhZCBz
Y3JpcHREaXNhbGxvd2VkU2NvcGU7CisgICAgICAgIGlmIChuZXdTZWxlY3Rpb24uaXNPcnBoYW4o
KSkgeworICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgICAgICBjbGVh
cigpOworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CiAKLSAgICBpZiAoc2hv
dWxkQ2xlYXJUeXBpbmdTdHlsZSkKLSAgICAgICAgY2xlYXJUeXBpbmdTdHlsZSgpOworICAgICAg
ICBpZiAoIW1fZG9jdW1lbnQgfHwgIW1fZG9jdW1lbnQtPmZyYW1lKCkpIHsKKyAgICAgICAgICAg
IG1fc2VsZWN0aW9uID0gbmV3U2VsZWN0aW9uOworICAgICAgICAgICAgdXBkYXRlQXNzb2NpYXRl
ZExpdmVSYW5nZSgpOworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CiAKLSAg
ICBWaXNpYmxlU2VsZWN0aW9uIG9sZFNlbGVjdGlvbiA9IG1fc2VsZWN0aW9uOwotICAgIGJvb2wg
ZGlkTXV0YXRlU2VsZWN0aW9uID0gb2xkU2VsZWN0aW9uICE9IG5ld1NlbGVjdGlvbjsKLSAgICBp
ZiAoZGlkTXV0YXRlU2VsZWN0aW9uKQotICAgICAgICBtX2RvY3VtZW50LT5lZGl0b3IoKS5zZWxl
Y3Rpb25XaWxsQ2hhbmdlKCk7CisgICAgICAgIGlmIChjbG9zZVR5cGluZykKKyAgICAgICAgICAg
IFR5cGluZ0NvbW1hbmQ6OmNsb3NlVHlwaW5nKCptX2RvY3VtZW50KTsKIAotICAgIG1fc2VsZWN0
aW9uID0gbmV3U2VsZWN0aW9uOwotICAgIHVwZGF0ZUFzc29jaWF0ZWRMaXZlUmFuZ2UoKTsKKyAg
ICAgICAgaWYgKHNob3VsZENsZWFyVHlwaW5nU3R5bGUpCisgICAgICAgICAgICBjbGVhclR5cGlu
Z1N0eWxlKCk7CisKKyAgICAgICAgbV9ncmFudWxhcml0eSA9IGdyYW51bGFyaXR5OworICAgICAg
ICBtX3NlbGVjdGlvbiA9IG5ld1NlbGVjdGlvbjsKKyAgICAgICAgdXBkYXRlQXNzb2NpYXRlZExp
dmVSYW5nZSgpOworICAgIH0KIAogICAgIC8vIFNlbGVjdGlvbiBvZmZzZXRzIHNob3VsZCBpbmNy
ZWFzZSB3aGVuIExGIGlzIGluc2VydGVkIGJlZm9yZSB0aGUgY2FyZXQgaW4gSW5zZXJ0TGluZUJy
ZWFrQ29tbWFuZC4gU2VlIDxodHRwczovL3dlYmtpdC5vcmcvYi81NjA2MT4uCiAgICAgaWYgKEhU
TUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50KiB0ZXh0Q29udHJvbCA9IGVuY2xvc2luZ1RleHRGb3Jt
Q29udHJvbChuZXdTZWxlY3Rpb24uc3RhcnQoKSkpCiAgICAgICAgIHRleHRDb250cm9sLT5zZWxl
Y3Rpb25DaGFuZ2VkKG9wdGlvbnMuY29udGFpbnMoRmlyZVNlbGVjdEV2ZW50KSk7CiAKLSAgICBp
ZiAoIWRpZE11dGF0ZVNlbGVjdGlvbikKKyAgICBpZiAoIXdpbGxNdXRhdGVTZWxlY3Rpb24pCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIHNldENhcmV0UmVjdE5lZWRzVXBkYXRlKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVTZWxlY3Rpb24uY3BwIGIv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlU2VsZWN0aW9uLmNwcAppbmRleCBiYWQ1MzU3
M2JhOWQ3OWRlZDlkMWI1MmYwNmIxZWI4M2Q1YzA4ZTg5Li4wMGQ1Zjg3YTQ1NTI2YmNhZWY4Y2Jl
Yzk5ZjNmZDc5YzUwYTcyMGE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zp
c2libGVTZWxlY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVNl
bGVjdGlvbi5jcHAKQEAgLTEzMyw2ICsxMzMsMTcgQEAgdm9pZCBWaXNpYmxlU2VsZWN0aW9uOjpz
ZXRFeHRlbnQoY29uc3QgVmlzaWJsZVBvc2l0aW9uJiB2aXNpYmxlUG9zaXRpb24pCiAgICAgc2V0
RXh0ZW50KHZpc2libGVQb3NpdGlvbi5kZWVwRXF1aXZhbGVudCgpKTsKIH0KIAorYm9vbCBWaXNp
YmxlU2VsZWN0aW9uOjppc09ycGhhbigpIGNvbnN0Cit7CisgICAgaWYgKG1fYmFzZS5pc09ycGhh
bigpIHx8IG1fZXh0ZW50LmlzT3JwaGFuKCkgfHwgbV9zdGFydC5pc09ycGhhbigpIHx8IG1fZW5k
LmlzT3JwaGFuKCkpCisgICAgICAgIHJldHVybiB0cnVlOworICAgIGlmIChtX2FuY2hvci5pc09y
cGhhbigpICYmIG1fYW5jaG9yLmRvY3VtZW50KCktPnNldHRpbmdzKCkubGl2ZVJhbmdlU2VsZWN0
aW9uRW5hYmxlZCgpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICBpZiAobV9mb2N1cy5pc09y
cGhhbigpICYmIG1fZm9jdXMuZG9jdW1lbnQoKS0+c2V0dGluZ3MoKS5saXZlUmFuZ2VTZWxlY3Rp
b25FbmFibGVkKCkpCisgICAgICAgIHJldHVybiB0cnVlOworICAgIHJldHVybiBmYWxzZTsKK30K
KwogT3B0aW9uYWw8U2ltcGxlUmFuZ2U+IFZpc2libGVTZWxlY3Rpb246OmZpcnN0UmFuZ2UoKSBj
b25zdAogewogICAgIGlmIChpc05vbmVPck9ycGhhbmVkKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL1Zpc2libGVTZWxlY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvVmlzaWJsZVNlbGVjdGlvbi5oCmluZGV4IGU2ZThmNTE0YTZlNmIzNzY4NDcyOWJlNGEyNjI4
OWIyOGMwNGZlMWMuLjdhYmVhZmQ1NzUxMjdhMTRiYmQ1NDFjNDgxM2E1ODUzODcyNjAyOTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVNlbGVjdGlvbi5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVNlbGVjdGlvbi5oCkBAIC04Niw2ICs4Niw3
IEBAIHB1YmxpYzoKICAgICBib29sIGlzQ2FyZXRPclJhbmdlKCkgY29uc3QgeyByZXR1cm4gIWlz
Tm9uZSgpOyB9CiAgICAgYm9vbCBpc05vbk9ycGhhbmVkUmFuZ2UoKSBjb25zdCB7IHJldHVybiBp
c1JhbmdlKCkgJiYgIXN0YXJ0KCkuaXNPcnBoYW4oKSAmJiAhZW5kKCkuaXNPcnBoYW4oKTsgfQog
ICAgIGJvb2wgaXNOb25lT3JPcnBoYW5lZCgpIGNvbnN0IHsgcmV0dXJuIGlzTm9uZSgpIHx8IHN0
YXJ0KCkuaXNPcnBoYW4oKSB8fCBlbmQoKS5pc09ycGhhbigpOyB9CisgICAgYm9vbCBpc09ycGhh
bigpIGNvbnN0OwogCiAgICAgYm9vbCBpc0Jhc2VGaXJzdCgpIGNvbnN0IHsgcmV0dXJuIG1fYW5j
aG9ySXNGaXJzdDsgfQogICAgIGJvb2wgaXNEaXJlY3Rpb25hbCgpIGNvbnN0IHsgcmV0dXJuIG1f
aXNEaXJlY3Rpb25hbDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01TZWxl
Y3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01TZWxlY3Rpb24uY3BwCmluZGV4IDQx
MTYxYzlmMmNjMDY0NzJkNjQ3YjMyODg5MDk4YTc5YWVmZTFlNDUuLjBkZjdkOWI2MTA3NzdjNjRk
ZGE3NWFhMDI2MmY3NDkyYmEwMGE5MjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RE9NU2VsZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVNlbGVjdGlvbi5j
cHAKQEAgLTM2NywxMSArMzY3LDcgQEAgRXhjZXB0aW9uT3I8UmVmPFJhbmdlPj4gRE9NU2VsZWN0
aW9uOjpnZXRSYW5nZUF0KHVuc2lnbmVkIGluZGV4KQogICAgICAgICByZXR1cm4gZnJhbWUtPnNl
bGVjdGlvbigpLmFzc29jaWF0ZWRMaXZlUmFuZ2UoKS5yZWxlYXNlTm9uTnVsbCgpOwogICAgIGlm
IChhdXRvIHNoYWRvd0FuY2VzdG9yID0gc2VsZWN0aW9uU2hhZG93QW5jZXN0b3IoZnJhbWUpKQog
ICAgICAgICByZXR1cm4gY3JlYXRlTGl2ZVJhbmdlKG1ha2VTaW1wbGVSYW5nZSgqbWFrZUJvdW5k
YXJ5UG9pbnRCZWZvcmVOb2RlKCpzaGFkb3dBbmNlc3RvcikpKTsKLSAgICBhdXRvIHNpbXBsZVJh
bmdlID0gZnJhbWUtPnNlbGVjdGlvbigpLnNlbGVjdGlvbigpLmZpcnN0UmFuZ2UoKTsKLSAgICBB
U1NFUlQoc2ltcGxlUmFuZ2UpOyAvLyBzZWxlY3Rpb24gaXMgb3JwaGFuZWQgYnV0IHRoaXMgc2hv
dWxkbid0IGhhcHBlbi4KLSAgICBpZiAoIXNpbXBsZVJhbmdlKQotICAgICAgICByZXR1cm4gRXhj
ZXB0aW9uIHsgSW5kZXhTaXplRXJyb3IgfTsKLSAgICByZXR1cm4gY3JlYXRlTGl2ZVJhbmdlKCpz
aW1wbGVSYW5nZSk7CisgICAgcmV0dXJuIGNyZWF0ZUxpdmVSYW5nZSgqZnJhbWUtPnNlbGVjdGlv
bigpLnNlbGVjdGlvbigpLmZpcnN0UmFuZ2UoKSk7CiB9CiAKIHZvaWQgRE9NU2VsZWN0aW9uOjpy
ZW1vdmVBbGxSYW5nZXMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhh
bmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IGFi
MjQ2MDg0ODMzOGZlNWI4YTYwZWY2OTU3NDQxNGYxZjVmMmMwNmUuLmNiNmFlM2VhNjlkZjBmZmIw
MmEyMjY5NDU2MWQ2MTJlYzc2MWJmNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RXZlbnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5j
cHAKQEAgLTQ2Niw2ICs0NjYsMTEgQEAgYm9vbCBFdmVudEhhbmRsZXI6OnVwZGF0ZVNlbGVjdGlv
bkZvck1vdXNlRG93bkRpc3BhdGNoaW5nU2VsZWN0U3RhcnQoTm9kZSogdGFyZ2UKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgIH0KIAorICAgIGlmIChzZWxlY3Rpb24uaXNPcnBoYW4oKSkgewor
ICAgICAgICBtX21vdXNlRG93bk1heVN0YXJ0U2VsZWN0ID0gZmFsc2U7CisgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICB9CisKICAgICBpZiAoc2VsZWN0aW9uLmlzUmFuZ2UoKSkKICAgICAgICAg
bV9zZWxlY3Rpb25Jbml0aWF0aW9uU3RhdGUgPSBFeHRlbmRlZFNlbGVjdGlvbjsKICAgICBlbHNl
IHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCA0YzFjOTc3YjA4NzY1MzI1MzUyOGE5MTVmYWM5ZGQ5Y2ZlZmNiZGI1Li44ODVi
N2I5YmIyYTI3YTcwOGZhODE3NmU5NjgzZjY2ODc2YWM5OWMwIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAg
QEAKKzIwMjEtMDItMTUgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAg
ICAgRXZlbnRIYW5kbGVyOjp1cGRhdGVTZWxlY3Rpb25Gb3JNb3VzZURvd25EaXNwYXRjaGluZ1Nl
bGVjdFN0YXJ0IHNob3VsZCBub3QgdXNlIGFuIG9ycGhhbmVkIHNlbGVjdGlvbgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxOTQyCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgYSByZWdyZXNzaW9u
IHRlc3QgZm9yIHRoZSBidWcgMjIxNzg2IC8gcjI3Mjc3Ny4KKworICAgICAgICBBbHNvIHVwZGF0
ZWQgYSB0ZXN0IGltcG9ydGVkIGZyb20gYmxpbmsgdG8gZXhwZWN0IHJhbmdlQ291bnQgb2YgMCBp
bnN0ZWFkIG9mIDEKKyAgICAgICAgc2luY2Ugd2Ugbm8gbG9uZ2VyIHVwZGF0ZSB0aGUgc2VsZWN0
aW9uIHdoZW4gdGhlIHRhcmdldCBub2RlIGhhcyBiZWVuIHJlbW92ZWQKKyAgICAgICAgZHVyaW5n
IHNlbGVjdHN0YXJ0LgorCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vY2xpY2stc2VsZWN0
aW9uLXdpdGgtc2VsZWN0c3RhcnQtbm9kZS1yZW1vdmFsLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vY2xpY2stc2VsZWN0aW9uLXdpdGgtc2VsZWN0c3Rh
cnQtbm9kZS1yZW1vdmFsLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGltcG9ydGVkL2JsaW5rL2Vk
aXRpbmcvc2VsZWN0aW9uL3NlbGVjdHN0YXJ0LWV2ZW50LWNyYXNoLmh0bWw6CisKIDIwMjEtMDIt
MTIgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAg
ICBSRUdSRVNTSU9OIChyMjcyNzg0KTogW21hY09TIFJlbGVhc2VdIGZhc3QvYW5pbWF0aW9uL3Jl
cXVlc3QtYW5pbWF0aW9uLWZyYW1lLXRocm90dGxpbmctbG93UG93ZXJNb2RlLmh0bWwgaXMgYSBm
bGFreSBmYWlsdXJlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9j
bGljay1zZWxlY3Rpb24td2l0aC1zZWxlY3RzdGFydC1ub2RlLXJlbW92YWwtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY2xpY2stc2VsZWN0aW9uLXdpdGgtc2Vs
ZWN0c3RhcnQtbm9kZS1yZW1vdmFsLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNjBmOGUwMDYx
M2EyNmNhYzZlZDg4NzYxOTJiMzVlNDAzYzljMmQ1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vY2xpY2stc2VsZWN0aW9uLXdpdGgtc2VsZWN0c3RhcnQt
bm9kZS1yZW1vdmFsLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1BBU1MgZ2V0U2VsZWN0
aW9uKCkucmFuZ2VDb3VudCBpcyAwCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKK0NsaWNrIHRoZSBib3ggYmVsb3cuCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jbGljay1zZWxlY3Rpb24td2l0aC1zZWxlY3RzdGFydC1u
b2RlLXJlbW92YWwuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2NsaWNrLXNl
bGVjdGlvbi13aXRoLXNlbGVjdHN0YXJ0LW5vZGUtcmVtb3ZhbC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEw
MDQ3MTQzYmUyZGE2YmUyYjk3MmQ2MThiZjBjYjAwMzAyNWFkZjIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jbGljay1zZWxlY3Rpb24td2l0aC1zZWxl
Y3RzdGFydC1ub2RlLXJlbW92YWwuaHRtbApAQCAtMCwwICsxLDM5IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGJvZHk+Cis8cCBpZD0iY29udGFpbmVyIj5DbGljayB0aGUgYm94IGJlbG93
LjwvcD4KKzxkaXYgaWQ9ImVkaXRvciIgc3R5bGU9ImJvcmRlcjogc29saWQgMnB4IHJlZDsgcGFk
ZGluZzogMnB4OyB3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHgiIGNvbnRlbnRlZGl0YWJsZT5h
PC9kaXY+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdD4KKworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK2Rlc2NyaXB0aW9uKGBUaGlzIHRl
c3RzIHJlbW92aW5nIHRoZSB0YXJnZXQgb2YgbW91c2UgZG93biBkdXJpbmcgc2VsZWN0c3RhcnQu
CitXZWJLaXQgc2hvdWxkIG5vdCBzZXQgdGhlIHNlbGVjdGlvbidzIGVuZHBvaW50cyB0byBuZXds
eSBkaXNjb25uZWN0ZWQgbm9kZXMgZXZlbiBpbiB0aGlzIGNhc2UuJ2ApOworCitlZGl0b3IuYWRk
RXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgKCkgPT4geworICAgIGdldFNlbGVjdGlvbigpLnJl
bW92ZUFsbFJhbmdlcygpOworICAgIGVkaXRvci5hZGRFdmVudExpc3RlbmVyKCdzZWxlY3RzdGFy
dCcsICgpID0+IHsKKyAgICAgICAgZWRpdG9yLnJlbW92ZSgpOworICAgIH0sIHtvbmNlOiB0cnVl
fSk7CisgICAgc2V0VGltZW91dCgoKSA9PiB7CisgICAgICAgIHNob3VsZEJlKCdnZXRTZWxlY3Rp
b24oKS5yYW5nZUNvdW50JywgJzAnKTsKKyAgICAgICAgaWYgKGdldFNlbGVjdGlvbigpLnJhbmdl
Q291bnQpCisgICAgICAgICAgICBjb25zb2xlLmxvZyhnZXRTZWxlY3Rpb24oKS5nZXRSYW5nZUF0
KDApKTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgfSwgNSk7Cit9KTsKKworaWYgKHdp
bmRvdy50ZXN0UnVubmVyKSB7CisgICAgY29uc3QgYm91bmRpbmdSZWN0ID0gZWRpdG9yLmdldEJv
dW5kaW5nQ2xpZW50UmVjdCgpOworICAgIGNvbnN0IHggPSBib3VuZGluZ1JlY3QueCArIDEwOwor
ICAgIGNvbnN0IHkgPSBib3VuZGluZ1JlY3QueSArIDEwOworICAgIFVJSGVscGVyLmFjdGl2YXRl
QW5kV2FpdEZvcklucHV0U2Vzc2lvbkF0KHgsIHkpOworfQorCitzdWNjZXNzZnVsbHlQYXJzZWQg
PSB0cnVlOworCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL2JsaW5rL2VkaXRpbmcvc2VsZWN0aW9uL3NlbGVjdHN0YXJ0LWV2ZW50
LWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC9ibGluay9lZGl0aW5nL3NlbGVjdGlv
bi9zZWxlY3RzdGFydC1ldmVudC1jcmFzaC5odG1sCmluZGV4IDI1M2Y4N2Y0ZTdmYTM1MTliZWIy
NTdjNGQ2M2M4NjE2MjM1MTFhNzUuLmMzZDc2ZGU2MzVlMmNhM2Q5ZGQ3M2UyZTkyZGE2MTZjZWY4
OGMyZTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL2JsaW5rL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NlbGVjdHN0YXJ0LWV2ZW50LWNyYXNoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvYmxpbmsvZWRpdGluZy9zZWxlY3Rpb24vc2VsZWN0c3RhcnQtZXZlbnQtY3Jhc2guaHRt
bApAQCAtMTQsNiArMTQsNiBAQCB0ZXN0KGZ1bmN0aW9uKCkgewogICAgIGV2ZW50U2VuZGVyLm1v
dXNlTW92ZVRvKG9uZS5vZmZzZXRMZWZ0LCBvbmUub2Zmc2V0VG9wKTsKICAgICBldmVudFNlbmRl
ci5tb3VzZURvd24oKTsKICAgICB2YXIgc2VsZWN0aW9uID0gZ2V0U2VsZWN0aW9uKCk7Ci0gICAg
YXNzZXJ0X2VxdWFscyhzZWxlY3Rpb24ucmFuZ2VDb3VudCwgMSk7CisgICAgYXNzZXJ0X2VxdWFs
cyhzZWxlY3Rpb24ucmFuZ2VDb3VudCwgMCk7CiB9KTsKIDwvc2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420420</attachid>
            <date>2021-02-15 20:04:07 -0800</date>
            <delta_ts>2021-02-15 20:04:22 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-221942-20210215200406.patch</filename>
            <type>text/plain</type>
            <size>16331</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyODI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzBlZjUzZWE2NmExMDZk
NmM0MmFiOWFiZjAxODgwMzA2NDlkMGQ2Yy4uNzJiYmYxNWRmNDc1MGRkMjQ2MDMxZWJlMGY4Mjdi
ZmNhMzkxODFkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDIxLTAyLTE1ICBSeW9z
dWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIEV2ZW50SGFuZGxlcjo6dXBk
YXRlU2VsZWN0aW9uRm9yTW91c2VEb3duRGlzcGF0Y2hpbmdTZWxlY3RTdGFydCBzaG91bGQgbm90
IHVzZSBhbiBvcnBoYW5lZCBzZWxlY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIyMTk0MgorCisgICAgICAgIFJldmlld2VkIGJ5IFdlbnNvbiBI
c2llaC4KKworICAgICAgICBJbiByMjcyNzc3LCB3ZSByZS1pbnRyb2R1Y2VkIGEgbnVsbHB0ciBj
aGVjayBpbiBET01TZWxlY3Rpb246OmdldFJhbmdlQXQgYXMgd2Ugd2VyZSBnZXR0aW5nIGNyYXNo
IHJlcG9ydHMKKyAgICAgICAgaW4gdGhpcyBjb2RlIGJ1dCB3ZSB3ZXJlbid0IHN1cmUgb2YgdGhl
IHJvb3QgY2F1c2UuIFNpbmNlIHRoZW4gd2UndmUgaWRlbnRpZmllZCB0aGF0IG9uZSBvZiB0aGUg
cm9vdCBjYXVzZXMKKyAgICAgICAgaXMgdGhhdCBFdmVudEhhbmRsZXI6OnVwZGF0ZVNlbGVjdGlv
bkZvck1vdXNlRG93bkRpc3BhdGNoaW5nU2VsZWN0U3RhcnQgZG9lc24ndCBjaGVjayBpZiBWaXNp
YmxlU2VsZWN0aW9uCisgICAgICAgIGlzIHN0aWxsIGluIGEgZ29vZCBzdGF0ZSBhZnRlciBkaXNw
YXRjaGluZyBzZWxlY3RzdGFydCBldmVudC4gVGhpcyByZXN1bHRzIGluIEZyYW1lU2VsZWN0aW9u
J3MKKyAgICAgICAgc2V0U2VsZWN0aW9uV2l0aG91dFVwZGF0aW5nQXBwZWFyYW5jZSBnZXR0aW5n
IGNhbGxlZCB3aXRoIGEgc2VsZWN0aW9uIHdpdGggZW5kIHBvaW50cyBhbHJlYWR5IGJlaW5nIG9y
cGhhbmVkLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZml4ZXMgdGhpcyBidWcgaW4gc2V0U2VsZWN0
aW9uV2l0aG91dFVwZGF0aW5nQXBwZWFyYW5jZSBhbmQgYWxzbyBhZGRzIGFuIGFkZGl0aW9uYWwg
Y2hlY2sgaW4KKyAgICAgICAgRnJhbWVTZWxlY3Rpb246OnNldFNlbGVjdGlvbldpdGhvdXRVcGRh
dGluZ0FwcGVhcmFuY2UgaXRzZWxmIHRvIGF2b2lkIHVzaW5nIGFuIG9ycGhhbmVkIHNlbGVjdGlv
bi4gSXQgYWxzbworICAgICAgICBpbnRyb2R1Y2VzIGEgbnVtYmVyIG9mIHJlbGVhc2UgYW5kIGRl
YnVnIGFzc2VydGlvbnMgaW4gYSBudW1iZXIgb2YgcGxhY2VzIHRvIGhlbHAgY2F0Y2ggc2ltaWxh
ciBidWdzLgorCisgICAgICAgIFRlc3Q6IGVkaXRpbmcvc2VsZWN0aW9uL2NsaWNrLXNlbGVjdGlv
bi13aXRoLXNlbGVjdHN0YXJ0LW5vZGUtcmVtb3ZhbC5odG1sCisKKyAgICAgICAgKiBkb20vQ29u
dGFpbmVyTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb250YWluZXJOb2RlOjpyZW1vdmVB
bGxDaGlsZHJlbldpdGhTY3JpcHRBc3NlcnRpb24pOiBBZGRlZCBhIGRlYnVnLW9ubHkgYXNzZXJ0
aW9uLgorICAgICAgICAoV2ViQ29yZTo6Q29udGFpbmVyTm9kZTo6cmVtb3ZlTm9kZVdpdGhTY3Jp
cHRBc3NlcnRpb24pOiBEaXR0by4KKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnJlbW92ZWRMYXN0UmVmKTogRGlzYWxsb3cgc2NyaXB0IGV4
ZWN1dGlvbiBpbiB0aGlzIGNvZGUgZW50aXJlbHkuIEFsc28gcmVsZWFzZSBhc3NlcnQKKyAgICAg
ICAgdGhhdCB0aGUgc2VsZWN0aW9uIGhhZCBhbHJlYWR5IGJlZW4gY2xlYXJlZCBieSB0aGlzIHBv
aW50LgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OndpbGxCZVJlbW92ZWRGcm9tRnJhbWUp
OiBEaXNhbGxvdyBzY3JpcHQgZXhlY3V0aW9uIG9uY2Ugd2UndmUgdW5sb2FkZWQgc3ViZnJhbWVz
LgorICAgICAgICAqIGVkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RnJhbWVTZWxlY3Rpb246OnNldFNlbGVjdGlvbldpdGhvdXRVcGRhdGluZ0FwcGVhcmFuY2Up
OiBSZXR1cm4gZWFybHkgaWYgdGhlIG5ldyBzZWxlY3Rpb24ncworICAgICAgICBlbmQgcG9pbnRz
IGhhZCBiZWVuIG9ycGhhbmVkLCBhbmQgZGlzYWxsb3cgc2NyaXB0IGV4ZWN1dGlvbiBiZXR3ZWVu
IHRoYXQgYW5kIHVudGlsIHdlIHVwZGF0ZSB0aGUgc2VsZWN0aW9uLiAKKyAgICAgICAgKiBlZGl0
aW5nL1Zpc2libGVTZWxlY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VmlzaWJsZVNlbGVj
dGlvbjo6aXNPcnBoYW4gY29uc3QpOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL1Zpc2libGVT
ZWxlY3Rpb24uaDoKKyAgICAgICAgKiBwYWdlL0RPTVNlbGVjdGlvbi5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpET01TZWxlY3Rpb246OmdldFJhbmdlQXQpOiBSZW1vdmVkIG51bGxwdHIgY2hlY2sg
YWRkZWQgaW4gcjI3Mjc3Ny4KKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OnVwZGF0ZVNlbGVjdGlvbkZvck1vdXNlRG93bkRp
c3BhdGNoaW5nU2VsZWN0U3RhcnQpOiBGaXhlZCB3aGF0IGlzIG5vdyBiZWxpZXZlZCB0byBiZQor
ICAgICAgICB0aGUgcm9vdCBjYXVzZSBvZiB0aGUgYnVnIDIyMTc4Ni4KKwogMjAyMS0wMi0xMiAg
SmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBbTWFjXSBVbmFibGUg
dG8gcGxheSBXZWJNL09wdXMgZ2VuZXJhdGVkIGZyb20gQ2hyb21lIE1lZGlhUmVjb3JkZXIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmNwcAppbmRleCAwZTlhYmM4N2I5ZDkyZDE0MzQ4YmE1
YTI2ZjUyYzkyMDAzZTdmMjIyLi5mODliYzZjYWRjYzE1YTgyMTc0NzIxNzU4Y2M0ZDBkODdkOGRm
Y2U1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuY3BwCkBAIC0xMjYsNiArMTI2LDgg
QEAgQUxXQVlTX0lOTElORSBOb2RlVmVjdG9yIENvbnRhaW5lck5vZGU6OnJlbW92ZUFsbENoaWxk
cmVuV2l0aFNjcmlwdEFzc2VydGlvbihDaGkKICAgICAgICAgICAgIHdpbGxDcmVhdGVQb3NzaWJs
eU9ycGhhbmVkVHJlZUJ5UmVtb3ZhbChjaGlsZC5nZXQoKSk7CiAgICAgfQogCisgICAgQVNTRVJU
X1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIWRvY3VtZW50KCkuc2VsZWN0aW9uKCkuc2VsZWN0
aW9uKCkuaXNPcnBoYW4oKSk7CisKICAgICBpZiAoZGVmZXJDaGlsZHJlbkNoYW5nZWQgPT0gRGVm
ZXJDaGlsZHJlbkNoYW5nZWQ6Ok5vKQogICAgICAgICBjaGlsZHJlbkNoYW5nZWQoQ29udGFpbmVy
Tm9kZTo6Q2hpbGRDaGFuZ2UgeyBDaGlsZENoYW5nZTo6VHlwZTo6QWxsQ2hpbGRyZW5SZW1vdmVk
LCBudWxscHRyLCBudWxscHRyLCBzb3VyY2UgfSk7CiAKQEAgLTE5Miw2ICsxOTQsOCBAQCBBTFdB
WVNfSU5MSU5FIGJvb2wgQ29udGFpbmVyTm9kZTo6cmVtb3ZlTm9kZVdpdGhTY3JpcHRBc3NlcnRp
b24oTm9kZSYgY2hpbGRUb1JlbQogICAgIGlmIChzb3VyY2UgPT0gQ2hpbGRDaGFuZ2U6OlNvdXJj
ZTo6QVBJICYmIHN1YnRyZWVPYnNlcnZhYmlsaXR5ID09IFJlbW92ZWRTdWJ0cmVlT2JzZXJ2YWJp
bGl0eTo6TWF5YmVPYnNlcnZhYmxlQnlSZWZQdHIpCiAgICAgICAgIHdpbGxDcmVhdGVQb3NzaWJs
eU9ycGhhbmVkVHJlZUJ5UmVtb3ZhbCgmY2hpbGRUb1JlbW92ZSk7CiAKKyAgICBBU1NFUlRfV0lU
SF9TRUNVUklUWV9JTVBMSUNBVElPTighZG9jdW1lbnQoKS5zZWxlY3Rpb24oKS5zZWxlY3Rpb24o
KS5pc09ycGhhbigpKTsKKwogICAgIC8vIEZJWE1FOiBNb3ZlIGNoaWxkcmVuQ2hhbmdlZCBpbnRv
IFNjcmlwdERpc2FsbG93ZWRTY29wZSBibG9jay4KICAgICBjaGlsZHJlbkNoYW5nZWQoY2hhbmdl
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggMzhlYzE4YjlmNGI2YjcyMjlkNGUyZmVk
YzQzNDdiYzY4YjZjYTAxZC4uMWI5ZjcyNjYzOTIxMDg1YzU4ZDA4YjViMDc5OTY1NjlmZWE2NjJh
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC03ODEsNiArNzgxLDcgQEAgRG9jdW1lbnQ6
On5Eb2N1bWVudCgpCiAKIHZvaWQgRG9jdW1lbnQ6OnJlbW92ZWRMYXN0UmVmKCkKIHsKKyAgICBT
Y3JpcHREaXNhbGxvd2VkU2NvcGU6OkluTWFpblRocmVhZCBzY3JpcHREaXNhbGxvd2VkU2NvcGU7
CiAgICAgQVNTRVJUKCFtX2RlbGV0aW9uSGFzQmVndW4pOwogICAgIGlmIChtX3JlZmVyZW5jaW5n
Tm9kZUNvdW50KSB7CiAgICAgICAgIC8vIE5vZGU6OnJlbW92ZWRMYXN0UmVmIGRvZXNuJ3Qgc2V0
IHJlZkNvdW50KCkgdG8gemVybyBiZWNhdXNlIGl0J3Mgbm90IG9ic2VydmFibGUuCkBAIC04MTEs
NiArODEyLDggQEAgdm9pZCBEb2N1bWVudDo6cmVtb3ZlZExhc3RSZWYoKQogCiAgICAgICAgIGRl
dGFjaFBhcnNlcigpOwogCisgICAgICAgIFJFTEVBU0VfQVNTRVJUKG1fc2VsZWN0aW9uLT5pc05v
bmUoKSk7CisKICAgICAgICAgLy8gcmVtb3ZlRGV0YWNoZWRDaGlsZHJlbigpIGRvZXNuJ3QgYWx3
YXlzIHVucmVnaXN0ZXIgSURzLAogICAgICAgICAvLyBzbyB0ZWFyIGRvd24gc2NvcGUgaW5mb3Jt
YXRpb24gdXAgZnJvbnQgdG8gYXZvaWQgaGF2aW5nCiAgICAgICAgIC8vIHN0YWxlIHJlZmVyZW5j
ZXMgaW4gdGhlIG1hcC4KQEAgLTI1OTMsNiArMjU5Niw4IEBAIHZvaWQgRG9jdW1lbnQ6OndpbGxC
ZVJlbW92ZWRGcm9tRnJhbWUoKQogICAgIH0KICAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX1NFQ1VS
SVRZX0lNUExJQ0FUSU9OKCFtX2ZyYW1lIHx8ICFtX2ZyYW1lLT50cmVlKCkuY2hpbGRDb3VudCgp
KTsKIAorICAgIFNjcmlwdERpc2FsbG93ZWRTY29wZTo6SW5NYWluVGhyZWFkIHNjcmlwdERpc2Fs
bG93ZWRTY29wZTsKKwogICAgIGlmIChtX2RvbVdpbmRvdyAmJiBtX2ZyYW1lKQogICAgICAgICBt
X2RvbVdpbmRvdy0+d2lsbERldGFjaERvY3VtZW50RnJvbUZyYW1lKCk7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwIGIvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAKaW5kZXggY2FmYzE0NGVhYzY5OWRhNzNkYzk4
ZTJmZjVlZjVkNjJhZTkxNTJlOC4uZDkzYjExNjRlY2NjOGM0MzQ4Mjk0ZmUwM2I3YmQyNDFkMzhl
YTBhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAKQEAgLTY1
LDYgKzY1LDcgQEAKICNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCiAjaW5jbHVkZSAiUmVuZGVyV2lk
Z2V0LmgiCiAjaW5jbHVkZSAiUmVuZGVyZWRQb3NpdGlvbi5oIgorI2luY2x1ZGUgIlNjcmlwdERp
c2FsbG93ZWRTY29wZS5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiU2ltcGxl
UmFuZ2UuaCIKICNpbmNsdWRlICJTcGF0aWFsTmF2aWdhdGlvbi5oIgpAQCAtMzMzLDE3ICszMzQs
MTEgQEAgYm9vbCBGcmFtZVNlbGVjdGlvbjo6c2V0U2VsZWN0aW9uV2l0aG91dFVwZGF0aW5nQXBw
ZWFyYW5jZShjb25zdCBWaXNpYmxlU2VsZWN0aW8KICAgICBpZiAoc2hvdWxkQWx3YXlzVXNlRGly
ZWN0aW9uYWxTZWxlY3Rpb24obV9kb2N1bWVudC5nZXQoKSkpCiAgICAgICAgIG5ld1NlbGVjdGlv
bi5zZXRJc0RpcmVjdGlvbmFsKHRydWUpOwogCi0gICAgaWYgKCFtX2RvY3VtZW50IHx8ICFtX2Rv
Y3VtZW50LT5mcmFtZSgpKSB7Ci0gICAgICAgIG1fc2VsZWN0aW9uID0gbmV3U2VsZWN0aW9uOwot
ICAgICAgICB1cGRhdGVBc3NvY2lhdGVkTGl2ZVJhbmdlKCk7Ci0gICAgICAgIHJldHVybiBmYWxz
ZTsKLSAgICB9Ci0KICAgICAvLyA8aHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjM0NjQ+OiBJbmZpbml0ZSByZWN1cnNpb24gYXQgRnJhbWVTZWxlY3Rpb246OnNldFNlbGVj
dGlvbgogICAgIC8vIGlmIGRvY3VtZW50LT5mcmFtZSgpID09IG1fZG9jdW1lbnQtPmZyYW1lKCkg
d2UgY2FuIGdldCBpbnRvIGFuIGluZmluaXRlIGxvb3AKICAgICBpZiAoRG9jdW1lbnQqIG5ld1Nl
bGVjdGlvbkRvY3VtZW50ID0gbmV3U2VsZWN0aW9uLmJhc2UoKS5kb2N1bWVudCgpKSB7CiAgICAg
ICAgIGlmIChSZWZQdHI8RnJhbWU+IG5ld1NlbGVjdGlvbkZyYW1lID0gbmV3U2VsZWN0aW9uRG9j
dW1lbnQtPmZyYW1lKCkpIHsKLSAgICAgICAgICAgIGlmIChuZXdTZWxlY3Rpb25GcmFtZSAhPSBt
X2RvY3VtZW50LT5mcmFtZSgpICYmIG5ld1NlbGVjdGlvbkRvY3VtZW50ICE9IG1fZG9jdW1lbnQp
IHsKKyAgICAgICAgICAgIGlmIChtX2RvY3VtZW50ICYmIG5ld1NlbGVjdGlvbkZyYW1lICE9IG1f
ZG9jdW1lbnQtPmZyYW1lKCkgJiYgbmV3U2VsZWN0aW9uRG9jdW1lbnQgIT0gbV9kb2N1bWVudCkg
ewogICAgICAgICAgICAgICAgIG5ld1NlbGVjdGlvbkRvY3VtZW50LT5zZWxlY3Rpb24oKS5zZXRT
ZWxlY3Rpb24obmV3U2VsZWN0aW9uLCBvcHRpb25zLCBBWFRleHRTdGF0ZUNoYW5nZUludGVudCgp
LCBhbGlnbiwgZ3JhbnVsYXJpdHkpOwogICAgICAgICAgICAgICAgIC8vIEl0J3MgcG9zc2libGUg
dGhhdCBkdXJpbmcgdGhlIGFib3ZlIHNldCBzZWxlY3Rpb24sIHRoaXMgRnJhbWVTZWxlY3Rpb24g
aGFzIGJlZW4gbW9kaWZpZWQgYnkKICAgICAgICAgICAgICAgICAvLyBzZWxlY3RGcmFtZUVsZW1l
bnRJblBhcmVudElmRnVsbHlTZWxlY3RlZCwgYnV0IHRoYXQgdGhlIHNlbGVjdGlvbiBpcyBubyBs
b25nZXIgdmFsaWQgc2luY2UKQEAgLTM1NSwyNyArMzUwLDQxIEBAIGJvb2wgRnJhbWVTZWxlY3Rp
b246OnNldFNlbGVjdGlvbldpdGhvdXRVcGRhdGluZ0FwcGVhcmFuY2UoY29uc3QgVmlzaWJsZVNl
bGVjdGlvCiAgICAgICAgIH0KICAgICB9CiAKLSAgICBtX2dyYW51bGFyaXR5ID0gZ3JhbnVsYXJp
dHk7CisgICAgVmlzaWJsZVNlbGVjdGlvbiBvbGRTZWxlY3Rpb24gPSBtX3NlbGVjdGlvbjsKKyAg
ICBib29sIHdpbGxNdXRhdGVTZWxlY3Rpb24gPSBvbGRTZWxlY3Rpb24gIT0gbmV3U2VsZWN0aW9u
OworICAgIGlmICh3aWxsTXV0YXRlU2VsZWN0aW9uICYmIG1fZG9jdW1lbnQpCisgICAgICAgIG1f
ZG9jdW1lbnQtPmVkaXRvcigpLnNlbGVjdGlvbldpbGxDaGFuZ2UoKTsKIAotICAgIGlmIChjbG9z
ZVR5cGluZykKLSAgICAgICAgVHlwaW5nQ29tbWFuZDo6Y2xvc2VUeXBpbmcoKm1fZG9jdW1lbnQp
OworICAgIHsKKyAgICAgICAgU2NyaXB0RGlzYWxsb3dlZFNjb3BlOjpJbk1haW5UaHJlYWQgc2Ny
aXB0RGlzYWxsb3dlZFNjb3BlOworICAgICAgICBpZiAobmV3U2VsZWN0aW9uLmlzT3JwaGFuKCkp
IHsKKyAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAgICAgY2xlYXIo
KTsKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQogCi0gICAgaWYgKHNob3Vs
ZENsZWFyVHlwaW5nU3R5bGUpCi0gICAgICAgIGNsZWFyVHlwaW5nU3R5bGUoKTsKKyAgICAgICAg
aWYgKCFtX2RvY3VtZW50IHx8ICFtX2RvY3VtZW50LT5mcmFtZSgpKSB7CisgICAgICAgICAgICBt
X3NlbGVjdGlvbiA9IG5ld1NlbGVjdGlvbjsKKyAgICAgICAgICAgIHVwZGF0ZUFzc29jaWF0ZWRM
aXZlUmFuZ2UoKTsKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQogCi0gICAg
VmlzaWJsZVNlbGVjdGlvbiBvbGRTZWxlY3Rpb24gPSBtX3NlbGVjdGlvbjsKLSAgICBib29sIGRp
ZE11dGF0ZVNlbGVjdGlvbiA9IG9sZFNlbGVjdGlvbiAhPSBuZXdTZWxlY3Rpb247Ci0gICAgaWYg
KGRpZE11dGF0ZVNlbGVjdGlvbikKLSAgICAgICAgbV9kb2N1bWVudC0+ZWRpdG9yKCkuc2VsZWN0
aW9uV2lsbENoYW5nZSgpOworICAgICAgICBpZiAoY2xvc2VUeXBpbmcpCisgICAgICAgICAgICBU
eXBpbmdDb21tYW5kOjpjbG9zZVR5cGluZygqbV9kb2N1bWVudCk7CiAKLSAgICBtX3NlbGVjdGlv
biA9IG5ld1NlbGVjdGlvbjsKLSAgICB1cGRhdGVBc3NvY2lhdGVkTGl2ZVJhbmdlKCk7CisgICAg
ICAgIGlmIChzaG91bGRDbGVhclR5cGluZ1N0eWxlKQorICAgICAgICAgICAgY2xlYXJUeXBpbmdT
dHlsZSgpOworCisgICAgICAgIG1fZ3JhbnVsYXJpdHkgPSBncmFudWxhcml0eTsKKyAgICAgICAg
bV9zZWxlY3Rpb24gPSBuZXdTZWxlY3Rpb247CisgICAgICAgIHVwZGF0ZUFzc29jaWF0ZWRMaXZl
UmFuZ2UoKTsKKyAgICB9CiAKICAgICAvLyBTZWxlY3Rpb24gb2Zmc2V0cyBzaG91bGQgaW5jcmVh
c2Ugd2hlbiBMRiBpcyBpbnNlcnRlZCBiZWZvcmUgdGhlIGNhcmV0IGluIEluc2VydExpbmVCcmVh
a0NvbW1hbmQuIFNlZSA8aHR0cHM6Ly93ZWJraXQub3JnL2IvNTYwNjE+LgogICAgIGlmIChIVE1M
VGV4dEZvcm1Db250cm9sRWxlbWVudCogdGV4dENvbnRyb2wgPSBlbmNsb3NpbmdUZXh0Rm9ybUNv
bnRyb2wobmV3U2VsZWN0aW9uLnN0YXJ0KCkpKQogICAgICAgICB0ZXh0Q29udHJvbC0+c2VsZWN0
aW9uQ2hhbmdlZChvcHRpb25zLmNvbnRhaW5zKEZpcmVTZWxlY3RFdmVudCkpOwogCi0gICAgaWYg
KCFkaWRNdXRhdGVTZWxlY3Rpb24pCisgICAgaWYgKCF3aWxsTXV0YXRlU2VsZWN0aW9uKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBzZXRDYXJldFJlY3ROZWVkc1VwZGF0ZSgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlU2VsZWN0aW9uLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVNlbGVjdGlvbi5jcHAKaW5kZXggYmFkNTM1NzNi
YTlkNzlkZWQ5ZDFiNTJmMDZiMWViODNkNWMwOGU4OS4uMDBkNWY4N2E0NTUyNmJjYWVmOGNiZWM5
OWYzZmQ3OWM1MGE3MjBhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNp
YmxlU2VsZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVTZWxl
Y3Rpb24uY3BwCkBAIC0xMzMsNiArMTMzLDE3IEBAIHZvaWQgVmlzaWJsZVNlbGVjdGlvbjo6c2V0
RXh0ZW50KGNvbnN0IFZpc2libGVQb3NpdGlvbiYgdmlzaWJsZVBvc2l0aW9uKQogICAgIHNldEV4
dGVudCh2aXNpYmxlUG9zaXRpb24uZGVlcEVxdWl2YWxlbnQoKSk7CiB9CiAKK2Jvb2wgVmlzaWJs
ZVNlbGVjdGlvbjo6aXNPcnBoYW4oKSBjb25zdAoreworICAgIGlmIChtX2Jhc2UuaXNPcnBoYW4o
KSB8fCBtX2V4dGVudC5pc09ycGhhbigpIHx8IG1fc3RhcnQuaXNPcnBoYW4oKSB8fCBtX2VuZC5p
c09ycGhhbigpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICBpZiAobV9hbmNob3IuaXNPcnBo
YW4oKSAmJiBtX2FuY2hvci5kb2N1bWVudCgpLT5zZXR0aW5ncygpLmxpdmVSYW5nZVNlbGVjdGlv
bkVuYWJsZWQoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgaWYgKG1fZm9jdXMuaXNPcnBo
YW4oKSAmJiBtX2ZvY3VzLmRvY3VtZW50KCktPnNldHRpbmdzKCkubGl2ZVJhbmdlU2VsZWN0aW9u
RW5hYmxlZCgpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisK
IE9wdGlvbmFsPFNpbXBsZVJhbmdlPiBWaXNpYmxlU2VsZWN0aW9uOjpmaXJzdFJhbmdlKCkgY29u
c3QKIHsKICAgICBpZiAoaXNOb25lT3JPcnBoYW5lZCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9WaXNpYmxlU2VsZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L1Zpc2libGVTZWxlY3Rpb24uaAppbmRleCBlNmU4ZjUxNGE2ZTZiMzc2ODQ3MjliZTRhMjYyODli
MjhjMDRmZTFjLi43YWJlYWZkNTc1MTI3YTE0YmJkNTQxYzQ4MTNhNTg1Mzg3MjYwMjk2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVTZWxlY3Rpb24uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVTZWxlY3Rpb24uaApAQCAtODYsNiArODYsNyBA
QCBwdWJsaWM6CiAgICAgYm9vbCBpc0NhcmV0T3JSYW5nZSgpIGNvbnN0IHsgcmV0dXJuICFpc05v
bmUoKTsgfQogICAgIGJvb2wgaXNOb25PcnBoYW5lZFJhbmdlKCkgY29uc3QgeyByZXR1cm4gaXNS
YW5nZSgpICYmICFzdGFydCgpLmlzT3JwaGFuKCkgJiYgIWVuZCgpLmlzT3JwaGFuKCk7IH0KICAg
ICBib29sIGlzTm9uZU9yT3JwaGFuZWQoKSBjb25zdCB7IHJldHVybiBpc05vbmUoKSB8fCBzdGFy
dCgpLmlzT3JwaGFuKCkgfHwgZW5kKCkuaXNPcnBoYW4oKTsgfQorICAgIGJvb2wgaXNPcnBoYW4o
KSBjb25zdDsKIAogICAgIGJvb2wgaXNCYXNlRmlyc3QoKSBjb25zdCB7IHJldHVybiBtX2FuY2hv
cklzRmlyc3Q7IH0KICAgICBib29sIGlzRGlyZWN0aW9uYWwoKSBjb25zdCB7IHJldHVybiBtX2lz
RGlyZWN0aW9uYWw7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NU2VsZWN0
aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NU2VsZWN0aW9uLmNwcAppbmRleCA0MTE2
MWM5ZjJjYzA2NDcyZDY0N2IzMjg4OTA5OGE3OWFlZmUxZTQ1Li4wZGY3ZDliNjEwNzc3YzY0ZGRh
NzVhYTAyNjJmNzQ5MmJhMDBhOTIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RP
TVNlbGVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01TZWxlY3Rpb24uY3Bw
CkBAIC0zNjcsMTEgKzM2Nyw3IEBAIEV4Y2VwdGlvbk9yPFJlZjxSYW5nZT4+IERPTVNlbGVjdGlv
bjo6Z2V0UmFuZ2VBdCh1bnNpZ25lZCBpbmRleCkKICAgICAgICAgcmV0dXJuIGZyYW1lLT5zZWxl
Y3Rpb24oKS5hc3NvY2lhdGVkTGl2ZVJhbmdlKCkucmVsZWFzZU5vbk51bGwoKTsKICAgICBpZiAo
YXV0byBzaGFkb3dBbmNlc3RvciA9IHNlbGVjdGlvblNoYWRvd0FuY2VzdG9yKGZyYW1lKSkKICAg
ICAgICAgcmV0dXJuIGNyZWF0ZUxpdmVSYW5nZShtYWtlU2ltcGxlUmFuZ2UoKm1ha2VCb3VuZGFy
eVBvaW50QmVmb3JlTm9kZSgqc2hhZG93QW5jZXN0b3IpKSk7Ci0gICAgYXV0byBzaW1wbGVSYW5n
ZSA9IGZyYW1lLT5zZWxlY3Rpb24oKS5zZWxlY3Rpb24oKS5maXJzdFJhbmdlKCk7Ci0gICAgQVNT
RVJUKHNpbXBsZVJhbmdlKTsgLy8gc2VsZWN0aW9uIGlzIG9ycGhhbmVkIGJ1dCB0aGlzIHNob3Vs
ZG4ndCBoYXBwZW4uCi0gICAgaWYgKCFzaW1wbGVSYW5nZSkKLSAgICAgICAgcmV0dXJuIEV4Y2Vw
dGlvbiB7IEluZGV4U2l6ZUVycm9yIH07Ci0gICAgcmV0dXJuIGNyZWF0ZUxpdmVSYW5nZSgqc2lt
cGxlUmFuZ2UpOworICAgIHJldHVybiBjcmVhdGVMaXZlUmFuZ2UoKmZyYW1lLT5zZWxlY3Rpb24o
KS5zZWxlY3Rpb24oKS5maXJzdFJhbmdlKCkpOwogfQogCiB2b2lkIERPTVNlbGVjdGlvbjo6cmVt
b3ZlQWxsUmFuZ2VzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5k
bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCBhYjI0
NjA4NDgzMzhmZTViOGE2MGVmNjk1NzQ0MTRmMWY1ZjJjMDZlLi5jYjZhZTNlYTY5ZGYwZmZiMDJh
MjI2OTQ1NjFkNjEyZWM3NjFiZjVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2
ZW50SGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3Bw
CkBAIC00NjYsNiArNDY2LDExIEBAIGJvb2wgRXZlbnRIYW5kbGVyOjp1cGRhdGVTZWxlY3Rpb25G
b3JNb3VzZURvd25EaXNwYXRjaGluZ1NlbGVjdFN0YXJ0KE5vZGUqIHRhcmdlCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKICAgICB9CiAKKyAgICBpZiAoc2VsZWN0aW9uLmlzT3JwaGFuKCkpIHsKKyAg
ICAgICAgbV9tb3VzZURvd25NYXlTdGFydFNlbGVjdCA9IGZhbHNlOworICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgfQorCiAgICAgaWYgKHNlbGVjdGlvbi5pc1JhbmdlKCkpCiAgICAgICAgIG1f
c2VsZWN0aW9uSW5pdGlhdGlvblN0YXRlID0gRXh0ZW5kZWRTZWxlY3Rpb247CiAgICAgZWxzZSB7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggNGMxYzk3N2IwODc2NTMyNTM1MjhhOTE1ZmFjOWRkOWNmZWZjYmRiNS4uZTk2ZGFh
NGRiMzhhYTM5ZDEyMWQwZGI3YjViZTM0MWE3NDZmMGI3YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBA
CisyMDIxLTAyLTE1ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAg
IEV2ZW50SGFuZGxlcjo6dXBkYXRlU2VsZWN0aW9uRm9yTW91c2VEb3duRGlzcGF0Y2hpbmdTZWxl
Y3RTdGFydCBzaG91bGQgbm90IHVzZSBhbiBvcnBoYW5lZCBzZWxlY3Rpb24KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTk0MgorCisgICAgICAgIFJl
dmlld2VkIGJ5IFdlbnNvbiBIc2llaC4KKworICAgICAgICBBZGRlZCBhIHJlZ3Jlc3Npb24gdGVz
dCBmb3IgdGhlIGJ1ZyAyMjE3ODYgLyByMjcyNzc3LgorCisgICAgICAgIEFsc28gdXBkYXRlZCBh
IHRlc3QgaW1wb3J0ZWQgZnJvbSBibGluayB0byBleHBlY3QgcmFuZ2VDb3VudCBvZiAwIGluc3Rl
YWQgb2YgMQorICAgICAgICBzaW5jZSB3ZSBubyBsb25nZXIgdXBkYXRlIHRoZSBzZWxlY3Rpb24g
d2hlbiB0aGUgdGFyZ2V0IG5vZGUgaGFzIGJlZW4gcmVtb3ZlZAorICAgICAgICBkdXJpbmcgc2Vs
ZWN0c3RhcnQuCisKKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9jbGljay1zZWxlY3Rpb24t
d2l0aC1zZWxlY3RzdGFydC1ub2RlLXJlbW92YWwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9jbGljay1zZWxlY3Rpb24td2l0aC1zZWxlY3RzdGFydC1u
b2RlLXJlbW92YWwuaHRtbDogQWRkZWQuCisgICAgICAgICogaW1wb3J0ZWQvYmxpbmsvZWRpdGlu
Zy9zZWxlY3Rpb24vc2VsZWN0c3RhcnQtZXZlbnQtY3Jhc2guaHRtbDoKKwogMjAyMS0wMi0xMiAg
QWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFJF
R1JFU1NJT04gKHIyNzI3ODQpOiBbbWFjT1MgUmVsZWFzZV0gZmFzdC9hbmltYXRpb24vcmVxdWVz
dC1hbmltYXRpb24tZnJhbWUtdGhyb3R0bGluZy1sb3dQb3dlck1vZGUuaHRtbCBpcyBhIGZsYWt5
IGZhaWx1cmUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2NsaWNr
LXNlbGVjdGlvbi13aXRoLXNlbGVjdHN0YXJ0LW5vZGUtcmVtb3ZhbC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jbGljay1zZWxlY3Rpb24td2l0aC1zZWxlY3Rz
dGFydC1ub2RlLXJlbW92YWwtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIzYzhlZTI2ZWZhMmUz
ZWFjM2QwOGYwNjEwOWJiMDRjZTQxYjEzMmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9jbGljay1zZWxlY3Rpb24td2l0aC1zZWxlY3RzdGFydC1ub2Rl
LXJlbW92YWwtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK1RoaXMgdGVzdHMgcmVtb3Zp
bmcgdGhlIHRhcmdldCBvZiBtb3VzZSBkb3duIGR1cmluZyBzZWxlY3RzdGFydC4gV2ViS2l0IHNo
b3VsZCBub3Qgc2V0IHRoZSBzZWxlY3Rpb24ncyBlbmRwb2ludHMgdG8gbmV3bHkgZGlzY29ubmVj
dGVkIG5vZGVzIGV2ZW4gaW4gdGhpcyBjYXNlLicKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCisKK1BBU1MgZ2V0U2VsZWN0aW9uKCkucmFuZ2VDb3VudCBpcyAwCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKK0NsaWNrIHRoZSBib3ggYmVsb3cu
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jbGljay1zZWxlY3Rp
b24td2l0aC1zZWxlY3RzdGFydC1ub2RlLXJlbW92YWwuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL2NsaWNrLXNlbGVjdGlvbi13aXRoLXNlbGVjdHN0YXJ0LW5vZGUtcmVtb3Zh
bC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmJmOTgyNzkzYTExZTdlNmFiODI3NzU1OWZkZWZlOTZkMTdlZWFm
MWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9jbGlj
ay1zZWxlY3Rpb24td2l0aC1zZWxlY3RzdGFydC1ub2RlLXJlbW92YWwuaHRtbApAQCAtMCwwICsx
LDM1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8cCBpZD0iY29udGFpbmVy
Ij5DbGljayB0aGUgYm94IGJlbG93LjwvcD4KKzxkaXYgaWQ9ImVkaXRvciIgc3R5bGU9ImJvcmRl
cjogc29saWQgMnB4IHJlZDsgcGFkZGluZzogMnB4OyB3aWR0aDogMTAwcHg7IGhlaWdodDogMTAw
cHgiIGNvbnRlbnRlZGl0YWJsZT5hPC9kaXY+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworanNUZXN0SXNBc3luYyA9IHRydWU7CisK
K2Rlc2NyaXB0aW9uKGBUaGlzIHRlc3RzIHJlbW92aW5nIHRoZSB0YXJnZXQgb2YgbW91c2UgZG93
biBkdXJpbmcgc2VsZWN0c3RhcnQuCitXZWJLaXQgc2hvdWxkIG5vdCBzZXQgdGhlIHNlbGVjdGlv
bidzIGVuZHBvaW50cyB0byBuZXdseSBkaXNjb25uZWN0ZWQgbm9kZXMgZXZlbiBpbiB0aGlzIGNh
c2UuJ2ApOworCitlZGl0b3IuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgKCkgPT4gewor
ICAgIGdldFNlbGVjdGlvbigpLnJlbW92ZUFsbFJhbmdlcygpOworICAgIGVkaXRvci5hZGRFdmVu
dExpc3RlbmVyKCdzZWxlY3RzdGFydCcsICgpID0+IHsKKyAgICAgICAgZWRpdG9yLnJlbW92ZSgp
OworICAgIH0sIHtvbmNlOiB0cnVlfSk7CisgICAgc2V0VGltZW91dCgoKSA9PiB7CisgICAgICAg
IHNob3VsZEJlKCdnZXRTZWxlY3Rpb24oKS5yYW5nZUNvdW50JywgJzAnKTsKKyAgICAgICAgaWYg
KGdldFNlbGVjdGlvbigpLnJhbmdlQ291bnQpCisgICAgICAgICAgICBjb25zb2xlLmxvZyhnZXRT
ZWxlY3Rpb24oKS5nZXRSYW5nZUF0KDApKTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
fSwgNSk7Cit9KTsKKworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChlZGl0b3IpOworCitzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworCis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L2JsaW5rL2VkaXRpbmcvc2VsZWN0aW9uL3NlbGVjdHN0YXJ0LWV2ZW50LWNyYXNoLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC9ibGluay9lZGl0aW5nL3NlbGVjdGlvbi9zZWxlY3RzdGFydC1l
dmVudC1jcmFzaC5odG1sCmluZGV4IDI1M2Y4N2Y0ZTdmYTM1MTliZWIyNTdjNGQ2M2M4NjE2MjM1
MTFhNzUuLmMzZDc2ZGU2MzVlMmNhM2Q5ZGQ3M2UyZTkyZGE2MTZjZWY4OGMyZTkgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL2JsaW5rL2VkaXRpbmcvc2VsZWN0aW9uL3NlbGVjdHN0
YXJ0LWV2ZW50LWNyYXNoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvYmxpbmsvZWRp
dGluZy9zZWxlY3Rpb24vc2VsZWN0c3RhcnQtZXZlbnQtY3Jhc2guaHRtbApAQCAtMTQsNiArMTQs
NiBAQCB0ZXN0KGZ1bmN0aW9uKCkgewogICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKG9uZS5v
ZmZzZXRMZWZ0LCBvbmUub2Zmc2V0VG9wKTsKICAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsK
ICAgICB2YXIgc2VsZWN0aW9uID0gZ2V0U2VsZWN0aW9uKCk7Ci0gICAgYXNzZXJ0X2VxdWFscyhz
ZWxlY3Rpb24ucmFuZ2VDb3VudCwgMSk7CisgICAgYXNzZXJ0X2VxdWFscyhzZWxlY3Rpb24ucmFu
Z2VDb3VudCwgMCk7CiB9KTsKIDwvc2NyaXB0Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>