+
    œ°³jäK  ã                   ó  € ^ RI Ht ^ RIHt ^ RIt^ RIHu Ht ^ RIHt ^RI	H
t ^RI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 ^RIHt ^RI H!t! ]! RR7      ] ! R R]4      4       4       t" ! R R]PF                  4      t$ ! R R]PF                  4      t% ! R R]PF                  4      t& ! R R]PF                  4      t'R/R R llt( ! R R]PF                  4      t) ! R R ]PF                  4      t* ! R! R"]PF                  4      t+ ! R# R$]PF                  4      t, ! R% R&]PF                  4      t- ! R' R(]4      t.] ! R) R*]4      4       t/ ! R+ R,]/4      t0] ! R- R.]/4      4       t1R.R*.t2R# )0é    )ÚCallable)Ú	dataclassN)Únn)Úinitialization)ÚACT2FN)ÚGradientCheckpointingLayer)ÚBaseModelOutputÚModelOutput)ÚALL_ATTENTION_FUNCTIONSÚPreTrainedModel)ÚUnpack)ÚTransformersKwargsÚauto_docstringÚcan_return_tuple)Úmerge_with_config_defaults)Úcapture_outputs©ÚRadioConfigzOutput of [`RadioModel`].)Úcustom_introc                   óD   a € ] tR t^(t o RtRtRtRtRtRt	V 3R lt
RtV tR# )ÚRadioModelOutputaÜ  
summary (`torch.FloatTensor` of shape `(batch_size, num_summary_idxs * hidden_size)`):
    Flattened summary embedding, gathered from the cls tokens selected by `config.summary_idxs`.
features (`torch.FloatTensor` of shape `(batch_size, num_patches, hidden_size)`):
    Dense spatial patch features.
last_hidden_state (`torch.FloatTensor` of shape `(batch_size, sequence_length, hidden_size)`):
    Full token sequence (prefix tokens + patches) from the final encoder layer.
