
    FCf                        U d Z ddlmZ ddlmZmZmZ ddlmZmZm	Z	  ed      Z
ded<    G d de      Z edd	      Zded
<   y)z$Timezone related utilities for BSON.    )annotations)datetime	timedeltatzinfo)OptionalTupleUnionr   ZEROc                  8    e Zd ZdZddZd	dZd
dZddZd
dZy)FixedOffsetzFixed offset timezone, in minutes east from UTC.

    Implementation based from the Python `standard library documentation
    <http://docs.python.org/library/datetime.html#tzinfo-objects>`_.
    Defining __getinitargs__ enables pickling / copying.
    c                r    t        |t              r|| _        || _        y t        |      | _        || _        y )N)minutes)
isinstancer   _FixedOffset__offset_FixedOffset__name)selfoffsetnames      L/var/www/highfloat_scraper/venv/lib/python3.12/site-packages/bson/tz_util.py__init__zFixedOffset.__init__    s1    fi("DM  &f5DM    c                2    | j                   | j                  fS N)r   r   )r   s    r   __getinitargs__zFixedOffset.__getinitargs__'   s    }}dkk))r   c                    | j                   S r   )r   r   dts     r   	utcoffsetzFixedOffset.utcoffset*   s    }}r   c                    | j                   S r   )r   r   s     r   tznamezFixedOffset.tzname-   s    {{r   c                    t         S r   )r
   r   s     r   dstzFixedOffset.dst0   s    r   N)r   zUnion[float, timedelta]r   strreturnNone)r$   zTuple[timedelta, str])r   Optional[datetime]r$   r   )r   r&   r$   r#   )	__name__
__module____qualname____doc__r   r   r   r    r"    r   r   r   r      s     *r   r   UTCutcN)r*   
__future__r   r   r   r   typingr   r   r	   r
   __annotations__r   r-   r+   r   r   <module>r1      sI    + " 0 0 ) )A,i & 8 q%([ ( -r   