+
    Pje	                        ^ RI HtHtHt ^ RIt^ RIHt ^RIHtH	t	 ^RI
Ht Rt ! R R]]P                  P                  4      t ! R	 R
]	]P                  P                  4      t ! R R]]P                  P                  4      tR# )    )DictOptionalcastN)apply_for_scriptable_torch)RearrangeMixinReduceMixin)_EinmixMixinzAlex Rogozhnikovc                   ,   a  ] tR t^t o R tR tRtV tR# )	Rearrangec                l    V P                   VP                  ,          p\        W!R V P                  R7      # )	rearrangereduction_type	axes_dims)_multirecipendimr   _axes_lengthsselfinputrecipes   && l/Users/ahmed/devFolder/Ultron/claude-voice/gateway/.venv/lib/python3.14/site-packages/einops/layers/torch.pyforwardRearrange.forward   s,    ""5::.)&_c_q_qrr    c                    R # N r   xs   &&r   _apply_recipeRearrange._apply_recipe       r   r   N__name__
__module____qualname____firstlineno__r   r!   __static_attributes____classdictcell____classdict__s   @r   r   r      s     s r   r   c                   ,   a  ] tR t^t o R tR tRtV tR# )Reducec                    V P                   VP                  ,          p\        W!V P                  V P                  R 7      # )r   )r   r   r   	reductionr   r   s   && r   r   Reduce.forward   s0    ""5::.)&bfbtbtuur   c                    R # r   r   r   s   &&r   r!   Reduce._apply_recipe   r#   r   r   Nr$   r+   s   @r   r.   r.      s     v r   r.   c                   >   a  ] tR t^!t o R tV 3R lR ltR tRtV tR# )EinMixc                L   \         P                  P                  \         P                  ! V4      P	                  V) V4      R R7      V n        VeN   \         P                  P                  \         P                  ! V4      P	                  V) V4      R R7      V n        R# RV n        R# )T)requires_gradN)torchnn	Parameterzerosuniform_weightbias)r   weight_shapeweight_bound
bias_shape
bias_bounds   &&&&&r   _create_parametersEinMix._create_parameters"   s    hh((KK%..}lK[_ ) 
 !**J'00*jIY] + DI DIr   c          	      r   < V ^8  d   QhRS[ S[,          RS[ S[,          RS[ S[,          RS[ S[,          /# )   pre_reshape_patternpre_reshape_lengthspost_reshape_patternpost_reshape_lengths)r   strr   )formatr,   s   "r   __annotate__EinMix.__annotate__-   sI     f f%c]f &d^f 'sm	f
 'tnfr   c                    R V n         Ve    \        V3/ \        \        V4      B V n         R V n        Ve"   \        V3/ \        \        V4      B V n        R # R # r   )pre_rearranger   r   dictpost_rearrange)r   rG   rH   rI   rJ   s   &&&&&r   _create_rearrange_layersEinMix._create_rearrange_layers-   s[     "*!*+>!b$tM`Ba!bD"+"+,@"eDOcDd"eD ,r   c                   V P                   e   V P                  V4      p\        P                  ! V P                  WP                  4      pV P
                  e   W P
                  ,          pV P                  e   V P                  V4      pV# r   )rP   r8   einsumeinsum_patternr=   r>   rR   )r   r   results   && r   r   EinMix.forward<   so    )&&u-Ed115++F99 iiF*((0Fr   )r>   rR   rP   r=   N)	r%   r&   r'   r(   rC   rS   r   r)   r*   r+   s   @r   r5   r5   !   s      	f f r   r5   )typingr   r   r   r8   einops._torch_specificr    r   r   _einmixr	   
__author__r9   Moduler   r.   r5   r   r   r   <module>r`      s^    ' '  = ) !
 [%((// #\588?? #r   