def run():
<EOL>parser = argparse.ArgumentParser(description='<STR_LIT>')<EOL>parser.add_argument('<STR_LIT:-c>', '<STR_LIT>', action='<STR_LIT:store>', required=True,<EOL>help='<STR_LIT>',<EOL>dest='<STR_LIT>')<EOL>parser.add_argument('<STR_LIT>', '<STR_LIT>', action='<STR_LIT:store>', required=False,<EOL>help='<STR_LIT>',<EOL>dest='<STR_LIT>')<EOL>parser.add_argument('<STR_LIT>', action='<STR_LIT:version>', version='<STR_LIT>' % __version__)<EOL>args = parser.parse_args()<EOL>config_parser = configparser.SafeConfigParser()<EOL>sharq_config  = os.path.abspath(args.sharq_config)<EOL>config_parser.read(sharq_config)<EOL>host = config_parser.get('<STR_LIT>', '<STR_LIT:host>')<EOL>port = config_parser.get('<STR_LIT>', '<STR_LIT:port>')<EOL>bind = '<STR_LIT>' % (host, port)<EOL>try:<EOL><INDENT>workers = config_parser.get('<STR_LIT>', '<STR_LIT>')<EOL><DEDENT>except configparser.NoOptionError:<EOL><INDENT>workers = number_of_workers()<EOL><DEDENT>try:<EOL><INDENT>accesslog = config_parser.get('<STR_LIT>', '<STR_LIT>')<EOL><DEDENT>except configparser.NoOptionError:<EOL><INDENT>accesslog = None<EOL><DEDENT>options = {<EOL>'<STR_LIT>': bind,<EOL>'<STR_LIT>': workers,<EOL>'<STR_LIT>': '<STR_LIT>'  <EOL>}<EOL>if accesslog:<EOL><INDENT>options.update({<EOL>'<STR_LIT>': accesslog<EOL>})<EOL><DEDENT>if args.gunicorn_config:<EOL><INDENT>gunicorn_config = os.path.abspath(args.gunicorn_config)<EOL>options.update({<EOL>'<STR_LIT>': gunicorn_config<EOL>})<EOL><DEDENT>print("""<STR_LIT>""" % (__version__, bind))<EOL>server = setup_server(sharq_config)<EOL>SharQServerApplicationRunner(server.app, options).run()<EOL>
Exposes a CLI to configure the SharQ Server and runs the server.