+
    œ°³jZT  ã                   ó˜  € ^ RI Ht ^ RI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Ht ^R	IHt ^R
IHtHtHt ^RIHtHt ^RIHtHt ^RIHtHt ^RI H!t! ^RI"H#t#H$t$H%t% ^RI&H't' ^RI(H)t)H*t* ^RI+H,t, ^RI-H.t.  ! R R]P^                  4      t0R t1]! R4      R-R l4       t2R R lt3R.R R llt4]! ]24       ! R R]P^                  4      4       t5 ! R R ]4      t6]$ ! R! R"]4      4       t7 ! R# R$]P^                  4      t8]$ ! R% R&]74      4       t9]$ ! R' R(]7]
4      4       t: ! R) R*]]74      t; ! R+ R,]]74      t<. R/Ot=R# )0é    )ÚCallableN)Únn)ÚACT2FN)ÚCacheÚDynamicCache)ÚGenerationMixin)Úuse_kernel_forward_from_hubÚuse_kernelized_func)Úcreate_causal_maskÚ!create_sliding_window_causal_mask)ÚFlashAttentionKwargs)Ú GenericForSequenceClassificationÚGenericForTokenClassificationÚGradientCheckpointingLayer)ÚBaseModelOutputWithPastÚCausalLMOutputWithPast)ÚROPE_INIT_FUNCTIONSÚdynamic_rope_update)ÚALL_ATTENTION_FUNCTIONSÚPreTrainedModel)ÚUnpack)ÚTransformersKwargsÚauto_docstringÚcan_return_tuple)Údeprecate_kwarg)Úmaybe_autocastÚmerge_with_config_defaults)Úcapture_outputs©ÚStarcoder2Configc                   óP   a a€ ] tR t^5t oV3R lV 3R lltV3R lR ltRtVtV ;t# )ÚStarcoder2MLPc                ó    <€ V ^8„  d   QhRS[ /# ©é   Úconfigr   )ÚformatÚ__classdict__s   "€Ús/home/luca/screen-checking/.venv/lib/python3.14/site-packages/transformers/models/starcoder2/modeling_starcoder2.pyÚ__annotate__ÚStarcoder2MLP.__annotate__6   s   ø€ ÷ 8ñ 8Ñ/ñ 8ó    c                óZ  <€ \         SV `  4        VP                  p\        P                  ! W!P
                  VP                  R 7      V n        \        P                  ! VP
                  W!P                  R 7      V n        \        VP                  ,          V n        VP                  V n        R# )©ÚbiasN)ÚsuperÚ__init__Úhidden_sizer   ÚLinearÚintermediate_sizeÚuse_biasÚc_fcÚc_projr   Ú
hidden_actÚactÚresidual_dropout)Úselfr&   Ú	embed_dimÚ	__class__s   && €r)   r1   ÚStarcoder2MLP.__init__6   sq   ø€ Ü‰ÑÔØ×&Ñ&ˆ	Ü—I’I˜i×)AÑ)AÈÏÉÔXˆŒ	Ü—i’i × 8Ñ 8¸)Ï/É/ÔZˆŒÜ˜&×+Ñ+Õ,ˆŒØ &× 7Ñ 7ˆÖr,   c                ól   <€ V ^8„  d   QhRS[ S[P                  ,          R,          RS[P                  /# )r%   Úhidden_statesNÚreturn)ÚtupleÚtorchÚFloatTensor)r'   r(   s   "€r)   r*   r+   >   s1   ø€ ÷ ñ ¡U©5×+<Ñ+<Õ%=ÀÕ%Dð É×IZÑIZñ r,   c                óÖ   € V P                  V4      pV P                  V4      pV P                  V4      p\        P                  P                  WP                  V P                  R 7      pV# )©ÚpÚtraining)r6   r9   r7   r   Ú
functionalÚdropoutr:   rH   )r;   r@   s   &&r)   ÚforwardÚStarcoder2MLP.forward>   sX   € ØŸ	™	 -Ó0ˆØŸ™ Ó/ˆØŸ™ MÓ2ˆÜŸ™×-Ñ-¨m×?TÑ?TÐ_c×_lÑ_lÐ-ÓmˆØÐr,   )r9   r6   r7   r:   ©	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r1   rK   Ú__static_attributes__Ú__classdictcell__Ú__classcell__©r=   r(   s   @@r)   r"   r"   5   s   ù‡ € ÷8ó 8÷÷ ð r,   r"   c                óÌ   € V RRV P                   R,          ^,          13,          pV RV P                   R,          ^,          R13,          p\        P                  ! V) V3RR7      # )z*Rotates half the hidden dims of the input..N©Údiméÿÿÿÿ)ÚshaperC   Úcat)ÚxÚx1Úx2s   &  r)   Úrotate_halfr_   F   sZ   € à	
ˆ3Ð"�!—'‘'˜"•+ Õ"Ð"Ð"Õ	#€BØ	
ˆ3�—‘˜•˜qÕ Ñ"Ð"Õ	#€BÜ�9Š9�r�c˜2�Y BÔ'Ð'r,   Úrotary_pos_embc                óÈ   € VP                  V4      pVP                  V4      pW,          \        V 4      V,          ,           pW,          \        V4      V,          ,           pWV3# )aI  Applies Rotary Position Embedding to the query and key tensors.

