def step4(self, encrypted_data):
chacha = chacha20.Chacha20Cipher(self._session_key, self._session_key)<EOL>decrypted_tlv_bytes = chacha.decrypt(<EOL>encrypted_data, nounce='<STR_LIT>'.encode())<EOL>if not decrypted_tlv_bytes:<EOL><INDENT>raise Exception('<STR_LIT>')  <EOL><DEDENT>decrypted_tlv = tlv8.read_tlv(decrypted_tlv_bytes)<EOL>_LOGGER.debug('<STR_LIT>', decrypted_tlv)<EOL>atv_identifier = decrypted_tlv[tlv8.TLV_IDENTIFIER]<EOL>atv_signature = decrypted_tlv[tlv8.TLV_SIGNATURE]<EOL>atv_pub_key = decrypted_tlv[tlv8.TLV_PUBLIC_KEY]<EOL>log_binary(_LOGGER,<EOL>'<STR_LIT>',<EOL>Identifier=atv_identifier,<EOL>Signature=atv_signature,<EOL>Public=atv_pub_key)<EOL>return Credentials(atv_pub_key, self._signing_key.to_seed(),<EOL>atv_identifier, self.pairing_id)<EOL>
Last pairing step.