Nc                ó   <€ V ^8„  d   Qh/ S[ P                  R,          ;R&   S[ P                  R,          ;R&   S[ P                  R,          ;R&   S[S[ P                  ,          R,          ;R&   S[S[ P                  ,          R,          ;R&   # )é   NÚsummaryÚfeaturesÚlast_hidden_stateÚhidden_statesÚ
attentions)ÚtorchÚFloatTensorÚtuple)ÚformatÚ__classdict__s   "€Úi/home/luca/screen-checking/.venv/lib/python3.14/site-packages/transformers/models/radio/modeling_radio.pyÚ__annotate__ÚRadioModelOutput.__annotate__(   s‡   ø‡ ‚ ñ ×Ñ Õ%Ñ,ñ ñ ×Ñ $Õ&Ñ-ñ ñ ×(Ñ(¨4Õ/Ñ6ñ ñ ™×*Ñ*Õ+¨dÕ2Ñ9ñ ñ  ‘e×'Ñ'Õ(¨4Õ/Ñ6ò! ó    © )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   r   r   r   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__©r#   s   @r$   r   r   (   s-   ø‡ € ñð )-€GØ)-€HØ26ÐØ59€MØ26€J÷! ƒ r'   r   c                   óT   a a€ ] tR t^;t oRtV3R lV 3R lltV3R lR ltRtVtV ;t	# )ÚRadioInputConditionerzFNormalizes pixel values; arithmetic is done in float32 then cast back.c                ó    <€ V ^8„  d   QhRS[ /# ©r   Úconfigr   )r"   r#   s   "€r$   r%   Ú"RadioInputConditioner.__annotate__>   s   ø€ ÷ añ a™{ñ ar'   c                óT  <€ \         SV `  4        \        P                  ! \        P
                  ! VP                  4      P                  R^^4      RR7      V n        \        P                  ! \        P
                  ! VP                  4      P                  R^^4      RR7      V n        R# )é   T©Ú
persistentNéÿÿÿÿ)	ÚsuperÚ__init__r   ÚBufferr   ÚtensorÚ	norm_meanÚviewÚnorm_std©Úselfr6   Ú	__class__s   &&€r$   r>   ÚRadioInputConditioner.__init__>   sn   ø€ Ü‰ÑÔÜŸš¤5§<¢<°×0@Ñ0@Ó#A×#FÑ#FÀrÈ1ÈaÓ#PÐ]aÔbˆŒÜŸ	š	¤%§,¢,¨v¯©Ó"?×"DÑ"DÀRÈÈAÓ"NÐ[_Ô`ˆŽr'   c                óN   <€ V ^8„  d   QhRS[ P                  RS[ P                  /# ©r   Úpixel_valuesÚreturn©r   ÚTensor)r"   r#   s   "€r$   r%   r7   C   s#   ø€ ÷ 1ñ 1¡E§L¡Lð 1±U·\±\ñ 1r'   c                óÔ   € VP                  4       V P                  P                  4       ,
          V P                  P                  4       ,          pVP                  VP                  4      # ©N)ÚfloatrA   rC   ÚtoÚdtype)rE   rJ   Ú
normalizeds   && r$   ÚforwardÚRadioInputConditioner.forwardC   sI   € Ø"×(Ñ(Ó*¨T¯^©^×-AÑ-AÓ-CÕCÀtÇ}Á}×GZÑGZÓG\Õ\ˆ
Ø�}‰}˜\×/Ñ/Ó0Ð0r'   )rA   rC   ©
r)   r*   r+   r,   r-   r>   rT   r/   r0   Ú__classcell__©rF   r#   s   @@r$   r3   r3   ;   s#   ù‡ € ÙP÷aó a÷
1÷ 1ð 1r'   r3   c                   óx   a a€ ] tR t^Ht oRtV3R lV 3R lltV3R lR ltV3R lR ltV3R lR	 ltR
t	Vt
V ;t# )ÚRadioPatchEmbeddingszÉCropped Position Embedding (CPE) patch generator.

Splits the image into patches, projects them, adds a resolution-interpolated
absolute position embedding, and prepends learned cls + register tokens.
c                ó    <€ V ^8„  d   QhRS[ /# r5   r   )r"   r#   s   "€r$   r%   Ú!RadioPatchEmbeddings.__annotate__O   s   ø€ ÷ 
ñ 
™{ñ 
r'   c                ó   <€ \         SV `  4        VP                  V n        VP                  V n        VP
                  V n        VP                  V n        VP                  VP                  ,          V n        VP                  VP                  ,          V n	        V P                  V P                  ,          p\        P                  ! VP                  VP                  ^,          ,          VP                  RR7      V n        \        P                  ! \        P                   ! ^W!P                  4      4      V n        \        P                  ! \        P                   ! VP
                  VP                  ,           VP                  4      4      V n        R# )r   F©ÚbiasN)r=   r>   Ú
patch_sizeÚhidden_sizeÚ	embed_dimÚnum_cls_tokensÚnum_registersÚmax_img_sizeÚmax_rowsÚmax_colsr   ÚLinearÚnum_channelsÚpatch_projectionÚ	Parameterr   ÚzerosÚposition_embeddingÚcls_register_token)rE   r6   Únum_positionsrF   s   && €r$   r>   ÚRadioPatchEmbeddings.__init__O   s  ø€ Ü‰ÑÔØ ×+Ñ+ˆŒØ×+Ñ+ˆŒØ$×3Ñ3ˆÔØ#×1Ñ1ˆÔà×+Ñ+¨v×/@Ñ/@Õ@ˆŒØ×+Ñ+¨v×/@Ñ/@Õ@ˆŒØŸ™¨¯©Õ5ˆä "§	¢	¨&×*=Ñ*=À×@QÑ@QÐSTÕ@TÕ*TÐV\×VhÑVhÐotÔ uˆÔÜ"$§,¢,¬u¯{ª{¸1¸m×M_ÑM_Ó/`Ó"aˆÔÜ"$§,¢,Ü�KŠK˜×-Ñ-°×0DÑ0DÕDÀf×FXÑFXÓYó#
ˆÖr'   c                óN   <€ V ^8„  d   QhRS[ P                  RS[ P                  /# rI   rL   )r"   r#   s   "€r$   r%   r\   `   s#   ø€ ÷ ñ ©e¯l©lð ¹u¿|¹|ñ r'   c                óô   € V P                   pVP                  w  r4rVWR,          Wb,          r‡VP                  W4WrW‚4      p	V	P                  ^ ^^^^^4      P                  W7V,          WB,          V,          4      p	V	# )r   )r`   ÚshapeÚreshapeÚpermute)
rE   rJ   ÚpsÚbatchÚchannelsÚheightÚwidthÚrowsÚcolsÚpatchess
   &&        r$   Ú_image_to_patchesÚ&RadioPatchEmbeddings._image_to_patches`   sr   € Ø�_‰_ˆØ)5×);Ñ);Ñ&ˆ˜Ø•\ 5¥;ˆdØ×&Ñ& u¸À$ÓKˆØ—/‘/ ! Q¨¨1¨a°Ó3×;Ñ;¸EÈ$Å;ÐPXÕP]Ð`bÕPbÓcˆØˆr'   c                ój   <€ V ^8„  d   QhRS[ S[S[3,          RS[P                  RS[P                  /# )r   Ú
input_dimsrR   rK   )r!   Úintr   rR   rM   )r"   r#   s   "€r$   r%   r\   h   s8   ø€ ÷ 
/ñ 
/¹%ÁÁSÀ½/ð 
/ÑRW×R]ÑR]ð 
/Ñbg×bnÑbnñ 
/r'   c                óÞ  € V P                   P                  ^V P                  V P                  R4      P	                  ^ ^^^4      p\        V4      p\        P                  ! VP                  4       WD3RRR7      P                  V4      pV^ ,          VP                  R,          8  d   VRRV^ ,          1R3,          pV^,          VP                  R,          8  d   VRRRV^,          13,          pVP                  RR \        V4      8w  dA   \        P                  ! VP                  4       \        V4      RRR7      P                  V4      pVP                  ^4      P	                  ^ ^^4      # )	r9   ÚbilinearF)ÚsizeÚmodeÚalign_corners.NºNNNr<   éþÿÿÿ)rm   rt   rf   rg   ru   ÚmaxÚFÚinterpolaterP   rQ   rs   r!   Úflatten)rE   r�   rR   ÚposÚmax_dims   &&&  r$   Ú_interpolate_position_embeddingÚ4RadioPatchEmbeddings._interpolate_position_embeddingh   s(  € Ø×%Ñ%×-Ñ-¨a°·±ÀÇÁÈrÓR×ZÑZÐ[\Ð^_ÐabÐdeÓfˆÜ�j“/ˆÜ�mŠm˜CŸI™I›K¨wÐ.@ÀzÐafÔg×jÑjÐkpÓqˆØ�a�=˜3Ÿ9™9 R�=Ô(Ø�c˜?˜Z¨�]˜?¨AÐ-Õ.ˆCØ�a�=˜3Ÿ9™9 R�=Ô(Ø�c˜1˜o 
¨1¥˜oÐ-Õ.ˆCØ�9‰9�R�Sˆ>œU :Ó.Ô.Ü—-’- §	¡	£´%¸
Ó2CÈ*ÐdiÔj×mÑmÐnsÓtˆCØ�{‰{˜1‹~×%Ñ% a¨¨AÓ.Ð.r'   c                óN   <€ V ^8„  d   QhRS[ P                  RS[ P                  /# rI   rL   )r"   r#   s   "€r$   r%   r\   t   s#   ø€ ÷ 3ñ 3¡E§L¡Lð 3±U·\±\ñ 3r'   c                óÀ  € V P                  V P                  V4      4      pVP                  R,          V P                  ,          VP                  R,          V P                  ,          3pW P	                  W2P
                  4      ,           pV P                  P                  ^ 4      P                  VP                  ^ ,          RR4      p\        P                  ! WB.^R7      # )r   ©Údimr‰   r<   )rj   r~   rs   r`   r�   rR   rn   Ú	unsqueezeÚexpandr   Úcat)rE   rJ   r}   r�   Úprefixs   &&   r$   rT   ÚRadioPatchEmbeddings.forwardt   s­   € Ø×'Ñ'¨×(>Ñ(>¸|Ó(LÓMˆØ"×(Ñ(¨Õ,°·±Õ?À×ASÑASÐTVÕAWÐ[_×[jÑ[jÕAjÐkˆ
Ø×@Ñ@ÀÏ]É]Ó[Õ[ˆØ×(Ñ(×2Ñ2°1Ó5×<Ñ<¸W¿]¹]È1Õ=MÈrÐSUÓVˆÜ�yŠy˜&Ð*°Ô2Ð2r'   )	rn   rb   rg   rf   rc   rd   rj   r`   rm   )r)   r*   r+   r,   r-   r>   r~   r�   rT   r/   r0   rW   rX   s   @@r$   rZ   rZ   H   s7   ù‡ € ñ÷
ó 
÷"ð ÷
/ð 
/÷3÷ 3ð 3r'   rZ   c                   óP   a a€ ] tR t^|t oV3R lV 3R lltV3R lR ltRtVtV ;t# )ÚRadioMLPc                ó   <€ V ^8„  d   QhRR/# ©r   rK   Nr(   )r"   r#   s   "€r$   r%   ÚRadioMLP.__annotate__}   s   ø€ ÷ 	Gñ 	G $ñ 	Gr'   c                óš  <€ \         SV `  4        VP                  ;r#\        VP                  VP                  ,          4      p\
        P                  ! W$R R7      V n        \        VP                  \        4      '       d   \        VP                  ,          V n        MVP                  V n        \
        P                  ! WCR R7      V n        R# )Tr^   N)r=   r>   ra   r‚   Ú	mlp_ratior   rh   Úfc1Ú
isinstanceÚ
hidden_actÚstrr   Ú
activationÚfc2©rE   r6   Úin_featuresÚout_featuresÚhidden_featuresrF   s   &&   €r$   r>   ÚRadioMLP.__init__}   s�   ø€ Ü‰ÑÔØ%+×%7Ñ%7Ð7ˆÜ˜f×0Ñ0°6×3CÑ3CÕCÓDˆÜ—9’9˜[ÀÔEˆŒÜ�f×'Ñ'¬×-Ò-Ü$ V×%6Ñ%6Õ7ˆD�Oà$×/Ñ/ˆDŒOÜ—9’9˜_ÀÔFˆŽr'   c                óN   <€ V ^8„  d   QhRS[ P                  RS[ P                  /# ©r   Úhidden_staterK   rL   )r"   r#   s   "€r$   r%   rŸ   ˆ   s#   ø€ ÷ ñ ¡E§L¡Lð ±U·\±\ñ r'   c                ól   € V P                  V4      pV P                  V4      pV P                  V4      pV# rO   )r¢   r¦   r§   ©rE   r¯   s   &&r$   rT   ÚRadioMLP.forwardˆ   s2   € Ø—x‘x Ó-ˆØ—‘ |Ó4ˆØ—x‘x Ó-ˆØÐr'   )r¦   r¢   r§   ©	r)   r*   r+   r,   r>   rT   r/   r0   rW   rX   s   @@r$   rœ   rœ   |   s    ù‡ € ÷	Gó 	G÷÷ ð r'   rœ   c                   óP   a a€ ] tR t^�t oV3R lV 3R lltV3R lR ltRtVtV ;t# )ÚRadioLayerScalec                ó   <€ V ^8„  d   QhRR/# rž   r(   )r"   r#   s   "€r$   r%   ÚRadioLayerScale.__annotate__�   s   ø€ ÷ ^ñ ^ $ñ ^r'   c                ó¸   <€ \         SV `  4        \        P                  ! VP                  \
        P                  ! VP                  4      ,          4      V n        R # rO   )	r=   r>   r   rk   Úlayerscale_valuer   Úonesra   Úlambda1rD   s   &&€r$   r>   ÚRadioLayerScale.__init__�   s8   ø€ Ü‰ÑÔÜ—|’| F×$;Ñ$;¼e¿jºjÈ×I[ÑI[Ó>\Õ$\Ó]ˆŽr'   c                óN   <€ V ^8„  d   QhRS[ P                  RS[ P                  /# r®   rL   )r"   r#   s   "€r$   r%   r·   ”   s#   ø€ ÷ +ñ +¡E§L¡Lð +±U·\±\ñ +r'   c                ó&   € WP                   ,          # rO   ©r»   r±   s   &&r$   rT   ÚRadioLayerScale.forward”   s   € ØŸl™lÕ*Ð*r'   r¿   r³   rX   s   @@r$   rµ   rµ   �   s    ù‡ € ÷^ó ^÷+÷ +ð +r'   rµ   c                ó  € V ^8„  d   QhR\         P                  R\        P                  R\        P                  R\        P                  R\        P                  R,          R\        R,          R\        R	\
        \        ,          /# )
r   ÚmoduleÚqueryÚkeyÚvalueÚattention_maskNÚscalingÚdropoutÚkwargs)r   ÚModuler   rM   rP   r   r   )r"   s   "r$   r%   r%   ˜   s{   € ÷ %ñ %Ü�I‰Ið%ä�<‰<ð%ô 
�‰ð%ô �<‰<ð	%ô
 —L‘L 4Õ'ð%ô �T�\ð%ô ð%ô Ô'Õ(ñ%r'   c                 ó¶  € Vf   VP                  R4      R,          p\        P                  ! WP                  ^^4      4      V,          pVe	   W„,           p\        P
                  P                  VRR7      p\        P
                  P                  W†V P                  R7      p\        P                  ! Wƒ4      p	V	P                  ^^4      P                  4       p	W˜3# )Nr”   )ÚpÚtrainingr<   ç      à¿)
r…   r   ÚmatmulÚ	transposer   Ú
functionalÚsoftmaxrÈ   rÍ   Ú
contiguous)
rÂ   rÃ   rÄ   rÅ   rÆ   rÇ   rÈ   rÉ   Úattn_weightsÚattn_outputs
   &&&&&&&,  r$   Úeager_attention_forwardrÖ   ˜   s±   € ð ‚Ø—*‘*˜R“. DÕ(ˆô —<’< §}¡}°Q¸Ó':Ó;¸gÕE€LàÒ!Ø#Õ4ˆä—=‘=×(Ñ(¨¸2Ð(Ó>€LÜ—=‘=×(Ñ(¨È6Ï?É?Ð(Ó[€Lä—,’,˜|Ó3€KØ×'Ñ'¨¨1Ó-×8Ñ8Ó:€KàÐ$Ð$r'   c                   óP   a a€ ] tR t^µt oV3R lV 3R lltV3R lR ltRtVtV ;t# )ÚRadioSelfAttentionc                ó    <€ V ^8„  d   QhRS[ /# r5   r   )r"   r#   s   "€r$   r%   ÚRadioSelfAttention.__annotate__¶   s   ø€ ÷ ]ñ ]™{ñ ]r'   c                óh  <€ \         SV `  4        VP                  VP                  ,          ^ 8w  d9   \	        VR4      '       g'   \        RVP                   RVP                   R24      hWn        VP                  V n        \        VP                  VP                  ,          4      V n        V P                  V P                  ,          V n	        VP                  V n        V P                  R,          V n        RV n        \        P                  ! VP                  V P                  VP                   R7      V n        \        P                  ! VP                  V P                  VP                   R7      V n        \        P                  ! VP                  V P                  VP                   R7      V n        R# )	r   Úembedding_sizezThe hidden size z4 is not a multiple of the number of attention heads Ú.Fr^   NrÎ   )r=   r>   ra   Únum_attention_headsÚhasattrÚ