Args:
    q (`torch.Tensor`): The query tensor.
    k (`torch.Tensor`): The key tensor.
    cos (`torch.Tensor`): The cosine part of the rotary embedding.
    sin (`torch.Tensor`): The sine part of the rotary embedding.
    unsqueeze_dim (`int`, *optional*, defaults to 1):
        The 'unsqueeze_dim' argument specifies the dimension along which to unsqueeze cos[position_ids] and
        sin[position_ids] so that they can be properly broadcasted to the dimensions of q and k. For example, note
        that cos[position_ids] and sin[position_ids] have the shape [batch_size, seq_len, head_dim]. Then, if q and
        k have the shape [batch_size, heads, seq_len, head_dim], then setting unsqueeze_dim=1 makes
        cos[position_ids] and sin[position_ids] broadcastable to the shapes of q and k. Similarly, if q and k have
        the shape [batch_size, seq_len, heads, head_dim], then set unsqueeze_dim=2.
Returns:
    `tuple(torch.Tensor)` comprising of the query and key tensors rotated using the Rotary Position Embedding.
)Ú	unsqueezer_   )ÚqÚkÚcosÚsinÚunsqueeze_dimÚq_embedÚk_embeds   &&&&&  r)   Úapply_rotary_pos_embrj   M   sS   € ð& �-‰-˜Ó
&€CØ
�-‰-˜Ó
&€CØ�wœ; q›>¨CÕ/Õ0€GØ�wœ; q›>¨CÕ/Õ0€GØÐÐr,   c                ód   € V ^8„  d   QhR\         P                  R\        R\         P                  /# )r%   r@   Ún_reprA   )rC   ÚTensorÚint)r'   s   "r)   r*   r*   g   s.   € ÷ 	Uñ 	UœUŸ\™\ð 	U´#ð 	U¼%¿,¹,ñ 	Ur,   c                ó˜   € V P                   w  r#rEV^8X  d   V # V R,          P                  W#WV4      p V P                  W#V,          WE4      # )zÈ
This is the equivalent of torch.repeat_interleave(x, dim=1, repeats=n_rep). The hidden states go from (batch,
num_key_value_heads, seqlen, head_dim) to (batch, num_attention_heads, seqlen, head_dim)
)ºNNNrp   Nrp   rp   )rZ   ÚexpandÚreshape)r@   rl   ÚbatchÚnum_key_value_headsÚslenÚhead_dims   &&    r)   Ú	repeat_kvrw   g   sU   € ð
 2?×1DÑ1DÑ.€E Ø�„zØÐØ!Ð"2Õ3×:Ñ:¸5ÐW\ÐdlÓm€MØ× Ñ  ¸eÕ(CÀTÓTÐTr,   c                ó   € V ^8„  d   QhR\         P                  R\        P                  R\        P                  R\        P                  R\        P                  R,          R\        R\        R	\
        \        ,          /# )
