<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def sun_utc(self, date, latitude, longitude, observer_elevation=0):
 """Calculate all the info for the sun at once. All times are returned in the UTC timezone. :param date: Date to calculate for. :type date: :class:`datetime.date` :param latitude: Latitude - Northern latitudes should be positive :type latitude: float :param longitude: Longitude - Eastern longitudes should be positive :type longitude: float :param observer_elevation: Elevation in metres to calculate sun for :type observer_elevation: int :returns: Dictionary with keys ``dawn``, ``sunrise``, ``noon``, ``sunset`` and ``dusk`` whose values are the results of the corresponding `_utc` methods. :rtype: dict """


        dawn = self.dawn_utc(date, latitude, longitude, observer_elevation=observer_elevation)
        sunrise = self.sunrise_utc(date, latitude, longitude, observer_elevation=observer_elevation)
        noon = self.solar_noon_utc(date, longitude)
        sunset = self.sunset_utc(date, latitude, longitude, observer_elevation=observer_elevation)
        dusk = self.dusk_utc(date, latitude, longitude, observer_elevation=observer_elevation)

        return {
            "dawn": dawn,
            "sunrise": sunrise,
            "noon": noon,
            "sunset": sunset,
            "dusk": dusk,
        }