code: def argnames_partial_except(
      f: lu.WrappedFun,
      static_argnames: tuple[str, ...],
      kwargs: dict[str, Any],
  ):
      if not static_argnames:
          return f, kwargs
      dyn_kwargs = {
          k: v for k, v in kwargs.items() if k not in static_argnames
      }
  
      fixed_kwargs: dict[str, Any] = {}
      for k, arg in kwargs.items():
          if k not in dyn_kwargs:
              try:
                  hash(arg)
              except TypeError:
                  raise ValueError(
                      "Non-hashable static arguments are not supported, as this can lead "
                      f"to unexpected cache-misses. Static argument (name {k}) of type "
                      f"{type(arg)} for function {f.__name__} is non-hashable."
                  )
              else:
                  fixed_kwargs[k] = Hashable(arg)  # type: ignore
  
      return _argnames_partial(f, WrapKwArgs(fixed_kwargs)), dyn_kwargs
  
imports: from __future__ import annotations
  from collections.abc import Iterable, Sequence
  import inspect
  import operator
  from functools import partial
  from typing import Any, Callable
  import warnings
  import numpy
  from jax._src import core
  from jax._src import dtypes
  from jax._src.abstract_arrays import numpy_scalar_types
  from jax._src.core import ShapedArray
  from jax._src.tree_util import PyTreeDef, tree_flatten, tree_unflatten, tree_map, tree_structure, treedef_children, generate_key_paths, keystr, broadcast_prefix, prefix_errors
  from jax._src.tree_util import _replace_nones
  from jax._src import linear_util
  from jax._src.linear_util import TracingDebugInfo
  from jax._src.util import safe_map, WrapKwArgs, Hashable, HashableFunction, Unhashable
  from jax._src import traceback_util
label_desc: Use image node_id 17 for calling a global function with example usage: argnames_partial_except(f, static_argnames, kwargs) and returns: _argnames_partial,  dyn_kwargs, f,  kwargs