from abc import abstractmethod
from contextlib import AbstractContextManager
from types import TracebackType
from typing import Optional, Type


class Closeable(AbstractContextManager):
    @abstractmethod
    def close(self) -> None:
        pass

    def __exit__(
        self,
        exc_type: Optional[Type[BaseException]],
        exc_val: Optional[BaseException],
        exc_tb: Optional[TracebackType],
    ) -> None:
        self.close()

d8be9e08f483f40315b500bd7ab456307e7e14cb
<mask token>

<mask token>


class Closeable(AbstractContextManager):

    @abstractmethod
    def close(self) ->None:
        pass
    <mask token>

<mask token>


class Closeable(AbstractContextManager):

    @abstractmethod
    def close(self) ->None:
        pass

    def __exit__(self, exc_type: Optional[Type[BaseException]], exc_val:
        Optional[BaseException], exc_tb: Optional[TracebackType]) ->None:
        self.close()

from abc import abstractmethod
from contextlib import AbstractContextManager
from types import TracebackType
from typing import Optional, Type


class Closeable(AbstractContextManager):

    @abstractmethod
    def close(self) ->None:
        pass

    def __exit__(self, exc_type: Optional[Type[BaseException]], exc_val:
        Optional[BaseException], exc_tb: Optional[TracebackType]) ->None:
        self.close()

from abc import abstractmethod
from contextlib import AbstractContextManager
from types import TracebackType
from typing import Optional, Type


class Closeable(AbstractContextManager):
    @abstractmethod
    def close(self) -> None:
        pass

    def __exit__(
        self,
        exc_type: Optional[Type[BaseException]],
        exc_val: Optional[BaseException],
        exc_tb: Optional[TracebackType],
    ) -> None:
        self.close()
