async def cli_handler(loop):
parser = argparse.ArgumentParser()<EOL>parser.add_argument('<STR_LIT>', nargs='<STR_LIT:+>',<EOL>help='<STR_LIT>')<EOL>parser.add_argument('<STR_LIT>', help='<STR_LIT>',<EOL>dest='<STR_LIT:name>', default='<STR_LIT>')<EOL>parser.add_argument('<STR_LIT>', help='<STR_LIT>',<EOL>dest='<STR_LIT:address>', default=None)<EOL>parser.add_argument('<STR_LIT>', action=TransformProtocol,<EOL>help='<STR_LIT>',<EOL>dest='<STR_LIT>', default=None)<EOL>parser.add_argument('<STR_LIT>', help='<STR_LIT>',<EOL>dest='<STR_LIT:port>', type=_in_range(<NUM_LIT:0>, <NUM_LIT>),<EOL>default=<NUM_LIT:0>)<EOL>parser.add_argument('<STR_LIT>', '<STR_LIT>', help='<STR_LIT>',<EOL>dest='<STR_LIT>', type=_in_range(<NUM_LIT:1>, <NUM_LIT:100>),<EOL>metavar='<STR_LIT>', default=<NUM_LIT:3>)<EOL>parser.add_argument('<STR_LIT>', action='<STR_LIT:version>',<EOL>help='<STR_LIT>',<EOL>version='<STR_LIT>'.format(const.__version__))<EOL>pairing = parser.add_argument_group('<STR_LIT>')<EOL>pairing.add_argument('<STR_LIT>', help='<STR_LIT>',<EOL>dest='<STR_LIT>', default='<STR_LIT>')<EOL>pairing.add_argument('<STR_LIT>', '<STR_LIT>', help='<STR_LIT>',<EOL>dest='<STR_LIT>', metavar='<STR_LIT>', default=<NUM_LIT>,<EOL>type=_in_range(<NUM_LIT:0>, <NUM_LIT>, allow_none=True))<EOL>pairing.add_argument('<STR_LIT>',<EOL>help='<STR_LIT>',<EOL>dest='<STR_LIT>', default=None)<EOL>parser.add_argument('<STR_LIT>', '<STR_LIT>', action='<STR_LIT:store_true>',<EOL>help='<STR_LIT>',<EOL>dest='<STR_LIT>', default=False)<EOL>parser.add_argument('<STR_LIT>', help='<STR_LIT>',<EOL>dest='<STR_LIT>', default=None)<EOL>airplay = parser.add_argument_group('<STR_LIT>')<EOL>airplay.add_argument('<STR_LIT>',<EOL>help='<STR_LIT>',<EOL>dest='<STR_LIT>', default=None)<EOL>debug = parser.add_argument_group('<STR_LIT>')<EOL>debug.add_argument('<STR_LIT>', '<STR_LIT>', help='<STR_LIT>',<EOL>action='<STR_LIT:store_true>', dest='<STR_LIT>')<EOL>debug.add_argument('<STR_LIT>', help='<STR_LIT>',<EOL>action='<STR_LIT:store_true>', dest='<STR_LIT>')<EOL>args = parser.parse_args()<EOL>loglevel = logging.WARNING<EOL>if args.verbose:<EOL><INDENT>loglevel = logging.INFO<EOL><DEDENT>if args.debug:<EOL><INDENT>loglevel = logging.DEBUG<EOL><DEDENT>logging.basicConfig(level=loglevel,<EOL>format='<STR_LIT>')<EOL>logging.getLogger('<STR_LIT>').setLevel(logging.WARNING)<EOL>cmds = retrieve_commands(GlobalCommands)<EOL>if args.command[<NUM_LIT:0>] in cmds:<EOL><INDENT>glob_cmds = GlobalCommands(args, loop)<EOL>return (await _exec_command(<EOL>glob_cmds, args.command[<NUM_LIT:0>], print_result=False))<EOL><DEDENT>if args.autodiscover:<EOL><INDENT>if not await _autodiscover_device(args, loop):<EOL><INDENT>return <NUM_LIT:1><EOL><DEDENT>return await _handle_commands(args, loop)<EOL><DEDENT>if args.address:<EOL><INDENT>return await _handle_commands(args, loop)<EOL><DEDENT>logging.error('<STR_LIT>')<EOL>return <NUM_LIT:1><EOL>
Application starts here.