r%   ÚmoduleÚqueryÚkeyÚvalueÚattention_maskNÚscalingrJ   Úkwargs)r   ÚModulerC   rm   Úfloatr   r   )r'   s   "r)   r*   r*   s   sw   € ÷ %ñ %Ü�I‰Ið%ä�<‰<ð%ô 
�‰ð%ô �<‰<ð	%ô
 —L‘L 4Õ'ð%ô ð%ô ð%ô Ô'Õ(ñ%r,   c                 ó"  € \        W P                  4      p\        W0P                  4      p	\        P                  ! WP	                  ^^4      4      V,          p
Ve	   W¤,           p
\
        P                  P                  V
R\        P                  R7      P                  VP                  4      p
\
        P                  P                  W¦V P                  R7      p
\        P                  ! W©4      pVP	                  ^^4      P                  4       pWº3# )r%   )rX   ÚdtyperF   rY   )rw   Únum_key_value_groupsrC   ÚmatmulÚ	transposer   rI   ÚsoftmaxÚfloat32Útorƒ   rJ   rH   Ú
contiguous)ry   rz   r{   r|   r}   r~   rJ   r   Ú
key_statesÚvalue_statesÚattn_weightsÚattn_outputs   &&&&&&&,    r)   Úeager_attention_forwardr�   s   sÒ   € ô ˜3× ;Ñ ;Ó<€JÜ˜U×$?Ñ$?Ó@€Lä—<’< ×';Ñ';¸A¸qÓ'AÓBÀWÕL€LØÒ!Ø#Õ4ˆä—=‘=×(Ñ(¨¸2ÄUÇ]Á]Ð(ÓS×VÑVÐW\×WbÑWbÓc€LÜ—=‘=×(Ñ(¨È6Ï?É?Ð(Ó[€LÜ—,’,˜|Ó:€KØ×'Ñ'¨¨1Ó-×8Ñ8Ó:€KàÐ$Ð$r,   c                   ó\   a a€ ] tR t^Œt oRtRV3R lV 3R llltRV3R lR lltRtVtV ;t	# )ÚStarcoder2Attentionz=Multi-headed attention from 'Attention Is All You Need' paperc                ó4   <€ V ^8„  d   QhRS[ RS[R,          /# )r%   r&   Ú	layer_idxN©r    rn   )r'   r(   s   "€r)   r*   Ú Starcoder2Attention.__annotate__�   s    ø€ ÷ 8ñ 8Ñ/ð 8¹CÀ$½Jñ 8r,   c                óØ  <€ \         SV `  4        Wn        W n        \	        VR R4      ;'       g    VP
                  VP                  ,          V n        VP                  VP                  ,          V n	        V P                  R,          V n
        VP                  V n        RV n        \        P                  ! VP
                  VP                  V P                  ,          VP                  R7      V n        \        P                  ! VP
                  VP                  V P                  ,          VP                  R7      V n        \        P                  ! VP
                  VP                  V P                  ,          VP                  R7      V n        \        P                  ! VP                  V P                  ,          VP
                  VP                  R7      V n        VP(                  V n        R# )rv   NTr.   g      à¿)r0   r1   r&   r“   Úgetattrr2   Únum_attention_headsrv   rt   r„   r~   Úattention_dropoutÚ	is_causalr   r3   r5   Úq_projÚk_projÚv_projÚo_projr:   ©r;   r&   r“   r=   s   &&&€r)   r1   ÚStarcoder2Attention.__init__�   sW  ø€ Ü‰ÑÔØŒØ"ŒÜ ¨
°DÓ9×mÐm¸V×=OÑ=OÐSY×SmÑSmÕ=mˆŒØ$*×$>Ñ$>À&×B\ÑB\Õ$\ˆÔ!Ø—}‘} dÕ*ˆŒØ!'×!9Ñ!9ˆÔØˆŒÜ—i’i × 2Ñ 2°F×4NÑ4NÐQU×Q^ÑQ^Õ4^Ðek×etÑetÔuˆŒÜ—i’i × 2Ñ 2°F×4NÑ4NÐQU×Q^ÑQ^Õ4^Ðek×etÑetÔuˆŒÜ—i’i × 2Ñ 2°F×4NÑ4NÐQU×Q^ÑQ^Õ4^Ðek×etÑetÔuˆŒÜ—i’i × :Ñ :¸T¿]¹]Õ JÈF×L^ÑL^Ðek×etÑetÔuˆŒØ &× 7Ñ 7ˆÖr,   c                óR  <€ V ^8„  d   QhRS[ P                  RS[S[ P                  S[ P                  3,          RS[ P                  R,          RS[R,          RS[S[,          RS[S[ P                  S[ P                  R,          S[S[ P                  ,          R,          3,          /# )r%   r@   Úposition_embeddingsr}   NÚpast_key_valuesr   rA   )rC   rm   rB   r   r   r   )r'   r(   s   "€r)   r*   r•   Ÿ   s—   ø€ ÷ +)ñ +)á—|‘|ð+)ñ #¡5§<¡<±·±Ð#=Õ>ð+)ñ Ÿ™ tÕ+ð	+)ñ
  �ð+)ñ Ñ-Õ.ð+)ñ 
