#NEWLINE# def __lt__( self , other ) : #NEWLINE# #INDENT# if isinstance ( other , ( int , float ) ) : #NEWLINE# #INDENT# if ( self . end < other ) : #NEWLINE# #INDENT# return ( True , self . is_valid ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# if ( self . start > other ) : #NEWLINE# #INDENT# return ( False , self . is_valid ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# return ( None , self . is_valid ) #NEWLINE# #UNINDENT# #UNINDENT# #UNINDENT# else : #NEWLINE# #INDENT# if isinstance ( other , interval ) : #NEWLINE# #INDENT# if ( ( self . is_valid is False ) or ( other . is_valid is False ) ) : #NEWLINE# #INDENT# valid = False #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# if ( ( self . is_valid is None ) or ( other . is_valid is None ) ) : #NEWLINE# #INDENT# valid = None #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# valid = True #NEWLINE# #UNINDENT# #UNINDENT# if ( self . end < other . start ) : #NEWLINE# #INDENT# return ( True , valid ) #NEWLINE# #UNINDENT# if ( self . start > other . end ) : #NEWLINE# #INDENT# return ( False , valid ) #NEWLINE# #UNINDENT# return ( None , valid ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# return NotImplemented