<?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>218024</bug_id>
          
          <creation_ts>2020-10-21 08:11:29 -0700</creation_ts>
          <short_desc>Simplify DumpRenderTree WebPreferences reset</short_desc>
          <delta_ts>2021-03-06 10:45:42 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1700184</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-10-21 08:11:29 -0700</bug_when>
    <thetext>Simplify DumpRenderTree reset by using a new WebPreferences for each test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1700185</commentid>
    <comment_count>1</comment_count>
      <attachid>411985</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-10-21 08:12:02 -0700</bug_when>
    <thetext>Created attachment 411985
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1700451</commentid>
    <comment_count>2</comment_count>
      <attachid>411985</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2020-10-21 16:13:42 -0700</bug_when>
    <thetext>Comment on attachment 411985
Patch

r- since it breaks wk1 tests. 30+ failures and 500k+ log lines in layout-tests (which is unusually high).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1700485</commentid>
    <comment_count>3</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-10-21 17:30:35 -0700</bug_when>
    <thetext>There is no need to r- patches that are not up for review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702308</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-10-28 08:12:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/70764568&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1703429</commentid>
    <comment_count>5</comment_count>
      <attachid>412874</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-11-01 16:45:42 -0800</bug_when>
    <thetext>Created attachment 412874
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1732659</commentid>
    <comment_count>6</comment_count>
      <attachid>421343</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-02-23 12:52:31 -0800</bug_when>
    <thetext>Created attachment 421343
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1736811</commentid>
    <comment_count>7</comment_count>
      <attachid>422496</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-03-06 09:41:55 -0800</bug_when>
    <thetext>Created attachment 422496
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1736818</commentid>
    <comment_count>8</comment_count>
      <attachid>422496</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-03-06 10:35:24 -0800</bug_when>
    <thetext>Comment on attachment 422496
Patch

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

&gt; Source/WebKitLegacy/mac/WebView/WebPreferences.mm:1631
&gt; +    if (_private-&gt;updateBatchCount &lt;= 0)

It&apos;s unsigned so it can never be &lt; 0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1736821</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-06 10:45:40 -0800</bug_when>
    <thetext>Committed r274040: &lt;https://commits.webkit.org/r274040&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 422496.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>411985</attachid>
            <date>2020-10-21 08:12:02 -0700</date>
            <delta_ts>2020-11-01 16:45:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218024-20201021081201.patch</filename>
            <type>text/plain</type>
            <size>1249</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI2ODc5NSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDEzIEBACisyMDIwLTEwLTIxICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKwor
ICAgICAgICBTaW1wbGlmeSBEdW1wUmVuZGVyVHJlZSByZXNldCBieSB1c2luZyBhIG5ldyBXZWJQ
cmVmZXJlbmNlcyBmb3IgZWFjaCB0ZXN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTgwMjQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbToK
KyAgICAgICAgKHJlc2V0V2ViVmlld1RvQ29uc2lzdGVudFN0YXRlKToKKwogMjAyMC0xMC0yMCAg
U2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CiAKICAgICAgICAgQ2xlYW51cCBEdW1wUmVu
ZGVyVHJlZSBpbiBwcmVwYXJhdGlvbiBmb3Igc3VwcG9ydGluZyBhcmJpdHJhcnkgdGVzdCBoZWFk
ZXIgY29tbWFuZHMKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJl
ZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRy
ZWUubW0JKHJldmlzaW9uIDI2ODc5NSkKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1w
UmVuZGVyVHJlZS5tbQkod29ya2luZyBjb3B5KQpAQCAtMTg0OCw2ICsxODQ4LDkgQEAgc3RhdGlj
IHZvaWQgcmVzZXRXZWJWaWV3VG9Db25zaXN0ZW50U3RhdAogCiAgICAgV2ViVmlldyAqd2ViVmll
dyA9IFttYWluRnJhbWUgd2ViVmlld107CiAKKyAgICBXZWJQcmVmZXJlbmNlcyAqcHJlZmVyZW5j
ZXMgPSBbW1dlYlByZWZlcmVuY2VzIGFsbG9jXSBpbml0XTsKKyAgICBbd2ViVmlldyBzZXRQcmVm
ZXJlbmNlczpwcmVmZXJlbmNlc107CisKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIGFk
anVzdFdlYkRvY3VtZW50Rm9yU3RhbmRhcmRWaWV3cG9ydChnV2ViQnJvd3NlclZpZXcsIGdXZWJT
Y3JvbGxWaWV3KTsKICAgICBbd2ViVmlldyBfc2V0QWxsb3dzTWVzc2FnaW5nOllFU107Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412874</attachid>
            <date>2020-11-01 16:45:42 -0800</date>
            <delta_ts>2021-02-23 12:52:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218024-20201101164541.patch</filename>
            <type>text/plain</type>
            <size>1267</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI2OTIzOCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE1IEBACisyMDIwLTExLTAxICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKwor
ICAgICAgICBTaW1wbGlmeSBEdW1wUmVuZGVyVHJlZSByZXNldCBieSB1c2luZyBhIG5ldyBXZWJQ
cmVmZXJlbmNlcyBmb3IgZWFjaCB0ZXN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTgwMjQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUcnlpbmcgYWdhaW4uCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJl
ZS9tYWMvRHVtcFJlbmRlclRyZWUubW06CisgICAgICAgIChyZXNldFdlYlZpZXdUb0NvbnNpc3Rl
bnRTdGF0ZSk6CisKIDIwMjAtMTEtMDEgIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgog
CiAgICAgICAgIFJlbW92ZSByZW1haW5pbmcgYWx0ZXJuYXRpdmUgcHJlZmVyZW5jZSBzZXR0aW5n
IG1lY2hhbmlzbXMgZnJvbSBMYXlvdXRUZXN0cwpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUv
bWFjL0R1bXBSZW5kZXJUcmVlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVl
L21hYy9EdW1wUmVuZGVyVHJlZS5tbQkocmV2aXNpb24gMjY5MjM3KQorKysgVG9vbHMvRHVtcFJl
bmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xNzg0LDYg
KzE3ODQsOSBAQCBzdGF0aWMgdm9pZCByZXNldFdlYlZpZXdUb0NvbnNpc3RlbnRTdGF0CiAKICAg
ICBXZWJWaWV3ICp3ZWJWaWV3ID0gW21haW5GcmFtZSB3ZWJWaWV3XTsKIAorICAgIGF1dG8gcHJl
ZmVyZW5jZXMgPSBhZG9wdE5TKFtbV2ViUHJlZmVyZW5jZXMgYWxsb2NdIGluaXRdKTsKKyAgICB3
ZWJWaWV3LnByZWZlcmVuY2VzID0gcHJlZmVyZW5jZXMuZ2V0KCk7CisKICNpZiBQTEFURk9STShJ
T1NfRkFNSUxZKQogICAgIGFkanVzdFdlYkRvY3VtZW50Rm9yU3RhbmRhcmRWaWV3cG9ydChnV2Vi
QnJvd3NlclZpZXcsIGdXZWJTY3JvbGxWaWV3KTsKICAgICBbd2ViVmlldyBfc2V0QWxsb3dzTWVz
c2FnaW5nOllFU107Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>421343</attachid>
            <date>2021-02-23 12:52:31 -0800</date>
            <delta_ts>2021-03-06 09:41:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218024-20210223125230.patch</filename>
            <type>text/plain</type>
            <size>27113</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3MzMwNikKKysrIFNv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDM0IEBACisyMDIxLTAyLTIzICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAg
ICAgICBTaW1wbGlmeSBEdW1wUmVuZGVyVHJlZSBXZWJQcmVmZXJlbmNlcyByZXNldAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4MDI0CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS83MDc2NDU2OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW06CisgICAgICAg
IChXZWJQcmVmZXJlbmNlc1ByaXZhdGU6OldlYlByZWZlcmVuY2VzUHJpdmF0ZSk6CisgICAgICAg
ICgtW1dlYlByZWZlcmVuY2VzIGVuY29kZVdpdGhDb2RlcjpdKToKKyAgICAgICAgKC1bV2ViUHJl
ZmVyZW5jZXMgX3ZhbHVlRm9yS2V5Ol0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBfc2V0
U3RyaW5nVmFsdWU6Zm9yS2V5Ol0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBfc2V0U3Ry
aW5nQXJyYXlWYWx1ZUZvcktleTpmb3JLZXk6XSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2Vz
IF9zZXRJbnRlZ2VyVmFsdWU6Zm9yS2V5Ol0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBf
c2V0VW5zaWduZWRJbnRWYWx1ZTpmb3JLZXk6XSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2Vz
IF9zZXRGbG9hdFZhbHVlOmZvcktleTpdKToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgX3Nl
dEJvb2xWYWx1ZTpmb3JLZXk6XSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIF9zZXRMb25n
TG9uZ1ZhbHVlOmZvcktleTpdKToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgX3NldFVuc2ln
bmVkTG9uZ0xvbmdWYWx1ZTpmb3JLZXk6XSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIF9z
dGFydEJhdGNoaW5nVXBkYXRlc10pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBfc3RvcEJh
dGNoaW5nVXBkYXRlc10pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBfYmF0Y2hVcGRhdGVQ
cmVmZXJlbmNlc0luQmxvY2s6XSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIF9yZXNldEZv
clRlc3RpbmddKToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgX3Bvc3RQcmVmZXJlbmNlc0No
YW5nZWROb3RpZmljYXRpb25dKToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgX3Bvc3RQcmVm
ZXJlbmNlc0NoYW5nZWRBUElOb3RpZmljYXRpb25dKToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5j
ZXMgX2ludmFsaWRhdGVDYWNoZWRQcmVmZXJlbmNlc10pOgorICAgICAgICAoV2ViUHJlZmVyZW5j
ZXNQcml2YXRlOjp+V2ViUHJlZmVyZW5jZXNQcml2YXRlKTogRGVsZXRlZC4KKyAgICAgICAgKiBX
ZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAgICAgICBBZGQgbmV3IGhlbHBlcnMg
Zm9yIHRlc3RpbmcgdG8gcmVzZXQgYW5kIGJhdGNoIHVwZGF0ZXMuCisKIDIwMjEtMDItMjIgIENo
cmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBVc2UgYWRvcHROUygpIGFz
IHNvb24gYXMgd2UgW1tPYmpjQ2xhc3MgYWxsb2NdIGluaXRdIHRvIGF2b2lkIGxlYWtzCkluZGV4
OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMu
bW0JKHJldmlzaW9uIDI3MzMwNikKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcv
V2ViUHJlZmVyZW5jZXMubW0JKHdvcmtpbmcgY29weSkKQEAgLTU0LDYgKzU0LDcgQEAKICNpbXBv
cnQgPHBhbC9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmg+CiAjaW1wb3J0IDx3dGYvQ29tcGlsZXIuaD4K
ICNpbXBvcnQgPHd0Zi9NYWluVGhyZWFkLmg+CisjaW1wb3J0IDx3dGYvT3B0aW9uU2V0Lmg+CiAj
aW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAjaW1wb3J0IDx3dGYvUnVuTG9vcC5oPgogI2ltcG9y
dCA8d3RmL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmg+CkBAIC0xOTEsMzYg
KzE5MiwzMiBAQCArIChOU1N0cmluZyAqKV9jb25jYXRlbmF0ZUtleVdpdGhJQkNyZWF0CiArIChO
U1N0cmluZyAqKV9JQkNyZWF0b3JJRDsKIEBlbmQKIAorZW51bSBjbGFzcyBVcGRhdGVBZnRlckJh
dGNoVHlwZSA6IHVpbnQ4X3QgeworICAgIEFQSSAgICAgICAgID0gMSA8PCAwLAorICAgIEludGVy
bmFsICAgID0gMSA8PCAxCit9OworCiBzdHJ1Y3QgV2ViUHJlZmVyZW5jZXNQcml2YXRlCiB7CiBw
dWJsaWM6CiAgICAgV2ViUHJlZmVyZW5jZXNQcml2YXRlKCkKLSAgICA6IGluUHJpdmF0ZUJyb3dz
aW5nKE5PKQotICAgICwgYXV0b3NhdmVzKE5PKQotICAgICwgYXV0b21hdGljYWxseURldGVjdHND
YWNoZU1vZGVsKE5PKQotICAgICwgbnVtV2ViVmlld3MoMCkKICNpZiBQTEFURk9STShJT1NfRkFN
SUxZKQotICAgICwgcmVhZFdyaXRlUXVldWUoZGlzcGF0Y2hfcXVldWVfY3JlYXRlKCJjb20uYXBw
bGUuV2ViUHJlZmVyZW5jZXMuUmVhZFdyaXRlUXVldWUiLCBESVNQQVRDSF9RVUVVRV9DT05DVVJS
RU5UKSkKKyAgICAgICAgOiByZWFkV3JpdGVRdWV1ZSB7IGFkb3B0TlMoZGlzcGF0Y2hfcXVldWVf
Y3JlYXRlKCJjb20uYXBwbGUuV2ViUHJlZmVyZW5jZXMuUmVhZFdyaXRlUXVldWUiLCBESVNQQVRD
SF9RVUVVRV9DT05DVVJSRU5UKSkgfQogI2VuZGlmCiAgICAgewogICAgIH0KIAogI2lmIFBMQVRG
T1JNKElPU19GQU1JTFkpCi0gICAgfldlYlByZWZlcmVuY2VzUHJpdmF0ZSgpCi0gICAgewotICAg
ICAgICBkaXNwYXRjaF9yZWxlYXNlKHJlYWRXcml0ZVF1ZXVlKTsKLSAgICB9CisgICAgUmV0YWlu
UHRyPGRpc3BhdGNoX3F1ZXVlX3Q+IHJlYWRXcml0ZVF1ZXVlOwogI2VuZGlmCi0KICAgICBSZXRh
aW5QdHI8TlNNdXRhYmxlRGljdGlvbmFyeT4gdmFsdWVzOwotICAgIEJPT0wgaW5Qcml2YXRlQnJv
d3Npbmc7CiAgICAgUmV0YWluUHRyPE5TU3RyaW5nPiBpZGVudGlmaWVyOwotICAgIEJPT0wgYXV0
b3NhdmVzOwotICAgIEJPT0wgYXV0b21hdGljYWxseURldGVjdHNDYWNoZU1vZGVsOwotICAgIHVu
c2lnbmVkIG51bVdlYlZpZXdzOwotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgZGlzcGF0
Y2hfcXVldWVfdCByZWFkV3JpdGVRdWV1ZTsKLSNlbmRpZgorICAgIEJPT0wgaW5Qcml2YXRlQnJv
d3NpbmcgeyBOTyB9OworICAgIEJPT0wgYXV0b3NhdmVzIHsgTk8gfTsKKyAgICBCT09MIGF1dG9t
YXRpY2FsbHlEZXRlY3RzQ2FjaGVNb2RlbCB7IE5PIH07CisgICAgdW5zaWduZWQgbnVtV2ViVmll
d3MgeyAwIH07CisgICAgdW5zaWduZWQgdXBkYXRlQmF0Y2hDb3VudCB7IDAgfTsKKyAgICBPcHRp
b25TZXQ8VXBkYXRlQWZ0ZXJCYXRjaFR5cGU+IHVwZGF0ZUFmdGVyQmF0Y2hUeXBlOwogfTsKIAog
I2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkBAIC0zNDUsNyArMzQyLDcgQEAgLSAodm9pZCllbmNv
ZGVXaXRoQ29kZXI6KE5TQ29kZXIgKillbmNvZAogICAgIGlmIChbZW5jb2RlciBhbGxvd3NLZXll
ZENvZGluZ10pewogICAgICAgICBbZW5jb2RlciBlbmNvZGVPYmplY3Q6X3ByaXZhdGUtPmlkZW50
aWZpZXIuZ2V0KCkgZm9yS2V5OkAiSWRlbnRpZmllciJdOwogI2lmIFBMQVRGT1JNKElPU19GQU1J
TFkpCi0gICAgICAgIGRpc3BhdGNoX3N5bmMoX3ByaXZhdGUtPnJlYWRXcml0ZVF1ZXVlLCBeewor
ICAgICAgICBkaXNwYXRjaF9zeW5jKF9wcml2YXRlLT5yZWFkV3JpdGVRdWV1ZS5nZXQoKSwgXnsK
ICNlbmRpZgogICAgICAgICBbZW5jb2RlciBlbmNvZGVPYmplY3Q6X3ByaXZhdGUtPnZhbHVlcy5n
ZXQoKSBmb3JLZXk6QCJWYWx1ZXMiXTsKICAgICAgICAgTE9HIChFbmNvZGluZywgIklkZW50aWZp
ZXIgPSAlQCwgVmFsdWVzID0gJUBcbiIsIF9wcml2YXRlLT5pZGVudGlmaWVyLmdldCgpLCBfcHJp
dmF0ZS0+dmFsdWVzLmdldCgpKTsKQEAgLTM1OCw3ICszNTUsNyBAQCAtICh2b2lkKWVuY29kZVdp
dGhDb2RlcjooTlNDb2RlciAqKWVuY29kCiAgICAgICAgIFtlbmNvZGVyIGVuY29kZVZhbHVlT2ZP
YmpDVHlwZTpAZW5jb2RlKGludCkgYXQ6JnZlcnNpb25dOwogICAgICAgICBbZW5jb2RlciBlbmNv
ZGVPYmplY3Q6X3ByaXZhdGUtPmlkZW50aWZpZXIuZ2V0KCldOwogI2lmIFBMQVRGT1JNKElPU19G
QU1JTFkpCi0gICAgICAgIGRpc3BhdGNoX3N5bmMoX3ByaXZhdGUtPnJlYWRXcml0ZVF1ZXVlLCBe
eworICAgICAgICBkaXNwYXRjaF9zeW5jKF9wcml2YXRlLT5yZWFkV3JpdGVRdWV1ZS5nZXQoKSwg
XnsKICNlbmRpZgogICAgICAgICBbZW5jb2RlciBlbmNvZGVPYmplY3Q6X3ByaXZhdGUtPnZhbHVl
cy5nZXQoKV07CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKQEAgLTQ2Nyw3ICs0NjQsNyBAQCAt
IChpZClfdmFsdWVGb3JLZXk6KE5TU3RyaW5nICopa2V5CiAgICAgTlNTdHJpbmcgKl9rZXkgPSBL
RVkoa2V5KTsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIF9fYmxvY2sgaWQgbyA9IG5p
bDsKLSAgICBkaXNwYXRjaF9zeW5jKF9wcml2YXRlLT5yZWFkV3JpdGVRdWV1ZSwgXnsKKyAgICBk
aXNwYXRjaF9zeW5jKF9wcml2YXRlLT5yZWFkV3JpdGVRdWV1ZS5nZXQoKSwgXnsKICAgICAgICAg
byA9IFtfcHJpdmF0ZS0+dmFsdWVzLmdldCgpIG9iamVjdEZvcktleTpfa2V5XTsKICAgICB9KTsK
ICNlbHNlCkBAIC00OTMsNyArNDkwLDcgQEAgLSAodm9pZClfc2V0U3RyaW5nVmFsdWU6KE5TU3Ry
aW5nICopdmFsdQogICAgICAgICByZXR1cm47CiAgICAgTlNTdHJpbmcgKl9rZXkgPSBLRVkoa2V5
KTsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgIGRpc3BhdGNoX2JhcnJpZXJfc3luYyhf
cHJpdmF0ZS0+cmVhZFdyaXRlUXVldWUsIF57CisgICAgZGlzcGF0Y2hfYmFycmllcl9zeW5jKF9w
cml2YXRlLT5yZWFkV3JpdGVRdWV1ZS5nZXQoKSwgXnsKICNlbmRpZgogICAgIFtfcHJpdmF0ZS0+
dmFsdWVzLmdldCgpIHNldE9iamVjdDp2YWx1ZSBmb3JLZXk6X2tleV07CiAjaWYgUExBVEZPUk0o
SU9TX0ZBTUlMWSkKQEAgLTUyMyw3ICs1MjAsNyBAQCAtICh2b2lkKV9zZXRTdHJpbmdBcnJheVZh
bHVlRm9yS2V5OihOU0FyCiB7CiAgICAgTlNTdHJpbmcgKl9rZXkgPSBLRVkoa2V5KTsKICNpZiBQ
TEFURk9STShJT1NfRkFNSUxZKQotICAgIGRpc3BhdGNoX2JhcnJpZXJfc3luYyhfcHJpdmF0ZS0+
cmVhZFdyaXRlUXVldWUsIF57CisgICAgZGlzcGF0Y2hfYmFycmllcl9zeW5jKF9wcml2YXRlLT5y
ZWFkV3JpdGVRdWV1ZS5nZXQoKSwgXnsKICNlbmRpZgogICAgICAgICBbX3ByaXZhdGUtPnZhbHVl
cy5nZXQoKSBzZXRPYmplY3Q6dmFsdWUgZm9yS2V5Ol9rZXldOwogI2lmIFBMQVRGT1JNKElPU19G
QU1JTFkpCkBAIC01NDYsNyArNTQzLDcgQEAgLSAodm9pZClfc2V0SW50ZWdlclZhbHVlOihpbnQp
dmFsdWUgZm9ySwogICAgICAgICByZXR1cm47CiAgICAgTlNTdHJpbmcgKl9rZXkgPSBLRVkoa2V5
KTsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgIGRpc3BhdGNoX2JhcnJpZXJfc3luYyhf
cHJpdmF0ZS0+cmVhZFdyaXRlUXVldWUsIF57CisgICAgZGlzcGF0Y2hfYmFycmllcl9zeW5jKF9w
cml2YXRlLT5yZWFkV3JpdGVRdWV1ZS5nZXQoKSwgXnsKICNlbmRpZgogICAgIFtfcHJpdmF0ZS0+
dmFsdWVzLmdldCgpIHNldE9iamVjdDpAKHZhbHVlKSBmb3JLZXk6X2tleV07CiAjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKQEAgLTU2OSw3ICs1NjYsNyBAQCAtICh2b2lkKV9zZXRVbnNpZ25lZElu
dFZhbHVlOih1bnNpZ25lZCBpCiAgICAgICAgIHJldHVybjsKICAgICBOU1N0cmluZyAqX2tleSA9
IEtFWShrZXkpOwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgZGlzcGF0Y2hfYmFycmll
cl9zeW5jKF9wcml2YXRlLT5yZWFkV3JpdGVRdWV1ZSwgXnsKKyAgICBkaXNwYXRjaF9iYXJyaWVy
X3N5bmMoX3ByaXZhdGUtPnJlYWRXcml0ZVF1ZXVlLmdldCgpLCBeewogI2VuZGlmCiAgICAgW19w
cml2YXRlLT52YWx1ZXMuZ2V0KCkgc2V0T2JqZWN0OkAodmFsdWUpIGZvcktleTpfa2V5XTsKICNp
ZiBQTEFURk9STShJT1NfRkFNSUxZKQpAQCAtNTkyLDcgKzU4OSw3IEBAIC0gKHZvaWQpX3NldEZs
b2F0VmFsdWU6KGZsb2F0KXZhbHVlIGZvcksKICAgICAgICAgcmV0dXJuOwogICAgIE5TU3RyaW5n
ICpfa2V5ID0gS0VZKGtleSk7CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBkaXNwYXRj
aF9iYXJyaWVyX3N5bmMoX3ByaXZhdGUtPnJlYWRXcml0ZVF1ZXVlLCBeeworICAgIGRpc3BhdGNo
X2JhcnJpZXJfc3luYyhfcHJpdmF0ZS0+cmVhZFdyaXRlUXVldWUuZ2V0KCksIF57CiAjZW5kaWYK
ICAgICBbX3ByaXZhdGUtPnZhbHVlcy5nZXQoKSBzZXRPYmplY3Q6QCh2YWx1ZSkgZm9yS2V5Ol9r
ZXldOwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkBAIC02MTQsNyArNjExLDcgQEAgLSAodm9p
ZClfc2V0Qm9vbFZhbHVlOihCT09MKXZhbHVlIGZvcktleQogICAgICAgICByZXR1cm47CiAgICAg
TlNTdHJpbmcgKl9rZXkgPSBLRVkoa2V5KTsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAg
IGRpc3BhdGNoX2JhcnJpZXJfc3luYyhfcHJpdmF0ZS0+cmVhZFdyaXRlUXVldWUsIF57CisgICAg
ZGlzcGF0Y2hfYmFycmllcl9zeW5jKF9wcml2YXRlLT5yZWFkV3JpdGVRdWV1ZS5nZXQoKSwgXnsK
ICNlbmRpZgogICAgIFtfcHJpdmF0ZS0+dmFsdWVzLmdldCgpIHNldE9iamVjdDpAKHZhbHVlKSBm
b3JLZXk6X2tleV07CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKQEAgLTYzNyw3ICs2MzQsNyBA
QCAtICh2b2lkKV9zZXRMb25nTG9uZ1ZhbHVlOihsb25nIGxvbmcpdmFsCiAgICAgICAgIHJldHVy
bjsKICAgICBOU1N0cmluZyAqX2tleSA9IEtFWShrZXkpOwogI2lmIFBMQVRGT1JNKElPU19GQU1J
TFkpCi0gICAgZGlzcGF0Y2hfYmFycmllcl9zeW5jKF9wcml2YXRlLT5yZWFkV3JpdGVRdWV1ZSwg
XnsKKyAgICBkaXNwYXRjaF9iYXJyaWVyX3N5bmMoX3ByaXZhdGUtPnJlYWRXcml0ZVF1ZXVlLmdl
dCgpLCBeewogI2VuZGlmCiAgICAgW19wcml2YXRlLT52YWx1ZXMuZ2V0KCkgc2V0T2JqZWN0OkAo
dmFsdWUpIGZvcktleTpfa2V5XTsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpAQCAtNjYwLDcg
KzY1Nyw3IEBAIC0gKHZvaWQpX3NldFVuc2lnbmVkTG9uZ0xvbmdWYWx1ZToodW5zaWcKICAgICAg
ICAgcmV0dXJuOwogICAgIE5TU3RyaW5nICpfa2V5ID0gS0VZKGtleSk7CiAjaWYgUExBVEZPUk0o
SU9TX0ZBTUlMWSkKLSAgICBkaXNwYXRjaF9iYXJyaWVyX3N5bmMoX3ByaXZhdGUtPnJlYWRXcml0
ZVF1ZXVlLCBeeworICAgIGRpc3BhdGNoX2JhcnJpZXJfc3luYyhfcHJpdmF0ZS0+cmVhZFdyaXRl
UXVldWUuZ2V0KCksIF57CiAjZW5kaWYKICAgICBbX3ByaXZhdGUtPnZhbHVlcy5nZXQoKSBzZXRP
YmplY3Q6QCh2YWx1ZSkgZm9yS2V5Ol9rZXldOwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkBA
IC0xNjIwLDYgKzE2MTcsNDQgQEAgKyAodm9pZClfcmVtb3ZlUmVmZXJlbmNlRm9ySWRlbnRpZmll
cjooTgogICAgICAgICBbc2VsZiBwZXJmb3JtU2VsZWN0b3I6QHNlbGVjdG9yKF9jaGVja0xhc3RS
ZWZlcmVuY2VGb3JJZGVudGlmaWVyOikgd2l0aE9iamVjdDpbc2VsZiBfY29uY2F0ZW5hdGVLZXlX
aXRoSUJDcmVhdG9ySUQ6aWRlbnRdIGFmdGVyRGVsYXk6MC4xXTsKIH0KIAorLSAodm9pZClfc3Rh
cnRCYXRjaGluZ1VwZGF0ZXMKK3sKKyAgICBpZiAoIV9wcml2YXRlLT51cGRhdGVCYXRjaENvdW50
KQorICAgICAgICBfcHJpdmF0ZS0+dXBkYXRlQWZ0ZXJCYXRjaFR5cGUgPSB7IH07CisKKyAgICBf
cHJpdmF0ZS0+dXBkYXRlQmF0Y2hDb3VudCsrOworfQorCistICh2b2lkKV9zdG9wQmF0Y2hpbmdV
cGRhdGVzCit7CisgICAgQVNTRVJUKF9wcml2YXRlLT51cGRhdGVCYXRjaENvdW50IDw9IDApOwor
ICAgIGlmIChfcHJpdmF0ZS0+dXBkYXRlQmF0Y2hDb3VudCA8PSAwKQorICAgICAgICBOU0xvZyhA
IkVSUk9SOiBVbmJhbGFuY2VkIF9zdGFydEJhdGNoaW5nVXBkYXRlcy9fc3RvcEJhdGNoaW5nVXBk
YXRlcy4iKTsKKworICAgIF9wcml2YXRlLT51cGRhdGVCYXRjaENvdW50LS07CisgICAgaWYgKCFf
cHJpdmF0ZS0+dXBkYXRlQmF0Y2hDb3VudCkgeworICAgICAgICBpZiAoX3ByaXZhdGUtPnVwZGF0
ZUFmdGVyQmF0Y2hUeXBlLmNvbnRhaW5zKFVwZGF0ZUFmdGVyQmF0Y2hUeXBlOjpJbnRlcm5hbCkp
IHsKKyAgICAgICAgICAgIGlmIChfcHJpdmF0ZS0+dXBkYXRlQWZ0ZXJCYXRjaFR5cGUuY29udGFp
bnMoVXBkYXRlQWZ0ZXJCYXRjaFR5cGU6OkFQSSkpCisgICAgICAgICAgICAgICAgW3NlbGYgX3Bv
c3RQcmVmZXJlbmNlc0NoYW5nZWROb3RpZmljYXRpb25dOworICAgICAgICAgICAgZWxzZQorICAg
ICAgICAgICAgICAgIFtzZWxmIF9wb3N0UHJlZmVyZW5jZXNDaGFuZ2VkQVBJTm90aWZpY2F0aW9u
XTsKKyAgICAgICAgfQorICAgIH0KK30KKworLSAodm9pZClfYmF0Y2hVcGRhdGVQcmVmZXJlbmNl
c0luQmxvY2s6KHZvaWQgKF4pKFdlYlByZWZlcmVuY2VzICopKWJsb2NrCit7CisgICAgW3NlbGYg
X3N0YXJ0QmF0Y2hpbmdVcGRhdGVzXTsKKyAgICBibG9jayhzZWxmKTsKKyAgICBbc2VsZiBfc3Rv
cEJhdGNoaW5nVXBkYXRlc107Cit9CisKKy0gKHZvaWQpX3Jlc2V0Rm9yVGVzdGluZworeworICAg
IF9wcml2YXRlLT52YWx1ZXMgPSBhZG9wdE5TKFtbTlNNdXRhYmxlRGljdGlvbmFyeSBhbGxvY10g
aW5pdF0pOworICAgIFtzZWxmIF9wb3N0UHJlZmVyZW5jZXNDaGFuZ2VkTm90aWZpY2F0aW9uXTsK
K30KKwogLSAodm9pZClfcG9zdFByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbgogewogI2lm
ICFQTEFURk9STShJT1NfRkFNSUxZKQpAQCAtMTYyOSw2ICsxNjY0LDExIEBAIC0gKHZvaWQpX3Bv
c3RQcmVmZXJlbmNlc0NoYW5nZWROb3RpZmljYXQKICAgICB9CiAjZW5kaWYKIAorICAgIGlmIChf
cHJpdmF0ZS0+dXBkYXRlQmF0Y2hDb3VudCkgeworICAgICAgICBfcHJpdmF0ZS0+dXBkYXRlQWZ0
ZXJCYXRjaFR5cGUuYWRkKHsgVXBkYXRlQWZ0ZXJCYXRjaFR5cGU6OkFQSSwgVXBkYXRlQWZ0ZXJC
YXRjaFR5cGU6OkludGVybmFsIH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgW1tO
U05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBwb3N0Tm90aWZpY2F0aW9uTmFtZTpX
ZWJQcmVmZXJlbmNlc0NoYW5nZWRJbnRlcm5hbE5vdGlmaWNhdGlvbiBvYmplY3Q6c2VsZiB1c2Vy
SW5mbzpuaWxdOwogICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcG9z
dE5vdGlmaWNhdGlvbk5hbWU6V2ViUHJlZmVyZW5jZXNDaGFuZ2VkTm90aWZpY2F0aW9uIG9iamVj
dDpzZWxmIHVzZXJJbmZvOm5pbF07CiB9CkBAIC0xNjQwLDYgKzE2ODAsMTEgQEAgLSAodm9pZClf
cG9zdFByZWZlcmVuY2VzQ2hhbmdlZEFQSU5vdGlmaQogICAgICAgICByZXR1cm47CiAgICAgfQog
CisgICAgaWYgKF9wcml2YXRlLT51cGRhdGVCYXRjaENvdW50KSB7CisgICAgICAgIF9wcml2YXRl
LT51cGRhdGVBZnRlckJhdGNoVHlwZS5hZGQoeyBVcGRhdGVBZnRlckJhdGNoVHlwZTo6SW50ZXJu
YWwgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICBbW05TTm90aWZpY2F0aW9uQ2Vu
dGVyIGRlZmF1bHRDZW50ZXJdIHBvc3ROb3RpZmljYXRpb25OYW1lOldlYlByZWZlcmVuY2VzQ2hh
bmdlZE5vdGlmaWNhdGlvbiBvYmplY3Q6c2VsZiB1c2VySW5mbzpuaWxdOwogfQogCkBAIC0yMjIx
LDcgKzIyNjYsNyBAQCAtICh2b2lkKXNldFBhZ2VDYWNoZVN1cHBvcnRzUGx1Z2luczooQk9PCiAj
aWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKIC0gKHZvaWQpX2ludmFsaWRhdGVDYWNoZWRQcmVmZXJl
bmNlcwogewotICAgIGRpc3BhdGNoX2JhcnJpZXJfc3luYyhfcHJpdmF0ZS0+cmVhZFdyaXRlUXVl
dWUsIF57CisgICAgZGlzcGF0Y2hfYmFycmllcl9zeW5jKF9wcml2YXRlLT5yZWFkV3JpdGVRdWV1
ZS5nZXQoKSwgXnsKICAgICAgICAgaWYgKF9wcml2YXRlLT52YWx1ZXMpCiAgICAgICAgICAgICBf
cHJpdmF0ZS0+dmFsdWVzID0gYWRvcHROUyhbW05TTXV0YWJsZURpY3Rpb25hcnkgYWxsb2NdIGlu
aXRdKTsKICAgICB9KTsKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2Vi
UHJlZmVyZW5jZXNQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAkocmV2aXNpb24gMjczMzA2KQorKysg
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAko
d29ya2luZyBjb3B5KQpAQCAtODYsNiArODYsMTIgQEAgZXh0ZXJuIE5TU3RyaW5nICpXZWJQcmVm
ZXJlbmNlc0NhY2hlTW9kZQogCiBAaW50ZXJmYWNlIFdlYlByZWZlcmVuY2VzIChXZWJQcml2YXRl
KQogCistICh2b2lkKV9zdGFydEJhdGNoaW5nVXBkYXRlczsKKy0gKHZvaWQpX3N0b3BCYXRjaGlu
Z1VwZGF0ZXM7CistICh2b2lkKV9iYXRjaFVwZGF0ZVByZWZlcmVuY2VzSW5CbG9jazoodm9pZCAo
XikoV2ViUHJlZmVyZW5jZXMgKikpYmxvY2s7CisKKy0gKHZvaWQpX3Jlc2V0Rm9yVGVzdGluZzsK
KwogLSAodm9pZClfcG9zdFByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbjsKIC0gKHZvaWQp
X3Bvc3RQcmVmZXJlbmNlc0NoYW5nZWRBUElOb3RpZmljYXRpb247CiArIChXZWJQcmVmZXJlbmNl
cyAqKV9nZXRJbnN0YW5jZUZvcklkZW50aWZpZXI6KE5TU3RyaW5nICopaWRlbnRpZmllcjsKSW5k
ZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlz
aW9uIDI3MzMzMCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDI0IEBACisyMDIxLTAyLTIzICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAg
ICAgICBTaW1wbGlmeSBEdW1wUmVuZGVyVHJlZSBXZWJQcmVmZXJlbmNlcyByZXNldAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4MDI0CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS83MDc2NDU2OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBXSVAKKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL1Rlc3RP
cHRpb25zLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdE9wdGlvbnM6OnN1cHBvcnRlZEJvb2xXZWJQ
cmVmZXJlbmNlRmVhdHVyZXMpOiBEZWxldGVkLgorICAgICAgICAoV1RSOjpUZXN0T3B0aW9uczo6
c3VwcG9ydGVkVUludDMyV2ViUHJlZmVyZW5jZUZlYXR1cmVzKTogRGVsZXRlZC4KKyAgICAgICAg
KiBEdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5oOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVl
L21hYy9EdW1wUmVuZGVyVHJlZS5tbToKKyAgICAgICAgKHJlc2V0V2ViUHJlZmVyZW5jZXNGb3JU
ZXN0T3B0aW9ucyk6CisgICAgICAgIChyZXNldFdlYlZpZXdUb0NvbnNpc3RlbnRTdGF0ZSk6Cisg
ICAgICAgIChyZXNldFdlYlByZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFsdWVzKTogRGVsZXRlZC4K
KyAgICAgICAgKHdlYlByZWZlcmVuY2VGZWF0dXJlVmFsdWUpOiBEZWxldGVkLgorICAgICAgICAo
c2V0V2ViUHJlZmVyZW5jZXNGb3JUZXN0T3B0aW9ucyk6IERlbGV0ZWQuCisKIDIwMjEtMDItMjMg
IENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2
aWV3ZWQsIHJldmVydGluZyByMjczMzA3LgpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVz
dE9wdGlvbnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRp
b25zLmNwcAkocmV2aXNpb24gMjczMzA2KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9w
dGlvbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCwzNCArMzAsNiBAQAogCiBuYW1lc3BhY2Ug
V1RSIHsKIAotY29uc3Qgc3RkOjp2ZWN0b3I8c3RkOjpzdHJpbmc+JiBUZXN0T3B0aW9uczo6c3Vw
cG9ydGVkQm9vbFdlYlByZWZlcmVuY2VGZWF0dXJlcygpCi17Ci0gICAgLy8gRklYTUU6IFJlbW92
ZSB0aGlzIG9uY2UgdGhlcmUgaXMgYSB2aWFibGUgbWVjaGFuaXNtIGZvciByZXNldGluZyBXZWJQ
cmVmZXJlbmNlcyBiZXR3ZWVuIHRlc3RzLAotICAgIC8vIGF0IHdoaWNoIHBvaW50LCB3ZSB3aWxs
IG5vdCBuZWVkIHRvIG1hbnVhbGx5IHJlc2V0IGV2ZXJ5IHN1cHBvcnRlZCBwcmVmZXJlbmNlIGZv
ciBlYWNoIHRlc3QuCi0KLSAgICBzdGF0aWMgc3RkOjp2ZWN0b3I8c3RkOjpzdHJpbmc+IHN1cHBv
cnRlZCA9IFtdIHsKLSAgICAgICAgc3RkOjp2ZWN0b3I8c3RkOjpzdHJpbmc+IGtleXM7Ci0gICAg
ICAgIGZvciAoY29uc3QgYXV0byYgW2tleSwgdmFsdWVdIDogZGVmYXVsdHMoKS5ib29sV2ViUHJl
ZmVyZW5jZUZlYXR1cmVzKQotICAgICAgICAgICAga2V5cy5wdXNoX2JhY2soa2V5KTsKLSAgICAg
ICAgcmV0dXJuIGtleXM7Ci0gICAgfSgpOwotICAgIHJldHVybiBzdXBwb3J0ZWQ7Ci19Ci0KLWNv
bnN0IHN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiYgVGVzdE9wdGlvbnM6OnN1cHBvcnRlZFVJbnQz
MldlYlByZWZlcmVuY2VGZWF0dXJlcygpCi17Ci0gICAgLy8gRklYTUU6IFJlbW92ZSB0aGlzIG9u
Y2UgdGhlcmUgaXMgYSB2aWFibGUgbWVjaGFuaXNtIGZvciByZXNldGluZyBXZWJQcmVmZXJlbmNl
cyBiZXR3ZWVuIHRlc3RzLAotICAgIC8vIGF0IHdoaWNoIHBvaW50LCB3ZSB3aWxsIG5vdCBuZWVk
IHRvIG1hbnVhbGx5IHJlc2V0IGV2ZXJ5IHN1cHBvcnRlZCBwcmVmZXJlbmNlIGZvciBlYWNoIHRl
c3QuCi0KLSAgICBzdGF0aWMgc3RkOjp2ZWN0b3I8c3RkOjpzdHJpbmc+IHN1cHBvcnRlZCA9IFtd
IHsKLSAgICAgICAgc3RkOjp2ZWN0b3I8c3RkOjpzdHJpbmc+IGtleXM7Ci0gICAgICAgIGZvciAo
Y29uc3QgYXV0byYgW2tleSwgdmFsdWVdIDogZGVmYXVsdHMoKS51aW50MzJXZWJQcmVmZXJlbmNl
RmVhdHVyZXMpCi0gICAgICAgICAgICBrZXlzLnB1c2hfYmFjayhrZXkpOwotICAgICAgICByZXR1
cm4ga2V5czsKLSAgICB9KCk7Ci0gICAgcmV0dXJuIHN1cHBvcnRlZDsKLX0KLQogY29uc3QgVGVz
dEZlYXR1cmVzJiBUZXN0T3B0aW9uczo6ZGVmYXVsdHMoKQogewogICAgIHN0YXRpYyBUZXN0RmVh
dHVyZXMgZmVhdHVyZXM7CkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmgJKHJldmlz
aW9uIDI3MzMwNikKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmgJKHdvcmtp
bmcgY29weSkKQEAgLTU2LDExICs1Niw2IEBAIHB1YmxpYzoKICAgICBjb25zdCBhdXRvJiB1aW50
MzJXZWJQcmVmZXJlbmNlRmVhdHVyZXMoKSBjb25zdCB7IHJldHVybiBtX2ZlYXR1cmVzLnVpbnQz
MldlYlByZWZlcmVuY2VGZWF0dXJlczsgfQogICAgIGNvbnN0IGF1dG8mIHN0cmluZ1dlYlByZWZl
cmVuY2VGZWF0dXJlcygpIGNvbnN0IHsgcmV0dXJuIG1fZmVhdHVyZXMuc3RyaW5nV2ViUHJlZmVy
ZW5jZUZlYXR1cmVzOyB9CiAKLSAgICAvLyBGSVhNRTogUmVtb3ZlIHRoZXNlIG9uY2UgdGhlcmUg
aXMgYSB2aWFibGUgbWVjaGFuaXNtIGZvciByZXNldGluZyBXZWJQcmVmZXJlbmNlcyBiZXR3ZWVu
IHRlc3RzLAotICAgIC8vIGF0IHdoaWNoIHBvaW50LCB3ZSB3aWxsIG5vdCBuZWVkIHRvIG1hbnVh
bGx5IHJlc2V0IGV2ZXJ5IHN1cHBvcnRlZCBwcmVmZXJlbmNlIGZvciBlYWNoIHRlc3QuCi0gICAg
c3RhdGljIGNvbnN0IHN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiYgc3VwcG9ydGVkQm9vbFdlYlBy
ZWZlcmVuY2VGZWF0dXJlcygpOwotICAgIHN0YXRpYyBjb25zdCBzdGQ6OnZlY3RvcjxzdGQ6OnN0
cmluZz4mIHN1cHBvcnRlZFVJbnQzMldlYlByZWZlcmVuY2VGZWF0dXJlcygpOwotCiAgICAgc3Rh
dGljIHN0ZDo6c3RyaW5nIHRvV2ViS2l0TGVnYWN5UHJlZmVyZW5jZUtleShjb25zdCBzdGQ6OnN0
cmluZyYpOwogCiBwcml2YXRlOgpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBS
ZW5kZXJUcmVlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1w
UmVuZGVyVHJlZS5tbQkocmV2aXNpb24gMjczMzA2KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUv
bWFjL0R1bXBSZW5kZXJUcmVlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC04MjUsMTA4ICs4MjUsMTA3
IEBAIHN0YXRpYyBOU1N0cmluZyAqbGlicmFyeVBhdGhGb3JEdW1wUmVuZGUKICAgICAgICAgcmV0
dXJuIFtAIn4vTGlicmFyeS9BcHBsaWNhdGlvbiBTdXBwb3J0L0R1bXBSZW5kZXJUcmVlIiBzdHJp
bmdCeUV4cGFuZGluZ1RpbGRlSW5QYXRoXTsKIH0KIAotLy8gQ2FsbGVkIGJlZm9yZSBlYWNoIHRl
c3QuCi1zdGF0aWMgdm9pZCByZXNldFdlYlByZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFsdWVzKFdl
YlByZWZlcmVuY2VzICpwcmVmZXJlbmNlcykKK3N0YXRpYyB2b2lkIHJlc2V0V2ViUHJlZmVyZW5j
ZXNGb3JUZXN0T3B0aW9ucyhXZWJQcmVmZXJlbmNlcyAqcHJlZmVyZW5jZXMsIGNvbnN0IFdUUjo6
VGVzdE9wdGlvbnMmIG9wdGlvbnMpCiB7Ci0gICAgZm9yIChXZWJGZWF0dXJlICpmZWF0dXJlIGlu
IFtXZWJQcmVmZXJlbmNlcyBfZXhwZXJpbWVudGFsRmVhdHVyZXNdKQotICAgICAgICBbcHJlZmVy
ZW5jZXMgX3NldEVuYWJsZWQ6WUVTIGZvckZlYXR1cmU6ZmVhdHVyZV07CisgICAgW3ByZWZlcmVu
Y2VzIF9iYXRjaFVwZGF0ZVByZWZlcmVuY2VzSW5CbG9jazpeKFdlYlByZWZlcmVuY2VzICpwcmVm
ZXJlbmNlcykgeworICAgICAgICBbcHJlZmVyZW5jZXMgX3Jlc2V0Rm9yVGVzdGluZ107CiAKLSAg
ICAvLyBGSVhNRTogVGhlc2UgZXhwZXJpbWVudGFsIGZlYXR1cmVzIGFyZSBjdXJyZW50bHkgdGhl
IG9ubHkgb25lcyBub3QgZW5hYmxlZCBmb3IgV2ViS2l0TGVnYWN5LCB3ZQotICAgIC8vIHNob3Vs
ZCBlaXRoZXIgZW5hYmxlIHRoZW0gb3Igc3RvcCBleHBvc2luZyB0aGVtIChhcyB3ZSBkbyB3aXRo
IHdpdGggcHJlZmVyZW5jZXMgbGlrZSBIVFRQM0VuYWJsZWQpLgotICAgIFtwcmVmZXJlbmNlcyBf
c2V0Qm9vbFByZWZlcmVuY2VGb3JUZXN0aW5nV2l0aFZhbHVlOk5PIGZvcktleTpAIldlYktpdEdl
bmVyaWNDdWVBUElFbmFibGVkIl07Ci0gICAgW3ByZWZlcmVuY2VzIF9zZXRCb29sUHJlZmVyZW5j
ZUZvclRlc3RpbmdXaXRoVmFsdWU6Tk8gZm9yS2V5OkAiV2ViS2l0SXNMb2dnZWRJbkFQSUVuYWJs
ZWQiXTsKLSAgICBbcHJlZmVyZW5jZXMgX3NldEJvb2xQcmVmZXJlbmNlRm9yVGVzdGluZ1dpdGhW
YWx1ZTpOTyBmb3JLZXk6QCJXZWJLaXRMYXp5SWZyYW1lTG9hZGluZ0VuYWJsZWQiXTsKLSAgICBb
cHJlZmVyZW5jZXMgX3NldEJvb2xQcmVmZXJlbmNlRm9yVGVzdGluZ1dpdGhWYWx1ZTpOTyBmb3JL
ZXk6QCJXZWJLaXRMYXp5SW1hZ2VMb2FkaW5nRW5hYmxlZCJdOwotICAgIFtwcmVmZXJlbmNlcyBf
c2V0Qm9vbFByZWZlcmVuY2VGb3JUZXN0aW5nV2l0aFZhbHVlOk5PIGZvcktleTpAIldlYktpdFdl
YkF1dGhlbnRpY2F0aW9uRW5hYmxlZCJdOwotCi0gICAgaWYgKHBlcnNpc3RlbnRVc2VyU3R5bGVT
aGVldExvY2F0aW9uKSB7Ci0gICAgICAgIFtwcmVmZXJlbmNlcyBzZXRVc2VyU3R5bGVTaGVldExv
Y2F0aW9uOltOU1VSTCBVUkxXaXRoU3RyaW5nOihfX2JyaWRnZSBOU1N0cmluZyAqKXBlcnNpc3Rl
bnRVc2VyU3R5bGVTaGVldExvY2F0aW9uLmdldCgpXV07Ci0gICAgICAgIFtwcmVmZXJlbmNlcyBz
ZXRVc2VyU3R5bGVTaGVldEVuYWJsZWQ6WUVTXTsKLSAgICB9IGVsc2UKLSAgICAgICAgW3ByZWZl
cmVuY2VzIHNldFVzZXJTdHlsZVNoZWV0RW5hYmxlZDpOT107CisgICAgICAgIGZvciAoV2ViRmVh
dHVyZSAqZmVhdHVyZSBpbiBbV2ViUHJlZmVyZW5jZXMgX2V4cGVyaW1lbnRhbEZlYXR1cmVzXSkK
KyAgICAgICAgICAgIFtwcmVmZXJlbmNlcyBfc2V0RW5hYmxlZDpZRVMgZm9yRmVhdHVyZTpmZWF0
dXJlXTsKKworICAgICAgICAvLyBGSVhNRTogVGhlc2UgZXhwZXJpbWVudGFsIGZlYXR1cmVzIGFy
ZSBjdXJyZW50bHkgdGhlIG9ubHkgb25lcyBub3QgZW5hYmxlZCBmb3IgV2ViS2l0TGVnYWN5LCB3
ZQorICAgICAgICAvLyBzaG91bGQgZWl0aGVyIGVuYWJsZSB0aGVtIG9yIHN0b3AgZXhwb3Npbmcg
dGhlbSAoYXMgd2UgZG8gd2l0aCB3aXRoIHByZWZlcmVuY2VzIGxpa2UgSFRUUDNFbmFibGVkKS4K
KyAgICAgICAgW3ByZWZlcmVuY2VzIF9zZXRCb29sUHJlZmVyZW5jZUZvclRlc3RpbmdXaXRoVmFs
dWU6Tk8gZm9yS2V5OkAiV2ViS2l0R2VuZXJpY0N1ZUFQSUVuYWJsZWQiXTsKKyAgICAgICAgW3By
ZWZlcmVuY2VzIF9zZXRCb29sUHJlZmVyZW5jZUZvclRlc3RpbmdXaXRoVmFsdWU6Tk8gZm9yS2V5
OkAiV2ViS2l0SXNMb2dnZWRJbkFQSUVuYWJsZWQiXTsKKyAgICAgICAgW3ByZWZlcmVuY2VzIF9z
ZXRCb29sUHJlZmVyZW5jZUZvclRlc3RpbmdXaXRoVmFsdWU6Tk8gZm9yS2V5OkAiV2ViS2l0TGF6
eUlmcmFtZUxvYWRpbmdFbmFibGVkIl07CisgICAgICAgIFtwcmVmZXJlbmNlcyBfc2V0Qm9vbFBy
ZWZlcmVuY2VGb3JUZXN0aW5nV2l0aFZhbHVlOk5PIGZvcktleTpAIldlYktpdExhenlJbWFnZUxv
YWRpbmdFbmFibGVkIl07CisgICAgICAgIFtwcmVmZXJlbmNlcyBfc2V0Qm9vbFByZWZlcmVuY2VG
b3JUZXN0aW5nV2l0aFZhbHVlOk5PIGZvcktleTpAIldlYktpdFdlYkF1dGhlbnRpY2F0aW9uRW5h
YmxlZCJdOworCisgICAgICAgIGlmIChwZXJzaXN0ZW50VXNlclN0eWxlU2hlZXRMb2NhdGlvbikg
eworICAgICAgICAgICAgW3ByZWZlcmVuY2VzIHNldFVzZXJTdHlsZVNoZWV0TG9jYXRpb246W05T
VVJMIFVSTFdpdGhTdHJpbmc6KF9fYnJpZGdlIE5TU3RyaW5nICopcGVyc2lzdGVudFVzZXJTdHls
ZVNoZWV0TG9jYXRpb24uZ2V0KCldXTsKKyAgICAgICAgICAgIFtwcmVmZXJlbmNlcyBzZXRVc2Vy
U3R5bGVTaGVldEVuYWJsZWQ6WUVTXTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBbcHJl
ZmVyZW5jZXMgc2V0VXNlclN0eWxlU2hlZXRFbmFibGVkOk5PXTsKIAogI2lmIFBMQVRGT1JNKElP
U19GQU1JTFkpCi0gICAgLy8gRW5hYmxlIHRoZSB0cmFja2VyIGJlZm9yZSBjcmVhdGluZyB0aGUg
Zmlyc3QgV2ViVmlldyB3aWxsCi0gICAgLy8gY2F1c2UgaW5pdGlhbGl6YXRpb24gdG8gdXNlIHRo
ZSBjb3JyZWN0IGRhdGFiYXNlIHBhdGhzLgotICAgIFtwcmVmZXJlbmNlcyBzZXRTdG9yYWdlVHJh
Y2tlckVuYWJsZWQ6WUVTXTsKKyAgICAgICAgLy8gRW5hYmxlIHRoZSB0cmFja2VyIGJlZm9yZSBj
cmVhdGluZyB0aGUgZmlyc3QgV2ViVmlldyB3aWxsCisgICAgICAgIC8vIGNhdXNlIGluaXRpYWxp
emF0aW9uIHRvIHVzZSB0aGUgY29ycmVjdCBkYXRhYmFzZSBwYXRocy4KKyAgICAgICAgW3ByZWZl
cmVuY2VzIHNldFN0b3JhZ2VUcmFja2VyRW5hYmxlZDpZRVNdOwogI2Vsc2UKLSAgICBbcHJlZmVy
ZW5jZXMgc2V0TW9ja1Njcm9sbGJhcnNFbmFibGVkOllFU107Ci0gICAgW3ByZWZlcmVuY2VzIHNl
dFNob3VsZFByaW50QmFja2dyb3VuZHM6WUVTXTsKLSAgICBbcHJlZmVyZW5jZXMgc2V0VGV4dEFy
ZWFzQXJlUmVzaXphYmxlOllFU107Ci0jZW5kaWYKLQotICAgIFtwcmVmZXJlbmNlcyBfc2V0VGV4
dEF1dG9zaXppbmdFbmFibGVkOk5PXTsKLSAgICBbcHJlZmVyZW5jZXMgc2V0QWNjZWxlcmF0ZWRD
b21wb3NpdGluZ0VuYWJsZWQ6WUVTXTsKLSAgICBbcHJlZmVyZW5jZXMgc2V0QWNjZWxlcmF0ZWRE
cmF3aW5nRW5hYmxlZDp1c2VBY2NlbGVyYXRlZERyYXdpbmddOwotICAgIFtwcmVmZXJlbmNlcyBz
ZXRBc3luY2hyb25vdXNTcGVsbENoZWNraW5nRW5hYmxlZDpOT107Ci0gICAgW3ByZWZlcmVuY2Vz
IHNldEF1ZGlvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlOk5PXTsKLSAgICBbcHJlZmVyZW5j
ZXMgc2V0Q2FjaGVNb2RlbDpXZWJDYWNoZU1vZGVsRG9jdW1lbnRCcm93c2VyXTsKLSAgICBbcHJl
ZmVyZW5jZXMgc2V0Q2FudmFzVXNlc0FjY2VsZXJhdGVkRHJhd2luZzpZRVNdOwotICAgIFtwcmVm
ZXJlbmNlcyBzZXRDb2xvckZpbHRlckVuYWJsZWQ6WUVTXTsKLSAgICBbcHJlZmVyZW5jZXMgc2V0
Q3Vyc2l2ZUZvbnRGYW1pbHk6QCJBcHBsZSBDaGFuY2VyeSJdOwotICAgIFtwcmVmZXJlbmNlcyBz
ZXRDdXN0b21QYXN0ZWJvYXJkRGF0YUVuYWJsZWQ6WUVTXTsKLSAgICBbcHJlZmVyZW5jZXMgc2V0
RGF0YVRyYW5zZmVySXRlbXNFbmFibGVkOllFU107Ci0gICAgW3ByZWZlcmVuY2VzIHNldERlZmF1
bHRGaXhlZEZvbnRTaXplOjEzXTsKLSAgICBbcHJlZmVyZW5jZXMgc2V0RGVmYXVsdEZvbnRTaXpl
OjE2XTsKLSAgICBbcHJlZmVyZW5jZXMgc2V0RGVmYXVsdFRleHRFbmNvZGluZ05hbWU6QCJJU08t
ODg1OS0xIl07Ci0gICAgW3ByZWZlcmVuY2VzIHNldERpcmVjdG9yeVVwbG9hZEVuYWJsZWQ6WUVT
XTsKLSAgICBbcHJlZmVyZW5jZXMgc2V0RG93bmxvYWRBdHRyaWJ1dGVFbmFibGVkOllFU107Ci0g
ICAgW3ByZWZlcmVuY2VzIHNldEVkaXRhYmxlTGlua0JlaGF2aW9yOldlYktpdEVkaXRhYmxlTGlu
a09ubHlMaXZlV2l0aFNoaWZ0S2V5XTsKLSAgICBbcHJlZmVyZW5jZXMgc2V0RW5jcnlwdGVkTWVk
aWFBUElFbmFibGVkOllFU107Ci0gICAgW3ByZWZlcmVuY2VzIHNldEZhbnRhc3lGb250RmFtaWx5
OkAiUGFweXJ1cyJdOwotICAgIFtwcmVmZXJlbmNlcyBzZXRGaXhlZEZvbnRGYW1pbHk6QCJDb3Vy
aWVyIl07Ci0gICAgW3ByZWZlcmVuY2VzIHNldEZyYW1lRmxhdHRlbmluZzpXZWJLaXRGcmFtZUZs
YXR0ZW5pbmdEaXNhYmxlZF07Ci0gICAgW3ByZWZlcmVuY2VzIHNldEdhbWVwYWRzRW5hYmxlZDpZ
RVNdOwotICAgIFtwcmVmZXJlbmNlcyBzZXRIaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lv
bkVuYWJsZWQ6Tk9dOwotICAgIFtwcmVmZXJlbmNlcyBzZXRIaWRkZW5QYWdlRE9NVGltZXJUaHJv
dHRsaW5nRW5hYmxlZDpOT107Ci0gICAgW3ByZWZlcmVuY2VzIHNldEludmlzaWJsZUF1dG9wbGF5
Tm90UGVybWl0dGVkOk5PXTsKLSAgICBbcHJlZmVyZW5jZXMgc2V0SmF2YUVuYWJsZWQ6Tk9dOwot
ICAgIFtwcmVmZXJlbmNlcyBzZXRKYXZhU2NyaXB0UnVudGltZUZsYWdzOldlYktpdEphdmFTY3Jp
cHRSdW50aW1lRmxhZ3NBbGxFbmFibGVkXTsKLSAgICBbcHJlZmVyZW5jZXMgc2V0TGFyZ2VJbWFn
ZUFzeW5jRGVjb2RpbmdFbmFibGVkOk5PXTsKLSAgICBbcHJlZmVyZW5jZXMgc2V0TGlua1ByZWxv
YWRFbmFibGVkOllFU107Ci0gICAgW3ByZWZlcmVuY2VzIHNldExvYWRzU2l0ZUljb25zSWdub3Jp
bmdJbWFnZUxvYWRpbmdQcmVmZXJlbmNlOk5PXTsKLSAgICBbcHJlZmVyZW5jZXMgc2V0TWVkaWFD
YXBhYmlsaXRpZXNFbmFibGVkOllFU107Ci0gICAgW3ByZWZlcmVuY2VzIHNldE1lZGlhRGF0YUxv
YWRzQXV0b21hdGljYWxseTpZRVNdOwotICAgIFtwcmVmZXJlbmNlcyBzZXRNZWRpYURldmljZXNF
bmFibGVkOllFU107Ci0gICAgW3ByZWZlcmVuY2VzIHNldE1lZGlhUGxheWJhY2tBbGxvd3NJbmxp
bmU6WUVTXTsKLSAgICBbcHJlZmVyZW5jZXMgc2V0TWVkaWFQbGF5YmFja1JlcXVpcmVzVXNlckdl
c3R1cmU6Tk9dOwotICAgIFtwcmVmZXJlbmNlcyBzZXRNZWRpYVByZWxvYWRpbmdFbmFibGVkOllF
U107Ci0gICAgW3ByZWZlcmVuY2VzIHNldE1lZGlhU291cmNlRW5hYmxlZDpZRVNdOwotICAgIFtw
cmVmZXJlbmNlcyBzZXRNZXRhUmVmcmVzaEVuYWJsZWQ6WUVTXTsKLSAgICBbcHJlZmVyZW5jZXMg
c2V0TW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQ6WUVTXTsKLSAgICBbcHJlZmVyZW5jZXMgc2V0
T2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkOllFU107Ci0gICAgW3ByZWZlcmVuY2Vz
IHNldFBpY3RvZ3JhcGhGb250RmFtaWx5OkAiQXBwbGUgQ29sb3IgRW1vamkiXTsKLSAgICBbcHJl
ZmVyZW5jZXMgc2V0U2Fuc1NlcmlmRm9udEZhbWlseTpAIkhlbHZldGljYSJdOwotICAgIFtwcmVm
ZXJlbmNlcyBzZXRTZWxlY3Rpb25BY3Jvc3NTaGFkb3dCb3VuZGFyaWVzRW5hYmxlZDpZRVNdOwot
ICAgIFtwcmVmZXJlbmNlcyBzZXRTZXJpZkZvbnRGYW1pbHk6QCJUaW1lcyJdOwotICAgIFtwcmVm
ZXJlbmNlcyBzZXRTb3VyY2VCdWZmZXJDaGFuZ2VUeXBlRW5hYmxlZDpZRVNdOwotICAgIFtwcmVm
ZXJlbmNlcyBzZXRTdGFuZGFyZEZvbnRGYW1pbHk6QCJUaW1lcyJdOwotICAgIFtwcmVmZXJlbmNl
cyBzZXRTdWJwaXhlbEFudGlhbGlhc2VkTGF5ZXJUZXh0RW5hYmxlZDpOT107Ci0gICAgW3ByZWZl
cmVuY2VzIHNldFZpZGVvUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlOk5PXTsKLSAgICBbcHJl
ZmVyZW5jZXMgc2V0V2ViQXVkaW9FbmFibGVkOllFU107Ci0gICAgW3ByZWZlcmVuY2VzIHNldFdl
YlNRTEVuYWJsZWQ6WUVTXTsKLQotICAgIFtXZWJQcmVmZXJlbmNlcyBfY2xlYXJOZXR3b3JrTG9h
ZGVyU2Vzc2lvbl07Ci0gICAgW1dlYlByZWZlcmVuY2VzIF9zZXRDdXJyZW50TmV0d29ya0xvYWRl
clNlc3Npb25Db29raWVBY2NlcHRQb2xpY3k6TlNIVFRQQ29va2llQWNjZXB0UG9saWN5T25seUZy
b21NYWluRG9jdW1lbnREb21haW5dOwotfQotCi10ZW1wbGF0ZTx0eXBlbmFtZSBUPiBUIHdlYlBy
ZWZlcmVuY2VGZWF0dXJlVmFsdWUoY29uc3Qgc3RkOjpzdHJpbmcmIGtleSwgY29uc3Qgc3RkOjp1
bm9yZGVyZWRfbWFwPHN0ZDo6c3RyaW5nLCBUPiYgbWFwKQotewotICAgIGF1dG8gaXQgPSBtYXAu
ZmluZChrZXkpOwotICAgIEFTU0VSVChpdCAhPSBtYXAuZW5kKCkpOwotICAgIHJldHVybiBpdC0+
c2Vjb25kOwotfQotCi1zdGF0aWMgdm9pZCBzZXRXZWJQcmVmZXJlbmNlc0ZvclRlc3RPcHRpb25z
KFdlYlByZWZlcmVuY2VzICpwcmVmZXJlbmNlcywgY29uc3QgV1RSOjpUZXN0T3B0aW9ucyYgb3B0
aW9ucykKLXsKLSAgICBwcmVmZXJlbmNlcy5wcml2YXRlQnJvd3NpbmdFbmFibGVkID0gb3B0aW9u
cy51c2VFcGhlbWVyYWxTZXNzaW9uKCk7Ci0KLSAgICAvLyBGSVhNRTogUmVtb3ZlIHRoZXNlIG9u
Y2UgdGhlcmUgaXMgYSB2aWFibGUgbWVjaGFuaXNtIGZvciByZXNldGluZyBXZWJQcmVmZXJlbmNl
cyBiZXR3ZWVuIHRlc3RzLAotICAgIC8vIGF0IHdoaWNoIHBvaW50LCB3ZSB3aWxsIG5vdCBuZWVk
IHRvIG1hbnVhbGx5IHJlc2V0IGV2ZXJ5IHN1cHBvcnRlZCBwcmVmZXJlbmNlIGZvciBlYWNoIHRl
c3QuCi0gICAgZm9yIChjb25zdCBhdXRvJiBrZXkgOiBvcHRpb25zLnN1cHBvcnRlZEJvb2xXZWJQ
cmVmZXJlbmNlRmVhdHVyZXMoKSkKLSAgICAgICAgW3ByZWZlcmVuY2VzIF9zZXRCb29sUHJlZmVy
ZW5jZUZvclRlc3RpbmdXaXRoVmFsdWU6d2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZShrZXksIG9w
dGlvbnMuYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJlcygpKSBmb3JLZXk6dG9OUyhXVFI6OlRlc3RP
cHRpb25zOjp0b1dlYktpdExlZ2FjeVByZWZlcmVuY2VLZXkoa2V5KSkuZ2V0KCldOwotICAgIGZv
ciAoY29uc3QgYXV0byYga2V5IDogb3B0aW9ucy5zdXBwb3J0ZWRVSW50MzJXZWJQcmVmZXJlbmNl
RmVhdHVyZXMoKSkKLSAgICAgICAgW3ByZWZlcmVuY2VzIF9zZXRVSW50MzJQcmVmZXJlbmNlRm9y
VGVzdGluZ1dpdGhWYWx1ZTp3ZWJQcmVmZXJlbmNlRmVhdHVyZVZhbHVlKGtleSwgb3B0aW9ucy51
aW50MzJXZWJQcmVmZXJlbmNlRmVhdHVyZXMoKSkgZm9yS2V5OnRvTlMoV1RSOjpUZXN0T3B0aW9u
czo6dG9XZWJLaXRMZWdhY3lQcmVmZXJlbmNlS2V5KGtleSkpLmdldCgpXTsKKyAgICAgICAgW3By
ZWZlcmVuY2VzIHNldE1vY2tTY3JvbGxiYXJzRW5hYmxlZDpZRVNdOworICAgICAgICBbcHJlZmVy
ZW5jZXMgc2V0U2hvdWxkUHJpbnRCYWNrZ3JvdW5kczpZRVNdOworICAgICAgICBbcHJlZmVyZW5j
ZXMgc2V0VGV4dEFyZWFzQXJlUmVzaXphYmxlOllFU107CisjZW5kaWYKKworICAgICAgICBbcHJl
ZmVyZW5jZXMgX3NldFRleHRBdXRvc2l6aW5nRW5hYmxlZDpOT107CisgICAgICAgIFtwcmVmZXJl
bmNlcyBzZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZDpZRVNdOworICAgICAgICBbcHJl
ZmVyZW5jZXMgc2V0QWNjZWxlcmF0ZWREcmF3aW5nRW5hYmxlZDp1c2VBY2NlbGVyYXRlZERyYXdp
bmddOworICAgICAgICBbcHJlZmVyZW5jZXMgc2V0QXN5bmNocm9ub3VzU3BlbGxDaGVja2luZ0Vu
YWJsZWQ6Tk9dOworICAgICAgICBbcHJlZmVyZW5jZXMgc2V0QXVkaW9QbGF5YmFja1JlcXVpcmVz
VXNlckdlc3R1cmU6Tk9dOworICAgICAgICBbcHJlZmVyZW5jZXMgc2V0Q2FjaGVNb2RlbDpXZWJD
YWNoZU1vZGVsRG9jdW1lbnRCcm93c2VyXTsKKyAgICAgICAgW3ByZWZlcmVuY2VzIHNldENhbnZh
c1VzZXNBY2NlbGVyYXRlZERyYXdpbmc6WUVTXTsKKyAgICAgICAgW3ByZWZlcmVuY2VzIHNldENv
bG9yRmlsdGVyRW5hYmxlZDpZRVNdOworICAgICAgICBbcHJlZmVyZW5jZXMgc2V0Q3Vyc2l2ZUZv
bnRGYW1pbHk6QCJBcHBsZSBDaGFuY2VyeSJdOworICAgICAgICBbcHJlZmVyZW5jZXMgc2V0Q3Vz
dG9tUGFzdGVib2FyZERhdGFFbmFibGVkOllFU107CisgICAgICAgIFtwcmVmZXJlbmNlcyBzZXRE
YXRhVHJhbnNmZXJJdGVtc0VuYWJsZWQ6WUVTXTsKKyAgICAgICAgW3ByZWZlcmVuY2VzIHNldERl
ZmF1bHRGaXhlZEZvbnRTaXplOjEzXTsKKyAgICAgICAgW3ByZWZlcmVuY2VzIHNldERlZmF1bHRG
b250U2l6ZToxNl07CisgICAgICAgIFtwcmVmZXJlbmNlcyBzZXREZWZhdWx0VGV4dEVuY29kaW5n
TmFtZTpAIklTTy04ODU5LTEiXTsKKyAgICAgICAgW3ByZWZlcmVuY2VzIHNldERpcmVjdG9yeVVw
bG9hZEVuYWJsZWQ6WUVTXTsKKyAgICAgICAgW3ByZWZlcmVuY2VzIHNldERvd25sb2FkQXR0cmli
dXRlRW5hYmxlZDpZRVNdOworICAgICAgICBbcHJlZmVyZW5jZXMgc2V0RWRpdGFibGVMaW5rQmVo
YXZpb3I6V2ViS2l0RWRpdGFibGVMaW5rT25seUxpdmVXaXRoU2hpZnRLZXldOworICAgICAgICBb
cHJlZmVyZW5jZXMgc2V0RW5jcnlwdGVkTWVkaWFBUElFbmFibGVkOllFU107CisgICAgICAgIFtw
cmVmZXJlbmNlcyBzZXRGYW50YXN5Rm9udEZhbWlseTpAIlBhcHlydXMiXTsKKyAgICAgICAgW3By
ZWZlcmVuY2VzIHNldEZpeGVkRm9udEZhbWlseTpAIkNvdXJpZXIiXTsKKyAgICAgICAgW3ByZWZl
cmVuY2VzIHNldEZyYW1lRmxhdHRlbmluZzpXZWJLaXRGcmFtZUZsYXR0ZW5pbmdEaXNhYmxlZF07
CisgICAgICAgIFtwcmVmZXJlbmNlcyBzZXRHYW1lcGFkc0VuYWJsZWQ6WUVTXTsKKyAgICAgICAg
W3ByZWZlcmVuY2VzIHNldEhpZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9uRW5hYmxlZDpO
T107CisgICAgICAgIFtwcmVmZXJlbmNlcyBzZXRIaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5n
RW5hYmxlZDpOT107CisgICAgICAgIFtwcmVmZXJlbmNlcyBzZXRJbnZpc2libGVBdXRvcGxheU5v
dFBlcm1pdHRlZDpOT107CisgICAgICAgIFtwcmVmZXJlbmNlcyBzZXRKYXZhRW5hYmxlZDpOT107
CisgICAgICAgIFtwcmVmZXJlbmNlcyBzZXRKYXZhU2NyaXB0UnVudGltZUZsYWdzOldlYktpdEph
dmFTY3JpcHRSdW50aW1lRmxhZ3NBbGxFbmFibGVkXTsKKyAgICAgICAgW3ByZWZlcmVuY2VzIHNl
dExhcmdlSW1hZ2VBc3luY0RlY29kaW5nRW5hYmxlZDpOT107CisgICAgICAgIFtwcmVmZXJlbmNl
cyBzZXRMaW5rUHJlbG9hZEVuYWJsZWQ6WUVTXTsKKyAgICAgICAgW3ByZWZlcmVuY2VzIHNldExv
YWRzU2l0ZUljb25zSWdub3JpbmdJbWFnZUxvYWRpbmdQcmVmZXJlbmNlOk5PXTsKKyAgICAgICAg
W3ByZWZlcmVuY2VzIHNldE1lZGlhQ2FwYWJpbGl0aWVzRW5hYmxlZDpZRVNdOworICAgICAgICBb
cHJlZmVyZW5jZXMgc2V0TWVkaWFEYXRhTG9hZHNBdXRvbWF0aWNhbGx5OllFU107CisgICAgICAg
IFtwcmVmZXJlbmNlcyBzZXRNZWRpYURldmljZXNFbmFibGVkOllFU107CisgICAgICAgIFtwcmVm
ZXJlbmNlcyBzZXRNZWRpYVBsYXliYWNrQWxsb3dzSW5saW5lOllFU107CisgICAgICAgIFtwcmVm
ZXJlbmNlcyBzZXRNZWRpYVBsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZTpOT107CisgICAgICAg
IFtwcmVmZXJlbmNlcyBzZXRNZWRpYVByZWxvYWRpbmdFbmFibGVkOllFU107CisgICAgICAgIFtw
cmVmZXJlbmNlcyBzZXRNZWRpYVNvdXJjZUVuYWJsZWQ6WUVTXTsKKyAgICAgICAgW3ByZWZlcmVu
Y2VzIHNldE1ldGFSZWZyZXNoRW5hYmxlZDpZRVNdOworICAgICAgICBbcHJlZmVyZW5jZXMgc2V0
TW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQ6WUVTXTsKKyAgICAgICAgW3ByZWZlcmVuY2VzIHNl
dE9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlRW5hYmxlZDpZRVNdOworICAgICAgICBbcHJlZmVy
ZW5jZXMgc2V0UGljdG9ncmFwaEZvbnRGYW1pbHk6QCJBcHBsZSBDb2xvciBFbW9qaSJdOworICAg
ICAgICBbcHJlZmVyZW5jZXMgc2V0U2Fuc1NlcmlmRm9udEZhbWlseTpAIkhlbHZldGljYSJdOwor
ICAgICAgICBbcHJlZmVyZW5jZXMgc2V0U2VsZWN0aW9uQWNyb3NzU2hhZG93Qm91bmRhcmllc0Vu
YWJsZWQ6WUVTXTsKKyAgICAgICAgW3ByZWZlcmVuY2VzIHNldFNlcmlmRm9udEZhbWlseTpAIlRp
bWVzIl07CisgICAgICAgIFtwcmVmZXJlbmNlcyBzZXRTb3VyY2VCdWZmZXJDaGFuZ2VUeXBlRW5h
YmxlZDpZRVNdOworICAgICAgICBbcHJlZmVyZW5jZXMgc2V0U3RhbmRhcmRGb250RmFtaWx5OkAi
VGltZXMiXTsKKyAgICAgICAgW3ByZWZlcmVuY2VzIHNldFN1YnBpeGVsQW50aWFsaWFzZWRMYXll
clRleHRFbmFibGVkOk5PXTsKKyAgICAgICAgW3ByZWZlcmVuY2VzIHNldFZpZGVvUGxheWJhY2tS
ZXF1aXJlc1VzZXJHZXN0dXJlOk5PXTsKKyAgICAgICAgW3ByZWZlcmVuY2VzIHNldFdlYkF1ZGlv
RW5hYmxlZDpZRVNdOworICAgICAgICBbcHJlZmVyZW5jZXMgc2V0V2ViU1FMRW5hYmxlZDpZRVNd
OworCisgICAgICAgIFtXZWJQcmVmZXJlbmNlcyBfY2xlYXJOZXR3b3JrTG9hZGVyU2Vzc2lvbl07
CisgICAgICAgIFtXZWJQcmVmZXJlbmNlcyBfc2V0Q3VycmVudE5ldHdvcmtMb2FkZXJTZXNzaW9u
Q29va2llQWNjZXB0UG9saWN5Ok5TSFRUUENvb2tpZUFjY2VwdFBvbGljeU9ubHlGcm9tTWFpbkRv
Y3VtZW50RG9tYWluXTsKKworCisgICAgICAgIHByZWZlcmVuY2VzLnByaXZhdGVCcm93c2luZ0Vu
YWJsZWQgPSBvcHRpb25zLnVzZUVwaGVtZXJhbFNlc3Npb24oKTsKKworICAgICAgICBmb3IgKGNv
bnN0IGF1dG8mIFtrZXksIHZhbHVlXSA6IG9wdGlvbnMuYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJl
cygpKQorICAgICAgICAgICAgW3ByZWZlcmVuY2VzIF9zZXRCb29sUHJlZmVyZW5jZUZvclRlc3Rp
bmdXaXRoVmFsdWU6dmFsdWUgZm9yS2V5OnRvTlMoV1RSOjpUZXN0T3B0aW9uczo6dG9XZWJLaXRM
ZWdhY3lQcmVmZXJlbmNlS2V5KGtleSkpLmdldCgpXTsKKworICAgICAgICBmb3IgKGNvbnN0IGF1
dG8mIFtrZXksIHZhbHVlXSA6IG9wdGlvbnMuZG91YmxlV2ViUHJlZmVyZW5jZUZlYXR1cmVzKCkp
CisgICAgICAgICAgICBbcHJlZmVyZW5jZXMgX3NldERvdWJsZVByZWZlcmVuY2VGb3JUZXN0aW5n
V2l0aFZhbHVlOnZhbHVlIGZvcktleTp0b05TKFdUUjo6VGVzdE9wdGlvbnM6OnRvV2ViS2l0TGVn
YWN5UHJlZmVyZW5jZUtleShrZXkpKS5nZXQoKV07CisKKyAgICAgICAgZm9yIChjb25zdCBhdXRv
JiBba2V5LCB2YWx1ZV0gOiBvcHRpb25zLnVpbnQzMldlYlByZWZlcmVuY2VGZWF0dXJlcygpKQor
ICAgICAgICAgICAgW3ByZWZlcmVuY2VzIF9zZXRVSW50MzJQcmVmZXJlbmNlRm9yVGVzdGluZ1dp
dGhWYWx1ZTp2YWx1ZSBmb3JLZXk6dG9OUyhXVFI6OlRlc3RPcHRpb25zOjp0b1dlYktpdExlZ2Fj
eVByZWZlcmVuY2VLZXkoa2V5KSkuZ2V0KCldOworCisgICAgICAgIGZvciAoY29uc3QgYXV0byYg
W2tleSwgdmFsdWVdIDogb3B0aW9ucy5zdHJpbmdXZWJQcmVmZXJlbmNlRmVhdHVyZXMoKSkKKyAg
ICAgICAgICAgIFtwcmVmZXJlbmNlcyBfc2V0U3RyaW5nUHJlZmVyZW5jZUZvclRlc3RpbmdXaXRo
VmFsdWU6dG9OUyh2YWx1ZSkuZ2V0KCkgZm9yS2V5OnRvTlMoV1RSOjpUZXN0T3B0aW9uczo6dG9X
ZWJLaXRMZWdhY3lQcmVmZXJlbmNlS2V5KGtleSkpLmdldCgpXTsKKyAgICB9XTsKIH0KIAogLy8g
Q2FsbGVkIG9uY2Ugb24gRHVtcFJlbmRlclRyZWUgc3RhcnR1cC4KQEAgLTE3ODUsOCArMTc4NCw4
IEBAIHN0YXRpYyB2b2lkIHJlc2V0V2ViVmlld1RvQ29uc2lzdGVudFN0YXQKIAogICAgIFtXZWJD
YWNoZSBjbGVhckNhY2hlZENyZWRlbnRpYWxzXTsKIAotICAgIHJlc2V0V2ViUHJlZmVyZW5jZXNU
b0NvbnNpc3RlbnRWYWx1ZXMod2ViVmlldy5wcmVmZXJlbmNlcyk7Ci0gICAgc2V0V2ViUHJlZmVy
ZW5jZXNGb3JUZXN0T3B0aW9ucyh3ZWJWaWV3LnByZWZlcmVuY2VzLCBvcHRpb25zKTsKKyAgICBy
ZXNldFdlYlByZWZlcmVuY2VzRm9yVGVzdE9wdGlvbnMod2ViVmlldy5wcmVmZXJlbmNlcywgb3B0
aW9ucyk7CisKICNpZiBQTEFURk9STShNQUMpCiAgICAgW3dlYlZpZXcgc2V0V2FudHNMYXllcjpv
cHRpb25zLmxheWVyQmFja2VkV2ViVmlldygpXTsKICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>422496</attachid>
            <date>2021-03-06 09:41:55 -0800</date>
            <delta_ts>2021-03-06 10:45:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218024-20210306094154.patch</filename>
            <type>text/plain</type>
            <size>15395</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3Mzk4NikKKysrIFNv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDM0IEBACisyMDIxLTAzLTA2ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAg
ICAgICBTaW1wbGlmeSBEdW1wUmVuZGVyVHJlZSBXZWJQcmVmZXJlbmNlcyByZXNldAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4MDI0CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS83MDc2NDU2OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW06CisgICAgICAg
IChXZWJQcmVmZXJlbmNlc1ByaXZhdGU6OldlYlByZWZlcmVuY2VzUHJpdmF0ZSk6CisgICAgICAg
ICgtW1dlYlByZWZlcmVuY2VzIGVuY29kZVdpdGhDb2RlcjpdKToKKyAgICAgICAgKC1bV2ViUHJl
ZmVyZW5jZXMgX3ZhbHVlRm9yS2V5Ol0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBfc2V0
U3RyaW5nVmFsdWU6Zm9yS2V5Ol0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBfc2V0U3Ry
aW5nQXJyYXlWYWx1ZUZvcktleTpmb3JLZXk6XSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2Vz
IF9zZXRJbnRlZ2VyVmFsdWU6Zm9yS2V5Ol0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBf
c2V0VW5zaWduZWRJbnRWYWx1ZTpmb3JLZXk6XSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2Vz
IF9zZXRGbG9hdFZhbHVlOmZvcktleTpdKToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgX3Nl
dEJvb2xWYWx1ZTpmb3JLZXk6XSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIF9zZXRMb25n
TG9uZ1ZhbHVlOmZvcktleTpdKToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgX3NldFVuc2ln
bmVkTG9uZ0xvbmdWYWx1ZTpmb3JLZXk6XSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIF9z
dGFydEJhdGNoaW5nVXBkYXRlc10pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBfc3RvcEJh
dGNoaW5nVXBkYXRlc10pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBfYmF0Y2hVcGRhdGVQ
cmVmZXJlbmNlc0luQmxvY2s6XSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIF9yZXNldEZv
clRlc3RpbmddKToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgX3Bvc3RQcmVmZXJlbmNlc0No
YW5nZWROb3RpZmljYXRpb25dKToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgX3Bvc3RQcmVm
ZXJlbmNlc0NoYW5nZWRBUElOb3RpZmljYXRpb25dKToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5j
ZXMgX2ludmFsaWRhdGVDYWNoZWRQcmVmZXJlbmNlc10pOgorICAgICAgICAoV2ViUHJlZmVyZW5j
ZXNQcml2YXRlOjp+V2ViUHJlZmVyZW5jZXNQcml2YXRlKTogRGVsZXRlZC4KKyAgICAgICAgKiBX
ZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAgICAgICBBZGQgbmV3IGhlbHBlcnMg
Zm9yIHRlc3RpbmcgdG8gcmVzZXQgYW5kIGJhdGNoIHVwZGF0ZXMuCisKIDIwMjEtMDMtMDUgIENo
cmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZWR1Y2UgdXNlIG9mIENG
UmV0YWluKCkgLyBDRlJlbGVhc2UoKSAvIENGQXV0b1JlbGVhc2UoKSBpbiBXZWJLaXQKSW5kZXg6
IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5t
bQkocmV2aXNpb24gMjczOTg2KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9X
ZWJQcmVmZXJlbmNlcy5tbQkod29ya2luZyBjb3B5KQpAQCAtNTQsNiArNTQsNyBAQAogI2ltcG9y
dCA8cGFsL3NwaS9jZi9DRk5ldHdvcmtTUEkuaD4KICNpbXBvcnQgPHd0Zi9Db21waWxlci5oPgog
I2ltcG9ydCA8d3RmL01haW5UaHJlYWQuaD4KKyNpbXBvcnQgPHd0Zi9PcHRpb25TZXQuaD4KICNp
bXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KICNpbXBvcnQgPHd0Zi9SdW5Mb29wLmg+CiAjaW1wb3J0
IDx3dGYvY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuaD4KQEAgLTE5MSwzNiAr
MTkyLDMyIEBAICsgKE5TU3RyaW5nICopX2NvbmNhdGVuYXRlS2V5V2l0aElCQ3JlYXQKICsgKE5T
U3RyaW5nICopX0lCQ3JlYXRvcklEOwogQGVuZAogCitlbnVtIGNsYXNzIFVwZGF0ZUFmdGVyQmF0
Y2hUeXBlIDogdWludDhfdCB7CisgICAgQVBJICAgICAgICAgPSAxIDw8IDAsCisgICAgSW50ZXJu
YWwgICAgPSAxIDw8IDEKK307CisKIHN0cnVjdCBXZWJQcmVmZXJlbmNlc1ByaXZhdGUKIHsKIHB1
YmxpYzoKICAgICBXZWJQcmVmZXJlbmNlc1ByaXZhdGUoKQotICAgIDogaW5Qcml2YXRlQnJvd3Np
bmcoTk8pCi0gICAgLCBhdXRvc2F2ZXMoTk8pCi0gICAgLCBhdXRvbWF0aWNhbGx5RGV0ZWN0c0Nh
Y2hlTW9kZWwoTk8pCi0gICAgLCBudW1XZWJWaWV3cygwKQogI2lmIFBMQVRGT1JNKElPU19GQU1J
TFkpCi0gICAgLCByZWFkV3JpdGVRdWV1ZShkaXNwYXRjaF9xdWV1ZV9jcmVhdGUoImNvbS5hcHBs
ZS5XZWJQcmVmZXJlbmNlcy5SZWFkV3JpdGVRdWV1ZSIsIERJU1BBVENIX1FVRVVFX0NPTkNVUlJF
TlQpKQorICAgICAgICA6IHJlYWRXcml0ZVF1ZXVlIHsgYWRvcHROUyhkaXNwYXRjaF9xdWV1ZV9j
cmVhdGUoImNvbS5hcHBsZS5XZWJQcmVmZXJlbmNlcy5SZWFkV3JpdGVRdWV1ZSIsIERJU1BBVENI
X1FVRVVFX0NPTkNVUlJFTlQpKSB9CiAjZW5kaWYKICAgICB7CiAgICAgfQogCiAjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKLSAgICB+V2ViUHJlZmVyZW5jZXNQcml2YXRlKCkKLSAgICB7Ci0gICAg
ICAgIGRpc3BhdGNoX3JlbGVhc2UocmVhZFdyaXRlUXVldWUpOwotICAgIH0KKyAgICBSZXRhaW5Q
dHI8ZGlzcGF0Y2hfcXVldWVfdD4gcmVhZFdyaXRlUXVldWU7CiAjZW5kaWYKLQogICAgIFJldGFp
blB0cjxOU011dGFibGVEaWN0aW9uYXJ5PiB2YWx1ZXM7Ci0gICAgQk9PTCBpblByaXZhdGVCcm93
c2luZzsKICAgICBSZXRhaW5QdHI8TlNTdHJpbmc+IGlkZW50aWZpZXI7Ci0gICAgQk9PTCBhdXRv
c2F2ZXM7Ci0gICAgQk9PTCBhdXRvbWF0aWNhbGx5RGV0ZWN0c0NhY2hlTW9kZWw7Ci0gICAgdW5z
aWduZWQgbnVtV2ViVmlld3M7Ci0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBkaXNwYXRj
aF9xdWV1ZV90IHJlYWRXcml0ZVF1ZXVlOwotI2VuZGlmCisgICAgQk9PTCBpblByaXZhdGVCcm93
c2luZyB7IE5PIH07CisgICAgQk9PTCBhdXRvc2F2ZXMgeyBOTyB9OworICAgIEJPT0wgYXV0b21h
dGljYWxseURldGVjdHNDYWNoZU1vZGVsIHsgTk8gfTsKKyAgICB1bnNpZ25lZCBudW1XZWJWaWV3
cyB7IDAgfTsKKyAgICB1bnNpZ25lZCB1cGRhdGVCYXRjaENvdW50IHsgMCB9OworICAgIE9wdGlv
blNldDxVcGRhdGVBZnRlckJhdGNoVHlwZT4gdXBkYXRlQWZ0ZXJCYXRjaFR5cGU7CiB9OwogCiAj
aWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKQEAgLTM0NSw3ICszNDIsNyBAQCAtICh2b2lkKWVuY29k
ZVdpdGhDb2RlcjooTlNDb2RlciAqKWVuY29kCiAgICAgaWYgKFtlbmNvZGVyIGFsbG93c0tleWVk
Q29kaW5nXSl7CiAgICAgICAgIFtlbmNvZGVyIGVuY29kZU9iamVjdDpfcHJpdmF0ZS0+aWRlbnRp
Zmllci5nZXQoKSBmb3JLZXk6QCJJZGVudGlmaWVyIl07CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlM
WSkKLSAgICAgICAgZGlzcGF0Y2hfc3luYyhfcHJpdmF0ZS0+cmVhZFdyaXRlUXVldWUsIF57Cisg
ICAgICAgIGRpc3BhdGNoX3N5bmMoX3ByaXZhdGUtPnJlYWRXcml0ZVF1ZXVlLmdldCgpLCBeewog
I2VuZGlmCiAgICAgICAgIFtlbmNvZGVyIGVuY29kZU9iamVjdDpfcHJpdmF0ZS0+dmFsdWVzLmdl
dCgpIGZvcktleTpAIlZhbHVlcyJdOwogICAgICAgICBMT0cgKEVuY29kaW5nLCAiSWRlbnRpZmll
ciA9ICVALCBWYWx1ZXMgPSAlQFxuIiwgX3ByaXZhdGUtPmlkZW50aWZpZXIuZ2V0KCksIF9wcml2
YXRlLT52YWx1ZXMuZ2V0KCkpOwpAQCAtMzU4LDcgKzM1NSw3IEBAIC0gKHZvaWQpZW5jb2RlV2l0
aENvZGVyOihOU0NvZGVyICopZW5jb2QKICAgICAgICAgW2VuY29kZXIgZW5jb2RlVmFsdWVPZk9i
akNUeXBlOkBlbmNvZGUoaW50KSBhdDomdmVyc2lvbl07CiAgICAgICAgIFtlbmNvZGVyIGVuY29k
ZU9iamVjdDpfcHJpdmF0ZS0+aWRlbnRpZmllci5nZXQoKV07CiAjaWYgUExBVEZPUk0oSU9TX0ZB
TUlMWSkKLSAgICAgICAgZGlzcGF0Y2hfc3luYyhfcHJpdmF0ZS0+cmVhZFdyaXRlUXVldWUsIF57
CisgICAgICAgIGRpc3BhdGNoX3N5bmMoX3ByaXZhdGUtPnJlYWRXcml0ZVF1ZXVlLmdldCgpLCBe
ewogI2VuZGlmCiAgICAgICAgIFtlbmNvZGVyIGVuY29kZU9iamVjdDpfcHJpdmF0ZS0+dmFsdWVz
LmdldCgpXTsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpAQCAtNDY3LDcgKzQ2NCw3IEBAIC0g
KGlkKV92YWx1ZUZvcktleTooTlNTdHJpbmcgKilrZXkKICAgICBOU1N0cmluZyAqX2tleSA9IEtF
WShrZXkpOwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgX19ibG9jayBpZCBvID0gbmls
OwotICAgIGRpc3BhdGNoX3N5bmMoX3ByaXZhdGUtPnJlYWRXcml0ZVF1ZXVlLCBeeworICAgIGRp
c3BhdGNoX3N5bmMoX3ByaXZhdGUtPnJlYWRXcml0ZVF1ZXVlLmdldCgpLCBeewogICAgICAgICBv
ID0gW19wcml2YXRlLT52YWx1ZXMuZ2V0KCkgb2JqZWN0Rm9yS2V5Ol9rZXldOwogICAgIH0pOwog
I2Vsc2UKQEAgLTQ5Myw3ICs0OTAsNyBAQCAtICh2b2lkKV9zZXRTdHJpbmdWYWx1ZTooTlNTdHJp
bmcgKil2YWx1CiAgICAgICAgIHJldHVybjsKICAgICBOU1N0cmluZyAqX2tleSA9IEtFWShrZXkp
OwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgZGlzcGF0Y2hfYmFycmllcl9zeW5jKF9w
cml2YXRlLT5yZWFkV3JpdGVRdWV1ZSwgXnsKKyAgICBkaXNwYXRjaF9iYXJyaWVyX3N5bmMoX3By
aXZhdGUtPnJlYWRXcml0ZVF1ZXVlLmdldCgpLCBeewogI2VuZGlmCiAgICAgW19wcml2YXRlLT52
YWx1ZXMuZ2V0KCkgc2V0T2JqZWN0OnZhbHVlIGZvcktleTpfa2V5XTsKICNpZiBQTEFURk9STShJ
T1NfRkFNSUxZKQpAQCAtNTIzLDcgKzUyMCw3IEBAIC0gKHZvaWQpX3NldFN0cmluZ0FycmF5VmFs
dWVGb3JLZXk6KE5TQXIKIHsKICAgICBOU1N0cmluZyAqX2tleSA9IEtFWShrZXkpOwogI2lmIFBM
QVRGT1JNKElPU19GQU1JTFkpCi0gICAgZGlzcGF0Y2hfYmFycmllcl9zeW5jKF9wcml2YXRlLT5y
ZWFkV3JpdGVRdWV1ZSwgXnsKKyAgICBkaXNwYXRjaF9iYXJyaWVyX3N5bmMoX3ByaXZhdGUtPnJl
YWRXcml0ZVF1ZXVlLmdldCgpLCBeewogI2VuZGlmCiAgICAgICAgIFtfcHJpdmF0ZS0+dmFsdWVz
LmdldCgpIHNldE9iamVjdDp2YWx1ZSBmb3JLZXk6X2tleV07CiAjaWYgUExBVEZPUk0oSU9TX0ZB
TUlMWSkKQEAgLTU0Niw3ICs1NDMsNyBAQCAtICh2b2lkKV9zZXRJbnRlZ2VyVmFsdWU6KGludCl2
YWx1ZSBmb3JLCiAgICAgICAgIHJldHVybjsKICAgICBOU1N0cmluZyAqX2tleSA9IEtFWShrZXkp
OwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgZGlzcGF0Y2hfYmFycmllcl9zeW5jKF9w
cml2YXRlLT5yZWFkV3JpdGVRdWV1ZSwgXnsKKyAgICBkaXNwYXRjaF9iYXJyaWVyX3N5bmMoX3By
aXZhdGUtPnJlYWRXcml0ZVF1ZXVlLmdldCgpLCBeewogI2VuZGlmCiAgICAgW19wcml2YXRlLT52
YWx1ZXMuZ2V0KCkgc2V0T2JqZWN0OkAodmFsdWUpIGZvcktleTpfa2V5XTsKICNpZiBQTEFURk9S
TShJT1NfRkFNSUxZKQpAQCAtNTY5LDcgKzU2Niw3IEBAIC0gKHZvaWQpX3NldFVuc2lnbmVkSW50
VmFsdWU6KHVuc2lnbmVkIGkKICAgICAgICAgcmV0dXJuOwogICAgIE5TU3RyaW5nICpfa2V5ID0g
S0VZKGtleSk7CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBkaXNwYXRjaF9iYXJyaWVy
X3N5bmMoX3ByaXZhdGUtPnJlYWRXcml0ZVF1ZXVlLCBeeworICAgIGRpc3BhdGNoX2JhcnJpZXJf
c3luYyhfcHJpdmF0ZS0+cmVhZFdyaXRlUXVldWUuZ2V0KCksIF57CiAjZW5kaWYKICAgICBbX3By
aXZhdGUtPnZhbHVlcy5nZXQoKSBzZXRPYmplY3Q6QCh2YWx1ZSkgZm9yS2V5Ol9rZXldOwogI2lm
IFBMQVRGT1JNKElPU19GQU1JTFkpCkBAIC01OTIsNyArNTg5LDcgQEAgLSAodm9pZClfc2V0Rmxv
YXRWYWx1ZTooZmxvYXQpdmFsdWUgZm9ySwogICAgICAgICByZXR1cm47CiAgICAgTlNTdHJpbmcg
Kl9rZXkgPSBLRVkoa2V5KTsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgIGRpc3BhdGNo
X2JhcnJpZXJfc3luYyhfcHJpdmF0ZS0+cmVhZFdyaXRlUXVldWUsIF57CisgICAgZGlzcGF0Y2hf
YmFycmllcl9zeW5jKF9wcml2YXRlLT5yZWFkV3JpdGVRdWV1ZS5nZXQoKSwgXnsKICNlbmRpZgog
ICAgIFtfcHJpdmF0ZS0+dmFsdWVzLmdldCgpIHNldE9iamVjdDpAKHZhbHVlKSBmb3JLZXk6X2tl
eV07CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKQEAgLTYxNCw3ICs2MTEsNyBAQCAtICh2b2lk
KV9zZXRCb29sVmFsdWU6KEJPT0wpdmFsdWUgZm9yS2V5CiAgICAgICAgIHJldHVybjsKICAgICBO
U1N0cmluZyAqX2tleSA9IEtFWShrZXkpOwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAg
ZGlzcGF0Y2hfYmFycmllcl9zeW5jKF9wcml2YXRlLT5yZWFkV3JpdGVRdWV1ZSwgXnsKKyAgICBk
aXNwYXRjaF9iYXJyaWVyX3N5bmMoX3ByaXZhdGUtPnJlYWRXcml0ZVF1ZXVlLmdldCgpLCBeewog
I2VuZGlmCiAgICAgW19wcml2YXRlLT52YWx1ZXMuZ2V0KCkgc2V0T2JqZWN0OkAodmFsdWUpIGZv
cktleTpfa2V5XTsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpAQCAtNjM3LDcgKzYzNCw3IEBA
IC0gKHZvaWQpX3NldExvbmdMb25nVmFsdWU6KGxvbmcgbG9uZyl2YWwKICAgICAgICAgcmV0dXJu
OwogICAgIE5TU3RyaW5nICpfa2V5ID0gS0VZKGtleSk7CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlM
WSkKLSAgICBkaXNwYXRjaF9iYXJyaWVyX3N5bmMoX3ByaXZhdGUtPnJlYWRXcml0ZVF1ZXVlLCBe
eworICAgIGRpc3BhdGNoX2JhcnJpZXJfc3luYyhfcHJpdmF0ZS0+cmVhZFdyaXRlUXVldWUuZ2V0
KCksIF57CiAjZW5kaWYKICAgICBbX3ByaXZhdGUtPnZhbHVlcy5nZXQoKSBzZXRPYmplY3Q6QCh2
YWx1ZSkgZm9yS2V5Ol9rZXldOwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkBAIC02NjAsNyAr
NjU3LDcgQEAgLSAodm9pZClfc2V0VW5zaWduZWRMb25nTG9uZ1ZhbHVlOih1bnNpZwogICAgICAg
ICByZXR1cm47CiAgICAgTlNTdHJpbmcgKl9rZXkgPSBLRVkoa2V5KTsKICNpZiBQTEFURk9STShJ
T1NfRkFNSUxZKQotICAgIGRpc3BhdGNoX2JhcnJpZXJfc3luYyhfcHJpdmF0ZS0+cmVhZFdyaXRl
UXVldWUsIF57CisgICAgZGlzcGF0Y2hfYmFycmllcl9zeW5jKF9wcml2YXRlLT5yZWFkV3JpdGVR
dWV1ZS5nZXQoKSwgXnsKICNlbmRpZgogICAgIFtfcHJpdmF0ZS0+dmFsdWVzLmdldCgpIHNldE9i
amVjdDpAKHZhbHVlKSBmb3JLZXk6X2tleV07CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKQEAg
LTE2MjAsNiArMTYxNyw0NCBAQCArICh2b2lkKV9yZW1vdmVSZWZlcmVuY2VGb3JJZGVudGlmaWVy
OihOCiAgICAgICAgIFtzZWxmIHBlcmZvcm1TZWxlY3RvcjpAc2VsZWN0b3IoX2NoZWNrTGFzdFJl
ZmVyZW5jZUZvcklkZW50aWZpZXI6KSB3aXRoT2JqZWN0OltzZWxmIF9jb25jYXRlbmF0ZUtleVdp
dGhJQkNyZWF0b3JJRDppZGVudF0gYWZ0ZXJEZWxheTowLjFdOwogfQogCistICh2b2lkKV9zdGFy
dEJhdGNoaW5nVXBkYXRlcworeworICAgIGlmICghX3ByaXZhdGUtPnVwZGF0ZUJhdGNoQ291bnQp
CisgICAgICAgIF9wcml2YXRlLT51cGRhdGVBZnRlckJhdGNoVHlwZSA9IHsgfTsKKworICAgIF9w
cml2YXRlLT51cGRhdGVCYXRjaENvdW50Kys7Cit9CisKKy0gKHZvaWQpX3N0b3BCYXRjaGluZ1Vw
ZGF0ZXMKK3sKKyAgICBBU1NFUlQoX3ByaXZhdGUtPnVwZGF0ZUJhdGNoQ291bnQgPiAwKTsKKyAg
ICBpZiAoX3ByaXZhdGUtPnVwZGF0ZUJhdGNoQ291bnQgPD0gMCkKKyAgICAgICAgTlNMb2coQCJF
UlJPUjogVW5iYWxhbmNlZCBfc3RhcnRCYXRjaGluZ1VwZGF0ZXMvX3N0b3BCYXRjaGluZ1VwZGF0
ZXMuIik7CisKKyAgICBfcHJpdmF0ZS0+dXBkYXRlQmF0Y2hDb3VudC0tOworICAgIGlmICghX3By
aXZhdGUtPnVwZGF0ZUJhdGNoQ291bnQpIHsKKyAgICAgICAgaWYgKF9wcml2YXRlLT51cGRhdGVB
ZnRlckJhdGNoVHlwZS5jb250YWlucyhVcGRhdGVBZnRlckJhdGNoVHlwZTo6SW50ZXJuYWwpKSB7
CisgICAgICAgICAgICBpZiAoX3ByaXZhdGUtPnVwZGF0ZUFmdGVyQmF0Y2hUeXBlLmNvbnRhaW5z
KFVwZGF0ZUFmdGVyQmF0Y2hUeXBlOjpBUEkpKQorICAgICAgICAgICAgICAgIFtzZWxmIF9wb3N0
UHJlZmVyZW5jZXNDaGFuZ2VkTm90aWZpY2F0aW9uXTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgICAgICBbc2VsZiBfcG9zdFByZWZlcmVuY2VzQ2hhbmdlZEFQSU5vdGlmaWNhdGlvbl07
CisgICAgICAgIH0KKyAgICB9Cit9CisKKy0gKHZvaWQpX2JhdGNoVXBkYXRlUHJlZmVyZW5jZXNJ
bkJsb2NrOih2b2lkICheKShXZWJQcmVmZXJlbmNlcyAqKSlibG9jaworeworICAgIFtzZWxmIF9z
dGFydEJhdGNoaW5nVXBkYXRlc107CisgICAgYmxvY2soc2VsZik7CisgICAgW3NlbGYgX3N0b3BC
YXRjaGluZ1VwZGF0ZXNdOworfQorCistICh2b2lkKV9yZXNldEZvclRlc3RpbmcKK3sKKyAgICBf
cHJpdmF0ZS0+dmFsdWVzID0gYWRvcHROUyhbW05TTXV0YWJsZURpY3Rpb25hcnkgYWxsb2NdIGlu
aXRdKTsKKyAgICBbc2VsZiBfcG9zdFByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbl07Cit9
CisKIC0gKHZvaWQpX3Bvc3RQcmVmZXJlbmNlc0NoYW5nZWROb3RpZmljYXRpb24KIHsKICNpZiAh
UExBVEZPUk0oSU9TX0ZBTUlMWSkKQEAgLTE2MjksNiArMTY2NCwxMSBAQCAtICh2b2lkKV9wb3N0
UHJlZmVyZW5jZXNDaGFuZ2VkTm90aWZpY2F0CiAgICAgfQogI2VuZGlmCiAKKyAgICBpZiAoX3By
aXZhdGUtPnVwZGF0ZUJhdGNoQ291bnQpIHsKKyAgICAgICAgX3ByaXZhdGUtPnVwZGF0ZUFmdGVy
QmF0Y2hUeXBlLmFkZCh7IFVwZGF0ZUFmdGVyQmF0Y2hUeXBlOjpBUEksIFVwZGF0ZUFmdGVyQmF0
Y2hUeXBlOjpJbnRlcm5hbCB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIFtbTlNO
b3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcG9zdE5vdGlmaWNhdGlvbk5hbWU6V2Vi
UHJlZmVyZW5jZXNDaGFuZ2VkSW50ZXJuYWxOb3RpZmljYXRpb24gb2JqZWN0OnNlbGYgdXNlcklu
Zm86bmlsXTsKICAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHBvc3RO
b3RpZmljYXRpb25OYW1lOldlYlByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbiBvYmplY3Q6
c2VsZiB1c2VySW5mbzpuaWxdOwogfQpAQCAtMTY0MCw2ICsxNjgwLDExIEBAIC0gKHZvaWQpX3Bv
c3RQcmVmZXJlbmNlc0NoYW5nZWRBUElOb3RpZmkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAor
ICAgIGlmIChfcHJpdmF0ZS0+dXBkYXRlQmF0Y2hDb3VudCkgeworICAgICAgICBfcHJpdmF0ZS0+
dXBkYXRlQWZ0ZXJCYXRjaFR5cGUuYWRkKHsgVXBkYXRlQWZ0ZXJCYXRjaFR5cGU6OkludGVybmFs
IH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgW1tOU05vdGlmaWNhdGlvbkNlbnRl
ciBkZWZhdWx0Q2VudGVyXSBwb3N0Tm90aWZpY2F0aW9uTmFtZTpXZWJQcmVmZXJlbmNlc0NoYW5n
ZWROb3RpZmljYXRpb24gb2JqZWN0OnNlbGYgdXNlckluZm86bmlsXTsKIH0KIApAQCAtMjIyNCw3
ICsyMjY5LDcgQEAgLSAodm9pZClzZXRQYWdlQ2FjaGVTdXBwb3J0c1BsdWdpbnM6KEJPTwogI2lm
IFBMQVRGT1JNKElPU19GQU1JTFkpCiAtICh2b2lkKV9pbnZhbGlkYXRlQ2FjaGVkUHJlZmVyZW5j
ZXMKIHsKLSAgICBkaXNwYXRjaF9iYXJyaWVyX3N5bmMoX3ByaXZhdGUtPnJlYWRXcml0ZVF1ZXVl
LCBeeworICAgIGRpc3BhdGNoX2JhcnJpZXJfc3luYyhfcHJpdmF0ZS0+cmVhZFdyaXRlUXVldWUu
Z2V0KCksIF57CiAgICAgICAgIGlmIChfcHJpdmF0ZS0+dmFsdWVzKQogICAgICAgICAgICAgX3By
aXZhdGUtPnZhbHVlcyA9IGFkb3B0TlMoW1tOU011dGFibGVEaWN0aW9uYXJ5IGFsbG9jXSBpbml0
XSk7CiAgICAgfSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlBy
ZWZlcmVuY2VzUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgJKHJldmlzaW9uIDI3Mzk4NikKKysrIFNv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTg2LDYgKzg2LDEyIEBAIGV4dGVybiBOU1N0cmluZyAqV2ViUHJlZmVy
ZW5jZXNDYWNoZU1vZGUKIAogQGludGVyZmFjZSBXZWJQcmVmZXJlbmNlcyAoV2ViUHJpdmF0ZSkK
IAorLSAodm9pZClfc3RhcnRCYXRjaGluZ1VwZGF0ZXM7CistICh2b2lkKV9zdG9wQmF0Y2hpbmdV
cGRhdGVzOworLSAodm9pZClfYmF0Y2hVcGRhdGVQcmVmZXJlbmNlc0luQmxvY2s6KHZvaWQgKF4p
KFdlYlByZWZlcmVuY2VzICopKWJsb2NrOworCistICh2b2lkKV9yZXNldEZvclRlc3Rpbmc7CisK
IC0gKHZvaWQpX3Bvc3RQcmVmZXJlbmNlc0NoYW5nZWROb3RpZmljYXRpb247CiAtICh2b2lkKV9w
b3N0UHJlZmVyZW5jZXNDaGFuZ2VkQVBJTm90aWZpY2F0aW9uOwogKyAoV2ViUHJlZmVyZW5jZXMg
KilfZ2V0SW5zdGFuY2VGb3JJZGVudGlmaWVyOihOU1N0cmluZyAqKWlkZW50aWZpZXI7CkluZGV4
OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lv
biAyNzQwMzgpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwy
NyBAQAorMjAyMS0wMy0wNiAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CisKKyAgICAg
ICAgU2ltcGxpZnkgRHVtcFJlbmRlclRyZWUgV2ViUHJlZmVyZW5jZXMgcmVzZXQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODAyNAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNzA3NjQ1Njg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVXNlIG5ldyBfYmF0Y2hVcGRhdGVQcmVmZXJlbmNlc0luQmxvY2sg
YW5kIF9yZXNldEZvclRlc3RpbmcgdG8gc2ltcGxpZnkgYW5kCisgICAgICAgIGltcHJvdmUgdGhl
IHBlcmZvcm1hbmNlIG9mIHJlc2V0dGluZyBwcmVmZXJlbmNlcy4KKyAgIAorICAgICAgICBfYmF0
Y2hVcGRhdGVQcmVmZXJlbmNlc0luQmxvY2sgbWFrZXMgaXQgc28gd2Ugb25seSB0cmlnZ2VyIHRo
ZSByZWNhbGN1bGF0aW9uCisgICAgICAgIG9mIFdlYkNvcmU6OlNldHRpbmdzIG9uY2UgcGVyIHRl
c3QsIHJhdGhlciB0aGFuIGxpbmVhcmx5IHdpdGggdGhlIG51bWJlciBvZgorICAgICAgICBzZXR0
aW5ncyB0aGF0IHdlIHJlc2V0LgorCisgICAgICAgIF9yZXNldEZvclRlc3Rpbmcgd2lsbCBhbGxv
dyB1cyB0byByZW1vdmUgZXhwbGljaXQgcmVzZXR0aW5nIG9mIHByZWZlcmVuY2VzIAorICAgICAg
ICB0aGF0IHVzZSB0aGUgZXhpc3RpbmcgZGVmYXVsdCB2YWx1ZSAodGhvdWdoIHRoaXMgY2hhbmdl
IGRvZXMgbm90IHV0aWxpemUKKyAgICAgICAgdGhhdCB5ZXQsIHRvIGxpbWl0IHRoZSBudW1iZXIg
b2YgY2hhbmdlcyBpbiB0aGlzIGNvbW1pdCkuCisgCisgICAgICAgICogRHVtcFJlbmRlclRyZWUv
bWFjL0R1bXBSZW5kZXJUcmVlLm1tOgorICAgICAgICAocmVzZXRXZWJQcmVmZXJlbmNlc1RvQ29u
c2lzdGVudFZhbHVlcyk6CisgICAgICAgIChzZXRXZWJQcmVmZXJlbmNlc0ZvclRlc3RPcHRpb25z
KToKKyAgICAgICAgKHJlc2V0V2ViVmlld1RvQ29uc2lzdGVudFN0YXRlKToKKwogMjAyMS0wMy0w
NSAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGdub21lLm9yZz4KIAogICAgICAgICBb
R1RLXSBDbGVhbiB1cCBHVEstc3BlY2lmaWMgdGV4dCBjaGVja2VyIHN0dWZmCkluZGV4OiBUb29s
cy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9v
bHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCShyZXZpc2lvbiAyNzM5ODYp
CisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0JKHdvcmtpbmcg
Y29weSkKQEAgLTg1OSw2ICs4NTksOCBAQCBzdGF0aWMgTlNTdHJpbmcgKmxpYnJhcnlQYXRoRm9y
RHVtcFJlbmRlCiAvLyBDYWxsZWQgYmVmb3JlIGVhY2ggdGVzdC4KIHN0YXRpYyB2b2lkIHJlc2V0
V2ViUHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMoV2ViUHJlZmVyZW5jZXMgKnByZWZlcmVu
Y2VzKQogeworICAgIFtwcmVmZXJlbmNlcyBfcmVzZXRGb3JUZXN0aW5nXTsKKwogICAgIGZvciAo
V2ViRmVhdHVyZSAqZmVhdHVyZSBpbiBbV2ViUHJlZmVyZW5jZXMgX2V4cGVyaW1lbnRhbEZlYXR1
cmVzXSkKICAgICAgICAgW3ByZWZlcmVuY2VzIF9zZXRFbmFibGVkOllFUyBmb3JGZWF0dXJlOmZl
YXR1cmVdOwogCkBAIC05NTAsMTQgKzk1MiwxOCBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBUIHdl
YlByZWZlcmVuY2VGZWF0CiAKIHN0YXRpYyB2b2lkIHNldFdlYlByZWZlcmVuY2VzRm9yVGVzdE9w
dGlvbnMoV2ViUHJlZmVyZW5jZXMgKnByZWZlcmVuY2VzLCBjb25zdCBXVFI6OlRlc3RPcHRpb25z
JiBvcHRpb25zKQogewotICAgIHByZWZlcmVuY2VzLnByaXZhdGVCcm93c2luZ0VuYWJsZWQgPSBv
cHRpb25zLnVzZUVwaGVtZXJhbFNlc3Npb24oKTsKKyAgICBbcHJlZmVyZW5jZXMgX2JhdGNoVXBk
YXRlUHJlZmVyZW5jZXNJbkJsb2NrOl4oV2ViUHJlZmVyZW5jZXMgKnByZWZlcmVuY2VzKSB7Cisg
ICAgICAgIHJlc2V0V2ViUHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMocHJlZmVyZW5jZXMp
OworCisgICAgICAgIHByZWZlcmVuY2VzLnByaXZhdGVCcm93c2luZ0VuYWJsZWQgPSBvcHRpb25z
LnVzZUVwaGVtZXJhbFNlc3Npb24oKTsKIAotICAgIC8vIEZJWE1FOiBSZW1vdmUgdGhlc2Ugb25j
ZSB0aGVyZSBpcyBhIHZpYWJsZSBtZWNoYW5pc20gZm9yIHJlc2V0aW5nIFdlYlByZWZlcmVuY2Vz
IGJldHdlZW4gdGVzdHMsCi0gICAgLy8gYXQgd2hpY2ggcG9pbnQsIHdlIHdpbGwgbm90IG5lZWQg
dG8gbWFudWFsbHkgcmVzZXQgZXZlcnkgc3VwcG9ydGVkIHByZWZlcmVuY2UgZm9yIGVhY2ggdGVz
dC4KLSAgICBmb3IgKGNvbnN0IGF1dG8mIGtleSA6IG9wdGlvbnMuc3VwcG9ydGVkQm9vbFdlYlBy
ZWZlcmVuY2VGZWF0dXJlcygpKQotICAgICAgICBbcHJlZmVyZW5jZXMgX3NldEJvb2xQcmVmZXJl
bmNlRm9yVGVzdGluZ1dpdGhWYWx1ZTp3ZWJQcmVmZXJlbmNlRmVhdHVyZVZhbHVlKGtleSwgb3B0
aW9ucy5ib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVzKCkpIGZvcktleTp0b05TKFdUUjo6VGVzdE9w
dGlvbnM6OnRvV2ViS2l0TGVnYWN5UHJlZmVyZW5jZUtleShrZXkpKS5nZXQoKV07Ci0gICAgZm9y
IChjb25zdCBhdXRvJiBrZXkgOiBvcHRpb25zLnN1cHBvcnRlZFVJbnQzMldlYlByZWZlcmVuY2VG
ZWF0dXJlcygpKQotICAgICAgICBbcHJlZmVyZW5jZXMgX3NldFVJbnQzMlByZWZlcmVuY2VGb3JU
ZXN0aW5nV2l0aFZhbHVlOndlYlByZWZlcmVuY2VGZWF0dXJlVmFsdWUoa2V5LCBvcHRpb25zLnVp
bnQzMldlYlByZWZlcmVuY2VGZWF0dXJlcygpKSBmb3JLZXk6dG9OUyhXVFI6OlRlc3RPcHRpb25z
Ojp0b1dlYktpdExlZ2FjeVByZWZlcmVuY2VLZXkoa2V5KSkuZ2V0KCldOworICAgICAgICAvLyBG
SVhNRTogUmVtb3ZlIHRoZXNlIG9uY2UgdGhlcmUgaXMgYSB2aWFibGUgbWVjaGFuaXNtIGZvciBy
ZXNldGluZyBXZWJQcmVmZXJlbmNlcyBiZXR3ZWVuIHRlc3RzLAorICAgICAgICAvLyBhdCB3aGlj
aCBwb2ludCwgd2Ugd2lsbCBub3QgbmVlZCB0byBtYW51YWxseSByZXNldCBldmVyeSBzdXBwb3J0
ZWQgcHJlZmVyZW5jZSBmb3IgZWFjaCB0ZXN0LgorICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGtl
eSA6IG9wdGlvbnMuc3VwcG9ydGVkQm9vbFdlYlByZWZlcmVuY2VGZWF0dXJlcygpKQorICAgICAg
ICAgICAgW3ByZWZlcmVuY2VzIF9zZXRCb29sUHJlZmVyZW5jZUZvclRlc3RpbmdXaXRoVmFsdWU6
d2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZShrZXksIG9wdGlvbnMuYm9vbFdlYlByZWZlcmVuY2VG
ZWF0dXJlcygpKSBmb3JLZXk6dG9OUyhXVFI6OlRlc3RPcHRpb25zOjp0b1dlYktpdExlZ2FjeVBy
ZWZlcmVuY2VLZXkoa2V5KSkuZ2V0KCldOworICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGtleSA6
IG9wdGlvbnMuc3VwcG9ydGVkVUludDMyV2ViUHJlZmVyZW5jZUZlYXR1cmVzKCkpCisgICAgICAg
ICAgICBbcHJlZmVyZW5jZXMgX3NldFVJbnQzMlByZWZlcmVuY2VGb3JUZXN0aW5nV2l0aFZhbHVl
OndlYlByZWZlcmVuY2VGZWF0dXJlVmFsdWUoa2V5LCBvcHRpb25zLnVpbnQzMldlYlByZWZlcmVu
Y2VGZWF0dXJlcygpKSBmb3JLZXk6dG9OUyhXVFI6OlRlc3RPcHRpb25zOjp0b1dlYktpdExlZ2Fj
eVByZWZlcmVuY2VLZXkoa2V5KSkuZ2V0KCldOworICAgIH1dOwogfQogCiAvLyBDYWxsZWQgb25j
ZSBvbiBEdW1wUmVuZGVyVHJlZSBzdGFydHVwLgpAQCAtMTgwNyw3ICsxODEzLDYgQEAgc3RhdGlj
IHZvaWQgcmVzZXRXZWJWaWV3VG9Db25zaXN0ZW50U3RhdAogCiAgICAgW1dlYkNhY2hlIGNsZWFy
Q2FjaGVkQ3JlZGVudGlhbHNdOwogCi0gICAgcmVzZXRXZWJQcmVmZXJlbmNlc1RvQ29uc2lzdGVu
dFZhbHVlcyh3ZWJWaWV3LnByZWZlcmVuY2VzKTsKICAgICBzZXRXZWJQcmVmZXJlbmNlc0ZvclRl
c3RPcHRpb25zKHdlYlZpZXcucHJlZmVyZW5jZXMsIG9wdGlvbnMpOwogI2lmIFBMQVRGT1JNKE1B
QykKICAgICBbd2ViVmlldyBzZXRXYW50c0xheWVyOm9wdGlvbnMubGF5ZXJCYWNrZWRXZWJWaWV3
KCldOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>