code: def _get_fidel_to_opt_gp(mfgp, fidel_to_opt):
      """Returns a GP for Boca that can be used to optimise the acquisition
      at fidel_to_opt."""
      boca_gp = Namespace()
      boca_gp.eval = lambda x, *args, **kwargs: mfgp.eval_at_fidel(
          [fidel_to_opt] * len(x), x, *args, **kwargs
      )
      boca_gp.eval_with_hallucinated_observations = lambda x, halluc_fidel_pts, *args, **kwargs: mfgp.eval_with_hallucinated_observations(
          mfgp.get_ZX_from_ZZ_XX([fidel_to_opt] * len(x), x),
          halluc_fidel_pts,
          *args,
          **kwargs,
      )
      boca_gp.draw_samples = (
          lambda n, x, *args, **kwargs: mfgp.draw_samples(
              n,
              mfgp.get_ZX_from_ZZ_XX([fidel_to_opt] * len(x), x),
              *args,
              **kwargs,
          )
      )
      boca_gp.draw_samples_with_hallucinated_observations = lambda n, x, halluc_fidel_pts, *args, **kwargs: mfgp.draw_samples_with_hallucinated_observations(
          n,
          mfgp.get_ZX_from_ZZ_XX([fidel_to_opt] * len(x), x),
          halluc_fidel_pts,
          *args,
          **kwargs,
      )
      boca_gp.kernel = mfgp.get_domain_kernel()
      return boca_gp
  
imports: from __future__ import division
  from argparse import Namespace
  from copy import copy
  import numpy
  from scipy.stats import norm
  from ..utils.general_utils import solve_lower_triangular
  from ..gp.gp_core import get_post_covar_from_raw_covar
  from ..exd.domains import EuclideanDomain
  from ..exd.exd_utils import maximise_with_method
label_desc: Use image node_id 25 for calling a global function with example usage: _get_fidel_to_opt_gp(mfgp, fidel_to_opt) and returns: boca_gp