docs: def main():
      """Script starts somewhere around here."""
      message_names = set()
      packages = []
      messages = []
      extensions = []
      constants = []
  
      # Extract everything needed to generate output file
      for info in extract_message_info():
          message_names.add(info.title)
          packages.append(
              'from {0} import {1}'.format(
                  BASE_PACKAGE, info.module))
          messages.append(
              'from {0}.{1} import {2}'.format(
                  BASE_PACKAGE, info.module, info.title))
          extensions.append(
              'ProtocolMessage.{0}: {1}.{2},'.format(
                  info.const, info.module, info.accessor))
          constants.append(
              '{0} = ProtocolMessage.{0}'.format(
                  info.const))
  
  
      # Look for remaining messages
      for module_name, message_name in extract_unreferenced_messages():
          if message_name not in message_names:
              message_names.add(message_name)
              messages.append('from {0}.{1} import {2}'.format(
                      BASE_PACKAGE, module_name, message_name))
  
      # Print file output with values inserted
      print(OUTPUT_TEMPLATE.format(
          packages='\n'.join(sorted(packages)),
          messages='\n'.join(sorted(messages)),
          extensions='\n    '.join(sorted(extensions)),
          constants='\n'.join(sorted(constants))))
  
      return 0