<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def on_confirmation(self, frame):
 """Invoked by pika when RabbitMQ responds to a Basic.Publish RPC command, passing in either a Basic.Ack or Basic.Nack frame with the delivery tag of the message that was published. The delivery tag is an integer counter indicating the message number that was sent on the channel via Basic.Publish. :param pika.frame.Method frame: Basic.Ack or Basic.Nack frame """

        delivered = frame.method.NAME.split('.')[1].lower() == 'ack'
        self.logger.debug('Received publisher confirmation (Delivered: %s)',
                          delivered)
        if frame.method.multiple:
            for index in range(self.last_confirmation + 1,
                               frame.method.delivery_tag):
                self.confirm_delivery(index, delivered)
        self.confirm_delivery(frame.method.delivery_tag, delivered)
        self.last_confirmation = frame.method.delivery_tag