‰u�|‰|™UŸ\™\¨DÕ0±%¹¿¹Õ2EÈÕ2LÐLÕ	Mñ+)r,   c                ó¨  € VP                   R R p. VORNV P                  N5pV P                  V4      P                  V4      P	                  ^^4      pV P                  V4      P                  V4      P	                  ^^4      p	V P                  V4      P                  V4      P	                  ^^4      p
Vw  r¼\        W‰W¼4      w  r‰Ve   VP                  WšV P                  4      w  rš\        P                  ! V P                  P                  \        4      pT! V VV	V
V3RV P                  '       g   RMV P                   RV P"                  R\%        V P                  RR 4      /VB w  rïVP&                  ! . VORN5!  P)                  4       pV P+                  V4      p\,        P.                  P1                  WàP2                  V P                  R7      pWï3# )NrJ   ç        r~   Úsliding_windowrF   rY   )rZ   rv   r›   Úviewr†   rœ   r�   rj   Úupdater“   r   Úget_interfacer&   Ú_attn_implementationr�   rH   r™   r~   r—   rr   rŠ   rž   r   rI   rJ   r:   )r;   r@   r¢   r}   r£   r   Úinput_shapeÚhidden_shapeÚquery_statesr‹   rŒ   re   rf   Úattention_interfacerŽ   r�   s   &&&&&,          r)   rK   ÚStarcoder2Attention.forwardŸ   sÉ  € ð $×)Ñ)¨#¨2Ð.ˆØ8˜Ð8 bÐ8¨$¯-©-Ñ8ˆà—{‘{ =Ó1×6Ñ6°|ÓD×NÑNÈqÐRSÓTˆØ—[‘[ Ó/×4Ñ4°\ÓB×LÑLÈQÐPQÓRˆ
Ø—{‘{ =Ó1×6Ñ6°|ÓD×NÑNÈqÐRSÓTˆà&‰ˆÜ#7¸ÐRUÓ#[Ñ ˆàÒ&Ø'6×'=Ñ'=¸jÐX\×XfÑXfÓ'gÑ$ˆJä(?×(MÒ(MØ�K‰K×,Ñ,Ô.Eó)
Ðñ %8ØØØØØñ
%
ð  $Ÿ}Ÿ}˜}‘C°$×2HÑ2Hð
%
ð —L‘Lð
%
ô # 4§;¡;Ð0@À$ÓGð
%
ð ñ
%
Ñ!ˆð "×)Ò)Ð;¨;Ð;¸Ó;×FÑFÓHˆØ—k‘k +Ó.ˆÜ—m‘m×+Ñ+Ø×0Ñ0¸4¿=¹=ð ,ó 
ˆð Ð(Ð(r,   )r™   r&   rv   rš   rœ   r“   r„   rž   r›   r:   r~   r�   ©N)
rN   rO   rP   rQ   Ú__doc__r1   rK   rR   rS   rT   rU   s   @@r)   r‘   r‘   Œ   s!   ù‡ € áG÷8õ 8÷+)÷ +)ò +)r,   r‘   c                   óT   a a€ ] tR t^Ít oV3R lV 3R lltRV3R lR lltRtVtV ;t# )ÚStarcoder2DecoderLayerc                ó&   <€ V ^8„  d   QhRS[ RS[/# )r%   r&   r“   r”   )r'   r(   s   "€r)   r*   Ú#Starcoder2DecoderLayer.__annotate__Î   s    ø€ ÷ bñ bÑ/ð b¹Cñ br,   c                óL  <€ \         SV `  4        VP                  V n        \        WR 7      V n        \        V4      V n        \        P                  ! VP                  VP                  R7      V n
        \        P                  ! VP                  VP                  R7      V n        R# ))r&   r“   ©ÚepsN)r0   r1   r2   r‘   Ú	self_attnr"   Úmlpr   Ú	LayerNormÚnorm_epsilonÚinput_layernormÚpost_attention_layernormrŸ   s   &&&€r)   r1   ÚStarcoder2DecoderLayer.__init__Î   sr   ø€ Ü‰ÑÔØ!×-Ñ-ˆÔÜ,°FÔPˆŒÜ  Ó(ˆŒÜ!Ÿ|š|¨F×,>Ñ,>ÀF×DWÑDWÔXˆÔÜ(*¯ª°V×5GÑ5GÈV×M`ÑM`Ô(aˆÖ%r,   c                ó.  <€ V ^8„  d   QhRS[ P                  RS[ P                  R,          RS[ P                  R,          RS[R,          RS[R,          RS[S[ P                  S[ P                  3,          R,          RS[S[,          R	S[ P                  /# )
r%   r@   r}   NÚposition_idsr£   Ú	use_cacher¢   r   rA   )rC   rm   Ú
LongTensorr   ÚboolrB   r   r   )r'   r(   s   "€r)   r*   rµ   Ö   sœ   ø€ ÷ ñ á—|‘|ðñ Ÿ™ tÕ+ðñ ×&Ñ&¨Õ-ð	ñ
  �ðñ ˜$•;ðñ #¡5§<¡<±·±Ð#=Õ>ÀÕEðñ Ñ+Õ,ðñ 
�‰ñr,   c                óÔ   € TpV P                  V4      pV P                  ! RR VRVRVRVRVRV/VB w  rW�,           pTpV P                  V4      pV P                  V4      pW�,           pV# )r@   r}   rÁ   r£   rÂ   r¢   © )r½   r¹   r¾   rº   )
r;   r@   r}   rÁ   r£   rÂ   r¢   r   ÚresidualÚ_s
   &&&&&&&,  r)   rK   ÚStarcoder2DecoderLayer.forwardÖ   s©   € ð !ˆØ×,Ñ,¨]Ó;ˆàŸ>š>ñ 
Ø'ð
à)ð
ð &ð
ð ,ð	
ð
  ð
