<s> """<STR_LIT>""" <EOL> __docformat__ = "<STR_LIT>" <EOL> from . core import ClientAuthenticator , Response , Success <EOL> from . core import sasl_mechanism <EOL> @ sasl_mechanism ( "<STR_LIT>" , False , <NUM_LIT:20> ) <EOL> class ExternalClientAuthenticator ( ClientAuthenticator ) : <EOL> """<STR_LIT>""" <EOL> def __init__ ( self , password_manager ) : <EOL> ClientAuthenticator . __init__ ( self , password_manager ) <EOL> self . password_manager = password_manager <EOL> self . username = None <EOL> self . authzid = None <EOL> def start ( self , username , authzid ) : <EOL> self . username = username <EOL> self . authzid = authzid <EOL> return Response ( self . authzid , encode = True ) <EOL> def finish ( self , data ) : <EOL> """<STR_LIT>""" <EOL> return Success ( self . username , None , self . authzid ) </s>
