prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  Pin versions for LTS release
  I think that versions of (some) should be allowed to float but when we are ready for an LTS release, the versions should be pinned at that time.
  
  @r0fls @ahopkins @seemethere @ashleysommer @yunstanford @ahopkins 
  
  --- 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 """
  2 Sanic
  3 """
  4 import codecs
  5 import os
  6 import re
  7 from distutils.errors import DistutilsPlatformError
  8 from distutils.util import strtobool
  9 
  10 from setuptools import setup
  11 
  12 
  13 def open_local(paths, mode='r', encoding='utf8'):
  14     path = os.path.join(
  15         os.path.abspath(os.path.dirname(__file__)),
  16         *paths
  17     )
  18 
  19     return codecs.open(path, mode, encoding)
  20 
  21 
  22 with open_local(['sanic', '__init__.py'], encoding='latin1') as fp:
  23     try:
  24         version = re.findall(r"^__version__ = '([^']+)'\r?$",
  25                              fp.read(), re.M)[0]
  26     except IndexError:
  27         raise RuntimeError('Unable to determine version.')
  28 
  29 
  30 with open_local(['README.rst']) as rm:
  31     long_description = rm.read()
  32 
  33 setup_kwargs = {
  34     'name': 'sanic',
  35     'version': version,
  36     'url': 'http://github.com/channelcat/sanic/',
  37     'license': 'MIT',
  38     'author': 'Channel Cat',
  39     'author_email': 'channelcat@gmail.com',
  40     'description': (
  41         'A microframework based on uvloop, httptools, and learnings of flask'),
  42     'long_description': long_description,
  43     'packages': ['sanic'],
  44     'platforms': 'any',
  45     'classifiers': [
  46         'Development Status :: 4 - Beta',
  47         'Environment :: Web Environment',
  48         'License :: OSI Approved :: MIT License',
  49         'Programming Language :: Python :: 3.5',
  50         'Programming Language :: Python :: 3.6',
  51     ],
  52 }
  53 
  54 env_dependency = '; sys_platform != "win32" and implementation_name == "cpython"'
  55 ujson = 'ujson>=1.35' + env_dependency
  56 uvloop = 'uvloop>=0.5.3' + env_dependency
  57 
  58 requirements = [
  59     'httptools>=0.0.9',
  60     uvloop,
  61     ujson,
  62     'aiofiles>=0.3.0',
  63     'websockets>=5.0,<6.0',
  64     'multidict>=4.0,<5.0',
  65 ]
  66 if strtobool(os.environ.get("SANIC_NO_UJSON", "no")):
  67     print("Installing without uJSON")
  68     requirements.remove(ujson)
  69 
  70 # 'nt' means windows OS
  71 if strtobool(os.environ.get("SANIC_NO_UVLOOP", "no")):
  72     print("Installing without uvLoop")
  73     requirements.remove(uvloop)
  74 
  75 setup_kwargs['install_requires'] = requirements
  76 setup(**setup_kwargs)
  77
  ```
  --- 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()
  
  ```
  
