code: def __init__(
      self,
      data: Union[
          pd.Series, pd.DataFrame, List[Union[pd.Series, pd.DataFrame]]
      ],
      window: pd.Timedelta,
      strides: Optional[Union[pd.Timedelta, List[pd.Timedelta]]] = None,
      *args,
      **kwargs,
  ):
      # Check that each series / dataframe has the same tz
      data = to_series_list(data)
      tz_index = data[0].index.tz
      for data_entry in to_series_list(data)[1:]:
          assert (
              data_entry.index.tz == tz_index
          ), "strided rolling input data must all have same timezone"
      self._tz_index = tz_index
      # Set the data type & call the super constructor
      self.win_str_type = DataType.TIME
      super().__init__(data, window, strides, *args, **kwargs)
  
imports: from __future__ import annotations
  import time
  import warnings
  from abc import ABC, abstractmethod
  from collections import namedtuple
  from typing import List, Optional, Tuple, TypeVar, Union
  import numpy
  import pandas
  from ...utils.attribute_parsing import AttributeParser, DataType
  from ...utils.data import SUPPORTED_STROLL_TYPES, to_list, to_series_list, to_tuple
  from ...utils.time import timedelta_to_str
  from ..function_wrapper import FuncWrapper, _get_name
  from ..logger import logger
  from ..utils import _check_start_end_array, _determine_bounds
label_desc: Use image node_id 1 to create a new TimeStridedRolling object from inherited base classes: StridedRolling with example: obj = TimeStridedRolling(data, window, strides)