o
    ٷi!                     @  s   d dl mZ d dlZd dlmZmZ d dlmZmZ ddl	m
Z
 zd dlZW n ey1   dZY nw erFd dlmZ d dlmZ dd	lmZ G d
d dZdS )    )annotationsN)CallableSequence)TYPE_CHECKINGLiteral   )utils)	Component)
Renderable)BlockContextc                   @  sx   e Zd Z																														
			dSdTdIdJZdKdL ZdMdN ZdOdP ZdQdR ZdS )UBlockFunctionF   defaultNfullonceTsse      ? fnCallable | Noneinputs"Sequence[Component | BlockContext]outputs
preprocessboolpostprocessinputs_as_dicttargetslist[tuple[int | None, str]]_idintbatchmax_batch_sizeconcurrency_limitint | None | Literal['default']concurrency_id
str | Nonetracks_progressapi_namestr | Literal[False]api_descriptionstr | None | Literal[False]jsstr | Literal[True] | Noneshow_progress$Literal['full', 'minimal', 'hidden']show_progress_onSequence[Component] | Nonecancelslist[int] | Nonecollects_event_datatrigger_after
int | Nonetrigger_only_on_successtrigger_only_on_failuretrigger_mode*Literal['always_last', 'once', 'multiple']queuescroll_to_outputshow_api
renderableRenderable | Nonerendered_inrender_iterationis_cancel_function
connectionLiteral['stream', 'sse']
time_limitfloat | Nonestream_everyfloatlike_user_messageevent_specific_argslist[str] | Nonepagestrjs_implementationkey(str | int | tuple[int | str, ...] | None	validatorc)           )      C  sj  || _ || _|| _|| _|| _|| _|| _|| _|ptt	|| _
|	| _|
| _d| _d| _|| _|| _|d ur=t|ddnd | _|| _|| _|| _|| _|| _|pRg | _|| _|| _|| _|| _|| _|d u ridn|| _t  rrdn|| _!|| _"t#$| j pt#%| j | _&|| _'|| _(|| _)|%| _*|(| _+|&r|&| j _,|| _-|!| _.|"| _/| | _0|#| _1|$| _2|'| _3| 4  d S )Nr   __name__r   F)5r   r   r   r   r   r   r'   r#   rM   idr%   r!   r"   total_runtime
total_runsr   r   getattrnamer(   r*   r,   r.   r0   r2   r4   r5   r7   r8   r9   r;   r   	get_spacer<   r=   inspectisgeneratorfunctionisasyncgenfunctiontypes_generatorr>   r@   rA   rL   rQ   __js_implementation__rB   rE   rG   rC   rI   rJ   rO   spaces_auto_wrap))selfr   r   r   r   r   r   r   r   r!   r"   r#   r%   r'   r(   r*   r,   r.   r0   r2   r4   r5   r7   r8   r9   r;   r<   r=   r>   r@   rA   rB   rC   rE   rG   rI   rJ   rL   rN   rO   rQ    r`   I/home/ubuntu/.local/lib/python3.10/site-packages/gradio/block_function.py__init__   sd   +

zBlockFunction.__init__c                 C  s.   t d u rd S t d u rd S t | j| _d S N)spacesr   rX   gradio_auto_wrapr   r_   r`   r`   ra   r^   w   s
   zBlockFunction.spaces_auto_wrapc                 C  s   t | j| j| jdS )N)r   r   r   )rM   rW   r   r   rf   r`   r`   ra   __str__~   s   zBlockFunction.__str__c                 C  s   t | S rc   )rM   rf   r`   r`   ra   __repr__   s   zBlockFunction.__repr__c                 C  s  i d| j d| jddd | jD ddd | jD d| jd ud	| jd
| jd| jd| jd| j	d| j
d| jd u rAd ndd | jD d| jd| jd| jd| j| jdd| j| j| j| j| j| j| jrr| jj nd | jrz| jj nd | j| j| j| j| jt| jdd dS )NrS   r   r   c                 S     g | ]}|j qS r`   r   .0blockr`   r`   ra   
<listcomp>       z,BlockFunction.get_config.<locals>.<listcomp>r   c                 S  ri   r`   rj   rk   r`   r`   ra   rn      ro   
backend_fnr,   r;   r(   r*   r<   r.   r0   c                 S  ri   r`   rj   rk   r`   r`   ra   rn      ro   r!   r"   r2   types)	generatorcancelr4   r]   )r5   r7   r8   r9   r=   r@   	render_idrC   rE   rG   rI   rJ   rN   )r   r   r   r   r   r,   r;   r(   r*   r<   r.   r0   r!   r"   r2   r\   rB   r4   r5   r7   r8   r9   r=   r@   r>   rC   rE   rG   rI   rJ   rV   rf   r`   r`   ra   
get_config   sn   
	

zBlockFunction.get_config) Fr   r   NFFNNr   NNFNFFr   TFTNNNFr   Nr   FNr   NNN)Pr   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/   r0   r1   r2   r3   r4   r   r5   r6   r7   r   r8   r   r9   r:   r;   r   r<   r   r=   r   r>   r?   r@   r?   rA   r6   rB   r   rC   rD   rE   rF   rG   rH   rI   r   rJ   rK   rL   rM   rN   r&   rO   rP   rQ   r   )rR   
__module____qualname__rb   r^   rg   rh   ru   r`   r`   r`   ra   r      sL    `	r   )
__future__r   rY   collections.abcr   r   typingr   r   r   r   rd   	Exceptiongradio.components.baser	   gradio.renderabler
   blocksr   r   r`   r`   r`   ra   <module>   s    