o
    /h                     @   sL   d Z ddlmZmZ ddlmZ ddlmZ ddlm	Z	 G dd deZ
dS )	zCThis module contains an object that represents a Telegram Location.    )FinalOptional)	constants)TelegramObject)JSONDictc                       s   e Zd ZU dZdZ				ddddededee dee d	ee d
ee dee f fddZ	e
jjZee ed< 	 e
jjZee ed< 	 e
jjZee ed<   ZS )Locationa1  This object represents a point on the map.

    Objects of this class are comparable in terms of equality. Two objects of this class are
    considered equal, if their :attr:`longitude` and :attr:`latitude` are equal.

    Args:
        longitude (:obj:`float`): Longitude as defined by the sender.
        latitude (:obj:`float`): Latitude as defined by the sender.
        horizontal_accuracy (:obj:`float`, optional): The radius of uncertainty for the location,
            measured in meters; 0-:tg-const:`telegram.Location.HORIZONTAL_ACCURACY`.
        live_period (:obj:`int`, optional): Time relative to the message sending date, during which
            the location can be updated, in seconds. For active live locations only.
        heading (:obj:`int`, optional): The direction in which user is moving, in degrees;
            :tg-const:`telegram.Location.MIN_HEADING`-:tg-const:`telegram.Location.MAX_HEADING`.
            For active live locations only.
        proximity_alert_radius (:obj:`int`, optional): Maximum distance for proximity alerts about
            approaching another chat member, in meters. For sent live locations only.

    Attributes:
        longitude (:obj:`float`): Longitude as defined by the sender.
        latitude (:obj:`float`): Latitude as defined by the sender.
        horizontal_accuracy (:obj:`float`): Optional. The radius of uncertainty for the location,
            measured in meters; 0-:tg-const:`telegram.Location.HORIZONTAL_ACCURACY`.
        live_period (:obj:`int`): Optional. Time relative to the message sending date, during which
            the location can be updated, in seconds. For active live locations only.
        heading (:obj:`int`): Optional. The direction in which user is moving, in degrees;
            :tg-const:`telegram.Location.MIN_HEADING`-:tg-const:`telegram.Location.MAX_HEADING`.
            For active live locations only.
        proximity_alert_radius (:obj:`int`): Optional. Maximum distance for proximity alerts about
            approaching another chat member, in meters. For sent live locations only.

    )headinghorizontal_accuracylatitudelive_period	longitudeproximity_alert_radiusN
api_kwargsr   r
   r	   r   r   r   r   c                   sX   t  j|d || _|| _|| _|| _|| _|rt|nd | _| j| jf| _	| 
  d S )Nr   )super__init__r   r
   r	   r   r   intr   	_id_attrs_freeze)selfr   r
   r	   r   r   r   r   	__class__ Q/var/www/html/govbot/env/lib/python3.10/site-packages/telegram/_files/location.pyr   G   s   zLocation.__init__HORIZONTAL_ACCURACYMIN_HEADINGMAX_HEADING)NNNN)__name__
__module____qualname____doc__	__slots__floatr   r   r   r   r   LocationLimitr   r   __annotations__r   r   __classcell__r   r   r   r   r      s<   
 !		r   N)r    typingr   r   telegramr   telegram._telegramobjectr   telegram._utils.typesr   r   r   r   r   r   <module>   s   