code: def _linear_solve_abstract_eval(*args, const_lengths, jaxprs):
      args_to_raise = args[sum(const_lengths) :]
  
      # raise aux_args to shaped arrays as well if present
      # number of aux args is the difference in out_avals
      # of solve and matvec (since they map to the same vector space)
  
      num_aux = len(jaxprs.solve.out_avals) - len(
          jaxprs.matvec.out_avals
      )
      if num_aux > 0:
          args_to_raise += tuple(jaxprs.solve.out_avals[-num_aux:])
      return _map(raise_to_shaped, args_to_raise)
  
imports: import collections
  from functools import partial
  import operator
  import jax
  from jax.tree_util import tree_flatten, treedef_children, tree_leaves, tree_unflatten, treedef_tuple
  from jax._src import ad_util
  from jax._src import core
  from jax._src import linear_util
  from jax._src.core import raise_to_shaped
  from jax._src.interpreters import ad
  from jax._src.interpreters import batching
  from jax._src.interpreters import mlir
  from jax._src.interpreters import xla
  from jax._src.traceback_util import api_boundary
  from jax._src.util import split_list, safe_map
  import numpy
  from jax._src.lax.control_flow.common import _abstractify, _check_tree, _initial_style_jaxpr
label_desc: Use image node_id 10 for calling a global function with example usage: _linear_solve_abstract_eval() and returns: _map