code: def jac(func: Callable):
      def grad_fn(x_in):
          return ivy.to_native(
              func(ivy.to_ivy(x_in, nested=True)),
              nested=True,
              include_derived=True,
          )
  
      def callback_fn(xs):
          fn_ret = grad_fn(xs)
          one_out_fn = _get_one_out_fn(grad_fn, xs, fn_ret)
          jacobian = ivy.nested_map(one_out_fn, fn_ret)
          return jacobian
  
      return callback_fn
  
file_path: ivy/ivy/functional/backends/paddle/gradients.py
imports: from typing import Optional, Callable
  import paddle
  import ivy.functional.backends.paddle
  from itertools import chain
  import ivy
  from ivy.func_wrapper import with_unsupported_device_and_dtypes
  from .None import backend_version
  from ivy.functional.ivy.gradients import _get_required_float_variables, _get_y_and_ret_idxs, _get_native_y, _set_duplicates, _process_func_ret_and_grads
label_desc: Use image node_id 11 for calling a global function with example usage: jac(func) and returns: callback_fn, ivy, jacobian