§
    Ài¸¬ ã                   óZ  — d Z ddlZddlmZ ddlmZ ddlmZmZ ddl	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z& ddl'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7 dd	l8m9Z9 dd
l:m:Z:  e:dde9¬¦  «         G d„ de;¦  «        ¦   «         Z<dS )zlinebot.api module.é    Né   )Ú__version__)ÚLineBotApiError)Ú
HttpClientÚRequestsHttpClient)ÚErrorÚProfileÚ	MemberIdsÚContentÚRichMenuResponseÚMessageQuotaResponseÚMessageQuotaConsumptionResponseÚIssueLinkTokenResponseÚIssueChannelTokenResponseÚ MessageDeliveryBroadcastResponseÚ MessageDeliveryMulticastResponseÚMessageDeliveryPushResponseÚMessageDeliveryReplyResponseÚInsightMessageDeliveryResponseÚInsightFollowersResponseÚInsightDemographicResponseÚInsightMessageEventResponseÚBroadcastResponseÚNarrowcastResponseÚ!MessageProgressNarrowcastResponseÚBotInfoÚGetWebhookResponseÚTestWebhookResponseÚAudienceGroupÚClickAudienceGroupÚImpAudienceGroupÚGetAuthorityLevelÚAudienceÚCreateAudienceGroup)ÚGroupÚUserIdsÚRichMenuAliasResponseÚRichMenuAliasListResponseÚChannelAccessTokensÚIssueChannelTokenResponseV2ÚVerifyChannelTokenResponseV2ÚValidAccessTokenKeyIDsResponseÚ2InsightMessageEventOfCustomAggregationUnitResponseÚAggregationInfoResponseÚAggregationNameListResponseÚ'ValidateBroadcastMessageObjectsResponseÚ'ValidateMulticastMessageObjectsResponseÚ(ValidateNarrowcastMessageObjectsResponseÚ"ValidatePushMessageObjectsResponseÚ#ValidateReplyMessageObjectsResponse)ÚLineBotSdkDeprecatedIn30)Ú
deprecatedz|Use v3 class; linebot.v3.<feature>. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.ú3.0.0©ÚreasonÚversionÚcategoryc                   ó  — e Zd ZdZdZdZeeej        efd„Z	 e
dde¬¦  «        d°d
„¦   «         Z e
dde¬¦  «        	 	 d±d„¦   «         Z e
dde¬¦  «        	 	 d±d„¦   «         Z e
dde¬¦  «        d²d„¦   «         Z e
dde¬¦  «        	 	 d³d„¦   «         Z e
dde¬¦  «        d´d„¦   «         Z e
dde¬¦  «        d´d„¦   «         Z e
dde¬¦  «        d´d„¦   «         Z e
dde¬¦  «        d´d„¦   «         Z e
dde¬¦  «        d´d„¦   «         Z e
dde¬¦  «        d´d„¦   «         Z e
dde¬¦  «        d´d „¦   «         Z e
d!de¬¦  «        d´d"„¦   «         Z e
d#de¬¦  «        d´d$„¦   «         Z e
d%de¬¦  «        d´d&„¦   «         Z e
d'de¬¦  «        d´d(„¦   «         Z e
d)de¬¦  «        d´d*„¦   «         Z e
d+de¬¦  «        d´d,„¦   «         Z e
d-de¬¦  «        d´d.„¦   «         Z e
d/de¬¦  «        d´d0„¦   «         Z e
d1de¬¦  «        d´d2„¦   «         Z  e
d3de¬¦  «        dµd4„¦   «         Z! e
d5de¬¦  «        dµd6„¦   «         Z" e
d7de¬¦  «        d´d8„¦   «         Z# e
d9de¬¦  «        d´d:„¦   «         Z$ e
d;de¬¦  «        d´d<„¦   «         Z% e
d=de¬¦  «        d´d>„¦   «         Z& e
d?de¬¦  «        dµd@„¦   «         Z' e
dAde¬¦  «        d´dB„¦   «         Z( e
dCde¬¦  «        d´dD„¦   «         Z) e
dEde¬¦  «        d´dF„¦   «         Z* e
dGde¬¦  «        d´dH„¦   «         Z+ e
dIde¬¦  «        d´dJ„¦   «         Z, e
dKde¬¦  «        d´dL„¦   «         Z- e
dMde¬¦  «        d´dN„¦   «         Z. e
dOde¬¦  «        d´dP„¦   «         Z/ e
dQde¬¦  «        d´dR„¦   «         Z0 e
dSde¬¦  «        d´dT„¦   «         Z1 e
dUde¬¦  «        d´dV„¦   «         Z2 e
dWde¬¦  «        d´dX„¦   «         Z3 e
dYde¬¦  «        d´dZ„¦   «         Z4 e
d[de¬¦  «        d´d\„¦   «         Z5 e
d]de¬¦  «        d´d^„¦   «         Z6 e
d_de¬¦  «        d´d`„¦   «         Z7 e
dade¬¦  «        d´db„¦   «         Z8 e
dcde¬¦  «        d´dd„¦   «         Z9 e
dede¬¦  «        d´df„¦   «         Z: e
dgde¬¦  «        d´dh„¦   «         Z; e
dide¬¦  «        d´dj„¦   «         Z< e
dkde¬¦  «        	 d¶dm„¦   «         Z= e
dnde¬¦  «        d´do„¦   «         Z> e
dpde¬¦  «        d´dq„¦   «         Z? e
drde¬¦  «        d´ds„¦   «         Z@ e
dtde¬¦  «        d´du„¦   «         ZA e
dvde¬¦  «        d´dw„¦   «         ZB e
dxde¬¦  «        d´dy„¦   «         ZC e
dzde¬¦  «        	 	 d²d{„¦   «         ZD e
d|de¬¦  «        d´d}„¦   «         ZE e
d~de¬¦  «        	 	 	 d·d�„¦   «         ZF e
d‚de¬¦  «        d´dƒ„¦   «         ZG e
d„de¬¦  «        d´d…„¦   «         ZH e
d†de¬¦  «        	 dµd‡„¦   «         ZI e
dˆde¬¦  «        d´d‰„¦   «         ZJ e
dŠde¬¦  «        d¸dŒ„¦   «         ZK e
d�de¬¦  «        	 dµdŽ„¦   «         ZL e
d�de¬¦  «        	 d´d�„¦   «         ZM e
d‘de¬¦  «        d´d’„¦   «         ZN e
d“de¬¦  «        d´d”„¦   «         ZO e
d•de¬¦  «        dµd–„¦   «         ZP e
d—de¬¦  «        d¹d™„¦   «         ZQ e
dšde¬¦  «        	 	 	 dºdœ„¦   «         ZR e
d�de¬¦  «        	 d´dž„¦   «         ZS	 	 d»dŸ„ZT e
d de¬¦  «        d´d¡„¦   «         ZU e
d¢de¬¦  «        	 	 d»d£„¦   «         ZV e
d¤de¬¦  «        d´d¥„¦   «         ZW e
d¦de¬¦  «        d´d§„¦   «         ZX e
d¨de¬¦  «        d¼dª„¦   «         ZYd½d«„ZZd¾d¬„Z[d¾d­„Z\d¾d®„Z]e^d¯„ ¦   «         Z_d	S )¿Ú
LineBotApiz5LineBotApi provides interface for LINE messaging API.zhttps://api.line.mezhttps://api-data.line.mec                 ó    — || _         || _        d|z   dt          z   dœ| _        |r ||¬¦  «        | _        dS t          |¬¦  «        | _        dS )aâ  __init__ method.

        :param str channel_access_token: Your channel access token
        :param str endpoint: (optional) Default is https://api.line.me
        :param str data_endpoint: (optional) Default is https://api-data.line.me
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is linebot.http_client.HttpClient.DEFAULT_TIMEOUT
        :type timeout: float | tuple(float, float)
        :param http_client: (optional) Default is
            :py:class:`linebot.http_client.RequestsHttpClient`
        :type http_client: T <= :py:class:`linebot.http_client.HttpClient`
        zBearer zline-bot-sdk-python/)ÚAuthorizationz
User-Agent©ÚtimeoutN)Údata_endpointÚendpointr   ÚheadersÚhttp_clientr   )ÚselfÚchannel_access_tokenrC   rB   rA   rE   s         úP/home/mmwave/public_html/mmwave/venv/lib/python3.11/site-packages/linebot/api.pyÚ__init__zLineBotApi.__init__8   sq   € ð" +ˆÔØ ˆŒà&Ð)=Ñ=Ø0µ;Ñ>ð
ð 
ˆŒð
 ð 	CØ*˜{°7Ð;Ñ;Ô;ˆDÔÐÐå1¸'ÐBÑBÔBˆDÔÐÐó    zÀUse 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).reply_message(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.r7   r8   FNc                 ó¸   — t          |t          t          f¦  «        s|g}|d„ |D ¦   «         |dœ}|                      dt	          j        |¦  «        |¬¦  «         dS )aÖ  Call reply message API.

        https://developers.line.biz/en/reference/messaging-api/#send-reply-message

        Respond to events from users, groups, and rooms.

        Webhooks are used to notify you when an event occurs.
        For events that you can respond to, a replyToken is issued for replying to messages.

        Because the replyToken becomes invalid after a certain period of time,
        responses should be sent as soon as a message is received.

        Reply tokens can only be used once.

        :param str reply_token: replyToken received via webhook
        :param messages: Messages.
            Max: 5
        :type messages: T <= :py:class:`linebot.models.send_messages.SendMessage` |
            list[T <= :py:class:`linebot.models.send_messages.SendMessage`]
        :param bool notification_disabled: (optional) True to disable push notification
            when the message is sent. The default value is False.
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        c                 ó6   — g | ]}|                      ¦   «         ‘ŒS © ©Úas_json_dict©Ú.0Úmessages     rH   ú
<listcomp>z,LineBotApi.reply_message.<locals>.<listcomp>w   ó$   € ÐHÐHÐH°G˜×-Ò-Ñ/Ô/ÐHÐHÐHrJ   )Ú
replyTokenÚmessagesÚnotificationDisabledz/v2/bot/message/reply©ÚdatarA   N)Ú
isinstanceÚlistÚtupleÚ_postÚjsonÚdumps)rF   Úreply_tokenrV   Únotification_disabledrA   rY   s         rH   Úreply_messagezLineBotApi.reply_messageU   s~   € õ: ˜(¥T­5 MÑ2Ô2ð 	"Ø �zˆHð &ØHÐH¸xÐHÑHÔHØ$9ð
ð 
ˆð 	�
Š
Ø#­$¬*°TÑ*:Ô*:ÀGð 	ñ 	
ô 	
ð 	
ð 	
ð 	
rJ   z¿Use 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).push_message(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 ó  — t          |t          t          f¦  «        s|g}|r
|| j        d<   |d„ |D ¦   «         |dœ}|�$t          |t          t          f¦  «        s|g}||d<   |                      dt          j        |¦  «        |¬¦  «         dS )a  Call push message API.

        https://developers.line.biz/en/reference/messaging-api/#send-push-message

        Send messages to users, groups, and rooms at any time.

        :param str to: ID of the receiver
        :param messages: Messages.
            Max: 5
        :type messages: T <= :py:class:`linebot.models.send_messages.SendMessage` |
            list[T <= :py:class:`linebot.models.send_messages.SendMessage`]
        :param retry_key: (optional) Arbitrarily generated UUID in hexadecimal notation.
        :param bool notification_disabled: (optional) True to disable push notification
            when the message is sent. The default value is False.
        :param custom_aggregation_units: (optional) Name of aggregation unit. Case-sensitive.
            Max unit: 1
            Max aggregation unit name length: 30 characters
            Supported character types: Half-width alphanumeric characters and underscore
        :type custom_aggregation_units: str | list[str]
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        úX-Line-Retry-Keyc                 ó6   — g | ]}|                      ¦   «         ‘ŒS rM   rN   rP   s     rH   rS   z+LineBotApi.push_message.<locals>.<listcomp>¥   rT   rJ   ©ÚtorV   rW   NÚcustomAggregationUnitsz/v2/bot/message/pushrX   ©rZ   r[   r\   rD   r]   r^   r_   ©rF   rg   rV   Ú	retry_keyra   Úcustom_aggregation_unitsrA   rY   s           rH   Úpush_messagezLineBotApi.push_message   sÅ   € õ< ˜(¥T­5 MÑ2Ô2ð 	"Ø �zˆHàð 	9Ø/8ˆDŒLÐ+Ñ,ð ØHÐH¸xÐHÑHÔHØ$9ð
ð 
ˆð $Ð/ÝÐ6½½u¸ÑFÔFð FØ,DÐ+EÐ(Ø-EˆDÐ)Ñ*à�
Š
Ø"­¬°DÑ)9Ô)9À7ð 	ñ 	
ô 	
ð 	
ð 	
ð 	
rJ   z¼Use 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).multicast(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 ó  — t          |t          t          f¦  «        s|g}|r
|| j        d<   |d„ |D ¦   «         |dœ}|�$t          |t          t          f¦  «        s|g}||d<   |                      dt          j        |¦  «        |¬¦  «         dS )ak  Call multicast API.

        https://developers.line.biz/en/reference/messaging-api/#send-multicast-message

        Sends push messages to multiple users at any time.
        Messages cannot be sent to groups or rooms.

        :param to: IDs of the receivers
            Max: 500 users
        :type to: list[str]
        :param messages: Messages.
            Max: 5
        :type messages: T <= :py:class:`linebot.models.send_messages.SendMessage` |
            list[T <= :py:class:`linebot.models.send_messages.SendMessage`]
        :param retry_key: (optional) Arbitrarily generated UUID in hexadecimal notation.
        :param bool notification_disabled: (optional) True to disable push notification
            when the message is sent. The default value is False.
        :param custom_aggregation_units: (optional) Name of aggregation unit. Case-sensitive.
            Max unit: 1
            Max aggregation unit name length: 30 characters
            Supported character types: Half-width alphanumeric characters and underscore
        :type custom_aggregation_units: str | list[str]
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        rd   c                 ó6   — g | ]}|                      ¦   «         ‘ŒS rM   rN   rP   s     rH   rS   z(LineBotApi.multicast.<locals>.<listcomp>Ù   rT   rJ   rf   Nrh   z/v2/bot/message/multicastrX   ri   rj   s           rH   Ú	multicastzLineBotApi.multicast²   sÅ   € õ> ˜(¥T­5 MÑ2Ô2ð 	"Ø �zˆHàð 	9Ø/8ˆDŒLÐ+Ñ,ð ØHÐH¸xÐHÑHÔHØ$9ð
ð 
ˆð $Ð/ÝÐ6½½u¸ÑFÔFð FØ,DÐ+EÐ(Ø-EˆDÐ)Ñ*à�
Š
Ø'­d¬j¸Ñ.>Ô.>Èð 	ñ 	
ô 	
ð 	
ð 	
ð 	
rJ   z¼Use 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).broadcast(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 ó  — t          |t          t          f¦  «        s|g}|r
|| j        d<   d„ |D ¦   «         |dœ}|                      dt          j        |¦  «        |¬¦  «        }t          |j                             d¦  «        ¬¦  «        S )aÜ  Call broadcast API.

        https://developers.line.biz/en/reference/messaging-api/#send-broadcast-message

        Sends push messages to multiple users at any time.

        :param messages: Messages.
            Max: 5
        :type messages: T <= :py:class:`linebot.models.send_messages.SendMessage` |
            list[T <= :py:class:`linebot.models.send_messages.SendMessage`]
        :param retry_key: (optional) Arbitrarily generated UUID in hexadecimal notation.
        :param bool notification_disabled: (optional) True to disable push notification
            when the message is sent. The default value is False.
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :rtype: :py:class:`linebot.models.responses.BroadcastResponse`
        rd   c                 ó6   — g | ]}|                      ¦   «         ‘ŒS rM   rN   rP   s     rH   rS   z(LineBotApi.broadcast.<locals>.<listcomp>  rT   rJ   )rV   rW   z/v2/bot/message/broadcastrX   úX-Line-Request-Id©Ú
request_id)	rZ   r[   r\   rD   r]   r^   r_   r   Úget)rF   rV   rk   ra   rA   rY   Úresponses          rH   Ú	broadcastzLineBotApi.broadcastæ   s©   € õ, ˜(¥T­5 MÑ2Ô2ð 	"Ø �zˆHàð 	9Ø/8ˆDŒLÐ+Ñ,ð IÐH¸xÐHÑHÔHØ$9ð
ð 
ˆð
 —:’:Ø'­d¬j¸Ñ.>Ô.>Èð ñ 
ô 
ˆõ !¨HÔ,<×,@Ò,@ÐATÑ,UÔ,UÐVÑVÔVÐVrJ   z½Use 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).narrowcast(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 óŒ  — t          |t          t          f¦  «        s|g}|r
|| j        d<   d„ |D ¦   «         |                     ¦   «         |                     ¦   «         |                     ¦   «         |dœ}|                      dt          j        |¦  «        |¬¦  «        }	t          |	j         	                    d¦  «        ¬¦  «        S )a•  Call narrowcast API.

        https://developers.line.biz/en/reference/messaging-api/#send-narrowcast-message

        Sends push messages to multiple users at any time.
        Messages cannot be sent to groups or rooms.

        :param messages: Messages.
            Max: 5
        :type messages: T <= :py:class:`linebot.models.send_messages.SendMessage` |
            list[T <= :py:class:`linebot.models.send_messages.SendMessage`]
        :param retry_key: (optional) Arbitrarily generated UUID in hexadecimal notation.
        :param recipient: audience object of recipient
        :type recipient: T <= :py:class:`linebot.models.recipient.AudienceRecipient`
        :param filter: demographic filter of recipient
        :type filter: T <= :py:class:`linebot.models.filter.DemographicFilter`
        :param limit: limit on this narrowcast
        :type limit: T <= :py:class:`linebot.models.limit.Limit`
        :param bool notification_disabled: (optional) True to disable push notification
            when the message is sent. The default value is False.
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :rtype: :py:class:`linebot.models.responses.NarrowcastResponse`
        rd   c                 ó6   — g | ]}|                      ¦   «         ‘ŒS rM   rN   rP   s     rH   rS   z)LineBotApi.narrowcast.<locals>.<listcomp>4  rT   rJ   )rV   Ú	recipientÚfilterÚlimitrW   z/v2/bot/message/narrowcastrX   rs   rt   )
rZ   r[   r\   rD   rO   r]   r^   r_   r   rv   )
rF   rV   rk   r{   r|   r}   ra   rA   rY   rw   s
             rH   Ú
narrowcastzLineBotApi.narrowcast  s×   € õ@ ˜(¥T­5 MÑ2Ô2ð 	"Ø �zˆHàð 	9Ø/8ˆDŒLÐ+Ñ,ð IÐH¸xÐHÑHÔHØ"×/Ò/Ñ1Ô1Ø×)Ò)Ñ+Ô+Ø×'Ò'Ñ)Ô)Ø$9ð
ð 
ˆð —:’:Ø(­t¬z¸$Ñ/?Ô/?Èð ñ 
ô 
ˆõ "¨XÔ-=×-AÒ-AÐBUÑ-VÔ-VÐWÑWÔWÐWrJ   zÊUse 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).get_narrowcast_progress(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 óŠ   — |                       d                     |¬¦  «        |¬¦  «        }t          j        |j        ¦  «        S )a¢  Get progress status of narrowcast messages sent.

        https://developers.line.biz/en/reference/messaging-api/#get-narrowcast-progress-status

        Gets the number of messages sent with the /bot/message/progress/narrowcast endpoint.

        :param str request_id: request ID of narrowcast.
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :rtype: :py:class:`linebot.models.responses.MessageDeliveryBroadcastResponse`
        z:/v2/bot/message/progress/narrowcast?requestId={request_id}rt   r@   )Ú_getÚformatr   Únew_from_json_dictr^   ©rF   ru   rA   rw   s       rH   Úget_progress_status_narrowcastz)LineBotApi.get_progress_status_narrowcastA  sP   € ð  —9’9ØH×OÒOØ%ð Pñ 'ô 'àð ñ 
ô 
ˆõ 1ÔCÀHÄMÑRÔRÐRrJ   zÁUse 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).validate_reply(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 ó   — t          |t          t          f¦  «        s|g}dd„ |D ¦   «         i}|                      dt	          j        |¦  «        |¬¦  «        }t          |j                             d¦  «        ¬¦  «        S )a‘  Call validate reply message objects API.

        https://developers.line.biz/en/reference/messaging-api/#validate-message-objects-of-reply-message

        You can validate that an array of message objects is valid as a value
        for the messages property of the request body for the send reply message endpoint.

        :param messages: Messages.
            Max: 5
        :type messages: T <= :py:class:`linebot.models.send_messages.SendMessage` |
            list[T <= :py:class:`linebot.models.send_messages.SendMessage`]
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :rtype: :py:class:`linebot.models.responses.ValidateReplyMessageObjectsResponse`
        rV   c                 ó6   — g | ]}|                      ¦   «         ‘ŒS rM   rN   rP   s     rH   rS   z=LineBotApi.validate_reply_message_objects.<locals>.<listcomp>q  rT   rJ   z/v2/bot/message/validate/replyrX   rs   rt   )	rZ   r[   r\   r]   r^   r_   r4   rD   rv   ©rF   rV   rA   rY   rw   s        rH   Úvalidate_reply_message_objectsz)LineBotApi.validate_reply_message_objectsY  sœ   € õ( ˜(¥T­5 MÑ2Ô2ð 	"Ø �zˆHð ÐHÐH¸xÐHÑHÔHð
ˆð —:’:Ø,µ4´:¸dÑ3CÔ3CØð ñ 
ô 
ˆõ
 3ØÔ'×+Ò+Ð,?Ñ@Ô@ðBñ Bô Bð 	BrJ   zÀUse 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).validate_push(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 ó   — t          |t          t          f¦  «        s|g}dd„ |D ¦   «         i}|                      dt	          j        |¦  «        |¬¦  «        }t          |j                             d¦  «        ¬¦  «        S )a�  Call validate push message objects API.

        https://developers.line.biz/en/reference/messaging-api/#validate-message-objects-of-push-message

        You can validate that an array of message objects is valid as a value
        for the messages property of the request body for the send push message endpoint.

        :param messages: Messages.
            Max: 5
        :type messages: T <= :py:class:`linebot.models.send_messages.SendMessage` |
            list[T <= :py:class:`linebot.models.send_messages.SendMessage`]
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :rtype: :py:class:`linebot.models.responses.ValidatePushMessageObjectsResponse`
        rV   c                 ó6   — g | ]}|                      ¦   «         ‘ŒS rM   rN   rP   s     rH   rS   z<LineBotApi.validate_push_message_objects.<locals>.<listcomp>”  rT   rJ   z/v2/bot/message/validate/pushrX   rs   rt   )	rZ   r[   r\   r]   r^   r_   r3   rD   rv   r‡   s        rH   Úvalidate_push_message_objectsz(LineBotApi.validate_push_message_objects|  sœ   € õ( ˜(¥T­5 MÑ2Ô2ð 	"Ø �zˆHð ÐHÐH¸xÐHÑHÔHð
ˆð —:’:Ø+µ$´*¸TÑ2BÔ2BØð ñ 
ô 
ˆõ
 2ØÔ'×+Ò+Ð,?Ñ@Ô@ðBñ Bô Bð 	BrJ   zÅUse 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).validate_multicast(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 ó   — t          |t          t          f¦  «        s|g}dd„ |D ¦   «         i}|                      dt	          j        |¦  «        |¬¦  «        }t          |j                             d¦  «        ¬¦  «        S )a¡  Call validate multicast message objects API.

        https://developers.line.biz/en/reference/messaging-api/#validate-message-objects-of-multicast-message

        You can validate that an array of message objects is valid as a value
        for the messages property of the request body for the send multicast message endpoint.

        :param messages: Messages.
            Max: 5
        :type messages: T <= :py:class:`linebot.models.send_messages.SendMessage` |
            list[T <= :py:class:`linebot.models.send_messages.SendMessage`]
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :rtype: :py:class:`linebot.models.responses.ValidateMulticastMessageObjectsResponse`
        rV   c                 ó6   — g | ]}|                      ¦   «         ‘ŒS rM   rN   rP   s     rH   rS   zALineBotApi.validate_multicast_message_objects.<locals>.<listcomp>·  rT   rJ   z"/v2/bot/message/validate/multicastrX   rs   rt   )	rZ   r[   r\   r]   r^   r_   r1   rD   rv   r‡   s        rH   Ú"validate_multicast_message_objectsz-LineBotApi.validate_multicast_message_objectsŸ  óœ   € õ( ˜(¥T­5 MÑ2Ô2ð 	"Ø �zˆHð ÐHÐH¸xÐHÑHÔHð
ˆð —:’:Ø0µt´zÀ$Ñ7GÔ7GØð ñ 
ô 
ˆõ
 7ØÔ'×+Ò+Ð,?Ñ@Ô@ðBñ Bô Bð 	BrJ   zÅUse 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).validate_broadcast(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 ó   — t          |t          t          f¦  «        s|g}dd„ |D ¦   «         i}|                      dt	          j        |¦  «        |¬¦  «        }t          |j                             d¦  «        ¬¦  «        S )a¡  Call validate broadcast message objects API.

        https://developers.line.biz/en/reference/messaging-api/#validate-message-objects-of-broadcast-message

        You can validate that an array of message objects is valid as a value
        for the messages property of the request body for the send broadcast message endpoint.

        :param messages: Messages.
            Max: 5
        :type messages: T <= :py:class:`linebot.models.send_messages.SendMessage` |
            list[T <= :py:class:`linebot.models.send_messages.SendMessage`]
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :rtype: :py:class:`linebot.models.responses.ValidateBroadcastMessageObjectsResponse`
        rV   c                 ó6   — g | ]}|                      ¦   «         ‘ŒS rM   rN   rP   s     rH   rS   zALineBotApi.validate_broadcast_message_objects.<locals>.<listcomp>Ú  rT   rJ   z"/v2/bot/message/validate/broadcastrX   rs   rt   )	rZ   r[   r\   r]   r^   r_   r0   rD   rv   r‡   s        rH   Ú"validate_broadcast_message_objectsz-LineBotApi.validate_broadcast_message_objectsÂ  r�   rJ   zÆUse 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).validate_narrowcast(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 ó   — t          |t          t          f¦  «        s|g}dd„ |D ¦   «         i}|                      dt	          j        |¦  «        |¬¦  «        }t          |j                             d¦  «        ¬¦  «        S )a¥  Call validate narrowcast message objects API.

        https://developers.line.biz/en/reference/messaging-api/#validate-message-objects-of-narrowcast-message

        You can validate that an array of message objects is valid as a value
        for the messages property of the request body for the send narrowcast message endpoint.

        :param messages: Messages.
            Max: 5
        :type messages: T <= :py:class:`linebot.models.send_messages.SendMessage` |
            list[T <= :py:class:`linebot.models.send_messages.SendMessage`]
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :rtype: :py:class:`linebot.models.responses.ValidateNarrowcastMessageObjectsResponse`
        rV   c                 ó6   — g | ]}|                      ¦   «         ‘ŒS rM   rN   rP   s     rH   rS   zBLineBotApi.validate_narrowcast_message_objects.<locals>.<listcomp>ý  rT   rJ   z#/v2/bot/message/validate/narrowcastrX   rs   rt   )	rZ   r[   r\   r]   r^   r_   r2   rD   rv   r‡   s        rH   Ú#validate_narrowcast_message_objectsz.LineBotApi.validate_narrowcast_message_objectså  sœ   € õ( ˜(¥T­5 MÑ2Ô2ð 	"Ø �zˆHð ÐHÐH¸xÐHÑHÔHð
ˆð —:’:Ø1½¼
À4Ñ8HÔ8HØð ñ 
ô 
ˆõ
 8ØÔ'×+Ò+Ð,?Ñ@Ô@ðBñ Bô Bð 	BrJ   zØUse 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).get_number_of_sent_broadcast_messages(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 óŠ   — |                       d                     |¬¦  «        |¬¦  «        }t          j        |j        ¦  «        S )a»  Get number of sent broadcast messages.

        https://developers.line.biz/en/reference/messaging-api/#get-number-of-broadcast-messages

        Gets the number of messages sent with the /bot/message/broadcast endpoint.

        :param str date: Date the messages were sent. The format is `yyyyMMdd` (Timezone is UTC+9).
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :rtype: :py:class:`linebot.models.responses.MessageDeliveryBroadcastResponse`
        z./v2/bot/message/delivery/broadcast?date={date}©Údater@   )r€   r�   r   r‚   r^   ©rF   r˜   rA   rw   s       rH   Úget_message_delivery_broadcastz)LineBotApi.get_message_delivery_broadcast  óH   € ð  —9’9Ø<×CÒCÈÐCÑNÔNØð ñ 
ô 
ˆõ
 0ÔBÀ8Ä=ÑQÔQÐQrJ   zÔUse 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).get_number_of_sent_reply_messages(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 óŠ   — |                       d                     |¬¦  «        |¬¦  «        }t          j        |j        ¦  «        S )a«  Get number of sent reply messages.

        https://developers.line.biz/en/reference/messaging-api/#get-number-of-reply-messages

        Gets the number of messages sent with the /bot/message/reply endpoint.

        :param str date: Date the messages were sent. The format is `yyyyMMdd` (Timezone is UTC+9).
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :rtype: :py:class:`linebot.models.responses.MessageDeliveryReplyResponse`
        z*/v2/bot/message/delivery/reply?date={date}r—   r@   )r€   r�   r   r‚   r^   r™   s       rH   Úget_message_delivery_replyz%LineBotApi.get_message_delivery_reply  sH   € ð  —9’9Ø8×?Ò?ÀTÐ?ÑJÔJØð ñ 
ô 
ˆõ
 ,Ô>¸x¼}ÑMÔMÐMrJ   zÓUse 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).get_number_of_sent_push_messages(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 óŠ   — |                       d                     |¬¦  «        |¬¦  «        }t          j        |j        ¦  «        S )a§  Get number of sent push messages.

        https://developers.line.biz/en/reference/messaging-api/#get-number-of-push-messages

        Gets the number of messages sent with the /bot/message/push endpoint.

        :param str date: Date the messages were sent. The format is `yyyyMMdd` (Timezone is UTC+9).
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :rtype: :py:class:`linebot.models.responses.MessageDeliveryPushResponse`
        z)/v2/bot/message/delivery/push?date={date}r—   r@   )r€   r�   r   r‚   r^   r™   s       rH   Úget_message_delivery_pushz$LineBotApi.get_message_delivery_push6  sH   € ð  —9’9Ø7×>Ò>ÀDÐ>ÑIÔIØð ñ 
ô 
ˆõ
 +Ô=¸h¼mÑLÔLÐLrJ   zØUse 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).get_number_of_sent_multicast_messages(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 óŠ   — |                       d                     |¬¦  «        |¬¦  «        }t          j        |j        ¦  «        S )a»  Get number of sent multicast messages.

        https://developers.line.biz/en/reference/messaging-api/#get-number-of-multicast-messages

        Gets the number of messages sent with the /bot/message/multicast endpoint.

        :param str date: Date the messages were sent. The format is `yyyyMMdd` (Timezone is UTC+9).
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :rtype: :py:class:`linebot.models.responses.MessageDeliveryMulticastResponse`
        z./v2/bot/message/delivery/multicast?date={date}r—   r@   )r€   r�   r   r‚   r^   r™   s       rH   Úget_message_delivery_multicastz)LineBotApi.get_message_delivery_multicastM  r›   rJ   z¾Use 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).get_profile(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 óŠ   — |                       d                     |¬¦  «        |¬¦  «        }t          j        |j        ¦  «        S )a1  Call get profile API.

        https://developers.line.biz/en/reference/messaging-api/#get-profile

        Get user profile information.

        :param str user_id: User ID
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :rtype: :py:class:`linebot.models.responses.Profile`
        :return: Profile instance
        z/v2/bot/profile/{user_id}©Úuser_idr@   ©r€   r�   r	   r‚   r^   ©rF   r¤   rA   rw   s       rH   Úget_profilezLineBotApi.get_profiled  sH   € ð" —9’9Ø'×.Ò.°wÐ.Ñ?Ô?Øð ñ 
ô 
ˆõ
 Ô)¨(¬-Ñ8Ô8Ð8rJ   zÄUse 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).get_group_summary(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 óŠ   — |                       d                     |¬¦  «        |¬¦  «        }t          j        |j        ¦  «        S )a‘  Call get group summary API.

        https://developers.line.biz/en/reference/messaging-api/#get-group-summary

        Gets the group ID, group name, and group icon URL of a group
        where the LINE Official Account is a member.

        :param str group_id: Group ID
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :rtype: :py:class:`linebot.models.responses.Group`
        :return: Profile instance
        z /v2/bot/group/{group_id}/summary©Úgroup_idr@   )r€   r�   r%   r‚   r^   ©rF   rª   rA   rw   s       rH   Úget_group_summaryzLineBotApi.get_group_summary|  sH   € ð$ —9’9Ø.×5Ò5¸xÐ5ÑHÔHØð ñ 
ô 
ˆõ
 Ô'¨¬Ñ6Ô6Ð6rJ   zÉUse 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).get_group_member_count(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 óŒ   — |                       d                     |¬¦  «        |¬¦  «        }|j                             d¦  «        S )aT  Call get members in group count API.

        https://developers.line.biz/en/reference/messaging-api/#get-members-group-count

        Gets the count of members in a group.

        :param str group_id: Group ID
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :rtype: :py:class:`linebot.models.responses.Group`
        :return: Profile instance
        z&/v2/bot/group/{group_id}/members/countr©   r@   Úcount©r€   r�   r^   rv   r«   s       rH   Úget_group_members_countz"LineBotApi.get_group_members_count•  sK   € ð" —9’9Ø4×;Ò;ÀXÐ;ÑNÔNØð ñ 
ô 
ˆð
 Œ}× Ò  Ñ)Ô)Ð)rJ   zÈUse 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).get_room_member_count(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 óŒ   — |                       d                     |¬¦  «        |¬¦  «        }|j                             d¦  «        S )aO  Call get members in room count API.

        https://developers.line.biz/en/reference/messaging-api/#get-members-room-count

        Gets the count of members in a room.

        :param str room_id: Room ID
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :rtype: :py:class:`linebot.models.responses.Group`
        :return: Profile instance
        z$/v2/bot/room/{room_id}/members/count©Úroom_idr@   r®   r¯   )rF   r³   rA   rw   s       rH   Úget_room_members_countz!LineBotApi.get_room_members_count­  sK   € ð" —9’9Ø2×9Ò9À'Ð9ÑJÔJØð ñ 
ô 
ˆð
 Œ}× Ò  Ñ)Ô)Ð)rJ   zËUse 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).get_group_member_profile(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 óŒ   — |                       d                     ||¬¦  «        |¬¦  «        }t          j        |j        ¦  «        S )a  Call get group member profile API.

        https://developers.line.biz/en/reference/messaging-api/#get-group-member-profile

        Gets the user profile of a member of a group that
        the bot is in. This can be the user ID of a user who has
        not added the bot as a friend or has blocked the bot.

        :param str group_id: Group ID
        :param str user_id: User ID
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :rtype: :py:class:`linebot.models.responses.Profile`
        :return: Profile instance
        z)/v2/bot/group/{group_id}/member/{user_id})rª   r¤   r@   r¥   )rF   rª   r¤   rA   rw   s        rH   Úget_group_member_profilez#LineBotApi.get_group_member_profileÅ  sK   € ð( —9’9Ø7×>Ò>ÈÐZaÐ>ÑbÔbØð ñ 
ô 
ˆõ
 Ô)¨(¬-Ñ8Ô8Ð8rJ   zÊUse 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).get_room_member_profile(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 óŒ   — |                       d                     ||¬¦  «        |¬¦  «        }t          j        |j        ¦  «        S )aÿ  Call get room member profile API.

        https://developers.line.biz/en/reference/messaging-api/#get-room-member-profile

        Gets the user profile of a member of a room that
        the bot is in. This can be the user ID of a user who has
        not added the bot as a friend or has blocked the bot.

        :param str room_id: Room ID
        :param str user_id: User ID
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :rtype: :py:class:`linebot.models.responses.Profile`
        :return: Profile instance
        z'/v2/bot/room/{room_id}/member/{user_id})r³   r¤   r@   r¥   )rF   r³   r¤   rA   rw   s        rH   Úget_room_member_profilez"LineBotApi.get_room_member_profileà  sK   € ð( —9’9Ø5×<Ò<ÀWÐV]Ð<Ñ^Ô^Øð ñ 
ô 
ˆõ
 Ô)¨(¬-Ñ8Ô8Ð8rJ   zÈUse 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).get_group_members_ids(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 óœ   — |€dnd|i}|                       d                     |¬¦  «        ||¬¦  «        }t          j        |j        ¦  «        S )a
  Call get group member IDs API.

        https://developers.line.biz/en/reference/messaging-api/#get-group-member-ids

        Gets the user IDs of the members of a group that the bot is in.
        This includes the user IDs of users who have not added the bot as a friend
        or has blocked the bot.

        :param str group_id: Group ID
        :param str start: continuationToken
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :rtype: :py:class:`linebot.models.responses.MemberIds`
        :return: MemberIds instance
        NÚstartz$/v2/bot/group/{group_id}/members/idsr©   ©ÚparamsrA   ©r€   r�   r
   r‚   r^   )rF   rª   rº   rA   r¼   rw   s         rH   Úget_group_member_idszLineBotApi.get_group_member_idsû  s]   € ð( ˜��¨W°eÐ,<ˆà—9’9Ø2×9Ò9À8Ð9ÑLÔLØØð ñ 
ô 
ˆõ Ô+¨H¬MÑ:Ô:Ð:rJ   zÇUse 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).get_room_members_ids(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 óœ   — |€dnd|i}|                       d                     |¬¦  «        ||¬¦  «        }t          j        |j        ¦  «        S )a  Call get room member IDs API.

        https://developers.line.biz/en/reference/messaging-api/#get-room-member-ids

        Gets the user IDs of the members of a group that the bot is in.
        This includes the user IDs of users who have not added the bot as a friend
        or has blocked the bot.

        :param str room_id: Room ID
        :param str start: continuationToken
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :rtype: :py:class:`linebot.models.responses.MemberIds`
        :return: MemberIds instance
        Nrº   z"/v2/bot/room/{room_id}/members/idsr²   r»   r½   )rF   r³   rº   rA   r¼   rw   s         rH   Úget_room_member_idszLineBotApi.get_room_member_ids  s]   € ð( ˜��¨W°eÐ,<ˆà—9’9Ø0×7Ò7ÀÐ7ÑHÔHØØð ñ 
ô 
ˆõ Ô+¨H¬MÑ:Ô:Ð:rJ   zÎUse 'from linebot.v3.messaging import MessagingApiBlob' and 'MessagingApiBlob(...).get_message_content(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 ó„   — |                       d                     |¬¦  «        | j        d|¬¦  «        }t          |¦  «        S )aN  Call get content API.

        https://developers.line.biz/en/reference/messaging-api/#get-content

        Retrieve image, video, and audio data sent by users.

        :param str message_id: Message ID
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :rtype: :py:class:`linebot.models.responses.Content`
        :return: Content instance
        z$/v2/bot/message/{message_id}/content)Ú
message_idT)rC   ÚstreamrA   ©r€   r�   rB   r   )rF   rÂ   rA   rw   s       rH   Úget_message_contentzLineBotApi.get_message_content7  sJ   € ð" —9’9Ø2×9Ò9ÀZÐ9ÑPÔPØÔ'°¸gð ñ 
ô 
ˆõ
 �xÑ Ô Ð rJ   z¾Use 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).leave_group(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 ó\   — |                       d                     |¬¦  «        |¬¦  «         dS )aÅ  Call leave group API.

        https://developers.line.biz/en/reference/messaging-api/#leave-group

        Leave a group.

        :param str group_id: Group ID
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        z/v2/bot/group/{group_id}/leaver©   r@   N©r]   r�   )rF   rª   rA   s      rH   Úleave_groupzLineBotApi.leave_groupO  s@   € ð 	�
Š
Ø,×3Ò3¸XÐ3ÑFÔFØð 	ñ 	
ô 	
ð 	
ð 	
ð 	
rJ   z½Use 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).leave_room(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 ó\   — |                       d                     |¬¦  «        |¬¦  «         dS )aÀ  Call leave room API.

        https://developers.line.biz/en/reference/messaging-api/#leave-room

        Leave a room.

        :param str room_id: Room ID
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        z/v2/bot/room/{room_id}/leaver²   r@   NrÇ   )rF   r³   rA   s      rH   Ú
leave_roomzLineBotApi.leave_roomc  s@   € ð 	�
Š
Ø*×1Ò1¸'Ð1ÑBÔBØð 	ñ 	
ô 	
ð 	
ð 	
ð 	
rJ   zÀUse 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).get_rich_menu(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 óŠ   — |                       d                     |¬¦  «        |¬¦  «        }t          j        |j        ¦  «        S )a1  Call get rich menu API.

        https://developers.line.biz/en/reference/messaging-api/#get-rich-menu

        :param str rich_menu_id: ID of the rich menu
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :rtype: :py:class:`linebot.models.responses.RichMenuResponse`
        :return: RichMenuResponse instance
        ú/v2/bot/richmenu/{rich_menu_id}©Úrich_menu_idr@   )r€   r�   r   r‚   r^   ©rF   rÎ   rA   rw   s       rH   Úget_rich_menuzLineBotApi.get_rich_menuw  sH   € ð —9’9Ø-×4Ò4À,Ð4ÑOÔOØð ñ 
ô 
ˆõ
  Ô2°8´=ÑAÔAÐArJ   zÆUse 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).get_rich_menu_alias(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 óŠ   — |                       d                     |¬¦  «        |¬¦  «        }t          j        |j        ¦  «        S )ab  Call get rich menu alias API.

        https://developers.line.biz/en/reference/messaging-api/#get-rich-menu-alias-by-id

        :param str rich_menu_alias_id: ID of an uploaded rich menu alias.
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :rtype: :py:class:`linebot.models.responses.RichMenuAliasResponse`
        :return: RichMenuAliasResponse instance
        ú%/v2/bot/richmenu/alias/{rich_menu_id}rÍ   r@   )r€   r�   r'   r‚   r^   )rF   Úrich_menu_alias_idrA   rw   s       rH   Úget_rich_menu_aliaszLineBotApi.get_rich_menu_alias�  sI   € ð —9’9Ø3×:Ò:ÐHZÐ:Ñ[Ô[Øð ñ 
ô 
ˆõ %Ô7¸¼ÑFÔFÐFrJ   zËUse 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).get_rich_menu_alias_list(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 ób   — |                       d|¬¦  «        }t          j        |j        ¦  «        S )a"  Call get rich menu alias list API.

        https://developers.line.biz/en/reference/messaging-api/#update-rich-menu-alias

        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :rtype: :py:class:`linebot.models.responses.RichMenuAliasListResponse`
        :return: RichMenuAliasListResponse instance
        z/v2/bot/richmenu/alias/listr@   )r€   r(   r‚   r^   ©rF   rA   rw   s      rH   Úget_rich_menu_alias_listz#LineBotApi.get_rich_menu_alias_list¢  s7   € ð —9’9Ø)Øð ñ 
ô 
ˆõ )Ô;¸H¼MÑJÔJÐJrJ   zÌUse 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).validate_rich_menu_object(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 óZ   — |                       d|                     ¦   «         |¬¦  «         dS )a2  Call validate rich menu object API.

        https://developers.line.biz/ja/reference/messaging-api/#validate-rich-menu-object

        :param rich_menu: Inquired to validate a rich menu object.
        :type rich_menu: T <= :py:class:`linebot.models.rich_menu.RichMenu`
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        z/v2/bot/richmenu/validaterX   N©r]   Úas_json_string)rF   Ú	rich_menurA   s      rH   Úvalidate_rich_menu_objectz$LineBotApi.validate_rich_menu_object¶  s=   € ð 	�
Š
Ø'¨i×.FÒ.FÑ.HÔ.HØð 	ñ 	
ô 	
ð 	
ð 	
ð 	
rJ   zÃUse 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).create_rich_menu(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 óŠ   — |                       d|                     ¦   «         |¬¦  «        }|j                             d¦  «        S )aP  Call create rich menu API.

        https://developers.line.biz/en/reference/messaging-api/#create-rich-menu

        :param rich_menu: Inquired to create a rich menu object.
        :type rich_menu: T <= :py:class:`linebot.models.rich_menu.RichMenu`
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :rtype: str
        :return: rich menu id
        z/v2/bot/richmenurX   Ú
richMenuId)r]   rÚ   r^   rv   )rF   rÛ   rA   rw   s       rH   Úcreate_rich_menuzLineBotApi.create_rich_menuÉ  sG   € ð  —:’:Ø Y×%=Ò%=Ñ%?Ô%?Èð ñ 
ô 
ˆð Œ}× Ò  Ñ.Ô.Ð.rJ   zÉUse 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).create_rich_menu_alias(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 óZ   — |                       d|                     ¦   «         |¬¦  «         dS )as  Call create rich menu alias API.

        https://developers.line.biz/en/reference/messaging-api/#create-rich-menu-alias

        :param rich_menu_alias: Inquired to create a rich menu alias object.
        :type rich_menu_alias: T <= :py:class:`linebot.models.rich_menu.RichMenuAlias`
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :rtype: str
        :return: rich menu id
        z/v2/bot/richmenu/aliasrX   NrÙ   )rF   Úrich_menu_aliasrA   s      rH   Úcreate_rich_menu_aliasz!LineBotApi.create_rich_menu_aliasß  s=   € ð  	�
Š
Ø$¨?×+IÒ+IÑ+KÔ+KÐU\ð 	ñ 	
ô 	
ð 	
ð 	
ð 	
rJ   zÉUse 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).update_rich_menu_alias(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 ó‚   — |                       d                     |¬¦  «        |                     ¦   «         |¬¦  «         dS )a½  Call update rich menu alias API.

        https://developers.line.biz/en/reference/messaging-api/#update-rich-menu-alias

        :param str rich_menu_alias_id: ID of an uploaded rich menu alias.
        :param rich_menu_alias: Inquired to create a rich menu alias object.
        :type rich_menu_alias: T <= :py:class:`linebot.models.rich_menu.RichMenuAlias`
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :rtype: str
        :return: rich menu id
        rÒ   rÍ   rX   N)r]   r�   rÚ   )rF   rÓ   rá   rA   s       rH   Úupdate_rich_menu_aliasz!LineBotApi.update_rich_menu_aliasó  sP   € ð" 	�
Š
Ø3×:Ò:ÐHZÐ:Ñ[Ô[Ø ×/Ò/Ñ1Ô1Øð 	ñ 	
ô 	
ð 	
ð 	
ð 	
rJ   zÃUse 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).delete_rich_menu(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 ó\   — |                       d                     |¬¦  «        |¬¦  «         dS )aÎ  Call delete rich menu API.

        https://developers.line.biz/en/reference/messaging-api/#delete-rich-menu

        :param str rich_menu_id: ID of an uploaded rich menu
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        rÌ   rÍ   r@   N©Ú_deleter�   ©rF   rÎ   rA   s      rH   Údelete_rich_menuzLineBotApi.delete_rich_menu
  s@   € ð 	�ŠØ-×4Ò4À,Ð4ÑOÔOØð 	ñ 	
ô 	
ð 	
ð 	
ð 	
rJ   zÉUse 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).delete_rich_menu_alias(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 ó\   — |                       d                     |¬¦  «        |¬¦  «         dS )aç  Call delete rich menu alias API.

        https://developers.line.biz/en/reference/messaging-api/#delete-rich-menu-alias

        :param str rich_menu_alias_id: ID of an uploaded rich menu alias.
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        z+/v2/bot/richmenu/alias/{rich_menu_alias_id})rÓ   r@   Nræ   )rF   rÓ   rA   s      rH   Údelete_rich_menu_aliasz!LineBotApi.delete_rich_menu_alias  sH   € ð 	�ŠØ9×@Ò@Ø#5ð Añ 7ô 7àð 	ñ 	
ô 	
ð 	
ð 	
ð 	
rJ   zËUse 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).get_rich_menu_id_of_user(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 óŒ   — |                       d                     |¬¦  «        |¬¦  «        }|j                             d¦  «        S )aÿ  Call get rich menu ID of user API.

        https://developers.line.biz/en/reference/messaging-api/#get-rich-menu-id-of-user

        :param str user_id: IDs of the user
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :rtype: str
        :return: rich menu id
        ú/v2/bot/user/{user_id}/richmenur£   r@   rÞ   r¯   r¦   s       rH   Úget_rich_menu_id_of_userz#LineBotApi.get_rich_menu_id_of_user/  sK   € ð —9’9Ø-×4Ò4¸WÐ4ÑEÔEØð ñ 
ô 
ˆð
 Œ}× Ò  Ñ.Ô.Ð.rJ   zÌUse 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).link_rich_menu_id_to_user(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 ó^   — |                       d                     ||¬¦  «        |¬¦  «         dS )a  Call link rich menu to user API.

        https://developers.line.biz/en/reference/messaging-api/#link-rich-menu-to-user

        :param str user_id: ID of the user
        :param str rich_menu_id: ID of an uploaded rich menu
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        z./v2/bot/user/{user_id}/richmenu/{rich_menu_id})r¤   rÎ   r@   NrÇ   )rF   r¤   rÎ   rA   s       rH   Úlink_rich_menu_to_userz!LineBotApi.link_rich_menu_to_userE  sM   € ð 	�
Š
Ø<×CÒCØØ)ð Dñ ô ð ð 	ñ 	
ô 	
ð 	
ð 	
ð 	
rJ   zÍUse 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).link_rich_menu_id_to_users(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 ó`   — |                       dt          j        ||dœ¦  «        |¬¦  «         dS )a>  Links a rich menu to multiple users.

        https://developers.line.biz/en/reference/messaging-api/#link-rich-menu-to-users

        :param user_ids: user IDs
            Max: 150 users
        :type user_ids: list[str]
        :param str rich_menu_id: ID of an uploaded rich menu
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        z/v2/bot/richmenu/bulk/link)ÚuserIdsrÞ   rX   N©r]   r^   r_   )rF   Úuser_idsrÎ   rA   s       rH   Úlink_rich_menu_to_usersz"LineBotApi.link_rich_menu_to_users[  sP   € ð  	�
Š
Ø(Ý”Ø#Ø*ðð ñ ô ð ð 	ñ 	
ô 	
ð 	
ð 	
ð 	
rJ   zÐUse 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).unlink_rich_menu_id_from_user(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 ó\   — |                       d                     |¬¦  «        |¬¦  «         dS )aÏ  Call unlink rich menu from user API.

        https://developers.line.biz/en/reference/messaging-api#unlink-rich-menu-from-user

        :param str user_id: ID of the user
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        rí   r£   r@   Nræ   )rF   r¤   rA   s      rH   Úunlink_rich_menu_from_userz%LineBotApi.unlink_rich_menu_from_usert  s@   € ð 	�ŠØ-×4Ò4¸WÐ4ÑEÔEØð 	ñ 	
ô 	
ð 	
ð 	
ð 	
rJ   zÑUse 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).unlink_rich_menu_id_from_users(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 ó^   — |                       dt          j        d|i¦  «        |¬¦  «         dS )a  Unlinks rich menus from multiple users.

        https://developers.line.biz/en/reference/messaging-api/#unlink-rich-menu-from-users

        :param user_ids: user IDs
            Max: 150 users
        :type user_ids: list[str]
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        z/v2/bot/richmenu/bulk/unlinkrò   rX   Nró   )rF   rô   rA   s      rH   Úunlink_rich_menu_from_usersz&LineBotApi.unlink_rich_menu_from_users†  sJ   € ð 	�
Š
Ø*Ý”Ø˜8ðñ ô ð ð 	ñ 	
ô 	
ð 	
ð 	
ð 	
rJ   zÉUse 'from linebot.v3.messaging import MessagingApiBlob' and 'MessagingApiBlob.get_rich_menu_image(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 ó‚   — |                       d                     |¬¦  «        | j        |¬¦  «        }t          |¦  «        S )aT  Call download rich menu image API.

        https://developers.line.biz/en/reference/messaging-api#download-rich-menu-image

        :param str rich_menu_id: ID of the rich menu with the image to be downloaded
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :rtype: :py:class:`linebot.models.responses.Content`
        :return: Content instance
        ú'/v2/bot/richmenu/{rich_menu_id}/contentrÍ   )rC   rA   rÄ   rÏ   s       rH   Úget_rich_menu_imagezLineBotApi.get_rich_menu_image�  sH   € ð —9’9Ø5×<Ò<È,Ð<ÑWÔWØÔ'°ð ñ 
