
    i?1i(                        d Z ddlmZ ddlmZmZmZmZmZmZm	Z	 ddl
mZmZmZ ddlmZ ddlmZ ddlmZ ddlmZ dd	lmZ  G d
 de      Z G d de      Z G d de      Z G d de      Zy)a  
    This code was generated by
   ___ _ _ _ _ _    _ ____    ____ ____ _    ____ ____ _  _ ____ ____ ____ ___ __   __
    |  | | | | |    | |  | __ |  | |__| | __ | __ |___ |\ | |___ |__/ |__|  | |  | |__/
    |  |_|_| | |___ | |__|    |__| |  | |    |__] |___ | \| |___ |  \ |  |  | |__| |  \

    Twilio - Api
    This is the public Twilio REST API.

    NOTE: This class is auto generated by OpenAPI Generator.
    https://openapi-generator.tech
    Do not edit the class manually.
    )datetime)AnyDictListOptionalUnionIteratorAsyncIterator)deserialize	serializevalues)InstanceContext)InstanceResource)ListResource)Version)Pagec                   "    e Zd Z G d de      Z	 	 ddedeeef   dedede	e   f
 fdZ
edd
       Zd	efdZd	efdZd dZd dZej&                  ej&                  ej&                  ej&                  ej&                  ej&                  ej&                  ej&                  ej&                  ej&                  ej&                  ej&                  fdeeef   deeef   deeef   deeef   deeef   deeef   deeef   deeef   deeef   deeef   deeef   deeef   d	d fdZej&                  ej&                  ej&                  ej&                  ej&                  ej&                  ej&                  ej&                  ej&                  ej&                  ej&                  ej&                  fdeeef   deeef   deeef   deeef   deeef   deeef   deeef   deeef   deeef   deeef   deeef   deeef   d	d fdZd	efdZ xZS )!ParticipantInstancec                   $    e Zd ZdZdZdZdZdZdZy)ParticipantInstance.Statusqueued
