prompt: You will be provided with a partial code base and an issue statement explaining a problem to resolve.
  <issue>
  Python supported versions need to be updated in docs
  Not really a bug, but for example it still says Python 3.4 is supported in readme and setup explanations.
  
  Copy-pasting from https://pypi.org/project/python-telegram-bot/ :
  
  > This library provides a pure Python interface for the Telegram Bot API. It’s compatible with Python versions 2.7, 3.3+ and PyPy.
  
  
  </issue>
  <code>
  [start of setup.py]
  1 #!/usr/bin/env python
  2 """The setup and build script for the python-telegram-bot library."""
  3 
  4 import codecs
  5 import os
  6 from setuptools import setup, find_packages
  7 
  8 
  9 def requirements():
  10     """Build the requirements list for this project"""
  11     requirements_list = []
  12 
  13     with open('requirements.txt') as requirements:
  14         for install in requirements:
  15             requirements_list.append(install.strip())
  16 
  17     return requirements_list
  18 
  19 
  20 packages = find_packages(exclude=['tests*'])
  21 
  22 with codecs.open('README.rst', 'r', 'utf-8') as fd:
  23     fn = os.path.join('telegram', 'version.py')
  24     with open(fn) as fh:
  25         code = compile(fh.read(), fn, 'exec')
  26         exec(code)
  27 
  28     setup(name='python-telegram-bot',
  29           version=__version__,
  30           author='Leandro Toledo',
  31           author_email='devs@python-telegram-bot.org',
  32           license='LGPLv3',
  33           url='https://python-telegram-bot.org/',
  34           keywords='python telegram bot api wrapper',
  35           description="We have made you a wrapper you can't refuse",
  36           long_description=fd.read(),
  37           packages=packages,
  38           install_requires=requirements(),
  39           extras_require={
  40               'json': 'ujson',
  41               'socks': 'PySocks'
  42           },
  43           include_package_data=True,
  44           classifiers=[
  45               'Development Status :: 5 - Production/Stable',
  46               'Intended Audience :: Developers',
  47               'License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)',
  48               'Operating System :: OS Independent',
  49               'Topic :: Software Development :: Libraries :: Python Modules',
  50               'Topic :: Communications :: Chat',
  51               'Topic :: Internet',
  52               'Programming Language :: Python',
  53               'Programming Language :: Python :: 2',
  54               'Programming Language :: Python :: 2.7',
  55               'Programming Language :: Python :: 3',
  56               'Programming Language :: Python :: 3.4',
  57               'Programming Language :: Python :: 3.5',
  58               'Programming Language :: Python :: 3.6',
  59               'Programming Language :: Python :: 3.7'
  60           ],)
  61
  [end of setup.py]
  </code>
  
  I need you to solve this issue by generating a single patch file that I can apply directly to this repository using git apply. Please respond with a single patch file in the following format.
  <patch>
  diff --git a/file.py b/file.py
  --- a/file.py
  +++ b/file.py
  @@ -1,27 +1,35 @@
   def euclidean(a, b):
  -    while b:
  -        a, b = b, a % b
  -    return a
  +    if b == 0:
  +        return a
  +    return euclidean(b, a % b)
   
   
   def bresenham(x0, y0, x1, y1):
       points = []
       dx = abs(x1 - x0)
       dy = abs(y1 - y0)
  -    sx = 1 if x0 < x1 else -1
  -    sy = 1 if y0 < y1 else -1
  -    err = dx - dy
  +    x, y = x0, y0
  +    sx = -1 if x0 > x1 else 1
  +    sy = -1 if y0 > y1 else 1
   
  -    while True:
  -        points.append((x0, y0))
  -        if x0 == x1 and y0 == y1:
  -            break
  -        e2 = 2 * err
  -        if e2 > -dy:
  -            err -= dy
  -            x0 += sx
  -        if e2 < dx:
  -            err += dx
  -            y0 += sy
  +    if dx > dy:
  +        err = dx / 2.0
  +        while x != x1:
  +            points.append((x, y))
  +            err -= dy
  +            if err < 0:
  +                y += sy
  +                err += dx
  +            x += sx
  +    else:
  +        err = dy / 2.0
  +        while y != y1:
  +            points.append((x, y))
  +            err -= dx
  +            if err < 0:
  +                x += sx
  +                err += dy
  +            y += sy
  +
  +    points.append((x, y))
       return points
  
  </patch>
