prompt: You will be provided with a partial code base and an issue statement explaining a problem to resolve.
  <issue>
  [BigQuery] Allow more recent versions of google-api-core?
  ### Describe the feature
  
  Currently dbt-bigquery has [an upper limit of 1.16 on `google-api-core`](https://github.com/fishtown-analytics/dbt/blob/v0.18.1b3/plugins/bigquery/setup.py#L53). That release is from Jan of this year.
  
  Would it be possible to loosen that?
  
  While it's clearly not dbt's responsibility for us to be able to install arbitrary packages, here's an example where we can't instally `google-cloud-bigquery-datatransfer` because of this restriction:
  
  ```
  [SolverProblemError]
  Because no versions of google-cloud-bigquery-datatransfer match >2.0.0,<3.0.0
   and google-cloud-bigquery-datatransfer (2.0.0) depends on google-api-core (>=1.22.2,<2.0.0dev), google-cloud-bigquery-datatransfer (>=2.0.0,<3.0.0) requires google-api-core (>=1.22.2,<2.0.0dev).
  And because dbt-bigquery (0.18.0) depends on google-api-core (>=1.16.0,<1.17.0), google-cloud-bigquery-datatransfer (>=2.0.0,<3.0.0) is incompatible with dbt-bigquery (0.18.0).
  And because dbt (0.18.0) depends on dbt-bigquery (0.18.0)
   and no versions of dbt match >0.18.0,<0.19.0, google-cloud-bigquery-datatransfer (>=2.0.0,<3.0.0) is incompatible with dbt (>=0.18.0,<0.19.0).
  So, because {repo} depends on both dbt (^0.18.0) and google-cloud-bigquery-datatransfer (^2.0.0), version solving failed.
  ```
  
  Thanks as ever for the awesome product!
  
  </issue>
  <code>
  [start of plugins/bigquery/setup.py]
  1 #!/usr/bin/env python
  2 import os
  3 import sys
  4 
  5 if sys.version_info < (3, 6):
  6     print('Error: dbt does not support this version of Python.')
  7     print('Please upgrade to Python 3.6 or higher.')
  8     sys.exit(1)
  9 
  10 
  11 from setuptools import setup
  12 try:
  13     from setuptools import find_namespace_packages
  14 except ImportError:
  15     # the user has a downlevel version of setuptools.
  16     print('Error: dbt requires setuptools v40.1.0 or higher.')
  17     print('Please upgrade setuptools with "pip install --upgrade setuptools" '
  18           'and try again')
  19     sys.exit(1)
  20 
  21 
  22 package_name = "dbt-bigquery"
  23 package_version = "0.19.0b1"
  24 description = """The bigquery adapter plugin for dbt (data build tool)"""
  25 
  26 this_directory = os.path.abspath(os.path.dirname(__file__))
  27 with open(os.path.join(this_directory, 'README.md')) as f:
  28     long_description = f.read()
  29 
  30 setup(
  31     name=package_name,
  32     version=package_version,
  33     description=description,
  34     long_description=long_description,
  35     long_description_content_type='text/markdown',
  36     author="Fishtown Analytics",
  37     author_email="info@fishtownanalytics.com",
  38     url="https://github.com/fishtown-analytics/dbt",
  39     packages=find_namespace_packages(include=['dbt', 'dbt.*']),
  40     package_data={
  41         'dbt': [
  42             'include/bigquery/dbt_project.yml',
  43             'include/bigquery/sample_profiles.yml',
  44             'include/bigquery/macros/*.sql',
  45             'include/bigquery/macros/**/*.sql',
  46         ]
  47     },
  48     install_requires=[
  49         'dbt-core=={}'.format(package_version),
  50         'protobuf>=3.6.0,<3.12',
  51         'google-cloud-core>=1.3.0,<1.4',
  52         'google-cloud-bigquery>=1.25.0,<1.26.0',
  53         'google-api-core>=1.16.0,<1.17.0',
  54         'googleapis-common-protos>=1.6.0,<1.7.0',
  55         'six>=1.14.0',
  56     ],
  57     zip_safe=False,
  58     classifiers=[
  59         'Development Status :: 5 - Production/Stable',
  60 
  61         'License :: OSI Approved :: Apache Software License',
  62 
  63         'Operating System :: Microsoft :: Windows',
  64         'Operating System :: MacOS :: MacOS X',
  65         'Operating System :: POSIX :: Linux',
  66 
  67         'Programming Language :: Python :: 3.6',
  68         'Programming Language :: Python :: 3.7',
  69         'Programming Language :: Python :: 3.8',
  70     ],
  71     python_requires=">=3.6.2",
  72 )
  73
  [end of plugins/bigquery/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/plugins/bigquery/setup.py b/plugins/bigquery/setup.py
  --- a/plugins/bigquery/setup.py
  +++ b/plugins/bigquery/setup.py
  @@ -47,11 +47,13 @@
       },
       install_requires=[
           'dbt-core=={}'.format(package_version),
  -        'protobuf>=3.6.0,<3.12',
  -        'google-cloud-core>=1.3.0,<1.4',
  -        'google-cloud-bigquery>=1.25.0,<1.26.0',
  -        'google-api-core>=1.16.0,<1.17.0',
  -        'googleapis-common-protos>=1.6.0,<1.7.0',
  +        'protobuf>=3.13.0,<4',
  +        # These are more tightly pinned, as they have a track record of
  +        # breaking changes in minor releases.
  +        'google-cloud-core>=1.3.0,<1.5',
  +        'google-cloud-bigquery>=1.25.0,<2.4',
  +        'google-api-core>=1.16.0,<1.24',
  +        'googleapis-common-protos>=1.6.0,<1.53',
           'six>=1.14.0',
       ],
       zip_safe=False,
  
verification_info: {"golden_diff": "diff --git a/plugins/bigquery/setup.py b/plugins/bigquery/setup.py\n--- a/plugins/bigquery/setup.py\n+++ b/plugins/bigquery/setup.py\n@@ -47,11 +47,13 @@\n     },\n     install_requires=[\n         'dbt-core=={}'.format(package_version),\n-        'protobuf>=3.6.0,<3.12',\n-        'google-cloud-core>=1.3.0,<1.4',\n-        'google-cloud-bigquery>=1.25.0,<1.26.0',\n-        'google-api-core>=1.16.0,<1.17.0',\n-        'googleapis-common-protos>=1.6.0,<1.7.0',\n+        'protobuf>=3.13.0,<4',\n+        # These are more tightly pinned, as they have a track record of\n+        # breaking changes in minor releases.\n+        'google-cloud-core>=1.3.0,<1.5',\n+        'google-cloud-bigquery>=1.25.0,<2.4',\n+        'google-api-core>=1.16.0,<1.24',\n+        'googleapis-common-protos>=1.6.0,<1.53',\n         'six>=1.14.0',\n     ],\n     zip_safe=False,\n", "issue": "[BigQuery] Allow more recent versions of google-api-core?\n### Describe the feature\r\n\r\nCurrently dbt-bigquery has [an upper limit of 1.16 on `google-api-core`](https://github.com/fishtown-analytics/dbt/blob/v0.18.1b3/plugins/bigquery/setup.py#L53). That release is from Jan of this year.\r\n\r\nWould it be possible to loosen that?\r\n\r\nWhile it's clearly not dbt's responsibility for us to be able to install arbitrary packages, here's an example where we can't instally `google-cloud-bigquery-datatransfer` because of this restriction:\r\n\r\n```\r\n[SolverProblemError]\r\nBecause no versions of google-cloud-bigquery-datatransfer match >2.0.0,<3.0.0\r\n and google-cloud-bigquery-datatransfer (2.0.0) depends on google-api-core (>=1.22.2,<2.0.0dev), google-cloud-bigquery-datatransfer (>=2.0.0,<3.0.0) requires google-api-core (>=1.22.2,<2.0.0dev).\r\nAnd because dbt-bigquery (0.18.0) depends on google-api-core (>=1.16.0,<1.17.0), google-cloud-bigquery-datatransfer (>=2.0.0,<3.0.0) is incompatible with dbt-bigquery (0.18.0).\r\nAnd because dbt (0.18.0) depends on dbt-bigquery (0.18.0)\r\n and no versions of dbt match >0.18.0,<0.19.0, google-cloud-bigquery-datatransfer (>=2.0.0,<3.0.0) is incompatible with dbt (>=0.18.0,<0.19.0).\r\nSo, because {repo} depends on both dbt (^0.18.0) and google-cloud-bigquery-datatransfer (^2.0.0), version solving failed.\r\n```\r\n\r\nThanks as ever for the awesome product!\n", "before_files": [{"content": "#!/usr/bin/env python\nimport os\nimport sys\n\nif sys.version_info < (3, 6):\n    print('Error: dbt does not support this version of Python.')\n    print('Please upgrade to Python 3.6 or higher.')\n    sys.exit(1)\n\n\nfrom setuptools import setup\ntry:\n    from setuptools import find_namespace_packages\nexcept ImportError:\n    # the user has a downlevel version of setuptools.\n    print('Error: dbt requires setuptools v40.1.0 or higher.')\n    print('Please upgrade setuptools with \"pip install --upgrade setuptools\" '\n          'and try again')\n    sys.exit(1)\n\n\npackage_name = \"dbt-bigquery\"\npackage_version = \"0.19.0b1\"\ndescription = \"\"\"The bigquery adapter plugin for dbt (data build tool)\"\"\"\n\nthis_directory = os.path.abspath(os.path.dirname(__file__))\nwith open(os.path.join(this_directory, 'README.md')) as f:\n    long_description = f.read()\n\nsetup(\n    name=package_name,\n    version=package_version,\n    description=description,\n    long_description=long_description,\n    long_description_content_type='text/markdown',\n    author=\"Fishtown Analytics\",\n    author_email=\"info@fishtownanalytics.com\",\n    url=\"https://github.com/fishtown-analytics/dbt\",\n    packages=find_namespace_packages(include=['dbt', 'dbt.*']),\n    package_data={\n        'dbt': [\n            'include/bigquery/dbt_project.yml',\n            'include/bigquery/sample_profiles.yml',\n            'include/bigquery/macros/*.sql',\n            'include/bigquery/macros/**/*.sql',\n        ]\n    },\n    install_requires=[\n        'dbt-core=={}'.format(package_version),\n        'protobuf>=3.6.0,<3.12',\n        'google-cloud-core>=1.3.0,<1.4',\n        'google-cloud-bigquery>=1.25.0,<1.26.0',\n        'google-api-core>=1.16.0,<1.17.0',\n        'googleapis-common-protos>=1.6.0,<1.7.0',\n        'six>=1.14.0',\n    ],\n    zip_safe=False,\n    classifiers=[\n        'Development Status :: 5 - Production/Stable',\n\n        'License :: OSI Approved :: Apache Software License',\n\n        'Operating System :: Microsoft :: Windows',\n        'Operating System :: MacOS :: MacOS X',\n        'Operating System :: POSIX :: Linux',\n\n        'Programming Language :: Python :: 3.6',\n        'Programming Language :: Python :: 3.7',\n        'Programming Language :: Python :: 3.8',\n    ],\n    python_requires=\">=3.6.2\",\n)\n", "path": "plugins/bigquery/setup.py"}]}