ValueErrorr6   r‚   Úattention_head_sizeÚall_head_sizeÚattention_probs_dropout_probÚdropout_probrÇ   Ú	is_causalr   rh   Úqkv_biasrÃ   rÄ   rÅ   rD   s   &&€r$   r>   ÚRadioSelfAttention.__init__¶   sG  ø€ Ü‰ÑÔØ×Ñ × :Ñ :Õ:¸aÔ?ÌÐPVÐXh×HiÒHiÜØ" 6×#5Ñ#5Ð"6ð 7Ø×3Ñ3Ð4°Að7óð ð
 ŒØ#)×#=Ñ#=ˆÔ Ü#& v×'9Ñ'9¸F×<VÑ<VÕ'VÓ#WˆÔ Ø!×5Ñ5¸×8PÑ8PÕPˆÔØ"×?Ñ?ˆÔØ×/Ñ/°Õ5ˆŒØˆŒä—Y’Y˜v×1Ñ1°4×3EÑ3EÈFÏOÉOÔ\ˆŒ
Ü—9’9˜V×/Ñ/°×1CÑ1CÈ&Ï/É/ÔZˆŒÜ—Y’Y˜v×1Ñ1°4×3EÑ3EÈFÏOÉOÔ\ˆŽ
r'   c                óŽ   <€ V ^8„  d   QhRS[ P                  RS[S[,          RS[S[ P                  S[ P                  3,          /# ©r   r   rÉ   rK   )r   rM   r   r   r!   )r"   r#   s   "€r$   r%   rÚ   Ê   sE   ø€ ÷ .ñ .á—|‘|ð.ñ Ñ+Õ,ð.ñ 
‰u�|‰|™UŸ\™\Ð)Õ	*ñ	.r'   c           	     óÔ  € VP                   ^ ,          pVRV P                  V P                  3pV P                  V4      P                  ! V!  P                  ^^4      pV P                  V4      P                  ! V!  P                  ^^4      pV P                  V4      P                  ! V!  P                  ^^4      p\        P                  ! V P                  P                  \        4      pT! V VVVR3RV P                  RV P                  RV P                  '       g   RMV P                   /VB w  ršV	P#                  4       RR V P$                  3,           pV	P'                  V4      p	Wš3# )r   Nrå   rÇ   rÈ   ç        r<   r‰   )rs   rÞ   rá   rÄ   rB   rÐ   rÅ   rÃ   r   Úget_interfacer6   Ú_attn_implementationrÖ   rå   rÇ   rÍ   rä   r…   râ   rt   )rE   r   rÉ   Ú
batch_sizeÚ	new_shapeÚ	key_layerÚvalue_layerÚquery_layerÚattention_interfaceÚcontext_layerÚattention_probsÚnew_context_layer_shapes   &&,         r$   rT   ÚRadioSelfAttention.forwardÊ   s_  € ð
 #×(Ñ(¨Õ+ˆ
