We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Add support for Python 3.8


--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `noxfile.py`
Content:
```
1 # Copyright 2019 Google LLC
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 #
7 #      http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14 
15 import nox
16 
17 TEST_DEPENDENCIES = [
18     "flask",
19     "freezegun",
20     "mock",
21     "oauth2client",
22     "pyopenssl",
23     "pytest",
24     "pytest-cov",
25     "pytest-localserver",
26     "requests",
27     "urllib3",
28     "cryptography",
29     "responses",
30     "grpcio",
31 ]
32 BLACK_VERSION = "black==19.3b0"
33 BLACK_PATHS = ["google", "tests", "noxfile.py", "setup.py", "docs/conf.py"]
34 
35 
36 @nox.session(python="3.7")
37 def lint(session):
38     session.install("flake8", "flake8-import-order", "docutils", BLACK_VERSION)
39     session.install(".")
40     session.run("black", "--check", *BLACK_PATHS)
41     session.run(
42         "flake8",
43         "--import-order-style=google",
44         "--application-import-names=google,tests,system_tests",
45         "google",
46         "tests",
47     )
48     session.run(
49         "python", "setup.py", "check", "--metadata", "--restructuredtext", "--strict"
50     )
51 
52 
53 @nox.session(python="3.6")
54 def blacken(session):
55     """Run black.
56 
57     Format code to uniform standard.
58 
59     This currently uses Python 3.6 due to the automated Kokoro run of synthtool.
60     That run uses an image that doesn't have 3.6 installed. Before updating this
61     check the state of the `gcp_ubuntu_config` we use for that Kokoro run.
62     """
63     session.install(BLACK_VERSION)
64     session.run("black", *BLACK_PATHS)
65 
66 
67 @nox.session(python=["2.7", "3.5", "3.6", "3.7"])
68 def unit(session):
69     session.install(*TEST_DEPENDENCIES)
70     session.install(".")
71     session.run(
72         "pytest", "--cov=google.auth", "--cov=google.oauth2", "--cov=tests", "tests"
73     )
74 
75 
76 @nox.session(python="3.7")
77 def cover(session):
78     session.install(*TEST_DEPENDENCIES)
79     session.install(".")
80     session.run(
81         "pytest",
82         "--cov=google.auth",
83         "--cov=google.oauth2",
84         "--cov=tests",
85         "--cov-report=",
86         "tests",
87     )
88     session.run("coverage", "report", "--show-missing", "--fail-under=100")
89 
90 
91 @nox.session(python="3.7")
92 def docgen(session):
93     session.env["SPHINX_APIDOC_OPTIONS"] = "members,inherited-members,show-inheritance"
94     session.install(*TEST_DEPENDENCIES)
95     session.install("sphinx")
96     session.install(".")
97     session.run("rm", "-r", "docs/reference")
98     session.run(
99         "sphinx-apidoc",
100         "--output-dir",
101         "docs/reference",
102         "--separate",
103         "--module-first",
104         "google",
105     )
106 
107 
108 @nox.session(python="3.7")
109 def docs(session):
110     session.install("sphinx", "-r", "docs/requirements-docs.txt")
111     session.install(".")
112     session.run("make", "-C", "docs", "html")
113 
114 
115 @nox.session(python="pypy")
116 def pypy(session):
117     session.install(*TEST_DEPENDENCIES)
118     session.install(".")
119     session.run(
120         "pytest", "--cov=google.auth", "--cov=google.oauth2", "--cov=tests", "tests"
121     )
122
```

