+
    "Ý³j$  ã                   óæ   € ^ RI 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Ht ^ RIt^ RIHt ]! ]4      tR	 t ! R
 R]4      tR R ltR R ltR R ltRR R lltRR.tR# )é    N)Údeepcopy)Únn)ÚMODEL_CONFIGÚPATCH)Úapply_model_class_patchesÚapply_model_patches)Úupdate_module)Ú"MIN_SUPPORTED_TRANSFORMERS_VERSIONÚis_version_at_leastÚ!is_supported_transformers_versionÚ+warn_if_public_api_transformers_unsupported)ÚLogBarc                óä   € ^ RI Hp \        VR4      '       g   VP                  Vn        \
        P                  ! V 4      pV'       d   RV9   d   \        VR,          4      # VP	                  V 4      # )zJReturn Defuser's checkpoint remapping rules for one registered model type.©Úconversion_mappingÚ&orig_get_checkpoint_conversion_mappingÚcheckpoint_mapping)Útransformersr   ÚhasattrÚ!get_checkpoint_conversion_mappingr   r   Úgetr   )Ú
model_typer   Úcfgs   &  ÚP/home/luca/screen-checking/.venv/lib/python3.14/site-packages/defuser/defuser.pyr   r      s`   € å/äÐ%Ð'O×PÒPØDV×DxÑDxÐÔAä
×
Ò
˜:Ó
&€Cß
Ð# sÔ*Ü˜Ð0Õ1Ó2Ð2à×DÑDÀZÓPÐPó    c                   ó   € ] tR t^&tRtRtR# )Ú
PatchErrorzARaised when Defuser cannot patch a registered Transformers class.© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__static_attributes__r   r   r   r   r   &   s   † ÙKãr   r   c                óP   € V ^8„  d   QhR\         P                  R\        R\        /# )é   Úmodelr   Úreturn)r   ÚModuleÚstrÚbool)Úformats   "r   Ú__annotate__r-   ,   s%   € ÷ ñ ¤b§i¡ið ¼Sð ÄTñ r   c                óD  € \         V,          P                  \        P                  . 4      pV UUu0 uF  w  r4VkK	  	  pppV'       g   R# V P	                  4        F;  pVP
                  P                   RVP
                  P                   2pWu9   g   K:   R# 	  R# u uppi )zODetect models that were already instantiated with registry-backed replacements.FÚ.T)r   r   r   ÚREPLACE_MODULEÚmodulesÚ	__class__r    r   )r'   r   Úreplacement_pathsÚ_Úcustom_pathÚreplacement_class_pathsÚmoduleÚ
class_paths   &&      r   Ú_has_prebuilt_replacementsr9   ,   s�   € ä$ ZÕ0×4Ñ4´U×5IÑ5IÈ2ÓNÐÙARÔSÑAR©~¨q›{ÑARÐÑSß"Ùà—-‘-–/ˆØ×(Ñ(×3Ñ3Ð4°A°f×6FÑ6F×6OÑ6OÐ5PÐQˆ
ØÖ0Úñ "ñ
 ùó Ts   ±Bc                ó0   € V ^8„  d   QhR\         R\        /# )r&   r   r(   )r*   r+   )r,   s   "r   r-   r-   ;   s   € ÷ 0ñ 0¤Sð 0¬Tñ 0r   c                óô  € \        R\        4      '       d   R# \        V 4       \        P                  ! V 4      pVf   R# RpVP	                  \
        P                  . 4       EFD  w  r4VP                  R^4      w  rVVP                  R^4      w  rx \        P                  ! V4      p	\        P                  ! V4      p
\        W–4      '       g   \        RV RV	 24      h\        W¨4      '       g   \        RV RV
 24      h\        W¨4      p\        W–V4       \        \        P                   \"        4      '       dN   ^ RIHp \        VR	4      '       g   VP&                  Vn        \&        Vn        \&        \        P*                  n        \        P-                  R
V RV 24       RpEKG  	  V#   \.         d@   p\1        T\        4      '       d   Th\        P3                  RT RT 24        Rp? R# Rp?ii ; i)zLPatch supported HF model classes so future loads instantiate defused blocks.zreplace_fused_blocks()FNr/   zOriginal class[z] not found: zCustom class[r   r   zPatched z -> TzFailed to patch z: )r   Úloggerr   r   r   r   r0   ÚrsplitÚ	importlibÚimport_moduler   r   ÚgetattrÚsetattrr   r   Ú__version__r
   r   r   r   Úmodeling_utilsÚinfoÚ	ExceptionÚ
isinstanceÚwarning)r   r   Úpatched_anyÚ	orig_pathr5   Úorig_module_pathÚorig_class_nameÚcustom_module_pathÚcustom_class_nameÚorig_moduleÚcustom_moduleÚcustom_classr   Úes   &             r   Úreplace_fused_blocksrR   ;   sÅ  € ä2Ð3KÌV×TÒTÙä˜jÔ)ä
×
Ò
˜:Ó
&€CØ
‚{Ùà€KØ"%§'¡'¬%×*>Ñ*>À×"CÑˆ	Ø,5×,<Ñ,<¸SÀ!Ó,DÑ)ÐØ0;×0BÑ0BÀ3ÈÓ0JÑ-Ðð	Ü#×1Ò1Ð2BÓCˆKÜ%×3Ò3Ð4FÓGˆMä˜;×8Ò8Ü  ?°?Ð2CÀ=ÐQ\ÐP]Ð!^Ó_Ð_ä˜=×<Ò<Ü  =Ð1BÐ0CÀ=ÐQ^ÐP_Ð!`ÓaÐaä" =ÓDˆLÜ�K°,Ô?ä"¤<×#;Ñ#;Ô=_×`Ò`Ý;äÐ1Ð3[×\Ò\à*×LÑLð 'ÔMô HiÐ"ÔDÜPq”×+Ñ+ÔMÜ�K‰K˜( 9 +¨T°+°Ð?Ô@Ø‹Kñ9 #DðH Ðøô ô 	Ü˜!œZ×(Ò(Ø�ä�N‰NÐ-¨i¨[¸¸1¸#Ð>Ô?Þûð	ús   ÂDF-Æ-G7Æ83G2Ç2G7c                óD   € V ^8„  d   QhR\         P                  R\        /# )r&   r'   r(   )r   r)   r+   )r,   s   "r   r-   r-   n   s   € ÷ ñ ¤R§Y¡Yð ´4ñ r   c           	     ó^  € \        V RR4      p\        VRR4      pV\        9  d   R# \        4       '       g   R# \        V,          P                  R4      pV'       dP   \	        \
        P                  V4      '       g0   \        P                  RV RV R\
        P                   R	24       R# R