Ø  D×$<Ñ$<¸d×>VÑ>VÐVˆ	à—H‘H˜]Ó+×0Ò0°)Ñ<×FÑFÀqÈ!ÓLˆ	Ø—j‘j Ó/×4Ò4°iÑ@×JÑJÈ1ÈaÓPˆØ—j‘j Ó/×4Ò4°iÑ@×JÑJÈ1ÈaÓPˆä(?×(MÒ(MØ�K‰K×,Ñ,Ô.Eó)
Ðñ *=ØØØØØñ
*
ð —n‘nð
*
ð —L‘Lð
*
ð  $Ÿ}Ÿ}˜}‘C°$×2CÑ2Cð
*
ð ñ
*
Ñ&ˆð #0×"4Ñ"4Ó"6°s¸Ð";¸t×?QÑ?QÐ>SÕ"SÐØ%×-Ñ-Ð.EÓFˆàÐ-Ð-r'   )
râ   rá   r6   rä   rå   rÄ   rÞ   rÃ   rÇ   rÅ   r³   rX   s   @@r$   rØ   rØ   µ   s    ù‡ € ÷]ó ]÷(.÷ .ð .r'   rØ   c                   óT   a a€ ] tR t^ít oRtV3R lV 3R lltV3R lR ltRtVtV ;t	# )ÚRadioSelfOutputz–
The residual connection is defined in RadioLayer instead of here (as is the case with other models), due to the
layernorm applied before each block.
c                ó    <€ V ^8„  d   QhRS[ /# r5   r   )r"   r#   s   "€r$   r%   ÚRadioSelfOutput.__annotate__ó   s   ø€ ÷ >ñ >™{ñ >r'   c                óÎ   <€ \         SV `  4        \        P                  ! VP                  VP                  4      V n        \        P                  ! VP                  4      V n        R # rO   )	r=   r>   r   rh   ra   ÚdenseÚDropoutÚhidden_dropout_probrÈ   rD   s   &&€r$   r>   ÚRadioSelfOutput.__init__ó   sB   ø€ Ü‰ÑÔÜ—Y’Y˜v×1Ñ1°6×3EÑ3EÓFˆŒ
Ü—z’z &×"<Ñ"<Ó=ˆŽr'   c                óh   <€ V ^8„  d   QhRS[ P                  RS[ P                  RS[ P                  /# )r   r   Úinput_tensorrK   rL   )r"   r#   s   "€r$   r%   rû   ø   s1   ø€ ÷ ñ ¡U§\¡\ð ÁÇÁð ÑRW×R^ÑR^ñ r'   c                óJ   € V P                  V4      pV P                  V4      pV# rO   ©rý   rÈ   )rE   r   r  s   &&&r$   rT   ÚRadioSelfOutput.forwardø   s$   € ØŸ
™
 =Ó1ˆØŸ™ ]Ó3ˆØÐr'   r  rV   rX   s   @@r$   rù   rù   í   s#   ù‡ € ñ÷
>ó >÷
÷ ð r'   rù   c                   óP   a a€ ] tR t^ÿt oV3R lV 3R lltV3R lR ltRtVtV ;t# )ÚRadioAttentionc                ó    <€ V ^8„  d   QhRS[ /# r5   r   )r"   r#   s   "€r$   r%   ÚRadioAttention.__annotate__   s   ø€ ÷ .ñ .™{ñ .r'   c                ód   <€ \         SV `  4        \        V4      V n        \	        V4      V n        R # rO   )r=   r>   rØ   Ú	attentionrù   ÚoutputrD   s   &&€r$   r>   ÚRadioAttention.__init__   s&   ø€ Ü‰ÑÔÜ+¨FÓ3ˆŒÜ% fÓ-ˆŽr'   c                ód   <€ V ^8„  d   QhRS[ P                  RS[S[,          RS[ P                  /# ré   )r   rM   r   r   )r"   r#   s   "€r$   r%   r	    s7   ø€ ÷ ñ á—|‘|ðñ Ñ+Õ,ðñ 
�‰ñ	r'   c                óR   € V P                   ! V3/ VB w  r4V P                  W14      pV# rO   ©r  r  )rE   r   rÉ   Úself_attn_outputÚ_r  s   &&,   r$   rT   ÚRadioAttention.forward  s/   € ð
 #Ÿnšn¨]ÑE¸fÑEÑÐØ—‘Ð-Ó=ˆØˆr'   r  r³   rX   s   @@r$   r  r  ÿ   s   ù‡ € ÷.ó .÷
÷ ð r'   r  c                   óP   a a€ ] tR tRt oV3R lV 3R lltV3R lR ltRtVtV ;t# )ÚRadioSwiGLUFFNi  c                ó   <€ V ^8„  d   QhRR/# rž   r(   )r"   r#   s   "€r$   r%   ÚRadioSwiGLUFFN.__annotate__  s   ø€ ÷ Oñ O $ñ Or'   c                ój  <€ \         SV `  4        VP                  ;r#\        VP                  VP                  ,          4      p\        V^,          ^,          4      ^,           ^,          ^,          p\
        P                  ! V^V,          RR7      V n        \
        P                  ! WCRR7      V n        R# )r   Tr^   N)	r=   r>   ra   r‚   r¡   r   rh   Ú
weights_inÚweights_outr¨   s   &&   €r$   r>   ÚRadioSwiGLUFFN.__init__  s†   ø€ Ü‰ÑÔØ%+×%7Ñ%7Ð7ˆÜ˜f×0Ñ0°6×3CÑ3CÕCÓDˆÜ˜°Õ2°QÕ6Ó7¸!Õ;ÀÕAÀAÕEˆäŸ)š) K°°_Õ1DÈ4ÔPˆŒÜŸ9š9 _ÈÔNˆÖr'   c                óN   <€ V ^8„  d   QhRS[ P                  RS[ P                  /# r®   rL   )r"   r#   s   "€r$   r%   r    s#   ø€ ÷ (ñ (¡E§L¡Lð (±U·\±\ñ (r'   c                ó¼   € V P                  V4      pVP                  ^RR7      w  r#\        P                  P	                  V4      V,          pV P                  V4      # )r   r”   r<   )r  Úchunkr   rÑ   Úsilur  )rE   r¯   Úx1Úx2Úhiddens   &&   r$   rT   ÚRadioSwiGLUFFN.forward  sQ   € Ø—‘ |Ó4ˆØ×#Ñ# A¨2Ð#Ó.‰ˆÜ—‘×#Ñ# BÓ'¨"Õ,ˆØ×Ñ Ó'Ð'r'   )r  r  r³   rX   s   @@r$   r  r    s    ù‡ € ÷Oó O÷(÷ (ð (r'   r  c                   ój   a a€ ] tR tRt oRtR
V3R lV 3R llltV3R lR ltV3R lR ltR	tVt	V ;t
# )ÚRadioDropPathi   zÃStochastic depth (DropPath) per sample, for residual blocks.