ô 
ˆõ
 �xÑ Ô Ð rJ   zÉUse 'from linebot.v3.messaging import MessagingApiBlob' and 'MessagingApiBlob.set_rich_menu_image(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 óp   — |                       d                     |¬¦  «        | j        |d|i|¬¦  «         dS )aŠ  Call upload rich menu image API.

        https://developers.line.me/en/docs/messaging-api/reference/#upload-rich-menu-image

        Uploads and attaches an image to a rich menu.

        :param str rich_menu_id: IDs of the richmenu
        :param str content_type: image/jpeg or image/png
        :param content: image content as bytes, or file-like object
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        rû   rÍ   úContent-Type)rC   rY   rD   rA   N)r]   r�   rB   )rF   rÎ   Úcontent_typeÚcontentrA   s        rH   Úset_rich_menu_imagezLineBotApi.set_rich_menu_image³  sQ   € ð" 	�
Š
Ø5×<Ò<È,Ð<ÑWÔWØÔ'ØØ# \Ð2Øð 	ñ 	
ô 	
ð 	
ð 	
ð 	
rJ   zÅUse 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).get_rich_menu_list(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 ó¦   — |                       d|¬¦  «        }g }|j        d         D ])}|                     t          j        |¦  «        ¦  «         Œ*|S )a  Call get rich menu list API.

        https://developers.line.me/en/docs/messaging-api/reference/#get-rich-menu-list

        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :rtype: list(T <= :py:class:`linebot.models.responses.RichMenuResponse`)
        :return: list[RichMenuResponse] instance
        z/v2/bot/richmenu/listr@   Ú	richmenus)r€   r^   Úappendr   r‚   )rF   rA   rw   ÚresultÚrichmenus        rH   Úget_rich_menu_listzLineBotApi.get_rich_menu_listÌ  sg   € ð —9’9Ø#Øð ñ 