# )z;Validate model type and transformers version compatibility.ÚconfigNr   FÚmin_transformers_versionzSkip conversion for model_type=z: requires transformers>=z, current version is r/   T)	r@   r   r   r   r   r   rB   r<   Úwarn)r'   rU   r   Úmin_vers   &   r   Úcheck_model_compatibilityrY   n   s�   € ä�U˜H dÓ+€FÜ˜ ¨tÓ4€JØœÔ%Ùä,×.Ò.Ùä˜:Õ&×*Ñ*Ð+EÓF€GßÔ*¬<×+CÑ+CÀW×MÒMÜ�‰Ø-¨j¨\ð :&Ø&- YÐ.CÄL×D\ÑD\ÐC]Ð]^ð`ô	
ñ ár   c          
      óš   € V ^8„  d   QhR\         P                  R\        R\        R,          R\        \
        ,          R,          R\        /# )r&   r'   Úcleanup_originalÚ
max_layersNÚfilterr(   )r   r)   r+   ÚintÚlistr*   )r,   s   "r   r-   r-   ƒ   sR   € ÷ jñ jÜ�y‰yðjäðjô ˜$•Jðjô ”S•	˜DÕ ð	jô
 
ñjr   c                ó  € \        R\        4      '       d   R# Ve   V^8  d   \        R4      h\        V 4      '       g   R# \	        WVR7       \        W P                  P                  4      '       d   R# \        V VVVR7       R# )zHConvert one loaded model in place from fused experts to defused modules.zconvert_model()Fz%max_layers must be >= 1 when provided)r\   Úfilter_rules)r[   r\   ra   T)	r   r<   Ú
ValueErrorrY   r   r9   rU   r   r	   )r'   r[   r\   r]   s   &&&&r   Úconvert_modelrc   ƒ   s}   € ô 3Ð3DÄf×MÒMÙàÒ *¨q¤.ÜÐ@ÓAÐAôT % U×+Ò+Ùä˜À6ÕJô
 " %¯©×)@Ñ)@×AÒAÙô
 ØØ)ØØõ	ñ r   rc   rR   )FNN)r>   Úcopyr   Útorchr   Údefuser.model_registryr   r   Údefuser.modeling.model_patchesr   r   Údefuser.modeling.update_moduler	   Údefuser.utils.commonr
   r   r   r   r   Úlogbarr   r   r<   r   rE   r   r9   rR   rY   rc   Ú__all__r   r   r   Ú<module>rl      sk   ðó
 Ý å ç 6ß YÝ 8÷ó ó Ý á	�Ó	€òQô	�ô 	õõ0õf÷*jðX Ð2Ð
3‚r   