Identity when ``drop_prob`` is 0 or outside training. See `Deep Networks with Stochastic Depth
<https://arxiv.org/abs/1603.09382>`_.
c                ó$   <€ V ^8„  d   QhRS[ RR/# )r   Ú	drop_probrK   N)rP   )r"   r#   s   "€r$   r%   ÚRadioDropPath.__annotate__'  s   ø€ ÷ #ñ #¡%ð #°$ñ #r'   c                ó0   <€ \         SV `  4        Wn        R # rO   )r=   r>   r'  )rE   r'  rF   s   &&€r$   r>   ÚRadioDropPath.__init__'  s   ø€ Ü‰ÑÔØ"Žr'   c                óN   <€ V ^8„  d   QhRS[ P                  RS[ P                  /# ©r   r   rK   rL   )r"   r#   s   "€r$   r%   r(  +  s#   ø€ ÷ <ñ <¡U§\¡\ð <±e·l±lñ <r'   c                ó˜  € V P                   R 8X  g   V P                  '       g   V# ^V P                   ,
          pVP                  ^ ,          3RVP                  ^,
          ,          ,           p\        P
                  ! W1P                  VP                  R7      p\        P                  ! WB,           4      pVP                  V4      V,          # )rë   )rR   Údevice)r9   )
r'  rÍ   rs   Úndimr   ÚrandrR   r.  ÚfloorÚdiv)rE   r   Ú	keep_probrs   Úrandom_tensors   &&   r$   rT   ÚRadioDropPath.forward+  s•   € Ø�>‰>˜SÔ ¨¯¯¨Ø Ð Ø˜Ÿ™Õ&ˆ	Ø×$Ñ$ QÕ'Ð)¨D°M×4FÑ4FÈÕ4JÕ,KÕKˆÜŸ
š
 5×0CÑ0CÈM×L`ÑL`ÔaˆÜŸš MÕ$=Ó>ˆØ× Ñ  Ó+¨mÕ;Ð;r'   c                ó    <€ V ^8„  d   QhRS[ /# ©r   rK   )r¥   )r"   r#   s   "€r$   r%   r(  4  s   ø€ ÷ %ñ %™Cñ %r'   c                ó    € R V P                    2# )zp=©r'  ©rE   s   &r$   Ú
