code: def nonlinearity_1d_nonlinearity_2d(input_ind0, input_ind1, op_func):
      def handler(explainer, op, *grads):
          var = explainer._variable_inputs(op)
          if var[input_ind0] and not var[input_ind1]:
              return nonlinearity_1d_handler(
                  input_ind0, explainer, op, *grads
              )
          elif var[input_ind1] and not var[input_ind0]:
              return nonlinearity_1d_handler(
                  input_ind1, explainer, op, *grads
              )
          elif var[input_ind0] and var[input_ind1]:
              return nonlinearity_2d_handler(
                  input_ind0, input_ind1, op_func, explainer, op, *grads
              )
          else:
              return [
                  None for _ in op.inputs
              ]  # no inputs vary, we must be hidden by a switch function
  
      return handler
  
imports: import warnings
  import numpy
  from packaging import version
  from ...utils._exceptions import DimensionError
  from .._explainer import Explainer
  from ..tf_utils import _get_graph, _get_model_inputs, _get_model_output, _get_session
  from .deep_utils import _check_additivity
label_desc: Use image node_id 9 for calling a global function with example usage: nonlinearity_1d_nonlinearity_2d(input_ind0, input_ind1, op_func) and returns: handler, nonlinearity_1d_handler, nonlinearity_1d_handler, nonlinearity_2d_handler, unknown