golden_diff: diff --git a/setup.py b/setup.py
  --- a/setup.py
  +++ b/setup.py
  @@ -56,7 +56,7 @@
   uvloop = 'uvloop>=0.5.3' + env_dependency
   
   requirements = [
  -    'httptools>=0.0.9',
  +    'httptools>=0.0.10',
       uvloop,
       ujson,
       'aiofiles>=0.3.0',
  
verification_info: {"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -56,7 +56,7 @@\n uvloop = 'uvloop>=0.5.3' + env_dependency\n \n requirements = [\n-    'httptools>=0.0.9',\n+    'httptools>=0.0.10',\n     uvloop,\n     ujson,\n     'aiofiles>=0.3.0',\n", "issue": "Pin versions for LTS release\nI think that versions of (some) should be allowed to float but when we are ready for an LTS release, the versions should be pinned at that time.\r\n\r\n@r0fls @ahopkins @seemethere @ashleysommer @yunstanford @ahopkins \n", "before_files": [{"content": "\"\"\"\nSanic\n\"\"\"\nimport codecs\nimport os\nimport re\nfrom distutils.errors import DistutilsPlatformError\nfrom distutils.util import strtobool\n\nfrom setuptools import setup\n\n\ndef open_local(paths, mode='r', encoding='utf8'):\n    path = os.path.join(\n        os.path.abspath(os.path.dirname(__file__)),\n        *paths\n    )\n\n    return codecs.open(path, mode, encoding)\n\n\nwith open_local(['sanic', '__init__.py'], encoding='latin1') as fp:\n    try:\n        version = re.findall(r\"^__version__ = '([^']+)'\\r?$\",\n                             fp.read(), re.M)[0]\n    except IndexError:\n        raise RuntimeError('Unable to determine version.')\n\n\nwith open_local(['README.rst']) as rm:\n    long_description = rm.read()\n\nsetup_kwargs = {\n    'name': 'sanic',\n    'version': version,\n    'url': 'http://github.com/channelcat/sanic/',\n    'license': 'MIT',\n    'author': 'Channel Cat',\n    'author_email': 'channelcat@gmail.com',\n    'description': (\n        'A microframework based on uvloop, httptools, and learnings of flask'),\n    'long_description': long_description,\n    'packages': ['sanic'],\n    'platforms': 'any',\n    'classifiers': [\n        'Development Status :: 4 - Beta',\n        'Environment :: Web Environment',\n        'License :: OSI Approved :: MIT License',\n        'Programming Language :: Python :: 3.5',\n        'Programming Language :: Python :: 3.6',\n    ],\n}\n\nenv_dependency = '; sys_platform != \"win32\" and implementation_name == \"cpython\"'\nujson = 'ujson>=1.35' + env_dependency\nuvloop = 'uvloop>=0.5.3' + env_dependency\n\nrequirements = [\n    'httptools>=0.0.9',\n    uvloop,\n    ujson,\n    'aiofiles>=0.3.0',\n    'websockets>=5.0,<6.0',\n    'multidict>=4.0,<5.0',\n]\nif strtobool(os.environ.get(\"SANIC_NO_UJSON\", \"no\")):\n    print(\"Installing without uJSON\")\n    requirements.remove(ujson)\n\n# 'nt' means windows OS\nif strtobool(os.environ.get(\"SANIC_NO_UVLOOP\", \"no\")):\n    print(\"Installing without uvLoop\")\n    requirements.remove(uvloop)\n\nsetup_kwargs['install_requires'] = requirements\nsetup(**setup_kwargs)\n", "path": "setup.py"}], "after_files": [{"content": "\"\"\"\nSanic\n\"\"\"\nimport codecs\nimport os\nimport re\nfrom distutils.errors import DistutilsPlatformError\nfrom distutils.util import strtobool\n\nfrom setuptools import setup\n\n\ndef open_local(paths, mode='r', encoding='utf8'):\n    path = os.path.join(\n        os.path.abspath(os.path.dirname(__file__)),\n        *paths\n    )\n\n    return codecs.open(path, mode, encoding)\n\n\nwith open_local(['sanic', '__init__.py'], encoding='latin1') as fp:\n    try:\n        version = re.findall(r\"^__version__ = '([^']+)'\\r?$\",\n                             fp.read(), re.M)[0]\n    except IndexError:\n        raise RuntimeError('Unable to determine version.')\n\n\nwith open_local(['README.rst']) as rm:\n    long_description = rm.read()\n\nsetup_kwargs = {\n    'name': 'sanic',\n    'version': version,\n    'url': 'http://github.com/channelcat/sanic/',\n    'license': 'MIT',\n    'author': 'Channel Cat',\n    'author_email': 'channelcat@gmail.com',\n    'description': (\n        'A microframework based on uvloop, httptools, and learnings of flask'),\n    'long_description': long_description,\n    'packages': ['sanic'],\n    'platforms': 'any',\n    'classifiers': [\n        'Development Status :: 4 - Beta',\n        'Environment :: Web Environment',\n        'License :: OSI Approved :: MIT License',\n        'Programming Language :: Python :: 3.5',\n        'Programming Language :: Python :: 3.6',\n    ],\n}\n\nenv_dependency = '; sys_platform != \"win32\" and implementation_name == \"cpython\"'\nujson = 'ujson>=1.35' + env_dependency\nuvloop = 'uvloop>=0.5.3' + env_dependency\n\nrequirements = [\n    'httptools>=0.0.10',\n    uvloop,\n    ujson,\n    'aiofiles>=0.3.0',\n    'websockets>=5.0,<6.0',\n    'multidict>=4.0,<5.0',\n]\nif strtobool(os.environ.get(\"SANIC_NO_UJSON\", \"no\")):\n    print(\"Installing without uJSON\")\n    requirements.remove(ujson)\n\n# 'nt' means windows OS\nif strtobool(os.environ.get(\"SANIC_NO_UVLOOP\", \"no\")):\n    print(\"Installing without uvLoop\")\n    requirements.remove(uvloop)\n\nsetup_kwargs['install_requires'] = requirements\nsetup(**setup_kwargs)\n", "path": "setup.py"}]}