We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Change `author_email` in setup.py
https://github.com/streamlink/streamlink/blob/08e582580f3411b2de2c368f8b0cc7108264f990/setup.py#L83

@gravyboat 
you've registered `streamlink@protonmail.com` a couple of years ago, right? Can this be used instead?

What's the email address of the `streamlink` account on pypi?
https://pypi.org/user/streamlink/

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `setup.py`
Content:
```
1 #!/usr/bin/env python
2 import codecs
3 from os import environ, path
4 from sys import argv, path as sys_path
5 
6 from setuptools import find_packages, setup
7 
8 import versioneer
9 
10 
11 deps = [
12     "requests>=2.21.0,<3.0",
13     "isodate",
14     "websocket-client",
15     # Support for SOCKS proxies
16     "PySocks!=1.5.7,>=1.5.6",
17 ]
18 
19 # for encrypted streams
20 if environ.get("STREAMLINK_USE_PYCRYPTO"):
21     deps.append("pycrypto")
22 else:
23     # this version of pycryptodome is known to work and has a Windows wheel for py2.7, py3.3-3.6
24     deps.append("pycryptodome>=3.4.3,<4")
25 
26 # for localization
27 if environ.get("STREAMLINK_USE_PYCOUNTRY"):
28     deps.append("pycountry")
29 else:
30     deps.append("iso-639")
31     deps.append("iso3166")
32 
33 # When we build an egg for the Win32 bootstrap we don"t want dependency
34 # information built into it.
35 if environ.get("NO_DEPS"):
36     deps = []
37 
38 this_directory = path.abspath(path.dirname(__file__))
39 srcdir = path.join(this_directory, "src/")
40 sys_path.insert(0, srcdir)
41 
42 with codecs.open(path.join(this_directory, "README.md"), 'r', "utf8") as f:
43     long_description = f.read()
44 
45 
46 def is_wheel_for_windows():
47     if "bdist_wheel" in argv:
48         names = ["win32", "win-amd64", "cygwin"]
49         length = len(argv)
50         for pos in range(argv.index("bdist_wheel") + 1, length):
51             if argv[pos] == "--plat-name" and pos + 1 < length:
52                 return argv[pos + 1] in names
53             elif argv[pos][:12] == "--plat-name=":
54                 return argv[pos][12:] in names
55     return False
56 
57 
58 entry_points = {
59     "console_scripts": ["streamlink=streamlink_cli.main:main"]
60 }
61 
62 if is_wheel_for_windows():
63     entry_points["gui_scripts"] = ["streamlinkw=streamlink_cli.main:main"]
64 
65 
66 setup(name="streamlink",
67       version=versioneer.get_version(),
68       cmdclass=versioneer.get_cmdclass(),
69       description="Streamlink is a command-line utility that extracts streams "
70                   "from various services and pipes them into a video player of "
71                   "choice.",
72       long_description=long_description,
73       long_description_content_type="text/markdown",
74       url="https://github.com/streamlink/streamlink",
75       project_urls={
76           "Documentation": "https://streamlink.github.io/",
77           "Tracker": "https://github.com/streamlink/streamlink/issues",
78           "Source": "https://github.com/streamlink/streamlink",
79           "Funding": "https://opencollective.com/streamlink"
80       },
81       author="Streamlink",
82       # temp until we have a mailing list / global email
83       author_email="charlie@charliedrage.com",
84       license="Simplified BSD",
85       packages=find_packages("src"),
86       package_dir={"": "src"},
87       entry_points=entry_points,
88       install_requires=deps,
89       test_suite="tests",
90       python_requires=">=3.6, <4",
91       classifiers=["Development Status :: 5 - Production/Stable",
92                    "License :: OSI Approved :: BSD License",
93                    "Environment :: Console",
94                    "Intended Audience :: End Users/Desktop",
95                    "Operating System :: POSIX",
96                    "Operating System :: Microsoft :: Windows",
97                    "Operating System :: MacOS",
98                    "Programming Language :: Python :: 3",
99                    "Programming Language :: Python :: 3 :: Only",
100                    "Programming Language :: Python :: 3.6",
101                    "Programming Language :: Python :: 3.7",
102                    "Programming Language :: Python :: 3.8",
103                    "Programming Language :: Python :: 3.9",
104                    "Topic :: Internet :: WWW/HTTP",
105                    "Topic :: Multimedia :: Sound/Audio",
106                    "Topic :: Multimedia :: Video",
107                    "Topic :: Utilities"])
108
```
--- 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/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -80,7 +80,7 @@
       },
       author="Streamlink",
       # temp until we have a mailing list / global email
-      author_email="charlie@charliedrage.com",
+      author_email="streamlink@protonmail.com",
       license="Simplified BSD",
       packages=find_packages("src"),
       package_dir={"": "src"},