ô 
ˆð
 ˆØ œ kÔ2ð 	Ið 	IˆHØ�MŠMÕ*Ô=¸hÑGÔGÑHÔHÐHÐHàˆrJ   zÈUse 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).set_default_rich_menu(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 ó\   — |                       d                     |¬¦  «        |¬¦  «         dS )aÓ  Set the default rich menu.

        https://developers.line.biz/en/reference/messaging-api/#set-default-rich-menu

        :param str rich_menu_id: ID of an uploaded rich menu
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        z(/v2/bot/user/all/richmenu/{rich_menu_id}rÍ   r@   NrÇ   rè   s      rH   Úset_default_rich_menuz LineBotApi.set_default_rich_menuå  sI   € ð 	�
Š
Ø6×=Ò=Ø)ð >ñ ô ð ð	 	ñ 	
ô 	
ð 	
ð 	
ð 	
rJ   zËUse 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).get_default_rich_menu_id(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 ód   — |                       d|¬¦  «        }|j                             d¦  «        S )a¾  Get the ID of the default rich menu set with the Messaging API.

        https://developers.line.biz/en/reference/messaging-api/#get-default-rich-menu-id

        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        ú/v2/bot/user/all/richmenur@   rÞ   )r€   r^   rv   rÖ   s      rH   Úget_default_rich_menuz LineBotApi.get_default_rich_menuù  s:   € ð —9’9Ø'Øð ñ 
