diff --git a/modulesets/bootstrap.modules b/modulesets/bootstrap.modules
index ce853f6..5721aa9 100644
--- a/modulesets/bootstrap.modules
+++ b/modulesets/bootstrap.modules
@@ -182,7 +182,7 @@
-
+
@@ -208,6 +208,8 @@
+
+
@@ -216,7 +218,7 @@
-
+
@@ -227,7 +229,7 @@
-
+
@@ -343,7 +345,10 @@
-
+
+
+
+
@@ -373,7 +378,7 @@
-
+
diff --git a/patches/0001-quartz-font-Add-support-for-color-emoji-glyphs.patch b/patches/0001-quartz-font-Add-support-for-color-emoji-glyphs.patch
index cd31f71..98dc312 100644
--- a/patches/0001-quartz-font-Add-support-for-color-emoji-glyphs.patch
+++ b/patches/0001-quartz-font-Add-support-for-color-emoji-glyphs.patch
@@ -1,7 +1,7 @@
-From 54add68aecec4351f1e148241366ccf2d659e784 Mon Sep 17 00:00:00 2001
+From 6a07c0ab69f630aea1282b3a285fb30cbe4c5564 Mon Sep 17 00:00:00 2001
From: Suyuan Chang
Date: Sun, 27 Jan 2019 22:56:54 -0800
-Subject: [PATCH 1/9] quartz-font: Add support for color emoji glyphs.
+Subject: [PATCH 01/10] quartz-font: Add support for color emoji glyphs.
Treat the macOS system font 'Apple Color Emoji' as color glyphs and
use color surface to render it.
diff --git a/patches/0002-Check-font-status-in-show_text_glyphs.patch b/patches/0002-Check-font-status-in-show_text_glyphs.patch
index 4d6d418..4117bc9 100644
--- a/patches/0002-Check-font-status-in-show_text_glyphs.patch
+++ b/patches/0002-Check-font-status-in-show_text_glyphs.patch
@@ -1,7 +1,7 @@
-From 4bbb1705f9247409baf0c7a948232402beeea332 Mon Sep 17 00:00:00 2001
+From 3825561ef06b1ba7b614ad49bbedd4d7f05b59b3 Mon Sep 17 00:00:00 2001
From: Adrian Johnson
Date: Tue, 5 Apr 2022 17:38:13 +0930
-Subject: [PATCH 2/9] Check font status in show_text_glyphs
+Subject: [PATCH 02/10] Check font status in show_text_glyphs
to prevent asserting in _cairo_scaled_font_freeze_cache()
diff --git a/patches/0003-Fix-a-double-free-in-_cairo_mono_scan_converter_crea.patch b/patches/0003-Fix-a-double-free-in-_cairo_mono_scan_converter_crea.patch
index 219f949..503a518 100644
--- a/patches/0003-Fix-a-double-free-in-_cairo_mono_scan_converter_crea.patch
+++ b/patches/0003-Fix-a-double-free-in-_cairo_mono_scan_converter_crea.patch
@@ -1,7 +1,7 @@
-From 98b85ae5704b3e5cbbeb5f9ea4fd06ff1862a9ef Mon Sep 17 00:00:00 2001
+From f53dc4f559575acd6643d11f3f7f3d6875627aaf Mon Sep 17 00:00:00 2001
From: Feysh INC
Date: Fri, 22 Apr 2022 16:43:59 +0800
-Subject: [PATCH 3/9] Fix a double free in _cairo_mono_scan_converter_create
+Subject: [PATCH 03/10] Fix a double free in _cairo_mono_scan_converter_create
When `_mono_scan_converter_init` failed,
`self->converter->polygon` will be freed by `polygon_fini()`. However,
diff --git a/patches/0004-Fix-a-use-after-free-in-cairo_scaled_font_create.patch b/patches/0004-Fix-a-use-after-free-in-cairo_scaled_font_create.patch
index 9d6faa5..a2b1535 100644
--- a/patches/0004-Fix-a-use-after-free-in-cairo_scaled_font_create.patch
+++ b/patches/0004-Fix-a-use-after-free-in-cairo_scaled_font_create.patch
@@ -1,7 +1,7 @@
-From 426f05307808a7df6bfe93bad3c24fbb24673b4b Mon Sep 17 00:00:00 2001
+From 39d4ffa1361171ba00f177ce3a8c16359794f9d1 Mon Sep 17 00:00:00 2001
From: Feysh INC
Date: Fri, 22 Apr 2022 17:09:47 +0800
-Subject: [PATCH 4/9] Fix a use after free in cairo_scaled_font_create
+Subject: [PATCH 04/10] Fix a use after free in cairo_scaled_font_create
When `font_face` is freed by `cairo_font_face_destroy()` at line 1,150,
the following call `_cairo_font_face_set_error (font_face, status)`
diff --git a/patches/0005-Fix-a-use-after-free-in-_cairo_svg_surface_create_fo.patch b/patches/0005-Fix-a-use-after-free-in-_cairo_svg_surface_create_fo.patch
index 6237f2b..503ae31 100644
--- a/patches/0005-Fix-a-use-after-free-in-_cairo_svg_surface_create_fo.patch
+++ b/patches/0005-Fix-a-use-after-free-in-_cairo_svg_surface_create_fo.patch
@@ -1,7 +1,7 @@
-From 0279943104094aa7aef00aa30f3052569360ece1 Mon Sep 17 00:00:00 2001
+From 589a39678e24ad72e8f6d45920f939e9788cae34 Mon Sep 17 00:00:00 2001
From: Feysh INC
Date: Fri, 22 Apr 2022 21:24:09 +0800
-Subject: [PATCH 5/9] Fix a use after free in
+Subject: [PATCH 05/10] Fix a use after free in
_cairo_svg_surface_create_for_stream_internal
When `_cairo_svg_surface_create_for_document()` failed, it will free the
diff --git a/patches/0006-fixed-double-free-in-_cairo_ps_surface_emit_base85_s.patch b/patches/0006-fixed-double-free-in-_cairo_ps_surface_emit_base85_s.patch
index 59cdf55..49dcdcd 100644
--- a/patches/0006-fixed-double-free-in-_cairo_ps_surface_emit_base85_s.patch
+++ b/patches/0006-fixed-double-free-in-_cairo_ps_surface_emit_base85_s.patch
@@ -1,7 +1,8 @@
-From 8f15bbf327adac48262e6fe329baf76581a42a73 Mon Sep 17 00:00:00 2001
+From 65b0175f297347713a6438bab6569e48cde00e04 Mon Sep 17 00:00:00 2001
From: Ayman El Didi
Date: Wed, 20 Apr 2022 15:11:14 -0600
-Subject: [PATCH 6/9] fixed double free in _cairo_ps_surface_emit_base85_string
+Subject: [PATCH 06/10] fixed double free in
+ _cairo_ps_surface_emit_base85_string
When taking the CAIRO_PS_COMPRESS_DEFLATE branch of the switch
statement in _cairo_ps_surface_emit_base85_string, memory is freed
diff --git a/patches/0007-quartz-Destroy-local-copy-of-snapshot-after-attachin.patch b/patches/0007-quartz-Destroy-local-copy-of-snapshot-after-attachin.patch
index 87a18d8..06a6d1b 100644
--- a/patches/0007-quartz-Destroy-local-copy-of-snapshot-after-attachin.patch
+++ b/patches/0007-quartz-Destroy-local-copy-of-snapshot-after-attachin.patch
@@ -1,7 +1,7 @@
-From b9ed20e5d2df31f29f360c8c253a21e713cfce5f Mon Sep 17 00:00:00 2001
+From b6f7719ce43d143b996a07571e65849771ade971 Mon Sep 17 00:00:00 2001
From: John Ralls
Date: Sat, 23 Apr 2022 16:38:01 -0700
-Subject: [PATCH 7/9] [quartz] Destroy local copy of snapshot after attaching
+Subject: [PATCH 07/10] [quartz] Destroy local copy of snapshot after attaching
it.
Because cairo_surface_snapshot_attach refs the snapshot.
diff --git a/patches/0008-Fix-deadlock-in-cairo-scaled-font.c.patch b/patches/0008-Fix-deadlock-in-cairo-scaled-font.c.patch
index 8964a6a..03ff539 100644
--- a/patches/0008-Fix-deadlock-in-cairo-scaled-font.c.patch
+++ b/patches/0008-Fix-deadlock-in-cairo-scaled-font.c.patch
@@ -1,7 +1,7 @@
-From 196e253174a6df0a13451d16f666bd8f44eccab2 Mon Sep 17 00:00:00 2001
+From d1f7fad5ff81476e7d767fde903f17f839e53903 Mon Sep 17 00:00:00 2001
From: Adrian Johnson
Date: Fri, 27 May 2022 21:36:31 +0930
-Subject: [PATCH 8/9] Fix deadlock in cairo-scaled-font.c
+Subject: [PATCH 08/10] Fix deadlock in cairo-scaled-font.c
When cairo_scaled_glyph_page_cache needs to remove entries,
cairo-cache calls _cairo_hash_table_random_entry() with the predicate
diff --git a/patches/0009-Fix-deadlock-in-cairo-scaled-font.c.patch b/patches/0009-Fix-deadlock-in-cairo-scaled-font.c.patch
index 4332fca..32d5f47 100644
--- a/patches/0009-Fix-deadlock-in-cairo-scaled-font.c.patch
+++ b/patches/0009-Fix-deadlock-in-cairo-scaled-font.c.patch
@@ -1,7 +1,7 @@
-From a2af073404701dd5651ba635fb626b928e02b90a Mon Sep 17 00:00:00 2001
+From 7a1d689610fc0a8e27459694a365d15bf41eb835 Mon Sep 17 00:00:00 2001
From: Adrian Johnson
Date: Sat, 28 May 2022 07:14:52 +0930
-Subject: [PATCH 9/9] Fix deadlock in cairo-scaled-font.c
+Subject: [PATCH 09/10] Fix deadlock in cairo-scaled-font.c
A user font glyph containing a font can cause deadlock in
_cairo_scaled_glyph_fini due to the destroy recording surface while
diff --git a/patches/0010-quartz-Avoid-reading-beyond-the-end-of-image-surface.patch b/patches/0010-quartz-Avoid-reading-beyond-the-end-of-image-surface.patch
new file mode 100644
index 0000000..c5bc39d
--- /dev/null
+++ b/patches/0010-quartz-Avoid-reading-beyond-the-end-of-image-surface.patch
@@ -0,0 +1,34 @@
+From f007412eb3f95e6e7e489d53301f23dfa92621a1 Mon Sep 17 00:00:00 2001
+From: Jeff Muizelaar
+Date: Wed, 29 Jun 2022 11:41:47 -0400
+Subject: [PATCH 10/10] quartz: Avoid reading beyond the end of image surfaces.
+
+The last row of data may have less than stride bytes so make sure we
+only copy what we need.
+
+(cherry picked from commit cccc81ccba99600483621e02ae9438a4a5a3d024)
+---
+ src/cairo-quartz-surface.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/src/cairo-quartz-surface.c b/src/cairo-quartz-surface.c
+index fa6d9b1c9..14feb0f41 100644
+--- a/src/cairo-quartz-surface.c
++++ b/src/cairo-quartz-surface.c
+@@ -881,8 +881,12 @@ _cairo_surface_to_cgimage (cairo_surface_t *source,
+ return _cairo_error (CAIRO_STATUS_NO_MEMORY);
+ }
+
++ // The last row of data may have less than stride bytes so make sure we
++ // only copy the minimum amount required from that row.
+ memcpy (image_data, image_surface->data,
+- image_surface->height * image_surface->stride);
++ (image_surface->height - 1) * image_surface->stride +
++ cairo_format_stride_for_width (image_surface->format,
++ image_surface->width));
+ *image_out = CairoQuartzCreateCGImage (image_surface->format,
+ image_surface->width,
+ image_surface->height,
+--
+2.32.1 (Apple Git-133)
+
diff --git a/patches/openssl-fix-missing-header.patch b/patches/openssl-fix-missing-header.patch
new file mode 100644
index 0000000..cb8a3ee
--- /dev/null
+++ b/patches/openssl-fix-missing-header.patch
@@ -0,0 +1,30 @@
+From 60f011f584d80447e86cae1d1bd3ae24bc13235b Mon Sep 17 00:00:00 2001
+From: Gregor Jasny
+Date: Tue, 5 Jul 2022 12:57:06 +0200
+Subject: [PATCH] Add missing header for memcmp
+
+CLA: trivial
+
+Reviewed-by: Paul Dale
+Reviewed-by: Dmitry Belyavskiy
+Reviewed-by: Todd Short
+Reviewed-by: Richard Levitte
+(Merged from https://github.com/openssl/openssl/pull/18719)
+
+(cherry picked from commit f9e578e720bb35228948564192adbe3bc503d5fb)
+---
+ test/v3ext.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/test/v3ext.c b/test/v3ext.c
+index 386135fed8ab..7a240cd70603 100644
+--- a/test/v3ext.c
++++ b/test/v3ext.c
+@@ -8,6 +8,7 @@
+ */
+
+ #include
++#include
+ #include
+ #include
+ #include