+
    œ°³jÓO  ã                   óÔ  € R t ^ RIt^ RIt^ RIHt ^RIHt ^RIHt ^RI	H
t
Ht ^RIHt ^RIHt ^RIHt ^R	IHtHt ^R
IHt ^RIHtHt ^RIHt ]P8                  ! ]4      tR R ltR R lt R R lt! ! R R]PD                  4      t# ! R R]PD                  4      t$ ! R R]4      t%] ! R R]4      4       t&] ! R R]&4      4       t']! RR7       ! R R ]&]4      4       t(. R!Ot)R# )"zPyTorch CodeGen model.N)Únn)Úinitialization)ÚACT2FN)ÚCacheÚDynamicCache)ÚGenerationMixin)Úcreate_causal_mask)ÚGradientCheckpointingLayer)ÚBaseModelOutputWithPastÚCausalLMOutputWithPast)ÚPreTrainedModel)Úauto_docstringÚlogging©ÚCodeGenConfigc                óP   € V ^8„  d   QhR\         R\         R\        P                  /# )é   Únum_posÚdimÚreturn)ÚintÚtorchÚTensor)Úformats   "Úm/home/luca/screen-checking/.venv/lib/python3.14/site-packages/transformers/models/codegen/modeling_codegen.pyÚ__annotate__r   (   s*   € ÷ Pñ P¬ð P´3ð P¼5¿<¹<ñ Pó    c           	      ó°  € R R\         P                  ! ^ V^\         P                  R7      V,          ,          ,          p\         P                  ! R\         P                  ! V \         P                  R7      P	                  4       V4      P	                  4       p\         P
                  ! \         P                  ! V4      \         P                  ! V4      3^R7      # )g      ð?i'  )Údtypezi , j -> i j©r   )r   ÚarangeÚint64ÚeinsumÚfloatÚcatÚsinÚcos)r   r   Úinv_freqÚsinusoid_inps   &&  r   Úcreate_sinusoidal_positionsr)   (   s…   € Ø�e¤§¢¨Q°°Q¼e¿k¹kÔ JÈSÕ PÕQÕR€HÜ—<’< ´·²¸WÌEÏKÉKÔ0X×0^Ñ0^Ó0`ÐbjÓk×qÑqÓs€LÜ�9Š9”e—i’i Ó-¬u¯yªy¸Ó/FÐGÈQÔOÐOr   c                óX   € V ^8„  d   QhR\         P                  R\         P                  /# )r   Úxr   ©r   r   )r   s   "r   r   r   /   s"   € ÷ ñ œŸ™ð ¬¯©ñ r   c                 ó~   € V R,          pV R,          p\         P                  ! V) V3RR7      p V P                  R4      # )ºNNNr   )r.   r.   r.   :NNr   )r.   r.   r.   :é   Nr   éÿÿÿÿéþÿÿÿ)r   ÚstackÚflatten)r+   Úx1Úx2s   &  r   Úrotate_every_twor6   /   s9   € Ø	
