code: def epsilon_closure(state):
      """
      Return the set of states reachable from the given state
      by epsilon moves.
      """
      # Cache the result
      result = state.epsilon_closure
      if result is None:
          result = {}
          state.epsilon_closure = result
          add_to_epsilon_closure(result, state)
      return result
  
file_path: catboost/contrib/tools/cython/Cython/Plex/DFA.py
imports: from __future__ import absolute_import
  from .None import Machines
  from .Machines import LOWEST_PRIORITY
  from .Transitions import TransitionMap
label_desc: Use image node_id 3 for calling a global function with example usage: epsilon_closure(state) and returns: result