code: def run_behavioral_cloning(
      env: str,
      teacher_policy: str,
      bc_runner: str,
      bc_wrappers: str,
      bc_model: str,
  ):
      """Run behavioral cloning for given config parameters.
  
      Runs a rollout with the given teacher_policy, then runs behavioral cloning on the collected trajectory data.
      """
      # Heuristics rollout
      rollout_config = dict(
          configuration="test",
          env=env,
          policy=teacher_policy,
          runner="sequential",
      )
      rollout_config["runner.record_trajectory"] = True
      run_maze_job(
          rollout_config,
          config_module="maze.conf",
          config_name="conf_rollout",
      )
  
      # Behavioral cloning on top of the heuristic rollout trajectories
      train_config = dict(
          configuration="test",
          env=env,
          wrappers=bc_wrappers,
          model=bc_model,
          algorithm="bc",
          runner=bc_runner,
      )
      run_maze_job(
          train_config,
          config_module="maze.conf",
          config_name="conf_train",
      )
  
imports: import pytest
  from maze.test.shared_test_utils.run_maze_utils import run_maze_job
label_desc: Use image node_id 1 for calling a global function with example usage: run_behavioral_cloning(env, teacher_policy, bc_runner, bc_wrappers, bc_model) without return types