ˆ<�€BØ	
ˆ=Õ	€BÜ�Š�b�S˜"�I 2Ô&€AØ�9‰9�R‹=Ðr   c                ó˜   € V ^8„  d   QhR\         P                  R\         P                  R\         P                  R\         P                  /# )r   Útensorr%   r&   r   r,   )r   s   "r   r   r   7   s;   € ÷ =ñ =¤§¡ð =´E·L±Lð =ÄuÇ|Á|ð =ÔX]×XdÑXdñ =r   c                 ó¼   € \         P                  ! VR,          ^^4      p\         P                  ! VR,          ^^4      pW,          \        V 4      V,          ,           # )r.   )r.   r.   Nr.   )r   Úrepeat_interleaver6   )r8   r%   r&   s   &&&r   Úapply_rotary_pos_embr;   7   sL   € Ü
×
!Ò
! # mÕ"4°a¸Ó
;€CÜ
×
!Ò
! # mÕ"4°a¸Ó
;€CØ�LÔ-¨fÓ5¸Õ;Õ<Ð<r   c                   ób   a a€ ] tR t^=t oRV 3R lltR tR tRR ltR	V3R lR lltRt	Vt
V ;t# )
ÚCodeGenAttentionc                óv  <€ \         SV `  4        VP                  V n        \        P
                  ! VP                  4      V n        \        P
                  ! VP                  4      V n	        W n
        Vf.   \        P                  RV P                  P                   R24       VP                  V n        VP"                  V n        V P                   V P"                  ,          V n        V P$                  V P"                  ,          V P                   8w  d'   \'        RV P                    RV P"                   R24      h\(        P*                  ! V P$                  4      V n        \        P.                  ! V P                   V P                   ^,          RR7      V n        \        P.                  ! V P                   V P                   RR7      V n        VP4                  V n        V P4                  ;'       g    V P                   V n        \        P8                  ! \;        V P                  V P6                  4      RR7      V n        R # )	NzInstantiating z¹ without passing a `layer_idx` is not recommended and will lead to errors during the forward call if caching is used. Please make sure to provide a `layer_idx` when creating this class.zEembed_dim must be divisible by num_attention_heads (got `embed_dim`: z and `num_attention_heads`: z).F)Úbias)Ú
persistent)ÚsuperÚ__init__Úmax_position_embeddingsÚmax_positionsr   ÚDropoutÚ
attn_pdropÚattn_dropoutÚresid_pdropÚresid_dropoutÚ	layer_idxÚloggerÚwarning_onceÚ	__class__Ú__name__Úhidden_sizeÚ	embed_dimÚnum_attention_headsÚhead_dimÚ
ValueErrorÚmathÚsqrtÚ
scale_attnÚLinearÚqkv_projÚout_projÚ
rotary_dimÚpos_embd_dimÚBufferr)   Úembed_positions)ÚselfÚconfigrJ   rM   s   &&&€r   rB   ÚCodeGenAttention.__init__>   s¥  ø€ Ü‰ÑÔà#×;Ñ;ˆÔÜŸJšJ v×'8Ñ'8Ó9ˆÔÜŸZšZ¨×(:Ñ(:Ó;ˆÔØ"ŒØÒÜ×ÑØ  §¡×!8Ñ!8Ð 9ð :,ð ,ôð  ×+Ñ+ˆŒØ#)×#=Ñ#=ˆÔ ØŸ™¨$×*BÑ*BÕBˆŒØ�=‰=˜4×3Ñ3Õ3°t·~±~ÔEÜØWÐX\×XfÑXfÐWgð h+Ø+/×+CÑ+CÐ*DÀBðHóð ô Ÿ)š) D§M¡MÓ2ˆŒÜŸ	š	 $§.¡.°$·.±.À1Õ2DÈ5ÔQˆŒäŸ	š	 $§.¡.°$·.±.ÀuÔMˆŒØ ×+Ñ+ˆŒØ ŸO™O×=Ð=¨t¯~©~ˆÔÜ!ŸyšyÜ'¨×(:Ñ(:¸D×<MÑ<MÓNÐ[`ô 
ˆÖr   c                óÒ   € VP                  VP                  R R W$,          V3,           4      pVP                  VP                  R R R,           VP                  RR  ,           4      pV# )Nr0   r1   )r0   )ÚreshapeÚshape)r^   r+   Ún_headÚdim_headÚmp_numÚreshapeds   &&&&& r   Ú_split_headsÚCodeGenAttention._split_heads^   s[   € Ø—9‘9˜QŸW™W S b˜\¨VÕ-=¸xÐ,HÕHÓIˆØ×#Ñ# A§G¡G¨C¨R L°5Õ$8¸8¿>¹>È"È#Ð;NÕ$NÓOˆØˆr   c                óž  € \        VP                  4      ^8X  d%   VP                  ^ ^^^^4      P                  4       pM^\        VP                  4      ^8X  d$   VP                  ^ ^^^4      P                  4       pM!\	        R\        VP                  4       24      hVP                  4       RR W#,          3,           pVP                  V4      # )z=
Merges attn_head_size dim and num_attn_heads dim into n_ctx
z3Input tensor rank should be one of [4, 5], but is: Nr1   )Úlenrc   ÚpermuteÚ
contiguousrS   ÚsizeÚview)r^   r8   rQ   Úattn_head_sizeÚ	new_shapes   &&&& r   Ú_merge_headsÚCodeGenAttention._merge_headsc   s°   € ô ˆv�|‰|Ó Ô!Ø—^‘^ A q¨!¨Q°Ó2×=Ñ=Ó?‰FÜ�—‘Ó !Ô#Ø—^‘^ A q¨!¨QÓ/×:Ñ:Ó<‰FäÐRÔSVÐW]×WcÑWcÓSdÐReÐfÓgÐgØ—K‘K“M # 2Ð&Ð*=Õ*NÐ)PÕPˆ	Ø�{‰{˜9Ó%Ð%r   c                óÊ  € VP                  \        P                  4      pVP                  \        P                  4      p\        P                  ! WP	                  RR4      4      pVe	   WT,           pWPP
                  ,          p\        P                  ! RR7      ! V4      pVP                  VP                  4      pV P                  V4      p\        P                  ! WS4      pWe3# )r/   r   r0   r1   )