extra_reprÚRadioDropPath.extra_repr4  s   € Ø�D—N‘NÐ#Ð$Ð$r'   r9  )rë   )r)   r*   r+   r,   r-   r>   rT   r;  r/   r0   rW   rX   s   @@r$   r%  r%     s-   ù‡ € ñ÷#õ #÷<ð <÷%÷ %ð %r'   r%  c                   óT   a a€ ] tR tRt oRtV3R lV 3R lltV3R lR ltRtVtV ;t	# )Ú
RadioLayeri8  zCThis corresponds to the Block class in the original implementation.c                ó$   <€ V ^8„  d   QhRS[ RR/# )r   r6   rK   Nr   )r"   r#   s   "€r$   r%   ÚRadioLayer.__annotate__;  s   ø€ ÷ 4ñ 4™{ð 4¨tñ 4r'   c                ó.  <€ \         SV `  4        \        P                  ! VP                  VP
                  R 7      V n        \        V4      V n        \        V4      V n
        VP                  R8”  d   \        VP                  4      M\        P                  ! 4       V n        \        P                  ! VP                  VP
                  R 7      V n        VP                   '       d   \#        V4      V n        M\'        V4      V n        \        V4      V n        R# ))Úepsrë   N)r=   r>   r   Ú	LayerNormra   Úlayer_norm_epsÚnorm1r  r  rµ   Úlayer_scale1Údrop_path_rater%  ÚIdentityÚ	drop_pathÚnorm2Úuse_swiglu_ffnr  Úmlprœ   Úlayer_scale2rD   s   &&€r$   r>   ÚRadioLayer.__init__;  sÀ   ø€ Ü‰ÑÔä—\’\ &×"4Ñ"4¸&×:OÑ:OÔPˆŒ
Ü'¨Ó/ˆŒÜ+¨FÓ3ˆÔØAG×AVÑAVÐY\ÔA\œ v×'<Ñ'<Ô=Ôbd×bmÒbmÓboˆŒä—\’\ &×"4Ñ"4¸&×:OÑ:OÔPˆŒ
à× × Ð Ü% fÓ-ˆD�Hä Ó'ˆDŒHÜ+¨FÓ3ˆÖr'   c                óN   <€ V ^8„  d   QhRS[ P                  RS[ P                  /# r,  rL   )r"   r#   s   "€r$   r%   r@  K  s'   ø€ ÷ ñ á—|‘|ðñ 
�‰ñr'   c                ó2  € V P                  V4      pV P                  V4      pV P                  V4      pV P                  V4      V,           pV P	                  V4      pV P                  V4      pV P                  V4      pV P                  V4      V,           pV# rO   )rE  r  rF  rI  rJ  rL  rM  )rE   r   Úhidden_states_normÚself_attention_outputÚlayer_outputs   &&   r$   rT   ÚRadioLayer.forwardK  s”   € ð "ŸZ™Z¨Ó6ÐØ $§¡Ð/AÓ BÐØ $× 1Ñ 1Ð2GÓ HÐð Ÿ™Ð'<Ó=ÀÕMˆð —z‘z -Ó0ˆØ—x‘x Ó-ˆØ×(Ñ(¨Ó6ˆð —~‘~ lÓ3°mÕCˆàÐr'   )r  rI  rF  rM  rL  rE  rJ  rV   rX   s   @@r$   r>  r>  8  s!   ù‡ € ÙM÷4ó 4÷ ÷ ð r'   r>  c                   ó~   a € ] tR tRt o ]tRtRtRtR.t	R.t
RtRtR]R]/t]P"                  ! 4       R	 4       tR
tV tR# )ÚRadioPreTrainedModelia  ÚmodelrJ   Tr>  zlayer_scale\d+\.lambda1r   r   c                ó°  € V P                   P                  p\        V\        P                  4      '       dV   \
        P                  ! VP                  R VR7       VP                  e#   \
        P                  ! VP                  4       R# R# \        V\        P                  4      '       dC   \
        P                  ! VP                  4       \
        P                  ! VP                  4       R# \        V\        4      '       dI   \
        P                  ! VP                  R VR7       \
        P                  ! VP                  R VR7       R# \        V\        4      '       d8   \
        P                   ! VP"                  V P                   P$                  4       R# \        V\&        4      '       d·   \
        P(                  ! VP*                  \,        P.                  ! V P                   P*                  4      P1                  R^^4      4       \
        P(                  ! VP2                  \,        P.                  ! V P                   P2                  4      P1                  R^^4      4       R# \        V\4        4      '       d\   \
        P(                  ! VP6                  \,        P.                  ! V P                   P6                  \,        P8                  R7      4       R# R# )rë   )ÚmeanÚstdN©rR   r<   )r6   Úinitializer_ranger£   r   rh   ÚinitÚtrunc_normal_Úweightr_   Úzeros_rC  Úones_rZ   rm   rn   rµ   Ú	constant_r»   r¹   r3   Úcopy_rA   r   r@   rB   rC   Ú
