Index | Thread | Search

From:
Stuart Henderson <stu@spacehopper.org>
Subject:
WIP textproc/calibre
To:
ports@openbsd.org
Date:
Wed, 10 Jul 2024 16:05:19 +0100

Download raw body.

Thread
now we have py-qt6, here's a start at updating to calibre 7.x, getting
rid of a qtwebkit user.

not fully usable yet, but sending what i have to avoid dup work.

included:
 - textproc/podofo update diff
 - sysutils/krename diff to disable podofo for now (alternatively upstream
   commits could be backported to support the newer version)
 - (scribus builds ok with newer podofo anyway)
 - calibre update diff
 - tar for sysutils/py-xxhash (ok to import? anyone have clues about
   getting tests to work?)

the main calibre program seems to work ok (at least in light use).

some parts (including the viewer) need PyQt6.QtWebEngineCore which
I think is from https://pypi.org/project/PyQt6-WebEngine/ 



Index: textproc/calibre/Makefile
===================================================================
RCS file: /cvs/ports/textproc/calibre/Makefile,v
diff -u -p -r1.107 Makefile
--- textproc/calibre/Makefile	28 May 2024 20:56:34 -0000	1.107
+++ textproc/calibre/Makefile	10 Jul 2024 15:00:17 -0000
@@ -1,8 +1,7 @@
 COMMENT =		ebook management application
 
-V =			5.44.0
+V =			7.13.0
 DISTNAME =		calibre-$V
-REVISION =		4
 
 CATEGORIES =		textproc
 
@@ -12,16 +11,16 @@ HOMEPAGE =		https://calibre-ebook.com/
 PERMIT_PACKAGE =	Yes
 
 WANTLIB += ${COMPILER_LIBCXX} ${MODPY_WANTLIB}
-WANTLIB += GL Qt5Core Qt5DBus Qt5Gui Qt5Widgets crypto fontconfig
-WANTLIB += freetype glib-2.0 gthread-2.0 hunspell-1.7 hyphen icudata
-WANTLIB += icui18n icuio icuuc intl m podofo stemmer z
+WANTLIB += GL Qt6Core Qt6Gui Qt6Widgets crypto freetype
+WANTLIB += hunspell-1.7 hyphen icudata icui18n icuio icuuc
+WANTLIB += m podofo stemmer uchardet xkbcommon
 
 SITES =		https://download.calibre-ebook.com/$V/
 PORTROACH =	site:https://github.com/kovidgoyal/calibre/archive/
 EXTRACT_SUFX =	.tar.xz
 
 MODULES =	lang/python \
-		x11/qt5
+		x11/qt6
 
 COMMON_DEPENDS =	databases/py-apsw${MODPY_FLAVOR}>=3.35.4 \
 			devel/py-dateutil${MODPY_FLAVOR} \
