
    cCi
                         S SK Jr  S SKrSSKJr  SSKJr  SSKJrJ	r	   " S S	\5      r
 " S
 S\5      r " S S\	5      r/ SQrg)    )OptionalN   )Cache   )Gemma2Config)Gemma2DecoderLayerGemma2ForCausalLMc                       \ rS rSrSrg)VaultGemmaConfig    N__name__
__module____qualname____firstlineno____static_attributes__r       k/home/james-whalen/.local/lib/python3.13/site-packages/transformers/models/vaultgemma/modular_vaultgemma.pyr   r          r   r   c                   b  ^  \ rS rSrU 4S jr      SS\R                  S\\R                  \R                  4   S\\R                     S\\R                     S\\
   S\\   S	\\   S
\\R                     S\\R                  \\\R                  \R                  4      4   4S jjrSrU =r$ )VaultGemmaDecoderLayer   c                 .   > [         TU ]  " S0 UD6  U ?U ?g )Nr   )super__init__post_attention_layernormpost_feedforward_layernorm)selfsuper_kwargs	__class__s     r   r   VaultGemmaDecoderLayer.__init__   s    (<()+r   hidden_statesposition_embeddingsattention_maskposition_idspast_key_valuesoutput_attentions	use_cachecache_positionreturnc	                     Un
U R                  U5      nU R                  " SUUUUUUUUS.U	D6u  pX-   nUn
U R                  U5      nU R                  U5      nX-   nU4nU(       a  X4-  nU$ )N)r#   r$   r%   r&   r'   r(   r)   r*   r   )input_layernorm	self_attnpre_feedforward_layernormmlp)r   r#   r$   r%   r&   r'   r(   r)   r*   kwargsresidualself_attn_weightsoutputss                r   forwardVaultGemmaDecoderLayer.forward#   s     !,,];+/>> 
,
' 3)%+/)
,
 
,
( !0 66}E/ 0 "++Gr   r   )NNNFFN)r   r   r   r   r   torchTensortupler   
LongTensorr   boolFloatTensorr5   r   __classcell__)r!   s   @r   r   r      s    , 2637+/,1$)59%||% #5<<#=>% !.	%
 u//0% "%% $D>% D>% !!1!12% 
u  (51B1BEDUDU1U+V"WW	X% %r   r   c                       \ rS rSrSrg)VaultGemmaForCausalLMK   r   Nr   r   r   r   r?   r?   K   r   r   r?   )r   r?   VaultGemmaModelVaultGemmaPreTrainedModel)typingr   r7   cache_utilsr   gemma2.configuration_gemma2r   gemma2.modeling_gemma2r   r	   r   r   r?   __all__r   r   r   <module>rH      sD         6 J	| 	+/ +\	- 	r   