def get_parser(config=None):
<EOL>parser = argparse.ArgumentParser(description=__doc__,<EOL>formatter_class=argparse.RawTextHelpFormatter, epilog="""<STR_LIT>""",<EOL>)<EOL>if not config:<EOL><INDENT>config={}<EOL><DEDENT>parser.add_argument('<STR_LIT>', '<STR_LIT>', action='<STR_LIT:version>', version='<STR_LIT>' + __version__)<EOL>subcommand = parser.add_subparsers(title='<STR_LIT>', dest='<STR_LIT>')<EOL>deploy_parser = subcommand.add_parser('<STR_LIT>', help="""<STR_LIT>""")<EOL>deploy_parser.set_defaults(func=deploy)<EOL>deploy_parser_add_argument = make_parser_with_config_adder(deploy_parser, config)<EOL>deploy_parser_add_argument('<STR_LIT>', action='<STR_LIT:store_true>', help="""<STR_LIT>""")<EOL>deploy_parser_add_argument('<STR_LIT>', type=str, nargs='<STR_LIT:?>',<EOL>help="""<STR_LIT>""")<EOL>deploy_parser_add_argument('<STR_LIT>', action='<STR_LIT:store_true>', default=False,<EOL>help="""<STR_LIT>""")<EOL>deploy_parser_add_argument('<STR_LIT>', default=None,<EOL>help="""<STR_LIT>""")<EOL>deploy_parser_add_argument('<STR_LIT>', default=None,<EOL>help="""<STR_LIT>""")<EOL>deploy_parser.add_argument('<STR_LIT>', default=None,<EOL>help="""<STR_LIT>""")<EOL>deploy_parser_add_argument('<STR_LIT>', default=None,<EOL>help=argparse.SUPPRESS)<EOL>deploy_parser_add_argument('<STR_LIT>', default=None, help="""<STR_LIT>""")<EOL>deploy_parser_add_argument('<STR_LIT>', default=None, nargs='<STR_LIT:*>',<EOL>help="""<STR_LIT>""", metavar="<STR_LIT>")<EOL>deploy_parser_add_argument('<STR_LIT>', dest='<STR_LIT>', action='<STR_LIT>',<EOL>default=True, help="""<STR_LIT>""")<EOL>deploy_parser_add_argument('<STR_LIT>', default=None,<EOL>help="""<STR_LIT>""")<EOL>deploy_parser_add_argument('<STR_LIT>', dest='<STR_LIT>', action='<STR_LIT>',<EOL>default=True, help="""<STR_LIT>""")<EOL>deploy_parser.add_argument('<STR_LIT>', dest='<STR_LIT>',<EOL>action='<STR_LIT>', default=True, help="""<STR_LIT>""")<EOL>deploy_parser_add_argument('<STR_LIT>', dest='<STR_LIT>', action='<STR_LIT>',<EOL>default=True, help="<STR_LIT>"<EOL>"<STR_LIT>")<EOL>deploy_parser_add_argument('<STR_LIT>', action='<STR_LIT:store_true>',<EOL>default=False, help="""<STR_LIT>""")<EOL>deploy_parser_add_argument('<STR_LIT>', default=None,<EOL>help="""<STR_LIT>""")<EOL>deploy_parser_add_argument('<STR_LIT>', nargs='<STR_LIT:+>', default=(), help="""<STR_LIT>""")<EOL>if config:<EOL><INDENT>print('<STR_LIT>' % json.dumps(config, indent=<NUM_LIT:2>))<EOL><DEDENT>configure_parser = subcommand.add_parser('<STR_LIT>', help="<STR_LIT>")<EOL>configure_parser.set_defaults(func=configure)<EOL>configure_parser.add_argument('<STR_LIT>', action='<STR_LIT:store_true>', help="""<STR_LIT>""")<EOL>configure_parser.add_argument('<STR_LIT>', action="<STR_LIT:store_true>", default=False,<EOL>help="""<STR_LIT>""")<EOL>configure_parser.add_argument("<STR_LIT>", action="<STR_LIT>", default=True,<EOL>dest="<STR_LIT>", help="""<STR_LIT>""")<EOL>configure_parser.add_argument("<STR_LIT>", action="<STR_LIT>",<EOL>default=True, dest="<STR_LIT>", help="""<STR_LIT>""")<EOL>configure_parser.add_argument('<STR_LIT>', default=None,<EOL>help="""<STR_LIT>""")<EOL>configure_parser.add_argument('<STR_LIT>', default=None,<EOL>help="""<STR_LIT>""", choices=['<STR_LIT:c>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT:o>', '<STR_LIT>', '<STR_LIT>',<EOL>'<STR_LIT>'])<EOL>return parser<EOL>
return a parser suitable to parse CL arguments.

Parameters
----------

config: dict
    Default values to fall back on, if not given.

Returns
-------

    An argparse parser configured to parse the command lines arguments of
    sys.argv which will default on values present in ``config``.