
    +hw	                     V    S SK Jr  S SKr " S S\R                  R                  5      rg)    )DictNc                   N   ^  \ rS rSrS\\\R                  4   4U 4S jjrSr	U =r
$ )AttnProcsLayers   
state_dictc                   >^ ^ [         TT ]  5         [        R                  R	                  UR                  5       5      T l        [        [        UR                  5       5      5      T l
        [        UR                  5       5       VVs0 s H  u  p#X2_M	     snnT l        SS/T l        S nU 4S jmU4S jnT R                  U5        T R                  USS9  g s  snnf )Nz
.processorz
.self_attnc                     0 nUR                  5        HH  u  pV[        UR                  S5      S   5      nUR                  SU 3U R                  U   5      nXdU'   MJ     U$ )N.   layers.)itemsintsplitreplacemapping)	moduler   argskwargsnew_state_dictkeyvaluenumnew_keys	            Q/home/james-whalen/.local/lib/python3.13/site-packages/diffusers/loaders/utils.pymap_to(AttnProcsLayers.__init__.<locals>.map_to    sb    N(..0
#))C.+,++uov~~c7JK*/w' 1
 "!    c           	         > TR                    H!  nX ;   d  M
  U R                  U5      S   U-   s  $    [        S[        UR	                  5       5       SU  STR                    S35      e)Nr   z1There seems to be a problem with the state_dict: z. z has to have one of r
   )
split_keysr   
ValueErrorsetkeys)r   r   kselfs      r   	remap_key+AttnProcsLayers.__init__.<locals>.remap_key)   s    __899Q<?Q.. % CC
HYDZC[[]^a]bbvw{  xG  xG  wH  HI  J r   c                    > [        UR                  5       5      nU H5  nT" XQ5      nUR                  USU R                  U    35      nX   X'   X	 M7     g )Nr   )listr"   r   rev_mapping)	r   r   r   r   all_keysr   replace_keyr   r%   s	           r   map_from*AttnProcsLayers.__init__.<locals>.map_from2   s[    JOO-.H'8++kWV=O=OP[=\<]3^_&0o
#O	  r   T)with_module)super__init__torchnn
ModuleListvalueslayersdict	enumerater"   r   r)   r   _register_state_dict_hook"_register_load_state_dict_pre_hook)r$   r   r#   vr   r,   r%   	__class__s   `     @r   r0   AttnProcsLayers.__init__   s    hh))**;*;*=>Ijoo&789-6z7H-IJ-ITQAD-IJ (6	"		$ 	&&v.//d/KE Ks   C)r5   r   r)   r   )__name__
__module____qualname____firstlineno__r   strr1   Tensorr0   __static_attributes____classcell__)r;   s   @r   r   r      s%    &L4U\\(9#: &L &Lr   r   )typingr   r1   r2   Moduler    r   r   <module>rH      s#     'Lehhoo 'Lr   