Útor   Úfloat32ÚmatmulÚ	transposerV   r   ÚSoftmaxr   rG   )r^   ÚqueryÚkeyÚvalueÚattention_maskÚattn_weightsÚattn_outputs   &&&&&  r   Ú_attnÚCodeGenAttention._attnp   s§   € ð —‘œŸ™Ó'ˆØ�f‰f”U—]‘]Ó#ˆä—|’| E¯=©=¸¸RÓ+@ÓAˆàÒ%Ø'Õ8ˆLà#§o¡oÕ5ˆÜ—z’z bÕ)¨,Ó7ˆØ#—‘ u§{¡{Ó3ˆØ×(Ñ(¨Ó6ˆä—l’l <Ó7ˆàÐ(Ð(r   c                óº  <€ V ^8„  d   QhRS[ P                  R,          RS[R,          RS[ P                  R,          RS[ P                  R,          RS[R,          RS[R,          RS[S[ P                  S[S[ P                  ,          3,          S[S[ P                  S[S[ P                  ,          S[S[ P                  R	3,          3,          ,          R,          /# ©
r   Úhidden_statesNÚ
layer_pastr}   Úposition_idsÚ	use_cacheÚoutput_attentionsr   .©r   ÚFloatTensorr   Ú
LongTensorÚboolÚtupler   )r   Ú__classdict__s   "€r   r   ÚCodeGenAttention.__annotate__‰   sÖ   ø€ ÷ @)ñ @)á×(Ñ(¨4Õ/ð@)ñ ˜D•Lð@)ñ ×)Ñ)¨DÕ0ð	@)ñ
 ×&Ñ&¨Õ-ð@)ñ ˜$•;ð@)ñ   $�;ð@)ñ 	‰e�l‰l™E¡%§,¡,Õ/Ð/Õ0Ù
‘—‘™e¡E§L¡LÕ1±5¹¿¹ÀsÐ9JÕ3KÐKÕ
Lõ	Mà
õ	ñ@)r   c                óR  € V P                  V4      p^pVP                  VP                  RR VR3,           4      p	V P                  V P                  ,          V,          p
\
        P                  ! WšRR7      w  r¼pV P                  W°P                  V P                  VR7      pV P                  WÐP                  V P                  VR7      pV P                  WÀP                  V P                  VR7      pVP                  ^ ^^^4      pV P                  pVP                  VP                  8w  d"   VP                  VP                  4      pWàn	        Wä,          p\
        P                  ! WÿP                  R,          ^,          RR7      w  ppV P                  e´   VRRRRV P                  13,          pVRRRV P                  R13,          pVRRRRV P                  13,          pVRRRV P                  R13,          p\        VVV4      p\        VVV4      p\
        P                  ! VV.RR7      p\
        P                  ! VV.RR7      pM\        VVV4      p\        VVV4      pVP                  ^ ^^^4      pVP                  ^ ^^^4      pVe8   VP                  VP                  VP                   4      WÀP"                  4      w  rÜV P%                  W½WÃ4      w  ppV P'                  VV P                  V P                  4      pV P)                  V4      pV P+                  V4      pVV3# )é   Nr   )rf   r.   r0   )rX   rb   rc   rR   rQ   r   Úsplitrh   rl   r]   Údeviceru   rZ   r;   r$   Úupdater   rJ   r€   rr   rY   rI   )r^   r„   r…   r}   r†   r‡   rˆ   Úqkvrf   Ú	qkv_splitÚ	local_dimrz   r|   r{   r]   Úsincosr%   r&   Úk_rotÚk_passÚq_rotÚq_passr   r~   s   &&&&&&&                 r   ÚforwardÚCodeGenAttention.forward‰   sÒ  € ð �m‰m˜MÓ*ˆàˆØ—K‘K §	¡	¨#¨2 °&¸"°Õ =Ó>ˆ	à—M‘M D×$<Ñ$<Õ<ÀÕFˆ	Ü!ŸKšK¨	À"ÔEÑˆ�cØ×!Ñ! %×)AÑ)AÀ4Ç=Á=ÐY_Ð!Ó`ˆØ×Ñ ×%=Ñ%=¸t¿}¹}ÐU[ÐÓ\ˆà×!Ñ! %×)AÑ)AÀ4Ç=Á=ÐY_Ð!Ó`ˆØ—‘˜a  A qÓ)ˆà×.Ñ.ˆØ×!Ñ! \×%8Ñ%8Ô8Ø-×0Ñ0°×1DÑ1DÓEˆOØ#2Ô à Õ.ˆÜ—;’;˜v§|¡|°BÕ'7¸1Õ'<À"ÔE‰ˆˆSà�?‰?Ò&Ø˜˜1˜aÐ!2 4§?¡?Ð!2Ð2Õ3ˆEØ˜˜A˜q $§/¡/Ñ"3Ð3Õ4ˆFà˜!˜Q Ð#4 T§_¡_Ð#4Ð4Õ5ˆEØ˜1˜a  D§O¡OÑ$5Ð5Õ6ˆFä(¨°°SÓ9ˆEÜ(¨°°SÓ9ˆEä—)’)˜U F˜O°Ô4ˆCÜ—I’I˜u f˜o°2Ô6‰Eä& s¨C°Ó5ˆCÜ(¨°°SÓ9ˆEà�k‰k˜!˜Q  1Ó%ˆØ—‘˜a  A qÓ)ˆð Ò!Ø#×*Ñ*¨3¯6©6°-×2EÑ2EÓ+FÈÏ~É~Ó^‰JˆCð %)§J¡J¨u¸5Ó$QÑ!ˆ�\à×'Ñ'¨°T×5MÑ5MÈtÏ}É}Ó]ˆØ—m‘m KÓ0ˆØ×(Ñ(¨Ó5ˆØ˜LÐ(Ð(r   )rG   rP   r]   rR   rJ   rD   rQ   rY   r[   rX   rI   rZ   rV   ©N©NNNFF)rN   Ú