{"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -80,7 +80,7 @@\n       },\n       author=\"Streamlink\",\n       # temp until we have a mailing list / global email\n-      author_email=\"charlie@charliedrage.com\",\n+      author_email=\"streamlink@protonmail.com\",\n       license=\"Simplified BSD\",\n       packages=find_packages(\"src\"),\n       package_dir={\"\": \"src\"},\n", "issue": "Change `author_email` in setup.py\nhttps://github.com/streamlink/streamlink/blob/08e582580f3411b2de2c368f8b0cc7108264f990/setup.py#L83\r\n\r\n@gravyboat \r\nyou've registered `streamlink@protonmail.com` a couple of years ago, right? Can this be used instead?\r\n\r\nWhat's the email address of the `streamlink` account on pypi?\r\nhttps://pypi.org/user/streamlink/\n", "before_files": [{"content": "#!/usr/bin/env python\nimport codecs\nfrom os import environ, path\nfrom sys import argv, path as sys_path\n\nfrom setuptools import find_packages, setup\n\nimport versioneer\n\n\ndeps = [\n    \"requests>=2.21.0,<3.0\",\n    \"isodate\",\n    \"websocket-client\",\n    # Support for SOCKS proxies\n    \"PySocks!=1.5.7,>=1.5.6\",\n]\n\n# for encrypted streams\nif environ.get(\"STREAMLINK_USE_PYCRYPTO\"):\n    deps.append(\"pycrypto\")\nelse:\n    # this version of pycryptodome is known to work and has a Windows wheel for py2.7, py3.3-3.6\n    deps.append(\"pycryptodome>=3.4.3,<4\")\n\n# for localization\nif environ.get(\"STREAMLINK_USE_PYCOUNTRY\"):\n    deps.append(\"pycountry\")\nelse:\n    deps.append(\"iso-639\")\n    deps.append(\"iso3166\")\n\n# When we build an egg for the Win32 bootstrap we don\"t want dependency\n# information built into it.\nif environ.get(\"NO_DEPS\"):\n    deps = []\n\nthis_directory = path.abspath(path.dirname(__file__))\nsrcdir = path.join(this_directory, \"src/\")\nsys_path.insert(0, srcdir)\n\nwith codecs.open(path.join(this_directory, \"README.md\"), 'r', \"utf8\") as f:\n    long_description = f.read()\n\n\ndef is_wheel_for_windows():\n    if \"bdist_wheel\" in argv:\n        names = [\"win32\", \"win-amd64\", \"cygwin\"]\n        length = len(argv)\n        for pos in range(argv.index(\"bdist_wheel\") + 1, length):\n            if argv[pos] == \"--plat-name\" and pos + 1 < length:\n                return argv[pos + 1] in names\n            elif argv[pos][:12] == \"--plat-name=\":\n                return argv[pos][12:] in names\n    return False\n\n\nentry_points = {\n    \"console_scripts\": [\"streamlink=streamlink_cli.main:main\"]\n}\n\nif is_wheel_for_windows():\n    entry_points[\"gui_scripts\"] = [\"streamlinkw=streamlink_cli.main:main\"]\n\n\nsetup(name=\"streamlink\",\n      version=versioneer.get_version(),\n      cmdclass=versioneer.get_cmdclass(),\n      description=\"Streamlink is a command-line utility that extracts streams \"\n                  \"from various services and pipes them into a video player of \"\n                  \"choice.\",\n      long_description=long_description,\n      long_description_content_type=\"text/markdown\",\n      url=\"https://github.com/streamlink/streamlink\",\n      project_urls={\n          \"Documentation\": \"https://streamlink.github.io/\",\n          \"Tracker\": \"https://github.com/streamlink/streamlink/issues\",\n          \"Source\": \"https://github.com/streamlink/streamlink\",\n          \"Funding\": \"https://opencollective.com/streamlink\"\n      },\n      author=\"Streamlink\",\n      # temp until we have a mailing list / global email\n      author_email=\"charlie@charliedrage.com\",\n      license=\"Simplified BSD\",\n      packages=find_packages(\"src\"),\n      package_dir={\"\": \"src\"},\n      entry_points=entry_points,\n      install_requires=deps,\n      test_suite=\"tests\",\n      python_requires=\">=3.6, <4\",\n      classifiers=[\"Development Status :: 5 - Production/Stable\",\n                   \"License :: OSI Approved :: BSD License\",\n                   \"Environment :: Console\",\n                   \"Intended Audience :: End Users/Desktop\",\n                   \"Operating System :: POSIX\",\n                   \"Operating System :: Microsoft :: Windows\",\n                   \"Operating System :: MacOS\",\n                   \"Programming Language :: Python :: 3\",\n                   \"Programming Language :: Python :: 3 :: Only\",\n                   \"Programming Language :: Python :: 3.6\",\n                   \"Programming Language :: Python :: 3.7\",\n                   \"Programming Language :: Python :: 3.8\",\n                   \"Programming Language :: Python :: 3.9\",\n                   \"Topic :: Internet :: WWW/HTTP\",\n                   \"Topic :: Multimedia :: Sound/Audio\",\n                   \"Topic :: Multimedia :: Video\",\n                   \"Topic :: Utilities\"])\n", "path": "setup.py"}], "after_files": [{"content": "#!/usr/bin/env python\nimport codecs\nfrom os import environ, path\nfrom sys import argv, path as sys_path\n\nfrom setuptools import find_packages, setup\n\nimport versioneer\n\n\ndeps = [\n    \"requests>=2.21.0,<3.0\",\n    \"isodate\",\n    \"websocket-client\",\n    # Support for SOCKS proxies\n    \"PySocks!=1.5.7,>=1.5.6\",\n]\n\n# for encrypted streams\nif environ.get(\"STREAMLINK_USE_PYCRYPTO\"):\n    deps.append(\"pycrypto\")\nelse:\n    # this version of pycryptodome is known to work and has a Windows wheel for py2.7, py3.3-3.6\n    deps.append(\"pycryptodome>=3.4.3,<4\")\n\n# for localization\nif environ.get(\"STREAMLINK_USE_PYCOUNTRY\"):\n    deps.append(\"pycountry\")\nelse:\n    deps.append(\"iso-639\")\n    deps.append(\"iso3166\")\n\n# When we build an egg for the Win32 bootstrap we don\"t want dependency\n# information built into it.\nif environ.get(\"NO_DEPS\"):\n    deps = []\n\nthis_directory = path.abspath(path.dirname(__file__))\nsrcdir = path.join(this_directory, \"src/\")\nsys_path.insert(0, srcdir)\n\nwith codecs.open(path.join(this_directory, \"README.md\"), 'r', \"utf8\") as f:\n    long_description = f.read()\n\n\ndef is_wheel_for_windows():\n    if \"bdist_wheel\" in argv:\n        names = [\"win32\", \"win-amd64\", \"cygwin\"]\n        length = len(argv)\n        for pos in range(argv.index(\"bdist_wheel\") + 1, length):\n            if argv[pos] == \"--plat-name\" and pos + 1 < length:\n                return argv[pos + 1] in names\n            elif argv[pos][:12] == \"--plat-name=\":\n                return argv[pos][12:] in names\n    return False\n\n\nentry_points = {\n    \"console_scripts\": [\"streamlink=streamlink_cli.main:main\"]\n}\n\nif is_wheel_for_windows():\n    entry_points[\"gui_scripts\"] = [\"streamlinkw=streamlink_cli.main:main\"]\n\n\nsetup(name=\"streamlink\",\n      version=versioneer.get_version(),\n      cmdclass=versioneer.get_cmdclass(),\n      description=\"Streamlink is a command-line utility that extracts streams \"\n                  \"from various services and pipes them into a video player of \"\n                  \"choice.\",\n      long_description=long_description,\n      long_description_content_type=\"text/markdown\",\n      url=\"https://github.com/streamlink/streamlink\",\n      project_urls={\n          \"Documentation\": \"https://streamlink.github.io/\",\n          \"Tracker\": \"https://github.com/streamlink/streamlink/issues\",\n          \"Source\": \"https://github.com/streamlink/streamlink\",\n          \"Funding\": \"https://opencollective.com/streamlink\"\n      },\n      author=\"Streamlink\",\n      # temp until we have a mailing list / global email\n      author_email=\"streamlink@protonmail.com\",\n      license=\"Simplified BSD\",\n      packages=find_packages(\"src\"),\n      package_dir={\"\": \"src\"},\n      entry_points=entry_points,\n      install_requires=deps,\n      test_suite=\"tests\",\n      python_requires=\">=3.6, <4\",\n      classifiers=[\"Development Status :: 5 - Production/Stable\",\n                   \"License :: OSI Approved :: BSD License\",\n                   \"Environment :: Console\",\n                   \"Intended Audience :: End Users/Desktop\",\n                   \"Operating System :: POSIX\",\n                   \"Operating System :: Microsoft :: Windows\",\n                   \"Operating System :: MacOS\",\n                   \"Programming Language :: Python :: 3\",\n                   \"Programming Language :: Python :: 3 :: Only\",\n                   \"Programming Language :: Python :: 3.6\",\n                   \"Programming Language :: Python :: 3.7\",\n                   \"Programming Language :: Python :: 3.8\",\n                   \"Programming Language :: Python :: 3.9\",\n                   \"Topic :: Internet :: WWW/HTTP\",\n                   \"Topic :: Multimedia :: Sound/Audio\",\n                   \"Topic :: Multimedia :: Video\",\n                   \"Topic :: Utilities\"])\n", "path": "setup.py"}]}