connectingringing	connectedcompletefailedN)	__name__
__module____qualname__QUEUED
CONNECTINGRINGING	CONNECTEDCOMPLETEFAILED     ~/home/www/therecruiter.miabetepe.com/venv/lib/python3.12/site-packages/twilio/rest/api/v2010/account/conference/participant.pyStatusr      s     !
	r'   r)   versionpayloadaccount_sidconference_sidcall_sidc                    t         |   |       |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        t        j                  |j                  d            | _        t        j                  |j                  d            | _        |j                  d	      | _        |j                  d
      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        |||xs | j                  d| _        d | _        y )Nr,   r.   labelcall_sid_to_coachcoachingr-   date_createddate_updatedend_conference_on_exitmutedholdstart_conference_on_enterstatusurir,   r-   r.   )super__init__getr,   r.   r0   r1   r2   r-   r   rfc2822_datetimer3   r4   r5   r6   r7   r8   r9   r:   	_solution_context)selfr*   r+   r,   r-   r.   	__class__s         r(   r=   zParticipantInstance.__init__4   sL    	!*1++m*D'.{{:'>$+KK$8
07<O0P(/J(?-4[[9I-J0;0L0LKK'1
 1<0L0LKK'1
 7>kk$7
# &-[[%9
$+KK$7	9@':
& ?Fkk(>S")++e"4 ', 1DMM

 7;r'   returnc                     | j                   Et        | j                  | j                  d   | j                  d   | j                  d         | _         | j                   S )z
        Generate an instance context for the instance, the context is capable of
        performing various actions. All instance actions are proxied to the context

        :returns: ParticipantContext for this ParticipantInstance
        r,   r-   r.   r;   )rA   ParticipantContext_versionr@   rB   s    r(   _proxyzParticipantInstance._proxy\   sR     == . NN=9#~~.>?
3	DM }}r'   c                 6    | j                   j                         S )n
        Deletes the ParticipantInstance


        :returns: True if delete succeeds, False otherwise
        )rI   deleterH   s    r(   rL   zParticipantInstance.deletem   s     {{!!##r'   c                 R   K   | j                   j                          d{   S 7 w)
        Asynchronous coroutine that deletes the ParticipantInstance


        :returns: True if delete succeeds, False otherwise
        N)rI   delete_asyncrH   s    r(   rO   z ParticipantInstance.delete_asyncv   s!      [[--////   '%'c                 6    | j                   j                         S )c
        Fetch the ParticipantInstance


        :returns: The fetched ParticipantInstance
        )rI   fetchrH   s    r(   rS   zParticipantInstance.fetch   s     {{  ""r'   c                 R   K   | j                   j                          d{   S 7 w)}
        Asynchronous coroutine to fetch the ParticipantInstance


        :returns: The fetched ParticipantInstance
        N)rI   fetch_asyncrH   s    r(   rV   zParticipantInstance.fetch_async   s!      [[,,....rP   r6   r7   hold_urlhold_methodannounce_urlannounce_methodwait_urlwait_methodbeep_on_exitr5   r2   r1   c                 P    | j                   j                  |||||||||	|
||      S )
  
        Update the ParticipantInstance

        :param muted: Whether the participant should be muted. Can be `true` or `false`. `true` will mute the participant, and `false` will un-mute them. Anything value other than `true` or `false` is interpreted as `false`.
        :param hold: Whether the participant should be on hold. Can be: `true` or `false`. `true` puts the participant on hold, and `false` lets them rejoin the conference.
        :param hold_url: The URL we call using the `hold_method` for music that plays when the participant is on hold. The URL may return an MP3 file, a WAV file, or a TwiML document that contains `<Play>`, `<Say>`, `<Pause>`, or `<Redirect>` verbs.
        :param hold_method: The HTTP method we should use to call `hold_url`. Can be: `GET` or `POST` and the default is `GET`.
        :param announce_url: The URL we call using the `announce_method` for an announcement to the participant. The URL may return an MP3 file, a WAV file, or a TwiML document that contains `<Play>`, `<Say>`, `<Pause>`, or `<Redirect>` verbs.
        :param announce_method: The HTTP method we should use to call `announce_url`. Can be: `GET` or `POST` and defaults to `POST`.
        :param wait_url: The URL we call using the `wait_method` for the music to play while participants are waiting for the conference to start. The URL may return an MP3 file, a WAV file, or a TwiML document that contains `<Play>`, `<Say>`, `<Pause>`, or `<Redirect>` verbs. The default value is the URL of our standard hold music. [Learn more about hold music](https://www.twilio.com/labs/twimlets/holdmusic).
        :param wait_method: The HTTP method we should use to call `wait_url`. Can be `GET` or `POST` and the default is `POST`. When using a static audio file, this should be `GET` so that we can cache the file.
        :param beep_on_exit: Whether to play a notification beep to the conference when the participant exits. Can be: `true` or `false`.
        :param end_conference_on_exit: Whether to end the conference when the participant leaves. Can be: `true` or `false` and defaults to `false`.
        :param coaching: Whether the participant is coaching another call. Can be: `true` or `false`. If not present, defaults to `false` unless `call_sid_to_coach` is defined. If `true`, `call_sid_to_coach` must be defined.
        :param call_sid_to_coach: The SID of the participant who is being `coached`. The participant being coached is the only participant who can hear the participant who is `coaching`.

        :returns: The updated ParticipantInstance
        r6   r7   rW   rX   rY   rZ   r[   r\   r]   r5   r2   r1   )rI   updaterB   r6   r7   rW   rX   rY   rZ   r[   r\   r]   r5   r2   r1   s                r(   ra   zParticipantInstance.update   sE    B {{!!#%+#%#9/ " 
 	
r'   c                 l   K   | j                   j                  |||||||||	|
||       d{   S 7 w)-
  
        Asynchronous coroutine to update the ParticipantInstance

        :param muted: Whether the participant should be muted. Can be `true` or `false`. `true` will mute the participant, and `false` will un-mute them. Anything value other than `true` or `false` is interpreted as `false`.
        :param hold: Whether the participant should be on hold. Can be: `true` or `false`. `true` puts the participant on hold, and `false` lets them rejoin the conference.
        :param hold_url: The URL we call using the `hold_method` for music that plays when the participant is on hold. The URL may return an MP3 file, a WAV file, or a TwiML document that contains `<Play>`, `<Say>`, `<Pause>`, or `<Redirect>` verbs.
        :param hold_method: The HTTP method we should use to call `hold_url`. Can be: `GET` or `POST` and the default is `GET`.
        :param announce_url: The URL we call using the `announce_method` for an announcement to the participant. The URL may return an MP3 file, a WAV file, or a TwiML document that contains `<Play>`, `<Say>`, `<Pause>`, or `<Redirect>` verbs.
        :param announce_method: The HTTP method we should use to call `announce_url`. Can be: `GET` or `POST` and defaults to `POST`.
        :param wait_url: The URL we call using the `wait_method` for the music to play while participants are waiting for the conference to start. The URL may return an MP3 file, a WAV file, or a TwiML document that contains `<Play>`, `<Say>`, `<Pause>`, or `<Redirect>` verbs. The default value is the URL of our standard hold music. [Learn more about hold music](https://www.twilio.com/labs/twimlets/holdmusic).
        :param wait_method: The HTTP method we should use to call `wait_url`. Can be `GET` or `POST` and the default is `POST`. When using a static audio file, this should be `GET` so that we can cache the file.
        :param beep_on_exit: Whether to play a notification beep to the conference when the participant exits. Can be: `true` or `false`.
        :param end_conference_on_exit: Whether to end the conference when the participant leaves. Can be: `true` or `false` and defaults to `false`.
        :param coaching: Whether the participant is coaching another call. Can be: `true` or `false`. If not present, defaults to `false` unless `call_sid_to_coach` is defined. If `true`, `call_sid_to_coach` must be defined.
        :param call_sid_to_coach: The SID of the participant who is being `coached`. The participant being coached is the only participant who can hear the participant who is `coaching`.

        :returns: The updated ParticipantInstance
        r`   N)rI   update_asyncrb   s                r(   re   z ParticipantInstance.update_async   sS     B [[--#%+#%#9/ . 
 
 	
 
   +424c                     dj                  d | j                  j                         D              }dj                  |      S )f
        Provide a friendly representation

        :returns: Machine friendly representation
         c              3   F   K   | ]  \  }}d j                  ||        ywz{}={}Nformat.0kvs      r(   	<genexpr>z/ParticipantInstance.__repr__.<locals>.<genexpr>        SDAq7>>!Q/S   !z)<Twilio.Api.V2010.ParticipantInstance {}>joinr@   itemsrm   rB   contexts     r(   __repr__zParticipantInstance.__repr__   s6     ((SDNN<P<P<RSS:AA'JJr'   N)rD   rF   )rD   r   )r   r   r   objectr)   r   r   strr   r   r=   propertyrI   boolrL   rO   rS   rV   r   unsetr   ra   re   rz   __classcell__rC   s   @r(   r   r      s/    . #'&;&; c3h&; 	&;
 &; 3-&;P   $ $0D 0#/ &,\\$*LL'-||*0,,+1<<.4ll'-||*0,,,2LL6<ll(.06.
T6\".
 D&L!.
 V$	.

 3;'.
 CK(.
 sF{+.
 V$.
 3;'.
 D&L).
 !&dFl 3.
 f%.
 !f-.
 
.
d &,\\$*LL'-||*0,,+1<<.4ll'-||*0,,,2LL6<ll(.06.
T6\".
 D&L!.
 V$	.

 3;'.
 CK(.
 sF{+.
 V$.
 3;'.
 D&L).
 !&dFl 3.
 f%.
 !f-.
 
.
`K# Kr'   r   c                       e Zd Zdedededef fdZdefdZdefdZde	fd	Z
de	fd
Zej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  fdeeef   deeef   deeef   deeef   deeef   deeef   deeef   deeef   deeef   deeef   deeef   deeef   de	fdZej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  fdeeef   deeef   deeef   deeef   deeef   deeef   deeef   deeef   deeef   deeef   deeef   deeef   de	fdZdefdZ xZS )rF   r*   r,   r-   r.   c                 |    t         |   |       |||d| _         dj                  di | j                  | _        y)aR  
        Initialize the ParticipantContext

        :param version: Version that contains the resource
        :param account_sid: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Participant resources to update.
        :param conference_sid: The SID of the conference with the participant to update.
        :param call_sid: The [Call](https://www.twilio.com/docs/voice/api/call-resource) SID or label of the participant to update. Non URL safe characters in a label must be percent encoded, for example, a space character is represented as %20.
        r;   zQ/Accounts/{account_sid}/Conferences/{conference_sid}/Participants/{call_sid}.jsonNr&   r<   r=   r@   rm   _uri)rB   r*   r,   r-   r.   rC   s        r(   r=   zParticipantContext.__init__   sJ     	! ', 

 ognn 
nn
	r'   rD   c                 P    | j                   j                  d| j                        S )rK   DELETEmethodr:   )rG   rL   r   rH   s    r(   rL   zParticipantContext.delete  s*     }}##		 $ 
 	
r'   c                 l   K   | j                   j                  d| j                         d{   S 7 w)rN   r   r   N)rG   rO   r   rH   s    r(   rO   zParticipantContext.delete_async  s8      ]]//		 0 
 
 	
 
rf   c                     | j                   j                  d| j                        }t        | j                   || j                  d   | j                  d   | j                  d         S )rR   GETr   r,   r-   r.   r;   )rG   rS   r   r   r@   rB   r+   s     r(   rS   zParticipantContext.fetch+  se     --%%		 & 

 #MM}5>>*:;^^J/
 	
r'   c                    K   | j                   j                  d| j                         d{   }t        | j                   || j                  d   | j                  d   | j                  d         S 7 Ew)rU   r   r   Nr,   r-   r.   r;   )rG   rV   r   r   r@   r   s     r(   rV   zParticipantContext.fetch_async@  ss      11		 2 
 

 #MM}5>>*:;^^J/
 	

s   +A5A3AA5r6   r7   rW   rX   rY   rZ   r[   r\   r]   r5   r2   r1   c                    t        j                  |||||||||	|
||d      }| j                  j                  d| j                  |      }t        | j                  || j                  d   | j                  d   | j                  d         S )r_   MutedHoldHoldUrl
HoldMethodAnnounceUrlAnnounceMethodWaitUrl
WaitMethod
BeepOnExitEndConferenceOnExitCoachingCallSidToCoachPOSTr   r:   datar,   r-   r.   r;   )r   ofrG   ra   r   r   r@   rB   r6   r7   rW   rX   rY   rZ   r[   r\   r]   r5   r2   r1   r   r+   s                  r(   ra   zParticipantContext.updateU  s    B yy#)+"1#)*'=$"3
" --&&		 ' 
 #MM}5>>*:;^^J/
 	
r'   c                 4  K   t        j                  |||||||||	|
||d      }| j                  j                  d| j                  |       d{   }t        | j                  || j                  d   | j                  d   | j                  d         S 7 Ew)	rd   r   r   r   Nr,   r-   r.   r;   )r   r   rG   re   r   r   r@   r   s                  r(   re   zParticipantContext.update_async  s     B yy#)+"1#)*'=$"3
" 22		 3 
 
 #MM}5>>*:;^^J/
 	

s   ABBABc                     dj                  d | j                  j                         D              }dj                  |      S )rh   ri   c              3   F   K   | ]  \  }}d j                  ||        ywrk   rl   rn   s      r(   rr   z.ParticipantContext.__repr__.<locals>.<genexpr>  rs   rt   z(<Twilio.Api.V2010.ParticipantContext {}>ru   rx   s     r(   rz   zParticipantContext.__repr__  s6     ((SDNN<P<P<RSS9@@IIr'   )r   r   r   r   r}   r=   r   rL   rO   r   rS   rV   r   r   r   r|   ra   re   rz   r   r   s   @r(   rF   rF      s   

-0
BE
QT
.

 



D 


* 
*
#6 
. &,\\$*LL'-||*0,,+1<<.4ll'-||*0,,,2LL6<ll(.06>
T6\">
 D&L!>
 V$	>

 3;'>
 CK(>
 sF{+>
 V$>
 3;'>
 D&L)>
 !&dFl 3>
 f%>
 !f->
 
>
D &,\\$*LL'-||*0,,+1<<.4ll'-||*0,,,2LL6<ll(.06>
T6\">
 D&L!>
 V$	>

 3;'>
 CK(>
 sF{+>
 V$>
 3;'>
 D&L)>
 !&dFl 3>
 f%>
 !f->
 
>
@J# Jr'   rF   c                   2    e Zd Zdeeef   defdZdefdZy)ParticipantPager+   rD   c                 h    t        | j                  || j                  d   | j                  d         S )zq
        Build an instance of ParticipantInstance

        :param payload: Payload response from the API
        r,   r-   r,   r-   )r   rG   r@   r   s     r(   get_instancezParticipantPage.get_instance  s4     #MM}5>>*:;	
 	
r'   c                      y)rh   z"<Twilio.Api.V2010.ParticipantPage>r&   rH   s    r(   rz   zParticipantPage.__repr__       4r'   N)	r   r   r   r   r}   r   r   r   rz   r&   r'   r(   r   r     s*    
DcN 
7J 
4# 4r'   r   c            c           e Zd Zdededef fdZej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  f.dededeee	f   deee	f   d	ee
e   e	f   d
eee	f   deee	f   deee	f   deee	f   deee	f   deee	f   deee	f   deee	f   deee	f   deee	f   deee	f   deee	f   deee	f   deee	f   deee	f   dee
e   e	f   deee	f   deee	f   deee	f   deee	f   deee	f   deee	f   d eee	f   d!eee	f   d"ee
e   e	f   d#ee
e   e	f   d$eee	f   d%eee	f   d&eee	f   d'eee	f   d(eee	f   d)eee	f   d*eee	f   d+eee	f   d,eee	f   d-eee	f   d.eee	f   d/eee	f   d0eee	f   d1eee	f   d2eee	f   d3eee	f   d4eee	f   d5efbd6Zej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  f.dededeee	f   deee	f   d	ee
e   e	f   d
eee	f   deee	f   deee	f   deee	f   deee	f   deee	f   deee	f   deee	f   deee	f   deee	f   deee	f   deee	f   deee	f   deee	f   deee	f   dee
e   e	f   deee	f   deee	f   deee	f   deee	f   deee	f   deee	f   d eee	f   d!eee	f   d"ee
e   e	f   d#ee
e   e	f   d$eee	f   d%eee	f   d&eee	f   d'eee	f   d(eee	f   d)eee	f   d*eee	f   d+eee	f   d,eee	f   d-eee	f   d.eee	f   d/eee	f   d0eee	f   d1eee	f   d2eee	f   d3eee	f   d4eee	f   d5efbd7Zej                  ej                  ej                  d8d8fdeee	f   d9eee	f   d$eee	f   d:ee   d;ee   d5ee   fd<Zej                  ej                  ej                  d8d8fdeee	f   d9eee	f   d$eee	f   d:ee   d;ee   d5ee   fd=Zej                  ej                  ej                  d8d8fdeee	f   d9eee	f   d$eee	f   d:ee   d;ee   d5e
e   fd>Zej                  ej                  ej                  d8d8fdeee	f   d9eee	f   d$eee	f   d:ee   d;ee   d5e
e   fd?Zej                  ej                  ej                  ej                  ej                  ej                  fdeee	f   d9eee	f   d$eee	f   d@eee	f   dAeee	f   d;eee	f   d5efdBZej                  ej                  ej                  ej                  ej                  ej                  fdeee	f   d9eee	f   d$eee	f   d@eee	f   dAeee	f   d;eee	f   d5efdCZdDed5efdEZdDed5efdFZdGed5efdHZdGed5efdIZd5efdJZ xZ S )KParticipantListr*   r,   r-   c                 z    t         |   |       ||d| _         dj                  di | j                  | _        y)aW  
        Initialize the ParticipantList

        :param version: Version that contains the resource
        :param account_sid: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Participant resources to read.
        :param conference_sid: The SID of the conference with the participants to read.

        r   zF/Accounts/{account_sid}/Conferences/{conference_sid}/Participants.jsonNr&   r   )rB   r*   r,   r-   rC   s       r(   r=   zParticipantList.__init__  sG     	! ',
 d\cc 
nn
	r'   from_tostatus_callbackstatus_callback_methodstatus_callback_eventr0   timeoutrecordr6   beepr8   r5   r[   r\   early_mediamax_participantsconference_recordconference_trimconference_status_callback!conference_status_callback_method conference_status_callback_eventrecording_channelsrecording_status_callback recording_status_callback_methodsip_auth_usernamesip_auth_passwordregion$conference_recording_status_callback+conference_recording_status_callback_methodrecording_status_callback_event*conference_recording_status_callback_eventr2   r1   jitter_buffer_sizebyoc	caller_idcall_reasonrecording_track
time_limitmachine_detectionmachine_detection_timeout"machine_detection_speech_threshold&machine_detection_speech_end_threshold!machine_detection_silence_timeoutamd_status_callbackamd_status_callback_methodtrim
call_tokenrD   c1                 |   t        j                  i d|d|d|d|dt        j                  |d       d|d|d	|d
|	d|
d|d|d|d|d|d|d|i d|d|d|dt        j                  |d       d|d|d|d|d|d|d|d|d t        j                  |d!       d"t        j                  |d#       d$| d%|!d&|"|#|$|%|&|'|(|)|*|+|,|-|.|/|0d'      }1| j                  j                  d(| j                  |1)      }2t        | j                  |2| j                  d*   | j                  d+   ,      S )-a,  
        Create the ParticipantInstance

        :param from_: The phone number, Client identifier, or username portion of SIP address that made this call. Phone numbers are in [E.164](https://www.twilio.com/docs/glossary/what-e164) format (e.g., +16175551212). Client identifiers are formatted `client:name`. If using a phone number, it must be a Twilio number or a Verified [outgoing caller id](https://www.twilio.com/docs/voice/api/outgoing-caller-ids) for your account. If the `to` parameter is a phone number, `from` must also be a phone number. If `to` is sip address, this value of `from` should be a username portion to be used to populate the P-Asserted-Identity header that is passed to the SIP endpoint.
        :param to: The phone number, SIP address, or Client identifier that received this call. Phone numbers are in [E.164](https://www.twilio.com/docs/glossary/what-e164) format (e.g., +16175551212). SIP addresses are formatted as `sip:name@company.com`. Client identifiers are formatted `client:name`. [Custom parameters](https://www.twilio.com/docs/voice/api/conference-participant-resource#custom-parameters) may also be specified.
        :param status_callback: The URL we should call using the `status_callback_method` to send status information to your application.
        :param status_callback_method: The HTTP method we should use to call `status_callback`. Can be: `GET` and `POST` and defaults to `POST`.
        :param status_callback_event: The conference state changes that should generate a call to `status_callback`. Can be: `initiated`, `ringing`, `answered`, and `completed`. Separate multiple values with a space. The default value is `completed`.
        :param label: A label for this participant. If one is supplied, it may subsequently be used to fetch, update or delete the participant.
        :param timeout: The number of seconds that we should allow the phone to ring before assuming there is no answer. Can be an integer between `5` and `600`, inclusive. The default value is `60`. We always add a 5-second timeout buffer to outgoing calls, so  value of 10 would result in an actual timeout that was closer to 15 seconds.
        :param record: Whether to record the participant and their conferences, including the time between conferences. Can be `true` or `false` and the default is `false`.
        :param muted: Whether the agent is muted in the conference. Can be `true` or `false` and the default is `false`.
        :param beep: Whether to play a notification beep to the conference when the participant joins. Can be: `true`, `false`, `onEnter`, or `onExit`. The default value is `true`.
        :param start_conference_on_enter: Whether to start the conference when the participant joins, if it has not already started. Can be: `true` or `false` and the default is `true`. If `false` and the conference has not started, the participant is muted and hears background music until another participant starts the conference.
        :param end_conference_on_exit: Whether to end the conference when the participant leaves. Can be: `true` or `false` and defaults to `false`.
        :param wait_url: The URL we should call using the `wait_method` for the music to play while participants are waiting for the conference to start. The default value is the URL of our standard hold music. [Learn more about hold music](https://www.twilio.com/labs/twimlets/holdmusic).
        :param wait_method: The HTTP method we should use to call `wait_url`. Can be `GET` or `POST` and the default is `POST`. When using a static audio file, this should be `GET` so that we can cache the file.
        :param early_media: Whether to allow an agent to hear the state of the outbound call, including ringing or disconnect messages. Can be: `true` or `false` and defaults to `true`.
        :param max_participants: The maximum number of participants in the conference. Can be a positive integer from `2` to `250`. The default value is `250`.
        :param conference_record: Whether to record the conference the participant is joining. Can be: `true`, `false`, `record-from-start`, and `do-not-record`. The default value is `false`.
        :param conference_trim: Whether to trim leading and trailing silence from the conference recording. Can be: `trim-silence` or `do-not-trim` and defaults to `trim-silence`.
        :param conference_status_callback: The URL we should call using the `conference_status_callback_method` when the conference events in `conference_status_callback_event` occur. Only the value set by the first participant to join the conference is used. Subsequent `conference_status_callback` values are ignored.
        :param conference_status_callback_method: The HTTP method we should use to call `conference_status_callback`. Can be: `GET` or `POST` and defaults to `POST`.
        :param conference_status_callback_event: The conference state changes that should generate a call to `conference_status_callback`. Can be: `start`, `end`, `join`, `leave`, `mute`, `hold`, `modify`, `speaker`, and `announcement`. Separate multiple values with a space. Defaults to `start end`.
        :param recording_channels: The recording channels for the final recording. Can be: `mono` or `dual` and the default is `mono`.
        :param recording_status_callback: The URL that we should call using the `recording_status_callback_method` when the recording status changes.
        :param recording_status_callback_method: The HTTP method we should use when we call `recording_status_callback`. Can be: `GET` or `POST` and defaults to `POST`.
        :param sip_auth_username: The SIP username used for authentication.
        :param sip_auth_password: The SIP password for authentication.
        :param region: The [region](https://support.twilio.com/hc/en-us/articles/223132167-How-global-low-latency-routing-and-region-selection-work-for-conferences-and-Client-calls) where we should mix the recorded audio. Can be:`us1`, `ie1`, `de1`, `sg1`, `br1`, `au1`, or `jp1`.
        :param conference_recording_status_callback: The URL we should call using the `conference_recording_status_callback_method` when the conference recording is available.
        :param conference_recording_status_callback_method: The HTTP method we should use to call `conference_recording_status_callback`. Can be: `GET` or `POST` and defaults to `POST`.
        :param recording_status_callback_event: The recording state changes that should generate a call to `recording_status_callback`. Can be: `started`, `in-progress`, `paused`, `resumed`, `stopped`, `completed`, `failed`, and `absent`. Separate multiple values with a space, ex: `'in-progress completed failed'`.
        :param conference_recording_status_callback_event: The conference recording state changes that generate a call to `conference_recording_status_callback`. Can be: `in-progress`, `completed`, `failed`, and `absent`. Separate multiple values with a space, ex: `'in-progress completed failed'`
        :param coaching: Whether the participant is coaching another call. Can be: `true` or `false`. If not present, defaults to `false` unless `call_sid_to_coach` is defined. If `true`, `call_sid_to_coach` must be defined.
        :param call_sid_to_coach: The SID of the participant who is being `coached`. The participant being coached is the only participant who can hear the participant who is `coaching`.
        :param jitter_buffer_size: Jitter buffer size for the connecting participant. Twilio will use this setting to apply Jitter Buffer before participant's audio is mixed into the conference. Can be: `off`, `small`, `medium`, and `large`. Default to `large`.
        :param byoc: The SID of a BYOC (Bring Your Own Carrier) trunk to route this call with. Note that `byoc` is only meaningful when `to` is a phone number; it will otherwise be ignored. (Beta)
        :param caller_id: The phone number, Client identifier, or username portion of SIP address that made this call. Phone numbers are in [E.164](https://www.twilio.com/docs/glossary/what-e164) format (e.g., +16175551212). Client identifiers are formatted `client:name`. If using a phone number, it must be a Twilio number or a Verified [outgoing caller id](https://www.twilio.com/docs/voice/api/outgoing-caller-ids) for your account. If the `to` parameter is a phone number, `callerId` must also be a phone number. If `to` is sip address, this value of `callerId` should be a username portion to be used to populate the From header that is passed to the SIP endpoint.
        :param call_reason: The Reason for the outgoing call. Use it to specify the purpose of the call that is presented on the called party's phone. (Branded Calls Beta)
        :param recording_track: The audio track to record for the call. Can be: `inbound`, `outbound` or `both`. The default is `both`. `inbound` records the audio that is received by Twilio. `outbound` records the audio that is sent from Twilio. `both` records the audio that is received and sent by Twilio.
        :param time_limit: The maximum duration of the call in seconds. Constraints depend on account and configuration.
        :param machine_detection: Whether to detect if a human, answering machine, or fax has picked up the call. Can be: `Enable` or `DetectMessageEnd`. Use `Enable` if you would like us to return `AnsweredBy` as soon as the called party is identified. Use `DetectMessageEnd`, if you would like to leave a message on an answering machine. For more information, see [Answering Machine Detection](https://www.twilio.com/docs/voice/answering-machine-detection).
        :param machine_detection_timeout: The number of seconds that we should attempt to detect an answering machine before timing out and sending a voice request with `AnsweredBy` of `unknown`. The default timeout is 30 seconds.
        :param machine_detection_speech_threshold: The number of milliseconds that is used as the measuring stick for the length of the speech activity, where durations lower than this value will be interpreted as a human and longer than this value as a machine. Possible Values: 1000-6000. Default: 2400.
        :param machine_detection_speech_end_threshold: The number of milliseconds of silence after speech activity at which point the speech activity is considered complete. Possible Values: 500-5000. Default: 1200.
        :param machine_detection_silence_timeout: The number of milliseconds of initial silence after which an `unknown` AnsweredBy result will be returned. Possible Values: 2000-10000. Default: 5000.
        :param amd_status_callback: The URL that we should call using the `amd_status_callback_method` to notify customer application whether the call was answered by human, machine or fax.
        :param amd_status_callback_method: The HTTP method we should use when calling the `amd_status_callback` URL. Can be: `GET` or `POST` and the default is `POST`.
        :param trim: Whether to trim any leading and trailing silence from the participant recording. Can be: `trim-silence` or `do-not-trim` and the default is `trim-silence`.
        :param call_token: A token string needed to invoke a forwarded call. A call_token is generated when an incoming call is received on a Twilio number. Pass an incoming call's call_token value to a forwarded call via the call_token parameter when creating a new call. A forwarded call should bear the same CallerID of the original incoming call.

        :returns: The created ParticipantInstance
        FromToStatusCallbackStatusCallbackMethodStatusCallbackEventc                     | S r{   r&   es    r(   <lambda>z(ParticipantList.create.<locals>.<lambda>}      Q r'   LabelTimeoutRecordr   BeepStartConferenceOnEnterr   r   r   
EarlyMediaMaxParticipantsConferenceRecordConferenceTrimConferenceStatusCallbackConferenceStatusCallbackMethodConferenceStatusCallbackEventc                     | S r{   r&   r   s    r(   r   z(ParticipantList.create.<locals>.<lambda>       r'   RecordingChannelsRecordingStatusCallbackRecordingStatusCallbackMethodSipAuthUsernameSipAuthPasswordRegion!ConferenceRecordingStatusCallback'ConferenceRecordingStatusCallbackMethodRecordingStatusCallbackEventc                     | S r{   r&   r   s    r(   r   z(ParticipantList.create.<locals>.<lambda>      q r'   &ConferenceRecordingStatusCallbackEventc                     | S r{   r&   r   s    r(   r   z(ParticipantList.create.<locals>.<lambda>      ! r'   r   r   JitterBufferSizeByocCallerId
CallReasonRecordingTrack	TimeLimitMachineDetectionMachineDetectionTimeoutMachineDetectionSpeechThreshold"MachineDetectionSpeechEndThresholdMachineDetectionSilenceTimeoutAmdStatusCallbackAmdStatusCallbackMethodTrim	CallTokenr   r   r,   r-   r   )	r   r   r   maprG   creater   r   r@   3rB   r   r   r   r   r   r0   r   r   r6   r   r8   r5   r[   r\   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r2   r1   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r+   s3                                                      r(   r  zParticipantList.create  s   V yy99b9 !/9 '(>	9
 &y}});(9 9 79 &9 9 9 )*C9 &'=9 89  k!9" k#9$ "#3%9& #$5'9( !/)9* +,F+9, 12S-9. 04k2/94 $%7596 *+D798 01Q99: "#4;9< "#4=9> &?9@ 45YA9B :;fC9D /	3[1E9J 9)-->;K9P HQ9R !"3S9T #$6U9V %)"1'$5+D3U6\2S%8+E'q9;
z --&&		 ' 
 #MM}5>>*:;	
 	
r'   c1                   K   t        j                  i d|d|d|d|dt        j                  |d       d|d|d	|d
|	d|
d|d|d|d|d|d|d|i d|d|d|dt        j                  |d       d|d|d|d|d|d|d|d|d t        j                  |d!       d"t        j                  |d#       d$| d%|!d&|"|#|$|%|&|'|(|)|*|+|,|-|.|/|0d'      }1| j                  j                  d(| j                  |1)       d*{   }2t        | j                  |2| j                  d+   | j                  d,   -      S 7 7w).a,  
        Asynchronously create the ParticipantInstance

        :param from_: The phone number, Client identifier, or username portion of SIP address that made this call. Phone numbers are in [E.164](https://www.twilio.com/docs/glossary/what-e164) format (e.g., +16175551212). Client identifiers are formatted `client:name`. If using a phone number, it must be a Twilio number or a Verified [outgoing caller id](https://www.twilio.com/docs/voice/api/outgoing-caller-ids) for your account. If the `to` parameter is a phone number, `from` must also be a phone number. If `to` is sip address, this value of `from` should be a username portion to be used to populate the P-Asserted-Identity header that is passed to the SIP endpoint.
        :param to: The phone number, SIP address, or Client identifier that received this call. Phone numbers are in [E.164](https://www.twilio.com/docs/glossary/what-e164) format (e.g., +16175551212). SIP addresses are formatted as `sip:name@company.com`. Client identifiers are formatted `client:name`. [Custom parameters](https://www.twilio.com/docs/voice/api/conference-participant-resource#custom-parameters) may also be specified.
        :param status_callback: The URL we should call using the `status_callback_method` to send status information to your application.
        :param status_callback_method: The HTTP method we should use to call `status_callback`. Can be: `GET` and `POST` and defaults to `POST`.
        :param status_callback_event: The conference state changes that should generate a call to `status_callback`. Can be: `initiated`, `ringing`, `answered`, and `completed`. Separate multiple values with a space. The default value is `completed`.
        :param label: A label for this participant. If one is supplied, it may subsequently be used to fetch, update or delete the participant.
        :param timeout: The number of seconds that we should allow the phone to ring before assuming there is no answer. Can be an integer between `5` and `600`, inclusive. The default value is `60`. We always add a 5-second timeout buffer to outgoing calls, so  value of 10 would result in an actual timeout that was closer to 15 seconds.
        :param record: Whether to record the participant and their conferences, including the time between conferences. Can be `true` or `false` and the default is `false`.
        :param muted: Whether the agent is muted in the conference. Can be `true` or `false` and the default is `false`.
        :param beep: Whether to play a notification beep to the conference when the participant joins. Can be: `true`, `false`, `onEnter`, or `onExit`. The default value is `true`.
        :param start_conference_on_enter: Whether to start the conference when the participant joins, if it has not already started. Can be: `true` or `false` and the default is `true`. If `false` and the conference has not started, the participant is muted and hears background music until another participant starts the conference.
        :param end_conference_on_exit: Whether to end the conference when the participant leaves. Can be: `true` or `false` and defaults to `false`.
        :param wait_url: The URL we should call using the `wait_method` for the music to play while participants are waiting for the conference to start. The default value is the URL of our standard hold music. [Learn more about hold music](https://www.twilio.com/labs/twimlets/holdmusic).
        :param wait_method: The HTTP method we should use to call `wait_url`. Can be `GET` or `POST` and the default is `POST`. When using a static audio file, this should be `GET` so that we can cache the file.
        :param early_media: Whether to allow an agent to hear the state of the outbound call, including ringing or disconnect messages. Can be: `true` or `false` and defaults to `true`.
        :param max_participants: The maximum number of participants in the conference. Can be a positive integer from `2` to `250`. The default value is `250`.
        :param conference_record: Whether to record the conference the participant is joining. Can be: `true`, `false`, `record-from-start`, and `do-not-record`. The default value is `false`.
        :param conference_trim: Whether to trim leading and trailing silence from the conference recording. Can be: `trim-silence` or `do-not-trim` and defaults to `trim-silence`.
        :param conference_status_callback: The URL we should call using the `conference_status_callback_method` when the conference events in `conference_status_callback_event` occur. Only the value set by the first participant to join the conference is used. Subsequent `conference_status_callback` values are ignored.
        :param conference_status_callback_method: The HTTP method we should use to call `conference_status_callback`. Can be: `GET` or `POST` and defaults to `POST`.
        :param conference_status_callback_event: The conference state changes that should generate a call to `conference_status_callback`. Can be: `start`, `end`, `join`, `leave`, `mute`, `hold`, `modify`, `speaker`, and `announcement`. Separate multiple values with a space. Defaults to `start end`.
        :param recording_channels: The recording channels for the final recording. Can be: `mono` or `dual` and the default is `mono`.
        :param recording_status_callback: The URL that we should call using the `recording_status_callback_method` when the recording status changes.
        :param recording_status_callback_method: The HTTP method we should use when we call `recording_status_callback`. Can be: `GET` or `POST` and defaults to `POST`.
        :param sip_auth_username: The SIP username used for authentication.
        :param sip_auth_password: The SIP password for authentication.
        :param region: The [region](https://support.twilio.com/hc/en-us/articles/223132167-How-global-low-latency-routing-and-region-selection-work-for-conferences-and-Client-calls) where we should mix the recorded audio. Can be:`us1`, `ie1`, `de1`, `sg1`, `br1`, `au1`, or `jp1`.
        :param conference_recording_status_callback: The URL we should call using the `conference_recording_status_callback_method` when the conference recording is available.
        :param conference_recording_status_callback_method: The HTTP method we should use to call `conference_recording_status_callback`. Can be: `GET` or `POST` and defaults to `POST`.
        :param recording_status_callback_event: The recording state changes that should generate a call to `recording_status_callback`. Can be: `started`, `in-progress`, `paused`, `resumed`, `stopped`, `completed`, `failed`, and `absent`. Separate multiple values with a space, ex: `'in-progress completed failed'`.
        :param conference_recording_status_callback_event: The conference recording state changes that generate a call to `conference_recording_status_callback`. Can be: `in-progress`, `completed`, `failed`, and `absent`. Separate multiple values with a space, ex: `'in-progress completed failed'`
        :param coaching: Whether the participant is coaching another call. Can be: `true` or `false`. If not present, defaults to `false` unless `call_sid_to_coach` is defined. If `true`, `call_sid_to_coach` must be defined.
        :param call_sid_to_coach: The SID of the participant who is being `coached`. The participant being coached is the only participant who can hear the participant who is `coaching`.
        :param jitter_buffer_size: Jitter buffer size for the connecting participant. Twilio will use this setting to apply Jitter Buffer before participant's audio is mixed into the conference. Can be: `off`, `small`, `medium`, and `large`. Default to `large`.
        :param byoc: The SID of a BYOC (Bring Your Own Carrier) trunk to route this call with. Note that `byoc` is only meaningful when `to` is a phone number; it will otherwise be ignored. (Beta)
        :param caller_id: The phone number, Client identifier, or username portion of SIP address that made this call. Phone numbers are in [E.164](https://www.twilio.com/docs/glossary/what-e164) format (e.g., +16175551212). Client identifiers are formatted `client:name`. If using a phone number, it must be a Twilio number or a Verified [outgoing caller id](https://www.twilio.com/docs/voice/api/outgoing-caller-ids) for your account. If the `to` parameter is a phone number, `callerId` must also be a phone number. If `to` is sip address, this value of `callerId` should be a username portion to be used to populate the From header that is passed to the SIP endpoint.
        :param call_reason: The Reason for the outgoing call. Use it to specify the purpose of the call that is presented on the called party's phone. (Branded Calls Beta)
        :param recording_track: The audio track to record for the call. Can be: `inbound`, `outbound` or `both`. The default is `both`. `inbound` records the audio that is received by Twilio. `outbound` records the audio that is sent from Twilio. `both` records the audio that is received and sent by Twilio.
        :param time_limit: The maximum duration of the call in seconds. Constraints depend on account and configuration.
        :param machine_detection: Whether to detect if a human, answering machine, or fax has picked up the call. Can be: `Enable` or `DetectMessageEnd`. Use `Enable` if you would like us to return `AnsweredBy` as soon as the called party is identified. Use `DetectMessageEnd`, if you would like to leave a message on an answering machine. For more information, see [Answering Machine Detection](https://www.twilio.com/docs/voice/answering-machine-detection).
        :param machine_detection_timeout: The number of seconds that we should attempt to detect an answering machine before timing out and sending a voice request with `AnsweredBy` of `unknown`. The default timeout is 30 seconds.
        :param machine_detection_speech_threshold: The number of milliseconds that is used as the measuring stick for the length of the speech activity, where durations lower than this value will be interpreted as a human and longer than this value as a machine. Possible Values: 1000-6000. Default: 2400.
        :param machine_detection_speech_end_threshold: The number of milliseconds of silence after speech activity at which point the speech activity is considered complete. Possible Values: 500-5000. Default: 1200.
        :param machine_detection_silence_timeout: The number of milliseconds of initial silence after which an `unknown` AnsweredBy result will be returned. Possible Values: 2000-10000. Default: 5000.
        :param amd_status_callback: The URL that we should call using the `amd_status_callback_method` to notify customer application whether the call was answered by human, machine or fax.
        :param amd_status_callback_method: The HTTP method we should use when calling the `amd_status_callback` URL. Can be: `GET` or `POST` and the default is `POST`.
        :param trim: Whether to trim any leading and trailing silence from the participant recording. Can be: `trim-silence` or `do-not-trim` and the default is `trim-silence`.
        :param call_token: A token string needed to invoke a forwarded call. A call_token is generated when an incoming call is received on a Twilio number. Pass an incoming call's call_token value to a forwarded call via the call_token parameter when creating a new call. A forwarded call should bear the same CallerID of the original incoming call.

        :returns: The created ParticipantInstance
        r   r   r   r   r   c                     | S r{   r&   r   s    r(   r   z.ParticipantList.create_async.<locals>.<lambda>2  r   r'   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   c                     | S r{   r&   r   s    r(   r   z.ParticipantList.create_async.<locals>.<lambda>D  r   r'   r   r   r   r   r   r   r   r   r   c                     | S r{   r&   r   s    r(   r   z.ParticipantList.create_async.<locals>.<lambda>O  r   r'   r   c                     | S r{   r&   r   s    r(   r   z.ParticipantList.create_async.<locals>.<lambda>R  r   r'   r   r   r   r   r   r   Nr,   r-   r   )	r   r   r   r  rG   create_asyncr   r   r@   r  s3                                                      r(   r  zParticipantList.create_async  s    V yy99b9 !/9 '(>	9
 &y}});(9 9 79 &9 9 9 )*C9 &'=9 89  k!9" k#9$ "#3%9& #$5'9( !/)9* +,F+9, 12S-9. 04k2/94 $%7596 *+D798 01Q99: "#4;9< "#4=9> &?9@ 45YA9B :;fC9D /	3[1E9J 9)-->;K9P HQ9R !"3S9T #$6U9V %)"1'$5+D3U6\2S%8+E'q9;
z 22		 3 
 
 #MM}5>>*:;	
 	

s   DE
E8E
Nr7   limit	page_sizec                     | j                   j                  ||      }| j                  ||||d         }| j                   j                  ||d         S )a  
        Streams ParticipantInstance records from the API as a generator stream.
        This operation lazily loads records as efficiently as possible until the limit
        is reached.
        The results are returned as a generator, so this operation is memory efficient.

        :param bool muted: Whether to return only participants that are muted. Can be: `true` or `false`.
        :param bool hold: Whether to return only participants that are on hold. Can be: `true` or `false`.
        :param bool coaching: Whether to return only participants who are coaching another call. Can be: `true` or `false`.
        :param limit: Upper limit for the number of records to return. stream()
                      guarantees to never return more than limit.  Default is no limit
        :param page_size: Number of records to fetch per request, when not set will use
                          the default value of 50 records.  If no page_size is defined
                          but a limit is defined, stream() will attempt to read the
                          limit with the most efficient page size, i.e. min(limit, 1000)

        :returns: Generator that will yield up to limit results
        r  r6   r7   r2   r  r  )rG   read_limitspagestreamrB   r6   r7   r2   r  r  limitsr  s           r(   r  zParticipantList.streamu  sX    4 **5)<yydXAT  
 }}##D&/::r'   c                    K   | j                   j                  ||      }| j                  ||||d          d{   }| j                   j                  ||d         S 7 #w)a  
        Asynchronously streams ParticipantInstance records from the API as a generator stream.
        This operation lazily loads records as efficiently as possible until the limit
        is reached.
        The results are returned as a generator, so this operation is memory efficient.

        :param bool muted: Whether to return only participants that are muted. Can be: `true` or `false`.
        :param bool hold: Whether to return only participants that are on hold. Can be: `true` or `false`.
        :param bool coaching: Whether to return only participants who are coaching another call. Can be: `true` or `false`.
        :param limit: Upper limit for the number of records to return. stream()
                      guarantees to never return more than limit.  Default is no limit
        :param page_size: Number of records to fetch per request, when not set will use
                          the default value of 50 records.  If no page_size is defined
                          but a limit is defined, stream() will attempt to read the
                          limit with the most efficient page size, i.e. min(limit, 1000)

        :returns: Generator that will yield up to limit results
        r  r  Nr  )rG   r  
page_asyncstream_asyncr  s           r(   r#  zParticipantList.stream_async  sf     4 **5)<__dXAT % 
 
 }}))$w@@	
s   8A A$A c           	      @    t        | j                  |||||            S )aO  
        Lists ParticipantInstance records from the API as a list.
        Unlike stream(), this operation is eager and will load `limit` records into
        memory before returning.

        :param bool muted: Whether to return only participants that are muted. Can be: `true` or `false`.
        :param bool hold: Whether to return only participants that are on hold. Can be: `true` or `false`.
        :param bool coaching: Whether to return only participants who are coaching another call. Can be: `true` or `false`.
        :param limit: Upper limit for the number of records to return. list() guarantees
                      never to return more than limit.  Default is no limit
        :param page_size: Number of records to fetch per request, when not set will use
                          the default value of 50 records.  If no page_size is defined
                          but a limit is defined, list() will attempt to read the limit
                          with the most efficient page size, i.e. min(limit, 1000)

        :returns: list that will contain up to limit results
        r6   r7   r2   r  r  )listr  )rB   r6   r7   r2   r  r  s         r(   r&  zParticipantList.list  s1    2 KK!#  
 	
r'   c                    K   | j                  |||||       d{   2 cg c3 d{   }|7 7 	6 c}S c c}w w)a^  
        Asynchronously lists ParticipantInstance records from the API as a list.
        Unlike stream(), this operation is eager and will load `limit` records into
        memory before returning.

        :param bool muted: Whether to return only participants that are muted. Can be: `true` or `false`.
        :param bool hold: Whether to return only participants that are on hold. Can be: `true` or `false`.
        :param bool coaching: Whether to return only participants who are coaching another call. Can be: `true` or `false`.
        :param limit: Upper limit for the number of records to return. list() guarantees
                      never to return more than limit.  Default is no limit
        :param page_size: Number of records to fetch per request, when not set will use
                          the default value of 50 records.  If no page_size is defined
                          but a limit is defined, list() will attempt to read the limit
                          with the most efficient page size, i.e. min(limit, 1000)

        :returns: list that will contain up to limit results
        r%  N)r#  )rB   r6   r7   r2   r  r  r   s          r(   
list_asynczParticipantList.list_async  s]     6 '+&7&7!# '8 ' !	
 	
 !	
 	
 		
 	
s0   >1>953
59>59>
page_tokenpage_numberc           	          t        j                  ||||||d      }| j                  j                  d| j                  |      }t        | j                  || j                        S )a  
        Retrieve a single page of ParticipantInstance records from the API.
        Request is executed immediately

        :param muted: Whether to return only participants that are muted. Can be: `true` or `false`.
        :param hold: Whether to return only participants that are on hold. Can be: `true` or `false`.
        :param coaching: Whether to return only participants who are coaching another call. Can be: `true` or `false`.
        :param page_token: PageToken provided by the API
        :param page_number: Page Number, this value is simply for client state
        :param page_size: Number of records to return, defaults to 50

        :returns: Page of ParticipantInstance
        r   r   r   	PageTokenr   PageSizer   r   r:   params)r   r   rG   r  r   r   r@   	rB   r6   r7   r2   r)  r*  r  r   responses	            r(   r  zParticipantList.page  sa    , yy$'#%	
 ==%%U		$%Ot}}hGGr'   c           	         K   t        j                  ||||||d      }| j                  j                  d| j                  |       d{   }t        | j                  || j                        S 7 %w)a  
        Asynchronously retrieve a single page of ParticipantInstance records from the API.
        Request is executed immediately

        :param muted: Whether to return only participants that are muted. Can be: `true` or `false`.
        :param hold: Whether to return only participants that are on hold. Can be: `true` or `false`.
        :param coaching: Whether to return only participants who are coaching another call. Can be: `true` or `false`.
        :param page_token: PageToken provided by the API
        :param page_number: Page Number, this value is simply for client state
        :param page_size: Number of records to return, defaults to 50

        :returns: Page of ParticipantInstance
        r,  r   r/  N)r   r   rG   r"  r   r   r@   r1  s	            r(   r"  zParticipantList.page_async"  sv     , yy$'#%	
 11dii 2 
 
 t}}hGG
s   AA2
A0&A2
target_urlc                     | j                   j                  j                  j                  d|      }t	        | j                   || j
                        S )z
        Retrieve a specific page of ParticipantInstance records from the API.
        Request is executed immediately

        :param target_url: API-generated URL for the requested results page

        :returns: Page of ParticipantInstance
        r   )rG   domaintwiliorequestr   r@   rB   r4  r2  s      r(   get_pagezParticipantList.get_pageH  s=     ==''..66ujIt}}hGGr'   c                    K   | j                   j                  j                  j                  d|       d{   }t	        | j                   || j
                        S 7 %w)a
  
        Asynchronously retrieve a specific page of ParticipantInstance records from the API.
        Request is executed immediately

        :param target_url: API-generated URL for the requested results page

        :returns: Page of ParticipantInstance
        r   N)rG   r6  r7  request_asyncr   r@   r9  s      r(   get_page_asynczParticipantList.get_page_asyncT  sJ      --44BB5*UUt}}hGG Vs   4AA&Ar.   c                 h    t        | j                  | j                  d   | j                  d   |      S a(  
        Constructs a ParticipantContext

        :param call_sid: The [Call](https://www.twilio.com/docs/voice/api/call-resource) SID or label of the participant to update. Non URL safe characters in a label must be percent encoded, for example, a space character is represented as %20.
        r,   r-   r;   rF   rG   r@   rB   r.   s     r(   r>   zParticipantList.get`  4     "MM}5>>*:;	
 	
r'   c                 h    t        | j                  | j                  d   | j                  d   |      S r?  r@  rA  s     r(   __call__zParticipantList.__call__m  rB  r'   c                      y)rh   z"<Twilio.Api.V2010.ParticipantList>r&   rH   s    r(   rz   zParticipantList.__repr__z  r   r'   )!r   r   r   r   r}   r=   r   r   r   r|   r   intr   r   r  r  r   r	   r  r
   r#  r&  r(  r   r  r"  r:  r=  rF   r>   rD  rz   r   r   s   @r(   r   r     s   
 
c 
3 
0 /5ll5;\\:@,,$*LL&,ll&,ll%+\\#)<<9?6<ll'-||*0,,+1<</5||06.4ll9?@FEK\\178>?E||0606%+\\CI<<JP,,DJLL LL(.0617#)<<(.*0,,.4ll)/068>AGEK\\@F28,,9?#)<<)/gs
s
 s
 sF{+	s

 !&c6k 2s
  %T#Y%67s
 S&[!s
 sF{#s
 dFl#s
 T6\"s
 CK s
 $)v#6s
 !&dFl 3s
 V$s
 3;'s
  4<(!s
"  V,#s
$ !f-%s
& sF{+'s
( %*#v+$6)s
* ,1f+=+s
, +0S	60A*B-s
. "#v+./s
0 $)f#51s
2 +0V*<3s
4 !f-5s
6 !f-7s
8 c6k"9s
: /4CK.@;s
< 6;3;5G=s
> */tCy&/@)A?s
@ 5:Iv5
As
F f%Gs
H !f-Is
J "#v+.Ks
L CK Ms
N f%Os
P 3;'Qs
R sF{+Ss
T #v+&Us
V !f-Ws
X $)f#5Ys
Z -2#v+,>[s
\ 16c6k0B]s
^ ,1f+=_s
` #3;/as
b %*#v+$6cs
d CK es
f #v+&gs
h 
is
r /5ll5;\\:@,,$*LL&,ll&,ll%+\\#)<<9?6<ll'-||*0,,+1<</5||06.4ll9?@FEK\\178>?E||0606%+\\CI<<JP,,DJLL LL(.0617#)<<(.*0,,.4ll)/068>AGEK\\@F28,,9?#)<<)/gs
s
 s
 sF{+	s

 !&c6k 2s
  %T#Y%67s
 S&[!s
 sF{#s
 dFl#s
 T6\"s
 CK s
 $)v#6s
 !&dFl 3s
 V$s
 3;'s
  4<(!s
"  V,#s
$ !f-%s
& sF{+'s
( %*#v+$6)s
* ,1f+=+s
, +0S	60A*B-s
. "#v+./s
0 $)f#51s
2 +0V*<3s
4 !f-5s
6 !f-7s
8 c6k"9s
: /4CK.@;s
< 6;3;5G=s
> */tCy&/@)A?s
@ 5:Iv5
As
F f%Gs
H !f-Is
J "#v+.Ks
L CK Ms
N f%Os
P 3;'Qs
R sF{+Ss
T #v+&Us
V !f-Ws
X $)f#5Ys
Z -2#v+,>[s
\ 16c6k0B]s
^ ,1f+=_s
` #3;/as
b %*#v+$6cs
d CK es
f #v+&gs
h 
is
n &,\\$*LL(.##';T6\"; D&L!; f%	;
 }; C=; 
%	&;F &,\\$*LL(.##'AT6\"A D&L!A f%	A
 }A C=A 
*	+AF &,\\$*LL(.##'!
T6\"!
 D&L!!
 f%	!

 }!
 C=!
 
!	"!
J &,\\$*LL(.##'"
T6\""
 D&L!"
 f%	"

 }"
 C="
 
!	""
L &,\\$*LL(.)/*0,,(."HT6\""H D&L!"H f%	"H
 #v+&"H 3;'"H f%"H 
"HL &,\\$*LL(.)/*0,,(.$HT6\"$H D&L!$H f%	$H
 #v+&$H 3;'$H f%$H 
$HL
H3 
H? 
H
Hs 
H 
H
C 
$6 

 
); 
4# 4r'   r   N)__doc__r   typingr   r   r   r   r   r	   r
   twilio.baser   r   r   twilio.base.instance_contextr   twilio.base.instance_resourcer   twilio.base.list_resourcer   twilio.base.versionr   twilio.base.pager   r   rF   r   r   r&   r'   r(   <module>rO     sj     L L L 6 6 8 : 2 ' !^K* ^KBaJ aJH4d 4.J
4l J
4r'   