prompt: You will be provided with a partial code base and an issue statement explaining a problem to resolve.
  <issue>
  No module named 'botbuilder.ai.qna.dialogs' - Python QnA Sample 49
  ## Version
  botbuilder-ai - 4.9.1
  
  ## Describe the bug
  I was trying out the QnA Maker Sample - 49.qnamaker-all-features . I've configured my QnA KB and also the config.py with the necessary info. However the module botbuilder.ai.qna.dialogs does not seem to exist. I've manually verified for the class QnAMakermDialog and it does not exist
  
  > from botbuilder.ai.qna.dialogs import QnAMakermDialog
  
  ## To Reproduce
  Steps to reproduce the behavior:
  1. Download the sample 49.qnamaker-all-features
  2. Install the necessary requirements and configure QnAMaker.
  3. Run python app.py in the folder
  
  ## Expected behavior
  The sample should've run successfully.
  
  
  [bug]
  
  
  </issue>
  <code>
  [start of libraries/botbuilder-ai/setup.py]
  1 # Copyright (c) Microsoft Corporation. All rights reserved.
  2 # Licensed under the MIT License.
  3 
  4 import os
  5 from setuptools import setup
  6 
  7 REQUIRES = [
  8     "azure-cognitiveservices-language-luis==0.2.0",
  9     "botbuilder-schema>=4.7.1",
  10     "botbuilder-core>=4.7.1",
  11     "aiohttp==3.6.2",
  12 ]
  13 
  14 TESTS_REQUIRES = ["aiounittest>=1.1.0"]
  15 
  16 root = os.path.abspath(os.path.dirname(__file__))
  17 
  18 with open(os.path.join(root, "botbuilder", "ai", "about.py")) as f:
  19     package_info = {}
  20     info = f.read()
  21     exec(info, package_info)
  22 
  23 with open(os.path.join(root, "README.rst"), encoding="utf-8") as f:
  24     long_description = f.read()
  25 
  26 setup(
  27     name=package_info["__title__"],
  28     version=package_info["__version__"],
  29     url=package_info["__uri__"],
  30     author=package_info["__author__"],
  31     description=package_info["__description__"],
  32     keywords="botbuilder-ai LUIS QnAMaker bots ai botframework botbuilder",
  33     long_description=long_description,
  34     long_description_content_type="text/x-rst",
  35     license=package_info["__license__"],
  36     packages=[
  37         "botbuilder.ai",
  38         "botbuilder.ai.qna",
  39         "botbuilder.ai.luis",
  40         "botbuilder.ai.qna.models",
  41         "botbuilder.ai.qna.utils",
  42     ],
  43     install_requires=REQUIRES + TESTS_REQUIRES,
  44     tests_require=TESTS_REQUIRES,
  45     include_package_data=True,
  46     classifiers=[
  47         "Programming Language :: Python :: 3.7",
  48         "Intended Audience :: Developers",
  49         "License :: OSI Approved :: MIT License",
  50         "Operating System :: OS Independent",
  51         "Development Status :: 5 - Production/Stable",
  52         "Topic :: Scientific/Engineering :: Artificial Intelligence",
  53     ],
  54 )
  55
  [end of libraries/botbuilder-ai/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/libraries/botbuilder-ai/setup.py b/libraries/botbuilder-ai/setup.py
  --- a/libraries/botbuilder-ai/setup.py
  +++ b/libraries/botbuilder-ai/setup.py
  @@ -39,6 +39,7 @@
           "botbuilder.ai.luis",
           "botbuilder.ai.qna.models",
           "botbuilder.ai.qna.utils",
  +        "botbuilder.ai.qna.dialogs",
       ],
       install_requires=REQUIRES + TESTS_REQUIRES,
       tests_require=TESTS_REQUIRES,
  
verification_info: {"golden_diff": "diff --git a/libraries/botbuilder-ai/setup.py b/libraries/botbuilder-ai/setup.py\n--- a/libraries/botbuilder-ai/setup.py\n+++ b/libraries/botbuilder-ai/setup.py\n@@ -39,6 +39,7 @@\n         \"botbuilder.ai.luis\",\n         \"botbuilder.ai.qna.models\",\n         \"botbuilder.ai.qna.utils\",\n+        \"botbuilder.ai.qna.dialogs\",\n     ],\n     install_requires=REQUIRES + TESTS_REQUIRES,\n     tests_require=TESTS_REQUIRES,\n", "issue": "No module named 'botbuilder.ai.qna.dialogs' - Python QnA Sample 49\n## Version\r\nbotbuilder-ai - 4.9.1\r\n\r\n## Describe the bug\r\nI was trying out the QnA Maker Sample - 49.qnamaker-all-features . I've configured my QnA KB and also the config.py with the necessary info. However the module botbuilder.ai.qna.dialogs does not seem to exist. I've manually verified for the class QnAMakermDialog and it does not exist\r\n\r\n> from botbuilder.ai.qna.dialogs import QnAMakermDialog\r\n\r\n## To Reproduce\r\nSteps to reproduce the behavior:\r\n1. Download the sample 49.qnamaker-all-features\r\n2. Install the necessary requirements and configure QnAMaker.\r\n3. Run python app.py in the folder\r\n\r\n## Expected behavior\r\nThe sample should've run successfully.\r\n\r\n\r\n[bug]\r\n\n", "before_files": [{"content": "# Copyright (c) Microsoft Corporation. All rights reserved.\n# Licensed under the MIT License.\n\nimport os\nfrom setuptools import setup\n\nREQUIRES = [\n    \"azure-cognitiveservices-language-luis==0.2.0\",\n    \"botbuilder-schema>=4.7.1\",\n    \"botbuilder-core>=4.7.1\",\n    \"aiohttp==3.6.2\",\n]\n\nTESTS_REQUIRES = [\"aiounittest>=1.1.0\"]\n\nroot = os.path.abspath(os.path.dirname(__file__))\n\nwith open(os.path.join(root, \"botbuilder\", \"ai\", \"about.py\")) as f:\n    package_info = {}\n    info = f.read()\n    exec(info, package_info)\n\nwith open(os.path.join(root, \"README.rst\"), encoding=\"utf-8\") as f:\n    long_description = f.read()\n\nsetup(\n    name=package_info[\"__title__\"],\n    version=package_info[\"__version__\"],\n    url=package_info[\"__uri__\"],\n    author=package_info[\"__author__\"],\n    description=package_info[\"__description__\"],\n    keywords=\"botbuilder-ai LUIS QnAMaker bots ai botframework botbuilder\",\n    long_description=long_description,\n    long_description_content_type=\"text/x-rst\",\n    license=package_info[\"__license__\"],\n    packages=[\n        \"botbuilder.ai\",\n        \"botbuilder.ai.qna\",\n        \"botbuilder.ai.luis\",\n        \"botbuilder.ai.qna.models\",\n        \"botbuilder.ai.qna.utils\",\n    ],\n    install_requires=REQUIRES + TESTS_REQUIRES,\n    tests_require=TESTS_REQUIRES,\n    include_package_data=True,\n    classifiers=[\n        \"Programming Language :: Python :: 3.7\",\n        \"Intended Audience :: Developers\",\n        \"License :: OSI Approved :: MIT License\",\n        \"Operating System :: OS Independent\",\n        \"Development Status :: 5 - Production/Stable\",\n        \"Topic :: Scientific/Engineering :: Artificial Intelligence\",\n    ],\n)\n", "path": "libraries/botbuilder-ai/setup.py"}]}