Python 3.9.0rc2
diff --git a/Lib/pydoc_data/topics.py b/Lib/pydoc_data/topics.py
index 0832640..288bdfa 100644
--- a/Lib/pydoc_data/topics.py
+++ b/Lib/pydoc_data/topics.py
@@ -1,5 +1,5 @@
 # -*- coding: utf-8 -*-
-# Autogenerated by Sphinx on Tue Aug 11 19:08:56 2020
+# Autogenerated by Sphinx on Wed Sep 16 23:08:58 2020
 topics = {'assert': 'The "assert" statement\n'
            '**********************\n'
            '\n'
@@ -6946,6 +6946,14 @@
                   'the data\n'
                   '   model.\n'
                   '\n'
+                  '   Note: Due to a bug in the dispatching mechanism for '
+                  '"**=", a\n'
+                  '     class that defines "__ipow__()" but returns '
+                  '"NotImplemented"\n'
+                  '     would fail to fall back to "x.__pow__(y)" and '
+                  '"y.__rpow__(x)".\n'
+                  '     This bug is fixed in Python 3.10.\n'
+                  '\n'
                   'object.__neg__(self)\n'
                   'object.__pos__(self)\n'
                   'object.__abs__(self)\n'
@@ -9627,6 +9635,14 @@
                  'the data\n'
                  '   model.\n'
                  '\n'
+                 '   Note: Due to a bug in the dispatching mechanism for '
+                 '"**=", a\n'
+                 '     class that defines "__ipow__()" but returns '
+                 '"NotImplemented"\n'
+                 '     would fail to fall back to "x.__pow__(y)" and '
+                 '"y.__rpow__(x)".\n'
+                 '     This bug is fixed in Python 3.10.\n'
+                 '\n'
                  'object.__neg__(self)\n'
                  'object.__pos__(self)\n'
                  'object.__abs__(self)\n'
@@ -9915,35 +9931,6 @@
                    '*start* and\n'
                    '   *end* are interpreted as in slice notation.\n'
                    '\n'
-                   'str.removeprefix(prefix, /)\n'
-                   '\n'
-                   '   If the string starts with the *prefix* string, return\n'
-                   '   "string[len(prefix):]". Otherwise, return a copy of the '
-                   'original\n'
-                   '   string:\n'
-                   '\n'
-                   "      >>> 'TestHook'.removeprefix('Test')\n"
-                   "      'Hook'\n"
-                   "      >>> 'BaseTestCase'.removeprefix('Test')\n"
-                   "      'BaseTestCase'\n"
-                   '\n'
-                   '   New in version 3.9.\n'
-                   '\n'
-                   'str.removesuffix(suffix, /)\n'
-                   '\n'
-                   '   If the string ends with the *suffix* string and that '
-                   '*suffix* is\n'
-                   '   not empty, return "string[:-len(suffix)]". Otherwise, '
-                   'return a copy\n'
-                   '   of the original string:\n'
-                   '\n'
-                   "      >>> 'MiscTests'.removesuffix('Tests')\n"
-                   "      'Misc'\n"
-                   "      >>> 'TmpDirMixin'.removesuffix('Tests')\n"
-                   "      'TmpDirMixin'\n"
-                   '\n'
-                   '   New in version 3.9.\n'
-                   '\n'
                    'str.encode(encoding="utf-8", errors="strict")\n'
                    '\n'
                    '   Return an encoded version of the string as a bytes '
@@ -10372,6 +10359,35 @@
                    'followed by\n'
                    '   two empty strings.\n'
                    '\n'
+                   'str.removeprefix(prefix, /)\n'
+                   '\n'
+                   '   If the string starts with the *prefix* string, return\n'
+                   '   "string[len(prefix):]". Otherwise, return a copy of the '
+                   'original\n'
+                   '   string:\n'
+                   '\n'
+                   "      >>> 'TestHook'.removeprefix('Test')\n"
+                   "      'Hook'\n"
+                   "      >>> 'BaseTestCase'.removeprefix('Test')\n"
+                   "      'BaseTestCase'\n"
+                   '\n'
+                   '   New in version 3.9.\n'
+                   '\n'
+                   'str.removesuffix(suffix, /)\n'
+                   '\n'
+                   '   If the string ends with the *suffix* string and that '
+                   '*suffix* is\n'
+                   '   not empty, return "string[:-len(suffix)]". Otherwise, '
+                   'return a copy\n'
+                   '   of the original string:\n'
+                   '\n'
+                   "      >>> 'MiscTests'.removesuffix('Tests')\n"
+                   "      'Misc'\n"
+                   "      >>> 'TmpDirMixin'.removesuffix('Tests')\n"
+                   "      'TmpDirMixin'\n"
+                   '\n'
+                   '   New in version 3.9.\n'
+                   '\n'
                    'str.replace(old, new[, count])\n'
                    '\n'
                    '   Return a copy of the string with all occurrences of '