prompt: You will be provided with a partial code base and an issue statement explaining a problem to resolve.
  <issue>
  docs build failing on Pygments lexter warning
  Hm. Something related to https://github.com/spatialaudio/nbsphinx/issues/24 is breaking the docs build. We're getting
  
  ```pytb
  WARNING: Pygments lexer name 'ipython3' is not known
  ```
  
  for all the notebooks during the docs build and we fail on warnings.
  
  _Originally posted by @matthewfeickert in https://github.com/scikit-hep/pyhf/issues/2066#issuecomment-1329937208_
        
  
  </issue>
  <code>
  [start of setup.py]
  1 from setuptools import setup
  2 
  3 extras_require = {
  4     'shellcomplete': ['click_completion'],
  5     'tensorflow': [
  6         'tensorflow>=2.7.0',  # c.f. PR #1962
  7         'tensorflow-probability>=0.11.0',  # c.f. PR #1657
  8     ],
  9     'torch': ['torch>=1.10.0'],  # c.f. PR #1657
  10     'jax': ['jax>=0.2.10', 'jaxlib>=0.1.61,!=0.1.68'],  # c.f. PR #1962, Issue #1501
  11     'xmlio': ['uproot>=4.1.1'],  # c.f. PR #1567
  12     'minuit': ['iminuit>=2.7.0'],  # c.f. PR #1895
  13 }
  14 extras_require['backends'] = sorted(
  15     set(
  16         extras_require['tensorflow']
  17         + extras_require['torch']
  18         + extras_require['jax']
  19         + extras_require['minuit']
  20     )
  21 )
  22 extras_require['contrib'] = sorted({'matplotlib', 'requests'})
  23 extras_require['test'] = sorted(
  24     set(
  25         extras_require['backends']
  26         + extras_require['xmlio']
  27         + extras_require['contrib']
  28         + extras_require['shellcomplete']
  29         + [
  30             'scikit-hep-testdata>=0.4.11',
  31             'pytest>=6.0',
  32             'coverage[toml]>=6.0.0',
  33             'pytest-mock',
  34             'requests-mock>=1.9.0',
  35             'pytest-benchmark[histogram]',
  36             'pytest-console-scripts',
  37             'pytest-mpl',
  38             'pydocstyle',
  39             'papermill~=2.3.4',
  40             'scrapbook~=0.5.0',
  41             'jupyter',
  42             'graphviz',
  43             'pytest-socket>=0.2.0',  # c.f. PR #1917
  44         ]
  45     )
  46 )
  47 extras_require['docs'] = sorted(
  48     set(
  49         extras_require['xmlio']
  50         + extras_require['contrib']
  51         + [
  52             'sphinx>=5.1.1',  # c.f. https://github.com/scikit-hep/pyhf/pull/1926
  53             'sphinxcontrib-bibtex~=2.1',
  54             'sphinx-click',
  55             'sphinx_rtd_theme',
  56             'nbsphinx!=0.8.8',  # c.f. https://github.com/spatialaudio/nbsphinx/issues/620
  57             'ipywidgets',
  58             'sphinx-issues',
  59             'sphinx-copybutton>=0.3.2',
  60             'sphinx-togglebutton>=0.3.0',
  61         ]
  62     )
  63 )
  64 extras_require['develop'] = sorted(
  65     set(
  66         extras_require['docs']
  67         + extras_require['test']
  68         + [
  69             'nbdime',
  70             'tbump>=6.7.0',
  71             'ipython',
  72             'pre-commit',
  73             'nox',
  74             'check-manifest',
  75             'codemetapy>=2.3.0',
  76             'twine',
  77         ]
  78     )
  79 )
  80 extras_require['complete'] = sorted(set(sum(extras_require.values(), [])))
  81 
  82 
  83 setup(
  84     extras_require=extras_require,
  85     use_scm_version=lambda: {'local_scheme': lambda version: ''},
  86 )
  87
  [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
  @@ -58,6 +58,7 @@
               'sphinx-issues',
               'sphinx-copybutton>=0.3.2',
               'sphinx-togglebutton>=0.3.0',
  +            'ipython!=8.7.0',  # c.f. https://github.com/scikit-hep/pyhf/pull/2068
           ]
       )
   )
  
