class_docstr: A MazeEnv monitoring wrapper logging events for observations, actions and rewards.
  
  :param env: The environment to wrap.
  :param observation_logging: If True observation events are logged.
  :param action_logging: If True action events are logged.
  :param reward_logging: If True additional reward events are logged.
class_docstr_tok: ["A","MazeEnv","monitoring","wrapper","logging","events","for","observations",",","actions","and","rewards",".",":","param","env",":","The","environment","to","wrap",".",":","param","observation_logging",":","If","True","observation","events","are","logged",".",":","param","action_logging",":","If","True","action","events","are","logged",".",":","param","reward_logging",":","If","True","additional","reward","events","are","logged","."]
docstr: Keep both actions and observation the same.
docstr_tok: ["Keep","both","actions","and","observation","the","same","."]
code: def get_observation_and_action_dicts(
      self,
      maze_state: Optional[MazeStateType],
      maze_action: Optional[MazeActionType],
      first_step_in_episode: bool,
  ) -> Tuple[
      Optional[Dict[Union[int, str], Any]],
      Optional[Dict[Union[int, str], Any]],
  ]:
      """Keep both actions and observation the same."""
      return self.env.get_observation_and_action_dicts(
          maze_state, maze_action, first_step_in_episode
      )
  
imports: import warnings
  from typing import TypeVar, Union, Any, Tuple, Dict, Optional
  import numpy
  from gym import spaces
  from maze.core.annotations import override
  from maze.core.env.action_conversion import ActionType
  from maze.core.env.base_env import BaseEnv
  from maze.core.env.maze_action import MazeActionType
  from maze.core.env.maze_env import MazeEnv
  from maze.core.env.maze_state import MazeStateType
  from maze.core.env.observation_conversion import ObservationType
  from maze.core.env.simulated_env_mixin import SimulatedEnvMixin
  from maze.core.env.structured_env import StructuredEnv
  from maze.core.log_events.monitoring_events import ActionEvents, RewardEvents, ObservationEvents
  from maze.core.wrappers.wrapper import Wrapper
label_desc: Use image node_id 4 for calling the MazeEnvMonitoringWrapper obj's underlying member method code with example usage: obj.get_observation_and_action_dicts(maze_state, maze_action, first_step_in_episode) and returns: self