RadioModelÚsummary_idxsÚlong)rE   rÂ   rZ  s   && r$   Ú_init_weightsÚ"RadioPreTrainedModel._init_weightsp  s±  € ð �k‰k×+Ñ+ˆÜ�fœbŸi™i×(Ò(Ü×Ò˜vŸ}™}°3¸CÕ@Ø�{‰{Ò&Ü—’˜FŸK™KÖ(ñ 'ä˜¤§¡×-Ò-Ü�KŠK˜Ÿ™Ô$Ü�JŠJ�v—}‘}Ö%Ü˜Ô 4×5Ò5Ü×Ò˜v×8Ñ8¸sÈÕLÜ×Ò˜v×8Ñ8¸sÈ×LÜ˜¤×0Ò0Ü�NŠN˜6Ÿ>™>¨4¯;©;×+GÑ+GÖHÜ˜Ô 5×6Ò6Ü�JŠJ�v×'Ñ'¬¯ª°d·k±k×6KÑ6KÓ)L×)QÑ)QÐRTÐVWÐYZÓ)[Ô\Ü�JŠJ�v—‘¬¯ª°T·[±[×5IÑ5IÓ(J×(OÑ(OÐPRÐTUÐWXÓ(YÖZÜ˜¤
×+Ò+Ü�JŠJ�v×*Ñ*¬E¯LªL¸¿¹×9QÑ9QÔY^×YcÑYcÔ,dÖeñ ,r'   r(   N)r)   r*   r+   r,   r   Úconfig_classÚbase_model_prefixÚmain_input_nameÚsupports_gradient_checkpointingÚ_no_split_modulesÚ_keys_to_ignore_on_load_missingÚ_supports_sdpaÚ_supports_flash_attnr>  rØ   Ú_can_record_outputsr   Úno_gradrg  r/   r0   r1   s   @r$   rV  rV  a  sf   ø‡ € à€LØÐØ$€OØ&*Ð#Ø%˜ÐØ'AÐ&BÐ#Ø€NØÐà˜ØÐ(ðÐð
 ‡]‚]ƒ_ñfó öfr'   rV  c                   ó|   a a€ ] tR tRt oV3R lV 3R llt]]! RR7      ]V3R lR l4       4       4       tRt	Vt
V ;t# )	ÚRadioEncoderiˆ  c                ó    <€ V ^8„  d   QhRS[ /# r5   r   )r"   r#   s   "€r$   r%   ÚRadioEncoder.__annotate__‰  s   ø€ ÷ ñ ™{ñ r'   c                óÞ   <€ \         SV `  V4       \        P                  ! \	        VP
                  4       Uu. uF  p\        V4      NK  	  up4      V n        V P                  4        R # u upi rO   )	r=   r>   r   Ú