__module__Ú__qualname__Ú__firstlineno__rB   rh   rr   r€   r�   Ú__static_attributes__Ú__classdictcell__Ú__classcell__©rM   rŽ   s   @@r   r=   r=   =   s,   ù‡ € ÷
ò@ò
&ô)÷2@)÷ @)ò @)r   r=   c                   óD   a a€ ] tR t^Ít oV 3R ltV3R lR ltRtVtV ;t# )Ú
CodeGenMLPc                ó*  <€ \         SV `  4        VP                  p\        P                  ! W14      V n        \        P                  ! W4      V n        \        VP                  ,          V n	        \        P                  ! VP                  4      V n        R # rŸ   )rA   rB   Ún_embdr   rW   Úfc_inÚfc_outr   Úactivation_functionÚactrE   rH   Údropout)r^   Úintermediate_sizer_   rP   rM   s   &&& €r   rB   ÚCodeGenMLP.__init__Î   s`   ø€ Ü‰ÑÔØ—M‘Mˆ	ä—Y’Y˜yÓ<ˆŒ
Ü—i’iÐ 1Ó=ˆŒä˜&×4Ñ4Õ5ˆŒÜ—z’z &×"4Ñ"4Ó5ˆŽr   c                ó\   <€ V ^8„  d   QhRS[ P                  R,          RS[ P                  /# )r   r„   Nr   )r   rŠ   )r   rŽ   s   "€r   r   ÚCodeGenMLP.__annotate__Ø   s,   ø€ ÷ ñ ¡U×%6Ñ%6¸Õ%=ð Á%×BSÑBSñ r   c                óŽ   € V P                  V4      pV P                  V4      pV P                  V4      pV P                  V4      pV# rŸ   )r¬   r¯   r­   r°   )r^   r„   s   &&r   r�   ÚCodeGenMLP.forwardØ   s@   € ØŸ
™
 =Ó1ˆØŸ™ Ó/ˆØŸ™ MÓ2ˆØŸ™ ]Ó3ˆØÐr   )r¯   r°   r¬   r­   ©	rN   r¡   r¢   r£   rB   r�   r¤   r¥   r¦   r§   s   @@r   r©   r©   Í   s   ù‡ € õ6÷÷ ð r   r©   c                   óL   a a€ ] tR t^át oRV 3R lltRV3R lR lltRtVtV ;t# )ÚCodeGenBlockc                ó   <€ \         SV `  4        VP                  e   VP                  M^VP                  ,          p\        P
                  ! VP                  VP                  R7      V n        \        W4      V n	        \        W14      V n        R # )N©Úeps)rA   rB   Ún_innerr«   r   Ú	LayerNormÚlayer_norm_epsilonÚln_1r=   Úattnr©   Úmlp)r^   r_   rJ   Ú	inner_dimrM   s   &&& €r   rB   ÚCodeGenBlock.__init__ã   s_   ø€ Ü‰ÑÔØ&,§n¡nÒ&@�F—N’NÀaÈ&Ï-É-ÕFWˆ	Ü—L’L §¡°F×4MÑ4MÔNˆŒ	Ü$ VÓ7ˆŒ	Ü˜iÓ0ˆŽr   c                óh  <€ V ^8„  d   QhRS[ P                  R,          RS[R,          RS[ P                  R,          RS[ P                  R,          RS[R,          RS[R,          RS[S[ P                  ,          S[S[ P                  S[S[ P                  R	3,          3,          ,          R,          /# rƒ   r‰   )r   rŽ   s   "€r   r   ÚCodeGenBlock.__annotate__ê   s°   ø€ ÷ +ñ +á×(Ñ(¨4Õ/ð+ñ ˜D•Lð+ñ ×)Ñ)¨DÕ0ð	+ñ
 ×&Ñ&¨Õ-ð+ñ ˜$•;ð+ñ   $�;ð+ñ 
