<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def make_temp(string, suffix='', decode=True, delete=True):
 """ xmlsec needs files in some cases where only strings exist, hence the need for this function. It creates a temporary file with the string as only content. :param string: The information to be placed in the file :param suffix: The temporary file might have to have a specific suffix in certain circumstances. :param decode: The input string might be base64 coded. If so it must, in some cases, be decoded before being placed in the file. :return: 2-tuple with file pointer ( so the calling function can close the file) and filename (which is for instance needed by the xmlsec function). """

    ntf = NamedTemporaryFile(suffix=suffix, delete=delete)
    # Python3 tempfile requires byte-like object
    if not isinstance(string, six.binary_type):
        string = string.encode('utf-8')

    if decode:
        ntf.write(base64.b64decode(string))
    else:
        ntf.write(string)
    ntf.seek(0)
    return ntf, ntf.name