<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;"># This file is dual licensed under the terms of the Apache License, Version
# 2.0, and the BSD License. See the LICENSE file in the root of this repository
# for complete details.


class InfinityType:
    def __repr__(self) -&gt; str:
        return "Infinity"

    def __hash__(self) -&gt; int:
        return hash(repr(self))

    def __lt__(self, other: object) -&gt; bool:
        return False

    def __le__(self, other: object) -&gt; bool:
        return False

    def __eq__(self, other: object) -&gt; bool:
        return isinstance(other, self.__class__)

    def __ne__(self, other: object) -&gt; bool:
        return not isinstance(other, self.__class__)

    def __gt__(self, other: object) -&gt; bool:
        return True

    def __ge__(self, other: object) -&gt; bool:
        return True

    def __neg__(self: object) -&gt; "NegativeInfinityType":
        return NegativeInfinity


Infinity = InfinityType()


class NegativeInfinityType:
    def __repr__(self) -&gt; str:
        return "-Infinity"

    def __hash__(self) -&gt; int:
        return hash(repr(self))

    def __lt__(self, other: object) -&gt; bool:
        return True

    def __le__(self, other: object) -&gt; bool:
        return True

    def __eq__(self, other: object) -&gt; bool:
        return isinstance(other, self.__class__)

    def __ne__(self, other: object) -&gt; bool:
        return not isinstance(other, self.__class__)

    def __gt__(self, other: object) -&gt; bool:
        return False

    def __ge__(self, other: object) -&gt; bool:
        return False

    def __neg__(self: object) -&gt; InfinityType:
        return Infinity


NegativeInfinity = NegativeInfinityType()
</pre></body></html>