code: def import_account(self, label: str, encrypted_pri_key: str, pwd: str, b58_address: str,
                         b64_salt: str, n: int = 16384) -> AccountData:
          
          salt = base64.b64decode(b64_salt.encode('ascii')).decode('latin-1')
          private_key = Account.get_gcm_decoded_private_key(encrypted_pri_key, pwd, b58_address, salt, n, self.scheme)
          acct_info = self.create_account_info(label, pwd, salt, private_key)
          for acct in self.wallet_in_mem.accounts:
              if not isinstance(acct, AccountData):
                  raise SDKException(ErrorCode.other_error('Invalid account data in memory.'))
              if acct_info.address_base58 == acct.b58_address:
                  return acct
          raise SDKException(ErrorCode.other_error('Import account failed.'))
docs: This interface is used to import account by providing account data.
  
          :param label: str, wallet label
          :param encrypted_pri_key: str, an encrypted private key in base64 encoding from
          :param pwd: str, a password which is used to encrypt and decrypt the private key
          :param b58_address: str, a base58 encode  wallet address value
          :param b64_salt: str, a base64 encode salt value which is used in the encryption of private key
          :param n: int,  CPU/Memory cost parameter. It must be a power of 2 and less than :math:`2^{32}`
          :return:
              if succeed, return an data structure which contain the information of a wallet account.
              if failed, return a None object.