<?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>228300</bug_id>
          
          <creation_ts>2021-07-26 14:07:25 -0700</creation_ts>
          <short_desc>[macOS Monterey] Pressing Fn+E should present the emoji picker when editing</short_desc>
          <delta_ts>2021-07-26 19:21:25 -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>UI Events</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>bdakin</cc>
    
    <cc>hi</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1779560</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-07-26 14:07:25 -0700</bug_when>
    <thetext>...it currently just inserts the character &quot;e&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1779561</commentid>
    <comment_count>1</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-07-26 14:07:48 -0700</bug_when>
    <thetext>rdar://77558672</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1779621</commentid>
    <comment_count>2</comment_count>
      <attachid>434256</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-07-26 16:48:44 -0700</bug_when>
    <thetext>Created attachment 434256
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1779631</commentid>
    <comment_count>3</comment_count>
      <attachid>434258</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-07-26 16:57:31 -0700</bug_when>
    <thetext>Created attachment 434258
Fix path in Xcode project</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1779655</commentid>
    <comment_count>4</comment_count>
      <attachid>434261</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-07-26 17:53:36 -0700</bug_when>
    <thetext>Created attachment 434261
Fix test on pre-Monterey macOS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1779668</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-07-26 19:21:24 -0700</bug_when>
    <thetext>Committed r280336 (239983@main): &lt;https://commits.webkit.org/239983@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 434261.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>434256</attachid>
            <date>2021-07-26 16:48:44 -0700</date>
            <delta_ts>2021-07-26 16:59:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228300-20210726164843.patch</filename>
            <type>text/plain</type>
            <size>19556</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMTYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBmMDE5ZDNj