ô 
ˆð
 Œ}× Ò  Ñ.Ô.Ð.rJ   zËUse 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).cancel_default_rich_menu(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 ó4   — |                       d|¬¦  «         dS )a·  Cancel the default rich menu set with the Messaging API.

        https://developers.line.biz/en/reference/messaging-api/#cancel-default-rich-menu

        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        r  r@   N)rç   )rF   rA   s     rH   Úcancel_default_rich_menuz#LineBotApi.cancel_default_rich_menu  s/   € ð 	�ŠØ'Øð 	ñ 	
ô 	
ð 	
ð 	
ð 	
rJ   zÄUse 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).get_message_quota(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 ób   — |                       d|¬¦  «        }t          j        |j        ¦  «        S )a  Call Get the target limit for additional messages.

        https://developers.line.biz/en/reference/messaging-api/#get-quota

        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :rtype: :py:class:`linebot.models.responses.MessageQuotaResponse`
        :return: MessageQuotaResponse instance
        z/v2/bot/message/quotar@   )r€   r   r‚   r^   rÖ   s      rH   Úget_message_quotazLineBotApi.get_message_quota  s7   € ð —9’9Ø#Øð ñ 
ô 
ˆõ
 $Ô6°x´}ÑEÔEÐErJ   zÐUse 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).get_message_quota_consumption(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 ób   — |                       d|¬¦  «        }t          j        |j        ¦  «        S )a,  Get number of messages sent this month.

        https://developers.line.biz/en/reference/messaging-api/#get-consumption

        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :rtype: :py:class:`linebot.models.responses.MessageQuotaConsumptionResponse`
        :return: MessageQuotaConsumptionResponse instance
        z!/v2/bot/message/quota/consumptionr@   )r€   r   r‚   r^   rÖ   s      rH   Úget_message_quota_consumptionz(LineBotApi.get_message_quota_consumption2  s7   € ð —9’9Ø/Øð ñ 
ô 
ˆõ
 /ÔAÀ(Ä-ÑPÔPÐPrJ   zÃUse 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).issue_link_token(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 óŠ   — |                       d                     |¬¦  «        |¬¦  «        }t          j        |j        ¦  «        S )ap  Issues a link token used for the account link feature.

        https://developers.line.biz/en/reference/messaging-api/#issue-link-token

        :param str user_id: User ID for the LINE account to be linked
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :rtype: :py:class:`linebot.models.responses.IssueLinkTokenResponse`
        :return: IssueLinkTokenResponse instance
        z /v2/bot/user/{user_id}/linkTokenr£   r@   )r]   r�   r   r‚   r^   r¦   s       rH   Úissue_link_tokenzLineBotApi.issue_link_tokenG  sQ   € ð —:’:Ø.×5Ò5Øð 6ñ ô ð ð	 ñ 
