
                            S SK Jr  S SKrS SKrS SKrS SKrS SKJr  S SKr S SK	r	\SS j5       rg! \
 a	    S SKJ	r	   Nf = f)    )annotationsN)contextmanager)zoneinfoc              #  &  #    U c  Sv   g[        [        S5      (       d  [        R                  " S5         [        R
                  " U 5        [        R                  R                  5       R                  5       R                  5       nUc  [        S5      eU [        R                  S'   [        R                  " 5         Sv   U[        R                  S'   [        R                  " 5         g! [        R                   a    [        SU < 35      ef = f7f)z
Switch to a locally-known timezone specified by `tzname`.
On exit, restore the previous timezone.
If `tzname` is `None`, do nothing.
Ntzsetz"Timezone patching is not supportedzInvalid timezone specified: z!Cannot determine current timezoneTZ)hasattrtimepytestskipr   ZoneInfoZoneInfoNotFoundError
ValueErrordatetimenow
astimezonetznameOSErrorosenvironr   )r   
old_tznames     3platform/gsutil/third_party/urllib3/test/tz_stub.pystub_timezone_ctxr      s      ~ 4!!89D&!
 ""&&(335<<>J9::BJJtJJL	!BJJtJJL )) D7zBCCDs   4DC* BD*$DD)r   z
str | Nonereturnz"typing.Generator[None, None, None])
__future__r   r   r   r
   typing
contextlibr   r   r   ImportError	backportsr        r   <module>r"      sJ    "  	   % #    #"#s   1 A A 