Path: `setup.py`
Content:
```
1 # Copyright 2014 Google Inc.
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 #
7 #      http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14 
15 import io
16 
17 from setuptools import find_packages
18 from setuptools import setup
19 
20 
21 DEPENDENCIES = (
22     "cachetools>=2.0.0,<5.0",
23     "pyasn1-modules>=0.2.1",
24     # rsa==4.5 is the last version to support 2.7
25     # https://github.com/sybrenstuvel/python-rsa/issues/152#issuecomment-643470233
26     'rsa<4.6; python_version < "3.5"',
27     'rsa>=3.1.4,<5; python_version >= "3.5"',
28     "setuptools>=40.3.0",
29     "six>=1.9.0",
30 )
31 
32 
33 with io.open("README.rst", "r") as fh:
34     long_description = fh.read()
35 
36 version = "1.19.2"
37 
38 setup(
39     name="google-auth",
40     version=version,
41     author="Google Cloud Platform",
42     author_email="googleapis-packages@google.com",
43     description="Google Authentication Library",
44     long_description=long_description,
45     url="https://github.com/googleapis/google-auth-library-python",
46     packages=find_packages(exclude=("tests*", "system_tests*")),
47     namespace_packages=("google",),
48     install_requires=DEPENDENCIES,
49     python_requires=">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*",
50     license="Apache 2.0",
51     keywords="google auth oauth client",
52     classifiers=[
53         "Programming Language :: Python :: 2",
54         "Programming Language :: Python :: 2.7",
55         "Programming Language :: Python :: 3",
56         "Programming Language :: Python :: 3.5",
57         "Programming Language :: Python :: 3.6",
58         "Programming Language :: Python :: 3.7",
59         "Development Status :: 5 - Production/Stable",
60         "Intended Audience :: Developers",
61         "License :: OSI Approved :: Apache Software License",
62         "Operating System :: POSIX",
63         "Operating System :: Microsoft :: Windows",
64         "Operating System :: MacOS :: MacOS X",
65         "Operating System :: OS Independent",
66         "Topic :: Internet :: WWW/HTTP",
67     ],
68 )
69
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/noxfile.py b/noxfile.py
--- a/noxfile.py
+++ b/noxfile.py
@@ -64,7 +64,7 @@
     session.run("black", *BLACK_PATHS)
 
 
-@nox.session(python=["2.7", "3.5", "3.6", "3.7"])
+@nox.session(python=["2.7", "3.5", "3.6", "3.7", "3.8"])
 def unit(session):
     session.install(*TEST_DEPENDENCIES)
     session.install(".")
diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -56,6 +56,7 @@
         "Programming Language :: Python :: 3.5",
         "Programming Language :: Python :: 3.6",
         "Programming Language :: Python :: 3.7",
+        "Programming Language :: Python :: 3.8",
         "Development Status :: 5 - Production/Stable",
         "Intended Audience :: Developers",
         "License :: OSI Approved :: Apache Software License",

{"golden_diff": "diff --git a/noxfile.py b/noxfile.py\n--- a/noxfile.py\n+++ b/noxfile.py\n@@ -64,7 +64,7 @@\n     session.run(\"black\", *BLACK_PATHS)\n \n \n-@nox.session(python=[\"2.7\", \"3.5\", \"3.6\", \"3.7\"])\n+@nox.session(python=[\"2.7\", \"3.5\", \"3.6\", \"3.7\", \"3.8\"])\n def unit(session):\n     session.install(*TEST_DEPENDENCIES)\n     session.install(\".\")\ndiff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -56,6 +56,7 @@\n         \"Programming Language :: Python :: 3.5\",\n         \"Programming Language :: Python :: 3.6\",\n         \"Programming Language :: Python :: 3.7\",\n+        \"Programming Language :: Python :: 3.8\",\n         \"Development Status :: 5 - Production/Stable\",\n         \"Intended Audience :: Developers\",\n         \"License :: OSI Approved :: Apache Software License\",\n", "issue": "Add support for Python 3.8\n\n", "before_files": [{"content": "# Copyright 2019 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport nox\n\nTEST_DEPENDENCIES = [\n    \"flask\",\n    \"freezegun\",\n    \"mock\",\n    \"oauth2client\",\n    \"pyopenssl\",\n    \"pytest\",\n    \"pytest-cov\",\n    \"pytest-localserver\",\n    \"requests\",\n    \"urllib3\",\n    \"cryptography\",\n    \"responses\",\n    \"grpcio\",\n]\nBLACK_VERSION = \"black==19.3b0\"\nBLACK_PATHS = [\"google\", \"tests\", \"noxfile.py\", \"setup.py\", \"docs/conf.py\"]\n\n\n@nox.session(python=\"3.7\")\ndef lint(session):\n    session.install(\"flake8\", \"flake8-import-order\", \"docutils\", BLACK_VERSION)\n    session.install(\".\")\n    session.run(\"black\", \"--check\", *BLACK_PATHS)\n    session.run(\n        \"flake8\",\n        \"--import-order-style=google\",\n        \"--application-import-names=google,tests,system_tests\",\n        \"google\",\n        \"tests\",\n    )\n    session.run(\n        \"python\", \"setup.py\", \"check\", \"--metadata\", \"--restructuredtext\", \"--strict\"\n    )\n\n\n@nox.session(python=\"3.6\")\ndef blacken(session):\n    \"\"\"Run black.\n\n    Format code to uniform standard.\n\n    This currently uses Python 3.6 due to the automated Kokoro run of synthtool.\n    That run uses an image that doesn't have 3.6 installed. Before updating this\n    check the state of the `gcp_ubuntu_config` we use for that Kokoro run.\n    \"\"\"\n    session.install(BLACK_VERSION)\n    session.run(\"black\", *BLACK_PATHS)\n\n\n@nox.session(python=[\"2.7\", \"3.5\", \"3.6\", \"3.7\"])\ndef unit(session):\n    session.install(*TEST_DEPENDENCIES)\n    session.install(\".\")\n    session.run(\n        \"pytest\", \"--cov=google.auth\", \"--cov=google.oauth2\", \"--cov=tests\", \"tests\"\n    )\n\n\n@nox.session(python=\"3.7\")\ndef cover(session):\n    session.install(*TEST_DEPENDENCIES)\n    session.install(\".\")\n    session.run(\n        \"pytest\",\n        \"--cov=google.auth\",\n        \"--cov=google.oauth2\",\n        \"--cov=tests\",\n        \"--cov-report=\",\n        \"tests\",\n    )\n    session.run(\"coverage\", \"report\", \"--show-missing\", \"--fail-under=100\")\n\n\n@nox.session(python=\"3.7\")\ndef docgen(session):\n    session.env[\"SPHINX_APIDOC_OPTIONS\"] = \"members,inherited-members,show-inheritance\"\n    session.install(*TEST_DEPENDENCIES)\n    session.install(\"sphinx\")\n    session.install(\".\")\n    session.run(\"rm\", \"-r\", \"docs/reference\")\n    session.run(\n        \"sphinx-apidoc\",\n        \"--output-dir\",\n        \"docs/reference\",\n        \"--separate\",\n        \"--module-first\",\n        \"google\",\n    )\n\n\n@nox.session(python=\"3.7\")\ndef docs(session):\n    session.install(\"sphinx\", \"-r\", \"docs/requirements-docs.txt\")\n    session.install(\".\")\n    session.run(\"make\", \"-C\", \"docs\", \"html\")\n\n\n@nox.session(python=\"pypy\")\ndef pypy(session):\n    session.install(*TEST_DEPENDENCIES)\n    session.install(\".\")\n    session.run(\n        \"pytest\", \"--cov=google.auth\", \"--cov=google.oauth2\", \"--cov=tests\", \"tests\"\n    )\n", "path": "noxfile.py"}, {"content": "# Copyright 2014 Google Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport io\n\nfrom setuptools import find_packages\nfrom setuptools import setup\n\n\nDEPENDENCIES = (\n    \"cachetools>=2.0.0,<5.0\",\n    \"pyasn1-modules>=0.2.1\",\n    # rsa==4.5 is the last version to support 2.7\n    # https://github.com/sybrenstuvel/python-rsa/issues/152#issuecomment-643470233\n    'rsa<4.6; python_version < \"3.5\"',\n    'rsa>=3.1.4,<5; python_version >= \"3.5\"',\n    \"setuptools>=40.3.0\",\n    \"six>=1.9.0\",\n)\n\n\nwith io.open(\"README.rst\", \"r\") as fh:\n    long_description = fh.read()\n\nversion = \"1.19.2\"\n\nsetup(\n    name=\"google-auth\",\n    version=version,\n    author=\"Google Cloud Platform\",\n    author_email=\"googleapis-packages@google.com\",\n    description=\"Google Authentication Library\",\n    long_description=long_description,\n    url=\"https://github.com/googleapis/google-auth-library-python\",\n    packages=find_packages(exclude=(\"tests*\", \"system_tests*\")),\n    namespace_packages=(\"google\",),\n    install_requires=DEPENDENCIES,\n    python_requires=\">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*\",\n    license=\"Apache 2.0\",\n    keywords=\"google auth oauth client\",\n    classifiers=[\n        \"Programming Language :: Python :: 2\",\n        \"Programming Language :: Python :: 2.7\",\n        \"Programming Language :: Python :: 3\",\n        \"Programming Language :: Python :: 3.5\",\n        \"Programming Language :: Python :: 3.6\",\n        \"Programming Language :: Python :: 3.7\",\n        \"Development Status :: 5 - Production/Stable\",\n        \"Intended Audience :: Developers\",\n        \"License :: OSI Approved :: Apache Software License\",\n        \"Operating System :: POSIX\",\n        \"Operating System :: Microsoft :: Windows\",\n        \"Operating System :: MacOS :: MacOS X\",\n        \"Operating System :: OS Independent\",\n        \"Topic :: Internet :: WWW/HTTP\",\n    ],\n)\n", "path": "setup.py"}], "after_files": [{"content": "# Copyright 2019 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport nox\n\nTEST_DEPENDENCIES = [\n    \"flask\",\n    \"freezegun\",\n    \"mock\",\n    \"oauth2client\",\n    \"pyopenssl\",\n    \"pytest\",\n    \"pytest-cov\",\n    \"pytest-localserver\",\n    \"requests\",\n    \"urllib3\",\n    \"cryptography\",\n    \"responses\",\n    \"grpcio\",\n]\nBLACK_VERSION = \"black==19.3b0\"\nBLACK_PATHS = [\"google\", \"tests\", \"noxfile.py\", \"setup.py\", \"docs/conf.py\"]\n\n\n@nox.session(python=\"3.7\")\ndef lint(session):\n    session.install(\"flake8\", \"flake8-import-order\", \"docutils\", BLACK_VERSION)\n    session.install(\".\")\n    session.run(\"black\", \"--check\", *BLACK_PATHS)\n    session.run(\n        \"flake8\",\n        \"--import-order-style=google\",\n        \"--application-import-names=google,tests,system_tests\",\n        \"google\",\n        \"tests\",\n    )\n    session.run(\n        \"python\", \"setup.py\", \"check\", \"--metadata\", \"--restructuredtext\", \"--strict\"\n    )\n\n\n@nox.session(python=\"3.6\")\ndef blacken(session):\n    \"\"\"Run black.\n\n    Format code to uniform standard.\n\n    This currently uses Python 3.6 due to the automated Kokoro run of synthtool.\n    That run uses an image that doesn't have 3.6 installed. Before updating this\n    check the state of the `gcp_ubuntu_config` we use for that Kokoro run.\n    \"\"\"\n    session.install(BLACK_VERSION)\n    session.run(\"black\", *BLACK_PATHS)\n\n\n@nox.session(python=[\"2.7\", \"3.5\", \"3.6\", \"3.7\", \"3.8\"])\ndef unit(session):\n    session.install(*TEST_DEPENDENCIES)\n    session.install(\".\")\n    session.run(\n        \"pytest\", \"--cov=google.auth\", \"--cov=google.oauth2\", \"--cov=tests\", \"tests\"\n    )\n\n\n@nox.session(python=\"3.7\")\ndef cover(session):\n    session.install(*TEST_DEPENDENCIES)\n    session.install(\".\")\n    session.run(\n        \"pytest\",\n        \"--cov=google.auth\",\n        \"--cov=google.oauth2\",\n        \"--cov=tests\",\n        \"--cov-report=\",\n        \"tests\",\n    )\n    session.run(\"coverage\", \"report\", \"--show-missing\", \"--fail-under=100\")\n\n\n@nox.session(python=\"3.7\")\ndef docgen(session):\n    session.env[\"SPHINX_APIDOC_OPTIONS\"] = \"members,inherited-members,show-inheritance\"\n    session.install(*TEST_DEPENDENCIES)\n    session.install(\"sphinx\")\n    session.install(\".\")\n    session.run(\"rm\", \"-r\", \"docs/reference\")\n    session.run(\n        \"sphinx-apidoc\",\n        \"--output-dir\",\n        \"docs/reference\",\n        \"--separate\",\n        \"--module-first\",\n        \"google\",\n    )\n\n\n@nox.session(python=\"3.7\")\ndef docs(session):\n    session.install(\"sphinx\", \"-r\", \"docs/requirements-docs.txt\")\n    session.install(\".\")\n    session.run(\"make\", \"-C\", \"docs\", \"html\")\n\n\n@nox.session(python=\"pypy\")\ndef pypy(session):\n    session.install(*TEST_DEPENDENCIES)\n    session.install(\".\")\n    session.run(\n        \"pytest\", \"--cov=google.auth\", \"--cov=google.oauth2\", \"--cov=tests\", \"tests\"\n    )\n", "path": "noxfile.py"}, {"content": "# Copyright 2014 Google Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport io\n\nfrom setuptools import find_packages\nfrom setuptools import setup\n\n\nDEPENDENCIES = (\n    \"cachetools>=2.0.0,<5.0\",\n    \"pyasn1-modules>=0.2.1\",\n    # rsa==4.5 is the last version to support 2.7\n    # https://github.com/sybrenstuvel/python-rsa/issues/152#issuecomment-643470233\n    'rsa<4.6; python_version < \"3.5\"',\n    'rsa>=3.1.4,<5; python_version >= \"3.5\"',\n    \"setuptools>=40.3.0\",\n    \"six>=1.9.0\",\n)\n\n\nwith io.open(\"README.rst\", \"r\") as fh:\n    long_description = fh.read()\n\nversion = \"1.19.2\"\n\nsetup(\n    name=\"google-auth\",\n    version=version,\n    author=\"Google Cloud Platform\",\n    author_email=\"googleapis-packages@google.com\",\n    description=\"Google Authentication Library\",\n    long_description=long_description,\n    url=\"https://github.com/googleapis/google-auth-library-python\",\n    packages=find_packages(exclude=(\"tests*\", \"system_tests*\")),\n    namespace_packages=(\"google\",),\n    install_requires=DEPENDENCIES,\n    python_requires=\">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*\",\n    license=\"Apache 2.0\",\n    keywords=\"google auth oauth client\",\n    classifiers=[\n        \"Programming Language :: Python :: 2\",\n        \"Programming Language :: Python :: 2.7\",\n        \"Programming Language :: Python :: 3\",\n        \"Programming Language :: Python :: 3.5\",\n        \"Programming Language :: Python :: 3.6\",\n        \"Programming Language :: Python :: 3.7\",\n        \"Programming Language :: Python :: 3.8\",\n        \"Development Status :: 5 - Production/Stable\",\n        \"Intended Audience :: Developers\",\n        \"License :: OSI Approved :: Apache Software License\",\n        \"Operating System :: POSIX\",\n        \"Operating System :: Microsoft :: Windows\",\n        \"Operating System :: MacOS :: MacOS X\",\n        \"Operating System :: OS Independent\",\n        \"Topic :: Internet :: WWW/HTTP\",\n    ],\n)\n", "path": "setup.py"}]}