<?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>221929</bug_id>
          
          <creation_ts>2021-02-15 14:48:50 -0800</creation_ts>
          <short_desc>Clean up WKWebView media API</short_desc>
          <delta_ts>2021-05-12 05:41:28 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</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=225696</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="Kate Cheney">katherine_cheney</reporter>
          <assigned_to name="Kate Cheney">katherine_cheney</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>peng.liu6</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1729396</commentid>
    <comment_count>0</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-02-15 14:48:50 -0800</bug_when>
    <thetext>We should make some changes to some new WKWebView media API after the review process</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729402</commentid>
    <comment_count>1</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-02-15 14:56:04 -0800</bug_when>
    <thetext>&lt;rdar://problem/73460121&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729440</commentid>
    <comment_count>2</comment_count>
      <attachid>420389</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-02-15 16:02:05 -0800</bug_when>
    <thetext>Created attachment 420389
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729557</commentid>
    <comment_count>3</comment_count>
      <attachid>420389</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-02-15 23:16:42 -0800</bug_when>
    <thetext>Comment on attachment 420389
Patch

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

&gt; Source/WebKit/ChangeLog:14
&gt; +        better Swift imports.

Out of curiosity, what does it give in terms of Swift?
For ObjC, it gives pretty long names.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729846</commentid>
    <comment_count>4</comment_count>
      <attachid>420514</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-02-16 11:53:11 -0800</bug_when>
    <thetext>Created attachment 420514
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729847</commentid>
    <comment_count>5</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-02-16 11:53:48 -0800</bug_when>
    <thetext>(In reply to youenn fablet from comment #3)
&gt; Comment on attachment 420389 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=420389&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/ChangeLog:14
&gt; &gt; +        better Swift imports.
&gt; 
&gt; Out of curiosity, what does it give in terms of Swift?
&gt; For ObjC, it gives pretty long names.

It will give: 
func pauseAllMediaPlayback(completionHandler: (() -&gt; Void)?

instead of

func pauseAllMediaPlayback((() -&gt; Void)?)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729883</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-02-16 12:59:47 -0800</bug_when>
    <thetext>Committed r272923: &lt;https://commits.webkit.org/r272923&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 420514.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420389</attachid>
            <date>2021-02-15 16:02:05 -0800</date>
            <delta_ts>2021-02-16 11:53:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221929-20210215160204.patch</filename>
            <type>text/plain</type>
            <size>26659</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyODg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGVhNzYzOTA1Y2MxMDM0M2Nj
YWNjOTcyOTM0NWE1MDQ5N2UwMTVlNmIuLmE1YzBlNzg4MDYzMjJlZDgyZmMwMDgxMDVjNzViYWZl
N2VlMWQ5ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDkgQEAKKzIwMjEtMDItMTUgIEthdGUgQ2hl
bmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgQ2xlYW4gdXAgV0tX
ZWJWaWV3IG1lZGlhIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjIxOTI5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MzQ2MDEyMT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBIGZldyBmaXhlcyB0
aGF0IGNhbWUgZnJvbSBBUEkgcmV2aWV3OgorCisgICAgICAgIDEpIENoYW5nZSBjbG9zZUFsbE1l
ZGlhUHJlc2VudGF0aW9ucyB0byBiZQorICAgICAgICBjbG9zZUFsbE1lZGlhUHJlc2VudGF0aW9u
c1dpdGhDb21wbGV0aW9uSGFuZGxlci4gRGl0dG8gZm9yCisgICAgICAgIHBhdXNlQWxsTWVkaWFQ
bGF5YmFjayBhbmQgcmVxdWVzdE1lZGlhUGxheWJhY2tTdGF0ZS4gVGhpcyBsZWFkcyB0bworICAg
ICAgICBiZXR0ZXIgU3dpZnQgaW1wb3J0cy4KKworICAgICAgICAyKSBDb21iaW5lIHN1c3BlbmRB
bGxNZWRpYVBsYXliYWNrIGFuZCByZXN1bWVBbGxNZWRpYVBsYXliYWNrIGludG8gYQorICAgICAg
ICBzaW5nbGUgc2V0QWxsTWVkaWFQbGF5YmFja1N1c3BlbmRlZDpjb21wbGV0aW9uSGFuZGxlciBm
dW5jdGlvbiB3aGljaAorICAgICAgICB0YWtlcyBhIGJvb2xlYW4uIFRoaXMgcmVpbmZvcmNlcyB0
aGUgcmVsYXRpb25zaGlwIGJldHdlZW4KKyAgICAgICAgc3VzcGVuZC9yZXN1bWUgYW5kIGRpZmZl
cmVudGlhdGVzIHRoZW0gZnJvbSBwYXVzZS4KKworICAgICAgICBBbmQgYSBmZXcgb3RoZXIgZHJp
dmUtYnkgZml4ZXMsIGxpa2UgbW92aW5nIFdLTWVkaWFQbGF5YmFja1N0YXRlIHRvCisgICAgICAg
IHRoZSBXS1dlYlZpZXcgY2xhc3MgYmVjYXVzZSBpdCBpcyB1bmxpa2VseSB0byBiZSB1c2VkIG91
dHNpZGUgb2YgdGhhdAorICAgICAgICBjb250ZXh0LCBjaGFuZ2luZyBOU1VJbnRlZ2VyIC0+IE5T
SW50ZWdlciwgYW5kIGNoYW5naW5nIHRoZSBvcmRlcmluZworICAgICAgICBvZiB0aGUgV0tNZWRp
YVBsYXliYWNrU3RhdGUgZW51bSB0byBiZSBtb3JlIG5hdHVyYWwuCisKKyAgICAgICAgTm8gbmV3
IHRlc3RzLiBObyBiZWhhdmlvciBjaGFuZ2UuIENvdmVyZWQgYnkgZXhpc3RpbmcgQVBJIHRlc3Rz
LgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS01lZGlhUGxheWJhY2tTdGF0ZS5o
OiBSZW1vdmVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dL
V2ViVmlldyBjbG9zZUFsbE1lZGlhUHJlc2VudGF0aW9uc1dpdGhDb21wbGV0aW9uSGFuZGxlcjpd
KToKKyAgICAgICAgKC1bV0tXZWJWaWV3IHBhdXNlQWxsTWVkaWFQbGF5YmFja1dpdGhDb21wbGV0
aW9uSGFuZGxlcjpdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IHNldEFsbE1lZGlhUGxheWJhY2tT
dXNwZW5kZWQ6Y29tcGxldGlvbkhhbmRsZXI6XSk6CisgICAgICAgICh0b1dLTWVkaWFQbGF5YmFj
a1N0YXRlKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IHJlcXVlc3RNZWRpYVBsYXliYWNrU3RhdGVX
aXRoQ29tcGxldGlvbkhhbmRsZXI6XSk6CisgICAgICAgICgtW1dLV2ViVmlldyBfY2xvc2VBbGxN
ZWRpYVByZXNlbnRhdGlvbnNdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9zdG9wQWxsTWVkaWFQ
bGF5YmFja10pOgorICAgICAgICAoLVtXS1dlYlZpZXcgX3N1c3BlbmRBbGxNZWRpYVBsYXliYWNr
XSk6CisgICAgICAgICgtW1dLV2ViVmlldyBfcmVzdW1lQWxsTWVkaWFQbGF5YmFja10pOgorICAg
ICAgICAoLVtXS1dlYlZpZXcgY2xvc2VBbGxNZWRpYVByZXNlbnRhdGlvbnM6XSk6IERlbGV0ZWQu
CisgICAgICAgICgtW1dLV2ViVmlldyBwYXVzZUFsbE1lZGlhUGxheWJhY2s6XSk6IERlbGV0ZWQu
CisgICAgICAgICgtW1dLV2ViVmlldyBzdXNwZW5kQWxsTWVkaWFQbGF5YmFjazpdKTogRGVsZXRl
ZC4KKyAgICAgICAgKC1bV0tXZWJWaWV3IHJlc3VtZUFsbE1lZGlhUGxheWJhY2s6XSk6IERlbGV0
ZWQuCisgICAgICAgICgtW1dLV2ViVmlldyByZXF1ZXN0TWVkaWFQbGF5YmFja1N0YXRlOl0pOiBE
ZWxldGVkLgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAy
MDIxLTAyLTE1ICBQZW5nIExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CiAKICAgICAgICAgW0dQ
VVBdIElnbm9yZSBhbiBJUEMgbWVzc2FnZSBpZiB0aGUgbWVzc2FnZSByZWNlaXZlciBoYXMgYmVl
biBkZXN0cm95ZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9Db2NvYS9X
ZWJLaXQuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9Db2NvYS9XZWJLaXQuaAppbmRleCA0
MTVkOTE2NDY1OTZjZWYyN2Y4NzE4M2Y1MmNkZTE5MjBmYjUwNGM5Li5mMDQ1OTk1OGUxM2YxYWUy
ZWNjOGZjODY5MjFjMTBkYzdkMjJiODFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9BUEkvQ29jb2EvV2ViS2l0LmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJL0NvY29h
L1dlYktpdC5oCkBAIC0zOCw3ICszOCw2IEBACiAjaW1wb3J0IDxXZWJLaXQvV0tGb3VuZGF0aW9u
Lmg+CiAjaW1wb3J0IDxXZWJLaXQvV0tGcmFtZUluZm8uaD4KICNpbXBvcnQgPFdlYktpdC9XS0hU
VFBDb29raWVTdG9yZS5oPgotI2ltcG9ydCA8V2ViS2l0L1dLTWVkaWFQbGF5YmFja1N0YXRlLmg+
CiAjaW1wb3J0IDxXZWJLaXQvV0tOYXZpZ2F0aW9uLmg+CiAjaW1wb3J0IDxXZWJLaXQvV0tOYXZp
Z2F0aW9uQWN0aW9uLmg+CiAjaW1wb3J0IDxXZWJLaXQvV0tOYXZpZ2F0aW9uRGVsZWdhdGUuaD4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS01lZGlhUGxh
eWJhY2tTdGF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLTWVkaWFQ
bGF5YmFja1N0YXRlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM4Njk3MzA3ODFj
MjgxNjEwNTk4MGFkNzY1NjkyZDlhNjFhYTI5ZDcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
TWVkaWFQbGF5YmFja1N0YXRlLmgKKysrIC9kZXYvbnVsbApAQCAtMSwzOCArMCwwIEBACi0vKgot
ICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAq
Ci0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
Ci0gKi8KLQotI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+Ci0jaW1wb3J0IDxXZWJL
aXQvV0tGb3VuZGF0aW9uLmg+Ci0KLU5TX0FTU1VNRV9OT05OVUxMX0JFR0lOCi0KLXR5cGVkZWYg
TlNfRU5VTShOU1VJbnRlZ2VyLCBXS01lZGlhUGxheWJhY2tTdGF0ZSkgewotICAgIFdLTWVkaWFQ
bGF5YmFja1N0YXRlTm9uZSwKLSAgICBXS01lZGlhUGxheWJhY2tTdGF0ZVBhdXNlZCwKLSAgICBX
S01lZGlhUGxheWJhY2tTdGF0ZVN1c3BlbmRlZCwKLSAgICBXS01lZGlhUGxheWJhY2tTdGF0ZVBs
YXlpbmcKLX0gV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19U
QkEpKTsKLQotTlNfQVNTVU1FX05PTk5VTExfRU5ECmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJWaWV3LmgKaW5kZXggMTU5NzU4N2I2Njk5MmNmYjVjNGY1ODYwODIx
ZTcwNWU5M2NiNzJkYS4uNWZiMmMxZGYyMjA5ZGU5MDk5MTkzNzk2NWYyMWUzYWJiZmZkN2Q3OCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcuaApAQCAt
MjUsOCArMjUsNiBAQAogCiAjaW1wb3J0IDxXZWJLaXQvV0tGb3VuZGF0aW9uLmg+CiAKLSNpbXBv
cnQgPFdlYktpdC9XS01lZGlhUGxheWJhY2tTdGF0ZS5oPgotCiAjaWYgVEFSR0VUX09TX0lQSE9O
RQogI2ltcG9ydCA8VUlLaXQvVUlLaXQuaD4KICNlbHNlCkBAIC02Myw2ICs2MSwxMyBAQCBXS19D
TEFTU19BVkFJTEFCTEUobWFjb3MoMTAuMTApLCBpb3MoOC4wKSkKIEBpbnRlcmZhY2UgV0tXZWJW
aWV3IDogTlNWaWV3CiAjZW5kaWYKIAordHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgV0tNZWRp
YVBsYXliYWNrU3RhdGUpIHsKKyAgICBXS01lZGlhUGxheWJhY2tTdGF0ZU5vbmUsCisgICAgV0tN
ZWRpYVBsYXliYWNrU3RhdGVQbGF5aW5nLAorICAgIFdLTWVkaWFQbGF5YmFja1N0YXRlUGF1c2Vk
LAorICAgIFdLTWVkaWFQbGF5YmFja1N0YXRlU3VzcGVuZGVkCit9IFdLX0FQSV9BVkFJTEFCTEUo
bWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CisKIC8qISBAYWJzdHJhY3QgQSBj
b3B5IG9mIHRoZSBjb25maWd1cmF0aW9uIHdpdGggd2hpY2ggdGhlIHdlYiB2aWV3IHdhcwogIGlu
aXRpYWxpemVkLiAqLwogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5LCBjb3B5KSBXS1dl
YlZpZXdDb25maWd1cmF0aW9uICpjb25maWd1cmF0aW9uOwpAQCAtMzI3LDMxICszMzIsMjcgQEAg
V0tfQ0xBU1NfQVZBSUxBQkxFKG1hY29zKDEwLjEwKSwgaW9zKDguMCkpCiAvKiEgQGFic3RyYWN0
IENsb3NlcyBhbGwgb3V0LW9mLXdpbmRvdyBtZWRpYSBwcmVzZW50YXRpb25zIGluIGEgV0tXZWJW
aWV3LgogIEBkaXNjdXNzaW9uIEluY2x1ZGVzIHBpY3R1cmUtaW4tcGljdHVyZSBhbmQgZnVsbHNj
cmVlbi4KICAqLwotLSAodm9pZCljbG9zZUFsbE1lZGlhUHJlc2VudGF0aW9uczoodm9pZCAoXl9O
dWxsYWJsZSkodm9pZCkpY29tcGxldGlvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhX
S19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKy0gKHZvaWQpY2xvc2VBbGxNZWRpYVByZXNl
bnRhdGlvbnNXaXRoQ29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF5fTnVsbGFibGUpKHZvaWQpKWNv
bXBsZXRpb25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhX
S19JT1NfVEJBKSk7CiAKIC8qISBAYWJzdHJhY3QgUGF1c2VzIG1lZGlhIHBsYXliYWNrIGluIFdL
V2ViVmlldy4KLSBAZGlzY3Vzc2lvbiBQYXVzZXMgbWVkaWEgcGxheWJhY2suIE1lZGlhIGluIHRo
ZSBwYWdlIGNhbiBiZSByZXN0YXJ0ZWQgYnkgY2FsbGluZyBwbGF5KCkgb24gYSBtZWRpYSBlbGVt
ZW50IG9yIHJlc3VtZSgpIG9uIGFuIEF1ZGlvQ29udGV4dC4KLSAqLwotLSAodm9pZClwYXVzZUFs
bE1lZGlhUGxheWJhY2s6KHZvaWQgKF5fTnVsbGFibGUpKHZvaWQpKWNvbXBsZXRpb25IYW5kbGVy
IFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7Ci0K
LS8qISBAYWJzdHJhY3QgU3VzcGVuZHMgbWVkaWEgcGxheWJhY2sgaW4gV0tXZWJWaWV3LgotIEBk
aXNjdXNzaW9uIFBhdXNlcyBtZWRpYSBwbGF5YmFjayBhbmQgYmxvY2tzIGFsbCBhdHRlbXB0cyBi
eSB0aGUgcGFnZSB0byByZXN1bWUgdW50aWwgcmVzdW1lQWxsTWVkaWFQbGF5YmFjayBpcyBjYWxs
ZWQuIFRoaXMgc2hvdWxkIGFsd2F5cyBiZSBjYWxsZWQgaW4gcGFpcnMgd2l0aCByZXN1bWVBbGxN
ZWRpYVBsYXliYWNrLgorIEBkaXNjdXNzaW9uIFBhdXNlcyBtZWRpYSBwbGF5YmFjay4gTWVkaWEg
aW4gdGhlIHBhZ2UgY2FuIGJlIHJlc3RhcnRlZCBieSBjYWxsaW5nIHBsYXkoKSBvbiBhIG1lZGlh
IGVsZW1lbnQgb3IgcmVzdW1lKCkgb24gYW4gQXVkaW9Db250ZXh0IGluIEphdmFTY3JpcHQuIEEg
dXNlciBjYW4gYWxzbyB1c2UgbWVkaWEgY29udHJvbHMgdG8gcGxheSBtZWRpYSBjb250ZW50IGFm
dGVyIGl0IGhhcyBiZWVuIHBhdXNlZC4KICAqLwotLSAodm9pZClzdXNwZW5kQWxsTWVkaWFQbGF5
YmFjazoodm9pZCAoXl9OdWxsYWJsZSkodm9pZCkpY29tcGxldGlvbkhhbmRsZXIgV0tfQVBJX0FW
QUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKy0gKHZvaWQpcGF1
c2VBbGxNZWRpYVBsYXliYWNrV2l0aENvbXBsZXRpb25IYW5kbGVyOih2b2lkICheX051bGxhYmxl
KSh2b2lkKSljb21wbGV0aW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19U
QkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogCi0vKiEgQGFic3RyYWN0IFJlc3VtZXMgbWVkaWEgcGxh
eWJhY2sgaW4gV0tXZWJWaWV3LgotIEBkaXNjdXNzaW9uIFRoaXMgc2hvdWxkIGFsd2F5cyBiZSBj
YWxsZWQgaW4gcGFpcnMgd2l0aCBzdXNwZW5kQWxsTWVkaWFQbGF5YmFjay4KLSAqLwotLSAodm9p
ZClyZXN1bWVBbGxNZWRpYVBsYXliYWNrOih2b2lkICheIF9OdWxsYWJsZSkodm9pZCkpY29tcGxl
dGlvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lP
U19UQkEpKTsKKy8qISBAYWJzdHJhY3QgU3VzcGVuZHMgb3IgcmVzdW1lcyBhbGwgbWVkaWEgcGxh
eWJhY2sgaW4gV0tXZWJWaWV3LgorICBAcGFyYW0gc3VzcGVuZGVkIFdoZXRoZXIgbWVkaWEgcGxh
eWJhY2sgc2hvdWxkIGJlIHN1c3BlbmRlZCBvciByZXN1bWVkLgorICBAZGlzY3Vzc2lvbiBJZiBz
dXNwZW5kZWQgaXMgdHJ1ZSwgdGhpcyBwYXVzZXMgbWVkaWEgcGxheWJhY2sgYW5kIGJsb2NrcyBh
bGwgYXR0ZW1wdHMgYnkgdGhlIHBhZ2Ugb3IgdGhlIHVzZXIgdG8gcmVzdW1lIHVudGlsIHNldEFs
bE1lZGlhUGxheWJhY2tTdXNwZW5kZWQgaXMgY2FsbGVkIGFnYWluIHdpdGggc3VzcGVuZGVkIHNl
dCB0byBmYWxzZS4gTWVkaWEgcGxheWJhY2sgc2hvdWxkIGFsd2F5cyBiZSBzdXNwZW5kZWQgYW5k
IHJlc3VtZWQgaW4gcGFpcnMuCisqLworLSAodm9pZClzZXRBbGxNZWRpYVBsYXliYWNrU3VzcGVu
ZGVkOihCT09MKXN1c3BlbmRlZCBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXl9OdWxsYWJsZSko
dm9pZCkpY29tcGxldGlvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJB
KSwgaW9zKFdLX0lPU19UQkEpKTsKIAogLyohIEBhYnN0cmFjdCBHZXQgdGhlIGN1cnJlbnQgbWVk
aWEgcGxheWJhY2sgc3RhdGUgb2YgYSBXS1dlYlZpZXcuCiAgQHBhcmFtIGNvbXBsZXRpb25IYW5k
bGVyIEEgYmxvY2sgdG8gaW52b2tlIHdpdGggdGhlIHJldHVybiB2YWx1ZSBvZiB0aGUgZnVuY3Rp
b24gY2FsbC4KICBAZGlzY3Vzc2lvbiBJZiBtZWRpYSBwbGF5YmFjayBleGlzdHMsIFdLTWVkaWFQ
bGF5YmFja1N0YXRlIHdpbGwgYmUgb25lIG9mIHRocmVlCiAgdmFsdWVzOiBXS01lZGlhUGxheWJh
Y2tQYXVzZWQsIFdLTWVkaWFQbGF5YmFja1N1c3BlbmRlZCwgb3IgV0tNZWRpYVBsYXliYWNrUGxh
eWluZy4KICBJZiBubyBtZWRpYSBwbGF5YmFjayBleGlzdHMgaW4gdGhlIGN1cnJlbnQgV0tXZWJW
aWV3LCBXS01lZGlhUGxheWJhY2tTdGF0ZSB3aWxsIGVxdWFsCi0gV0tOb01lZGlhUGxheWJhY2su
CisgV0tNZWRpYVBsYXliYWNrU3RhdGVOb25lLgogICovCi0tICh2b2lkKXJlcXVlc3RNZWRpYVBs
YXliYWNrU3RhdGU6KHZvaWQgKF4pKFdLTWVkaWFQbGF5YmFja1N0YXRlKSljb21wbGV0aW9uSGFu
ZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkp
OworLSAodm9pZClyZXF1ZXN0TWVkaWFQbGF5YmFja1N0YXRlV2l0aENvbXBsZXRpb25IYW5kbGVy
Oih2b2lkICheKShXS01lZGlhUGxheWJhY2tTdGF0ZSkpY29tcGxldGlvbkhhbmRsZXIgV0tfQVBJ
X0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIAogLyohIEBh
YnN0cmFjdCBHZXQgYSBzbmFwc2hvdCBmb3IgdGhlIHZpc2libGUgdmlld3BvcnQgb2YgV0tXZWJW
aWV3LgogIEBwYXJhbSBzbmFwc2hvdENvbmZpZ3VyYXRpb24gQW4gb2JqZWN0IHRoYXQgc3BlY2lm
aWVzIGhvdyB0aGUgc25hcHNob3QgaXMgY29uZmlndXJlZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4IDQ5NDYxNmU5MjYwNGZkYzY5M2Q0
NWExYjlmZmJlYjlhMWFkZmJlMzQuLjgyNTE2NmVkMDZiNWFjMDQ0YWYzZDBiNDYzNzYwMzVkZmQ4
NWY5MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
dy5tbQpAQCAtNjcsNyArNjcsNiBAQAogI2ltcG9ydCAiV0tGcmFtZUluZm9Qcml2YXRlLmgiCiAj
aW1wb3J0ICJXS0hpc3RvcnlEZWxlZ2F0ZVByaXZhdGUuaCIKICNpbXBvcnQgIldLTGF5b3V0TW9k
ZS5oIgotI2ltcG9ydCAiV0tNZWRpYVBsYXliYWNrU3RhdGUuaCIKICNpbXBvcnQgIldLTlNEYXRh
LmgiCiAjaW1wb3J0ICJXS05TVVJMRXh0cmFzLmgiCiAjaW1wb3J0ICJXS05hdmlnYXRpb25EZWxl
Z2F0ZS5oIgpAQCAtOTE3LDcgKzkxNiw3IEBAIHN0YXRpYyBib29sIHZhbGlkYXRlQXJndW1lbnQo
aWQgYXJndW1lbnQpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi0tICh2b2lkKWNsb3NlQWxsTWVk
aWFQcmVzZW50YXRpb25zOih2b2lkICheKSh2b2lkKSljb21wbGV0aW9uSGFuZGxlcgorLSAodm9p
ZCljbG9zZUFsbE1lZGlhUHJlc2VudGF0aW9uc1dpdGhDb21wbGV0aW9uSGFuZGxlcjoodm9pZCAo
Xikodm9pZCkpY29tcGxldGlvbkhhbmRsZXIKIHsKICAgICBhdXRvIGNhbGxiYWNrQWdncmVnYXRv
ciA9IENhbGxiYWNrQWdncmVnYXRvcjo6Y3JlYXRlKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIp
KTsKIApAQCAtOTMzLDcgKzkzMiw3IEBAIHN0YXRpYyBib29sIHZhbGlkYXRlQXJndW1lbnQoaWQg
YXJndW1lbnQpCiAjZW5kaWYKIH0KIAotLSAodm9pZClwYXVzZUFsbE1lZGlhUGxheWJhY2s6KHZv
aWQgKF4pKHZvaWQpKWNvbXBsZXRpb25IYW5kbGVyCistICh2b2lkKXBhdXNlQWxsTWVkaWFQbGF5
YmFja1dpdGhDb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikodm9pZCkpY29tcGxldGlvbkhhbmRs
ZXIKIHsKICAgICBpZiAoIWNvbXBsZXRpb25IYW5kbGVyKSB7CiAgICAgICAgIF9wYWdlLT5wYXVz
ZUFsbE1lZGlhUGxheWJhY2soW10geyB9KTsKQEAgLTk0MywxOSArOTQyLDEzIEBAIHN0YXRpYyBi
b29sIHZhbGlkYXRlQXJndW1lbnQoaWQgYXJndW1lbnQpCiAgICAgX3BhZ2UtPnBhdXNlQWxsTWVk
aWFQbGF5YmFjayhtYWtlQmxvY2tQdHIoY29tcGxldGlvbkhhbmRsZXIpKTsKIH0KIAotLSAodm9p
ZClzdXNwZW5kQWxsTWVkaWFQbGF5YmFjazoodm9pZCAoXikodm9pZCkpY29tcGxldGlvbkhhbmRs
ZXIKKy0gKHZvaWQpc2V0QWxsTWVkaWFQbGF5YmFja1N1c3BlbmRlZDooQk9PTClzdXNwZW5kZWQg
Y29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKHZvaWQpKWNvbXBsZXRpb25IYW5kbGVyCiB7Ci0g
ICAgaWYgKCFjb21wbGV0aW9uSGFuZGxlcikgewotICAgICAgICBfcGFnZS0+c3VzcGVuZEFsbE1l
ZGlhUGxheWJhY2soW10geyB9KTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBfcGFnZS0+
c3VzcGVuZEFsbE1lZGlhUGxheWJhY2sobWFrZUJsb2NrUHRyKGNvbXBsZXRpb25IYW5kbGVyKSk7
Ci19CisgICAgaWYgKCFjb21wbGV0aW9uSGFuZGxlcikKKyAgICAgICAgY29tcGxldGlvbkhhbmRs
ZXIgPSBbXSB7IH07CiAKLS0gKHZvaWQpcmVzdW1lQWxsTWVkaWFQbGF5YmFjazoodm9pZCAoXiko
dm9pZCkpY29tcGxldGlvbkhhbmRsZXIKLXsKLSAgICBpZiAoIWNvbXBsZXRpb25IYW5kbGVyKSB7
Ci0gICAgICAgIF9wYWdlLT5yZXN1bWVBbGxNZWRpYVBsYXliYWNrKFtdIHsgfSk7CisgICAgaWYg
KHN1c3BlbmRlZCkgeworICAgICAgICBfcGFnZS0+c3VzcGVuZEFsbE1lZGlhUGxheWJhY2sobWFr
ZUJsb2NrUHRyKGNvbXBsZXRpb25IYW5kbGVyKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAg
ICAgX3BhZ2UtPnJlc3VtZUFsbE1lZGlhUGxheWJhY2sobWFrZUJsb2NrUHRyKGNvbXBsZXRpb25I
YW5kbGVyKSk7CkBAIC05NjYsMTIgKzk1OSwxMiBAQCBzdGF0aWMgV0tNZWRpYVBsYXliYWNrU3Rh
dGUgdG9XS01lZGlhUGxheWJhY2tTdGF0ZShXZWJLaXQ6Ok1lZGlhUGxheWJhY2tTdGF0ZSBtZQog
ICAgIHN3aXRjaCAobWVkaWFQbGF5YmFja1N0YXRlKSB7CiAgICAgY2FzZSBXZWJLaXQ6Ok1lZGlh
UGxheWJhY2tTdGF0ZTo6Tm9NZWRpYVBsYXliYWNrOgogICAgICAgICByZXR1cm4gV0tNZWRpYVBs
YXliYWNrU3RhdGVOb25lOworICAgIGNhc2UgV2ViS2l0OjpNZWRpYVBsYXliYWNrU3RhdGU6Ok1l
ZGlhUGxheWJhY2tQbGF5aW5nOgorICAgICAgICByZXR1cm4gV0tNZWRpYVBsYXliYWNrU3RhdGVQ
bGF5aW5nOwogICAgIGNhc2UgV2ViS2l0OjpNZWRpYVBsYXliYWNrU3RhdGU6Ok1lZGlhUGxheWJh
Y2tQYXVzZWQ6CiAgICAgICAgIHJldHVybiBXS01lZGlhUGxheWJhY2tTdGF0ZVBhdXNlZDsKICAg
ICBjYXNlIFdlYktpdDo6TWVkaWFQbGF5YmFja1N0YXRlOjpNZWRpYVBsYXliYWNrU3VzcGVuZGVk
OgogICAgICAgICByZXR1cm4gV0tNZWRpYVBsYXliYWNrU3RhdGVTdXNwZW5kZWQ7Ci0gICAgY2Fz
ZSBXZWJLaXQ6Ok1lZGlhUGxheWJhY2tTdGF0ZTo6TWVkaWFQbGF5YmFja1BsYXlpbmc6Ci0gICAg
ICAgIHJldHVybiBXS01lZGlhUGxheWJhY2tTdGF0ZVBsYXlpbmc7CiAgICAgZGVmYXVsdDoKICAg
ICAgICAgYnJlYWs7CiAgICAgfQpAQCAtOTc5LDcgKzk3Miw3IEBAIHN0YXRpYyBXS01lZGlhUGxh
eWJhY2tTdGF0ZSB0b1dLTWVkaWFQbGF5YmFja1N0YXRlKFdlYktpdDo6TWVkaWFQbGF5YmFja1N0
YXRlIG1lCiAgICAgcmV0dXJuIFdLTWVkaWFQbGF5YmFja1N0YXRlTm9uZTsKIH0KIAotLSAodm9p
ZClyZXF1ZXN0TWVkaWFQbGF5YmFja1N0YXRlOih2b2lkICheKShXS01lZGlhUGxheWJhY2tTdGF0
ZSkpY29tcGxldGlvbkhhbmRsZXIKKy0gKHZvaWQpcmVxdWVzdE1lZGlhUGxheWJhY2tTdGF0ZVdp
dGhDb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoV0tNZWRpYVBsYXliYWNrU3RhdGUpKWNvbXBs
ZXRpb25IYW5kbGVyCiB7CiAgICAgaWYgKCFjb21wbGV0aW9uSGFuZGxlcikKICAgICAgICAgcmV0
dXJuOwpAQCAtMjAxMiw3ICsyMDA1LDcgQEAgc3RhdGljIFJldGFpblB0cjxOU0FycmF5PiB3a1Rl
eHRNYW5pcHVsYXRpb25FcnJvcnMoTlNBcnJheTxfV0tUZXh0TWFuaXB1bGF0aW9uSXQKIAogLSAo
dm9pZClfY2xvc2VBbGxNZWRpYVByZXNlbnRhdGlvbnMKIHsKLSAgICBbc2VsZiBjbG9zZUFsbE1l
ZGlhUHJlc2VudGF0aW9uczpuaWxdOworICAgIFtzZWxmIGNsb3NlQWxsTWVkaWFQcmVzZW50YXRp
b25zV2l0aENvbXBsZXRpb25IYW5kbGVyOm5pbF07CiB9CiAKIC0gKHZvaWQpX3N0b3BNZWRpYUNh
cHR1cmUKQEAgLTIwMjIsMTcgKzIwMTUsMTcgQEAgc3RhdGljIFJldGFpblB0cjxOU0FycmF5PiB3
a1RleHRNYW5pcHVsYXRpb25FcnJvcnMoTlNBcnJheTxfV0tUZXh0TWFuaXB1bGF0aW9uSXQKIAog
LSAodm9pZClfc3RvcEFsbE1lZGlhUGxheWJhY2sKIHsKLSAgICBbc2VsZiBwYXVzZUFsbE1lZGlh
UGxheWJhY2s6bmlsXTsKKyAgICBbc2VsZiBwYXVzZUFsbE1lZGlhUGxheWJhY2tXaXRoQ29tcGxl
dGlvbkhhbmRsZXI6bmlsXTsKIH0KIAogLSAodm9pZClfc3VzcGVuZEFsbE1lZGlhUGxheWJhY2sK
IHsKLSAgICBbc2VsZiBzdXNwZW5kQWxsTWVkaWFQbGF5YmFjazpuaWxdOworICAgIFtzZWxmIHNl
dEFsbE1lZGlhUGxheWJhY2tTdXNwZW5kZWQ6WUVTIGNvbXBsZXRpb25IYW5kbGVyOm5pbF07CiB9
CiAKIC0gKHZvaWQpX3Jlc3VtZUFsbE1lZGlhUGxheWJhY2sKIHsKLSAgICBbc2VsZiByZXN1bWVB
bGxNZWRpYVBsYXliYWNrOm5pbF07CisgICAgW3NlbGYgc2V0QWxsTWVkaWFQbGF5YmFja1N1c3Bl
bmRlZDpOTyBjb21wbGV0aW9uSGFuZGxlcjpuaWxdOwogfQogCiAtICh2b2lkKV9yZXN0b3JlQXBw
SGlnaGxpZ2h0czooTlNEYXRhICopZGF0YQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJL
aXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYTFjNjUzMjc3YWIwNGI4NjVmNDI4NjZhM2E2YWNm
YTA2MzYyODQ3ZS4uNDJjMjVjN2Q5OGU3MmZhNzJmNjQ2OTY1OTE2ZTM1ZmI2ZTY0Y2FlNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC05
NzQsNyArOTc0LDYgQEAKIAkJNDk3M0RGNDgyNDIyOTQxRjAwRTRDMjZBIC8qIE5hdmlnYXRpbmdU
b0FwcEJvdW5kRG9tYWluLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0OTczREY0NzI0MjI5NDFGMDBFNEMyNkEgLyogTmF2aWdhdGluZ1RvQXBwQm91bmRE
b21haW4uaCAqLzsgfTsKIAkJNDk5MDAwMjEyNEQyNDI5QzAwMDQ5Q0I0IC8qIFdLUmVuZGVyTGF5
ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5OTAw
MDFGMjREMjQyOUMwMDA0OUNCNCAvKiBXS1JlbmRlckxheWVyLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDk5MDAwMjQyNEQyNEMyOTAwMDQ5Q0I0
IC8qIFdLUmVuZGVyT2JqZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0OTkwMDAyMzI0RDI0QzFDMDAwNDlDQjQgLyogV0tSZW5kZXJPYmplY3QuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk0OTkxN0RB
NzI1MkQ2NDlFMDA1MDMxM0YgLyogV0tNZWRpYVBsYXliYWNrU3RhdGUuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5OTE3REE2MjUyRDY0OUUwMDUwMzEz
RiAvKiBXS01lZGlhUGxheWJhY2tTdGF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFB1YmxpYywgKTsgfTsgfTsKIAkJNDlCQ0ExOTIyM0ExNzc2NjAwMjhBODM2IC8qIEFQSVJlc291
cmNlTG9hZFN0YXRpc3RpY3NGaXJzdFBhcnR5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0OUJDQTE5MTIzQTE3NzY2MDAyOEE4MzYgLyogQVBJUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0ZpcnN0UGFydHkuaCAqLzsgfTsKIAkJNDlCQ0ExOTUyM0ExOENGRDAw
MjhBODM2IC8qIF9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NGaXJzdFBhcnR5SW50ZXJuYWwuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QkNBMTkwMjNB
MTc1NDkwMDI4QTgzNiAvKiBfV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRmlyc3RQYXJ0eUludGVy
bmFsLmggKi87IH07CiAJCTQ5QkNBMTk3MjNBMTkzMEQwMDI4QTgzNiAvKiBBUElSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzVGhpcmRQYXJ0eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDlCQ0ExOTYyM0ExOEY2MjAwMjhBODM2IC8qIEFQSVJlc291cmNlTG9h
ZFN0YXRpc3RpY3NUaGlyZFBhcnR5LmggKi87IH07CkBAIC0xMTk1NywxMiArMTE5NTYsNiBAQAog
CQkJCUNEQUMyMEI0MjNGQjU4RjIwMDIxREVFMyAvKiBSZW1vdGVDRE1JbnN0YW5jZVByb3h5Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQlDREFDMjBDQTIzRkMyRjc1MDAyMURFRTMgLyogUmVtb3RlQ0RN
SW5zdGFuY2VTZXNzaW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlDREFDMjBDOTIzRkMyRjc1MDAy
MURFRTMgLyogUmVtb3RlQ0RNSW5zdGFuY2VTZXNzaW9uSWRlbnRpZmllci5oIGluIEhlYWRlcnMg
Ki8sCi0JCQkJMUQ0NzY1QTEyNUNGNTc0MDAwN0FGMzEyIC8qIFJlbW90ZUltYWdlRGVjb2RlckFW
Rk1hbmFnZXIuaCBpbiBIZWFkZXJzICovLAotCQkJCTFENDc2NTlDMjVDRTc0QUQwMDdBRjMxMiAv
KiBSZW1vdGVJbWFnZURlY29kZXJBVkZNYW5hZ2VyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAot
CQkJCTFENDc2NTlEMjVDRTc0QUQwMDdBRjMxMiAvKiBSZW1vdGVJbWFnZURlY29kZXJBVkZNYW5h
Z2VyTWVzc2FnZXNSZXBsaWVzLmggaW4gSGVhZGVycyAqLywKLQkJCQkxRDQ3NjU4NjI1Q0NBNDE2
MDA3QUYzMTIgLyogUmVtb3RlSW1hZ2VEZWNvZGVyQVZGUHJveHkuaCBpbiBIZWFkZXJzICovLAot
CQkJCTFENDc2NTkzMjVDQ0NFOTMwMDdBRjMxMiAvKiBSZW1vdGVJbWFnZURlY29kZXJBVkZQcm94
eU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKLQkJCQkxRDQ3NjU5NDI1Q0NDRTkzMDA3QUYzMTIg
LyogUmVtb3RlSW1hZ2VEZWNvZGVyQVZGUHJveHlNZXNzYWdlc1JlcGxpZXMuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTJENDdCNTZEMTgxMDcxNEUwMDNBM0FFRSAvKiBSZW1vdGVMYXllckJhY2tpbmdT
dG9yZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkRERjczMTUxOEU5NTA2MDAwNEY1QTY2IC8qIFJl
bW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFC
MTZBRUExNjRCM0E4ODAwMjkwRDYyIC8qIFJlbW90ZUxheWVyVHJlZUNvbnRleHQuaCBpbiBIZWFk
ZXJzICovLApAQCAtMTI1NDQsNyArMTI1MzcsNiBAQAogCQkJCTVDRTkxMjE0MjI5M0MyODAwMDVC
RUM3OCAvKiBXS01haW4uaCBpbiBIZWFkZXJzICovLAogCQkJCUExNTc5QjI4MjU4NDkwRTUwMDUy
ODIzNiAvKiBXS01lZGlhRm9ybWF0UmVhZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk5QUNDMDdC
OTI1QzgyMTg0MDBEQzYzODYgLyogV0tNZWRpYUtleVN5c3RlbVBlcm1pc3Npb25DYWxsYmFjay5o
IGluIEhlYWRlcnMgKi8sCi0JCQkJNDk5MTdEQTcyNTJENjQ5RTAwNTAzMTNGIC8qIFdLTWVkaWFQ
bGF5YmFja1N0YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUI0MEVFNjFCRjY3N0UzMDBCQTgx
QkUgLyogV0tNZW51SXRlbUlkZW50aWZpZXJzUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NUNBQkRDODYyMkM0MEZERTAwMUVERThFIC8qIFdLTWVzc2FnZUxpc3RlbmVyLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlDMTFFMTY5NDIxMkI4N0M1MDA5ODVGRjYgLyogV0tNb2NrRGlzcGxheS5oIGlu
IEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VM
b2cKaW5kZXggNGY2MWEwMzY5ODYzMDFmYzQ4MDdjMmIwODhlZTU2ZTY4YzZlNjZlMy4uZTY3MGQ5
ODcxMmFlZjA0Y2I5MjcxNTExNDJmMDYwODczMGZlNmMzNCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hh
bmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIxLTAyLTE1
ICBLYXRlIENoZW5leSAgPGthdGhlcmluZV9jaGVuZXlAYXBwbGUuY29tPgorCisgICAgICAgIENs
ZWFuIHVwIFdLV2ViVmlldyBtZWRpYSBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIyMTkyOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzM0NjAx
MjE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBk
YXRlIG5hbWluZy4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Ev
U3RvcFN1c3BlbmRSZXN1bWVBbGxNZWRpYS5tbToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRF
U1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tXZWJWaWV3
Q2xvc2VBbGxNZWRpYVByZXNlbnRhdGlvbnMubW06CisgICAgICAgIChURVNUKToKKwogMjAyMS0w
Mi0xNSAgQWFrYXNoIEphaW4gIDxhYWthc2hfamFpbkBhcHBsZS5jb20+CiAKICAgICAgICAgW2V3
c10gQWRkIHB5dGhvbiAzIHN1cHBvcnQgLSBwYXJ0IDIKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvTWVkaWFNdXRlZFN0YXRlLm1tIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9NZWRpYU11dGVkU3RhdGUubW0KaW5kZXggOTYy
M2VhNDY5MzJhOTI5Njk4MDY1NWJjOTkzYTM1NzY1ODU2NzBlYi4uZjNmOGY2NDY1MTJlNjQzYTNj
NDA1YTc3MzNlM2IwNGQxYjJmNGMxYiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXRDb2NvYS9NZWRpYU11dGVkU3RhdGUubW0KKysrIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9NZWRpYU11dGVkU3RhdGUubW0KQEAgLTI5LDcgKzI5LDYg
QEAKIAogI2ltcG9ydCAiUGxhdGZvcm1VdGlsaXRpZXMuaCIKICNpbXBvcnQgIlRlc3RXS1dlYlZp
ZXcuaCIKLSNpbXBvcnQgPFdlYktpdC9XS01lZGlhUGxheWJhY2tTdGF0ZS5oPgogI2ltcG9ydCA8
V2ViS2l0L1dLV2ViVmlldy5oPgogI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld1ByaXZhdGUuaD4K
ICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Q29jb2EvU3RvcFN1c3BlbmRSZXN1bWVBbGxNZWRpYS5tbSBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvU3RvcFN1c3BlbmRSZXN1bWVBbGxNZWRp
YS5tbQppbmRleCBlNzdiZWQ2YjhiYmJlNDk3ZWNhYjU5YWEzNzQ1ODNkYTdlOTQzODNmLi4xMTc5
NzE4ZDVlZjY0NzJhZTBmZTk3OWNmZjBmOGZjOWUyNjc1NmRkIDEwMDY0NAotLS0gYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1N0b3BTdXNwZW5kUmVzdW1lQWxsTWVkaWEu
bW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9TdG9wU3VzcGVu
ZFJlc3VtZUFsbE1lZGlhLm1tCkBAIC0yOSw3ICsyOSw2IEBACiAKICNpbXBvcnQgIlBsYXRmb3Jt
VXRpbGl0aWVzLmgiCiAjaW1wb3J0ICJUZXN0V0tXZWJWaWV3LmgiCi0jaW1wb3J0IDxXZWJLaXQv
V0tNZWRpYVBsYXliYWNrU3RhdGUuaD4KICNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXcuaD4KICNp
bXBvcnQgPFdlYktpdC9XS1dlYlZpZXdQcml2YXRlLmg+CiAjaW1wb3J0IDxXZWJLaXQvV0tXZWJW
aWV3UHJpdmF0ZUZvclRlc3RpbmcuaD4KQEAgLTUzLDcgKzUyLDcgQEAgVEVTVChXS1dlYlZpZXcs
IFN0b3BBbGxNZWRpYVBsYXliYWNrKQogCiAgICAgX19ibG9jayBib29sIGRpZFBhdXNlID0gZmFs
c2U7CiAgICAgW3dlYlZpZXcgcGVyZm9ybUFmdGVyUmVjZWl2aW5nTWVzc2FnZTpAInBhdXNlIiBh
Y3Rpb246XnsgZGlkUGF1c2UgPSB0cnVlOyB9XTsKLSAgICBbd2ViVmlldyBwYXVzZUFsbE1lZGlh
UGxheWJhY2s6bmlsXTsKKyAgICBbd2ViVmlldyBwYXVzZUFsbE1lZGlhUGxheWJhY2tXaXRoQ29t
cGxldGlvbkhhbmRsZXI6bmlsXTsKICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRpZFBh
dXNlKTsKIH0KIApAQCAtNzMsNyArNzIsNyBAQCBURVNUKFdLV2ViVmlldywgU3VzcGVuZFJlc3Vt
ZUFsbE1lZGlhUGxheWJhY2spCiAKICAgICBfX2Jsb2NrIGJvb2wgZGlkUGF1c2UgPSBmYWxzZTsK
ICAgICBbd2ViVmlldyBwZXJmb3JtQWZ0ZXJSZWNlaXZpbmdNZXNzYWdlOkAicGF1c2UiIGFjdGlv
bjpeeyBkaWRQYXVzZSA9IHRydWU7IH1dOwotICAgIFt3ZWJWaWV3IHN1c3BlbmRBbGxNZWRpYVBs
YXliYWNrOm5pbF07CisgICAgW3dlYlZpZXcgc2V0QWxsTWVkaWFQbGF5YmFja1N1c3BlbmRlZDpZ
RVMgY29tcGxldGlvbkhhbmRsZXI6bmlsXTsKICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4o
JmRpZFBhdXNlKTsKIAogICAgIF9fYmxvY2sgYm9vbCBkaWRSZWplY3QgPSBmYWxzZTsKQEAgLTgz
LDcgKzgyLDcgQEAgVEVTVChXS1dlYlZpZXcsIFN1c3BlbmRSZXN1bWVBbGxNZWRpYVBsYXliYWNr
KQogCiAgICAgZGlkQmVnaW5QbGF5aW5nID0gZmFsc2U7CiAgICAgW3dlYlZpZXcgcGVyZm9ybUFm
dGVyUmVjZWl2aW5nTWVzc2FnZTpAInBsYXlpbmciIGFjdGlvbjpeeyBkaWRCZWdpblBsYXlpbmcg
PSB0cnVlOyB9XTsKLSAgICBbd2ViVmlldyByZXN1bWVBbGxNZWRpYVBsYXliYWNrOm5pbF07Cisg
ICAgW3dlYlZpZXcgc2V0QWxsTWVkaWFQbGF5YmFja1N1c3BlbmRlZDpOTyBjb21wbGV0aW9uSGFu
ZGxlcjpuaWxdOwogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZGlkQmVnaW5QbGF5aW5n
KTsKIH0KIApAQCAtMTAzLDcgKzEwMiw3IEBAIFRFU1QoV0tXZWJWaWV3LCBTdXNwZW5kUmVzdW1l
QWxsTWVkaWFQbGF5YmFja011bHRpcGxlVGltZXMpCiAKICAgICBfX2Jsb2NrIGJvb2wgZGlkUGF1
c2UgPSBmYWxzZTsKICAgICBbd2ViVmlldyBwZXJmb3JtQWZ0ZXJSZWNlaXZpbmdNZXNzYWdlOkAi
cGF1c2UiIGFjdGlvbjpeeyBkaWRQYXVzZSA9IHRydWU7IH1dOwotICAgIFt3ZWJWaWV3IHN1c3Bl
bmRBbGxNZWRpYVBsYXliYWNrOm5pbF07CisgICAgW3dlYlZpZXcgc2V0QWxsTWVkaWFQbGF5YmFj
a1N1c3BlbmRlZDpZRVMgY29tcGxldGlvbkhhbmRsZXI6bmlsXTsKICAgICBUZXN0V2ViS2l0QVBJ
OjpVdGlsOjpydW4oJmRpZFBhdXNlKTsKIAogICAgIF9fYmxvY2sgYm9vbCBkaWRSZWplY3QgPSBm
YWxzZTsKQEAgLTExMywxMyArMTEyLDEzIEBAIFRFU1QoV0tXZWJWaWV3LCBTdXNwZW5kUmVzdW1l
QWxsTWVkaWFQbGF5YmFja011bHRpcGxlVGltZXMpCiAKICAgICAvLyBTdXNwZW5kIGFnYWluIHRv
IGluY3JlbWVudCB0aGUgY291bnRlci4KICAgICBfX2Jsb2NrIGJvb2wgaXNEb25lID0gZmFsc2U7
Ci0gICAgW3dlYlZpZXcgc3VzcGVuZEFsbE1lZGlhUGxheWJhY2s6XnsKKyAgICBbd2ViVmlldyBz
ZXRBbGxNZWRpYVBsYXliYWNrU3VzcGVuZGVkOllFUyBjb21wbGV0aW9uSGFuZGxlcjpeewogICAg
ICAgICBpc0RvbmUgPSB0cnVlOwogICAgIH1dOwogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1
bigmaXNEb25lKTsKIAogICAgIGlzRG9uZSA9IGZhbHNlOwotICAgIFt3ZWJWaWV3IHJlc3VtZUFs
bE1lZGlhUGxheWJhY2s6XnsKKyAgICBbd2ViVmlldyBzZXRBbGxNZWRpYVBsYXliYWNrU3VzcGVu
ZGVkOk5PIGNvbXBsZXRpb25IYW5kbGVyOl57CiAgICAgICAgIGlzRG9uZSA9IHRydWU7CiAgICAg
fV07CiAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZpc0RvbmUpOwpAQCAtMTMyLDcgKzEz
MSw3IEBAIFRFU1QoV0tXZWJWaWV3LCBTdXNwZW5kUmVzdW1lQWxsTWVkaWFQbGF5YmFja011bHRp
cGxlVGltZXMpCiAKICAgICBkaWRCZWdpblBsYXlpbmcgPSBmYWxzZTsKICAgICBbd2ViVmlldyBw
ZXJmb3JtQWZ0ZXJSZWNlaXZpbmdNZXNzYWdlOkAicGxheWluZyIgYWN0aW9uOl57IGRpZEJlZ2lu
UGxheWluZyA9IHRydWU7IH1dOwotICAgIFt3ZWJWaWV3IHJlc3VtZUFsbE1lZGlhUGxheWJhY2s6
bmlsXTsKKyAgICBbd2ViVmlldyBzZXRBbGxNZWRpYVBsYXliYWNrU3VzcGVuZGVkOk5PIGNvbXBs
ZXRpb25IYW5kbGVyOm5pbF07CiAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkaWRCZWdp
blBsYXlpbmcpOwogfQogCkBAIC0xNTIsMTEgKzE1MSwxMSBAQCBURVNUKFdLV2ViVmlldywgQ2hl
Y2tNZWRpYVBsYXliYWNrU3VzcGVuZGVkKQogCiAgICAgX19ibG9jayBib29sIGRpZFBhdXNlID0g
ZmFsc2U7CiAgICAgW3dlYlZpZXcgcGVyZm9ybUFmdGVyUmVjZWl2aW5nTWVzc2FnZTpAInBhdXNl
IiBhY3Rpb246XnsgZGlkUGF1c2UgPSB0cnVlOyB9XTsKLSAgICBbd2ViVmlldyBzdXNwZW5kQWxs
TWVkaWFQbGF5YmFjazpuaWxdOworICAgIFt3ZWJWaWV3IHNldEFsbE1lZGlhUGxheWJhY2tTdXNw
ZW5kZWQ6WUVTIGNvbXBsZXRpb25IYW5kbGVyOm5pbF07CiAgICAgVGVzdFdlYktpdEFQSTo6VXRp
bDo6cnVuKCZkaWRQYXVzZSk7CiAKICAgICBfX2Jsb2NrIGJvb2wgaXNEb25lID0gZmFsc2U7Ci0g
ICAgW3dlYlZpZXcgcmVxdWVzdE1lZGlhUGxheWJhY2tTdGF0ZTpeKFdLTWVkaWFQbGF5YmFja1N0
YXRlIHN0YXRlKSB7CisgICAgW3dlYlZpZXcgcmVxdWVzdE1lZGlhUGxheWJhY2tTdGF0ZVdpdGhD
b21wbGV0aW9uSGFuZGxlcjpeKFdLTWVkaWFQbGF5YmFja1N0YXRlIHN0YXRlKSB7CiAgICAgICAg
IEVYUEVDVF9FUShzdGF0ZSwgV0tNZWRpYVBsYXliYWNrU3RhdGVTdXNwZW5kZWQpOwogICAgICAg
ICBpc0RvbmUgPSB0cnVlOwogICAgIH1dOwpAQCAtMTY0LDExICsxNjMsMTEgQEAgVEVTVChXS1dl
YlZpZXcsIENoZWNrTWVkaWFQbGF5YmFja1N1c3BlbmRlZCkKIAogICAgIGRpZEJlZ2luUGxheWlu
ZyA9IGZhbHNlOwogICAgIFt3ZWJWaWV3IHBlcmZvcm1BZnRlclJlY2VpdmluZ01lc3NhZ2U6QCJw
bGF5aW5nIiBhY3Rpb246XnsgZGlkQmVnaW5QbGF5aW5nID0gdHJ1ZTsgfV07Ci0gICAgW3dlYlZp
ZXcgcmVzdW1lQWxsTWVkaWFQbGF5YmFjazpuaWxdOworICAgIFt3ZWJWaWV3IHNldEFsbE1lZGlh
UGxheWJhY2tTdXNwZW5kZWQ6Tk8gY29tcGxldGlvbkhhbmRsZXI6bmlsXTsKICAgICBUZXN0V2Vi
S2l0QVBJOjpVdGlsOjpydW4oJmRpZEJlZ2luUGxheWluZyk7CiAgICAgCiAgICAgaXNEb25lID0g
ZmFsc2U7Ci0gICAgW3dlYlZpZXcgcmVxdWVzdE1lZGlhUGxheWJhY2tTdGF0ZTpeKFdLTWVkaWFQ
bGF5YmFja1N0YXRlIHN0YXRlKSB7CisgICAgW3dlYlZpZXcgcmVxdWVzdE1lZGlhUGxheWJhY2tT
dGF0ZVdpdGhDb21wbGV0aW9uSGFuZGxlcjpeKFdLTWVkaWFQbGF5YmFja1N0YXRlIHN0YXRlKSB7
CiAgICAgICAgIEVYUEVDVF9FUShzdGF0ZSwgV0tNZWRpYVBsYXliYWNrU3RhdGVQbGF5aW5nKTsK
ICAgICAgICAgaXNEb25lID0gdHJ1ZTsKICAgICB9XTsKQEAgLTE4Myw3ICsxODIsNyBAQCBURVNU
KFdLV2ViVmlldywgQ2hlY2tNZWRpYVBsYXliYWNrRXhpc3RzKQogICAgIFt3ZWJWaWV3IHN5bmNo
cm9ub3VzbHlMb2FkSFRNTFN0cmluZzpAInN0YXJ0IG5ldHdvcmsgcHJvY2VzcyJdOwogCiAgICAg
X19ibG9jayBib29sIGlzRG9uZSA9IGZhbHNlOwotICAgIFt3ZWJWaWV3IHJlcXVlc3RNZWRpYVBs
YXliYWNrU3RhdGU6XihXS01lZGlhUGxheWJhY2tTdGF0ZSBzdGF0ZSkgeworICAgIFt3ZWJWaWV3
IHJlcXVlc3RNZWRpYVBsYXliYWNrU3RhdGVXaXRoQ29tcGxldGlvbkhhbmRsZXI6XihXS01lZGlh
UGxheWJhY2tTdGF0ZSBzdGF0ZSkgewogICAgICAgICBFWFBFQ1RfRVEoc3RhdGUsIFdLTWVkaWFQ
bGF5YmFja1N0YXRlTm9uZSk7CiAgICAgICAgIGlzRG9uZSA9IHRydWU7CiAgICAgfV07CkBAIC0x
OTIsNyArMTkxLDcgQEAgVEVTVChXS1dlYlZpZXcsIENoZWNrTWVkaWFQbGF5YmFja0V4aXN0cykK
ICAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9hZEhUTUxTdHJpbmc6QCI8dmlkZW8gc3JjPVwi
dmlkZW8td2l0aC1hdWRpby5tcDRcIiB3ZWJraXQtcGxheXNpbmxpbmU+PC92aWRlbz4iXTsKIAog
ICAgIGlzRG9uZSA9IGZhbHNlOwotICAgIFt3ZWJWaWV3IHJlcXVlc3RNZWRpYVBsYXliYWNrU3Rh
dGU6XihXS01lZGlhUGxheWJhY2tTdGF0ZSBzdGF0ZSkgeworICAgIFt3ZWJWaWV3IHJlcXVlc3RN
ZWRpYVBsYXliYWNrU3RhdGVXaXRoQ29tcGxldGlvbkhhbmRsZXI6XihXS01lZGlhUGxheWJhY2tT
dGF0ZSBzdGF0ZSkgewogICAgICAgICBFWFBFQ1RfRVEoc3RhdGUsIFdLTWVkaWFQbGF5YmFja1N0
YXRlUGxheWluZyk7CiAgICAgICAgIGlzRG9uZSA9IHRydWU7CiAgICAgfV07CkBAIC0yMDAsNyAr
MTk5LDcgQEAgVEVTVChXS1dlYlZpZXcsIENoZWNrTWVkaWFQbGF5YmFja0V4aXN0cykKICAgICAK
ICAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9hZEhUTUxTdHJpbmc6QCI8Ym9keT48L2JvZHk+
Il07CiAgICAgaXNEb25lID0gZmFsc2U7Ci0gICAgW3dlYlZpZXcgcmVxdWVzdE1lZGlhUGxheWJh
Y2tTdGF0ZTpeKFdLTWVkaWFQbGF5YmFja1N0YXRlIHN0YXRlKSB7CisgICAgW3dlYlZpZXcgcmVx
dWVzdE1lZGlhUGxheWJhY2tTdGF0ZVdpdGhDb21wbGV0aW9uSGFuZGxlcjpeKFdLTWVkaWFQbGF5
YmFja1N0YXRlIHN0YXRlKSB7CiAgICAgICAgIEVYUEVDVF9FUShzdGF0ZSwgV0tNZWRpYVBsYXli
YWNrU3RhdGVOb25lKTsKICAgICAgICAgaXNEb25lID0gdHJ1ZTsKICAgICB9XTsKQEAgLTIyMiw3
ICsyMjEsNyBAQCBURVNUKFdLV2ViVmlldywgQ2hlY2tNZWRpYVBsYXliYWNrUGF1c2VkKQogICAg
IFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZGlkQmVnaW5QbGF5aW5nKTsKIAogICAgIF9fYmxv
Y2sgYm9vbCBpc0RvbmUgPSBmYWxzZTsKLSAgICBbd2ViVmlldyByZXF1ZXN0TWVkaWFQbGF5YmFj
a1N0YXRlOl4oV0tNZWRpYVBsYXliYWNrU3RhdGUgc3RhdGUpIHsKKyAgICBbd2ViVmlldyByZXF1
ZXN0TWVkaWFQbGF5YmFja1N0YXRlV2l0aENvbXBsZXRpb25IYW5kbGVyOl4oV0tNZWRpYVBsYXli
YWNrU3RhdGUgc3RhdGUpIHsKICAgICAgICAgRVhQRUNUX0VRKHN0YXRlLCBXS01lZGlhUGxheWJh
Y2tTdGF0ZVBsYXlpbmcpOwogICAgICAgICBpc0RvbmUgPSB0cnVlOwogICAgIH1dOwpAQCAtMjMw
LDExICsyMjksMTEgQEAgVEVTVChXS1dlYlZpZXcsIENoZWNrTWVkaWFQbGF5YmFja1BhdXNlZCkK
ICAgICAKICAgICBfX2Jsb2NrIGJvb2wgZGlkUGF1c2UgPSBmYWxzZTsKICAgICBbd2ViVmlldyBw
ZXJmb3JtQWZ0ZXJSZWNlaXZpbmdNZXNzYWdlOkAicGF1c2UiIGFjdGlvbjpeeyBkaWRQYXVzZSA9
IHRydWU7IH1dOwotICAgIFt3ZWJWaWV3IHBhdXNlQWxsTWVkaWFQbGF5YmFjazpuaWxdOworICAg
IFt3ZWJWaWV3IHBhdXNlQWxsTWVkaWFQbGF5YmFja1dpdGhDb21wbGV0aW9uSGFuZGxlcjpuaWxd
OwogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZGlkUGF1c2UpOwogICAgIAogICAgIGlz
RG9uZSA9IGZhbHNlOwotICAgIFt3ZWJWaWV3IHJlcXVlc3RNZWRpYVBsYXliYWNrU3RhdGU6XihX
S01lZGlhUGxheWJhY2tTdGF0ZSBzdGF0ZSkgeworICAgIFt3ZWJWaWV3IHJlcXVlc3RNZWRpYVBs
YXliYWNrU3RhdGVXaXRoQ29tcGxldGlvbkhhbmRsZXI6XihXS01lZGlhUGxheWJhY2tTdGF0ZSBz
dGF0ZSkgewogICAgICAgICBFWFBFQ1RfVFJVRShXS01lZGlhUGxheWJhY2tTdGF0ZVBhdXNlZCk7
CiAgICAgICAgIGlzRG9uZSA9IHRydWU7CiAgICAgfV07CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dLV2ViVmlld0Nsb3NlQWxsTWVkaWFQcmVzZW50
YXRpb25zLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XS1dlYlZp
ZXdDbG9zZUFsbE1lZGlhUHJlc2VudGF0aW9ucy5tbQppbmRleCBiY2Q4NDM4NzcxZmMxZTY2NzZk
OTlkYjg3NWYyN2NjZTZiMTk2MjJkLi41NmYyNGI0NWZjNzlhZGMyNzhhMTI0ODYwNDJiMzIyODc2
OTM3MTMxIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29h
L1dLV2ViVmlld0Nsb3NlQWxsTWVkaWFQcmVzZW50YXRpb25zLm1tCisrKyBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tXZWJWaWV3Q2xvc2VBbGxNZWRpYVByZXNlbnRh
dGlvbnMubW0KQEAgLTc4LDcgKzc4LDcgQEAgVEVTVChXS1dlYlZpZXdDbG9zZUFsbE1lZGlhUHJl
c2VudGF0aW9ucywgUGljdHVyZUluUGljdHVyZSkKICAgICBsb2FkUGljdHVyZUluUGljdHVyZSh3
ZWJWaWV3KTsKIAogICAgIHN0YXRpYyBib29sIGlzRG9uZSA9IGZhbHNlOwotICAgIFt3ZWJWaWV3
IGNsb3NlQWxsTWVkaWFQcmVzZW50YXRpb25zOl57CisgICAgW3dlYlZpZXcgY2xvc2VBbGxNZWRp
YVByZXNlbnRhdGlvbnNXaXRoQ29tcGxldGlvbkhhbmRsZXI6XnsKICAgICAgICAgaXNEb25lID0g
dHJ1ZTsKICAgICB9XTsKICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmlzRG9uZSk7CkBA
IC0xMTQsNyArMTE0LDcgQEAgVEVTVChXS1dlYlZpZXdDbG9zZUFsbE1lZGlhUHJlc2VudGF0aW9u
cywgVmlkZW9GdWxsc2NyZWVuKQogICAgIH0gd2hpbGUgKHRydWUpOwogCiAgICAgc3RhdGljIGJv
b2wgaXNEb25lID0gZmFsc2U7Ci0gICAgW3dlYlZpZXcgY2xvc2VBbGxNZWRpYVByZXNlbnRhdGlv
bnM6XnsKKyAgICBbd2ViVmlldyBjbG9zZUFsbE1lZGlhUHJlc2VudGF0aW9uc1dpdGhDb21wbGV0
aW9uSGFuZGxlcjpeewogICAgICAgICBpc0RvbmUgPSB0cnVlOwogICAgIH1dOwogICAgIFRlc3RX
ZWJLaXRBUEk6OlV0aWw6OnJ1bigmaXNEb25lKTsKQEAgLTE0Miw3ICsxNDIsNyBAQCBURVNUKFdL
V2ViVmlld0Nsb3NlQWxsTWVkaWFQcmVzZW50YXRpb25zLCBFbGVtZW50RnVsbHNjcmVlbikKICAg
ICBbd2ViVmlldyBwZXJmb3JtQWZ0ZXJSZWNlaXZpbmdNZXNzYWdlOkAiZnVsbHNjcmVlbmNoYW5n
ZSIgYWN0aW9uOl57IGZ1bGxzY3JlZW5Nb2RlQ2hhbmdlZCA9IHRydWU7IH1dOwogCiAgICAgc3Rh
dGljIGJvb2wgaXNEb25lID0gZmFsc2U7Ci0gICAgW3dlYlZpZXcgY2xvc2VBbGxNZWRpYVByZXNl
bnRhdGlvbnM6XnsKKyAgICBbd2ViVmlldyBjbG9zZUFsbE1lZGlhUHJlc2VudGF0aW9uc1dpdGhD
b21wbGV0aW9uSGFuZGxlcjpeewogICAgICAgICBpc0RvbmUgPSB0cnVlOwogICAgIH1dOwogICAg
IFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmaXNEb25lKTsKQEAgLTE2NywxMiArMTY3LDEyIEBA
IFRFU1QoV0tXZWJWaWV3Q2xvc2VBbGxNZWRpYVByZXNlbnRhdGlvbnMsIE11bHRpcGxlU2VxdWVu
dGlhbENsb3NlQWxsTWVkaWFQcmVzZW50CiAgICAgbG9hZFBpY3R1cmVJblBpY3R1cmUod2ViVmll
dyk7CiAKICAgICBzdGF0aWMgYm9vbCBmaXJzdElzRG9uZSA9IGZhbHNlOwotICAgIFt3ZWJWaWV3
IGNsb3NlQWxsTWVkaWFQcmVzZW50YXRpb25zOl57CisgICAgW3dlYlZpZXcgY2xvc2VBbGxNZWRp
YVByZXNlbnRhdGlvbnNXaXRoQ29tcGxldGlvbkhhbmRsZXI6XnsKICAgICAgICAgZmlyc3RJc0Rv
bmUgPSB0cnVlOwogICAgIH1dOwogCiAgICAgc3RhdGljIGJvb2wgc2Vjb25kSXNEb25lID0gZmFs
c2U7Ci0gICAgW3dlYlZpZXcgY2xvc2VBbGxNZWRpYVByZXNlbnRhdGlvbnM6XnsKKyAgICBbd2Vi
VmlldyBjbG9zZUFsbE1lZGlhUHJlc2VudGF0aW9uc1dpdGhDb21wbGV0aW9uSGFuZGxlcjpeewog
ICAgICAgICBzZWNvbmRJc0RvbmUgPSB0cnVlOwogICAgIH1dOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420514</attachid>
            <date>2021-02-16 11:53:11 -0800</date>
            <delta_ts>2021-02-16 12:59:48 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-221929-20210216115310.patch</filename>
            <type>text/plain</type>
            <size>25654</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyODg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGVhNzYzOTA1Y2MxMDM0M2Nj
YWNjOTcyOTM0NWE1MDQ5N2UwMTVlNmIuLjQyMzE0ZTJlYWQzYzI3NGMwMzRhMzFjMDM3Zjg0MWU3
ZmJkMzZiMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDkgQEAKKzIwMjEtMDItMTUgIEthdGUgQ2hl
bmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgQ2xlYW4gdXAgV0tX
ZWJWaWV3IG1lZGlhIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjIxOTI5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MzQ2MDEyMT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBZb3Vlbm4gRmFibGV0LgorCisgICAgICAgIEEgZmV3IGZpeGVzIHRo
YXQgY2FtZSBmcm9tIEFQSSByZXZpZXc6CisKKyAgICAgICAgMSkgQ2hhbmdlIGNsb3NlQWxsTWVk
aWFQcmVzZW50YXRpb25zIHRvIGJlCisgICAgICAgIGNsb3NlQWxsTWVkaWFQcmVzZW50YXRpb25z
V2l0aENvbXBsZXRpb25IYW5kbGVyLiBEaXR0byBmb3IKKyAgICAgICAgcGF1c2VBbGxNZWRpYVBs
YXliYWNrIGFuZCByZXF1ZXN0TWVkaWFQbGF5YmFja1N0YXRlLiBUaGlzIGxlYWRzIHRvCisgICAg
ICAgIGJldHRlciBTd2lmdCBpbXBvcnRzLgorCisgICAgICAgIDIpIENvbWJpbmUgc3VzcGVuZEFs
bE1lZGlhUGxheWJhY2sgYW5kIHJlc3VtZUFsbE1lZGlhUGxheWJhY2sgaW50byBhCisgICAgICAg
IHNpbmdsZSBzZXRBbGxNZWRpYVBsYXliYWNrU3VzcGVuZGVkOmNvbXBsZXRpb25IYW5kbGVyIGZ1
bmN0aW9uIHdoaWNoCisgICAgICAgIHRha2VzIGEgYm9vbGVhbi4gVGhpcyByZWluZm9yY2VzIHRo
ZSByZWxhdGlvbnNoaXAgYmV0d2VlbgorICAgICAgICBzdXNwZW5kL3Jlc3VtZSBhbmQgZGlmZmVy
ZW50aWF0ZXMgdGhlbSBmcm9tIHBhdXNlLgorCisgICAgICAgIEFuZCBhIGZldyBvdGhlciBkcml2
ZS1ieSBmaXhlcywgbGlrZSBtb3ZpbmcgV0tNZWRpYVBsYXliYWNrU3RhdGUgdG8KKyAgICAgICAg
dGhlIFdLV2ViVmlldyBjbGFzcyBiZWNhdXNlIGl0IGlzIHVubGlrZWx5IHRvIGJlIHVzZWQgb3V0
c2lkZSBvZiB0aGF0CisgICAgICAgIGNvbnRleHQsIGNoYW5naW5nIE5TVUludGVnZXIgLT4gTlNJ
bnRlZ2VyLCBhbmQgY2hhbmdpbmcgdGhlIG9yZGVyaW5nCisgICAgICAgIG9mIHRoZSBXS01lZGlh
UGxheWJhY2tTdGF0ZSBlbnVtIHRvIGJlIG1vcmUgbmF0dXJhbC4KKworICAgICAgICBObyBuZXcg
dGVzdHMuIE5vIGJlaGF2aW9yIGNoYW5nZS4gQ292ZXJlZCBieSBleGlzdGluZyBBUEkgdGVzdHMu
CisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLTWVkaWFQbGF5YmFja1N0YXRlLmg6
IFJlbW92ZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1bV0tX
ZWJWaWV3IGNsb3NlQWxsTWVkaWFQcmVzZW50YXRpb25zV2l0aENvbXBsZXRpb25IYW5kbGVyOl0p
OgorICAgICAgICAoLVtXS1dlYlZpZXcgcGF1c2VBbGxNZWRpYVBsYXliYWNrV2l0aENvbXBsZXRp
b25IYW5kbGVyOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXcgc2V0QWxsTWVkaWFQbGF5YmFja1N1
c3BlbmRlZDpjb21wbGV0aW9uSGFuZGxlcjpdKToKKyAgICAgICAgKHRvV0tNZWRpYVBsYXliYWNr
U3RhdGUpOgorICAgICAgICAoLVtXS1dlYlZpZXcgcmVxdWVzdE1lZGlhUGxheWJhY2tTdGF0ZVdp
dGhDb21wbGV0aW9uSGFuZGxlcjpdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9jbG9zZUFsbE1l
ZGlhUHJlc2VudGF0aW9uc10pOgorICAgICAgICAoLVtXS1dlYlZpZXcgX3N0b3BBbGxNZWRpYVBs
YXliYWNrXSk6CisgICAgICAgICgtW1dLV2ViVmlldyBfc3VzcGVuZEFsbE1lZGlhUGxheWJhY2td
KToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9yZXN1bWVBbGxNZWRpYVBsYXliYWNrXSk6CisgICAg
ICAgICgtW1dLV2ViVmlldyBjbG9zZUFsbE1lZGlhUHJlc2VudGF0aW9uczpdKTogRGVsZXRlZC4K
KyAgICAgICAgKC1bV0tXZWJWaWV3IHBhdXNlQWxsTWVkaWFQbGF5YmFjazpdKTogRGVsZXRlZC4K
KyAgICAgICAgKC1bV0tXZWJWaWV3IHN1c3BlbmRBbGxNZWRpYVBsYXliYWNrOl0pOiBEZWxldGVk
LgorICAgICAgICAoLVtXS1dlYlZpZXcgcmVzdW1lQWxsTWVkaWFQbGF5YmFjazpdKTogRGVsZXRl
ZC4KKyAgICAgICAgKC1bV0tXZWJWaWV3IHJlcXVlc3RNZWRpYVBsYXliYWNrU3RhdGU6XSk6IERl
bGV0ZWQuCisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIw
MjEtMDItMTUgIFBlbmcgTGl1ICA8cGVuZy5saXU2QGFwcGxlLmNvbT4KIAogICAgICAgICBbR1BV
UF0gSWdub3JlIGFuIElQQyBtZXNzYWdlIGlmIHRoZSBtZXNzYWdlIHJlY2VpdmVyIGhhcyBiZWVu
IGRlc3Ryb3llZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJL0NvY29hL1dl
YktpdC5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJL0NvY29hL1dlYktpdC5oCmluZGV4IDQx
NWQ5MTY0NjU5NmNlZjI3Zjg3MTgzZjUyY2RlMTkyMGZiNTA0YzkuLmYwNDU5OTU4ZTEzZjFhZTJl
Y2M4ZmM4NjkyMWMxMGRjN2QyMmI4MWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L0FQSS9Db2NvYS9XZWJLaXQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQ29jb2Ev
V2ViS2l0LmgKQEAgLTM4LDcgKzM4LDYgQEAKICNpbXBvcnQgPFdlYktpdC9XS0ZvdW5kYXRpb24u
aD4KICNpbXBvcnQgPFdlYktpdC9XS0ZyYW1lSW5mby5oPgogI2ltcG9ydCA8V2ViS2l0L1dLSFRU
UENvb2tpZVN0b3JlLmg+Ci0jaW1wb3J0IDxXZWJLaXQvV0tNZWRpYVBsYXliYWNrU3RhdGUuaD4K
ICNpbXBvcnQgPFdlYktpdC9XS05hdmlnYXRpb24uaD4KICNpbXBvcnQgPFdlYktpdC9XS05hdmln
YXRpb25BY3Rpb24uaD4KICNpbXBvcnQgPFdlYktpdC9XS05hdmlnYXRpb25EZWxlZ2F0ZS5oPgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLTWVkaWFQbGF5
YmFja1N0YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tNZWRpYVBs
YXliYWNrU3RhdGUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzg2OTczMDc4MWMy
ODE2MTA1OTgwYWQ3NjU2OTJkOWE2MWFhMjlkNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tN
ZWRpYVBsYXliYWNrU3RhdGUuaAorKysgL2Rldi9udWxsCkBAIC0xLDM4ICswLDAgQEAKLS8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
LSAqLwotCi0jaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KLSNpbXBvcnQgPFdlYktp
dC9XS0ZvdW5kYXRpb24uaD4KLQotTlNfQVNTVU1FX05PTk5VTExfQkVHSU4KLQotdHlwZWRlZiBO
U19FTlVNKE5TVUludGVnZXIsIFdLTWVkaWFQbGF5YmFja1N0YXRlKSB7Ci0gICAgV0tNZWRpYVBs
YXliYWNrU3RhdGVOb25lLAotICAgIFdLTWVkaWFQbGF5YmFja1N0YXRlUGF1c2VkLAotICAgIFdL
TWVkaWFQbGF5YmFja1N0YXRlU3VzcGVuZGVkLAotICAgIFdLTWVkaWFQbGF5YmFja1N0YXRlUGxh
eWluZwotfSBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RC
QSkpOwotCi1OU19BU1NVTUVfTk9OTlVMTF9FTkQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYlZpZXcuaAppbmRleCAxNTk3NTg3YjY2OTkyY2ZiNWM0ZjU4NjA4MjFl
NzA1ZTkzY2I3MmRhLi41ZmIyYzFkZjIyMDlkZTkwOTkxOTM3OTY1ZjIxZTNhYmJmZmQ3ZDc4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3LmgK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5oCkBAIC0y
NSw4ICsyNSw2IEBACiAKICNpbXBvcnQgPFdlYktpdC9XS0ZvdW5kYXRpb24uaD4KIAotI2ltcG9y
dCA8V2ViS2l0L1dLTWVkaWFQbGF5YmFja1N0YXRlLmg+Ci0KICNpZiBUQVJHRVRfT1NfSVBIT05F
CiAjaW1wb3J0IDxVSUtpdC9VSUtpdC5oPgogI2Vsc2UKQEAgLTYzLDYgKzYxLDEzIEBAIFdLX0NM
QVNTX0FWQUlMQUJMRShtYWNvcygxMC4xMCksIGlvcyg4LjApKQogQGludGVyZmFjZSBXS1dlYlZp
ZXcgOiBOU1ZpZXcKICNlbmRpZgogCit0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBXS01lZGlh
UGxheWJhY2tTdGF0ZSkgeworICAgIFdLTWVkaWFQbGF5YmFja1N0YXRlTm9uZSwKKyAgICBXS01l
ZGlhUGxheWJhY2tTdGF0ZVBsYXlpbmcsCisgICAgV0tNZWRpYVBsYXliYWNrU3RhdGVQYXVzZWQs
CisgICAgV0tNZWRpYVBsYXliYWNrU3RhdGVTdXNwZW5kZWQKK30gV0tfQVBJX0FWQUlMQUJMRSht
YWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKwogLyohIEBhYnN0cmFjdCBBIGNv
cHkgb2YgdGhlIGNvbmZpZ3VyYXRpb24gd2l0aCB3aGljaCB0aGUgd2ViIHZpZXcgd2FzCiAgaW5p
dGlhbGl6ZWQuICovCiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHksIGNvcHkpIFdLV2Vi
Vmlld0NvbmZpZ3VyYXRpb24gKmNvbmZpZ3VyYXRpb247CkBAIC0zMjcsMzEgKzMzMiwyNyBAQCBX
S19DTEFTU19BVkFJTEFCTEUobWFjb3MoMTAuMTApLCBpb3MoOC4wKSkKIC8qISBAYWJzdHJhY3Qg
Q2xvc2VzIGFsbCBvdXQtb2Ytd2luZG93IG1lZGlhIHByZXNlbnRhdGlvbnMgaW4gYSBXS1dlYlZp
ZXcuCiAgQGRpc2N1c3Npb24gSW5jbHVkZXMgcGljdHVyZS1pbi1waWN0dXJlIGFuZCBmdWxsc2Ny
ZWVuLgogICovCi0tICh2b2lkKWNsb3NlQWxsTWVkaWFQcmVzZW50YXRpb25zOih2b2lkICheX051
bGxhYmxlKSh2b2lkKSljb21wbGV0aW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdL
X01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworLSAodm9pZCljbG9zZUFsbE1lZGlhUHJlc2Vu
dGF0aW9uc1dpdGhDb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXl9OdWxsYWJsZSkodm9pZCkpY29t
cGxldGlvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdL
X0lPU19UQkEpKTsKIAogLyohIEBhYnN0cmFjdCBQYXVzZXMgbWVkaWEgcGxheWJhY2sgaW4gV0tX
ZWJWaWV3LgotIEBkaXNjdXNzaW9uIFBhdXNlcyBtZWRpYSBwbGF5YmFjay4gTWVkaWEgaW4gdGhl
IHBhZ2UgY2FuIGJlIHJlc3RhcnRlZCBieSBjYWxsaW5nIHBsYXkoKSBvbiBhIG1lZGlhIGVsZW1l
bnQgb3IgcmVzdW1lKCkgb24gYW4gQXVkaW9Db250ZXh0LgotICovCi0tICh2b2lkKXBhdXNlQWxs
TWVkaWFQbGF5YmFjazoodm9pZCAoXl9OdWxsYWJsZSkodm9pZCkpY29tcGxldGlvbkhhbmRsZXIg
V0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKLQot
LyohIEBhYnN0cmFjdCBTdXNwZW5kcyBtZWRpYSBwbGF5YmFjayBpbiBXS1dlYlZpZXcuCi0gQGRp
c2N1c3Npb24gUGF1c2VzIG1lZGlhIHBsYXliYWNrIGFuZCBibG9ja3MgYWxsIGF0dGVtcHRzIGJ5
IHRoZSBwYWdlIHRvIHJlc3VtZSB1bnRpbCByZXN1bWVBbGxNZWRpYVBsYXliYWNrIGlzIGNhbGxl
ZC4gVGhpcyBzaG91bGQgYWx3YXlzIGJlIGNhbGxlZCBpbiBwYWlycyB3aXRoIHJlc3VtZUFsbE1l
ZGlhUGxheWJhY2suCisgQGRpc2N1c3Npb24gUGF1c2VzIG1lZGlhIHBsYXliYWNrLiBNZWRpYSBp
biB0aGUgcGFnZSBjYW4gYmUgcmVzdGFydGVkIGJ5IGNhbGxpbmcgcGxheSgpIG9uIGEgbWVkaWEg
ZWxlbWVudCBvciByZXN1bWUoKSBvbiBhbiBBdWRpb0NvbnRleHQgaW4gSmF2YVNjcmlwdC4gQSB1
c2VyIGNhbiBhbHNvIHVzZSBtZWRpYSBjb250cm9scyB0byBwbGF5IG1lZGlhIGNvbnRlbnQgYWZ0
ZXIgaXQgaGFzIGJlZW4gcGF1c2VkLgogICovCi0tICh2b2lkKXN1c3BlbmRBbGxNZWRpYVBsYXli
YWNrOih2b2lkICheX051bGxhYmxlKSh2b2lkKSljb21wbGV0aW9uSGFuZGxlciBXS19BUElfQVZB
SUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworLSAodm9pZClwYXVz
ZUFsbE1lZGlhUGxheWJhY2tXaXRoQ29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF5fTnVsbGFibGUp
KHZvaWQpKWNvbXBsZXRpb25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RC
QSksIGlvcyhXS19JT1NfVEJBKSk7CiAKLS8qISBAYWJzdHJhY3QgUmVzdW1lcyBtZWRpYSBwbGF5
YmFjayBpbiBXS1dlYlZpZXcuCi0gQGRpc2N1c3Npb24gVGhpcyBzaG91bGQgYWx3YXlzIGJlIGNh
bGxlZCBpbiBwYWlycyB3aXRoIHN1c3BlbmRBbGxNZWRpYVBsYXliYWNrLgotICovCi0tICh2b2lk
KXJlc3VtZUFsbE1lZGlhUGxheWJhY2s6KHZvaWQgKF4gX051bGxhYmxlKSh2b2lkKSljb21wbGV0
aW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9T
X1RCQSkpOworLyohIEBhYnN0cmFjdCBTdXNwZW5kcyBvciByZXN1bWVzIGFsbCBtZWRpYSBwbGF5
YmFjayBpbiBXS1dlYlZpZXcuCisgIEBwYXJhbSBzdXNwZW5kZWQgV2hldGhlciBtZWRpYSBwbGF5
YmFjayBzaG91bGQgYmUgc3VzcGVuZGVkIG9yIHJlc3VtZWQuCisgIEBkaXNjdXNzaW9uIElmIHN1
c3BlbmRlZCBpcyB0cnVlLCB0aGlzIHBhdXNlcyBtZWRpYSBwbGF5YmFjayBhbmQgYmxvY2tzIGFs
bCBhdHRlbXB0cyBieSB0aGUgcGFnZSBvciB0aGUgdXNlciB0byByZXN1bWUgdW50aWwgc2V0QWxs
TWVkaWFQbGF5YmFja1N1c3BlbmRlZCBpcyBjYWxsZWQgYWdhaW4gd2l0aCBzdXNwZW5kZWQgc2V0
IHRvIGZhbHNlLiBNZWRpYSBwbGF5YmFjayBzaG91bGQgYWx3YXlzIGJlIHN1c3BlbmRlZCBhbmQg
cmVzdW1lZCBpbiBwYWlycy4KKyovCistICh2b2lkKXNldEFsbE1lZGlhUGxheWJhY2tTdXNwZW5k
ZWQ6KEJPT0wpc3VzcGVuZGVkIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkICheX051bGxhYmxlKSh2
b2lkKSljb21wbGV0aW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEp
LCBpb3MoV0tfSU9TX1RCQSkpOwogCiAvKiEgQGFic3RyYWN0IEdldCB0aGUgY3VycmVudCBtZWRp
YSBwbGF5YmFjayBzdGF0ZSBvZiBhIFdLV2ViVmlldy4KICBAcGFyYW0gY29tcGxldGlvbkhhbmRs
ZXIgQSBibG9jayB0byBpbnZva2Ugd2l0aCB0aGUgcmV0dXJuIHZhbHVlIG9mIHRoZSBmdW5jdGlv
biBjYWxsLgogIEBkaXNjdXNzaW9uIElmIG1lZGlhIHBsYXliYWNrIGV4aXN0cywgV0tNZWRpYVBs
YXliYWNrU3RhdGUgd2lsbCBiZSBvbmUgb2YgdGhyZWUKICB2YWx1ZXM6IFdLTWVkaWFQbGF5YmFj
a1BhdXNlZCwgV0tNZWRpYVBsYXliYWNrU3VzcGVuZGVkLCBvciBXS01lZGlhUGxheWJhY2tQbGF5
aW5nLgogIElmIG5vIG1lZGlhIHBsYXliYWNrIGV4aXN0cyBpbiB0aGUgY3VycmVudCBXS1dlYlZp
ZXcsIFdLTWVkaWFQbGF5YmFja1N0YXRlIHdpbGwgZXF1YWwKLSBXS05vTWVkaWFQbGF5YmFjay4K
KyBXS01lZGlhUGxheWJhY2tTdGF0ZU5vbmUuCiAgKi8KLS0gKHZvaWQpcmVxdWVzdE1lZGlhUGxh
eWJhY2tTdGF0ZToodm9pZCAoXikoV0tNZWRpYVBsYXliYWNrU3RhdGUpKWNvbXBsZXRpb25IYW5k
bGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7
CistICh2b2lkKXJlcXVlc3RNZWRpYVBsYXliYWNrU3RhdGVXaXRoQ29tcGxldGlvbkhhbmRsZXI6
KHZvaWQgKF4pKFdLTWVkaWFQbGF5YmFja1N0YXRlKSljb21wbGV0aW9uSGFuZGxlciBXS19BUElf
QVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogCiAvKiEgQGFi
c3RyYWN0IEdldCBhIHNuYXBzaG90IGZvciB0aGUgdmlzaWJsZSB2aWV3cG9ydCBvZiBXS1dlYlZp
ZXcuCiAgQHBhcmFtIHNuYXBzaG90Q29uZmlndXJhdGlvbiBBbiBvYmplY3QgdGhhdCBzcGVjaWZp
ZXMgaG93IHRoZSBzbmFwc2hvdCBpcyBjb25maWd1cmVkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggNDk0NjE2ZTkyNjA0ZmRjNjkzZDQ1
YTFiOWZmYmViOWExYWRmYmUzNC4uODI1MTY2ZWQwNmI1YWMwNDRhZjNkMGI0NjM3NjAzNWRmZDg1
ZjkxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3
Lm1tCkBAIC02Nyw3ICs2Nyw2IEBACiAjaW1wb3J0ICJXS0ZyYW1lSW5mb1ByaXZhdGUuaCIKICNp
bXBvcnQgIldLSGlzdG9yeURlbGVnYXRlUHJpdmF0ZS5oIgogI2ltcG9ydCAiV0tMYXlvdXRNb2Rl
LmgiCi0jaW1wb3J0ICJXS01lZGlhUGxheWJhY2tTdGF0ZS5oIgogI2ltcG9ydCAiV0tOU0RhdGEu
aCIKICNpbXBvcnQgIldLTlNVUkxFeHRyYXMuaCIKICNpbXBvcnQgIldLTmF2aWdhdGlvbkRlbGVn
YXRlLmgiCkBAIC05MTcsNyArOTE2LDcgQEAgc3RhdGljIGJvb2wgdmFsaWRhdGVBcmd1bWVudChp
ZCBhcmd1bWVudCkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLS0gKHZvaWQpY2xvc2VBbGxNZWRp
YVByZXNlbnRhdGlvbnM6KHZvaWQgKF4pKHZvaWQpKWNvbXBsZXRpb25IYW5kbGVyCistICh2b2lk
KWNsb3NlQWxsTWVkaWFQcmVzZW50YXRpb25zV2l0aENvbXBsZXRpb25IYW5kbGVyOih2b2lkIChe
KSh2b2lkKSljb21wbGV0aW9uSGFuZGxlcgogewogICAgIGF1dG8gY2FsbGJhY2tBZ2dyZWdhdG9y
ID0gQ2FsbGJhY2tBZ2dyZWdhdG9yOjpjcmVhdGUoV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikp
OwogCkBAIC05MzMsNyArOTMyLDcgQEAgc3RhdGljIGJvb2wgdmFsaWRhdGVBcmd1bWVudChpZCBh
cmd1bWVudCkKICNlbmRpZgogfQogCi0tICh2b2lkKXBhdXNlQWxsTWVkaWFQbGF5YmFjazoodm9p
ZCAoXikodm9pZCkpY29tcGxldGlvbkhhbmRsZXIKKy0gKHZvaWQpcGF1c2VBbGxNZWRpYVBsYXli
YWNrV2l0aENvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKSh2b2lkKSljb21wbGV0aW9uSGFuZGxl
cgogewogICAgIGlmICghY29tcGxldGlvbkhhbmRsZXIpIHsKICAgICAgICAgX3BhZ2UtPnBhdXNl
QWxsTWVkaWFQbGF5YmFjayhbXSB7IH0pOwpAQCAtOTQzLDE5ICs5NDIsMTMgQEAgc3RhdGljIGJv
b2wgdmFsaWRhdGVBcmd1bWVudChpZCBhcmd1bWVudCkKICAgICBfcGFnZS0+cGF1c2VBbGxNZWRp
YVBsYXliYWNrKG1ha2VCbG9ja1B0cihjb21wbGV0aW9uSGFuZGxlcikpOwogfQogCi0tICh2b2lk
KXN1c3BlbmRBbGxNZWRpYVBsYXliYWNrOih2b2lkICheKSh2b2lkKSljb21wbGV0aW9uSGFuZGxl
cgorLSAodm9pZClzZXRBbGxNZWRpYVBsYXliYWNrU3VzcGVuZGVkOihCT09MKXN1c3BlbmRlZCBj
b21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikodm9pZCkpY29tcGxldGlvbkhhbmRsZXIKIHsKLSAg
ICBpZiAoIWNvbXBsZXRpb25IYW5kbGVyKSB7Ci0gICAgICAgIF9wYWdlLT5zdXNwZW5kQWxsTWVk
aWFQbGF5YmFjayhbXSB7IH0pOwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIF9wYWdlLT5z
dXNwZW5kQWxsTWVkaWFQbGF5YmFjayhtYWtlQmxvY2tQdHIoY29tcGxldGlvbkhhbmRsZXIpKTsK
LX0KKyAgICBpZiAoIWNvbXBsZXRpb25IYW5kbGVyKQorICAgICAgICBjb21wbGV0aW9uSGFuZGxl
ciA9IFtdIHsgfTsKIAotLSAodm9pZClyZXN1bWVBbGxNZWRpYVBsYXliYWNrOih2b2lkICheKSh2
b2lkKSljb21wbGV0aW9uSGFuZGxlcgotewotICAgIGlmICghY29tcGxldGlvbkhhbmRsZXIpIHsK
LSAgICAgICAgX3BhZ2UtPnJlc3VtZUFsbE1lZGlhUGxheWJhY2soW10geyB9KTsKKyAgICBpZiAo
c3VzcGVuZGVkKSB7CisgICAgICAgIF9wYWdlLT5zdXNwZW5kQWxsTWVkaWFQbGF5YmFjayhtYWtl
QmxvY2tQdHIoY29tcGxldGlvbkhhbmRsZXIpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAg
ICBfcGFnZS0+cmVzdW1lQWxsTWVkaWFQbGF5YmFjayhtYWtlQmxvY2tQdHIoY29tcGxldGlvbkhh
bmRsZXIpKTsKQEAgLTk2NiwxMiArOTU5LDEyIEBAIHN0YXRpYyBXS01lZGlhUGxheWJhY2tTdGF0
ZSB0b1dLTWVkaWFQbGF5YmFja1N0YXRlKFdlYktpdDo6TWVkaWFQbGF5YmFja1N0YXRlIG1lCiAg
ICAgc3dpdGNoIChtZWRpYVBsYXliYWNrU3RhdGUpIHsKICAgICBjYXNlIFdlYktpdDo6TWVkaWFQ
bGF5YmFja1N0YXRlOjpOb01lZGlhUGxheWJhY2s6CiAgICAgICAgIHJldHVybiBXS01lZGlhUGxh
eWJhY2tTdGF0ZU5vbmU7CisgICAgY2FzZSBXZWJLaXQ6Ok1lZGlhUGxheWJhY2tTdGF0ZTo6TWVk
aWFQbGF5YmFja1BsYXlpbmc6CisgICAgICAgIHJldHVybiBXS01lZGlhUGxheWJhY2tTdGF0ZVBs
YXlpbmc7CiAgICAgY2FzZSBXZWJLaXQ6Ok1lZGlhUGxheWJhY2tTdGF0ZTo6TWVkaWFQbGF5YmFj
a1BhdXNlZDoKICAgICAgICAgcmV0dXJuIFdLTWVkaWFQbGF5YmFja1N0YXRlUGF1c2VkOwogICAg
IGNhc2UgV2ViS2l0OjpNZWRpYVBsYXliYWNrU3RhdGU6Ok1lZGlhUGxheWJhY2tTdXNwZW5kZWQ6
CiAgICAgICAgIHJldHVybiBXS01lZGlhUGxheWJhY2tTdGF0ZVN1c3BlbmRlZDsKLSAgICBjYXNl
IFdlYktpdDo6TWVkaWFQbGF5YmFja1N0YXRlOjpNZWRpYVBsYXliYWNrUGxheWluZzoKLSAgICAg
ICAgcmV0dXJuIFdLTWVkaWFQbGF5YmFja1N0YXRlUGxheWluZzsKICAgICBkZWZhdWx0OgogICAg
ICAgICBicmVhazsKICAgICB9CkBAIC05NzksNyArOTcyLDcgQEAgc3RhdGljIFdLTWVkaWFQbGF5
YmFja1N0YXRlIHRvV0tNZWRpYVBsYXliYWNrU3RhdGUoV2ViS2l0OjpNZWRpYVBsYXliYWNrU3Rh
dGUgbWUKICAgICByZXR1cm4gV0tNZWRpYVBsYXliYWNrU3RhdGVOb25lOwogfQogCi0tICh2b2lk
KXJlcXVlc3RNZWRpYVBsYXliYWNrU3RhdGU6KHZvaWQgKF4pKFdLTWVkaWFQbGF5YmFja1N0YXRl
KSljb21wbGV0aW9uSGFuZGxlcgorLSAodm9pZClyZXF1ZXN0TWVkaWFQbGF5YmFja1N0YXRlV2l0
aENvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKShXS01lZGlhUGxheWJhY2tTdGF0ZSkpY29tcGxl
dGlvbkhhbmRsZXIKIHsKICAgICBpZiAoIWNvbXBsZXRpb25IYW5kbGVyKQogICAgICAgICByZXR1
cm47CkBAIC0yMDEyLDcgKzIwMDUsNyBAQCBzdGF0aWMgUmV0YWluUHRyPE5TQXJyYXk+IHdrVGV4
dE1hbmlwdWxhdGlvbkVycm9ycyhOU0FycmF5PF9XS1RleHRNYW5pcHVsYXRpb25JdAogCiAtICh2
b2lkKV9jbG9zZUFsbE1lZGlhUHJlc2VudGF0aW9ucwogewotICAgIFtzZWxmIGNsb3NlQWxsTWVk
aWFQcmVzZW50YXRpb25zOm5pbF07CisgICAgW3NlbGYgY2xvc2VBbGxNZWRpYVByZXNlbnRhdGlv
bnNXaXRoQ29tcGxldGlvbkhhbmRsZXI6bmlsXTsKIH0KIAogLSAodm9pZClfc3RvcE1lZGlhQ2Fw
dHVyZQpAQCAtMjAyMiwxNyArMjAxNSwxNyBAQCBzdGF0aWMgUmV0YWluUHRyPE5TQXJyYXk+IHdr
VGV4dE1hbmlwdWxhdGlvbkVycm9ycyhOU0FycmF5PF9XS1RleHRNYW5pcHVsYXRpb25JdAogCiAt
ICh2b2lkKV9zdG9wQWxsTWVkaWFQbGF5YmFjawogewotICAgIFtzZWxmIHBhdXNlQWxsTWVkaWFQ
bGF5YmFjazpuaWxdOworICAgIFtzZWxmIHBhdXNlQWxsTWVkaWFQbGF5YmFja1dpdGhDb21wbGV0
aW9uSGFuZGxlcjpuaWxdOwogfQogCiAtICh2b2lkKV9zdXNwZW5kQWxsTWVkaWFQbGF5YmFjawog
ewotICAgIFtzZWxmIHN1c3BlbmRBbGxNZWRpYVBsYXliYWNrOm5pbF07CisgICAgW3NlbGYgc2V0
QWxsTWVkaWFQbGF5YmFja1N1c3BlbmRlZDpZRVMgY29tcGxldGlvbkhhbmRsZXI6bmlsXTsKIH0K
IAogLSAodm9pZClfcmVzdW1lQWxsTWVkaWFQbGF5YmFjawogewotICAgIFtzZWxmIHJlc3VtZUFs
bE1lZGlhUGxheWJhY2s6bmlsXTsKKyAgICBbc2VsZiBzZXRBbGxNZWRpYVBsYXliYWNrU3VzcGVu
ZGVkOk5PIGNvbXBsZXRpb25IYW5kbGVyOm5pbF07CiB9CiAKIC0gKHZvaWQpX3Jlc3RvcmVBcHBI
aWdobGlnaHRzOihOU0RhdGEgKilkYXRhCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktp
dC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBhMWM2NTMyNzdhYjA0Yjg2NWY0Mjg2NmEzYTZhY2Zh
MDYzNjI4NDdlLi4xYzQ0ODI3NTQ4ZWMyYWRiZmQ5YWJhODRkNjhkZjA2OTI0ZThiNWM4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTk3
NCw3ICs5NzQsNiBAQAogCQk0OTczREY0ODI0MjI5NDFGMDBFNEMyNkEgLyogTmF2aWdhdGluZ1Rv
QXBwQm91bmREb21haW4uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQ5NzNERjQ3MjQyMjk0MUYwMEU0QzI2QSAvKiBOYXZpZ2F0aW5nVG9BcHBCb3VuZERv
bWFpbi5oICovOyB9OwogCQk0OTkwMDAyMTI0RDI0MjlDMDAwNDlDQjQgLyogV0tSZW5kZXJMYXll
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDk5MDAw
MUYyNEQyNDI5QzAwMDQ5Q0I0IC8qIFdLUmVuZGVyTGF5ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0OTkwMDAyNDI0RDI0QzI5MDAwNDlDQjQg
LyogV0tSZW5kZXJPYmplY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQ5OTAwMDIzMjREMjRDMUMwMDA0OUNCNCAvKiBXS1JlbmRlck9iamVjdC5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTQ5OTE3REE3
MjUyRDY0OUUwMDUwMzEzRiAvKiBXS01lZGlhUGxheWJhY2tTdGF0ZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDk5MTdEQTYyNTJENjQ5RTAwNTAzMTNG
IC8qIFdLTWVkaWFQbGF5YmFja1N0YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHVibGljLCApOyB9OyB9OwogCQk0OUJDQTE5MjIzQTE3NzY2MDAyOEE4MzYgLyogQVBJUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0ZpcnN0UGFydHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QkNBMTkxMjNBMTc3NjYwMDI4QTgzNiAvKiBBUElSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzRmlyc3RQYXJ0eS5oICovOyB9OwogCQk0OUJDQTE5NTIzQTE4Q0ZEMDAy
OEE4MzYgLyogX1dLUmVzb3VyY2VMb2FkU3RhdGlzdGljc0ZpcnN0UGFydHlJbnRlcm5hbC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlCQ0ExOTAyM0Ex
NzU0OTAwMjhBODM2IC8qIF9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NGaXJzdFBhcnR5SW50ZXJu
YWwuaCAqLzsgfTsKIAkJNDlCQ0ExOTcyM0ExOTMwRDAwMjhBODM2IC8qIEFQSVJlc291cmNlTG9h
ZFN0YXRpc3RpY3NUaGlyZFBhcnR5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0OUJDQTE5NjIzQTE4RjYyMDAyOEE4MzYgLyogQVBJUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc1RoaXJkUGFydHkuaCAqLzsgfTsKQEAgLTEyNTQ0LDcgKzEyNTQzLDYgQEAKIAkJ
CQk1Q0U5MTIxNDIyOTNDMjgwMDA1QkVDNzggLyogV0tNYWluLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlBMTU3OUIyODI1ODQ5MEU1MDA1MjgyMzYgLyogV0tNZWRpYUZvcm1hdFJlYWRlci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJOUFDQzA3QjkyNUM4MjE4NDAwREM2Mzg2IC8qIFdLTWVkaWFLZXlTeXN0
ZW1QZXJtaXNzaW9uQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAotCQkJCTQ5OTE3REE3MjUyRDY0
OUUwMDUwMzEzRiAvKiBXS01lZGlhUGxheWJhY2tTdGF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MUFCNDBFRTYxQkY2NzdFMzAwQkE4MUJFIC8qIFdLTWVudUl0ZW1JZGVudGlmaWVyc1ByaXZhdGUu
aCBpbiBIZWFkZXJzICovLAogCQkJCTVDQUJEQzg2MjJDNDBGREUwMDFFREU4RSAvKiBXS01lc3Nh
Z2VMaXN0ZW5lci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzExRTE2OTQyMTJCODdDNTAwOTg1RkY2
IC8qIFdLTW9ja0Rpc3BsYXkuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hh
bmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDRmNjFhMDM2OTg2MzAxZmM0ODA3YzJiMDg4
ZWU1NmU2OGM2ZTY2ZTMuLjViZTRmYzkzNjAyNGMyYjBiZmRkOTgwZDM3NzNjNmRmYTU1ZGQwMzgg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAyMS0wMi0xNSAgS2F0ZSBDaGVuZXkgIDxrYXRoZXJpbmVfY2hlbmV5QGFw
cGxlLmNvbT4KKworICAgICAgICBDbGVhbiB1cCBXS1dlYlZpZXcgbWVkaWEgQVBJCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjE5MjkKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzczNDYwMTIxPgorCisgICAgICAgIFJldmlld2VkIGJ5IFlvdWVubiBG
YWJsZXQuCisKKyAgICAgICAgVXBkYXRlIG5hbWluZy4KKworICAgICAgICAqIFRlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Q29jb2EvU3RvcFN1c3BlbmRSZXN1bWVBbGxNZWRpYS5tbToKKyAgICAg
ICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Q29jb2EvV0tXZWJWaWV3Q2xvc2VBbGxNZWRpYVByZXNlbnRhdGlvbnMubW06CisgICAg
ICAgIChURVNUKToKKwogMjAyMS0wMi0xNSAgQWFrYXNoIEphaW4gIDxhYWthc2hfamFpbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgW2V3c10gQWRkIHB5dGhvbiAzIHN1cHBvcnQgLSBwYXJ0IDIKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvTWVkaWFNdXRl
ZFN0YXRlLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9NZWRpYU11
dGVkU3RhdGUubW0KaW5kZXggOTYyM2VhNDY5MzJhOTI5Njk4MDY1NWJjOTkzYTM1NzY1ODU2NzBl
Yi4uZjNmOGY2NDY1MTJlNjQzYTNjNDA1YTc3MzNlM2IwNGQxYjJmNGMxYiAxMDA2NDQKLS0tIGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9NZWRpYU11dGVkU3RhdGUubW0K
KysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9NZWRpYU11dGVkU3Rh
dGUubW0KQEAgLTI5LDcgKzI5LDYgQEAKIAogI2ltcG9ydCAiUGxhdGZvcm1VdGlsaXRpZXMuaCIK
ICNpbXBvcnQgIlRlc3RXS1dlYlZpZXcuaCIKLSNpbXBvcnQgPFdlYktpdC9XS01lZGlhUGxheWJh
Y2tTdGF0ZS5oPgogI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlldy5oPgogI2ltcG9ydCA8V2ViS2l0
L1dLV2ViVmlld1ByaXZhdGUuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KZGlmZiAtLWdp
dCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvU3RvcFN1c3BlbmRSZXN1
bWVBbGxNZWRpYS5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvU3Rv
cFN1c3BlbmRSZXN1bWVBbGxNZWRpYS5tbQppbmRleCBlNzdiZWQ2YjhiYmJlNDk3ZWNhYjU5YWEz
NzQ1ODNkYTdlOTQzODNmLi4xMTc5NzE4ZDVlZjY0NzJhZTBmZTk3OWNmZjBmOGZjOWUyNjc1NmRk
IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1N0b3BT
dXNwZW5kUmVzdW1lQWxsTWVkaWEubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXRDb2NvYS9TdG9wU3VzcGVuZFJlc3VtZUFsbE1lZGlhLm1tCkBAIC0yOSw3ICsyOSw2IEBA
CiAKICNpbXBvcnQgIlBsYXRmb3JtVXRpbGl0aWVzLmgiCiAjaW1wb3J0ICJUZXN0V0tXZWJWaWV3
LmgiCi0jaW1wb3J0IDxXZWJLaXQvV0tNZWRpYVBsYXliYWNrU3RhdGUuaD4KICNpbXBvcnQgPFdl
YktpdC9XS1dlYlZpZXcuaD4KICNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXdQcml2YXRlLmg+CiAj
aW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3UHJpdmF0ZUZvclRlc3RpbmcuaD4KQEAgLTUzLDcgKzUy
LDcgQEAgVEVTVChXS1dlYlZpZXcsIFN0b3BBbGxNZWRpYVBsYXliYWNrKQogCiAgICAgX19ibG9j
ayBib29sIGRpZFBhdXNlID0gZmFsc2U7CiAgICAgW3dlYlZpZXcgcGVyZm9ybUFmdGVyUmVjZWl2
aW5nTWVzc2FnZTpAInBhdXNlIiBhY3Rpb246XnsgZGlkUGF1c2UgPSB0cnVlOyB9XTsKLSAgICBb
d2ViVmlldyBwYXVzZUFsbE1lZGlhUGxheWJhY2s6bmlsXTsKKyAgICBbd2ViVmlldyBwYXVzZUFs
bE1lZGlhUGxheWJhY2tXaXRoQ29tcGxldGlvbkhhbmRsZXI6bmlsXTsKICAgICBUZXN0V2ViS2l0
QVBJOjpVdGlsOjpydW4oJmRpZFBhdXNlKTsKIH0KIApAQCAtNzMsNyArNzIsNyBAQCBURVNUKFdL
V2ViVmlldywgU3VzcGVuZFJlc3VtZUFsbE1lZGlhUGxheWJhY2spCiAKICAgICBfX2Jsb2NrIGJv
b2wgZGlkUGF1c2UgPSBmYWxzZTsKICAgICBbd2ViVmlldyBwZXJmb3JtQWZ0ZXJSZWNlaXZpbmdN
ZXNzYWdlOkAicGF1c2UiIGFjdGlvbjpeeyBkaWRQYXVzZSA9IHRydWU7IH1dOwotICAgIFt3ZWJW
aWV3IHN1c3BlbmRBbGxNZWRpYVBsYXliYWNrOm5pbF07CisgICAgW3dlYlZpZXcgc2V0QWxsTWVk
aWFQbGF5YmFja1N1c3BlbmRlZDpZRVMgY29tcGxldGlvbkhhbmRsZXI6bmlsXTsKICAgICBUZXN0
V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRpZFBhdXNlKTsKIAogICAgIF9fYmxvY2sgYm9vbCBkaWRS
ZWplY3QgPSBmYWxzZTsKQEAgLTgzLDcgKzgyLDcgQEAgVEVTVChXS1dlYlZpZXcsIFN1c3BlbmRS
ZXN1bWVBbGxNZWRpYVBsYXliYWNrKQogCiAgICAgZGlkQmVnaW5QbGF5aW5nID0gZmFsc2U7CiAg
ICAgW3dlYlZpZXcgcGVyZm9ybUFmdGVyUmVjZWl2aW5nTWVzc2FnZTpAInBsYXlpbmciIGFjdGlv
bjpeeyBkaWRCZWdpblBsYXlpbmcgPSB0cnVlOyB9XTsKLSAgICBbd2ViVmlldyByZXN1bWVBbGxN
ZWRpYVBsYXliYWNrOm5pbF07CisgICAgW3dlYlZpZXcgc2V0QWxsTWVkaWFQbGF5YmFja1N1c3Bl
bmRlZDpOTyBjb21wbGV0aW9uSGFuZGxlcjpuaWxdOwogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6
OnJ1bigmZGlkQmVnaW5QbGF5aW5nKTsKIH0KIApAQCAtMTAzLDcgKzEwMiw3IEBAIFRFU1QoV0tX
ZWJWaWV3LCBTdXNwZW5kUmVzdW1lQWxsTWVkaWFQbGF5YmFja011bHRpcGxlVGltZXMpCiAKICAg
ICBfX2Jsb2NrIGJvb2wgZGlkUGF1c2UgPSBmYWxzZTsKICAgICBbd2ViVmlldyBwZXJmb3JtQWZ0
ZXJSZWNlaXZpbmdNZXNzYWdlOkAicGF1c2UiIGFjdGlvbjpeeyBkaWRQYXVzZSA9IHRydWU7IH1d
OwotICAgIFt3ZWJWaWV3IHN1c3BlbmRBbGxNZWRpYVBsYXliYWNrOm5pbF07CisgICAgW3dlYlZp
ZXcgc2V0QWxsTWVkaWFQbGF5YmFja1N1c3BlbmRlZDpZRVMgY29tcGxldGlvbkhhbmRsZXI6bmls
XTsKICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRpZFBhdXNlKTsKIAogICAgIF9fYmxv
Y2sgYm9vbCBkaWRSZWplY3QgPSBmYWxzZTsKQEAgLTExMywxMyArMTEyLDEzIEBAIFRFU1QoV0tX
ZWJWaWV3LCBTdXNwZW5kUmVzdW1lQWxsTWVkaWFQbGF5YmFja011bHRpcGxlVGltZXMpCiAKICAg
ICAvLyBTdXNwZW5kIGFnYWluIHRvIGluY3JlbWVudCB0aGUgY291bnRlci4KICAgICBfX2Jsb2Nr
IGJvb2wgaXNEb25lID0gZmFsc2U7Ci0gICAgW3dlYlZpZXcgc3VzcGVuZEFsbE1lZGlhUGxheWJh
Y2s6XnsKKyAgICBbd2ViVmlldyBzZXRBbGxNZWRpYVBsYXliYWNrU3VzcGVuZGVkOllFUyBjb21w
bGV0aW9uSGFuZGxlcjpeewogICAgICAgICBpc0RvbmUgPSB0cnVlOwogICAgIH1dOwogICAgIFRl
c3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmaXNEb25lKTsKIAogICAgIGlzRG9uZSA9IGZhbHNlOwot
ICAgIFt3ZWJWaWV3IHJlc3VtZUFsbE1lZGlhUGxheWJhY2s6XnsKKyAgICBbd2ViVmlldyBzZXRB
bGxNZWRpYVBsYXliYWNrU3VzcGVuZGVkOk5PIGNvbXBsZXRpb25IYW5kbGVyOl57CiAgICAgICAg
IGlzRG9uZSA9IHRydWU7CiAgICAgfV07CiAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZp
c0RvbmUpOwpAQCAtMTMyLDcgKzEzMSw3IEBAIFRFU1QoV0tXZWJWaWV3LCBTdXNwZW5kUmVzdW1l
QWxsTWVkaWFQbGF5YmFja011bHRpcGxlVGltZXMpCiAKICAgICBkaWRCZWdpblBsYXlpbmcgPSBm
YWxzZTsKICAgICBbd2ViVmlldyBwZXJmb3JtQWZ0ZXJSZWNlaXZpbmdNZXNzYWdlOkAicGxheWlu
ZyIgYWN0aW9uOl57IGRpZEJlZ2luUGxheWluZyA9IHRydWU7IH1dOwotICAgIFt3ZWJWaWV3IHJl
c3VtZUFsbE1lZGlhUGxheWJhY2s6bmlsXTsKKyAgICBbd2ViVmlldyBzZXRBbGxNZWRpYVBsYXli
YWNrU3VzcGVuZGVkOk5PIGNvbXBsZXRpb25IYW5kbGVyOm5pbF07CiAgICAgVGVzdFdlYktpdEFQ
STo6VXRpbDo6cnVuKCZkaWRCZWdpblBsYXlpbmcpOwogfQogCkBAIC0xNTIsMTEgKzE1MSwxMSBA
QCBURVNUKFdLV2ViVmlldywgQ2hlY2tNZWRpYVBsYXliYWNrU3VzcGVuZGVkKQogCiAgICAgX19i
bG9jayBib29sIGRpZFBhdXNlID0gZmFsc2U7CiAgICAgW3dlYlZpZXcgcGVyZm9ybUFmdGVyUmVj
ZWl2aW5nTWVzc2FnZTpAInBhdXNlIiBhY3Rpb246XnsgZGlkUGF1c2UgPSB0cnVlOyB9XTsKLSAg
ICBbd2ViVmlldyBzdXNwZW5kQWxsTWVkaWFQbGF5YmFjazpuaWxdOworICAgIFt3ZWJWaWV3IHNl
dEFsbE1lZGlhUGxheWJhY2tTdXNwZW5kZWQ6WUVTIGNvbXBsZXRpb25IYW5kbGVyOm5pbF07CiAg
ICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkaWRQYXVzZSk7CiAKICAgICBfX2Jsb2NrIGJv
b2wgaXNEb25lID0gZmFsc2U7Ci0gICAgW3dlYlZpZXcgcmVxdWVzdE1lZGlhUGxheWJhY2tTdGF0
ZTpeKFdLTWVkaWFQbGF5YmFja1N0YXRlIHN0YXRlKSB7CisgICAgW3dlYlZpZXcgcmVxdWVzdE1l
ZGlhUGxheWJhY2tTdGF0ZVdpdGhDb21wbGV0aW9uSGFuZGxlcjpeKFdLTWVkaWFQbGF5YmFja1N0
YXRlIHN0YXRlKSB7CiAgICAgICAgIEVYUEVDVF9FUShzdGF0ZSwgV0tNZWRpYVBsYXliYWNrU3Rh
dGVTdXNwZW5kZWQpOwogICAgICAgICBpc0RvbmUgPSB0cnVlOwogICAgIH1dOwpAQCAtMTY0LDEx
ICsxNjMsMTEgQEAgVEVTVChXS1dlYlZpZXcsIENoZWNrTWVkaWFQbGF5YmFja1N1c3BlbmRlZCkK
IAogICAgIGRpZEJlZ2luUGxheWluZyA9IGZhbHNlOwogICAgIFt3ZWJWaWV3IHBlcmZvcm1BZnRl
clJlY2VpdmluZ01lc3NhZ2U6QCJwbGF5aW5nIiBhY3Rpb246XnsgZGlkQmVnaW5QbGF5aW5nID0g
dHJ1ZTsgfV07Ci0gICAgW3dlYlZpZXcgcmVzdW1lQWxsTWVkaWFQbGF5YmFjazpuaWxdOworICAg
IFt3ZWJWaWV3IHNldEFsbE1lZGlhUGxheWJhY2tTdXNwZW5kZWQ6Tk8gY29tcGxldGlvbkhhbmRs
ZXI6bmlsXTsKICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRpZEJlZ2luUGxheWluZyk7
CiAgICAgCiAgICAgaXNEb25lID0gZmFsc2U7Ci0gICAgW3dlYlZpZXcgcmVxdWVzdE1lZGlhUGxh
eWJhY2tTdGF0ZTpeKFdLTWVkaWFQbGF5YmFja1N0YXRlIHN0YXRlKSB7CisgICAgW3dlYlZpZXcg
cmVxdWVzdE1lZGlhUGxheWJhY2tTdGF0ZVdpdGhDb21wbGV0aW9uSGFuZGxlcjpeKFdLTWVkaWFQ
bGF5YmFja1N0YXRlIHN0YXRlKSB7CiAgICAgICAgIEVYUEVDVF9FUShzdGF0ZSwgV0tNZWRpYVBs
YXliYWNrU3RhdGVQbGF5aW5nKTsKICAgICAgICAgaXNEb25lID0gdHJ1ZTsKICAgICB9XTsKQEAg
LTE4Myw3ICsxODIsNyBAQCBURVNUKFdLV2ViVmlldywgQ2hlY2tNZWRpYVBsYXliYWNrRXhpc3Rz
KQogICAgIFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlMb2FkSFRNTFN0cmluZzpAInN0YXJ0IG5ldHdv
cmsgcHJvY2VzcyJdOwogCiAgICAgX19ibG9jayBib29sIGlzRG9uZSA9IGZhbHNlOwotICAgIFt3
ZWJWaWV3IHJlcXVlc3RNZWRpYVBsYXliYWNrU3RhdGU6XihXS01lZGlhUGxheWJhY2tTdGF0ZSBz
dGF0ZSkgeworICAgIFt3ZWJWaWV3IHJlcXVlc3RNZWRpYVBsYXliYWNrU3RhdGVXaXRoQ29tcGxl
dGlvbkhhbmRsZXI6XihXS01lZGlhUGxheWJhY2tTdGF0ZSBzdGF0ZSkgewogICAgICAgICBFWFBF
Q1RfRVEoc3RhdGUsIFdLTWVkaWFQbGF5YmFja1N0YXRlTm9uZSk7CiAgICAgICAgIGlzRG9uZSA9
IHRydWU7CiAgICAgfV07CkBAIC0xOTIsNyArMTkxLDcgQEAgVEVTVChXS1dlYlZpZXcsIENoZWNr
TWVkaWFQbGF5YmFja0V4aXN0cykKICAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9hZEhUTUxT
dHJpbmc6QCI8dmlkZW8gc3JjPVwidmlkZW8td2l0aC1hdWRpby5tcDRcIiB3ZWJraXQtcGxheXNp
bmxpbmU+PC92aWRlbz4iXTsKIAogICAgIGlzRG9uZSA9IGZhbHNlOwotICAgIFt3ZWJWaWV3IHJl
cXVlc3RNZWRpYVBsYXliYWNrU3RhdGU6XihXS01lZGlhUGxheWJhY2tTdGF0ZSBzdGF0ZSkgewor
ICAgIFt3ZWJWaWV3IHJlcXVlc3RNZWRpYVBsYXliYWNrU3RhdGVXaXRoQ29tcGxldGlvbkhhbmRs
ZXI6XihXS01lZGlhUGxheWJhY2tTdGF0ZSBzdGF0ZSkgewogICAgICAgICBFWFBFQ1RfRVEoc3Rh
dGUsIFdLTWVkaWFQbGF5YmFja1N0YXRlUGxheWluZyk7CiAgICAgICAgIGlzRG9uZSA9IHRydWU7
CiAgICAgfV07CkBAIC0yMDAsNyArMTk5LDcgQEAgVEVTVChXS1dlYlZpZXcsIENoZWNrTWVkaWFQ
bGF5YmFja0V4aXN0cykKICAgICAKICAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9hZEhUTUxT
dHJpbmc6QCI8Ym9keT48L2JvZHk+Il07CiAgICAgaXNEb25lID0gZmFsc2U7Ci0gICAgW3dlYlZp
ZXcgcmVxdWVzdE1lZGlhUGxheWJhY2tTdGF0ZTpeKFdLTWVkaWFQbGF5YmFja1N0YXRlIHN0YXRl
KSB7CisgICAgW3dlYlZpZXcgcmVxdWVzdE1lZGlhUGxheWJhY2tTdGF0ZVdpdGhDb21wbGV0aW9u
SGFuZGxlcjpeKFdLTWVkaWFQbGF5YmFja1N0YXRlIHN0YXRlKSB7CiAgICAgICAgIEVYUEVDVF9F
UShzdGF0ZSwgV0tNZWRpYVBsYXliYWNrU3RhdGVOb25lKTsKICAgICAgICAgaXNEb25lID0gdHJ1
ZTsKICAgICB9XTsKQEAgLTIyMiw3ICsyMjEsNyBAQCBURVNUKFdLV2ViVmlldywgQ2hlY2tNZWRp
YVBsYXliYWNrUGF1c2VkKQogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZGlkQmVnaW5Q
bGF5aW5nKTsKIAogICAgIF9fYmxvY2sgYm9vbCBpc0RvbmUgPSBmYWxzZTsKLSAgICBbd2ViVmll
dyByZXF1ZXN0TWVkaWFQbGF5YmFja1N0YXRlOl4oV0tNZWRpYVBsYXliYWNrU3RhdGUgc3RhdGUp
IHsKKyAgICBbd2ViVmlldyByZXF1ZXN0TWVkaWFQbGF5YmFja1N0YXRlV2l0aENvbXBsZXRpb25I
YW5kbGVyOl4oV0tNZWRpYVBsYXliYWNrU3RhdGUgc3RhdGUpIHsKICAgICAgICAgRVhQRUNUX0VR
KHN0YXRlLCBXS01lZGlhUGxheWJhY2tTdGF0ZVBsYXlpbmcpOwogICAgICAgICBpc0RvbmUgPSB0
cnVlOwogICAgIH1dOwpAQCAtMjMwLDExICsyMjksMTEgQEAgVEVTVChXS1dlYlZpZXcsIENoZWNr
TWVkaWFQbGF5YmFja1BhdXNlZCkKICAgICAKICAgICBfX2Jsb2NrIGJvb2wgZGlkUGF1c2UgPSBm
YWxzZTsKICAgICBbd2ViVmlldyBwZXJmb3JtQWZ0ZXJSZWNlaXZpbmdNZXNzYWdlOkAicGF1c2Ui
IGFjdGlvbjpeeyBkaWRQYXVzZSA9IHRydWU7IH1dOwotICAgIFt3ZWJWaWV3IHBhdXNlQWxsTWVk
aWFQbGF5YmFjazpuaWxdOworICAgIFt3ZWJWaWV3IHBhdXNlQWxsTWVkaWFQbGF5YmFja1dpdGhD
b21wbGV0aW9uSGFuZGxlcjpuaWxdOwogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZGlk
UGF1c2UpOwogICAgIAogICAgIGlzRG9uZSA9IGZhbHNlOwotICAgIFt3ZWJWaWV3IHJlcXVlc3RN
ZWRpYVBsYXliYWNrU3RhdGU6XihXS01lZGlhUGxheWJhY2tTdGF0ZSBzdGF0ZSkgeworICAgIFt3
ZWJWaWV3IHJlcXVlc3RNZWRpYVBsYXliYWNrU3RhdGVXaXRoQ29tcGxldGlvbkhhbmRsZXI6XihX
S01lZGlhUGxheWJhY2tTdGF0ZSBzdGF0ZSkgewogICAgICAgICBFWFBFQ1RfVFJVRShXS01lZGlh
UGxheWJhY2tTdGF0ZVBhdXNlZCk7CiAgICAgICAgIGlzRG9uZSA9IHRydWU7CiAgICAgfV07CmRp
ZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dLV2ViVmll
d0Nsb3NlQWxsTWVkaWFQcmVzZW50YXRpb25zLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRDb2NvYS9XS1dlYlZpZXdDbG9zZUFsbE1lZGlhUHJlc2VudGF0aW9ucy5tbQppbmRl
eCBiY2Q4NDM4NzcxZmMxZTY2NzZkOTlkYjg3NWYyN2NjZTZiMTk2MjJkLi41NmYyNGI0NWZjNzlh
ZGMyNzhhMTI0ODYwNDJiMzIyODc2OTM3MTMxIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdENvY29hL1dLV2ViVmlld0Nsb3NlQWxsTWVkaWFQcmVzZW50YXRpb25z
Lm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tXZWJWaWV3
Q2xvc2VBbGxNZWRpYVByZXNlbnRhdGlvbnMubW0KQEAgLTc4LDcgKzc4LDcgQEAgVEVTVChXS1dl
YlZpZXdDbG9zZUFsbE1lZGlhUHJlc2VudGF0aW9ucywgUGljdHVyZUluUGljdHVyZSkKICAgICBs
b2FkUGljdHVyZUluUGljdHVyZSh3ZWJWaWV3KTsKIAogICAgIHN0YXRpYyBib29sIGlzRG9uZSA9
IGZhbHNlOwotICAgIFt3ZWJWaWV3IGNsb3NlQWxsTWVkaWFQcmVzZW50YXRpb25zOl57CisgICAg
W3dlYlZpZXcgY2xvc2VBbGxNZWRpYVByZXNlbnRhdGlvbnNXaXRoQ29tcGxldGlvbkhhbmRsZXI6
XnsKICAgICAgICAgaXNEb25lID0gdHJ1ZTsKICAgICB9XTsKICAgICBUZXN0V2ViS2l0QVBJOjpV
dGlsOjpydW4oJmlzRG9uZSk7CkBAIC0xMTQsNyArMTE0LDcgQEAgVEVTVChXS1dlYlZpZXdDbG9z
ZUFsbE1lZGlhUHJlc2VudGF0aW9ucywgVmlkZW9GdWxsc2NyZWVuKQogICAgIH0gd2hpbGUgKHRy
dWUpOwogCiAgICAgc3RhdGljIGJvb2wgaXNEb25lID0gZmFsc2U7Ci0gICAgW3dlYlZpZXcgY2xv
c2VBbGxNZWRpYVByZXNlbnRhdGlvbnM6XnsKKyAgICBbd2ViVmlldyBjbG9zZUFsbE1lZGlhUHJl
c2VudGF0aW9uc1dpdGhDb21wbGV0aW9uSGFuZGxlcjpeewogICAgICAgICBpc0RvbmUgPSB0cnVl
OwogICAgIH1dOwogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmaXNEb25lKTsKQEAgLTE0
Miw3ICsxNDIsNyBAQCBURVNUKFdLV2ViVmlld0Nsb3NlQWxsTWVkaWFQcmVzZW50YXRpb25zLCBF
bGVtZW50RnVsbHNjcmVlbikKICAgICBbd2ViVmlldyBwZXJmb3JtQWZ0ZXJSZWNlaXZpbmdNZXNz
YWdlOkAiZnVsbHNjcmVlbmNoYW5nZSIgYWN0aW9uOl57IGZ1bGxzY3JlZW5Nb2RlQ2hhbmdlZCA9
IHRydWU7IH1dOwogCiAgICAgc3RhdGljIGJvb2wgaXNEb25lID0gZmFsc2U7Ci0gICAgW3dlYlZp
ZXcgY2xvc2VBbGxNZWRpYVByZXNlbnRhdGlvbnM6XnsKKyAgICBbd2ViVmlldyBjbG9zZUFsbE1l
ZGlhUHJlc2VudGF0aW9uc1dpdGhDb21wbGV0aW9uSGFuZGxlcjpeewogICAgICAgICBpc0RvbmUg
PSB0cnVlOwogICAgIH1dOwogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmaXNEb25lKTsK
QEAgLTE2NywxMiArMTY3LDEyIEBAIFRFU1QoV0tXZWJWaWV3Q2xvc2VBbGxNZWRpYVByZXNlbnRh
dGlvbnMsIE11bHRpcGxlU2VxdWVudGlhbENsb3NlQWxsTWVkaWFQcmVzZW50CiAgICAgbG9hZFBp
Y3R1cmVJblBpY3R1cmUod2ViVmlldyk7CiAKICAgICBzdGF0aWMgYm9vbCBmaXJzdElzRG9uZSA9
IGZhbHNlOwotICAgIFt3ZWJWaWV3IGNsb3NlQWxsTWVkaWFQcmVzZW50YXRpb25zOl57CisgICAg
W3dlYlZpZXcgY2xvc2VBbGxNZWRpYVByZXNlbnRhdGlvbnNXaXRoQ29tcGxldGlvbkhhbmRsZXI6
XnsKICAgICAgICAgZmlyc3RJc0RvbmUgPSB0cnVlOwogICAgIH1dOwogCiAgICAgc3RhdGljIGJv
b2wgc2Vjb25kSXNEb25lID0gZmFsc2U7Ci0gICAgW3dlYlZpZXcgY2xvc2VBbGxNZWRpYVByZXNl
bnRhdGlvbnM6XnsKKyAgICBbd2ViVmlldyBjbG9zZUFsbE1lZGlhUHJlc2VudGF0aW9uc1dpdGhD
b21wbGV0aW9uSGFuZGxlcjpeewogICAgICAgICBzZWNvbmRJc0RvbmUgPSB0cnVlOwogICAgIH1d
OwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>