ô 
ˆõ &Ô8¸¼ÑGÔGÐGrJ   zÎUse 'from linebot.v3.oauth import ChannelAccessToken' and 'ChannelAccessToken(...).issue_channel_token(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.Úclient_credentialsc                 ór   — |                       d|||dœddi|¬¦  «        }t          j        |j        ¦  «        S )a¾  Issues a short-lived channel access token.

        https://developers.line.biz/en/reference/messaging-api/#issue-channel-access-token

        :param str client_id: Channel ID.
        :param str client_secret: Channel secret.
        :param str grant_type: `client_credentials`
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :rtype: :py:class:`linebot.models.responses.IssueChannelTokenResponse`
        :return: IssueChannelTokenResponse instance
        z/v2/oauth/accessToken)Ú	client_idÚclient_secretÚ
grant_typerþ   ú!application/x-www-form-urlencoded©rY   rD   rA   )r]   r   r‚   r^   )rF   r  r  r  rA   rw   s         rH   Úissue_channel_tokenzLineBotApi.issue_channel_token_  sU   € ð$ —:’:Ø#à&Ø!.Ø(ðð ð
 $Ð%HÐIØð ñ 	
ô 	
ˆõ )Ô;¸H¼MÑJÔJÐJrJ   zÏUse 'from linebot.v3.oauth import ChannelAccessToken' and 'ChannelAccessToken(...).revoke_channel_token(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 ó@   — |                       dd|iddi|¬¦  «         dS )aØ  Revokes a channel access token.

        https://developers.line.biz/en/reference/messaging-api/#revoke-channel-access-token

        :param str access_token: Channel access token.
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        z/v2/oauth/revokeÚaccess_tokenrþ   r  r  N©r]   )rF   r  rA   s      rH   Úrevoke_channel_tokenzLineBotApi.revoke_channel_token~  s@   € ð 	�
Š
ØØ  ,Ð/Ø#Ð%HÐIØð	 	ñ 	
ô 	
ð 	
ð 	
ð 	
rJ   zÇUse 'from linebot.v3.insight import Insight' and 'Insight(...).get_number_of_message_deliveries(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 óŠ   — |                       d                     |¬¦  «        |¬¦  «        }t          j        |j        ¦  «        S )aZ  Get the number of messages sent on a specified day.

        https://developers.line.biz/en/reference/messaging-api/#get-number-of-delivery-messages

        :param str date: Date for which to retrieve number of sent messages.
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :rtype: :py:class:`linebot.models.responses.InsightMessageDeliveryResponse`
        z,/v2/bot/insight/message/delivery?date={date}r—   r@   )r€   r�   r   r‚   r^   r™   s       rH   Úget_insight_message_deliveryz'LineBotApi.get_insight_message_delivery’  sH   € ð —9’9Ø:×AÒAÀtÐAÑLÔLØð ñ 
ô 
ˆõ
 .Ô@ÀÄÑOÔOÐOrJ   z¼Use 'from linebot.v3.insight import Insight' and 'Insight(...).get_insight_followers(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 óŠ   — |                       d                     |¬¦  «        |¬¦  «        }t          j        |j        ¦  «        S )af  Get the number of users who have added the bot on or before a specified date.

        https://developers.line.biz/en/reference/messaging-api/#get-number-of-followers

        :param str date: Date for which to retrieve the number of followers.
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :rtype: :py:class:`linebot.models.responses.InsightFollowersResponse`
        z%/v2/bot/insight/followers?date={date}r—   r@   )r€   r�   r   r‚   r^   r™   s       rH   Úget_insight_followersz LineBotApi.get_insight_followers§  sH   € ð —9’9Ø3×:Ò:ÀÐ:ÑEÔEØð ñ 
ô 
ˆõ
 (Ô:¸8¼=ÑIÔIÐIrJ   z¿Use 'from linebot.v3.insight import Insight' and 'Insight(...).get_friends_demographics(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 ób   — |                       d|¬¦  «        }t          j        |j        ¦  «        S )aþ  Retrieve the demographic attributes for a bot's friends.

        https://developers.line.biz/en/reference/messaging-api/#get-demographic

        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :rtype: :py:class:`linebot.models.responses.InsightDemographicResponse`
        z/v2/bot/insight/demographicr@   )r€   r   r‚   r^   rÖ   s      rH   Úget_insight_demographicz"LineBotApi.get_insight_demographic¼  s7   € ð —9’9Ø)Øð ñ 
ô 
ˆõ
 *Ô<¸X¼]ÑKÔKÐKrJ   z¸Use 'from linebot.v3.insight import Insight' and 'Insight(...).get_message_event(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 óŠ   — |                       d                     |¬¦  «        |¬¦  «        }t          j        |j        ¦  «        S )aL  Return statistics about how users interact with broadcast messages.

        https://developers.line.biz/en/reference/messaging-api/#get-message-event

        :param str request_id: Request ID of broadcast message.
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :rtype: :py:class:`linebot.models.responses.InsightMessageEventResponse`
        z4/v2/bot/insight/message/event?requestId={request_id}rt   r@   )r€   r�   r   r‚   r^   rƒ   s       rH   Úget_insight_message_eventz$LineBotApi.get_insight_message_eventÐ  sI   € ð —9’9ØB×IÒIÐU_ÐIÑ`Ô`Øð ñ 
ô 
ˆõ
 +Ô=¸h¼mÑLÔLÐLrJ   z¿Use 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).get_bot_info(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 ób   — |                       d|¬¦  «        }t          j        |j        ¦  «        S )aÎ  Get a bot's basic information.

        https://developers.line.biz/en/reference/messaging-api/#get-bot-info

        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :rtype: :py:class:`linebot.models.responses.BotInfo`
        z/v2/bot/infor@   )r€   r   r‚   r^   rÖ   s      rH   Úget_bot_infozLineBotApi.get_bot_infoå  s7   € ð —9’9ØØð ñ 