ð !4ð
ð ñ
Ñˆð !Õ0ˆð !ˆØ×5Ñ5°mÓDˆØŸ™ Ó/ˆØ Õ0ˆØÐr,   )r2   r½   rº   r¾   r¹   )NNNFNrM   rU   s   @@r)   r³   r³   Í   s    ù‡ € ÷bó b÷÷ ò r,   r³   c                   ó`   a € ] tR t^öt o RtRtR.tR.tRtRt	Rt
RtRtR]R]/tV 3R ltRtV tR	# )
ÚStarcoder2PreTrainedModelÚmodelTr³   r£   r@   Ú
attentionsc                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # r$   r   )r'   r(   s   "€r)   r*   Ú&Starcoder2PreTrainedModel.__annotate__ö   s   ø‡ ‚ áÑò r,   rÆ   N)rN   rO   rP   rQ   Úbase_model_prefixÚsupports_gradient_checkpointingÚ_no_split_modulesÚ_skip_keys_device_placementÚ_supports_flash_attnÚ_supports_sdpaÚ_supports_flex_attnÚ_can_compile_fullgraphÚ_supports_attention_backendr³   r‘   Ú_can_record_outputsÚ__annotate_func__rR   rS   )r(   s   @r)   rË   rË   ö   s]   ø‡ € ð  ÐØ&*Ð#Ø1Ð2ÐØ#4Ð"5ÐØÐØ€NØÐà!ÐØ"&ÐàÐ/ØÐ)ðÐ÷ ƒ r,   rË   c                   óÎ   a a€ ] tR tRt o]! RRR7      RV3R lV 3R lll4       t]]! RRR7      RV3R lR ll4       4       t]P                  ! 4       ]
R	 4       4       tR
tVtV ;t# )ÚStarcoder2RotaryEmbeddingi	  Údevicez5.18)Úversionc                ó    <€ V ^8„  d   QhRS[ /# r$   r   )r'   r(   s   "€r)   r*   Ú&Starcoder2RotaryEmbedding.__annotate__  s   ø€ ÷ Oñ OÑ/ñ Or,   c                óä  <€ \         SV `  4        VP                  V n        VP                  V n        Wn        V P
                  P                  R ,          V n        V P                  pV P                  R8w  d   \        V P                  ,          pV! V P
                  V4      w  q@n
        \        P                  ! VRR7      V n        \        P                  ! VP                  4       RR7      V n        R# )Ú	rope_typeÚdefaultF)Ú
persistentN)r0   r1   Úmax_position_embeddingsÚmax_seq_len_cachedÚoriginal_max_seq_lenr&   Úrope_parametersrâ   Úcompute_default_rope_parametersr   Úattention_scalingr   ÚBufferÚinv_freqÚcloneÚoriginal_inv_freq)r;   r&   rÝ   Úrope_init_fnrì   r=   s   &&&  €r)   r1   Ú"Starcoder2RotaryEmbedding.__init__
  s¬   ø€ ä‰ÑÔØ"(×"@Ñ"@ˆÔØ$*×$BÑ$BˆÔ!àŒàŸ™×4Ñ4°[ÕAˆŒØ!%×!EÑ!EˆØ�>‰>˜YÔ&Ü.¨t¯~©~Õ>ˆLÙ+7¸¿¹ÀVÓ+LÑ(ˆÔ(äŸ	š	 (°uÔ=ˆŒÜ!#§¢¨8¯>©>Ó+;ÈÔ!NˆÖr,   c                óP   <€ V ^8„  d   QhRS[ RS[S[P                  S[3,          /# )r%   r&   rA   )r    rB   rC   rm   r�   )r'   r(   s   "€r)   r*   rà     s/   ø€ ÷ 5ñ 5Ñ0@ð 5Ñ\aÑbg×bnÑbnÑpuÐbuÕ\vñ 5r,   c           	     ó0  € V P                   R,          p\        V RR4      ;'       g    V P                  V P                  ,          pRpRV\        P
                  ! ^ V^\        P                  R7      V,          ,          ,          pVP                  V4      V3# )a~  
Computes the inverse frequencies according to the original RoPE implementation
Args:
    config ([`~transformers.PreTrainedConfig`]):
        The model configuration.
Returns:
    Tuple of (`torch.Tensor`, `float`), containing the inverse frequencies for the RoPE embeddings and the
    post-processing scaling factor applied to the computed cos/sin (unused in this type of RoPE).
Ú
rope_thetarv   Ng      ð?©rƒ   )rè   r—   r2   r˜   rC   Úaranger�   r‰   )r&   rÝ   r   ÚbaserX   Úattention_factorrì   s   &&,    r)   ré   Ú9Starcoder2RotaryEmbedding.compute_default_rope_parameters  s~   € ð ×%Ñ% lÕ3ˆÜ�f˜j¨$Ó/×cÐc°6×3EÑ3EÈ×IcÑIcÕ3cˆàÐà˜$¤5§<¢<°°3¸ÄÇÁÔ#MÐPSÕ#SÕTÕUˆØ�{‰{˜6Ó"Ð$4Ð4Ð4r,   c                ó^  € V P                   R,          P                  VP                  ^ ,          R	^4      P                  \        P
                  VP                  R7      pVR
