code: def _get_init_state(self):
      self.maze = self.board["_maze"].copy()
      self.internal_state = InternalState()
      self.internal_state.agent_pos = Position(*self.board["_poc_home"])
      Ghost.max_x = self.maze.shape[0]
      Ghost.max_y = self.maze.shape[1]
      ghost_home = Position(*self.board["_ghost_home"])
      Ghost.home = ghost_home
  
      for _ in range(self.board["_num_ghosts"]):
          pos = Position(ghost_home.x, ghost_home.y)
          self.internal_state.ghosts.append(
              Ghost(
                  self,
                  pos,
                  direction=self.random_action(),
                  ghost_range=self.board["_ghost_range"],
              )
          )
  
      return self.internal_state
  
imports: import logging
  from typing import NamedTuple
  import numpy
  from gym import Env
  from gym.spaces import Box, Discrete
label_desc: Use image node_id 17 for calling the PocManEnv obj's underlying member method code with example usage: obj._get_init_state() and returns: self