Nerge 3.3 into default.

Issue #18942: sys._debugmallocstats() output was damaged on Windows.

_PyDebugAllocatorStats() called PyOS_snprintf() with a %zd format
code, but MS doesn't support that code.  Interpolated
PY_FORMAT_SIZE_T in place of the "z".
diff --git a/Misc/NEWS b/Misc/NEWS
index 88a9d62..b5e4bcf 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -10,6 +10,8 @@
 Core and Builtins
 -----------------
 
+- Issue #18942: sys._debugmallocstats() output was damaged on Windows.
+
 - Issue #18571: Implementation of the PEP 446: file descriptors and file
   handles are now created non-inheritable; add functions
   os.get/set_inheritable(), os.get/set_handle_inheritable() and
diff --git a/Objects/obmalloc.c b/Objects/obmalloc.c
index f146222..db774b8 100644
--- a/Objects/obmalloc.c
+++ b/Objects/obmalloc.c
@@ -2035,7 +2035,7 @@
     char buf1[128];
     char buf2[128];
     PyOS_snprintf(buf1, sizeof(buf1),
-                  "%d %ss * %zd bytes each",
+                  "%d %ss * %" PY_FORMAT_SIZE_T "d bytes each",
                   num_blocks, block_name, sizeof_block);
     PyOS_snprintf(buf2, sizeof(buf2),
                   "%48s ", buf1);