code: def intervals_overlap(a, b):
      """
      Check whether a pair of datetime intervals overlap.
  
      Parameters
      ----------
      a : (pd.Timestamp, pd.Timestamp)
      b : (pd.Timestamp, pd.Timestamp)
  
      Returns
      -------
      have_overlap : bool
          Bool indicating whether there there is a non-empty intersection between
          the intervals.
      """
      # If the intervals do not overlap, then either the first is strictly before
      # the second, or the second is strictly before the first.
      a_strictly_before = a[1] < b[0]
      b_strictly_before = b[1] < a[0]
      return not (a_strictly_before or b_strictly_before)
  
imports: from itertools import cycle, islice
  from nose_parameterized import parameterized
  import numpy
  import pandas
  from trading_calendars import get_calendar
  from zipline.assets.synthetic import make_rotating_equity_info
  from zipline.data.in_memory_daily_bars import InMemoryDailyBarReader
  from zipline.pipeline.domain import CA_EQUITIES, GB_EQUITIES, US_EQUITIES
  from zipline.pipeline import Pipeline
  from zipline.pipeline.data import EquityPricing, USEquityPricing
  from zipline.pipeline.engine import SimplePipelineEngine
  from zipline.pipeline.loaders.equity_pricing_loader import EquityPricingLoader
  from zipline.pipeline.loaders.synthetic import NullAdjustmentReader
  from zipline.testing.predicates import assert_equal
  from zipline.testing.core import parameter_space, random_tick_prices
  import zipline.testing.fixtures
label_desc: Use image node_id 3 for calling a global function with example usage: intervals_overlap(a, b) and returns: unknown