<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def generate_output_asn(self, json_data=None, hr=True, show_name=False, colorize=True):
 """ The function for generating CLI output ASN results. Args: json_data (:obj:`dict`):
 The data to process. Defaults to None. hr (:obj:`bool`):
 Enable human readable key translations. Defaults to True. show_name (:obj:`bool`):
 Show human readable name (default is to only show short). Defaults to False. colorize (:obj:`bool`):
 Colorize the console output with ANSI colors. Defaults to True. Returns: str: The generated output. """


        if json_data is None:
            json_data = {}

        keys = {'asn', 'asn_cidr', 'asn_country_code', 'asn_date',
                'asn_registry', 'asn_description'}.intersection(json_data)

        output = ''

        for key in keys:

            output += generate_output(
                line='0',
                short=HR_ASN[key]['_short'] if hr else key,
                name=HR_ASN[key]['_name'] if (hr and show_name) else None,
                value=(json_data[key] if (
                    json_data[key] is not None and
                    len(json_data[key]) > 0 and
                    json_data[key] != 'NA') else 'None'),
                colorize=colorize
            )

        return output