,          P                  4       p\        VP                  P                  \        4      '       d2   VP                  P                  R8w  d   VP                  P                  MRp\        VRR7      ;_uu_ 4        W4,          P                  ^^4      p\        P                  ! Wf3R	R7      pVP                  4       V P                  ,          pVP                  4       V P                  ,          p	R R R 4       XP                  VP                   R7      X	P                  VP                   R7      3#   + '       g   i     LH; i)N)rƒ   rÝ   ÚmpsÚcpuF)Údevice_typeÚenabledrW   rô   )Nrp   NrY   )rp   Nrp   )rì   rq   rZ   r‰   rC   r�   rÝ   Ú
isinstanceÚtypeÚstrr   r†   r[   re   rê   rf   rƒ   )
r;   r\   rÁ   Úinv_freq_expandedÚposition_ids_expandedrü   ÚfreqsÚembre   rf   s
   &&&       r)   rK   Ú!Starcoder2RotaryEmbedding.forward/  s2  € ð �M‰M˜-Õ(×/Ñ/°×0BÑ0BÀ1Õ0EÀrÈ1ÓM×PÑPÔW\×WbÑWbÐkl×ksÑksÐPÓtð 	ð !-¨ZÕ 8× >Ñ >Ó @Ðä'1°!·(±(·-±-Ä×'EÒ'EÈ!Ï(É(Ï-É-Ð[`ÔJ`�a—h‘h—m’mÐfkˆä¨¸U×CÖCØ&Õ>×IÑIÈ!ÈQÓOˆEÜ—)’)˜U˜N°Ô3ˆCØ—'‘'“)˜d×4Ñ4Õ4ˆCØ—'‘'“)˜d×4Ñ4Õ4ˆC÷	 Dð �v‰v˜AŸG™GˆvÓ$ c§f¡f°1·7±7 fÓ&;Ð;Ð;÷ D×Cús   Ã(A4FÆF,	)rê   r&   rì   ræ   rî   rç   râ   r°   )rN   rO   rP   rQ   r   r1   Ústaticmethodré   rC   Úno_gradr   rK   rR   rS   rT   rU   s   @@r)   rÜ   rÜ   	  su   ù‡ € Ù�X vÔ.÷Oô Oó /ðOð  Ù�X vÔ.÷5ñ 5ó /ó ð5ð$ ‡]‚]ƒ_Øñ<ó ó ÷<ð <r,   rÜ   c                   óh   a a€ ] tR tRt oV3R lV 3R llt]]RV3R lR ll4       4       tRtVt	V ;t
# )ÚStarcoder2ModeliB  c                ó    <€ V ^8„  d   QhRS[ /# r$   r   )r'   r(   s   "€r)   r*   ÚStarcoder2Model.__annotate__D  s   ø€ ÷ ñ Ñ/ñ r,   c           	     óL  <€ \         SV `  V4       VP                  V n        VP                  V n        \
        P                  ! VP                  VP                  V P                  4      V n        \
        P                  ! \        VP                  4       Uu. uF  p\        W4      NK  	  up4      V n        \
        P                  ! VP                  VP                  R 7      V n        \#        VR7      V n        RV n        VP(                  V n        V P+                  4        R# u upi )r·   ©r&   FN)r0   r1   Úpad_token_idÚpadding_idxÚ
vocab_sizer   Ú	Embeddingr2   Úembed_tokensÚ
ModuleListÚrangeÚnum_hidden_layersr³   Úlayersr»   r¼   ÚnormrÜ   Ú
rotary_embÚgradient_checkpointingÚembedding_dropoutÚ	post_initrŸ   s   && €r)   r1   ÚStarcoder2Model.__init__D  sÜ   ø€ Ü‰Ñ˜Ô Ø!×.Ñ.ˆÔØ ×+Ñ+ˆŒäŸLšL¨×):Ñ):¸F×<NÑ<NÐPT×P`ÑP`ÓaˆÔÜ—m’mÜHMÈf×NfÑNfÔHgÓhÑHg¸9Ô# FÖ6ÑHgÑhó
ˆŒô —L’L ×!3Ñ!3¸×9LÑ9LÔMˆŒ	Ü3¸6ÔBˆŒØ&+ˆÔ#Ø!'×!9Ñ!9ˆÔð 	�‰Öùò is   ÂD!c                ó  <€ V ^8„  d   QhRS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[R,          RS[ P                  R,          RS[R,          RS[S[,          R	S[S[	,          /# )
r%   Ú	input_idsNr}   rÁ   r£   Úinputs_embedsrÂ   r   rA   )
rC   rÃ   rm   r   rD   rÄ   r   r   rB   r   )r'   r(   s   "€r)   r*   r  W  s™   ø€ ÷ 7
ñ 7
á×#Ñ# dÕ*ð7
ñ Ÿ™ tÕ+ð7
ñ ×&Ñ&¨Õ-ð	7
ñ
  �ð7
