prompt: You will be provided with a partial code base and an issue statement explaining a problem to resolve.
  <issue>
  Enhancement: Only run Sonar & Snyk on forks
  ### Summary
  
  When forking the repo, tests are brought with it but Snyk & Sonar CI fails because the secrets are not set.
  
  ### Basic Example
  
  Add ` && github.repository_owner == 'starlite-api'` to the if-check in `ci.yaml` to prevent these two CI items from running on non-upstream repos.
  
  ### Drawbacks and Impact
  
  _No response_
  
  ### Unresolved questions
  
  _No response_
  
  </issue>
  <code>
  [start of litestar/types/composite_types.py]
  1 from functools import partial
  2 from os import PathLike
  3 from pathlib import Path
  4 from typing import (
  5     TYPE_CHECKING,
  6     Any,
  7     AsyncIterable,
  8     AsyncIterator,
  9     Callable,
  10     Dict,
  11     Iterable,
  12     Iterator,
  13     Literal,
  14     Mapping,
  15     Sequence,
  16     Set,
  17     Tuple,
  18     Type,
  19     TypeVar,
  20     Union,
  21 )
  22 
  23 from litestar.enums import ScopeType
  24 
  25 from .asgi_types import ASGIApp
  26 from .callable_types import AnyCallable, ExceptionHandler
  27 
  28 if TYPE_CHECKING:
  29     from litestar.datastructures.cookie import Cookie
  30     from litestar.datastructures.response_header import ResponseHeader
  31     from litestar.di import Provide
  32     from litestar.middleware.base import DefineMiddleware, MiddlewareProtocol
  33     from litestar.params import ParameterKwarg
  34 else:
  35     BaseHTTPMiddleware = Any
  36     Cookie = Any
  37     DefineMiddleware = Any
  38     ImmutableState = Any
  39     MiddlewareProtocol = Any
  40     ParameterKwarg = Any
  41     Provide = Any
  42     ResponseHeader = Any
  43 
  44 T = TypeVar("T")
  45 
  46 
  47 Dependencies = Mapping[str, Union[Provide, AnyCallable]]
  48 ExceptionHandlersMap = Mapping[Union[int, Type[Exception]], ExceptionHandler]
  49 MaybePartial = Union[T, partial]
  50 Middleware = Union[
  51     Callable[..., ASGIApp], DefineMiddleware, Iterator[Tuple[ASGIApp, Dict[str, Any]]], Type[MiddlewareProtocol]
  52 ]
  53 ParametersMap = Mapping[str, ParameterKwarg]
  54 PathType = Union[Path, PathLike, str]
  55 ResponseCookies = Union[Sequence[Cookie], Mapping[str, str]]
  56 ResponseHeaders = Union[Sequence[ResponseHeader], Mapping[str, str]]
  57 Scopes = Set[Literal[ScopeType.HTTP, ScopeType.WEBSOCKET]]
  58 StreamType = Union[Iterable[T], Iterator[T], AsyncIterable[T], AsyncIterator[T]]
  59 TypeEncodersMap = Mapping[Any, Callable[[Any], Any]]
  60
  [end of litestar/types/composite_types.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/litestar/types/composite_types.py b/litestar/types/composite_types.py
  --- a/litestar/types/composite_types.py
  +++ b/litestar/types/composite_types.py
  @@ -12,6 +12,7 @@
       Iterator,
       Literal,
       Mapping,
  +    MutableMapping,
       Sequence,
       Set,
       Tuple,
  @@ -45,7 +46,7 @@
   
   
   Dependencies = Mapping[str, Union[Provide, AnyCallable]]
  -ExceptionHandlersMap = Mapping[Union[int, Type[Exception]], ExceptionHandler]
  +ExceptionHandlersMap = MutableMapping[Union[int, Type[Exception]], ExceptionHandler]
   MaybePartial = Union[T, partial]
   Middleware = Union[
       Callable[..., ASGIApp], DefineMiddleware, Iterator[Tuple[ASGIApp, Dict[str, Any]]], Type[MiddlewareProtocol]
  
verification_info: {"golden_diff": "diff --git a/litestar/types/composite_types.py b/litestar/types/composite_types.py\n--- a/litestar/types/composite_types.py\n+++ b/litestar/types/composite_types.py\n@@ -12,6 +12,7 @@\n     Iterator,\n     Literal,\n     Mapping,\n+    MutableMapping,\n     Sequence,\n     Set,\n     Tuple,\n@@ -45,7 +46,7 @@\n \n \n Dependencies = Mapping[str, Union[Provide, AnyCallable]]\n-ExceptionHandlersMap = Mapping[Union[int, Type[Exception]], ExceptionHandler]\n+ExceptionHandlersMap = MutableMapping[Union[int, Type[Exception]], ExceptionHandler]\n MaybePartial = Union[T, partial]\n Middleware = Union[\n     Callable[..., ASGIApp], DefineMiddleware, Iterator[Tuple[ASGIApp, Dict[str, Any]]], Type[MiddlewareProtocol]\n", "issue": "Enhancement: Only run Sonar & Snyk on forks\n### Summary\n\nWhen forking the repo, tests are brought with it but Snyk & Sonar CI fails because the secrets are not set.\n\n### Basic Example\n\nAdd ` && github.repository_owner == 'starlite-api'` to the if-check in `ci.yaml` to prevent these two CI items from running on non-upstream repos.\n\n### Drawbacks and Impact\n\n_No response_\n\n### Unresolved questions\n\n_No response_\n", "before_files": [{"content": "from functools import partial\nfrom os import PathLike\nfrom pathlib import Path\nfrom typing import (\n    TYPE_CHECKING,\n    Any,\n    AsyncIterable,\n    AsyncIterator,\n    Callable,\n    Dict,\n    Iterable,\n    Iterator,\n    Literal,\n    Mapping,\n    Sequence,\n    Set,\n    Tuple,\n    Type,\n    TypeVar,\n    Union,\n)\n\nfrom litestar.enums import ScopeType\n\nfrom .asgi_types import ASGIApp\nfrom .callable_types import AnyCallable, ExceptionHandler\n\nif TYPE_CHECKING:\n    from litestar.datastructures.cookie import Cookie\n    from litestar.datastructures.response_header import ResponseHeader\n    from litestar.di import Provide\n    from litestar.middleware.base import DefineMiddleware, MiddlewareProtocol\n    from litestar.params import ParameterKwarg\nelse:\n    BaseHTTPMiddleware = Any\n    Cookie = Any\n    DefineMiddleware = Any\n    ImmutableState = Any\n    MiddlewareProtocol = Any\n    ParameterKwarg = Any\n    Provide = Any\n    ResponseHeader = Any\n\nT = TypeVar(\"T\")\n\n\nDependencies = Mapping[str, Union[Provide, AnyCallable]]\nExceptionHandlersMap = Mapping[Union[int, Type[Exception]], ExceptionHandler]\nMaybePartial = Union[T, partial]\nMiddleware = Union[\n    Callable[..., ASGIApp], DefineMiddleware, Iterator[Tuple[ASGIApp, Dict[str, Any]]], Type[MiddlewareProtocol]\n]\nParametersMap = Mapping[str, ParameterKwarg]\nPathType = Union[Path, PathLike, str]\nResponseCookies = Union[Sequence[Cookie], Mapping[str, str]]\nResponseHeaders = Union[Sequence[ResponseHeader], Mapping[str, str]]\nScopes = Set[Literal[ScopeType.HTTP, ScopeType.WEBSOCKET]]\nStreamType = Union[Iterable[T], Iterator[T], AsyncIterable[T], AsyncIterator[T]]\nTypeEncodersMap = Mapping[Any, Callable[[Any], Any]]\n", "path": "litestar/types/composite_types.py"}]}