ô 
ˆõ
 Ô)¨(¬-Ñ8Ô8Ð8rJ   zËUse 'from linebot.v3.audience import ManageAudience' and 'ManageAudience(...).create_audience_group(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c           	      óÈ   — |€g }|rd„ |D ¦   «         }|                       dt          j        ||d„ |D ¦   «         dœ¦  «        |¬¦  «        }t          j        |j        ¦  «        S )aE  Create an audience group.

        https://developers.line.biz/en/reference/messaging-api/#create-upload-audience-group

        :param str audience_group_name: The audience's name
        :param list audiences: An array of user IDs or IFAs
        :param bool is_ifa: true | false
        :return: audience group id
        Nc                 ó6   — g | ]}t          j        |¦  «        ‘ŒS rM   ©r#   r‚   ©rQ   Úaudiences     rH   rS   z4LineBotApi.create_audience_group.<locals>.<listcomp>	  ó#   € ÐYÐYÐYÀ8�Ô4°XÑ>Ô>ÐYÐYÐYrJ   ú/v2/bot/audienceGroup/uploadc                 ó6   — g | ]}|                      ¦   «         ‘ŒS rM   rN   r.  s     rH   rS   z4LineBotApi.create_audience_group.<locals>.<listcomp>  ó$   € ÐPÐPÐP¸(˜h×3Ò3Ñ5Ô5ÐPÐPÐPrJ   )ÚdescriptionÚisIfaAudienceÚ	audiencesrX   )r]   r^   r_   r$   r‚   )rF   Úaudience_group_namer6  Úis_ifarA   rw   s         rH   Úcreate_audience_groupz LineBotApi.create_audience_groupù  s�   € ð ÐØˆIàð 	ZØYÐYÈyÐYÑYÔYˆIØ—:’:Ø*Ý”Ø2Ø!'ØPÐPÀiÐPÑPÔPðð ñ ô ð
 ð ñ 
ô 
ˆõ #Ô5°h´mÑDÔDÐDrJ   zÇUse 'from linebot.v3.audience import ManageAudience' and 'ManageAudience(...).get_audience_data(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 óŠ   — |                       d                     |¬¦  «        |¬¦  «        }t          j        |j        ¦  «        S )aø  Get the object of audience group.

        https://developers.line.biz/en/reference/messaging-api/#get-audience-group

        :param str audience_group_id: The audience ID
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :return: AudienceGroup instance
        z)/v2/bot/audienceGroup/{audience_group_id}©Úaudience_group_idr@   )r€   r�   r   r‚   r^   )rF   r<  rA   rw   s       rH   Úget_audience_groupzLineBotApi.get_audience_group  sO   € ð —9’9Ø7×>Ò>Ø"3ð ?ñ 5ô 5àð ñ 
ô 
ˆõ Ô/°´Ñ>Ô>Ð>rJ   zÉUse 'from linebot.v3.audience import ManageAudience' and 'ManageAudience(...).get_audience_groups(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.r   é   c           
      ó”  — i }|r||d<   |r||d<   |r||d<   |r||d<   |r||d<   |r||d<   |                       d||¬¦  «        }	g }
|	j                             d	g ¦  «        D ])}|
                     t	          j        |¦  «        ¦  «         Œ*|	j                             d
d¦  «        r!|
|                      |dz   ||||||¦  «        z  }
|
S )a›  Get data for more than one audience.

        https://developers.line.biz/en/reference/messaging-api/#get-audience-groups

        :param int page: The page to return when getting (paginated) results. Must be 1 or higher
        :param str description: The name of the audience(s) to return
        :param str status: IN_PROGRESS | READY | FAILED | EXPIRED
        :param int size: The number of audiences per page. Default: 20, Max: 40
        :param bool include_external_public_group: true | false
        :param str create_route: How the audience was created.
        :type create_route: OA_MANAGER | MESSAGING_API
        :return: AudienceGroup instance
        Úpager4  ÚstatusÚsizeÚincludesExternalPublicGroupÚcreateRoutez/v2/bot/audienceGroup/list?r»   ÚaudienceGroupsÚhasNextPageFr   )r€   r^   rv   r  r   r‚   Úget_audience_group_list)rF   r@  r4  rA  rB  Úinclude_external_public_groupÚcreate_routerA   r¼   rw   r  Úaudience_groups               rH   rG  z"LineBotApi.get_audience_group_list,  s7  € ð" ˆØð 	"Ø!ˆF�6‰NØð 	0Ø$/ˆF�=Ñ!Øð 	&Ø%ˆF�8ÑØð 	"Ø!ˆF�6‰NØ(ð 	RØ4QˆFÐ0Ñ1Øð 	1Ø$0ˆF�=Ñ!Ø—9’9Ø)ØØð ñ 
