code: def get_start_end_idx(
      trade_calendar: TradeCalendarManager,
      outer_trade_decision: BaseTradeDecision,
  ) -> Tuple[int, int]:
      """
      A helper function for getting the decision-level index range limitation for inner strategy
      - NOTE: this function is not applicable to order-level
  
      Parameters
      ----------
      trade_calendar : TradeCalendarManager
      outer_trade_decision : BaseTradeDecision
          the trade decision made by outer strategy
  
      Returns
      -------
      Union[int, int]:
          start index and end index
      """
      try:
          return outer_trade_decision.get_range_limit(
              inner_calendar=trade_calendar
          )
      except NotImplementedError:
          return 0, trade_calendar.get_trade_len() - 1
  
imports: from __future__ import annotations
  from abc import abstractmethod
  from typing import Any, Set, Tuple, TYPE_CHECKING, Union
  import numpy
  from qlib.utils.time import epsilon_change
  import warnings
  import pandas
  from ..data.data import Cal
label_desc: Use image node_id 1 for calling a global function with example usage: get_start_end_idx(trade_calendar, outer_trade_decision) and returns: outer_trade_decision, int,  unknown