ZTEyMDNmM2ZhMTA0ZWY5ZmFjNGZmYTQwNmFiOTAyZjYwLi5iOGExMmJmOGRmMDE4ZGYyNTQwZmE2
YTI0NWY5ZTc5ZGZlZTA5Y2M4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAor
MjAyMS0wNy0yNiAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAg
ICAgICBbbWFjT1MgTW9udGVyZXldIFByZXNzaW5nIEZuK0Ugc2hvdWxkIHByZXNlbnQgdGhlIGVt
b2ppIHBpY2tlciB3aGVuIGVkaXRpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyODMwMAorICAgICAgICByZGFyOi8vNzc1NTg2NzIKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBuZXcgU1BJIGRl
Y2xhcmF0aW9uIG9uIE5TTWVudS4gU2VlIFdlYktpdCBhbmQgV2ViS2l0TGVnYWN5IGNoYW5nZXMg
Zm9yIG1vcmUgaW5mb3JtYXRpb24uCisKKyAgICAgICAgKiBwYWwvc3BpL21hYy9OU01lbnVTUEku
aDoKKwogMjAyMS0wNy0yMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAg
ICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyByMjgwMTI5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBjMGZjZGIzOWJl
MjllZGM1Zjg5MTQ2ZGRiMTExNzE2N2E0ZWNmOWJjLi4zNDUyZDNmNTc3NWUxMDRhMDA5NjA4N2Fi
MjA0OWM2ZjU4MzhkNzRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDIxLTA3LTI2ICBX
ZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPUyBN
b250ZXJleV0gUHJlc3NpbmcgRm4rRSBzaG91bGQgcHJlc2VudCB0aGUgZW1vamkgcGlja2VyIHdo
ZW4gZWRpdGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjI4MzAwCisgICAgICAgIHJkYXI6Ly83NzU1ODY3MgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIG1hY09TIE1vbnRlcmV5LCB0aGUgc3lzdGVt
LXdpZGUgRm4rRSBrZXkgY29tbWFuZCBwcmVzZW50cyB0aGUgRW1vamkgJiBTeW1ib2xzIFVJIGFz
IGEgcG9wb3Zlci4gSG93ZXZlciwgdGhpcworICAgICAgICBuZXcga2V5IGNvbW1hbmQgY3VycmVu
dGx5IGRvZXMgbm90IHdvcmsgaW4gZWRpdGFibGUgY29udGV4dHMgaW4gYm90aCBXZWJLaXQxIGFu
ZCBXZWJLaXQyIHZpZXdzIG9uIG1hY09TLCB3aGVyZQorICAgICAgICB3ZSBlbmQgdXAganVzdCBp
bnNlcnRpbmcgdGhlIGNoYXJhY3RlciAiZSIuCisKKyAgICAgICAgVGhpcyBpcyBiZWNhdXNlLCBv
biBib3RoIHBvcnRzLCB3ZSBhdHRlbXB0IHRvIGludGVycHJldCBOU0V2ZW50cyBieSBjYWxsaW5n
IGJhY2sgaW50byBBcHBLaXQgdG8gaGFuZGxlIHRoZQorICAgICAgICBldmVudCwgcmVjb3JkaW5n
IHRoZSBzZWxlY3RvcnMgdGhhdCAqd291bGQndmUqIGJlZW4gcGVyZm9ybWVkLCBhbmQgdGhlbiB1
c2luZyB0aGlzIGluZm9ybWF0aW9uIHRvIGJ1aWxkIHVwIGEKKyAgICAgICAgbGlzdCBvZiBXZWJD
b3JlOjpLZXlDb21tYW5kIGZvciB0aGUgZXZlbnQgKHdoaWNoIGFyZSBsYXRlciBjb252ZXJ0ZWQg
aW50byBlZGl0aW5nIGNvbW1hbmRzKS4gSW4gV2ViS2l0Miwgd2UKKyAgICAgICAgY2FsbCBpbnRv
IGAtW05TVGV4dElucHV0Q29udGV4dCBoYW5kbGVFdmVudEJ5S2V5Ym9hcmRMYXlvdXQ6XWAgdG8g
aGFuZGxlIHRoZSBldmVudCwgYW5kIGNhcHR1cmUgdGhlIHJlc3VsdGluZworICAgICAgICBjYWxs
cyBiYWNrIGludG8gYFdLV2ViVmlld2AgYnkgc3RvcmluZyBlbnRyaWVzIGluIGBtX2NvbGxlY3Rl
ZEtleXByZXNzQ29tbWFuZHNgIChzb21ldGhpbmcgc2ltaWxhciBoYXBwZW5zIGluCisgICAgICAg
IFdlYktpdDEpLiBJbiB0aGUgY2FzZSBvZiB0aGVzZSBuZXcgRm4gY29tbWFuZHMsIHRoZXkgYXJl
IGhhbmRsZWQgYnkgdGhlIHN5c3RlbSBiZWZvcmUgZW50ZXJpbmcKKyAgICAgICAgTlNUZXh0SW5w
dXRDb250ZXh0LCBzbyBOU1RleHRJbnB1dENvbnRleHQgZW5kcyB1cCBoYW5kbGluZyB0aGVtIGFz
IHJlZ3VsYXIgdGV4dCBpbnNlcnRpb24uCisKKyAgICAgICAgQXMgYW4gYXNpZGUsIHRoZSByZWFz
b24gdGhlIG1ldGEgKOKMmCkga2V5IGRvZXNuJ3QgZW5jb3VudGVyIHRoaXMgcHJvYmxlbSBpcyBi
ZWNhdXNlIG1ldGEsIG9wdGlvbiwgY29udHJvbCBhbmQKKyAgICAgICAgc2hpZnQgYXJlIGNvbnNp
ZGVyZWQgdmFsaWQga2V5IGJpbmRpbmdzIGluIE5TS2V5QmluZGluZ01hbmFnZXIsIHdoZXJlYXMg
dGhlIGZ1bmN0aW9uIGtleSBtYXNrIGlzIHNwZWNpZmljYWxseQorICAgICAgICBleGNsdWRlZCBm
cm9tIHRoaXMgbGlzdCBmb3IgY29tcGFiaWxpdHkgcmVhc29ucy4gTlNUZXh0SW5wdXRDb250ZXh0
IGNvbnN1bHRzIE5TS2V5QmluZGluZ01hbmFnZXIgaW4gb3JkZXIgdG8KKyAgICAgICAgY2hlY2sg
d2hldGhlciB0aGUgZ2l2ZW4gTlNFdmVudCBpcyBhIGtub3duIGtleSBiaW5kaW5nIGluIGAtaGFu
ZGxlRXZlbnRCeUtleWJvYXJkTGF5b3V0OmAsIHNvIGl0IGZhaWxzIHRvCisgICAgICAgIGFja25v
d2xlZGdlIEZuK0UgYXMgYSBrZXkgYmluZGluZy4KKworICAgICAgICBUbyB3b3JrIGFyb3VuZCB0
aGlzLCB3ZSBhZG9wdCBuZXcgQXBwS2l0IFNQSSBhZGRlZCBpbiByZGFyOi8vODExMjM3MjQgdG8g
ZGV0ZXJtaW5lIHdoZXRoZXIgYW4gTlNFdmVudCBtYXBzIHRvCisgICAgICAgIGFueSBtYWluIG1l
bnUgaXRlbXMgYW5kIGF2b2lkIGhhbmRsaW5nICJGbi0qIiBrZXkgZXZlbnRzIGFzIHRleHQgaW5z
ZXJ0aW9uIGlmIHRoZXkgYWxyZWFkeSBtYXAgdG8gaXRlbXMgaW4gdGhlCisgICAgICAgIG1haW4g
bWVudS4KKworICAgICAgICBUZXN0OiBLZXlib2FyZEV2ZW50VGVzdHMuRnVuY3Rpb25LZXlDb21t
YW5kCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW06CisgICAgICAg
IChXZWJLaXQ6OldlYlZpZXdJbXBsOjpjb2xsZWN0S2V5Ym9hcmRMYXlvdXRDb21tYW5kc0ZvckV2
ZW50KToKKwogMjAyMS0wNy0yNCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNv
bT4KIAogICAgICAgICBbaU9TXSBVbmlmaWVkIGZpZWxkIGlzIHVuc2VsZWN0ZWQgYWZ0ZXIgZm9j
dXNpbmcgVVJMIGJhciBpZiB0ZXh0IHdhcyBzZWxlY3RlZCBpbiBhIGZpeGVkIHBvc2l0aW9uIGNv
bnRhaW5lcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCmluZGV4IDUzZGMwOTI5NWVkODkyMjVj
ZDg1YTZlMWNjZGViZTNiMGI4Mzc5YjAuLjE3YWFlMDkzMzMxMTBkYjJhMzViYjBiN2I2NWM1Mzg5
ZjgzODQ2ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAor
MjAyMS0wNy0yNiAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAg
ICAgICBbbWFjT1MgTW9udGVyZXldIFByZXNzaW5nIEZuK0Ugc2hvdWxkIHByZXNlbnQgdGhlIGVt
b2ppIHBpY2tlciB3aGVuIGVkaXRpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyODMwMAorICAgICAgICByZGFyOi8vNzc1NTg2NzIKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBcHBseSBhIHNpbWlsYXIg
Zml4LCB0aGlzIHRpbWUgZm9yIFdlYktpdDEgb24gbWFjT1MuCisKKyAgICAgICAgKiBXZWJWaWV3
L1dlYkhUTUxWaWV3Lm1tOgorICAgICAgICAoLVtXZWJIVE1MVmlldyBpbnNlcnRUZXh0Ol0pOgor
CisgICAgICAgIE9ubHkgYXBwZW5kICJpbnNlcnRUZXh0OiIgZm9yIGEgY29ycmVzcG9uZGluZyBO
U0V2ZW50IHdpdGggdGhlIEZ1bmN0aW9uIGtleSBoZWxkIGRvd24gaWYgaXQgZG9lc24ndCBhbHNv
IG1hcAorICAgICAgICB0byBhIGl0ZW0gaW4gdGhlIG1haW4gbWVudS4KKwogMjAyMS0wNy0xNiAg
TWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFBpcGUg
QXBwIEhpZ2hsaWdodCBzY3JvbGxpbmcgdGhyb3VnaCBVSSBQcm9jZXNzIGluIHByZXBhcmF0aW9u
IGZvciBOb3RlIE92ZXJsYXkgYXZvaWRhbmNlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9zcGkvbWFjL05TTWVudVNQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkv
bWFjL05TTWVudVNQSS5oCmluZGV4IDI5OTI2MmY1ODlmNTEzMGI4ZmUwNTAwODFlNDE5N2NkNDJi
ZjY2ODguLjYxMmUyYzAxYmE3NzdhMDMxMWM5NTgzNzYwMmU3MDQyZjNiNWQyMWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9OU01lbnVTUEkuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvTlNNZW51U1BJLmgKQEAgLTY0LDEwICs2NCwxNSBA
QCBlbnVtIHsKIEBpbnRlcmZhY2UgTlNNZW51SXRlbSAoKQogKyAoUUxQcmV2aWV3TWVudUl0ZW0g
KilzdGFuZGFyZFF1aWNrTG9va01lbnVJdGVtOwogKyAoTlNNZW51SXRlbSAqKXN0YW5kYXJkU2hh
cmVNZW51SXRlbUZvckl0ZW1zOihOU0FycmF5ICopaXRlbXM7CitAcHJvcGVydHkgKHNldHRlcj1f
c2V0SXNTeXN0ZW1NZW51SXRlbTopIEJPT0wgX2lzU3lzdGVtTWVudUl0ZW07CiBAZW5kCiAKICNl
bmRpZgogCitAaW50ZXJmYWNlIE5TTWVudSAoU3RhZ2luZ184MTEyMzcyNCkKKy0gKEJPT0wpX2Nv
bnRhaW5zSXRlbU1hdGNoaW5nRXZlbnQ6KE5TRXZlbnQgKilldmVudCBpbmNsdWRpbmdEaXNhYmxl
ZEl0ZW1zOihCT09MKWluY2x1ZGluZ0Rpc2FibGVkSXRlbXM7CitAZW5kCisKIHR5cGVkZWYgTlNV
SW50ZWdlciBOU1BvcFVwTWVudUZsYWdzOwogCiBXVEZfRVhURVJOX0NfQkVHSU4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0KaW5kZXggMWE1NWVkYmFhODc5
YjZkNjZiN2VmMGRlMWYxYzQ1ZGE4NmUwY2M1OC4uNzcwMTEzYzg0NmU0MGZkNDI3NzNjZWQ3MzA1
NjNjNmZmZjk4MmEzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
V2ViVmlld0ltcGwubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmll
d0ltcGwubW0KQEAgLTEyNSw2ICsxMjUsNyBAQAogI2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNBcHBl
YXJhbmNlU1BJLmg+CiAjaW1wb3J0IDxwYWwvc3BpL21hYy9OU0FwcGxpY2F0aW9uU1BJLmg+CiAj
aW1wb3J0IDxwYWwvc3BpL21hYy9OU0ltbWVkaWF0ZUFjdGlvbkdlc3R1cmVSZWNvZ25pemVyU1BJ
Lmg+CisjaW1wb3J0IDxwYWwvc3BpL21hYy9OU01lbnVTUEkuaD4KICNpbXBvcnQgPHBhbC9zcGkv
bWFjL05TU2Nyb2xsZXJJbXBTUEkuaD4KICNpbXBvcnQgPHBhbC9zcGkvbWFjL05TU3BlbGxDaGVj
a2VyU1BJLmg+CiAjaW1wb3J0IDxwYWwvc3BpL21hYy9OU1RleHRGaW5kZXJTUEkuaD4KQEAgLTUw
NDUsNiArNTA0NiwxMyBAQCBWZWN0b3I8V2ViQ29yZTo6S2V5cHJlc3NDb21tYW5kPiBXZWJWaWV3
SW1wbDo6Y29sbGVjdEtleWJvYXJkTGF5b3V0Q29tbWFuZHNGb3JFdgogCiAgICAgbV9jb2xsZWN0
ZWRLZXlwcmVzc0NvbW1hbmRzID0gbnVsbHB0cjsKIAorICAgIGlmIChhdXRvIG1lbnUgPSBOU0Fw
cC5tYWluTWVudTsgZXZlbnQubW9kaWZpZXJGbGFncyAmIE5TRXZlbnRNb2RpZmllckZsYWdGdW5j
dGlvbgorICAgICAgICAmJiBbbWVudSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF9jb250
YWluc0l0ZW1NYXRjaGluZ0V2ZW50OmluY2x1ZGluZ0Rpc2FibGVkSXRlbXM6KV0gJiYgW21lbnUg
X2NvbnRhaW5zSXRlbU1hdGNoaW5nRXZlbnQ6ZXZlbnQgaW5jbHVkaW5nRGlzYWJsZWRJdGVtczpZ
RVNdKSB7CisgICAgICAgIGNvbW1hbmRzLnJlbW92ZUFsbE1hdGNoaW5nKFtdKGF1dG8mIGNvbW1h
bmQpIHsKKyAgICAgICAgICAgIHJldHVybiBjb21tYW5kLmNvbW1hbmROYW1lID09ICJpbnNlcnRU
ZXh0OiI7CisgICAgICAgIH0pOworICAgIH0KKwogICAgIHJldHVybiBjb21tYW5kczsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5t
bSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KaW5kZXgg
YzAyMGI4YmJhMmQwMDQxZjNlNTRlN2YxOGM2YTM3NzY4MzNlZjA0OS4uZTQ2NTM0MTI2OTllMjZl
NTdhMDIzYWI4NTc2Y2Q5Yzk0MDVmNjU2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCkBAIC0xMzksNiArMTM5LDcgQEAKICNpbXBvcnQgPHBh
bC9zcGkvY2YvQ0ZVdGlsaXRpZXNTUEkuaD4KICNpbXBvcnQgPHBhbC9zcGkvY29jb2EvTlNBdHRy
aWJ1dGVkU3RyaW5nU1BJLmg+CiAjaW1wb3J0IDxwYWwvc3BpL2NvY29hL05TVVJMRmlsZVR5cGVN
YXBwaW5nc1NQSS5oPgorI2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNNZW51U1BJLmg+CiAjaW1wb3J0
IDxwYWwvc3BpL21hYy9OU1Njcm9sbGVySW1wU1BJLmg+CiAjaW1wb3J0IDxwYWwvc3BpL21hYy9O
U1NwZWxsQ2hlY2tlclNQSS5oPgogI2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNWaWV3U1BJLmg+CkBA
IC02Njk4LDcgKzY2OTksMjggQEAgQUxMT1dfREVQUkVDQVRFRF9JTVBMRU1FTlRBVElPTlNfRU5E
CiAgICAgLy8gdGhlbiB3ZSBhbHNvIGV4ZWN1dGUgaXQgaW1tZWRpYXRlbHksIGFzIHRoZXJlIHdp
bGwgYmUgbm8gb3RoZXIgY2hhbmNlLgogICAgIGJvb2wgc2hvdWxkU2F2ZUNvbW1hbmQgPSBwYXJh
bWV0ZXJzICYmIHBhcmFtZXRlcnMtPnNob3VsZFNhdmVDb21tYW5kczsKICAgICBpZiAoZXZlbnQg
JiYgc2hvdWxkU2F2ZUNvbW1hbmQgJiYgIWlzRnJvbUlucHV0TWV0aG9kKSB7Ci0gICAgICAgIGV2
ZW50LT5rZXlwcmVzc0NvbW1hbmRzKCkuYXBwZW5kKFdlYkNvcmU6OktleXByZXNzQ29tbWFuZCgi
aW5zZXJ0VGV4dDoiLCB0ZXh0KSk7CisgICAgICAgIGF1dG8gaXNGdW5jdGlvbktleUNvbW1hbmRX
aXRoTWF0Y2hpbmdNZW51SXRlbSA9IChbJl0geworI2lmIFBMQVRGT1JNKE1BQykKKyAgICAgICAg
ICAgIGF1dG8gbWVudSA9IE5TQXBwLm1haW5NZW51OworICAgICAgICAgICAgYXV0byogcGxhdGZv
cm1LZXlFdmVudCA9IGV2ZW50LT51bmRlcmx5aW5nUGxhdGZvcm1FdmVudCgpOworICAgICAgICAg
ICAgaWYgKCFwbGF0Zm9ybUtleUV2ZW50KQorICAgICAgICAgICAgICAgIHJldHVybiBOTzsKKwor
ICAgICAgICAgICAgTlNFdmVudCAqbnNFdmVudCA9IHBsYXRmb3JtS2V5RXZlbnQtPm1hY0V2ZW50
KCk7CisgICAgICAgICAgICBpZiAoIShuc0V2ZW50Lm1vZGlmaWVyRmxhZ3MgJiBOU0V2ZW50TW9k
aWZpZXJGbGFnRnVuY3Rpb24pKQorICAgICAgICAgICAgICAgIHJldHVybiBOTzsKKworICAgICAg
ICAgICAgaWYgKCFbbWVudSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF9jb250YWluc0l0
ZW1NYXRjaGluZ0V2ZW50OmluY2x1ZGluZ0Rpc2FibGVkSXRlbXM6KV0pCisgICAgICAgICAgICAg
ICAgcmV0dXJuIE5POworCisgICAgICAgICAgICByZXR1cm4gW21lbnUgX2NvbnRhaW5zSXRlbU1h
dGNoaW5nRXZlbnQ6bnNFdmVudCBpbmNsdWRpbmdEaXNhYmxlZEl0ZW1zOllFU107CisjZWxzZQor
ICAgICAgICAgICAgcmV0dXJuIE5POworI2VuZGlmCisgICAgICAgIH0pKCk7CisKKyAgICAgICAg
aWYgKCFpc0Z1bmN0aW9uS2V5Q29tbWFuZFdpdGhNYXRjaGluZ01lbnVJdGVtKQorICAgICAgICAg
ICAgZXZlbnQtPmtleXByZXNzQ29tbWFuZHMoKS5hcHBlbmQoV2ViQ29yZTo6S2V5cHJlc3NDb21t
YW5kKCJpbnNlcnRUZXh0OiIsIHRleHQpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApkaWZm
IC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGY4OGEwYzMw
YmVlNjczNmFmNzlkNTc5NTUxMWUxOWRhOGM0NzlmY2UuLjIzMmE3NDRiZDM1NDBiN2Q5NDA1YTI1
OTUxMjczMjY4Y2JiYTIxNzEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29s
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAyMS0wNy0yNiAgV2Vuc29uIEhzaWVoICA8
d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1MgTW9udGVyZXldIFByZXNz
aW5nIEZuK0Ugc2hvdWxkIHByZXNlbnQgdGhlIGVtb2ppIHBpY2tlciB3aGVuIGVkaXRpbmcKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyODMwMAorICAg
ICAgICByZGFyOi8vNzc1NTg2NzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGQgYSBuZXcgQVBJIHRlc3QgdGhhdCBzaW11bGF0ZXMgYSBrZXlwcmVz
cyBmb3IgIkZuK0UiIHdpdGggYSBtYWluIG1lbnUgdGhhdCBjb250YWlucyBhIHN5c3RlbSBtZW51
IGl0ZW0gZm9yCisgICAgICAgIHRoYXQga2V5IGJpbmRpbmc7IHRoZSB0ZXN0IHRoZW4gdmVyaWZp
ZXMgdGhhdCB0ZXh0IHdhcyBub3QgaW5zZXJ0ZWQgaW50byB0aGUgcGFnZSBhcyBhIHJlc3VsdC4K
KworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvbWFjL0tleWJvYXJkRXZl
bnRUZXN0cy5tbTogQWRkZWQuCisgICAgICAgICgtW0tleWJvYXJkVGVzdE1lbnUgX2NvbnRhaW5z
SXRlbU1hdGNoaW5nRXZlbnQ6aW5jbHVkaW5nRGlzYWJsZWRJdGVtczpdKToKKyAgICAgICAgKFRl
c3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvY29jb2EvVGVzdFdL
V2ViVmlldy5oOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvY29jb2EvVGVzdFdLV2ViVmlldy5t
bToKKyAgICAgICAgKC1bVGVzdFdLV2ViVmlldyB0eXBlQ2hhcmFjdGVyOl0pOgorICAgICAgICAo
LVtUZXN0V0tXZWJWaWV3IHR5cGVDaGFyYWN0ZXI6bW9kaWZpZXJzOl0pOgorCiAyMDIxLTA3LTI0
ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1Nd
IFVuaWZpZWQgZmllbGQgaXMgdW5zZWxlY3RlZCBhZnRlciBmb2N1c2luZyBVUkwgYmFyIGlmIHRl
eHQgd2FzIHNlbGVjdGVkIGluIGEgZml4ZWQgcG9zaXRpb24gY29udGFpbmVyCmRpZmYgLS1naXQg
YS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IDBmNGFlOWEwNWI1NWM5NjcwNDMzOTQ2NGExNDk5Y2IxYWRhMGU4MTQu
LmM5MDVmMDkwMDZjMDFlMjM2YjkyMDc4MGRhZWZiNTdmNTlhZDZlNmUgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCkBAIC0yMDAsNiArMjAwLDcgQEAKIAkJMkVCMjQyQjgyMUQ0MTQwQjAwNTVDMUMw
IC8qIFVzZVNlbGVjdGlvbkFzRmluZFN0cmluZy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFMTMzQjRGMjFENDBBRjAwMEVEMUNCMiAvKiBVc2VTZWxl
Y3Rpb25Bc0ZpbmRTdHJpbmcubW0gKi87IH07CiAJCTJFQjI5RDVFMUY3NjJEQjkwMDIzQTVGMSAv
KiBkdW1wLWRhdGF0cmFuc2Zlci10eXBlcy5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFQjI5RDVEMUY3NjJEQTUwMDIzQTVGMSAvKiBk
dW1wLWRhdGF0cmFuc2Zlci10eXBlcy5odG1sICovOyB9OwogCQkyRUJEOUQwQTIxMzQ3MzBEMDAy
REE3NTggLyogdmlkZW8uaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwN0NEMzJGNzIwNjVCNzJBMDA2NEE0QkUgLyogdmlkZW8uaHRtbCAq
LzsgfTsKKwkJMkVDNzAzNEEyNkFGNUU4ODAwMkIyRDM3IC8qIEtleWJvYXJkRXZlbnRUZXN0cy5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFQzcwMzQ5
MjZBRjVFODgwMDJCMkQzNyAvKiBLZXlib2FyZEV2ZW50VGVzdHMubW0gKi87IH07CiAJCTJFQ0ZG
NTU1MUQ5QjEyRjgwMEI1NTM5NCAvKiBOb3dQbGF5aW5nQ29udHJvbHNUZXN0cy5tbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFQ0ZGNTU0MUQ5QjEyRjgw
MEI1NTM5NCAvKiBOb3dQbGF5aW5nQ29udHJvbHNUZXN0cy5tbSAqLzsgfTsKIAkJMkVGRjA2QzMx
RDg4NjIxRTAwMDRCQjMwIC8qIGxhcmdlLXZpZGVvLW9mZnNjcmVlbi5odG1sIGluIENvcHkgUmVz
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFRkYwNkMyMUQ4ODYy
MTIwMDA0QkIzMCAvKiBsYXJnZS12aWRlby1vZmZzY3JlZW4uaHRtbCAqLzsgfTsKIAkJMkVGRjA2
QzUxRDg4Njc3NjAwMDRCQjMwIC8qIGNoYW5nZS12aWRlby1zb3VyY2Utb24tY2xpY2suaHRtbCBp
biBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRUZG
MDZDNDFEODg2NzcwMDAwNEJCMzAgLyogY2hhbmdlLXZpZGVvLXNvdXJjZS1vbi1jbGljay5odG1s
ICovOyB9OwpAQCAtMTk5OSw2ICsyMDAwLDcgQEAKIAkJMkU5MkI4RjgyMTY0OTBFQTAwNUI2NEYw
IC8qIEZvbnRBdHRyaWJ1dGVzLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gRm9udEF0dHJpYnV0ZXMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJF
OTg5NjE0MUQ4RjA5MkIwMDczOTg5MiAvKiB0ZXh0LWFuZC1wYXNzd29yZC1pbnB1dHMuaHRtbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJ0ZXh0LWFuZC1wYXNzd29yZC1pbnB1dHMuaHRt
bCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJFQjI5RDVEMUY3NjJEQTUwMDIzQTVG
MSAvKiBkdW1wLWRhdGF0cmFuc2Zlci10eXBlcy5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBw
YXRoID0gImR1bXAtZGF0YXRyYW5zZmVyLXR5cGVzLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkyRUM3MDM0OTI2QUY1RTg4MDAyQjJEMzcgLyogS2V5Ym9hcmRFdmVudFRlc3Rz
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gS2V5Ym9hcmRFdmVudFRlc3RzLm1tOyBwYXRoID0g
Li4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vRGF0YS9Vc2Vycy93aHNpZWgvd29yay9PcGVuU291
cmNlL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvbWFjL0tleWJvYXJkRXZlbnRUZXN0cy5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkVDRkY1NTQxRDlCMTJGODAwQjU1Mzk0IC8q
IE5vd1BsYXlpbmdDb250cm9sc1Rlc3RzLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gTm93UGxheWluZ0NvbnRyb2xzVGVzdHMubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTJFRkYwNkMyMUQ4ODYyMTIwMDA0QkIzMCAvKiBsYXJnZS12aWRlby1vZmZz
Y3JlZW4uaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJsYXJnZS12aWRlby1vZmZz
Y3JlZW4uaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJFRkYwNkM0MUQ4ODY3
NzAwMDA0QkIzMCAvKiBjaGFuZ2UtdmlkZW8tc291cmNlLW9uLWNsaWNrLmh0bWwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0Lmh0bWw7IHBhdGggPSAiY2hhbmdlLXZpZGVvLXNvdXJjZS1vbi1jbGljay5odG1sIjsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQ3NjIsNiArNDc2NCw3IEBACiAJCQkJNTdG
MTBEOTIxQzdFN0IzODAwRUNERjMwIC8qIElzTmF2aWdhdGlvbkFjdGlvblRydXN0ZWQubW0gKi8s
CiAJCQkJNTE4MjBBNEMyMkY0RUU3NzAwREYwQTAxIC8qIEphdmFzY3JpcHRVUkxOYXZpZ2F0aW9u
Lm1tICovLAogCQkJCTRCQjQxNjAxMTY4MTVCMjYwMDgyNDIzOCAvKiBKU1dyYXBwZXJGb3JOb2Rl
SW5XZWJGcmFtZS5tbSAqLywKKwkJCQkyRUM3MDM0OTI2QUY1RTg4MDAyQjJEMzcgLyogS2V5Ym9h
cmRFdmVudFRlc3RzLm1tICovLAogCQkJCUY0QkZBNjhDMUU0QUQwODAwMDE1NDI5OCAvKiBMZWdh
Y3lEcmFnQW5kRHJvcFRlc3RzLm1tICovLAogCQkJCTdBN0IwRTdFMUVBRkU0NTQwMDZBQjhBRSAv
KiBMaW1pdFRpdGxlU2l6ZS5tbSAqLywKIAkJCQk1NzkwMUZBRTFDQUYxMzcxMDBFRDY0RjkgLyog
TG9hZEludmFsaWRVUkxSZXF1ZXN0Lm1tICovLApAQCAtNTU5OCw2ICs1NjAxLDcgQEAKIAkJCQlF
MzVGQzdCMjIyQjgyQTczMDBGMzJGOTggLyogSlNMb2NrVGFrZXNXZWJUaHJlYWRMb2NrLm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMTRDQzQyRTYyNEI4RDhGQTAwRTY0RjQ4IC8qIEpTUnVuTG9vcFRp
bWVyLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFQzQxQTQxMUE3RTAwNDQ3QzRDIC8qIEpT
V3JhcHBlckZvck5vZGVJbldlYkZyYW1lLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJMkVDNzAzNEEy
NkFGNUU4ODAwMkIyRDM3IC8qIEtleWJvYXJkRXZlbnRUZXN0cy5tbSBpbiBTb3VyY2VzICovLAog
CQkJCUY0NUUxNTczMjExMkNFMjkwMDMwN0U4MiAvKiBLZXlib2FyZElucHV0VGVzdHNJT1MubW0g
aW4gU291cmNlcyAqLywKIAkJCQkyNzhFM0UxOTIzQ0Q4NDJGMDA1QTZCODAgLyogS2V5ZWRDb2Rp
bmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdGMDYxQTQxMUFFNjAwNDQ3QzRDIC8qIExh
eW91dE1pbGVzdG9uZXNXaXRoQWxsQ29udGVudEluRnJhbWUuY3BwIGluIFNvdXJjZXMgKi8sCmRp
ZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL21hYy9LZXlib2FyZEV2ZW50VGVz
dHMubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL21hYy9LZXlib2FyZEV2ZW50VGVzdHMu
bW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMmVjMzJkMWRlMmQ1Nzg2MWY3MjI3NjEyODMxYTEzZjhmZTc1YTEyMQot
LS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvbWFjL0tleWJvYXJk
RXZlbnRUZXN0cy5tbQpAQCAtMCwwICsxLDY4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIx
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29u
ZmlnLmgiCisKKyNpZiBQTEFURk9STShNQUMpCisKKyNpbXBvcnQgIlBsYXRmb3JtVXRpbGl0aWVz
LmgiCisjaW1wb3J0ICJUZXN0V0tXZWJWaWV3LmgiCisjaW1wb3J0IDxwYWwvc3BpL21hYy9OU01l
bnVTUEkuaD4KKyNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KKworQGludGVyZmFjZSBLZXlib2Fy
ZFRlc3RNZW51IDogTlNNZW51CitAZW5kCisKK0BpbXBsZW1lbnRhdGlvbiBLZXlib2FyZFRlc3RN
ZW51CisKKy0gKEJPT0wpX2NvbnRhaW5zSXRlbU1hdGNoaW5nRXZlbnQ6KE5TRXZlbnQgKilldmVu
dCBpbmNsdWRpbmdEaXNhYmxlZEl0ZW1zOihCT09MKWluY2x1ZGluZ0Rpc2FibGVkSXRlbXMKK3sK
KyAgICByZXR1cm4gW2V2ZW50LmNoYXJhY3RlcnNJZ25vcmluZ01vZGlmaWVycyBpc0VxdWFsVG9T
dHJpbmc6QCJlIl0gJiYgZXZlbnQubW9kaWZpZXJGbGFncyAmIE5TRXZlbnRNb2RpZmllckZsYWdG
dW5jdGlvbjsKK30KKworQGVuZAorCituYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CisKK1RFU1Qo
S2V5Ym9hcmRFdmVudFRlc3RzLCBGdW5jdGlvbktleUNvbW1hbmQpCit7CisgICAgYXV0byBtZW51
ID0gYWRvcHROUyhbW0tleWJvYXJkVGVzdE1lbnUgYWxsb2NdIGluaXRXaXRoVGl0bGU6QCJUZXN0
IG1lbnUiXSk7CisgICAgYXV0byBtZW51SXRlbSA9IGFkb3B0TlMoW1tOU01lbnVJdGVtIGFsbG9j
XSBpbml0V2l0aFRpdGxlOkAiRW1vamlzICYgU3ltYm9scyIgYWN0aW9uOkBzZWxlY3RvcihkZXNj
cmlwdGlvbikga2V5RXF1aXZhbGVudDpAImUiXSk7CisgICAgW21lbnVJdGVtIF9zZXRJc1N5c3Rl
bU1lbnVJdGVtOllFU107CisgICAgW21lbnVJdGVtIHNldEtleUVxdWl2YWxlbnRNb2RpZmllck1h
c2s6TlNFdmVudE1vZGlmaWVyRmxhZ0Z1bmN0aW9uXTsKKyAgICBbbWVudSBzZXRJdGVtQXJyYXk6
QFsgbWVudUl0ZW0uZ2V0KCkgXV07CisgICAgTlNBcHAubWFpbk1lbnUgPSBtZW51LmdldCgpOwor
CisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRX
aXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA0MDAsIDQwMCldKTsKKyAgICBbd2ViVmlldyBzeW5j
aHJvbm91c2x5TG9hZEhUTUxTdHJpbmc6QCI8c2NyaXB0PmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQn
LCAoKSA9PiBkb2N1bWVudC5ib2R5LmZvY3VzKCkpPC9zY3JpcHQ+PGJvZHkgY29udGVudGVkaXRh
YmxlPjwvYm9keT4iXTsKKyAgICBbd2ViVmlldyB0eXBlQ2hhcmFjdGVyOidlJyBtb2RpZmllcnM6
TlNFdmVudE1vZGlmaWVyRmxhZ0Z1bmN0aW9uXTsKKyAgICBbd2ViVmlldyB3YWl0Rm9yTmV4dFBy
ZXNlbnRhdGlvblVwZGF0ZV07CisKKyAgICBFWFBFQ1RfV0tfU1RSRVEoIiIsIFt3ZWJWaWV3IHN0
cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJkb2N1bWVudC5ib2R5LnRleHRDb250ZW50Il0p
OworfQorCit9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCisKKyNlbmRpZiAvLyBQTEFURk9S
TShNQUMpCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29hL1Rlc3RXS1dlYlZp
ZXcuaCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvVGVzdFdLV2ViVmlldy5oCmluZGV4IGUz
ZDAxMDFjMjI3Zjk4OTk2OTcxMDlkM2Q3MGE0Y2E4NWM1YjU0OTUuLjg0YWFmNjk4NWEzMGVjYmVi
Y2QyNmM4YTIxZjA4NGVkMjRiOWQ1YjEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
Y29jb2EvVGVzdFdLV2ViVmlldy5oCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvVGVz
dFdLV2ViVmlldy5oCkBAIC0xMzcsNiArMTM3LDcgQEAKIC0gKHZvaWQpc2VuZENsaWNrc0F0UG9p
bnQ6KE5TUG9pbnQpcG9pbnRJbldpbmRvdyBudW1iZXJPZkNsaWNrczooTlNVSW50ZWdlciludW1i
ZXJPZkNsaWNrczsKIC0gKHZvaWQpc2VuZENsaWNrQXRQb2ludDooTlNQb2ludClwb2ludEluV2lu
ZG93OwogLSAoTlNXaW5kb3cgKilob3N0V2luZG93OworLSAodm9pZCl0eXBlQ2hhcmFjdGVyOihj
aGFyKWNoYXJhY3RlciBtb2RpZmllcnM6KE5TRXZlbnRNb2RpZmllckZsYWdzKW1vZGlmaWVyczsK
IC0gKHZvaWQpdHlwZUNoYXJhY3RlcjooY2hhciljaGFyYWN0ZXI7CiAtICh2b2lkKXNldEV2ZW50
VGltZXN0YW1wT2Zmc2V0OihOU1RpbWVJbnRlcnZhbClvZmZzZXQ7CiBAcHJvcGVydHkgKG5vbmF0
b21pYywgcmVhZG9ubHkpIE5TVGltZUludGVydmFsIGV2ZW50VGltZXN0YW1wOwpkaWZmIC0tZ2l0
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9UZXN0V0tXZWJWaWV3Lm1tIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9jb2NvYS9UZXN0V0tXZWJWaWV3Lm1tCmluZGV4IDZmM2ZjYmI2YjNlYjNkOGY1
M2I4N2Y0OTgwMmIwMTFiNjcxYzBjOGUuLjIyZDAwMjY5MjRkYjBhZGYyNzE2MzBmZWM2MDhhOTc4
NzY2YWI0NmMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvVGVzdFdLV2Vi
Vmlldy5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29hL1Rlc3RXS1dlYlZpZXcubW0K
QEAgLTg0NSwxMiArODQ1LDE3IEBAIC0gKE5TV2luZG93ICopaG9zdFdpbmRvdwogfQogCiAtICh2
b2lkKXR5cGVDaGFyYWN0ZXI6KGNoYXIpY2hhcmFjdGVyCit7CisgICAgW3NlbGYgdHlwZUNoYXJh
Y3RlcjpjaGFyYWN0ZXIgbW9kaWZpZXJzOjBdOworfQorCistICh2b2lkKXR5cGVDaGFyYWN0ZXI6
KGNoYXIpY2hhcmFjdGVyIG1vZGlmaWVyczooTlNFdmVudE1vZGlmaWVyRmxhZ3MpbW9kaWZpZXJz
CiB7CiAgICAgTlNTdHJpbmcgKmNoYXJhY3RlckFzU3RyaW5nID0gW05TU3RyaW5nIHN0cmluZ1dp
dGhGb3JtYXQ6QCIlYyIgLCBjaGFyYWN0ZXJdOwogICAgIE5TRXZlbnRUeXBlIGtleURvd25FdmVu
dFR5cGUgPSBOU0V2ZW50VHlwZUtleURvd247CiAgICAgTlNFdmVudFR5cGUga2V5VXBFdmVudFR5
cGUgPSBOU0V2ZW50VHlwZUtleVVwOwotICAgIFtzZWxmIGtleURvd246W05TRXZlbnQga2V5RXZl
bnRXaXRoVHlwZTprZXlEb3duRXZlbnRUeXBlIGxvY2F0aW9uOk5TWmVyb1BvaW50IG1vZGlmaWVy
RmxhZ3M6MCB0aW1lc3RhbXA6c2VsZi5ldmVudFRpbWVzdGFtcCB3aW5kb3dOdW1iZXI6W19ob3N0
V2luZG93IHdpbmRvd051bWJlcl0gY29udGV4dDpuaWwgY2hhcmFjdGVyczpjaGFyYWN0ZXJBc1N0
cmluZyBjaGFyYWN0ZXJzSWdub3JpbmdNb2RpZmllcnM6Y2hhcmFjdGVyQXNTdHJpbmcgaXNBUmVw
ZWF0Ok5PIGtleUNvZGU6Y2hhcmFjdGVyXV07Ci0gICAgW3NlbGYga2V5VXA6W05TRXZlbnQga2V5
RXZlbnRXaXRoVHlwZTprZXlVcEV2ZW50VHlwZSBsb2NhdGlvbjpOU1plcm9Qb2ludCBtb2RpZmll
ckZsYWdzOjAgdGltZXN0YW1wOnNlbGYuZXZlbnRUaW1lc3RhbXAgd2luZG93TnVtYmVyOltfaG9z
dFdpbmRvdyB3aW5kb3dOdW1iZXJdIGNvbnRleHQ6bmlsIGNoYXJhY3RlcnM6Y2hhcmFjdGVyQXNT
dHJpbmcgY2hhcmFjdGVyc0lnbm9yaW5nTW9kaWZpZXJzOmNoYXJhY3RlckFzU3RyaW5nIGlzQVJl
cGVhdDpOTyBrZXlDb2RlOmNoYXJhY3Rlcl1dOworICAgIFtzZWxmIGtleURvd246W05TRXZlbnQg
a2V5RXZlbnRXaXRoVHlwZTprZXlEb3duRXZlbnRUeXBlIGxvY2F0aW9uOk5TWmVyb1BvaW50IG1v
ZGlmaWVyRmxhZ3M6bW9kaWZpZXJzIHRpbWVzdGFtcDpzZWxmLmV2ZW50VGltZXN0YW1wIHdpbmRv
d051bWJlcjpbX2hvc3RXaW5kb3cgd2luZG93TnVtYmVyXSBjb250ZXh0Om5pbCBjaGFyYWN0ZXJz
OmNoYXJhY3RlckFzU3RyaW5nIGNoYXJhY3RlcnNJZ25vcmluZ01vZGlmaWVyczpjaGFyYWN0ZXJB
c1N0cmluZyBpc0FSZXBlYXQ6Tk8ga2V5Q29kZTpjaGFyYWN0ZXJdXTsKKyAgICBbc2VsZiBrZXlV
cDpbTlNFdmVudCBrZXlFdmVudFdpdGhUeXBlOmtleVVwRXZlbnRUeXBlIGxvY2F0aW9uOk5TWmVy
b1BvaW50IG1vZGlmaWVyRmxhZ3M6bW9kaWZpZXJzIHRpbWVzdGFtcDpzZWxmLmV2ZW50VGltZXN0
YW1wIHdpbmRvd051bWJlcjpbX2hvc3RXaW5kb3cgd2luZG93TnVtYmVyXSBjb250ZXh0Om5pbCBj
aGFyYWN0ZXJzOmNoYXJhY3RlckFzU3RyaW5nIGNoYXJhY3RlcnNJZ25vcmluZ01vZGlmaWVyczpj
aGFyYWN0ZXJBc1N0cmluZyBpc0FSZXBlYXQ6Tk8ga2V5Q29kZTpjaGFyYWN0ZXJdXTsKIH0KIAog
QGVuZAo=
</data>
<flag name="commit-queue"
          id="456693"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>434258</attachid>
            <date>2021-07-26 16:57:31 -0700</date>
            <delta_ts>2021-07-26 17:53:34 -0700</delta_ts>
            <desc>Fix path in Xcode project</desc>
            <filename>bug-228300-20210726165730.patch</filename>
            <type>text/plain</type>
            <size>19465</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMTYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBmMDE5ZDNj
