<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def Transfer(self, wallet, from_addr, to_addr, amount, tx_attributes=None):
 """ Transfer a specified amount of the NEP5Token to another address. Args: wallet (neo.Wallets.Wallet):
 a wallet instance. from_addr (str):
 public address of the account to transfer the given amount from. to_addr (str):
 public address of the account to transfer the given amount to. amount (int):
 quantity to send. tx_attributes (list):
 a list of TransactionAtribute objects. Returns: tuple: InvocationTransaction: the transaction. int: the transaction fee. list: the neo VM evaluationstack results. """

        if not tx_attributes:
            tx_attributes = []

        sb = ScriptBuilder()
        sb.EmitAppCallWithOperationAndArgs(self.ScriptHash, 'transfer',
                                           [PromptUtils.parse_param(from_addr, wallet), PromptUtils.parse_param(to_addr, wallet),
                                            PromptUtils.parse_param(amount)])

        tx, fee, results, num_ops, engine_success = test_invoke(sb.ToArray(), wallet, [], from_addr=from_addr, invoke_attrs=tx_attributes)

        return tx, fee, results