
    biF                     
   d dl mZ d dlZddlmZmZmZ ddlmZm	Z	 ee	efZ
eefZdZdZdZ eh eee      Zej"                  j$                  ej"                  j&                  ej"                  j(                  ej"                  j*                  ej"                  j,                  ej"                  j.                  ej"                  j0                  fZd	ej"                  j4                  d
edeej"                  j4                     fdZy)    )OptionalN   )AttentionModuleMixinFeedForwardLuminaFeedForward)	AttentionMochiAttention)blockstransformer_blockssingle_transformer_blockslayers)temporal_transformer_blocks)r
   r   r   modulefqnreturnc                 F    | j                         D ]  \  }}||k(  s|c S  y )N)named_modules)r   r   submodule_name	submodules       R/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/diffusers/hooks/_common.py_get_submodule_from_fqnr   4   s2    %+%9%9%; !	S      )typingr   torchmodels.attentionr   r   r   models.attention_processorr   r	   _ATTENTION_CLASSES_FEEDFORWARD_CLASSES&_SPATIAL_TRANSFORMER_BLOCK_IDENTIFIERS'_TEMPORAL_TRANSFORMER_BLOCK_IDENTIFIERS$_CROSS_TRANSFORMER_BLOCK_IDENTIFIERStuple"_ALL_TRANSFORMER_BLOCK_IDENTIFIERSnnConv1dConv2dConv3dConvTranspose1dConvTranspose2dConvTranspose3dLinear_GO_LC_SUPPORTED_PYTORCH_LAYERSModulestrr    r   r   <module>r0      s      S S B  1EF #%67 )p &*J ''Q $%*	/	0 
.& " 
HHOO	HHOO	HHOO	HH	HH	HH	HHOO
# EHHOO # (588??B[ r   