ZTEyMDNmM2ZhMTA0ZWY5ZmFjNGZmYTQwNmFiOTAyZjYwLi5iOGExMmJmOGRmMDE4ZGYyNTQwZmE2
YTI0NWY5ZTc5ZGZlZTA5Y2M4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAor
MjAyMS0wNy0yNiAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAg
ICAgICBbbWFjT1MgTW9udGVyZXldIFByZXNzaW5nIEZuK0Ugc2hvdWxkIHByZXNlbnQgdGhlIGVt
b2ppIHBpY2tlciB3aGVuIGVkaXRpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyODMwMAorICAgICAgICByZGFyOi8vNzc1NTg2NzIKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBuZXcgU1BJIGRl
Y2xhcmF0aW9uIG9uIE5TTWVudS4gU2VlIFdlYktpdCBhbmQgV2ViS2l0TGVnYWN5IGNoYW5nZXMg
Zm9yIG1vcmUgaW5mb3JtYXRpb24uCisKKyAgICAgICAgKiBwYWwvc3BpL21hYy9OU01lbnVTUEku
aDoKKwogMjAyMS0wNy0yMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAg
ICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyByMjgwMTI5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBjMGZjZGIzOWJl
MjllZGM1Zjg5MTQ2ZGRiMTExNzE2N2E0ZWNmOWJjLi4zNDUyZDNmNTc3NWUxMDRhMDA5NjA4N2Fi
MjA0OWM2ZjU4MzhkNzRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDIxLTA3LTI2ICBX
ZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPUyBN
b250ZXJleV0gUHJlc3NpbmcgRm4rRSBzaG91bGQgcHJlc2VudCB0aGUgZW1vamkgcGlja2VyIHdo
ZW4gZWRpdGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjI4MzAwCisgICAgICAgIHJkYXI6Ly83NzU1ODY3MgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIG1hY09TIE1vbnRlcmV5LCB0aGUgc3lzdGVt
LXdpZGUgRm4rRSBrZXkgY29tbWFuZCBwcmVzZW50cyB0aGUgRW1vamkgJiBTeW1ib2xzIFVJIGFz
IGEgcG9wb3Zlci4gSG93ZXZlciwgdGhpcworICAgICAgICBuZXcga2V5IGNvbW1hbmQgY3VycmVu
dGx5IGRvZXMgbm90IHdvcmsgaW4gZWRpdGFibGUgY29udGV4dHMgaW4gYm90aCBXZWJLaXQxIGFu
ZCBXZWJLaXQyIHZpZXdzIG9uIG1hY09TLCB3aGVyZQorICAgICAgICB3ZSBlbmQgdXAganVzdCBp
bnNlcnRpbmcgdGhlIGNoYXJhY3RlciAiZSIuCisKKyAgICAgICAgVGhpcyBpcyBiZWNhdXNlLCBv
biBib3RoIHBvcnRzLCB3ZSBhdHRlbXB0IHRvIGludGVycHJldCBOU0V2ZW50cyBieSBjYWxsaW5n
IGJhY2sgaW50byBBcHBLaXQgdG8gaGFuZGxlIHRoZQorICAgICAgICBldmVudCwgcmVjb3JkaW5n
IHRoZSBzZWxlY3RvcnMgdGhhdCAqd291bGQndmUqIGJlZW4gcGVyZm9ybWVkLCBhbmQgdGhlbiB1
c2luZyB0aGlzIGluZm9ybWF0aW9uIHRvIGJ1aWxkIHVwIGEKKyAgICAgICAgbGlzdCBvZiBXZWJD
b3JlOjpLZXlDb21tYW5kIGZvciB0aGUgZXZlbnQgKHdoaWNoIGFyZSBsYXRlciBjb252ZXJ0ZWQg
aW50byBlZGl0aW5nIGNvbW1hbmRzKS4gSW4gV2ViS2l0Miwgd2UKKyAgICAgICAgY2FsbCBpbnRv
IGAtW05TVGV4dElucHV0Q29udGV4dCBoYW5kbGVFdmVudEJ5S2V5Ym9hcmRMYXlvdXQ6XWAgdG8g
aGFuZGxlIHRoZSBldmVudCwgYW5kIGNhcHR1cmUgdGhlIHJlc3VsdGluZworICAgICAgICBjYWxs
cyBiYWNrIGludG8gYFdLV2ViVmlld2AgYnkgc3RvcmluZyBlbnRyaWVzIGluIGBtX2NvbGxlY3Rl
ZEtleXByZXNzQ29tbWFuZHNgIChzb21ldGhpbmcgc2ltaWxhciBoYXBwZW5zIGluCisgICAgICAg
IFdlYktpdDEpLiBJbiB0aGUgY2FzZSBvZiB0aGVzZSBuZXcgRm4gY29tbWFuZHMsIHRoZXkgYXJl
IGhhbmRsZWQgYnkgdGhlIHN5c3RlbSBiZWZvcmUgZW50ZXJpbmcKKyAgICAgICAgTlNUZXh0SW5w
dXRDb250ZXh0LCBzbyBOU1RleHRJbnB1dENvbnRleHQgZW5kcyB1cCBoYW5kbGluZyB0aGVtIGFz
IHJlZ3VsYXIgdGV4dCBpbnNlcnRpb24uCisKKyAgICAgICAgQXMgYW4gYXNpZGUsIHRoZSByZWFz
b24gdGhlIG1ldGEgKOKMmCkga2V5IGRvZXNuJ3QgZW5jb3VudGVyIHRoaXMgcHJvYmxlbSBpcyBi
ZWNhdXNlIG1ldGEsIG9wdGlvbiwgY29udHJvbCBhbmQKKyAgICAgICAgc2hpZnQgYXJlIGNvbnNp
ZGVyZWQgdmFsaWQga2V5IGJpbmRpbmdzIGluIE5TS2V5QmluZGluZ01hbmFnZXIsIHdoZXJlYXMg
dGhlIGZ1bmN0aW9uIGtleSBtYXNrIGlzIHNwZWNpZmljYWxseQorICAgICAgICBleGNsdWRlZCBm
cm9tIHRoaXMgbGlzdCBmb3IgY29tcGFiaWxpdHkgcmVhc29ucy4gTlNUZXh0SW5wdXRDb250ZXh0
IGNvbnN1bHRzIE5TS2V5QmluZGluZ01hbmFnZXIgaW4gb3JkZXIgdG8KKyAgICAgICAgY2hlY2sg
d2hldGhlciB0aGUgZ2l2ZW4gTlNFdmVudCBpcyBhIGtub3duIGtleSBiaW5kaW5nIGluIGAtaGFu
ZGxlRXZlbnRCeUtleWJvYXJkTGF5b3V0OmAsIHNvIGl0IGZhaWxzIHRvCisgICAgICAgIGFja25v
d2xlZGdlIEZuK0UgYXMgYSBrZXkgYmluZGluZy4KKworICAgICAgICBUbyB3b3JrIGFyb3VuZCB0
aGlzLCB3ZSBhZG9wdCBuZXcgQXBwS2l0IFNQSSBhZGRlZCBpbiByZGFyOi8vODExMjM3MjQgdG8g
ZGV0ZXJtaW5lIHdoZXRoZXIgYW4gTlNFdmVudCBtYXBzIHRvCisgICAgICAgIGFueSBtYWluIG1l
bnUgaXRlbXMgYW5kIGF2b2lkIGhhbmRsaW5nICJGbi0qIiBrZXkgZXZlbnRzIGFzIHRleHQgaW5z
ZXJ0aW9uIGlmIHRoZXkgYWxyZWFkeSBtYXAgdG8gaXRlbXMgaW4gdGhlCisgICAgICAgIG1haW4g
bWVudS4KKworICAgICAgICBUZXN0OiBLZXlib2FyZEV2ZW50VGVzdHMuRnVuY3Rpb25LZXlDb21t
YW5kCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW06CisgICAgICAg
IChXZWJLaXQ6OldlYlZpZXdJbXBsOjpjb2xsZWN0S2V5Ym9hcmRMYXlvdXRDb21tYW5kc0ZvckV2
ZW50KToKKwogMjAyMS0wNy0yNCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNv
bT4KIAogICAgICAgICBbaU9TXSBVbmlmaWVkIGZpZWxkIGlzIHVuc2VsZWN0ZWQgYWZ0ZXIgZm9j
dXNpbmcgVVJMIGJhciBpZiB0ZXh0IHdhcyBzZWxlY3RlZCBpbiBhIGZpeGVkIHBvc2l0aW9uIGNv
bnRhaW5lcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCmluZGV4IDUzZGMwOTI5NWVkODkyMjVj
ZDg1YTZlMWNjZGViZTNiMGI4Mzc5YjAuLjE3YWFlMDkzMzMxMTBkYjJhMzViYjBiN2I2NWM1Mzg5
ZjgzODQ2ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAor
MjAyMS0wNy0yNiAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAg
ICAgICBbbWFjT1MgTW9udGVyZXldIFByZXNzaW5nIEZuK0Ugc2hvdWxkIHByZXNlbnQgdGhlIGVt
b2ppIHBpY2tlciB3aGVuIGVkaXRpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyODMwMAorICAgICAgICByZGFyOi8vNzc1NTg2NzIKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBcHBseSBhIHNpbWlsYXIg
Zml4LCB0aGlzIHRpbWUgZm9yIFdlYktpdDEgb24gbWFjT1MuCisKKyAgICAgICAgKiBXZWJWaWV3
L1dlYkhUTUxWaWV3Lm1tOgorICAgICAgICAoLVtXZWJIVE1MVmlldyBpbnNlcnRUZXh0Ol0pOgor
CisgICAgICAgIE9ubHkgYXBwZW5kICJpbnNlcnRUZXh0OiIgZm9yIGEgY29ycmVzcG9uZGluZyBO
U0V2ZW50IHdpdGggdGhlIEZ1bmN0aW9uIGtleSBoZWxkIGRvd24gaWYgaXQgZG9lc24ndCBhbHNv
IG1hcAorICAgICAgICB0byBhIGl0ZW0gaW4gdGhlIG1haW4gbWVudS4KKwogMjAyMS0wNy0xNiAg
TWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFBpcGUg
QXBwIEhpZ2hsaWdodCBzY3JvbGxpbmcgdGhyb3VnaCBVSSBQcm9jZXNzIGluIHByZXBhcmF0aW9u
IGZvciBOb3RlIE92ZXJsYXkgYXZvaWRhbmNlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9zcGkvbWFjL05TTWVudVNQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkv
bWFjL05TTWVudVNQSS5oCmluZGV4IDI5OTI2MmY1ODlmNTEzMGI4ZmUwNTAwODFlNDE5N2NkNDJi
ZjY2ODguLjYxMmUyYzAxYmE3NzdhMDMxMWM5NTgzNzYwMmU3MDQyZjNiNWQyMWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9OU01lbnVTUEkuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvTlNNZW51U1BJLmgKQEAgLTY0LDEwICs2NCwxNSBA
QCBlbnVtIHsKIEBpbnRlcmZhY2UgTlNNZW51SXRlbSAoKQogKyAoUUxQcmV2aWV3TWVudUl0ZW0g
KilzdGFuZGFyZFF1aWNrTG9va01lbnVJdGVtOwogKyAoTlNNZW51SXRlbSAqKXN0YW5kYXJkU2hh
cmVNZW51SXRlbUZvckl0ZW1zOihOU0FycmF5ICopaXRlbXM7CitAcHJvcGVydHkgKHNldHRlcj1f
c2V0SXNTeXN0ZW1NZW51SXRlbTopIEJPT0wgX2lzU3lzdGVtTWVudUl0ZW07CiBAZW5kCiAKICNl
bmRpZgogCitAaW50ZXJmYWNlIE5TTWVudSAoU3RhZ2luZ184MTEyMzcyNCkKKy0gKEJPT0wpX2Nv
bnRhaW5zSXRlbU1hdGNoaW5nRXZlbnQ6KE5TRXZlbnQgKilldmVudCBpbmNsdWRpbmdEaXNhYmxl
ZEl0ZW1zOihCT09MKWluY2x1ZGluZ0Rpc2FibGVkSXRlbXM7CitAZW5kCisKIHR5cGVkZWYgTlNV
SW50ZWdlciBOU1BvcFVwTWVudUZsYWdzOwogCiBXVEZfRVhURVJOX0NfQkVHSU4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0KaW5kZXggMWE1NWVkYmFhODc5
YjZkNjZiN2VmMGRlMWYxYzQ1ZGE4NmUwY2M1OC4uNzcwMTEzYzg0NmU0MGZkNDI3NzNjZWQ3MzA1
NjNjNmZmZjk4MmEzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
V2ViVmlld0ltcGwubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmll
d0ltcGwubW0KQEAgLTEyNSw2ICsxMjUsNyBAQAogI2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNBcHBl
YXJhbmNlU1BJLmg+CiAjaW1wb3J0IDxwYWwvc3BpL21hYy9OU0FwcGxpY2F0aW9uU1BJLmg+CiAj
aW1wb3J0IDxwYWwvc3BpL21hYy9OU0ltbWVkaWF0ZUFjdGlvbkdlc3R1cmVSZWNvZ25pemVyU1BJ
Lmg+CisjaW1wb3J0IDxwYWwvc3BpL21hYy9OU01lbnVTUEkuaD4KICNpbXBvcnQgPHBhbC9zcGkv
bWFjL05TU2Nyb2xsZXJJbXBTUEkuaD4KICNpbXBvcnQgPHBhbC9zcGkvbWFjL05TU3BlbGxDaGVj
a2VyU1BJLmg+CiAjaW1wb3J0IDxwYWwvc3BpL21hYy9OU1RleHRGaW5kZXJTUEkuaD4KQEAgLTUw
NDUsNiArNTA0NiwxMyBAQCBWZWN0b3I8V2ViQ29yZTo6S2V5cHJlc3NDb21tYW5kPiBXZWJWaWV3
SW1wbDo6Y29sbGVjdEtleWJvYXJkTGF5b3V0Q29tbWFuZHNGb3JFdgogCiAgICAgbV9jb2xsZWN0
ZWRLZXlwcmVzc0NvbW1hbmRzID0gbnVsbHB0cjsKIAorICAgIGlmIChhdXRvIG1lbnUgPSBOU0Fw
cC5tYWluTWVudTsgZXZlbnQubW9kaWZpZXJGbGFncyAmIE5TRXZlbnRNb2RpZmllckZsYWdGdW5j
dGlvbgorICAgICAgICAmJiBbbWVudSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF9jb250
YWluc0l0ZW1NYXRjaGluZ0V2ZW50OmluY2x1ZGluZ0Rpc2FibGVkSXRlbXM6KV0gJiYgW21lbnUg
X2NvbnRhaW5zSXRlbU1hdGNoaW5nRXZlbnQ6ZXZlbnQgaW5jbHVkaW5nRGlzYWJsZWRJdGVtczpZ
RVNdKSB7CisgICAgICAgIGNvbW1hbmRzLnJlbW92ZUFsbE1hdGNoaW5nKFtdKGF1dG8mIGNvbW1h
bmQpIHsKKyAgICAgICAgICAgIHJldHVybiBjb21tYW5kLmNvbW1hbmROYW1lID09ICJpbnNlcnRU
ZXh0OiI7CisgICAgICAgIH0pOworICAgIH0KKwogICAgIHJldHVybiBjb21tYW5kczsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5t
bSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KaW5kZXgg
YzAyMGI4YmJhMmQwMDQxZjNlNTRlN2YxOGM2YTM3NzY4MzNlZjA0OS4uZTQ2NTM0MTI2OTllMjZl
NTdhMDIzYWI4NTc2Y2Q5Yzk0MDVmNjU2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCkBAIC0xMzksNiArMTM5LDcgQEAKICNpbXBvcnQgPHBh
bC9zcGkvY2YvQ0ZVdGlsaXRpZXNTUEkuaD4KICNpbXBvcnQgPHBhbC9zcGkvY29jb2EvTlNBdHRy
aWJ1dGVkU3RyaW5nU1BJLmg+CiAjaW1wb3J0IDxwYWwvc3BpL2NvY29hL05TVVJMRmlsZVR5cGVN
YXBwaW5nc1NQSS5oPgorI2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNNZW51U1BJLmg+CiAjaW1wb3J0
IDxwYWwvc3BpL21hYy9OU1Njcm9sbGVySW1wU1BJLmg+CiAjaW1wb3J0IDxwYWwvc3BpL21hYy9O
U1NwZWxsQ2hlY2tlclNQSS5oPgogI2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNWaWV3U1BJLmg+CkBA
IC02Njk4LDcgKzY2OTksMjggQEAgQUxMT1dfREVQUkVDQVRFRF9JTVBMRU1FTlRBVElPTlNfRU5E
CiAgICAgLy8gdGhlbiB3ZSBhbHNvIGV4ZWN1dGUgaXQgaW1tZWRpYXRlbHksIGFzIHRoZXJlIHdp
bGwgYmUgbm8gb3RoZXIgY2hhbmNlLgogICAgIGJvb2wgc2hvdWxkU2F2ZUNvbW1hbmQgPSBwYXJh
bWV0ZXJzICYmIHBhcmFtZXRlcnMtPnNob3VsZFNhdmVDb21tYW5kczsKICAgICBpZiAoZXZlbnQg
JiYgc2hvdWxkU2F2ZUNvbW1hbmQgJiYgIWlzRnJvbUlucHV0TWV0aG9kKSB7Ci0gICAgICAgIGV2
ZW50LT5rZXlwcmVzc0NvbW1hbmRzKCkuYXBwZW5kKFdlYkNvcmU6OktleXByZXNzQ29tbWFuZCgi
aW5zZXJ0VGV4dDoiLCB0ZXh0KSk7CisgICAgICAgIGF1dG8gaXNGdW5jdGlvbktleUNvbW1hbmRX
aXRoTWF0Y2hpbmdNZW51SXRlbSA9IChbJl0geworI2lmIFBMQVRGT1JNKE1BQykKKyAgICAgICAg
ICAgIGF1dG8gbWVudSA9IE5TQXBwLm1haW5NZW51OworICAgICAgICAgICAgYXV0byogcGxhdGZv
cm1LZXlFdmVudCA9IGV2ZW50LT51bmRlcmx5aW5nUGxhdGZvcm1FdmVudCgpOworICAgICAgICAg
ICAgaWYgKCFwbGF0Zm9ybUtleUV2ZW50KQorICAgICAgICAgICAgICAgIHJldHVybiBOTzsKKwor
ICAgICAgICAgICAgTlNFdmVudCAqbnNFdmVudCA9IHBsYXRmb3JtS2V5RXZlbnQtPm1hY0V2ZW50
KCk7CisgICAgICAgICAgICBpZiAoIShuc0V2ZW50Lm1vZGlmaWVyRmxhZ3MgJiBOU0V2ZW50TW9k
aWZpZXJGbGFnRnVuY3Rpb24pKQorICAgICAgICAgICAgICAgIHJldHVybiBOTzsKKworICAgICAg
ICAgICAgaWYgKCFbbWVudSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF9jb250YWluc0l0
ZW1NYXRjaGluZ0V2ZW50OmluY2x1ZGluZ0Rpc2FibGVkSXRlbXM6KV0pCisgICAgICAgICAgICAg
ICAgcmV0dXJuIE5POworCisgICAgICAgICAgICByZXR1cm4gW21lbnUgX2NvbnRhaW5zSXRlbU1h
dGNoaW5nRXZlbnQ6bnNFdmVudCBpbmNsdWRpbmdEaXNhYmxlZEl0ZW1zOllFU107CisjZWxzZQor
ICAgICAgICAgICAgcmV0dXJuIE5POworI2VuZGlmCisgICAgICAgIH0pKCk7CisKKyAgICAgICAg
aWYgKCFpc0Z1bmN0aW9uS2V5Q29tbWFuZFdpdGhNYXRjaGluZ01lbnVJdGVtKQorICAgICAgICAg
ICAgZXZlbnQtPmtleXByZXNzQ29tbWFuZHMoKS5hcHBlbmQoV2ViQ29yZTo6S2V5cHJlc3NDb21t
YW5kKCJpbnNlcnRUZXh0OiIsIHRleHQpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApkaWZm
IC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGY4OGEwYzMw
YmVlNjczNmFmNzlkNTc5NTUxMWUxOWRhOGM0NzlmY2UuLjIzMmE3NDRiZDM1NDBiN2Q5NDA1YTI1
OTUxMjczMjY4Y2JiYTIxNzEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29s
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAyMS0wNy0yNiAgV2Vuc29uIEhzaWVoICA8
d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1MgTW9udGVyZXldIFByZXNz
aW5nIEZuK0Ugc2hvdWxkIHByZXNlbnQgdGhlIGVtb2ppIHBpY2tlciB3aGVuIGVkaXRpbmcKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyODMwMAorICAg
ICAgICByZGFyOi8vNzc1NTg2NzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGQgYSBuZXcgQVBJIHRlc3QgdGhhdCBzaW11bGF0ZXMgYSBrZXlwcmVz
cyBmb3IgIkZuK0UiIHdpdGggYSBtYWluIG1lbnUgdGhhdCBjb250YWlucyBhIHN5c3RlbSBtZW51
IGl0ZW0gZm9yCisgICAgICAgIHRoYXQga2V5IGJpbmRpbmc7IHRoZSB0ZXN0IHRoZW4gdmVyaWZp
ZXMgdGhhdCB0ZXh0IHdhcyBub3QgaW5zZXJ0ZWQgaW50byB0aGUgcGFnZSBhcyBhIHJlc3VsdC4K
KworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvbWFjL0tleWJvYXJkRXZl
bnRUZXN0cy5tbTogQWRkZWQuCisgICAgICAgICgtW0tleWJvYXJkVGVzdE1lbnUgX2NvbnRhaW5z
SXRlbU1hdGNoaW5nRXZlbnQ6aW5jbHVkaW5nRGlzYWJsZWRJdGVtczpdKToKKyAgICAgICAgKFRl
c3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvY29jb2EvVGVzdFdL
V2ViVmlldy5oOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvY29jb2EvVGVzdFdLV2ViVmlldy5t
bToKKyAgICAgICAgKC1bVGVzdFdLV2ViVmlldyB0eXBlQ2hhcmFjdGVyOl0pOgorICAgICAgICAo
LVtUZXN0V0tXZWJWaWV3IHR5cGVDaGFyYWN0ZXI6bW9kaWZpZXJzOl0pOgorCiAyMDIxLTA3LTI0
ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1Nd
IFVuaWZpZWQgZmllbGQgaXMgdW5zZWxlY3RlZCBhZnRlciBmb2N1c2luZyBVUkwgYmFyIGlmIHRl
eHQgd2FzIHNlbGVjdGVkIGluIGEgZml4ZWQgcG9zaXRpb24gY29udGFpbmVyCmRpZmYgLS1naXQg
YS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IDBmNGFlOWEwNWI1NWM5NjcwNDMzOTQ2NGExNDk5Y2IxYWRhMGU4MTQu
LmVjYjQ0OTVkZjQ3MWE3NjM0NjdlMzEwNjY0NGM5NGY2MDMxNTRmNDggMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCkBAIC0yMDAsNiArMjAwLDcgQEAKIAkJMkVCMjQyQjgyMUQ0MTQwQjAwNTVDMUMw
IC8qIFVzZVNlbGVjdGlvbkFzRmluZFN0cmluZy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFMTMzQjRGMjFENDBBRjAwMEVEMUNCMiAvKiBVc2VTZWxl
Y3Rpb25Bc0ZpbmRTdHJpbmcubW0gKi87IH07CiAJCTJFQjI5RDVFMUY3NjJEQjkwMDIzQTVGMSAv
KiBkdW1wLWRhdGF0cmFuc2Zlci10eXBlcy5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFQjI5RDVEMUY3NjJEQTUwMDIzQTVGMSAvKiBk
dW1wLWRhdGF0cmFuc2Zlci10eXBlcy5odG1sICovOyB9OwogCQkyRUJEOUQwQTIxMzQ3MzBEMDAy
REE3NTggLyogdmlkZW8uaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwN0NEMzJGNzIwNjVCNzJBMDA2NEE0QkUgLyogdmlkZW8uaHRtbCAq
LzsgfTsKKwkJMkVDNzAzNEEyNkFGNUU4ODAwMkIyRDM3IC8qIEtleWJvYXJkRXZlbnRUZXN0cy5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFQzcwMzQ5
MjZBRjVFODgwMDJCMkQzNyAvKiBLZXlib2FyZEV2ZW50VGVzdHMubW0gKi87IH07CiAJCTJFQ0ZG
NTU1MUQ5QjEyRjgwMEI1NTM5NCAvKiBOb3dQbGF5aW5nQ29udHJvbHNUZXN0cy5tbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFQ0ZGNTU0MUQ5QjEyRjgw
MEI1NTM5NCAvKiBOb3dQbGF5aW5nQ29udHJvbHNUZXN0cy5tbSAqLzsgfTsKIAkJMkVGRjA2QzMx
RDg4NjIxRTAwMDRCQjMwIC8qIGxhcmdlLXZpZGVvLW9mZnNjcmVlbi5odG1sIGluIENvcHkgUmVz
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFRkYwNkMyMUQ4ODYy
MTIwMDA0QkIzMCAvKiBsYXJnZS12aWRlby1vZmZzY3JlZW4uaHRtbCAqLzsgfTsKIAkJMkVGRjA2
QzUxRDg4Njc3NjAwMDRCQjMwIC8qIGNoYW5nZS12aWRlby1zb3VyY2Utb24tY2xpY2suaHRtbCBp
biBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRUZG
MDZDNDFEODg2NzcwMDAwNEJCMzAgLyogY2hhbmdlLXZpZGVvLXNvdXJjZS1vbi1jbGljay5odG1s
ICovOyB9OwpAQCAtMTk5OSw2ICsyMDAwLDcgQEAKIAkJMkU5MkI4RjgyMTY0OTBFQTAwNUI2NEYw
IC8qIEZvbnRBdHRyaWJ1dGVzLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gRm9udEF0dHJpYnV0ZXMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJF
OTg5NjE0MUQ4RjA5MkIwMDczOTg5MiAvKiB0ZXh0LWFuZC1wYXNzd29yZC1pbnB1dHMuaHRtbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJ0ZXh0LWFuZC1wYXNzd29yZC1pbnB1dHMuaHRt
bCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJFQjI5RDVEMUY3NjJEQTUwMDIzQTVG
MSAvKiBkdW1wLWRhdGF0cmFuc2Zlci10eXBlcy5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBw
YXRoID0gImR1bXAtZGF0YXRyYW5zZmVyLXR5cGVzLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkyRUM3MDM0OTI2QUY1RTg4MDAyQjJEMzcgLyogS2V5Ym9hcmRFdmVudFRlc3Rz
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gS2V5Ym9hcmRFdmVudFRlc3RzLm1tOyBwYXRoID0g
S2V5Ym9hcmRFdmVudFRlc3RzLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRUNG
RjU1NDFEOUIxMkY4MDBCNTUzOTQgLyogTm93UGxheWluZ0NvbnRyb2xzVGVzdHMubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBOb3dQbGF5aW5nQ29udHJvbHNUZXN0
cy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkVGRjA2QzIxRDg4NjIxMjAwMDRC
QjMwIC8qIGxhcmdlLXZpZGVvLW9mZnNjcmVlbi5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBw
YXRoID0gImxhcmdlLXZpZGVvLW9mZnNjcmVlbi5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMkVGRjA2QzQxRDg4Njc3MDAwMDRCQjMwIC8qIGNoYW5nZS12aWRlby1zb3VyY2Ut
b24tY2xpY2suaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJjaGFuZ2UtdmlkZW8t
c291cmNlLW9uLWNsaWNrLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNDc2
Miw2ICs0NzY0LDcgQEAKIAkJCQk1N0YxMEQ5MjFDN0U3QjM4MDBFQ0RGMzAgLyogSXNOYXZpZ2F0
aW9uQWN0aW9uVHJ1c3RlZC5tbSAqLywKIAkJCQk1MTgyMEE0QzIyRjRFRTc3MDBERjBBMDEgLyog
SmF2YXNjcmlwdFVSTE5hdmlnYXRpb24ubW0gKi8sCiAJCQkJNEJCNDE2MDExNjgxNUIyNjAwODI0
MjM4IC8qIEpTV3JhcHBlckZvck5vZGVJbldlYkZyYW1lLm1tICovLAorCQkJCTJFQzcwMzQ5MjZB
RjVFODgwMDJCMkQzNyAvKiBLZXlib2FyZEV2ZW50VGVzdHMubW0gKi8sCiAJCQkJRjRCRkE2OEMx
RTRBRDA4MDAwMTU0Mjk4IC8qIExlZ2FjeURyYWdBbmREcm9wVGVzdHMubW0gKi8sCiAJCQkJN0E3
QjBFN0UxRUFGRTQ1NDAwNkFCOEFFIC8qIExpbWl0VGl0bGVTaXplLm1tICovLAogCQkJCTU3OTAx
RkFFMUNBRjEzNzEwMEVENjRGOSAvKiBMb2FkSW52YWxpZFVSTFJlcXVlc3QubW0gKi8sCkBAIC01
NTk4LDYgKzU2MDEsNyBAQAogCQkJCUUzNUZDN0IyMjJCODJBNzMwMEYzMkY5OCAvKiBKU0xvY2tU
YWtlc1dlYlRocmVhZExvY2subW0gaW4gU291cmNlcyAqLywKIAkJCQkxNENDNDJFNjI0QjhEOEZB
MDBFNjRGNDggLyogSlNSdW5Mb29wVGltZXIubW0gaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0VD
NDFBNDExQTdFMDA0NDdDNEMgLyogSlNXcmFwcGVyRm9yTm9kZUluV2ViRnJhbWUubW0gaW4gU291
cmNlcyAqLywKKwkJCQkyRUM3MDM0QTI2QUY1RTg4MDAyQjJEMzcgLyogS2V5Ym9hcmRFdmVudFRl
c3RzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJRjQ1RTE1NzMyMTEyQ0UyOTAwMzA3RTgyIC8qIEtl
eWJvYXJkSW5wdXRUZXN0c0lPUy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTI3OEUzRTE5MjNDRDg0
MkYwMDVBNkI4MCAvKiBLZXllZENvZGluZy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0Yw
NjFBNDExQUU2MDA0NDdDNEMgLyogTGF5b3V0TWlsZXN0b25lc1dpdGhBbGxDb250ZW50SW5GcmFt
ZS5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvbWFjL0tleWJvYXJkRXZlbnRUZXN0cy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
bWFjL0tleWJvYXJkRXZlbnRUZXN0cy5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZWMzMmQxZGUyZDU3ODYxZjcy
Mjc2MTI4MzFhMTNmOGZlNzVhMTIxCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9tYWMvS2V5Ym9hcmRFdmVudFRlc3RzLm1tCkBAIC0wLDAgKzEsNjggQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKworI2lmIFBMQVRGT1JNKE1BQykKKworI2lt
cG9ydCAiUGxhdGZvcm1VdGlsaXRpZXMuaCIKKyNpbXBvcnQgIlRlc3RXS1dlYlZpZXcuaCIKKyNp
bXBvcnQgPHBhbC9zcGkvbWFjL05TTWVudVNQSS5oPgorI2ltcG9ydCA8d3RmL1JldGFpblB0ci5o
PgorCitAaW50ZXJmYWNlIEtleWJvYXJkVGVzdE1lbnUgOiBOU01lbnUKK0BlbmQKKworQGltcGxl
bWVudGF0aW9uIEtleWJvYXJkVGVzdE1lbnUKKworLSAoQk9PTClfY29udGFpbnNJdGVtTWF0Y2hp
bmdFdmVudDooTlNFdmVudCAqKWV2ZW50IGluY2x1ZGluZ0Rpc2FibGVkSXRlbXM6KEJPT0wpaW5j
bHVkaW5nRGlzYWJsZWRJdGVtcworeworICAgIHJldHVybiBbZXZlbnQuY2hhcmFjdGVyc0lnbm9y
aW5nTW9kaWZpZXJzIGlzRXF1YWxUb1N0cmluZzpAImUiXSAmJiBldmVudC5tb2RpZmllckZsYWdz
ICYgTlNFdmVudE1vZGlmaWVyRmxhZ0Z1bmN0aW9uOworfQorCitAZW5kCisKK25hbWVzcGFjZSBU
ZXN0V2ViS2l0QVBJIHsKKworVEVTVChLZXlib2FyZEV2ZW50VGVzdHMsIEZ1bmN0aW9uS2V5Q29t
bWFuZCkKK3sKKyAgICBhdXRvIG1lbnUgPSBhZG9wdE5TKFtbS2V5Ym9hcmRUZXN0TWVudSBhbGxv
Y10gaW5pdFdpdGhUaXRsZTpAIlRlc3QgbWVudSJdKTsKKyAgICBhdXRvIG1lbnVJdGVtID0gYWRv
cHROUyhbW05TTWVudUl0ZW0gYWxsb2NdIGluaXRXaXRoVGl0bGU6QCJFbW9qaXMgJiBTeW1ib2xz
IiBhY3Rpb246QHNlbGVjdG9yKGRlc2NyaXB0aW9uKSBrZXlFcXVpdmFsZW50OkAiZSJdKTsKKyAg
ICBbbWVudUl0ZW0gX3NldElzU3lzdGVtTWVudUl0ZW06WUVTXTsKKyAgICBbbWVudUl0ZW0gc2V0
S2V5RXF1aXZhbGVudE1vZGlmaWVyTWFzazpOU0V2ZW50TW9kaWZpZXJGbGFnRnVuY3Rpb25dOwor
ICAgIFttZW51IHNldEl0ZW1BcnJheTpAWyBtZW51SXRlbS5nZXQoKSBdXTsKKyAgICBOU0FwcC5t
YWluTWVudSA9IG1lbnUuZ2V0KCk7CisKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVz
dFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDQwMCwgNDAw
KV0pOworICAgIFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlMb2FkSFRNTFN0cmluZzpAIjxzY3JpcHQ+
YWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsICgpID0+IGRvY3VtZW50LmJvZHkuZm9jdXMoKSk8L3Nj
cmlwdD48Ym9keSBjb250ZW50ZWRpdGFibGU+PC9ib2R5PiJdOworICAgIFt3ZWJWaWV3IHR5cGVD
aGFyYWN0ZXI6J2UnIG1vZGlmaWVyczpOU0V2ZW50TW9kaWZpZXJGbGFnRnVuY3Rpb25dOworICAg
IFt3ZWJWaWV3IHdhaXRGb3JOZXh0UHJlc2VudGF0aW9uVXBkYXRlXTsKKworICAgIEVYUEVDVF9X
S19TVFJFUSgiIiwgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAImRvY3Vt
ZW50LmJvZHkudGV4dENvbnRlbnQiXSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRB
UEkKKworI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvY29jb2EvVGVzdFdLV2ViVmlldy5oIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9U
ZXN0V0tXZWJWaWV3LmgKaW5kZXggZTNkMDEwMWMyMjdmOTg5OTY5NzEwOWQzZDcwYTRjYTg1YzVi
NTQ5NS4uODRhYWY2OTg1YTMwZWNiZWJjZDI2YzhhMjFmMDg0ZWQyNGI5ZDViMSAxMDA2NDQKLS0t
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9UZXN0V0tXZWJWaWV3LmgKKysrIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9jb2NvYS9UZXN0V0tXZWJWaWV3LmgKQEAgLTEzNyw2ICsxMzcsNyBAQAog
LSAodm9pZClzZW5kQ2xpY2tzQXRQb2ludDooTlNQb2ludClwb2ludEluV2luZG93IG51bWJlck9m
Q2xpY2tzOihOU1VJbnRlZ2VyKW51bWJlck9mQ2xpY2tzOwogLSAodm9pZClzZW5kQ2xpY2tBdFBv
aW50OihOU1BvaW50KXBvaW50SW5XaW5kb3c7CiAtIChOU1dpbmRvdyAqKWhvc3RXaW5kb3c7Cist
ICh2b2lkKXR5cGVDaGFyYWN0ZXI6KGNoYXIpY2hhcmFjdGVyIG1vZGlmaWVyczooTlNFdmVudE1v
ZGlmaWVyRmxhZ3MpbW9kaWZpZXJzOwogLSAodm9pZCl0eXBlQ2hhcmFjdGVyOihjaGFyKWNoYXJh
Y3RlcjsKIC0gKHZvaWQpc2V0RXZlbnRUaW1lc3RhbXBPZmZzZXQ6KE5TVGltZUludGVydmFsKW9m
ZnNldDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgTlNUaW1lSW50ZXJ2YWwgZXZl
bnRUaW1lc3RhbXA7CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29hL1Rlc3RX
S1dlYlZpZXcubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29hL1Rlc3RXS1dlYlZpZXcubW0K
aW5kZXggNmYzZmNiYjZiM2ViM2Q4ZjUzYjg3ZjQ5ODAyYjAxMWI2NzFjMGM4ZS4uMjJkMDAyNjky
NGRiMGFkZjI3MTYzMGZlYzYwOGE5Nzg3NjZhYjQ2YyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdl
YktpdEFQSS9jb2NvYS9UZXN0V0tXZWJWaWV3Lm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
Y29jb2EvVGVzdFdLV2ViVmlldy5tbQpAQCAtODQ1LDEyICs4NDUsMTcgQEAgLSAoTlNXaW5kb3cg
Kilob3N0V2luZG93CiB9CiAKIC0gKHZvaWQpdHlwZUNoYXJhY3RlcjooY2hhciljaGFyYWN0ZXIK
K3sKKyAgICBbc2VsZiB0eXBlQ2hhcmFjdGVyOmNoYXJhY3RlciBtb2RpZmllcnM6MF07Cit9CisK
Ky0gKHZvaWQpdHlwZUNoYXJhY3RlcjooY2hhciljaGFyYWN0ZXIgbW9kaWZpZXJzOihOU0V2ZW50
TW9kaWZpZXJGbGFncyltb2RpZmllcnMKIHsKICAgICBOU1N0cmluZyAqY2hhcmFjdGVyQXNTdHJp
bmcgPSBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIiVjIiAsIGNoYXJhY3Rlcl07CiAgICAg
TlNFdmVudFR5cGUga2V5RG93bkV2ZW50VHlwZSA9IE5TRXZlbnRUeXBlS2V5RG93bjsKICAgICBO
U0V2ZW50VHlwZSBrZXlVcEV2ZW50VHlwZSA9IE5TRXZlbnRUeXBlS2V5VXA7Ci0gICAgW3NlbGYg
a2V5RG93bjpbTlNFdmVudCBrZXlFdmVudFdpdGhUeXBlOmtleURvd25FdmVudFR5cGUgbG9jYXRp
b246TlNaZXJvUG9pbnQgbW9kaWZpZXJGbGFnczowIHRpbWVzdGFtcDpzZWxmLmV2ZW50VGltZXN0
YW1wIHdpbmRvd051bWJlcjpbX2hvc3RXaW5kb3cgd2luZG93TnVtYmVyXSBjb250ZXh0Om5pbCBj
aGFyYWN0ZXJzOmNoYXJhY3RlckFzU3RyaW5nIGNoYXJhY3RlcnNJZ25vcmluZ01vZGlmaWVyczpj
aGFyYWN0ZXJBc1N0cmluZyBpc0FSZXBlYXQ6Tk8ga2V5Q29kZTpjaGFyYWN0ZXJdXTsKLSAgICBb
c2VsZiBrZXlVcDpbTlNFdmVudCBrZXlFdmVudFdpdGhUeXBlOmtleVVwRXZlbnRUeXBlIGxvY2F0
aW9uOk5TWmVyb1BvaW50IG1vZGlmaWVyRmxhZ3M6MCB0aW1lc3RhbXA6c2VsZi5ldmVudFRpbWVz
dGFtcCB3aW5kb3dOdW1iZXI6W19ob3N0V2luZG93IHdpbmRvd051bWJlcl0gY29udGV4dDpuaWwg
Y2hhcmFjdGVyczpjaGFyYWN0ZXJBc1N0cmluZyBjaGFyYWN0ZXJzSWdub3JpbmdNb2RpZmllcnM6
Y2hhcmFjdGVyQXNTdHJpbmcgaXNBUmVwZWF0Ok5PIGtleUNvZGU6Y2hhcmFjdGVyXV07CisgICAg
W3NlbGYga2V5RG93bjpbTlNFdmVudCBrZXlFdmVudFdpdGhUeXBlOmtleURvd25FdmVudFR5cGUg
bG9jYXRpb246TlNaZXJvUG9pbnQgbW9kaWZpZXJGbGFnczptb2RpZmllcnMgdGltZXN0YW1wOnNl
bGYuZXZlbnRUaW1lc3RhbXAgd2luZG93TnVtYmVyOltfaG9zdFdpbmRvdyB3aW5kb3dOdW1iZXJd
IGNvbnRleHQ6bmlsIGNoYXJhY3RlcnM6Y2hhcmFjdGVyQXNTdHJpbmcgY2hhcmFjdGVyc0lnbm9y
aW5nTW9kaWZpZXJzOmNoYXJhY3RlckFzU3RyaW5nIGlzQVJlcGVhdDpOTyBrZXlDb2RlOmNoYXJh
Y3Rlcl1dOworICAgIFtzZWxmIGtleVVwOltOU0V2ZW50IGtleUV2ZW50V2l0aFR5cGU6a2V5VXBF
dmVudFR5cGUgbG9jYXRpb246TlNaZXJvUG9pbnQgbW9kaWZpZXJGbGFnczptb2RpZmllcnMgdGlt
ZXN0YW1wOnNlbGYuZXZlbnRUaW1lc3RhbXAgd2luZG93TnVtYmVyOltfaG9zdFdpbmRvdyB3aW5k
b3dOdW1iZXJdIGNvbnRleHQ6bmlsIGNoYXJhY3RlcnM6Y2hhcmFjdGVyQXNTdHJpbmcgY2hhcmFj
dGVyc0lnbm9yaW5nTW9kaWZpZXJzOmNoYXJhY3RlckFzU3RyaW5nIGlzQVJlcGVhdDpOTyBrZXlD
b2RlOmNoYXJhY3Rlcl1dOwogfQogCiBAZW5kCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>434261</attachid>
            <date>2021-07-26 17:53:36 -0700</date>
            <delta_ts>2021-07-26 19:21:24 -0700</delta_ts>
            <desc>Fix test on pre-Monterey macOS</desc>
            <filename>bug-228300-20210726175335.patch</filename>
            <type>text/plain</type>
            <size>19358</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMTYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBmMDE5ZDNj
