def main():
parser = argparse.ArgumentParser(description = '<STR_LIT>',<EOL>parents = [XMPPSettings.get_arg_parser()])<EOL>parser.add_argument('<STR_LIT:source>', metavar = '<STR_LIT>', <EOL>help = '<STR_LIT>')<EOL>parser.add_argument('<STR_LIT:target>', metavar = '<STR_LIT>', nargs = '<STR_LIT:?>',<EOL>help = '<STR_LIT>')<EOL>parser.add_argument('<STR_LIT>',<EOL>action = '<STR_LIT>', dest = '<STR_LIT>',<EOL>const = logging.DEBUG, default = logging.INFO,<EOL>help = '<STR_LIT>')<EOL>parser.add_argument('<STR_LIT>', const = logging.ERROR,<EOL>action = '<STR_LIT>', dest = '<STR_LIT>',<EOL>help = '<STR_LIT>')<EOL>args = parser.parse_args()<EOL>settings = XMPPSettings()<EOL>settings.load_arguments(args)<EOL>if settings.get("<STR_LIT:password>") is None:<EOL><INDENT>password = getpass("<STR_LIT>".format(args.source))<EOL>if sys.version_info.major < <NUM_LIT:3>:<EOL><INDENT>password = password.decode("<STR_LIT:utf-8>")<EOL><DEDENT>settings["<STR_LIT:password>"] = password<EOL><DEDENT>if sys.version_info.major < <NUM_LIT:3>:<EOL><INDENT>args.source = args.source.decode("<STR_LIT:utf-8>")<EOL><DEDENT>source = JID(args.source)<EOL>if args.target:<EOL><INDENT>if sys.version_info.major < <NUM_LIT:3>:<EOL><INDENT>args.target = args.target.decode("<STR_LIT:utf-8>")<EOL><DEDENT>target = JID(args.target)<EOL><DEDENT>else:<EOL><INDENT>target = JID(source.domain)<EOL><DEDENT>logging.basicConfig(level = args.log_level)<EOL>checker = VersionChecker(source, target, settings)<EOL>try:<EOL><INDENT>checker.run()<EOL><DEDENT>except KeyboardInterrupt:<EOL><INDENT>checker.disconnect()<EOL><DEDENT>
Parse the command-line arguments and run the tool.