ô 
ˆð
 ˆØ&œm×/Ò/Ð0@À"ÑEÔEð 	Lð 	LˆNØ�MŠM�-Ô:¸>ÑJÔJÑKÔKÐKÐKØŒ=×Ò˜]¨EÑ2Ô2ð 	JØ�d×2Ò2°4¸!±8¸[È&ÐRVØ3PØ3?ÀñJô Jñ JˆFð ˆrJ   zËUse 'from linebot.v3.audience import ManageAudience' and 'ManageAudience(...).delete_audience_group(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 óZ   — |                       d                     |¦  «        |¬¦  «         dS )aÎ  Delete an existing audience.

        https://developers.line.biz/en/reference/messaging-api/#delete-audience-group

        :param str audience_group_id: The audience ID
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        z/v2/bot/audienceGroup/{}r@   Nræ   )rF   r<  rA   s      rH   Údelete_audience_groupz LineBotApi.delete_audience_groupX  s>   € ð 	�ŠØ&×-Ò-Ð.?Ñ@Ô@Øð 	ñ 	
ô 	
ð 	
ð 	
ð 	
rJ   z×Use 'from linebot.v3.audience import ManageAudience' and 'ManageAudience(...).update_audience_group_description(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 ó†   — |                       d                     |¬¦  «        t          j        d|i¦  «        |¬¦  «         dS )a  Modify the name of an existing audience.

        https://developers.line.biz/en/reference/messaging-api/#set-description-audience-group

        :param str audience_group_id: The audience ID
        :param str description: The new audience's name
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        z;/v2/bot/audienceGroup/{audience_group_id}/updateDescriptionr;  r4  rX   Ú )Ú_putr�   r^   r_   )rF   r<  r4  rA   s       rH   Úrename_audience_groupz LineBotApi.rename_audience_groupj  s`   € ð 	�	Š	ØI×PÒPØ"3ð Qñ 5ô 5å”Ø˜{ðñ ô ð ð 	ñ 	
ô 	
ð 	
ð ˆrrJ   zÔUse 'from linebot.v3.audience import ManageAudience' and 'ManageAudience(...).add_audience_to_audience_group(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c           	      óœ   — |rd„ |D ¦   «         }|                       dt          j        |d„ |D ¦   «         |dœ¦  «        |¬¦  «        }|j        S )a  Add new user IDs or IFAs to an audience for uploading user IDs.

        https://developers.line.biz/en/reference/messaging-api/#update-upload-audience-group

        :param str audience_group_id: The audience ID
        :param list audiences: An array of user IDs or IFAs
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :param bool is_ifa: If this is false (default), recipients are specified by user IDs.
            If true, recipients must be specified by IFAs.
        :param str upload_description: The description to register for the job
        :type timeout: float | tuple(float, float)
        c                 ó6   — g | ]}t          j        |¦  «        ‘ŒS rM   r-  r.  s     rH   rS   z>LineBotApi.add_audiences_to_audience_group.<locals>.<listcomp>–  r0  rJ   r1  c                 ó6   — g | ]}|                      ¦   «         ‘ŒS rM   rN   r.  s     rH   rS   z>LineBotApi.add_audiences_to_audience_group.<locals>.<listcomp>›  r3  rJ   )ÚaudienceGroupIdr6  ÚuploadDescriptionrX   ©rO  r^   r_   )rF   r<  r6  Úupload_descriptionrA   rw   s         rH   Úadd_audiences_to_audience_groupz*LineBotApi.add_audiences_to_audience_groupƒ  sz   € ð$ ð 	ZØYÐYÈyÐYÑYÔYˆIØ—9’9Ø*Ý”Ø#4ØPÐPÀiÐPÑPÔPØ%7ðð ñ ô ð
 ð ñ 
ô 
ˆð Œ}ÐrJ   zØUse 'from linebot.v3.audience import ManageAudience' and 'ManageAudience(...).get_audience_group_authority_level(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 ób   — |                       d|¬¦  «        }t          j        |j        ¦  «        S )a¸  Get the authority level of the audience.

        https://developers.line.biz/en/reference/messaging-api/#get-authority-level

        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :return: json
        ú$/v2/bot/audienceGroup/authorityLevelr@   )r€   r"   r‚   r^   rÖ   s      rH   Ú"get_audience_group_authority_levelz-LineBotApi.get_audience_group_authority_level£  s7   € ð —9’9Ø2Øð ñ 
ô 
ˆõ
 !Ô3°H´MÑBÔBÐBrJ   zÛUse 'from linebot.v3.audience import ManageAudience' and 'ManageAudience(...).update_audience_group_authority_level(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.ÚPUBLICc                 ó^   — |                       dt          j        d|i¦  «        |¬¦  «         dS )zàChange the authority level of all audiences created in the same channel.

        https://developers.line.biz/en/reference/messaging-api/#change-authority-level

        :param str authority_level: PUBLIC | PRIVATE.
        rZ  ÚauthorityLevelrX   rN  rV  )rF   Úauthority_levelrA   s      rH   Ú%change_audience_group_authority_levelz0LineBotApi.change_audience_group_authority_level·  sG   € ð 	�	Š	Ø2Ý”Ø  /ðñ ô ð ð 	ñ 	
ô 	
ð 	
ð ˆrrJ   z×Use 'from linebot.v3.audience import ManageAudience' and 'ManageAudience(...).create_click_based_audience_group(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c           	      ó�   — |                       dt          j        |||dœ¦  «        |¬¦  «        }t          j        |j        ¦  «        S )a"  Create an audience for click-based retargeting.

        https://developers.line.biz/en/reference/messaging-api/#create-click-audience-group

        :param str description: The audience's name. Audience names must be unique.
        :param str request_id: The request ID of a message sent in the past 60 days.
        :param str click_url: The URL clicked by the user.
        If empty, users who clicked any URL in the message are added to the list of recipients.
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :return: ClickAudienceGroup instance
        z/v2/bot/audienceGroup/click)r4  Ú	requestIdÚclickUrlrX   )r]   r^   r_   r    r‚   )rF   r4  ru   Ú	click_urlrA   rw   s         rH   Úcreate_click_audience_groupz&LineBotApi.create_click_audience_groupÉ  s[   € ð$ —:’:Ø)Ý”Ø*Ø'Ø%ðð ñ ô ð
 ð ñ 
ô 
ˆõ "Ô4°X´]ÑCÔCÐCrJ   zÕUse 'from linebot.v3.audience import ManageAudience' and 'ManageAudience(...).create_imp_based_audience_group(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 óŽ   — |                       dt          j        ||dœ¦  «        |¬¦  «        }t          j        |j        ¦  «        S )a‰  Create an audience for impression-based retargeting.

        https://developers.line.biz/en/reference/messaging-api/#create-imp-audience-group

        :param str description: The audience's name. Audience names must be unique.
        :param str request_id: The request ID of a  message sent in the past 60 days.
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :return: ImpAudienceGroup instance
        z/v2/bot/audienceGroup/imp)r4  rb  rX   )r]   r^   r_   r!   r‚   )rF   r4  ru   rA   rw   s        rH   Úcreate_imp_audience_groupz$LineBotApi.create_imp_audience_groupç  sX   € ð  —:’:Ø'Ý”Ø*Ø'ðð ñ ô ð ð ñ 
ô 
ˆõ  Ô2°8´=ÑAÔAÐArJ   zÇUse 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).set_webhook_endpoint(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 ól   — d|i}|                       dt          j        |¦  «        |¬¦  «        }|j        S )a  Set the webhook endpoint URL.

        https://developers.line.biz/en/reference/messaging-api/#set-webhook-endpoint-url

        :param str webhook_endpoint: A valid webhook URL to be set.
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :rtype: dict
        :return: Empty dict.
        rC   ú /v2/bot/channel/webhook/endpointrX   rV  ©rF   Úwebhook_endpointrA   rY   rw   s        rH   Úset_webhook_endpointzLineBotApi.set_webhook_endpoint  sH   € ð  Ð(ð
ˆð —9’9Ø.Ý”˜DÑ!Ô!Øð ñ 
ô 
ˆð Œ}ÐrJ   zÇUse 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).get_webhook_endpoint(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 ób   — |                       d|¬¦  «        }t          j        |j        ¦  «        S )aX  Get information on a webhook endpoint.

        https://developers.line.biz/en/reference/messaging-api/#get-webhook-endpoint-information

        :rtype: :py:class:`linebot.models.responses.GetWebhookResponse`
        :return: Webhook information, including `endpoint` for webhook
            URL and `active` for webhook usage status.
        ri  r@   )r€   r   r‚   r^   rÖ   s      rH   Úget_webhook_endpointzLineBotApi.get_webhook_endpoint  s7   € ð —9’9Ø.Øð ñ 
ô 
ˆõ
 "Ô4°X´]ÑCÔCÐCrJ   zÈUse 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).test_webhook_endpoint(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 óš   — i }|�||d<   |                       dt          j        |¦  «        |¬¦  «        }t          j        |j        ¦  «        S )aÜ  Checks if the configured webhook endpoint can receive a test webhook event.

        https://developers.line.biz/en/reference/messaging-api/#test-webhook-endpoint

        :param webhook_endpoint: (optional) Set this parameter to
            specific the webhook endpoint of the webhook. Default is the webhook
            endpoint that is already set to the channel.
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :rtype: :py:class:`linebot.models.responses.TestWebhookResponse`
        NrC   z/v2/bot/channel/webhook/testrX   )r]   r^   r_   r   r‚   rj  s        rH   Útest_webhook_endpointz LineBotApi.test_webhook_endpoint.  sY   € ð  ˆàÐ'Ø/ˆD�Ñà—:’:Ø*Ý”˜DÑ!Ô!Øð ñ 
ô 
ˆõ #Ô5°h´mÑDÔDÐDrJ   zÀUse 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).get_followers(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.é,  c                 óz   — |€d|in||dœ}|                       d||¬¦  «        }t          j        |j        ¦  «        S )a³  Get a list of users who added your LINE Official Account as a friend.

        https://developers.line.biz/en/reference/messaging-api/#get-follower-ids

        :param int limit: The maximum number of user IDs to retrieve in a single request.
            The default value is 300.
        :param str start: Get the next array of user IDs.
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :rtype: :py:class:`linebot.models.responses.UserIds`
        Nr}   ©r}   rº   z/v2/bot/followers/idsr»   )r€   r&   r‚   r^   ©rF   r}   rº   rA   r¼   rw   s         rH   Úget_followers_idszLineBotApi.get_followers_idsK  sV   € ð  &+ ]�'˜5Ð!Ð!À%ÐRWÐ8XÐ8Xˆà—9’9Ø#ØØð ñ 
ô 
ˆõ Ô)¨(¬-Ñ8Ô8Ð8rJ   zÕUse 'from linebot.v3.oauth import ChannelAccessToken' and 'ChannelAccessToken(...).issue_channel_token_by_jwt(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.ú6urn:ietf:params:oauth:client-assertion-type:jwt-bearerc                 ór   — |                       d|||dœddi|¬¦  «        }t          j        |j        ¦  «        S )a½  Issues a channel access token v2.1.

        https://developers.line.biz/en/reference/messaging-api/#issue-channel-access-token-v2-1

        :param str client_assertion: Client assertion.
        :param str grant_type: `client_credentials`
        :param str client_assertion_type: `urn:ietf:params:oauth:client-assertion-type:jwt-bearer`.
        :param timeout: (optional) How long to wait for the server
        to send data before giving up, as a float,
        or a (connect timeout, read timeout) float tuple.
        Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :rtype: :py:class:`linebot.models.responses.IssueChannelTokenResponseV2`
        z/oauth2/v2.1/token)r  Úclient_assertion_typeÚclient_assertionrþ   r  r  )r]   r*   r‚   r^   )rF   ry  r  rx  rA   rw   s         rH   Úissue_channel_access_token_v2_1z*LineBotApi.issue_channel_access_token_v2_1e  sU   € ð& —:’:Ø à(Ø)>Ø$4ðð ð
 $Ð%HÐIØð ñ 	
ô 	
ˆõ +Ô=¸h¼mÑLÔLÐLrJ   zÖUse 'from linebot.v3.oauth import ChannelAccessToken' and 'ChannelAccessToken(...).revoke_channel_token_by_jwt(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 ó>   — |                       d|||dœ|¬¦  «         dS )a=  Revokes a channel access token v2.1.

        https://developers.line.biz/en/reference/messaging-api/#revoke-channel-access-token-v2-1

        :param str client_id: Client id.
        :param str client_secret: Channel secret.
        :param str access_token: Channel access token.
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        z/oauth2/v2.1/revoke)r  r  r  rX   Nr  )rF   r  r  r  rA   s        rH   Ú revoke_channel_access_token_v2_1z+LineBotApi.revoke_channel_access_token_v2_1…  sD   € ð$ 	�
Š
Ø!Ø(Ø#0Ø".ð0ð 0ð ð 	ñ 	
ô 	
ð 	
ð 	
ð 	
rJ   c                 ój   — |                       d||dœ|¬¦  «        }t          j        |j        ¦  «        S )a–  Get issued channel access tokens v2.1.

        https://developers.line.biz/en/reference/messaging-api/#get-issued-channel-access-tokens-v2-1

        :param str client_assertion: Client assertion.
        :param str client_assertion_type: `urn:ietf:params:oauth:client-assertion-type:jwt-bearer`.
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :rtype: :py:class:`linebot.models.responses.ChannelAccessTokens`
        z/oauth2/v2.1/tokens©ry  rx  r»   )r€   r)   r‚   r^   ©rF   ry  rx  rA   rw   s        rH   Úget_channel_access_tokens_v2_1z)LineBotApi.get_channel_access_tokens_v2_1Ÿ  sI   € ð" —9’9Ø!Ø(8Ø-BðDð Dàð	 ñ 
ô 
ˆõ #Ô5°h´mÑDÔDÐDrJ   zÖUse 'from linebot.v3.oauth import ChannelAccessToken' and 'ChannelAccessToken(...).verify_channel_token_by_jwt(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 óh   — |                       dd|i|¬¦  «        }t          j        |j        ¦  «        S )a3  Validate channel access token v2.1.

        https://developers.line.biz/en/reference/messaging-api/#verfiy-channel-access-token-v2-1

        :param str access_token: Channel access token.
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :rtype: :py:class:`linebot.models.responses.VerifyChannelTokenResponseV2`
        z/oauth2/v2.1/verifyr  r»   )r€   r+   r‚   r^   )rF   r  rA   rw   s       rH   Ú verify_channel_access_token_v2_1z+LineBotApi.verify_channel_access_token_v2_1¸  s?   € ð —9’9Ð2Ø%3°\Ð$BØ%,ð ñ .ô .ˆõ ,Ô>¸x¼}ÑMÔMÐMrJ   zæUse 'from linebot.v3.oauth import ChannelAccessToken' and 'ChannelAccessToken(...).gets_all_valid_channel_access_token_key_ids(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 ój   — |                       d||dœ|¬¦  «        }t          j        |j        ¦  «        S )a³  Get all valid channel access token key IDs v2.1.

        https://developers.line.biz/en/reference/messaging-api/#get-all-valid-channel-access-token-key-ids-v2-1

        :param str client_assertion: Client assertion.
        :param str client_assertion_type: `urn:ietf:params:oauth:client-assertion-type:jwt-bearer`.
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :rtype: :py:class:`linebot.models.responses.VerifyChannelTokenResponseV2`
        z/oauth2/v2.1/tokens/kidr~  r»   )r€   r,   r‚   r^   r  s        rH   Úget_channel_token_key_ids_v2_1z)LineBotApi.get_channel_token_key_ids_v2_1Ë  sI   € ð$ —9’9Ð6Ø9IØ>Sð%Uð %Uà%,ð ñ .ô .ˆõ .Ô@ÀÄÑOÔOÐOrJ   z¾Use 'from linebot.v3.insight import Insight' and 'Insight(...).get_statistics_per_unit(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 óŽ   — |                       d                     |||¬¦  «        |¬¦  «        }t          j        |j        ¦  «        S )a  Return statistics about how users interact with push and multicast messages.

        https://developers.line.biz/en/reference/partner-docs/#get-statistics-per-unit

        :param str custom_aggregation_unit: Name of aggregation unit specified when sending
            the message like `push_message(...)` and `multicast(...)`.
        :param str from_date: Start date of aggregation period.
            The format is `yyyyMMdd` (Timezone is UTC+9).
        :param str to_date: End date of aggregation period.
            The end date can be specified for up to 30 days later.
            The format is `yyyyMMdd` (Timezone is UTC+9).
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :rtype: :py:class:
            `linebot.models.responses.InsightMessageEventOfCustomAggregationUnitResponse`
        zw/v2/bot/insight/message/event/aggregation?customAggregationUnit={custom_aggregation_unit}&from={from_date}&to={to_date})Úcustom_aggregation_unitÚ	from_dateÚto_dater@   )r€   r�   r-   r‚   r^   )rF   r†  r‡  rˆ  rA   rw   s         rH   Úget_statistics_per_unitz"LineBotApi.get_statistics_per_unitã  s`   € ð* —9’9ð\ß\bÒ\bØ(?Ø#¨Wð ]cñ ]6ô ]6ð ð ñ 
ô 
ˆõ BÔTÐU]ÔUbÑcÔcÐcrJ   zÍUse 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).get_aggregation_unit_usage(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.c                 ób   — |                       d|¬¦  «        }t          j        |j        ¦  «        S )a  Return the number of aggregation units used this month.

        https://developers.line.biz/en/reference/partner-docs/#get-number-of-units-used-this-month

        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :rtype: :py:class: `linebot.models.responses.AggregationInfoResponse`
        z /v2/bot/message/aggregation/infor@   )r€   r.   r‚   r^   rÖ   s      rH   Ú#get_number_of_units_used_this_monthz.LineBotApi.get_number_of_units_used_this_month  s-   € ð —9’9Ð?È�9ÑQÔQˆÝ&Ô9¸(¼-ÑHÔHÐHrJ   zÑUse 'from linebot.v3.messaging import MessagingApi' and 'MessagingApi(...).get_aggregation_unit_name_list(...)' instead. See https://github.com/line/line-bot-sdk-python/blob/master/README.rst for more details.éd   c                 óz   — |€d|in||dœ}|                       d||¬¦  «        }t          j        |j        ¦  «        S )aÜ  Return the name list of units used this month for statistics aggregation.

        :param int limit: Maximum number of aggregation units you can get per request.
            If you don't specify a value, or if you specify a value greater than or equal to 100,
            the maximum is 100.
        :param str start: Get the next array of name list of units
        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is self.http_client.timeout
        :type timeout: float | tuple(float, float)
        :rtype: :py:class: `linebot.models.responses.AggregationNameListResponse`
        Nr}   rs  z /v2/bot/message/aggregation/listr»   )r€   r/   r‚   r^   rt  s         rH   Ú&get_name_list_of_units_used_this_monthz1LineBotApi.get_name_list_of_units_used_this_month  sV   € ð &+ ]�'˜5Ð!Ð!À%ÐRWÐ8XÐ8Xˆà—9’9Ø.ØØð ñ 