ñ ×(Ñ(¨4Õ/ð7
ñ ˜$•;ð7
ñ Ñ+Õ,ð7
ñ 
Ñ(Õ	(ñ7
r,   c                óR  € VR J VR J,          '       d   \        R4      hVf   V P                  V4      pV'       d   Vf   \        V P                  R7      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                  P                  f   \        M\        p	V	! V P                  VVVVR7      p
Tp\        P                  P                  W°P                   V P"                  R7      pV P%                  W³R7      pV P&                  R V P                  P(                    F  pV! V3RV
RVR	VR
VRV/VB pK  	  V P+                  V4      p\-        TV'       d   VR7      # R R7      # )Nz:You must specify exactly one of input_ids or inputs_embedsr  )rÝ   )r&   r  r}   r£   rÁ   rF   )rÁ   r}   rÁ   r£   rÂ   r¢   )Úlast_hidden_stater£   )Ú
ValueErrorr  r   r&   Úget_seq_lengthrC   rõ   rZ   rÝ   rb   r¦   r   r   r   rI   rJ   r  rH   r  r  r  r  r   )r;   r  r}   rÁ   r£   r  rÂ   r   Úpast_seen_tokensÚmask_functionÚcausal_maskr@   r¢   Údecoder_layers   &&&&&&&,      r)   rK   ÚStarcoder2Model.forwardU  s¶  € ð ˜Ð -°tÐ";×<Ô<ÜÐYÓZÐZàÒ Ø ×-Ñ-¨iÓ8ˆMç˜Ò0Ü*°$·+±+Ô>ˆOàÒØCRÒC^˜×=Ñ=Ô?ÐdeÐÜ Ÿ<š<¨×(;Ñ(;¸AÕ(>À}×G[ÑG[Ô\Ð_oÕoˆLØ'×1Ñ1°!Ó4ˆLà.2¯k©k×.HÑ.HÒ.PÕ*ÔVwˆÙ#Ø—;‘;Ø'Ø)Ø+Ø%ô
ˆð &ˆÜŸ™×-Ñ-Ø×3Ñ3¸d¿m¹mð .ó 
ˆð #Ÿo™o¨m˜oÓWÐà!Ÿ[™[Ð)H¨4¯;©;×+HÑ+HÓIˆMÙ)Øñà*ðð *ðð !0ð	ð
 $ðð %8ðð ñŠMñ Jð Ÿ	™	 -Ó0ˆä&Ø+ß/8˜Oô
ð 	
à>Bô
ð 	
r,   )r  r  r  r  r  r  r  r  )NNNNNN)rN   rO   rP   rQ   r1   r   r   rK   rR   rS   rT   rU   s   @@r)   r	  r	  B  s5   ù‡ € ÷ó ð"  Ø÷7
ñ 7
ó ó  ÷7
ð 7
r,   r	  c                   ó„   a a€ ] tR tRt oRR/tRR/tRR.R.3/tRR/tV 3R	 lt]	]
RV3R
 lR ll4       4       tRtVtV ;t# )ÚStarcoder2ForCausalLMi‘  zlm_head.weightzmodel.embed_tokens.weightÚlm_headÚcolwise_gather_outputr@   ÚlogitsÚkeep_full_weightc                óì   <€ \         SV `  V4       \        V4      V n        VP                  V n        \
        P                  ! VP                  VP                  R R7      V n        V P                  4        R# )Fr.   N)
