
    bi                         d dl mZmZmZ ddlmZmZ ddlmZm	Z	m
Z
mZ  ej                  e      Z G d de
      Z
 G d d	e      Z G d
 de	      Z	y)    )OptionalTupleUnion   )	deprecatelogging   )%SparseControlNetConditioningEmbeddingSparseControlNetModelSparseControlNetOutputzero_modulec                        e Zd Z fdZ xZS )r   c                 B    d}t        dd|       t        |   |i | y )NzImporting `SparseControlNetOutput` from `diffusers.models.controlnet_sparsectrl` is deprecated and this will be removed in a future version. Please use `from diffusers.models.controlnets.controlnet_sparsectrl import SparseControlNetOutput`, instead.z=diffusers.models.controlnet_sparsectrl.SparseControlNetOutput0.34r   super__init__selfargskwargsdeprecation_message	__class__s       a/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/diffusers/models/controlnet_sparsectrl.pyr   zSparseControlNetOutput.__init__   s-     ZQSY[no$)&)    __name__
__module____qualname__r   __classcell__r   s   @r   r   r      s    * *r   r   c                        e Zd Z fdZ xZS )r
   c                 B    d}t        dd|       t        |   |i | y )Na  Importing `SparseControlNetConditioningEmbedding` from `diffusers.models.controlnet_sparsectrl` is deprecated and this will be removed in a future version. Please use `from diffusers.models.controlnets.controlnet_sparsectrl import SparseControlNetConditioningEmbedding`, instead.zLdiffusers.models.controlnet_sparsectrl.SparseControlNetConditioningEmbeddingr   r   r   s       r   r   z.SparseControlNetConditioningEmbedding.__init__&   s1     xZ\bdw	
 	$)&)r   r   r!   s   @r   r
   r
   %   s    * *r   r
   c            ;       v    e Zd Z	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d dededededeedf   deeee   f   deedf   d	ed
ededede	e   dededeeeedf   f   de	eeee   f      deeeedf   f   deeeedf   f   de	eeeedf   f      dededede	eedf      dedededededef: fdZ
 xZS )!r   in_channelsconditioning_channelsflip_sin_to_cos
freq_shiftdown_block_types.only_cross_attentionblock_out_channelslayers_per_blockdownsample_paddingmid_block_scale_factoract_fnnorm_num_groupsnorm_epscross_attention_dimtransformer_layers_per_block transformer_layers_per_mid_block%temporal_transformer_layers_per_blockattention_head_dimnum_attention_headsuse_linear_projectionupcast_attentionresnet_time_scale_shift#conditioning_embedding_out_channelsglobal_pool_conditions%controlnet_conditioning_channel_ordermotion_max_seq_lengthmotion_num_attention_headsconcat_conditioning_mask"use_simplified_condition_embeddingc                     d}t        dd|       t        |   d!i d|d|d|d|d|d	|d
|d|d|	d|
d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d | y )"NzImporting `SparseControlNetModel` from `diffusers.models.controlnet_sparsectrl` is deprecated and this will be removed in a future version. Please use `from diffusers.models.controlnets.controlnet_sparsectrl import SparseControlNetModel`, instead.z<diffusers.models.controlnet_sparsectrl.SparseControlNetModelr   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA    r   ) r   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   r   r   s                                   r   r   zSparseControlNetModel.__init__/   sN   J XPRXZmn 	
#	
"7	
 ,	
 "		

 .	
 "6	
  2	
 .	
  2	
 $:	
 	
 ,	
 	
 !4	
 *F	
  .N!	
" 3X#	
$  2%	
& !4'	
( #8)	
* .+	
, %<-	
. 1T/	
0 $:1	
2 3X3	
4 #85	
6 (B7	
8 &>9	
: 0R;	
r   )   rD   Tr   )CrossAttnDownBlockMotionrE   rE   DownBlockMotionF)i@  i     rG   r   r	   r	   silu    gh㈵>i   r	   Nr	      NFFdefault)   rI   `      FrgbrI   rJ   TT)r   r   r   intboolr   strr   floatr   r   r    r!   s   @r   r   r   .   s@    %& $-
 :?.D !"#())+#&DEMQMN:;EI&+!&'0IZ',5:%'*+)-37GE
E
  #E
 	E

 E
  S/E
 $D%+$56E
 "#s(OE
 E
  E
  !&!E
" #E
$ "#%E
& 'E
( !)E
* ',CsCx,@&A+E
, +35eCj3I*J-E
. 05S%S/5I/J/E
0 "#uS#X"671E
2 &eCsCx,@&AB3E
4  $5E
6 7E
8 "%9E
: .6eCHo-F;E
< !%=E
> 03?E
@  #AE
B %(CE
D #'EE
F -1GE
 E
r   r   N)typingr   r   r   utilsr   r   !controlnets.controlnet_sparsectrlr
   r   r   r   
get_loggerr   loggerrC   r   r   <module>rY      sW     * ) &  
		H	%*3 **,Q *F
1 F
r   