‰u�|‰|Õ	™u¡U§\¡\±5¹×9JÑ9JÈCÐ9OÕ3PÐ%PÕQÕ	QÐTXÕ	Xñ+r   c           	     ó    € TpV P                  V4      pV P                  VVVVVVR 7      w  ršV P                  V4      pW›,           V,           pW3# ))r„   r…   r}   r†   r‡   rˆ   )rÀ   rÁ   rÂ   )r^   r„   r…   r}   r†   r‡   rˆ   ÚkwargsÚresidualÚattn_outputsr~   Úfeed_forward_hidden_statess   &&&&&&&,    r   r�   ÚCodeGenBlock.forwardê   sf   € ð !ˆØŸ	™	 -Ó0ˆØ%)§Y¡YØ'Ø!Ø)Ø%ØØ/ð &/ó &
Ñ"ˆð &*§X¡X¨mÓ%<Ð"Ø$ÕAÀHÕLˆàÐ*Ð*r   )rÁ   rÀ   rÂ   rŸ   r    r·   r§   s   @@r   r¹   r¹   á   s   ù‡ € ÷1÷+÷ +ò +r   r¹   c                   óV   a a€ ] tR tRt oRtRtR.tR.tRtV 3R lt	V3R lt
RtVtV ;t# )	ÚCodeGenPreTrainedModeli  ÚtransformerTr¹   Úpast_key_valuesc                óÔ   <€ \         SV `  V4       \        V\        4      '       dB   \        P
                  ! VP                  \        VP                  VP                  4      4       R # R # rŸ   )