verification_info: {"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -58,6 +58,7 @@\n             'sphinx-issues',\n             'sphinx-copybutton>=0.3.2',\n             'sphinx-togglebutton>=0.3.0',\n+            'ipython!=8.7.0',  # c.f. https://github.com/scikit-hep/pyhf/pull/2068\n         ]\n     )\n )\n", "issue": "docs build failing on Pygments lexter warning\nHm. Something related to https://github.com/spatialaudio/nbsphinx/issues/24 is breaking the docs build. We're getting\r\n\r\n```pytb\r\nWARNING: Pygments lexer name 'ipython3' is not known\r\n```\r\n\r\nfor all the notebooks during the docs build and we fail on warnings.\r\n\r\n_Originally posted by @matthewfeickert in https://github.com/scikit-hep/pyhf/issues/2066#issuecomment-1329937208_\r\n      \n", "before_files": [{"content": "from setuptools import setup\n\nextras_require = {\n    'shellcomplete': ['click_completion'],\n    'tensorflow': [\n        'tensorflow>=2.7.0',  # c.f. PR #1962\n        'tensorflow-probability>=0.11.0',  # c.f. PR #1657\n    ],\n    'torch': ['torch>=1.10.0'],  # c.f. PR #1657\n    'jax': ['jax>=0.2.10', 'jaxlib>=0.1.61,!=0.1.68'],  # c.f. PR #1962, Issue #1501\n    'xmlio': ['uproot>=4.1.1'],  # c.f. PR #1567\n    'minuit': ['iminuit>=2.7.0'],  # c.f. PR #1895\n}\nextras_require['backends'] = sorted(\n    set(\n        extras_require['tensorflow']\n        + extras_require['torch']\n        + extras_require['jax']\n        + extras_require['minuit']\n    )\n)\nextras_require['contrib'] = sorted({'matplotlib', 'requests'})\nextras_require['test'] = sorted(\n    set(\n        extras_require['backends']\n        + extras_require['xmlio']\n        + extras_require['contrib']\n        + extras_require['shellcomplete']\n        + [\n            'scikit-hep-testdata>=0.4.11',\n            'pytest>=6.0',\n            'coverage[toml]>=6.0.0',\n            'pytest-mock',\n            'requests-mock>=1.9.0',\n            'pytest-benchmark[histogram]',\n            'pytest-console-scripts',\n            'pytest-mpl',\n            'pydocstyle',\n            'papermill~=2.3.4',\n            'scrapbook~=0.5.0',\n            'jupyter',\n            'graphviz',\n            'pytest-socket>=0.2.0',  # c.f. PR #1917\n        ]\n    )\n)\nextras_require['docs'] = sorted(\n    set(\n        extras_require['xmlio']\n        + extras_require['contrib']\n        + [\n            'sphinx>=5.1.1',  # c.f. https://github.com/scikit-hep/pyhf/pull/1926\n            'sphinxcontrib-bibtex~=2.1',\n            'sphinx-click',\n            'sphinx_rtd_theme',\n            'nbsphinx!=0.8.8',  # c.f. https://github.com/spatialaudio/nbsphinx/issues/620\n            'ipywidgets',\n            'sphinx-issues',\n            'sphinx-copybutton>=0.3.2',\n            'sphinx-togglebutton>=0.3.0',\n        ]\n    )\n)\nextras_require['develop'] = sorted(\n    set(\n        extras_require['docs']\n        + extras_require['test']\n        + [\n            'nbdime',\n            'tbump>=6.7.0',\n            'ipython',\n            'pre-commit',\n            'nox',\n            'check-manifest',\n            'codemetapy>=2.3.0',\n            'twine',\n        ]\n    )\n)\nextras_require['complete'] = sorted(set(sum(extras_require.values(), [])))\n\n\nsetup(\n    extras_require=extras_require,\n    use_scm_version=lambda: {'local_scheme': lambda version: ''},\n)\n", "path": "setup.py"}]}