<s> """<STR_LIT>""" <EOL> import abc <EOL> import six <EOL> @ six . add_metaclass ( abc . ABCMeta ) <EOL> class Key ( object ) : <EOL> """<STR_LIT>""" <EOL> @ abc . abstractmethod <EOL> def get_algorithm ( self ) : <EOL> """<STR_LIT>""" <EOL> pass <EOL> @ abc . abstractmethod <EOL> def get_format ( self ) : <EOL> """<STR_LIT>""" <EOL> pass <EOL> @ abc . abstractmethod <EOL> def get_encoded ( self ) : <EOL> """<STR_LIT>""" <EOL> pass <EOL> class SymmetricKey ( Key ) : <EOL> """<STR_LIT>""" <EOL> def __init__ ( self , alg , key ) : <EOL> """<STR_LIT>""" <EOL> self . alg = alg <EOL> self . key = key <EOL> def get_algorithm ( self ) : <EOL> """<STR_LIT>""" <EOL> return self . alg <EOL> def get_format ( self ) : <EOL> """<STR_LIT>""" <EOL> return "<STR_LIT>" <EOL> def get_encoded ( self ) : <EOL> """<STR_LIT>""" <EOL> return self . key <EOL> def __eq__ ( self , other ) : <EOL> if isinstance ( other , SymmetricKey ) : <EOL> return ( self . alg == other . alg and <EOL> self . key == other . key ) <EOL> return NotImplemented <EOL> def __ne__ ( self , other ) : <EOL> result = self . __eq__ ( other ) <EOL> if result is NotImplemented : <EOL> return result <EOL> return not result </s>
