"""
Maps colours to ANSI characters
Non-standard, not 100% reliable on Windows
"""


class Colours:
    black = '\033[30m'
    red = '\033[31m'
    green = '\033[32m'
    orange = '\033[33m'
    blue = '\033[34m'
    purple = '\033[35m'
    cyan = '\033[36m'
    lightgrey = '\033[37m'
    darkgrey = '\033[90m'
    lightred = '\033[91m'
    lightgreen = '\033[92m'
    yellow = '\033[93m'
    lightblue = '\033[94m'
    pink = '\033[95m'
    lightcyan = '\033[96m'


class Output:
    """
    Prints a message to stdout with optional foreground / background colours
    """

    @staticmethod
    def print(message: str, fg: Colours = None, bg: Colours = None) -> None:
        if fg and not bg:
            print(f'{fg}{message}')
        elif bg and not fg:
            print(f'{message}{bg}')
        elif fg and bg:
            print(f'{fg}{message}{bg}')
        else:
            print(message)

d373f272ec7e01973e6e0dc512f140637a4f0eae
<mask token>


class Output:
    <mask token>

    @staticmethod
    def print(message: str, fg: Colours=None, bg: Colours=None) ->None:
        if fg and not bg:
            print(f'{fg}{message}')
        elif bg and not fg:
            print(f'{message}{bg}')
        elif fg and bg:
            print(f'{fg}{message}{bg}')
        else:
            print(message)

<mask token>


class Output:
    """
    Prints a message to stdout with optional foreground / background colours
    """

    @staticmethod
    def print(message: str, fg: Colours=None, bg: Colours=None) ->None:
        if fg and not bg:
            print(f'{fg}{message}')
        elif bg and not fg:
            print(f'{message}{bg}')
        elif fg and bg:
            print(f'{fg}{message}{bg}')
        else:
            print(message)

<mask token>


class Colours:
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>


class Output:
    """
    Prints a message to stdout with optional foreground / background colours
    """

    @staticmethod
    def print(message: str, fg: Colours=None, bg: Colours=None) ->None:
        if fg and not bg:
            print(f'{fg}{message}')
        elif bg and not fg:
            print(f'{message}{bg}')
        elif fg and bg:
            print(f'{fg}{message}{bg}')
        else:
            print(message)

<mask token>


class Colours:
    black = '\x1b[30m'
    red = '\x1b[31m'
    green = '\x1b[32m'
    orange = '\x1b[33m'
    blue = '\x1b[34m'
    purple = '\x1b[35m'
    cyan = '\x1b[36m'
    lightgrey = '\x1b[37m'
    darkgrey = '\x1b[90m'
    lightred = '\x1b[91m'
    lightgreen = '\x1b[92m'
    yellow = '\x1b[93m'
    lightblue = '\x1b[94m'
    pink = '\x1b[95m'
    lightcyan = '\x1b[96m'


class Output:
    """
    Prints a message to stdout with optional foreground / background colours
    """

    @staticmethod
    def print(message: str, fg: Colours=None, bg: Colours=None) ->None:
        if fg and not bg:
            print(f'{fg}{message}')
        elif bg and not fg:
            print(f'{message}{bg}')
        elif fg and bg:
            print(f'{fg}{message}{bg}')
        else:
            print(message)

"""
Maps colours to ANSI characters
Non-standard, not 100% reliable on Windows
"""


class Colours:
    black = '\033[30m'
    red = '\033[31m'
    green = '\033[32m'
    orange = '\033[33m'
    blue = '\033[34m'
    purple = '\033[35m'
    cyan = '\033[36m'
    lightgrey = '\033[37m'
    darkgrey = '\033[90m'
    lightred = '\033[91m'
    lightgreen = '\033[92m'
    yellow = '\033[93m'
    lightblue = '\033[94m'
    pink = '\033[95m'
    lightcyan = '\033[96m'


class Output:
    """
    Prints a message to stdout with optional foreground / background colours
    """

    @staticmethod
    def print(message: str, fg: Colours = None, bg: Colours = None) -> None:
        if fg and not bg:
            print(f'{fg}{message}')
        elif bg and not fg:
            print(f'{message}{bg}')
        elif fg and bg:
            print(f'{fg}{message}{bg}')
        else:
            print(message)
