<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def aes_encrypt(base64_encryption_key, data):
 """Encrypt data with AES-CBC and sign it with HMAC-SHA256 Arguments: base64_encryption_key (str):
 a base64-encoded string containing an AES encryption key and HMAC signing key as generated by generate_encryption_key() data (str):
 a byte string containing the data to be encrypted Returns: str: the encrypted data as a byte string with the HMAC signature appended to the end """

    if isinstance(data, text_type):
        data = data.encode("UTF-8")
    aes_key_bytes, hmac_key_bytes = _extract_keys(base64_encryption_key)
    data = _pad(data)
    iv_bytes = os.urandom(AES_BLOCK_SIZE)
    cipher = AES.new(aes_key_bytes, mode=AES.MODE_CBC, IV=iv_bytes)
    data = iv_bytes + cipher.encrypt(data)  # prepend init vector
    hmac_signature = hmac.new(hmac_key_bytes, data, hashlib.sha256).digest()
    return as_base64(data + hmac_signature)