ZTEyMDNmM2ZhMTA0ZWY5ZmFjNGZmYTQwNmFiOTAyZjYwLi4zN2MxZjg0N2I0Y2YwODE1OTE5MDhk
NzZmYjhiMTYxMDgyYTU5MmJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAor
MjAyMS0wNy0yNiAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAg
ICAgICBbbWFjT1MgTW9udGVyZXldIFByZXNzaW5nIEZuK0Ugc2hvdWxkIHByZXNlbnQgdGhlIGVt
b2ppIHBpY2tlciB3aGVuIGVkaXRpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyODMwMAorICAgICAgICByZGFyOi8vNzc1NTg2NzIKKworICAgICAg
ICBSZXZpZXdlZCBieSBUaW0gSG9ydG9uLgorCisgICAgICAgIEFkZCBhIG5ldyBTUEkgZGVjbGFy
YXRpb24gb24gTlNNZW51LiBTZWUgV2ViS2l0IGFuZCBXZWJLaXRMZWdhY3kgY2hhbmdlcyBmb3Ig
bW9yZSBpbmZvcm1hdGlvbi4KKworICAgICAgICAqIHBhbC9zcGkvbWFjL05TTWVudVNQSS5oOgor
CiAyMDIxLTA3LTIxICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAg
VW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyODAxMjkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGMwZmNkYjM5YmUyOWVk
YzVmODkxNDZkZGIxMTE3MTY3YTRlY2Y5YmMuLmRkZGU5ZjVhY2FjM2Y5NzFhM2UzZWZmNDk1ZDQ4
YWI3MzFmODQ3MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMjEtMDctMjYgIFdlbnNv
biBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TIE1vbnRl
cmV5XSBQcmVzc2luZyBGbitFIHNob3VsZCBwcmVzZW50IHRoZSBlbW9qaSBwaWNrZXIgd2hlbiBl
ZGl0aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjgzMDAKKyAgICAgICAgcmRhcjovLzc3NTU4NjcyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGlt
IEhvcnRvbi4KKworICAgICAgICBJbiBtYWNPUyBNb250ZXJleSwgdGhlIHN5c3RlbS13aWRlIEZu
K0Uga2V5IGNvbW1hbmQgcHJlc2VudHMgdGhlIEVtb2ppICYgU3ltYm9scyBVSSBhcyBhIHBvcG92
ZXIuIEhvd2V2ZXIsIHRoaXMKKyAgICAgICAgbmV3IGtleSBjb21tYW5kIGN1cnJlbnRseSBkb2Vz
IG5vdCB3b3JrIGluIGVkaXRhYmxlIGNvbnRleHRzIGluIGJvdGggV2ViS2l0MSBhbmQgV2ViS2l0
MiB2aWV3cyBvbiBtYWNPUywgd2hlcmUKKyAgICAgICAgd2UgZW5kIHVwIGp1c3QgaW5zZXJ0aW5n
IHRoZSBjaGFyYWN0ZXIgImUiLgorCisgICAgICAgIFRoaXMgaXMgYmVjYXVzZSwgb24gYm90aCBw
b3J0cywgd2UgYXR0ZW1wdCB0byBpbnRlcnByZXQgTlNFdmVudHMgYnkgY2FsbGluZyBiYWNrIGlu
dG8gQXBwS2l0IHRvIGhhbmRsZSB0aGUKKyAgICAgICAgZXZlbnQsIHJlY29yZGluZyB0aGUgc2Vs
ZWN0b3JzIHRoYXQgKndvdWxkJ3ZlKiBiZWVuIHBlcmZvcm1lZCwgYW5kIHRoZW4gdXNpbmcgdGhp
cyBpbmZvcm1hdGlvbiB0byBidWlsZCB1cCBhCisgICAgICAgIGxpc3Qgb2YgV2ViQ29yZTo6S2V5
Q29tbWFuZCBmb3IgdGhlIGV2ZW50ICh3aGljaCBhcmUgbGF0ZXIgY29udmVydGVkIGludG8gZWRp
dGluZyBjb21tYW5kcykuIEluIFdlYktpdDIsIHdlCisgICAgICAgIGNhbGwgaW50byBgLVtOU1Rl
eHRJbnB1dENvbnRleHQgaGFuZGxlRXZlbnRCeUtleWJvYXJkTGF5b3V0Ol1gIHRvIGhhbmRsZSB0
aGUgZXZlbnQsIGFuZCBjYXB0dXJlIHRoZSByZXN1bHRpbmcKKyAgICAgICAgY2FsbHMgYmFjayBp
bnRvIGBXS1dlYlZpZXdgIGJ5IHN0b3JpbmcgZW50cmllcyBpbiBgbV9jb2xsZWN0ZWRLZXlwcmVz
c0NvbW1hbmRzYCAoc29tZXRoaW5nIHNpbWlsYXIgaGFwcGVucyBpbgorICAgICAgICBXZWJLaXQx
KS4gSW4gdGhlIGNhc2Ugb2YgdGhlc2UgbmV3IEZuIGNvbW1hbmRzLCB0aGV5IGFyZSBoYW5kbGVk
IGJ5IHRoZSBzeXN0ZW0gYmVmb3JlIGVudGVyaW5nCisgICAgICAgIE5TVGV4dElucHV0Q29udGV4
dCwgc28gTlNUZXh0SW5wdXRDb250ZXh0IGVuZHMgdXAgaGFuZGxpbmcgdGhlbSBhcyByZWd1bGFy
IHRleHQgaW5zZXJ0aW9uLgorCisgICAgICAgIEFzIGFuIGFzaWRlLCB0aGUgcmVhc29uIHRoZSBt
ZXRhICjijJgpIGtleSBkb2Vzbid0IGVuY291bnRlciB0aGlzIHByb2JsZW0gaXMgYmVjYXVzZSBt
ZXRhLCBvcHRpb24sIGNvbnRyb2wgYW5kCisgICAgICAgIHNoaWZ0IGFyZSBjb25zaWRlcmVkIHZh
bGlkIGtleSBiaW5kaW5ncyBpbiBOU0tleUJpbmRpbmdNYW5hZ2VyLCB3aGVyZWFzIHRoZSBmdW5j
dGlvbiBrZXkgbWFzayBpcyBzcGVjaWZpY2FsbHkKKyAgICAgICAgZXhjbHVkZWQgZnJvbSB0aGlz
IGxpc3QgZm9yIGNvbXBhYmlsaXR5IHJlYXNvbnMuIE5TVGV4dElucHV0Q29udGV4dCBjb25zdWx0
cyBOU0tleUJpbmRpbmdNYW5hZ2VyIGluIG9yZGVyIHRvCisgICAgICAgIGNoZWNrIHdoZXRoZXIg
dGhlIGdpdmVuIE5TRXZlbnQgaXMgYSBrbm93biBrZXkgYmluZGluZyBpbiBgLWhhbmRsZUV2ZW50
QnlLZXlib2FyZExheW91dDpgLCBzbyBpdCBmYWlscyB0bworICAgICAgICBhY2tub3dsZWRnZSBG
bitFIGFzIGEga2V5IGJpbmRpbmcuCisKKyAgICAgICAgVG8gd29yayBhcm91bmQgdGhpcywgd2Ug
YWRvcHQgbmV3IEFwcEtpdCBTUEkgYWRkZWQgaW4gcmRhcjovLzgxMTIzNzI0IHRvIGRldGVybWlu
ZSB3aGV0aGVyIGFuIE5TRXZlbnQgbWFwcyB0bworICAgICAgICBhbnkgbWFpbiBtZW51IGl0ZW1z
IGFuZCBhdm9pZCBoYW5kbGluZyAiRm4tKiIga2V5IGV2ZW50cyBhcyB0ZXh0IGluc2VydGlvbiBp
ZiB0aGV5IGFscmVhZHkgbWFwIHRvIGl0ZW1zIGluIHRoZQorICAgICAgICBtYWluIG1lbnUuCisK
KyAgICAgICAgVGVzdDogS2V5Ym9hcmRFdmVudFRlc3RzLkZ1bmN0aW9uS2V5Q29tbWFuZAorCisg
ICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tOgorICAgICAgICAoV2ViS2l0
OjpXZWJWaWV3SW1wbDo6Y29sbGVjdEtleWJvYXJkTGF5b3V0Q29tbWFuZHNGb3JFdmVudCk6CisK
IDIwMjEtMDctMjQgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAg
ICAgICAgW2lPU10gVW5pZmllZCBmaWVsZCBpcyB1bnNlbGVjdGVkIGFmdGVyIGZvY3VzaW5nIFVS
TCBiYXIgaWYgdGV4dCB3YXMgc2VsZWN0ZWQgaW4gYSBmaXhlZCBwb3NpdGlvbiBjb250YWluZXIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCA1M2RjMDkyOTVlZDg5MjI1Y2Q4NWE2ZTFj
Y2RlYmUzYjBiODM3OWIwLi41YWQ3MDRhM2JhY2I2YWE3OWIyZmVhMDMzYWQ5ODEwNDkyZGQ3ZTg1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjEtMDct
MjYgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW21h
Y09TIE1vbnRlcmV5XSBQcmVzc2luZyBGbitFIHNob3VsZCBwcmVzZW50IHRoZSBlbW9qaSBwaWNr
ZXIgd2hlbiBlZGl0aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjgzMDAKKyAgICAgICAgcmRhcjovLzc3NTU4NjcyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgVGltIEhvcnRvbi4KKworICAgICAgICBBcHBseSBhIHNpbWlsYXIgZml4LCB0aGlzIHRp
bWUgZm9yIFdlYktpdDEgb24gbWFjT1MuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYkhUTUxWaWV3
Lm1tOgorICAgICAgICAoLVtXZWJIVE1MVmlldyBpbnNlcnRUZXh0Ol0pOgorCisgICAgICAgIE9u
bHkgYXBwZW5kICJpbnNlcnRUZXh0OiIgZm9yIGEgY29ycmVzcG9uZGluZyBOU0V2ZW50IHdpdGgg
dGhlIEZ1bmN0aW9uIGtleSBoZWxkIGRvd24gaWYgaXQgZG9lc24ndCBhbHNvIG1hcAorICAgICAg
ICB0byBhIGl0ZW0gaW4gdGhlIG1haW4gbWVudS4KKwogMjAyMS0wNy0xNiAgTWVnYW4gR2FyZG5l
ciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFBpcGUgQXBwIEhpZ2hsaWdo
dCBzY3JvbGxpbmcgdGhyb3VnaCBVSSBQcm9jZXNzIGluIHByZXBhcmF0aW9uIGZvciBOb3RlIE92
ZXJsYXkgYXZvaWRhbmNlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkv
bWFjL05TTWVudVNQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL05TTWVudVNQ
SS5oCmluZGV4IDI5OTI2MmY1ODlmNTEzMGI4ZmUwNTAwODFlNDE5N2NkNDJiZjY2ODguLmViYWE2
OWJhNzI3MjkzN2MxZTQwM2ExOGIzYzkzNzY2YzQxYmUwNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9OU01lbnVTUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL3NwaS9tYWMvTlNNZW51U1BJLmgKQEAgLTY4LDYgKzY4LDEwIEBAIGVudW0gewogCiAj
ZW5kaWYKIAorQGludGVyZmFjZSBOU01lbnUgKFN0YWdpbmdfODExMjM3MjQpCistIChCT09MKV9j
b250YWluc0l0ZW1NYXRjaGluZ0V2ZW50OihOU0V2ZW50ICopZXZlbnQgaW5jbHVkaW5nRGlzYWJs
ZWRJdGVtczooQk9PTClpbmNsdWRpbmdEaXNhYmxlZEl0ZW1zOworQGVuZAorCiB0eXBlZGVmIE5T
VUludGVnZXIgTlNQb3BVcE1lbnVGbGFnczsKIAogV1RGX0VYVEVSTl9DX0JFR0lOCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbSBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCmluZGV4IDFhNTVlZGJhYTg3
OWI2ZDY2YjdlZjBkZTFmMWM0NWRhODZlMGNjNTguLjc3MDExM2M4NDZlNDBmZDQyNzczY2VkNzMw
NTYzYzZmZmY5ODJhM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L1dlYlZpZXdJbXBsLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZp
ZXdJbXBsLm1tCkBAIC0xMjUsNiArMTI1LDcgQEAKICNpbXBvcnQgPHBhbC9zcGkvbWFjL05TQXBw
ZWFyYW5jZVNQSS5oPgogI2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNBcHBsaWNhdGlvblNQSS5oPgog
I2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNJbW1lZGlhdGVBY3Rpb25HZXN0dXJlUmVjb2duaXplclNQ
SS5oPgorI2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNNZW51U1BJLmg+CiAjaW1wb3J0IDxwYWwvc3Bp
L21hYy9OU1Njcm9sbGVySW1wU1BJLmg+CiAjaW1wb3J0IDxwYWwvc3BpL21hYy9OU1NwZWxsQ2hl
Y2tlclNQSS5oPgogI2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNUZXh0RmluZGVyU1BJLmg+CkBAIC01
MDQ1LDYgKzUwNDYsMTMgQEAgVmVjdG9yPFdlYkNvcmU6OktleXByZXNzQ29tbWFuZD4gV2ViVmll
d0ltcGw6OmNvbGxlY3RLZXlib2FyZExheW91dENvbW1hbmRzRm9yRXYKIAogICAgIG1fY29sbGVj
dGVkS2V5cHJlc3NDb21tYW5kcyA9IG51bGxwdHI7CiAKKyAgICBpZiAoYXV0byBtZW51ID0gTlNB
cHAubWFpbk1lbnU7IGV2ZW50Lm1vZGlmaWVyRmxhZ3MgJiBOU0V2ZW50TW9kaWZpZXJGbGFnRnVu
Y3Rpb24KKyAgICAgICAgJiYgW21lbnUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihfY29u
dGFpbnNJdGVtTWF0Y2hpbmdFdmVudDppbmNsdWRpbmdEaXNhYmxlZEl0ZW1zOildICYmIFttZW51
IF9jb250YWluc0l0ZW1NYXRjaGluZ0V2ZW50OmV2ZW50IGluY2x1ZGluZ0Rpc2FibGVkSXRlbXM6
WUVTXSkgeworICAgICAgICBjb21tYW5kcy5yZW1vdmVBbGxNYXRjaGluZyhbXShhdXRvJiBjb21t
YW5kKSB7CisgICAgICAgICAgICByZXR1cm4gY29tbWFuZC5jb21tYW5kTmFtZSA9PSAiaW5zZXJ0
VGV4dDoiOworICAgICAgICB9KTsKKyAgICB9CisKICAgICByZXR1cm4gY29tbWFuZHM7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcu
bW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCmluZGV4
IGMwMjBiOGJiYTJkMDA0MWYzZTU0ZTdmMThjNmEzNzc2ODMzZWYwNDkuLmU0NjUzNDEyNjk5ZTI2
ZTU3YTAyM2FiODU3NmNkOWM5NDA1ZjY1NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQpAQCAtMTM5LDYgKzEzOSw3IEBACiAjaW1wb3J0IDxw
YWwvc3BpL2NmL0NGVXRpbGl0aWVzU1BJLmg+CiAjaW1wb3J0IDxwYWwvc3BpL2NvY29hL05TQXR0
cmlidXRlZFN0cmluZ1NQSS5oPgogI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9OU1VSTEZpbGVUeXBl
TWFwcGluZ3NTUEkuaD4KKyNpbXBvcnQgPHBhbC9zcGkvbWFjL05TTWVudVNQSS5oPgogI2ltcG9y
dCA8cGFsL3NwaS9tYWMvTlNTY3JvbGxlckltcFNQSS5oPgogI2ltcG9ydCA8cGFsL3NwaS9tYWMv
TlNTcGVsbENoZWNrZXJTUEkuaD4KICNpbXBvcnQgPHBhbC9zcGkvbWFjL05TVmlld1NQSS5oPgpA
QCAtNjY5OCw3ICs2Njk5LDI4IEBAIEFMTE9XX0RFUFJFQ0FURURfSU1QTEVNRU5UQVRJT05TX0VO
RAogICAgIC8vIHRoZW4gd2UgYWxzbyBleGVjdXRlIGl0IGltbWVkaWF0ZWx5LCBhcyB0aGVyZSB3
aWxsIGJlIG5vIG90aGVyIGNoYW5jZS4KICAgICBib29sIHNob3VsZFNhdmVDb21tYW5kID0gcGFy
YW1ldGVycyAmJiBwYXJhbWV0ZXJzLT5zaG91bGRTYXZlQ29tbWFuZHM7CiAgICAgaWYgKGV2ZW50
ICYmIHNob3VsZFNhdmVDb21tYW5kICYmICFpc0Zyb21JbnB1dE1ldGhvZCkgewotICAgICAgICBl
dmVudC0+a2V5cHJlc3NDb21tYW5kcygpLmFwcGVuZChXZWJDb3JlOjpLZXlwcmVzc0NvbW1hbmQo
Imluc2VydFRleHQ6IiwgdGV4dCkpOworICAgICAgICBhdXRvIGlzRnVuY3Rpb25LZXlDb21tYW5k
V2l0aE1hdGNoaW5nTWVudUl0ZW0gPSAoWyZdIHsKKyNpZiBQTEFURk9STShNQUMpCisgICAgICAg
ICAgICBhdXRvIG1lbnUgPSBOU0FwcC5tYWluTWVudTsKKyAgICAgICAgICAgIGF1dG8qIHBsYXRm
b3JtS2V5RXZlbnQgPSBldmVudC0+dW5kZXJseWluZ1BsYXRmb3JtRXZlbnQoKTsKKyAgICAgICAg
ICAgIGlmICghcGxhdGZvcm1LZXlFdmVudCkKKyAgICAgICAgICAgICAgICByZXR1cm4gTk87CisK
KyAgICAgICAgICAgIE5TRXZlbnQgKm5zRXZlbnQgPSBwbGF0Zm9ybUtleUV2ZW50LT5tYWNFdmVu
dCgpOworICAgICAgICAgICAgaWYgKCEobnNFdmVudC5tb2RpZmllckZsYWdzICYgTlNFdmVudE1v
ZGlmaWVyRmxhZ0Z1bmN0aW9uKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gTk87CisKKyAgICAg
ICAgICAgIGlmICghW21lbnUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihfY29udGFpbnNJ
dGVtTWF0Y2hpbmdFdmVudDppbmNsdWRpbmdEaXNhYmxlZEl0ZW1zOildKQorICAgICAgICAgICAg
ICAgIHJldHVybiBOTzsKKworICAgICAgICAgICAgcmV0dXJuIFttZW51IF9jb250YWluc0l0ZW1N
YXRjaGluZ0V2ZW50Om5zRXZlbnQgaW5jbHVkaW5nRGlzYWJsZWRJdGVtczpZRVNdOworI2Vsc2UK
KyAgICAgICAgICAgIHJldHVybiBOTzsKKyNlbmRpZgorICAgICAgICB9KSgpOworCisgICAgICAg
IGlmICghaXNGdW5jdGlvbktleUNvbW1hbmRXaXRoTWF0Y2hpbmdNZW51SXRlbSkKKyAgICAgICAg
ICAgIGV2ZW50LT5rZXlwcmVzc0NvbW1hbmRzKCkuYXBwZW5kKFdlYkNvcmU6OktleXByZXNzQ29t
bWFuZCgiaW5zZXJ0VGV4dDoiLCB0ZXh0KSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKZGlm
ZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBmODhhMGMz
MGJlZTY3MzZhZjc5ZDU3OTU1MTFlMTlkYThjNDc5ZmNlLi4yYWZkMDM2ZDJhODNjYjY2N2IxMDZh
NTkyOTE2YzQzMTAzZTRhYzA5IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9v
bHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjEtMDctMjYgIFdlbnNvbiBIc2llaCAg
PHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TIE1vbnRlcmV5XSBQcmVz
c2luZyBGbitFIHNob3VsZCBwcmVzZW50IHRoZSBlbW9qaSBwaWNrZXIgd2hlbiBlZGl0aW5nCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjgzMDAKKyAg
ICAgICAgcmRhcjovLzc3NTU4NjcyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGltIEhvcnRvbi4K
KworICAgICAgICBBZGQgYSBuZXcgQVBJIHRlc3QgdGhhdCBzaW11bGF0ZXMgYSBrZXlwcmVzcyBm
b3IgIkZuK0UiIHdpdGggYSBtYWluIG1lbnUgdGhhdCBjb250YWlucyBhIHN5c3RlbSBtZW51IGl0
ZW0gZm9yCisgICAgICAgIHRoYXQga2V5IGJpbmRpbmc7IHRoZSB0ZXN0IHRoZW4gdmVyaWZpZXMg
dGhhdCB0ZXh0IHdhcyBub3QgaW5zZXJ0ZWQgaW50byB0aGUgcGFnZSBhcyBhIHJlc3VsdC4KKwor
ICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvbWFjL0tleWJvYXJkRXZlbnRU
ZXN0cy5tbTogQWRkZWQuCisgICAgICAgICgtW0tleWJvYXJkVGVzdE1lbnUgX2NvbnRhaW5zSXRl
bU1hdGNoaW5nRXZlbnQ6aW5jbHVkaW5nRGlzYWJsZWRJdGVtczpdKToKKyAgICAgICAgKFRlc3RX
ZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvY29jb2EvVGVzdFdLV2Vi
Vmlldy5oOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvY29jb2EvVGVzdFdLV2ViVmlldy5tbToK
KyAgICAgICAgKC1bVGVzdFdLV2ViVmlldyB0eXBlQ2hhcmFjdGVyOl0pOgorICAgICAgICAoLVtU
ZXN0V0tXZWJWaWV3IHR5cGVDaGFyYWN0ZXI6bW9kaWZpZXJzOl0pOgorCiAyMDIxLTA3LTI0ICBX
ZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIFVu
aWZpZWQgZmllbGQgaXMgdW5zZWxlY3RlZCBhZnRlciBmb2N1c2luZyBVUkwgYmFyIGlmIHRleHQg
d2FzIHNlbGVjdGVkIGluIGEgZml4ZWQgcG9zaXRpb24gY29udGFpbmVyCmRpZmYgLS1naXQgYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IDBmNGFlOWEwNWI1NWM5NjcwNDMzOTQ2NGExNDk5Y2IxYWRhMGU4MTQuLmVj
YjQ0OTVkZjQ3MWE3NjM0NjdlMzEwNjY0NGM5NGY2MDMxNTRmNDggMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisr
KyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCkBAIC0yMDAsNiArMjAwLDcgQEAKIAkJMkVCMjQyQjgyMUQ0MTQwQjAwNTVDMUMwIC8q
IFVzZVNlbGVjdGlvbkFzRmluZFN0cmluZy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDJFMTMzQjRGMjFENDBBRjAwMEVEMUNCMiAvKiBVc2VTZWxlY3Rp
b25Bc0ZpbmRTdHJpbmcubW0gKi87IH07CiAJCTJFQjI5RDVFMUY3NjJEQjkwMDIzQTVGMSAvKiBk
dW1wLWRhdGF0cmFuc2Zlci10eXBlcy5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFQjI5RDVEMUY3NjJEQTUwMDIzQTVGMSAvKiBkdW1w
LWRhdGF0cmFuc2Zlci10eXBlcy5odG1sICovOyB9OwogCQkyRUJEOUQwQTIxMzQ3MzBEMDAyREE3
NTggLyogdmlkZW8uaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwN0NEMzJGNzIwNjVCNzJBMDA2NEE0QkUgLyogdmlkZW8uaHRtbCAqLzsg
fTsKKwkJMkVDNzAzNEEyNkFGNUU4ODAwMkIyRDM3IC8qIEtleWJvYXJkRXZlbnRUZXN0cy5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFQzcwMzQ5MjZB
RjVFODgwMDJCMkQzNyAvKiBLZXlib2FyZEV2ZW50VGVzdHMubW0gKi87IH07CiAJCTJFQ0ZGNTU1
MUQ5QjEyRjgwMEI1NTM5NCAvKiBOb3dQbGF5aW5nQ29udHJvbHNUZXN0cy5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFQ0ZGNTU0MUQ5QjEyRjgwMEI1
NTM5NCAvKiBOb3dQbGF5aW5nQ29udHJvbHNUZXN0cy5tbSAqLzsgfTsKIAkJMkVGRjA2QzMxRDg4
NjIxRTAwMDRCQjMwIC8qIGxhcmdlLXZpZGVvLW9mZnNjcmVlbi5odG1sIGluIENvcHkgUmVzb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFRkYwNkMyMUQ4ODYyMTIw
MDA0QkIzMCAvKiBsYXJnZS12aWRlby1vZmZzY3JlZW4uaHRtbCAqLzsgfTsKIAkJMkVGRjA2QzUx
RDg4Njc3NjAwMDRCQjMwIC8qIGNoYW5nZS12aWRlby1zb3VyY2Utb24tY2xpY2suaHRtbCBpbiBD
b3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRUZGMDZD
NDFEODg2NzcwMDAwNEJCMzAgLyogY2hhbmdlLXZpZGVvLXNvdXJjZS1vbi1jbGljay5odG1sICov
OyB9OwpAQCAtMTk5OSw2ICsyMDAwLDcgQEAKIAkJMkU5MkI4RjgyMTY0OTBFQTAwNUI2NEYwIC8q
IEZvbnRBdHRyaWJ1dGVzLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRo
ID0gRm9udEF0dHJpYnV0ZXMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJFOTg5
NjE0MUQ4RjA5MkIwMDczOTg5MiAvKiB0ZXh0LWFuZC1wYXNzd29yZC1pbnB1dHMuaHRtbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJ0ZXh0LWFuZC1wYXNzd29yZC1pbnB1dHMuaHRtbCI7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJFQjI5RDVEMUY3NjJEQTUwMDIzQTVGMSAv
KiBkdW1wLWRhdGF0cmFuc2Zlci10eXBlcy5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRo
ID0gImR1bXAtZGF0YXRyYW5zZmVyLXR5cGVzLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkyRUM3MDM0OTI2QUY1RTg4MDAyQjJEMzcgLyogS2V5Ym9hcmRFdmVudFRlc3RzLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBuYW1lID0gS2V5Ym9hcmRFdmVudFRlc3RzLm1tOyBwYXRoID0gS2V5
Ym9hcmRFdmVudFRlc3RzLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRUNGRjU1
NDFEOUIxMkY4MDBCNTUzOTQgLyogTm93UGxheWluZ0NvbnRyb2xzVGVzdHMubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBOb3dQbGF5aW5nQ29udHJvbHNUZXN0cy5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkVGRjA2QzIxRDg4NjIxMjAwMDRCQjMw
IC8qIGxhcmdlLXZpZGVvLW9mZnNjcmVlbi5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRo
ID0gImxhcmdlLXZpZGVvLW9mZnNjcmVlbi5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMkVGRjA2QzQxRDg4Njc3MDAwMDRCQjMwIC8qIGNoYW5nZS12aWRlby1zb3VyY2Utb24t
Y2xpY2suaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJjaGFuZ2UtdmlkZW8tc291
cmNlLW9uLWNsaWNrLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNDc2Miw2
ICs0NzY0LDcgQEAKIAkJCQk1N0YxMEQ5MjFDN0U3QjM4MDBFQ0RGMzAgLyogSXNOYXZpZ2F0aW9u
QWN0aW9uVHJ1c3RlZC5tbSAqLywKIAkJCQk1MTgyMEE0QzIyRjRFRTc3MDBERjBBMDEgLyogSmF2
YXNjcmlwdFVSTE5hdmlnYXRpb24ubW0gKi8sCiAJCQkJNEJCNDE2MDExNjgxNUIyNjAwODI0MjM4
IC8qIEpTV3JhcHBlckZvck5vZGVJbldlYkZyYW1lLm1tICovLAorCQkJCTJFQzcwMzQ5MjZBRjVF
ODgwMDJCMkQzNyAvKiBLZXlib2FyZEV2ZW50VGVzdHMubW0gKi8sCiAJCQkJRjRCRkE2OEMxRTRB
RDA4MDAwMTU0Mjk4IC8qIExlZ2FjeURyYWdBbmREcm9wVGVzdHMubW0gKi8sCiAJCQkJN0E3QjBF
N0UxRUFGRTQ1NDAwNkFCOEFFIC8qIExpbWl0VGl0bGVTaXplLm1tICovLAogCQkJCTU3OTAxRkFF
MUNBRjEzNzEwMEVENjRGOSAvKiBMb2FkSW52YWxpZFVSTFJlcXVlc3QubW0gKi8sCkBAIC01NTk4
LDYgKzU2MDEsNyBAQAogCQkJCUUzNUZDN0IyMjJCODJBNzMwMEYzMkY5OCAvKiBKU0xvY2tUYWtl
c1dlYlRocmVhZExvY2subW0gaW4gU291cmNlcyAqLywKIAkJCQkxNENDNDJFNjI0QjhEOEZBMDBF
NjRGNDggLyogSlNSdW5Mb29wVGltZXIubW0gaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0VDNDFB
NDExQTdFMDA0NDdDNEMgLyogSlNXcmFwcGVyRm9yTm9kZUluV2ViRnJhbWUubW0gaW4gU291cmNl
cyAqLywKKwkJCQkyRUM3MDM0QTI2QUY1RTg4MDAyQjJEMzcgLyogS2V5Ym9hcmRFdmVudFRlc3Rz
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJRjQ1RTE1NzMyMTEyQ0UyOTAwMzA3RTgyIC8qIEtleWJv
YXJkSW5wdXRUZXN0c0lPUy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTI3OEUzRTE5MjNDRDg0MkYw
MDVBNkI4MCAvKiBLZXllZENvZGluZy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0YwNjFB
NDExQUU2MDA0NDdDNEMgLyogTGF5b3V0TWlsZXN0b25lc1dpdGhBbGxDb250ZW50SW5GcmFtZS5j
cHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
bWFjL0tleWJvYXJkRXZlbnRUZXN0cy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvbWFj
L0tleWJvYXJkRXZlbnRUZXN0cy5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZGZkYTI4MTRmNGQxNGUxOGNkMzNm
OWYwOTkzOGUzZWMwODg1ZGRhCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9tYWMvS2V5Ym9hcmRFdmVudFRlc3RzLm1tCkBAIC0wLDAgKzEsODAgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKworI2lmIFBMQVRGT1JNKE1BQykKKworI2ltcG9y
dCAiUGxhdGZvcm1VdGlsaXRpZXMuaCIKKyNpbXBvcnQgIlRlc3RXS1dlYlZpZXcuaCIKKyNpbXBv
cnQgPHBhbC9zcGkvbWFjL05TTWVudVNQSS5oPgorI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgor
CitAaW50ZXJmYWNlIEtleWJvYXJkVGVzdE1lbnUgOiBOU01lbnUKK0BlbmQKKworQGltcGxlbWVu
dGF0aW9uIEtleWJvYXJkVGVzdE1lbnUKKworLSAoQk9PTClfY29udGFpbnNJdGVtTWF0Y2hpbmdF
dmVudDooTlNFdmVudCAqKWV2ZW50IGluY2x1ZGluZ0Rpc2FibGVkSXRlbXM6KEJPT0wpaW5jbHVk
aW5nRGlzYWJsZWRJdGVtcworeworICAgIHJldHVybiBbZXZlbnQuY2hhcmFjdGVyc0lnbm9yaW5n
TW9kaWZpZXJzIGlzRXF1YWxUb1N0cmluZzpAImUiXSAmJiBldmVudC5tb2RpZmllckZsYWdzICYg
TlNFdmVudE1vZGlmaWVyRmxhZ0Z1bmN0aW9uOworfQorCitAZW5kCisKK0BpbnRlcmZhY2UgS2V5
Ym9hcmRUZXN0TWVudUl0ZW0gOiBOU01lbnVJdGVtCisKK0BlbmQKKworQGltcGxlbWVudGF0aW9u
IEtleWJvYXJkVGVzdE1lbnVJdGVtCisKKy0gKEJPT0wpX2lzU3lzdGVtTWVudUl0ZW0KK3sKKyAg
ICByZXR1cm4gWUVTOworfQorCitAZW5kCisKK25hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKKwor
VEVTVChLZXlib2FyZEV2ZW50VGVzdHMsIEZ1bmN0aW9uS2V5Q29tbWFuZCkKK3sKKyAgICBhdXRv
IG1lbnUgPSBhZG9wdE5TKFtbS2V5Ym9hcmRUZXN0TWVudSBhbGxvY10gaW5pdFdpdGhUaXRsZTpA
IlRlc3QgbWVudSJdKTsKKyAgICBhdXRvIG1lbnVJdGVtID0gYWRvcHROUyhbW0tleWJvYXJkVGVz
dE1lbnVJdGVtIGFsbG9jXSBpbml0V2l0aFRpdGxlOkAiRW1vamlzICYgU3ltYm9scyIgYWN0aW9u
OkBzZWxlY3RvcihkZXNjcmlwdGlvbikga2V5RXF1aXZhbGVudDpAImUiXSk7CisgICAgW21lbnVJ
dGVtIHNldEtleUVxdWl2YWxlbnRNb2RpZmllck1hc2s6TlNFdmVudE1vZGlmaWVyRmxhZ0Z1bmN0
aW9uXTsKKyAgICBbbWVudSBzZXRJdGVtQXJyYXk6QFsgbWVudUl0ZW0uZ2V0KCkgXV07CisgICAg
TlNBcHAubWFpbk1lbnUgPSBtZW51LmdldCgpOworCisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHRO
UyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA0
MDAsIDQwMCldKTsKKyAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9hZEhUTUxTdHJpbmc6QCI8
c2NyaXB0PmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCAoKSA9PiBkb2N1bWVudC5ib2R5LmZvY3Vz
KCkpPC9zY3JpcHQ+PGJvZHkgY29udGVudGVkaXRhYmxlPjwvYm9keT4iXTsKKyAgICBbd2ViVmll
dyB0eXBlQ2hhcmFjdGVyOidlJyBtb2RpZmllcnM6TlNFdmVudE1vZGlmaWVyRmxhZ0Z1bmN0aW9u
XTsKKyAgICBbd2ViVmlldyB3YWl0Rm9yTmV4dFByZXNlbnRhdGlvblVwZGF0ZV07CisKKyAgICBF
WFBFQ1RfV0tfU1RSRVEoIiIsIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6
QCJkb2N1bWVudC5ib2R5LnRleHRDb250ZW50Il0pOworfQorCit9IC8vIG5hbWVzcGFjZSBUZXN0
V2ViS2l0QVBJCisKKyNlbmRpZiAvLyBQTEFURk9STShNQUMpCmRpZmYgLS1naXQgYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL2NvY29hL1Rlc3RXS1dlYlZpZXcuaCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
Y29jb2EvVGVzdFdLV2ViVmlldy5oCmluZGV4IGUzZDAxMDFjMjI3Zjk4OTk2OTcxMDlkM2Q3MGE0
Y2E4NWM1YjU0OTUuLjg0YWFmNjk4NWEzMGVjYmViY2QyNmM4YTIxZjA4NGVkMjRiOWQ1YjEgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvVGVzdFdLV2ViVmlldy5oCisrKyBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvVGVzdFdLV2ViVmlldy5oCkBAIC0xMzcsNiArMTM3
LDcgQEAKIC0gKHZvaWQpc2VuZENsaWNrc0F0UG9pbnQ6KE5TUG9pbnQpcG9pbnRJbldpbmRvdyBu
dW1iZXJPZkNsaWNrczooTlNVSW50ZWdlciludW1iZXJPZkNsaWNrczsKIC0gKHZvaWQpc2VuZENs
aWNrQXRQb2ludDooTlNQb2ludClwb2ludEluV2luZG93OwogLSAoTlNXaW5kb3cgKilob3N0V2lu
ZG93OworLSAodm9pZCl0eXBlQ2hhcmFjdGVyOihjaGFyKWNoYXJhY3RlciBtb2RpZmllcnM6KE5T
RXZlbnRNb2RpZmllckZsYWdzKW1vZGlmaWVyczsKIC0gKHZvaWQpdHlwZUNoYXJhY3RlcjooY2hh
ciljaGFyYWN0ZXI7CiAtICh2b2lkKXNldEV2ZW50VGltZXN0YW1wT2Zmc2V0OihOU1RpbWVJbnRl
cnZhbClvZmZzZXQ7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIE5TVGltZUludGVy
dmFsIGV2ZW50VGltZXN0YW1wOwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2Nv
YS9UZXN0V0tXZWJWaWV3Lm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9UZXN0V0tXZWJW
aWV3Lm1tCmluZGV4IDZmM2ZjYmI2YjNlYjNkOGY1M2I4N2Y0OTgwMmIwMTFiNjcxYzBjOGUuLjIy
ZDAwMjY5MjRkYjBhZGYyNzE2MzBmZWM2MDhhOTc4NzY2YWI0NmMgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvY29jb2EvVGVzdFdLV2ViVmlldy5tbQorKysgYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL2NvY29hL1Rlc3RXS1dlYlZpZXcubW0KQEAgLTg0NSwxMiArODQ1LDE3IEBAIC0gKE5T
V2luZG93ICopaG9zdFdpbmRvdwogfQogCiAtICh2b2lkKXR5cGVDaGFyYWN0ZXI6KGNoYXIpY2hh
cmFjdGVyCit7CisgICAgW3NlbGYgdHlwZUNoYXJhY3RlcjpjaGFyYWN0ZXIgbW9kaWZpZXJzOjBd
OworfQorCistICh2b2lkKXR5cGVDaGFyYWN0ZXI6KGNoYXIpY2hhcmFjdGVyIG1vZGlmaWVyczoo
TlNFdmVudE1vZGlmaWVyRmxhZ3MpbW9kaWZpZXJzCiB7CiAgICAgTlNTdHJpbmcgKmNoYXJhY3Rl
ckFzU3RyaW5nID0gW05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6QCIlYyIgLCBjaGFyYWN0ZXJd
OwogICAgIE5TRXZlbnRUeXBlIGtleURvd25FdmVudFR5cGUgPSBOU0V2ZW50VHlwZUtleURvd247
CiAgICAgTlNFdmVudFR5cGUga2V5VXBFdmVudFR5cGUgPSBOU0V2ZW50VHlwZUtleVVwOwotICAg
IFtzZWxmIGtleURvd246W05TRXZlbnQga2V5RXZlbnRXaXRoVHlwZTprZXlEb3duRXZlbnRUeXBl
IGxvY2F0aW9uOk5TWmVyb1BvaW50IG1vZGlmaWVyRmxhZ3M6MCB0aW1lc3RhbXA6c2VsZi5ldmVu
dFRpbWVzdGFtcCB3aW5kb3dOdW1iZXI6W19ob3N0V2luZG93IHdpbmRvd051bWJlcl0gY29udGV4
dDpuaWwgY2hhcmFjdGVyczpjaGFyYWN0ZXJBc1N0cmluZyBjaGFyYWN0ZXJzSWdub3JpbmdNb2Rp
ZmllcnM6Y2hhcmFjdGVyQXNTdHJpbmcgaXNBUmVwZWF0Ok5PIGtleUNvZGU6Y2hhcmFjdGVyXV07
Ci0gICAgW3NlbGYga2V5VXA6W05TRXZlbnQga2V5RXZlbnRXaXRoVHlwZTprZXlVcEV2ZW50VHlw
ZSBsb2NhdGlvbjpOU1plcm9Qb2ludCBtb2RpZmllckZsYWdzOjAgdGltZXN0YW1wOnNlbGYuZXZl
bnRUaW1lc3RhbXAgd2luZG93TnVtYmVyOltfaG9zdFdpbmRvdyB3aW5kb3dOdW1iZXJdIGNvbnRl
eHQ6bmlsIGNoYXJhY3RlcnM6Y2hhcmFjdGVyQXNTdHJpbmcgY2hhcmFjdGVyc0lnbm9yaW5nTW9k
aWZpZXJzOmNoYXJhY3RlckFzU3RyaW5nIGlzQVJlcGVhdDpOTyBrZXlDb2RlOmNoYXJhY3Rlcl1d
OworICAgIFtzZWxmIGtleURvd246W05TRXZlbnQga2V5RXZlbnRXaXRoVHlwZTprZXlEb3duRXZl
bnRUeXBlIGxvY2F0aW9uOk5TWmVyb1BvaW50IG1vZGlmaWVyRmxhZ3M6bW9kaWZpZXJzIHRpbWVz
dGFtcDpzZWxmLmV2ZW50VGltZXN0YW1wIHdpbmRvd051bWJlcjpbX2hvc3RXaW5kb3cgd2luZG93
TnVtYmVyXSBjb250ZXh0Om5pbCBjaGFyYWN0ZXJzOmNoYXJhY3RlckFzU3RyaW5nIGNoYXJhY3Rl
cnNJZ25vcmluZ01vZGlmaWVyczpjaGFyYWN0ZXJBc1N0cmluZyBpc0FSZXBlYXQ6Tk8ga2V5Q29k
ZTpjaGFyYWN0ZXJdXTsKKyAgICBbc2VsZiBrZXlVcDpbTlNFdmVudCBrZXlFdmVudFdpdGhUeXBl
OmtleVVwRXZlbnRUeXBlIGxvY2F0aW9uOk5TWmVyb1BvaW50IG1vZGlmaWVyRmxhZ3M6bW9kaWZp
ZXJzIHRpbWVzdGFtcDpzZWxmLmV2ZW50VGltZXN0YW1wIHdpbmRvd051bWJlcjpbX2hvc3RXaW5k
b3cgd2luZG93TnVtYmVyXSBjb250ZXh0Om5pbCBjaGFyYWN0ZXJzOmNoYXJhY3RlckFzU3RyaW5n
IGNoYXJhY3RlcnNJZ25vcmluZ01vZGlmaWVyczpjaGFyYWN0ZXJBc1N0cmluZyBpc0FSZXBlYXQ6
Tk8ga2V5Q29kZTpjaGFyYWN0ZXJdXTsKIH0KIAogQGVuZAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>