<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def taken(self, profile='default', pillar=None, archive=None, output='nested'):
        '''
        Takes minion support config data.

        :param profile:
        :param pillar:
        :param archive:
        :param output:
        :return:
        '''
        ret = {
            'name': 'support.taken',
            'changes': {},
            'result': True,
        }

        result = __salt__['support.run'](profile=profile, pillar=pillar, archive=archive, output=output)
        if result.get('archive'):
            ret['comment'] = 'Information about this system has been saved to {} file.'.format(result['archive'])
            ret['changes']['archive'] = result['archive']
            ret['changes']['messages'] = {}
            for key in ['info', 'error', 'warning']:
                if result.get('messages', {}).get(key):
                    ret['changes']['messages'][key] = result['messages'][key]
        else:
            ret['comment'] = ''

        return ret