rA   Ú_init_weightsÚ
isinstancer=   ÚinitÚcopy_r]   r)   rD   r[   )r^   ÚmodulerM   s   &&€r   rÒ   Ú$CodeGenPreTrainedModel._init_weights  sL   ø€ Ü‰Ñ˜fÔ%Ü�fÔ.×/Ò/Ü�JŠJ�v×-Ñ-Ô/JÈ6×K_ÑK_Ðag×atÑatÓ/uÖvñ 0r   c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # )r   r_   r   )r   rŽ   s   "€r   r   Ú#CodeGenPreTrainedModel.__annotate__  s   ø‡ ‚ áÑò r   © )rN   r¡   r¢   r£   Úbase_model_prefixÚsupports_gradient_checkpointingÚ_no_split_modulesÚ_skip_keys_device_placementÚ_can_compile_fullgraphrÒ   Ú__annotate_func__r¤   r¥   r¦   r§   s   @@r   rÎ   rÎ     s8   ù‡ € ð &ÐØ&*Ð#Ø'Ð(ÐØ#4Ð"5ÐØ!Ðõw÷ … r   rÎ   c                   ó^   a a€ ] tR tRt oV 3R ltR tR t]RV3R lR ll4       tRt	Vt
V ;t# )	ÚCodeGenModeli  c           
     óª  <€ \         SV `  V4       VP                  V n        VP                  V n        \
        P                  ! VP                  V P                  4      V n        \
        P                  ! VP                  4      V n
        \
        P                  ! \        VP                  4       Uu. uF  p\        WR 7      NK  	  up4      V n        \
        P                   ! V P                  VP"                  R7      V n        \'        VP(                  VP*                  VP,                  ,          4      V n        RV n        V P1                  4        R# u upi ))rJ   r»   FN)rA   rB   r«   rP   Ú
vocab_sizer   Ú	EmbeddingÚwterE   Ú
embd_pdropÚdropÚ
ModuleListÚrangeÚn_layerr¹   Úhr¾   r¿   Úln_fÚminrZ   Ún_ctxrQ   Úgradient_checkpointingÚ	post_init)r^   r_   ÚirM   s   && €r   rB   ÚCodeGenModel.__init__  så   ø€ Ü‰Ñ˜Ô àŸ™ˆŒØ ×+Ñ+ˆŒÜ—<’< × 1Ñ 1°4·>±>ÓBˆŒÜ—J’J˜v×0Ñ0Ó1ˆŒ	Ü—’Ì5ÐQW×Q_ÑQ_ÔK`ÓaÑK`Àa¤¨V× AÑK`ÑaÓbˆŒÜ—L’L §¡°V×5NÑ5NÔOˆŒ	Ü˜f×/Ñ/°·±À×A[ÑA[Õ1[Ó\ˆŒà&+ˆÔ#ð 	�‰Öùò  bs   Â/Ec                ó   € V P                   # rŸ   ©ræ   )r^   s   &r   Úget_input_embeddingsÚ!CodeGenModel.get_input_embeddings%  s   € Ø�x‰xˆr   c                ó   € Wn         R # rŸ   rõ   )r^   Únew_embeddingss   &&r   Úset_input_embeddingsÚ!CodeGenModel.set_input_embeddings(  s   € Ø!Žr   c                ó\  <€ V ^8„  d   QhRS[ P                  R,          RS[R,          RS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[R,          R	S[R,          R
S[R,          RS[R,          RS[S[,          /# )r   Ú	input_idsNrÐ   r}   Útoken_type_idsr†   Úinputs_embedsr‡   rˆ   Úoutput_hidden_statesÚreturn_dictr   )r   r‹   r   rŠ   rŒ   r�   r
   )r   rŽ   s   "€r   r   ÚCodeGenModel.__annotate__,  s×   ø€ ÷ g
ñ g
á×#Ñ# dÕ*ðg
ñ  �ðg
ñ ×)Ñ)¨DÕ0ð	g
ñ
 ×(Ñ(¨4Õ/ðg
ñ ×&Ñ&¨Õ-ðg
ñ ×(Ñ(¨4Õ/ðg
ñ ˜$•;ðg
ñ   $�;ðg
ñ # T�kðg
ñ ˜D•[ðg
ñ 
Ñ(Õ	(ñg
r   c           
     óÒ  € Ve   TMV P                   P                  pV	e   T	MV P                   P                  p	Ve   TMV P                   P                  pV
e   T
MV P                   P                  p
VRJ VRJ,          '       d   \        R4      hV P                  '       d2   V P                  '       d    V'       d   \        P                  R4       RpVf   V P                  V4      pV'       d   Vf   \        V P                   R7      pVP                  ^,          pVfb   Ve   VP                  4       M^ p\        P                  ! VP                  ^,          VP                   R7      V,           pVP#                  ^ 4      p\%        V P                   VVVVR7      pTpVe-   VP'                  RV4      pV P                  V4      pVV,           pV P)                  V4      pRWÏP+                  R4      3pV'       d   RMRpV	'       d   RMRp\-        V P.                  4       FJ  w  ppV	'       d   VV3,           pV! VVVVVVR7      pV^ ,          pV'       g   K9  VV^,          3,           pKL  	  V P1                  V4      pVP'                  V4      pV	'       d   VV3,           pV
'       g3   \2        ;QJ d    . R	 WòVV3 4       F  NK  	  5# ! R	 WòVV3 4       4      # \5        VVVVR
7      # )au  
inputs_embeds (`torch.FloatTensor` of shape `(batch_size, sequence_length, hidden_dim)`, *optional*):
    Optionally, instead of passing `input_ids` you can choose to directly pass an embedded representation. This
    is useful if you want more control over how to convert *input_ids* indices into associated vectors than the
    model's internal embedding lookup matrix.
Nz:You must specify exactly one of input_ids or inputs_embedszZ`use_cache=True` is incompatible with gradient checkpointing. Setting `use_cache=False`...F)r_   )r“   )r_   rÿ   r}   rÐ   r†   )r…   r}   r†   r‡   rˆ   c              3   ó0   "  € T F  qf   K  Vx € K  	  R # 5irŸ   rÚ   )Ú.0Úvs   & r   Ú	<genexpr>Ú'CodeGenModel.forward.<locals>.<genexpr>Š  s   é € ð Ùc�a—’Ócùs   ‚Œ
)Úlast_hidden_staterÐ   r„   Ú
attentionsr0   rÚ   )r_   rˆ   r   r‡   r  rS   rð   ÚtrainingrK   rL   ræ   r   rc   Úget_seq_lengthr   r    r“   Ú	unsqueezer   ro   rè   rn   Ú	enumeraterì   rí   r�   r
   )r^   rý   rÐ   r}   rþ   r†   rÿ   r‡   rˆ   r   r  rÈ   Ú
