<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def cdf_info(self):
 """ Returns a dictionary that shows the basic CDF information. This information includes | ['CDF'] | the name of the CDF | | ['Version'] | the version of the CDF | | ['Encoding'] | the endianness of the CDF | | ['Majority'] | the row/column majority | | ['zVariables']| the dictionary for zVariable numbers and their corresponding names | | ['rVariables']| the dictionary for rVariable numbers and their corresponding names | | ['Attributes']| the dictionary for attribute numbers and their corresponding names and scopes | | ['Checksum'] | the checksum indicator | | ['Num_rdim'] | the number of dimensions, applicable only to rVariables | | ['rDim_sizes'] | the dimensional sizes, applicable only to rVariables | | ['Compressed']| CDF is compressed at the file-level | | ['LeapSecondUpdated']| The last updated for the leap second table, if applicable | """

        mycdf_info = {}
        mycdf_info['CDF'] = self.file
        mycdf_info['Version'] = self._version
        mycdf_info['Encoding'] = self._encoding
        mycdf_info['Majority'] = self._majority
        mycdf_info['rVariables'], mycdf_info['zVariables'] = self._get_varnames()
        mycdf_info['Attributes'] = self._get_attnames()
        mycdf_info['Copyright'] = self._copyright
        mycdf_info['Checksum'] = self._md5
        mycdf_info['Num_rdim'] = self._num_rdim
        mycdf_info['rDim_sizes'] = self._rdim_sizes
        mycdf_info['Compressed'] = self._compressed
        if (self.cdfversion > 2):
            mycdf_info['LeapSecondUpdated'] = self._leap_second_updated
        return mycdf_info