diff --git a/Build/Changes.txt b/Build/Changes.txt
index cd7976b02..8df3e8c98 100644
--- a/Build/Changes.txt
+++ b/Build/Changes.txt
@@ -31,7 +31,7 @@ UCD - (UCD)ARDET is an Encoding Detector Library
=====================================================
-Current NF Version 5.20.331.(build_#) (2020-03-31)
+Current NF Version 5.20.402.(build_#) (2020-04-02)
=====================================================
-----------------------------------------------------
NEW:
@@ -50,13 +50,16 @@ CHANGES:
-----------------------------------------------------
ENHANCEMENT:
-----------------------------------------------------
--
+-
+- "grepWinNP3": add "Dark mode" settings.
+- "grepWinNP3": asynchronous search & replace version.
- DPI awareness and multi monitor handling.
-----------------------------------------------------
FIXES:
-----------------------------------------------------
-
+- Don't protect backslash (double'\\') for pattern argument.
- "grepWinNP3" ordered map of languages for selection box.
- Translatable error message format (msgbox).
- DPI scaling window on display dependent.
@@ -75,7 +78,7 @@ TRANSLATIONS (MUI):
=====================================================
-Version 5.20.3xx.x (xx March 2020)
+Version 5.20.4xx.x (xx April 2020)
=====================================================
-----------------------------------------------------
diff --git a/Versions/build.txt b/Versions/build.txt
index 00750edc0..b8626c4cf 100644
--- a/Versions/build.txt
+++ b/Versions/build.txt
@@ -1 +1 @@
-3
+4
diff --git a/grepWinNP3/lang/Afrikaans (Suid-Afrika) [af-ZA].lang b/grepWinNP3/lang/Afrikaans (Suid-Afrika) [af-ZA].lang
index 74893fb76..77a22db4e 100644
--- a/grepWinNP3/lang/Afrikaans (Suid-Afrika) [af-ZA].lang
+++ b/grepWinNP3/lang/Afrikaans (Suid-Afrika) [af-ZA].lang
@@ -513,5 +513,9 @@ msgstr "Je kunt mappen uitsluiten, bv. CVS en afbeeldingen.\r\nVoorbeeld: ^(CVS|
#. Resource IDs: (1061)
msgid "Reset"
-msgstr "Reset"
+msgstr ""
+
+#. Resource IDs: (1064)
+msgid "Dark mode"
+msgstr ""
diff --git a/grepWinNP3/lang/Deutsch (Deutschland) [de-DE].lang b/grepWinNP3/lang/Deutsch (Deutschland) [de-DE].lang
index 539420e9f..02dbe07c8 100644
--- a/grepWinNP3/lang/Deutsch (Deutschland) [de-DE].lang
+++ b/grepWinNP3/lang/Deutsch (Deutschland) [de-DE].lang
@@ -515,3 +515,7 @@ msgstr "Sie können Ordner ausschlissen, z.B. CVS und Bilder.\r\nBeispiel: ^(CVS
msgid "Reset"
msgstr "Standard"
+#. Resource IDs: (1064)
+msgid "Dark mode"
+msgstr ""
+
diff --git a/grepWinNP3/lang/English (United Kingdom) [en-GB].lang b/grepWinNP3/lang/English (United Kingdom) [en-GB].lang
index 136e4158f..792c39f1e 100644
--- a/grepWinNP3/lang/English (United Kingdom) [en-GB].lang
+++ b/grepWinNP3/lang/English (United Kingdom) [en-GB].lang
@@ -515,3 +515,7 @@ msgstr ""
msgid "Reset"
msgstr ""
+#. Resource IDs: (1064)
+msgid "Dark mode"
+msgstr ""
+
diff --git a/grepWinNP3/lang/English (United States) [en-US].lang b/grepWinNP3/lang/English (United States) [en-US].lang
index 136e4158f..792c39f1e 100644
--- a/grepWinNP3/lang/English (United States) [en-US].lang
+++ b/grepWinNP3/lang/English (United States) [en-US].lang
@@ -515,3 +515,7 @@ msgstr ""
msgid "Reset"
msgstr ""
+#. Resource IDs: (1064)
+msgid "Dark mode"
+msgstr ""
+
diff --git a/grepWinNP3/lang/Español (España) [es-ES].lang b/grepWinNP3/lang/Español (España) [es-ES].lang
index 25930975b..b60a9471c 100644
--- a/grepWinNP3/lang/Español (España) [es-ES].lang
+++ b/grepWinNP3/lang/Español (España) [es-ES].lang
@@ -513,5 +513,9 @@ msgstr "puede excluir directorios,ej. CVS e imagenes.\r\nEjemplo: ^(CVS|imagenes
#. Resource IDs: (1061)
msgid "Reset"
-msgstr "[es-ES]"
+msgstr ""
+
+#. Resource IDs: (1064)
+msgid "Dark mode"
+msgstr ""
diff --git a/grepWinNP3/lang/Français (France) [fr-FR].lang b/grepWinNP3/lang/Français (France) [fr-FR].lang
index 249ef9894..c5149d2d4 100644
--- a/grepWinNP3/lang/Français (France) [fr-FR].lang
+++ b/grepWinNP3/lang/Français (France) [fr-FR].lang
@@ -513,5 +513,9 @@ msgstr "Il est possible d'exclure des dossiers. Exemple: ^(CVS|images)$ pour exc
#. Resource IDs: (1061)
msgid "Reset"
-msgstr "[fr-FR]"
+msgstr ""
+
+#. Resource IDs: (1064)
+msgid "Dark mode"
+msgstr ""
diff --git a/grepWinNP3/lang/Italiano (Italia) [it-IT].lang b/grepWinNP3/lang/Italiano (Italia) [it-IT].lang
index 597d7482b..d41c6ef07 100644
--- a/grepWinNP3/lang/Italiano (Italia) [it-IT].lang
+++ b/grepWinNP3/lang/Italiano (Italia) [it-IT].lang
@@ -513,5 +513,9 @@ msgstr "puoi escludere le cartelle, ad es. CVS e immagini.\r\nEsempio: ^(CVS|imm
#. Resource IDs: (1061)
msgid "Reset"
-msgstr "[it-IT]"
+msgstr ""
+
+#. Resource IDs: (1064)
+msgid "Dark mode"
+msgstr ""
diff --git a/grepWinNP3/lang/Magyar (Magyarország) [hu-HU].lang b/grepWinNP3/lang/Magyar (Magyarország) [hu-HU].lang
index 8604399ea..792c39f1e 100644
--- a/grepWinNP3/lang/Magyar (Magyarország) [hu-HU].lang
+++ b/grepWinNP3/lang/Magyar (Magyarország) [hu-HU].lang
@@ -513,5 +513,9 @@ msgstr ""
#. Resource IDs: (1061)
msgid "Reset"
-msgstr "[hu-HU]"
+msgstr ""
+
+#. Resource IDs: (1064)
+msgid "Dark mode"
+msgstr ""
diff --git a/grepWinNP3/lang/Nederlands (Nederland) [nl-NL].lang b/grepWinNP3/lang/Nederlands (Nederland) [nl-NL].lang
index 74893fb76..77a22db4e 100644
--- a/grepWinNP3/lang/Nederlands (Nederland) [nl-NL].lang
+++ b/grepWinNP3/lang/Nederlands (Nederland) [nl-NL].lang
@@ -513,5 +513,9 @@ msgstr "Je kunt mappen uitsluiten, bv. CVS en afbeeldingen.\r\nVoorbeeld: ^(CVS|
#. Resource IDs: (1061)
msgid "Reset"
-msgstr "Reset"
+msgstr ""
+
+#. Resource IDs: (1064)
+msgid "Dark mode"
+msgstr ""
diff --git a/grepWinNP3/lang/Polski (Polska)Polski [pl-PL].lang b/grepWinNP3/lang/Polski (Polska)Polski [pl-PL].lang
index 68d6aefca..a41a2247b 100644
--- a/grepWinNP3/lang/Polski (Polska)Polski [pl-PL].lang
+++ b/grepWinNP3/lang/Polski (Polska)Polski [pl-PL].lang
@@ -513,5 +513,9 @@ msgstr "Można wykluczyć katalogi, np. CVS i obrazy.\r\nPrzykład: ^(CVS|obrazy
#. Resource IDs: (1061)
msgid "Reset"
-msgstr "[pl-PL]"
+msgstr ""
+
+#. Resource IDs: (1064)
+msgid "Dark mode"
+msgstr ""
diff --git a/grepWinNP3/lang/Português (Brasil) [pt-BR].lang b/grepWinNP3/lang/Português (Brasil) [pt-BR].lang
index d8d9cade3..321097daa 100644
--- a/grepWinNP3/lang/Português (Brasil) [pt-BR].lang
+++ b/grepWinNP3/lang/Português (Brasil) [pt-BR].lang
@@ -513,5 +513,9 @@ msgstr "Você pode excluir diretórios, ex. CVS e images.\r\nExemplo: ^(CVS|imag
#. Resource IDs: (1061)
msgid "Reset"
-msgstr "[pt-BR]"
+msgstr ""
+
+#. Resource IDs: (1064)
+msgid "Dark mode"
+msgstr ""
diff --git a/grepWinNP3/lang/Slovenčina (Slovensko) [sk-SK].lang b/grepWinNP3/lang/Slovenčina (Slovensko) [sk-SK].lang
index ed7006ad6..792c39f1e 100644
--- a/grepWinNP3/lang/Slovenčina (Slovensko) [sk-SK].lang
+++ b/grepWinNP3/lang/Slovenčina (Slovensko) [sk-SK].lang
@@ -513,5 +513,9 @@ msgstr ""
#. Resource IDs: (1061)
msgid "Reset"
-msgstr "[sk-SK]"
+msgstr ""
+
+#. Resource IDs: (1064)
+msgid "Dark mode"
+msgstr ""
diff --git a/grepWinNP3/lang/Svenska (Sverige) [sv-SE].lang b/grepWinNP3/lang/Svenska (Sverige) [sv-SE].lang
index 0ba320901..792c39f1e 100644
--- a/grepWinNP3/lang/Svenska (Sverige) [sv-SE].lang
+++ b/grepWinNP3/lang/Svenska (Sverige) [sv-SE].lang
@@ -513,5 +513,9 @@ msgstr ""
#. Resource IDs: (1061)
msgid "Reset"
-msgstr "[sv-SE]"
+msgstr ""
+
+#. Resource IDs: (1064)
+msgid "Dark mode"
+msgstr ""
diff --git a/grepWinNP3/lang/Türkçe (Türkiye) [tr-TR].lang b/grepWinNP3/lang/Türkçe (Türkiye) [tr-TR].lang
index c09703788..8ea4e23c6 100644
--- a/grepWinNP3/lang/Türkçe (Türkiye) [tr-TR].lang
+++ b/grepWinNP3/lang/Türkçe (Türkiye) [tr-TR].lang
@@ -513,5 +513,9 @@ msgstr "dizinleri hariç tutabilirsiniz, ör. CVS ve Resimler.\r\nÖrnek: ^(CVS|
#. Resource IDs: (1061)
msgid "Reset"
-msgstr "[tr-TR]"
+msgstr ""
+
+#. Resource IDs: (1064)
+msgid "Dark mode"
+msgstr ""
diff --git a/grepWinNP3/lang/Беларуская (Беларусь) [be-BY].lang b/grepWinNP3/lang/Беларуская (Беларусь) [be-BY].lang
index 8a018272e..89955cd17 100644
--- a/grepWinNP3/lang/Беларуская (Беларусь) [be-BY].lang
+++ b/grepWinNP3/lang/Беларуская (Беларусь) [be-BY].lang
@@ -513,5 +513,9 @@ msgstr "Вы можете исключить, например, CVS и изоб
#. Resource IDs: (1061)
msgid "Reset"
-msgstr "[be-BY]"
+msgstr ""
+
+#. Resource IDs: (1064)
+msgid "Dark mode"
+msgstr ""
diff --git a/grepWinNP3/lang/Русский (Pоссия) [ru-RU].lang b/grepWinNP3/lang/Русский (Pоссия) [ru-RU].lang
index 88e522ea0..89955cd17 100644
--- a/grepWinNP3/lang/Русский (Pоссия) [ru-RU].lang
+++ b/grepWinNP3/lang/Русский (Pоссия) [ru-RU].lang
@@ -513,5 +513,9 @@ msgstr "Вы можете исключить, например, CVS и изоб
#. Resource IDs: (1061)
msgid "Reset"
-msgstr "[ru-RU]"
+msgstr ""
+
+#. Resource IDs: (1064)
+msgid "Dark mode"
+msgstr ""
diff --git a/grepWinNP3/lang/日本語 (日本) [ja-JP].lang b/grepWinNP3/lang/日本語 (日本) [ja-JP].lang
index ca3a88bed..66f8b7ab1 100644
--- a/grepWinNP3/lang/日本語 (日本) [ja-JP].lang
+++ b/grepWinNP3/lang/日本語 (日本) [ja-JP].lang
@@ -513,5 +513,9 @@ msgstr "特定のディレクトリを除外できます。指定例: CVS およ
#. Resource IDs: (1061)
msgid "Reset"
-msgstr "[ja-JP]"
+msgstr ""
+
+#. Resource IDs: (1064)
+msgid "Dark mode"
+msgstr ""
diff --git a/grepWinNP3/lang/简体中文 (中国) [zh-CN].lang b/grepWinNP3/lang/简体中文 (中国) [zh-CN].lang
index 180b42f28..f82b88700 100644
--- a/grepWinNP3/lang/简体中文 (中国) [zh-CN].lang
+++ b/grepWinNP3/lang/简体中文 (中国) [zh-CN].lang
@@ -513,5 +513,9 @@ msgstr "你可以排除目录, 比如: CVS 和 images.\r\n例如: ^(CVS|images)$
#. Resource IDs: (1061)
msgid "Reset"
-msgstr "[zh-CN]"
+msgstr ""
+
+#. Resource IDs: (1064)
+msgid "Dark mode"
+msgstr ""
diff --git a/grepWinNP3/lang/한국어 (대한민국) [ko-KR].lang b/grepWinNP3/lang/한국어 (대한민국) [ko-KR].lang
index 0214d884e..792c39f1e 100644
--- a/grepWinNP3/lang/한국어 (대한민국) [ko-KR].lang
+++ b/grepWinNP3/lang/한국어 (대한민국) [ko-KR].lang
@@ -513,5 +513,9 @@ msgstr ""
#. Resource IDs: (1061)
msgid "Reset"
-msgstr "[ko-KR]"
+msgstr ""
+
+#. Resource IDs: (1064)
+msgid "Dark mode"
+msgstr ""
diff --git a/res/Notepad3.exe.manifest.conf b/res/Notepad3.exe.manifest.conf
index ade03db3c..9e7465ea4 100644
--- a/res/Notepad3.exe.manifest.conf
+++ b/res/Notepad3.exe.manifest.conf
@@ -3,7 +3,7 @@
Notepad3 NF
diff --git a/src/VersionEx.h b/src/VersionEx.h
index e430dd567..c19b1cdf3 100644
--- a/src/VersionEx.h
+++ b/src/VersionEx.h
@@ -9,11 +9,11 @@
#define VERSION_MAJOR 5
#define VERSION_MINOR 20
#define VERSION_REV 402
-#define VERSION_BUILD 3
+#define VERSION_BUILD 4
#define SCINTILLA_VER 432
#define ONIGURUMA_REGEX_VER 6.9.4
#define UCHARDET_VER 2018.09.27
#define TINYEXPR_VER 2018.05.11
#define UTHASH_VER 2.1.0
#define VERSION_PATCH NF
-#define VERSION_COMMIT_ID t7820-rk
+#define VERSION_COMMIT_ID dkt1-amr