golden_diff: diff --git a/setup.py b/setup.py
  --- a/setup.py
  +++ b/setup.py
  @@ -50,10 +50,7 @@
                 'Topic :: Communications :: Chat',
                 'Topic :: Internet',
                 'Programming Language :: Python',
  -              'Programming Language :: Python :: 2',
  -              'Programming Language :: Python :: 2.7',
                 'Programming Language :: Python :: 3',
  -              'Programming Language :: Python :: 3.4',
                 'Programming Language :: Python :: 3.5',
                 'Programming Language :: Python :: 3.6',
                 'Programming Language :: Python :: 3.7'
  
verification_info: {"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -50,10 +50,7 @@\n               'Topic :: Communications :: Chat',\n               'Topic :: Internet',\n               'Programming Language :: Python',\n-              'Programming Language :: Python :: 2',\n-              'Programming Language :: Python :: 2.7',\n               'Programming Language :: Python :: 3',\n-              'Programming Language :: Python :: 3.4',\n               'Programming Language :: Python :: 3.5',\n               'Programming Language :: Python :: 3.6',\n               'Programming Language :: Python :: 3.7'\n", "issue": "Python supported versions need to be updated in docs\nNot really a bug, but for example it still says Python 3.4 is supported in readme and setup explanations.\r\n\r\nCopy-pasting from https://pypi.org/project/python-telegram-bot/ :\r\n\r\n> This library provides a pure Python interface for the Telegram Bot API. It\u2019s compatible with Python versions 2.7, 3.3+ and PyPy.\r\n\n", "before_files": [{"content": "#!/usr/bin/env python\n\"\"\"The setup and build script for the python-telegram-bot library.\"\"\"\n\nimport codecs\nimport os\nfrom setuptools import setup, find_packages\n\n\ndef requirements():\n    \"\"\"Build the requirements list for this project\"\"\"\n    requirements_list = []\n\n    with open('requirements.txt') as requirements:\n        for install in requirements:\n            requirements_list.append(install.strip())\n\n    return requirements_list\n\n\npackages = find_packages(exclude=['tests*'])\n\nwith codecs.open('README.rst', 'r', 'utf-8') as fd:\n    fn = os.path.join('telegram', 'version.py')\n    with open(fn) as fh:\n        code = compile(fh.read(), fn, 'exec')\n        exec(code)\n\n    setup(name='python-telegram-bot',\n          version=__version__,\n          author='Leandro Toledo',\n          author_email='devs@python-telegram-bot.org',\n          license='LGPLv3',\n          url='https://python-telegram-bot.org/',\n          keywords='python telegram bot api wrapper',\n          description=\"We have made you a wrapper you can't refuse\",\n          long_description=fd.read(),\n          packages=packages,\n          install_requires=requirements(),\n          extras_require={\n              'json': 'ujson',\n              'socks': 'PySocks'\n          },\n          include_package_data=True,\n          classifiers=[\n              'Development Status :: 5 - Production/Stable',\n              'Intended Audience :: Developers',\n              'License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)',\n              'Operating System :: OS Independent',\n              'Topic :: Software Development :: Libraries :: Python Modules',\n              'Topic :: Communications :: Chat',\n              'Topic :: Internet',\n              'Programming Language :: Python',\n              'Programming Language :: Python :: 2',\n              'Programming Language :: Python :: 2.7',\n              'Programming Language :: Python :: 3',\n              'Programming Language :: Python :: 3.4',\n              'Programming Language :: Python :: 3.5',\n              'Programming Language :: Python :: 3.6',\n              'Programming Language :: Python :: 3.7'\n          ],)\n", "path": "setup.py"}]}