code: def jax_sample_fn_binomial(op):
      if not numpyro_available:
          raise NotImplementedError(
              f"No JAX implementation for the given distribution: {op.name}. "
              "Implementation is available if NumPyro is installed."
          )
  
      from numpyro.distributions.util import binomial
  
      def sample_fn(rng, size, dtype, n, p):
          rng_key = rng["jax_state"]
          rng_key, sampling_key = jax.random.split(rng_key, 2)
  
          sample = binomial(key=sampling_key, n=n, p=p, shape=size)
  
          rng["jax_state"] = rng_key
  
          return (rng, sample)
  
      return sample_fn
  
imports: from functools import singledispatch
  import jax
  import numpy
  from numpy.random import Generator, RandomState
  from numpy.random.bit_generator import _coerce_to_uint32_array
  import pytensor.tensor.random.basic
  from pytensor.link.jax.dispatch.basic import jax_funcify, jax_typify
  from pytensor.link.jax.dispatch.shape import JAXShapeTuple
  from pytensor.tensor.shape import Shape, Shape_i
label_desc: Use image node_id 15 for calling a global function with example usage: jax_sample_fn_binomial(op) and returns: sample_fn, rng,  sample