<s> from . import async , connection , protocol , client , features <EOL> from . async import coroutine , Future <EOL> from . client import Error , NotInChannel , AlreadyInChannel , BasicClient , ClientPool <EOL> from . features . ircv3 . cap import NEGOTIATING as CAPABILITY_NEGOTIATING , FAILED as CAPABILITY_FAILED , NEGOTIATED as CAPABILITY_NEGOTIATED <EOL> __name__ = '<STR_LIT>' <EOL> __version__ = '<STR_LIT>' <EOL> __version_info__ = ( <NUM_LIT:0> , <NUM_LIT:8> , <NUM_LIT:2> ) <EOL> __license__ = '<STR_LIT>' <EOL> def featurize ( * features ) : <EOL> """<STR_LIT>""" <EOL> from functools import cmp_to_key <EOL> def compare_subclass ( left , right ) : <EOL> if issubclass ( left , right ) : <EOL> return - <NUM_LIT:1> <EOL> elif issubclass ( right , left ) : <EOL> return <NUM_LIT:1> <EOL> return <NUM_LIT:0> <EOL> sorted_features = sorted ( features , key = cmp_to_key ( compare_subclass ) ) <EOL> name = '<STR_LIT>' . format ( features = '<STR_LIT:U+002CU+0020>' . join ( feature . __name__ for feature in sorted_features ) ) <EOL> return type ( name , tuple ( sorted_features ) , { } ) <EOL> class Client ( featurize ( * features . ALL ) ) : <EOL> """<STR_LIT>""" <EOL> pass <EOL> class MinimalClient ( featurize ( * features . LITE ) ) : <EOL> """<STR_LIT>""" <EOL> pass </s>