r0   r1   r	  rÌ   r  r   r3   r2   r+  r  )r;   r&   r=   s   &&€r)   r1   ÚStarcoder2ForCausalLM.__init__˜  sU   ø€ Ü‰Ñ˜Ô Ü$ VÓ,ˆŒ
Ø ×+Ñ+ˆŒÜ—y’y ×!3Ñ!3°V×5FÑ5FÈUÔSˆŒð 	�‰Ör,   c                óP  <€ V ^8„  d   QhRS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[R,          RS[ P                  R,          RS[ P                  R,          RS[R,          R	S[S[ P                  ,          R
S[S[,          RS[	/
# )r%   r  Nr}   rÁ   r£   r  ÚlabelsrÂ   Úlogits_to_keepr   rA   )
rC   rÃ   rm   r   rD   rÄ   rn   r   r   r   )r'   r(   s   "€r)   r*   Ú"Starcoder2ForCausalLM.__annotate__£  s»   ø€ ÷ 6
ñ 6
á×#Ñ# dÕ*ð6
ñ Ÿ™ tÕ+ð6
ñ ×&Ñ&¨Õ-ð	6
ñ
  �ð6
ñ ×(Ñ(¨4Õ/ð6
ñ × Ñ  4Õ'ð6
ñ ˜$•;ð6
ñ ™eŸl™lÕ*ð6
ñ Ñ+Õ,ð6
ñ 
 ñ6
r,   c	                ó–  € V P                   ! RRVRVRVRVRVRV/V	B p
V
P                  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VV
P                  V
P                  V
P                  R7      # )a�  
Example:

```python
>>> from transformers import AutoTokenizer, Starcoder2ForCausalLM

>>> model = Starcoder2ForCausalLM.from_pretrained("meta-starcoder2/Starcoder2-2-7b-hf")
>>> tokenizer = AutoTokenizer.from_pretrained("meta-starcoder2/Starcoder2-2-7b-hf")

>>> prompt = "Hey, are you conscious? Can you talk to me?"
>>> inputs = tokenizer(prompt, return_tensors="pt")

>>> # Generate
>>> generate_ids = model.generate(inputs.input_ids, max_length=30)
>>> tokenizer.batch_decode(generate_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False)[0]
"Hey, are you conscious? Can you talk to me?\nI'm not conscious, but I can talk to you."
```r  r}   rÁ   r£   r  rÂ   Nrp   r-  r2  r  )Úlossr-  r£   r@   rÍ   rÆ   )rÌ   r!  rþ   rn   Úslicer+  Úloss_functionr&   r  r   r£   r@   rÍ   )r;   r  r}   rÁ   r£   r  r2  rÂ   r3  r   Úoutputsr@   Úslice_indicesr-  r6  s   &&&&&&&&&,     r)   rK   ÚStarcoder2ForCausalLM.forward¡  sÿ   € ð> ,0¯:ª:ñ ,
Øð,
à)ð,
ð &ð,
ð ,ð	,
ð
 (ð,
ð  ð,
ð ñ,
ˆð  ×1Ñ1ˆä8BÀ>ÔSV×8WÒ8Wœ˜~˜o¨tÔ4Ð]kˆØ—‘˜m¨A¨}¸aÐ,?Õ@ÓAˆàˆØÒØ×%Ò%Ñp¨VÐp¸FÐpÈtÏ{É{×OeÑOeÐpÐioÑpˆDä%ØØØ#×3Ñ3Ø!×/Ñ/Ø×)Ñ)ô
ð 	
r,   )r+  rÌ   r  )NNNNNNNr   )rN   rO   rP   rQ   Ú_tied_weights_keysÚ_tp_planÚ_pp_planÚ
_fsdp_planr1   r   r   rK   rR   rS   rT   rU   s   @@r)   r*  r*  ‘  sf   ù‡ € à*Ð,GÐHÐØÐ2Ð3€HØ˜_Ð-°¨zÐ:Ð;€HØÐ/Ð0€Jõð Ø÷6
ñ 6
ó ó ÷6
ð 6
r,   r*  c                   ó   € ] tR tRtRtR# )Ú#Starcoder2ForSequenceClassificationiÜ  rÆ   N©rN   rO   rP   rQ   rR   rÆ   r,   r)   rA  rA  Ü  ó   † Ûr,   rA  c                   ó   € ] tR tRtRtR# )Ú Starcoder2ForTokenClassificationià  rÆ   NrB  rÆ   r,   r)   rE  rE  à  rC  r,   rE  )é   )r¥   )r*  r	  rË   rA  rE  )>Úcollections.abcr   rC   r   Úactivationsr   Úcache_utilsr   r   Ú
generationr   Úintegrationsr	   r
   Úmasking_utilsr   r   Úmodeling_flash_attention_utilsr   Úmodeling_layersr   r   r   Úmodeling_outputsr   r   Úmodeling_rope_utilsr   r   Úmodeling_utilsr   r   Úprocessing_utilsr   Úutilsr   r   r   Úutils.deprecationr   Úutils.genericr   r   Úutils.output_capturingr   Úconfiguration_starcoder2r    r€   r"   r_   rj   rw   r�   r‘   r³   rË   rÜ   r	  r*  rA  rE  Ú__all__rÆ   r,   r)   Ú<module>rY     sP  ðõ4 %ã Ý å !ß .Ý )ß Lß RÝ B÷ñ ÷
 Pß Kß FÝ &ß IÑ IÝ 0ß GÝ 5Ý 6ô�B—I‘Iô ò"(ñ Ð-Ó.óó /ðõ2	U÷%ñ2 Ð)Ó*ô=)˜"Ÿ)™)ó =)ó +ð=)ô@&Ð7ô &ðR ô ó ó ðô$6< §	¡	ô 6<ðr ôK
Ð/ó K
ó ðK
ð\ ôG
Ð5°ó G
ó ðG
ôT	Ð*JÐLeô 	ô	Ð'DÐF_ô 	ò‚r,   