seq_lengthÚpast_seen_tokensÚcausal_maskr„   Útoken_type_embedsÚoutput_shapeÚall_self_attentionsÚall_hidden_statesrò   ÚblockÚoutputss   &&&&&&&&&&&,           r   r�   ÚCodeGenModel.forward+  sÌ  € ð* 2CÒ1NÑ-ÐTX×T_ÑT_×TqÑTqÐà$8Ò$DÑ È$Ï+É+×JjÑJjð 	ð "+Ò!6‘I¸D¿K¹K×<QÑ<Qˆ	Ø%0Ò%<‘kÀ$Ç+Á+×BYÑBYˆà˜Ð -°tÐ";×<Ô<ÜÐYÓZÐZà×&×&Ð&¨4¯=¯=¨=ßÜ×#Ñ#Øpôð "�	àÒ Ø ŸH™H YÓ/ˆMç˜Ò0Ü*°$·+±+Ô>ˆOà"×(Ñ(¨Õ+ˆ
ØÒØCRÒC^˜×=Ñ=Ô?ÐdeÐÜ Ÿ<š<¨×(;Ñ(;¸AÕ(>À}×G[ÑG[Ô\Ð_oÕoˆLØ'×1Ñ1°!Ó4ˆLä(Ø—;‘;Ø'Ø)Ø+Ø%ô
ˆð &ˆàÒ%Ø+×0Ñ0°°ZÓ@ˆNØ $§¡¨Ó 8ÐØ)Ð,=Õ=ˆMàŸ	™	 -Ó0ˆØ˜J×(:Ñ(:¸2Ó(>Ð?ˆç$5™b¸4Ðß"6™B¸DÐÜ! $§&¡&Ö)‰HˆAˆuß#Ø$5¸Ð8HÕ$HÐ!áØØ*Ø*Ø)Ø#Ø"3ôˆGð $ A�JˆMß Ñ Ø&9¸WÀQ½Z¸MÕ&IÒ#ñ *ð" Ÿ	™	 -Ó0ˆà%×*Ñ*¨<Ó8ˆçØ 1°]Ð4DÕ DÐçß”5ñ Ø)Ð<MÐObÑcó—5ð �5ñ Ø)Ð<MÐObÑcóó ð ô 'Ø+Ø+Ø+Ø*ô	
ð 	
r   )rè   rP   rð   rì   rí   rZ   rä   ræ   )
NNNNNNNNNN)rN   r¡   r¢   r£   rB   rö   rú   r   r�   r¤   r¥   r¦   r§   s   @@r   râ   râ     s6   ù‡ € õò ò"ð ÷g
ñ g
ó ÷g
ð g
r   râ   zM
    The CodeGen Model transformer with a language modeling head on top.
    )Úcustom_introc                   óZ   a a€ ] tR tRt oRR/tV 3R lt]RV3R lR ll4       tRtVt	V ;t
# )	ÚCodeGenForCausalLMi–  zlm_head.weightztransformer.wte.weightc                óÆ   <€ \         SV `  V4       \        V4      V n        \        P
                  ! VP                  VP                  4      V n        V P                  4        R # rŸ   )
