[M-git] Mahogany sources repository. branch master updated. v0.67-688-gdef429b

"Vadim Zeitlin" <[email protected]> Fri, 13 Sep 2013 16:06:37 +0000
Newsgroups gmane.mail.mahogany.cvs
Message-ID <[email protected]>
--===============4202019679700807843==

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Mahogany sources repository.".

The branch, master has been updated
       via  def429bacf3d73fe1f7e41995f679c6159289137 (commit)
       via  06d754c1485934bad650db66995b5328e8e9ea30 (commit)
       via  2dfe9a6e8e71fa759a50856bc592bd1c4552feb2 (commit)
       via  b785b05f5ff4f5ca81b3161fd0c35080ac703368 (commit)
       via  196f0fb4aba9a78941b38161d6dbbe2b96d4f7e2 (commit)
       via  10bacb87a1d70921b772a32d3bc95696af50f7cd (commit)
       via  516f6f9b3d8cf53f8a0be1f82cf3c2fa4404ff15 (commit)
       via  50dbb6b9a1d2ffd56dd4b5ff31fb98da11f06720 (commit)
       via  9fe00d57bfffcd6b2c1e568eb9de586b6eae637d (commit)
       via  0e1a398637e1167b34af8336a1612bf7e41dddb5 (commit)
       via  f47b5272f52484a31b6d68486ea632b8c32c160a (commit)
       via  8d2505be8699336d99a573aea355d92c7d4658e3 (commit)
       via  dcb3e5f73f32d01d4ab86e419408517d96bef757 (commit)
       via  7535db91a6511ce75171251f5edd922bf9611c0e (commit)
       via  e83b549e20f5b65af4fe2ffbf261037a488b0abf (commit)
       via  e2896ab3b99857ded76aef642d62492dcae405a3 (commit)
       via  ab2ad2ae8a508e7a69af88916c43413497c82fe4 (commit)
       via  08a1668023de69a060559b91f5065ffe218b181a (commit)
       via  4ca6fc1d9a72bf68e7a1560a462eff1e97bc9f72 (commit)
       via  ee594fd9294d8dbcd8a15bf2753ffca7119f5454 (commit)
       via  1dc9d453d11ee41c7b4b82f9afda02523d994edb (commit)
       via  522d9a973ceef3e53f30ab2e2072663bab606678 (commit)
       via  8794f02a2650a423008de84786e96ddc2897254a (commit)
       via  69395339420c0add6a742dbd4ccd37000a77d7cb (commit)
       via  cc7bf8ab2d2c95a4de90a29652f62433108dac33 (commit)
       via  0dcbcc1bb3dfa5fff5d16dcdd413bfb6edf1285c (commit)
       via  881399c3906b6edaa9cd1d48df31cdd7f4190b37 (commit)
       via  96844bdfd705219f8b98d0d1edc2a02579992cf4 (commit)
       via  ffcf49d1276fc3c3eefedbadf6859df0ee151539 (commit)
       via  e88baee9430aa7a90e1fdabbcaa43455d4dc164e (commit)
       via  973c77d0fdfd51bb7953afd8c134196ed4096d38 (commit)
       via  a9d9233f2c7d352e200e9520a12a5b8f26eeff48 (commit)
       via  a56c921674e6fa92821f679a33eb80af07ac034b (commit)
       via  c2795d7a73d5e51c1cdb5716bec09d1991cfc972 (commit)
       via  a145894b86fea033cc72513d78dff70718d3f678 (commit)
       via  49b61bc03dd8ff3415cd31b476c2a3df5e81a9a8 (commit)
       via  80156508687fd99fbb1cf9546e88858cbda1cef9 (commit)
       via  694bb62913f335bfac01a9fe810ec977c122ec53 (commit)
       via  76e260412ec4234e34b39ac20de87e736a6dd71e (commit)
       via  54e33fc59dca96c1ec707e0f4c0fa59fd8d1d9d5 (commit)
       via  643f707e8eac6c927e4c01fe081b0d89d8abdf3d (commit)
       via  3da9f358932a17f34b5869b5c93ac6fb426b20bf (commit)
      from  6712f8a8e1725f5ae33a0ac47ac2c760d82c1614 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit def429bacf3d73fe1f7e41995f679c6159289137
Author: Vadim Zeitlin <[email protected]>
Date:   Fri Sep 13 18:02:15 2013 +0200

    Fix possible crash when parsing malformed RFC 2047 header encodings.
    
    We were reading beyond the end of the string if an encoded quoted word wasn't
    correctly followed by "?=".

diff --git a/src/mail/MimeDecode.cpp b/src/mail/MimeDecode.cpp
index cc75b10..7b8ceee 100644
--- a/src/mail/MimeDecode.cpp
+++ b/src/mail/MimeDecode.cpp
@@ -211,14 +211,25 @@ String DecodeHeaderOnce(const String& in, wxFontEncoding *pEncoding)
          } enc2047 = Encoding_Unknown;
 
          ++p; // skip '?'
-         if ( *(p + 1) == '?' )
+
+         if ( p >= end - 2 )
+         {
+            wxLogDebug(wxS("Unterminated quoted word in \"%s\" ignored."), in);
+            out += wxString(encWordStart, end);
+
+            break;
+         }
+         else // We have at least 2 more characters in the string.
          {
-            if ( *p == 'B' || *p == 'b' )
-               enc2047 = Encoding_Base64;
-            else if ( *p == 'Q' || *p == 'q' )
-               enc2047 = Encoding_QuotedPrintable;
+            if ( *(p + 1) == '?' )
+            {
+               if ( *p == 'B' || *p == 'b' )
+                  enc2047 = Encoding_Base64;
+               else if ( *p == 'Q' || *p == 'q' )
+                  enc2047 = Encoding_QuotedPrintable;
+            }
+            //else: multi letter encoding unrecognized
          }
-         //else: multi letter encoding unrecognized
 
          if ( enc2047 == Encoding_Unknown )
          {

commit 06d754c1485934bad650db66995b5328e8e9ea30
Author: Vadim Zeitlin <[email protected]>
Date:   Sun Mar 31 15:29:23 2013 +0200

    Updated year in splash image too.

diff --git a/res/Msplash.png b/res/Msplash.png
index f24f219..5cf815f 100644
Binary files a/res/Msplash.png and b/res/Msplash.png differ
diff --git a/src/icons/Msplash.xcf b/src/icons/Msplash.xcf
index bd6de4d..1481e30 100644
Binary files a/src/icons/Msplash.xcf and b/src/icons/Msplash.xcf differ

commit 2dfe9a6e8e71fa759a50856bc592bd1c4552feb2
Author: Vadim Zeitlin <[email protected]>
Date:   Sun Mar 31 15:16:58 2013 +0200

    Build Windows releases with MSVS 2010.
    
    This makes it much simpler to distribute the binaries as the CRT DLLs can be
    just copied into the application directory again since VC10 (as it was the
    case with VC7 but not VC8 and VC9).

diff --git a/doc/release.txt b/doc/release.txt
index 6c2f0b4..c1a8af2 100644
--- a/doc/release.txt
+++ b/doc/release.txt
@@ -73,7 +73,7 @@ CONFIG_FLAGS to contain any extra configure arguments.
 
 d) Win32 binaries
 
-- build the project M.sln in "release with debug info" configuration
+- build the project M_vc10.sln in "Release DLL" configuration
 - save the resulting PDB and MAP files (for crash reports!)
 - build doc/HtmlHlp/Manual.chm
 - run Inno Setup on extra/setup/M.iss
diff --git a/extra/setup/M.iss b/extra/setup/M.iss
index 2ac2775..2db5642 100644
--- a/extra/setup/M.iss
+++ b/extra/setup/M.iss
@@ -24,11 +24,8 @@ DefaultGroupName=Mahogany
 AllowRootDirectory=1
 AllowNoIcons=1
 
-SourceDir=P:\Progs\M
-OutputDir=extra\setup\Output
-
-; bzip is smaller than zip even if slightly slower
-Compression=bzip/3
+SourceDir=..\..
+OutputDir=extra\setup
 
 ; TODO: use AppMutex to check whether the program is running
 
@@ -60,11 +57,19 @@ Name: "i18n"; Description: "Translations to other languages"; Types: full
 [Files]
 
 ; --- EXEs and DLLs
-Source: "ReleaseDebug\M.EXE"; DestDir: "{app}";
+Source: "Release\M.exe"; DestDir: "{app}";
 Source: "src\wx\vcard\Release\versit.dll"; DestDir: "{app}"
 
-Source: "{#env SystemRoot}\system32\msvcp71.dll"; DestDir: "{app}"
-Source: "{#env SystemRoot}\system32\msvcr71.dll"; DestDir: "{app}"
+Source: "{#env SystemRoot}\system32\msvcp100.dll"; DestDir: "{app}"
+Source: "{#env SystemRoot}\system32\msvcr100.dll"; DestDir: "{app}"
+
+Source: "{#env wxwin}\lib\vc100_dll\wxbase294u_vc100.dll"; DestDir: "{app}"
+Source: "{#env wxwin}\lib\vc100_dll\wxbase294u_net_vc100.dll"; DestDir: "{app}"
+Source: "{#env wxwin}\lib\vc100_dll\wxbase294u_xml_vc100.dll"; DestDir: "{app}"
+Source: "{#env wxwin}\lib\vc100_dll\wxmsw294u_adv_vc100.dll"; DestDir: "{app}"
+Source: "{#env wxwin}\lib\vc100_dll\wxmsw294u_core_vc100.dll"; DestDir: "{app}"
+Source: "{#env wxwin}\lib\vc100_dll\wxmsw294u_html_vc100.dll"; DestDir: "{app}"
+Source: "{#env wxwin}\lib\vc100_dll\wxmsw294u_qa_vc100.dll"; DestDir: "{app}"
 
 ; --- misc stuff
 Source: "extra\setup\autocollect.adb"; DestDir: "{userappdata}\Mahogany"; Flags: onlyifdoesntexist

commit b785b05f5ff4f5ca81b3161fd0c35080ac703368
Author: Vadim Zeitlin <[email protected]>
Date:   Sun Mar 31 15:15:54 2013 +0200

    Pre-fill Mahogany users mailing list address in autocollect address book.
    
    Also install it to the user Mahogany directory under Windows.

diff --git a/extra/setup/M.iss b/extra/setup/M.iss
index 3e0d518..2ac2775 100644
--- a/extra/setup/M.iss
+++ b/extra/setup/M.iss
@@ -67,7 +67,7 @@ Source: "{#env SystemRoot}\system32\msvcp71.dll"; DestDir: "{app}"
 Source: "{#env SystemRoot}\system32\msvcr71.dll"; DestDir: "{app}"
 
 ; --- misc stuff
-Source: "extra\setup\autocollect.adb"; DestDir: "{app}"; Flags: onlyifdoesntexist
+Source: "extra\setup\autocollect.adb"; DestDir: "{userappdata}\Mahogany"; Flags: onlyifdoesntexist
 Source: "extra\setup\Mahogany.url"; DestDir: "{app}"; Components: misc
 Source: "extra\setup\Bug.url"; DestDir: "{app}"; Components: misc
 
diff --git a/extra/setup/autocollect.adb b/extra/setup/autocollect.adb
index c663865..37e9500 100644
--- a/extra/setup/autocollect.adb
+++ b/extra/setup/autocollect.adb
@@ -1,3 +1,5 @@
 [ADB_Header]
 Description=This book is used for storing addresses automatically extracted by Mahogany
 Name=autocollect
+[ADB_Entries]
+Mahogany\ Users=Mahogany Users::::::::[email protected]

commit 196f0fb4aba9a78941b38161d6dbbe2b96d4f7e2
Author: Vadim Zeitlin <[email protected]>
Date:   Sun Mar 31 15:15:07 2013 +0200

    Replace the mention of cvs with git in release instructions.

diff --git a/doc/release.txt b/doc/release.txt
index 97effae..6c2f0b4 100644
--- a/doc/release.txt
+++ b/doc/release.txt
@@ -16,7 +16,7 @@ c) redhat/M.spec
 
 d) extra/setup/M.iss and extra/setup/{post|pre}read.txt
 
-e) "cvs rtag" the files
+e) "git tag" the files
 
 
 2. Updating the files

commit 10bacb87a1d70921b772a32d3bc95696af50f7cd
Author: Vadim Zeitlin <[email protected]>
Date:   Sun Mar 31 15:14:19 2013 +0200

    Minor roadmap updates after 0.68.
    
    Don't mention some items that are already done, postpone most of the other
    ones.

diff --git a/doc/RoadMap.txt b/doc/RoadMap.txt
index 77af8ca..a0c68b0 100644
--- a/doc/RoadMap.txt
+++ b/doc/RoadMap.txt
@@ -4,19 +4,12 @@ $Id$
 
 Here is the rough plan for the future of the M development:
 
-* 0.68:
-
-   + update to latest version of c-client and dspam (use the hash driver
-     instead of sqlite for the latter)
-
 * 0.69:
 
-   + spell checker
-   + implement smart config file synchronization: Mahogany main advantage
-     is its cross-platform nature however it's not very useful if you can't
-     keep the same (but not exactly the same!) options on all machines you use,
-     we must do something about it.
+   + Improve attachment handling UI.
 
+   + Better display of HTML messages and finer control over when to show
+     HTML and when to show text.
 
 * 0.70:
 
@@ -32,14 +25,18 @@ Here is the rough plan for the future of the M development:
         one which could be reused from other places (composer, extract
         addresses dialog, ...) and it should also support multiple selections
 
-   + store ADB on IMAP server and sync it
+   + implement smart config file synchronization: Mahogany main advantage
+     is its cross-platform nature however it's not very useful if you can't
+     keep the same (but not exactly the same!) options on all machines you use,
+     we must do something about it.
+   + also store address books on IMAP server and sync them
    + and/or LDAP support
 
 * 0.75:
 
-   + support for encrypting/signing messages with PGP
+   + support for encrypting (and not only signing) messages with PGP
 
-   + add "Server" entiry: i.e. each remote folder has an associated server
+   + add "Server" entry: i.e. each remote folder has an associated server
      and the servers can be configured in their own dialog. This should include
      IMAP, POP, NNTP but also SMTP
 

commit 516f6f9b3d8cf53f8a0be1f82cf3c2fa4404ff15
Author: Vadim Zeitlin <[email protected]>
Date:   Sun Mar 31 15:13:21 2013 +0200

    Updated the year to 2013 in user-visible places.

diff --git a/doc/HtmlHlp/Manual.html b/doc/HtmlHlp/Manual.html
index 158b94a..c90969a 100644
--- a/doc/HtmlHlp/Manual.html
+++ b/doc/HtmlHlp/Manual.html
@@ -36,7 +36,7 @@ Version 0.68 ``Cynthia''">
 <BR><BIG CLASS="XLARGE">Version 0.68 ``Cynthia''</BIG></H1>
 <DIV CLASS="author_info">
 
-<P ALIGN="CENTER"><STRONG>Copyright 1997-2012 by The Mahogany Development Team</STRONG></P>
+<P ALIGN="CENTER"><STRONG>Copyright 1997-2013 by The Mahogany Development Team</STRONG></P>
 </DIV>
 
 <P>
diff --git a/doc/Manual.htex b/doc/Manual.htex
index 1cd092c..9e95392 100644
--- a/doc/Manual.htex
+++ b/doc/Manual.htex
@@ -35,7 +35,7 @@
 \vfill{}
 
 
-\author{Copyright 1997-2012 by The Mahogany Development Team\\
+\author{Copyright 1997-2013 by The Mahogany Development Team\\
 \vspace{1cm}
 \mailtolink{[email protected]} \\
 \vspace{1cm}
diff --git a/extra/setup/M.iss b/extra/setup/M.iss
index 350ad17..3e0d518 100644
--- a/extra/setup/M.iss
+++ b/extra/setup/M.iss
@@ -41,7 +41,7 @@ AppVersion=0.68.0
 
 ; hmm... what's RGB value of mahogany?
 BackColor=$037ebd
-AppCopyright=Copyright © 1997-2006 Vadim Zeitlin and Karsten Ballüder
+AppCopyright=Copyright © 1997-2013 Vadim Zeitlin and Karsten Ballüder
 WizardImageFile=res\wizard.bmp
 WizardSmallImageFile=res\install_small.bmp
 

commit 50dbb6b9a1d2ffd56dd4b5ff31fb98da11f06720
Author: Vadim Zeitlin <[email protected]>
Date:   Sun Mar 31 15:00:18 2013 +0200

    Update versions in the user-visible files to 0.68.
    
    No real changes, just synchronize the versions everywhere.

diff --git a/README b/README
index 14990d2..0e577c6 100644
--- a/README
+++ b/README
@@ -1,5 +1,5 @@
 ====================================================================
-README file for Mahogany 0.67 "Constance"
+README file for Mahogany 0.68 "Cynthia"
 ====================================================================
 
 Welcome to Mahogany and thank you for using it!
diff --git a/doc/relnotes.txt b/doc/relnotes.txt
index 03056a6..4f51343 100644
--- a/doc/relnotes.txt
+++ b/doc/relnotes.txt
@@ -1,4 +1,4 @@
-Release notes for Mahogany 0.67
+Release notes for Mahogany 0.68
 =====================================================================
 
 0. General
@@ -24,7 +24,7 @@ to /etc/apt/sources.list file of your Ubuntu system to be able to
 
 
  For the other systems, please build the program from sources yourself as
-described in the INSTALL file. . If you are going to do this, you may need to
+described in the INSTALL file. If you are going to do this, you may need to
 download the prebuilt Mdocs.tar.gz file if your system doesn't have all the
 tools needed to build the documentation (LaTeX, makeindex, dvips, ps2pdf
 and latex2html).
diff --git a/extra/setup/M.iss b/extra/setup/M.iss
index ba3e114..350ad17 100644
--- a/extra/setup/M.iss
+++ b/extra/setup/M.iss
@@ -15,10 +15,10 @@
 [Setup]
 ; --- app info
 AppName=Mahogany
-AppVerName=Mahogany 0.67 "Constance"
+AppVerName=Mahogany 0.68 "Cynthia"
 
 ; --- setup compiler params
-OutputBaseFilename=Mahogany-0.67.0
+OutputBaseFilename=Mahogany-0.68.0
 DefaultDirName={pf}\Mahogany
 DefaultGroupName=Mahogany
 AllowRootDirectory=1
@@ -35,7 +35,7 @@ Compression=bzip/3
 ; --- app publisher info (for W2K only)
 AppPublisher=Mahogany Dev-Team
 AppPublisherURL=http://mahogany.sourceforge.net/
-AppVersion=0.67.0
+AppVersion=0.68.0
 
 ; --- appearance parameters
 
diff --git a/extra/setup/preread.txt b/extra/setup/preread.txt
index 18356a3..de0e061 100644
--- a/extra/setup/preread.txt
+++ b/extra/setup/preread.txt
@@ -1,6 +1,6 @@
                                         *** WARNING ***
 
- This is the 0.67 alpha version of the Mahogany e-mail client. "Alpha" means
+ This is the 0.68 alpha version of the Mahogany e-mail client. "Alpha" means
 that many of the features which the finished product will have are still
 lacking and that you may (and probably will) find bugs in it. However even in
 its current state Mahogany is already very useful to us and we hope it will

commit 9fe00d57bfffcd6b2c1e568eb9de586b6eae637d
Author: Vadim Zeitlin <[email protected]>
Date:   Sun Mar 31 14:55:40 2013 +0200

    Fix fatal crash due to c-client reentrancy when reading messages.
    
    If the mail collection timer expired at exactly the same time when we were
    deleting the progress dialog used for showing the progress of receiving big
    messages data, we could crash because of c-client reentrancy. Fix this by
    preventing background processing during the dialog deletion.

diff --git a/src/mail/MailFolderCC.cpp b/src/mail/MailFolderCC.cpp
index 1b82b98..ede439b 100644
--- a/src/mail/MailFolderCC.cpp
+++ b/src/mail/MailFolderCC.cpp
@@ -5740,6 +5740,10 @@ void MailFolderCC::EndReading()
 #ifdef USE_READ_PROGRESS
    if ( gs_readProgressInfo )
    {
+      // Ensure that no calls to c-client are done from inside wxProgressDialog
+      // dtor (which calls wxYield and so could dispatch a timer event).
+      MAppCriticalSection cs;
+
       delete gs_readProgressInfo;
       gs_readProgressInfo = NULL;
    }

commit 0e1a398637e1167b34af8336a1612bf7e41dddb5
Author: Vadim Zeitlin <[email protected]>
Date:   Sun Mar 31 14:54:35 2013 +0200

    Fix asserts due to the use of invalid fonts in HTML viewer.
    
    Don't change the font style/weight if we don't have a valid font, this results
    in asserts from wxFont::GetWeight().

diff --git a/src/modules/HtmlViewer.cpp b/src/modules/HtmlViewer.cpp
index 647e3eb..dc5a899 100644
--- a/src/modules/HtmlViewer.cpp
+++ b/src/modules/HtmlViewer.cpp
@@ -368,16 +368,19 @@ public:
       : m_changerWeight(str),
         m_changerSlant(str)
    {
-      // the order is important:should be the reverse of the order of
-      // destruction of the subobjects
-      if ( font.GetStyle() == wxFONTSTYLE_ITALIC )
+      if ( font.IsOk() )
       {
-         m_changerSlant.DoChange(_T("<i>"), _T("</i>"));
-      }
+         // the order is important: should be the reverse of the order of
+         // destruction of the subobjects
+         if ( font.GetStyle() == wxFONTSTYLE_ITALIC )
+         {
+            m_changerSlant.DoChange(_T("<i>"), _T("</i>"));
+         }
 
-      if ( font.GetWeight() == wxFONTWEIGHT_BOLD )
-      {
-         m_changerWeight.DoChange(_T("<b>"), _T("</b>"));
+         if ( font.GetWeight() == wxFONTWEIGHT_BOLD )
+         {
+            m_changerWeight.DoChange(_T("<b>"), _T("</b>"));
+         }
       }
    }
 

commit f47b5272f52484a31b6d68486ea632b8c32c160a
Author: Vadim Zeitlin <[email protected]>
Date:   Fri Nov 2 22:14:03 2012 +0100

    Fix closing of log window on shutdown with latest wxWidgets.
    
    Don't ask the user anything if the log window is being closed during
    application shutdown (as opposed to being closed because the user explicitly
    chose to do it).
    
    This fixes exit since wxWidgets r72749.

diff --git a/src/gui/wxMApp.cpp b/src/gui/wxMApp.cpp
index f433105..d0b8d75 100644
--- a/src/gui/wxMApp.cpp
+++ b/src/gui/wxMApp.cpp
@@ -395,6 +395,11 @@ bool wxMLogWindow::IsShown() const
 
 bool wxMLogWindow::OnFrameClose(wxFrame *frame)
 {
+   // Don't ask the user anything if the window is being closed during
+   // application shutdown, just exit.
+   if ( mApplication->IsShuttingDown() )
+      return true;
+
    switch ( MDialog_YesNoCancel
             (
                _("Would you like to close the log window only for the rest "

commit 8d2505be8699336d99a573aea355d92c7d4658e3
Author: Vadim Zeitlin <[email protected]>
Date:   Sat Sep 1 17:04:17 2012 +0200

    Fix another use of wxString for storing UTF-8 byte data in filter code.
    
    Presence of non-ASCII characters in filter rules arguments could still provoke
    an assert because we appended individual bytes to wxString. Use std::string
    for this now and only convert to wxString when the entire string is ready.

diff --git a/src/modules/Filters.cpp b/src/modules/Filters.cpp
index 6dc92cb..c86e0ee 100644
--- a/src/modules/Filters.cpp
+++ b/src/modules/Filters.cpp
@@ -145,12 +145,12 @@ public:
       { m_type = TT_Char; m_number = (unsigned)c; }
    void SetOperator(OperatorType oper)
       { m_type = TT_Operator; m_number = oper; }
-   void SetString(String const &s)
-      { m_type = TT_String; m_string = s; }
+   void SetString(std::string const &s)
+      { m_type = TT_String; m_string = wxString::FromUTF8(s.c_str()); }
    void SetNumber(long n)
       { m_type = TT_Number; m_number = n; }
-   void SetIdentifier(String const &s)
-      { m_type = TT_Identifier; m_string = s; }
+   void SetIdentifier(std::string const &s)
+      { m_type = TT_Identifier; m_string = wxString::FromUTF8(s.c_str()); }
    void SetEOF(void)
       { m_type = TT_EOF; }
    void SetInvalid(void)
@@ -1100,7 +1100,7 @@ FilterRuleImpl::Rewind(size_t pos)
    EatWhiteSpace();
    pos = m_Position;
 
-   String tokstr;
+   std::string tokstr;
    if(! Char())
    {
       token.SetEOF();

commit dcb3e5f73f32d01d4ab86e419408517d96bef757
Author: Vadim Zeitlin <[email protected]>
Date:   Mon Aug 20 01:19:12 2012 +0200

    Ensure that CRLF is used for Windows README file.
    
    Otherwise it's not shown correctly by notepad at the end of the installaton
    process.

diff --git a/doc/.gitattributes b/doc/.gitattributes
new file mode 100644
index 0000000..df269dc
--- /dev/null
+++ b/doc/.gitattributes
@@ -0,0 +1 @@
+readme_win.txt	eol=crlf

commit 7535db91a6511ce75171251f5edd922bf9611c0e
Author: Vadim Zeitlin <[email protected]>
Date:   Mon Aug 20 01:17:27 2012 +0200

    Update Window README file to 0.68.
    
    Mention XP or later requirement.

diff --git a/doc/readme_win.txt b/doc/readme_win.txt
index 0135d78..d4dd954 100644
--- a/doc/readme_win.txt
+++ b/doc/readme_win.txt
@@ -1,14 +1,12 @@
 File: readme_win.txt, the README file for MS Windows version
-Date: August 1, 2006
-Version: the information in this file applies to version 0.67
+Date: August 20, 2012
+Version: the information in this file applies to version 0.68
 
 0. Requirements
 --------------
 
- a) Any Win32 OS: Mahogany should work on all Win32 systems, i.e.
-    Windows 95/98/ME/NT 4/2000/XP but SSL/TLS might be not supoprted
-    on older systems without Internet Explorer. Mahogany does not
-    run under Windows 3.1.
+ a) Windows XP or later. Mahogany doesn't run under previous Windows
+    versions.
 
  b) You need a POP3 or IMAP4 (recommended, especially for slow
     connection!) server to read e-mail and an SMTP server to send
@@ -17,9 +15,9 @@ Version: the information in this file applies to version 0.67
     if you want to try it out.
 
  c) If you plan to use Python scripting with Mahogany, you need to
-    have Python installed on your system. All Python versions are
-    normally supported but the latest, 2.4.3, is recommended. Please
-    get it from http://www.python.org/.
+    have Python installed on your system. All Python 2 versions are
+    normally supported but 2.6 or 2.7 is recommended. Please get it from
+    http://www.python.org/.
 
 1. Installation
 ---------------

commit e83b549e20f5b65af4fe2ffbf261037a488b0abf
Author: Vadim Zeitlin <[email protected]>
Date:   Mon Aug 20 01:13:40 2012 +0200

    Removed some extremely old (1998) and obsolete README files.

diff --git a/doc/README.lyx b/doc/README.lyx
deleted file mode 100644
index 5109c63..0000000
--- a/doc/README.lyx
+++ /dev/null
@@ -1,316 +0,0 @@
-#This file was created by <karsten> Sun Nov 22 18:21:22 1998
-#LyX 1.0 (C) 1995-1998 Matthias Ettrich and the LyX Team
-\lyxformat 2.15
-\textclass article
-\language english
-\inputencoding default
-\fontscheme palatino
-\graphics default
-\paperfontsize 12
-\spacing single 
-\papersize Default
-\paperpackage a4
-\use_geometry 0
-\use_amsmath 0
-\paperorientation portrait
-\secnumdepth 3
-\tocdepth 3
-\paragraph_separation indent
-\defskip medskip
-\quotes_language english
-\quotes_times 2
-\papercolumns 1
-\papersides 1
-\paperpagestyle default
-
-\layout Title
-
-
-\shape slanted 
-M
-\shape default 
- - README
-\layout Author
-
-Karsten Ballüder 
-\backslash 
-
-\backslash 
-(
-\family typewriter 
[email protected]
-\family default 
-)
-\backslash 
-
-\backslash 
-Contact us: 
-\family typewriter 
[email protected]
-\layout Abstract
-
-These are the release notes for M.
- Some more detailed information on how to compile, install und use it are
- in the Information files.
-\layout Abstract
-
-This information relates to the first public alpha release, 17.
- August 1998.
-\layout Section
-
-WARNING - this is (pre-?)alpha
-\layout Standard
-
-When you do a large free software project, you have two choices: either
- continue hacking without releases and risk to never get it finished, or
- set yourself a release date, no matter what the situation is.
- As we got several requests from people who want to play with it, we decided
- on a release date and did our best to get it into a working shape.
- BUT THIS SOFTWARE IS STILL UNDER DEVELOPMENT! This means
-\layout Itemize
-
-it is incomplete and awkward to use
-\layout Itemize
-
-it may crash occasionally or often or be completely unusable - 
-\shape italic 
-Use it at your own risk!
-\layout Standard
-
-M is not ready for the end user yet, but we present it in its current state
- to give you an impression of what it is going to be.
- We also hope to attract a bit of attention and maybe even some outside
- help for it.
-\layout Section
-
-Which features are implemented?
-\layout Standard
-
-Quite some already, but more are still missing.
- What we have so far:
-\layout Itemize
-
-Cross-platform.
- M compiles on a variety of Unix systems and on Microsoft Windows.
- Use one mail client, no matter what system you use.
- The source and binary for Windows 95/98/NT are available on request (
-\family typewriter 
[email protected]
-\family default 
-).
- Mailbox file formats are the same on both platforms.
-\layout Itemize
-
-Based on the c-client library from the University of Washington, therefore
- full access to a wide range of protocols and file formats, including SMTP,
- MAP, POP3, NNTP and several mailbox formats.
-\layout Itemize
-
-Wide (extreme?) user configurability.
- Whatever makes sense to override or change, can be changed by the user.
- Configuration supports several configuration files on Unix, with special
- administrator support for making entries immutable, and the registry on
- Windows.
-\layout Itemize
-
-Scriptable and extendable.
- M includes an embedded Python interpreter with full access to its object
- hierarchy.
- Write object-oriented scripts to extend and control M.
-\layout Itemize
-
-Easy MIME support.
- Text and other content can be freely mixed and different filetypes are
- represented by icons.
-\layout Itemize
-
-Inline displaying of images, clickable URLs, XFace support.
-\layout Itemize
-
-Multiple mail folders.
-\layout Itemize
-
-Powerful address database and contact manager 
-\layout Itemize
-
-Printing of nicely formatted messages.
-\layout Itemize
-
-Full internationalisation support, M speaks multiple languages, but no translati
-ons yet.
-\layout Section
-
-Known bugs
-\layout Itemize
-
-Folder creation dialog doesn't work properly.
- See Information file for how to setup new mail folders.
-\layout Itemize
-
-Selection in the folder view sometimes behaves strange, selecting all messages
- doesn't work.
-\layout Itemize
-
-Message and composition view don't automatically scroll to the cursor.
-\layout Itemize
-
-Tab traversal in dialogs doesn't work (wxGTK problem).
-\layout Section
-
-TODO, features to implement
-\layout Standard
-
-This is a list of features on our TODO list that we are currently working
- on.
- Before adding new features, we'll clean up a few things:
-\layout Itemize
-
-First comes a rewrite of the class hierarchy.
- For better modularisation and CORBA support (Python will profit from this,
- too.), we will clean up header files and remove some interdependencies.
- GUI and non-GUI code will be better separated, class implementations and
- interface definitions will be sorted out more clearly.
- This includes a common base object with reference couting.
-\layout Itemize
-
-Plug the (apparently very few remaining) memory holes.
-\layout Standard
-
-Then we fix some GUI issues.
- Many of these depend on wxGTK which is still evolving speedily.
- 
-\layout Itemize
-
-add keyboard accelerators and proper tab traversal
-\layout Itemize
-
-add a context sensitive help system
-\layout Itemize
-
-add more dialogs and a tree control for folder selection
-\layout Standard
-
-After that we reach the list of serious improvements:
-\layout Itemize
-
-Better Python support.
- We have some callbacks in place, but after the class hierarchy rewrite
- we have to generate new interface files for the complete class hierarchy.
- Also by this time wxPython might be integrated, so we can actually write
- some of the configuration dialogs in python which should speed things up.
- 
-\shape italic 
-Help welcome.
-\layout Itemize
-
-Full Drag and Drop interaction with filemanagers of Windows and Gnome (will
- be added real soon, easy).
-\layout Itemize
-
-Easy to use filtering system for mails.
-\layout Itemize
-
-Support for V-cards.
-\layout Itemize
-
-Nested mail folder hierarchy.
-\layout Itemize
-
-Spam-Ex spam fighting/auto-complaint function.
-\layout Itemize
-
-Richt-text editing and HTML mail support
-\layout Itemize
-
-Support for PGP and GNU Privacy Guard to encrypt mails.
-\layout Itemize
-
-Threading of messages and proper usenet news support.
-\layout Itemize
-
-Compression of mail folders.
-\layout Itemize
-
-Delay-Folder to keep mails and re-present them at a later date.
-\layout Itemize
-
-Context sensitive help system (HTML based).
-\layout Itemize
-
-Translations to German, French and Italian.
-\layout Itemize
-
-Wide character (Unicode) support and other character sets.
-\layout Itemize
-
-Import, export and synchronisation with other programs' address databases.
-\layout Itemize
-
-Voice mail.
-\layout Itemize
-
-More Python support through wxPython.
-\layout Itemize
-
-Support for Drag and Drop interaction with KDE, once that wxQt is available.
-\layout Itemize
-
-CORBA support, possible cooperation with PINN project.
-\layout Itemize
-
-Address datbase synchronisation with PDA's (Just got one...)
-\layout Itemize
-
-ANY OTHER SUGGESTION
-\layout Subsection
-
-Help Needed
-\layout Standard
-
-As you can see, we have big plans for M.
- To achieve all this, we need some help.
- Areas where we would use some help are
-\layout Itemize
-
-Python 
-\layout Itemize
-
-support for further mail protocols, LDAP
-\layout Itemize
-
-The wxQt project, a port of wxWindows to the Qt toolkit, will also be happy
- for any help.
- We are not directly involved in this, but being involved with wxWindows,
- we are happy to support that port.
-\layout Itemize
-
-If you have access to other systems apart from Linux/Solaris/Windows, you
- are very welcome to help us port M to those platforms, or to other hardware
- than Intel.
-\layout Section
-
-Online resources
-\layout Itemize
-
-M has a homepage at 
-\family typewriter 
-http://mahogany.sourceforge.net/
-\family default 
- 
-\layout Itemize
-
-The wxWindows homepage is 
-\family typewriter 
-http://www.wxwindows.org/
-\layout Itemize
-
-wxGTK, the GTK port of wxWindows, is available from 
-\family typewriter 
-http://www.wxwindows.org/dl_gtk.htm
-\layout Section
-
-FAQ
-\layout Standard
-
-There will be some after this release - surely.
-\the_end
diff --git a/doc/README.tex b/doc/README.tex
deleted file mode 100644
index bdcee5b..0000000
--- a/doc/README.tex
+++ /dev/null
@@ -1,174 +0,0 @@
-%% This LaTeX-file was created by <karsten> Sun Nov 22 20:19:05 1998
-%% LyX 1.0 (C) 1995-1998 by Matthias Ettrich and the LyX Team
-
-%% Do not edit this file unless you know what you are doing.
-\documentclass[12pt,english]{article}
-\usepackage[T1]{fontenc}
-\usepackage{palatino}
-\usepackage{babel}
-
-\makeatletter
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands.
-\newcommand{\LyX}{L\kern-.1667em\lower.25em\hbox{Y}\kern-.125emX\spacefactor1000}
-
-\makeatother
-
-\begin{document}
-
-
-\title{\textsl{M} - README}
-
-
-\author{Karsten Ballüder \char`\\{}\char`\\{}(\texttt{[email protected]})\char`\\{}\char`\\{}Contact
-us: \texttt{[email protected]}}
-
-\maketitle
-\begin{abstract}
-These are the release notes for M. Some more detailed information on how to
-compile, install und use it are in the Information files.
-
-This information relates to the first public alpha release, 17. August 1998.
-\end{abstract}
-
-\section{WARNING - this is (pre-?)alpha}
-
-When you do a large free software project, you have two choices: either continue
-hacking without releases and risk to never get it finished, or set yourself
-a release date, no matter what the situation is. As we got several requests
-from people who want to play with it, we decided on a release date and did our
-best to get it into a working shape. BUT THIS SOFTWARE IS STILL UNDER DEVELOPMENT!
-This means
-
-\begin{itemize}
-\item it is incomplete and awkward to use
-\item it may crash occasionally or often or be completely unusable - \textit{Use it
-at your own risk!}
-\end{itemize}
-M is not ready for the end user yet, but we present it in its current state
-to give you an impression of what it is going to be. We also hope to attract
-a bit of attention and maybe even some outside help for it.
-
-
-\section{Which features are implemented?}
-
-Quite some already, but more are still missing. What we have so far:
-
-\begin{itemize}
-\item Cross-platform. M compiles on a variety of Unix systems and on Microsoft Windows.
-Use one mail client, no matter what system you use. The source and binary for
-Windows 95/98/NT are available on request (\texttt{[email protected]}).
-Mailbox file formats are the same on both platforms.
-\item Based on the c-client library from the University of Washington, therefore full
-access to a wide range of protocols and file formats, including SMTP, MAP, POP3,
-NNTP and several mailbox formats.
-\item Wide (extreme?) user configurability. Whatever makes sense to override or change,
-can be changed by the user. Configuration supports several configuration files
-on Unix, with special administrator support for making entries immutable, and
-the registry on Windows.
-\item Scriptable and extendable. M includes an embedded Python interpreter with full
-access to its object hierarchy. Write object-oriented scripts to extend and
-control M.
-\item Easy MIME support. Text and other content can be freely mixed and different
-filetypes are represented by icons.
-\item Inline displaying of images, clickable URLs, XFace support.
-\item Multiple mail folders.
-\item Powerful address database and contact manager 
-\item Printing of nicely formatted messages.
-\item Full internationalisation support, M speaks multiple languages, but no translations
-yet.
-\end{itemize}
-
-\section{Known bugs}
-
-\begin{itemize}
-\item Folder creation dialog doesn't work properly. See Information file for how to
-setup new mail folders.
-\item Selection in the folder view sometimes behaves strange, selecting all messages
-doesn't work.
-\item Message and composition view don't automatically scroll to the cursor.
-\item Tab traversal in dialogs doesn't work (wxGTK problem).
-\end{itemize}
-
-\section{TODO, features to implement}
-
-This is a list of features on our TODO list that we are currently working on.
-Before adding new features, we'll clean up a few things:
-
-\begin{itemize}
-\item First comes a rewrite of the class hierarchy. For better modularisation and
-CORBA support (Python will profit from this, too.), we will clean up header
-files and remove some interdependencies. GUI and non-GUI code will be better
-separated, class implementations and interface definitions will be sorted out
-more clearly. This includes a common base object with reference couting.
-\item Plug the (apparently very few remaining) memory holes.
-\end{itemize}
-Then we fix some GUI issues. Many of these depend on wxGTK which is still evolving
-speedily. 
-
-\begin{itemize}
-\item add keyboard accelerators and proper tab traversal
-\item add a context sensitive help system
-\item add more dialogs and a tree control for folder selection
-\end{itemize}
-After that we reach the list of serious improvements:
-
-\begin{itemize}
-\item Better Python support. We have some callbacks in place, but after the class
-hierarchy rewrite we have to generate new interface files for the complete class
-hierarchy. Also by this time wxPython might be integrated, so we can actually
-write some of the configuration dialogs in python which should speed things
-up. \textit{Help welcome.}
-\item Full Drag and Drop interaction with filemanagers of Windows and Gnome (will
-be added real soon, easy).
-\item Easy to use filtering system for mails.
-\item Support for V-cards.
-\item Nested mail folder hierarchy.
-\item Spam-Ex spam fighting/auto-complaint function.
-\item Richt-text editing and HTML mail support
-\item Support for PGP and GNU Privacy Guard to encrypt mails.
-\item Threading of messages and proper usenet news support.
-\item Compression of mail folders.
-\item Delay-Folder to keep mails and re-present them at a later date.
-\item Context sensitive help system (HTML based).
-\item Translations to German, French and Italian.
-\item Wide character (Unicode) support and other character sets.
-\item Import, export and synchronisation with other programs' address databases.
-\item Voice mail.
-\item More Python support through wxPython.
-\item Support for Drag and Drop interaction with KDE, once that wxQt is available.
-\item CORBA support, possible cooperation with PINN project.
-\item Address datbase synchronisation with PDA's (Just got one...)
-\item ANY OTHER SUGGESTION
-\end{itemize}
-
-\subsection{Help Needed}
-
-As you can see, we have big plans for M. To achieve all this, we need some help.
-Areas where we would use some help are
-
-\begin{itemize}
-\item Python 
-\item support for further mail protocols, LDAP
-\item The wxQt project, a port of wxWindows to the Qt toolkit, will also be happy
-for any help. We are not directly involved in this, but being involved with
-wxWindows, we are happy to support that port.
-\item If you have access to other systems apart from Linux/Solaris/Windows, you are
-very welcome to help us port M to those platforms, or to other hardware than
-Intel.
-\end{itemize}
-
-\section{Online resources}
-
-\begin{itemize}
-\item M has a homepage at \texttt{http://mahogany.sourceforge.net/} 
-\item The wxWindows homepage is \texttt{http://www.wxwindows.org/}
-\item wxGTK, the GTK port of wxWindows, is available from \texttt{http://www.wxwindows.org/dl_gtk.htm}
-\end{itemize}
-
-\section{FAQ}
-
-There will be some after this release - surely.
-
-\end{document}

commit e2896ab3b99857ded76aef642d62492dcae405a3
Author: Vadim Zeitlin <[email protected]>
Date:   Mon Aug 20 00:53:07 2012 +0200

    Don't copy config_nt.h file if its destination already exists.
    
    Attempt to reduce spurious rebuilds with VC10 and 11.

diff --git a/Mconfig.vcxproj b/Mconfig.vcxproj
index 214d4d0..e8e6347 100644
--- a/Mconfig.vcxproj
+++ b/Mconfig.vcxproj
@@ -110,21 +110,21 @@
   <ItemGroup>

     <CustomBuild Include="include\config_nt.h">

       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Copying %(FullPath) to config.h...</Message>

-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" "%(RootDir)%(Directory)"config.h

+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">if not exist "%(RootDir)%(Directory)"config.h copy "%(FullPath)" "%(RootDir)%(Directory)"config.h

 </Command>

-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(RootDir)%(Directory)config.h;%(Outputs)</Outputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(RootDir)%(Directory)config.h</Outputs>

       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Copying %(FullPath) to config.h...</Message>

-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" "%(RootDir)%(Directory)"config.h

+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">if not exist "%(RootDir)%(Directory)"config.h copy "%(FullPath)" "%(RootDir)%(Directory)"config.h

 </Command>

-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(RootDir)%(Directory)config.h;%(Outputs)</Outputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(RootDir)%(Directory)config.h</Outputs>

       <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Copying %(FullPath) to config.h...</Message>

-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" "%(RootDir)%(Directory)"config.h

+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">if not exist "%(RootDir)%(Directory)"config.h copy "%(FullPath)" "%(RootDir)%(Directory)"config.h

 </Command>

-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(RootDir)%(Directory)config.h;%(Outputs)</Outputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(RootDir)%(Directory)config.h</Outputs>

       <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Copying %(FullPath) to config.h...</Message>

-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" "%(RootDir)%(Directory)"config.h

+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">if not exist "%(RootDir)%(Directory)"config.h copy "%(FullPath)" "%(RootDir)%(Directory)"config.h

 </Command>

-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(RootDir)%(Directory)config.h;%(Outputs)</Outputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(RootDir)%(Directory)config.h</Outputs>

     </CustomBuild>

   </ItemGroup>

   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />


commit ab2ad2ae8a508e7a69af88916c43413497c82fe4
Author: Vadim Zeitlin <[email protected]>
Date:   Mon Aug 20 00:52:48 2012 +0200

    Update CHM help file after the manual changes.

diff --git a/doc/HtmlHlp/Manual.chm b/doc/HtmlHlp/Manual.chm
index 5b36813..dc03e63 100644
Binary files a/doc/HtmlHlp/Manual.chm and b/doc/HtmlHlp/Manual.chm differ
diff --git a/doc/HtmlHlp/Manual.html b/doc/HtmlHlp/Manual.html
index bfffc07..158b94a 100644
--- a/doc/HtmlHlp/Manual.html
+++ b/doc/HtmlHlp/Manual.html
@@ -1,6 +1,6 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 
-<!--Converted with LaTeX2HTML 2002-2-1 (1.71)
+<!--Converted with LaTeX2HTML 2008 (1.71)
 original version by:  Nikos Drakos, CBLU, University of Leeds
 * revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
 * with significant contributions from:
@@ -8,14 +8,14 @@ original version by:  Nikos Drakos, CBLU, University of Leeds
 <HTML>
 <HEAD>
 <TITLE>Mahogany User Manual
-Version 0.67 ``Constance''</TITLE>
+Version 0.68 ``Cynthia''</TITLE>
 <META NAME="description" CONTENT="Mahogany User Manual
-Version 0.67 ``Constance''">
+Version 0.68 ``Cynthia''">
 <META NAME="keywords" CONTENT="Manual">
 <META NAME="resource-type" CONTENT="document">
 <META NAME="distribution" CONTENT="global">
 
-<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
+<META NAME="Generator" CONTENT="LaTeX2HTML v2008">
 <META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
 
 <LINK REL="STYLESHEET" HREF="Manual.css">
@@ -33,10 +33,10 @@ Version 0.67 ``Constance''">
 
 <P>
 <H1 ALIGN="CENTER"><BIG CLASS="XXLARGE"><SPAN  CLASS="textsl">Mahogany User Manual</SPAN></BIG>
-<BR><BIG CLASS="XLARGE">Version 0.67 ``Constance''</BIG></H1>
+<BR><BIG CLASS="XLARGE">Version 0.68 ``Cynthia''</BIG></H1>
 <DIV CLASS="author_info">
 
-<P ALIGN="CENTER"><STRONG>Copyright 1997-2006 by The Mahogany Development Team</STRONG></P>
+<P ALIGN="CENTER"><STRONG>Copyright 1997-2012 by The Mahogany Development Team</STRONG></P>
 </DIV>
 
 <P>
@@ -48,249 +48,249 @@ Contents</A>
 <!--Table of Contents-->
 
 <UL CLASS="TofC">
-<LI><A NAME="tex2html174"
+<LI><A NAME="tex2html175"
   HREF="Manual.html#SECTION00200000000000000000">Using Mahogany </A>
 <UL>
-<LI><A NAME="tex2html175"
+<LI><A NAME="tex2html176"
   HREF="Manual.html#SECTION00210000000000000000">Release Notes</A>
 <UL>
-<LI><A NAME="tex2html176"
-  HREF="Manual.html#SECTION00211000000000000000">Changes against the previous versions</A>
 <LI><A NAME="tex2html177"
-  HREF="Manual.html#SECTION00212000000000000000">Known bugs</A>
+  HREF="Manual.html#SECTION00211000000000000000">Changes against the previous versions</A>
 <LI><A NAME="tex2html178"
-  HREF="Manual.html#SECTION00213000000000000000">TODO, features to implement</A>
+  HREF="Manual.html#SECTION00212000000000000000">Known bugs</A>
 <LI><A NAME="tex2html179"
-  HREF="Manual.html#SECTION00214000000000000000">Help Needed</A>
+  HREF="Manual.html#SECTION00213000000000000000">TODO, features to implement</A>
 <LI><A NAME="tex2html180"
-  HREF="Manual.html#SECTION00215000000000000000">Copyright</A>
+  HREF="Manual.html#SECTION00214000000000000000">Help Needed</A>
 <LI><A NAME="tex2html181"
-  HREF="Manual.html#SECTION00216000000000000000">The Mahogany ``Artistic License''</A>
+  HREF="Manual.html#SECTION00215000000000000000">Copyright</A>
 <LI><A NAME="tex2html182"
-  HREF="Manual.html#SECTION00217000000000000000">The License Dialog</A>
+  HREF="Manual.html#SECTION00216000000000000000">The Mahogany ``Artistic License''</A>
 <LI><A NAME="tex2html183"
+  HREF="Manual.html#SECTION00217000000000000000">The License Dialog</A>
+<LI><A NAME="tex2html184"
   HREF="Manual.html#SECTION00218000000000000000">Additional Credits</A>
 </UL>
-<LI><A NAME="tex2html184"
+<LI><A NAME="tex2html185"
   HREF="Manual.html#SECTION00220000000000000000">Introduction / Tutorial</A>
 <UL>
-<LI><A NAME="tex2html185"
-  HREF="Manual.html#SECTION00221000000000000000">Getting started</A>
 <LI><A NAME="tex2html186"
-  HREF="Manual.html#SECTION00222000000000000000">The main window</A>
+  HREF="Manual.html#SECTION00221000000000000000">Getting started</A>
 <LI><A NAME="tex2html187"
-  HREF="Manual.html#SECTION00223000000000000000">How to configure POP and IMAP folders?</A>
+  HREF="Manual.html#SECTION00222000000000000000">The main window</A>
 <LI><A NAME="tex2html188"
+  HREF="Manual.html#SECTION00223000000000000000">How to configure POP and IMAP folders?</A>
+<LI><A NAME="tex2html189"
   HREF="Manual.html#SECTION00224000000000000000">How to set up your mail accounts</A>
 </UL>
-<LI><A NAME="tex2html189"
+<LI><A NAME="tex2html190"
   HREF="Manual.html#SECTION00230000000000000000">Setting up Mahogany, its configuration files</A>
 <UL>
-<LI><A NAME="tex2html190"
-  HREF="Manual.html#SECTION00231000000000000000">Mahogany command line options</A>
 <LI><A NAME="tex2html191"
-  HREF="Manual.html#SECTION00232000000000000000">User configuration files (Unix only)</A>
+  HREF="Manual.html#SECTION00231000000000000000">Mahogany command line options</A>
 <LI><A NAME="tex2html192"
-  HREF="Manual.html#SECTION00233000000000000000">Registry (Windows only)</A>
+  HREF="Manual.html#SECTION00232000000000000000">User configuration files (Unix only)</A>
 <LI><A NAME="tex2html193"
+  HREF="Manual.html#SECTION00233000000000000000">Registry (Windows only)</A>
+<LI><A NAME="tex2html194"
   HREF="Manual.html#SECTION00234000000000000000">Using multiple configuration sources</A>
 </UL>
-<LI><A NAME="tex2html194"
+<LI><A NAME="tex2html195"
   HREF="Manual.html#SECTION00240000000000000000">The User Interface</A>
 <UL>
-<LI><A NAME="tex2html195"
-  HREF="Manual.html#SECTION00241000000000000000">The Main Window</A>
 <LI><A NAME="tex2html196"
-  HREF="Manual.html#SECTION00242000000000000000">The Folder Tree</A>
+  HREF="Manual.html#SECTION00241000000000000000">The Main Window</A>
 <LI><A NAME="tex2html197"
-  HREF="Manual.html#SECTION00243000000000000000">Create New Folder Dialog</A>
+  HREF="Manual.html#SECTION00242000000000000000">The Folder Tree</A>
 <LI><A NAME="tex2html198"
-  HREF="Manual.html#SECTION00244000000000000000">Folder Views</A>
+  HREF="Manual.html#SECTION00243000000000000000">Create New Folder Dialog</A>
 <LI><A NAME="tex2html199"
+  HREF="Manual.html#SECTION00244000000000000000">Folder Views</A>
+<LI><A NAME="tex2html200"
   HREF="Manual.html#SECTION00245000000000000000">Migrating from another mail client</A>
 </UL>
-<LI><A NAME="tex2html200"
+<LI><A NAME="tex2html201"
   HREF="Manual.html#SECTION00250000000000000000">Reading Mail</A>
 <UL>
-<LI><A NAME="tex2html201"
-  HREF="Manual.html#SECTION00251000000000000000">The INBOX Folder</A>
 <LI><A NAME="tex2html202"
-  HREF="Manual.html#SECTION00252000000000000000">The ``New Mail'' Folder</A>
+  HREF="Manual.html#SECTION00251000000000000000">The INBOX Folder</A>
 <LI><A NAME="tex2html203"
-  HREF="Manual.html#SECTION00253000000000000000">Other Folders</A>
+  HREF="Manual.html#SECTION00252000000000000000">The ``New Mail'' Folder</A>
 <LI><A NAME="tex2html204"
-  HREF="Manual.html#SECTION00254000000000000000">Accessing Mail Remotely</A>
+  HREF="Manual.html#SECTION00253000000000000000">Other Folders</A>
 <LI><A NAME="tex2html205"
-  HREF="Manual.html#SECTION00255000000000000000">Searching for Messages</A>
+  HREF="Manual.html#SECTION00254000000000000000">Accessing Mail Remotely</A>
 <LI><A NAME="tex2html206"
-  HREF="Manual.html#SECTION00256000000000000000">Filters</A>
+  HREF="Manual.html#SECTION00255000000000000000">Searching for Messages</A>
 <LI><A NAME="tex2html207"
+  HREF="Manual.html#SECTION00256000000000000000">Filters</A>
+<LI><A NAME="tex2html208"
   HREF="Manual.html#SECTION00257000000000000000">Spam filtering</A>
 </UL>
-<LI><A NAME="tex2html208"
+<LI><A NAME="tex2html209"
   HREF="Manual.html#SECTION00260000000000000000">Sending Mail</A>
 <UL>
-<LI><A NAME="tex2html209"
-  HREF="Manual.html#SECTION00261000000000000000">To: CC: and BCC: Settings</A>
 <LI><A NAME="tex2html210"
-  HREF="Manual.html#SECTION00262000000000000000">Key Bindings in the Message Editor</A>
+  HREF="Manual.html#SECTION00261000000000000000">To: CC: and BCC: Settings</A>
 <LI><A NAME="tex2html211"
-  HREF="Manual.html#SECTION00263000000000000000">Using the address book</A>
+  HREF="Manual.html#SECTION00262000000000000000">Key Bindings in the Message Editor</A>
 <LI><A NAME="tex2html212"
-  HREF="Manual.html#SECTION00264000000000000000">The Mail Composition Window</A>
+  HREF="Manual.html#SECTION00263000000000000000">Using the address book</A>
 <LI><A NAME="tex2html213"
+  HREF="Manual.html#SECTION00264000000000000000">The Mail Composition Window</A>
+<LI><A NAME="tex2html214"
   HREF="Manual.html#SECTION00265000000000000000">The News Article Composition Window</A>
 </UL>
-<LI><A NAME="tex2html214"
+<LI><A NAME="tex2html215"
   HREF="Manual.html#SECTION00270000000000000000">Message Templates</A>
 <UL>
-<LI><A NAME="tex2html215"
-  HREF="Manual.html#SECTION00271000000000000000">What are they?</A>
 <LI><A NAME="tex2html216"
-  HREF="Manual.html#SECTION00272000000000000000">Templates syntax</A>
+  HREF="Manual.html#SECTION00271000000000000000">What are they?</A>
 <LI><A NAME="tex2html217"
+  HREF="Manual.html#SECTION00272000000000000000">Templates syntax</A>
+<LI><A NAME="tex2html218"
   HREF="Manual.html#SECTION00273000000000000000">Template variables</A>
 </UL>
-<LI><A NAME="tex2html218"
+<LI><A NAME="tex2html219"
   HREF="Manual.html#SECTION00280000000000000000">Understanding program options</A>
 <UL>
-<LI><A NAME="tex2html219"
-  HREF="Manual.html#SECTION00281000000000000000">Hierarchical options organization</A>
 <LI><A NAME="tex2html220"
-  HREF="Manual.html#SECTION00282000000000000000">Automatically remembered options</A>
+  HREF="Manual.html#SECTION00281000000000000000">Hierarchical options organization</A>
 <LI><A NAME="tex2html221"
-  HREF="Manual.html#SECTION00283000000000000000">Other options</A>
+  HREF="Manual.html#SECTION00282000000000000000">Automatically remembered options</A>
 <LI><A NAME="tex2html222"
-  HREF="Manual.html#SECTION00284000000000000000">Remote configuration synchronisation</A>
+  HREF="Manual.html#SECTION00283000000000000000">Other options</A>
 <LI><A NAME="tex2html223"
-  HREF="Manual.html#SECTION00285000000000000000">Some Other Dialogs You May Encounter</A>
+  HREF="Manual.html#SECTION00284000000000000000">Remote configuration synchronisation</A>
 <LI><A NAME="tex2html224"
+  HREF="Manual.html#SECTION00285000000000000000">Some Other Dialogs You May Encounter</A>
+<LI><A NAME="tex2html225"
   HREF="Manual.html#SECTION00286000000000000000">Mahogany Plugin Modules</A>
 </UL>
-<LI><A NAME="tex2html225"
+<LI><A NAME="tex2html226"
   HREF="Manual.html#SECTION00290000000000000000">The Address Database</A>
 <UL>
-<LI><A NAME="tex2html226"
-  HREF="Manual.html#SECTION00291000000000000000">The native Address Book </A>
 <LI><A NAME="tex2html227"
-  HREF="Manual.html#SECTION00292000000000000000">The Address Book Editor</A>
+  HREF="Manual.html#SECTION00291000000000000000">The native Address Book </A>
 <LI><A NAME="tex2html228"
-  HREF="Manual.html#SECTION00293000000000000000">Support for BBDB Address Books</A>
+  HREF="Manual.html#SECTION00292000000000000000">The Address Book Editor</A>
 <LI><A NAME="tex2html229"
-  HREF="Manual.html#SECTION00294000000000000000">One Address per Line File Address Books</A>
+  HREF="Manual.html#SECTION00293000000000000000">Support for BBDB Address Books</A>
 <LI><A NAME="tex2html230"
+  HREF="Manual.html#SECTION00294000000000000000">One Address per Line File Address Books</A>
+<LI><A NAME="tex2html231"
   HREF="Manual.html#SECTION00295000000000000000">Support for Palm Address Books</A>
 </UL>
 </UL>
 <BR>
-<LI><A NAME="tex2html231"
+<LI><A NAME="tex2html232"
   HREF="Manual.html#SECTION00300000000000000000">Scripting and Extending Mahogany</A>
 <UL>
-<LI><A NAME="tex2html232"
+<LI><A NAME="tex2html233"
   HREF="Manual.html#SECTION00310000000000000000">Python Scripting</A>
 <UL>
-<LI><A NAME="tex2html233"
-  HREF="Manual.html#SECTION00311000000000000000">Introduction</A>
 <LI><A NAME="tex2html234"
-  HREF="Manual.html#SECTION00312000000000000000">Initialisation </A>
+  HREF="Manual.html#SECTION00311000000000000000">Introduction</A>
 <LI><A NAME="tex2html235"
-  HREF="Manual.html#SECTION00313000000000000000">Using Python with Filters</A>
+  HREF="Manual.html#SECTION00312000000000000000">Initialisation </A>
 <LI><A NAME="tex2html236"
-  HREF="Manual.html#SECTION00314000000000000000">Callback Functions (Hooks)</A>
+  HREF="Manual.html#SECTION00313000000000000000">Using Python with Filters</A>
 <LI><A NAME="tex2html237"
-  HREF="Manual.html#SECTION00315000000000000000">Namespaces</A>
+  HREF="Manual.html#SECTION00314000000000000000">Callback Functions (Hooks)</A>
 <LI><A NAME="tex2html238"
-  HREF="Manual.html#SECTION00316000000000000000">List of Callbacks</A>
+  HREF="Manual.html#SECTION00315000000000000000">Namespaces</A>
 <LI><A NAME="tex2html239"
+  HREF="Manual.html#SECTION00316000000000000000">List of Callbacks</A>
+<LI><A NAME="tex2html240"
   HREF="Manual.html#SECTION00317000000000000000">Supported Classes</A>
 </UL>
-<LI><A NAME="tex2html240"
+<LI><A NAME="tex2html241"
   HREF="Manual.html#SECTION00320000000000000000">Plugins</A>
 <UL>
-<LI><A NAME="tex2html241"
-  HREF="Manual.html#SECTION00321000000000000000">Introduction</A>
 <LI><A NAME="tex2html242"
-  HREF="Manual.html#SECTION00322000000000000000">The Filters Module</A>
+  HREF="Manual.html#SECTION00321000000000000000">Introduction</A>
 <LI><A NAME="tex2html243"
+  HREF="Manual.html#SECTION00322000000000000000">The Filters Module</A>
+<LI><A NAME="tex2html244"
   HREF="Manual.html#SECTION00323000000000000000">The PalmOS Module</A>
 </UL>
 </UL>
 <BR>
-<LI><A NAME="tex2html244"
+<LI><A NAME="tex2html245"
   HREF="Manual.html#SECTION00400000000000000000">Getting Help and Support</A>
 <UL>
-<LI><A NAME="tex2html245"
-  HREF="Manual.html#SECTION00410000000000000000">Troubleshooting</A>
 <LI><A NAME="tex2html246"
-  HREF="Manual.html#SECTION00420000000000000000">WWW Support</A>
+  HREF="Manual.html#SECTION00410000000000000000">Troubleshooting</A>
 <LI><A NAME="tex2html247"
+  HREF="Manual.html#SECTION00420000000000000000">WWW Support</A>
+<LI><A NAME="tex2html248"
   HREF="Manual.html#SECTION00430000000000000000">Mailing Lists</A>
 </UL>
 <BR>
-<LI><A NAME="tex2html248"
+<LI><A NAME="tex2html249"
   HREF="Manual.html#SECTION00500000000000000000">Advanced Usage</A>
 <UL>
-<LI><A NAME="tex2html249"
-  HREF="Manual.html#SECTION00510000000000000000">Compiling Mahogany from source</A>
 <LI><A NAME="tex2html250"
+  HREF="Manual.html#SECTION00510000000000000000">Compiling Mahogany from source</A>
+<LI><A NAME="tex2html251"
   HREF="Manual.html#SECTION00520000000000000000">Using Mahogany more efficiently</A>
 <UL>
-<LI><A NAME="tex2html251"
-  HREF="Manual.html#SECTION00521000000000000000">Speeding up Mahogany startup</A>
 <LI><A NAME="tex2html252"
+  HREF="Manual.html#SECTION00521000000000000000">Speeding up Mahogany startup</A>
+<LI><A NAME="tex2html253"
   HREF="Manual.html#SECTION00522000000000000000">Limiting Amount of Data Transferred</A>
 </UL>
 </UL>
 <BR>
-<LI><A NAME="tex2html253"
+<LI><A NAME="tex2html254"
   HREF="Manual.html#SECTION00600000000000000000">FAQ - Frequently Asked Questions</A>
 <UL>
-<LI><A NAME="tex2html254"
+<LI><A NAME="tex2html255"
   HREF="Manual.html#SECTION00610000000000000000">Installation Problems</A>
 <UL>
-<LI><A NAME="tex2html255"
-  HREF="Manual.html#SECTION00611000000000000000">All Mahogany icons show a question mark</A>
 <LI><A NAME="tex2html256"
-  HREF="Manual.html#SECTION00612000000000000000">How do I unpack the compressed files?</A>
+  HREF="Manual.html#SECTION00611000000000000000">All Mahogany icons show a question mark</A>
 <LI><A NAME="tex2html257"
-  HREF="Manual.html#SECTION00613000000000000000">Compiling aborts with errors</A>
+  HREF="Manual.html#SECTION00612000000000000000">How do I unpack the compressed files?</A>
 <LI><A NAME="tex2html258"
-  HREF="Manual.html#SECTION00614000000000000000">Mahogany fails to find wxWidgets, configure fails</A>
+  HREF="Manual.html#SECTION00613000000000000000">Compiling aborts with errors</A>
 <LI><A NAME="tex2html259"
+  HREF="Manual.html#SECTION00614000000000000000">Mahogany fails to find wxWidgets, configure fails</A>
+<LI><A NAME="tex2html260"
   HREF="Manual.html#SECTION00615000000000000000">SSL does not work</A>
 </UL>
-<LI><A NAME="tex2html260"
+<LI><A NAME="tex2html261"
   HREF="Manual.html#SECTION00620000000000000000">Other Problems / Questions</A>
 <UL>
-<LI><A NAME="tex2html261"
-  HREF="Manual.html#SECTION00621000000000000000">The Preferences Dialog does not show up properly</A>
 <LI><A NAME="tex2html262"
-  HREF="Manual.html#SECTION00622000000000000000">How to use Mahogany with fetchmail/procmail?</A>
+  HREF="Manual.html#SECTION00621000000000000000">The Preferences Dialog does not show up properly</A>
 <LI><A NAME="tex2html263"
-  HREF="Manual.html#SECTION00623000000000000000">Does Mahogany have group aliases?</A>
+  HREF="Manual.html#SECTION00622000000000000000">How to use Mahogany with fetchmail/procmail?</A>
 <LI><A NAME="tex2html264"
-  HREF="Manual.html#SECTION00624000000000000000">How can I set up POP3/IMAP access?</A>
+  HREF="Manual.html#SECTION00623000000000000000">Does Mahogany have group aliases?</A>
 <LI><A NAME="tex2html265"
-  HREF="Manual.html#SECTION00625000000000000000">How can I set up IMAP access?</A>
+  HREF="Manual.html#SECTION00624000000000000000">How can I set up POP3/IMAP access?</A>
 <LI><A NAME="tex2html266"
-  HREF="Manual.html#SECTION00626000000000000000">Can I have multiple POP3 or IMAP accounts?</A>
+  HREF="Manual.html#SECTION00625000000000000000">How can I set up IMAP access?</A>
 <LI><A NAME="tex2html267"
-  HREF="Manual.html#SECTION00627000000000000000">Can I have multiple identities?</A>
+  HREF="Manual.html#SECTION00626000000000000000">Can I have multiple POP3 or IMAP accounts?</A>
 <LI><A NAME="tex2html268"
-  HREF="Manual.html#SECTION00628000000000000000">Can I run Mahogany as root?</A>
+  HREF="Manual.html#SECTION00627000000000000000">Can I have multiple identities?</A>
 <LI><A NAME="tex2html269"
-  HREF="Manual.html#SECTION00629000000000000000">How can I set which language to use?</A>
+  HREF="Manual.html#SECTION00628000000000000000">Can I run Mahogany as root?</A>
 <LI><A NAME="tex2html270"
-  HREF="Manual.html#SECTION006210000000000000000">How can I delete messages?</A>
+  HREF="Manual.html#SECTION00629000000000000000">How can I set which language to use?</A>
 <LI><A NAME="tex2html271"
-  HREF="Manual.html#SECTION006211000000000000000">How can I forward a message with attachments?</A>
+  HREF="Manual.html#SECTION006210000000000000000">How can I delete messages?</A>
 <LI><A NAME="tex2html272"
-  HREF="Manual.html#SECTION006212000000000000000">How can I customize the position of folders in the tree?</A>
+  HREF="Manual.html#SECTION006211000000000000000">How can I forward a message with attachments?</A>
 <LI><A NAME="tex2html273"
-  HREF="Manual.html#SECTION006213000000000000000">How can I ``leave messages on server'' (POP3)?</A>
+  HREF="Manual.html#SECTION006212000000000000000">How can I customize the position of folders in the tree?</A>
 <LI><A NAME="tex2html274"
-  HREF="Manual.html#SECTION006214000000000000000">Can I have ``subfolders'' of File type (mbox) folders?</A>
+  HREF="Manual.html#SECTION006213000000000000000">How can I ``leave messages on server'' (POP3)?</A>
 <LI><A NAME="tex2html275"
+  HREF="Manual.html#SECTION006214000000000000000">Can I have ``subfolders'' of File type (mbox) folders?</A>
+<LI><A NAME="tex2html276"
   HREF="Manual.html#SECTION006215000000000000000">Can I ``Follow-up'' to the message?</A>
 </UL></UL></UL>
 <!--End of Table of Contents-->
@@ -330,6 +330,51 @@ skip them unless you're updating from a very old version of Mahogany.
 <P>
 
 <H3><A NAME="SECTION00211100000000000000">
+0.68 against 0.67</A>
+</H3>
+
+<P>
+
+<UL>
+<LI>A much faster DSPAM storage driver is used now.
+</LI>
+<LI>Mahogany now supports signing outgoing messages using OpenPGP, see
+         the new options in the composer options page (<A HREF="#ComposePage"><IMG  ALIGN="BOTTOM" BORDER="1" ALT="[*]" SRC="crossref.png"></A>).
+</LI>
+<LI>Added ``Remove attachments'' command which can be used to strip the
+         unwanted attachments from a message in a local or IMAP folder.
+</LI>
+<LI>Made the ``Quick filter'' dialog more useful by allowing to specify
+         a folder that doesn't exist yet in it. Moreover, the new folder can
+         be configured to use the recipient and sender corresponding to the
+         rule itself, e.g. the default recipient can be set up to be the same
+         as the sender address tested by the rule.
+</LI>
+<LI>Use notification tooltips for new mail. See the ``Also sow
+         notification popup'' option in the ``New Mail'' page.
+</LI>
+<LI>Added the possibility to treat different addresses as equivalent,
+         this is useful to avoid sending duplicate replies to the different
+         addresses of the same person, for example.
+</LI>
+<LI>Allow creation of filters testing individual headers in the GUI.
+</LI>
+<LI>Add support for server-side spam filters: this is not especially
+         useful for classifying spam (as you could already check the header
+         added by the server to indicate that a message is spam), although it
+         is much simpler now, but is helpful for training the server-side
+         filters as using the <TT>"Message|Spam"</TT> menu commands can now be
+         configured to do the right thing.
+</LI>
+<LI>Improve the display of the embedded messages: now their headers can be
+         displayed inline too, see the new options in the message view
+         preferences dialog page.
+</LI>
+</UL>
+
+<P>
+
+<H3><A NAME="SECTION00211200000000000000">
 0.67 against 0.66</A>
 </H3>
 
@@ -392,7 +437,7 @@ DSPAM.
 
 <P>
 
-<H3><A NAME="SECTION00211200000000000000">
+<H3><A NAME="SECTION00211300000000000000">
 0.66 against 0.65</A>
 </H3>
 
@@ -432,7 +477,7 @@ than adding new features. As usual, some of them were still added:
 
 <P>
 
-<H3><A NAME="SECTION00211300000000000000">
+<H3><A NAME="SECTION00211400000000000000">
 0.65 against 0.64</A>
 </H3>
 
@@ -502,7 +547,7 @@ Mahogany is a real native (Carbon) application and doesn't require GTK+ or X11.
 
 <P>
 
-<H3><A NAME="SECTION00211400000000000000">
+<H3><A NAME="SECTION00211500000000000000">
 0.64 against 0.63</A>
 </H3>
 
@@ -519,7 +564,7 @@ shown on the screen from server instead of getting all of them. This
 means that the time needed to open a folder is now almost independent
 of the folder size and Mahogany can be used without troubles with
 folders containing <SPAN CLASS="MATH"><IMG
- WIDTH="51" HEIGHT="20" ALIGN="BOTTOM" BORDER="0"
+ WIDTH="52" HEIGHT="20" ALIGN="BOTTOM" BORDER="0"
  SRC="img1.png"
  ALT="$50000$"></SPAN> messages (and maybe more - but this wasn't
 tested yet).
@@ -610,7 +655,7 @@ course).
 
 <P>
 
-<H3><A NAME="SECTION00211500000000000000">
+<H3><A NAME="SECTION00211600000000000000">
 0.63 against 0.62</A>
 </H3>
 
@@ -669,7 +714,7 @@ Some of non fatal but annoying bugs fixed in this release are:
 
 <P>
 
-<H3><A NAME="SECTION00211600000000000000">
+<H3><A NAME="SECTION00211700000000000000">
 0.62 against 0.61</A>
 </H3>
 
@@ -736,7 +781,7 @@ And a few improvements too:
 
 <P>
 
-<H3><A NAME="SECTION00211700000000000000">
+<H3><A NAME="SECTION00211800000000000000">
 0.61 against 0.60 </A>
 </H3>
 
@@ -759,7 +804,7 @@ using <TT>"Folder|Import folder tree..."</TT> command (see <A HREF="#Import"><IM
 
 <P>
 
-<H3><A NAME="SECTION00211800000000000000">
+<H3><A NAME="SECTION00211900000000000000">
 0.60 against 0.50</A>
 </H3>
 
@@ -851,7 +896,7 @@ will hopefully be fixed fairly soon.
 
 <P>
 
-<H3><A NAME="SECTION00211900000000000000">
+<H3><A NAME="SECTION002111000000000000000">
 0.5 against 0.23a</A>
 </H3>
 
@@ -909,7 +954,7 @@ for KDE and GNOME filetype icons.
 
 <P>
 
-<H3><A NAME="SECTION002111000000000000000">
+<H3><A NAME="SECTION002111100000000000000">
 0.23a against 0.22a</A>
 </H3>
 
@@ -954,7 +999,7 @@ Expect them to appear in the next releases.
 
 <P>
 
-<H3><A NAME="SECTION002111100000000000000">
+<H3><A NAME="SECTION002111200000000000000">
 0.22a against 0.21a</A>
 </H3>
 
@@ -985,7 +1030,7 @@ replies.
 
 <P>
 
-<H3><A NAME="SECTION002111200000000000000">
+<H3><A NAME="SECTION002111300000000000000">
 0.10a to 0.21a</A>
 </H3>
 
@@ -1122,7 +1167,7 @@ Why not the GPL/BSD/QPL/my favourite license?</A>
 Recently discussions about which license to chose for which project
 provoked major flamewars in the Unix community. There is a trend to
 put everything under the GPL or LGPL<A NAME="tex2html3"
-  HREF="#foot149"><SUP><SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">1</SPAN></SUP></A>. We do not want to get involved in this highly emotional and political
+  HREF="#foot154"><SUP><SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">1</SPAN></SUP></A>. We do not want to get involved in this highly emotional and political
 discussion. Our intent is to allow everyone to use and modify Mahogany
 while preserving some form of control over its development. That is
 why we chose a modified version of Perl's Artistic License. It is
@@ -1705,6 +1750,10 @@ either <TT>/</TT> or <TT>-</TT> but only <TT>-</TT> can be used for the long one
 <TD ALIGN="CENTER">disable the embedded Python interpreter, even if it is
 enabled in the program options (<A HREF="#PythonOptions"><IMG  ALIGN="BOTTOM" BORDER="1" ALT="[*]" SRC="crossref.png"></A>)</TD>
 </TR>
+<TR><TD ALIGN="CENTER">-noremote</TD>
+<TD ALIGN="CENTER">don't reuse an already running instance of Mahogany even if
+the corresponding option is set</TD>
+</TR>
 </TABLE>
 
 <P>
@@ -1824,7 +1873,7 @@ is not ideal if you want to use it from several different installations. It
 should be noted that in the simplest case, when all these installations use the
 same operating system and are similarly configured, you may simply transfer the
 Mahogany configuration file <A NAME="tex2html6"
-  HREF="#foot312"><SUP><SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">2</SPAN></SUP></A> to the other machine, however this doesn't work if you want to use the
+  HREF="#foot318"><SUP><SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">2</SPAN></SUP></A> to the other machine, however this doesn't work if you want to use the
 program from both Unix and Windows as in such case some settings are bound to
 be different.
 
@@ -2610,6 +2659,16 @@ Expand button next to the fields. If multiple entries match the text,
 you will be prompted with a list to choose from.
 
 <P>
+Notice that when entering addresses in the main (topmost) text entry zone, you
+can use prefixes <TT>to:</TT>, <TT>cc:</TT> and <TT>bcc:</TT> to modify the
+interpretation of the recipient following them.
+
+<P>
+Finally, you can directly paste a <SPAN  CLASS="textit">mailto</SPAN> URL from a web browser here:
+Mahogany will recognize it and automatically remove the URL prefix, there is no
+need to do it manually.
+
+<P>
 
 <H3><A NAME="SECTION00261100000000000000">
 Using Folder names as an address</A>
@@ -3470,6 +3529,26 @@ to each message sent.
 If enabled, your signature will be separated from the text with two
 dashes. This is a common Internet/Usenet convention.
 </LI>
+<LI><SPAN  CLASS="textbf">Show signing controls in composer</SPAN>
+<BR>
+If this option is enabled, the checkbox allowing you to choose whether you want
+to sign the message cryptographically is shown in the composer. Disable this
+option only if you are sure that you never want to sign your messages to free
+up some screen space.
+</LI>
+<LI><SPAN  CLASS="textbf">Enable signing by default</SPAN>
+<BR>
+If true, the checkbox mentioned above will be initially checked. Notice that
+if you are editing the options of an individual folder, this option can be set
+from here but that it is also changed by simply setting or clearing the
+checkbox - its contents will be remembered for the next messages composed from
+this folder.
+</LI>
+<LI><SPAN  CLASS="textbf">User name to sign messages as</SPAN>
+<BR>
+If you have multiple keys, select the one to be used by default (it will be
+possible to change it for the individual messages in the composer window) here.
+</LI>
 <LI><SPAN  CLASS="textbf">Use XFace</SPAN>
 <BR>
 XFaces are small black and white bitmaps which can be added to the
@@ -3800,6 +3879,15 @@ the '@' symbol) will be used instead of the name.
 <BR>
 Spam filter option "No match in whitelist" uses this address book.
 </LI>
+<LI><SPAN  CLASS="textbf">Equivalent addresses</SPAN>
+<BR>
+Adding a string of the form <TT>[email protected][email protected]</TT> here will make
+Mahogany treat these two addresses as equivalent. This for example means that
+only one of them will be left in the outgoing message so that if you have the
+first address set as the default one for the folder which the messages from
+John Doe are filtered to and you reply to the message sent from the second
+address, the two addresses won't be duplicated in the composer window.
+</LI>
 </UL>
 
 <P>
@@ -4624,7 +4712,7 @@ The Filters Dialog
 
 <P>
 This dialog allows you to define any number of filter rules available
-to Mahogany. In a seaparate dialog (<A HREF="#FolderFiltersDialog"><IMG  ALIGN="BOTTOM" BORDER="1" ALT="[*]" SRC="crossref.png"></A>) you
+to Mahogany. In a separate dialog (<A HREF="#FolderFiltersDialog"><IMG  ALIGN="BOTTOM" BORDER="1" ALT="[*]" SRC="crossref.png"></A>) you
 can then pick any rule from the list and assign it to a folder. As
 you can have different sets of rules for each folder and might want
 to share rules for some folders, this dialog simply sets up rules
@@ -4650,7 +4738,7 @@ the list of rules in the main Filters Dialog, but is without any further
 significance.
 </LI>
 <LI>Underneath the name, you find the text ``If Message...'' followed
-by at least one row of conditioncontrols.
+by at least one row of condition controls.
 </LI>
 <LI>Under the condition controls you find the text ``Then do this:``
 followed by some action controls.
@@ -4671,17 +4759,16 @@ conditions can be tested for at present:
 <UL>
 <LI>Always - this rule will always be executed
 </LI>
-<LI>Contains - check if the text next to it is contained in the message
-component selected
+<LI>Contains - check if the target of the test contains the selected text
 </LI>
-<LI>Match - check if the message component selected is exactly this text
+<LI>Match - check if the target of the test is exactly this text
 (case independent)
 </LI>
-<LI>Match Case - check if the message compent selected is exactly this
+<LI>Match Case - check if the target of the test is exactly this
 text (case dependent)
 </LI>
-<LI>Match RegExp - check if the message compent selected matches the regular
-expression specified
+<LI>Match RegExp - check if the target of the test matches the specified
+regular expression
 </LI>
 <LI>Larger Than - check if the message is larger than this in KByte
 </LI>
@@ -4698,6 +4785,29 @@ as sending unsolicited emails (SPAM).
 and proceed if it returns a non-0 result.
 </LI>
 </UL>
+
+<P>
+The target of the text can be selected in the control next to the last one. The
+choices are mostly self-explanatory:
+
+<UL>
+<LI>``From'', ``To'' and ``Subject'' correspond to the message headers with
+the same names
+</LI>
+<LI>``Sender'' is the SMTP sender of the message
+</LI>
+<LI>``Any recipient'' corresponds to the union of ``To'', ``Cc'' and ``Bcc''
+</LI>
+<LI>``Headers'' corresponds to the entire message header while ``Header''
+selects the contents of the given (in the nearby text control) header only
+</LI>
+<LI>``Body'' corresponds to the message body, i.e. everything except headers
+</LI>
+<LI>``Message'' corresponds to the full message, including headers and body
+</LI>
+</UL>
+
+<P>
 The possible actions which can be performed, are:
 
 <P>
@@ -5627,14 +5737,14 @@ but the to/from fields remain the same.
 <P>
 <BR><HR><H4>Footnotes</H4>
 <DL>
-<DT><A NAME="foot149">... LGPL</A><A
+<DT><A NAME="foot154">... LGPL</A><A
  HREF="Manual.html#tex2html3"><SUP><SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">1</SPAN></SUP></A></DT>
 <DD>which we recently felt victim of - due to some strong demand, we have
 decided to allow alternatively licensing Mahogany under GPL
 
 
 </DD>
-<DT><A NAME="foot312">... file</A><A
+<DT><A NAME="foot318">... file</A><A
  HREF="Manual.html#tex2html6"><SUP><SPAN CLASS="arabic">1</SPAN>.<SPAN CLASS="arabic">2</SPAN></SUP></A></DT>
 <DD>use the option in the synchronisation
 page of the options dialog to force using a file instead of the registry under
@@ -5645,7 +5755,7 @@ Windows
 <BR><HR>
 <ADDRESS>
 Vadim Zeitlin
-2006-08-06
+2012-08-20
 </ADDRESS>
 </BODY>
 </HTML>

commit 08a1668023de69a060559b91f5065ffe218b181a
Author: Vadim Zeitlin <[email protected]>
Date:   Mon Aug 20 00:39:12 2012 +0200

    Minor manual update: mention new mail notification popup.
    
    Also update the year.

diff --git a/doc/Manual.htex b/doc/Manual.htex
index b1d66c5..1cd092c 100644
--- a/doc/Manual.htex
+++ b/doc/Manual.htex
@@ -35,7 +35,7 @@
 \vfill{}
 
 
-\author{Copyright 1997-2010 by The Mahogany Development Team\\
+\author{Copyright 1997-2012 by The Mahogany Development Team\\
 \vspace{1cm}
 \mailtolink{[email protected]} \\
 \vspace{1cm}
@@ -78,6 +78,8 @@ skip them unless you're updating from a very old version of Mahogany.
          be configured to use the recipient and sender corresponding to the
          rule itself, e.g. the default recipient can be set up to be the same
          as the sender address tested by the rule.
+   \item Use notification tooltips for new mail. See the ``Also sow
+         notification popup'' option in the ``New Mail'' page.
    \item Added the possibility to treat different addresses as equivalent,
          this is useful to avoid sending duplicate replies to the different
          addresses of the same person, for example.

commit 4ca6fc1d9a72bf68e7a1560a462eff1e97bc9f72
Author: Vadim Zeitlin <[email protected]>
Date:   Mon Aug 20 00:38:14 2012 +0200

    Update Bugzilla URL.
    
    Use mahogany.tt-solutions.com instead of zeitlin.homeunix.com that doesn't
    exist since many years.

diff --git a/extra/setup/Bug.url b/extra/setup/Bug.url
index 0a71dc7..299f2e4 100644
--- a/extra/setup/Bug.url
+++ b/extra/setup/Bug.url
@@ -1,2 +1,2 @@
 [InternetShortcut]
-URL=http://zeitlin.homeunix.com/cgi-bin/mbugs/index.cgi
+URL=http://mahogany.tt-solutions.com/cgi-bin/mbugs/enter_bug.cgi
diff --git a/redhat/M.spec b/redhat/M.spec
index f20f8d6..ea2dc82 100644
--- a/redhat/M.spec
+++ b/redhat/M.spec
@@ -62,7 +62,7 @@ CFLAGS="$RPM_OPT_FLAGS" \
 
 #if [ "x%{MAKETARGET}" = "xquartstatic" ]; then
     # be nice and check for existence of static library before starting to build
-    # (see bug http://zeitlin.homeunix.com/cgi-bin/mbugs/show_bug.cgi?id=873)
+    # (see bug http://mahogany.tt-solutions.com/cgi-bin/mbugs/show_bug.cgi?id=873)
 #    libwx=$($(echo @WX_CONFIG_PATH@ | sed `grep WX_CONFIG_PATH config.status`) \
 #                --static --libs | \
 #                    sed 's@^.* \(/.*/libwx_based-[0-9.]\+.a\) .*$@\1@')

commit ee594fd9294d8dbcd8a15bf2753ffca7119f5454
Author: Vadim Zeitlin <[email protected]>
Date:   Mon Aug 20 00:12:27 2012 +0200

    Really fix the size of the "About" dialog when splash bitmap is unavailable.
    
    The bitmap is still valid in this case, it's just a tiny 20*20 "unknown" one,
    so increase its size to something reasonable.

diff --git a/src/gui/wxMSplash.cpp b/src/gui/wxMSplash.cpp
index a092801..7af1757 100644
--- a/src/gui/wxMSplash.cpp
+++ b/src/gui/wxMSplash.cpp
@@ -170,7 +170,8 @@ AboutWindow::AboutWindow(wxFrame *parent, wxBitmap bmp, bool bCloseOnTimeout)
 {
    // Use fall back size if the splash screen image is not available because
    // otherwise the entire window would be too small.
-   const wxSize sizeBmp(bmp.IsOk() ? bmp.GetSize() : wxSize(400, 300));
+   wxSize sizeBmp = bmp.GetSize();
+   sizeBmp.IncTo(wxSize(400, 300));
 
    wxWindow::Create(parent, -1, wxDefaultPosition,
                     wxSize(sizeBmp.x, 2*sizeBmp.y));

commit 1dc9d453d11ee41c7b4b82f9afda02523d994edb
Author: Vadim Zeitlin <[email protected]>
Date:   Sun Aug 19 15:09:26 2012 +0200

    Fix crash on exit with wxMSW 2.9.4 under Windows XP.
    
    We deleted the tree window shown in the main frame but didn't remove it from
    the splitter, so it was left with a dangling pointer. In wx 2.9.4, the
    splitter receives an EVT_SIZE during the frame destruction and tries to use
    these pointers resulting in a crash.
    
    Fix this by calling Unsplit() before deleting the window.

diff --git a/src/gui/wxMainFrame.cpp b/src/gui/wxMainFrame.cpp
index fa7b9e6..bbad8e9 100644
--- a/src/gui/wxMainFrame.cpp
+++ b/src/gui/wxMainFrame.cpp
@@ -1489,6 +1489,12 @@ wxMainFrame::~wxMainFrame()
    // any moment
    mApplication->OnMainFrameClose();
 
+   // We need to remove the window from the splitter before removing it to
+   // avoid leaving a dangling pointer in wxSplitterWindow which might be used
+   // if it gets an EVT_SIZE during destruction (this happens with at least
+   // wxMSW 2.9.4 under XP) resulting in a crash.
+   m_splitter->Unsplit(m_FolderTree->GetWindow());
+
    delete m_FolderView;
    delete m_FolderTree;
 

commit 522d9a973ceef3e53f30ab2e2072663bab606678
Author: Vadim Zeitlin <[email protected]>
Date:   Sun Aug 19 16:23:44 2012 +0200

    Explicitly set toolset to vc100 in the MSVC project files.
    
    This allows to open the same projects in MSVS 2012 (VC11) too and build
    compatible binaries there.

diff --git a/M.vcxproj b/M.vcxproj
index 72ad8e5..90b1833 100644
--- a/M.vcxproj
+++ b/M.vcxproj
@@ -38,39 +38,48 @@
     <ProjectGuid>{1515C8EB-5C72-43DF-9D3A-0703F155F268}</ProjectGuid>

     <RootNamespace>M</RootNamespace>

     <Keyword>Win32Proj</Keyword>

+    <VCTargetsPath Condition="'$(VCTargetsPath11)' != '' and '$(VSVersion)' == '' and $(VisualStudioVersion) == ''">$(VCTargetsPath11)</VCTargetsPath>

   </PropertyGroup>

   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />

   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">

     <ConfigurationType>Application</ConfigurationType>

     <CharacterSet>MultiByte</CharacterSet>

+    <PlatformToolset>v100</PlatformToolset>

   </PropertyGroup>

   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'" Label="Configuration">

     <ConfigurationType>Application</ConfigurationType>

     <CharacterSet>MultiByte</CharacterSet>

+    <PlatformToolset>v100</PlatformToolset>

   </PropertyGroup>

   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">

     <ConfigurationType>Application</ConfigurationType>

     <CharacterSet>NotSet</CharacterSet>

+    <PlatformToolset>v100</PlatformToolset>

   </PropertyGroup>

   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'" Label="Configuration">

     <ConfigurationType>Application</ConfigurationType>

     <CharacterSet>NotSet</CharacterSet>

+    <PlatformToolset>v100</PlatformToolset>

   </PropertyGroup>

   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">

     <ConfigurationType>Application</ConfigurationType>

     <CharacterSet>MultiByte</CharacterSet>

+    <PlatformToolset>v100</PlatformToolset>

   </PropertyGroup>

   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'" Label="Configuration">

     <ConfigurationType>Application</ConfigurationType>

     <CharacterSet>MultiByte</CharacterSet>

+    <PlatformToolset>v100</PlatformToolset>

   </PropertyGroup>

   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">

     <ConfigurationType>Application</ConfigurationType>

     <CharacterSet>NotSet</CharacterSet>

+    <PlatformToolset>v100</PlatformToolset>

   </PropertyGroup>

   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'" Label="Configuration">

     <ConfigurationType>Application</ConfigurationType>

     <CharacterSet>NotSet</CharacterSet>

+    <PlatformToolset>v100</PlatformToolset>

   </PropertyGroup>

   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />

   <ImportGroup Label="ExtensionSettings">

diff --git a/Mconfig.vcxproj b/Mconfig.vcxproj
index 7ea6346..214d4d0 100644
--- a/Mconfig.vcxproj
+++ b/Mconfig.vcxproj
@@ -23,23 +23,28 @@
     <ProjectGuid>{86C1D2C7-C961-4017-88E8-63D0BCCBD0D5}</ProjectGuid>

     <RootNamespace>config</RootNamespace>

     <Keyword>MakeFileProj</Keyword>

+    <VCTargetsPath Condition="'$(VCTargetsPath11)' != '' and '$(VSVersion)' == '' and $(VisualStudioVersion) == ''">$(VCTargetsPath11)</VCTargetsPath>

   </PropertyGroup>

   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />

   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">

     <ConfigurationType>Utility</ConfigurationType>

     <UseOfMfc>false</UseOfMfc>

+    <PlatformToolset>v100</PlatformToolset>

   </PropertyGroup>

   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">

     <ConfigurationType>Utility</ConfigurationType>

     <UseOfMfc>false</UseOfMfc>

+    <PlatformToolset>v100</PlatformToolset>

   </PropertyGroup>

   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">

     <ConfigurationType>Utility</ConfigurationType>

     <UseOfMfc>false</UseOfMfc>

+    <PlatformToolset>v100</PlatformToolset>

   </PropertyGroup>

   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">

     <ConfigurationType>Utility</ConfigurationType>

     <UseOfMfc>false</UseOfMfc>

+    <PlatformToolset>v100</PlatformToolset>

   </PropertyGroup>

   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />

   <ImportGroup Label="ExtensionSettings">

diff --git a/lib/compface/compface.vcxproj b/lib/compface/compface.vcxproj
index b77848b..a7efce3 100644
--- a/lib/compface/compface.vcxproj
+++ b/lib/compface/compface.vcxproj
@@ -20,27 +20,32 @@
   </ItemGroup>

   <PropertyGroup Label="Globals">

     <ProjectGuid>{0E9F4403-1AA1-4824-A99F-041B1BF18D14}</ProjectGuid>

+    <VCTargetsPath Condition="'$(VCTargetsPath11)' != '' and '$(VSVersion)' == '' and $(VisualStudioVersion) == ''">$(VCTargetsPath11)</VCTargetsPath>

   </PropertyGroup>

   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />

   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">

     <ConfigurationType>StaticLibrary</ConfigurationType>

     <UseOfMfc>false</UseOfMfc>

     <CharacterSet>MultiByte</CharacterSet>

+    <PlatformToolset>v100</PlatformToolset>

   </PropertyGroup>

   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">

     <ConfigurationType>StaticLibrary</ConfigurationType>

     <UseOfMfc>false</UseOfMfc>

     <CharacterSet>MultiByte</CharacterSet>

+    <PlatformToolset>v100</PlatformToolset>

   </PropertyGroup>

   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">

     <ConfigurationType>StaticLibrary</ConfigurationType>

     <UseOfMfc>false</UseOfMfc>

     <CharacterSet>MultiByte</CharacterSet>

+    <PlatformToolset>v100</PlatformToolset>

   </PropertyGroup>

   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">

     <ConfigurationType>StaticLibrary</ConfigurationType>

     <UseOfMfc>false</UseOfMfc>

     <CharacterSet>MultiByte</CharacterSet>

+    <PlatformToolset>v100</PlatformToolset>

   </PropertyGroup>

   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />

   <ImportGroup Label="ExtensionSettings">

diff --git a/lib/dspam/dspam.vcxproj b/lib/dspam/dspam.vcxproj
index bca6fd9..5870028 100644
--- a/lib/dspam/dspam.vcxproj
+++ b/lib/dspam/dspam.vcxproj
@@ -21,27 +21,32 @@
   <PropertyGroup Label="Globals">

     <ProjectGuid>{62156246-DCEA-4713-95E0-C01F595F1A20}</ProjectGuid>

     <RootNamespace>dspam</RootNamespace>

+    <VCTargetsPath Condition="'$(VCTargetsPath11)' != '' and '$(VSVersion)' == '' and $(VisualStudioVersion) == ''">$(VCTargetsPath11)</VCTargetsPath>

   </PropertyGroup>

   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />

   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">

     <ConfigurationType>StaticLibrary</ConfigurationType>

     <UseOfMfc>false</UseOfMfc>

     <CharacterSet>MultiByte</CharacterSet>

+    <PlatformToolset>v100</PlatformToolset>

   </PropertyGroup>

   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">

     <ConfigurationType>StaticLibrary</ConfigurationType>

     <UseOfMfc>false</UseOfMfc>

     <CharacterSet>MultiByte</CharacterSet>

+    <PlatformToolset>v100</PlatformToolset>

   </PropertyGroup>

   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">

     <ConfigurationType>StaticLibrary</ConfigurationType>

     <UseOfMfc>false</UseOfMfc>

     <CharacterSet>MultiByte</CharacterSet>

+    <PlatformToolset>v100</PlatformToolset>

   </PropertyGroup>

   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">

     <ConfigurationType>StaticLibrary</ConfigurationType>

     <UseOfMfc>false</UseOfMfc>

     <CharacterSet>MultiByte</CharacterSet>

+    <PlatformToolset>v100</PlatformToolset>

   </PropertyGroup>

   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />

   <ImportGroup Label="ExtensionSettings">

diff --git a/lib/imap/imap.vcxproj b/lib/imap/imap.vcxproj
index 28d779f..3748bcf 100644
--- a/lib/imap/imap.vcxproj
+++ b/lib/imap/imap.vcxproj
@@ -21,27 +21,32 @@
   <PropertyGroup Label="Globals">

     <ProjectGuid>{457cfec8-5c3f-4c7e-98a6-b65e1de22682}</ProjectGuid>

     <RootNamespace>imap</RootNamespace>

+    <VCTargetsPath Condition="'$(VCTargetsPath11)' != '' and '$(VSVersion)' == '' and $(VisualStudioVersion) == ''">$(VCTargetsPath11)</VCTargetsPath>

   </PropertyGroup>

   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />

   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">

     <ConfigurationType>StaticLibrary</ConfigurationType>

     <UseOfMfc>false</UseOfMfc>

     <CharacterSet>MultiByte</CharacterSet>

+    <PlatformToolset>v100</PlatformToolset>

   </PropertyGroup>

   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">

     <ConfigurationType>StaticLibrary</ConfigurationType>

     <UseOfMfc>false</UseOfMfc>

     <CharacterSet>MultiByte</CharacterSet>

+    <PlatformToolset>v100</PlatformToolset>

   </PropertyGroup>

   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">

     <ConfigurationType>StaticLibrary</ConfigurationType>

     <UseOfMfc>false</UseOfMfc>

     <CharacterSet>MultiByte</CharacterSet>

+    <PlatformToolset>v100</PlatformToolset>

   </PropertyGroup>

   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">

     <ConfigurationType>StaticLibrary</ConfigurationType>

     <UseOfMfc>false</UseOfMfc>

     <CharacterSet>MultiByte</CharacterSet>

+    <PlatformToolset>v100</PlatformToolset>

   </PropertyGroup>

   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />

   <ImportGroup Label="ExtensionSettings">

diff --git a/src/wx/vcard/versit.vcxproj b/src/wx/vcard/versit.vcxproj
index 6b44d8e..c201670 100644
--- a/src/wx/vcard/versit.vcxproj
+++ b/src/wx/vcard/versit.vcxproj
@@ -21,23 +21,28 @@
   <PropertyGroup Label="Globals">

     <ProjectGuid>{E46C11C7-5924-4F7C-B82E-5BEB8856A8BC}</ProjectGuid>

     <RootNamespace>versit</RootNamespace>

+    <VCTargetsPath Condition="'$(VCTargetsPath11)' != '' and '$(VSVersion)' == '' and $(VisualStudioVersion) == ''">$(VCTargetsPath11)</VCTargetsPath>

   </PropertyGroup>

   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />

   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">

     <ConfigurationType>DynamicLibrary</ConfigurationType>

     <UseOfMfc>false</UseOfMfc>

+    <PlatformToolset>v100</PlatformToolset>

   </PropertyGroup>

   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">

     <ConfigurationType>DynamicLibrary</ConfigurationType>

     <UseOfMfc>false</UseOfMfc>

+    <PlatformToolset>v100</PlatformToolset>

   </PropertyGroup>

   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">

     <ConfigurationType>DynamicLibrary</ConfigurationType>

     <UseOfMfc>false</UseOfMfc>

+    <PlatformToolset>v100</PlatformToolset>

   </PropertyGroup>

   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">

     <ConfigurationType>DynamicLibrary</ConfigurationType>

     <UseOfMfc>false</UseOfMfc>

+    <PlatformToolset>v100</PlatformToolset>

   </PropertyGroup>

   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />

   <ImportGroup Label="ExtensionSettings">


commit 8794f02a2650a423008de84786e96ddc2897254a
Author: Vadim Zeitlin <[email protected]>
Date:   Sun Aug 19 15:27:32 2012 +0200

    Don't show folder in the main frame if we failed to reopen it.
    
    The UI got into a confusing state if opening the folder shown in the main
    frame after resume failed: it still showed the old folder contents and didn't
    allow to reopen it (it had to be closed and reopened instead).
    
    Fix this by clearing the main frame folder view in this case.

diff --git a/src/gui/wxMainFrame.cpp b/src/gui/wxMainFrame.cpp
index a4e943d..fa7b9e6 100644
--- a/src/gui/wxMainFrame.cpp
+++ b/src/gui/wxMainFrame.cpp
@@ -1346,6 +1346,11 @@ void wxMainFrame::OnPowerResume(wxPowerEvent& WXUNUSED(event))
       {
          ERRORMESSAGE((_("Failed to reopen folder \"%s\" after resuming from sleep."),
                       mf->GetName()));
+
+         // In case we failed to reopen the folder shown in the main frame,
+         // stop showing its old (pre-suspend) state now.
+         if ( mf->GetName() == m_folderName )
+            m_FolderView->SetFolder(NULL);
       }
       else
       {

commit 69395339420c0add6a742dbd4ccd37000a77d7cb
Author: Vadim Zeitlin <[email protected]>
Date:   Sun Aug 19 14:23:07 2012 +0200

    Add MSVS 2010 project files for building M and configurations using wx DLLs.
    
    Add VC10 projects, distributing binaries built using this compiler is simpler
    than with VC9 as msvc[pr]100.dll don't need any particular installation.
    
    Also, allow building Mahogany in "{Release,Debug} DLL" configurations using
    the official wxWidgets DLLs.

diff --git a/M.vcxproj b/M.vcxproj
new file mode 100644
index 0000000..72ad8e5
--- /dev/null
+++ b/M.vcxproj
@@ -0,0 +1,1533 @@
+<?xml version="1.0" encoding="utf-8"?>

+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

+  <ItemGroup Label="ProjectConfigurations">

+    <ProjectConfiguration Include="Debug DLL|Win32">

+      <Configuration>Debug DLL</Configuration>

+      <Platform>Win32</Platform>

+    </ProjectConfiguration>

+    <ProjectConfiguration Include="Debug DLL|x64">

+      <Configuration>Debug DLL</Configuration>

+      <Platform>x64</Platform>

+    </ProjectConfiguration>

+    <ProjectConfiguration Include="Debug|Win32">

+      <Configuration>Debug</Configuration>

+      <Platform>Win32</Platform>

+    </ProjectConfiguration>

+    <ProjectConfiguration Include="Debug|x64">

+      <Configuration>Debug</Configuration>

+      <Platform>x64</Platform>

+    </ProjectConfiguration>

+    <ProjectConfiguration Include="Release DLL|Win32">

+      <Configuration>Release DLL</Configuration>

+      <Platform>Win32</Platform>

+    </ProjectConfiguration>

+    <ProjectConfiguration Include="Release DLL|x64">

+      <Configuration>Release DLL</Configuration>

+      <Platform>x64</Platform>

+    </ProjectConfiguration>

+    <ProjectConfiguration Include="Release|Win32">

+      <Configuration>Release</Configuration>

+      <Platform>Win32</Platform>

+    </ProjectConfiguration>

+    <ProjectConfiguration Include="Release|x64">

+      <Configuration>Release</Configuration>

+      <Platform>x64</Platform>

+    </ProjectConfiguration>

+  </ItemGroup>

+  <PropertyGroup Label="Globals">

+    <ProjectGuid>{1515C8EB-5C72-43DF-9D3A-0703F155F268}</ProjectGuid>

+    <RootNamespace>M</RootNamespace>

+    <Keyword>Win32Proj</Keyword>

+  </PropertyGroup>

+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">

+    <ConfigurationType>Application</ConfigurationType>

+    <CharacterSet>MultiByte</CharacterSet>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'" Label="Configuration">

+    <ConfigurationType>Application</ConfigurationType>

+    <CharacterSet>MultiByte</CharacterSet>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">

+    <ConfigurationType>Application</ConfigurationType>

+    <CharacterSet>NotSet</CharacterSet>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'" Label="Configuration">

+    <ConfigurationType>Application</ConfigurationType>

+    <CharacterSet>NotSet</CharacterSet>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">

+    <ConfigurationType>Application</ConfigurationType>

+    <CharacterSet>MultiByte</CharacterSet>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'" Label="Configuration">

+    <ConfigurationType>Application</ConfigurationType>

+    <CharacterSet>MultiByte</CharacterSet>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">

+    <ConfigurationType>Application</ConfigurationType>

+    <CharacterSet>NotSet</CharacterSet>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'" Label="Configuration">

+    <ConfigurationType>Application</ConfigurationType>

+    <CharacterSet>NotSet</CharacterSet>

+  </PropertyGroup>

+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />

+  <ImportGroup Label="ExtensionSettings">

+  </ImportGroup>

+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">

+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

+  </ImportGroup>

+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'" Label="PropertySheets">

+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

+  </ImportGroup>

+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">

+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

+  </ImportGroup>

+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'" Label="PropertySheets">

+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

+  </ImportGroup>

+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">

+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

+  </ImportGroup>

+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'" Label="PropertySheets">

+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

+  </ImportGroup>

+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">

+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

+  </ImportGroup>

+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'" Label="PropertySheets">

+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

+  </ImportGroup>

+  <PropertyGroup Label="UserMacros" />

+  <PropertyGroup>

+    <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>

+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">release\</OutDir>

+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">release\</OutDir>

+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">release\</IntDir>

+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">release\</IntDir>

+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>

+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">false</LinkIncremental>

+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>

+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">$(Platform)\$(Configuration)\</OutDir>

+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>

+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">$(Platform)\$(Configuration)\</IntDir>

+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>

+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">false</LinkIncremental>

+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">debug\</OutDir>

+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">debug\</OutDir>

+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">debug\</IntDir>

+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">debug\</IntDir>

+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>

+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">true</LinkIncremental>

+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>

+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">$(Platform)\$(Configuration)\</OutDir>

+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>

+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">$(Platform)\$(Configuration)\</IntDir>

+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>

+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">true</LinkIncremental>

+  </PropertyGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">

+    <ClCompile>

+      <WholeProgramOptimization>true</WholeProgramOptimization>

+      <AdditionalIncludeDirectories>include;$(wxwin)/include/msvc;$(wxwin)/include;lib/compface;lib/imap/src/osdep/nt;lib/imap/src/c-client;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_UNICODE;wxNO_AUI_LIB;wxNO_GL_LIB;wxNO_MEDIA_LIB;wxNO_RIBBON_LIB;wxNO_RICHTEXT_LIB;wxNO_XRC_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>

+      <PrecompiledHeader>Use</PrecompiledHeader>

+      <PrecompiledHeaderFile>Mpch.h</PrecompiledHeaderFile>

+      <WarningLevel>Level4</WarningLevel>

+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

+      <CompileAs>Default</CompileAs>

+      <DisableSpecificWarnings>4100;%(DisableSpecificWarnings)</DisableSpecificWarnings>

+    </ClCompile>

+    <ResourceCompile>

+      <AdditionalIncludeDirectories>include;$(wxwin)/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+    </ResourceCompile>

+    <Link>

+      <AdditionalDependencies>lib/imap/$(IntDir)imap.lib;lib/compface/$(IntDir)compface.lib;lib/dspam/$(IntDir)dspam.lib;src\wx\vcard\$(IntDir)versit.lib;winmm.lib;comctl32.lib;rpcrt4.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>

+      <ShowProgress>NotSet</ShowProgress>

+      <OutputFile>$(OutDir)M.exe</OutputFile>

+      <AdditionalLibraryDirectories>$(wxwin)\lib\vc100_lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>

+      <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>

+      <GenerateDebugInformation>true</GenerateDebugInformation>

+      <GenerateMapFile>true</GenerateMapFile>

+      <SubSystem>Windows</SubSystem>

+      <OptimizeReferences>true</OptimizeReferences>

+      <EnableCOMDATFolding>true</EnableCOMDATFolding>

+      <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>

+      <RandomizedBaseAddress>false</RandomizedBaseAddress>

+      <DataExecutionPrevention>

+      </DataExecutionPrevention>

+      <TargetMachine>MachineX86</TargetMachine>

+    </Link>

+  </ItemDefinitionGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">

+    <ClCompile>

+      <WholeProgramOptimization>true</WholeProgramOptimization>

+      <AdditionalIncludeDirectories>include;$(wxwin)/include/msvc;$(wxwin)/include;lib/compface;lib/imap/src/osdep/nt;lib/imap/src/c-client;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_UNICODE;WXUSINGDLL;wxMSVC_VERSION_AUTO;wxNO_AUI_LIB;wxNO_GL_LIB;wxNO_MEDIA_LIB;wxNO_RIBBON_LIB;wxNO_RICHTEXT_LIB;wxNO_XRC_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>

+      <PrecompiledHeader>Use</PrecompiledHeader>

+      <PrecompiledHeaderFile>Mpch.h</PrecompiledHeaderFile>

+      <WarningLevel>Level4</WarningLevel>

+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

+      <CompileAs>Default</CompileAs>

+      <DisableSpecificWarnings>4100;%(DisableSpecificWarnings)</DisableSpecificWarnings>

+    </ClCompile>

+    <ResourceCompile>

+      <AdditionalIncludeDirectories>include;$(wxwin)/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+    </ResourceCompile>

+    <Link>

+      <AdditionalDependencies>lib/imap/$(IntDir)imap.lib;lib/compface/$(IntDir)compface.lib;lib/dspam/$(IntDir)dspam.lib;src\wx\vcard\$(IntDir)versit.lib;winmm.lib;comctl32.lib;rpcrt4.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>

+      <ShowProgress>NotSet</ShowProgress>

+      <OutputFile>$(OutDir)M.exe</OutputFile>

+      <AdditionalLibraryDirectories>$(wxwin)\lib\vc100_dll;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>

+      <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>

+      <GenerateDebugInformation>true</GenerateDebugInformation>

+      <GenerateMapFile>true</GenerateMapFile>

+      <SubSystem>Windows</SubSystem>

+      <OptimizeReferences>true</OptimizeReferences>

+      <EnableCOMDATFolding>true</EnableCOMDATFolding>

+      <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>

+      <RandomizedBaseAddress>false</RandomizedBaseAddress>

+      <DataExecutionPrevention>

+      </DataExecutionPrevention>

+      <TargetMachine>MachineX86</TargetMachine>

+    </Link>

+  </ItemDefinitionGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">

+    <Midl>

+      <TargetEnvironment>X64</TargetEnvironment>

+    </Midl>

+    <ClCompile>

+      <AdditionalIncludeDirectories>include;$(wxwin)/include/msvc;$(wxwin)/include;lib/compface;lib/imap/src/osdep/nt;lib/imap/src/c-client;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_UNICODE;wxMSVC_VERSION_AUTO;wxNO_AUI_LIB;wxNO_GL_LIB;wxNO_MEDIA_LIB;wxNO_RIBBON_LIB;wxNO_RICHTEXT_LIB;wxNO_XRC_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>

+      <PrecompiledHeader>Use</PrecompiledHeader>

+      <PrecompiledHeaderFile>Mpch.h</PrecompiledHeaderFile>

+      <WarningLevel>Level4</WarningLevel>

+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

+      <CompileAs>Default</CompileAs>

+      <DisableSpecificWarnings>4100;%(DisableSpecificWarnings)</DisableSpecificWarnings>

+    </ClCompile>

+    <ResourceCompile>

+      <AdditionalIncludeDirectories>include;$(wxwin)/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+    </ResourceCompile>

+    <Link>

+      <AdditionalDependencies>lib/imap/$(IntDir)imap.lib;lib/compface/$(IntDir)compface.lib;lib/dspam/$(IntDir)dspam.lib;src\wx\vcard\$(IntDir)versit.lib;winmm.lib;comctl32.lib;rpcrt4.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>

+      <ShowProgress>NotSet</ShowProgress>

+      <OutputFile>$(OutDir)M.exe</OutputFile>

+      <AdditionalLibraryDirectories>$(wxwin)\lib\vc_amd64_lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>

+      <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>

+      <GenerateDebugInformation>true</GenerateDebugInformation>

+      <GenerateMapFile>true</GenerateMapFile>

+      <SubSystem>Windows</SubSystem>

+      <OptimizeReferences>true</OptimizeReferences>

+      <EnableCOMDATFolding>true</EnableCOMDATFolding>

+      <RandomizedBaseAddress>false</RandomizedBaseAddress>

+      <DataExecutionPrevention>

+      </DataExecutionPrevention>

+      <TargetMachine>MachineX64</TargetMachine>

+    </Link>

+  </ItemDefinitionGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">

+    <Midl>

+      <TargetEnvironment>X64</TargetEnvironment>

+    </Midl>

+    <ClCompile>

+      <AdditionalIncludeDirectories>include;$(wxwin)/include/msvc;$(wxwin)/include;lib/compface;lib/imap/src/osdep/nt;lib/imap/src/c-client;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_UNICODE;wxMSVC_VERSION_AUTO;wxNO_AUI_LIB;wxNO_GL_LIB;wxNO_MEDIA_LIB;wxNO_RIBBON_LIB;wxNO_RICHTEXT_LIB;wxNO_XRC_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>

+      <PrecompiledHeader>Use</PrecompiledHeader>

+      <PrecompiledHeaderFile>Mpch.h</PrecompiledHeaderFile>

+      <WarningLevel>Level4</WarningLevel>

+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

+      <CompileAs>Default</CompileAs>

+      <DisableSpecificWarnings>4100;%(DisableSpecificWarnings)</DisableSpecificWarnings>

+    </ClCompile>

+    <ResourceCompile>

+      <AdditionalIncludeDirectories>include;$(wxwin)/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+    </ResourceCompile>

+    <Link>

+      <AdditionalDependencies>lib/imap/$(IntDir)imap.lib;lib/compface/$(IntDir)compface.lib;lib/dspam/$(IntDir)dspam.lib;src\wx\vcard\$(IntDir)versit.lib;winmm.lib;comctl32.lib;rpcrt4.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>

+      <ShowProgress>NotSet</ShowProgress>

+      <OutputFile>$(OutDir)M.exe</OutputFile>

+      <AdditionalLibraryDirectories>$(wxwin)\lib\vc_amd64_lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>

+      <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>

+      <GenerateDebugInformation>true</GenerateDebugInformation>

+      <GenerateMapFile>true</GenerateMapFile>

+      <SubSystem>Windows</SubSystem>

+      <OptimizeReferences>true</OptimizeReferences>

+      <EnableCOMDATFolding>true</EnableCOMDATFolding>

+      <RandomizedBaseAddress>false</RandomizedBaseAddress>

+      <DataExecutionPrevention>

+      </DataExecutionPrevention>

+      <TargetMachine>MachineX64</TargetMachine>

+    </Link>

+  </ItemDefinitionGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">

+    <ClCompile>

+      <AdditionalOptions>/Zm110 %(AdditionalOptions)</AdditionalOptions>

+      <Optimization>Disabled</Optimization>

+      <AdditionalIncludeDirectories>include;$(wxwin)/include/msvc;$(wxwin)/include;lib/compface;lib/imap/src/osdep/nt;lib/imap/src/c-client;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_UNICODE;wxMSVC_VERSION_AUTO;wxNO_AUI_LIB;wxNO_GL_LIB;wxNO_MEDIA_LIB;wxNO_RIBBON_LIB;wxNO_RICHTEXT_LIB;wxNO_XRC_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <MinimalRebuild>true</MinimalRebuild>

+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>

+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>

+      <PrecompiledHeader>Use</PrecompiledHeader>

+      <PrecompiledHeaderFile>Mpch.h</PrecompiledHeaderFile>

+      <WarningLevel>Level4</WarningLevel>

+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

+      <CompileAs>Default</CompileAs>

+      <DisableSpecificWarnings>4100;%(DisableSpecificWarnings)</DisableSpecificWarnings>

+    </ClCompile>

+    <ResourceCompile>

+      <AdditionalIncludeDirectories>include;$(wxwin)/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+    </ResourceCompile>

+    <Link>

+      <AdditionalDependencies>lib/imap/$(IntDir)imap.lib;lib/compface/$(IntDir)compface.lib;lib/dspam/$(IntDir)dspam.lib;src\wx\vcard\$(IntDir)versit.lib;winmm.lib;comctl32.lib;rpcrt4.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>

+      <OutputFile>$(OutDir)M.exe</OutputFile>

+      <AdditionalLibraryDirectories>$(wxwin)\lib\vc100_lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>

+      <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>

+      <GenerateDebugInformation>true</GenerateDebugInformation>

+      <SubSystem>Windows</SubSystem>

+      <StackReserveSize>10000000</StackReserveSize>

+      <RandomizedBaseAddress>false</RandomizedBaseAddress>

+      <DataExecutionPrevention>

+      </DataExecutionPrevention>

+      <TargetMachine>MachineX86</TargetMachine>

+    </Link>

+  </ItemDefinitionGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">

+    <ClCompile>

+      <AdditionalOptions>/Zm110 %(AdditionalOptions)</AdditionalOptions>

+      <Optimization>Disabled</Optimization>

+      <AdditionalIncludeDirectories>include;$(wxwin)/include/msvc;$(wxwin)/include;lib/compface;lib/imap/src/osdep/nt;lib/imap/src/c-client;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_UNICODE;WXUSINGDLL;wxMSVC_VERSION_AUTO;wxNO_AUI_LIB;wxNO_GL_LIB;wxNO_MEDIA_LIB;wxNO_RIBBON_LIB;wxNO_RICHTEXT_LIB;wxNO_XRC_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <MinimalRebuild>true</MinimalRebuild>

+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>

+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>

+      <PrecompiledHeader>Use</PrecompiledHeader>

+      <PrecompiledHeaderFile>Mpch.h</PrecompiledHeaderFile>

+      <WarningLevel>Level4</WarningLevel>

+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

+      <CompileAs>Default</CompileAs>

+      <DisableSpecificWarnings>4100;%(DisableSpecificWarnings)</DisableSpecificWarnings>

+    </ClCompile>

+    <ResourceCompile>

+      <AdditionalIncludeDirectories>include;$(wxwin)/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+    </ResourceCompile>

+    <Link>

+      <AdditionalDependencies>lib/imap/$(IntDir)imap.lib;lib/compface/$(IntDir)compface.lib;lib/dspam/$(IntDir)dspam.lib;src\wx\vcard\$(IntDir)versit.lib;winmm.lib;comctl32.lib;rpcrt4.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>

+      <OutputFile>$(OutDir)M.exe</OutputFile>

+      <AdditionalLibraryDirectories>$(wxwin)\lib\vc100_dll;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>

+      <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>

+      <GenerateDebugInformation>true</GenerateDebugInformation>

+      <SubSystem>Windows</SubSystem>

+      <StackReserveSize>10000000</StackReserveSize>

+      <RandomizedBaseAddress>false</RandomizedBaseAddress>

+      <DataExecutionPrevention>

+      </DataExecutionPrevention>

+      <TargetMachine>MachineX86</TargetMachine>

+    </Link>

+  </ItemDefinitionGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">

+    <Midl>

+      <TargetEnvironment>X64</TargetEnvironment>

+    </Midl>

+    <ClCompile>

+      <Optimization>Disabled</Optimization>

+      <AdditionalIncludeDirectories>include;$(wxwin)/include/msvc;$(wxwin)/include;lib/compface;lib/imap/src/osdep/nt;lib/imap/src/c-client;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_UNICODE;wxMSVC_VERSION_AUTO;wxNO_AUI_LIB;wxNO_GL_LIB;wxNO_MEDIA_LIB;wxNO_RIBBON_LIB;wxNO_RICHTEXT_LIB;wxNO_XRC_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <MinimalRebuild>true</MinimalRebuild>

+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>

+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>

+      <PrecompiledHeader>Use</PrecompiledHeader>

+      <PrecompiledHeaderFile>Mpch.h</PrecompiledHeaderFile>

+      <WarningLevel>Level4</WarningLevel>

+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

+      <CompileAs>Default</CompileAs>

+      <DisableSpecificWarnings>4100;%(DisableSpecificWarnings)</DisableSpecificWarnings>

+    </ClCompile>

+    <ResourceCompile>

+      <AdditionalIncludeDirectories>include;$(wxwin)/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+    </ResourceCompile>

+    <Link>

+      <AdditionalDependencies>lib/imap/$(IntDir)imap.lib;lib/compface/$(IntDir)compface.lib;lib/dspam/$(IntDir)dspam.lib;src\wx\vcard\$(IntDir)versit.lib;winmm.lib;comctl32.lib;rpcrt4.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>

+      <OutputFile>$(OutDir)M.exe</OutputFile>

+      <AdditionalLibraryDirectories>$(wxwin)\lib\vc_amd64_lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>

+      <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>

+      <GenerateDebugInformation>true</GenerateDebugInformation>

+      <SubSystem>Windows</SubSystem>

+      <StackReserveSize>10000000</StackReserveSize>

+      <RandomizedBaseAddress>false</RandomizedBaseAddress>

+      <DataExecutionPrevention>

+      </DataExecutionPrevention>

+      <TargetMachine>MachineX64</TargetMachine>

+    </Link>

+  </ItemDefinitionGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">

+    <Midl>

+      <TargetEnvironment>X64</TargetEnvironment>

+    </Midl>

+    <ClCompile>

+      <Optimization>Disabled</Optimization>

+      <AdditionalIncludeDirectories>include;$(wxwin)/include/msvc;$(wxwin)/include;lib/compface;lib/imap/src/osdep/nt;lib/imap/src/c-client;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_UNICODE;wxMSVC_VERSION_AUTO;wxNO_AUI_LIB;wxNO_GL_LIB;wxNO_MEDIA_LIB;wxNO_RIBBON_LIB;wxNO_RICHTEXT_LIB;wxNO_XRC_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <MinimalRebuild>true</MinimalRebuild>

+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>

+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>

+      <PrecompiledHeader>Use</PrecompiledHeader>

+      <PrecompiledHeaderFile>Mpch.h</PrecompiledHeaderFile>

+      <WarningLevel>Level4</WarningLevel>

+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

+      <CompileAs>Default</CompileAs>

+      <DisableSpecificWarnings>4100;%(DisableSpecificWarnings)</DisableSpecificWarnings>

+    </ClCompile>

+    <ResourceCompile>

+      <AdditionalIncludeDirectories>include;$(wxwin)/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+    </ResourceCompile>

+    <Link>

+      <AdditionalDependencies>lib/imap/$(IntDir)imap.lib;lib/compface/$(IntDir)compface.lib;lib/dspam/$(IntDir)dspam.lib;src\wx\vcard\$(IntDir)versit.lib;winmm.lib;comctl32.lib;rpcrt4.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>

+      <OutputFile>$(OutDir)M.exe</OutputFile>

+      <AdditionalLibraryDirectories>$(wxwin)\lib\vc_amd64_lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>

+      <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>

+      <GenerateDebugInformation>true</GenerateDebugInformation>

+      <SubSystem>Windows</SubSystem>

+      <StackReserveSize>10000000</StackReserveSize>

+      <RandomizedBaseAddress>false</RandomizedBaseAddress>

+      <DataExecutionPrevention>

+      </DataExecutionPrevention>

+      <TargetMachine>MachineX64</TargetMachine>

+    </Link>

+  </ItemDefinitionGroup>

+  <ItemGroup>

+    <ClCompile Include="src\classes\CacheFile.cpp" />

+    <ClCompile Include="src\classes\ComposeTemplate.cpp" />

+    <ClCompile Include="src\classes\ConfigSource.cpp" />

+    <ClCompile Include="src\classes\ConfigSourcesAll.cpp" />

+    <ClCompile Include="src\classes\FolderMonitor.cpp" />

+    <ClCompile Include="src\classes\FolderView.cpp" />

+    <ClCompile Include="src\classes\kbList.cpp" />

+    <ClCompile Include="src\classes\ListReceiver.cpp" />

+    <ClCompile Include="src\classes\MApplication.cpp" />

+    <ClCompile Include="src\classes\MessageTemplate.cpp" />

+    <ClCompile Include="src\classes\MessageView.cpp" />

+    <ClCompile Include="src\classes\MEvent.cpp" />

+    <ClCompile Include="src\classes\MFilter.cpp" />

+    <ClCompile Include="src\classes\MFolder.cpp" />

+    <ClCompile Include="src\classes\MModule.cpp" />

+    <ClCompile Include="src\classes\MObject.cpp">

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">Create</PrecompiledHeader>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">Create</PrecompiledHeader>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">Create</PrecompiledHeader>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">Create</PrecompiledHeader>

+    </ClCompile>

+    <ClCompile Include="src\classes\Moptions.cpp" />

+    <ClCompile Include="src\classes\Mpers.cpp" />

+    <ClCompile Include="src\classes\NewMailNotifier.cpp" />

+    <ClCompile Include="src\classes\PathFinder.cpp" />

+    <ClCompile Include="src\classes\PGPClickInfo.cpp" />

+    <ClCompile Include="src\classes\Profile.cpp" />

+    <ClCompile Include="src\classes\QuotedText.cpp" />

+    <ClCompile Include="src\classes\Sequence.cpp" />

+    <ClCompile Include="src\classes\XFace.cpp">

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">SYSV32;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">SYSV32;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">SYSV32;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">SYSV32;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">SYSV32;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">SYSV32;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">SYSV32;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">SYSV32;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+    </ClCompile>

+    <ClCompile Include="src\gui\AddressExpander.cpp" />

+    <ClCompile Include="src\gui\ClickAtt.cpp" />

+    <ClCompile Include="src\gui\ClickURL.cpp" />

+    <ClCompile Include="src\gui\ConfigSourceChoice.cpp" />

+    <ClCompile Include="src\gui\CreateFolderWizard.cpp" />

+    <ClCompile Include="src\gui\ImportFoldersWizard.cpp" />

+    <ClCompile Include="src\gui\Mdnd.cpp" />

+    <ClCompile Include="src\gui\MImport.cpp" />

+    <ClCompile Include="src\gui\wxAttachDialog.cpp" />

+    <ClCompile Include="src\gui\wxBrowseButton.cpp" />

+    <ClCompile Include="src\gui\wxColumnsDlg.cpp" />

+    <ClCompile Include="src\gui\wxComposeView.cpp" />

+    <ClCompile Include="src\gui\wxDialogLayout.cpp" />

+    <ClCompile Include="src\gui\wxFiltersDialog.cpp" />

+    <ClCompile Include="src\gui\wxFolderMenu.cpp" />

+    <ClCompile Include="src\gui\wxFolderTree.cpp" />

+    <ClCompile Include="src\gui\wxFolderView.cpp" />

+    <ClCompile Include="src\gui\wxHeadersDialogs.cpp" />

+    <ClCompile Include="src\gui\wxIconManager.cpp" />

+    <ClCompile Include="src\gui\wxMainFrame.cpp" />

+    <ClCompile Include="src\gui\wxMApp.cpp" />

+    <ClCompile Include="src\gui\wxMDialogs.cpp" />

+    <ClCompile Include="src\gui\wxMenuDefs.cpp" />

+    <ClCompile Include="src\gui\wxMessageView.cpp" />

+    <ClCompile Include="src\gui\wxMFolderDialogs.cpp" />

+    <ClCompile Include="src\gui\wxMFrame.cpp" />

+    <ClCompile Include="src\gui\wxMGuiUtils.cpp" />

+    <ClCompile Include="src\gui\wxMimeDialog.cpp" />

+    <ClCompile Include="src\gui\wxMIMETreeDialog.cpp" />

+    <ClCompile Include="src\gui\wxModulesDlg.cpp" />

+    <ClCompile Include="src\gui\wxMsgCmdProc.cpp" />

+    <ClCompile Include="src\gui\wxMSplash.cpp" />

+    <ClCompile Include="src\gui\wxOptionsDlg.cpp" />

+    <ClCompile Include="src\gui\wxRenameDialog.cpp" />

+    <ClCompile Include="src\gui\wxSearchDialog.cpp" />

+    <ClCompile Include="src\gui\wxSortDialog.cpp" />

+    <ClCompile Include="src\gui\wxSubfoldersDialog.cpp" />

+    <ClCompile Include="src\gui\wxTemplateDialog.cpp" />

+    <ClCompile Include="src\gui\wxTextDialog.cpp" />

+    <ClCompile Include="src\gui\wxThrDialog.cpp" />

+    <ClCompile Include="src\gui\wxllist.cpp" />

+    <ClCompile Include="src\gui\wxlparser.cpp" />

+    <ClCompile Include="src\gui\wxlwindow.cpp" />

+    <ClCompile Include="src\wx\generic\persctrl.cpp">

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Use</PrecompiledHeader>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">Use</PrecompiledHeader>

+      <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">wx/wxprec.h</PrecompiledHeaderFile>

+      <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">wx/wxprec.h</PrecompiledHeaderFile>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Use</PrecompiledHeader>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">Use</PrecompiledHeader>

+      <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">wx/wxprec.h</PrecompiledHeaderFile>

+      <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">wx/wxprec.h</PrecompiledHeaderFile>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">

+      </PrecompiledHeader>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">

+      </PrecompiledHeader>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">

+      </PrecompiledHeader>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">

+      </PrecompiledHeader>

+    </ClCompile>

+    <ClCompile Include="src\mail\Address.cpp" />

+    <ClCompile Include="src\mail\AddressCC.cpp" />

+    <ClCompile Include="src\mail\ASMailFolder.cpp" />

+    <ClCompile Include="src\mail\FolderType.cpp" />

+    <ClCompile Include="src\mail\HeaderInfoImpl.cpp" />

+    <ClCompile Include="src\mail\HeaderIterator.cpp" />

+    <ClCompile Include="src\mail\LogCircle.cpp" />

+    <ClCompile Include="src\mail\MailFolder.cpp" />

+    <ClCompile Include="src\mail\MailFolderCC.cpp" />

+    <ClCompile Include="src\mail\MailFolderCmn.cpp" />

+    <ClCompile Include="src\mail\MailMH.cpp" />

+    <ClCompile Include="src\mail\Message.cpp" />

+    <ClCompile Include="src\mail\MessageCC.cpp" />

+    <ClCompile Include="src\mail\MFCache.cpp" />

+    <ClCompile Include="src\mail\MFDriver.cpp" />

+    <ClCompile Include="src\mail\MFPool.cpp" />

+    <ClCompile Include="src\mail\MFui.cpp" />

+    <ClCompile Include="src\mail\MimeDecode.cpp" />

+    <ClCompile Include="src\mail\MimePartCC.cpp" />

+    <ClCompile Include="src\mail\MimePartCCBase.cpp" />

+    <ClCompile Include="src\mail\MimePartVirtual.cpp" />

+    <ClCompile Include="src\mail\MimeType.cpp" />

+    <ClCompile Include="src\mail\Pop3.cpp" />

+    <ClCompile Include="src\mail\SendMessageCC.cpp" />

+    <ClCompile Include="src\mail\Sorting.cpp" />

+    <ClCompile Include="src\mail\SpamFilter.cpp" />

+    <ClCompile Include="src\mail\Threading.cpp" />

+    <ClCompile Include="src\mail\ThreadJWZ.cpp" />

+    <ClCompile Include="src\mail\VFolder.cpp" />

+    <ClCompile Include="src\mail\VMessage.cpp" />

+    <ClCompile Include="src\adb\AdbDialogs.cpp" />

+    <ClCompile Include="src\adb\AdbEntry.cpp" />

+    <ClCompile Include="src\adb\AdbExport.cpp" />

+    <ClCompile Include="src\adb\AdbFrame.cpp" />

+    <ClCompile Include="src\adb\AdbImport.cpp" />

+    <ClCompile Include="src\adb\AdbManager.cpp" />

+    <ClCompile Include="src\adb\AdbModule.cpp" />

+    <ClCompile Include="src\adb\AdbProvider.cpp" />

+    <ClCompile Include="src\adb\Collect.cpp" />

+    <ClCompile Include="src\adb\ProvBbdb.cpp">

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">true</ExcludedFromBuild>

+    </ClCompile>

+    <ClCompile Include="src\adb\ProvDummy.cpp" />

+    <ClCompile Include="src\adb\ProvFC.cpp" />

+    <ClCompile Include="src\adb\ProvLine.cpp">

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">true</ExcludedFromBuild>

+    </ClCompile>

+    <ClCompile Include="src\adb\ProvPalm.cpp">

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">true</ExcludedFromBuild>

+    </ClCompile>

+    <ClCompile Include="src\adb\ProvPasswd.cpp">

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">true</ExcludedFromBuild>

+    </ClCompile>

+    <ClCompile Include="src\adb\ExportPalm.cpp" />

+    <ClCompile Include="src\adb\ExportText.cpp" />

+    <ClCompile Include="src\adb\ExportVCard.cpp" />

+    <ClCompile Include="src\adb\ImportEudora.cpp" />

+    <ClCompile Include="src\adb\ImportMailrc.cpp">

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">true</ExcludedFromBuild>

+    </ClCompile>

+    <ClCompile Include="src\adb\ImportPine.cpp" />

+    <ClCompile Include="src\adb\ImportText.cpp" />

+    <ClCompile Include="src\adb\ImportVCard.cpp" />

+    <ClCompile Include="src\adb\ImportXFMail.cpp">

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">true</ExcludedFromBuild>

+    </ClCompile>

+    <ClCompile Include="src\Python\InitPython.cpp" />

+    <ClCompile Include="src\Python\PythonDll.cpp" />

+    <ClCompile Include="src\Python\PythonHelp.cpp" />

+    <ClCompile Include="src\Python\HeaderInfo_swig.cpp">

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">

+      </PrecompiledHeader>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">

+      </PrecompiledHeader>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Level1</WarningLevel>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">Level1</WarningLevel>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">true</ExcludedFromBuild>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">

+      </PrecompiledHeader>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">

+      </PrecompiledHeader>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Level1</WarningLevel>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">Level1</WarningLevel>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">

+      </PrecompiledHeader>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">

+      </PrecompiledHeader>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Level1</WarningLevel>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">Level1</WarningLevel>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">true</ExcludedFromBuild>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">

+      </PrecompiledHeader>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">

+      </PrecompiledHeader>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Level1</WarningLevel>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">Level1</WarningLevel>

+    </ClCompile>

+    <ClCompile Include="src\Python\MailFolder_swig.cpp">

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">

+      </PrecompiledHeader>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">

+      </PrecompiledHeader>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Level1</WarningLevel>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">Level1</WarningLevel>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">true</ExcludedFromBuild>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">

+      </PrecompiledHeader>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">

+      </PrecompiledHeader>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Level1</WarningLevel>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">Level1</WarningLevel>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">

+      </PrecompiledHeader>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">

+      </PrecompiledHeader>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Level1</WarningLevel>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">Level1</WarningLevel>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">true</ExcludedFromBuild>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">

+      </PrecompiledHeader>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">

+      </PrecompiledHeader>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Level1</WarningLevel>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">Level1</WarningLevel>

+    </ClCompile>

+    <ClCompile Include="src\Python\MDialogs_swig.cpp">

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">

+      </PrecompiledHeader>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">

+      </PrecompiledHeader>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Level1</WarningLevel>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">Level1</WarningLevel>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">true</ExcludedFromBuild>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">

+      </PrecompiledHeader>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">

+      </PrecompiledHeader>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Level1</WarningLevel>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">Level1</WarningLevel>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">

+      </PrecompiledHeader>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">

+      </PrecompiledHeader>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Level1</WarningLevel>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">Level1</WarningLevel>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">true</ExcludedFromBuild>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">

+      </PrecompiledHeader>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">

+      </PrecompiledHeader>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Level1</WarningLevel>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">Level1</WarningLevel>

+    </ClCompile>

+    <ClCompile Include="src\Python\Message_swig.cpp">

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">

+      </PrecompiledHeader>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">

+      </PrecompiledHeader>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Level1</WarningLevel>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">Level1</WarningLevel>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">true</ExcludedFromBuild>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">

+      </PrecompiledHeader>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">

+      </PrecompiledHeader>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Level1</WarningLevel>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">Level1</WarningLevel>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">

+      </PrecompiledHeader>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">

+      </PrecompiledHeader>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Level1</WarningLevel>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">Level1</WarningLevel>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">true</ExcludedFromBuild>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">

+      </PrecompiledHeader>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">

+      </PrecompiledHeader>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Level1</WarningLevel>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">Level1</WarningLevel>

+    </ClCompile>

+    <ClCompile Include="src\Python\MimePart_swig.cpp">

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">

+      </PrecompiledHeader>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">

+      </PrecompiledHeader>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Level1</WarningLevel>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">Level1</WarningLevel>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">true</ExcludedFromBuild>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">

+      </PrecompiledHeader>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">

+      </PrecompiledHeader>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Level1</WarningLevel>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">Level1</WarningLevel>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">

+      </PrecompiledHeader>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">

+      </PrecompiledHeader>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Level1</WarningLevel>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">Level1</WarningLevel>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">true</ExcludedFromBuild>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">

+      </PrecompiledHeader>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">

+      </PrecompiledHeader>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Level1</WarningLevel>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">Level1</WarningLevel>

+    </ClCompile>

+    <ClCompile Include="src\Python\MimeType_swig.cpp">

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">

+      </PrecompiledHeader>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">

+      </PrecompiledHeader>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Level1</WarningLevel>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">Level1</WarningLevel>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">true</ExcludedFromBuild>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">

+      </PrecompiledHeader>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">

+      </PrecompiledHeader>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Level1</WarningLevel>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">Level1</WarningLevel>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">

+      </PrecompiledHeader>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">

+      </PrecompiledHeader>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Level1</WarningLevel>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">Level1</WarningLevel>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">true</ExcludedFromBuild>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">

+      </PrecompiledHeader>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">

+      </PrecompiledHeader>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Level1</WarningLevel>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">Level1</WarningLevel>

+    </ClCompile>

+    <ClCompile Include="src\Python\SendMessage_swig.cpp">

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">

+      </PrecompiledHeader>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">

+      </PrecompiledHeader>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Level1</WarningLevel>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">Level1</WarningLevel>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">true</ExcludedFromBuild>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">

+      </PrecompiledHeader>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">

+      </PrecompiledHeader>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Level1</WarningLevel>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">Level1</WarningLevel>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">

+      </PrecompiledHeader>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">

+      </PrecompiledHeader>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Level1</WarningLevel>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">Level1</WarningLevel>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">true</ExcludedFromBuild>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">STATIC_LINKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">

+      </PrecompiledHeader>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">

+      </PrecompiledHeader>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Level1</WarningLevel>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">Level1</WarningLevel>

+    </ClCompile>

+    <ClCompile Include="src\Python\swiglib_swig.cpp">

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">STATIC_LINKED;SWIG_GLOBAL;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">STATIC_LINKED;SWIG_GLOBAL;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">

+      </PrecompiledHeader>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">

+      </PrecompiledHeader>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Level1</WarningLevel>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">Level1</WarningLevel>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">true</ExcludedFromBuild>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">STATIC_LINKED;SWIG_GLOBAL;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">STATIC_LINKED;SWIG_GLOBAL;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">

+      </PrecompiledHeader>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">

+      </PrecompiledHeader>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Level1</WarningLevel>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">Level1</WarningLevel>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">STATIC_LINKED;SWIG_GLOBAL;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">STATIC_LINKED;SWIG_GLOBAL;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">

+      </PrecompiledHeader>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">

+      </PrecompiledHeader>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Level1</WarningLevel>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">Level1</WarningLevel>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">true</ExcludedFromBuild>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">STATIC_LINKED;SWIG_GLOBAL;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">STATIC_LINKED;SWIG_GLOBAL;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">

+      </PrecompiledHeader>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">

+      </PrecompiledHeader>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Level1</WarningLevel>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">Level1</WarningLevel>

+    </ClCompile>

+    <ClCompile Include="src\util\ColourNames.cpp" />

+    <ClCompile Include="src\util\matchurl.cpp" />

+    <ClCompile Include="src\util\ssl.cpp" />

+    <ClCompile Include="src\util\strutil.cpp">

+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">lib/imap/src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">lib/imap/src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">lib/imap/src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">lib/imap/src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">lib/imap/src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">lib/imap/src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">lib/imap/src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">lib/imap/src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+    </ClCompile>

+    <ClCompile Include="src\util\sysutil.cpp" />

+    <ClCompile Include="src\util\twofish2.c">

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">

+      </PrecompiledHeader>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">

+      </PrecompiledHeader>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">TurnOffAllWarnings</WarningLevel>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">TurnOffAllWarnings</WarningLevel>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">

+      </PrecompiledHeader>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">

+      </PrecompiledHeader>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">TurnOffAllWarnings</WarningLevel>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">TurnOffAllWarnings</WarningLevel>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">

+      </PrecompiledHeader>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">

+      </PrecompiledHeader>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">TurnOffAllWarnings</WarningLevel>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">TurnOffAllWarnings</WarningLevel>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">

+      </PrecompiledHeader>

+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">

+      </PrecompiledHeader>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Release|x64'">TurnOffAllWarnings</WarningLevel>

+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">TurnOffAllWarnings</WarningLevel>

+    </ClCompile>

+    <ClCompile Include="src\util\upgrade.cpp" />

+    <ClCompile Include="src\modules\Calendar.cpp">

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">true</ExcludedFromBuild>

+    </ClCompile>

+    <ClCompile Include="src\modules\Filters.cpp" />

+    <ClCompile Include="src\modules\Mdummy.cpp">

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">true</ExcludedFromBuild>

+    </ClCompile>

+    <ClCompile Include="src\modules\Migrate.cpp" />

+    <ClCompile Include="src\modules\PalmOS.cpp">

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>

+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">true</ExcludedFromBuild>

+    </ClCompile>

+    <ClCompile Include="src\modules\viewflt\PGP.cpp" />

+    <ClCompile Include="src\modules\viewflt\QuoteURL.cpp" />

+    <ClCompile Include="src\modules\viewflt\Rot13.cpp" />

+    <ClCompile Include="src\modules\viewflt\Signature.cpp" />

+    <ClCompile Include="src\modules\viewflt\TextMarkup.cpp" />

+    <ClCompile Include="src\modules\viewflt\Trailer.cpp" />

+    <ClCompile Include="src\modules\viewflt\UUDecode.cpp" />

+    <ClCompile Include="src\modules\HtmlViewer.cpp" />

+    <ClCompile Include="src\modules\LayoutViewer.cpp" />

+    <ClCompile Include="src\modules\TextViewer.cpp" />

+    <ClCompile Include="src\modules\BareBonesEditor.cpp" />

+    <ClCompile Include="src\modules\LayoutEditor.cpp" />

+    <ClCompile Include="src\modules\NetscapeImporter.cpp" />

+    <ClCompile Include="src\modules\PineImport.cpp" />

+    <ClCompile Include="src\modules\XFMailImport.cpp" />

+    <ClCompile Include="src\modules\crypt\PGPEngine.cpp" />

+    <ClCompile Include="src\modules\spam\DspamFilter.cpp">

+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">lib/dspam/src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">lib/dspam/src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">lib/dspam/src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">lib/dspam/src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">lib/dspam/src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">lib/dspam/src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">lib/dspam/src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">lib/dspam/src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+    </ClCompile>

+    <ClCompile Include="src\modules\spam\HeadersFilter.cpp" />

+    <ClCompile Include="src\modules\spam\ServerSideFilter.cpp" />

+    <ClCompile Include="src\wx\common\vcard.cpp">

+      <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">wx/wxprec.h</PrecompiledHeaderFile>

+      <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">wx/wxprec.h</PrecompiledHeaderFile>

+      <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">wx/wxprec.h</PrecompiledHeaderFile>

+      <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">wx/wxprec.h</PrecompiledHeaderFile>

+      <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">wx/wxprec.h</PrecompiledHeaderFile>

+      <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">wx/wxprec.h</PrecompiledHeaderFile>

+      <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|x64'">wx/wxprec.h</PrecompiledHeaderFile>

+      <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">wx/wxprec.h</PrecompiledHeaderFile>

+    </ClCompile>

+    <ClCompile Include="src\wx\generic\vcarddlg.cpp">

+      <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">wx/wxprec.h</PrecompiledHeaderFile>

+      <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">wx/wxprec.h</PrecompiledHeaderFile>

+      <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">wx/wxprec.h</PrecompiledHeaderFile>

+      <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">wx/wxprec.h</PrecompiledHeaderFile>

+      <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">wx/wxprec.h</PrecompiledHeaderFile>

+      <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">wx/wxprec.h</PrecompiledHeaderFile>

+      <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|x64'">wx/wxprec.h</PrecompiledHeaderFile>

+      <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">wx/wxprec.h</PrecompiledHeaderFile>

+    </ClCompile>

+  </ItemGroup>

+  <ItemGroup>

+    <CustomBuild Include="include\MInterface.mid">

+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Creating MInterface.h and .cpp</Message>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">Creating MInterface.h and .cpp</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">extra\scripts\m4.bat %(RootDir)%(Directory) %(RootDir)%(Directory)

+</Command>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">extra\scripts\m4.bat %(RootDir)%(Directory) %(RootDir)%(Directory)

+</Command>

+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(RootDir)%(Directory)/MInterface.mid;%(RootDir)%(Directory)/MInterface.cpp.m4;%(RootDir)%(Directory)/MInterface.h.m4;%(RootDir)%(Directory)/mid2cpp.m4;%(RootDir)%(Directory)/mid2h.m4;%(AdditionalInputs)</AdditionalInputs>

+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">%(RootDir)%(Directory)/MInterface.mid;%(RootDir)%(Directory)/MInterface.cpp.m4;%(RootDir)%(Directory)/MInterface.h.m4;%(RootDir)%(Directory)/mid2cpp.m4;%(RootDir)%(Directory)/mid2h.m4;%(AdditionalInputs)</AdditionalInputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(RootDir)%(Directory)/MInterface.cpp;%(RootDir)%(Directory)/MInterface.h;%(Outputs)</Outputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">%(RootDir)%(Directory)/MInterface.cpp;%(RootDir)%(Directory)/MInterface.h;%(Outputs)</Outputs>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Creating MInterface.h and .cpp</Message>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">Creating MInterface.h and .cpp</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">extra\scripts\m4.bat %(RootDir)%(Directory) %(RootDir)%(Directory)

+</Command>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">extra\scripts\m4.bat %(RootDir)%(Directory) %(RootDir)%(Directory)

+</Command>

+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(RootDir)%(Directory)/MInterface.mid;%(RootDir)%(Directory)/MInterface.cpp.m4;%(RootDir)%(Directory)/MInterface.h.m4;%(RootDir)%(Directory)/mid2cpp.m4;%(RootDir)%(Directory)/mid2h.m4;%(AdditionalInputs)</AdditionalInputs>

+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">%(RootDir)%(Directory)/MInterface.mid;%(RootDir)%(Directory)/MInterface.cpp.m4;%(RootDir)%(Directory)/MInterface.h.m4;%(RootDir)%(Directory)/mid2cpp.m4;%(RootDir)%(Directory)/mid2h.m4;%(AdditionalInputs)</AdditionalInputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(RootDir)%(Directory)/MInterface.cpp;%(RootDir)%(Directory)/MInterface.h;%(Outputs)</Outputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">%(RootDir)%(Directory)/MInterface.cpp;%(RootDir)%(Directory)/MInterface.h;%(Outputs)</Outputs>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Creating MInterface.h and .cpp</Message>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">Creating MInterface.h and .cpp</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">extra\scripts\m4.bat %(RootDir)%(Directory) %(RootDir)%(Directory)

+</Command>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">extra\scripts\m4.bat %(RootDir)%(Directory) %(RootDir)%(Directory)

+</Command>

+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(RootDir)%(Directory)/MInterface.mid;%(RootDir)%(Directory)/MInterface.cpp.m4;%(RootDir)%(Directory)/MInterface.h.m4;%(RootDir)%(Directory)/mid2cpp.m4;%(RootDir)%(Directory)/mid2h.m4;%(AdditionalInputs)</AdditionalInputs>

+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">%(RootDir)%(Directory)/MInterface.mid;%(RootDir)%(Directory)/MInterface.cpp.m4;%(RootDir)%(Directory)/MInterface.h.m4;%(RootDir)%(Directory)/mid2cpp.m4;%(RootDir)%(Directory)/mid2h.m4;%(AdditionalInputs)</AdditionalInputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(RootDir)%(Directory)/MInterface.cpp;%(RootDir)%(Directory)/MInterface.h;%(Outputs)</Outputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">%(RootDir)%(Directory)/MInterface.cpp;%(RootDir)%(Directory)/MInterface.h;%(Outputs)</Outputs>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Creating MInterface.h and .cpp</Message>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">Creating MInterface.h and .cpp</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">extra\scripts\m4.bat %(RootDir)%(Directory) %(RootDir)%(Directory)

+</Command>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">extra\scripts\m4.bat %(RootDir)%(Directory) %(RootDir)%(Directory)

+</Command>

+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(RootDir)%(Directory)/MInterface.mid;%(RootDir)%(Directory)/MInterface.cpp.m4;%(RootDir)%(Directory)/MInterface.h.m4;%(RootDir)%(Directory)/mid2cpp.m4;%(RootDir)%(Directory)/mid2h.m4;%(AdditionalInputs)</AdditionalInputs>

+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">%(RootDir)%(Directory)/MInterface.mid;%(RootDir)%(Directory)/MInterface.cpp.m4;%(RootDir)%(Directory)/MInterface.h.m4;%(RootDir)%(Directory)/mid2cpp.m4;%(RootDir)%(Directory)/mid2h.m4;%(AdditionalInputs)</AdditionalInputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(RootDir)%(Directory)/MInterface.cpp;%(RootDir)%(Directory)/MInterface.h;%(Outputs)</Outputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">%(RootDir)%(Directory)/MInterface.cpp;%(RootDir)%(Directory)/MInterface.h;%(Outputs)</Outputs>

+    </CustomBuild>

+    <CustomBuild Include="src\Python\HeaderInfo.cpp-swig">

+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Updating SWIG-generated sources</Message>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">Updating SWIG-generated sources</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Updating SWIG-generated sources</Message>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">Updating SWIG-generated sources</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Updating SWIG-generated sources</Message>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">Updating SWIG-generated sources</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Updating SWIG-generated sources</Message>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">Updating SWIG-generated sources</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+    </CustomBuild>

+    <CustomBuild Include="src\Python\MailFolder.cpp-swig">

+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Updating SWIG-generated sources</Message>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">Updating SWIG-generated sources</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Updating SWIG-generated sources</Message>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">Updating SWIG-generated sources</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Updating SWIG-generated sources</Message>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">Updating SWIG-generated sources</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Updating SWIG-generated sources</Message>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">Updating SWIG-generated sources</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+    </CustomBuild>

+    <CustomBuild Include="src\Python\MDialogs.cpp-swig">

+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Updating SWIG-generated sources</Message>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">Updating SWIG-generated sources</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Updating SWIG-generated sources</Message>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">Updating SWIG-generated sources</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Updating SWIG-generated sources</Message>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">Updating SWIG-generated sources</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Updating SWIG-generated sources</Message>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">Updating SWIG-generated sources</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+    </CustomBuild>

+    <CustomBuild Include="src\Python\Message.cpp-swig">

+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Updating SWIG-generated sources</Message>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">Updating SWIG-generated sources</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Updating SWIG-generated sources</Message>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">Updating SWIG-generated sources</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Updating SWIG-generated sources</Message>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">Updating SWIG-generated sources</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Updating SWIG-generated sources</Message>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">Updating SWIG-generated sources</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+    </CustomBuild>

+    <CustomBuild Include="src\Python\MimePart.cpp-swig">

+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Updating SWIG-generated sources</Message>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">Updating SWIG-generated sources</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Updating SWIG-generated sources</Message>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">Updating SWIG-generated sources</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Updating SWIG-generated sources</Message>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">Updating SWIG-generated sources</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Updating SWIG-generated sources</Message>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">Updating SWIG-generated sources</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+    </CustomBuild>

+    <CustomBuild Include="src\Python\MimeType.cpp-swig">

+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Updating SWIG-generated sources</Message>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">Updating SWIG-generated sources</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Updating SWIG-generated sources</Message>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">Updating SWIG-generated sources</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Updating SWIG-generated sources</Message>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">Updating SWIG-generated sources</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Updating SWIG-generated sources</Message>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">Updating SWIG-generated sources</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+    </CustomBuild>

+    <CustomBuild Include="src\Python\SendMessage.cpp-swig">

+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Updating SWIG-generated sources</Message>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">Updating SWIG-generated sources</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Updating SWIG-generated sources</Message>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">Updating SWIG-generated sources</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Updating SWIG-generated sources</Message>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">Updating SWIG-generated sources</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Updating SWIG-generated sources</Message>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">Updating SWIG-generated sources</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+    </CustomBuild>

+    <CustomBuild Include="src\Python\swiglib.cpp-swig">

+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Updating SWIG-generated sources</Message>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">Updating SWIG-generated sources</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Updating SWIG-generated sources</Message>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">Updating SWIG-generated sources</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Updating SWIG-generated sources</Message>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">Updating SWIG-generated sources</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Updating SWIG-generated sources</Message>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">Updating SWIG-generated sources</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">copy %(FullPath) %(RootDir)%(Directory)\%(Filename)_swig.cpp

+</Command>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">%(RootDir)%(Directory)\%(Filename)_swig.cpp;%(Outputs)</Outputs>

+    </CustomBuild>

+    <None Include="include\interface\HeaderInfo.i" />

+    <None Include="include\interface\MailFolder.i" />

+    <None Include="include\interface\MDialogs.i" />

+    <None Include="include\interface\Message.i" />

+    <None Include="include\interface\MimePart.i" />

+    <None Include="include\interface\MimeType.i" />

+    <None Include="include\interface\SendMessage.i" />

+    <None Include="include\interface\swigcmn.i" />

+    <None Include="include\interface\swiglib.i" />

+  </ItemGroup>

+  <ItemGroup>

+    <ClInclude Include="include\Address.h" />

+    <ClInclude Include="include\AddressCC.h" />

+    <ClInclude Include="include\gui\AddressExpander.h" />

+    <ClInclude Include="include\ASMailFolder.h" />

+    <ClInclude Include="include\AttachDialog.h" />

+    <ClInclude Include="include\CacheFile.h" />

+    <ClInclude Include="include\ClickAtt.h" />

+    <ClInclude Include="include\ClickInfo.h" />

+    <ClInclude Include="include\ClickURL.h" />

+    <ClInclude Include="include\CmdLineOpts.h" />

+    <ClInclude Include="include\Collect.h" />

+    <ClInclude Include="include\Composer.h" />

+    <ClInclude Include="include\ConfigPrivate.h" />

+    <ClInclude Include="include\ConfigSource.h" />

+    <ClInclude Include="include\ConfigSourceLocal.h" />

+    <ClInclude Include="include\ConfigSourcesAll.h" />

+    <ClInclude Include="include\FolderMonitor.h" />

+    <ClInclude Include="include\FolderType.h" />

+    <ClInclude Include="include\FolderView.h" />

+    <ClInclude Include="include\guidef.h" />

+    <ClInclude Include="include\HeaderInfo.h" />

+    <ClInclude Include="include\HeaderInfoImpl.h" />

+    <ClInclude Include="include\HeadersDialogs.h" />

+    <ClInclude Include="include\InitPython.h" />

+    <ClInclude Include="include\kbList.h" />

+    <ClInclude Include="include\ListReceiver.h" />

+    <ClInclude Include="include\lists.h" />

+    <ClInclude Include="include\LogCircle.h" />

+    <ClInclude Include="include\MailFolder.h" />

+    <ClInclude Include="include\MailFolderCC.h" />

+    <ClInclude Include="include\MailFolderCmn.h" />

+    <ClInclude Include="include\MApplication.h" />

+    <ClInclude Include="include\MAtExit.h" />

+    <ClInclude Include="include\gui\MBookCtrl.h" />

+    <ClInclude Include="include\Mcallbacks.h" />

+    <ClInclude Include="include\Mcclient.h" />

+    <ClInclude Include="include\Mcommon.h" />

+    <ClInclude Include="include\Mconfig.h" />

+    <ClInclude Include="include\Mdefaults.h" />

+    <ClInclude Include="include\MDialogs.h" />

+    <ClInclude Include="include\Mdnd.h" />

+    <ClInclude Include="include\Merror.h" />

+    <ClInclude Include="include\Message.h" />

+    <ClInclude Include="include\MessageCC.h" />

+    <ClInclude Include="include\MessageEditor.h" />

+    <ClInclude Include="include\MessageTemplate.h" />

+    <ClInclude Include="include\MessageView.h" />

+    <ClInclude Include="include\MessageViewer.h" />

+    <ClInclude Include="include\MEvent.h" />

+    <ClInclude Include="include\MFCache.h" />

+    <ClInclude Include="include\MFilter.h" />

+    <ClInclude Include="include\MFolder.h" />

+    <ClInclude Include="include\MFolderDialogs.h" />

+    <ClInclude Include="include\MFPrivate.h" />

+    <ClInclude Include="include\MFrame.h" />

+    <ClInclude Include="include\MFStatus.h" />

+    <ClInclude Include="include\MFui.h" />

+    <ClInclude Include="include\MGuiApp.h" />

+    <ClInclude Include="include\MHelp.h" />

+    <ClInclude Include="include\MimeDialog.h" />

+    <ClInclude Include="include\MimePart.h" />

+    <ClInclude Include="include\MimePartCC.h" />

+    <ClInclude Include="include\MIMETreeDialog.h" />

+    <ClInclude Include="include\MimeType.h" />

+    <ClInclude Include="include\MImport.h" />

+    <ClInclude Include="include\MInterface.h" />

+    <ClInclude Include="include\MLogFrame.h" />

+    <ClInclude Include="include\MMainFrame.h" />

+    <ClInclude Include="include\MModule.h" />

+    <ClInclude Include="include\MObject.h" />

+    <ClInclude Include="include\Moptions.h" />

+    <ClInclude Include="include\Mpch.h" />

+    <ClInclude Include="include\Mpers.h" />

+    <ClInclude Include="include\MpersIds.h" />

+    <ClInclude Include="include\MPython.h" />

+    <ClInclude Include="include\MScripts.h" />

+    <ClInclude Include="include\MSearch.h" />

+    <ClInclude Include="include\MsgCmdProc.h" />

+    <ClInclude Include="include\Mswig.h" />

+    <ClInclude Include="include\MTextStyle.h" />

+    <ClInclude Include="include\MThread.h" />

+    <ClInclude Include="include\Munix.h" />

+    <ClInclude Include="include\Mupgrade.h" />

+    <ClInclude Include="include\Mversion.h" />

+    <ClInclude Include="include\Mwin.h" />

+    <ClInclude Include="include\NewMailNotifier.h" />

+    <ClInclude Include="include\PathFinder.h" />

+    <ClInclude Include="include\PGPClickInfo.h" />

+    <ClInclude Include="include\pointers.h" />

+    <ClInclude Include="include\Profile.h" />

+    <ClInclude Include="include\PythonHelp.h" />

+    <ClInclude Include="include\QuotedText.h" />

+    <ClInclude Include="include\SendMessage.h" />

+    <ClInclude Include="include\SendMessageCC.h" />

+    <ClInclude Include="include\Sequence.h" />

+    <ClInclude Include="include\Sorting.h" />

+    <ClInclude Include="include\SpamFilter.h" />

+    <ClInclude Include="include\strutil.h" />

+    <ClInclude Include="include\sysutil.h" />

+    <ClInclude Include="include\TemplateDialog.h" />

+    <ClInclude Include="include\Threading.h" />

+    <ClInclude Include="include\UIdArray.h" />

+    <ClInclude Include="include\ViewFilter.h" />

+    <ClInclude Include="include\gui\wxllist.h" />

+    <ClInclude Include="include\gui\wxlparser.h" />

+    <ClInclude Include="include\gui\wxlwindow.h" />

+    <ClInclude Include="include\XFace.h" />

+  </ItemGroup>

+  <ItemGroup>

+    <ResourceCompile Include="res\M.rc">

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WX_MSC_FULL_VER=150030729;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">WX_MSC_FULL_VER=150030729;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">WX_MSC_FULL_VER=150030729;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">WX_MSC_FULL_VER=150030729;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug DLL|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WX_MSC_FULL_VER=150030729;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">WX_MSC_FULL_VER=150030729;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">WX_MSC_FULL_VER=150030729;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">WX_MSC_FULL_VER=150030729;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release DLL|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+    </ResourceCompile>

+  </ItemGroup>

+  <ItemGroup>

+    <ProjectReference Include="lib\compface\compface.vcxproj">

+      <Project>{0e9f4403-1aa1-4824-a99f-041b1bf18d14}</Project>

+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>

+    </ProjectReference>

+    <ProjectReference Include="lib\dspam\dspam.vcxproj">

+      <Project>{62156246-dcea-4713-95e0-c01f595f1a20}</Project>

+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>

+    </ProjectReference>

+    <ProjectReference Include="lib\imap\imap.vcxproj">

+      <Project>{457cfec8-5c3f-4c7e-98a6-b65e1de22682}</Project>

+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>

+    </ProjectReference>

+    <ProjectReference Include="Mconfig.vcxproj">

+      <Project>{86c1d2c7-c961-4017-88e8-63d0bccbd0d5}</Project>

+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>

+    </ProjectReference>

+    <ProjectReference Include="src\wx\vcard\versit.vcxproj">

+      <Project>{e46c11c7-5924-4f7c-b82e-5beb8856a8bc}</Project>

+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>

+    </ProjectReference>

+  </ItemGroup>

+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />

+  <ImportGroup Label="ExtensionTargets">

+  </ImportGroup>

+</Project>
\ No newline at end of file
diff --git a/M.vcxproj.filters b/M.vcxproj.filters
new file mode 100644
index 0000000..9138a80
--- /dev/null
+++ b/M.vcxproj.filters
@@ -0,0 +1,972 @@
+<?xml version="1.0" encoding="utf-8"?>

+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

+  <ItemGroup>

+    <Filter Include="Source Files">

+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>

+      <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>

+    </Filter>

+    <Filter Include="Source Files\classes">

+      <UniqueIdentifier>{1d1c4295-0ef4-4340-b0fa-1aba79dc8779}</UniqueIdentifier>

+    </Filter>

+    <Filter Include="Source Files\gui">

+      <UniqueIdentifier>{34e016c6-67aa-486a-8d45-4e09fbf71702}</UniqueIdentifier>

+    </Filter>

+    <Filter Include="Source Files\gui\layout">

+      <UniqueIdentifier>{1824ea0f-1263-41fe-a437-f609b7a34b04}</UniqueIdentifier>

+    </Filter>

+    <Filter Include="Source Files\gui\wx">

+      <UniqueIdentifier>{339faa39-cc3c-4fc5-957b-e0e2acf3a516}</UniqueIdentifier>

+    </Filter>

+    <Filter Include="Source Files\mail">

+      <UniqueIdentifier>{ddb4b261-7173-478c-9d5e-57edb286183c}</UniqueIdentifier>

+    </Filter>

+    <Filter Include="Source Files\adb">

+      <UniqueIdentifier>{b3e8714b-4821-4c34-b5e5-f2102c716d44}</UniqueIdentifier>

+    </Filter>

+    <Filter Include="Source Files\adb\providers">

+      <UniqueIdentifier>{2f817153-d351-484a-8044-c2004e820598}</UniqueIdentifier>

+    </Filter>

+    <Filter Include="Source Files\adb\impexp">

+      <UniqueIdentifier>{3ecfa592-205a-4f3f-aa0c-070c4d079bfb}</UniqueIdentifier>

+    </Filter>

+    <Filter Include="Source Files\interfaces">

+      <UniqueIdentifier>{6e2996c7-8265-44ab-a993-5bd66552a3ce}</UniqueIdentifier>

+    </Filter>

+    <Filter Include="Source Files\interfaces\python">

+      <UniqueIdentifier>{d8886058-5c10-4d1e-be9c-4e8d1c84942a}</UniqueIdentifier>

+    </Filter>

+    <Filter Include="Source Files\interfaces\python\SWIG output">

+      <UniqueIdentifier>{5862047b-7d9d-4bd1-a375-546c10dc8655}</UniqueIdentifier>

+    </Filter>

+    <Filter Include="Source Files\interfaces\python\SWIG precompiled output">

+      <UniqueIdentifier>{1fc263a6-7792-4e42-9b7e-eb78be6ccdc2}</UniqueIdentifier>

+    </Filter>

+    <Filter Include="Source Files\interfaces\SWIG input">

+      <UniqueIdentifier>{4172c0d9-e3bf-4399-b0c5-63fdc5e0fc2c}</UniqueIdentifier>

+    </Filter>

+    <Filter Include="Source Files\util">

+      <UniqueIdentifier>{74a4b04d-06f7-45d1-94c8-3a00666a350b}</UniqueIdentifier>

+    </Filter>

+    <Filter Include="Source Files\modules">

+      <UniqueIdentifier>{872bb589-4673-4bc7-a45d-bb66cf473232}</UniqueIdentifier>

+    </Filter>

+    <Filter Include="Source Files\modules\viewflt">

+      <UniqueIdentifier>{03aa9a9f-d1e5-49dc-bc7d-844f98109f86}</UniqueIdentifier>

+    </Filter>

+    <Filter Include="Source Files\modules\viewers">

+      <UniqueIdentifier>{ffb1e933-c76d-4f0c-a232-10d93a749744}</UniqueIdentifier>

+    </Filter>

+    <Filter Include="Source Files\modules\editors">

+      <UniqueIdentifier>{6450f41c-c2bb-4a7f-b972-18589dab6ccf}</UniqueIdentifier>

+    </Filter>

+    <Filter Include="Source Files\modules\importers">

+      <UniqueIdentifier>{ea8e344b-119c-4eb7-9ed0-a0dc9548c25e}</UniqueIdentifier>

+    </Filter>

+    <Filter Include="Source Files\modules\crypt">

+      <UniqueIdentifier>{73c25866-bc13-4db2-88e2-d3749de78b8c}</UniqueIdentifier>

+    </Filter>

+    <Filter Include="Source Files\modules\spam">

+      <UniqueIdentifier>{eadae50a-75bd-4c3e-8f70-ef7543342ab2}</UniqueIdentifier>

+    </Filter>

+    <Filter Include="Source Files\vcard">

+      <UniqueIdentifier>{215d33b2-cc05-4137-9630-8dbeabec65ab}</UniqueIdentifier>

+    </Filter>

+    <Filter Include="Header Files">

+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>

+      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>

+    </Filter>

+    <Filter Include="Resource Files">

+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>

+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx</Extensions>

+    </Filter>

+  </ItemGroup>

+  <ItemGroup>

+    <ClCompile Include="src\classes\CacheFile.cpp">

+      <Filter>Source Files\classes</Filter>

+    </ClCompile>

+    <ClCompile Include="src\classes\ComposeTemplate.cpp">

+      <Filter>Source Files\classes</Filter>

+    </ClCompile>

+    <ClCompile Include="src\classes\ConfigSource.cpp">

+      <Filter>Source Files\classes</Filter>

+    </ClCompile>

+    <ClCompile Include="src\classes\ConfigSourcesAll.cpp">

+      <Filter>Source Files\classes</Filter>

+    </ClCompile>

+    <ClCompile Include="src\classes\FolderMonitor.cpp">

+      <Filter>Source Files\classes</Filter>

+    </ClCompile>

+    <ClCompile Include="src\classes\FolderView.cpp">

+      <Filter>Source Files\classes</Filter>

+    </ClCompile>

+    <ClCompile Include="src\classes\kbList.cpp">

+      <Filter>Source Files\classes</Filter>

+    </ClCompile>

+    <ClCompile Include="src\classes\ListReceiver.cpp">

+      <Filter>Source Files\classes</Filter>

+    </ClCompile>

+    <ClCompile Include="src\classes\MApplication.cpp">

+      <Filter>Source Files\classes</Filter>

+    </ClCompile>

+    <ClCompile Include="src\classes\MessageTemplate.cpp">

+      <Filter>Source Files\classes</Filter>

+    </ClCompile>

+    <ClCompile Include="src\classes\MessageView.cpp">

+      <Filter>Source Files\classes</Filter>

+    </ClCompile>

+    <ClCompile Include="src\classes\MEvent.cpp">

+      <Filter>Source Files\classes</Filter>

+    </ClCompile>

+    <ClCompile Include="src\classes\MFilter.cpp">

+      <Filter>Source Files\classes</Filter>

+    </ClCompile>

+    <ClCompile Include="src\classes\MFolder.cpp">

+      <Filter>Source Files\classes</Filter>

+    </ClCompile>

+    <ClCompile Include="src\classes\MModule.cpp">

+      <Filter>Source Files\classes</Filter>

+    </ClCompile>

+    <ClCompile Include="src\classes\MObject.cpp">

+      <Filter>Source Files\classes</Filter>

+    </ClCompile>

+    <ClCompile Include="src\classes\Moptions.cpp">

+      <Filter>Source Files\classes</Filter>

+    </ClCompile>

+    <ClCompile Include="src\classes\Mpers.cpp">

+      <Filter>Source Files\classes</Filter>

+    </ClCompile>

+    <ClCompile Include="src\classes\NewMailNotifier.cpp">

+      <Filter>Source Files\classes</Filter>

+    </ClCompile>

+    <ClCompile Include="src\classes\PathFinder.cpp">

+      <Filter>Source Files\classes</Filter>

+    </ClCompile>

+    <ClCompile Include="src\classes\PGPClickInfo.cpp">

+      <Filter>Source Files\classes</Filter>

+    </ClCompile>

+    <ClCompile Include="src\classes\Profile.cpp">

+      <Filter>Source Files\classes</Filter>

+    </ClCompile>

+    <ClCompile Include="src\classes\QuotedText.cpp">

+      <Filter>Source Files\classes</Filter>

+    </ClCompile>

+    <ClCompile Include="src\classes\Sequence.cpp">

+      <Filter>Source Files\classes</Filter>

+    </ClCompile>

+    <ClCompile Include="src\classes\XFace.cpp">

+      <Filter>Source Files\classes</Filter>

+    </ClCompile>

+    <ClCompile Include="src\gui\AddressExpander.cpp">

+      <Filter>Source Files\gui</Filter>

+    </ClCompile>

+    <ClCompile Include="src\gui\ClickAtt.cpp">

+      <Filter>Source Files\gui</Filter>

+    </ClCompile>

+    <ClCompile Include="src\gui\ClickURL.cpp">

+      <Filter>Source Files\gui</Filter>

+    </ClCompile>

+    <ClCompile Include="src\gui\ConfigSourceChoice.cpp">

+      <Filter>Source Files\gui</Filter>

+    </ClCompile>

+    <ClCompile Include="src\gui\CreateFolderWizard.cpp">

+      <Filter>Source Files\gui</Filter>

+    </ClCompile>

+    <ClCompile Include="src\gui\ImportFoldersWizard.cpp">

+      <Filter>Source Files\gui</Filter>

+    </ClCompile>

+    <ClCompile Include="src\gui\Mdnd.cpp">

+      <Filter>Source Files\gui</Filter>

+    </ClCompile>

+    <ClCompile Include="src\gui\MImport.cpp">

+      <Filter>Source Files\gui</Filter>

+    </ClCompile>

+    <ClCompile Include="src\gui\wxAttachDialog.cpp">

+      <Filter>Source Files\gui</Filter>

+    </ClCompile>

+    <ClCompile Include="src\gui\wxBrowseButton.cpp">

+      <Filter>Source Files\gui</Filter>

+    </ClCompile>

+    <ClCompile Include="src\gui\wxColumnsDlg.cpp">

+      <Filter>Source Files\gui</Filter>

+    </ClCompile>

+    <ClCompile Include="src\gui\wxComposeView.cpp">

+      <Filter>Source Files\gui</Filter>

+    </ClCompile>

+    <ClCompile Include="src\gui\wxDialogLayout.cpp">

+      <Filter>Source Files\gui</Filter>

+    </ClCompile>

+    <ClCompile Include="src\gui\wxFiltersDialog.cpp">

+      <Filter>Source Files\gui</Filter>

+    </ClCompile>

+    <ClCompile Include="src\gui\wxFolderMenu.cpp">

+      <Filter>Source Files\gui</Filter>

+    </ClCompile>

+    <ClCompile Include="src\gui\wxFolderTree.cpp">

+      <Filter>Source Files\gui</Filter>

+    </ClCompile>

+    <ClCompile Include="src\gui\wxFolderView.cpp">

+      <Filter>Source Files\gui</Filter>

+    </ClCompile>

+    <ClCompile Include="src\gui\wxHeadersDialogs.cpp">

+      <Filter>Source Files\gui</Filter>

+    </ClCompile>

+    <ClCompile Include="src\gui\wxIconManager.cpp">

+      <Filter>Source Files\gui</Filter>

+    </ClCompile>

+    <ClCompile Include="src\gui\wxMainFrame.cpp">

+      <Filter>Source Files\gui</Filter>

+    </ClCompile>

+    <ClCompile Include="src\gui\wxMApp.cpp">

+      <Filter>Source Files\gui</Filter>

+    </ClCompile>

+    <ClCompile Include="src\gui\wxMDialogs.cpp">

+      <Filter>Source Files\gui</Filter>

+    </ClCompile>

+    <ClCompile Include="src\gui\wxMenuDefs.cpp">

+      <Filter>Source Files\gui</Filter>

+    </ClCompile>

+    <ClCompile Include="src\gui\wxMessageView.cpp">

+      <Filter>Source Files\gui</Filter>

+    </ClCompile>

+    <ClCompile Include="src\gui\wxMFolderDialogs.cpp">

+      <Filter>Source Files\gui</Filter>

+    </ClCompile>

+    <ClCompile Include="src\gui\wxMFrame.cpp">

+      <Filter>Source Files\gui</Filter>

+    </ClCompile>

+    <ClCompile Include="src\gui\wxMGuiUtils.cpp">

+      <Filter>Source Files\gui</Filter>

+    </ClCompile>

+    <ClCompile Include="src\gui\wxMimeDialog.cpp">

+      <Filter>Source Files\gui</Filter>

+    </ClCompile>

+    <ClCompile Include="src\gui\wxMIMETreeDialog.cpp">

+      <Filter>Source Files\gui</Filter>

+    </ClCompile>

+    <ClCompile Include="src\gui\wxModulesDlg.cpp">

+      <Filter>Source Files\gui</Filter>

+    </ClCompile>

+    <ClCompile Include="src\gui\wxMsgCmdProc.cpp">

+      <Filter>Source Files\gui</Filter>

+    </ClCompile>

+    <ClCompile Include="src\gui\wxMSplash.cpp">

+      <Filter>Source Files\gui</Filter>

+    </ClCompile>

+    <ClCompile Include="src\gui\wxOptionsDlg.cpp">

+      <Filter>Source Files\gui</Filter>

+    </ClCompile>

+    <ClCompile Include="src\gui\wxRenameDialog.cpp">

+      <Filter>Source Files\gui</Filter>

+    </ClCompile>

+    <ClCompile Include="src\gui\wxSearchDialog.cpp">

+      <Filter>Source Files\gui</Filter>

+    </ClCompile>

+    <ClCompile Include="src\gui\wxSortDialog.cpp">

+      <Filter>Source Files\gui</Filter>

+    </ClCompile>

+    <ClCompile Include="src\gui\wxSubfoldersDialog.cpp">

+      <Filter>Source Files\gui</Filter>

+    </ClCompile>

+    <ClCompile Include="src\gui\wxTemplateDialog.cpp">

+      <Filter>Source Files\gui</Filter>

+    </ClCompile>

+    <ClCompile Include="src\gui\wxTextDialog.cpp">

+      <Filter>Source Files\gui</Filter>

+    </ClCompile>

+    <ClCompile Include="src\gui\wxThrDialog.cpp">

+      <Filter>Source Files\gui</Filter>

+    </ClCompile>

+    <ClCompile Include="src\gui\wxllist.cpp">

+      <Filter>Source Files\gui\layout</Filter>

+    </ClCompile>

+    <ClCompile Include="src\gui\wxlparser.cpp">

+      <Filter>Source Files\gui\layout</Filter>

+    </ClCompile>

+    <ClCompile Include="src\gui\wxlwindow.cpp">

+      <Filter>Source Files\gui\layout</Filter>

+    </ClCompile>

+    <ClCompile Include="src\wx\generic\persctrl.cpp">

+      <Filter>Source Files\gui\wx</Filter>

+    </ClCompile>

+    <ClCompile Include="src\mail\Address.cpp">

+      <Filter>Source Files\mail</Filter>

+    </ClCompile>

+    <ClCompile Include="src\mail\AddressCC.cpp">

+      <Filter>Source Files\mail</Filter>

+    </ClCompile>

+    <ClCompile Include="src\mail\ASMailFolder.cpp">

+      <Filter>Source Files\mail</Filter>

+    </ClCompile>

+    <ClCompile Include="src\mail\FolderType.cpp">

+      <Filter>Source Files\mail</Filter>

+    </ClCompile>

+    <ClCompile Include="src\mail\HeaderInfoImpl.cpp">

+      <Filter>Source Files\mail</Filter>

+    </ClCompile>

+    <ClCompile Include="src\mail\HeaderIterator.cpp">

+      <Filter>Source Files\mail</Filter>

+    </ClCompile>

+    <ClCompile Include="src\mail\LogCircle.cpp">

+      <Filter>Source Files\mail</Filter>

+    </ClCompile>

+    <ClCompile Include="src\mail\MailFolder.cpp">

+      <Filter>Source Files\mail</Filter>

+    </ClCompile>

+    <ClCompile Include="src\mail\MailFolderCC.cpp">

+      <Filter>Source Files\mail</Filter>

+    </ClCompile>

+    <ClCompile Include="src\mail\MailFolderCmn.cpp">

+      <Filter>Source Files\mail</Filter>

+    </ClCompile>

+    <ClCompile Include="src\mail\MailMH.cpp">

+      <Filter>Source Files\mail</Filter>

+    </ClCompile>

+    <ClCompile Include="src\mail\Message.cpp">

+      <Filter>Source Files\mail</Filter>

+    </ClCompile>

+    <ClCompile Include="src\mail\MessageCC.cpp">

+      <Filter>Source Files\mail</Filter>

+    </ClCompile>

+    <ClCompile Include="src\mail\MFCache.cpp">

+      <Filter>Source Files\mail</Filter>

+    </ClCompile>

+    <ClCompile Include="src\mail\MFDriver.cpp">

+      <Filter>Source Files\mail</Filter>

+    </ClCompile>

+    <ClCompile Include="src\mail\MFPool.cpp">

+      <Filter>Source Files\mail</Filter>

+    </ClCompile>

+    <ClCompile Include="src\mail\MFui.cpp">

+      <Filter>Source Files\mail</Filter>

+    </ClCompile>

+    <ClCompile Include="src\mail\MimeDecode.cpp">

+      <Filter>Source Files\mail</Filter>

+    </ClCompile>

+    <ClCompile Include="src\mail\MimePartCC.cpp">

+      <Filter>Source Files\mail</Filter>

+    </ClCompile>

+    <ClCompile Include="src\mail\MimePartCCBase.cpp">

+      <Filter>Source Files\mail</Filter>

+    </ClCompile>

+    <ClCompile Include="src\mail\MimePartVirtual.cpp">

+      <Filter>Source Files\mail</Filter>

+    </ClCompile>

+    <ClCompile Include="src\mail\MimeType.cpp">

+      <Filter>Source Files\mail</Filter>

+    </ClCompile>

+    <ClCompile Include="src\mail\Pop3.cpp">

+      <Filter>Source Files\mail</Filter>

+    </ClCompile>

+    <ClCompile Include="src\mail\SendMessageCC.cpp">

+      <Filter>Source Files\mail</Filter>

+    </ClCompile>

+    <ClCompile Include="src\mail\Sorting.cpp">

+      <Filter>Source Files\mail</Filter>

+    </ClCompile>

+    <ClCompile Include="src\mail\SpamFilter.cpp">

+      <Filter>Source Files\mail</Filter>

+    </ClCompile>

+    <ClCompile Include="src\mail\Threading.cpp">

+      <Filter>Source Files\mail</Filter>

+    </ClCompile>

+    <ClCompile Include="src\mail\ThreadJWZ.cpp">

+      <Filter>Source Files\mail</Filter>

+    </ClCompile>

+    <ClCompile Include="src\mail\VFolder.cpp">

+      <Filter>Source Files\mail</Filter>

+    </ClCompile>

+    <ClCompile Include="src\mail\VMessage.cpp">

+      <Filter>Source Files\mail</Filter>

+    </ClCompile>

+    <ClCompile Include="src\adb\AdbDialogs.cpp">

+      <Filter>Source Files\adb</Filter>

+    </ClCompile>

+    <ClCompile Include="src\adb\AdbEntry.cpp">

+      <Filter>Source Files\adb</Filter>

+    </ClCompile>

+    <ClCompile Include="src\adb\AdbExport.cpp">

+      <Filter>Source Files\adb</Filter>

+    </ClCompile>

+    <ClCompile Include="src\adb\AdbFrame.cpp">

+      <Filter>Source Files\adb</Filter>

+    </ClCompile>

+    <ClCompile Include="src\adb\AdbImport.cpp">

+      <Filter>Source Files\adb</Filter>

+    </ClCompile>

+    <ClCompile Include="src\adb\AdbManager.cpp">

+      <Filter>Source Files\adb</Filter>

+    </ClCompile>

+    <ClCompile Include="src\adb\AdbModule.cpp">

+      <Filter>Source Files\adb</Filter>

+    </ClCompile>

+    <ClCompile Include="src\adb\AdbProvider.cpp">

+      <Filter>Source Files\adb</Filter>

+    </ClCompile>

+    <ClCompile Include="src\adb\Collect.cpp">

+      <Filter>Source Files\adb</Filter>

+    </ClCompile>

+    <ClCompile Include="src\adb\ProvBbdb.cpp">

+      <Filter>Source Files\adb\providers</Filter>

+    </ClCompile>

+    <ClCompile Include="src\adb\ProvDummy.cpp">

+      <Filter>Source Files\adb\providers</Filter>

+    </ClCompile>

+    <ClCompile Include="src\adb\ProvFC.cpp">

+      <Filter>Source Files\adb\providers</Filter>

+    </ClCompile>

+    <ClCompile Include="src\adb\ProvLine.cpp">

+      <Filter>Source Files\adb\providers</Filter>

+    </ClCompile>

+    <ClCompile Include="src\adb\ProvPalm.cpp">

+      <Filter>Source Files\adb\providers</Filter>

+    </ClCompile>

+    <ClCompile Include="src\adb\ProvPasswd.cpp">

+      <Filter>Source Files\adb\providers</Filter>

+    </ClCompile>

+    <ClCompile Include="src\adb\ExportPalm.cpp">

+      <Filter>Source Files\adb\impexp</Filter>

+    </ClCompile>

+    <ClCompile Include="src\adb\ExportText.cpp">

+      <Filter>Source Files\adb\impexp</Filter>

+    </ClCompile>

+    <ClCompile Include="src\adb\ExportVCard.cpp">

+      <Filter>Source Files\adb\impexp</Filter>

+    </ClCompile>

+    <ClCompile Include="src\adb\ImportEudora.cpp">

+      <Filter>Source Files\adb\impexp</Filter>

+    </ClCompile>

+    <ClCompile Include="src\adb\ImportMailrc.cpp">

+      <Filter>Source Files\adb\impexp</Filter>

+    </ClCompile>

+    <ClCompile Include="src\adb\ImportPine.cpp">

+      <Filter>Source Files\adb\impexp</Filter>

+    </ClCompile>

+    <ClCompile Include="src\adb\ImportText.cpp">

+      <Filter>Source Files\adb\impexp</Filter>

+    </ClCompile>

+    <ClCompile Include="src\adb\ImportVCard.cpp">

+      <Filter>Source Files\adb\impexp</Filter>

+    </ClCompile>

+    <ClCompile Include="src\adb\ImportXFMail.cpp">

+      <Filter>Source Files\adb\impexp</Filter>

+    </ClCompile>

+    <ClCompile Include="src\Python\InitPython.cpp">

+      <Filter>Source Files\interfaces\python</Filter>

+    </ClCompile>

+    <ClCompile Include="src\Python\PythonDll.cpp">

+      <Filter>Source Files\interfaces\python</Filter>

+    </ClCompile>

+    <ClCompile Include="src\Python\PythonHelp.cpp">

+      <Filter>Source Files\interfaces\python</Filter>

+    </ClCompile>

+    <ClCompile Include="src\Python\HeaderInfo_swig.cpp">

+      <Filter>Source Files\interfaces\python\SWIG output</Filter>

+    </ClCompile>

+    <ClCompile Include="src\Python\MailFolder_swig.cpp">

+      <Filter>Source Files\interfaces\python\SWIG output</Filter>

+    </ClCompile>

+    <ClCompile Include="src\Python\MDialogs_swig.cpp">

+      <Filter>Source Files\interfaces\python\SWIG output</Filter>

+    </ClCompile>

+    <ClCompile Include="src\Python\Message_swig.cpp">

+      <Filter>Source Files\interfaces\python\SWIG output</Filter>

+    </ClCompile>

+    <ClCompile Include="src\Python\MimePart_swig.cpp">

+      <Filter>Source Files\interfaces\python\SWIG output</Filter>

+    </ClCompile>

+    <ClCompile Include="src\Python\MimeType_swig.cpp">

+      <Filter>Source Files\interfaces\python\SWIG output</Filter>

+    </ClCompile>

+    <ClCompile Include="src\Python\SendMessage_swig.cpp">

+      <Filter>Source Files\interfaces\python\SWIG output</Filter>

+    </ClCompile>

+    <ClCompile Include="src\Python\swiglib_swig.cpp">

+      <Filter>Source Files\interfaces\python\SWIG output</Filter>

+    </ClCompile>

+    <ClCompile Include="src\util\ColourNames.cpp">

+      <Filter>Source Files\util</Filter>

+    </ClCompile>

+    <ClCompile Include="src\util\matchurl.cpp">

+      <Filter>Source Files\util</Filter>

+    </ClCompile>

+    <ClCompile Include="src\util\ssl.cpp">

+      <Filter>Source Files\util</Filter>

+    </ClCompile>

+    <ClCompile Include="src\util\strutil.cpp">

+      <Filter>Source Files\util</Filter>

+    </ClCompile>

+    <ClCompile Include="src\util\sysutil.cpp">

+      <Filter>Source Files\util</Filter>

+    </ClCompile>

+    <ClCompile Include="src\util\twofish2.c">

+      <Filter>Source Files\util</Filter>

+    </ClCompile>

+    <ClCompile Include="src\util\upgrade.cpp">

+      <Filter>Source Files\util</Filter>

+    </ClCompile>

+    <ClCompile Include="src\modules\Calendar.cpp">

+      <Filter>Source Files\modules</Filter>

+    </ClCompile>

+    <ClCompile Include="src\modules\Filters.cpp">

+      <Filter>Source Files\modules</Filter>

+    </ClCompile>

+    <ClCompile Include="src\modules\Mdummy.cpp">

+      <Filter>Source Files\modules</Filter>

+    </ClCompile>

+    <ClCompile Include="src\modules\Migrate.cpp">

+      <Filter>Source Files\modules</Filter>

+    </ClCompile>

+    <ClCompile Include="src\modules\PalmOS.cpp">

+      <Filter>Source Files\modules</Filter>

+    </ClCompile>

+    <ClCompile Include="src\modules\viewflt\PGP.cpp">

+      <Filter>Source Files\modules\viewflt</Filter>

+    </ClCompile>

+    <ClCompile Include="src\modules\viewflt\QuoteURL.cpp">

+      <Filter>Source Files\modules\viewflt</Filter>

+    </ClCompile>

+    <ClCompile Include="src\modules\viewflt\Rot13.cpp">

+      <Filter>Source Files\modules\viewflt</Filter>

+    </ClCompile>

+    <ClCompile Include="src\modules\viewflt\Signature.cpp">

+      <Filter>Source Files\modules\viewflt</Filter>

+    </ClCompile>

+    <ClCompile Include="src\modules\viewflt\TextMarkup.cpp">

+      <Filter>Source Files\modules\viewflt</Filter>

+    </ClCompile>

+    <ClCompile Include="src\modules\viewflt\Trailer.cpp">

+      <Filter>Source Files\modules\viewflt</Filter>

+    </ClCompile>

+    <ClCompile Include="src\modules\viewflt\UUDecode.cpp">

+      <Filter>Source Files\modules\viewflt</Filter>

+    </ClCompile>

+    <ClCompile Include="src\modules\HtmlViewer.cpp">

+      <Filter>Source Files\modules\viewers</Filter>

+    </ClCompile>

+    <ClCompile Include="src\modules\LayoutViewer.cpp">

+      <Filter>Source Files\modules\viewers</Filter>

+    </ClCompile>

+    <ClCompile Include="src\modules\TextViewer.cpp">

+      <Filter>Source Files\modules\viewers</Filter>

+    </ClCompile>

+    <ClCompile Include="src\modules\BareBonesEditor.cpp">

+      <Filter>Source Files\modules\editors</Filter>

+    </ClCompile>

+    <ClCompile Include="src\modules\LayoutEditor.cpp">

+      <Filter>Source Files\modules\editors</Filter>

+    </ClCompile>

+    <ClCompile Include="src\modules\NetscapeImporter.cpp">

+      <Filter>Source Files\modules\importers</Filter>

+    </ClCompile>

+    <ClCompile Include="src\modules\PineImport.cpp">

+      <Filter>Source Files\modules\importers</Filter>

+    </ClCompile>

+    <ClCompile Include="src\modules\XFMailImport.cpp">

+      <Filter>Source Files\modules\importers</Filter>

+    </ClCompile>

+    <ClCompile Include="src\modules\crypt\PGPEngine.cpp">

+      <Filter>Source Files\modules\crypt</Filter>

+    </ClCompile>

+    <ClCompile Include="src\modules\spam\DspamFilter.cpp">

+      <Filter>Source Files\modules\spam</Filter>

+    </ClCompile>

+    <ClCompile Include="src\modules\spam\HeadersFilter.cpp">

+      <Filter>Source Files\modules\spam</Filter>

+    </ClCompile>

+    <ClCompile Include="src\modules\spam\ServerSideFilter.cpp">

+      <Filter>Source Files\modules\spam</Filter>

+    </ClCompile>

+    <ClCompile Include="src\wx\common\vcard.cpp">

+      <Filter>Source Files\vcard</Filter>

+    </ClCompile>

+    <ClCompile Include="src\wx\generic\vcarddlg.cpp">

+      <Filter>Source Files\vcard</Filter>

+    </ClCompile>

+  </ItemGroup>

+  <ItemGroup>

+    <None Include="include\interface\HeaderInfo.i">

+      <Filter>Source Files\interfaces\SWIG input</Filter>

+    </None>

+    <None Include="include\interface\MailFolder.i">

+      <Filter>Source Files\interfaces\SWIG input</Filter>

+    </None>

+    <None Include="include\interface\MDialogs.i">

+      <Filter>Source Files\interfaces\SWIG input</Filter>

+    </None>

+    <None Include="include\interface\Message.i">

+      <Filter>Source Files\interfaces\SWIG input</Filter>

+    </None>

+    <None Include="include\interface\MimePart.i">

+      <Filter>Source Files\interfaces\SWIG input</Filter>

+    </None>

+    <None Include="include\interface\MimeType.i">

+      <Filter>Source Files\interfaces\SWIG input</Filter>

+    </None>

+    <None Include="include\interface\SendMessage.i">

+      <Filter>Source Files\interfaces\SWIG input</Filter>

+    </None>

+    <None Include="include\interface\swigcmn.i">

+      <Filter>Source Files\interfaces\SWIG input</Filter>

+    </None>

+    <None Include="include\interface\swiglib.i">

+      <Filter>Source Files\interfaces\SWIG input</Filter>

+    </None>

+  </ItemGroup>

+  <ItemGroup>

+    <ClInclude Include="include\Address.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\AddressCC.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\gui\AddressExpander.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\ASMailFolder.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\AttachDialog.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\CacheFile.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\ClickAtt.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\ClickInfo.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\ClickURL.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\CmdLineOpts.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\Collect.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\Composer.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\ConfigPrivate.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\ConfigSource.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\ConfigSourceLocal.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\ConfigSourcesAll.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\FolderMonitor.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\FolderType.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\FolderView.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\guidef.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\HeaderInfo.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\HeaderInfoImpl.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\HeadersDialogs.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\InitPython.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\kbList.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\ListReceiver.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\lists.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\LogCircle.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\MailFolder.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\MailFolderCC.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\MailFolderCmn.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\MApplication.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\MAtExit.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\gui\MBookCtrl.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\Mcallbacks.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\Mcclient.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\Mcommon.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\Mconfig.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\Mdefaults.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\MDialogs.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\Mdnd.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\Merror.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\Message.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\MessageCC.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\MessageEditor.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\MessageTemplate.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\MessageView.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\MessageViewer.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\MEvent.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\MFCache.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\MFilter.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\MFolder.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\MFolderDialogs.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\MFPrivate.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\MFrame.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\MFStatus.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\MFui.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\MGuiApp.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\MHelp.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\MimeDialog.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\MimePart.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\MimePartCC.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\MIMETreeDialog.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\MimeType.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\MImport.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\MInterface.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\MLogFrame.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\MMainFrame.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\MModule.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\MObject.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\Moptions.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\Mpch.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\Mpers.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\MpersIds.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\MPython.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\MScripts.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\MSearch.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\MsgCmdProc.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\Mswig.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\MTextStyle.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\MThread.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\Munix.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\Mupgrade.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\Mversion.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\Mwin.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\NewMailNotifier.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\PathFinder.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\PGPClickInfo.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\pointers.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\Profile.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\PythonHelp.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\QuotedText.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\SendMessage.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\SendMessageCC.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\Sequence.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\Sorting.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\SpamFilter.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\strutil.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\sysutil.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\TemplateDialog.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\Threading.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\UIdArray.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\ViewFilter.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\gui\wxllist.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\gui\wxlparser.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\gui\wxlwindow.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="include\XFace.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+  </ItemGroup>

+  <ItemGroup>

+    <ResourceCompile Include="res\M.rc">

+      <Filter>Resource Files</Filter>

+    </ResourceCompile>

+  </ItemGroup>

+  <ItemGroup>

+    <CustomBuild Include="include\MInterface.mid">

+      <Filter>Source Files\interfaces</Filter>

+    </CustomBuild>

+    <CustomBuild Include="src\Python\HeaderInfo.cpp-swig">

+      <Filter>Source Files\interfaces\python\SWIG precompiled output</Filter>

+    </CustomBuild>

+    <CustomBuild Include="src\Python\MailFolder.cpp-swig">

+      <Filter>Source Files\interfaces\python\SWIG precompiled output</Filter>

+    </CustomBuild>

+    <CustomBuild Include="src\Python\MDialogs.cpp-swig">

+      <Filter>Source Files\interfaces\python\SWIG precompiled output</Filter>

+    </CustomBuild>

+    <CustomBuild Include="src\Python\Message.cpp-swig">

+      <Filter>Source Files\interfaces\python\SWIG precompiled output</Filter>

+    </CustomBuild>

+    <CustomBuild Include="src\Python\MimePart.cpp-swig">

+      <Filter>Source Files\interfaces\python\SWIG precompiled output</Filter>

+    </CustomBuild>

+    <CustomBuild Include="src\Python\MimeType.cpp-swig">

+      <Filter>Source Files\interfaces\python\SWIG precompiled output</Filter>

+    </CustomBuild>

+    <CustomBuild Include="src\Python\SendMessage.cpp-swig">

+      <Filter>Source Files\interfaces\python\SWIG precompiled output</Filter>

+    </CustomBuild>

+    <CustomBuild Include="src\Python\swiglib.cpp-swig">

+      <Filter>Source Files\interfaces\python\SWIG precompiled output</Filter>

+    </CustomBuild>

+  </ItemGroup>

+</Project>
\ No newline at end of file
diff --git a/M_vc10.sln b/M_vc10.sln
new file mode 100644
index 0000000..905fcf4
--- /dev/null
+++ b/M_vc10.sln
@@ -0,0 +1,127 @@
+Microsoft Visual Studio Solution File, Format Version 11.00

+# Visual Studio 2010

+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "M", "M.vcxproj", "{1515C8EB-5C72-43DF-9D3A-0703F155F268}"

+EndProject

+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "imap", "lib\imap\imap.vcxproj", "{457CFEC8-5C3F-4C7E-98A6-B65E1DE22682}"

+EndProject

+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "compface", "lib\compface\compface.vcxproj", "{0E9F4403-1AA1-4824-A99F-041B1BF18D14}"

+EndProject

+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dspam", "lib\dspam\dspam.vcxproj", "{62156246-DCEA-4713-95E0-C01F595F1A20}"

+EndProject

+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "config", "Mconfig.vcxproj", "{86C1D2C7-C961-4017-88E8-63D0BCCBD0D5}"

+EndProject

+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "versit", "src\wx\vcard\versit.vcxproj", "{E46C11C7-5924-4F7C-B82E-5BEB8856A8BC}"

+EndProject

+Global

+	GlobalSection(SolutionConfigurationPlatforms) = preSolution

+		Debug DLL|Win32 = Debug DLL|Win32

+		Debug DLL|x64 = Debug DLL|x64

+		Debug|Win32 = Debug|Win32

+		Debug|x64 = Debug|x64

+		Release DLL|Win32 = Release DLL|Win32

+		Release DLL|x64 = Release DLL|x64

+		Release|Win32 = Release|Win32

+		Release|x64 = Release|x64

+	EndGlobalSection

+	GlobalSection(ProjectConfigurationPlatforms) = postSolution

+		{1515C8EB-5C72-43DF-9D3A-0703F155F268}.Debug DLL|Win32.ActiveCfg = Debug DLL|x64

+		{1515C8EB-5C72-43DF-9D3A-0703F155F268}.Debug DLL|Win32.Build.0 = Debug DLL|x64

+		{1515C8EB-5C72-43DF-9D3A-0703F155F268}.Debug DLL|x64.ActiveCfg = Debug DLL|x64

+		{1515C8EB-5C72-43DF-9D3A-0703F155F268}.Debug DLL|x64.Build.0 = Debug DLL|x64

+		{1515C8EB-5C72-43DF-9D3A-0703F155F268}.Debug|Win32.ActiveCfg = Debug|Win32

+		{1515C8EB-5C72-43DF-9D3A-0703F155F268}.Debug|Win32.Build.0 = Debug|Win32

+		{1515C8EB-5C72-43DF-9D3A-0703F155F268}.Debug|x64.ActiveCfg = Debug|x64

+		{1515C8EB-5C72-43DF-9D3A-0703F155F268}.Debug|x64.Build.0 = Debug|x64

+		{1515C8EB-5C72-43DF-9D3A-0703F155F268}.Release DLL|Win32.ActiveCfg = Release DLL|Win32

+		{1515C8EB-5C72-43DF-9D3A-0703F155F268}.Release DLL|Win32.Build.0 = Release DLL|Win32

+		{1515C8EB-5C72-43DF-9D3A-0703F155F268}.Release DLL|x64.ActiveCfg = Release DLL|x64

+		{1515C8EB-5C72-43DF-9D3A-0703F155F268}.Release DLL|x64.Build.0 = Release DLL|x64

+		{1515C8EB-5C72-43DF-9D3A-0703F155F268}.Release|Win32.ActiveCfg = Release|Win32

+		{1515C8EB-5C72-43DF-9D3A-0703F155F268}.Release|Win32.Build.0 = Release|Win32

+		{1515C8EB-5C72-43DF-9D3A-0703F155F268}.Release|x64.ActiveCfg = Release|x64

+		{1515C8EB-5C72-43DF-9D3A-0703F155F268}.Release|x64.Build.0 = Release|x64

+		{457CFEC8-5C3F-4C7E-98A6-B65E1DE22682}.Debug DLL|Win32.ActiveCfg = Debug|x64

+		{457CFEC8-5C3F-4C7E-98A6-B65E1DE22682}.Debug DLL|Win32.Build.0 = Debug|x64

+		{457CFEC8-5C3F-4C7E-98A6-B65E1DE22682}.Debug DLL|x64.ActiveCfg = Debug|x64

+		{457CFEC8-5C3F-4C7E-98A6-B65E1DE22682}.Debug DLL|x64.Build.0 = Debug|x64

+		{457CFEC8-5C3F-4C7E-98A6-B65E1DE22682}.Debug|Win32.ActiveCfg = Debug|Win32

+		{457CFEC8-5C3F-4C7E-98A6-B65E1DE22682}.Debug|Win32.Build.0 = Debug|Win32

+		{457CFEC8-5C3F-4C7E-98A6-B65E1DE22682}.Debug|x64.ActiveCfg = Debug|x64

+		{457CFEC8-5C3F-4C7E-98A6-B65E1DE22682}.Debug|x64.Build.0 = Debug|x64

+		{457CFEC8-5C3F-4C7E-98A6-B65E1DE22682}.Release DLL|Win32.ActiveCfg = Release|Win32

+		{457CFEC8-5C3F-4C7E-98A6-B65E1DE22682}.Release DLL|Win32.Build.0 = Release|Win32

+		{457CFEC8-5C3F-4C7E-98A6-B65E1DE22682}.Release DLL|x64.ActiveCfg = Release|x64

+		{457CFEC8-5C3F-4C7E-98A6-B65E1DE22682}.Release DLL|x64.Build.0 = Release|x64

+		{457CFEC8-5C3F-4C7E-98A6-B65E1DE22682}.Release|Win32.ActiveCfg = Release|Win32

+		{457CFEC8-5C3F-4C7E-98A6-B65E1DE22682}.Release|Win32.Build.0 = Release|Win32

+		{457CFEC8-5C3F-4C7E-98A6-B65E1DE22682}.Release|x64.ActiveCfg = Release|x64

+		{457CFEC8-5C3F-4C7E-98A6-B65E1DE22682}.Release|x64.Build.0 = Release|x64

+		{0E9F4403-1AA1-4824-A99F-041B1BF18D14}.Debug DLL|Win32.ActiveCfg = Debug|x64

+		{0E9F4403-1AA1-4824-A99F-041B1BF18D14}.Debug DLL|Win32.Build.0 = Debug|x64

+		{0E9F4403-1AA1-4824-A99F-041B1BF18D14}.Debug DLL|x64.ActiveCfg = Debug|x64

+		{0E9F4403-1AA1-4824-A99F-041B1BF18D14}.Debug DLL|x64.Build.0 = Debug|x64

+		{0E9F4403-1AA1-4824-A99F-041B1BF18D14}.Debug|Win32.ActiveCfg = Debug|Win32

+		{0E9F4403-1AA1-4824-A99F-041B1BF18D14}.Debug|Win32.Build.0 = Debug|Win32

+		{0E9F4403-1AA1-4824-A99F-041B1BF18D14}.Debug|x64.ActiveCfg = Debug|x64

+		{0E9F4403-1AA1-4824-A99F-041B1BF18D14}.Debug|x64.Build.0 = Debug|x64

+		{0E9F4403-1AA1-4824-A99F-041B1BF18D14}.Release DLL|Win32.ActiveCfg = Release|Win32

+		{0E9F4403-1AA1-4824-A99F-041B1BF18D14}.Release DLL|Win32.Build.0 = Release|Win32

+		{0E9F4403-1AA1-4824-A99F-041B1BF18D14}.Release DLL|x64.ActiveCfg = Release|x64

+		{0E9F4403-1AA1-4824-A99F-041B1BF18D14}.Release DLL|x64.Build.0 = Release|x64

+		{0E9F4403-1AA1-4824-A99F-041B1BF18D14}.Release|Win32.ActiveCfg = Release|Win32

+		{0E9F4403-1AA1-4824-A99F-041B1BF18D14}.Release|Win32.Build.0 = Release|Win32

+		{0E9F4403-1AA1-4824-A99F-041B1BF18D14}.Release|x64.ActiveCfg = Release|x64

+		{0E9F4403-1AA1-4824-A99F-041B1BF18D14}.Release|x64.Build.0 = Release|x64

+		{62156246-DCEA-4713-95E0-C01F595F1A20}.Debug DLL|Win32.ActiveCfg = Debug|x64

+		{62156246-DCEA-4713-95E0-C01F595F1A20}.Debug DLL|Win32.Build.0 = Debug|x64

+		{62156246-DCEA-4713-95E0-C01F595F1A20}.Debug DLL|x64.ActiveCfg = Debug|x64

+		{62156246-DCEA-4713-95E0-C01F595F1A20}.Debug DLL|x64.Build.0 = Debug|x64

+		{62156246-DCEA-4713-95E0-C01F595F1A20}.Debug|Win32.ActiveCfg = Debug|Win32

+		{62156246-DCEA-4713-95E0-C01F595F1A20}.Debug|Win32.Build.0 = Debug|Win32

+		{62156246-DCEA-4713-95E0-C01F595F1A20}.Debug|x64.ActiveCfg = Debug|x64

+		{62156246-DCEA-4713-95E0-C01F595F1A20}.Debug|x64.Build.0 = Debug|x64

+		{62156246-DCEA-4713-95E0-C01F595F1A20}.Release DLL|Win32.ActiveCfg = Release|Win32

+		{62156246-DCEA-4713-95E0-C01F595F1A20}.Release DLL|Win32.Build.0 = Release|Win32

+		{62156246-DCEA-4713-95E0-C01F595F1A20}.Release DLL|x64.ActiveCfg = Release|x64

+		{62156246-DCEA-4713-95E0-C01F595F1A20}.Release DLL|x64.Build.0 = Release|x64

+		{62156246-DCEA-4713-95E0-C01F595F1A20}.Release|Win32.ActiveCfg = Release|Win32

+		{62156246-DCEA-4713-95E0-C01F595F1A20}.Release|Win32.Build.0 = Release|Win32

+		{62156246-DCEA-4713-95E0-C01F595F1A20}.Release|x64.ActiveCfg = Release|x64

+		{62156246-DCEA-4713-95E0-C01F595F1A20}.Release|x64.Build.0 = Release|x64

+		{86C1D2C7-C961-4017-88E8-63D0BCCBD0D5}.Debug DLL|Win32.ActiveCfg = Debug|x64

+		{86C1D2C7-C961-4017-88E8-63D0BCCBD0D5}.Debug DLL|Win32.Build.0 = Debug|x64

+		{86C1D2C7-C961-4017-88E8-63D0BCCBD0D5}.Debug DLL|x64.ActiveCfg = Debug|x64

+		{86C1D2C7-C961-4017-88E8-63D0BCCBD0D5}.Debug DLL|x64.Build.0 = Debug|x64

+		{86C1D2C7-C961-4017-88E8-63D0BCCBD0D5}.Debug|Win32.ActiveCfg = Debug|Win32

+		{86C1D2C7-C961-4017-88E8-63D0BCCBD0D5}.Debug|Win32.Build.0 = Debug|Win32

+		{86C1D2C7-C961-4017-88E8-63D0BCCBD0D5}.Debug|x64.ActiveCfg = Debug|x64

+		{86C1D2C7-C961-4017-88E8-63D0BCCBD0D5}.Debug|x64.Build.0 = Debug|x64

+		{86C1D2C7-C961-4017-88E8-63D0BCCBD0D5}.Release DLL|Win32.ActiveCfg = Release|Win32

+		{86C1D2C7-C961-4017-88E8-63D0BCCBD0D5}.Release DLL|Win32.Build.0 = Release|Win32

+		{86C1D2C7-C961-4017-88E8-63D0BCCBD0D5}.Release DLL|x64.ActiveCfg = Release|x64

+		{86C1D2C7-C961-4017-88E8-63D0BCCBD0D5}.Release DLL|x64.Build.0 = Release|x64

+		{86C1D2C7-C961-4017-88E8-63D0BCCBD0D5}.Release|Win32.ActiveCfg = Release|Win32

+		{86C1D2C7-C961-4017-88E8-63D0BCCBD0D5}.Release|Win32.Build.0 = Release|Win32

+		{86C1D2C7-C961-4017-88E8-63D0BCCBD0D5}.Release|x64.ActiveCfg = Release|x64

+		{86C1D2C7-C961-4017-88E8-63D0BCCBD0D5}.Release|x64.Build.0 = Release|x64

+		{E46C11C7-5924-4F7C-B82E-5BEB8856A8BC}.Debug DLL|Win32.ActiveCfg = Debug|x64

+		{E46C11C7-5924-4F7C-B82E-5BEB8856A8BC}.Debug DLL|Win32.Build.0 = Debug|x64

+		{E46C11C7-5924-4F7C-B82E-5BEB8856A8BC}.Debug DLL|x64.ActiveCfg = Debug|x64

+		{E46C11C7-5924-4F7C-B82E-5BEB8856A8BC}.Debug DLL|x64.Build.0 = Debug|x64

+		{E46C11C7-5924-4F7C-B82E-5BEB8856A8BC}.Debug|Win32.ActiveCfg = Debug|Win32

+		{E46C11C7-5924-4F7C-B82E-5BEB8856A8BC}.Debug|Win32.Build.0 = Debug|Win32

+		{E46C11C7-5924-4F7C-B82E-5BEB8856A8BC}.Debug|x64.ActiveCfg = Debug|x64

+		{E46C11C7-5924-4F7C-B82E-5BEB8856A8BC}.Debug|x64.Build.0 = Debug|x64

+		{E46C11C7-5924-4F7C-B82E-5BEB8856A8BC}.Release DLL|Win32.ActiveCfg = Release|Win32

+		{E46C11C7-5924-4F7C-B82E-5BEB8856A8BC}.Release DLL|Win32.Build.0 = Release|Win32

+		{E46C11C7-5924-4F7C-B82E-5BEB8856A8BC}.Release DLL|x64.ActiveCfg = Release|x64

+		{E46C11C7-5924-4F7C-B82E-5BEB8856A8BC}.Release DLL|x64.Build.0 = Release|x64

+		{E46C11C7-5924-4F7C-B82E-5BEB8856A8BC}.Release|Win32.ActiveCfg = Release|Win32

+		{E46C11C7-5924-4F7C-B82E-5BEB8856A8BC}.Release|Win32.Build.0 = Release|Win32

+		{E46C11C7-5924-4F7C-B82E-5BEB8856A8BC}.Release|x64.ActiveCfg = Release|x64

+		{E46C11C7-5924-4F7C-B82E-5BEB8856A8BC}.Release|x64.Build.0 = Release|x64

+	EndGlobalSection

+	GlobalSection(SolutionProperties) = preSolution

+		HideSolutionNode = FALSE

+	EndGlobalSection

+EndGlobal

diff --git a/Mconfig.vcxproj b/Mconfig.vcxproj
new file mode 100644
index 0000000..7ea6346
--- /dev/null
+++ b/Mconfig.vcxproj
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="utf-8"?>

+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

+  <ItemGroup Label="ProjectConfigurations">

+    <ProjectConfiguration Include="Debug|Win32">

+      <Configuration>Debug</Configuration>

+      <Platform>Win32</Platform>

+    </ProjectConfiguration>

+    <ProjectConfiguration Include="Debug|x64">

+      <Configuration>Debug</Configuration>

+      <Platform>x64</Platform>

+    </ProjectConfiguration>

+    <ProjectConfiguration Include="Release|Win32">

+      <Configuration>Release</Configuration>

+      <Platform>Win32</Platform>

+    </ProjectConfiguration>

+    <ProjectConfiguration Include="Release|x64">

+      <Configuration>Release</Configuration>

+      <Platform>x64</Platform>

+    </ProjectConfiguration>

+  </ItemGroup>

+  <PropertyGroup Label="Globals">

+    <ProjectName>config</ProjectName>

+    <ProjectGuid>{86C1D2C7-C961-4017-88E8-63D0BCCBD0D5}</ProjectGuid>

+    <RootNamespace>config</RootNamespace>

+    <Keyword>MakeFileProj</Keyword>

+  </PropertyGroup>

+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">

+    <ConfigurationType>Utility</ConfigurationType>

+    <UseOfMfc>false</UseOfMfc>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">

+    <ConfigurationType>Utility</ConfigurationType>

+    <UseOfMfc>false</UseOfMfc>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">

+    <ConfigurationType>Utility</ConfigurationType>

+    <UseOfMfc>false</UseOfMfc>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">

+    <ConfigurationType>Utility</ConfigurationType>

+    <UseOfMfc>false</UseOfMfc>

+  </PropertyGroup>

+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />

+  <ImportGroup Label="ExtensionSettings">

+  </ImportGroup>

+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">

+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

+    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />

+  </ImportGroup>

+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">

+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

+    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />

+  </ImportGroup>

+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">

+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

+    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />

+  </ImportGroup>

+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">

+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

+    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />

+  </ImportGroup>

+  <PropertyGroup Label="UserMacros" />

+  <PropertyGroup>

+    <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>

+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\Debug\</OutDir>

+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\Debug\</IntDir>

+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\Release\</OutDir>

+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\Release\</IntDir>

+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>

+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>

+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>

+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>

+  </PropertyGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">

+    <Midl>

+      <TypeLibraryName>.\Debug/Mconfig.tlb</TypeLibraryName>

+      <HeaderFileName>

+      </HeaderFileName>

+    </Midl>

+  </ItemDefinitionGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">

+    <Midl>

+      <TypeLibraryName>.\Release/Mconfig.tlb</TypeLibraryName>

+      <HeaderFileName>

+      </HeaderFileName>

+    </Midl>

+  </ItemDefinitionGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">

+    <Midl>

+      <TargetEnvironment>X64</TargetEnvironment>

+      <TypeLibraryName>.\Debug/Mconfig.tlb</TypeLibraryName>

+      <HeaderFileName>

+      </HeaderFileName>

+    </Midl>

+  </ItemDefinitionGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">

+    <Midl>

+      <TargetEnvironment>X64</TargetEnvironment>

+      <TypeLibraryName>.\Release/Mconfig.tlb</TypeLibraryName>

+      <HeaderFileName>

+      </HeaderFileName>

+    </Midl>

+  </ItemDefinitionGroup>

+  <ItemGroup>

+    <CustomBuild Include="include\config_nt.h">

+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Copying %(FullPath) to config.h...</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" "%(RootDir)%(Directory)"config.h

+</Command>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(RootDir)%(Directory)config.h;%(Outputs)</Outputs>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Copying %(FullPath) to config.h...</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" "%(RootDir)%(Directory)"config.h

+</Command>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(RootDir)%(Directory)config.h;%(Outputs)</Outputs>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Copying %(FullPath) to config.h...</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" "%(RootDir)%(Directory)"config.h

+</Command>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(RootDir)%(Directory)config.h;%(Outputs)</Outputs>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Copying %(FullPath) to config.h...</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" "%(RootDir)%(Directory)"config.h

+</Command>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(RootDir)%(Directory)config.h;%(Outputs)</Outputs>

+    </CustomBuild>

+  </ItemGroup>

+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />

+  <ImportGroup Label="ExtensionTargets">

+  </ImportGroup>

+</Project>
\ No newline at end of file
diff --git a/lib/compface/compface.vcxproj b/lib/compface/compface.vcxproj
new file mode 100644
index 0000000..b77848b
--- /dev/null
+++ b/lib/compface/compface.vcxproj
@@ -0,0 +1,247 @@
+<?xml version="1.0" encoding="utf-8"?>

+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

+  <ItemGroup Label="ProjectConfigurations">

+    <ProjectConfiguration Include="Debug|Win32">

+      <Configuration>Debug</Configuration>

+      <Platform>Win32</Platform>

+    </ProjectConfiguration>

+    <ProjectConfiguration Include="Debug|x64">

+      <Configuration>Debug</Configuration>

+      <Platform>x64</Platform>

+    </ProjectConfiguration>

+    <ProjectConfiguration Include="Release|Win32">

+      <Configuration>Release</Configuration>

+      <Platform>Win32</Platform>

+    </ProjectConfiguration>

+    <ProjectConfiguration Include="Release|x64">

+      <Configuration>Release</Configuration>

+      <Platform>x64</Platform>

+    </ProjectConfiguration>

+  </ItemGroup>

+  <PropertyGroup Label="Globals">

+    <ProjectGuid>{0E9F4403-1AA1-4824-A99F-041B1BF18D14}</ProjectGuid>

+  </PropertyGroup>

+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">

+    <ConfigurationType>StaticLibrary</ConfigurationType>

+    <UseOfMfc>false</UseOfMfc>

+    <CharacterSet>MultiByte</CharacterSet>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">

+    <ConfigurationType>StaticLibrary</ConfigurationType>

+    <UseOfMfc>false</UseOfMfc>

+    <CharacterSet>MultiByte</CharacterSet>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">

+    <ConfigurationType>StaticLibrary</ConfigurationType>

+    <UseOfMfc>false</UseOfMfc>

+    <CharacterSet>MultiByte</CharacterSet>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">

+    <ConfigurationType>StaticLibrary</ConfigurationType>

+    <UseOfMfc>false</UseOfMfc>

+    <CharacterSet>MultiByte</CharacterSet>

+  </PropertyGroup>

+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />

+  <ImportGroup Label="ExtensionSettings">

+  </ImportGroup>

+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">

+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

+    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />

+  </ImportGroup>

+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">

+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

+    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />

+  </ImportGroup>

+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">

+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

+    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />

+  </ImportGroup>

+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">

+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

+    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />

+  </ImportGroup>

+  <PropertyGroup Label="UserMacros" />

+  <PropertyGroup>

+    <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>

+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\</OutDir>

+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\</IntDir>

+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\</OutDir>

+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\</IntDir>

+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>

+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>

+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>

+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>

+  </PropertyGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">

+    <ClCompile>

+      <Optimization>MaxSpeed</Optimization>

+      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>

+      <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;SYSV32;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <StringPooling>true</StringPooling>

+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>

+      <FunctionLevelLinking>true</FunctionLevelLinking>

+      <PrecompiledHeader>

+      </PrecompiledHeader>

+      <PrecompiledHeaderOutputFile>.\Release/compface.pch</PrecompiledHeaderOutputFile>

+      <WarningLevel>Level1</WarningLevel>

+      <SuppressStartupBanner>true</SuppressStartupBanner>

+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

+    </ClCompile>

+    <ResourceCompile>

+      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <Culture>0x0409</Culture>

+    </ResourceCompile>

+    <Lib>

+      <SuppressStartupBanner>true</SuppressStartupBanner>

+    </Lib>

+  </ItemDefinitionGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">

+    <ClCompile>

+      <Optimization>Disabled</Optimization>

+      <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;SYSV32;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>

+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>

+      <PrecompiledHeader>

+      </PrecompiledHeader>

+      <PrecompiledHeaderOutputFile>.\Debug/compface.pch</PrecompiledHeaderOutputFile>

+      <WarningLevel>Level1</WarningLevel>

+      <SuppressStartupBanner>true</SuppressStartupBanner>

+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

+    </ClCompile>

+    <ResourceCompile>

+      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <Culture>0x0409</Culture>

+    </ResourceCompile>

+    <Lib>

+      <SuppressStartupBanner>true</SuppressStartupBanner>

+    </Lib>

+  </ItemDefinitionGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">

+    <Midl>

+      <TargetEnvironment>X64</TargetEnvironment>

+    </Midl>

+    <ClCompile>

+      <Optimization>MaxSpeed</Optimization>

+      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>

+      <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;SYSV32;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <StringPooling>true</StringPooling>

+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>

+      <FunctionLevelLinking>true</FunctionLevelLinking>

+      <PrecompiledHeader>

+      </PrecompiledHeader>

+      <PrecompiledHeaderOutputFile>.\Release/compface.pch</PrecompiledHeaderOutputFile>

+      <WarningLevel>Level1</WarningLevel>

+      <SuppressStartupBanner>true</SuppressStartupBanner>

+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

+    </ClCompile>

+    <ResourceCompile>

+      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <Culture>0x0409</Culture>

+    </ResourceCompile>

+    <Lib>

+      <SuppressStartupBanner>true</SuppressStartupBanner>

+    </Lib>

+  </ItemDefinitionGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">

+    <Midl>

+      <TargetEnvironment>X64</TargetEnvironment>

+    </Midl>

+    <ClCompile>

+      <Optimization>Disabled</Optimization>

+      <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;SYSV32;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>

+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>

+      <PrecompiledHeader>

+      </PrecompiledHeader>

+      <PrecompiledHeaderOutputFile>.\Debug/compface.pch</PrecompiledHeaderOutputFile>

+      <WarningLevel>Level1</WarningLevel>

+      <SuppressStartupBanner>true</SuppressStartupBanner>

+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

+    </ClCompile>

+    <ResourceCompile>

+      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <Culture>0x0409</Culture>

+    </ResourceCompile>

+    <Lib>

+      <SuppressStartupBanner>true</SuppressStartupBanner>

+    </Lib>

+  </ItemDefinitionGroup>

+  <ItemGroup>

+    <ClCompile Include="arith.c">

+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>

+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>

+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>

+    </ClCompile>

+    <ClCompile Include="compface.c">

+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>

+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>

+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>

+    </ClCompile>

+    <ClCompile Include="compress.c">

+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>

+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>

+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>

+    </ClCompile>

+    <ClCompile Include="file.c">

+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>

+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>

+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>

+    </ClCompile>

+    <ClCompile Include="gen.c">

+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>

+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>

+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>

+    </ClCompile>

+    <ClCompile Include="uncompface.c">

+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>

+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>

+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>

+    </ClCompile>

+  </ItemGroup>

+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />

+  <ImportGroup Label="ExtensionTargets">

+  </ImportGroup>

+</Project>
\ No newline at end of file
diff --git a/lib/compface/compface.vcxproj.filters b/lib/compface/compface.vcxproj.filters
new file mode 100644
index 0000000..527271d
--- /dev/null
+++ b/lib/compface/compface.vcxproj.filters
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>

+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

+  <ItemGroup>

+    <Filter Include="Source Files">

+      <UniqueIdentifier>{3d4e95d8-973b-4c8a-8fb2-f214c53ac8f2}</UniqueIdentifier>

+      <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>

+    </Filter>

+    <Filter Include="Header Files">

+      <UniqueIdentifier>{b5c53c53-a877-4543-bb69-b64999064ca0}</UniqueIdentifier>

+      <Extensions>h;hpp;hxx;hm;inl</Extensions>

+    </Filter>

+  </ItemGroup>

+  <ItemGroup>

+    <ClCompile Include="arith.c">

+      <Filter>Source Files</Filter>

+    </ClCompile>

+    <ClCompile Include="compface.c">

+      <Filter>Source Files</Filter>

+    </ClCompile>

+    <ClCompile Include="compress.c">

+      <Filter>Source Files</Filter>

+    </ClCompile>

+    <ClCompile Include="file.c">

+      <Filter>Source Files</Filter>

+    </ClCompile>

+    <ClCompile Include="gen.c">

+      <Filter>Source Files</Filter>

+    </ClCompile>

+    <ClCompile Include="uncompface.c">

+      <Filter>Source Files</Filter>

+    </ClCompile>

+  </ItemGroup>

+</Project>
\ No newline at end of file
diff --git a/lib/dspam/dspam.vcxproj b/lib/dspam/dspam.vcxproj
new file mode 100644
index 0000000..bca6fd9
--- /dev/null
+++ b/lib/dspam/dspam.vcxproj
@@ -0,0 +1,240 @@
+<?xml version="1.0" encoding="utf-8"?>

+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

+  <ItemGroup Label="ProjectConfigurations">

+    <ProjectConfiguration Include="Debug|Win32">

+      <Configuration>Debug</Configuration>

+      <Platform>Win32</Platform>

+    </ProjectConfiguration>

+    <ProjectConfiguration Include="Debug|x64">

+      <Configuration>Debug</Configuration>

+      <Platform>x64</Platform>

+    </ProjectConfiguration>

+    <ProjectConfiguration Include="Release|Win32">

+      <Configuration>Release</Configuration>

+      <Platform>Win32</Platform>

+    </ProjectConfiguration>

+    <ProjectConfiguration Include="Release|x64">

+      <Configuration>Release</Configuration>

+      <Platform>x64</Platform>

+    </ProjectConfiguration>

+  </ItemGroup>

+  <PropertyGroup Label="Globals">

+    <ProjectGuid>{62156246-DCEA-4713-95E0-C01F595F1A20}</ProjectGuid>

+    <RootNamespace>dspam</RootNamespace>

+  </PropertyGroup>

+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">

+    <ConfigurationType>StaticLibrary</ConfigurationType>

+    <UseOfMfc>false</UseOfMfc>

+    <CharacterSet>MultiByte</CharacterSet>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">

+    <ConfigurationType>StaticLibrary</ConfigurationType>

+    <UseOfMfc>false</UseOfMfc>

+    <CharacterSet>MultiByte</CharacterSet>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">

+    <ConfigurationType>StaticLibrary</ConfigurationType>

+    <UseOfMfc>false</UseOfMfc>

+    <CharacterSet>MultiByte</CharacterSet>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">

+    <ConfigurationType>StaticLibrary</ConfigurationType>

+    <UseOfMfc>false</UseOfMfc>

+    <CharacterSet>MultiByte</CharacterSet>

+  </PropertyGroup>

+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />

+  <ImportGroup Label="ExtensionSettings">

+  </ImportGroup>

+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">

+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

+    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />

+  </ImportGroup>

+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">

+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

+    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />

+  </ImportGroup>

+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">

+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

+    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />

+  </ImportGroup>

+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">

+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

+    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />

+  </ImportGroup>

+  <PropertyGroup Label="UserMacros" />

+  <PropertyGroup>

+    <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>

+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">debug\</OutDir>

+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">debug\</IntDir>

+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">release\</OutDir>

+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">release\</IntDir>

+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>

+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>

+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>

+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>

+  </PropertyGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">

+    <ClCompile>

+      <Optimization>Disabled</Optimization>

+      <AdditionalIncludeDirectories>src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+      <PreprocessorDefinitions>HAVE_CONFIG_H;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <ExceptionHandling>

+      </ExceptionHandling>

+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>

+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>

+      <PrecompiledHeader>

+      </PrecompiledHeader>

+      <PrecompiledHeaderOutputFile>debug\dspam.pch</PrecompiledHeaderOutputFile>

+      <WarningLevel>Level4</WarningLevel>

+      <SuppressStartupBanner>true</SuppressStartupBanner>

+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

+      <CompileAs>CompileAsC</CompileAs>

+    </ClCompile>

+    <ResourceCompile>

+      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <Culture>0x0409</Culture>

+    </ResourceCompile>

+    <Lib>

+      <SuppressStartupBanner>true</SuppressStartupBanner>

+    </Lib>

+  </ItemDefinitionGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">

+    <ClCompile>

+      <Optimization>MaxSpeed</Optimization>

+      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>

+      <AdditionalIncludeDirectories>src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+      <PreprocessorDefinitions>HAVE_CONFIG_H;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <StringPooling>true</StringPooling>

+      <ExceptionHandling>

+      </ExceptionHandling>

+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>

+      <FunctionLevelLinking>true</FunctionLevelLinking>

+      <PrecompiledHeader>

+      </PrecompiledHeader>

+      <PrecompiledHeaderOutputFile>release\dspam.pch</PrecompiledHeaderOutputFile>

+      <WarningLevel>Level4</WarningLevel>

+      <SuppressStartupBanner>true</SuppressStartupBanner>

+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

+      <CompileAs>CompileAsC</CompileAs>

+    </ClCompile>

+    <ResourceCompile>

+      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <Culture>0x0409</Culture>

+    </ResourceCompile>

+    <Lib>

+      <SuppressStartupBanner>true</SuppressStartupBanner>

+    </Lib>

+  </ItemDefinitionGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">

+    <Midl>

+      <TargetEnvironment>X64</TargetEnvironment>

+    </Midl>

+    <ClCompile>

+      <Optimization>Disabled</Optimization>

+      <AdditionalIncludeDirectories>src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+      <PreprocessorDefinitions>HAVE_CONFIG_H;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <ExceptionHandling>

+      </ExceptionHandling>

+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>

+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>

+      <PrecompiledHeader>

+      </PrecompiledHeader>

+      <PrecompiledHeaderOutputFile>debug\dspam.pch</PrecompiledHeaderOutputFile>

+      <WarningLevel>Level4</WarningLevel>

+      <SuppressStartupBanner>true</SuppressStartupBanner>

+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

+      <CompileAs>CompileAsC</CompileAs>

+    </ClCompile>

+    <ResourceCompile>

+      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <Culture>0x0409</Culture>

+    </ResourceCompile>

+    <Lib>

+      <SuppressStartupBanner>true</SuppressStartupBanner>

+    </Lib>

+  </ItemDefinitionGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">

+    <Midl>

+      <TargetEnvironment>X64</TargetEnvironment>

+    </Midl>

+    <ClCompile>

+      <Optimization>MaxSpeed</Optimization>

+      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>

+      <AdditionalIncludeDirectories>src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+      <PreprocessorDefinitions>HAVE_CONFIG_H;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <StringPooling>true</StringPooling>

+      <ExceptionHandling>

+      </ExceptionHandling>

+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>

+      <FunctionLevelLinking>true</FunctionLevelLinking>

+      <PrecompiledHeader>

+      </PrecompiledHeader>

+      <PrecompiledHeaderOutputFile>release\dspam.pch</PrecompiledHeaderOutputFile>

+      <WarningLevel>Level4</WarningLevel>

+      <SuppressStartupBanner>true</SuppressStartupBanner>

+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

+      <CompileAs>CompileAsC</CompileAs>

+    </ClCompile>

+    <ResourceCompile>

+      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <Culture>0x0409</Culture>

+    </ResourceCompile>

+    <Lib>

+      <SuppressStartupBanner>true</SuppressStartupBanner>

+    </Lib>

+  </ItemDefinitionGroup>

+  <ItemGroup>

+    <ClCompile Include="src\base64.c" />

+    <ClCompile Include="src\bnr.c" />

+    <ClCompile Include="src\buffer.c" />

+    <ClCompile Include="src\config_shared.c" />

+    <ClCompile Include="src\decode.c" />

+    <ClCompile Include="src\diction.c" />

+    <ClCompile Include="src\error.c" />

+    <ClCompile Include="src\hash.c" />

+    <ClCompile Include="src\hash_drv.c" />

+    <ClCompile Include="src\heap.c" />

+    <ClCompile Include="src\libdspam.c" />

+    <ClCompile Include="src\list.c" />

+    <ClCompile Include="src\nodetree.c" />

+    <ClCompile Include="src\pref.c" />

+    <ClCompile Include="src\read_config.c" />

+    <ClCompile Include="src\tokenizer.c" />

+    <ClCompile Include="src\util.c" />

+  </ItemGroup>

+  <ItemGroup>

+    <ClInclude Include="src\auto-config.h" />

+    <ClInclude Include="src\buffer.h" />

+    <ClInclude Include="src\config.h" />

+    <ClInclude Include="src\decode.h" />

+    <ClInclude Include="src\error.h" />

+    <ClInclude Include="src\libdspam.h" />

+    <ClInclude Include="src\libdspam_objects.h" />

+    <ClInclude Include="src\nodetree.h" />

+    <ClInclude Include="src\storage_driver.h" />

+  </ItemGroup>

+  <ItemGroup>

+    <CustomBuild Include="src\auto-config.h.win32">

+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Creating auto-config.h</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy %(FullPath) %(RootDir)%(Directory)\auto-config.h

+</Command>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(RootDir)%(Directory)\auto-config.h;%(Outputs)</Outputs>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Creating auto-config.h</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy %(FullPath) %(RootDir)%(Directory)\auto-config.h

+</Command>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(RootDir)%(Directory)\auto-config.h;%(Outputs)</Outputs>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Creating auto-config.h</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy %(FullPath) %(RootDir)%(Directory)\auto-config.h

+</Command>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(RootDir)%(Directory)\auto-config.h;%(Outputs)</Outputs>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Creating auto-config.h</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy %(FullPath) %(RootDir)%(Directory)\auto-config.h

+</Command>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(RootDir)%(Directory)\auto-config.h;%(Outputs)</Outputs>

+    </CustomBuild>

+  </ItemGroup>

+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />

+  <ImportGroup Label="ExtensionTargets">

+  </ImportGroup>

+</Project>
\ No newline at end of file
diff --git a/lib/dspam/dspam.vcxproj.filters b/lib/dspam/dspam.vcxproj.filters
new file mode 100644
index 0000000..3bfff15
--- /dev/null
+++ b/lib/dspam/dspam.vcxproj.filters
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="utf-8"?>

+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

+  <ItemGroup>

+    <Filter Include="Source Files">

+      <UniqueIdentifier>{ad473575-e847-49ab-95c8-d5d783f58937}</UniqueIdentifier>

+      <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>

+    </Filter>

+    <Filter Include="Header Files">

+      <UniqueIdentifier>{0c83997e-e117-4329-abd1-27f93f702734}</UniqueIdentifier>

+      <Extensions>h;hpp;hxx;hm;inl</Extensions>

+    </Filter>

+  </ItemGroup>

+  <ItemGroup>

+    <ClCompile Include="src\base64.c">

+      <Filter>Source Files</Filter>

+    </ClCompile>

+    <ClCompile Include="src\bnr.c">

+      <Filter>Source Files</Filter>

+    </ClCompile>

+    <ClCompile Include="src\buffer.c">

+      <Filter>Source Files</Filter>

+    </ClCompile>

+    <ClCompile Include="src\config_shared.c">

+      <Filter>Source Files</Filter>

+    </ClCompile>

+    <ClCompile Include="src\decode.c">

+      <Filter>Source Files</Filter>

+    </ClCompile>

+    <ClCompile Include="src\diction.c">

+      <Filter>Source Files</Filter>

+    </ClCompile>

+    <ClCompile Include="src\error.c">

+      <Filter>Source Files</Filter>

+    </ClCompile>

+    <ClCompile Include="src\hash.c">

+      <Filter>Source Files</Filter>

+    </ClCompile>

+    <ClCompile Include="src\hash_drv.c">

+      <Filter>Source Files</Filter>

+    </ClCompile>

+    <ClCompile Include="src\heap.c">

+      <Filter>Source Files</Filter>

+    </ClCompile>

+    <ClCompile Include="src\libdspam.c">

+      <Filter>Source Files</Filter>

+    </ClCompile>

+    <ClCompile Include="src\list.c">

+      <Filter>Source Files</Filter>

+    </ClCompile>

+    <ClCompile Include="src\nodetree.c">

+      <Filter>Source Files</Filter>

+    </ClCompile>

+    <ClCompile Include="src\pref.c">

+      <Filter>Source Files</Filter>

+    </ClCompile>

+    <ClCompile Include="src\read_config.c">

+      <Filter>Source Files</Filter>

+    </ClCompile>

+    <ClCompile Include="src\tokenizer.c">

+      <Filter>Source Files</Filter>

+    </ClCompile>

+    <ClCompile Include="src\util.c">

+      <Filter>Source Files</Filter>

+    </ClCompile>

+  </ItemGroup>

+  <ItemGroup>

+    <ClInclude Include="src\auto-config.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="src\buffer.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="src\config.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="src\decode.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="src\error.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="src\libdspam.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="src\libdspam_objects.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="src\nodetree.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="src\storage_driver.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+  </ItemGroup>

+  <ItemGroup>

+    <CustomBuild Include="src\auto-config.h.win32" />

+  </ItemGroup>

+</Project>
\ No newline at end of file
diff --git a/lib/imap/imap.vcxproj b/lib/imap/imap.vcxproj
new file mode 100644
index 0000000..28d779f
--- /dev/null
+++ b/lib/imap/imap.vcxproj
@@ -0,0 +1,238 @@
+<?xml version="1.0" encoding="utf-8"?>

+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

+  <ItemGroup Label="ProjectConfigurations">

+    <ProjectConfiguration Include="Debug|Win32">

+      <Configuration>Debug</Configuration>

+      <Platform>Win32</Platform>

+    </ProjectConfiguration>

+    <ProjectConfiguration Include="Debug|x64">

+      <Configuration>Debug</Configuration>

+      <Platform>x64</Platform>

+    </ProjectConfiguration>

+    <ProjectConfiguration Include="Release|Win32">

+      <Configuration>Release</Configuration>

+      <Platform>Win32</Platform>

+    </ProjectConfiguration>

+    <ProjectConfiguration Include="Release|x64">

+      <Configuration>Release</Configuration>

+      <Platform>x64</Platform>

+    </ProjectConfiguration>

+  </ItemGroup>

+  <PropertyGroup Label="Globals">

+    <ProjectGuid>{457cfec8-5c3f-4c7e-98a6-b65e1de22682}</ProjectGuid>

+    <RootNamespace>imap</RootNamespace>

+  </PropertyGroup>

+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">

+    <ConfigurationType>StaticLibrary</ConfigurationType>

+    <UseOfMfc>false</UseOfMfc>

+    <CharacterSet>MultiByte</CharacterSet>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">

+    <ConfigurationType>StaticLibrary</ConfigurationType>

+    <UseOfMfc>false</UseOfMfc>

+    <CharacterSet>MultiByte</CharacterSet>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">

+    <ConfigurationType>StaticLibrary</ConfigurationType>

+    <UseOfMfc>false</UseOfMfc>

+    <CharacterSet>MultiByte</CharacterSet>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">

+    <ConfigurationType>StaticLibrary</ConfigurationType>

+    <UseOfMfc>false</UseOfMfc>

+    <CharacterSet>MultiByte</CharacterSet>

+  </PropertyGroup>

+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />

+  <ImportGroup Label="ExtensionSettings">

+  </ImportGroup>

+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">

+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

+    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />

+  </ImportGroup>

+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">

+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

+    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />

+  </ImportGroup>

+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">

+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

+    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />

+  </ImportGroup>

+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">

+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

+    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />

+  </ImportGroup>

+  <PropertyGroup Label="UserMacros" />

+  <PropertyGroup>

+    <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>

+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">debug\</OutDir>

+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">debug\</IntDir>

+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">release\</OutDir>

+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">release\</IntDir>

+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>

+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>

+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>

+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>

+  </PropertyGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">

+    <ClCompile>

+      <Optimization>Disabled</Optimization>

+      <AdditionalIncludeDirectories>src\c-client;src\osdep\nt;src\charset;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+      <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;CHUNKSIZE=65536;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>

+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>

+      <PrecompiledHeader>

+      </PrecompiledHeader>

+      <PrecompiledHeaderOutputFile>.\debug\imap.pch</PrecompiledHeaderOutputFile>

+      <WarningLevel>Level3</WarningLevel>

+      <SuppressStartupBanner>true</SuppressStartupBanner>

+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

+      <CompileAs>CompileAsC</CompileAs>

+      <DisableSpecificWarnings>4273;%(DisableSpecificWarnings)</DisableSpecificWarnings>

+    </ClCompile>

+    <ResourceCompile>

+      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <Culture>0x0409</Culture>

+    </ResourceCompile>

+    <Lib>

+      <SuppressStartupBanner>true</SuppressStartupBanner>

+    </Lib>

+  </ItemDefinitionGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">

+    <ClCompile>

+      <Optimization>MaxSpeed</Optimization>

+      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>

+      <AdditionalIncludeDirectories>src\c-client;src\osdep\nt;src\charset;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+      <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;CHUNKSIZE=65536;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <StringPooling>true</StringPooling>

+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>

+      <FunctionLevelLinking>true</FunctionLevelLinking>

+      <PrecompiledHeader>

+      </PrecompiledHeader>

+      <PrecompiledHeaderOutputFile>.\release\imap.pch</PrecompiledHeaderOutputFile>

+      <WarningLevel>Level3</WarningLevel>

+      <SuppressStartupBanner>true</SuppressStartupBanner>

+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

+      <CompileAs>CompileAsC</CompileAs>

+      <DisableSpecificWarnings>4273;%(DisableSpecificWarnings)</DisableSpecificWarnings>

+    </ClCompile>

+    <ResourceCompile>

+      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <Culture>0x0409</Culture>

+    </ResourceCompile>

+    <Lib>

+      <SuppressStartupBanner>true</SuppressStartupBanner>

+    </Lib>

+  </ItemDefinitionGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">

+    <Midl>

+      <TargetEnvironment>X64</TargetEnvironment>

+    </Midl>

+    <ClCompile>

+      <Optimization>Disabled</Optimization>

+      <AdditionalIncludeDirectories>src\c-client;src\osdep\nt;src\charset;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+      <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;CHUNKSIZE=65536;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>

+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>

+      <PrecompiledHeader>

+      </PrecompiledHeader>

+      <PrecompiledHeaderOutputFile>.\debug\imap.pch</PrecompiledHeaderOutputFile>

+      <WarningLevel>Level3</WarningLevel>

+      <SuppressStartupBanner>true</SuppressStartupBanner>

+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

+      <CompileAs>CompileAsC</CompileAs>

+      <DisableSpecificWarnings>4273;%(DisableSpecificWarnings)</DisableSpecificWarnings>

+    </ClCompile>

+    <ResourceCompile>

+      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <Culture>0x0409</Culture>

+    </ResourceCompile>

+    <Lib>

+      <SuppressStartupBanner>true</SuppressStartupBanner>

+    </Lib>

+  </ItemDefinitionGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">

+    <Midl>

+      <TargetEnvironment>X64</TargetEnvironment>

+    </Midl>

+    <ClCompile>

+      <Optimization>MaxSpeed</Optimization>

+      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>

+      <AdditionalIncludeDirectories>src\c-client;src\osdep\nt;src\charset;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+      <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;CHUNKSIZE=65536;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <StringPooling>true</StringPooling>

+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>

+      <FunctionLevelLinking>true</FunctionLevelLinking>

+      <PrecompiledHeader>

+      </PrecompiledHeader>

+      <PrecompiledHeaderOutputFile>.\release\imap.pch</PrecompiledHeaderOutputFile>

+      <WarningLevel>Level3</WarningLevel>

+      <SuppressStartupBanner>true</SuppressStartupBanner>

+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

+      <CompileAs>CompileAsC</CompileAs>

+      <DisableSpecificWarnings>4273;%(DisableSpecificWarnings)</DisableSpecificWarnings>

+    </ClCompile>

+    <ResourceCompile>

+      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <Culture>0x0409</Culture>

+    </ResourceCompile>

+    <Lib>

+      <SuppressStartupBanner>true</SuppressStartupBanner>

+    </Lib>

+  </ItemDefinitionGroup>

+  <ItemGroup>

+    <ClCompile Include="src\osdep\nt\dummynt.c" />

+    <ClCompile Include="src\osdep\nt\fdstring.c" />

+    <ClCompile Include="src\c-client\flstring.c" />

+    <ClCompile Include="src\c-client\imap4r1.c" />

+    <ClCompile Include="src\c-client\mail.c" />

+    <ClCompile Include="src\osdep\nt\mbxnt.c" />

+    <ClCompile Include="src\osdep\nt\mhnt.c" />

+    <ClCompile Include="src\c-client\misc.c" />

+    <ClCompile Include="src\osdep\nt\mtxnt.c" />

+    <ClCompile Include="src\c-client\netmsg.c" />

+    <ClCompile Include="src\c-client\newsrc.c" />

+    <ClCompile Include="src\c-client\nntp.c" />

+    <ClCompile Include="src\osdep\nt\os_nt.c" />

+    <ClCompile Include="src\c-client\pop3.c" />

+    <ClCompile Include="src\osdep\nt\pseudo.c" />

+    <ClCompile Include="src\c-client\rfc822.c" />

+    <ClCompile Include="src\c-client\smanager.c" />

+    <ClCompile Include="src\c-client\smtp.c" />

+    <ClCompile Include="src\osdep\nt\tenexnt.c" />

+    <ClCompile Include="src\osdep\nt\unixnt.c" />

+    <ClCompile Include="src\c-client\utf8.c" />

+    <ClCompile Include="src\c-client\utf8aux.c" />

+    <CustomBuild Include="src\osdep\nt\ip4_nt.c">

+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Creating ip_nt.c...</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" "%(RootDir)%(Directory)"\ip_nt.c

+</Command>

+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(FullPath);%(AdditionalInputs)</AdditionalInputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(RootDir)%(Directory)\ip_nt.c;%(Outputs)</Outputs>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Creating ip_nt.c...</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" "%(RootDir)%(Directory)"\ip_nt.c

+</Command>

+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(FullPath);%(AdditionalInputs)</AdditionalInputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(RootDir)%(Directory)\ip_nt.c;%(Outputs)</Outputs>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Creating ip_nt.c...</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" "%(RootDir)%(Directory)"\ip_nt.c

+</Command>

+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(FullPath);%(AdditionalInputs)</AdditionalInputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(RootDir)%(Directory)\ip_nt.c;%(Outputs)</Outputs>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Creating ip_nt.c...</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" "%(RootDir)%(Directory)"\ip_nt.c

+</Command>

+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(FullPath);%(AdditionalInputs)</AdditionalInputs>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(RootDir)%(Directory)\ip_nt.c;%(Outputs)</Outputs>

+    </CustomBuild>

+  </ItemGroup>

+  <ItemGroup>

+    <ProjectReference Include="..\..\Mconfig.vcxproj">

+      <Project>{86c1d2c7-c961-4017-88e8-63d0bccbd0d5}</Project>

+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>

+    </ProjectReference>

+  </ItemGroup>

+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />

+  <ImportGroup Label="ExtensionTargets">

+  </ImportGroup>

+</Project>
\ No newline at end of file
diff --git a/lib/imap/imap.vcxproj.filters b/lib/imap/imap.vcxproj.filters
new file mode 100644
index 0000000..d786847
--- /dev/null
+++ b/lib/imap/imap.vcxproj.filters
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="utf-8"?>

+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

+  <ItemGroup>

+    <Filter Include="Source Files">

+      <UniqueIdentifier>{f239ec7b-8629-4faf-a3b0-82ba8a0125a1}</UniqueIdentifier>

+      <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>

+    </Filter>

+    <Filter Include="Header Files">

+      <UniqueIdentifier>{45ec096a-95ca-493c-b8f2-8b997880dfc2}</UniqueIdentifier>

+      <Extensions>h;hpp;hxx;hm;inl</Extensions>

+    </Filter>

+  </ItemGroup>

+  <ItemGroup>

+    <ClCompile Include="src\osdep\nt\dummynt.c">

+      <Filter>Source Files</Filter>

+    </ClCompile>

+    <ClCompile Include="src\osdep\nt\fdstring.c">

+      <Filter>Source Files</Filter>

+    </ClCompile>

+    <ClCompile Include="src\c-client\flstring.c">

+      <Filter>Source Files</Filter>

+    </ClCompile>

+    <ClCompile Include="src\c-client\imap4r1.c">

+      <Filter>Source Files</Filter>

+    </ClCompile>

+    <ClCompile Include="src\c-client\mail.c">

+      <Filter>Source Files</Filter>

+    </ClCompile>

+    <ClCompile Include="src\osdep\nt\mbxnt.c">

+      <Filter>Source Files</Filter>

+    </ClCompile>

+    <ClCompile Include="src\osdep\nt\mhnt.c">

+      <Filter>Source Files</Filter>

+    </ClCompile>

+    <ClCompile Include="src\c-client\misc.c">

+      <Filter>Source Files</Filter>

+    </ClCompile>

+    <ClCompile Include="src\osdep\nt\mtxnt.c">

+      <Filter>Source Files</Filter>

+    </ClCompile>

+    <ClCompile Include="src\c-client\netmsg.c">

+      <Filter>Source Files</Filter>

+    </ClCompile>

+    <ClCompile Include="src\c-client\newsrc.c">

+      <Filter>Source Files</Filter>

+    </ClCompile>

+    <ClCompile Include="src\c-client\nntp.c">

+      <Filter>Source Files</Filter>

+    </ClCompile>

+    <ClCompile Include="src\osdep\nt\os_nt.c">

+      <Filter>Source Files</Filter>

+    </ClCompile>

+    <ClCompile Include="src\c-client\pop3.c">

+      <Filter>Source Files</Filter>

+    </ClCompile>

+    <ClCompile Include="src\osdep\nt\pseudo.c">

+      <Filter>Source Files</Filter>

+    </ClCompile>

+    <ClCompile Include="src\c-client\rfc822.c">

+      <Filter>Source Files</Filter>

+    </ClCompile>

+    <ClCompile Include="src\c-client\smanager.c">

+      <Filter>Source Files</Filter>

+    </ClCompile>

+    <ClCompile Include="src\c-client\smtp.c">

+      <Filter>Source Files</Filter>

+    </ClCompile>

+    <ClCompile Include="src\osdep\nt\tenexnt.c">

+      <Filter>Source Files</Filter>

+    </ClCompile>

+    <ClCompile Include="src\osdep\nt\unixnt.c">

+      <Filter>Source Files</Filter>

+    </ClCompile>

+    <ClCompile Include="src\c-client\utf8.c">

+      <Filter>Source Files</Filter>

+    </ClCompile>

+    <ClCompile Include="src\c-client\utf8aux.c">

+      <Filter>Source Files</Filter>

+    </ClCompile>

+  </ItemGroup>

+  <ItemGroup>

+    <CustomBuild Include="src\osdep\nt\ip4_nt.c">

+      <Filter>Header Files</Filter>

+    </CustomBuild>

+  </ItemGroup>

+</Project>
\ No newline at end of file
diff --git a/src/wx/vcard/versit.vcxproj b/src/wx/vcard/versit.vcxproj
new file mode 100644
index 0000000..6b44d8e
--- /dev/null
+++ b/src/wx/vcard/versit.vcxproj
@@ -0,0 +1,289 @@
+<?xml version="1.0" encoding="utf-8"?>

+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

+  <ItemGroup Label="ProjectConfigurations">

+    <ProjectConfiguration Include="Debug|Win32">

+      <Configuration>Debug</Configuration>

+      <Platform>Win32</Platform>

+    </ProjectConfiguration>

+    <ProjectConfiguration Include="Debug|x64">

+      <Configuration>Debug</Configuration>

+      <Platform>x64</Platform>

+    </ProjectConfiguration>

+    <ProjectConfiguration Include="Release|Win32">

+      <Configuration>Release</Configuration>

+      <Platform>Win32</Platform>

+    </ProjectConfiguration>

+    <ProjectConfiguration Include="Release|x64">

+      <Configuration>Release</Configuration>

+      <Platform>x64</Platform>

+    </ProjectConfiguration>

+  </ItemGroup>

+  <PropertyGroup Label="Globals">

+    <ProjectGuid>{E46C11C7-5924-4F7C-B82E-5BEB8856A8BC}</ProjectGuid>

+    <RootNamespace>versit</RootNamespace>

+  </PropertyGroup>

+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">

+    <ConfigurationType>DynamicLibrary</ConfigurationType>

+    <UseOfMfc>false</UseOfMfc>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">

+    <ConfigurationType>DynamicLibrary</ConfigurationType>

+    <UseOfMfc>false</UseOfMfc>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">

+    <ConfigurationType>DynamicLibrary</ConfigurationType>

+    <UseOfMfc>false</UseOfMfc>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">

+    <ConfigurationType>DynamicLibrary</ConfigurationType>

+    <UseOfMfc>false</UseOfMfc>

+  </PropertyGroup>

+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />

+  <ImportGroup Label="ExtensionSettings">

+  </ImportGroup>

+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">

+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

+    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />

+  </ImportGroup>

+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">

+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

+    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />

+  </ImportGroup>

+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">

+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

+    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />

+  </ImportGroup>

+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">

+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

+    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />

+  </ImportGroup>

+  <PropertyGroup Label="UserMacros" />

+  <PropertyGroup>

+    <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>

+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\</OutDir>

+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\</IntDir>

+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>

+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\</OutDir>

+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\</IntDir>

+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>

+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>

+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>

+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>

+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>

+  </PropertyGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">

+    <Midl>

+      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <MkTypLibCompatible>true</MkTypLibCompatible>

+      <SuppressStartupBanner>true</SuppressStartupBanner>

+      <TargetEnvironment>Win32</TargetEnvironment>

+      <TypeLibraryName>.\Release/versit.tlb</TypeLibraryName>

+      <HeaderFileName>

+      </HeaderFileName>

+    </Midl>

+    <ClCompile>

+      <Optimization>MaxSpeed</Optimization>

+      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>

+      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <StringPooling>true</StringPooling>

+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>

+      <FunctionLevelLinking>true</FunctionLevelLinking>

+      <PrecompiledHeader>

+      </PrecompiledHeader>

+      <PrecompiledHeaderOutputFile>.\Release/versit.pch</PrecompiledHeaderOutputFile>

+      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>

+      <ObjectFileName>.\Release/</ObjectFileName>

+      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>

+      <WarningLevel>Level1</WarningLevel>

+      <SuppressStartupBanner>true</SuppressStartupBanner>

+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

+    </ClCompile>

+    <ResourceCompile>

+      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <Culture>0x0409</Culture>

+    </ResourceCompile>

+    <Link>

+      <SuppressStartupBanner>true</SuppressStartupBanner>

+      <ProgramDatabaseFile>.\Release/versit.pdb</ProgramDatabaseFile>

+      <SubSystem>Windows</SubSystem>

+      <RandomizedBaseAddress>false</RandomizedBaseAddress>

+      <DataExecutionPrevention>

+      </DataExecutionPrevention>

+      <TargetMachine>MachineX86</TargetMachine>

+    </Link>

+  </ItemDefinitionGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">

+    <Midl>

+      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <MkTypLibCompatible>true</MkTypLibCompatible>

+      <SuppressStartupBanner>true</SuppressStartupBanner>

+      <TargetEnvironment>Win32</TargetEnvironment>

+      <TypeLibraryName>.\Debug/versit.tlb</TypeLibraryName>

+      <HeaderFileName>

+      </HeaderFileName>

+    </Midl>

+    <ClCompile>

+      <Optimization>Disabled</Optimization>

+      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>

+      <PrecompiledHeader>

+      </PrecompiledHeader>

+      <PrecompiledHeaderOutputFile>.\Debug/versit.pch</PrecompiledHeaderOutputFile>

+      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>

+      <ObjectFileName>.\Debug/</ObjectFileName>

+      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>

+      <WarningLevel>Level1</WarningLevel>

+      <SuppressStartupBanner>true</SuppressStartupBanner>

+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

+    </ClCompile>

+    <ResourceCompile>

+      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <Culture>0x0409</Culture>

+    </ResourceCompile>

+    <Link>

+      <SuppressStartupBanner>true</SuppressStartupBanner>

+      <GenerateDebugInformation>true</GenerateDebugInformation>

+      <ProgramDatabaseFile>.\Debug/versit.pdb</ProgramDatabaseFile>

+      <SubSystem>Windows</SubSystem>

+      <RandomizedBaseAddress>false</RandomizedBaseAddress>

+      <DataExecutionPrevention>

+      </DataExecutionPrevention>

+      <TargetMachine>MachineX86</TargetMachine>

+    </Link>

+  </ItemDefinitionGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">

+    <Midl>

+      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <MkTypLibCompatible>true</MkTypLibCompatible>

+      <SuppressStartupBanner>true</SuppressStartupBanner>

+      <TargetEnvironment>X64</TargetEnvironment>

+      <TypeLibraryName>.\Release/versit.tlb</TypeLibraryName>

+      <HeaderFileName>

+      </HeaderFileName>

+    </Midl>

+    <ClCompile>

+      <Optimization>MaxSpeed</Optimization>

+      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>

+      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <StringPooling>true</StringPooling>

+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>

+      <FunctionLevelLinking>true</FunctionLevelLinking>

+      <PrecompiledHeader>

+      </PrecompiledHeader>

+      <PrecompiledHeaderOutputFile>.\Release/versit.pch</PrecompiledHeaderOutputFile>

+      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>

+      <ObjectFileName>.\Release/</ObjectFileName>

+      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>

+      <WarningLevel>Level1</WarningLevel>

+      <SuppressStartupBanner>true</SuppressStartupBanner>

+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

+    </ClCompile>

+    <ResourceCompile>

+      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <Culture>0x0409</Culture>

+    </ResourceCompile>

+    <Link>

+      <SuppressStartupBanner>true</SuppressStartupBanner>

+      <ProgramDatabaseFile>.\Release/versit.pdb</ProgramDatabaseFile>

+      <SubSystem>Windows</SubSystem>

+      <RandomizedBaseAddress>false</RandomizedBaseAddress>

+      <DataExecutionPrevention>

+      </DataExecutionPrevention>

+      <TargetMachine>MachineX64</TargetMachine>

+    </Link>

+  </ItemDefinitionGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">

+    <Midl>

+      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <MkTypLibCompatible>true</MkTypLibCompatible>

+      <SuppressStartupBanner>true</SuppressStartupBanner>

+      <TargetEnvironment>X64</TargetEnvironment>

+      <TypeLibraryName>.\Debug/versit.tlb</TypeLibraryName>

+      <HeaderFileName>

+      </HeaderFileName>

+    </Midl>

+    <ClCompile>

+      <Optimization>Disabled</Optimization>

+      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>

+      <PrecompiledHeader>

+      </PrecompiledHeader>

+      <PrecompiledHeaderOutputFile>.\Debug/versit.pch</PrecompiledHeaderOutputFile>

+      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>

+      <ObjectFileName>.\Debug/</ObjectFileName>

+      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>

+      <WarningLevel>Level1</WarningLevel>

+      <SuppressStartupBanner>true</SuppressStartupBanner>

+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

+    </ClCompile>

+    <ResourceCompile>

+      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <Culture>0x0409</Culture>

+    </ResourceCompile>

+    <Link>

+      <SuppressStartupBanner>true</SuppressStartupBanner>

+      <GenerateDebugInformation>true</GenerateDebugInformation>

+      <ProgramDatabaseFile>.\Debug/versit.pdb</ProgramDatabaseFile>

+      <SubSystem>Windows</SubSystem>

+      <RandomizedBaseAddress>false</RandomizedBaseAddress>

+      <DataExecutionPrevention>

+      </DataExecutionPrevention>

+      <TargetMachine>MachineX64</TargetMachine>

+    </Link>

+  </ItemDefinitionGroup>

+  <ItemGroup>

+    <ClCompile Include="vcc.c">

+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS</PreprocessorDefinitions>

+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">WIN32;_DEBUG;_WINDOWS</PreprocessorDefinitions>

+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS</PreprocessorDefinitions>

+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">WIN32;NDEBUG;_WINDOWS</PreprocessorDefinitions>

+    </ClCompile>

+    <ClCompile Include="vobject.c">

+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS</PreprocessorDefinitions>

+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">WIN32;_DEBUG;_WINDOWS</PreprocessorDefinitions>

+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS</PreprocessorDefinitions>

+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>

+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">WIN32;NDEBUG;_WINDOWS</PreprocessorDefinitions>

+    </ClCompile>

+  </ItemGroup>

+  <ItemGroup>

+    <ClInclude Include="port.h" />

+    <ClInclude Include="resource.h" />

+    <ClInclude Include="vcc.h" />

+    <ClInclude Include="vobject.h" />

+  </ItemGroup>

+  <ItemGroup>

+    <ResourceCompile Include="versit.rc" />

+  </ItemGroup>

+  <ItemGroup>

+    <CustomBuild Include="vcc.c-yacc">

+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Creating YACC output file</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" vcc.c

+</Command>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">vcc.c;%(Outputs)</Outputs>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Creating YACC output file</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy "%(FullPath)" vcc.c

+</Command>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">vcc.c;%(Outputs)</Outputs>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Creating YACC output file</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy "%(FullPath)" vcc.c

+</Command>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">vcc.c;%(Outputs)</Outputs>

+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Creating YACC output file</Message>

+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy "%(FullPath)" vcc.c

+</Command>

+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">vcc.c;%(Outputs)</Outputs>

+    </CustomBuild>

+  </ItemGroup>

+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />

+  <ImportGroup Label="ExtensionTargets">

+  </ImportGroup>

+</Project>
\ No newline at end of file
diff --git a/src/wx/vcard/versit.vcxproj.filters b/src/wx/vcard/versit.vcxproj.filters
new file mode 100644
index 0000000..c0fa93d
--- /dev/null
+++ b/src/wx/vcard/versit.vcxproj.filters
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>

+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

+  <ItemGroup>

+    <Filter Include="Source Files">

+      <UniqueIdentifier>{d9e15bd9-4fd8-4558-ba54-c419bf1545b1}</UniqueIdentifier>

+      <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat;for;f90</Extensions>

+    </Filter>

+    <Filter Include="Header Files">

+      <UniqueIdentifier>{2d6ddb47-49d4-4bed-9cd9-df43e3134b34}</UniqueIdentifier>

+      <Extensions>h;hpp;hxx;hm;inl;fi;fd</Extensions>

+    </Filter>

+    <Filter Include="Resource Files">

+      <UniqueIdentifier>{54cf1c94-3ddc-408c-b415-add39d5d7525}</UniqueIdentifier>

+      <Extensions>ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe</Extensions>

+    </Filter>

+  </ItemGroup>

+  <ItemGroup>

+    <ClCompile Include="vcc.c">

+      <Filter>Source Files</Filter>

+    </ClCompile>

+    <ClCompile Include="vobject.c">

+      <Filter>Source Files</Filter>

+    </ClCompile>

+  </ItemGroup>

+  <ItemGroup>

+    <ClInclude Include="port.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="resource.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="vcc.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+    <ClInclude Include="vobject.h">

+      <Filter>Header Files</Filter>

+    </ClInclude>

+  </ItemGroup>

+  <ItemGroup>

+    <ResourceCompile Include="versit.rc">

+      <Filter>Resource Files</Filter>

+    </ResourceCompile>

+  </ItemGroup>

+  <ItemGroup>

+    <CustomBuild Include="vcc.c-yacc" />

+  </ItemGroup>

+</Project>
\ No newline at end of file

commit cc7bf8ab2d2c95a4de90a29652f62433108dac33
Author: Vadim Zeitlin <[email protected]>
Date:   Sun Aug 19 14:10:50 2012 +0200

    Fix MSVC signed/unsigned warnings introduced by a4d22ce.
    
    Fixing the warnings for g++ 4.7 resulted in new warnings under MSVC. Just
    check for the compiler explicitly to avoid this, ugly as it is.

diff --git a/include/gui/wxOptionsPage.h b/include/gui/wxOptionsPage.h
index 068e12e..bada7b3 100644
--- a/include/gui/wxOptionsPage.h
+++ b/include/gui/wxOptionsPage.h
@@ -126,7 +126,18 @@ public:
    struct FieldInfo
    {
       const char   *label;   // which is shown in the dialog
-      unsigned      flags;   // contains the type and the flags (see above)
+      // We have a problem with the type of FieldFlags enum elements: MSVC (up
+      // to version 10) treats Field_Global as negative int and warns when
+      // initializing flags with it if it's declared as unsigned. OTOH g++ 4.7
+      // treats all FieldFlags constants as unsigned (why?) and warns when
+      // initializing flags with them if it's defined as int. So there doesn't
+      // seem to be any way to avoid warnings without conditional compilation.
+#ifdef _MSC_VER
+      int
+#else
+      unsigned      
+#endif
+                    flags;   // contains the type and the flags (see above)
       int           enable;  // enable this field depending on the value of
                              // the "enable" one if != -1 (using negative ids
                              // != -1 negates the condition, i.e. this field is

commit 0dcbcc1bb3dfa5fff5d16dcdd413bfb6edf1285c
Author: Vadim Zeitlin <[email protected]>
Date:   Sun Aug 19 13:59:09 2012 +0200

    No real changes, just improve the ugly "closing %u folders" messages.
    
    Use the proper singular/plural form instead.

diff --git a/src/gui/wxMainFrame.cpp b/src/gui/wxMainFrame.cpp
index eec6870..a4e943d 100644
--- a/src/gui/wxMainFrame.cpp
+++ b/src/gui/wxMainFrame.cpp
@@ -1281,8 +1281,13 @@ void wxMainFrame::OnPowerSuspended(wxPowerEvent& WXUNUSED(event))
 
    if ( !m_foldersToResume.empty() )
    {
-      wxLogStatus(_("Closed %lu folders which will be reopened on resume."),
-                  (unsigned long)m_foldersToResume.size());
+      const unsigned numFolders = m_foldersToResume.size();
+      wxLogStatus(
+         wxPLURAL(_("Closed %u folder which will be reopened on resume."),
+                  _("Closed %u folders which will be reopened on resume."),
+                  numFolders),
+         numFolders
+      );
    }
 
    // save all options just in case
@@ -1299,8 +1304,11 @@ void wxMainFrame::OnPowerResume(wxPowerEvent& WXUNUSED(event))
    MailFolders foldersToResume;
    foldersToResume.swap(m_foldersToResume);
 
-   wxLogStatus(_("Reopening %lu folders on system resume"),
-               (unsigned long)foldersToResume.size());
+   const unsigned numFolders = foldersToResume.size();
+   wxLogStatus(wxPLURAL(_("Reopening %u folder on system resume"),
+                        _("Reopening %u folders on system resume"),
+                        numFolders),
+               numFolders);
 
 #ifdef CAN_CHECK_NETWORK_STATE
    bool checkedNetwork = false;

commit 881399c3906b6edaa9cd1d48df31cdd7f4190b37
Author: Vadim Zeitlin <[email protected]>
Date:   Wed Aug 8 01:38:09 2012 +0200

    Fix path value for the implicitly created IMAP folders.
    
    We took the trouble to build the correct full path of the folder only not to
    use it finally and set the path to just the folder name. Fix this typo.

diff --git a/src/gui/wxMFolderDialogs.cpp b/src/gui/wxMFolderDialogs.cpp
index 02cef7c..187f69f 100644
--- a/src/gui/wxMFolderDialogs.cpp
+++ b/src/gui/wxMFolderDialogs.cpp
@@ -2785,7 +2785,7 @@ MFolder* TryToCreateFolderOrAskUser(wxWindow* parent, const String& fullname)
             fullpath += MailFolder::GetFolderDelimiter(parentFolder);
             fullpath += name;
 
-            newFolder->SetPath(name);
+            newFolder->SetPath(fullpath);
 
             // Notify all observers about the new folder creation.
             MEventManager::Send(

commit 96844bdfd705219f8b98d0d1edc2a02579992cf4
Author: Vadim Zeitlin <[email protected]>
Date:   Wed Aug 8 01:30:28 2012 +0200

    Compilation fix for DIR_SEPARATOR concatenation.
    
    Convert DIR_SEPARATOR to string explicitly.

diff --git a/src/classes/PathFinder.cpp b/src/classes/PathFinder.cpp
index 78dd78c..60548b7 100644
--- a/src/classes/PathFinder.cpp
+++ b/src/classes/PathFinder.cpp
@@ -88,7 +88,7 @@ PathFinder::Find(const String & filename, bool *found,
    MOcheck();
    for(i = pathList.begin(); i != pathList.end(); i++)
    {
-      work = *i + DIR_SEPARATOR + filename;
+      work = *i + String(DIR_SEPARATOR) + filename;
       result = wxAccess(work.c_str(),mode);
       if(result == 0)
       {
@@ -112,7 +112,7 @@ PathFinder::FindFile(const String & filename, bool *found,
    MOcheck();
    for(i = pathList.begin(); i != pathList.end(); i++)
    {
-      work = *i + DIR_SEPARATOR + filename;
+      work = *i + String(DIR_SEPARATOR) + filename;
       result = wxAccess(work.c_str(),mode);
       if(result == 0 && IsFile(work))
       {
@@ -136,7 +136,7 @@ PathFinder::FindDir(const String & filename, bool *found,
    MOcheck();
    for(i = pathList.begin(); i != pathList.end(); i++)
    {
-      work = *i + DIR_SEPARATOR + filename;
+      work = *i + String(DIR_SEPARATOR) + filename;
       result = wxAccess(work.c_str(),mode);
       if(result == 0 && IsDir(work))
       {
@@ -160,7 +160,7 @@ PathFinder::FindDirFile(const String & filename, bool *found,
    MOcheck();
    for(i = pathList.begin(); i != pathList.end(); i++)
    {
-      work = *i + DIR_SEPARATOR + filename;
+      work = *i + String(DIR_SEPARATOR) + filename;
       result = wxAccess(work.c_str(),mode);
       if(result == 0 && IsFile(work) && IsDir(*i))
       {

commit ffcf49d1276fc3c3eefedbadf6859df0ee151539
Author: Vadim Zeitlin <[email protected]>
Date:   Wed Aug 8 01:28:32 2012 +0200

    Fix UNC file names handling in c-client under Windows.
    
    Do not prepend the current drive to UNC paths (i.e. those starting with
    "\\share"). This used to work in previous c-client version but was broken by
    the last update.

diff --git a/lib/imap/src/osdep/nt/env_nt.c b/lib/imap/src/osdep/nt/env_nt.c
index 18bc236..e0352ea 100644
--- a/lib/imap/src/osdep/nt/env_nt.c
+++ b/lib/imap/src/osdep/nt/env_nt.c
@@ -644,7 +644,8 @@ char *mailboxfile (char *dst,char *name)
     else dst = NIL;		/* unknown namespace name */
     break;
   case '\\':			/* absolute path on default drive? */
-    sprintf (dst,"%s%s",homedev,name);
+    if (name[1] == '\\') strcpy(dst,name); /* no, network path */
+    else sprintf (dst,"%s%s",homedev,name);
     break;
   default:			/* any other name */
     if (name[1] == ':') {	/* some other drive? */

commit e88baee9430aa7a90e1fdabbcaa43455d4dc164e
Author: Vadim Zeitlin <[email protected]>
Date:   Wed Aug 8 01:27:50 2012 +0200

    Fix common parent folder in the notification messages.
    
    It had a trailing slash which was convenient internally but ugly when shown to
    the user. So make the code less convenient, but avoid the slash.

diff --git a/src/classes/NewMailNotifier.cpp b/src/classes/NewMailNotifier.cpp
index b3e40aa..03c41eb 100644
--- a/src/classes/NewMailNotifier.cpp
+++ b/src/classes/NewMailNotifier.cpp
@@ -172,10 +172,7 @@ void DoNotify(unsigned long numFolders, const FolderNewMailInfo* folders)
       // Compute the total number of new messages and their common prefix, if
       // any.
 
-      // The prefix will include the trailing slash at the end but while we're
-      // determining it, it doesn't contain it, so take care to append to it
-      // when checking if a folder name starts with it to avoid deciding that
-      // a top level "Foobar" folder is under "Foo" parent.
+      // The common prefix of all folders so far, without the trailing slash.
       String commonParent;
       unsigned long totalNew = 0;
       for ( n = 0; n < numFolders; n++ )
@@ -191,7 +188,8 @@ void DoNotify(unsigned long numFolders, const FolderNewMailInfo* folders)
          }
          else if ( !commonParent.empty() )
          {
-            // Find longest common prefix.
+            // Notice that we must append the slash to avoid deciding that a
+            // top level "Foobar" folder is under "Foo" parent.
             while ( !folderName.StartsWith(commonParent + '/') )
             {
                commonParent = commonParent.BeforeLast('/');
@@ -202,12 +200,15 @@ void DoNotify(unsigned long numFolders, const FolderNewMailInfo* folders)
          //else: there is no common parent
       }
 
-      if ( !commonParent.empty() )
-         commonParent += '/';
-
 
       // Concatenate brief summaries for each folder to make the entire message.
       String message;
+
+      // Remove the common prefix inside the loop, if any, with the trailing
+      // slash that is not included into it, hence +1.
+      const size_t commonParentLength = commonParent.empty()
+                                          ? 0
+                                          : commonParent.length() + 1;
       for ( n = 0; n < numFolders; n++ )
       {
          if ( !message.empty() )
@@ -215,7 +216,8 @@ void DoNotify(unsigned long numFolders, const FolderNewMailInfo* folders)
 
          // Show only the unique parts of the folder names.
          String folderName = folders[n].folderName;
-         folderName.erase(0, commonParent.length());
+         if ( commonParentLength )
+            folderName.erase(0, commonParentLength);
 
          message += BuildBriefNotificationMessage(folders[n].infos, folderName);
       }

commit 973c77d0fdfd51bb7953afd8c134196ed4096d38
Author: Vadim Zeitlin <[email protected]>
Date:   Mon Jun 4 00:41:47 2012 +0200

    Don't delete messages if reclassifying as spam fails.
    
    Check for errors when reclassifying as spam and don't delete the messages that
    couldn't be reclassified. At the very least this allows the user to have
    another look at them in order to understand why reclassifying failed. And it
    could also prevent data loss in case a wrong message was selected accidentally.

diff --git a/include/SpamFilter.h b/include/SpamFilter.h
index 3b02bd8..ac80d89 100644
--- a/include/SpamFilter.h
+++ b/include/SpamFilter.h
@@ -48,9 +48,10 @@ public:
       training the spam filter.
 
       @param msg the spam message
+      @return true if successfully reclassified, false on error
     */
-   static void ClassifyAsSpam(const Message& msg)
-      { Reclassify(msg, true); }
+   static bool ClassifyAsSpam(const Message& msg)
+      { return Reclassify(msg, true); }
 
    /**
       Mark the message as non-spam.
@@ -59,9 +60,10 @@ public:
       i.e. for reclassifying a false positive.
 
       @param msg the ham (i.e. non-spam) message
+      @return true if successfully reclassified, false on error
     */
-   static void ClassifyAsHam(const Message& msg)
-      { Reclassify(msg, false); }
+   static bool ClassifyAsHam(const Message& msg)
+      { return Reclassify(msg, false); }
 
    /**
       Reclassify the message as either spam or ham.
@@ -74,8 +76,9 @@ public:
 
       @param msg the message to reclassify
       @param isSpam if true, reclassify as spam, otherwise as ham
+      @return true if successfully reclassified, false on error
     */
-   static void Reclassify(const Message& msg, bool isSpam);
+   static bool Reclassify(const Message& msg, bool isSpam);
 
    /**
       Train the spam filter using the specified spam or ham message.
@@ -206,7 +209,7 @@ protected:
 
       This is used by the public Reclassify().
     */
-   virtual void DoReclassify(const Profile *profile,
+   virtual bool DoReclassify(const Profile *profile,
                              const Message& msg,
                              bool isSpam) = 0;
 
diff --git a/src/gui/wxMsgCmdProc.cpp b/src/gui/wxMsgCmdProc.cpp
index 4aa91c3..115fd00 100644
--- a/src/gui/wxMsgCmdProc.cpp
+++ b/src/gui/wxMsgCmdProc.cpp
@@ -959,6 +959,8 @@ void MsgCmdProcImpl::ReclassifyAsSpam(const UIdArray& uids, bool isSpam)
 
    // first mark the messages as spam/ham
    const size_t count = uids.Count();
+   UIdArray uidsReclassified;
+   uidsReclassified.reserve(count);
    for ( size_t i = 0; i < count; i++ )
    {
       Message_obj msg(GetMessage(uids[i]));
@@ -969,19 +971,20 @@ void MsgCmdProcImpl::ReclassifyAsSpam(const UIdArray& uids, bool isSpam)
          continue;
       }
 
-      SpamFilter::Reclassify(*msg, isSpam);
+      if ( SpamFilter::Reclassify(*msg, isSpam) )
+         uidsReclassified.push_back(uids[i]);
    }
 
    wxLogStatus(GetFrame(), msg + _("done"));
 
    // second, permanently delete all the spam
-   if ( isSpam && MDialog_YesNoDialog
+   if ( isSpam && !uidsReclassified.empty() && MDialog_YesNoDialog
         (
             String::Format
             (
                _("Do you want to permanently delete the %lu messages "
                  "marked as spam now?"),
-               (unsigned long)count
+               (unsigned long)uidsReclassified.size()
             ),
             GetFrame(),
             MDIALOG_YESNOTITLE,
@@ -992,7 +995,7 @@ void MsgCmdProcImpl::ReclassifyAsSpam(const UIdArray& uids, bool isSpam)
       // TODO: make this action configurable (i.e. could be moved to another
       //       folder and it should also be possible to define an action for
       //       ham messages, e.g. move them back to inbox)
-      DeleteAndExpungeMessages(uids);
+      DeleteAndExpungeMessages(uidsReclassified);
    }
 }
 
diff --git a/src/mail/SpamFilter.cpp b/src/mail/SpamFilter.cpp
index 7d98626..a754007 100644
--- a/src/mail/SpamFilter.cpp
+++ b/src/mail/SpamFilter.cpp
@@ -307,19 +307,25 @@ Profile *SpamFilter::GetProfile(const Message& msg)
 // ----------------------------------------------------------------------------
 
 /* static */
-void SpamFilter::Reclassify(const Message& msg, bool isSpam)
+bool SpamFilter::Reclassify(const Message& msg, bool isSpam)
 {
    Profile * const profile = GetProfile(msg);
    if ( !profile )
-      return;
+      return false;
 
    LoadAll();
 
+   bool rc = true;
    for ( SpamFilter *p = ms_first; p; p = p->m_next )
    {
       if ( IsSpamFilterEnabled(profile, p->GetName()) )
-         p->DoReclassify(profile, msg, isSpam);
+      {
+         if ( !p->DoReclassify(profile, msg, isSpam) )
+            rc = false;
+      }
    }
+
+   return rc;
 }
 
 /* static */
diff --git a/src/modules/spam/DspamFilter.cpp b/src/modules/spam/DspamFilter.cpp
index 4fb887f..041e0d0 100644
--- a/src/modules/spam/DspamFilter.cpp
+++ b/src/modules/spam/DspamFilter.cpp
@@ -176,7 +176,7 @@ public:
    void Train(wxWindow *parent);
 
 protected:
-   virtual void DoReclassify(const Profile *profile,
+   virtual bool DoReclassify(const Profile *profile,
                              const Message& msg,
                              bool isSpam);
    virtual void DoTrain(const Profile *profile,
@@ -346,13 +346,13 @@ bool DspamFilter::DoProcess(const Message& msg, ContextHandler& handler)
    return true;
 }
 
-void DspamFilter::DoReclassify(const Profile * /* profile */,
+bool DspamFilter::DoReclassify(const Profile * /* profile */,
                                const Message& msg,
                                bool isSpam)
 {
    ClassifyContextHandler handler(ClassifyContextHandler::Reclassify, isSpam);
 
-   DoProcess(msg, handler);
+   return DoProcess(msg, handler);
 }
 
 void DspamFilter::DoTrain(const Profile * /* profile */,
diff --git a/src/modules/spam/HeadersFilter.cpp b/src/modules/spam/HeadersFilter.cpp
index 6b12d2c..a68f3ba 100644
--- a/src/modules/spam/HeadersFilter.cpp
+++ b/src/modules/spam/HeadersFilter.cpp
@@ -206,11 +206,13 @@ public:
    HeadersFilter() { }
 
 protected:
-   virtual void DoReclassify(const Profile * /* profile */,
+   virtual bool DoReclassify(const Profile * /* profile */,
                              const Message& /* msg */,
                              bool /* isSpam */)
    {
-      // this filter can't be trained
+      // this filter can't be trained but it never really fails, it just
+      // doesn't make sense
+      return true;
    }
 
    virtual void DoTrain(const Profile * /* profile */,
diff --git a/src/modules/spam/ServerSideFilter.cpp b/src/modules/spam/ServerSideFilter.cpp
index e3ee440..f7137e1 100644
--- a/src/modules/spam/ServerSideFilter.cpp
+++ b/src/modules/spam/ServerSideFilter.cpp
@@ -56,7 +56,7 @@ public:
    ServerSideFilter() { }
 
 protected:
-   virtual void DoReclassify(const Profile *profile,
+   virtual bool DoReclassify(const Profile *profile,
                              const Message& msg,
                              bool isSpam);
    virtual void DoTrain(const Profile *profile,
@@ -101,7 +101,7 @@ private:
 // ServerSideFilter public API implementation
 // ----------------------------------------------------------------------------
 
-void
+bool
 ServerSideFilter::DoReclassify(const Profile *profile,
                                const Message& msg,
                                bool isSpam)
@@ -115,7 +115,7 @@ ServerSideFilter::DoReclassify(const Profile *profile,
                         "reclassify messages as spam by moving them into "
                         "this folder. To classify a message as non-spam it is "
                         "enough to move it out of the junk folder."));
-         return;
+         return false;
       }
 
       String reason; // explanation of why error happened (if it did)
@@ -136,6 +136,7 @@ ServerSideFilter::DoReclassify(const Profile *profile,
       {
          wxLogError(_("Error while reclassifying the message: %s."),
                     reason.c_str());
+         return false;
       }
    }
    else // reclassify by bouncing to some address
@@ -147,11 +148,13 @@ ServerSideFilter::DoReclassify(const Profile *profile,
          wxLogWarning(_("You need to configure either a server-side folder "
                         "containing spam or the address to bounce messages "
                         "to in order to train the server-side spam filter."));
-         return;
+         return false;
       }
 
       SendMessage::Bounce(addr, profile, msg);
    }
+
+   return true;
 }
 
 void

commit a9d9233f2c7d352e200e9520a12a5b8f26eeff48
Author: Vadim Zeitlin <[email protected]>
Date:   Fri Aug 3 00:43:37 2012 +0200

    Create a new class for showing new mail notifications.
    
    Move the code for new mail notifications generation from MailFolderCmn to a
    new class and allow bundling multiple notifications together: it's better to
    show a single window notifying about all new mail than many notifications
    about new mail in each folder.

diff --git a/M.vcproj b/M.vcproj
index 84ae160..5e18028 100644
--- a/M.vcproj
+++ b/M.vcproj
@@ -477,6 +477,10 @@
 					>

 				</File>

 				<File

+					RelativePath=".\src\classes\NewMailNotifier.cpp"

+					>

+				</File>

+				<File

 					RelativePath=".\src\classes\PathFinder.cpp"

 					>

 				</File>

@@ -2798,6 +2802,10 @@
 				>

 			</File>

 			<File

+				RelativePath=".\include\NewMailNotifier.h"

+				>

+			</File>

+			<File

 				RelativePath=".\include\PathFinder.h"

 				>

 			</File>

diff --git a/include/NewMailNotifier.h b/include/NewMailNotifier.h
new file mode 100644
index 0000000..b603169
--- /dev/null
+++ b/include/NewMailNotifier.h
@@ -0,0 +1,99 @@
+///////////////////////////////////////////////////////////////////////////////
+// Project:     M - cross platform e-mail GUI client
+// File name:   NewMailNotifier.h
+// Purpose:     Declares class used for generating new mail notifications.
+// Author:      Vadim Zeitlin
+// Created:     2012-07-31
+// Copyright:   (C) 2012 Vadim Zeitlin <[email protected]>
+// Licence:     M license
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef M_NEWMAILNOTIFIER_H
+#define M_NEWMAILNOTIFIER_H
+
+#include <vector>
+
+/**
+    New mail notifier collects information about new mail messages and then
+    reports them all at once to the user.
+
+    This class is used to avoid giving many different new mail notifications
+    when opening a folder containing a lot of new messages that are then
+    filtered into other folders.
+
+    It doesn't decide for which folders are the notifications generated, this
+    depends on the options used by MailFolderCmn::ReportNewMail(), but only
+    postpones showing them to the user slightly.
+
+    To bundle notifications together, simply create an object of this class,
+    then run the code resulting in the calls to static methods adding
+    notifications and they will all be shown when the object is destroyed.
+
+    If no active notifier exists, the notifications are shown immediately.
+ */
+class NewMailNotifier
+{
+public:
+   /**
+       Struct containing the information about a single new message.
+    */
+   struct MsgInfo
+   {
+      MsgInfo(const String& from_, const String& subject_) :
+         from(from_), subject(subject_)
+      {
+      }
+
+      String
+         from,
+         subject;
+   };
+
+   typedef std::vector<MsgInfo> MsgInfos;
+
+
+   /**
+       Constructor creates a global new notifier.
+
+       If a notifier already exists, constructing a new doesn't do anything and
+       the notification will only be shown when the existing notifier is
+       destroyed.
+    */
+   NewMailNotifier();
+
+   /**
+       Destructor shows all the notifications accumulated during the life-time
+       of this notifier object.
+
+       If this is the last existing notifier object, all notifications are
+       shown, otherwise they will be shown later when the last notifier is
+       destroyed.
+
+       Dtor is not virtual as this class is not supposed to be used
+       polymorphically.
+    */
+   ~NewMailNotifier();
+
+   /**
+       Show possibly delayed notification about new mail in the given folder.
+
+       If a NewMailNotifier object currently exists, the notification will be
+       shown (combined with the notifications about email in any other folders)
+       when it is destroyed. Otherwise the notification is shown immediately.
+
+       @param folderName The name of the folder in which new mail arrived.
+       @param countNew The number of new messages, always > 0.
+       @param infos Detailed information about the new messages, may contain
+         less elements than @a countNew, e.g. can be empty if the folder wasn't
+         opened.
+    */
+   static void
+   DoForFolder(const String& folderName,
+               unsigned long countNew,
+               const MsgInfos& infos);
+
+private:
+   wxDECLARE_NO_COPY_CLASS(NewMailNotifier);
+};
+
+#endif // M_NEWMAILNOTIFIER_H
diff --git a/src/classes/FolderMonitor.cpp b/src/classes/FolderMonitor.cpp
index 0e38184..26ac2f2 100644
--- a/src/classes/FolderMonitor.cpp
+++ b/src/classes/FolderMonitor.cpp
@@ -36,6 +36,7 @@
 #include "lists.h"
 #include "MFolder.h"
 #include "MailFolder.h"
+#include "NewMailNotifier.h"
 
 #include "FolderMonitor.h"
 
@@ -447,6 +448,10 @@ FolderMonitorImpl::CheckNewMail(int flags)
 
    MLocker lockNewMailCheck(m_inNewMailCheck);
 
+   // Create a unique notifier that will be used to show all new mail
+   // notifications generated by the code below at once.
+   NewMailNotifier notifier;
+
    bool rc = true;
 
    // show what we're doing in interactive mode
diff --git a/src/classes/NewMailNotifier.cpp b/src/classes/NewMailNotifier.cpp
new file mode 100644
index 0000000..b3e40aa
--- /dev/null
+++ b/src/classes/NewMailNotifier.cpp
@@ -0,0 +1,289 @@
+///////////////////////////////////////////////////////////////////////////////
+// Project:     M - cross platform e-mail GUI client
+// File name:   NewMailNotifier.cpp
+// Purpose:     NewMailNotifier implementation.
+// Author:      Vadim Zeitlin
+// Created:     2012-07-31
+// Copyright:   (C) 2012 Vadim Zeitlin <[email protected]>
+// Licence:     M license
+///////////////////////////////////////////////////////////////////////////////
+
+// ============================================================================
+// declarations
+// ============================================================================
+
+// ----------------------------------------------------------------------------
+// headers
+// ----------------------------------------------------------------------------
+
+#include "Mpch.h"
+
+#ifndef USE_PCH
+#  include "Mcommon.h"
+#endif // USE_PCH
+
+#include "NewMailNotifier.h"
+
+#include "Address.h"
+
+#include <wx/notifmsg.h>
+
+#include <map>
+
+// ----------------------------------------------------------------------------
+// global variables
+// ----------------------------------------------------------------------------
+
+// Number of currently existing notifiers.
+static unsigned gs_numNotifiers = 0;
+
+// ============================================================================
+// Notification implementation
+// ============================================================================
+
+namespace
+{
+
+// This struct contains information about new mail in a single folder.
+struct FolderNewMailInfo
+{
+   FolderNewMailInfo(const String& folderName_,
+         unsigned long countNew_,
+         const NewMailNotifier::MsgInfos& infos_) :
+      folderName(folderName_),
+      countNew(countNew_),
+      infos(infos_)
+   {
+   }
+
+   String folderName;
+   unsigned long countNew;
+   NewMailNotifier::MsgInfos infos;
+};
+
+// All currently queued new mail notifications.
+std::vector<FolderNewMailInfo> g_newMail;
+
+// Function building detailed notification message for new email in the given
+// folder. This is used when there is only one folder with new email right now
+// so there is no need to mention the folder name in the main message itself.
+String BuildFullNotificationMessage(const NewMailNotifier::MsgInfos& infos)
+{
+   // Maybe we should avoid repeating the sender name, i.e. instead of
+   // showing "Sender: subject one", "Sender: subject two" show just
+   // "Sender: subject one, subject two"?
+   String message;
+   for ( size_t i = 0; i < infos.size(); i++ )
+   {
+      const NewMailNotifier::MsgInfo& info = infos[i];
+
+      if ( !message.empty() )
+         message << '\n';
+
+      String sender = Address::GetDisplayAddress(info.from);
+      if ( !sender.empty() )
+         message << sender << ": ";
+
+      message << '"' << info.subject << '"';
+   }
+
+   return message;
+}
+
+// Function building brief notification message for new email in the given
+// folder. This is used when there is more than one folder with the new mail.
+String
+BuildBriefNotificationMessage(
+      const NewMailNotifier::MsgInfos& infos,
+      const String& folderName
+   )
+{
+   // Show only the sender names: this is shorter and usually more informative
+   // than the subjects.
+   //
+   // Also count the number of emails from each sender to avoid repeating them
+   // unnecessarily.
+   typedef std::map<String, unsigned> StringToCount;
+   StringToCount senders;
+   for ( size_t i = 0; i < infos.size(); i++ )
+   {
+      String sender = Address::GetDisplayAddress(infos[i].from);
+      if ( sender.empty() )
+         sender = _("unknown sender");
+
+      senders[sender]++;
+   }
+
+   // Now show the first few of them, with the repeat count if necessary.
+   String allSenders;
+   unsigned numSenders = 0;
+   for ( StringToCount::const_iterator it = senders.begin();
+         it != senders.end();
+         ++it )
+   {
+      if ( numSenders )
+         allSenders += ", ";
+
+      if ( it->second == 1 )
+         allSenders += it->first;
+      else
+         allSenders += String::Format("%s (%u)", it->first, it->second);
+
+      // TODO: Don't hard code the maximal number of senders.
+      if ( numSenders++ > 3 )
+      {
+         allSenders += ", ...";
+         break;
+      }
+   }
+
+   return wxString::Format(_("In %s: from %s"), folderName, allSenders);
+}
+
+
+// This function generates a notification about new mail in the given number of
+// folders, using the information from the folders array of the corresponding
+// size.
+void DoNotify(unsigned long numFolders, const FolderNewMailInfo* folders)
+{
+   wxNotificationMessage notification;
+
+   if ( numFolders == 1 )
+   {
+      // Simple case: just show all the information we have.
+      notification.SetTitle(
+         folders->countNew == 1
+            ? String::Format(
+                 _("New email in folder \"%s\""), folders->folderName
+              )
+            : String::Format(
+                  _("%lu new messages in folder \"%s\""),
+                  folders->countNew,
+                  folders->folderName
+               )
+      );
+
+      notification.SetMessage(BuildFullNotificationMessage(folders->infos));
+   }
+   else // New mail in more than one folder
+   {
+      unsigned long n;
+
+      // Compute the total number of new messages and their common prefix, if
+      // any.
+
+      // The prefix will include the trailing slash at the end but while we're
+      // determining it, it doesn't contain it, so take care to append to it
+      // when checking if a folder name starts with it to avoid deciding that
+      // a top level "Foobar" folder is under "Foo" parent.
+      String commonParent;
+      unsigned long totalNew = 0;
+      for ( n = 0; n < numFolders; n++ )
+      {
+         totalNew += folders[n].countNew;
+
+         // We try to show all the folder names under the common parent, if
+         // possible.
+         const String& folderName = folders[n].folderName;
+         if ( n == 0 )
+         {
+            commonParent = folderName;
+         }
+         else if ( !commonParent.empty() )
+         {
+            // Find longest common prefix.
+            while ( !folderName.StartsWith(commonParent + '/') )
+            {
+               commonParent = commonParent.BeforeLast('/');
+               if ( commonParent.empty() )
+                  break;
+            }
+         }
+         //else: there is no common parent
+      }
+
+      if ( !commonParent.empty() )
+         commonParent += '/';
+
+
+      // Concatenate brief summaries for each folder to make the entire message.
+      String message;
+      for ( n = 0; n < numFolders; n++ )
+      {
+         if ( !message.empty() )
+            message += '\n';
+
+         // Show only the unique parts of the folder names.
+         String folderName = folders[n].folderName;
+         folderName.erase(0, commonParent.length());
+
+         message += BuildBriefNotificationMessage(folders[n].infos, folderName);
+      }
+
+      notification.SetMessage(message);
+
+      String title;
+      if ( commonParent.empty() )
+      {
+         title.Printf(
+            _("%lu new messages in %lu folders."),
+            totalNew, numFolders
+         );
+      }
+      else // Show the parent to make folder names in the message unambiguous.
+      {
+         title.Printf(
+            _("%lu new messages in %lu folders under \"%s\"."),
+            totalNew, numFolders, commonParent
+         );
+      }
+
+      notification.SetTitle(title);
+   }
+
+#if defined(__WXGTK__) && wxUSE_LIBNOTIFY
+   // Use a more appropriate stock icon under GTK.
+   notification.GTKSetIconName("mail-message-new");
+#endif
+
+   notification.Show();
+}
+
+} // anonymous namespace
+
+// ============================================================================
+// NewMailNotifier implementation
+// ============================================================================
+
+NewMailNotifier::NewMailNotifier()
+{
+   gs_numNotifiers++;
+}
+
+NewMailNotifier::~NewMailNotifier()
+{
+   ASSERT_MSG( gs_numNotifiers > 0, "Notifier destruction mismatch" );
+
+   if ( --gs_numNotifiers )
+      return;
+
+   if ( !g_newMail.empty() )
+   {
+      DoNotify(g_newMail.size(), &g_newMail[0]);
+      g_newMail.clear();
+   }
+}
+
+/* static */
+void
+NewMailNotifier::DoForFolder(const String& folderName,
+      unsigned long countNew,
+      const MsgInfos& infos)
+{
+   FolderNewMailInfo folderNewMailInfo(folderName, countNew, infos);
+
+   if ( gs_numNotifiers )
+      g_newMail.push_back(folderNewMailInfo);
+   else
+      DoNotify(1, &folderNewMailInfo);
+}
diff --git a/src/gui/wxMainFrame.cpp b/src/gui/wxMainFrame.cpp
index 05473f9..eec6870 100644
--- a/src/gui/wxMainFrame.cpp
+++ b/src/gui/wxMainFrame.cpp
@@ -45,6 +45,7 @@
 #include "gui/wxFiltersDialog.h" // for ConfigureFiltersForFolder
 #include "gui/wxIdentityCombo.h" // for IDC_IDENT_COMBO
 #include "MFolderDialogs.h"      // for ShowFolderCreateDialog
+#include "NewMailNotifier.h"     // for UpdateFoldersSubtree()
 #include "SpamFilter.h"          // for SpamFilter::Configure()
 
 #include "gui/wxMDialogs.h"
@@ -1622,6 +1623,10 @@ private:
 
 int UpdateFoldersSubtree(const MFolder& folder, wxWindow *parent)
 {
+   // Create a unique notifier that will be used to show all new mail
+   // notifications generated by the code below at once.
+   NewMailNotifier notifier;
+
    UpdateFolderVisitor visitor(folder, parent);
 
    (void)visitor.Traverse();
diff --git a/src/mail/MailFolderCC.cpp b/src/mail/MailFolderCC.cpp
index 821995a..1b82b98 100644
--- a/src/mail/MailFolderCC.cpp
+++ b/src/mail/MailFolderCC.cpp
@@ -46,6 +46,7 @@
 #include "MSearch.h"
 #include "LogCircle.h"
 #include "MFui.h"                      // for SizeToString
+#include "NewMailNotifier.h"
 
 #include "AddressCC.h"
 #include "MailFolderCC.h"
@@ -4676,6 +4677,8 @@ void MailFolderCC::OnNewMail()
             HeaderInfoList_obj hil(GetHeaders());
             if ( hil )
             {
+               NewMailNotifier notifier;
+
                // process the new mail, whatever it means (collecting,
                // filtering, just reporting, ...)
                if ( ProcessNewMail(*uidsNew) && uidsNew->IsEmpty() )
diff --git a/src/mail/MailFolderCmn.cpp b/src/mail/MailFolderCmn.cpp
index 7aedf7b..baf9e4e 100644
--- a/src/mail/MailFolderCmn.cpp
+++ b/src/mail/MailFolderCmn.cpp
@@ -48,6 +48,7 @@
 
 #include "MSearch.h"
 #include "Message.h"
+#include "NewMailNotifier.h"
 
 #include "MFilter.h"
 #include "modules/Filters.h"
@@ -70,9 +71,6 @@
 
 #include <wx/datetime.h>
 #include <wx/file.h>
-#include <wx/notifmsg.h>
-
-#include <vector>
 
 // ----------------------------------------------------------------------------
 // options we use here
@@ -1967,25 +1965,6 @@ MailFolderCmn::CollectNewMail(UIdArray& uidsNew, const String& newMailFolder)
    return true;
 }
 
-namespace
-{
-
-// Helper struct used by ReportNewMail() but which must be declared outside of
-// it in C++03.
-struct NewMailInfo
-{
-   NewMailInfo(const String& from_, const String& subject_) :
-      from(from_), subject(subject_)
-   {
-   }
-
-   String
-      from,
-      subject;
-};
-
-} // anonymous namespace
-
 /*
    The parameters have the following meaning:
 
@@ -2096,8 +2075,9 @@ MailFolderCmn::ReportNewMail(const MFolder *folder,
          // step 5: show notification message from M itself
          if ( READ_CONFIG(profile, MP_SHOW_NEWMAILMSG) )
          {
-            // Get information about the new mail as we can use it twice below.
-            std::vector<NewMailInfo> infos;
+            // Get information about the new mail first, we may need to pass it
+            // to the notifier below.
+            NewMailNotifier::MsgInfos infos;
 
 
             // we give the detailed new mail information when there are few new
@@ -2132,7 +2112,9 @@ MailFolderCmn::ReportNewMail(const MFolder *folder,
                   Message_obj msg(mf->GetMessage(uidsNew->Item(i)));
                   if ( msg )
                   {
-                     infos.push_back(NewMailInfo(msg->From(), msg->Subject()));
+                     infos.push_back(
+                        NewMailNotifier::MsgInfo(msg->From(), msg->Subject())
+                     );
                   }
                   else // no message?
                   {
@@ -2144,50 +2126,15 @@ MailFolderCmn::ReportNewMail(const MFolder *folder,
                }
             }
 
-            // step 5a: show notification window
+            // step 5a: queue notification with the notifier
             if ( READ_CONFIG(profile, MP_SHOW_NEWMAILNOTIFICATION) )
             {
-               wxNotificationMessage notification;
-               notification.SetTitle(
-                  countNew == 1
-                     ? String::Format(_("New email in folder \"%s\""),
-                                      folder->GetFullName())
-                     : String::Format(_("%lu new messages in folder \"%s\""),
-                                      countNew, folder->GetFullName())
+               NewMailNotifier::DoForFolder(
+                  folder->GetFullName(), countNew, infos
                );
-
-               String message;
-               for ( unsigned long i = 0; i < infos.size(); i++)
-               {
-                  const NewMailInfo& info = infos[i];
-
-                  if ( !message.empty() )
-                     message << '\n';
-
-                  AddressList_obj addrList(AddressList::Create(info.from));
-                  if ( Address* addr = addrList->GetFirst() )
-                  {
-                     // Show the sender in user-friendly way.
-                     String sender = addr->GetName();
-                     if ( sender.empty() )
-                        sender = addr->GetEMail();
-                     message << sender << ": ";
-                  }
-
-                  message << '"' << info.subject << '"';
-               }
-
-               notification.SetMessage(message);
-
-#if defined(__WXGTK__) && wxUSE_LIBNOTIFY
-               // Use a more appropriate stock icon under GTK.
-               notification.GTKSetIconName("mail-message-new");
-#endif
-
-               notification.Show();
             }
 
-            // step 5b: show detailed notification message
+            // step 5b: show notification message immediately in the log
             String message;
             message.Printf(_("You have received %lu new messages "
                              "in the folder '%s'"),
@@ -2199,7 +2146,7 @@ MailFolderCmn::ReportNewMail(const MFolder *folder,
 
                for ( unsigned long i = 0; i < infos.size(); i++)
                {
-                  const NewMailInfo& info = infos[i];
+                  const NewMailNotifier::MsgInfo& info = infos[i];
 
                   String from = info.from;
                   if ( from.empty() )

commit a56c921674e6fa92821f679a33eb80af07ac034b
Author: Vadim Zeitlin <[email protected]>
Date:   Thu Aug 2 15:29:18 2012 +0200

    Ignore whitespace issues in Visual C++ project/solution files.
    
    These files use different whitespace conventions, so don't do any checks for
    them (and e.g. allow leading TABs, trailing CRs &c).

diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..bd2c272
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,2 @@
+M.sln       -core.whitespace
+M.vcproj    -core.whitespace

commit c2795d7a73d5e51c1cdb5716bec09d1991cfc972
Author: Vadim Zeitlin <[email protected]>
Date:   Thu Aug 2 00:42:25 2012 +0200

    Add Address::GetDisplayAddress().
    
    Simple helper function for getting the user-friendly display form of an
    address.

diff --git a/include/Address.h b/include/Address.h
index 8fd2281..3868b62 100644
--- a/include/Address.h
+++ b/include/Address.h
@@ -124,6 +124,16 @@ public:
                         const String& address,
                         String *match = NULL);
 
+   /**
+       Returns user-friendly address form.
+
+       Returns the personal part of the address if any or the email part
+       otherwise.
+
+       Only the first address of the string passed in is used here.
+    */
+   static String GetDisplayAddress(const String& address);
+
 protected:
    /// must have default ctor because we declare copy ctor private
    Address() { }
diff --git a/src/mail/Address.cpp b/src/mail/Address.cpp
index 5cd78ad..04d01f6 100644
--- a/src/mail/Address.cpp
+++ b/src/mail/Address.cpp
@@ -410,6 +410,23 @@ String Address::GetSenderAddress(const Profile *profile)
    return BuildFullForm(READ_CONFIG(profile, MP_PERSONALNAME), email);
 }
 
+/* static */
+String
+Address::GetDisplayAddress(const String& address)
+{
+   String display;
+
+   AddressList_obj addrList(AddressList::Create(address));
+   if ( Address* addr = addrList->GetFirst() )
+   {
+      display = addr->GetName();
+      if ( display.empty() )
+         display = addr->GetEMail();
+   }
+
+   return display;
+}
+
 // ----------------------------------------------------------------------------
 // AddressList
 // ----------------------------------------------------------------------------

commit a145894b86fea033cc72513d78dff70718d3f678
Author: Vadim Zeitlin <[email protected]>
Date:   Tue Jul 31 00:24:14 2012 +0200

    No changes, just remove misleading documentation comment.
    
    ProcessNewMail() doesn't have "countNew" argument since a very long time so
    don't document it.
    
    Also remove not necessarily accurate comment in the code calling
    ProcessNewMail().

diff --git a/include/MailFolder.h b/include/MailFolder.h
index 7b4d988..170aab1 100644
--- a/include/MailFolder.h
+++ b/include/MailFolder.h
@@ -867,13 +867,8 @@ public:
      filtering it or just reporting it depending on the folder options. It
      removes all messages deleted as results of its actions from uidsNew array.
 
-     If uidsNew is NULL, it means that we detected new mail in the folderDst
-     but we don't know which messages are new - but we still know at least how
-     many of them there are.
-
      @param uidsNew the array containing UIDs of the new messages
      @param folderDst if not NULL, folder where the new messages really are
-     @param countNew the number of new messages if uidsNew == NULL
      @return true if ok, false on error
    */
    virtual bool ProcessNewMail(UIdArray& uidsNew,
diff --git a/src/mail/MailFolderCC.cpp b/src/mail/MailFolderCC.cpp
index 5a62062..821995a 100644
--- a/src/mail/MailFolderCC.cpp
+++ b/src/mail/MailFolderCC.cpp
@@ -4680,7 +4680,7 @@ void MailFolderCC::OnNewMail()
                // filtering, just reporting, ...)
                if ( ProcessNewMail(*uidsNew) && uidsNew->IsEmpty() )
                {
-                  // ProcessNewMail() removes all the messages so no need to
+                  // All new messages were already handled, so no need to
                   // notify the GUI
                   shouldNotify = false;
                }

commit 49b61bc03dd8ff3415cd31b476c2a3df5e81a9a8
Author: Vadim Zeitlin <[email protected]>
Date:   Sat Jul 28 17:05:37 2012 +0200

    Optionally show a notification for new email.
    
    Add MP_SHOW_NEWMAILNOTIFICATION enabling the use of wxNotificationMessage for
    new mail reporting.
    
    For compatibility reasons -- i.e. to avoid having to manually unset this
    option for all the folders for which new mail reporting is currently disabled
    -- we only show notifications if the old MP_SHOW_NEWMAILMSG option is set.

diff --git a/CHANGES b/CHANGES
index cf8cf05..720bb7e 100644
--- a/CHANGES
+++ b/CHANGES
@@ -9,6 +9,7 @@
 Release 0.68 'Cynthia' September xx, 2010
 -----------------------------------------
 
+2012-07-28 VZ: Optionally use popup notifications for new mail reporting.
 2012-07-21 VZ: Make it possible to set base mailbox path in the GUI.
 2011-12-26 VZ: Allow to create and configure new folders in "Quick filter".
 2010-08-01 VZ: Show hidden folders if new mail arrives into them.
diff --git a/include/Moptions.h b/include/Moptions.h
index 3727bb7..167968b 100644
--- a/include/Moptions.h
+++ b/include/Moptions.h
@@ -370,6 +370,7 @@ extern const MOption MP_NEWMAIL_SOUND_FILE;
 #if defined(OS_UNIX) || defined(__CYGWIN__)
 extern const MOption MP_NEWMAIL_SOUND_PROGRAM;
 #endif // OS_UNIX
+extern const MOption MP_SHOW_NEWMAILNOTIFICATION;
 extern const MOption MP_SHOW_NEWMAILMSG;
 extern const MOption MP_SHOW_NEWMAILINFO;
 extern const MOption MP_NEWMAIL_UNSEEN;
@@ -1144,6 +1145,8 @@ extern const MOption MP_OPTION_ORIGIN_INHERITED;
 #define MP_NEWMAIL_SOUND_PROGRAM_NAME "NewMailSoundProg"
 #endif // OS_UNIX
 
+/// show a notification for new mail?
+#define   MP_SHOW_NEWMAILNOTIFICATION_NAME "NewMailNotify"
 /// show new mail messages?
 #define   MP_SHOW_NEWMAILMSG_NAME      "ShowNewMail"
 /// show detailed info about how many new mail messages?
@@ -2148,6 +2151,8 @@ extern const MOption MP_OPTION_ORIGIN_INHERITED;
 #define MP_NEWMAIL_SOUND_FILE_DEFVAL ""
 #endif // OS_UNIX/!OS_UNIX
 
+/// show a notification for new mail?
+#define   MP_SHOW_NEWMAILNOTIFICATION_DEFVAL      1
 /// show new mail messages?
 #define   MP_SHOW_NEWMAILMSG_DEFVAL      1
 /// show detailed info about how many new mail messages?
diff --git a/src/classes/Moptions.cpp b/src/classes/Moptions.cpp
index 96a811f..fca46ae 100644
--- a/src/classes/Moptions.cpp
+++ b/src/classes/Moptions.cpp
@@ -428,6 +428,7 @@ const MOption MP_NEWMAIL_SOUND_FILE;
 #if defined(OS_UNIX) || defined(__CYGWIN__)
 const MOption MP_NEWMAIL_SOUND_PROGRAM;
 #endif // OS_UNIX
+const MOption MP_SHOW_NEWMAILNOTIFICATION;
 const MOption MP_SHOW_NEWMAILMSG;
 const MOption MP_SHOW_NEWMAILINFO;
 const MOption MP_NEWMAIL_UNSEEN;
@@ -850,6 +851,7 @@ static const MOptionData MOptions[] =
 #if defined(OS_UNIX) || defined(__CYGWIN__)
     DEFINE_OPTION(MP_NEWMAIL_SOUND_PROGRAM),
 #endif // OS_UNIX
+    DEFINE_OPTION(MP_SHOW_NEWMAILNOTIFICATION),
     DEFINE_OPTION(MP_SHOW_NEWMAILMSG),
     DEFINE_OPTION(MP_SHOW_NEWMAILINFO),
     DEFINE_OPTION(MP_NEWMAIL_UNSEEN),
diff --git a/src/gui/wxOptionsDlg.cpp b/src/gui/wxOptionsDlg.cpp
index a1c939b..09d91e0 100644
--- a/src/gui/wxOptionsDlg.cpp
+++ b/src/gui/wxOptionsDlg.cpp
@@ -235,13 +235,15 @@ enum ConfigFields
    ConfigField_NewMailNotifyHelp,
    ConfigField_NewMailNotifyUseCommand,
    ConfigField_NewMailNotifyCommand,
-   ConfigField_NewMailSoundHelp,
+   ConfigField_NewMailSoundSeparator,
    ConfigField_NewMailPlaySound,
    ConfigField_NewMailSoundFile,
 #if defined(OS_UNIX) || defined(__CYGWIN__)
    ConfigField_NewMailSoundProgram,
 #endif // OS_UNIX
+   ConfigField_NewMailNotifySeparator,
    ConfigField_NewMailNotify,
+   ConfigField_NewMailNotifyWindow,
    ConfigField_NewMailNotifyThresholdHelp,
    ConfigField_NewMailNotifyDetailsThreshold,
    ConfigField_NewMailNewOnlyIfUnseenHelp,
@@ -1256,24 +1258,30 @@ const wxOptionsPage::FieldInfo wxOptionsPageStandard::ms_aFields[] =
                                                    Field_NotApp,
                                                    ConfigField_NewMailCollect },
 
-   { gettext_noop("When new mail message appears in this folder Mahogany\n"
-                  "may execute an external command and/or show a message "
-                  "about it."),                    Field_Message,    -1 },
+   { gettext_noop("Mahogany may notify you about new email in different ways:\n"
+                  "it can run any command you define, play a sound,\n"
+                  "show a notification window or just print a message in the\n"
+                  "log window.\n"
+                  "\n"
+                  "All or none of the options below may be chosed. If more than\n"
+                  "one is active, they will be applied in order they appear here,\n"
+                  "e.g. you can first run an external program, then play a sound\n"
+                  "from Mahogany itself and then show a notification."
+                  "\n"),                           Field_Message, -1 },
    { gettext_noop("E&xecute new mail command"),    Field_Bool,    -1 },
    { gettext_noop("New mail &command"),            Field_File,
                                                    ConfigField_NewMailNotifyUseCommand },
 
-   { gettext_noop("In addition to running an external program, Mahogany may\n"
-                  "also play a sound when a new message arrives. Leave the\n"
-                  "sound file empty to play the default sound."),
-                                                   Field_Message,    -1 },
+   { "\n",      Field_Message, -1 },
    { gettext_noop("Play a &sound on new mail"),    Field_Bool,    -1 },
    { gettext_noop("Sound &file"),                  Field_File,    ConfigField_NewMailPlaySound },
 #if defined(OS_UNIX) || defined(__CYGWIN__)
    { gettext_noop("&Program to play the sound"),   Field_File,    ConfigField_NewMailPlaySound },
 #endif // OS_UNIX
 
-   { gettext_noop("Show new mail &notification"),  Field_Bool,    -1 },
+   { "\n",      Field_Message, -1 },
+   { gettext_noop("Show new mail in &log window"), Field_Bool,    -1 },
+   { gettext_noop("Also show &notification popup"),Field_Bool,    -1 },
    { gettext_noop("If there are not too many new messages, Mahogany will\n"
                   "show a detailed notification message with the subjects\n"
                   "and senders of all messages. Otherwise it will just\n"
@@ -2071,7 +2079,9 @@ const ConfigValueDefault wxOptionsPageStandard::ms_aConfigDefaults[] =
    CONFIG_ENTRY(MP_NEWMAIL_SOUND_PROGRAM),
 #endif // OS_UNIX
 
+   CONFIG_NONE(), // notify separator
    CONFIG_ENTRY(MP_SHOW_NEWMAILMSG),
+   CONFIG_ENTRY(MP_SHOW_NEWMAILNOTIFICATION),
    CONFIG_NONE(), // details threshold help
    CONFIG_ENTRY(MP_SHOW_NEWMAILINFO),
 
diff --git a/src/mail/MailFolderCmn.cpp b/src/mail/MailFolderCmn.cpp
index d6f9fae..7aedf7b 100644
--- a/src/mail/MailFolderCmn.cpp
+++ b/src/mail/MailFolderCmn.cpp
@@ -70,6 +70,9 @@
 
 #include <wx/datetime.h>
 #include <wx/file.h>
+#include <wx/notifmsg.h>
+
+#include <vector>
 
 // ----------------------------------------------------------------------------
 // options we use here
@@ -88,6 +91,7 @@ extern const MOption MP_NEWMAIL_SOUND_PROGRAM;
 extern const MOption MP_SAFE_FILTERS;
 extern const MOption MP_SHOW_NEWMAILINFO;
 extern const MOption MP_SHOW_NEWMAILMSG;
+extern const MOption MP_SHOW_NEWMAILNOTIFICATION;
 extern const MOption MP_TRASH_FOLDER;
 extern const MOption MP_UPDATEINTERVAL;
 extern const MOption MP_USE_NEWMAILCOMMAND;
@@ -1963,6 +1967,25 @@ MailFolderCmn::CollectNewMail(UIdArray& uidsNew, const String& newMailFolder)
    return true;
 }
 
+namespace
+{
+
+// Helper struct used by ReportNewMail() but which must be declared outside of
+// it in C++03.
+struct NewMailInfo
+{
+   NewMailInfo(const String& from_, const String& subject_) :
+      from(from_), subject(subject_)
+   {
+   }
+
+   String
+      from,
+      subject;
+};
+
+} // anonymous namespace
+
 /*
    The parameters have the following meaning:
 
@@ -2070,13 +2093,12 @@ MailFolderCmn::ReportNewMail(const MFolder *folder,
                            mApplication->GetProfile()) )
 #endif //USE_PYTHON
       {
-         // step 5: show notification
+         // step 5: show notification message from M itself
          if ( READ_CONFIG(profile, MP_SHOW_NEWMAILMSG) )
          {
-            String message;
-            message.Printf(_("You have received %lu new messages "
-                             "in the folder '%s'"),
-                           countNew, folder->GetFullName().c_str());
+            // Get information about the new mail as we can use it twice below.
+            std::vector<NewMailInfo> infos;
+
 
             // we give the detailed new mail information when there are few new
             // mail messages, otherwise we just give a brief message with their
@@ -2103,35 +2125,14 @@ MailFolderCmn::ReportNewMail(const MFolder *folder,
             if ( detailsThreshold == -1 ||
                  countNew < (unsigned long)detailsThreshold )
             {
-               message += ':';
+               infos.reserve(countNew);
 
-               for( unsigned long i = 0; i < countNew; i++)
+               for ( unsigned long i = 0; i < countNew; i++)
                {
-                  Message *msg = mf->GetMessage(uidsNew->Item(i));
+                  Message_obj msg(mf->GetMessage(uidsNew->Item(i)));
                   if ( msg )
                   {
-                     String from = msg->From();
-                     if ( from.empty() )
-                     {
-                        from = _("unknown sender");
-                     }
-
-                     String subject = msg->Subject();
-                     if ( subject.empty() )
-                     {
-                        subject = _("without subject");
-                     }
-                     else
-                     {
-                        String s;
-                        s << _(" about '") << subject << '\'';
-                        subject = s;
-                     }
-
-                     message << '\n'
-                             << _("\tFrom: ") << from << subject;
-
-                     msg->DecRef();
+                     infos.push_back(NewMailInfo(msg->From(), msg->Subject()));
                   }
                   else // no message?
                   {
@@ -2142,6 +2143,86 @@ MailFolderCmn::ReportNewMail(const MFolder *folder,
                   }
                }
             }
+
+            // step 5a: show notification window
+            if ( READ_CONFIG(profile, MP_SHOW_NEWMAILNOTIFICATION) )
+            {
+               wxNotificationMessage notification;
+               notification.SetTitle(
+                  countNew == 1
+                     ? String::Format(_("New email in folder \"%s\""),
+                                      folder->GetFullName())
+                     : String::Format(_("%lu new messages in folder \"%s\""),
+                                      countNew, folder->GetFullName())
+               );
+
+               String message;
+               for ( unsigned long i = 0; i < infos.size(); i++)
+               {
+                  const NewMailInfo& info = infos[i];
+
+                  if ( !message.empty() )
+                     message << '\n';
+
+                  AddressList_obj addrList(AddressList::Create(info.from));
+                  if ( Address* addr = addrList->GetFirst() )
+                  {
+                     // Show the sender in user-friendly way.
+                     String sender = addr->GetName();
+                     if ( sender.empty() )
+                        sender = addr->GetEMail();
+                     message << sender << ": ";
+                  }
+
+                  message << '"' << info.subject << '"';
+               }
+
+               notification.SetMessage(message);
+
+#if defined(__WXGTK__) && wxUSE_LIBNOTIFY
+               // Use a more appropriate stock icon under GTK.
+               notification.GTKSetIconName("mail-message-new");
+#endif
+
+               notification.Show();
+            }
+
+            // step 5b: show detailed notification message
+            String message;
+            message.Printf(_("You have received %lu new messages "
+                             "in the folder '%s'"),
+                           countNew, folder->GetFullName().c_str());
+
+            if ( !infos.empty() )
+            {
+               message += ':';
+
+               for ( unsigned long i = 0; i < infos.size(); i++)
+               {
+                  const NewMailInfo& info = infos[i];
+
+                  String from = info.from;
+                  if ( from.empty() )
+                  {
+                     from = _("unknown sender");
+                  }
+
+                  String subject = info.subject;
+                  if ( subject.empty() )
+                  {
+                     subject = _("without subject");
+                  }
+                  else
+                  {
+                     String s;
+                     s << _(" about '") << subject << '\'';
+                     subject = s;
+                  }
+
+                  message << '\n'
+                          << _("\tFrom: ") << from << subject;
+               }
+            }
             else // too many new messages
             {
                // don't give the details

commit 80156508687fd99fbb1cf9546e88858cbda1cef9
Author: Vadim Zeitlin <[email protected]>
Date:   Tue Jul 24 14:02:16 2012 +0200

    Fix crash in print preview when not using PS printing under Unix.
    
    In wxGTK wxPrintNativeDataBase is not always wxPostScriptPrintNativeData (in
    fact it almost never is), so don't just cast the former to the latter, verify
    that it has the correct type.
    
    This fixes immediate crash when previewing a message before printing under
    Unix.

diff --git a/src/gui/wxMApp.cpp b/src/gui/wxMApp.cpp
index 16b1c63..f433105 100644
--- a/src/gui/wxMApp.cpp
+++ b/src/gui/wxMApp.cpp
@@ -1358,10 +1358,13 @@ void wxMApp::CleanUpPrintData()
 #if wxUSE_POSTSCRIPT
       wxPrintNativeDataBase * const dataNative = m_PrintData->GetNativeData();
       wxPostScriptPrintNativeData * const dataPS =
-         static_cast<wxPostScriptPrintNativeData *>(dataNative);
+         wxDynamicCast(dataNative, wxPostScriptPrintNativeData);
 
-      m_profile->writeEntry(MP_PRINT_COMMAND, dataPS->GetPrinterCommand());
-      m_profile->writeEntry(MP_PRINT_OPTIONS, dataPS->GetPrinterOptions());
+      if ( dataPS )
+      {
+         m_profile->writeEntry(MP_PRINT_COMMAND, dataPS->GetPrinterCommand());
+         m_profile->writeEntry(MP_PRINT_OPTIONS, dataPS->GetPrinterOptions());
+      }
 #endif // wxUSE_POSTSCRIPT
 
       m_profile->writeEntry(MP_PRINT_ORIENTATION, m_PrintData->GetOrientation());
@@ -1401,22 +1404,26 @@ const wxPrintData *wxMApp::GetPrintData()
 #if wxUSE_POSTSCRIPT && !defined(__WINE__)
       wxPrintNativeDataBase * const dataNative = m_PrintData->GetNativeData();
       wxPostScriptPrintNativeData * const dataPS =
-         static_cast<wxPostScriptPrintNativeData *>(dataNative);
-
-      // set AFM path
-      PathFinder pf(mApplication->GetDataDir() + _T("/afm"), false);
-      pf.AddPaths(READ_APPCONFIG_TEXT(MP_AFMPATH), false);
-      pf.AddPaths(mApplication->GetLocalDir(), true);
+         wxDynamicCast(dataNative, wxPostScriptPrintNativeData);
 
-      bool found;
-      String afmpath = pf.FindDirFile(_T("Cour.afm"), &found);
-      if ( found )
+      if ( dataPS )
       {
-         dataPS->SetFontMetricPath(afmpath);
+         // set AFM path
+         PathFinder pf(mApplication->GetDataDir() + _T("/afm"), false);
+         pf.AddPaths(READ_APPCONFIG_TEXT(MP_AFMPATH), false);
+         pf.AddPaths(mApplication->GetLocalDir(), true);
+
+         bool found;
+         String afmpath = pf.FindDirFile(_T("Cour.afm"), &found);
+         if ( found )
+         {
+            dataPS->SetFontMetricPath(afmpath);
+         }
+
+         dataPS->SetPrinterCommand(READ_APPCONFIG(MP_PRINT_COMMAND));
+         dataPS->SetPrinterOptions(READ_APPCONFIG(MP_PRINT_OPTIONS));
       }
 
-      dataPS->SetPrinterCommand(READ_APPCONFIG(MP_PRINT_COMMAND));
-      dataPS->SetPrinterOptions(READ_APPCONFIG(MP_PRINT_OPTIONS));
       m_PrintData->SetOrientation((wxPrintOrientation)(long)
                                     READ_APPCONFIG(MP_PRINT_ORIENTATION));
       m_PrintData->SetPrintMode((wxPrintMode)(long)READ_APPCONFIG(MP_PRINT_MODE));

commit 694bb62913f335bfac01a9fe810ec977c122ec53
Author: Vadim Zeitlin <[email protected]>
Date:   Tue Jul 24 00:40:22 2012 +0200

    Simplify ClickableInfo mouse handling, drop double click action.
    
    Double click action was always the same as single click one anyhow, except
    that, confusingly, sometimes one was implemented in terms of another one and
    sometimes vice versa. Simply remove OnDoubleClick() method and corresponding
    WXMENU_LAYOUT_DBLCLICK constant.
    
    Also, the mouse position was never used by the [double] click handler except
    as the position to show the "Face" dialog at which was not very useful. So
    remove the position argument from OnLeftClick() as it can be difficult to
    obtain (e.g. for the upcoming wxWebView-based viewer).
    
    Finally, as OnLeftClick() and OnRightClick() don't have the same signature any
    more, don't use MessageView::DoMouseCommand() as a common interface for them
    but just call them directly. This makes the code simpler and DoMouseCommand()
    can be completely removed now.

diff --git a/include/ClickAtt.h b/include/ClickAtt.h
index 927b9d4..2413df0 100644
--- a/include/ClickAtt.h
+++ b/include/ClickAtt.h
@@ -33,9 +33,8 @@ public:
    // implement base class pure virtuals
    virtual String GetLabel() const;
 
-   virtual void OnLeftClick(const wxPoint& pt) const;
+   virtual void OnLeftClick() const;
    virtual void OnRightClick(const wxPoint& pt) const;
-   virtual void OnDoubleClick(const wxPoint& pt) const;
 
    // show the popup menu for this window/at this point
    //
diff --git a/include/ClickInfo.h b/include/ClickInfo.h
index 09ead08..13822d1 100644
--- a/include/ClickInfo.h
+++ b/include/ClickInfo.h
@@ -52,20 +52,25 @@ public:
 
    /**
       @name Processing mouse events
-
-      All functions get the click coordinates in the m_msgView->GetWindow()
-      client coordinates.
     */
    //@{
 
-   /// process left click
-   virtual void OnLeftClick(const wxPoint& pt) const = 0;
+   /**
+       Process left click.
 
-   /// process right click
-   virtual void OnRightClick(const wxPoint& pt) const = 0;
+       This typically performs the default action associated with the object.
+    */
+   virtual void OnLeftClick() const = 0;
 
-   /// process double (left) click
-   virtual void OnDoubleClick(const wxPoint& pt) const = 0;
+   /**
+       Process right click.
+
+       This typically shows the context menu with all the applicable actions.
+
+       The click coordinates are in the m_msgView->GetWindow() client
+       coordinates.
+    */
+   virtual void OnRightClick(const wxPoint& pt) const = 0;
 
    //@}
 
diff --git a/include/ClickURL.h b/include/ClickURL.h
index def907a..00986f3 100644
--- a/include/ClickURL.h
+++ b/include/ClickURL.h
@@ -40,9 +40,8 @@ public:
    // implement base class pure virtuals
    virtual String GetLabel() const;
 
-   virtual void OnLeftClick(const wxPoint& pt) const;
+   virtual void OnLeftClick() const;
    virtual void OnRightClick(const wxPoint& pt) const;
-   virtual void OnDoubleClick(const wxPoint& pt) const;
 
    /// @name Accessors
    //@{
diff --git a/include/MessageView.h b/include/MessageView.h
index 3b4f8be..d077a03 100644
--- a/include/MessageView.h
+++ b/include/MessageView.h
@@ -134,9 +134,6 @@ public:
    /// handle the command from the menu, return true if processed
    bool DoMenuCommand(int id);
 
-   /// handle a mouse click in MessageViewer (should be only called by it)
-   void DoMouseCommand(int id, const ClickableInfo *ci, const wxPoint& pt);
-
    /// show the message view contents in the given language
    void SetLanguage(int cmdLang);
 
diff --git a/include/PGPClickInfo.h b/include/PGPClickInfo.h
index 52a2b26..4116718 100644
--- a/include/PGPClickInfo.h
+++ b/include/PGPClickInfo.h
@@ -42,9 +42,8 @@ public:
    // implement the base class pure virtuals
    virtual String GetLabel() const;
 
-   virtual void OnLeftClick(const wxPoint&) const;
+   virtual void OnLeftClick() const;
    virtual void OnRightClick(const wxPoint& pt) const;
-   virtual void OnDoubleClick(const wxPoint&) const;
 
    // show the details about this PGP info object to the user (menu command)
    void ShowDetails() const;
diff --git a/include/gui/wxMenuDefs.h b/include/gui/wxMenuDefs.h
index f37d1df..d1b99a6 100644
--- a/include/gui/wxMenuDefs.h
+++ b/include/gui/wxMenuDefs.h
@@ -409,7 +409,6 @@ enum
    WXMENU_LAYOUT_BEGIN,
    WXMENU_LAYOUT_LCLICK,            // left click
    WXMENU_LAYOUT_RCLICK,            // right click
-   WXMENU_LAYOUT_DBLCLICK,          // left button only
    WXMENU_LAYOUT_END,
    WXMENU_POPUP_MIME_OFFS = WXMENU_LAYOUT_END,
    WXMENU_POPUP_MODULES_OFFS = WXMENU_POPUP_MIME_OFFS + 100,
diff --git a/include/gui/wxllist.h b/include/gui/wxllist.h
index 862d67d..7343745 100644
--- a/include/gui/wxllist.h
+++ b/include/gui/wxllist.h
@@ -22,7 +22,6 @@
 #ifndef   M_BASEDIR
 #   define WXMENU_LAYOUT_LCLICK     1111
 #   define WXMENU_LAYOUT_RCLICK     1112
-#   define WXMENU_LAYOUT_DBLCLICK   1113
 #else // for Mahogany only
 #   include "MObject.h"
 #endif
diff --git a/src/classes/MessageView.cpp b/src/classes/MessageView.cpp
index 379d3fa..5410a9c 100644
--- a/src/classes/MessageView.cpp
+++ b/src/classes/MessageView.cpp
@@ -3767,34 +3767,6 @@ MessageView::DoMenuCommand(int id)
 }
 
 void
-MessageView::DoMouseCommand(int id, const ClickableInfo *ci, const wxPoint& pt)
-{
-   // ignore mouse clicks if we're inside wxYield()
-   if ( !mApplication->AllowBgProcessing() )
-      return;
-
-   CHECK_RET( ci, "MessageView::DoMouseCommand(): NULL ClickableInfo" );
-
-   switch ( id )
-   {
-      case WXMENU_LAYOUT_LCLICK:
-         ci->OnLeftClick(pt);
-         break;
-
-      case WXMENU_LAYOUT_RCLICK:
-         ci->OnRightClick(pt);
-         break;
-
-      case WXMENU_LAYOUT_DBLCLICK:
-         ci->OnDoubleClick(pt);
-         break;
-
-      default:
-         FAIL_MSG("unknown mouse action");
-   }
-}
-
-void
 MessageView::SetLanguage(int id)
 {
    wxFontEncoding encoding = GetEncodingFromMenuCommand(id);
diff --git a/src/classes/PGPClickInfo.cpp b/src/classes/PGPClickInfo.cpp
index c21099f..63ca01f 100644
--- a/src/classes/PGPClickInfo.cpp
+++ b/src/classes/PGPClickInfo.cpp
@@ -204,7 +204,7 @@ ClickablePGPInfo::GetLabel() const
 // ----------------------------------------------------------------------------
 
 void
-ClickablePGPInfo::OnLeftClick(const wxPoint&) const
+ClickablePGPInfo::OnLeftClick() const
 {
    ShowDetails();
 }
@@ -218,12 +218,6 @@ ClickablePGPInfo::OnRightClick(const wxPoint& pt) const
 }
 
 void
-ClickablePGPInfo::OnDoubleClick(const wxPoint&) const
-{
-   ShowDetails();
-}
-
-void
 ClickablePGPInfo::ShowDetails() const
 {
    // TODO: something better
diff --git a/src/gui/ClickAtt.cpp b/src/gui/ClickAtt.cpp
index 087c7bd..80d4b07 100644
--- a/src/gui/ClickAtt.cpp
+++ b/src/gui/ClickAtt.cpp
@@ -166,18 +166,10 @@ String ClickableAttachment::GetLabel() const
 // ClickableAttachment click handlers
 // ----------------------------------------------------------------------------
 
-void ClickableAttachment::OnLeftClick(const wxPoint& pt) const
+void ClickableAttachment::OnLeftClick() const
 {
-   // for now, do the same thing as double click but perhaps the left button
-   // behaviour should be configurable in the future (i.e. either save or open)
-   // so that people don't risk accidentally opening [possibly dangerous]
-   // attachments?
-   OnDoubleClick(pt);
-}
-
-void ClickableAttachment::OnDoubleClick(const wxPoint& /* pt */) const
-{
-   // open the attachment
+   // open the attachment: this is dangerous and should be made configurable
+   // and probably disabled by default, see #670
    m_msgView->MimeHandle(m_mimepart);
 }
 
diff --git a/src/gui/ClickURL.cpp b/src/gui/ClickURL.cpp
index 8cb9e6b..0a02003 100644
--- a/src/gui/ClickURL.cpp
+++ b/src/gui/ClickURL.cpp
@@ -554,7 +554,7 @@ void ClickableURL::AddToAddressBook() const
 // ClickableURL click handlers
 // ----------------------------------------------------------------------------
 
-void ClickableURL::OnLeftClick(const wxPoint& /* pt */) const
+void ClickableURL::OnLeftClick() const
 {
    if ( IsMail() )
    {
@@ -568,12 +568,6 @@ void ClickableURL::OnLeftClick(const wxPoint& /* pt */) const
    }
 }
 
-void ClickableURL::OnDoubleClick(const wxPoint& pt) const
-{
-   // no special action for double clicking
-   OnLeftClick(pt);
-}
-
 void ClickableURL::OnRightClick(const wxPoint& pt) const
 {
    UrlPopup menu(this);
diff --git a/src/modules/HtmlViewer.cpp b/src/modules/HtmlViewer.cpp
index 57c4674..647e3eb 100644
--- a/src/modules/HtmlViewer.cpp
+++ b/src/modules/HtmlViewer.cpp
@@ -541,14 +541,10 @@ void HtmlViewerWindow::OnLinkClicked(const wxHtmlLinkInfo& link)
    // left click becomes double click as we want to open the URLs on simple
    // click
    const wxMouseEvent& event = *link.GetEvent();
-   m_viewer->GetMessageView()->DoMouseCommand
-                               (
-                                 event.GetEventType() == wxEVT_LEFT_UP
-                                    ? WXMENU_LAYOUT_DBLCLICK
-                                    : WXMENU_LAYOUT_RCLICK,
-                                 ci,
-                                 event.GetPosition()
-                               );
+   if ( event.GetEventType() == wxEVT_LEFT_UP )
+      ci->OnLeftClick();
+   else
+      ci->OnRightClick(event.GetPosition());
 }
 
 wxHtmlOpeningStatus
diff --git a/src/modules/LayoutViewer.cpp b/src/modules/LayoutViewer.cpp
index 6a1115c..e5fc61a 100644
--- a/src/modules/LayoutViewer.cpp
+++ b/src/modules/LayoutViewer.cpp
@@ -110,12 +110,6 @@ public:
    virtual bool CanInlineImages() const;
    virtual bool CanProcess(const String& mimetype) const;
 
-   // for m_window only
-   void DoMouseCommand(int id, const ClickableInfo *ci, const wxPoint& pt)
-   {
-      m_msgView->DoMouseCommand(id, ci, pt);
-   }
-
 private:
    // set the text colour
    void SetTextColour(const wxColour& col);
@@ -242,26 +236,20 @@ void LayoutViewerWindow::OnMouseEvent(wxCommandEvent& event)
    LayoutUserData *data = (LayoutUserData *)obj->GetUserData();
    if ( data )
    {
-      int id;
+      ClickableInfo* const ci = data->GetClickableInfo();
       switch ( event.GetId() )
       {
          case WXLOWIN_MENU_RCLICK:
-            id = WXMENU_LAYOUT_RCLICK;
+            ci->OnRightClick(GetClickPosition());
             break;
 
          default:
             FAIL_MSG(_T("unknown mouse action"));
 
          case WXLOWIN_MENU_LCLICK:
-            id = WXMENU_LAYOUT_LCLICK;
-            break;
-
-         case WXLOWIN_MENU_DBLCLICK:
-            id = WXMENU_LAYOUT_DBLCLICK;
+            ci->OnLeftClick();
             break;
       }
-
-      m_viewer->DoMouseCommand(id, data->GetClickableInfo(), GetClickPosition());
    }
 }
 
diff --git a/src/modules/TextViewer.cpp b/src/modules/TextViewer.cpp
index 553b22e..bd7bac6 100644
--- a/src/modules/TextViewer.cpp
+++ b/src/modules/TextViewer.cpp
@@ -133,12 +133,6 @@ public:
    virtual bool CanInlineImages() const;
    virtual bool CanProcess(const String& mimetype) const;
 
-   // for m_window only
-   void DoMouseCommand(int id, const ClickableInfo *ci, const wxPoint& pt)
-   {
-      m_msgView->DoMouseCommand(id, ci, pt);
-   }
-
 private:
    // create m_printText if necessary
    void InitPrinting();
@@ -183,17 +177,16 @@ public:
 
    virtual String GetLabel() const { return "Face picture"; }
 
-   virtual void OnLeftClick(const wxPoint& pt) const { DoShow(pt); }
+   virtual void OnLeftClick() const { DoShow(); }
    virtual void OnRightClick(const wxPoint& /* pt */) const { }
-   virtual void OnDoubleClick(const wxPoint& /* pt */) const { }
 
 private:
    class FaceWindow : public wxDialog
    {
    public:
-      FaceWindow(wxWindow *parent, const wxPoint& position, wxBitmap bmp)
+      FaceWindow(wxWindow *parent, const wxBitmap& bmp)
          : wxDialog(parent, wxID_ANY, _("Face picture"),
-                    position, wxDefaultSize,
+                    wxDefaultPosition, wxDefaultSize,
                     wxCAPTION | wxCLOSE_BOX),
            m_bmp(bmp)
       {
@@ -212,9 +205,9 @@ private:
       wxBitmap m_bmp;
    };
 
-   void DoShow(const wxPoint& pt) const
+   void DoShow() const
    {
-      FaceWindow dlg(GetMessageView()->GetWindow(), pt, m_face);
+      FaceWindow dlg(GetMessageView()->GetWindow(), m_face);
       dlg.ShowModal();
    }
 
@@ -409,7 +402,6 @@ BEGIN_EVENT_TABLE(TextViewerWindow, wxTextCtrl)
    EVT_RIGHT_UP(TextViewerWindow::OnMouseEvent)
 #endif
    EVT_LEFT_UP(TextViewerWindow::OnMouseEvent)
-   EVT_LEFT_DCLICK(TextViewerWindow::OnMouseEvent)
 END_EVENT_TABLE()
 
 TextViewerWindow::TextViewerWindow(TextViewer *viewer, wxWindow *parent)
@@ -471,9 +463,7 @@ void TextViewerWindow::OnLinkEvent(wxTextUrlEvent& event)
 {
    wxMouseEvent eventMouse = event.GetMouseEvent();
    wxEventType type = eventMouse.GetEventType();
-   if ( type == wxEVT_RIGHT_UP ||
-        type == wxEVT_LEFT_UP ||
-        type == wxEVT_LEFT_DCLICK )
+   if ( type == wxEVT_RIGHT_UP || type == wxEVT_LEFT_UP )
    {
       if ( ProcessMouseEvent(eventMouse, event.GetURLStart()) )
       {
@@ -511,14 +501,13 @@ bool TextViewerWindow::ProcessMouseEvent(const wxMouseEvent& event, long pos)
       TextViewerClickable *clickable = m_clickables[n];
       if ( clickable->Inside(pos) )
       {
-         int id;
 #ifdef __WXGTK20__
          if ( event.RightDown() )
 #else
          if ( event.RightUp() )
 #endif
          {
-            id = WXMENU_LAYOUT_RCLICK;
+            clickable->GetClickableInfo()->OnRightClick(event.GetPosition());
          }
          else if ( event.LeftUp() )
          {
@@ -545,18 +534,15 @@ bool TextViewerWindow::ProcessMouseEvent(const wxMouseEvent& event, long pos)
             }
 #endif // __WXMSW__
 
-            id = WXMENU_LAYOUT_LCLICK;
+            clickable->GetClickableInfo()->OnLeftClick();
          }
-         else // must be double click, what else?
+         else
          {
-            ASSERT_MSG( event.LeftDClick(), _T("unexpected mouse event") );
+            FAIL_MSG( wxS("unexpected mouse event") );
 
-            id = WXMENU_LAYOUT_DBLCLICK;
+            return false;
          }
 
-         m_viewer->DoMouseCommand(id, clickable->GetClickableInfo(),
-                                  event.GetPosition());
-
          return true;
       }
    }

commit 76e260412ec4234e34b39ac20de87e736a6dd71e
Author: Vadim Zeitlin <[email protected]>
Date:   Mon Jul 23 21:31:24 2012 +0200

    Add MIME parts used by cid: links with the correct MIME type.
    
    This doesn't change anything for the existing HtmlViewer as wxHtmlWindow
    auto-detects the image type anyhow but will be necessary with wxWebView-based
    WebViewer.

diff --git a/src/classes/MessageView.cpp b/src/classes/MessageView.cpp
index c81286a..379d3fa 100644
--- a/src/classes/MessageView.cpp
+++ b/src/classes/MessageView.cpp
@@ -2836,7 +2836,7 @@ bool MessageView::StoreMIMEPartData(const MimePart *part, const String& cidOrig)
       cid = cidOrig;
 
    m_cidsInMemory->Add(cid);
-   MIMEFSHandler::AddFile(cid, data, len);
+   MIMEFSHandler::AddFileWithMimeType(cid, data, len, part->GetType().GetFull());
 
    return true;
 }

commit 54e33fc59dca96c1ec707e0f4c0fa59fd8d1d9d5
Author: Vadim Zeitlin <[email protected]>
Date:   Mon Jul 23 21:30:05 2012 +0200

    Use Ctrl-digit accelerators for changing viewers, not Shift+Ctrl.
    
    Using Shift for non-alphabetic accelerators doesn't work in wxGTK because of a
    GTK+ bug (https://bugzilla.gnome.org/show_bug.cgi?id=614146), so use just
    Ctrl for them.

diff --git a/src/gui/wxMessageView.cpp b/src/gui/wxMessageView.cpp
index 696fb69..6e1b40f 100644
--- a/src/gui/wxMessageView.cpp
+++ b/src/gui/wxMessageView.cpp
@@ -317,7 +317,7 @@ wxMessageView::CreateViewMenu()
 
       // add an accelerator for the viewer
       String desc = descViewers[nViewer];
-      desc << _T("\tShift-Ctrl-") << nViewer + 1;
+      desc << _T("\tCtrl-") << nViewer + 1;
 
       menuView->AppendRadioItem(id, desc);
 

commit 643f707e8eac6c927e4c01fe081b0d89d8abdf3d
Author: Vadim Zeitlin <[email protected]>
Date:   Mon Jul 23 21:29:41 2012 +0200

    Fix printf() format specifier mismatch.
    
    Use int for variable printed with "%d", not size_t.

diff --git a/src/gui/wxComposeView.cpp b/src/gui/wxComposeView.cpp
index 72898a7..a81972a 100644
--- a/src/gui/wxComposeView.cpp
+++ b/src/gui/wxComposeView.cpp
@@ -5861,7 +5861,7 @@ bool Composer::RestoreAll()
       return false;
    }
 
-   size_t nResumed = 0;
+   int nResumed = 0;
 
    wxString filename;
    bool cont = dir.GetFirst(&filename, wxEmptyString, wxDIR_FILES);

commit 3da9f358932a17f34b5869b5c93ac6fb426b20bf
Author: Vadim Zeitlin <[email protected]>
Date:   Mon Jul 23 21:28:30 2012 +0200

    Require wxWidgets 2.9.4 in configure.
    
    M almost certainly doesn't work with previous versions and will soon require
    wxWebView features only available in 2.9.4 and later.

diff --git a/configure b/configure
index c11fa12..d2176aa 100755
--- a/configure
+++ b/configure
@@ -4275,7 +4275,7 @@ case "$MSGFMT" in '')
 esac
 
 
-MIN_WX_VERSION=2.8.4
+MIN_WX_VERSION=2.9.4
 
 wxlibs=html,adv,qa,core,xml,net,base
 
@@ -4349,267 +4349,12 @@ fi
     WX_VERSION=""
 
     min_wx_version=$MIN_WX_VERSION
-    if test -z "--unicode=no --debug=$debug_option" ; then
-      echo $ac_n "checking for wxWidgets version >= $min_wx_version""... $ac_c" 1>&6
-echo "configure:4355: checking for wxWidgets version >= $min_wx_version" >&5
-    else
-      echo $ac_n "checking for wxWidgets version >= $min_wx_version (--unicode=no --debug=$debug_option)""... $ac_c" 1>&6
-echo "configure:4358: checking for wxWidgets version >= $min_wx_version (--unicode=no --debug=$debug_option)" >&5
-    fi
-
-            WX_CONFIG_WITH_ARGS="$WX_CONFIG_PATH $wx_config_args --unicode=no --debug=$debug_option"
-
-    WX_VERSION=`$WX_CONFIG_WITH_ARGS --version 2>/dev/null`
-    wx_config_major_version=`echo $WX_VERSION | \
-           sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'`
-    wx_config_minor_version=`echo $WX_VERSION | \
-           sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'`
-    wx_config_micro_version=`echo $WX_VERSION | \
-           sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\3/'`
-
-    wx_requested_major_version=`echo $min_wx_version | \
-           sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'`
-    wx_requested_minor_version=`echo $min_wx_version | \
-           sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'`
-    wx_requested_micro_version=`echo $min_wx_version | \
-           sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\3/'`
-
-    
-    wx_ver_ok=""
-    if test "x$WX_VERSION" != x ; then
-      if test $wx_config_major_version -gt $wx_requested_major_version; then
-        wx_ver_ok=yes
-      else
-        if test $wx_config_major_version -eq $wx_requested_major_version; then
-           if test $wx_config_minor_version -gt $wx_requested_minor_version; then
-              wx_ver_ok=yes
-           else
-              if test $wx_config_minor_version -eq $wx_requested_minor_version; then
-                 if test $wx_config_micro_version -ge $wx_requested_micro_version; then
-                    wx_ver_ok=yes
-                 fi
-              fi
-           fi
-        fi
-      fi
-    fi
-
-
-    if test -n "$wx_ver_ok"; then
-      echo "$ac_t""yes (version $WX_VERSION)" 1>&6
-      WX_LIBS=`$WX_CONFIG_WITH_ARGS --libs $wxlibs`
-
-                              echo $ac_n "checking for wxWidgets static library""... $ac_c" 1>&6
-echo "configure:4404: checking for wxWidgets static library" >&5
-      WX_LIBS_STATIC=`$WX_CONFIG_WITH_ARGS --static --libs $wxlibs 2>/dev/null`
-      if test "x$WX_LIBS_STATIC" = "x"; then
-        echo "$ac_t""no" 1>&6
-      else
-        echo "$ac_t""yes" 1>&6
-      fi
-
-            wx_has_cppflags=""
-      if test $wx_config_major_version -gt 2; then
-        wx_has_cppflags=yes
-      else
-        if test $wx_config_major_version -eq 2; then
-           if test $wx_config_minor_version -gt 2; then
-              wx_has_cppflags=yes
-           else
-              if test $wx_config_minor_version -eq 2; then
-                 if test $wx_config_micro_version -ge 6; then
-                    wx_has_cppflags=yes
-                 fi
-              fi
-           fi
-        fi
-      fi
-
-            wx_has_rescomp=""
-      if test $wx_config_major_version -gt 2; then
-        wx_has_rescomp=yes
-      else
-        if test $wx_config_major_version -eq 2; then
-           if test $wx_config_minor_version -ge 7; then
-              wx_has_rescomp=yes
-           fi
-        fi
-      fi
-      if test "x$wx_has_rescomp" = x ; then
-                  WX_RESCOMP=
-      else
-         WX_RESCOMP=`$WX_CONFIG_WITH_ARGS --rescomp`
-      fi
-
-      if test "x$wx_has_cppflags" = x ; then
-                  WX_CFLAGS=`$WX_CONFIG_WITH_ARGS --cflags $wxlibs`
-         WX_CPPFLAGS=$WX_CFLAGS
-         WX_CXXFLAGS=$WX_CFLAGS
-
-         WX_CFLAGS_ONLY=$WX_CFLAGS
-         WX_CXXFLAGS_ONLY=$WX_CFLAGS
-      else
-                  WX_CPPFLAGS=`$WX_CONFIG_WITH_ARGS --cppflags $wxlibs`
-         WX_CXXFLAGS=`$WX_CONFIG_WITH_ARGS --cxxflags $wxlibs`
-         WX_CFLAGS=`$WX_CONFIG_WITH_ARGS --cflags $wxlibs`
-
-         WX_CFLAGS_ONLY=`echo $WX_CFLAGS | sed "s@^$WX_CPPFLAGS *@@"`
-         WX_CXXFLAGS_ONLY=`echo $WX_CXXFLAGS | sed "s@^$WX_CFLAGS *@@"`
-      fi
-
-      wxOK=1
-
-    else
-
-       if test "x$WX_VERSION" = x; then
-                    echo "$ac_t""no" 1>&6
-       else
-          echo "$ac_t""no (version $WX_VERSION is not new enough)" 1>&6
-       fi
-
-       WX_CFLAGS=""
-       WX_CPPFLAGS=""
-       WX_CXXFLAGS=""
-       WX_LIBS=""
-       WX_LIBS_STATIC=""
-       WX_RESCOMP=""
-
-       if test ! -z "--unicode=no --debug=$debug_option"; then
-
-          wx_error_message="
-    The configuration you asked for $PACKAGE_NAME requires a wxWidgets
-    build with the following settings:
-        --unicode=no --debug=$debug_option
-    but such build is not available.
-
-    To see the wxWidgets builds available on this system, please use
-    'wx-config --list' command. To use the default build, returned by
-    'wx-config --selected-config', use the options with their 'auto'
-    default values."
-
-       fi
-
-       wx_error_message="
-    The requested wxWidgets build couldn't be found.
-    $wx_error_message
-
-    If you still get this error, then check that 'wx-config' is
-    in path, the directory where wxWidgets libraries are installed
-    (returned by 'wx-config --libs' command) is in LD_LIBRARY_PATH
-    or equivalent variable and wxWidgets version is $MIN_WX_VERSION or above."
-
-       wxOK=0
-
-    fi
-  else
-
-    WX_CFLAGS=""
-    WX_CPPFLAGS=""
-    WX_CXXFLAGS=""
-    WX_LIBS=""
-    WX_LIBS_STATIC=""
-    WX_RESCOMP=""
-
-    wxOK=0
-
-  fi
-
-  
-  
-  
-  
-  
-  
-  
-  
-  
-
-      WX_VERSION_MAJOR="$wx_config_major_version"
-  WX_VERSION_MINOR="$wx_config_minor_version"
-  WX_VERSION_MICRO="$wx_config_micro_version"
-  
-  
-  
-
-
-
-if test "$wxOK" != 1; then
-    
-    
-    if test x${WX_CONFIG_NAME+set} != xset ; then
-     WX_CONFIG_NAME=wx-config
-  fi
-
-  if test "x$wx_config_name" != x ; then
-     WX_CONFIG_NAME="$wx_config_name"
-  fi
-
-    if test x$wx_config_exec_prefix != x ; then
-     wx_config_args="$wx_config_args --exec-prefix=$wx_config_exec_prefix"
-     WX_LOOKUP_PATH="$wx_config_exec_prefix/bin"
-  fi
-  if test x$wx_config_prefix != x ; then
-     wx_config_args="$wx_config_args --prefix=$wx_config_prefix"
-     WX_LOOKUP_PATH="$WX_LOOKUP_PATH:$wx_config_prefix/bin"
-  fi
-  if test "$cross_compiling" = "yes"; then
-     wx_config_args="$wx_config_args --host=$host_alias"
-  fi
-
-    if test -x "$WX_CONFIG_NAME" ; then
-     echo $ac_n "checking for wx-config""... $ac_c" 1>&6
-echo "configure:4562: checking for wx-config" >&5
-     WX_CONFIG_PATH="$WX_CONFIG_NAME"
-     echo "$ac_t""$WX_CONFIG_PATH" 1>&6
-  else
-     # Extract the first word of "$WX_CONFIG_NAME", so it can be a program name with args.
-set dummy $WX_CONFIG_NAME; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4569: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_path_WX_CONFIG_PATH'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  case "$WX_CONFIG_PATH" in
-  /*)
-  ac_cv_path_WX_CONFIG_PATH="$WX_CONFIG_PATH" # Let the user override the test with a path.
-  ;;
-  ?:/*)			 
-  ac_cv_path_WX_CONFIG_PATH="$WX_CONFIG_PATH" # Let the user override the test with a dos path.
-  ;;
-  *)
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
-  ac_dummy=""$WX_LOOKUP_PATH:$PATH""
-  for ac_dir in $ac_dummy; do 
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_path_WX_CONFIG_PATH="$ac_dir/$ac_word"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-  test -z "$ac_cv_path_WX_CONFIG_PATH" && ac_cv_path_WX_CONFIG_PATH="no"
-  ;;
-esac
-fi
-WX_CONFIG_PATH="$ac_cv_path_WX_CONFIG_PATH"
-if test -n "$WX_CONFIG_PATH"; then
-  echo "$ac_t""$WX_CONFIG_PATH" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-  fi
-
-  if test "$WX_CONFIG_PATH" != "no" ; then
-    WX_VERSION=""
-
-    min_wx_version=2.9.0
     if test -z "--debug=$debug_option" ; then
       echo $ac_n "checking for wxWidgets version >= $min_wx_version""... $ac_c" 1>&6
-echo "configure:4610: checking for wxWidgets version >= $min_wx_version" >&5
+echo "configure:4355: checking for wxWidgets version >= $min_wx_version" >&5
     else
       echo $ac_n "checking for wxWidgets version >= $min_wx_version (--debug=$debug_option)""... $ac_c" 1>&6
-echo "configure:4613: checking for wxWidgets version >= $min_wx_version (--debug=$debug_option)" >&5
+echo "configure:4358: checking for wxWidgets version >= $min_wx_version (--debug=$debug_option)" >&5
     fi
 
             WX_CONFIG_WITH_ARGS="$WX_CONFIG_PATH $wx_config_args --debug=$debug_option"
@@ -4655,7 +4400,7 @@ echo "configure:4613: checking for wxWidgets version >= $min_wx_version (--debug
       WX_LIBS=`$WX_CONFIG_WITH_ARGS --libs $wxlibs`
 
                               echo $ac_n "checking for wxWidgets static library""... $ac_c" 1>&6
-echo "configure:4659: checking for wxWidgets static library" >&5
+echo "configure:4404: checking for wxWidgets static library" >&5
       WX_LIBS_STATIC=`$WX_CONFIG_WITH_ARGS --static --libs $wxlibs 2>/dev/null`
       if test "x$WX_LIBS_STATIC" = "x"; then
         echo "$ac_t""no" 1>&6
@@ -4751,7 +4496,7 @@ echo "configure:4659: checking for wxWidgets static library" >&5
     If you still get this error, then check that 'wx-config' is
     in path, the directory where wxWidgets libraries are installed
     (returned by 'wx-config --libs' command) is in LD_LIBRARY_PATH
-    or equivalent variable and wxWidgets version is 2.9.0 or above."
+    or equivalent variable and wxWidgets version is $MIN_WX_VERSION or above."
 
        wxOK=0
 
@@ -4787,7 +4532,6 @@ echo "configure:4659: checking for wxWidgets static library" >&5
   
 
 
-fi
 
 if test "$wxOK" != 1; then
     if test $debug_option = "yes"; then
@@ -4831,7 +4575,7 @@ if test "$USE_MAC" = 1; then
     # Extract the first word of "SetFile", so it can be a program name with args.
 set dummy SetFile; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4835: checking for $ac_word" >&5
+echo "configure:4579: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_SETFILE'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4877,7 +4621,7 @@ fi
 
 case "$USE_THREADS" in 1)
 	echo $ac_n "checking if wxWidgets was compiled with threads""... $ac_c" 1>&6
-echo "configure:4881: checking if wxWidgets was compiled with threads" >&5
+echo "configure:4625: checking if wxWidgets was compiled with threads" >&5
 if eval "test \"`echo '$''{'m_cv_wx_threads'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4885,7 +4629,7 @@ else
   m_cv_wx_threads=x
 else
   cat > conftest.$ac_ext <<EOF
-#line 4889 "configure"
+#line 4633 "configure"
 #include "confdefs.h"
 #include "wx/setup.h"
 			int main(){
@@ -4896,7 +4640,7 @@ else
 			#endif
 			}
 EOF
-if { (eval echo configure:4900: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:4644: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   m_cv_wx_threads=yes
 else
@@ -4932,7 +4676,7 @@ esac
 case "$OSTYPE" in
    linux* | Linux*)
       echo $ac_n "checking for pam_end in -lpam""... $ac_c" 1>&6
-echo "configure:4936: checking for pam_end in -lpam" >&5
+echo "configure:4680: checking for pam_end in -lpam" >&5
 ac_lib_var=`echo pam'_'pam_end | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4940,7 +4684,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lpam  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4944 "configure"
+#line 4688 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4951,7 +4695,7 @@ int main() {
 pam_end()
 ; return 0; }
 EOF
-if { (eval echo configure:4955: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4699: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4979,7 +4723,7 @@ case "$USE_MINGW" in
 0)
 case "$USE_CCOSTYPE" in
 ''|0|1)	echo $ac_n "checking for c-client library OS type""... $ac_c" 1>&6
-echo "configure:4983: checking for c-client library OS type" >&5
+echo "configure:4727: checking for c-client library OS type" >&5
 	case "$OSTYPE" in
 	linux* | Linux*)
 		;; 	Solaris* | solaris* | SunOS*)
@@ -5040,17 +4784,17 @@ case "$USE_PISOCK" in
 1)
     ac_safe=`echo "pi-source.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for pi-source.h""... $ac_c" 1>&6
-echo "configure:5044: checking for pi-source.h" >&5
+echo "configure:4788: checking for pi-source.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5049 "configure"
+#line 4793 "configure"
 #include "confdefs.h"
 #include <pi-source.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5054: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4798: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -5067,7 +4811,7 @@ fi
 if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
   echo "$ac_t""yes" 1>&6
   echo $ac_n "checking for main in -lpisock""... $ac_c" 1>&6
-echo "configure:5071: checking for main in -lpisock" >&5
+echo "configure:4815: checking for main in -lpisock" >&5
 ac_lib_var=`echo pisock'_'main | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -5075,14 +4819,14 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lpisock  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 5079 "configure"
+#line 4823 "configure"
 #include "confdefs.h"
 
 int main() {
 main()
 ; return 0; }
 EOF
-if { (eval echo configure:5086: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4830: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -5103,7 +4847,7 @@ EOF
 
 	MAKE_PISOCKLIB="PISOCK_LIB:=-lpisock"
 	echo $ac_n "checking for pi_setmaxspeed in -lpisock""... $ac_c" 1>&6
-echo "configure:5107: checking for pi_setmaxspeed in -lpisock" >&5
+echo "configure:4851: checking for pi_setmaxspeed in -lpisock" >&5
 ac_lib_var=`echo pisock'_'pi_setmaxspeed | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -5111,7 +4855,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lpisock  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 5115 "configure"
+#line 4859 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -5122,7 +4866,7 @@ int main() {
 pi_setmaxspeed()
 ; return 0; }
 EOF
-if { (eval echo configure:5126: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4870: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -5147,7 +4891,7 @@ echo "configure: warning: Your pisock library is old - some functionality will b
 fi
 
 	echo $ac_n "checking for pi_accept_to in -lpisock""... $ac_c" 1>&6
-echo "configure:5151: checking for pi_accept_to in -lpisock" >&5
+echo "configure:4895: checking for pi_accept_to in -lpisock" >&5
 ac_lib_var=`echo pisock'_'pi_accept_to | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -5155,7 +4899,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lpisock  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 5159 "configure"
+#line 4903 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -5166,7 +4910,7 @@ int main() {
 pi_accept_to()
 ; return 0; }
 EOF
-if { (eval echo configure:5170: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4914: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -5212,7 +4956,7 @@ case "$MAKE_PISOCKLIB" in
 '') ;;
 *)
 	echo $ac_n "checking for libmal in lib""... $ac_c" 1>&6
-echo "configure:5216: checking for libmal in lib" >&5
+echo "configure:4960: checking for libmal in lib" >&5
 	if test ! -d $srcdir/lib/libmal 
 	then	echo "$ac_t""not found - no MAL synch for PalmOS" 1>&6
 	elif test -f $srcdir/lib/libmal/Makefile.in \
@@ -5270,7 +5014,7 @@ EOF
 	;;
 auto|Auto|AUTO|1)
 	echo $ac_n "checking how to link modules""... $ac_c" 1>&6
-echo "configure:5274: checking how to link modules" >&5
+echo "configure:5018: checking how to link modules" >&5
 		if test "$USE_MAC" = 0; then
 	    LDD="ldd"
 	else
@@ -5327,7 +5071,7 @@ MAKE_HAVE_DOCTOOLS='HAVE_DOCTOOLS=yes'
 # Extract the first word of "perl", so it can be a program name with args.
 set dummy perl; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5331: checking for $ac_word" >&5
+echo "configure:5075: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_PERL'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5362,7 +5106,7 @@ case "$PERL" in '') MAKE_HAVE_DOCTOOLS='' PERL='false "No perl available"';; esa
 # Extract the first word of "latex", so it can be a program name with args.
 set dummy latex; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5366: checking for $ac_word" >&5
+echo "configure:5110: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_LATEX'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5397,7 +5141,7 @@ case "$LATEX" in '') MAKE_HAVE_DOCTOOLS='' LATEX='false "No latex available"';;
 # Extract the first word of "makeindex", so it can be a program name with args.
 set dummy makeindex; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5401: checking for $ac_word" >&5
+echo "configure:5145: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_MAKEINDEX'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5432,7 +5176,7 @@ case "$MAKEINDEX" in '') MAKE_HAVE_DOCTOOLS='' MAKEINDEX='false "No makeindex av
 # Extract the first word of "dvips", so it can be a program name with args.
 set dummy dvips; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5436: checking for $ac_word" >&5
+echo "configure:5180: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_DVIPS'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5467,7 +5211,7 @@ case "$DVIPS" in '') MAKE_HAVE_DOCTOOLS='' DVIPS='false "No dvips available"';;
 # Extract the first word of "ps2pdf", so it can be a program name with args.
 set dummy ps2pdf; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5471: checking for $ac_word" >&5
+echo "configure:5215: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_PSTOPDF'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5502,7 +5246,7 @@ case "$PSTOPDF" in '') MAKE_HAVE_DOCTOOLS='' PSTOPDF='false "No ps2pdf available
 # Extract the first word of "latex2html", so it can be a program name with args.
 set dummy latex2html; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5506: checking for $ac_word" >&5
+echo "configure:5250: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_LATEX2HTML'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5570,7 +5314,7 @@ LIBS="$LIBS $PYTHON_LIBS $LIB_EFENCE $LIB_DMALLOC $LIB_PAM"
 
 IMAP_CFLAGS="$CFLAGS $IMAP_CFLAGS"
 echo $ac_n "checking whether $CC accepts -Wno-pointer-sign""... $ac_c" 1>&6
-echo "configure:5574: checking whether $CC accepts -Wno-pointer-sign" >&5
+echo "configure:5318: checking whether $CC accepts -Wno-pointer-sign" >&5
 if eval "test \"`echo '$''{'m_cv_cc_no_warn_ptr_sign'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5595,7 +5339,7 @@ if test $m_cv_cc_no_warn_ptr_sign = "yes"; then
     IMAP_CFLAGS="$IMAP_CFLAGS -Wno-pointer-sign"
 fi
 echo $ac_n "checking whether $CC accepts -Wno-pointer-to-int-cast""... $ac_c" 1>&6
-echo "configure:5599: checking whether $CC accepts -Wno-pointer-to-int-cast" >&5
+echo "configure:5343: checking whether $CC accepts -Wno-pointer-to-int-cast" >&5
 if eval "test \"`echo '$''{'m_cv_cc_no_warn_ptr_to_int_cast'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5671,7 +5415,7 @@ fi
 if test "x$DEPFLAGS" != "x"; then
             if test "x$GXX" != "xyes"; then
 	echo $ac_n "checking whether ${CXX} accepts ${DEPFLAGS}""... $ac_c" 1>&6
-echo "configure:5675: checking whether ${CXX} accepts ${DEPFLAGS}" >&5
+echo "configure:5419: checking whether ${CXX} accepts ${DEPFLAGS}" >&5
 if eval "test \"`echo '$''{'m_cv_cxx_depflags'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5694,7 +5438,7 @@ echo "$ac_t""$m_cv_cxx_depflags" 1>&6
     if test "x$DEPFLAGS" != "x"; then
 	if test "x$GCC" != "xyes"; then
 	    echo $ac_n "checking whether ${CC} accepts ${DEPFLAGS}""... $ac_c" 1>&6
-echo "configure:5698: checking whether ${CC} accepts ${DEPFLAGS}" >&5
+echo "configure:5442: checking whether ${CC} accepts ${DEPFLAGS}" >&5
 if eval "test \"`echo '$''{'m_cv_c_depflags'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
diff --git a/configure.in b/configure.in
index ddde568..d105aef 100644
--- a/configure.in
+++ b/configure.in
@@ -958,21 +958,14 @@ dnl --------------------------------------------------------------------------
 dnl check for (wx)gtk libraries
 dnl --------------------------------------------------------------------------
 
-dnl check for wxWidgets installation: traditionally, we could only use ANSI
-dnl build
-MIN_WX_VERSION=2.8.4
+dnl check for wxWidgets installation
+MIN_WX_VERSION=2.9.4
 
 dnl notice that libraries option should use correct order, otherwise statically
 dnl linking won't work!
 wxlibs=html,adv,qa,core,xml,net,base
 
-AM_PATH_WXCONFIG($MIN_WX_VERSION, [wxOK=1],[wxOK=0],[$wxlibs],
-		 [--unicode=no --debug=$debug_option])
-
-dnl but with wx3 we can also use Unicode build
-if test "$wxOK" != 1; then
-    AM_PATH_WXCONFIG(2.9.0, [wxOK=1],[wxOK=0],[$wxlibs], [--debug=$debug_option])
-fi
+AM_PATH_WXCONFIG($MIN_WX_VERSION, [wxOK=1],[wxOK=0],[$wxlibs], [--debug=$debug_option])
 
 if test "$wxOK" != 1; then
     if test $debug_option = "yes"; then

-----------------------------------------------------------------------

Summary of changes:
 .gitattributes                        |    2 +
 CHANGES                               |    1 +
 M.vcproj                              |    8 +
 M.vcxproj                             | 1542 +++++++++++++++++++++++++++++++++
 M.vcxproj.filters                     |  972 +++++++++++++++++++++
 M_vc10.sln                            |  127 +++
 Mconfig.vcxproj                       |  133 +++
 README                                |    2 +-
 configure                             |  330 +-------
 configure.in                          |   13 +-
 doc/.gitattributes                    |    1 +
 doc/HtmlHlp/Manual.chm                |  Bin 79318 -> 79960 bytes
 doc/HtmlHlp/Manual.html               |  376 ++++++---
 doc/Manual.htex                       |    4 +-
 doc/README.lyx                        |  316 -------
 doc/README.tex                        |  174 ----
 doc/RoadMap.txt                       |   23 +-
 doc/readme_win.txt                    |   16 +-
 doc/release.txt                       |    4 +-
 doc/relnotes.txt                      |    4 +-
 extra/setup/Bug.url                   |    2 +-
 extra/setup/M.iss                     |   31 +-
 extra/setup/autocollect.adb           |    2 +
 extra/setup/preread.txt               |    2 +-
 include/Address.h                     |   10 +
 include/ClickAtt.h                    |    3 +-
 include/ClickInfo.h                   |   23 +-
 include/ClickURL.h                    |    3 +-
 include/MailFolder.h                  |    5 -
 include/MessageView.h                 |    3 -
 include/Moptions.h                    |    5 +
 include/NewMailNotifier.h             |   99 +++
 include/PGPClickInfo.h                |    3 +-
 include/SpamFilter.h                  |   15 +-
 include/gui/wxMenuDefs.h              |    1 -
 include/gui/wxOptionsPage.h           |   13 +-
 include/gui/wxllist.h                 |    1 -
 lib/compface/compface.vcxproj         |  252 ++++++
 lib/compface/compface.vcxproj.filters |   33 +
 lib/dspam/dspam.vcxproj               |  245 ++++++
 lib/dspam/dspam.vcxproj.filters       |   98 +++
 lib/imap/imap.vcxproj                 |  243 ++++++
 lib/imap/imap.vcxproj.filters         |   86 ++
 lib/imap/src/osdep/nt/env_nt.c        |    3 +-
 redhat/M.spec                         |    2 +-
 res/Msplash.png                       |  Bin 309456 -> 303046 bytes
 src/classes/FolderMonitor.cpp         |    5 +
 src/classes/MessageView.cpp           |   30 +-
 src/classes/Moptions.cpp              |    2 +
 src/classes/NewMailNotifier.cpp       |  291 +++++++
 src/classes/PGPClickInfo.cpp          |    8 +-
 src/classes/PathFinder.cpp            |    8 +-
 src/gui/ClickAtt.cpp                  |   14 +-
 src/gui/ClickURL.cpp                  |    8 +-
 src/gui/wxComposeView.cpp             |    2 +-
 src/gui/wxMApp.cpp                    |   42 +-
 src/gui/wxMFolderDialogs.cpp          |    2 +-
 src/gui/wxMSplash.cpp                 |    3 +-
 src/gui/wxMainFrame.cpp               |   32 +-
 src/gui/wxMessageView.cpp             |    2 +-
 src/gui/wxMsgCmdProc.cpp              |   11 +-
 src/gui/wxOptionsDlg.cpp              |   28 +-
 src/icons/Msplash.xcf                 |  Bin 779204 -> 779816 bytes
 src/mail/Address.cpp                  |   17 +
 src/mail/MailFolderCC.cpp             |    9 +-
 src/mail/MailFolderCmn.cpp            |   88 ++-
 src/mail/MimeDecode.cpp               |   23 +-
 src/mail/SpamFilter.cpp               |   12 +-
 src/modules/Filters.cpp               |   10 +-
 src/modules/HtmlViewer.cpp            |   33 +-
 src/modules/LayoutViewer.cpp          |   18 +-
 src/modules/TextViewer.cpp            |   36 +-
 src/modules/spam/DspamFilter.cpp      |    6 +-
 src/modules/spam/HeadersFilter.cpp    |    6 +-
 src/modules/spam/ServerSideFilter.cpp |   11 +-
 src/wx/vcard/versit.vcxproj           |  294 +++++++
 src/wx/vcard/versit.vcxproj.filters   |   47 +
 77 files changed, 5121 insertions(+), 1208 deletions(-)
 create mode 100644 .gitattributes
 create mode 100644 M.vcxproj
 create mode 100644 M.vcxproj.filters
 create mode 100644 M_vc10.sln
 create mode 100644 Mconfig.vcxproj
 create mode 100644 doc/.gitattributes
 delete mode 100644 doc/README.lyx
 delete mode 100644 doc/README.tex
 create mode 100644 include/NewMailNotifier.h
 create mode 100644 lib/compface/compface.vcxproj
 create mode 100644 lib/compface/compface.vcxproj.filters
 create mode 100644 lib/dspam/dspam.vcxproj
 create mode 100644 lib/dspam/dspam.vcxproj.filters
 create mode 100644 lib/imap/imap.vcxproj
 create mode 100644 lib/imap/imap.vcxproj.filters
 create mode 100644 src/classes/NewMailNotifier.cpp
 create mode 100644 src/wx/vcard/versit.vcxproj
 create mode 100644 src/wx/vcard/versit.vcxproj.filters


hooks/post-receive
-- 
Mahogany sources repository.


--===============4202019679700807843==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. Consolidate legacy IT systems to a single system of record for IT
2. Standardize and globalize service processes across IT
3. Implement zero-touch automation to replace manual, redundant tasks
http://pubads.g.doubleclick.net/gampad/clk?id=51271111&iu=/4140/ostg.clktrk
--===============4202019679700807843==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Mahogany-cvsupdates mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mahogany-cvsupdates

--===============4202019679700807843==--