ô 
ˆõ +Ô=¸h¼mÑLÔLÐLrJ   c                 óÂ   — |p| j         |z   }|€i }|                     | j        ¦  «         | j                             |||||¬¦  «        }|                      |¦  «         |S )N)rD   r¼   rÃ   rA   )rC   ÚupdaterD   rE   rv   Ú_LineBotApi__check_error)	rF   ÚpathrC   r¼   rD   rÃ   rA   Úurlrw   s	            rH   r€   zLineBotApi._get+  st   € ØÐ(˜4œ=¨DÑ0ˆàˆ?ØˆGØ�Š�t”|Ñ$Ô$Ð$àÔ#×'Ò'Ø˜¨¸Èð (ñ 
ô 
ˆð 	×Ò˜8Ñ$Ô$Ð$ØˆrJ   c                 óÄ   — |p| j         |z   }|€ddi}|                     | j        ¦  «         | j                             ||||¬¦  «        }|                      |¦  «         |S ©Nrþ   zapplication/json©rD   rY   rA   )rC   r�  rD   rE   Úpostr‘  ©rF   r’  rC   rY   rD   rA   r“  rw   s           rH   r]   zLineBotApi._post9  sx   € ØÐ(˜4œ=¨DÑ0ˆàˆ?Ø%Ð'9Ð:ˆGØ�Š�t”|Ñ$Ô$Ð$àÔ#×(Ò(Ø˜ t°Wð )ñ 
ô 
ˆð 	×Ò˜8Ñ$Ô$Ð$ØˆrJ   c                 óÀ   — |p| j         |z   }|€i }|                     | j        ¦  «         | j                             ||||¬¦  «        }|                      |¦  «         |S )Nr–  )rC   r�  rD   rE   Údeleter‘  r˜  s           rH   rç   zLineBotApi._deleteG  sr   € ØÐ(˜4œ=¨DÑ0ˆàˆ?ØˆGØ�Š�t”|Ñ$Ô$Ð$àÔ#×*Ò*Ø˜ t°Wð +ñ 
ô 
ˆð 	×Ò˜8Ñ$Ô$Ð$ØˆrJ   c                 óÄ   — |p| j         |z   }|€ddi}|                     | j        ¦  «         | j                             ||||¬¦  «        }|                      |¦  «         |S r•  )rC   r�  rD   rE   Úputr‘  r˜  s           rH   rO  zLineBotApi._putU  sx   € ØÐ(˜4œ=¨DÑ0ˆàˆ?Ø%Ð'9Ð:ˆGØ�Š�t”|Ñ$Ô$Ð$àÔ#×'Ò'Ø˜ t°Wð (ñ 
ô 
ˆð 	×Ò˜8Ñ$Ô$Ð$ØˆrJ   c           	      ó8  — d| j         cxk    rdk     rn nd S t          | j         t          | j                             ¦   «         ¦  «        | j                             d¦  «        | j                             d¦  «        t          j        | j        ¦  «        ¬¦  «        ‚)NéÈ   rq  rs   zX-Line-Accepted-Request-Id)Ústatus_coderD   ru   Úaccepted_request_idÚerror)	rŸ  r   ÚdictrD   Úitemsrv   r   r‚   r^   )rw   s    rH   Ú__check_errorzLineBotApi.__check_errorc  s�   € à�(Ô&Ð,Ð,Ò,Ð,¨Ò,Ð,Ð,Ð,Ð,ØˆDå!Ø$Ô0Ý˜XÔ-×3Ò3Ñ5Ô5Ñ6Ô6Ø#Ô+×/Ò/Ð0CÑDÔDØ$,Ô$4×$8Ò$8Ð9UÑ$VÔ$VÝÔ.¨x¬}Ñ=Ô=ðñ ô ð rJ   )FN)NFNN)NFN)NNNNFN)N)NN)r  N)r   NNr>  NNN)r\  N)rq  NN)r  rv  N)rv  N)rŒ  NN)NNNFN)NNNN)`Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚDEFAULT_API_ENDPOINTÚDEFAULT_API_DATA_ENDPOINTr   ÚDEFAULT_TIMEOUTr   rI   r6   r5   rb   rm   rp   rx   r~   r„   rˆ   r‹   rŽ   r’   r•   rš   r�   rŸ   r¡   r§   r¬   r°   r´   r¶   r¸   r¾   rÀ   rÅ   rÈ   rÊ   rÐ   rÔ   r×   rÜ   rß   râ   rä   ré   rë   rî   rð   rõ   r÷   rù   rü   r  r  r	  r  r  r  r  r  r  r   r"  r$  r&  r(  r*  r9  r=  rG  rL  rP  rX  r[  r`  re  rg  rl  rn  rp  ru  rz  r|  r€  r‚  r„  r‰  r‹  rŽ  r€   r]   rç   rO  Ústaticmethodr‘  rM   rJ   rH   r=   r=   1   så  € € € € € à?Ð?à0ÐØ :Ðð /Ð>WØ#Ô3ÐASðCð Cð Cð Cð: €Zð  Zð  dkð  vNð  Oñ  Oô  Oð'
ð '
ð '
ñ Oô  Oð'
ðR €Zð  Yð  cjð  uMð  Nñ  Nô  Nð 38Ø37ð0
ð 0
ð 0
ñ Nô  Nð0
ðd €Zð  Vð  `gð  rJð  Kñ  Kô  KØLQØ9=ð1
ð 1
ð 1
ñ Kô  Kð1
ðf €Zð  Vð  `gð  rJð  Kñ  Kô  Kð$Wð $Wð $Wñ Kô  Kð$WðL €Zð  Wð  ahð  sKð  Lñ  Lô  Lð @DØ15ð1Xð 1Xð 1Xñ Lô  Lð1Xðf €Zð  dð  nuð  @Xð  Yñ  Yô  YðSð Sð Sñ Yô  YðSð. €Zð  [ð  elð  wOð  Pñ  Pô  Pð Bð  Bð  Bñ Pô  Pð BðD €Zð  Zð  dkð  vNð  Oñ  Oô  Oð Bð  Bð  Bñ Oô  Oð BðD €Zð  _ð  ipð  {Sð  Tñ  Tô  Tð Bð  Bð  Bñ Tô  Tð BðD €Zð  _ð  ipð  {Sð  Tñ  Tô  Tð Bð  Bð  Bñ Tô  Tð BðD €Zð  `ð  jqð  |Tð  Uñ  Uô  Uð Bð  Bð  Bñ Uô  Uð BðD €Zð  rð  |Cð  Nfð  gñ  gô  gðRð Rð Rñ gô  gðRð, €Zð  nð  xð  Jbð  cñ  cô  cðNð Nð Nñ cô  cðNð, €Zð  mð  w~ð  Iað  bñ  bô  bðMð Mð Mñ bô  bðMð, €Zð  rð  |Cð  Nfð  gñ  gô  gðRð Rð Rñ gô  gðRð, €Zð  Xð  bið  tLð  Mñ  Mô  Mð9ð 9ð 9ñ Mô  Mð9ð. €Zð  ^ð  hoð  zRð  Sñ  Sô  Sð7ð 7ð 7ñ Sô  Sð7ð0 €Zð  cð  mtð  Wð  Xñ  Xô  Xð*ð *ð *ñ Xô  Xð*ð. €Zð  bð  lsð  ~Vð  Wñ  Wô  Wð*ð *ð *ñ Wô  Wð*ð. €Zð  eð  ovð  AYð  Zñ  Zô  Zð9ð 9ð 9ñ Zô  Zð9ð4 €Zð  dð  nuð  @Xð  Yñ  Yô  Yð9ð 9ð 9ñ Yô  Yð9ð4 €Zð  bð  lsð  ~Vð  Wñ  Wô  Wð;ð ;ð ;ñ Wô  Wð;ð: €Zð  að  krð  }Uð  Vñ  Vô  Vð;ð ;ð ;ñ Vô  Vð;ð: €Zð  hð  ryð  D\ð  ]ñ  ]ô  ]ð!ð !ð !ñ ]ô  ]ð!ð. €Zð  Xð  bið  tLð  Mñ  Mô  Mð
ð 
ð 
ñ Mô  Mð
ð& €Zð  Wð  ahð  sKð  Lñ  Lô  Lð
ð 
ð 
ñ Lô  Lð
ð& €Zð  Zð  dkð  vNð  Oñ  Oô  OðBð Bð Bñ Oô  OðBð* €Zð  `ð  jqð  |Tð  Uñ  Uô  UðGð Gð Gñ Uô  UðGð( €Zð  eð  ovð  AYð  Zñ  Zô  ZðKð Kð Kñ Zô  ZðKð& €Zð  fð  pwð  BZð  [ñ  [ô  [ð
ð 
ð 
ñ [ô  [ð
ð$ €Zð  ]ð  gnð  yQð  Rñ  Rô  Rð/ð /ð /ñ Rô  Rð/ð* €Zð  cð  mtð  Wð  Xñ  Xô  Xð
ð 
ð 
ñ Xô  Xð
ð& €Zð  cð  mtð  Wð  Xñ  Xô  Xð
ð 
ð 
ñ Xô  Xð
ð, €Zð  ]ð  gnð  yQð  Rñ  Rô  Rð
ð 
ð 
ñ Rô  Rð
ð" €Zð  cð  mtð  Wð  Xñ  Xô  Xð
ð 
ð 
ñ Xô  Xð
ð$ €Zð  eð  ovð  AYð  Zñ  Zô  Zð/ð /ð /ñ Zô  Zð/ð* €Zð  fð  pwð  BZð  [ñ  [ô  [ð
ð 
ð 
ñ [ô  [ð
ð* €Zð  gð  qxð  C[ð  \ñ  \ô  \ð
ð 
ð 
ñ \ô  \ð
ð0 €Zð  jð  t{ð  F^ð  _ñ  _ô  _ð
ð 
ð 
ñ _ô  _ð
ð" €Zð  kð  u|ð  G_ð  `ñ  `ô  `ð
ð 
ð 
ñ `ô  `ð
ð, €Zð  cð  mtð  Wð  Xñ  Xô  Xð!ð !ð !ñ Xô  Xð!ð* €Zð  cð  mtð  Wð  Xñ  Xô  Xð
ð 
ð 
ñ Xô  Xð
ð0 €Zð  _ð  ipð  {Sð  Tñ  Tô  Tðð ð ñ Tô  Tðð0 €Zð  bð  lsð  ~Vð  Wñ  Wô  Wð
ð 
ð 
ñ Wô  Wð
ð& €Zð  eð  ovð  AYð  Zñ  Zô  Zð/ð /ð /ñ Zô  Zð/ð$ €Zð  eð  ovð  AYð  Zñ  Zô  Zð
ð 
ð 
ñ Zô  Zð
ð  €Zð  ^ð  hoð  zRð  Sñ  Sô  SðFð Fð Fñ Sô  SðFð( €Zð  jð  t{ð  F^ð  _ñ  _ô  _ðQð Qð Qñ _ô  _ðQð( €Zð  ]ð  gnð  yQð  Rñ  Rô  RðHð Hð Hñ Rô  RðHð. €Zð  hð  ryð  D\ð  ]ñ  ]ô  ]àEIðKð Kð Kñ ]ô  ]ðKð< €Zð  ið  szð  E]ð  ^ñ  ^ô  ^ð
ð 
ð 
ñ ^ô  ^ð
ð& €Zð  að  krð  }Uð  Vñ  Vô  VðPð Pð Pñ Vô  VðPð( €Zð  Vð  `gð  rJð  Kñ  Kô  KðJð Jð Jñ Kô  KðJð( €Zð  Yð  cjð  uMð  Nñ  Nô  NðLð Lð Lñ Nô  NðLð& €Zð  Rð  \cð  nFð  Gñ  Gô  GðMð Mð Mñ Gô  GðMð( €Zð  Yð  cjð  uMð  Nñ  Nô  Nð9ð 9ð 9ñ Nô  Nð9ð& €Zð  eð  ovð  AYð  Zñ  Zô  ZØCGØ48ðEð Eð Eñ Zô  ZðEð8 €Zð  að  krð  }Uð  Vñ  Vô  Vð?ð ?ð ?ñ Vô  Vð?ð* €Zð  cð  mtð  Wð  Xñ  Xô  XØRTØQUØ(,ð)ð )ð )ñ Xô  Xð)ðV €Zð  eð  ovð  AYð  Zñ  Zô  Zð
ð 
ð 
ñ Zô  Zð
ð" €Zð  qð  {Bð  Með  fñ  fô  fðð ð ñ fô  fðð0 €Zð  nð  xð  Jbð  cñ  cô  càIMðð ð ñ cô  cðð> €Zð  rð  |Cð  Nfð  gñ  gô  gðCð Cð Cñ gô  gðCð& €Zð  uð  Fð  Qið  jñ  jô  jðð ð ñ jô  jðð" €Zð  qð  {Bð  Með  fñ  fô  fà<@ðDð Dð Dñ fô  fðDð: €Zð  oð  y@ð  Kcð  dñ  dô  dà*.ðBð Bð Bñ dô  dðBð4 €Zð  að  krð  }Uð  Vñ  Vô  Vðð ð ñ Vô  Vðð4 €Zð  að  krð  }Uð  Vñ  Vô  VðDð Dð Dñ Vô  VðDð  €Zð  bð  lsð  ~Vð  Wñ  Wô  WðEð Eð Eñ Wô  WðEð8 €Zð  Zð  dkð  vNð  Oñ  Oô  Oð9ð 9ð 9ñ Oô  Oð9ð2 €Zð  oð  y@ð  Kcð  dñ  dô  dà/CØ"ZØðMð Mð Mñ dô  dðMð> €Zð  pð  zAð  Ldð  eñ  eô  eð ð
ð 
ð 
ñ eô  eð
ð6 #[ØðEð Eð Eð Eð2 €Zð  pð  zAð  Ldð  eñ  eô  eðNð Nð Nñ eô  eðNð$ €Zð  @ð  JQð  \tð  uñ  uô  uð #[ØðPð Pð Pñ uô  uðPð. €Zð  Xð  bið  tLð  Mñ  Mô  Mðdð dð dñ Mô  Mðdð< €Zð  gð  qxð  C[ð  \ñ  \ô  \ðIð Ið Iñ \ô  \ðIð €Zð  kð  u|ð  G_ð  `ñ  `ô  `ðMð Mð Mñ `ô  `ðMð0ð ð ð ðð ð ð ðð ð ð ðð ð ð ð ð
ð 
ñ „\ð
ð 
ð 
rJ   r=   )=r¨  r^   Ú	__about__r   Ú
exceptionsr   rE   r   r   Úmodelsr   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   Úmodels.responsesr%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   Údeprecationsr5   r6   Úobjectr=   rM   rJ   rH   ú<module>r³     så  ðð Ð à €€€à "Ð "Ð "Ð "Ð "Ð "Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð "Ð !Ð !Ð !Ð !Ð !ð €ð  Rð  \cð  nFð  Gñ  Gô  Gð| ð | ð | ð | ð | �ñ | ô | ñ Gô  Gð| ð | ð | rJ   