# DO NOT EDIT! This file is automatically generated
class _BaseType:
    def __eq__(self, other):
        if other.__class__ is self.__class__:
            return self.__values__() == other.__values__()
        else:
            return NotImplemented

    def __ne__(self, other):
        result = self.__eq__(other)
        if result is NotImplemented:
            return NotImplemented
        else:
            return not result

    def __lt__(self, other):
        if other.__class__ is self.__class__:
            return self.__values__() < other.__values__()
        else:
            return NotImplemented

    def __le__(self, other):
        if other.__class__ is self.__class__:
            return self.__values__() <= other.__values__()
        else:
            return NotImplemented

    def __gt__(self, other):
        if other.__class__ is self.__class__:
            return self.__values__() > other.__values__()
        else:
            return NotImplemented

    def __ge__(self, other):
        if other.__class__ is self.__class__:
            return self.__values__() >= other.__values__()
        else:
            return NotImplemented

    def __values__(self):
        return tuple(self.__dict__.values())

    def __hash__(self):
        return hash((self.__class__,) + self.__values__())
