code: def _find_trans(self, dt):
      if dt is None:
          if self._fixed_offset:
              return self._tz_after
          else:
              return _NO_TTINFO
  
      ts = self._get_local_timestamp(dt)
  
      lt = self._trans_local[dt.fold]
  
      num_trans = len(lt)
  
      if num_trans and ts < lt[0]:
          return self._tti_before
      elif not num_trans or ts > lt[-1]:
          if isinstance(self._tz_after, _TZStr):
              return self._tz_after.get_trans_info(ts, dt.year, dt.fold)
          else:
              return self._tz_after
      else:
          # idx is the transition that occurs after this timestamp, so we
          # subtract off 1 to get the current ttinfo
          idx = bisect.bisect_right(lt, ts) - 1
          assert idx >= 0
          return self._ttinfos[idx]
  
imports: import bisect
  import calendar
  import collections
  import functools
  import re
  import weakref
  from datetime import datetime, timedelta, tzinfo
  from .None import _common, _tzpath
label_desc: Use image node_id 12 for calling the ZoneInfo obj's underlying member method code with example usage: obj._find_trans(dt) and returns: self, self, _NO_TTINFO, self, self, self