@@ -35,7 +34,7 @@ COMMON_DEPENDS =	databases/py-apsw${MODP
 			net/py-msgpack${MODPY_FLAVOR} \
 			net/py-zeroconf${MODPY_FLAVOR} \
 			print/poppler \
-			print/poppler,-qt5 \
+			print/poppler,-qt6 \
 			textproc/py-css-parser${MODPY_FLAVOR} \
 			textproc/py-cssselect${MODPY_FLAVOR} \
 			textproc/py-cssutils${MODPY_FLAVOR} \
@@ -48,14 +47,14 @@ COMMON_DEPENDS =	databases/py-apsw${MODP
 			www/py-html5-parser${MODPY_FLAVOR} \
 			www/py-mechanize${MODPY_FLAVOR} \
 			www/py-qtwebengine${MODPY_FLAVOR} \
-			x11/py-qt5${MODPY_FLAVOR}
+			x11/py-qt6${MODPY_FLAVOR}
 
-LIB_DEPENDS =		devel/gettext,-runtime \
-			textproc/hunspell \
+LIB_DEPENDS =		textproc/hunspell \
 			textproc/hyphen \
 			textproc/icu4c \
 			textproc/libstemmer \
-			textproc/podofo
+			textproc/podofo \
+			textproc/uchardet
 
 BUILD_DEPENDS =		${COMMON_DEPENDS} \
 			devel/py-qt-builder${MODPY_FLAVOR} \
@@ -75,6 +74,7 @@ SUBST_VARS =		WRKDIR
 LDFLAGS +=		-L${LOCALBASE}/lib
 
 MAKE_ENV +=		CALIBRE_PY3_PORT=1 \
+			CXX="${CXX}" \
 			FT_LIB_DIR="${X11BASE}/lib" \
 			LDFLAGS="${LDFLAGS}" \
 			OVERRIDE_CFLAGS="${CFLAGS}" \
Index: textproc/calibre/distinfo
===================================================================
RCS file: /cvs/ports/textproc/calibre/distinfo,v
diff -u -p -r1.44 distinfo
--- textproc/calibre/distinfo	3 Sep 2022 14:00:45 -0000	1.44
+++ textproc/calibre/distinfo	10 Jul 2024 15:00:17 -0000
@@ -1,2 +1,2 @@
-SHA256 (calibre-5.44.0.tar.xz) = b/qj6v02okNV5ZV/D4ONttttNFbPoXy00Tn9lOuviOw=
-SIZE (calibre-5.44.0.tar.xz) = 41015696
+SHA256 (calibre-7.13.0.tar.xz) = t0nSLsT3X5MoYHhLjbRpqyKbV6NdAqNurSjbcik/n7Q=
+SIZE (calibre-7.13.0.tar.xz) = 44331860
Index: textproc/calibre/patches/patch-setup___init___py
===================================================================
RCS file: /cvs/ports/textproc/calibre/patches/patch-setup___init___py,v
diff -u -p -r1.11 patch-setup___init___py
--- textproc/calibre/patches/patch-setup___init___py	4 Mar 2022 14:08:59 -0000	1.11
+++ textproc/calibre/patches/patch-setup___init___py	10 Jul 2024 15:00:17 -0000
@@ -1,7 +1,7 @@
 Index: setup/__init__.py
 --- setup/__init__.py.orig
 +++ setup/__init__.py
-@@ -24,7 +24,8 @@ ismacos = 'darwin' in sys.platform
+@@ -22,7 +22,8 @@ ismacos = 'darwin' in sys.platform
  isfreebsd = 'freebsd' in sys.platform
  isnetbsd = 'netbsd' in sys.platform
  isdragonflybsd = 'dragonfly' in sys.platform
@@ -10,4 +10,4 @@ Index: setup/__init__.py
 +isbsd = isnetbsd or isfreebsd or isopenbsd or isdragonflybsd
  ishaiku = 'haiku1' in sys.platform
  islinux = not ismacos and not iswindows and not isbsd and not ishaiku
- sys.setup_dir = os.path.dirname(os.path.abspath(__file__))
+ is_ci = os.environ.get('CI', '').lower() == 'true'
Index: textproc/calibre/patches/patch-setup_build_py
===================================================================
RCS file: /cvs/ports/textproc/calibre/patches/patch-setup_build_py,v
diff -u -p -r1.10 patch-setup_build_py
--- textproc/calibre/patches/patch-setup_build_py	4 Mar 2022 14:08:59 -0000	1.10
+++ textproc/calibre/patches/patch-setup_build_py	10 Jul 2024 15:00:17 -0000
@@ -1,23 +1,16 @@
 Index: setup/build.py
 --- setup/build.py.orig
 +++ setup/build.py
-@@ -71,15 +71,7 @@ class Extension:
- 
-         self.ldflags = d['ldflags'] = kwargs.get('ldflags', [])
-         self.optional = d['options'] = kwargs.get('optional', False)
--        of = kwargs.get('optimize_level', None)
--        if of is None:
--            of = '/Ox' if iswindows else '-O3'
--        else:
--            flag = '/O%d' if iswindows else '-O%d'
--            of = flag % of
--        self.cflags.insert(0, of)
- 
--
- def lazy_load(name):
-     if name.startswith('!'):
-         name = name[1:]
-@@ -206,6 +198,8 @@ def init_env(debug=False, sanitize=False):
+@@ -261,7 +261,7 @@ def init_env(debug=False, sanitize=False, compiling_fo
+         cxx = os.environ.get('CXX', 'g++')
+         debug = '-ggdb' if debug else ''
+         cflags = os.environ.get('OVERRIDE_CFLAGS',
+-            f'-Wall -DNDEBUG {debug} -fno-strict-aliasing -pipe -O3')
++            f'-Wall -DNDEBUG {debug} -fno-strict-aliasing -pipe')
+         cflags = shlex.split(cflags) + ['-fPIC']
+         ldflags = os.environ.get('OVERRIDE_LDFLAGS', '-Wall')
+         ldflags = shlex.split(ldflags)
+@@ -285,6 +285,8 @@ def init_env(debug=False, sanitize=False, compiling_fo
      if isbsd:
          cflags.append('-pthread')
          ldflags.append('-shared')
Index: textproc/calibre/patches/patch-setup_install_py
===================================================================
RCS file: /cvs/ports/textproc/calibre/patches/patch-setup_install_py,v
diff -u -p -r1.9 patch-setup_install_py
--- textproc/calibre/patches/patch-setup_install_py	4 Mar 2022 14:08:59 -0000	1.9
+++ textproc/calibre/patches/patch-setup_install_py	10 Jul 2024 15:00:17 -0000
@@ -1,7 +1,7 @@
 Index: setup/install.py
 --- setup/install.py.orig
 +++ setup/install.py
-@@ -272,7 +272,7 @@ class Install(Develop):
+@@ -269,7 +269,7 @@ class Install(Develop):
              reldir = os.path.relpath(x[0], self.SRC)
              destdir = os.path.join(dest, reldir)
              for f in x[-1]:
Index: textproc/calibre/patches/patch-src_calibre_constants_py
===================================================================
RCS file: /cvs/ports/textproc/calibre/patches/patch-src_calibre_constants_py,v
diff -u -p -r1.14 patch-src_calibre_constants_py
--- textproc/calibre/patches/patch-src_calibre_constants_py	3 Sep 2022 14:00:45 -0000	1.14
+++ textproc/calibre/patches/patch-src_calibre_constants_py	10 Jul 2024 15:00:17 -0000
@@ -6,7 +6,7 @@ supports OSX, Windows, and Linux SYSFS.
 Index: src/calibre/constants.py
 --- src/calibre/constants.py.orig
 +++ src/calibre/constants.py
-@@ -22,7 +22,8 @@ isnewosx  = ismacos and getattr(sys, 'new_app_bundle',
+@@ -28,7 +28,8 @@ isnewosx  = ismacos and getattr(sys, 'new_app_bundle',
  isfreebsd = 'freebsd' in _plat
  isnetbsd = 'netbsd' in _plat
  isdragonflybsd = 'dragonfly' in _plat
@@ -14,10 +14,10 @@ Index: src/calibre/constants.py
 +isopenbsd = 'openbsd' in _plat
 +isbsd = isfreebsd or isnetbsd or isdragonflybsd or isopenbsd
  ishaiku = 'haiku1' in _plat
- islinux   = not(iswindows or ismacos or isbsd or ishaiku)
+ islinux   = not (iswindows or ismacos or isbsd or ishaiku)
  isfrozen  = hasattr(sys, 'frozen')
-@@ -260,7 +261,7 @@ class ExtensionsImporter:
-             extra = ('winutil', 'wpd', 'winfonts', 'winsapi')
+@@ -278,7 +279,7 @@ class ExtensionsImporter:
+             extra = ('winutil', 'wpd', 'winfonts', 'winsapi', 'winspeech')
          elif ismacos:
              extra = ('usbobserver', 'cocoa', 'libusb', 'libmtp')
 -        elif isfreebsd or ishaiku or islinux:
Index: textproc/calibre/patches/patch-src_calibre_gui2___init___py
===================================================================
RCS file: /cvs/ports/textproc/calibre/patches/patch-src_calibre_gui2___init___py,v
diff -u -p -r1.17 patch-src_calibre_gui2___init___py
--- textproc/calibre/patches/patch-src_calibre_gui2___init___py	4 Jun 2022 11:01:52 -0000	1.17
+++ textproc/calibre/patches/patch-src_calibre_gui2___init___py	10 Jul 2024 15:00:17 -0000
@@ -3,7 +3,7 @@
 Index: src/calibre/gui2/__init__.py
 --- src/calibre/gui2/__init__.py.orig
 +++ src/calibre/gui2/__init__.py
-@@ -875,7 +875,7 @@ def load_builtin_fonts():
+@@ -1115,7 +1115,7 @@ def load_builtin_fonts():
  
  
  def setup_gui_option_parser(parser):
Index: textproc/calibre/patches/patch-src_calibre_gui2_update_py
===================================================================
RCS file: /cvs/ports/textproc/calibre/patches/patch-src_calibre_gui2_update_py,v
diff -u -p -r1.6 patch-src_calibre_gui2_update_py
--- textproc/calibre/patches/patch-src_calibre_gui2_update_py	3 Sep 2022 14:00:45 -0000	1.6
+++ textproc/calibre/patches/patch-src_calibre_gui2_update_py	10 Jul 2024 15:00:17 -0000
@@ -3,13 +3,13 @@
 Index: src/calibre/gui2/update.py
 --- src/calibre/gui2/update.py.orig
 +++ src/calibre/gui2/update.py
-@@ -32,6 +32,9 @@ def get_download_url():
+@@ -29,6 +29,9 @@ def get_download_url():
  
  
  def get_newest_version():
 +    return NO_CALIBRE_UPDATE
 +
 +def DISABLED_get_newest_version():
-     try:
-         icon_theme_name = json.loads(I('icon-theme.json', data=True))['name']
-     except Exception:
+     icon_theme_name = icon_resource_manager.user_theme_name
+     if icon_theme_name == 'default':
+         icon_theme_name = ''
Index: textproc/calibre/patches/patch-src_calibre_linux_py
===================================================================
RCS file: /cvs/ports/textproc/calibre/patches/patch-src_calibre_linux_py,v
diff -u -p -r1.12 patch-src_calibre_linux_py
--- textproc/calibre/patches/patch-src_calibre_linux_py	4 Mar 2022 14:08:59 -0000	1.12
+++ textproc/calibre/patches/patch-src_calibre_linux_py	10 Jul 2024 15:00:17 -0000
@@ -1,7 +1,7 @@
 Index: src/calibre/linux.py
 --- src/calibre/linux.py.orig
 +++ src/calibre/linux.py
-@@ -776,19 +776,6 @@ class PostInstall:
+@@ -783,19 +783,6 @@ class PostInstall:
              self.setup_completion()
          if islinux or isbsd:
              self.setup_desktop_integration()
Index: textproc/calibre/pkg/PLIST
===================================================================
RCS file: /cvs/ports/textproc/calibre/pkg/PLIST,v
diff -u -p -r1.51 PLIST
--- textproc/calibre/pkg/PLIST	28 May 2024 20:56:34 -0000	1.51
+++ textproc/calibre/pkg/PLIST	10 Jul 2024 15:00:17 -0000
@@ -87,12 +87,12 @@ lib/calibre/calibre/db/${MODPY_PYCACHE}c
 lib/calibre/calibre/db/${MODPY_PYCACHE}cache.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/db/${MODPY_PYCACHE}categories.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/db/${MODPY_PYCACHE}categories.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/db/${MODPY_PYCACHE}constants.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/db/${MODPY_PYCACHE}constants.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/db/${MODPY_PYCACHE}copy_to_library.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/db/${MODPY_PYCACHE}copy_to_library.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/db/${MODPY_PYCACHE}covers.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/db/${MODPY_PYCACHE}covers.${MODPY_PYC_MAGIC_TAG}pyc
-lib/calibre/calibre/db/${MODPY_PYCACHE}delete_service.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
-lib/calibre/calibre/db/${MODPY_PYCACHE}delete_service.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/db/${MODPY_PYCACHE}errors.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/db/${MODPY_PYCACHE}errors.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/db/${MODPY_PYCACHE}fields.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
@@ -150,6 +150,10 @@ lib/calibre/calibre/db/cli/${MODPY_PYCAC
 lib/calibre/calibre/db/cli/${MODPY_PYCACHE}cmd_embed_metadata.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/db/cli/${MODPY_PYCACHE}cmd_export.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/db/cli/${MODPY_PYCACHE}cmd_export.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/db/cli/${MODPY_PYCACHE}cmd_fts_index.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/db/cli/${MODPY_PYCACHE}cmd_fts_index.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/db/cli/${MODPY_PYCACHE}cmd_fts_search.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/db/cli/${MODPY_PYCACHE}cmd_fts_search.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/db/cli/${MODPY_PYCACHE}cmd_list.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/db/cli/${MODPY_PYCACHE}cmd_list.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/db/cli/${MODPY_PYCACHE}cmd_list_categories.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
@@ -188,6 +192,8 @@ lib/calibre/calibre/db/cli/cmd_clone.py
 lib/calibre/calibre/db/cli/cmd_custom_columns.py
 lib/calibre/calibre/db/cli/cmd_embed_metadata.py
 lib/calibre/calibre/db/cli/cmd_export.py
+lib/calibre/calibre/db/cli/cmd_fts_index.py
+lib/calibre/calibre/db/cli/cmd_fts_search.py
 lib/calibre/calibre/db/cli/cmd_list.py
 lib/calibre/calibre/db/cli/cmd_list_categories.py
 lib/calibre/calibre/db/cli/cmd_remove.py
@@ -202,15 +208,46 @@ lib/calibre/calibre/db/cli/cmd_show_meta
 lib/calibre/calibre/db/cli/main.py
 lib/calibre/calibre/db/cli/tests.py
 lib/calibre/calibre/db/cli/utils.py
+lib/calibre/calibre/db/constants.py
 lib/calibre/calibre/db/copy_to_library.py
 lib/calibre/calibre/db/covers.py
-lib/calibre/calibre/db/delete_service.py
 lib/calibre/calibre/db/errors.py
 lib/calibre/calibre/db/fields.py
+lib/calibre/calibre/db/fts/
+lib/calibre/calibre/db/fts/__init__.py
+${MODPY_COMMENT}lib/calibre/calibre/db/fts/${MODPY_PYCACHE}/
+lib/calibre/calibre/db/fts/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/db/fts/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/db/fts/${MODPY_PYCACHE}connect.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/db/fts/${MODPY_PYCACHE}connect.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/db/fts/${MODPY_PYCACHE}pool.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/db/fts/${MODPY_PYCACHE}pool.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/db/fts/${MODPY_PYCACHE}schema_upgrade.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/db/fts/${MODPY_PYCACHE}schema_upgrade.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/db/fts/${MODPY_PYCACHE}text.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/db/fts/${MODPY_PYCACHE}text.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/db/fts/connect.py
+lib/calibre/calibre/db/fts/pool.py
+lib/calibre/calibre/db/fts/schema_upgrade.py
+lib/calibre/calibre/db/fts/text.py
 lib/calibre/calibre/db/lazy.py
 lib/calibre/calibre/db/legacy.py
 lib/calibre/calibre/db/listeners.py
 lib/calibre/calibre/db/locking.py
+lib/calibre/calibre/db/notes/
+lib/calibre/calibre/db/notes/__init__.py
+${MODPY_COMMENT}lib/calibre/calibre/db/notes/${MODPY_PYCACHE}/
+lib/calibre/calibre/db/notes/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/db/notes/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/db/notes/${MODPY_PYCACHE}connect.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/db/notes/${MODPY_PYCACHE}connect.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/db/notes/${MODPY_PYCACHE}exim.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/db/notes/${MODPY_PYCACHE}exim.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/db/notes/${MODPY_PYCACHE}schema_upgrade.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/db/notes/${MODPY_PYCACHE}schema_upgrade.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/db/notes/connect.py
+lib/calibre/calibre/db/notes/exim.py
+lib/calibre/calibre/db/notes/schema_upgrade.py
 lib/calibre/calibre/db/restore.py
 lib/calibre/calibre/db/schema_upgrades.py
 lib/calibre/calibre/db/search.py
@@ -228,12 +265,16 @@ lib/calibre/calibre/db/tests/${MODPY_PYC
 lib/calibre/calibre/db/tests/${MODPY_PYCACHE}filesystem.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/db/tests/${MODPY_PYCACHE}fts.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/db/tests/${MODPY_PYCACHE}fts.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/db/tests/${MODPY_PYCACHE}fts_api.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/db/tests/${MODPY_PYCACHE}fts_api.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/db/tests/${MODPY_PYCACHE}legacy.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/db/tests/${MODPY_PYCACHE}legacy.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/db/tests/${MODPY_PYCACHE}locking.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/db/tests/${MODPY_PYCACHE}locking.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/db/tests/${MODPY_PYCACHE}main.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/db/tests/${MODPY_PYCACHE}main.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/db/tests/${MODPY_PYCACHE}notes.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/db/tests/${MODPY_PYCACHE}notes.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/db/tests/${MODPY_PYCACHE}profiling.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/db/tests/${MODPY_PYCACHE}profiling.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/db/tests/${MODPY_PYCACHE}reading.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
@@ -246,9 +287,11 @@ lib/calibre/calibre/db/tests/add_remove.
 lib/calibre/calibre/db/tests/base.py
 lib/calibre/calibre/db/tests/filesystem.py
 lib/calibre/calibre/db/tests/fts.py
+lib/calibre/calibre/db/tests/fts_api.py
 lib/calibre/calibre/db/tests/legacy.py
 lib/calibre/calibre/db/tests/locking.py
 lib/calibre/calibre/db/tests/main.py
+lib/calibre/calibre/db/tests/notes.py
 lib/calibre/calibre/db/tests/profiling.py
 lib/calibre/calibre/db/tests/reading.py
 lib/calibre/calibre/db/tests/utils.py
@@ -421,6 +464,40 @@ lib/calibre/calibre/devices/kindle/${MOD
 lib/calibre/calibre/devices/kindle/${MODPY_PYCACHE}driver.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/devices/kindle/${MODPY_PYCACHE}driver.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/devices/kindle/apnx.py
+lib/calibre/calibre/devices/kindle/apnx_page_generator/
+lib/calibre/calibre/devices/kindle/apnx_page_generator/__init__.py
+${MODPY_COMMENT}lib/calibre/calibre/devices/kindle/apnx_page_generator/${MODPY_PYCACHE}/
+lib/calibre/calibre/devices/kindle/apnx_page_generator/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/devices/kindle/apnx_page_generator/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/devices/kindle/apnx_page_generator/${MODPY_PYCACHE}i_page_generator.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/devices/kindle/apnx_page_generator/${MODPY_PYCACHE}i_page_generator.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/devices/kindle/apnx_page_generator/${MODPY_PYCACHE}page_group.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/devices/kindle/apnx_page_generator/${MODPY_PYCACHE}page_group.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/devices/kindle/apnx_page_generator/${MODPY_PYCACHE}page_number_type.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/devices/kindle/apnx_page_generator/${MODPY_PYCACHE}page_number_type.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/devices/kindle/apnx_page_generator/${MODPY_PYCACHE}pages.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/devices/kindle/apnx_page_generator/${MODPY_PYCACHE}pages.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/devices/kindle/apnx_page_generator/generators/
+lib/calibre/calibre/devices/kindle/apnx_page_generator/generators/__init__.py
+${MODPY_COMMENT}lib/calibre/calibre/devices/kindle/apnx_page_generator/generators/${MODPY_PYCACHE}/
+lib/calibre/calibre/devices/kindle/apnx_page_generator/generators/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/devices/kindle/apnx_page_generator/generators/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/devices/kindle/apnx_page_generator/generators/${MODPY_PYCACHE}accurate_page_generator.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/devices/kindle/apnx_page_generator/generators/${MODPY_PYCACHE}accurate_page_generator.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/devices/kindle/apnx_page_generator/generators/${MODPY_PYCACHE}exact_page_generator.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/devices/kindle/apnx_page_generator/generators/${MODPY_PYCACHE}exact_page_generator.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/devices/kindle/apnx_page_generator/generators/${MODPY_PYCACHE}fast_page_generator.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/devices/kindle/apnx_page_generator/generators/${MODPY_PYCACHE}fast_page_generator.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/devices/kindle/apnx_page_generator/generators/${MODPY_PYCACHE}pagebreak_page_generator.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/devices/kindle/apnx_page_generator/generators/${MODPY_PYCACHE}pagebreak_page_generator.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/devices/kindle/apnx_page_generator/generators/accurate_page_generator.py
+lib/calibre/calibre/devices/kindle/apnx_page_generator/generators/exact_page_generator.py
+lib/calibre/calibre/devices/kindle/apnx_page_generator/generators/fast_page_generator.py
+lib/calibre/calibre/devices/kindle/apnx_page_generator/generators/pagebreak_page_generator.py
+lib/calibre/calibre/devices/kindle/apnx_page_generator/i_page_generator.py
+lib/calibre/calibre/devices/kindle/apnx_page_generator/page_group.py
+lib/calibre/calibre/devices/kindle/apnx_page_generator/page_number_type.py
+lib/calibre/calibre/devices/kindle/apnx_page_generator/pages.py
 lib/calibre/calibre/devices/kindle/bookmark.py
 lib/calibre/calibre/devices/kindle/driver.py
 lib/calibre/calibre/devices/kobo/
@@ -1578,6 +1655,8 @@ lib/calibre/calibre/ebooks/oeb/transform
 ${MODPY_COMMENT}lib/calibre/calibre/ebooks/oeb/transforms/${MODPY_PYCACHE}/
 lib/calibre/calibre/ebooks/oeb/transforms/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/ebooks/oeb/transforms/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/ebooks/oeb/transforms/${MODPY_PYCACHE}alt_text.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/ebooks/oeb/transforms/${MODPY_PYCACHE}alt_text.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/ebooks/oeb/transforms/${MODPY_PYCACHE}cover.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/ebooks/oeb/transforms/${MODPY_PYCACHE}cover.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/ebooks/oeb/transforms/${MODPY_PYCACHE}data_url.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
@@ -1616,6 +1695,7 @@ lib/calibre/calibre/ebooks/oeb/transform
 lib/calibre/calibre/ebooks/oeb/transforms/${MODPY_PYCACHE}trimmanifest.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/ebooks/oeb/transforms/${MODPY_PYCACHE}unsmarten.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/ebooks/oeb/transforms/${MODPY_PYCACHE}unsmarten.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/ebooks/oeb/transforms/alt_text.py
 lib/calibre/calibre/ebooks/oeb/transforms/cover.py
 lib/calibre/calibre/ebooks/oeb/transforms/data_url.py
 lib/calibre/calibre/ebooks/oeb/transforms/embed_fonts.py
@@ -1727,8 +1807,6 @@ lib/calibre/calibre/ebooks/pdf/${MODPY_P
 lib/calibre/calibre/ebooks/pdf/${MODPY_PYCACHE}html_writer.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/ebooks/pdf/${MODPY_PYCACHE}image_writer.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/ebooks/pdf/${MODPY_PYCACHE}image_writer.${MODPY_PYC_MAGIC_TAG}pyc
-lib/calibre/calibre/ebooks/pdf/${MODPY_PYCACHE}pageoptions.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
-lib/calibre/calibre/ebooks/pdf/${MODPY_PYCACHE}pageoptions.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/ebooks/pdf/${MODPY_PYCACHE}pdftohtml.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/ebooks/pdf/${MODPY_PYCACHE}pdftohtml.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/ebooks/pdf/${MODPY_PYCACHE}reflow.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
@@ -1736,7 +1814,6 @@ lib/calibre/calibre/ebooks/pdf/${MODPY_P
 lib/calibre/calibre/ebooks/pdf/develop.py
 lib/calibre/calibre/ebooks/pdf/html_writer.py
 lib/calibre/calibre/ebooks/pdf/image_writer.py
-lib/calibre/calibre/ebooks/pdf/pageoptions.py
 lib/calibre/calibre/ebooks/pdf/pdftohtml.py
 lib/calibre/calibre/ebooks/pdf/reflow.py
 lib/calibre/calibre/ebooks/pdf/render/
@@ -2085,6 +2162,8 @@ lib/calibre/calibre/gui2/${MODPY_PYCACHE
 lib/calibre/calibre/gui2/${MODPY_PYCACHE}bars.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/${MODPY_PYCACHE}book_details.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/gui2/${MODPY_PYCACHE}book_details.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/gui2/${MODPY_PYCACHE}central.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/gui2/${MODPY_PYCACHE}central.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/${MODPY_PYCACHE}changes.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/gui2/${MODPY_PYCACHE}changes.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/${MODPY_PYCACHE}comments_editor.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
@@ -2107,12 +2186,16 @@ lib/calibre/calibre/gui2/${MODPY_PYCACHE
 lib/calibre/calibre/gui2/${MODPY_PYCACHE}ebook_download.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/${MODPY_PYCACHE}email.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/gui2/${MODPY_PYCACHE}email.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/gui2/${MODPY_PYCACHE}extra_files_watcher.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/gui2/${MODPY_PYCACHE}extra_files_watcher.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/${MODPY_PYCACHE}filename_pattern_ui.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/gui2/${MODPY_PYCACHE}filename_pattern_ui.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/${MODPY_PYCACHE}flow_toolbar.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/gui2/${MODPY_PYCACHE}flow_toolbar.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/${MODPY_PYCACHE}font_family_chooser.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/gui2/${MODPY_PYCACHE}font_family_chooser.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/gui2/${MODPY_PYCACHE}geometry.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/gui2/${MODPY_PYCACHE}geometry.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/${MODPY_PYCACHE}gestures.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/gui2/${MODPY_PYCACHE}gestures.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/${MODPY_PYCACHE}html_transform_rules.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
@@ -2143,6 +2226,10 @@ lib/calibre/calibre/gui2/${MODPY_PYCACHE
 lib/calibre/calibre/gui2/${MODPY_PYCACHE}main.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/${MODPY_PYCACHE}main_window.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/gui2/${MODPY_PYCACHE}main_window.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/gui2/${MODPY_PYCACHE}markdown_editor.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/gui2/${MODPY_PYCACHE}markdown_editor.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/gui2/${MODPY_PYCACHE}markdown_syntax_highlighter.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/gui2/${MODPY_PYCACHE}markdown_syntax_highlighter.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/${MODPY_PYCACHE}notify.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/gui2/${MODPY_PYCACHE}notify.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/${MODPY_PYCACHE}open_with.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
@@ -2153,6 +2240,10 @@ lib/calibre/calibre/gui2/${MODPY_PYCACHE
 lib/calibre/calibre/gui2/${MODPY_PYCACHE}pin_columns.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/${MODPY_PYCACHE}proceed.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/gui2/${MODPY_PYCACHE}proceed.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/gui2/${MODPY_PYCACHE}publisher_mapper.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/gui2/${MODPY_PYCACHE}publisher_mapper.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/gui2/${MODPY_PYCACHE}pyqt6_compat.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/gui2/${MODPY_PYCACHE}pyqt6_compat.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/${MODPY_PYCACHE}qt_file_dialogs.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/gui2/${MODPY_PYCACHE}qt_file_dialogs.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/${MODPY_PYCACHE}save.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
@@ -2161,8 +2252,6 @@ lib/calibre/calibre/gui2/${MODPY_PYCACHE
 lib/calibre/calibre/gui2/${MODPY_PYCACHE}search_box.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/${MODPY_PYCACHE}search_restriction_mixin.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/gui2/${MODPY_PYCACHE}search_restriction_mixin.${MODPY_PYC_MAGIC_TAG}pyc
-lib/calibre/calibre/gui2/${MODPY_PYCACHE}shortcuts.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
-lib/calibre/calibre/gui2/${MODPY_PYCACHE}shortcuts.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/${MODPY_PYCACHE}splash_screen.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/gui2/${MODPY_PYCACHE}splash_screen.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/${MODPY_PYCACHE}tag_mapper.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
@@ -2173,6 +2262,8 @@ lib/calibre/calibre/gui2/${MODPY_PYCACHE
 lib/calibre/calibre/gui2/${MODPY_PYCACHE}throbber.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/${MODPY_PYCACHE}tools.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/gui2/${MODPY_PYCACHE}tools.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/gui2/${MODPY_PYCACHE}trash.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/gui2/${MODPY_PYCACHE}trash.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/${MODPY_PYCACHE}ui.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/gui2/${MODPY_PYCACHE}ui.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/${MODPY_PYCACHE}update.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
@@ -2194,14 +2285,20 @@ lib/calibre/calibre/gui2/actions/${MODPY
 lib/calibre/calibre/gui2/actions/${MODPY_PYCACHE}add.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/actions/${MODPY_PYCACHE}add_to_library.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/gui2/actions/${MODPY_PYCACHE}add_to_library.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/gui2/actions/${MODPY_PYCACHE}all_actions.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/gui2/actions/${MODPY_PYCACHE}all_actions.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/actions/${MODPY_PYCACHE}annotate.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/gui2/actions/${MODPY_PYCACHE}annotate.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/actions/${MODPY_PYCACHE}author_mapper.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/gui2/actions/${MODPY_PYCACHE}author_mapper.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/actions/${MODPY_PYCACHE}auto_scroll.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/gui2/actions/${MODPY_PYCACHE}auto_scroll.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/gui2/actions/${MODPY_PYCACHE}booklist_context_menu.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/gui2/actions/${MODPY_PYCACHE}booklist_context_menu.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/actions/${MODPY_PYCACHE}browse_annots.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/gui2/actions/${MODPY_PYCACHE}browse_annots.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/gui2/actions/${MODPY_PYCACHE}browse_notes.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/gui2/actions/${MODPY_PYCACHE}browse_notes.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/actions/${MODPY_PYCACHE}catalog.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/gui2/actions/${MODPY_PYCACHE}catalog.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/actions/${MODPY_PYCACHE}choose_library.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
@@ -2222,8 +2319,14 @@ lib/calibre/calibre/gui2/actions/${MODPY
 lib/calibre/calibre/gui2/actions/${MODPY_PYCACHE}embed.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/actions/${MODPY_PYCACHE}fetch_news.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/gui2/actions/${MODPY_PYCACHE}fetch_news.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/gui2/actions/${MODPY_PYCACHE}fts.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/gui2/actions/${MODPY_PYCACHE}fts.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/actions/${MODPY_PYCACHE}help.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/gui2/actions/${MODPY_PYCACHE}help.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/gui2/actions/${MODPY_PYCACHE}layout_actions.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/gui2/actions/${MODPY_PYCACHE}layout_actions.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/gui2/actions/${MODPY_PYCACHE}manage_categories.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/gui2/actions/${MODPY_PYCACHE}manage_categories.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/actions/${MODPY_PYCACHE}mark_books.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/gui2/actions/${MODPY_PYCACHE}mark_books.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/actions/${MODPY_PYCACHE}match_books.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
@@ -2244,6 +2347,8 @@ lib/calibre/calibre/gui2/actions/${MODPY
 lib/calibre/calibre/gui2/actions/${MODPY_PYCACHE}restart.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/actions/${MODPY_PYCACHE}save_to_disk.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/gui2/actions/${MODPY_PYCACHE}save_to_disk.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/gui2/actions/${MODPY_PYCACHE}saved_searches.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/gui2/actions/${MODPY_PYCACHE}saved_searches.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/actions/${MODPY_PYCACHE}show_book_details.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/gui2/actions/${MODPY_PYCACHE}show_book_details.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/actions/${MODPY_PYCACHE}show_quickview.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
@@ -2272,10 +2377,13 @@ lib/calibre/calibre/gui2/actions/${MODPY
 lib/calibre/calibre/gui2/actions/${MODPY_PYCACHE}virtual_library.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/actions/add.py
 lib/calibre/calibre/gui2/actions/add_to_library.py
+lib/calibre/calibre/gui2/actions/all_actions.py
 lib/calibre/calibre/gui2/actions/annotate.py
 lib/calibre/calibre/gui2/actions/author_mapper.py
 lib/calibre/calibre/gui2/actions/auto_scroll.py
+lib/calibre/calibre/gui2/actions/booklist_context_menu.py
 lib/calibre/calibre/gui2/actions/browse_annots.py
+lib/calibre/calibre/gui2/actions/browse_notes.py
 lib/calibre/calibre/gui2/actions/catalog.py
 lib/calibre/calibre/gui2/actions/choose_library.py
 lib/calibre/calibre/gui2/actions/convert.py
@@ -2286,7 +2394,10 @@ lib/calibre/calibre/gui2/actions/edit_co
 lib/calibre/calibre/gui2/actions/edit_metadata.py
 lib/calibre/calibre/gui2/actions/embed.py
 lib/calibre/calibre/gui2/actions/fetch_news.py
+lib/calibre/calibre/gui2/actions/fts.py
 lib/calibre/calibre/gui2/actions/help.py
+lib/calibre/calibre/gui2/actions/layout_actions.py
+lib/calibre/calibre/gui2/actions/manage_categories.py
 lib/calibre/calibre/gui2/actions/mark_books.py
 lib/calibre/calibre/gui2/actions/match_books.py
 lib/calibre/calibre/gui2/actions/next_match.py
@@ -2297,6 +2408,7 @@ lib/calibre/calibre/gui2/actions/prefere
 lib/calibre/calibre/gui2/actions/random.py
 lib/calibre/calibre/gui2/actions/restart.py
 lib/calibre/calibre/gui2/actions/save_to_disk.py
+lib/calibre/calibre/gui2/actions/saved_searches.py
 lib/calibre/calibre/gui2/actions/show_book_details.py
 lib/calibre/calibre/gui2/actions/show_quickview.py
 lib/calibre/calibre/gui2/actions/show_stored_templates.py
@@ -2339,6 +2451,7 @@ lib/calibre/calibre/gui2/catalog/catalog
 lib/calibre/calibre/gui2/catalog/catalog_epub_mobi.py
 lib/calibre/calibre/gui2/catalog/catalog_epub_mobi_ui.py
 lib/calibre/calibre/gui2/catalog/catalog_tab_template_ui.py
+lib/calibre/calibre/gui2/central.py
 lib/calibre/calibre/gui2/changes.py
 lib/calibre/calibre/gui2/comments_editor.py
 lib/calibre/calibre/gui2/complete2.py
@@ -2598,8 +2711,6 @@ lib/calibre/calibre/gui2/dialogs/${MODPY
 lib/calibre/calibre/gui2/dialogs/${MODPY_PYCACHE}confirm_delete.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/dialogs/${MODPY_PYCACHE}confirm_delete_location.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/gui2/dialogs/${MODPY_PYCACHE}confirm_delete_location.${MODPY_PYC_MAGIC_TAG}pyc
-lib/calibre/calibre/gui2/dialogs/${MODPY_PYCACHE}confirm_delete_location_ui.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
-lib/calibre/calibre/gui2/dialogs/${MODPY_PYCACHE}confirm_delete_location_ui.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/dialogs/${MODPY_PYCACHE}confirm_merge.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/gui2/dialogs/${MODPY_PYCACHE}confirm_merge.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/dialogs/${MODPY_PYCACHE}conversion_error.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
@@ -2608,6 +2719,8 @@ lib/calibre/calibre/gui2/dialogs/${MODPY
 lib/calibre/calibre/gui2/dialogs/${MODPY_PYCACHE}conversion_error_ui.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/dialogs/${MODPY_PYCACHE}custom_recipes.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/gui2/dialogs/${MODPY_PYCACHE}custom_recipes.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/gui2/dialogs/${MODPY_PYCACHE}data_files_manager.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/gui2/dialogs/${MODPY_PYCACHE}data_files_manager.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/dialogs/${MODPY_PYCACHE}delete_matching_from_device.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/gui2/dialogs/${MODPY_PYCACHE}delete_matching_from_device.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/dialogs/${MODPY_PYCACHE}delete_matching_from_device_ui.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
@@ -2626,6 +2739,8 @@ lib/calibre/calibre/gui2/dialogs/${MODPY
 lib/calibre/calibre/gui2/dialogs/${MODPY_PYCACHE}edit_authors_dialog.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/dialogs/${MODPY_PYCACHE}edit_authors_dialog_ui.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/gui2/dialogs/${MODPY_PYCACHE}edit_authors_dialog_ui.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/gui2/dialogs/${MODPY_PYCACHE}edit_category_notes.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/gui2/dialogs/${MODPY_PYCACHE}edit_category_notes.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/dialogs/${MODPY_PYCACHE}enum_values_edit.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/gui2/dialogs/${MODPY_PYCACHE}enum_values_edit.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/dialogs/${MODPY_PYCACHE}exim.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
@@ -2646,6 +2761,8 @@ lib/calibre/calibre/gui2/dialogs/${MODPY
 lib/calibre/calibre/gui2/dialogs/${MODPY_PYCACHE}multisort.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/dialogs/${MODPY_PYCACHE}opml.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/gui2/dialogs/${MODPY_PYCACHE}opml.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/gui2/dialogs/${MODPY_PYCACHE}palette.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/gui2/dialogs/${MODPY_PYCACHE}palette.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/dialogs/${MODPY_PYCACHE}password.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/gui2/dialogs/${MODPY_PYCACHE}password.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/dialogs/${MODPY_PYCACHE}password_ui.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
@@ -2668,6 +2785,8 @@ lib/calibre/calibre/gui2/dialogs/${MODPY
 lib/calibre/calibre/gui2/dialogs/${MODPY_PYCACHE}search.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/dialogs/${MODPY_PYCACHE}select_formats.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/gui2/dialogs/${MODPY_PYCACHE}select_formats.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/gui2/dialogs/${MODPY_PYCACHE}show_category_note.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/gui2/dialogs/${MODPY_PYCACHE}show_category_note.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/dialogs/${MODPY_PYCACHE}smartdevice.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/gui2/dialogs/${MODPY_PYCACHE}smartdevice.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/dialogs/${MODPY_PYCACHE}smartdevice_ui.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
@@ -2714,11 +2833,11 @@ lib/calibre/calibre/gui2/dialogs/choose_
 lib/calibre/calibre/gui2/dialogs/comments_dialog.py
 lib/calibre/calibre/gui2/dialogs/confirm_delete.py
 lib/calibre/calibre/gui2/dialogs/confirm_delete_location.py
-lib/calibre/calibre/gui2/dialogs/confirm_delete_location_ui.py
 lib/calibre/calibre/gui2/dialogs/confirm_merge.py
 lib/calibre/calibre/gui2/dialogs/conversion_error.py
 lib/calibre/calibre/gui2/dialogs/conversion_error_ui.py
 lib/calibre/calibre/gui2/dialogs/custom_recipes.py
+lib/calibre/calibre/gui2/dialogs/data_files_manager.py
 lib/calibre/calibre/gui2/dialogs/delete_matching_from_device.py
 lib/calibre/calibre/gui2/dialogs/delete_matching_from_device_ui.py
 lib/calibre/calibre/gui2/dialogs/device_category_editor.py
@@ -2728,6 +2847,7 @@ lib/calibre/calibre/gui2/dialogs/drm_err
 lib/calibre/calibre/gui2/dialogs/duplicates.py
 lib/calibre/calibre/gui2/dialogs/edit_authors_dialog.py
 lib/calibre/calibre/gui2/dialogs/edit_authors_dialog_ui.py
+lib/calibre/calibre/gui2/dialogs/edit_category_notes.py
 lib/calibre/calibre/gui2/dialogs/enum_values_edit.py
 lib/calibre/calibre/gui2/dialogs/exim.py
 lib/calibre/calibre/gui2/dialogs/jobs_ui.py
@@ -2738,6 +2858,7 @@ lib/calibre/calibre/gui2/dialogs/metadat
 lib/calibre/calibre/gui2/dialogs/metadata_bulk_ui.py
 lib/calibre/calibre/gui2/dialogs/multisort.py
 lib/calibre/calibre/gui2/dialogs/opml.py
+lib/calibre/calibre/gui2/dialogs/palette.py
 lib/calibre/calibre/gui2/dialogs/password.py
 lib/calibre/calibre/gui2/dialogs/password_ui.py
 lib/calibre/calibre/gui2/dialogs/plugin_updater.py
@@ -2749,6 +2870,7 @@ lib/calibre/calibre/gui2/dialogs/saved_s
 lib/calibre/calibre/gui2/dialogs/scheduler.py
 lib/calibre/calibre/gui2/dialogs/search.py
 lib/calibre/calibre/gui2/dialogs/select_formats.py
+lib/calibre/calibre/gui2/dialogs/show_category_note.py
 lib/calibre/calibre/gui2/dialogs/smartdevice.py
 lib/calibre/calibre/gui2/dialogs/smartdevice_ui.py
 lib/calibre/calibre/gui2/dialogs/tag_categories.py
@@ -2767,9 +2889,28 @@ lib/calibre/calibre/gui2/dialogs/trim_im
 lib/calibre/calibre/gui2/dnd.py
 lib/calibre/calibre/gui2/ebook_download.py
 lib/calibre/calibre/gui2/email.py
+lib/calibre/calibre/gui2/extra_files_watcher.py
 lib/calibre/calibre/gui2/filename_pattern_ui.py
 lib/calibre/calibre/gui2/flow_toolbar.py
 lib/calibre/calibre/gui2/font_family_chooser.py
+lib/calibre/calibre/gui2/fts/
+lib/calibre/calibre/gui2/fts/__init__.py
+${MODPY_COMMENT}lib/calibre/calibre/gui2/fts/${MODPY_PYCACHE}/
+lib/calibre/calibre/gui2/fts/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/gui2/fts/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/gui2/fts/${MODPY_PYCACHE}dialog.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/gui2/fts/${MODPY_PYCACHE}dialog.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/gui2/fts/${MODPY_PYCACHE}scan.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/gui2/fts/${MODPY_PYCACHE}scan.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/gui2/fts/${MODPY_PYCACHE}search.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/gui2/fts/${MODPY_PYCACHE}search.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/gui2/fts/${MODPY_PYCACHE}utils.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/gui2/fts/${MODPY_PYCACHE}utils.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/gui2/fts/dialog.py
+lib/calibre/calibre/gui2/fts/scan.py
+lib/calibre/calibre/gui2/fts/search.py
+lib/calibre/calibre/gui2/fts/utils.py
+lib/calibre/calibre/gui2/geometry.py
 lib/calibre/calibre/gui2/gestures.py
 lib/calibre/calibre/gui2/html_transform_rules.py
 lib/calibre/calibre/gui2/icon_theme.py
@@ -2796,6 +2937,8 @@ lib/calibre/calibre/gui2/library/${MODPY
 lib/calibre/calibre/gui2/library/${MODPY_PYCACHE}delegates.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/library/${MODPY_PYCACHE}models.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/gui2/library/${MODPY_PYCACHE}models.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/gui2/library/${MODPY_PYCACHE}notes.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/gui2/library/${MODPY_PYCACHE}notes.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/library/${MODPY_PYCACHE}views.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/gui2/library/${MODPY_PYCACHE}views.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/library/alternate_views.py
@@ -2803,6 +2946,7 @@ lib/calibre/calibre/gui2/library/annotat
 lib/calibre/calibre/gui2/library/caches.py
 lib/calibre/calibre/gui2/library/delegates.py
 lib/calibre/calibre/gui2/library/models.py
+lib/calibre/calibre/gui2/library/notes.py
 lib/calibre/calibre/gui2/library/views.py
 lib/calibre/calibre/gui2/linux_file_dialogs.py
 lib/calibre/calibre/gui2/listener.py
@@ -2831,6 +2975,8 @@ lib/calibre/calibre/gui2/lrf_renderer/ma
 lib/calibre/calibre/gui2/lrf_renderer/text.py
 lib/calibre/calibre/gui2/main.py
 lib/calibre/calibre/gui2/main_window.py
+lib/calibre/calibre/gui2/markdown_editor.py
+lib/calibre/calibre/gui2/markdown_syntax_highlighter.py
 lib/calibre/calibre/gui2/metadata/
 lib/calibre/calibre/gui2/metadata/__init__.py
 ${MODPY_COMMENT}lib/calibre/calibre/gui2/metadata/${MODPY_PYCACHE}/
@@ -2998,11 +3144,12 @@ lib/calibre/calibre/gui2/progress_indica
 ${MODPY_COMMENT}lib/calibre/calibre/gui2/progress_indicator/${MODPY_PYCACHE}/
 lib/calibre/calibre/gui2/progress_indicator/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/gui2/progress_indicator/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/gui2/publisher_mapper.py
+lib/calibre/calibre/gui2/pyqt6_compat.py
 lib/calibre/calibre/gui2/qt_file_dialogs.py
 lib/calibre/calibre/gui2/save.py
 lib/calibre/calibre/gui2/search_box.py
 lib/calibre/calibre/gui2/search_restriction_mixin.py
-lib/calibre/calibre/gui2/shortcuts.py
 lib/calibre/calibre/gui2/splash_screen.py
 lib/calibre/calibre/gui2/store/
 lib/calibre/calibre/gui2/store/__init__.py
@@ -3124,6 +3271,8 @@ lib/calibre/calibre/gui2/store/stores/${
 lib/calibre/calibre/gui2/store/stores/${MODPY_PYCACHE}amazon_in_plugin.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/store/stores/${MODPY_PYCACHE}amazon_it_plugin.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/gui2/store/stores/${MODPY_PYCACHE}amazon_it_plugin.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/gui2/store/stores/${MODPY_PYCACHE}amazon_mx_plugin.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/gui2/store/stores/${MODPY_PYCACHE}amazon_mx_plugin.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/store/stores/${MODPY_PYCACHE}amazon_plugin.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/gui2/store/stores/${MODPY_PYCACHE}amazon_plugin.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/store/stores/${MODPY_PYCACHE}amazon_uk_plugin.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
@@ -3203,6 +3352,7 @@ lib/calibre/calibre/gui2/store/stores/am
 lib/calibre/calibre/gui2/store/stores/amazon_fr_plugin.py
 lib/calibre/calibre/gui2/store/stores/amazon_in_plugin.py
 lib/calibre/calibre/gui2/store/stores/amazon_it_plugin.py
+lib/calibre/calibre/gui2/store/stores/amazon_mx_plugin.py
 lib/calibre/calibre/gui2/store/stores/amazon_plugin.py
 lib/calibre/calibre/gui2/store/stores/amazon_uk_plugin.py
 lib/calibre/calibre/gui2/store/stores/archive_org_plugin.py
@@ -3302,6 +3452,7 @@ lib/calibre/calibre/gui2/toc/${MODPY_PYC
 lib/calibre/calibre/gui2/toc/location.py
 lib/calibre/calibre/gui2/toc/main.py
 lib/calibre/calibre/gui2/tools.py
+lib/calibre/calibre/gui2/trash.py
 lib/calibre/calibre/gui2/tts/
 lib/calibre/calibre/gui2/tts/__init__.py
 ${MODPY_COMMENT}lib/calibre/calibre/gui2/tts/${MODPY_PYCACHE}/
@@ -3327,6 +3478,10 @@ lib/calibre/calibre/gui2/tts/${MODPY_PYC
 lib/calibre/calibre/gui2/tts/${MODPY_PYCACHE}windows.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/tts/${MODPY_PYCACHE}windows_config.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/gui2/tts/${MODPY_PYCACHE}windows_config.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/gui2/tts/${MODPY_PYCACHE}windows_sapi.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/gui2/tts/${MODPY_PYCACHE}windows_sapi.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/gui2/tts/${MODPY_PYCACHE}windows_sapi_config.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/gui2/tts/${MODPY_PYCACHE}windows_sapi_config.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/gui2/tts/common.py
 lib/calibre/calibre/gui2/tts/develop.py
 lib/calibre/calibre/gui2/tts/errors.py
@@ -3337,6 +3492,8 @@ lib/calibre/calibre/gui2/tts/macos.py
 lib/calibre/calibre/gui2/tts/macos_config.py
 lib/calibre/calibre/gui2/tts/windows.py
 lib/calibre/calibre/gui2/tts/windows_config.py
+lib/calibre/calibre/gui2/tts/windows_sapi.py
+lib/calibre/calibre/gui2/tts/windows_sapi_config.py
 lib/calibre/calibre/gui2/tweak_book/
 lib/calibre/calibre/gui2/tweak_book/__init__.py
 ${MODPY_COMMENT}lib/calibre/calibre/gui2/tweak_book/${MODPY_PYCACHE}/
@@ -3714,10 +3871,12 @@ lib/calibre/calibre/plugins/
 @so lib/calibre/calibre/plugins/pictureflow.so
 @so lib/calibre/calibre/plugins/podofo.so
 @so lib/calibre/calibre/plugins/progress_indicator.so
+@so lib/calibre/calibre/plugins/rcc_backend.so
 @so lib/calibre/calibre/plugins/speedup.so
 @so lib/calibre/calibre/plugins/sqlite_custom.so
 @so lib/calibre/calibre/plugins/sqlite_extension.so
 @so lib/calibre/calibre/plugins/tokenizer.so
+@so lib/calibre/calibre/plugins/uchardet.so
 @so lib/calibre/calibre/plugins/unicode_names.so
 lib/calibre/calibre/prints.py
 lib/calibre/calibre/ptempfile.py
@@ -3776,6 +3935,8 @@ lib/calibre/calibre/srv/${MODPY_PYCACHE}
 lib/calibre/calibre/srv/${MODPY_PYCACHE}embedded.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/srv/${MODPY_PYCACHE}errors.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/srv/${MODPY_PYCACHE}errors.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/srv/${MODPY_PYCACHE}fts.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/srv/${MODPY_PYCACHE}fts.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/srv/${MODPY_PYCACHE}handler.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/srv/${MODPY_PYCACHE}handler.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/srv/${MODPY_PYCACHE}http_request.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
@@ -3784,6 +3945,8 @@ lib/calibre/calibre/srv/${MODPY_PYCACHE}
 lib/calibre/calibre/srv/${MODPY_PYCACHE}http_response.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/srv/${MODPY_PYCACHE}jobs.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/srv/${MODPY_PYCACHE}jobs.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/srv/${MODPY_PYCACHE}last_read.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/srv/${MODPY_PYCACHE}last_read.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/srv/${MODPY_PYCACHE}legacy.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/srv/${MODPY_PYCACHE}legacy.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/srv/${MODPY_PYCACHE}library_broker.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
@@ -3828,10 +3991,12 @@ lib/calibre/calibre/srv/content.py
 lib/calibre/calibre/srv/convert.py
 lib/calibre/calibre/srv/embedded.py
 lib/calibre/calibre/srv/errors.py
+lib/calibre/calibre/srv/fts.py
 lib/calibre/calibre/srv/handler.py
 lib/calibre/calibre/srv/http_request.py
 lib/calibre/calibre/srv/http_response.py
 lib/calibre/calibre/srv/jobs.py
+lib/calibre/calibre/srv/last_read.py
 lib/calibre/calibre/srv/legacy.py
 lib/calibre/calibre/srv/library_broker.py
 lib/calibre/calibre/srv/loop.py
@@ -3915,6 +4080,10 @@ lib/calibre/calibre/utils/${MODPY_PYCACH
 lib/calibre/calibre/utils/${MODPY_PYCACHE}config.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/utils/${MODPY_PYCACHE}config_base.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/utils/${MODPY_PYCACHE}config_base.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/utils/${MODPY_PYCACHE}copy_files.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/utils/${MODPY_PYCACHE}copy_files.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/utils/${MODPY_PYCACHE}copy_files_test.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/utils/${MODPY_PYCACHE}copy_files_test.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/utils/${MODPY_PYCACHE}date.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/utils/${MODPY_PYCACHE}date.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/utils/${MODPY_PYCACHE}exim.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
@@ -4025,6 +4194,8 @@ lib/calibre/calibre/utils/${MODPY_PYCACH
 lib/calibre/calibre/utils/${MODPY_PYCACHE}unrar.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/utils/${MODPY_PYCACHE}unsmarten.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/utils/${MODPY_PYCACHE}unsmarten.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/utils/${MODPY_PYCACHE}webengine.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/utils/${MODPY_PYCACHE}webengine.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/utils/${MODPY_PYCACHE}wordcount.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/utils/${MODPY_PYCACHE}wordcount.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/utils/${MODPY_PYCACHE}xml_parse.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
@@ -4038,6 +4209,8 @@ lib/calibre/calibre/utils/cleantext.py
 lib/calibre/calibre/utils/complete.py
 lib/calibre/calibre/utils/config.py
 lib/calibre/calibre/utils/config_base.py
+lib/calibre/calibre/utils/copy_files.py
+lib/calibre/calibre/utils/copy_files_test.py
 lib/calibre/calibre/utils/date.py
 lib/calibre/calibre/utils/exim.py
 lib/calibre/calibre/utils/file_type_icons.py
@@ -4053,6 +4226,8 @@ lib/calibre/calibre/utils/fonts/${MODPY_
 lib/calibre/calibre/utils/fonts/${MODPY_PYCACHE}metadata.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/utils/fonts/${MODPY_PYCACHE}scanner.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/utils/fonts/${MODPY_PYCACHE}scanner.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/utils/fonts/${MODPY_PYCACHE}subset.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/utils/fonts/${MODPY_PYCACHE}subset.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/utils/fonts/${MODPY_PYCACHE}utils.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/utils/fonts/${MODPY_PYCACHE}utils.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/utils/fonts/${MODPY_PYCACHE}win_fonts.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
@@ -4121,6 +4296,7 @@ lib/calibre/calibre/utils/fonts/sfnt/max
 lib/calibre/calibre/utils/fonts/sfnt/merge.py
 lib/calibre/calibre/utils/fonts/sfnt/metrics.py
 lib/calibre/calibre/utils/fonts/sfnt/subset.py
+lib/calibre/calibre/utils/fonts/subset.py
 lib/calibre/calibre/utils/fonts/utils.py
 lib/calibre/calibre/utils/fonts/win_fonts.py
 lib/calibre/calibre/utils/formatter.py
@@ -4231,6 +4407,11 @@ lib/calibre/calibre/utils/podofo/${MODPY
 lib/calibre/calibre/utils/podofo/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/utils/random_ua.py
 lib/calibre/calibre/utils/rapydscript.py
+lib/calibre/calibre/utils/rcc/
+lib/calibre/calibre/utils/rcc/__init__.py
+${MODPY_COMMENT}lib/calibre/calibre/utils/rcc/${MODPY_PYCACHE}/
+lib/calibre/calibre/utils/rcc/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/utils/rcc/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/utils/recycle_bin.py
 lib/calibre/calibre/utils/resources.py
 lib/calibre/calibre/utils/run_tests.py
@@ -4260,6 +4441,7 @@ lib/calibre/calibre/utils/titlecase.py
 lib/calibre/calibre/utils/unicode_names.py
 lib/calibre/calibre/utils/unrar.py
 lib/calibre/calibre/utils/unsmarten.py
+lib/calibre/calibre/utils/webengine.py
 lib/calibre/calibre/utils/windows/
 lib/calibre/calibre/utils/windows/__init__.py
 ${MODPY_COMMENT}lib/calibre/calibre/utils/windows/${MODPY_PYCACHE}/
@@ -4267,9 +4449,12 @@ lib/calibre/calibre/utils/windows/${MODP
 lib/calibre/calibre/utils/windows/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/utils/windows/${MODPY_PYCACHE}winsapi.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/utils/windows/${MODPY_PYCACHE}winsapi.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/utils/windows/${MODPY_PYCACHE}winspeech.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/utils/windows/${MODPY_PYCACHE}winspeech.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/utils/windows/${MODPY_PYCACHE}wintest.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/calibre/utils/windows/${MODPY_PYCACHE}wintest.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/utils/windows/winsapi.py
+lib/calibre/calibre/utils/windows/winspeech.py
 lib/calibre/calibre/utils/windows/wintest.py
 lib/calibre/calibre/utils/winreg/
 lib/calibre/calibre/utils/winreg/__init__.py
@@ -4337,6 +4522,14 @@ lib/calibre/calibre/web/fetch/${MODPY_PY
 lib/calibre/calibre/web/fetch/${MODPY_PYCACHE}utils.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/calibre/web/fetch/simple.py
 lib/calibre/calibre/web/fetch/utils.py
+lib/calibre/calibre/web/site_parsers/
+lib/calibre/calibre/web/site_parsers/__init__.py
+${MODPY_COMMENT}lib/calibre/calibre/web/site_parsers/${MODPY_PYCACHE}/
+lib/calibre/calibre/web/site_parsers/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/web/site_parsers/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/web/site_parsers/${MODPY_PYCACHE}nytimes.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/calibre/web/site_parsers/${MODPY_PYCACHE}nytimes.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/calibre/web/site_parsers/nytimes.py
 lib/calibre/css_selectors/
 lib/calibre/css_selectors/__init__.py
 ${MODPY_COMMENT}lib/calibre/css_selectors/${MODPY_PYCACHE}/
@@ -4520,6 +4713,10 @@ lib/calibre/qt/${MODPY_PYCACHE}core.${MO
 lib/calibre/qt/${MODPY_PYCACHE}core.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/qt/${MODPY_PYCACHE}core_name_map.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/qt/${MODPY_PYCACHE}core_name_map.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/qt/${MODPY_PYCACHE}dbus.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/qt/${MODPY_PYCACHE}dbus.${MODPY_PYC_MAGIC_TAG}pyc
+lib/calibre/qt/${MODPY_PYCACHE}dbus_name_map.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/calibre/qt/${MODPY_PYCACHE}dbus_name_map.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/qt/${MODPY_PYCACHE}loader.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/calibre/qt/${MODPY_PYCACHE}loader.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/qt/${MODPY_PYCACHE}webengine.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
@@ -4528,6 +4725,8 @@ lib/calibre/qt/${MODPY_PYCACHE}webengine
 lib/calibre/qt/${MODPY_PYCACHE}webengine_name_map.${MODPY_PYC_MAGIC_TAG}pyc
 lib/calibre/qt/core.py
 lib/calibre/qt/core_name_map.py
+lib/calibre/qt/dbus.py
+lib/calibre/qt/dbus_name_map.py
 lib/calibre/qt/loader.py
 lib/calibre/qt/webengine.py
 lib/calibre/qt/webengine_name_map.py
@@ -4605,19 +4804,6 @@ share/applications/calibre-ebook-edit.de
 share/applications/calibre-ebook-viewer.desktop
 share/applications/calibre-gui.desktop
 share/applications/calibre-lrfviewer.desktop
-share/bash-completion/completions/calibre
-share/bash-completion/completions/calibre-debug
-share/bash-completion/completions/calibre-server
-share/bash-completion/completions/calibre-smtp
-share/bash-completion/completions/ebook-convert
-share/bash-completion/completions/ebook-device
-share/bash-completion/completions/ebook-edit
-share/bash-completion/completions/ebook-meta
-share/bash-completion/completions/ebook-polish
-share/bash-completion/completions/ebook-viewer
-share/bash-completion/completions/fetch-ebook-metadata
-share/bash-completion/completions/lrf2lrs
-share/bash-completion/completions/lrfviewer
 share/calibre/
 ${MODPY_COMMENT}share/calibre/${MODPY_PYCACHE}/
 share/calibre/${MODPY_PYCACHE}default_tweaks.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
@@ -4645,8 +4831,6 @@ share/calibre/content-server/locales.zip
 share/calibre/content-server/mobile.css
 share/calibre/content-server/reset.css
 share/calibre/csscolorparser.js
-share/calibre/csslint.js
-share/calibre/dark_mode.css
 share/calibre/default_tweaks.py
 share/calibre/dictionaries/
 share/calibre/dictionaries/en-GB/
@@ -4661,6 +4845,7 @@ share/calibre/dictionaries/es-ES/
 share/calibre/dictionaries/es-ES/es-ES.aff
 share/calibre/dictionaries/es-ES/es-ES.dic
 share/calibre/dictionaries/es-ES/locales
+share/calibre/dictionaries/online-catalog.json
 share/calibre/ebook-convert-complete.calibre_msgpack
 share/calibre/editor-functions.json
 share/calibre/editor-help/
@@ -4687,6 +4872,8 @@ share/calibre/fonts/liberation/Liberatio
 share/calibre/fonts/liberation/LiberationSerif-Italic.ttf
 share/calibre/fonts/liberation/LiberationSerif-Regular.ttf
 share/calibre/fonts/liberation/version.txt
+share/calibre/fts_sqlite.sql
+share/calibre/fts_triggers.sql
 share/calibre/hyphenation/
 share/calibre/hyphenation/dictionaries.tar.xz
 share/calibre/hyphenation/locales.json
@@ -4711,7 +4898,8 @@ share/calibre/images/bullhorn.png
 share/calibre/images/catalog.png
 share/calibre/images/chapters.png
 share/calibre/images/character-set.png
-share/calibre/images/clear_left.png
+share/calibre/images/clear_left-for-dark-theme.png
+share/calibre/images/clear_left-for-light-theme.png
 share/calibre/images/close-for-dark-theme.png
 share/calibre/images/close-for-light-theme.png
 share/calibre/images/code.png
@@ -4720,6 +4908,7 @@ share/calibre/images/compress-image.png
 share/calibre/images/config.png
 share/calibre/images/connect_share.png
 share/calibre/images/connect_share_on.png
+share/calibre/images/context_menu.png
 share/calibre/images/convert.png
 share/calibre/images/copy-to-library.png
 share/calibre/images/cover_flow.png
@@ -4764,6 +4953,8 @@ share/calibre/images/edit_input.png
 share/calibre/images/eject.png
 share/calibre/images/embed-fonts.png
 share/calibre/images/exec.png
+share/calibre/images/external-link-for-dark-theme.png
+share/calibre/images/external-link.png
 share/calibre/images/filter.png
 share/calibre/images/folder_saved_search.png
 share/calibre/images/font.png
@@ -4788,6 +4979,7 @@ share/calibre/images/format-text-subscri
 share/calibre/images/format-text-superscript.png
 share/calibre/images/format-text-underline.png
 share/calibre/images/forward.png
+share/calibre/images/fts.png
 share/calibre/images/gear.png
 share/calibre/images/generic-library.png
 share/calibre/images/gmail_logo.png
@@ -4806,6 +4998,7 @@ share/calibre/images/insert-link.png
 share/calibre/images/jobs.png
 share/calibre/images/keyboard-prefs.png
 share/calibre/images/languages.png
+share/calibre/images/layout.png
 share/calibre/images/library.png
 share/calibre/images/list_remove.png
 share/calibre/images/lookfeel.png
@@ -4850,10 +5043,13 @@ share/calibre/images/mimetypes/zero.png
 share/calibre/images/mimetypes/zip.png
 share/calibre/images/minus.png
 share/calibre/images/minusminus.png
-share/calibre/images/modified.png
+share/calibre/images/modified-for-dark-theme.png
+share/calibre/images/modified-for-light-theme.png
 share/calibre/images/network-server.png
 share/calibre/images/news.png
 share/calibre/images/next.png
+share/calibre/images/notes-for-dark-theme.png
+share/calibre/images/notes.png
 share/calibre/images/ok.png
 share/calibre/images/page.png
 share/calibre/images/plugboard.png
@@ -4930,6 +5126,7 @@ share/calibre/images/view-refresh.png
 share/calibre/images/view.png
 share/calibre/images/viewer.png
 share/calibre/images/vl.png
+share/calibre/images/width.png
 share/calibre/images/window-close.png
 share/calibre/images/wizard.png
 share/calibre/jacket/
@@ -4989,6 +5186,7 @@ share/calibre/mathjax/startup.js
 share/calibre/metadata_sqlite.sql
 share/calibre/mime.types
 share/calibre/mozilla-ca-certs.pem
+share/calibre/notes_sqlite.sql
 share/calibre/pdf-mathjax-loader.js
 share/calibre/pdf-preprint.js
 share/calibre/pin-template.svg
@@ -5002,7 +5200,9 @@ share/calibre/quick_start/tur.epub
 share/calibre/rapydscript/
 share/calibre/rapydscript/compiler.js.xz
 share/calibre/recipes/
+share/calibre/recipes/10minutos.png
 share/calibre/recipes/10minutos.recipe
+share/calibre/recipes/180.png
 share/calibre/recipes/180.recipe
 share/calibre/recipes/1843.png
 share/calibre/recipes/1843.recipe
@@ -5016,14 +5216,14 @@ share/calibre/recipes/3dnews.png
 share/calibre/recipes/3dnews.recipe
 share/calibre/recipes/7seri.png
 share/calibre/recipes/7seri.recipe
+share/calibre/recipes/7x7.png
 share/calibre/recipes/7x7.recipe
 share/calibre/recipes/DrawAndCook.png
 share/calibre/recipes/DrawAndCook.recipe
+share/calibre/recipes/TheMITPressReader.png
 share/calibre/recipes/TheMITPressReader.recipe
 share/calibre/recipes/aabenraalokalavisen_dk.png
 share/calibre/recipes/aabenraalokalavisen_dk.recipe
-share/calibre/recipes/aachener_nachrichten.png
-share/calibre/recipes/aachener_nachrichten.recipe
 share/calibre/recipes/aarhuslokalavisen_dk.png
 share/calibre/recipes/aarhuslokalavisen_dk.recipe
 share/calibre/recipes/aarhusmidtlokalavisen_dk.png
@@ -5042,7 +5242,6 @@ share/calibre/recipes/abc_es.png
 share/calibre/recipes/abc_es.recipe
 share/calibre/recipes/abc_py.png
 share/calibre/recipes/abc_py.recipe
-share/calibre/recipes/acim_bilim_dergisi.recipe
 share/calibre/recipes/acrimed.png
 share/calibre/recipes/acrimed.recipe
 share/calibre/recipes/ad.png
@@ -5053,17 +5252,19 @@ share/calibre/recipes/adnkronos.png
 share/calibre/recipes/adnkronos.recipe
 share/calibre/recipes/adventuregamers.png
 share/calibre/recipes/adventuregamers.recipe
-share/calibre/recipes/aftenposten.png
-share/calibre/recipes/aftenposten.recipe
+share/calibre/recipes/afr.png
+share/calibre/recipes/afr.recipe
+share/calibre/recipes/aftonbladet.png
 share/calibre/recipes/aftonbladet.recipe
-share/calibre/recipes/agrogerila.recipe
 share/calibre/recipes/aif_ru.png
 share/calibre/recipes/aif_ru.recipe
+share/calibre/recipes/ainonline.png
 share/calibre/recipes/ainonline.recipe
-share/calibre/recipes/air_force_times.recipe
 share/calibre/recipes/ajc.png
 share/calibre/recipes/ajc.recipe
+share/calibre/recipes/ajiajin.png
 share/calibre/recipes/ajiajin.recipe
+share/calibre/recipes/aksiyon_derigisi.png
 share/calibre/recipes/aksiyon_derigisi.recipe
 share/calibre/recipes/aktualne.cz.png
 share/calibre/recipes/aktualne.cz.recipe
@@ -5071,25 +5272,28 @@ share/calibre/recipes/al_jazeera.png
 share/calibre/recipes/al_jazeera.recipe
 share/calibre/recipes/al_masry_alyoum_arabic.png
 share/calibre/recipes/al_masry_alyoum_arabic.recipe
+share/calibre/recipes/al_monitor.png
 share/calibre/recipes/al_monitor.recipe
 share/calibre/recipes/albert_mohler.png
 share/calibre/recipes/albert_mohler.recipe
+share/calibre/recipes/ald.png
 share/calibre/recipes/ald.recipe
 share/calibre/recipes/alejakomiksu_com.png
 share/calibre/recipes/alejakomiksu_com.recipe
 share/calibre/recipes/alleroedlokalavisen_dk.png
 share/calibre/recipes/alleroedlokalavisen_dk.recipe
+share/calibre/recipes/alt_om_herning.png
 share/calibre/recipes/alt_om_herning.recipe
 share/calibre/recipes/alternet.png
 share/calibre/recipes/alternet.recipe
 share/calibre/recipes/altomdata_dk.png
 share/calibre/recipes/altomdata_dk.recipe
+share/calibre/recipes/am730.png
 share/calibre/recipes/am730.recipe
 share/calibre/recipes/amagerbladet_dk.recipe
 share/calibre/recipes/ambito.png
 share/calibre/recipes/ambito.recipe
 share/calibre/recipes/ambito_financiero.png
-share/calibre/recipes/ambito_financiero.recipe
 share/calibre/recipes/american_thinker.png
 share/calibre/recipes/american_thinker.recipe
 share/calibre/recipes/amspec.png
@@ -5097,40 +5301,56 @@ share/calibre/recipes/amspec.recipe
 share/calibre/recipes/an_druma_mor.recipe
 share/calibre/recipes/anandtech.png
 share/calibre/recipes/anandtech.recipe
+share/calibre/recipes/anchorage_daily.png
 share/calibre/recipes/anchorage_daily.recipe
+share/calibre/recipes/andhrajyothy_ap.png
+share/calibre/recipes/andhrajyothy_ap.recipe
+share/calibre/recipes/andhrajyothy_tel.png
+share/calibre/recipes/andhrajyothy_tel.recipe
 share/calibre/recipes/android_com_pl.png
 share/calibre/recipes/android_com_pl.recipe
+share/calibre/recipes/android_police.png
+share/calibre/recipes/android_police.recipe
+share/calibre/recipes/animal_politico.png
 share/calibre/recipes/animal_politico.recipe
+share/calibre/recipes/anthony_muroni.png
 share/calibre/recipes/anthony_muroni.recipe
 share/calibre/recipes/antyweb.png
 share/calibre/recipes/antyweb.recipe
+share/calibre/recipes/ap.png
 share/calibre/recipes/ap.recipe
 share/calibre/recipes/apcom.recipe
 share/calibre/recipes/apod.png
 share/calibre/recipes/apod.recipe
 share/calibre/recipes/app_funds.png
 share/calibre/recipes/app_funds.recipe
-share/calibre/recipes/apple_daily.recipe
 share/calibre/recipes/appledaily_tw.png
 share/calibre/recipes/appledaily_tw.recipe
 share/calibre/recipes/aprospect.png
 share/calibre/recipes/aprospect.recipe
+share/calibre/recipes/ara.png
 share/calibre/recipes/ara.recipe
 share/calibre/recipes/ara_info.png
 share/calibre/recipes/ara_info.recipe
 share/calibre/recipes/arabian_business.png
 share/calibre/recipes/arabian_business.recipe
+share/calibre/recipes/arbetaren.png
 share/calibre/recipes/arbetaren.recipe
+share/calibre/recipes/arcadia.png
 share/calibre/recipes/arcadia.recipe
+share/calibre/recipes/arcamax.png
 share/calibre/recipes/arcamax.recipe
+share/calibre/recipes/arizona_republic.png
 share/calibre/recipes/arizona_republic.recipe
 share/calibre/recipes/arret_sur_images.png
 share/calibre/recipes/arret_sur_images.recipe
 share/calibre/recipes/ars_technica.png
 share/calibre/recipes/ars_technica.recipe
+share/calibre/recipes/asahi_shimbun_en.png
 share/calibre/recipes/asahi_shimbun_en.recipe
 share/calibre/recipes/asco_de_vida.png
 share/calibre/recipes/asco_de_vida.recipe
+share/calibre/recipes/asia_one.png
 share/calibre/recipes/asia_one.recipe
 share/calibre/recipes/asianreviewofbooks.png
 share/calibre/recipes/asianreviewofbooks.recipe
@@ -5140,11 +5360,15 @@ share/calibre/recipes/athens_news.png
 share/calibre/recipes/athens_news.recipe
 share/calibre/recipes/atlantic.png
 share/calibre/recipes/atlantic.recipe
+share/calibre/recipes/atlantic_com.png
 share/calibre/recipes/atlantic_com.recipe
+share/calibre/recipes/attac_es.png
 share/calibre/recipes/attac_es.recipe
+share/calibre/recipes/auto.png
 share/calibre/recipes/auto.recipe
 share/calibre/recipes/auto_blog.png
 share/calibre/recipes/auto_blog.recipe
+share/calibre/recipes/auto_prove.png
 share/calibre/recipes/auto_prove.recipe
 share/calibre/recipes/autobild.png
 share/calibre/recipes/autobild.recipe
@@ -5170,32 +5394,62 @@ share/calibre/recipes/ba_herald.png
 share/calibre/recipes/ba_herald.recipe
 share/calibre/recipes/babyonline.png
 share/calibre/recipes/babyonline.recipe
+share/calibre/recipes/backyard_boss.png
+share/calibre/recipes/backyard_boss.recipe
 share/calibre/recipes/badania_net.png
 share/calibre/recipes/badania_net.recipe
+share/calibre/recipes/baikaljournal.png
+share/calibre/recipes/baikaljournal.recipe
 share/calibre/recipes/balkaninsight.png
 share/calibre/recipes/balkaninsight.recipe
+share/calibre/recipes/balkanist.png
 share/calibre/recipes/balkanist.recipe
 share/calibre/recipes/baltimore_sun.png
 share/calibre/recipes/baltimore_sun.recipe
+share/calibre/recipes/bangkok_biz.png
 share/calibre/recipes/bangkok_biz.recipe
+share/calibre/recipes/bangkokpost.png
 share/calibre/recipes/bangkokpost.recipe
 share/calibre/recipes/bankier_pl.png
 share/calibre/recipes/bankier_pl.recipe
+share/calibre/recipes/bar_and_bench.png
+share/calibre/recipes/bar_and_bench.recipe
 share/calibre/recipes/barrons.png
 share/calibre/recipes/barrons.recipe
+share/calibre/recipes/bay_citizen.png
 share/calibre/recipes/bay_citizen.recipe
 share/calibre/recipes/bbc.png
 share/calibre/recipes/bbc.recipe
+share/calibre/recipes/bbc_brasil.png
 share/calibre/recipes/bbc_brasil.recipe
+share/calibre/recipes/bbc_es.png
 share/calibre/recipes/bbc_es.recipe
 share/calibre/recipes/bbc_fast.png
 share/calibre/recipes/bbc_fast.recipe
+share/calibre/recipes/bbc_ru.png
+share/calibre/recipes/bbc_ru.recipe
 share/calibre/recipes/bbc_sport.png
 share/calibre/recipes/bbc_sport.recipe
+share/calibre/recipes/bbc_uk.png
+share/calibre/recipes/bbc_uk.recipe
+share/calibre/recipes/bbcvietnamese.png
 share/calibre/recipes/bbcvietnamese.recipe
+share/calibre/recipes/bellingcat_en.png
+share/calibre/recipes/bellingcat_en.recipe
+share/calibre/recipes/bellingcat_es.png
+share/calibre/recipes/bellingcat_es.recipe
+share/calibre/recipes/bellingcat_fr.png
+share/calibre/recipes/bellingcat_fr.recipe
+share/calibre/recipes/bellingcat_ru.png
+share/calibre/recipes/bellingcat_ru.recipe
+share/calibre/recipes/bellingcat_uk.png
+share/calibre/recipes/bellingcat_uk.recipe
 share/calibre/recipes/benchmark_pl.png
 share/calibre/recipes/benchmark_pl.recipe
+share/calibre/recipes/beppe_grillo.png
 share/calibre/recipes/beppe_grillo.recipe
+share/calibre/recipes/berfreunde_blog.recipe
+share/calibre/recipes/berliner_zeitung.png
 share/calibre/recipes/berliner_zeitung.recipe
 share/calibre/recipes/berlingske_dk.png
 share/calibre/recipes/berlingske_dk.recipe
@@ -5216,67 +5470,102 @@ share/calibre/recipes/bighollywood.png
 share/calibre/recipes/bighollywood.recipe
 share/calibre/recipes/bild_de.png
 share/calibre/recipes/bild_de.recipe
+share/calibre/recipes/billorielly.png
 share/calibre/recipes/billorielly.recipe
+share/calibre/recipes/birgun_gazetesi.png
 share/calibre/recipes/birgun_gazetesi.recipe
+share/calibre/recipes/birmingham_evening_mail.png
 share/calibre/recipes/birmingham_evening_mail.recipe
 share/calibre/recipes/birmingham_post.png
 share/calibre/recipes/birmingham_post.recipe
 share/calibre/recipes/bitacora.recipe
+share/calibre/recipes/biz_portal.png
 share/calibre/recipes/biz_portal.recipe
 share/calibre/recipes/blesk.png
 share/calibre/recipes/blesk.recipe
 share/calibre/recipes/blic.png
 share/calibre/recipes/blic.recipe
+share/calibre/recipes/bloomberg-business-week.png
+share/calibre/recipes/bloomberg-business-week.recipe
+share/calibre/recipes/bloomberg.png
+share/calibre/recipes/bloomberg.recipe
+share/calibre/recipes/bookforummagazine.png
+share/calibre/recipes/bookforummagazine.recipe
 share/calibre/recipes/boortz.png
 share/calibre/recipes/boortz.recipe
 share/calibre/recipes/borse_online.png
 share/calibre/recipes/borse_online.recipe
 share/calibre/recipes/borsen_dk.png
 share/calibre/recipes/borsen_dk.recipe
+share/calibre/recipes/boston.com.png
 share/calibre/recipes/boston.com.recipe
+share/calibre/recipes/boston_globe_print_edition.recipe
 share/calibre/recipes/boxis.recipe
+share/calibre/recipes/bq_prime.png
+share/calibre/recipes/bq_prime.recipe
+share/calibre/recipes/brand_eins.png
 share/calibre/recipes/brand_eins.recipe
+share/calibre/recipes/brasil_de_fato.png
 share/calibre/recipes/brasil_de_fato.recipe
 share/calibre/recipes/breaking_mad.recipe
+share/calibre/recipes/breakingmad.png
+share/calibre/recipes/brecha.png
 share/calibre/recipes/brecha.recipe
 share/calibre/recipes/brewiarz.png
 share/calibre/recipes/brewiarz.recipe
+share/calibre/recipes/brhat.recipe
 share/calibre/recipes/brigitte_de.png
 share/calibre/recipes/brigitte_de.recipe
+share/calibre/recipes/bsi_news.png
 share/calibre/recipes/bsi_news.recipe
 share/calibre/recipes/bt_dk.png
 share/calibre/recipes/bt_dk.recipe
 share/calibre/recipes/bucataras.png
 share/calibre/recipes/bucataras.recipe
+share/calibre/recipes/buchreport.png
 share/calibre/recipes/buchreport.recipe
+share/calibre/recipes/buckmasters.png
 share/calibre/recipes/buckmasters.recipe
 share/calibre/recipes/buenosaireseconomico.png
 share/calibre/recipes/buenosaireseconomico.recipe
 share/calibre/recipes/buffalo_news.recipe
+share/calibre/recipes/buffalonews.png
 share/calibre/recipes/bugun_gazetesi.recipe
 share/calibre/recipes/business_insider.png
 share/calibre/recipes/business_insider.recipe
 share/calibre/recipes/business_standard.png
 share/calibre/recipes/business_standard.recipe
-share/calibre/recipes/business_standard_print_edition.recipe
+share/calibre/recipes/business_standard_print.png
+share/calibre/recipes/business_standard_print.recipe
+share/calibre/recipes/business_today.png
 share/calibre/recipes/business_today.recipe
 share/calibre/recipes/businessworldin.png
 share/calibre/recipes/businessworldin.recipe
+share/calibre/recipes/cachys_blog.recipe
 share/calibre/recipes/cacm.png
 share/calibre/recipes/cacm.recipe
+share/calibre/recipes/cafcaf_dergisi.png
 share/calibre/recipes/cafcaf_dergisi.recipe
+share/calibre/recipes/calcalist.png
 share/calibre/recipes/calcalist.recipe
+share/calibre/recipes/calgary_herald.png
 share/calibre/recipes/calgary_herald.recipe
-share/calibre/recipes/calibre_blog.recipe
+share/calibre/recipes/camera_di_commercio_di_bari.png
 share/calibre/recipes/camera_di_commercio_di_bari.recipe
+share/calibre/recipes/canardpc.png
 share/calibre/recipes/canardpc.recipe
 share/calibre/recipes/capes_n_babes.recipe
 share/calibre/recipes/capital.png
 share/calibre/recipes/capital.recipe
 share/calibre/recipes/capital_de.png
 share/calibre/recipes/capital_de.recipe
+share/calibre/recipes/capital_gr.png
 share/calibre/recipes/capital_gr.recipe
+share/calibre/recipes/car_buzz.png
+share/calibre/recipes/car_buzz.recipe
+share/calibre/recipes/caravan_magazine.png
 share/calibre/recipes/caravan_magazine.recipe
+share/calibre/recipes/caravan_magazine_hindi.png
 share/calibre/recipes/caravan_magazine_hindi.recipe
 share/calibre/recipes/carta.png
 share/calibre/recipes/carta.recipe
@@ -5298,15 +5587,22 @@ share/calibre/recipes/cd_action.png
 share/calibre/recipes/cd_action.recipe
 share/calibre/recipes/cdrinfo_pl.png
 share/calibre/recipes/cdrinfo_pl.recipe
+share/calibre/recipes/cedar.png
+share/calibre/recipes/cedar.recipe
 share/calibre/recipes/ceska_pozice.recipe
+share/calibre/recipes/ceskapozice.png
 share/calibre/recipes/ceske_noviny.png
 share/calibre/recipes/ceske_noviny.recipe
+share/calibre/recipes/cesky_rozhlas_6.png
 share/calibre/recipes/cesky_rozhlas_6.recipe
 share/calibre/recipes/cetnixploitation.recipe
 share/calibre/recipes/cgm_pl.png
 share/calibre/recipes/cgm_pl.recipe
 share/calibre/recipes/champion.png
 share/calibre/recipes/champion.recipe
+share/calibre/recipes/cherta.png
+share/calibre/recipes/cherta.recipe
+share/calibre/recipes/chetnixploitation.png
 share/calibre/recipes/chicago_breaking_news.png
 share/calibre/recipes/chicago_breaking_news.recipe
 share/calibre/recipes/chicago_tribune.png
@@ -5321,25 +5617,34 @@ share/calibre/recipes/chipro.png
 share/calibre/recipes/chipro.recipe
 share/calibre/recipes/chosun.png
 share/calibre/recipes/chosun.recipe
-share/calibre/recipes/chowk.recipe
+share/calibre/recipes/chowk.png
 share/calibre/recipes/chr_mon.png
 share/calibre/recipes/chr_mon.recipe
+share/calibre/recipes/christian_post.png
 share/calibre/recipes/christian_post.recipe
+share/calibre/recipes/chronicle_higher_ed.png
 share/calibre/recipes/chronicle_higher_ed.recipe
+share/calibre/recipes/cicero.png
 share/calibre/recipes/cicero.recipe
+share/calibre/recipes/cincinnati_enquirer.png
 share/calibre/recipes/cincinnati_enquirer.recipe
+share/calibre/recipes/cinco_dias.png
 share/calibre/recipes/cinco_dias.recipe
 share/calibre/recipes/cinebel_be.png
 share/calibre/recipes/cinebel_be.recipe
 share/calibre/recipes/cio.png
 share/calibre/recipes/cio.recipe
+share/calibre/recipes/cio_magazine.png
 share/calibre/recipes/cio_magazine.recipe
 share/calibre/recipes/ciperchile.png
 share/calibre/recipes/ciperchile.recipe
+share/calibre/recipes/cityavisen_dk.png
 share/calibre/recipes/cityavisen_dk.recipe
+share/calibre/recipes/cjr.png
 share/calibre/recipes/cjr.recipe
 share/calibre/recipes/clarin.png
 share/calibre/recipes/clarin.recipe
+share/calibre/recipes/clarion_ledger.png
 share/calibre/recipes/clarion_ledger.recipe
 share/calibre/recipes/clic_rbs.png
 share/calibre/recipes/clic_rbs.recipe
@@ -5356,21 +5661,31 @@ share/calibre/recipes/cnetnews.png
 share/calibre/recipes/cnetnews.recipe
 share/calibre/recipes/cnn.png
 share/calibre/recipes/cnn.recipe
+share/calibre/recipes/coda.png
+share/calibre/recipes/coda.recipe
+share/calibre/recipes/coda_ru.png
+share/calibre/recipes/coda_ru.recipe
 share/calibre/recipes/coding_horror.png
 share/calibre/recipes/coding_horror.recipe
+share/calibre/recipes/collider.png
+share/calibre/recipes/collider.recipe
 share/calibre/recipes/colta.png
 share/calibre/recipes/colta.recipe
 share/calibre/recipes/columbusdispatch.png
 share/calibre/recipes/columbusdispatch.recipe
+share/calibre/recipes/comic_book_archive.png
+share/calibre/recipes/comic_book_archive.recipe
 share/calibre/recipes/common_dreams.png
 share/calibre/recipes/common_dreams.recipe
 share/calibre/recipes/computerworld_dk.png
 share/calibre/recipes/computerworld_dk.recipe
 share/calibre/recipes/computerworld_pl.png
 share/calibre/recipes/computerworld_pl.recipe
+share/calibre/recipes/consortium_news.png
 share/calibre/recipes/consortium_news.recipe
 share/calibre/recipes/contemporary_argentine_writers.png
 share/calibre/recipes/contemporary_argentine_writers.recipe
+share/calibre/recipes/contropiano.png
 share/calibre/recipes/contropiano.recipe
 share/calibre/recipes/corriere_della_sera_en.png
 share/calibre/recipes/corriere_della_sera_en.recipe
@@ -5380,15 +5695,21 @@ share/calibre/recipes/corriere_dello_spo
 share/calibre/recipes/corriere_dello_sport.recipe
 share/calibre/recipes/cosmopolitan.png
 share/calibre/recipes/cosmopolitan.recipe
+share/calibre/recipes/cosmopolitan_de.png
 share/calibre/recipes/cosmopolitan_de.recipe
+share/calibre/recipes/cosmopolitan_uk.png
 share/calibre/recipes/cosmopolitan_uk.recipe
+share/calibre/recipes/cosmos.png
 share/calibre/recipes/cosmos.recipe
 share/calibre/recipes/cotidianul.png
 share/calibre/recipes/cotidianul.recipe
+share/calibre/recipes/counterpunch.png
 share/calibre/recipes/counterpunch.recipe
+share/calibre/recipes/countryfile.png
 share/calibre/recipes/countryfile.recipe
 share/calibre/recipes/courier_mail.png
 share/calibre/recipes/courier_mail.recipe
+share/calibre/recipes/courrier.png
 share/calibre/recipes/courrier.recipe
 share/calibre/recipes/courrierinternational.png
 share/calibre/recipes/courrierinternational.recipe
@@ -5397,6 +5718,7 @@ share/calibre/recipes/cracked_com.recipe
 share/calibre/recipes/craigslist.recipe
 share/calibre/recipes/credit_slips.png
 share/calibre/recipes/credit_slips.recipe
+share/calibre/recipes/crikey.png
 share/calibre/recipes/crikey.recipe
 share/calibre/recipes/cronica.png
 share/calibre/recipes/cronica.recipe
@@ -5410,18 +5732,24 @@ share/calibre/recipes/cumhuriyet.png
 share/calibre/recipes/cumhuriyet.recipe
 share/calibre/recipes/curierulnational.png
 share/calibre/recipes/curierulnational.recipe
+share/calibre/recipes/currenttime.png
+share/calibre/recipes/currenttime.recipe
 share/calibre/recipes/cvecezla.png
 share/calibre/recipes/cvecezla.recipe
 share/calibre/recipes/cyberpresse.png
 share/calibre/recipes/cyberpresse.recipe
 share/calibre/recipes/cynewslive.recipe
+share/calibre/recipes/cyprus_weekly.png
 share/calibre/recipes/cyprus_weekly.recipe
 share/calibre/recipes/czas_gentlemanow.png
 share/calibre/recipes/czas_gentlemanow.recipe
 share/calibre/recipes/dachauer_nachrichten.png
 share/calibre/recipes/dachauer_nachrichten.recipe
+share/calibre/recipes/dagens_industri.png
 share/calibre/recipes/dagens_industri.recipe
+share/calibre/recipes/dagensmedicin_dk.png
 share/calibre/recipes/dagensmedicin_dk.recipe
+share/calibre/recipes/dagenspharma_dk.png
 share/calibre/recipes/dagenspharma_dk.recipe
 share/calibre/recipes/daily_express.png
 share/calibre/recipes/daily_express.recipe
@@ -5437,7 +5765,9 @@ share/calibre/recipes/dailyreckoning.png
 share/calibre/recipes/dailyreckoning.recipe
 share/calibre/recipes/dailytportal.png
 share/calibre/recipes/dailytportal.recipe
+share/calibre/recipes/dainik_bhaskar.png
 share/calibre/recipes/dainik_bhaskar.recipe
+share/calibre/recipes/dallas.png
 share/calibre/recipes/dallas.recipe
 share/calibre/recipes/danas.png
 share/calibre/recipes/danas.recipe
@@ -5447,23 +5777,37 @@ share/calibre/recipes/dark_reading.png
 share/calibre/recipes/dark_reading.recipe
 share/calibre/recipes/darknet.png
 share/calibre/recipes/darknet.recipe
+share/calibre/recipes/data_news.png
 share/calibre/recipes/data_news.recipe
+share/calibre/recipes/datasport.png
 share/calibre/recipes/datasport.recipe
+share/calibre/recipes/daum_net.png
 share/calibre/recipes/daum_net.recipe
+share/calibre/recipes/dawn.png
 share/calibre/recipes/dawn.recipe
+share/calibre/recipes/daytona_beach.png
 share/calibre/recipes/daytona_beach.recipe
+share/calibre/recipes/dbb.png
 share/calibre/recipes/dbb.recipe
+share/calibre/recipes/de_redactie_be.png
 share/calibre/recipes/de_redactie_be.recipe
 share/calibre/recipes/de_standaard.png
 share/calibre/recipes/de_standaard.recipe
 share/calibre/recipes/deadspin.png
 share/calibre/recipes/deadspin.recipe
+share/calibre/recipes/debunkingdenialism.png
+share/calibre/recipes/debunkingdenialism.recipe
 share/calibre/recipes/deccan_herald.png
+share/calibre/recipes/deccan_herald.recipe
+share/calibre/recipes/defensenews.png
 share/calibre/recipes/defensenews.recipe
 share/calibre/recipes/degentenaar.png
 share/calibre/recipes/degentenaar.recipe
+share/calibre/recipes/delco_times.png
 share/calibre/recipes/delco_times.recipe
+share/calibre/recipes/demagog.cz.png
 share/calibre/recipes/demagog.cz.recipe
+share/calibre/recipes/democracy_journal.png
 share/calibre/recipes/democracy_journal.recipe
 share/calibre/recipes/democracy_now.png
 share/calibre/recipes/democracy_now.recipe
@@ -5473,12 +5817,15 @@ share/calibre/recipes/den_of_geek.png
 share/calibre/recipes/den_of_geek.recipe
 share/calibre/recipes/denik.cz.png
 share/calibre/recipes/denik.cz.recipe
+share/calibre/recipes/denik_referendum.png
 share/calibre/recipes/denik_referendum.recipe
 share/calibre/recipes/denikn.cz.png
 share/calibre/recipes/denikn.cz.recipe
+share/calibre/recipes/denver_post.png
 share/calibre/recipes/denver_post.recipe
 share/calibre/recipes/der_standard.png
 share/calibre/recipes/der_standard.recipe
+share/calibre/recipes/deredactie.png
 share/calibre/recipes/deredactie.recipe
 share/calibre/recipes/derin_dusunce.png
 share/calibre/recipes/derin_dusunce.recipe
@@ -5486,10 +5833,13 @@ share/calibre/recipes/descopera.png
 share/calibre/recipes/descopera.recipe
 share/calibre/recipes/descopera_org.png
 share/calibre/recipes/descopera_org.recipe
+share/calibre/recipes/desiring_god.png
 share/calibre/recipes/desiring_god.recipe
+share/calibre/recipes/detroit_news.png
 share/calibre/recipes/detroit_news.recipe
 share/calibre/recipes/deutsche_welle_bs.png
 share/calibre/recipes/deutsche_welle_bs.recipe
+share/calibre/recipes/deutsche_welle_de.png
 share/calibre/recipes/deutsche_welle_de.recipe
 share/calibre/recipes/deutsche_welle_en.png
 share/calibre/recipes/deutsche_welle_en.recipe
@@ -5499,22 +5849,30 @@ share/calibre/recipes/deutsche_welle_hr.
 share/calibre/recipes/deutsche_welle_hr.recipe
 share/calibre/recipes/deutsche_welle_pt.png
 share/calibre/recipes/deutsche_welle_pt.recipe
+share/calibre/recipes/deutsche_welle_ru.png
+share/calibre/recipes/deutsche_welle_ru.recipe
 share/calibre/recipes/deutsche_welle_sr.png
 share/calibre/recipes/deutsche_welle_sr.recipe
+share/calibre/recipes/deutschland_funk.recipe
 share/calibre/recipes/developpez.png
 share/calibre/recipes/developpez.recipe
 share/calibre/recipes/dhnet_be.png
 share/calibre/recipes/dhnet_be.recipe
 share/calibre/recipes/di.png
 share/calibre/recipes/di.recipe
+share/calibre/recipes/diagonal.png
 share/calibre/recipes/diagonal.recipe
+share/calibre/recipes/diario_cordoba.png
 share/calibre/recipes/diario_cordoba.recipe
 share/calibre/recipes/diario_de_noticias.png
 share/calibre/recipes/diario_de_noticias.recipe
+share/calibre/recipes/diario_el_pueblo.png
 share/calibre/recipes/diario_el_pueblo.recipe
+share/calibre/recipes/diario_extra.png
 share/calibre/recipes/diario_extra.recipe
 share/calibre/recipes/diario_ibiza.png
 share/calibre/recipes/diario_ibiza.recipe
+share/calibre/recipes/diario_la_republica.png
 share/calibre/recipes/diario_la_republica.recipe
 share/calibre/recipes/diario_sport.png
 share/calibre/recipes/diario_sport.recipe
@@ -5522,6 +5880,7 @@ share/calibre/recipes/diariovasco.png
 share/calibre/recipes/diariovasco.recipe
 share/calibre/recipes/diepresse.png
 share/calibre/recipes/diepresse.recipe
+share/calibre/recipes/digit_magazine.png
 share/calibre/recipes/digit_magazine.recipe
 share/calibre/recipes/digital_arts.png
 share/calibre/recipes/digital_arts.recipe
@@ -5533,14 +5892,21 @@ share/calibre/recipes/digizone.png
 share/calibre/recipes/digizone.recipe
 share/calibre/recipes/dilbert.png
 share/calibre/recipes/dilbert.recipe
+share/calibre/recipes/dilema.png
+share/calibre/recipes/dilema.recipe
 share/calibre/recipes/dilemaveche.png
 share/calibre/recipes/dilemaveche.recipe
 share/calibre/recipes/dingoo_a320.recipe
 share/calibre/recipes/discover_magazine.png
+share/calibre/recipes/discover_magazine_monthly.png
 share/calibre/recipes/discover_magazine_monthly.recipe
+share/calibre/recipes/disinformatico.png
 share/calibre/recipes/disinformatico.recipe
+share/calibre/recipes/distrowatch_weekly.png
+share/calibre/recipes/distrowatch_weekly.recipe
 share/calibre/recipes/divahair.png
 share/calibre/recipes/divahair.recipe
+share/calibre/recipes/djurslandsposten_dk.png
 share/calibre/recipes/djurslandsposten_dk.recipe
 share/calibre/recipes/dn_se.png
 share/calibre/recipes/dn_se.recipe
@@ -5552,12 +5918,15 @@ share/calibre/recipes/dnevnik.recipe
 share/calibre/recipes/dnevnik_cro.png
 share/calibre/recipes/dnevnik_cro.recipe
 share/calibre/recipes/dnevnik_mk.recipe
+share/calibre/recipes/dobanevinosti.png
 share/calibre/recipes/dobanevinosti.recipe
 share/calibre/recipes/dobreprogamy.png
 share/calibre/recipes/dobreprogamy.recipe
+share/calibre/recipes/doghousediaries.png
 share/calibre/recipes/doghousediaries.recipe
 share/calibre/recipes/dominion.png
 share/calibre/recipes/dominion.recipe
+share/calibre/recipes/donga.png
 share/calibre/recipes/donga.recipe
 share/calibre/recipes/dorfener_anzeiger.png
 share/calibre/recipes/dorfener_anzeiger.recipe
@@ -5567,19 +5936,27 @@ share/calibre/recipes/dot_net.png
 share/calibre/recipes/dot_net.recipe
 share/calibre/recipes/dotpod.png
 share/calibre/recipes/dotpod.recipe
+share/calibre/recipes/dovod.png
+share/calibre/recipes/dovod.recipe
 share/calibre/recipes/down_to_earth.recipe
+share/calibre/recipes/downtoearth.png
 share/calibre/recipes/dr_dk.png
 share/calibre/recipes/dr_dk.recipe
 share/calibre/recipes/drivelry.recipe
 share/calibre/recipes/drytooling_pl.png
 share/calibre/recipes/drytooling_pl.recipe
+share/calibre/recipes/dual_shockers.png
+share/calibre/recipes/dual_shockers.recipe
+share/calibre/recipes/dunya_bizim.png
 share/calibre/recipes/dunya_bizim.recipe
 share/calibre/recipes/dunya_bulteni.png
 share/calibre/recipes/dunya_bulteni.recipe
+share/calibre/recipes/dunyahalleri.png
 share/calibre/recipes/dunyahalleri.recipe
+share/calibre/recipes/dunyahalleri_haftaninozeti.png
 share/calibre/recipes/dunyahalleri_haftaninozeti.recipe
+share/calibre/recipes/dvhn.png
 share/calibre/recipes/dvhn.recipe
-share/calibre/recipes/dw_de.recipe
 share/calibre/recipes/dwutygodnik.png
 share/calibre/recipes/dwutygodnik.recipe
 share/calibre/recipes/dzieje_pl.png
@@ -5607,14 +5984,20 @@ share/calibre/recipes/echo_dnia.recipe
 share/calibre/recipes/echo_moskvy.png
 share/calibre/recipes/echo_moskvy.recipe
 share/calibre/recipes/echo_online.png
+share/calibre/recipes/eclipseonline.png
 share/calibre/recipes/eclipseonline.recipe
 share/calibre/recipes/ecogeek.recipe
+share/calibre/recipes/economia.png
 share/calibre/recipes/economia.recipe
 share/calibre/recipes/economico.png
 share/calibre/recipes/economico.recipe
 share/calibre/recipes/economist.png
 share/calibre/recipes/economist.recipe
+share/calibre/recipes/economist_espresso.png
+share/calibre/recipes/economist_espresso.recipe
 share/calibre/recipes/economist_free.recipe
+share/calibre/recipes/economist_world_ahead.png
+share/calibre/recipes/economist_world_ahead.recipe
 share/calibre/recipes/ecotrend.png
 share/calibre/recipes/ecotrend.recipe
 share/calibre/recipes/ecuisine.png
@@ -5623,19 +6006,27 @@ share/calibre/recipes/edebistan.png
 share/calibre/recipes/edebistan.recipe
 share/calibre/recipes/edebiyat_haber.png
 share/calibre/recipes/edebiyat_haber.recipe
+share/calibre/recipes/edge_conversations.png
 share/calibre/recipes/edge_conversations.recipe
+share/calibre/recipes/editor_and_publisher.png
 share/calibre/recipes/editor_and_publisher.recipe
 share/calibre/recipes/editoriali.png
 share/calibre/recipes/editoriali.recipe
+share/calibre/recipes/edmonton_journal.png
 share/calibre/recipes/edmonton_journal.recipe
+share/calibre/recipes/eenadu.png
 share/calibre/recipes/eenadu.recipe
+share/calibre/recipes/eenadu_ap.png
+share/calibre/recipes/eenadu_ap.recipe
 share/calibre/recipes/egedallokalavisen_dk.png
 share/calibre/recipes/egedallokalavisen_dk.recipe
 share/calibre/recipes/egirl.png
 share/calibre/recipes/egirl.recipe
 share/calibre/recipes/eioba.png
 share/calibre/recipes/eioba.recipe
+share/calibre/recipes/ekantipur.png
 share/calibre/recipes/ekantipur.recipe
+share/calibre/recipes/ekathemerini.png
 share/calibre/recipes/ekathemerini.recipe
 share/calibre/recipes/ekologia_pl.png
 share/calibre/recipes/ekologia_pl.recipe
@@ -5643,37 +6034,50 @@ share/calibre/recipes/ekot.png
 share/calibre/recipes/ekot.recipe
 share/calibre/recipes/el_colombiano.png
 share/calibre/recipes/el_colombiano.recipe
+share/calibre/recipes/el_confidencial.recipe
+share/calibre/recipes/el_correo.png
 share/calibre/recipes/el_correo.recipe
 share/calibre/recipes/el_cultural.recipe
+share/calibre/recipes/el_diario.png
 share/calibre/recipes/el_diario.recipe
 share/calibre/recipes/el_diplo.png
 share/calibre/recipes/el_diplo.recipe
+share/calibre/recipes/el_economista.recipe
 share/calibre/recipes/el_espectador.png
 share/calibre/recipes/el_espectador.recipe
 share/calibre/recipes/el_faro.png
 share/calibre/recipes/el_faro.recipe
+share/calibre/recipes/el_malpensante.png
 share/calibre/recipes/el_malpensante.recipe
 share/calibre/recipes/el_mercurio_chile.png
 share/calibre/recipes/el_mercurio_chile.recipe
+share/calibre/recipes/el_mostrador.png
 share/calibre/recipes/el_mostrador.recipe
 share/calibre/recipes/el_mundo_co.png
 share/calibre/recipes/el_mundo_co.recipe
+share/calibre/recipes/el_mundo_today.png
 share/calibre/recipes/el_mundo_today.recipe
+share/calibre/recipes/el_nacional.png
 share/calibre/recipes/el_nacional.recipe
 share/calibre/recipes/el_observador.png
 share/calibre/recipes/el_observador.recipe
 share/calibre/recipes/el_pais.png
 share/calibre/recipes/el_pais.recipe
+share/calibre/recipes/el_pais_babelia.png
 share/calibre/recipes/el_pais_babelia.recipe
 share/calibre/recipes/el_pais_uy.png
 share/calibre/recipes/el_pais_uy.recipe
+share/calibre/recipes/el_periodico.png
 share/calibre/recipes/el_periodico.recipe
+share/calibre/recipes/el_publico.png
 share/calibre/recipes/el_publico.recipe
+share/calibre/recipes/el_tiempo.png
 share/calibre/recipes/el_tiempo.recipe
 share/calibre/recipes/el_universal.png
 share/calibre/recipes/el_universal.recipe
 share/calibre/recipes/elclubdelebook.png
 share/calibre/recipes/elclubdelebook.recipe
+share/calibre/recipes/elcohetealaluna.png
 share/calibre/recipes/elcohetealaluna.recipe
 share/calibre/recipes/elcomercio.png
 share/calibre/recipes/elcomercio.recipe
@@ -5704,17 +6108,26 @@ share/calibre/recipes/eluniverso_ec.png
 share/calibre/recipes/eluniverso_ec.recipe
 share/calibre/recipes/emg_en.png
 share/calibre/recipes/emg_en.recipe
+share/calibre/recipes/empire_magazine.png
 share/calibre/recipes/empire_magazine.recipe
+share/calibre/recipes/en_globes_co_il.recipe
 share/calibre/recipes/endgadget.png
 share/calibre/recipes/endgadget.recipe
 share/calibre/recipes/endgadget_ja.png
 share/calibre/recipes/endgadget_ja.recipe
 share/calibre/recipes/entrepeneur.png
 share/calibre/recipes/entrepeneur.recipe
+share/calibre/recipes/eos_wetenschap.png
 share/calibre/recipes/eos_wetenschap.recipe
+share/calibre/recipes/epl_talk.png
 share/calibre/recipes/epl_talk.recipe
+share/calibre/recipes/epoch_times.png
 share/calibre/recipes/epoch_times.recipe
+share/calibre/recipes/epw.png
 share/calibre/recipes/epw.recipe
+share/calibre/recipes/epw_magazine.png
+share/calibre/recipes/epw_magazine.recipe
+share/calibre/recipes/equestria_daily.png
 share/calibre/recipes/equestria_daily.recipe
 share/calibre/recipes/erdinger_anzeiger.png
 share/calibre/recipes/erdinger_anzeiger.recipe
@@ -5734,11 +6147,15 @@ share/calibre/recipes/esquire.png
 share/calibre/recipes/esquire.recipe
 share/calibre/recipes/estadao.png
 share/calibre/recipes/estadao.recipe
+share/calibre/recipes/eu_commission.png
 share/calibre/recipes/eu_commission.recipe
 share/calibre/recipes/europa_press.png
 share/calibre/recipes/europa_press.recipe
+share/calibre/recipes/europasur.png
 share/calibre/recipes/europasur.recipe
+share/calibre/recipes/evangelizo.png
 share/calibre/recipes/evangelizo.recipe
+share/calibre/recipes/everett_herald.png
 share/calibre/recipes/everett_herald.recipe
 share/calibre/recipes/evz.ro.png
 share/calibre/recipes/evz.ro.recipe
@@ -5746,7 +6163,9 @@ share/calibre/recipes/exiled.png
 share/calibre/recipes/exiled.recipe
 share/calibre/recipes/expansion_spanish.png
 share/calibre/recipes/expansion_spanish.recipe
+share/calibre/recipes/explosm.png
 share/calibre/recipes/explosm.recipe
+share/calibre/recipes/express_de.png
 share/calibre/recipes/express_de.recipe
 share/calibre/recipes/f1_ultra.png
 share/calibre/recipes/f1_ultra.recipe
@@ -5768,32 +6187,43 @@ share/calibre/recipes/faznet.png
 share/calibre/recipes/faznet.recipe
 share/calibre/recipes/fc_knudde.png
 share/calibre/recipes/fc_knudde.recipe
+share/calibre/recipes/fdb_pl.png
 share/calibre/recipes/fdb_pl.recipe
 share/calibre/recipes/fe_india.png
 share/calibre/recipes/fe_india.recipe
 share/calibre/recipes/felicia.png
 share/calibre/recipes/felicia.recipe
+share/calibre/recipes/fhm_uk.png
 share/calibre/recipes/fhm_uk.recipe
 share/calibre/recipes/fhmro.png
 share/calibre/recipes/fhmro.recipe
+share/calibre/recipes/fifty_two.png
+share/calibre/recipes/fifty_two.recipe
 share/calibre/recipes/film_org_pl.png
 share/calibre/recipes/film_org_pl.recipe
 share/calibre/recipes/film_web.png
 share/calibre/recipes/film_web.recipe
+share/calibre/recipes/financial_times.png
 share/calibre/recipes/financial_times.recipe
-share/calibre/recipes/financial_times_print_edition.recipe
 share/calibre/recipes/financialsense.png
 share/calibre/recipes/financialsense.recipe
 share/calibre/recipes/financiarul.png
 share/calibre/recipes/financiarul.recipe
+share/calibre/recipes/financieele_dagblad.png
 share/calibre/recipes/financieele_dagblad.recipe
 share/calibre/recipes/first_things.png
 share/calibre/recipes/first_things.recipe
+share/calibre/recipes/firstpost.png
+share/calibre/recipes/firstpost.recipe
+share/calibre/recipes/fisco_oggi.png
 share/calibre/recipes/fisco_oggi.recipe
 share/calibre/recipes/fleshbot.png
 share/calibre/recipes/fleshbot.recipe
+share/calibre/recipes/flickr.png
 share/calibre/recipes/flickr.recipe
+share/calibre/recipes/flickr_es.png
 share/calibre/recipes/flickr_es.recipe
+share/calibre/recipes/fluter_de.png
 share/calibre/recipes/fluter_de.recipe
 share/calibre/recipes/focus_de.png
 share/calibre/recipes/focus_de.recipe
@@ -5801,20 +6231,33 @@ share/calibre/recipes/focus_pl.png
 share/calibre/recipes/focus_pl.recipe
 share/calibre/recipes/fokkeensukke.png
 share/calibre/recipes/fokkeensukke.recipe
+share/calibre/recipes/fokus.recipe
 share/calibre/recipes/folha.png
 share/calibre/recipes/folha.recipe
 share/calibre/recipes/folhadesaopaulo.png
 share/calibre/recipes/folhadesaopaulo.recipe
+share/calibre/recipes/folhadesaopaulo_sub.png
 share/calibre/recipes/folhadesaopaulo_sub.recipe
+share/calibre/recipes/folkebladet_dk.png
 share/calibre/recipes/folkebladet_dk.recipe
 share/calibre/recipes/folkebladetdjursland_dk.png
 share/calibre/recipes/folkebladetdjursland_dk.recipe
+share/calibre/recipes/folketidende_dk.png
 share/calibre/recipes/folketidende_dk.recipe
+share/calibre/recipes/fontanka.png
+share/calibre/recipes/fontanka.recipe
+share/calibre/recipes/fooballua.png
+share/calibre/recipes/football_fancast.png
+share/calibre/recipes/football_fancast.recipe
+share/calibre/recipes/football_league_world.png
+share/calibre/recipes/footballua.recipe
 share/calibre/recipes/forbes.png
 share/calibre/recipes/forbes.recipe
+share/calibre/recipes/forbes_india.png
 share/calibre/recipes/forbes_india.recipe
 share/calibre/recipes/forbes_pl.png
 share/calibre/recipes/forbes_pl.recipe
+share/calibre/recipes/foreign_policy.png
 share/calibre/recipes/foreign_policy.recipe
 share/calibre/recipes/foreignaffairs.png
 share/calibre/recipes/foreignaffairs.recipe
@@ -5822,14 +6265,17 @@ share/calibre/recipes/formulaas.png
 share/calibre/recipes/formulaas.recipe
 share/calibre/recipes/forsal.png
 share/calibre/recipes/forsal.recipe
+share/calibre/recipes/fortune_magazine.png
 share/calibre/recipes/fortune_magazine.recipe
 share/calibre/recipes/fotoblogia_pl.png
 share/calibre/recipes/fotoblogia_pl.recipe
 share/calibre/recipes/foxnews.png
 share/calibre/recipes/foxnews.recipe
+share/calibre/recipes/fr_online.png
 share/calibre/recipes/fr_online.recipe
 share/calibre/recipes/frandroid.png
 share/calibre/recipes/frandroid.recipe
+share/calibre/recipes/frankfurter_rundschau.png
 share/calibre/recipes/frankfurter_rundschau.recipe
 share/calibre/recipes/freakonomics.png
 share/calibre/recipes/freakonomics.recipe
@@ -5837,15 +6283,18 @@ share/calibre/recipes/fredensborglokalav
 share/calibre/recipes/fredensborglokalavisen_dk.recipe
 share/calibre/recipes/fredericialokalavisen_dk.png
 share/calibre/recipes/fredericialokalavisen_dk.recipe
+share/calibre/recipes/frederiksbergbladet_dk.png
 share/calibre/recipes/frederiksbergbladet_dk.recipe
 share/calibre/recipes/frederikssundlokalavisen_dk.png
 share/calibre/recipes/frederikssundlokalavisen_dk.recipe
+share/calibre/recipes/free_inquiry.png
 share/calibre/recipes/free_inquiry.recipe
 share/calibre/recipes/freenature.png
 share/calibre/recipes/freenature.recipe
 share/calibre/recipes/freeway.recipe
 share/calibre/recipes/freisinger_tagblatt.png
 share/calibre/recipes/freisinger_tagblatt.recipe
+share/calibre/recipes/frontline.png
 share/calibre/recipes/frontline.recipe
 share/calibre/recipes/fstream.png
 share/calibre/recipes/fstream.recipe
@@ -5864,6 +6313,8 @@ share/calibre/recipes/gamasutra_fa.png
 share/calibre/recipes/gamasutra_fa.recipe
 share/calibre/recipes/gamasutra_news.png
 share/calibre/recipes/gamasutra_news.recipe
+share/calibre/recipes/game_rant.png
+share/calibre/recipes/game_rant.recipe
 share/calibre/recipes/gamekult.png
 share/calibre/recipes/gamekult.recipe
 share/calibre/recipes/gameplay_pl.png
@@ -5874,6 +6325,8 @@ share/calibre/recipes/gandul.png
 share/calibre/recipes/gandul.recipe
 share/calibre/recipes/garmischer_tagblatt.png
 share/calibre/recipes/garmischer_tagblatt.recipe
+share/calibre/recipes/gates_notes.png
+share/calibre/recipes/gates_notes.recipe
 share/calibre/recipes/gazeta-prawna-calibre-v1.png
 share/calibre/recipes/gazeta-prawna-calibre-v1.recipe
 share/calibre/recipes/gazeta_krakowska.png
@@ -5896,8 +6349,13 @@ share/calibre/recipes/gazeta_wspolczesna
 share/calibre/recipes/gazeta_wspolczesna.recipe
 share/calibre/recipes/gazeta_wyborcza.png
 share/calibre/recipes/gazeta_wyborcza.recipe
+share/calibre/recipes/gazetaua_ru.png
+share/calibre/recipes/gazetaua_ru.recipe
+share/calibre/recipes/gazetaua_ua.png
+share/calibre/recipes/gazetaua_ua.recipe
 share/calibre/recipes/gcn.png
 share/calibre/recipes/gcn.recipe
+share/calibre/recipes/geek_poke.png
 share/calibre/recipes/geek_poke.recipe
 share/calibre/recipes/gentoftelokalavisen_dk.png
 share/calibre/recipes/gentoftelokalavisen_dk.recipe
@@ -5905,26 +6363,38 @@ share/calibre/recipes/geopolityka.png
 share/calibre/recipes/geopolityka.recipe
 share/calibre/recipes/geretsrieder_merkur.png
 share/calibre/recipes/geretsrieder_merkur.recipe
+share/calibre/recipes/german_gov.png
 share/calibre/recipes/german_gov.recipe
+share/calibre/recipes/gezgin_dergi.png
 share/calibre/recipes/gezgin_dergi.recipe
 share/calibre/recipes/gildia_pl.png
 share/calibre/recipes/gildia_pl.recipe
+share/calibre/recipes/github.recipe
+share/calibre/recipes/give_me_sports.png
+share/calibre/recipes/give_me_sports.recipe
 share/calibre/recipes/gizmodo.png
 share/calibre/recipes/gizmodo.recipe
+share/calibre/recipes/gkt.png
 share/calibre/recipes/gkt.recipe
+share/calibre/recipes/glamour.png
 share/calibre/recipes/glamour.recipe
+share/calibre/recipes/glasgow_herald.png
 share/calibre/recipes/glasgow_herald.recipe
 share/calibre/recipes/glenn_greenwald.png
 share/calibre/recipes/glenn_greenwald.recipe
+share/calibre/recipes/glennbeck.png
 share/calibre/recipes/glennbeck.recipe
+share/calibre/recipes/globaltimes.png
 share/calibre/recipes/globaltimes.recipe
 share/calibre/recipes/globe_and_mail.png
 share/calibre/recipes/globe_and_mail.recipe
+share/calibre/recipes/globes_co_il.png
 share/calibre/recipes/globes_co_il.recipe
 share/calibre/recipes/glos_wielkopolski.png
 share/calibre/recipes/glos_wielkopolski.recipe
 share/calibre/recipes/go4it.png
 share/calibre/recipes/go4it.recipe
+share/calibre/recipes/go_comics.png
 share/calibre/recipes/go_comics.recipe
 share/calibre/recipes/goal.png
 share/calibre/recipes/goal.recipe
@@ -5932,11 +6402,18 @@ share/calibre/recipes/gofin_pl.png
 share/calibre/recipes/gofin_pl.recipe
 share/calibre/recipes/golem_de.png
 share/calibre/recipes/golem_de.recipe
+share/calibre/recipes/good_e-reader.png
+share/calibre/recipes/good_ereader.recipe
+share/calibre/recipes/good_house_keeping.png
 share/calibre/recipes/good_house_keeping.recipe
 share/calibre/recipes/good_to_know.png
 share/calibre/recipes/good_to_know.recipe
+share/calibre/recipes/google_news.png
 share/calibre/recipes/google_news.recipe
+share/calibre/recipes/googlemobileblog.png
 share/calibre/recipes/googlemobileblog.recipe
+share/calibre/recipes/gorky.png
+share/calibre/recipes/gorky.recipe
 share/calibre/recipes/gosc_full.png
 share/calibre/recipes/gosc_full.recipe
 share/calibre/recipes/gosc_niedzielny.png
@@ -5944,10 +6421,16 @@ share/calibre/recipes/gosc_niedzielny.re
 share/calibre/recipes/gram_pl.png
 share/calibre/recipes/gram_pl.recipe
 share/calibre/recipes/grandes_corresponsales_es.recipe
+share/calibre/recipes/grani.png
+share/calibre/recipes/grani.recipe
 share/calibre/recipes/granma.png
 share/calibre/recipes/granma.recipe
+share/calibre/recipes/granta.png
 share/calibre/recipes/granta.recipe
+share/calibre/recipes/grantland.png
 share/calibre/recipes/grantland.recipe
+share/calibre/recipes/greatist.png
+share/calibre/recipes/greatist.recipe
 share/calibre/recipes/greensboro_news_and_record.png
 share/calibre/recipes/greensboro_news_and_record.recipe
 share/calibre/recipes/grenaalokalavisen_dk.png
@@ -5965,20 +6448,28 @@ share/calibre/recipes/gsp.png
 share/calibre/recipes/gsp.recipe
 share/calibre/recipes/guardian.png
 share/calibre/recipes/guardian.recipe
+share/calibre/recipes/gulfnews.png
 share/calibre/recipes/gulfnews.recipe
 share/calibre/recipes/gulli.recipe
 share/calibre/recipes/gva_be.png
 share/calibre/recipes/gva_be.recipe
+share/calibre/recipes/gwup.png
 share/calibre/recipes/gwup.recipe
 share/calibre/recipes/h3.recipe
 share/calibre/recipes/haaretz_en.png
 share/calibre/recipes/haaretz_en.recipe
+share/calibre/recipes/habr.png
+share/calibre/recipes/habr.recipe
+share/calibre/recipes/habr_ru.png
+share/calibre/recipes/habr_ru.recipe
+share/calibre/recipes/hackernews.png
 share/calibre/recipes/hackernews.recipe
 share/calibre/recipes/haderslevlokalavisen_dk.png
 share/calibre/recipes/haderslevlokalavisen_dk.recipe
 share/calibre/recipes/haksoz.png
 share/calibre/recipes/haksoz.recipe
 share/calibre/recipes/halsnaeslokalavisen_dk.png
+share/calibre/recipes/hamilton_spectator.png
 share/calibre/recipes/hamilton_spectator.recipe
 share/calibre/recipes/handelsblatt.png
 share/calibre/recipes/handelsblatt.recipe
@@ -5988,29 +6479,55 @@ share/calibre/recipes/hankyoreh21.png
 share/calibre/recipes/hankyoreh21.recipe
 share/calibre/recipes/hannoversche_zeitung.png
 share/calibre/recipes/hannoversche_zeitung.recipe
+share/calibre/recipes/hardcore_gamer.png
+share/calibre/recipes/hardcore_gamer.recipe
+share/calibre/recipes/harpers.png
 share/calibre/recipes/harpers.recipe
-share/calibre/recipes/harpers_full.recipe
 share/calibre/recipes/hatalska.png
 share/calibre/recipes/hatalska.recipe
+share/calibre/recipes/hbr.png
 share/calibre/recipes/hbr.recipe
+share/calibre/recipes/healthline.png
+share/calibre/recipes/healthline.recipe
+share/calibre/recipes/heavy_metal_it.png
 share/calibre/recipes/heavy_metal_it.recipe
 share/calibre/recipes/heise.png
 share/calibre/recipes/heise.recipe
+share/calibre/recipes/heise_ct.png
 share/calibre/recipes/heise_ct.recipe
+share/calibre/recipes/heise_ix.png
 share/calibre/recipes/heise_ix.recipe
+share/calibre/recipes/heise_open.png
 share/calibre/recipes/heise_open.recipe
+share/calibre/recipes/helsingin_sanomat.png
 share/calibre/recipes/helsingin_sanomat.recipe
 share/calibre/recipes/high_country_news.png
 share/calibre/recipes/high_country_news.recipe
+share/calibre/recipes/himal_southasian.png
+share/calibre/recipes/himal_southasian.recipe
+share/calibre/recipes/hindu.png
 share/calibre/recipes/hindu.recipe
+share/calibre/recipes/hindu_business_line.png
 share/calibre/recipes/hindu_business_line.recipe
+share/calibre/recipes/hindu_human_rights.png
 share/calibre/recipes/hindu_human_rights.recipe
+share/calibre/recipes/hindu_post.png
 share/calibre/recipes/hindu_post.recipe
+share/calibre/recipes/hindufeeds.png
+share/calibre/recipes/hindufeeds.recipe
+share/calibre/recipes/hinduism_today.png
 share/calibre/recipes/hinduism_today.recipe
+share/calibre/recipes/hindustan.png
 share/calibre/recipes/hindustan.recipe
+share/calibre/recipes/hindustan_times.png
 share/calibre/recipes/hindustan_times.recipe
+share/calibre/recipes/hindustan_times_print.png
+share/calibre/recipes/hindustan_times_print.recipe
+share/calibre/recipes/hindutamil.png
+share/calibre/recipes/hindutamil.recipe
 share/calibre/recipes/historia_pl.png
 share/calibre/recipes/historia_pl.recipe
+share/calibre/recipes/history_today.png
 share/calibre/recipes/history_today.recipe
 share/calibre/recipes/hln_be.png
 share/calibre/recipes/hln_be.recipe
@@ -6026,9 +6543,13 @@ share/calibre/recipes/hollywood_reporter
 share/calibre/recipes/hollywood_reporter.recipe
 share/calibre/recipes/holzkirchener_merkur.png
 share/calibre/recipes/holzkirchener_merkur.recipe
+share/calibre/recipes/horizons.png
+share/calibre/recipes/horizons.recipe
 share/calibre/recipes/hornsherredavis_dk.recipe
 share/calibre/recipes/hornsherredlokalavisen_dk.png
 share/calibre/recipes/hornsherredlokalavisen_dk.recipe
+share/calibre/recipes/hot_cars.png
+share/calibre/recipes/hot_cars.recipe
 share/calibre/recipes/hotair.png
 share/calibre/recipes/hotair.recipe
 share/calibre/recipes/hotcity.png
@@ -6045,6 +6566,7 @@ share/calibre/recipes/hoy.png
 share/calibre/recipes/hoy.recipe
 share/calibre/recipes/hrt.png
 share/calibre/recipes/hrt.recipe
+share/calibre/recipes/huffingtonpost.png
 share/calibre/recipes/huffingtonpost.recipe
 share/calibre/recipes/huffingtonpost_uk.png
 share/calibre/recipes/hurriyet.png
@@ -6056,28 +6578,39 @@ share/calibre/recipes/hvidovreavis_dk.re
 share/calibre/recipes/hvidovrelokalavisen_dk.png
 share/calibre/recipes/hvidovrelokalavisen_dk.recipe
 share/calibre/recipes/ibm_smarter_planet.recipe
+share/calibre/recipes/id_pixel.png
 share/calibre/recipes/id_pixel.recipe
+share/calibre/recipes/ideal_almeria.png
 share/calibre/recipes/ideal_almeria.recipe
+share/calibre/recipes/ideal_granada.png
 share/calibre/recipes/ideal_granada.recipe
+share/calibre/recipes/ideal_jaen.png
 share/calibre/recipes/ideal_jaen.recipe
+share/calibre/recipes/idg_se.png
 share/calibre/recipes/idg_se.recipe
 share/calibre/recipes/idnes.png
 share/calibre/recipes/idnes.recipe
+share/calibre/recipes/ieee_spectrum_mag.png
 share/calibre/recipes/ieee_spectrum_mag.recipe
 share/calibre/recipes/ieeespectrum.png
 share/calibre/recipes/ieeespectrum.recipe
 share/calibre/recipes/iekspries.png
 share/calibre/recipes/iekspries.recipe
+share/calibre/recipes/ifzm.png
 share/calibre/recipes/ifzm.recipe
+share/calibre/recipes/ihned.cz.png
 share/calibre/recipes/ihned.cz.recipe
+share/calibre/recipes/ihned.png
 share/calibre/recipes/ihned.recipe
 share/calibre/recipes/iht.png
 share/calibre/recipes/iht.recipe
+share/calibre/recipes/iktibas.png
 share/calibre/recipes/iktibas.recipe
 share/calibre/recipes/il_cambiamento.png
 share/calibre/recipes/il_cambiamento.recipe
 share/calibre/recipes/il_fatto.png
 share/calibre/recipes/il_fatto.recipe
+share/calibre/recipes/il_foglio.png
 share/calibre/recipes/il_foglio.recipe
 share/calibre/recipes/il_giornale.png
 share/calibre/recipes/il_giornale.recipe
@@ -6085,7 +6618,9 @@ share/calibre/recipes/il_messaggero.png
 share/calibre/recipes/il_messaggero.recipe
 share/calibre/recipes/il_post.png
 share/calibre/recipes/il_post.recipe
+share/calibre/recipes/iliteratura_cz.png
 share/calibre/recipes/iliteratura_cz.recipe
+share/calibre/recipes/ilmanifesto.png
 share/calibre/recipes/ilmanifesto.recipe
 share/calibre/recipes/ilsole24ore.png
 share/calibre/recipes/ilsole24ore.recipe
@@ -6097,38 +6632,62 @@ share/calibre/recipes/in4_pl.png
 share/calibre/recipes/in4_pl.recipe
 share/calibre/recipes/in_gr.png
 share/calibre/recipes/in_gr.recipe
+share/calibre/recipes/inc.png
 share/calibre/recipes/inc.recipe
+share/calibre/recipes/inc42.png
+share/calibre/recipes/inc42.recipe
 share/calibre/recipes/independent.png
 share/calibre/recipes/independent.recipe
+share/calibre/recipes/independent_australia.png
 share/calibre/recipes/independent_australia.recipe
 share/calibre/recipes/index_hu.png
 share/calibre/recipes/index_hu.recipe
+share/calibre/recipes/india_facts.png
 share/calibre/recipes/india_facts.recipe
+share/calibre/recipes/india_legal_magazine.png
 share/calibre/recipes/india_legal_magazine.recipe
+share/calibre/recipes/india_speaks_reddit.png
 share/calibre/recipes/india_speaks_reddit.recipe
+share/calibre/recipes/india_today.png
 share/calibre/recipes/india_today.recipe
 share/calibre/recipes/indian_express.png
 share/calibre/recipes/indian_express.recipe
+share/calibre/recipes/indic_today.png
 share/calibre/recipes/indic_today.recipe
+share/calibre/recipes/indy_star.png
 share/calibre/recipes/indy_star.recipe
 share/calibre/recipes/infobae.png
 share/calibre/recipes/infobae.recipe
+share/calibre/recipes/infomotori.png
 share/calibre/recipes/infomotori.recipe
 share/calibre/recipes/information_dk.png
 share/calibre/recipes/information_dk.recipe
+share/calibre/recipes/infoworld.png
 share/calibre/recipes/infoworld.recipe
 share/calibre/recipes/infra_pl.png
 share/calibre/recipes/infra_pl.recipe
 share/calibre/recipes/ing_dk.png
 share/calibre/recipes/ing_dk.recipe
+share/calibre/recipes/inopressa.png
 share/calibre/recipes/inopressa.recipe
 share/calibre/recipes/inquirer_net.png
 share/calibre/recipes/inquirer_net.recipe
+share/calibre/recipes/insan_okur.png
 share/calibre/recipes/insan_okur.recipe
+share/calibre/recipes/insider.png
 share/calibre/recipes/insider.recipe
 share/calibre/recipes/instapaper.png
 share/calibre/recipes/instapaper.recipe
+share/calibre/recipes/intelligencer.png
 share/calibre/recipes/intelligencer.recipe
+share/calibre/recipes/interfax.png
+share/calibre/recipes/interfax.recipe
+share/calibre/recipes/interfax_ua.png
+share/calibre/recipes/interfax_ua.recipe
+share/calibre/recipes/interfax_uk.png
+share/calibre/recipes/interfax_uk.recipe
+share/calibre/recipes/internazionale.png
+share/calibre/recipes/internazionale.recipe
 share/calibre/recipes/intrefete.png
 share/calibre/recipes/intrefete.recipe
 share/calibre/recipes/io9.png
@@ -6141,26 +6700,37 @@ share/calibre/recipes/iprofesional.png
 share/calibre/recipes/iprofesional.recipe
 share/calibre/recipes/irish_independent.png
 share/calibre/recipes/irish_independent.recipe
+share/calibre/recipes/irish_times.png
 share/calibre/recipes/irish_times.recipe
+share/calibre/recipes/irish_times_free.recipe
 share/calibre/recipes/isar-loisachbote.png
 share/calibre/recipes/isar-loisachbote.recipe
+share/calibre/recipes/istorias.png
 share/calibre/recipes/istorias.recipe
+share/calibre/recipes/istories.png
+share/calibre/recipes/istories.recipe
+share/calibre/recipes/ivanamilakovic.png
 share/calibre/recipes/ivanamilakovic.recipe
 share/calibre/recipes/ixbt.png
 share/calibre/recipes/ixbt.recipe
 share/calibre/recipes/izvestia.png
 share/calibre/recipes/izvestia.recipe
+share/calibre/recipes/jacobinmag.png
 share/calibre/recipes/jacobinmag.recipe
+share/calibre/recipes/jagran_josh.png
 share/calibre/recipes/jagran_josh.recipe
 share/calibre/recipes/jakarta_globe.recipe
+share/calibre/recipes/jakarta_post.png
 share/calibre/recipes/jakarta_post.recipe
 share/calibre/recipes/jalopnik.png
 share/calibre/recipes/jalopnik.recipe
+share/calibre/recipes/japaa.png
 share/calibre/recipes/japaa.recipe
 share/calibre/recipes/japan_news.png
 share/calibre/recipes/japan_news.recipe
 share/calibre/recipes/japan_times.png
 share/calibre/recipes/japan_times.recipe
+share/calibre/recipes/javalobby.png
 share/calibre/recipes/javalobby.recipe
 share/calibre/recipes/jb_online.png
 share/calibre/recipes/jb_online.recipe
@@ -6174,11 +6744,13 @@ share/calibre/recipes/jijinews.png
 share/calibre/recipes/jijinews.recipe
 share/calibre/recipes/joelonsoftware.png
 share/calibre/recipes/joelonsoftware.recipe
+share/calibre/recipes/johm.png
 share/calibre/recipes/johm.recipe
 share/calibre/recipes/joongang.png
 share/calibre/recipes/joongang.recipe
 share/calibre/recipes/joop.png
 share/calibre/recipes/joop.recipe
+share/calibre/recipes/jot_down.png
 share/calibre/recipes/jot_down.recipe
 share/calibre/recipes/journalgazette.png
 share/calibre/recipes/journalgazette.recipe
@@ -6196,8 +6768,11 @@ share/calibre/recipes/jurnalulnational.p
 share/calibre/recipes/jurnalulnational.recipe
 share/calibre/recipes/jutarnji.png
 share/calibre/recipes/jutarnji.recipe
+share/calibre/recipes/juve_la_stampa.png
 share/calibre/recipes/juve_la_stampa.recipe
+share/calibre/recipes/juventudrebelde.png
 share/calibre/recipes/juventudrebelde.recipe
+share/calibre/recipes/jv_dk.png
 share/calibre/recipes/jv_dk.recipe
 share/calibre/recipes/kahokushinpo.png
 share/calibre/recipes/kahokushinpo.recipe
@@ -6207,31 +6782,49 @@ share/calibre/recipes/kamikaze.png
 share/calibre/recipes/kamikaze.recipe
 share/calibre/recipes/karlsruhe.png
 share/calibre/recipes/karlsruhe.recipe
+share/calibre/recipes/karsi_gazete.png
 share/calibre/recipes/karsi_gazete.recipe
+share/calibre/recipes/kath_net.png
 share/calibre/recipes/kath_net.recipe
 share/calibre/recipes/kathemerini.png
 share/calibre/recipes/kathemerini.recipe
+share/calibre/recipes/kellog_insight.png
 share/calibre/recipes/kellog_insight.recipe
+share/calibre/recipes/kerrang.png
 share/calibre/recipes/kerrang.recipe
+share/calibre/recipes/kgsenghavebladet_dk.png
 share/calibre/recipes/kgsenghavebladet_dk.recipe
+share/calibre/recipes/kholod.png
+share/calibre/recipes/kholod.recipe
+share/calibre/recipes/kholod_en.png
+share/calibre/recipes/kholod_en.recipe
+share/calibre/recipes/kidney.png
 share/calibre/recipes/kidney.recipe
+share/calibre/recipes/kirkusreviews.png
+share/calibre/recipes/kirkusreviews.recipe
 share/calibre/recipes/kitekinto.png
 share/calibre/recipes/kitekinto.recipe
 share/calibre/recipes/kitsapun.png
 share/calibre/recipes/kitsapun.recipe
+share/calibre/recipes/kleinezeitung.png
 share/calibre/recipes/kleinezeitung.recipe
 share/calibre/recipes/klubknjige.recipe
 share/calibre/recipes/km_blog.png
 share/calibre/recipes/km_blog.recipe
+share/calibre/recipes/knack_be.png
 share/calibre/recipes/knack_be.recipe
+share/calibre/recipes/knife_media.png
+share/calibre/recipes/knife_media.recipe
 share/calibre/recipes/koegelokalavisen_dk.png
 share/calibre/recipes/koegelokalavisen_dk.recipe
 share/calibre/recipes/koldinglokalavisen_dk.png
 share/calibre/recipes/koldinglokalavisen_dk.recipe
+share/calibre/recipes/komchadluek.png
 share/calibre/recipes/komchadluek.recipe
 share/calibre/recipes/kommersant.png
 share/calibre/recipes/kommersant.recipe
 share/calibre/recipes/kommunalsundhed_dk.recipe
+share/calibre/recipes/kompas.png
 share/calibre/recipes/kompas.recipe
 share/calibre/recipes/kompiutierra.png
 share/calibre/recipes/kompiutierra.recipe
@@ -6275,11 +6868,19 @@ share/calibre/recipes/kurier_poranny.png
 share/calibre/recipes/kurier_poranny.recipe
 share/calibre/recipes/kurier_szczecinski.png
 share/calibre/recipes/kurier_szczecinski.recipe
+share/calibre/recipes/kyivpost_ar.png
+share/calibre/recipes/kyivpost_ar.recipe
+share/calibre/recipes/kyivpost_en.png
+share/calibre/recipes/kyivpost_en.recipe
+share/calibre/recipes/kyivpost_ua.png
+share/calibre/recipes/kyivpost_ua.recipe
 share/calibre/recipes/kyungyhang.recipe
+share/calibre/recipes/l_espresso.png
 share/calibre/recipes/l_espresso.recipe
 share/calibre/recipes/l_vivs_ghazieta.recipe
 share/calibre/recipes/la_cuarta.png
 share/calibre/recipes/la_cuarta.recipe
+share/calibre/recipes/la_gazetta_del_mezzogiorno.png
 share/calibre/recipes/la_gazetta_del_mezzogiorno.recipe
 share/calibre/recipes/la_gazzeta_dello_sport.png
 share/calibre/recipes/la_gazzeta_dello_sport.recipe
@@ -6297,17 +6898,21 @@ share/calibre/recipes/la_republica.png
 share/calibre/recipes/la_republica.recipe
 share/calibre/recipes/la_rioja.png
 share/calibre/recipes/la_rioja.recipe
+share/calibre/recipes/la_segunda.png
 share/calibre/recipes/la_segunda.recipe
 share/calibre/recipes/la_stampa.png
 share/calibre/recipes/la_stampa.recipe
 share/calibre/recipes/la_tercera.png
 share/calibre/recipes/la_tercera.recipe
+share/calibre/recipes/la_tribuna.png
 share/calibre/recipes/la_tribuna.recipe
+share/calibre/recipes/la_voce.png
 share/calibre/recipes/la_voce.recipe
 share/calibre/recipes/lalibre_be.png
 share/calibre/recipes/lalibre_be.recipe
 share/calibre/recipes/lamebook.png
 share/calibre/recipes/lamebook.recipe
+share/calibre/recipes/lameuse_be.png
 share/calibre/recipes/lameuse_be.recipe
 share/calibre/recipes/lanacion.png
 share/calibre/recipes/lanacion.recipe
@@ -6327,11 +6932,15 @@ share/calibre/recipes/latimes.png
 share/calibre/recipes/latimes.recipe
 share/calibre/recipes/latribuna.png
 share/calibre/recipes/latribuna.recipe
+share/calibre/recipes/lavanguardia.png
 share/calibre/recipes/lavanguardia.recipe
+share/calibre/recipes/lavanguardia_corresponsales_es.png
 share/calibre/recipes/lavanguardia_corresponsales_es.recipe
 share/calibre/recipes/lavenir_be.png
 share/calibre/recipes/lavenir_be.recipe
+share/calibre/recipes/le_gorafi.png
 share/calibre/recipes/le_gorafi.recipe
+share/calibre/recipes/le_journal.png
 share/calibre/recipes/le_journal.recipe
 share/calibre/recipes/le_monde.png
 share/calibre/recipes/le_monde.recipe
@@ -6345,11 +6954,13 @@ share/calibre/recipes/le_monde_sub_paper
 share/calibre/recipes/le_monde_sub_paper.recipe
 share/calibre/recipes/le_nouvel_observateur.png
 share/calibre/recipes/le_nouvel_observateur.recipe
+share/calibre/recipes/le_peuple_breton.png
 share/calibre/recipes/le_peuple_breton.recipe
 share/calibre/recipes/le_temps.png
 share/calibre/recipes/le_temps.recipe
 share/calibre/recipes/ledevoir.png
 share/calibre/recipes/ledevoir.recipe
+share/calibre/recipes/leduc.png
 share/calibre/recipes/leduc.recipe
 share/calibre/recipes/lega_nerd.png
 share/calibre/recipes/lega_nerd.recipe
@@ -6359,23 +6970,32 @@ share/calibre/recipes/leggo_it.png
 share/calibre/recipes/leggo_it.recipe
 share/calibre/recipes/legitymizm.png
 share/calibre/recipes/legitymizm.recipe
+share/calibre/recipes/leipzer_volkszeitung.png
 share/calibre/recipes/leipzer_volkszeitung.recipe
 share/calibre/recipes/lemonde_dip.png
 share/calibre/recipes/lemonde_dip.recipe
+share/calibre/recipes/lenta_ru.png
 share/calibre/recipes/lenta_ru.recipe
 share/calibre/recipes/lepoint.png
 share/calibre/recipes/lepoint.recipe
 share/calibre/recipes/lequipe.png
 share/calibre/recipes/lequipe.recipe
+share/calibre/recipes/les_echos.png
 share/calibre/recipes/les_echos.recipe
+share/calibre/recipes/lescienze.png
 share/calibre/recipes/lescienze.recipe
+share/calibre/recipes/lesoir_be.png
 share/calibre/recipes/lesoir_be.recipe
 share/calibre/recipes/letsgetcritical.recipe
+share/calibre/recipes/levante.png
 share/calibre/recipes/levante.recipe
+share/calibre/recipes/lex_fridman_podcast.png
+share/calibre/recipes/lex_fridman_podcast.recipe
 share/calibre/recipes/lexpress.png
 share/calibre/recipes/lexpress.recipe
 share/calibre/recipes/liberation.png
 share/calibre/recipes/liberation.recipe
+share/calibre/recipes/liberatorio_politico.png
 share/calibre/recipes/liberatorio_politico.recipe
 share/calibre/recipes/libero.recipe
 share/calibre/recipes/libertad_digital.png
@@ -6388,39 +7008,55 @@ share/calibre/recipes/lifehacker.png
 share/calibre/recipes/lifehacker.recipe
 share/calibre/recipes/lifehacker_pl.png
 share/calibre/recipes/lifehacker_pl.recipe
+share/calibre/recipes/liganet_ru.png
+share/calibre/recipes/liganet_ru.recipe
+share/calibre/recipes/liganet_ua.png
+share/calibre/recipes/liganet_ua.recipe
+share/calibre/recipes/lightspeed_magazine.png
 share/calibre/recipes/lightspeed_magazine.recipe
+share/calibre/recipes/limba_sarda.png
 share/calibre/recipes/limba_sarda.recipe
 share/calibre/recipes/limes.png
 share/calibre/recipes/limes.recipe
 share/calibre/recipes/linux_magazine.png
 share/calibre/recipes/linux_magazine.recipe
+share/calibre/recipes/linux_news_de.png
 share/calibre/recipes/linux_news_de.recipe
 share/calibre/recipes/linuxportal_pl.png
 share/calibre/recipes/linuxportal_pl.recipe
 share/calibre/recipes/list_apart.png
 share/calibre/recipes/list_apart.recipe
+share/calibre/recipes/live_law.png
+share/calibre/recipes/live_law.recipe
 share/calibre/recipes/livemint.png
 share/calibre/recipes/livemint.recipe
+share/calibre/recipes/livescience.png
 share/calibre/recipes/livescience.recipe
+share/calibre/recipes/living_stones.png
 share/calibre/recipes/living_stones.recipe
 share/calibre/recipes/lomza.png
 share/calibre/recipes/lomza.recipe
 share/calibre/recipes/london_free_press.png
 share/calibre/recipes/london_free_press.recipe
+share/calibre/recipes/los_danieles.png
 share/calibre/recipes/los_danieles.recipe
 share/calibre/recipes/los_tiempos_bo.png
 share/calibre/recipes/los_tiempos_bo.recipe
+share/calibre/recipes/losservatoreromano_it.png
 share/calibre/recipes/losservatoreromano_it.recipe
 share/calibre/recipes/lrb.png
 share/calibre/recipes/lrb.recipe
 share/calibre/recipes/lrb_payed.png
+share/calibre/recipes/ludwig_mises.png
 share/calibre/recipes/ludwig_mises.recipe
+share/calibre/recipes/luns_a_venres.png
 share/calibre/recipes/luns_a_venres.recipe
 share/calibre/recipes/lupa.png
 share/calibre/recipes/lupa.recipe
 share/calibre/recipes/lvivs_ks_ghazieta.recipe
 share/calibre/recipes/lwn.png
 share/calibre/recipes/lwn.recipe
+share/calibre/recipes/lwn_free.png
 share/calibre/recipes/lwn_free.recipe
 share/calibre/recipes/lwn_weekly.png
 share/calibre/recipes/lwn_weekly.recipe
@@ -6430,6 +7066,7 @@ share/calibre/recipes/mac_world.png
 share/calibre/recipes/mac_world.recipe
 share/calibre/recipes/mac_world_uk.png
 share/calibre/recipes/mac_world_uk.recipe
+share/calibre/recipes/macity.png
 share/calibre/recipes/macity.recipe
 share/calibre/recipes/macleans.png
 share/calibre/recipes/macleans.recipe
@@ -6437,52 +7074,75 @@ share/calibre/recipes/macrobusiness.png
 share/calibre/recipes/macrobusiness.recipe
 share/calibre/recipes/maekyung.png
 share/calibre/recipes/maekyung.recipe
+share/calibre/recipes/magyar_nemzet.png
 share/calibre/recipes/magyar_nemzet.recipe
+share/calibre/recipes/maharashtra_times.png
 share/calibre/recipes/maharashtra_times.recipe
 share/calibre/recipes/mail_and_guardian.png
 share/calibre/recipes/mail_and_guardian.recipe
 share/calibre/recipes/mainichi.png
 share/calibre/recipes/mainichi.recipe
+share/calibre/recipes/mainichi_en.png
 share/calibre/recipes/mainichi_en.recipe
 share/calibre/recipes/mainichi_science_news.png
 share/calibre/recipes/mainichi_science_news.recipe
+share/calibre/recipes/make_use_of.png
+share/calibre/recipes/make_use_of.recipe
+share/calibre/recipes/malaya_business_insight.png
 share/calibre/recipes/malaya_business_insight.recipe
 share/calibre/recipes/malaysian_mirror.recipe
+share/calibre/recipes/mallorca_zeitung.png
 share/calibre/recipes/mallorca_zeitung.recipe
+share/calibre/recipes/mandidner.png
 share/calibre/recipes/mandidner.recipe
 share/calibre/recipes/manila_standard_today.recipe
 share/calibre/recipes/marca.png
 share/calibre/recipes/marca.recipe
 share/calibre/recipes/marctv.png
 share/calibre/recipes/marctv.recipe
+share/calibre/recipes/marine_corps_times.png
 share/calibre/recipes/marine_corps_times.recipe
+share/calibre/recipes/marketing_magazine.png
 share/calibre/recipes/marketing_magazine.recipe
 share/calibre/recipes/marketing_sensoriale.png
 share/calibre/recipes/marketing_sensoriale.recipe
+share/calibre/recipes/martinfowler.recipe
 share/calibre/recipes/maskinbladet_dk.png
 share/calibre/recipes/maskinbladet_dk.recipe
 share/calibre/recipes/mateusz_czytania.png
 share/calibre/recipes/mateusz_czytania.recipe
+share/calibre/recipes/matichon.png
 share/calibre/recipes/matichon.recipe
 share/calibre/recipes/max_planck.png
 share/calibre/recipes/max_planck.recipe
 share/calibre/recipes/mayra.png
 share/calibre/recipes/mayra.recipe
+share/calibre/recipes/mdj.png
 share/calibre/recipes/mdj.recipe
 share/calibre/recipes/media2.png
 share/calibre/recipes/media2.recipe
+share/calibre/recipes/media_zone.png
 share/calibre/recipes/media_zone.recipe
 share/calibre/recipes/mediafax.png
 share/calibre/recipes/mediafax.recipe
+share/calibre/recipes/mediaindonesia.png
 share/calibre/recipes/mediaindonesia.recipe
 share/calibre/recipes/mediapart.png
 share/calibre/recipes/mediapart.recipe
+share/calibre/recipes/mediterraneo.png
 share/calibre/recipes/mediterraneo.recipe
 share/calibre/recipes/medscape.png
 share/calibre/recipes/medscape.recipe
+share/calibre/recipes/meduza.png
+share/calibre/recipes/meduza.recipe
+share/calibre/recipes/meduza_ru.png
+share/calibre/recipes/meduza_ru.recipe
+share/calibre/recipes/mel.png
+share/calibre/recipes/mel.recipe
 share/calibre/recipes/melbourne_herald_sun.png
 share/calibre/recipes/melbourne_herald_sun.recipe
 share/calibre/recipes/men24_gr.recipe
+share/calibre/recipes/mens_day_out.png
 share/calibre/recipes/mens_day_out.recipe
 share/calibre/recipes/mens_health.png
 share/calibre/recipes/mens_health.recipe
@@ -6505,35 +7165,48 @@ share/calibre/recipes/michellemalkin.png
 share/calibre/recipes/michellemalkin.recipe
 share/calibre/recipes/miesbacher_merkur.png
 share/calibre/recipes/miesbacher_merkur.recipe
+share/calibre/recipes/military_times.png
 share/calibre/recipes/military_times.recipe
+share/calibre/recipes/mit_technology_review.png
 share/calibre/recipes/mit_technology_review.recipe
 share/calibre/recipes/mlody_technik_pl.png
 share/calibre/recipes/mlody_technik_pl.recipe
 share/calibre/recipes/mmc_rtv.png
 share/calibre/recipes/mmc_rtv.recipe
+share/calibre/recipes/mobilenations.png
 share/calibre/recipes/mobilenations.recipe
 share/calibre/recipes/modoros.png
 share/calibre/recipes/modoros.recipe
 share/calibre/recipes/moldovaazi.png
 share/calibre/recipes/moldovaazi.recipe
+share/calibre/recipes/monbiot.png
 share/calibre/recipes/monbiot.recipe
+share/calibre/recipes/mondedurable.png
 share/calibre/recipes/mondedurable.recipe
 share/calibre/recipes/monden.png
 share/calibre/recipes/monden.recipe
 share/calibre/recipes/money_pl.png
 share/calibre/recipes/money_pl.recipe
+share/calibre/recipes/moneycontrol.png
 share/calibre/recipes/moneycontrol.recipe
 share/calibre/recipes/moneyro.png
 share/calibre/recipes/moneyro.recipe
 share/calibre/recipes/montevideo_com.png
 share/calibre/recipes/montevideo_com.recipe
+share/calibre/recipes/montreal_gazette.png
 share/calibre/recipes/montreal_gazette.recipe
 share/calibre/recipes/more_intelligent_life.png
 share/calibre/recipes/more_intelligent_life.recipe
 share/calibre/recipes/moscow_times.png
 share/calibre/recipes/moscow_times.recipe
+share/calibre/recipes/moscowtimes_en.png
+share/calibre/recipes/moscowtimes_en.recipe
+share/calibre/recipes/moscowtimes_ru.png
+share/calibre/recipes/moscowtimes_ru.recipe
 share/calibre/recipes/motherjones.png
 share/calibre/recipes/motherjones.recipe
+share/calibre/recipes/movie_web.png
+share/calibre/recipes/movie_web.recipe
 share/calibre/recipes/msdnmag_en.png
 share/calibre/recipes/msdnmag_en.recipe
 share/calibre/recipes/msnbc.png
@@ -6552,10 +7225,17 @@ share/calibre/recipes/munchner_merkur_wu
 share/calibre/recipes/munchner_merkur_wurmtal.recipe
 share/calibre/recipes/murnauer_tagblatt.png
 share/calibre/recipes/murnauer_tagblatt.recipe
+share/calibre/recipes/mwjournal.png
 share/calibre/recipes/mwjournal.recipe
+share/calibre/recipes/my_dealz_de.png
 share/calibre/recipes/my_dealz_de.recipe
 share/calibre/recipes/myapple_pl.png
 share/calibre/recipes/myapple_pl.recipe
+share/calibre/recipes/n_kaliningrad.png
+share/calibre/recipes/n_kaliningrad.recipe
+share/calibre/recipes/n_plus_one.png
+share/calibre/recipes/n_plus_one.recipe
+share/calibre/recipes/nachdenkseiten.png
 share/calibre/recipes/nachdenkseiten.recipe
 share/calibre/recipes/nacional_cro.png
 share/calibre/recipes/nacional_cro.recipe
@@ -6574,70 +7254,108 @@ share/calibre/recipes/natemat_pl.png
 share/calibre/recipes/natemat_pl.recipe
 share/calibre/recipes/natgeo.png
 share/calibre/recipes/natgeo.recipe
+share/calibre/recipes/natgeohis.png
+share/calibre/recipes/natgeohis.recipe
+share/calibre/recipes/natgeomag.png
+share/calibre/recipes/natgeomag.recipe
+share/calibre/recipes/nation_ke.png
 share/calibre/recipes/nation_ke.recipe
 share/calibre/recipes/national_geographic_es.png
 share/calibre/recipes/national_geographic_es.recipe
 share/calibre/recipes/national_geographic_it.png
 share/calibre/recipes/national_geographic_it.recipe
+share/calibre/recipes/national_post.png
 share/calibre/recipes/national_post.recipe
 share/calibre/recipes/nationalgeoro.png
 share/calibre/recipes/nationalgeoro.recipe
 share/calibre/recipes/nationalreviewonline.png
 share/calibre/recipes/nationalreviewonline.recipe
+share/calibre/recipes/nature.png
 share/calibre/recipes/nature.recipe
 share/calibre/recipes/nauka_w_polsce.png
 share/calibre/recipes/nauka_w_polsce.recipe
+share/calibre/recipes/nautilus.png
 share/calibre/recipes/nautilus.recipe
 share/calibre/recipes/navalny.png
 share/calibre/recipes/navalny.recipe
+share/calibre/recipes/navy_times.png
 share/calibre/recipes/navy_times.recipe
+share/calibre/recipes/nbonline.png
 share/calibre/recipes/nbonline.recipe
+share/calibre/recipes/ncrnext.png
 share/calibre/recipes/ncrnext.recipe
+share/calibre/recipes/nejm.png
 share/calibre/recipes/nejm.recipe
 share/calibre/recipes/neowin.png
 share/calibre/recipes/neowin.recipe
+share/calibre/recipes/nepszabadsag.png
 share/calibre/recipes/nepszabadsag.recipe
 share/calibre/recipes/netzpolitik.png
 share/calibre/recipes/netzpolitik.recipe
 share/calibre/recipes/neviditelny_pes.png
 share/calibre/recipes/neviditelny_pes.recipe
+share/calibre/recipes/new_london_day.png
 share/calibre/recipes/new_london_day.recipe
 share/calibre/recipes/new_scientist.png
 share/calibre/recipes/new_scientist.recipe
+share/calibre/recipes/new_scientist_mag.png
+share/calibre/recipes/new_scientist_mag.recipe
 share/calibre/recipes/new_statesman.png
 share/calibre/recipes/new_statesman.recipe
+share/calibre/recipes/new_york_review_of_books.png
 share/calibre/recipes/new_york_review_of_books.recipe
+share/calibre/recipes/new_york_review_of_books_no_sub.png
 share/calibre/recipes/new_york_review_of_books_no_sub.recipe
 share/calibre/recipes/new_yorker.png
 share/calibre/recipes/new_yorker.recipe
+share/calibre/recipes/newrepublicmag.png
+share/calibre/recipes/newrepublicmag.recipe
 share/calibre/recipes/news24.png
 share/calibre/recipes/news24.recipe
+share/calibre/recipes/news324.png
 share/calibre/recipes/news324.recipe
+share/calibre/recipes/news_busters.png
 share/calibre/recipes/news_busters.recipe
 share/calibre/recipes/news_times.png
 share/calibre/recipes/news_times.recipe
+share/calibre/recipes/newsbeast.png
 share/calibre/recipes/newsbeast.recipe
+share/calibre/recipes/newslaundry.png
+share/calibre/recipes/newslaundry.recipe
+share/calibre/recipes/newsminute.png
+share/calibre/recipes/newsminute.recipe
 share/calibre/recipes/newsmoldova.png
 share/calibre/recipes/newsmoldova.recipe
+share/calibre/recipes/newsobs.png
 share/calibre/recipes/newsobs.recipe
 share/calibre/recipes/newsstraitstimes.png
 share/calibre/recipes/newsstraitstimes.recipe
 share/calibre/recipes/newsweek_polska.png
 share/calibre/recipes/newsweek_polska.recipe
+share/calibre/recipes/newtab.png
+share/calibre/recipes/newtab.recipe
+share/calibre/recipes/newtimes.png
+share/calibre/recipes/newtimes.recipe
+share/calibre/recipes/newz_dk.png
 share/calibre/recipes/newz_dk.recipe
 share/calibre/recipes/nezavisne_novine.png
 share/calibre/recipes/nezavisne_novine.recipe
 share/calibre/recipes/ngz.png
 share/calibre/recipes/ngz.recipe
+share/calibre/recipes/nhk_news.recipe
 share/calibre/recipes/niebezpiecznik.png
 share/calibre/recipes/niebezpiecznik.recipe
 share/calibre/recipes/nieuws_be.recipe
+share/calibre/recipes/nightflier.png
 share/calibre/recipes/nightflier.recipe
 share/calibre/recipes/nikkei_free.png
 share/calibre/recipes/nikkei_free.recipe
+share/calibre/recipes/nikkei_news.png
 share/calibre/recipes/nikkei_news.recipe
 share/calibre/recipes/nikkei_sub.png
 share/calibre/recipes/nikkei_sub.recipe
+share/calibre/recipes/nikkeiasia.png
+share/calibre/recipes/nikkeiasia.recipe
 share/calibre/recipes/nin.recipe
 share/calibre/recipes/njp.png
 share/calibre/recipes/njp.recipe
@@ -6647,8 +7365,11 @@ share/calibre/recipes/nme.png
 share/calibre/recipes/nme.recipe
 share/calibre/recipes/noaa.png
 share/calibre/recipes/noaa.recipe
+share/calibre/recipes/noerrebronordvestbladet_dk.png
 share/calibre/recipes/noerrebronordvestbladet_dk.recipe
+share/calibre/recipes/nol.png
 share/calibre/recipes/nol.recipe
+share/calibre/recipes/non_leggerlo.png
 share/calibre/recipes/non_leggerlo.recipe
 share/calibre/recipes/norddjurslokalavisen_dk.png
 share/calibre/recipes/norddjurslokalavisen_dk.recipe
@@ -6656,9 +7377,16 @@ share/calibre/recipes/nordjyske_dk.png
 share/calibre/recipes/nordjyske_dk.recipe
 share/calibre/recipes/nortecastilla.png
 share/calibre/recipes/nortecastilla.recipe
+share/calibre/recipes/nos_nl.png
 share/calibre/recipes/nos_nl.recipe
 share/calibre/recipes/novaya_gazeta.png
 share/calibre/recipes/novaya_gazeta.recipe
+share/calibre/recipes/novaya_gazeta_europe.png
+share/calibre/recipes/novaya_gazeta_europe.recipe
+share/calibre/recipes/novaya_gazeta_europe_en.png
+share/calibre/recipes/novaya_gazeta_europe_en.recipe
+share/calibre/recipes/novaya_media.png
+share/calibre/recipes/novaya_media.recipe
 share/calibre/recipes/novilist_novine_hr.png
 share/calibre/recipes/novilist_novine_hr.recipe
 share/calibre/recipes/novilist_portal_hr.png
@@ -6667,7 +7395,9 @@ share/calibre/recipes/novinite.png
 share/calibre/recipes/novinite.recipe
 share/calibre/recipes/novinite_bg.png
 share/calibre/recipes/novinite_bg.recipe
+share/calibre/recipes/novinky.cz.png
 share/calibre/recipes/novinky.cz.recipe
+share/calibre/recipes/novinky.png
 share/calibre/recipes/novinky.recipe
 share/calibre/recipes/novosti.png
 share/calibre/recipes/novosti.recipe
@@ -6675,15 +7405,15 @@ share/calibre/recipes/nowiny_rybnik.png
 share/calibre/recipes/nowiny_rybnik.recipe
 share/calibre/recipes/nowy_obywatel.png
 share/calibre/recipes/nowy_obywatel.recipe
-share/calibre/recipes/noz.png
-share/calibre/recipes/noz.recipe
 share/calibre/recipes/npr.png
 share/calibre/recipes/npr.recipe
 share/calibre/recipes/npr_music_blogs.png
 share/calibre/recipes/npr_music_blogs.recipe
+share/calibre/recipes/nrc-nl-epub.png
 share/calibre/recipes/nrc-nl-epub.recipe
 share/calibre/recipes/nrc.nl.png
 share/calibre/recipes/nrc.nl.recipe
+share/calibre/recipes/nrc_handelsblad.png
 share/calibre/recipes/nrc_handelsblad.recipe
 share/calibre/recipes/nrc_next.png
 share/calibre/recipes/nrc_next.recipe
@@ -6693,17 +7423,27 @@ share/calibre/recipes/nspm.png
 share/calibre/recipes/nspm.recipe
 share/calibre/recipes/nspm_int.png
 share/calibre/recipes/nspm_int.recipe
+share/calibre/recipes/ntv_spor.png
 share/calibre/recipes/ntv_spor.recipe
+share/calibre/recipes/ntv_tr.png
 share/calibre/recipes/ntv_tr.recipe
 share/calibre/recipes/nu.png
 share/calibre/recipes/nu.recipe
 share/calibre/recipes/nursingtimes.png
 share/calibre/recipes/nursingtimes.recipe
+share/calibre/recipes/nv_en.png
+share/calibre/recipes/nv_en.recipe
+share/calibre/recipes/nv_ru.png
+share/calibre/recipes/nv_ru.recipe
+share/calibre/recipes/nv_ua.png
+share/calibre/recipes/nv_ua.recipe
+share/calibre/recipes/nymag.png
 share/calibre/recipes/nymag.recipe
 share/calibre/recipes/nypost.png
 share/calibre/recipes/nypost.recipe
 share/calibre/recipes/nytimes.png
 share/calibre/recipes/nytimes.recipe
+share/calibre/recipes/nytimes_cooking.png
 share/calibre/recipes/nytimes_cooking.recipe
 share/calibre/recipes/nytimes_sports.png
 share/calibre/recipes/nytimes_sports.recipe
@@ -6711,16 +7451,20 @@ share/calibre/recipes/nytimes_sub.png
 share/calibre/recipes/nytimes_sub.recipe
 share/calibre/recipes/nytimes_tech.png
 share/calibre/recipes/nytimes_tech.recipe
+share/calibre/recipes/nytimesbook.png
 share/calibre/recipes/nytimesbook.recipe
 share/calibre/recipes/nzherald.png
 share/calibre/recipes/nzherald.recipe
+share/calibre/recipes/nzz_folio.png
 share/calibre/recipes/nzz_folio.recipe
 share/calibre/recipes/nzz_ger.png
 share/calibre/recipes/nzz_ger.recipe
 share/calibre/recipes/o_globo.png
 share/calibre/recipes/o_globo.recipe
 share/calibre/recipes/oakland_north.recipe
+share/calibre/recipes/oba.png
 share/calibre/recipes/oba.recipe
+share/calibre/recipes/observa_digital.png
 share/calibre/recipes/observa_digital.recipe
 share/calibre/recipes/observatorul_cultural.png
 share/calibre/recipes/observatorul_cultural.recipe
@@ -6728,29 +7472,43 @@ share/calibre/recipes/observer.png
 share/calibre/recipes/observer.recipe
 share/calibre/recipes/observer_gb.png
 share/calibre/recipes/observer_gb.recipe
+share/calibre/recipes/observer_reach_foundation.png
+share/calibre/recipes/observer_reach_foundation.recipe
 share/calibre/recipes/oc_register.png
 share/calibre/recipes/oc_register.recipe
 share/calibre/recipes/odenselokalavisen_dk.png
 share/calibre/recipes/odenselokalavisen_dk.recipe
+share/calibre/recipes/oesterbroavis_dk.png
 share/calibre/recipes/oesterbroavis_dk.recipe
 share/calibre/recipes/office_space.png
 share/calibre/recipes/office_space.recipe
 share/calibre/recipes/oilprice.png
 share/calibre/recipes/oilprice.recipe
+share/calibre/recipes/old_games.png
+share/calibre/recipes/old_games.recipe
 share/calibre/recipes/oldnewthing.png
 share/calibre/recipes/oldnewthing.recipe
 share/calibre/recipes/omgubuntu.png
 share/calibre/recipes/omgubuntu.recipe
+share/calibre/recipes/onda_rock.png
 share/calibre/recipes/onda_rock.recipe
 share/calibre/recipes/onemagazine.png
 share/calibre/recipes/onemagazine.recipe
+share/calibre/recipes/onionavclub.png
 share/calibre/recipes/onionavclub.recipe
+share/calibre/recipes/open_magazine.png
 share/calibre/recipes/open_magazine.recipe
+share/calibre/recipes/opennet.png
+share/calibre/recipes/opennet.recipe
+share/calibre/recipes/opindia.png
 share/calibre/recipes/opindia.recipe
+share/calibre/recipes/opinion_bo.png
 share/calibre/recipes/opinion_bo.recipe
 share/calibre/recipes/optyczne_pl.png
 share/calibre/recipes/optyczne_pl.recipe
+share/calibre/recipes/oregonian.png
 share/calibre/recipes/oregonian.recipe
+share/calibre/recipes/oreilly_premium.png
 share/calibre/recipes/oreilly_premium.recipe
 share/calibre/recipes/oriental_daily.png
 share/calibre/recipes/oriental_daily.recipe
@@ -6762,18 +7520,27 @@ share/calibre/recipes/orsai.png
 share/calibre/recipes/orsai.recipe
 share/calibre/recipes/osel_cz.png
 share/calibre/recipes/osel_cz.recipe
+share/calibre/recipes/osvitaua.png
+share/calibre/recipes/osvitaua.recipe
+share/calibre/recipes/osvitaua_ru.png
+share/calibre/recipes/osvitaua_ru.recipe
 share/calibre/recipes/osw.png
 share/calibre/recipes/osw.recipe
+share/calibre/recipes/ottawa_citizen.png
 share/calibre/recipes/ottawa_citizen.recipe
 share/calibre/recipes/ourdailybread.png
 share/calibre/recipes/ourdailybread.recipe
+share/calibre/recipes/outlook_business_magazine.png
 share/calibre/recipes/outlook_business_magazine.recipe
+share/calibre/recipes/outlook_india.png
 share/calibre/recipes/outlook_india.recipe
 share/calibre/recipes/oxford_mail.png
 share/calibre/recipes/oxford_mail.recipe
+share/calibre/recipes/padreydecano.png
 share/calibre/recipes/padreydecano.recipe
 share/calibre/recipes/pagina12.png
 share/calibre/recipes/pagina12.recipe
+share/calibre/recipes/pagina_12_print_ed.png
 share/calibre/recipes/pagina_12_print_ed.recipe
 share/calibre/recipes/pajama.png
 share/calibre/recipes/pajama.recipe
@@ -6781,11 +7548,18 @@ share/calibre/recipes/pambianco.png
 share/calibre/recipes/pambianco.recipe
 share/calibre/recipes/pandodaily.png
 share/calibre/recipes/pandodaily.recipe
+share/calibre/recipes/panorama.png
 share/calibre/recipes/panorama.recipe
+share/calibre/recipes/paperli_topic.png
 share/calibre/recipes/paperli_topic.recipe
+share/calibre/recipes/paperpaper.png
+share/calibre/recipes/paperpaper.recipe
+share/calibre/recipes/parisreview.png
 share/calibre/recipes/parisreview.recipe
 share/calibre/recipes/parlamentni_listy.png
 share/calibre/recipes/parlamentni_listy.recipe
+share/calibre/recipes/parool.png
+share/calibre/recipes/parool.recipe
 share/calibre/recipes/patente_de_corso.png
 share/calibre/recipes/patente_de_corso.recipe
 share/calibre/recipes/pc_advisor.png
@@ -6803,6 +7577,7 @@ share/calibre/recipes/pcworldro.png
 share/calibre/recipes/pcworldro.recipe
 share/calibre/recipes/pecat.png
 share/calibre/recipes/pecat.recipe
+share/calibre/recipes/penguin_news.png
 share/calibre/recipes/penguin_news.recipe
 share/calibre/recipes/penzberger_merkur.png
 share/calibre/recipes/penzberger_merkur.recipe
@@ -6816,8 +7591,11 @@ share/calibre/recipes/pescanik.png
 share/calibre/recipes/pescanik.recipe
 share/calibre/recipes/peterschiff.png
 share/calibre/recipes/peterschiff.recipe
+share/calibre/recipes/phd_comics.png
 share/calibre/recipes/phd_comics.recipe
+share/calibre/recipes/philippino_star_ngayon.png
 share/calibre/recipes/philippino_star_ngayon.recipe
+share/calibre/recipes/phillosophy_now.png
 share/calibre/recipes/phillosophy_now.recipe
 share/calibre/recipes/philly.png
 share/calibre/recipes/philly.recipe
@@ -6830,21 +7608,32 @@ share/calibre/recipes/physics_today.reci
 share/calibre/recipes/physics_world.png
 share/calibre/recipes/physics_world.recipe
 share/calibre/recipes/pilot.recipe
+share/calibre/recipes/piratska_strana.png
 share/calibre/recipes/piratska_strana.recipe
+share/calibre/recipes/piratske_noviny.png
 share/calibre/recipes/piratske_noviny.recipe
 share/calibre/recipes/planet_kde.png
 share/calibre/recipes/planet_kde.recipe
 share/calibre/recipes/planet_python.recipe
+share/calibre/recipes/plus_info.png
 share/calibre/recipes/plus_info.recipe
 share/calibre/recipes/pnn.png
 share/calibre/recipes/pnn.recipe
 share/calibre/recipes/pobjeda.png
 share/calibre/recipes/pobjeda.recipe
+share/calibre/recipes/poche.png
 share/calibre/recipes/poche.recipe
+share/calibre/recipes/pocket-lint.png
+share/calibre/recipes/pocket_lint.recipe
 share/calibre/recipes/podnikatel.png
 share/calibre/recipes/podnikatel.recipe
+share/calibre/recipes/poetrymagazine.png
+share/calibre/recipes/poetrymagazine.recipe
+share/calibre/recipes/poliitico_eu.recipe
 share/calibre/recipes/politico.png
 share/calibre/recipes/politico.recipe
+share/calibre/recipes/politico_eu.png
+share/calibre/recipes/politifact.png
 share/calibre/recipes/politifact.recipe
 share/calibre/recipes/politika.png
 share/calibre/recipes/politika.recipe
@@ -6860,20 +7649,25 @@ share/calibre/recipes/polter_pl.png
 share/calibre/recipes/polter_pl.recipe
 share/calibre/recipes/popscience.png
 share/calibre/recipes/popscience.recipe
+share/calibre/recipes/portafolio.png
 share/calibre/recipes/portafolio.recipe
 share/calibre/recipes/portfolio.png
 share/calibre/recipes/portfolio.recipe
+share/calibre/recipes/portfolio_hu.png
 share/calibre/recipes/portfolio_hu.recipe
 share/calibre/recipes/portfolio_hu_hu.png
 share/calibre/recipes/portfolio_hu_hu.recipe
 share/calibre/recipes/post_today.png
 share/calibre/recipes/post_today.recipe
+share/calibre/recipes/poughkeepsie_journal.png
 share/calibre/recipes/poughkeepsie_journal.recipe
 share/calibre/recipes/ppe_pl.png
 share/calibre/recipes/ppe_pl.recipe
 share/calibre/recipes/praguemonitor.png
 share/calibre/recipes/praguemonitor.recipe
+share/calibre/recipes/pragyata.png
 share/calibre/recipes/pragyata.recipe
+share/calibre/recipes/pravda.png
 share/calibre/recipes/pravda.recipe
 share/calibre/recipes/pravda_it.png
 share/calibre/recipes/pravda_it.recipe
@@ -6883,8 +7677,18 @@ share/calibre/recipes/pravda_rs.png
 share/calibre/recipes/pravda_rs.recipe
 share/calibre/recipes/pravda_ru.png
 share/calibre/recipes/pravda_ru.recipe
+share/calibre/recipes/pravda_uk.png
+share/calibre/recipes/pravda_uk.recipe
+share/calibre/recipes/pravda_ukraine.png
+share/calibre/recipes/pravda_ukraine.recipe
+share/calibre/recipes/pravda_ukraine_ru.png
+share/calibre/recipes/pravda_ukraine_ru.recipe
+share/calibre/recipes/pravo.png
 share/calibre/recipes/pravo.recipe
+share/calibre/recipes/prekshaa.png
 share/calibre/recipes/prekshaa.recipe
+share/calibre/recipes/press_information_bureau.png
+share/calibre/recipes/press_information_bureau.recipe
 share/calibre/recipes/presse_portal.png
 share/calibre/recipes/presse_portal.recipe
 share/calibre/recipes/pressonline.png
@@ -6895,25 +7699,41 @@ share/calibre/recipes/private_eye.png
 share/calibre/recipes/private_eye.recipe
 share/calibre/recipes/pro_linux_de.png
 share/calibre/recipes/pro_linux_de.recipe
+share/calibre/recipes/pro_physik.png
 share/calibre/recipes/pro_physik.recipe
+share/calibre/recipes/project.png
+share/calibre/recipes/project.recipe
+share/calibre/recipes/project_en.png
+share/calibre/recipes/project_en.recipe
+share/calibre/recipes/project_syndicate.png
+share/calibre/recipes/project_syndicate.recipe
+share/calibre/recipes/projo.png
 share/calibre/recipes/projo.recipe
 share/calibre/recipes/promotor.png
 share/calibre/recipes/promotor.recipe
 share/calibre/recipes/propublica.png
 share/calibre/recipes/propublica.recipe
-share/calibre/recipes/prospectmaguk.recipe
+share/calibre/recipes/prosleduet.png
+share/calibre/recipes/prosleduet.recipe
+share/calibre/recipes/prospectmaguk.png
+share/calibre/recipes/prospectmaguk_free.png
+share/calibre/recipes/prospectmaguk_free.recipe
 share/calibre/recipes/prosport.png
 share/calibre/recipes/prosport.recipe
 share/calibre/recipes/prostamerika.png
 share/calibre/recipes/prostamerika.recipe
+share/calibre/recipes/protagon.png
 share/calibre/recipes/protagon.recipe
 share/calibre/recipes/protvmagazin.png
 share/calibre/recipes/protvmagazin.recipe
+share/calibre/recipes/psych.png
 share/calibre/recipes/psych.recipe
 share/calibre/recipes/psychologies.png
 share/calibre/recipes/psychologies.recipe
 share/calibre/recipes/pubblico_giornale.recipe
+share/calibre/recipes/publicdomainreview_org.png
 share/calibre/recipes/publicdomainreview_org.recipe
+share/calibre/recipes/publico.png
 share/calibre/recipes/publico.recipe
 share/calibre/recipes/publika.png
 share/calibre/recipes/publika.recipe
@@ -6923,62 +7743,93 @@ share/calibre/recipes/pure_pc.png
 share/calibre/recipes/pure_pc.recipe
 share/calibre/recipes/pvp_online.png
 share/calibre/recipes/pvp_online.recipe
+share/calibre/recipes/quanta_magazine.png
 share/calibre/recipes/quanta_magazine.recipe
+share/calibre/recipes/queleer.png
 share/calibre/recipes/queleer.recipe
 share/calibre/recipes/queueacmorg.png
 share/calibre/recipes/queueacmorg.recipe
 share/calibre/recipes/quotidiano.png
 share/calibre/recipes/quotidiano.recipe
+share/calibre/recipes/rabble_ca.png
 share/calibre/recipes/rabble_ca.recipe
 share/calibre/recipes/radikal_tr.png
 share/calibre/recipes/radikal_tr.recipe
+share/calibre/recipes/radio_canada.recipe
+share/calibre/recipes/radio_prague.png
 share/calibre/recipes/radio_prague.recipe
+share/calibre/recipes/radio_praha.png
 share/calibre/recipes/radio_praha.recipe
+share/calibre/recipes/radiosvoboda_ua.png
+share/calibre/recipes/radiosvoboda_ua.recipe
 share/calibre/recipes/randerslokalavisen_dk.png
 share/calibre/recipes/randerslokalavisen_dk.recipe
 share/calibre/recipes/rbc_ru.png
 share/calibre/recipes/rbc_ru.recipe
+share/calibre/recipes/rbcua_ru.png
+share/calibre/recipes/rbcua_ru.recipe
+share/calibre/recipes/rbcua_ua.png
+share/calibre/recipes/rbcua_ua.recipe
 share/calibre/recipes/rds.png
 share/calibre/recipes/rds.recipe
+share/calibre/recipes/readers_digest.png
 share/calibre/recipes/readers_digest.recipe
+share/calibre/recipes/readersdigest_thehealthy.png
 share/calibre/recipes/readersdigest_thehealthy.recipe
 share/calibre/recipes/readitlater.png
 share/calibre/recipes/readitlater.recipe
+share/calibre/recipes/real_clear.png
 share/calibre/recipes/real_clear.recipe
 share/calibre/recipes/real_world_economics_review.png
 share/calibre/recipes/real_world_economics_review.recipe
 share/calibre/recipes/realitatea.png
 share/calibre/recipes/realitatea.recipe
+share/calibre/recipes/reason_magazine.png
 share/calibre/recipes/reason_magazine.recipe
 share/calibre/recipes/rebelion.png
 share/calibre/recipes/rebelion.recipe
 share/calibre/recipes/red_aragon.png
 share/calibre/recipes/red_aragon.recipe
+share/calibre/recipes/red_voltaire.png
 share/calibre/recipes/red_voltaire.recipe
+share/calibre/recipes/regina_leader_post.png
 share/calibre/recipes/regina_leader_post.recipe
 share/calibre/recipes/replicavedetelor.png
 share/calibre/recipes/replicavedetelor.recipe
+share/calibre/recipes/republica.png
 share/calibre/recipes/republica.recipe
 share/calibre/recipes/republika.recipe
+share/calibre/recipes/respekt_magazine.png
 share/calibre/recipes/respekt_magazine.recipe
+share/calibre/recipes/reuters.png
 share/calibre/recipes/reuters.recipe
 share/calibre/recipes/reuters_ja.png
 share/calibre/recipes/reuters_ja.recipe
+share/calibre/recipes/revista22.png
+share/calibre/recipes/revista22.recipe
 share/calibre/recipes/revista_bla.png
 share/calibre/recipes/revista_bla.recipe
+share/calibre/recipes/revista_cromos.png
 share/calibre/recipes/revista_cromos.recipe
+share/calibre/recipes/revista_muy.png
 share/calibre/recipes/revista_muy.recipe
+share/calibre/recipes/revista_piaui.png
 share/calibre/recipes/revista_piaui.recipe
+share/calibre/recipes/revista_semana.png
 share/calibre/recipes/revista_semana.recipe
+share/calibre/recipes/revista_summa.png
 share/calibre/recipes/revista_summa.recipe
 share/calibre/recipes/revista_veintitres.png
 share/calibre/recipes/revista_veintitres.recipe
+share/calibre/recipes/rga.png
 share/calibre/recipes/rga.recipe
 share/calibre/recipes/rheinische_post.png
 share/calibre/recipes/rheinische_post.recipe
 share/calibre/recipes/ria_ru.png
 share/calibre/recipes/ria_ru.recipe
+share/calibre/recipes/rian_eng.png
 share/calibre/recipes/rian_eng.recipe
+share/calibre/recipes/rian_spa.png
 share/calibre/recipes/rian_spa.recipe
 share/calibre/recipes/rmf24_ESKN.png
 share/calibre/recipes/rmf24_ESKN.recipe
@@ -6986,7 +7837,9 @@ share/calibre/recipes/rmf24_fakty.png
 share/calibre/recipes/rmf24_fakty.recipe
 share/calibre/recipes/rmf24_opinie.png
 share/calibre/recipes/rmf24_opinie.recipe
+share/calibre/recipes/roger_ebert.png
 share/calibre/recipes/roger_ebert.recipe
+share/calibre/recipes/roger_ebert_blog.png
 share/calibre/recipes/roger_ebert_blog.recipe
 share/calibre/recipes/rollingstone.png
 share/calibre/recipes/rollingstone.recipe
@@ -6994,8 +7847,11 @@ share/calibre/recipes/romanialibera.png
 share/calibre/recipes/romanialibera.recipe
 share/calibre/recipes/root.png
 share/calibre/recipes/root.recipe
+share/calibre/recipes/rosbalt.png
+share/calibre/recipes/rosbalt.recipe
 share/calibre/recipes/roskildelokalavisen_dk.png
 share/calibre/recipes/roskildelokalavisen_dk.recipe
+share/calibre/recipes/rt.png
 share/calibre/recipes/rt.recipe
 share/calibre/recipes/rte.png
 share/calibre/recipes/rte.recipe
@@ -7003,6 +7859,7 @@ share/calibre/recipes/rtnews.png
 share/calibre/recipes/rtnews.recipe
 share/calibre/recipes/rts.png
 share/calibre/recipes/rts.recipe
+share/calibre/recipes/rubikon_de.png
 share/calibre/recipes/rubikon_de.recipe
 share/calibre/recipes/rudersdallokalavisen_dk.png
 share/calibre/recipes/rudersdallokalavisen_dk.recipe
@@ -7023,16 +7880,21 @@ share/calibre/recipes/rzeczpospolita.rec
 share/calibre/recipes/sa_gazeta.recipe
 share/calibre/recipes/sabah.png
 share/calibre/recipes/sabah.recipe
+share/calibre/recipes/sabit_fikir.png
 share/calibre/recipes/sabit_fikir.recipe
+share/calibre/recipes/saechsische.png
 share/calibre/recipes/saechsische.recipe
 share/calibre/recipes/sage_news.png
 share/calibre/recipes/sage_news.recipe
+share/calibre/recipes/sage_news_opinion.png
 share/calibre/recipes/sage_news_opinion.recipe
 share/calibre/recipes/salon.png
 share/calibre/recipes/salon.recipe
+share/calibre/recipes/salonica_press_news.png
 share/calibre/recipes/salonica_press_news.recipe
 share/calibre/recipes/samanyolu_haber.png
 share/calibre/recipes/samanyolu_haber.recipe
+share/calibre/recipes/samanyolu_teknoloji.png
 share/calibre/recipes/samanyolu_teknoloji.recipe
 share/calibre/recipes/san_fran_chronicle.png
 share/calibre/recipes/san_fran_chronicle.recipe
@@ -7040,12 +7902,15 @@ share/calibre/recipes/sanjosemercurynews
 share/calibre/recipes/sanjosemercurynews.recipe
 share/calibre/recipes/sarajevo_x.png
 share/calibre/recipes/sarajevo_x.recipe
+share/calibre/recipes/sardinia_post.png
 share/calibre/recipes/sardinia_post.recipe
+share/calibre/recipes/saskatoon_star_phoenix.png
 share/calibre/recipes/saskatoon_star_phoenix.recipe
 share/calibre/recipes/satira.png
 share/calibre/recipes/satira.recipe
 share/calibre/recipes/satkurier.png
 share/calibre/recipes/satkurier.recipe
+share/calibre/recipes/satmagazine.png
 share/calibre/recipes/satmagazine.recipe
 share/calibre/recipes/sb_nation.png
 share/calibre/recipes/sb_nation.recipe
@@ -7053,14 +7918,19 @@ share/calibre/recipes/schattenblick.png
 share/calibre/recipes/schattenblick.recipe
 share/calibre/recipes/schongauer_nachrichten.png
 share/calibre/recipes/schongauer_nachrichten.recipe
+share/calibre/recipes/schwarzerpfeil.png
 share/calibre/recipes/schwarzerpfeil.recipe
+share/calibre/recipes/science_advances.png
 share/calibre/recipes/science_advances.recipe
 share/calibre/recipes/science_based_medicine.png
 share/calibre/recipes/science_based_medicine.recipe
+share/calibre/recipes/science_news.png
 share/calibre/recipes/science_news.recipe
 share/calibre/recipes/science_news_recent_issues.png
+share/calibre/recipes/science_x.recipe
 share/calibre/recipes/sciencedaily.png
 share/calibre/recipes/sciencedaily.recipe
+share/calibre/recipes/scientific_american.png
 share/calibre/recipes/scientific_american.recipe
 share/calibre/recipes/scinexx.png
 share/calibre/recipes/scinexx.recipe
@@ -7068,7 +7938,13 @@ share/calibre/recipes/scmp.png
 share/calibre/recipes/scmp.recipe
 share/calibre/recipes/scott_hanselman.png
 share/calibre/recipes/scott_hanselman.recipe
+share/calibre/recipes/scprint.png
 share/calibre/recipes/scprint.recipe
+share/calibre/recipes/screen_rant.png
+share/calibre/recipes/screen_rant.recipe
+share/calibre/recipes/scroll.png
+share/calibre/recipes/scroll.recipe
+share/calibre/recipes/seanhannity.png
 share/calibre/recipes/seanhannity.recipe
 share/calibre/recipes/seattle_times.png
 share/calibre/recipes/seattle_times.recipe
@@ -7076,53 +7952,82 @@ share/calibre/recipes/security_watch.png
 share/calibre/recipes/security_watch.recipe
 share/calibre/recipes/sekurak_pl.png
 share/calibre/recipes/sekurak_pl.recipe
+share/calibre/recipes/seminar_magazine.png
 share/calibre/recipes/seminar_magazine.recipe
+share/calibre/recipes/serverside.png
 share/calibre/recipes/serverside.recipe
+share/calibre/recipes/sfbg.png
 share/calibre/recipes/sfbg.recipe
 share/calibre/recipes/sfin.png
 share/calibre/recipes/sfin.recipe
 share/calibre/recipes/sg_hu.png
 share/calibre/recipes/sg_hu.recipe
+share/calibre/recipes/shacknews.png
 share/calibre/recipes/shacknews.recipe
+share/calibre/recipes/shortlist.png
 share/calibre/recipes/shortlist.recipe
+share/calibre/recipes/sigma_live.png
 share/calibre/recipes/sigma_live.recipe
 share/calibre/recipes/sign_of_the_times.png
 share/calibre/recipes/sign_of_the_times.recipe
+share/calibre/recipes/sign_on_sd.png
 share/calibre/recipes/sign_on_sd.recipe
 share/calibre/recipes/silicon_republic.png
 share/calibre/recipes/silicon_republic.recipe
+share/calibre/recipes/simple_flying.png
+share/calibre/recipes/simple_flying.recipe
+share/calibre/recipes/singtao_daily.png
 share/calibre/recipes/singtao_daily.recipe
+share/calibre/recipes/singtaohk.png
 share/calibre/recipes/singtaohk.recipe
 share/calibre/recipes/siol.png
 share/calibre/recipes/siol.recipe
+share/calibre/recipes/sisainlive.png
 share/calibre/recipes/sisainlive.recipe
+share/calibre/recipes/sizinti_derigisi.png
 share/calibre/recipes/sizinti_derigisi.recipe
 share/calibre/recipes/skai.png
 share/calibre/recipes/skai.recipe
 share/calibre/recipes/skanderborglokalavisen_dk.png
 share/calibre/recipes/skanderborglokalavisen_dk.recipe
+share/calibre/recipes/skeptic.png
 share/calibre/recipes/skeptic.recipe
+share/calibre/recipes/skeptical_enquirer.png
 share/calibre/recipes/skeptical_enquirer.recipe
 share/calibre/recipes/skylife.png
 share/calibre/recipes/skylife.recipe
 share/calibre/recipes/slashdot.png
 share/calibre/recipes/slashdot.recipe
+share/calibre/recipes/slate.png
 share/calibre/recipes/slate.recipe
+share/calibre/recipes/slate_star_codex.png
 share/calibre/recipes/slate_star_codex.recipe
+share/calibre/recipes/slovo.png
 share/calibre/recipes/slovo.recipe
 share/calibre/recipes/smashing.png
 share/calibre/recipes/smashing.recipe
+share/calibre/recipes/sme.png
 share/calibre/recipes/sme.recipe
 share/calibre/recipes/smh.png
 share/calibre/recipes/smh.recipe
 share/calibre/recipes/smilezilla.recipe
+share/calibre/recipes/smith.png
 share/calibre/recipes/smith.recipe
+share/calibre/recipes/sn_dk.png
 share/calibre/recipes/sn_dk.recipe
+share/calibre/recipes/snob.png
+share/calibre/recipes/snob.recipe
+share/calibre/recipes/snopes.png
 share/calibre/recipes/snopes.recipe
+share/calibre/recipes/sobaka.png
+share/calibre/recipes/sobaka.recipe
+share/calibre/recipes/sobesednik.png
+share/calibre/recipes/sobesednik.recipe
 share/calibre/recipes/socialdiva.png
 share/calibre/recipes/socialdiva.recipe
 share/calibre/recipes/soenderborglokalavisen_dk.png
 share/calibre/recipes/soenderborglokalavisen_dk.recipe
+share/calibre/recipes/sol_haber.png
 share/calibre/recipes/sol_haber.recipe
 share/calibre/recipes/soldiers.png
 share/calibre/recipes/soldiers.recipe
@@ -7130,9 +8035,13 @@ share/calibre/recipes/something_awful.pn
 share/calibre/recipes/something_awful.recipe
 share/calibre/recipes/sondagsavisen_dk.png
 share/calibre/recipes/sondagsavisen_dk.recipe
+share/calibre/recipes/southernstar.png
 share/calibre/recipes/southernstar.recipe
+share/calibre/recipes/sova.png
+share/calibre/recipes/sova.recipe
 share/calibre/recipes/spectator-au.png
 share/calibre/recipes/spectator-au.recipe
+share/calibre/recipes/spectator_magazine.png
 share/calibre/recipes/spectator_magazine.recipe
 share/calibre/recipes/spektrum.png
 share/calibre/recipes/spektrum.recipe
@@ -7140,11 +8049,15 @@ share/calibre/recipes/spiegel_int.png
 share/calibre/recipes/spiegel_int.recipe
 share/calibre/recipes/spiegelde.png
 share/calibre/recipes/spiegelde.recipe
+share/calibre/recipes/spin_magazine.png
 share/calibre/recipes/spin_magazine.recipe
 share/calibre/recipes/sportowefakty.png
 share/calibre/recipes/sportowefakty.recipe
+share/calibre/recipes/sports_illustrated.png
 share/calibre/recipes/sports_illustrated.recipe
+share/calibre/recipes/sportstar.png
 share/calibre/recipes/sportstar.recipe
+share/calibre/recipes/sporza_be.png
 share/calibre/recipes/sporza_be.recipe
 share/calibre/recipes/st_louis_post_dispatch.png
 share/calibre/recipes/st_louis_post_dispatch.recipe
@@ -7156,35 +8069,48 @@ share/calibre/recipes/standardmedia_ke.p
 share/calibre/recipes/standardmedia_ke.recipe
 share/calibre/recipes/standardmoney.png
 share/calibre/recipes/standardmoney.recipe
+share/calibre/recipes/star_gazetesi.png
 share/calibre/recipes/star_gazetesi.recipe
 share/calibre/recipes/staradvertiser.png
 share/calibre/recipes/staradvertiser.recipe
 share/calibre/recipes/starnberger_merkur.png
 share/calibre/recipes/starnberger_merkur.recipe
+share/calibre/recipes/stars_and_stripes.png
 share/calibre/recipes/stars_and_stripes.recipe
 share/calibre/recipes/starwars.png
 share/calibre/recipes/starwars.recipe
 share/calibre/recipes/stiintasitehnica.png
 share/calibre/recipes/stiintasitehnica.recipe
+share/calibre/recipes/stnn.png
 share/calibre/recipes/stnn.recipe
+share/calibre/recipes/stopgame.png
+share/calibre/recipes/stopgame.recipe
 share/calibre/recipes/straitstimes.png
 share/calibre/recipes/straitstimes.recipe
+share/calibre/recipes/strange_horizons.png
 share/calibre/recipes/strange_horizons.recipe
 share/calibre/recipes/strategic_culture.png
 share/calibre/recipes/strategic_culture.recipe
+share/calibre/recipes/strategy-business.png
 share/calibre/recipes/strategy-business.recipe
+share/calibre/recipes/substack.png
 share/calibre/recipes/substack.recipe
 share/calibre/recipes/sueddeutsche.png
 share/calibre/recipes/sueddeutsche.recipe
+share/calibre/recipes/sueddeutsche_mobil.png
 share/calibre/recipes/sueddeutsche_mobil.recipe
 share/calibre/recipes/sueddeutschezeitung.png
 share/calibre/recipes/sueddeutschezeitung.recipe
+share/calibre/recipes/sunday_times_magazine.png
 share/calibre/recipes/sunday_times_magazine.recipe
 share/calibre/recipes/superbebe.png
 share/calibre/recipes/superbebe.recipe
+share/calibre/recipes/superesportes.png
 share/calibre/recipes/superesportes.recipe
 share/calibre/recipes/svd_se.png
+share/calibre/recipes/svt_nyheter.png
 share/calibre/recipes/svt_nyheter.recipe
+share/calibre/recipes/swarajya.png
 share/calibre/recipes/swarajya.recipe
 share/calibre/recipes/swiat_obrazu.png
 share/calibre/recipes/swiat_obrazu.recipe
@@ -7192,7 +8118,9 @@ share/calibre/recipes/swiatkindle.png
 share/calibre/recipes/swiatkindle.recipe
 share/calibre/recipes/syddjurslokalavisen_dk.png
 share/calibre/recipes/syddjurslokalavisen_dk.recipe
+share/calibre/recipes/t3n_de.png
 share/calibre/recipes/t3n_de.recipe
+share/calibre/recipes/t_online.png
 share/calibre/recipes/t_online.recipe
 share/calibre/recipes/tablety_pl.png
 share/calibre/recipes/tablety_pl.recipe
@@ -7206,10 +8134,17 @@ share/calibre/recipes/tagesspiegel.png
 share/calibre/recipes/tagesspiegel.recipe
 share/calibre/recipes/taggeschau_de.png
 share/calibre/recipes/taggeschau_de.recipe
+share/calibre/recipes/taipei.png
 share/calibre/recipes/taipei.recipe
+share/calibre/recipes/takiedela.png
+share/calibre/recipes/takiedela.recipe
+share/calibre/recipes/tanea.png
 share/calibre/recipes/tanea.recipe
 share/calibre/recipes/tanuki.png
 share/calibre/recipes/tanuki.recipe
+share/calibre/recipes/tayga.png
+share/calibre/recipes/tayga.recipe
+share/calibre/recipes/taz.png
 share/calibre/recipes/taz.recipe
 share/calibre/recipes/taz_rss.png
 share/calibre/recipes/taz_rss.recipe
@@ -7223,86 +8158,145 @@ share/calibre/recipes/techdirt.png
 share/calibre/recipes/techdirt.recipe
 share/calibre/recipes/technology_review.png
 share/calibre/recipes/technology_review.recipe
+share/calibre/recipes/technology_review_de.png
 share/calibre/recipes/technology_review_de.recipe
+share/calibre/recipes/techtarget.png
 share/calibre/recipes/techtarget.recipe
+share/calibre/recipes/tedneward.png
 share/calibre/recipes/tedneward.recipe
 share/calibre/recipes/tegernseer_zeitung.png
 share/calibre/recipes/tegernseer_zeitung.recipe
+share/calibre/recipes/tehelka.recipe
 share/calibre/recipes/telam.png
 share/calibre/recipes/telam.recipe
 share/calibre/recipes/telegraph_in.png
 share/calibre/recipes/telegraph_uk.png
-share/calibre/recipes/telegraph_uk.recipe
 share/calibre/recipes/telepolis.png
 share/calibre/recipes/telepolis.recipe
 share/calibre/recipes/telepolis_artikel.png
 share/calibre/recipes/telepolis_artikel.recipe
 share/calibre/recipes/teleread.png
 share/calibre/recipes/teleread.recipe
+share/calibre/recipes/thai_post_daily.png
 share/calibre/recipes/thai_post_daily.recipe
+share/calibre/recipes/thairath.png
 share/calibre/recipes/thairath.recipe
 share/calibre/recipes/the_age.png
 share/calibre/recipes/the_age.recipe
+share/calibre/recipes/the_athletic.png
+share/calibre/recipes/the_athletic.recipe
+share/calibre/recipes/the_baffler.png
 share/calibre/recipes/the_baffler.recipe
+share/calibre/recipes/the_budget_fashionista.png
 share/calibre/recipes/the_budget_fashionista.recipe
+share/calibre/recipes/the_clinic_online.png
 share/calibre/recipes/the_clinic_online.recipe
+share/calibre/recipes/the_conversation.png
 share/calibre/recipes/the_conversation.recipe
+share/calibre/recipes/the_daily_news_egypt.png
 share/calibre/recipes/the_daily_news_egypt.recipe
+share/calibre/recipes/the_diplomat.png
 share/calibre/recipes/the_diplomat.recipe
+share/calibre/recipes/the_ebook_reader.png
+share/calibre/recipes/the_ebook_reader.recipe
 share/calibre/recipes/the_escapist.png
 share/calibre/recipes/the_escapist.recipe
+share/calibre/recipes/the_feature.png
 share/calibre/recipes/the_feature.recipe
+share/calibre/recipes/the_federalist.png
 share/calibre/recipes/the_federalist.recipe
+share/calibre/recipes/the_freeman.png
 share/calibre/recipes/the_freeman.recipe
+share/calibre/recipes/the_friday_times.png
 share/calibre/recipes/the_friday_times.recipe
+share/calibre/recipes/the_gamer.png
+share/calibre/recipes/the_gamer.recipe
+share/calibre/recipes/the_insider.png
 share/calibre/recipes/the_insider.recipe
+share/calibre/recipes/the_journal.png
 share/calibre/recipes/the_journal.recipe
+share/calibre/recipes/the_manila_bulletin.png
 share/calibre/recipes/the_manila_bulletin.recipe
+share/calibre/recipes/the_manila_times.png
 share/calibre/recipes/the_manila_times.recipe
+share/calibre/recipes/the_marker.png
 share/calibre/recipes/the_marker.recipe
+share/calibre/recipes/the_monthly.recipe
 share/calibre/recipes/the_nation.png
 share/calibre/recipes/the_nation.recipe
 share/calibre/recipes/the_new_age_za.png
 share/calibre/recipes/the_new_age_za.recipe
-share/calibre/recipes/the_new_republic.recipe
+share/calibre/recipes/the_new_republic.png
 share/calibre/recipes/the_oz.png
 share/calibre/recipes/the_oz.recipe
+share/calibre/recipes/the_philippine_daily_inquirer.png
 share/calibre/recipes/the_philippine_daily_inquirer.recipe
+share/calibre/recipes/the_philippine_star.png
 share/calibre/recipes/the_philippine_star.recipe
+share/calibre/recipes/the_press_project.recipe
+share/calibre/recipes/the_register.png
 share/calibre/recipes/the_register.recipe
+share/calibre/recipes/the_richest.png
+share/calibre/recipes/the_richest.recipe
+share/calibre/recipes/the_saturday_paper.png
 share/calibre/recipes/the_saturday_paper.recipe
 share/calibre/recipes/the_scotsman.png
 share/calibre/recipes/the_scotsman.recipe
+share/calibre/recipes/the_sportster.png
+share/calibre/recipes/the_sportster.recipe
+share/calibre/recipes/the_sun.png
 share/calibre/recipes/the_sun.recipe
+share/calibre/recipes/the_things.png
+share/calibre/recipes/the_things.recipe
+share/calibre/recipes/the_travel.png
+share/calibre/recipes/the_travel.recipe
+share/calibre/recipes/the_verge.png
 share/calibre/recipes/the_verge.recipe
+share/calibre/recipes/the_week.png
 share/calibre/recipes/the_week.recipe
 share/calibre/recipes/the_week_magazine_free.png
 share/calibre/recipes/the_week_magazine_free.recipe
+share/calibre/recipes/the_week_uk.png
+share/calibre/recipes/the_week_uk.recipe
+share/calibre/recipes/the_wire.png
+share/calibre/recipes/the_wire.recipe
 share/calibre/recipes/the_workingham_times.png
 share/calibre/recipes/the_workingham_times.recipe
+share/calibre/recipes/thebell.png
+share/calibre/recipes/thebell.recipe
+share/calibre/recipes/thecodelesscode.png
 share/calibre/recipes/thecodelesscode.recipe
+share/calibre/recipes/thecultofghoul.png
 share/calibre/recipes/thecultofghoul.recipe
 share/calibre/recipes/thedailywtf.png
 share/calibre/recipes/thedailywtf.recipe
+share/calibre/recipes/thedgesingapore.png
 share/calibre/recipes/thedgesingapore.recipe
 share/calibre/recipes/theecocolapse.png
 share/calibre/recipes/theecocolapse.recipe
 share/calibre/recipes/theeconomictimes_india.png
 share/calibre/recipes/theeconomictimes_india.recipe
+share/calibre/recipes/theeconomictimes_india_print_edition.png
 share/calibre/recipes/theeconomictimes_india_print_edition.recipe
+share/calibre/recipes/theindiaforum.png
+share/calibre/recipes/theindiaforum.recipe
 share/calibre/recipes/theluminouslandscape.png
 share/calibre/recipes/theluminouslandscape.recipe
 share/calibre/recipes/themarketticker.png
 share/calibre/recipes/themarketticker.recipe
+share/calibre/recipes/themorningpaper.png
 share/calibre/recipes/themorningpaper.recipe
 share/calibre/recipes/thenewcriterion.png
 share/calibre/recipes/thenewcriterion.recipe
+share/calibre/recipes/thenews.png
 share/calibre/recipes/thenews.recipe
 share/calibre/recipes/theoldfoodie.png
 share/calibre/recipes/theoldfoodie.recipe
+share/calibre/recipes/theoldie.recipe
 share/calibre/recipes/theonion.png
 share/calibre/recipes/theonion.recipe
 share/calibre/recipes/theonlinephotographer.recipe
+share/calibre/recipes/theprint.png
 share/calibre/recipes/theprint.recipe
 share/calibre/recipes/thestar.png
 share/calibre/recipes/thestar.recipe
@@ -7310,12 +8304,15 @@ share/calibre/recipes/thewest_au.png
 share/calibre/recipes/thewest_au.recipe
 share/calibre/recipes/think_progress.png
 share/calibre/recipes/think_progress.recipe
+share/calibre/recipes/thn.png
 share/calibre/recipes/thn.recipe
 share/calibre/recipes/tidbits.png
 share/calibre/recipes/tidbits.recipe
 share/calibre/recipes/tijd.png
 share/calibre/recipes/tijd.recipe
+share/calibre/recipes/tijolaco.png
 share/calibre/recipes/tijolaco.recipe
+share/calibre/recipes/tillsonburg.png
 share/calibre/recipes/tillsonburg.recipe
 share/calibre/recipes/time_magazine.png
 share/calibre/recipes/time_magazine.recipe
@@ -7331,28 +8328,38 @@ share/calibre/recipes/titanic_de.png
 share/calibre/recipes/titanic_de.recipe
 share/calibre/recipes/tjournal.png
 share/calibre/recipes/tjournal.recipe
+share/calibre/recipes/tls_mag.png
+share/calibre/recipes/tls_mag.recipe
 share/calibre/recipes/tmz.png
 share/calibre/recipes/tmz.recipe
 share/calibre/recipes/tnxm.png
 share/calibre/recipes/tnxm.recipe
+share/calibre/recipes/today_online.png
 share/calibre/recipes/today_online.recipe
 share/calibre/recipes/todays_zaman.recipe
 share/calibre/recipes/toi.png
 share/calibre/recipes/toi.recipe
+share/calibre/recipes/toiprint.png
+share/calibre/recipes/toiprint.recipe
 share/calibre/recipes/tolzer_kurier.png
 share/calibre/recipes/tolzer_kurier.recipe
 share/calibre/recipes/tomshardware.png
 share/calibre/recipes/tomshardware.recipe
 share/calibre/recipes/tomshardware_de.png
 share/calibre/recipes/tomshardware_de.recipe
+share/calibre/recipes/tomshardware_it.png
 share/calibre/recipes/tomshardware_it.recipe
+share/calibre/recipes/top_speed.png
+share/calibre/recipes/top_speed.recipe
 share/calibre/recipes/toronto_sun.png
 share/calibre/recipes/toronto_sun.recipe
 share/calibre/recipes/tovima.png
 share/calibre/recipes/tovima.recipe
+share/calibre/recipes/toyokeizai.png
 share/calibre/recipes/toyokeizai.recipe
 share/calibre/recipes/tpm_uk.png
 share/calibre/recipes/tpm_uk.recipe
+share/calibre/recipes/tri_city_herald.png
 share/calibre/recipes/tri_city_herald.recipe
 share/calibre/recipes/trojmiasto_pl.png
 share/calibre/recipes/trojmiasto_pl.recipe
@@ -7365,6 +8372,8 @@ share/calibre/recipes/trv.recipe
 share/calibre/recipes/trystero.recipe
 share/calibre/recipes/tsn.png
 share/calibre/recipes/tsn.recipe
+share/calibre/recipes/tst.png
+share/calibre/recipes/tst.recipe
 share/calibre/recipes/tulsaworld.png
 share/calibre/recipes/tulsaworld.recipe
 share/calibre/recipes/tuttojove.png
@@ -7399,32 +8408,71 @@ share/calibre/recipes/twtfb.png
 share/calibre/recipes/twtfb.recipe
 share/calibre/recipes/tyden.cz.png
 share/calibre/recipes/tyden.cz.recipe
+share/calibre/recipes/tyzden.png
 share/calibre/recipes/tyzden.recipe
+share/calibre/recipes/ua_fooball.png
+share/calibre/recipes/ua_fooball.recipe
 share/calibre/recipes/ubuntu_pl.png
 share/calibre/recipes/ubuntu_pl.recipe
-share/calibre/recipes/ukraiyns_kii_tizhdien.recipe
+share/calibre/recipes/ugeskriftet.recipe
+share/calibre/recipes/ukraiyns_tizhdien.png
 share/calibre/recipes/ukraiyns_tizhdien.recipe
+share/calibre/recipes/ukrinform_de.png
+share/calibre/recipes/ukrinform_de.recipe
+share/calibre/recipes/ukrinform_en.png
+share/calibre/recipes/ukrinform_en.recipe
+share/calibre/recipes/ukrinform_es.png
+share/calibre/recipes/ukrinform_es.recipe
+share/calibre/recipes/ukrinform_fr.png
+share/calibre/recipes/ukrinform_fr.recipe
+share/calibre/recipes/ukrinform_ja.png
+share/calibre/recipes/ukrinform_ja.recipe
+share/calibre/recipes/ukrinform_pl.png
+share/calibre/recipes/ukrinform_pl.recipe
+share/calibre/recipes/ukrinform_ru.png
+share/calibre/recipes/ukrinform_ru.recipe
+share/calibre/recipes/ukrinform_uk.png
+share/calibre/recipes/ukrinform_uk.recipe
 share/calibre/recipes/ultimahora.png
 share/calibre/recipes/ultimahora.recipe
 share/calibre/recipes/uncrate.png
 share/calibre/recipes/uncrate.recipe
+share/calibre/recipes/unian_net.png
+share/calibre/recipes/unian_net.recipe
+share/calibre/recipes/unian_net_en.png
+share/calibre/recipes/unian_net_en.recipe
+share/calibre/recipes/unian_net_ua.png
+share/calibre/recipes/unian_net_ua.recipe
 share/calibre/recipes/unica.png
 share/calibre/recipes/unica.recipe
 share/calibre/recipes/uninohimitu.png
 share/calibre/recipes/uninohimitu.recipe
 share/calibre/recipes/united_daily.png
 share/calibre/recipes/united_daily.recipe
+share/calibre/recipes/united_nations.png
+share/calibre/recipes/united_nations.recipe
 share/calibre/recipes/universe_today.png
 share/calibre/recipes/universe_today.recipe
+share/calibre/recipes/unn_ru.png
+share/calibre/recipes/unn_ru.recipe
+share/calibre/recipes/unn_ua.png
+share/calibre/recipes/unn_ua.recipe
+share/calibre/recipes/unperiodico.png
 share/calibre/recipes/unperiodico.recipe
+share/calibre/recipes/upi.png
 share/calibre/recipes/upi.recipe
+share/calibre/recipes/usatoday.png
 share/calibre/recipes/usatoday.recipe
 share/calibre/recipes/usnews.png
 share/calibre/recipes/usnews.recipe
 share/calibre/recipes/utrinski.recipe
+share/calibre/recipes/valbybladet_dk.png
 share/calibre/recipes/valbybladet_dk.recipe
+share/calibre/recipes/vancouver_province.png
 share/calibre/recipes/vancouver_province.recipe
+share/calibre/recipes/vancouver_sun.png
 share/calibre/recipes/vancouver_sun.recipe
+share/calibre/recipes/vanloesebladet_dk.png
 share/calibre/recipes/vanloesebladet_dk.recipe
 share/calibre/recipes/vardelokalavisen_dk.png
 share/calibre/recipes/vardelokalavisen_dk.recipe
@@ -7432,14 +8480,21 @@ share/calibre/recipes/variety.png
 share/calibre/recipes/variety.recipe
 share/calibre/recipes/vecernji_list.png
 share/calibre/recipes/vecernji_list.recipe
+share/calibre/recipes/vedomosti.png
+share/calibre/recipes/vedomosti.recipe
+share/calibre/recipes/veintitres.png
 share/calibre/recipes/veintitres.recipe
 share/calibre/recipes/vejlelokalavisen_dk.png
 share/calibre/recipes/vejlelokalavisen_dk.recipe
 share/calibre/recipes/version2.png
 share/calibre/recipes/version2.recipe
+share/calibre/recipes/verstka.png
+share/calibre/recipes/verstka.recipe
+share/calibre/recipes/vesterbrobladet_dk.png
 share/calibre/recipes/vesterbrobladet_dk.recipe
 share/calibre/recipes/vfr_magazine.png
 share/calibre/recipes/vfr_magazine.recipe
+share/calibre/recipes/vic_times.png
 share/calibre/recipes/vic_times.recipe
 share/calibre/recipes/vice.png
 share/calibre/recipes/vice.recipe
@@ -7451,6 +8506,11 @@ share/calibre/recipes/vignette.png
 share/calibre/recipes/vignette.recipe
 share/calibre/recipes/vijesti.png
 share/calibre/recipes/vijesti.recipe
+share/calibre/recipes/vikna_ru.png
+share/calibre/recipes/vikna_ru.recipe
+share/calibre/recipes/vikna_ua.png
+share/calibre/recipes/vikna_ua.recipe
+share/calibre/recipes/villagevoice.png
 share/calibre/recipes/villagevoice.recipe
 share/calibre/recipes/vio_mundo.png
 share/calibre/recipes/vio_mundo.recipe
@@ -7460,12 +8520,16 @@ share/calibre/recipes/vitalia.png
 share/calibre/recipes/vitalia.recipe
 share/calibre/recipes/viva.png
 share/calibre/recipes/viva.recipe
+share/calibre/recipes/vnexpress.png
 share/calibre/recipes/vnexpress.recipe
+share/calibre/recipes/voetbal_belgie.png
 share/calibre/recipes/voetbal_belgie.recipe
 share/calibre/recipes/voice_of_america.png
 share/calibre/recipes/voice_of_america.recipe
 share/calibre/recipes/volksrant.png
 share/calibre/recipes/volksrant.recipe
+share/calibre/recipes/vox.png
+share/calibre/recipes/vox.recipe
 share/calibre/recipes/vreme.png
 share/calibre/recipes/vreme.recipe
 share/calibre/recipes/vrijnederland.png
@@ -7483,6 +8547,8 @@ share/calibre/recipes/warentest.png
 share/calibre/recipes/warentest.recipe
 share/calibre/recipes/wash_post.png
 share/calibre/recipes/wash_post.recipe
+share/calibre/recipes/wash_post_print.png
+share/calibre/recipes/wash_post_print.recipe
 share/calibre/recipes/wash_times.recipe
 share/calibre/recipes/watchingamerica.recipe
 share/calibre/recipes/weblogs_sl.recipe
@@ -7516,40 +8582,54 @@ share/calibre/recipes/wnp.png
 share/calibre/recipes/wnp.recipe
 share/calibre/recipes/wolne_media.png
 share/calibre/recipes/wolne_media.recipe
+share/calibre/recipes/wonderzine.png
+share/calibre/recipes/wonderzine.recipe
 share/calibre/recipes/words_without_borders.recipe
 share/calibre/recipes/workers_world.png
 share/calibre/recipes/workers_world.recipe
+share/calibre/recipes/works_in_progress.recipe
 share/calibre/recipes/worldcrunch.recipe
 share/calibre/recipes/wow.recipe
 share/calibre/recipes/woz_die.recipe
 share/calibre/recipes/wsj.png
 share/calibre/recipes/wsj.recipe
+share/calibre/recipes/wsj_free.png
 share/calibre/recipes/wsj_free.recipe
+share/calibre/recipes/wsj_mag.recipe
 share/calibre/recipes/wvhooligan.png
 share/calibre/recipes/wvhooligan.recipe
+share/calibre/recipes/xda.png
+share/calibre/recipes/xda.recipe
+share/calibre/recipes/xkcd.png
 share/calibre/recipes/xkcd.recipe
 share/calibre/recipes/xpatloop.recipe
 share/calibre/recipes/yagmur_dergisi.recipe
 share/calibre/recipes/yahoo_news.png
 share/calibre/recipes/yahoo_news.recipe
+share/calibre/recipes/yakima_herald.png
 share/calibre/recipes/yakima_herald.recipe
 share/calibre/recipes/yalansavar.png
 share/calibre/recipes/yalansavar.recipe
 share/calibre/recipes/yazihane.png
 share/calibre/recipes/yazihane.recipe
+share/calibre/recipes/yementimes.png
 share/calibre/recipes/yementimes.recipe
 share/calibre/recipes/yeni_umit_dergisi.recipe
 share/calibre/recipes/yenisafak_gazetesi.png
 share/calibre/recipes/yenisafak_gazetesi.recipe
+share/calibre/recipes/ynet.png
 share/calibre/recipes/ynet.recipe
 share/calibre/recipes/yomiuri.png
 share/calibre/recipes/yomiuri.recipe
+share/calibre/recipes/yomiuri_world.png
 share/calibre/recipes/yomiuri_world.recipe
+share/calibre/recipes/zackzack.png
 share/calibre/recipes/zackzack.recipe
 share/calibre/recipes/zadolba_li.png
 share/calibre/recipes/zadolba_li.recipe
 share/calibre/recipes/zaman.png
 share/calibre/recipes/zaman.recipe
+share/calibre/recipes/zaobao.png
 share/calibre/recipes/zaobao.recipe
 share/calibre/recipes/zaufana_trzecia_strona.png
 share/calibre/recipes/zaufana_trzecia_strona.recipe
@@ -7561,21 +8641,32 @@ share/calibre/recipes/zdnet.png
 share/calibre/recipes/zdnet.recipe
 share/calibre/recipes/zeitde.png
 share/calibre/recipes/zeitde.recipe
+share/calibre/recipes/zeitde_sub.png
 share/calibre/recipes/zeitde_sub.recipe
+share/calibre/recipes/zerocalcare.png
 share/calibre/recipes/zerocalcare.recipe
 share/calibre/recipes/zerohedge.png
 share/calibre/recipes/zerohedge.recipe
 share/calibre/recipes/ziarulfinanciar.png
 share/calibre/recipes/ziarulfinanciar.recipe
+share/calibre/recipes/zita_be.png
 share/calibre/recipes/zita_be.recipe
 share/calibre/recipes/ziuaveche.png
 share/calibre/recipes/ziuaveche.recipe
+share/calibre/recipes/zn_ru.png
+share/calibre/recipes/zn_ru.recipe
+share/calibre/recipes/zn_ua.png
+share/calibre/recipes/zn_ua.recipe
+share/calibre/recipes/znadplanszy_pl.png
 share/calibre/recipes/znadplanszy_pl.recipe
+share/calibre/recipes/zougla.png
 share/calibre/recipes/zougla.recipe
 share/calibre/recipes/zycie_warszawy.png
 share/calibre/recipes/zycie_warszawy.recipe
 share/calibre/scraper.js
 share/calibre/scripts.calibre_msgpack
+share/calibre/stylelint-bundle.min.js
+share/calibre/stylelint.js
 share/calibre/template-functions.json
 share/calibre/templates/
 share/calibre/templates/book_details.css
Index: textproc/podofo/Makefile
===================================================================
RCS file: /cvs/ports/textproc/podofo/Makefile,v
diff -u -p -r1.20 Makefile
--- textproc/podofo/Makefile	7 Nov 2023 14:19:48 -0000	1.20
+++ textproc/podofo/Makefile	10 Jul 2024 15:00:17 -0000
@@ -1,47 +1,37 @@
 COMMENT=	library and tools to modify and parse PDF documents
 
-DISTNAME=	podofo-0.9.8
-REVISION=	0
+GH_ACCOUNT=	podofo
+GH_PROJECT=	podofo
+GH_TAGNAME=	0.10.3
 
-SHARED_LIBS +=	podofo                    4.0 # 0.9.8
+DIST_TUPLE+=	github podofo podofo-resources 8a464d0de8b6c846c661104bfc0ac1091b96ec9d extern/resources
 
-CATEGORIES=	textproc
+SHARED_LIBS +=	podofo                    5.0 # 0.9.8
 
-HOMEPAGE=	https://podofo.sourceforge.net/
+CATEGORIES=	textproc
 
 # GPLv2+ (tools) LGPLv2+ (lib)
 PERMIT_PACKAGE=	Yes
 
 WANTLIB += ${COMPILER_LIBCXX} c crypto fontconfig freetype idn
-WANTLIB += jpeg m png ssl tiff unistring z
-
-SITES=		${SITE_SOURCEFORGE:=podofo/}
+WANTLIB += jpeg m png ssl tiff xml2 z
 
 MODULES=	devel/cmake
 
 # C++
 COMPILER =	base-clang ports-gcc
 
-LIB_DEPENDS=	converters/libunistring \
-		devel/libidn \
+LIB_DEPENDS=	devel/libidn \
 		graphics/jpeg \
 		graphics/png \
-		graphics/tiff
-
-# only for tests
-BUILD_DEPENDS=	devel/cppunit
+		graphics/tiff \
+		textproc/libxml
 
 CXXFLAGS =	-I${X11BASE}/include
-MODCMAKE_LDFLAGS =	-L${X11BASE}/lib
-
-CONFIGURE_ARGS+=	-DFREETYPE_INCLUDE_DIR=${X11BASE}/include/freetype2 \
-			-DPODOFO_BUILD_SHARED=True \
-			-DPODOFO_BUILD_STATIC=True
-
-post-extract:
-	rm ${WRKSRC}/cmake/modules/FindZLIB.cmake
+MODCMAKE_LDFLAGS = -L${X11BASE}/lib
 
-do-test:
-	${WRKBUILD}/test/unit/podofo-test
+CONFIGURE_ARGS+= -DFREETYPE_INCLUDE_DIR=${X11BASE}/include/freetype2 \
+		 -DMANDIR=${PREFIX}/man/ \
+		 -DPODOFO_BUILD_TOOLS=ON
 
 .include <bsd.port.mk>
Index: textproc/podofo/distinfo
===================================================================
RCS file: /cvs/ports/textproc/podofo/distinfo,v
diff -u -p -r1.5 distinfo
--- textproc/podofo/distinfo	15 Jan 2023 10:56:35 -0000	1.5
+++ textproc/podofo/distinfo	10 Jul 2024 15:00:17 -0000
@@ -1,2 +1,4 @@
-SHA256 (podofo-0.9.8.tar.gz) = XeYH4V8ZK4rZBzgwB1nYjeoPXM3OO/AASKDJMrxkUVQ=
-SIZE (podofo-0.9.8.tar.gz) = 1012918
+SHA256 (podofo-0.10.3.tar.gz) = S+IjJkP56d1/uwKJTVoDlMPKKCaqsXllTCzHUQdIJew=
+SHA256 (podofo-podofo-resources-8a464d0de8b6c846c661104bfc0ac1091b96ec9d.tar.gz) = PZcMX9W02+qvY/uKgmptuT06w88v3skZ2uZ+KmaXEbs=
+SIZE (podofo-0.10.3.tar.gz) = 1691469
+SIZE (podofo-podofo-resources-8a464d0de8b6c846c661104bfc0ac1091b96ec9d.tar.gz) = 8856872
Index: textproc/podofo/patches/patch-CMakeLists_txt
===================================================================
RCS file: /cvs/ports/textproc/podofo/patches/patch-CMakeLists_txt,v
diff -u -p -r1.7 patch-CMakeLists_txt
--- textproc/podofo/patches/patch-CMakeLists_txt	11 Mar 2022 20:03:13 -0000	1.7
+++ textproc/podofo/patches/patch-CMakeLists_txt	10 Jul 2024 15:00:17 -0000
@@ -1,12 +1,11 @@
 Index: CMakeLists.txt
 --- CMakeLists.txt.orig
 +++ CMakeLists.txt
-@@ -539,7 +539,7 @@ ENDIF(WIN32 OR PODOFO_BUILD_STATIC)
- #
- # Setup directories we will need
- #
--SET(MANDIR "share/man/")
-+SET(MANDIR "man/")
+@@ -250,6 +250,7 @@ endif()
  
- # Create the config file. It'll be appended to as the subdirs run though
- # then dependency information will be written to it at the end of the
+ if(PODOFO_BUILD_TOOLS)
+     add_subdirectory(tools)
++    add_subdirectory(man)
+ endif()
+ 
+ # Enable packaging
Index: textproc/podofo/pkg/PLIST
===================================================================
RCS file: /cvs/ports/textproc/podofo/pkg/PLIST,v
diff -u -p -r1.6 PLIST
--- textproc/podofo/pkg/PLIST	11 Mar 2022 20:03:13 -0000	1.6
+++ textproc/podofo/pkg/PLIST	10 Jul 2024 15:00:17 -0000
@@ -18,117 +18,153 @@
 @bin bin/podofouncompress
 @bin bin/podofoxmp
 include/podofo/
-include/podofo/base/
-include/podofo/base/Pdf3rdPtyForwardDecl.h
-include/podofo/base/PdfArray.h
-include/podofo/base/PdfCanvas.h
-include/podofo/base/PdfColor.h
-include/podofo/base/PdfCompilerCompat.h
-include/podofo/base/PdfCompilerCompatPrivate.h
-include/podofo/base/PdfContentsTokenizer.h
-include/podofo/base/PdfData.h
-include/podofo/base/PdfDataType.h
-include/podofo/base/PdfDate.h
-include/podofo/base/PdfDefines.h
-include/podofo/base/PdfDefinesPrivate.h
-include/podofo/base/PdfDictionary.h
-include/podofo/base/PdfEncoding.h
-include/podofo/base/PdfEncodingFactory.h
-include/podofo/base/PdfEncrypt.h
-include/podofo/base/PdfError.h
-include/podofo/base/PdfExtension.h
-include/podofo/base/PdfFileStream.h
-include/podofo/base/PdfFilter.h
-include/podofo/base/PdfFiltersPrivate.h
-include/podofo/base/PdfImmediateWriter.h
-include/podofo/base/PdfInputDevice.h
-include/podofo/base/PdfInputStream.h
-include/podofo/base/PdfLocale.h
-include/podofo/base/PdfMemStream.h
-include/podofo/base/PdfMemoryManagement.h
-include/podofo/base/PdfName.h
-include/podofo/base/PdfObject.h
-include/podofo/base/PdfObjectStreamParserObject.h
-include/podofo/base/PdfOutputDevice.h
-include/podofo/base/PdfOutputStream.h
-include/podofo/base/PdfOwnedDataType.h
-include/podofo/base/PdfParser.h
-include/podofo/base/PdfParserObject.h
-include/podofo/base/PdfRect.h
-include/podofo/base/PdfRefCountedBuffer.h
-include/podofo/base/PdfRefCountedInputDevice.h
-include/podofo/base/PdfReference.h
-include/podofo/base/PdfStream.h
-include/podofo/base/PdfString.h
-include/podofo/base/PdfTokenizer.h
-include/podofo/base/PdfVariant.h
-include/podofo/base/PdfVecObjects.h
-include/podofo/base/PdfVersion.h
-include/podofo/base/PdfWriter.h
-include/podofo/base/PdfXRef.h
-include/podofo/base/PdfXRefStream.h
-include/podofo/base/PdfXRefStreamParserObject.h
-include/podofo/base/podofo_config.h
-include/podofo/base/podofoapi.h
-include/podofo/base/util/
-include/podofo/base/util/PdfMutex.h
-include/podofo/base/util/PdfMutexImpl_noop.h
-include/podofo/base/util/PdfMutexImpl_pthread.h
-include/podofo/base/util/PdfMutexImpl_win32.h
-include/podofo/base/util/PdfMutexWrapper.h
-include/podofo/doc/
-include/podofo/doc/PdfAcroForm.h
-include/podofo/doc/PdfAction.h
-include/podofo/doc/PdfAnnotation.h
-include/podofo/doc/PdfCMapEncoding.h
-include/podofo/doc/PdfContents.h
-include/podofo/doc/PdfDestination.h
-include/podofo/doc/PdfDifferenceEncoding.h
-include/podofo/doc/PdfDocument.h
-include/podofo/doc/PdfElement.h
-include/podofo/doc/PdfEncodingObjectFactory.h
-include/podofo/doc/PdfExtGState.h
-include/podofo/doc/PdfField.h
-include/podofo/doc/PdfFileSpec.h
-include/podofo/doc/PdfFont.h
-include/podofo/doc/PdfFontCID.h
-include/podofo/doc/PdfFontCache.h
-include/podofo/doc/PdfFontConfigWrapper.h
-include/podofo/doc/PdfFontFactory.h
-include/podofo/doc/PdfFontFactoryBase14Data.h
-include/podofo/doc/PdfFontMetrics.h
-include/podofo/doc/PdfFontMetricsBase14.h
-include/podofo/doc/PdfFontMetricsFreetype.h
-include/podofo/doc/PdfFontMetricsObject.h
-include/podofo/doc/PdfFontSimple.h
-include/podofo/doc/PdfFontTTFSubset.h
-include/podofo/doc/PdfFontTrueType.h
-include/podofo/doc/PdfFontType1.h
-include/podofo/doc/PdfFontType1Base14.h
-include/podofo/doc/PdfFontType3.h
-include/podofo/doc/PdfFunction.h
-include/podofo/doc/PdfHintStream.h
-include/podofo/doc/PdfIdentityEncoding.h
-include/podofo/doc/PdfImage.h
-include/podofo/doc/PdfInfo.h
-include/podofo/doc/PdfMemDocument.h
-include/podofo/doc/PdfNamesTree.h
-include/podofo/doc/PdfOutlines.h
-include/podofo/doc/PdfPage.h
-include/podofo/doc/PdfPagesTree.h
-include/podofo/doc/PdfPagesTreeCache.h
-include/podofo/doc/PdfPainter.h
-include/podofo/doc/PdfPainterMM.h
-include/podofo/doc/PdfShadingPattern.h
-include/podofo/doc/PdfSignOutputDevice.h
-include/podofo/doc/PdfSignatureField.h
-include/podofo/doc/PdfStreamedDocument.h
-include/podofo/doc/PdfTable.h
-include/podofo/doc/PdfTilingPattern.h
-include/podofo/doc/PdfXObject.h
-include/podofo/podofo-base.h
+include/podofo/auxiliary/
+include/podofo/auxiliary/EnumFlags.h
+include/podofo/auxiliary/InputDevice.h
+include/podofo/auxiliary/InputStream.h
+include/podofo/auxiliary/MathBase.h
+include/podofo/auxiliary/Matrix.h
+include/podofo/auxiliary/OutputDevice.h
+include/podofo/auxiliary/OutputStream.h
+include/podofo/auxiliary/Rect.h
+include/podofo/auxiliary/StateStack.h
+include/podofo/auxiliary/StreamDevice.h
+include/podofo/auxiliary/StreamDeviceBase.h
+include/podofo/auxiliary/Vector2.h
+include/podofo/auxiliary/Version.h
+include/podofo/auxiliary/basecompat.h
+include/podofo/auxiliary/basedefs.h
+include/podofo/auxiliary/baseincludes.h
+include/podofo/auxiliary/basetypes.h
+include/podofo/auxiliary/nullable.h
+include/podofo/auxiliary/podofo_config.h
+include/podofo/auxiliary/span.h
+include/podofo/auxiliary/span.hpp
+include/podofo/main/
+include/podofo/main/PdfAcroForm.h
+include/podofo/main/PdfAction.h
+include/podofo/main/PdfAnnotation.h
+include/podofo/main/PdfAnnotationActionBase.h
+include/podofo/main/PdfAnnotationCollection.h
+include/podofo/main/PdfAnnotationWidget.h
+include/podofo/main/PdfAnnotation_Types.h
+include/podofo/main/PdfArray.h
+include/podofo/main/PdfButton.h
+include/podofo/main/PdfCIDToGIDMap.h
+include/podofo/main/PdfCMapEncoding.h
+include/podofo/main/PdfCanvas.h
+include/podofo/main/PdfCanvasInputDevice.h
+include/podofo/main/PdfCatalog.h
+include/podofo/main/PdfCharCodeMap.h
+include/podofo/main/PdfCheckBox.h
+include/podofo/main/PdfChoiceField.h
+include/podofo/main/PdfColor.h
+include/podofo/main/PdfComboBox.h
+include/podofo/main/PdfCommon.h
+include/podofo/main/PdfContentStreamOperators.h
+include/podofo/main/PdfContentStreamReader.h
+include/podofo/main/PdfContents.h
+include/podofo/main/PdfData.h
+include/podofo/main/PdfDataContainer.h
+include/podofo/main/PdfDataProvider.h
+include/podofo/main/PdfDate.h
+include/podofo/main/PdfDeclarations.h
+include/podofo/main/PdfDestination.h
+include/podofo/main/PdfDictionary.h
+include/podofo/main/PdfDifferenceEncoding.h
+include/podofo/main/PdfDocument.h
+include/podofo/main/PdfElement.h
+include/podofo/main/PdfEncoding.h
+include/podofo/main/PdfEncodingCommon.h
+include/podofo/main/PdfEncodingFactory.h
+include/podofo/main/PdfEncodingMap.h
+include/podofo/main/PdfEncodingMapFactory.h
+include/podofo/main/PdfEncodingShim.h
+include/podofo/main/PdfEncrypt.h
+include/podofo/main/PdfError.h
+include/podofo/main/PdfExtGState.h
+include/podofo/main/PdfExtension.h
+include/podofo/main/PdfField.h
+include/podofo/main/PdfFieldChildrenCollection.h
+include/podofo/main/PdfFileSpec.h
+include/podofo/main/PdfFilter.h
+include/podofo/main/PdfFont.h
+include/podofo/main/PdfFontCID.h
+include/podofo/main/PdfFontCIDTrueType.h
+include/podofo/main/PdfFontCIDType1.h
+include/podofo/main/PdfFontConfigWrapper.h
+include/podofo/main/PdfFontManager.h
+include/podofo/main/PdfFontMetrics.h
+include/podofo/main/PdfFontMetricsFreetype.h
+include/podofo/main/PdfFontMetricsObject.h
+include/podofo/main/PdfFontMetricsStandard14.h
+include/podofo/main/PdfFontObject.h
+include/podofo/main/PdfFontSimple.h
+include/podofo/main/PdfFontTrueType.h
+include/podofo/main/PdfFontTrueTypeSubset.h
+include/podofo/main/PdfFontType1.h
+include/podofo/main/PdfFontType3.h
+include/podofo/main/PdfGraphicsState.h
+include/podofo/main/PdfIdentityEncoding.h
+include/podofo/main/PdfImage.h
+include/podofo/main/PdfImmediateWriter.h
+include/podofo/main/PdfIndirectObjectList.h
+include/podofo/main/PdfInfo.h
+include/podofo/main/PdfListBox.h
+include/podofo/main/PdfMath.h
+include/podofo/main/PdfMemDocument.h
+include/podofo/main/PdfMemoryObjectStream.h
+include/podofo/main/PdfMetadata.h
+include/podofo/main/PdfName.h
+include/podofo/main/PdfNameTree.h
+include/podofo/main/PdfObject.h
+include/podofo/main/PdfObjectStream.h
+include/podofo/main/PdfObjectStreamParser.h
+include/podofo/main/PdfObjectStreamProvider.h
+include/podofo/main/PdfOperatorUtils.h
+include/podofo/main/PdfOutlines.h
+include/podofo/main/PdfPage.h
+include/podofo/main/PdfPageCollection.h
+include/podofo/main/PdfPainter.h
+include/podofo/main/PdfPainterPath.h
+include/podofo/main/PdfPainterTextObject.h
+include/podofo/main/PdfParser.h
+include/podofo/main/PdfParserObject.h
+include/podofo/main/PdfPostScriptTokenizer.h
+include/podofo/main/PdfPredefinedEncoding.h
+include/podofo/main/PdfPushButton.h
+include/podofo/main/PdfRadioButton.h
+include/podofo/main/PdfReference.h
+include/podofo/main/PdfResources.h
+include/podofo/main/PdfSignature.h
+include/podofo/main/PdfSigner.h
+include/podofo/main/PdfStatefulEncrypt.h
+include/podofo/main/PdfStreamedDocument.h
+include/podofo/main/PdfStreamedObjectStream.h
+include/podofo/main/PdfString.h
+include/podofo/main/PdfStringStream.h
+include/podofo/main/PdfTextBox.h
+include/podofo/main/PdfTextState.h
+include/podofo/main/PdfTokenizer.h
+include/podofo/main/PdfTrailer.h
+include/podofo/main/PdfVariant.h
+include/podofo/main/PdfVariantStack.h
+include/podofo/main/PdfWriter.h
+include/podofo/main/PdfXMPMetadata.h
+include/podofo/main/PdfXMPPacket.h
+include/podofo/main/PdfXObject.h
+include/podofo/main/PdfXObjectForm.h
+include/podofo/main/PdfXObjectPostScript.h
+include/podofo/main/PdfXRef.h
+include/podofo/main/PdfXRefEntry.h
+include/podofo/main/PdfXRefStream.h
+include/podofo/main/PdfXRefStreamParserObject.h
 include/podofo/podofo.h
-@static-lib lib/libpodofo.a
+include/podofo/staging/
+include/podofo/staging/PdfFunction.h
+include/podofo/staging/PdfPainterExtensions.h
+include/podofo/staging/PdfShadingPattern.h
+include/podofo/staging/PdfTilingPattern.h
 @lib lib/libpodofo.so.${LIBpodofo_VERSION}
 lib/pkgconfig/libpodofo.pc
 @man man/man1/podofobox.1
@@ -148,3 +184,6 @@ lib/pkgconfig/libpodofo.pc
 @man man/man1/podofotxtextract.1
 @man man/man1/podofouncompress.1
 @man man/man1/podofoxmp.1
+share/podofo/
+share/podofo/podofo-config${MODCMAKE_BUILD_SUFFIX}
+share/podofo/podofo-config.cmake
Index: sysutils/krename/Makefile
===================================================================
RCS file: /cvs/ports/sysutils/krename/Makefile,v
diff -u -p -r1.44 Makefile
--- sysutils/krename/Makefile	21 Apr 2024 18:23:27 -0000	1.44
+++ sysutils/krename/Makefile	10 Jul 2024 15:00:17 -0000
@@ -20,7 +20,7 @@ WANTLIB += KF5ItemViews KF5JSApi KF5JobW
 WANTLIB += KF5KIOGui KF5KIOWidgets KF5Service KF5Solid KF5WidgetsAddons
 WANTLIB += KF5WindowSystem KF5XmlGui Qt5Concurrent Qt5Core Qt5DBus
 WANTLIB += Qt5Gui Qt5Network Qt5Widgets Qt5Xml c exiv2 freetype
-WANTLIB += m podofo tag z X11
+WANTLIB += m tag z X11
 
 SITES =		${SITE_KDE:=stable/krename/${VERSION}/src/}
 
@@ -34,7 +34,6 @@ RUN_DEPENDS =	devel/desktop-file-utils \
 
 LIB_DEPENDS =	audio/taglib \
 		graphics/exiv2 \
-		textproc/podofo \
 		devel/kf5/kcompletion \
 		devel/kf5/kconfig \
 		devel/kf5/kcoreaddons \
Index: sysutils/krename/patches/patch-CMakeLists_txt
===================================================================
RCS file: /cvs/ports/sysutils/krename/patches/patch-CMakeLists_txt,v
diff -u -p -r1.3 patch-CMakeLists_txt
--- sysutils/krename/patches/patch-CMakeLists_txt	11 Jul 2023 10:51:35 -0000	1.3
+++ sysutils/krename/patches/patch-CMakeLists_txt	10 Jul 2024 15:00:17 -0000
@@ -3,20 +3,40 @@ From: Andreas Sturmlechner <asturm@gento
 Date: Fri, 26 May 2023 23:23:10 +0200
 Subject: [PATCH] Fix build with >=exiv2-0.28, raise minimum to 0.27
 
+Disable podofo; could probably be reenabled with
+https://github.com/KDE/krename/commit/056d614dc2166cd25749caf264b1b4d9d348f4d4
+https://github.com/KDE/krename/commit/930e995dbcadc796424d261f75c90e98f02fc0b4
+
 Index: CMakeLists.txt
 --- CMakeLists.txt.orig
 +++ CMakeLists.txt
-@@ -54,12 +54,8 @@ set_package_properties(Taglib PROPERTIES
+@@ -54,20 +54,9 @@ set_package_properties(Taglib PROPERTIES
      TYPE OPTIONAL)
  
  # Find exiv2
 -find_package(LibExiv2 0.13) # AccessMode was added in 0.13
 +find_package(LibExiv2 0.27) # EXIV2_TEST_VERSION was added in 0.27
  set_package_properties(LibExiv2 PROPERTIES TYPE OPTIONAL)
--
+ 
 -if (LibExiv2_VERSION VERSION_GREATER_EQUAL "0.27")
 -    set(HAVE_LIBEXIV2_0_27 TRUE)
 -endif()
+-
+-# Find podofo
+-find_package(PoDoFo)
+-set_package_properties(PoDoFo PROPERTIES
+-    DESCRIPTION "A library to access PDF metadata"
+-    URL "http://podofo.sourceforge.net/"
+-    TYPE OPTIONAL)
+-
+ # Find freetype
+ find_package(Freetype)
+ set_package_properties(Freetype PROPERTIES
+@@ -79,7 +68,6 @@ feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_
+ 
+ set(HAVE_TAGLIB ${TAGLIB_FOUND})
+ set(HAVE_EXIV2 ${LibExiv2_FOUND})
+-set(HAVE_PODOFO ${PoDoFo_FOUND})
+ set(HAVE_FREETYPE ${FREETYPE_FOUND})
+ configure_file(config-krename.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-krename.h)
  
- # Find podofo
- find_package(PoDoFo)
Index: sysutils/krename/patches/patch-src_CMakeLists_txt
===================================================================
RCS file: sysutils/krename/patches/patch-src_CMakeLists_txt
diff -N sysutils/krename/patches/patch-src_CMakeLists_txt
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ sysutils/krename/patches/patch-src_CMakeLists_txt	10 Jul 2024 15:00:17 -0000
@@ -0,0 +1,12 @@
+Index: src/CMakeLists.txt
+--- src/CMakeLists.txt.orig
++++ src/CMakeLists.txt
+@@ -14,7 +14,7 @@ if(EXIV2_FOUND)
+     include_directories(${EXIV2_INCLUDE_DIR})
+ endif()
+ 
+-if(PoDoFo_FOUND)
++if(FALSE AND PoDoFo_FOUND)
+     include_directories(${PoDoFo_INCLUDE_DIRS})
+     add_definitions(${PoDoFo_DEFINITIONS})
+ endif()