rA   rB   râ   rÏ   r   rW   r«   rä   Úlm_headrñ   )r^   r_   rM   s   &&€r   rB   ÚCodeGenForCausalLM.__init__ž  sE   ø€ Ü‰Ñ˜Ô Ü'¨Ó/ˆÔÜ—y’y §¡°×0AÑ0AÓBˆŒð 	�‰Ör   c                ó®  <€ V ^8„  d   QhRS[ P                  R,          RS[R,          RS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[ P                  R,          R	S[R,          R
S[R,          RS[R,          RS[R,          RS[S[ P                  ,          RS[S[,          /# )r   rý   NrÐ   r}   rþ   r†   rÿ   Úlabelsr‡   rˆ   r   r  Úlogits_to_keepr   )	r   r‹   r   rŠ   rŒ   r   r   r�   r   )r   rŽ   s   "€r   r   ÚCodeGenForCausalLM.__annotate__§  sò   ø€ ÷ <
ñ <
á×#Ñ# dÕ*ð<
ñ  �ð<
ñ ×)Ñ)¨DÕ0ð	<
ñ
 ×(Ñ(¨4Õ/ð<
ñ ×&Ñ&¨Õ-ð<
ñ ×(Ñ(¨4Õ/ð<
ñ × Ñ  4Õ'ð<
ñ ˜$•;ð<
ñ   $�;ð<
ñ # T�kð<
ñ ˜D•[ð<
ñ ™eŸl™lÕ*ð<
ñ 
Ñ'Õ	'ñ<
r   c                ó  € Ve   TMV P                   P                  pV P                  VVVVVVVV	V
VR7
      pV^ ,          p\        V\        4      '       d   \        V) R4      MTpV P                  VRVR3,          4      pRpVe-   V P                  ! R	RVRVRV P                   P                  /VB pV'       g"   V3VR,          ,           pVe   V3V,           # T# \        VVVP                  VP                  VP                  R7      # )
aÿ  
inputs_embeds (`torch.FloatTensor` of shape `(batch_size, sequence_length, hidden_dim)`, *optional*):
    Optionally, instead of passing `input_ids` you can choose to directly pass an embedded representation. This
    is useful if you want more control over how to convert *input_ids* indices into associated vectors than the
    model's internal embedding lookup matrix.
labels (`torch.LongTensor` of shape `(batch_size, sequence_length)`, *optional*):
    Labels for language modeling. Note that the labels **are shifted** inside the model, i.e. you can set
    `labels = input_ids` Indices are selected in `[-100, 0, ..., config.vocab_size]` All labels set to `-100`
    are ignored (masked), the loss is only computed for labels in `[0, ..., config.vocab_size]`
N)	rÐ   r}   rþ   r†   rÿ   r‡   rˆ   r   r  r.   Úlogitsr   rä   :r/   NN)Úlossr$  rÐ   r„   r
  rÚ   )r_   r  rÏ   rÓ   r   Úslicer  Úloss_functionrä   r   rÐ   r„   r
  )r^   rý   rÐ   r}   rþ   r†   rÿ   r   r‡   rˆ   r   r  r!  rÈ   Útransformer_outputsr„   Úslice_indicesr$  r%  Úoutputs   &&&&&&&&&&&&&,      r   r�   ÚCodeGenForCausalLM.forward¦  s$  € ð6 &1Ò%<‘kÀ$Ç+Á+×BYÑBYˆà"×.Ñ.ØØ+Ø)Ø)Ø%Ø'ØØ/Ø!5Ø#ð /ó 
Ðð ,¨AÕ.ˆä8BÀ>ÔSV×8WÒ8Wœ˜~˜o¨tÔ4Ð]kˆØ—‘˜m¨A¨}¸aÐ,?Õ@ÓAˆàˆØÒØ×%Ò%Ñp¨VÐp¸FÐpÈtÏ{É{×OeÑOeÐpÐioÑpˆDçØ�YÐ!4°RÕ!8Õ8ˆFØ)-Ò)9�T�G˜fÕ$ÐE¸vÐEä%ØØØ/×?Ñ?Ø-×;Ñ;Ø*×5Ñ5ô
ð 	
r   )r  rÏ   )NNNNNNNNNNNé    )rN   r¡   r¢   r£   Ú_tied_weights_keysrB   r   r�   r¤   r¥   r¦   r§   s   @@r   r  r  –  s6   ù‡ € ð +Ð,DÐEÐõð ÷<
ñ <
ó ÷<
ð <
r   r  )r  râ   rÎ   )*Ú__doc__rT   r   r   Ú r   rÔ   Úactivationsr   Úcache_utilsr   r   Ú
generationr   Úmasking_utilsr   Úmodeling_layersr	   Úmodeling_outputsr
   r   Úmodeling_utilsr   Úutilsr   r   Úconfiguration_codegenr   Ú
get_loggerrN   rK   r)   r6   r;   ÚModuler=   r©   r¹   rÎ   râ   r  Ú__all__rÚ   r   r   Ú<module>r<     sú   ðñ ã ã Ý å &Ý !ß .Ý )Ý /Ý 9ß OÝ -÷õ 1ð 
×	Ò	˜HÓ	%€õPõõ=ôL)�r—y‘yô L)ô`�—‘ô ô( +Ð-ô  +ðF ôw˜_ó wó ðwð ô
Ð)ó 
ó ð
ñD ðôô
H
Ð/°ó H
óð
H
òV K‚r   