ModuleListÚrangeÚnum_hidden_layersr>  ÚlayerÚ	post_init)rE   r6   r  rF   s   && €r$   r>   ÚRadioEncoder.__init__‰  sQ   ø€ Ü‰Ñ˜Ô Ü—]’]ÄÀf×F^ÑF^Ô@_Ó#`Ñ@_¸1¤J¨vÖ$6Ñ@_Ñ#`ÓaˆŒ
Ø�‰Öùò $as   ¸A*F)Útie_last_hidden_statesc                óP   <€ V ^8„  d   QhRS[ P                  RS[S[,          RS[/# ré   )r   rM   r   r   r	   )r"   r#   s   "€r$   r%   rv  ‘  s2   ø€ ÷ @ñ @¡U§\¡\ð @¹VÑDVÕ=Wð @Ñ\kñ @r'   c                óP   € V P                    F  pV! V4      pK  	  \        VR 7      # ))r   )r{  r	   )rE   r   rÉ   r{  s   &&, r$   rT   ÚRadioEncoder.forwardŽ  s'   € ð —Z”ZˆEÙ! -Ó0ŠMñ  ä°Ô?Ð?r'   )r{  )r)   r*   r+   r,   r>   r   r   r   rT   r/   r0   rW   rX   s   @@r$   rt  rt  ˆ  s@   ù‡ € ÷ó ð
  Ù¨EÔ2Ø÷@ó ó 3ó  ÷@ð @r'   rt  c                   ó†   a a€ ] tR tRt oV3R lV 3R llt]V3R lR l4       tR t]]	V3R lR l4       4       t
R	tVtV ;t# )
rd  i—  c                ó    <€ V ^8„  d   QhRS[ /# r5   r   )r"   r#   s   "€r$   r%   ÚRadioModel.__annotate__™  s   ø€ ÷ ñ ™{ñ r'   c                óH  <€ \         SV `  V4       Wn        \        V4      V n        \        V4      V n        \        V4      V n        \        P                  ! \        P                  ! VP                  \        P                  R 7      RR7      V n        V P                  4        R# )r[  Tr:   N)r=   r>   r6   r3   Úinput_conditionerrZ   Ú
embeddingsrt  Úencoderr   r?   r   r@   re  rf  r|  rD   s   &&€r$   r>   ÚRadioModel.__init__™  sm   ø€ Ü‰Ñ˜Ô ØŒÜ!6°vÓ!>ˆÔÜ.¨vÓ6ˆŒÜ# FÓ+ˆŒÜŸIšI¤e§l¢l°6×3FÑ3FÌeÏjÉjÔ&YÐfjÔkˆÔØ�‰Ör'   c                ó    <€ V ^8„  d   QhRS[ /# r7  )r‚   )r"   r#   s   "€r$   r%   r„  £  s   ø€ ÷ &ñ &™Cñ &r'   c                ó.   € V P                   P                  # rO   )r6   r`   r:  s   &r$   r`   ÚRadioModel.patch_size¢  s   € à�{‰{×%Ñ%Ð%r'   c                óR   € V P                   p\        P                  ! 4       V n         V# )zCDetach the input conditioner (caller applies normalization itself).)r†  r   rH  )rE   Úconditioners   & r$   Úmake_preprocessor_externalÚ%RadioModel.make_preprocessor_external¦  s!   € à×,Ñ,ˆÜ!#§¢£ˆÔØÐr'   c                óP   <€ V ^8„  d   QhRS[ P                  RS[S[,          RS[/# )r   rJ   rÉ   rK   )r   rM   r   r   r   )r"   r#   s   "€r$   r%   r„  ®  s-   ø€ ÷ 
ñ 
¡E§L¡Lð 
¹FÑCUÕ<Vð 
Ñ[kñ 
r'   c                óœ  € V P                  V4      pV P                  V4      pV P                  ! V3/ VB pVP                  pV P                  P
                  pVR RV P                  P                  13,          pVR V P                  3,          P                  ^4      pVR VR13,          p	\        VV	VVP                  VP                  R7      # )rˆ   N)r   r   r   r   r   )r†  r‡  rˆ  r   r6   Únum_summary_tokensrc   re  r�   r   r   r   )
rE   rJ   rÉ   r   Úencoder_outputsr   Únum_skipÚall_summaryr   r   s
   &&,       r$   rT   ÚRadioModel.forward¬  sÇ   € ð ×-Ñ-¨lÓ;ˆØŸ™¨Ó5ˆØ+/¯<ª<¸Ñ+PÈÑ+PˆØ+×=Ñ=Ðà—;‘;×1Ñ1ˆØ'¨Ð+G¨T¯[©[×-GÑ-GÐ+GÐ(GÕHˆØ˜a ×!2Ñ!2Ð2Õ3×;Ñ;¸AÓ>ˆØ$ Q¨©	 \Õ2ˆäØØØ/Ø)×7Ñ7Ø&×1Ñ1ô
ð 	
r'   )r6   r‡  rˆ  r†  re  )r)   r*   r+   r,   r>   Úpropertyr`   r�  r   r   rT   r/   r0   rW   rX   s   @@r$   rd  rd  —  sI   ù‡ € ÷ó ð ÷&ó ð&òð Ø÷
ó ó ÷
ð 
r'   rd  )Nrë   )3Úcollections.abcr   Údataclassesr   r   Útorch.nn.functionalr   rÑ   r‹   Ú r   r]  Úactivationsr   Úmodeling_layersr   Úmodeling_outputsr	   r
   Úmodeling_utilsr   r   Úprocessing_utilsr   Úutilsr   r   r   Úutils.genericr   Úutils.output_capturingr   Úconfiguration_radior   r   rÊ   r3   rZ   rœ   rµ   rÖ   rØ   rù   r  r  r%  r>  rV  rt  rd  Ú__all__r(   r'   r$   Ú<module>r§     s`  ðõ* %Ý !ã ß Ð Ý å &Ý !Ý 9ß <ß FÝ &ß IÑ IÝ 7Ý 5Ý ,ñ Ð8Ô9Ø
ô7�{ó 7ó ó :ð7ô"
1˜BŸI™Iô 
1ô13˜2Ÿ9™9ô 13ôhˆr�y‰yô ô&+�b—i‘iô +÷%ô:4.˜Ÿ™ô 4.ôp�b—i‘iô ô$�R—Y‘Yô ô (�R—Y‘Yô (ô"%�B—I‘Iô %ô0&Ð+ô &ðR ô#f˜?ó #fó ð#fôL@Ð'ô @ð ô'
Ð%ó '
ó ð'
ðT Ð/Ð
0‚r'   