human
Can you provide a the Python program you requested given the following:
Complete the below
def apply_grad_processors(opt, gradprocs):

    ''''Wrapper around optimizers to apply gradient processors.
    Args:
    opt (tf.train.Optimizer):
    gradprocs (list[GradientProcessor]): gradient processors to add to the
    optimizer.
    Returns:
    a :class:`tf.train.Optimizer` instance which runs the gradient
    processors before updating the variables.'
    '''
assistant
#Here is the Python program you requested.
    assert isinstance(gradprocs, (list, tuple)), gradprocs
    class _ApplyGradientProcessor(ProxyOptimizer, ):
        def __init__(self, opt, gradprocs):
            self._gradprocs = gradprocs[:]
            super(_ApplyGradientProcessor, self).__init__(opt)
        def apply_gradients(self, grads_and_vars, global_step=None, name=None):
            g = self._apply(grads_and_vars)
            return self._opt.apply_gradients(g, global_step, name)
        def _apply(self, g):
            for proc in self._gradprocs:
                g = proc.process(g)
            return g
    return _ApplyGradientProcessor(opt, gradprocs)