
    i6                         d dl Z d dlZd dlmZmZmZmZ d dlmZ ddl	m
Z
  e
j                  e      Zdddd	iZd
edee   fdZdddddeeeef      fdZy)    N)AnyDictOptionalUnion)version   )loggingCLIPFeatureExtractorCLIPImageProcessor)>z4.57.0)	new_classtransformers_version
class_namereturnc                     | t         vryddlm} t         |    }|d   \  }} |||      r%|d   }t        j	                  |  d| d       |d   S y)z
    Check if a Transformers class should be remapped to a newer version.

    Args:
        class_name: The name of the class to check

    Returns:
        The new class name if remapping should occur, None otherwise
    N   )is_transformers_versionr   r   z8 appears to have been deprecated in transformers. Using z	 instead.)_TRANSFORMERS_CLASS_REMAPPINGimport_utilsr   loggerwarning)r   r   mapping	operationrequired_versionr   s         k/home/obispo/Crisostomo_bridge/mision_env/lib/python3.12/site-packages/diffusers/utils/deprecation_utils.py_maybe_remap_transformers_classr      sp     665+J7G")*@"AI y*:;K(	*%]^g]hhqrs{##    T)	take_fromstandard_warn
stacklevelr   c           
         ddl m} | }d}t        |d   t              s|f}|D ]  \  }}}	t	        j
                  t	        j
                  |      j                        t	        j
                  |      k\  rt        d|||	f d| d|       d }
t        |t              r#||v r||j                  |      fz  }d| d	| d
}
n1t        ||      r|t        ||      fz  }d| d| d
}
n|	d| d| d
}
|
|r|
dz   nd}
t        j                  |
|	z   t        |        t        |t              rt        |      dkD  rt!        j"                  t!        j$                               d   }|j&                  }|j(                  }|j*                  }t-        t/        |j1                                     \  }}t3        | d| d|dz
   d| d      t        |      dk(  ry t        |      dk(  r|d   S |S )Nr   )__version__ r   zThe deprecation tuple z, should be removed since diffusers' version z is >= zThe `z8` argument is deprecated and will be removed in version .z9` attribute is deprecated and will be removed in version `z/` is deprecated and will be removed in version   )r    r   z in z line z% got an unexpected keyword argument `)r'   r"   
isinstancetupler   parsebase_version
ValueErrordictpophasattrgetattrwarningswarnFutureWarningleninspectgetouterframescurrentframefilenamelinenofunctionnextiteritems	TypeError)r   r   r    argsr"   deprecated_kwargsvalues	attributeversion_namemessager   
call_framer8   line_numberr:   keyvalues                    r   	deprecaterI   8   s/   !Fd1gu%w,0 S(	<=={3@@AW]]S_E``()\7)K(L M'=~? 
 '.9@Q3Q(,,Y799Fi[(`am`nnopG&	2w0)<>>Fi[(abnaoopqG&)$ST`SaabcG'4gm"GMM'G+]zR'S* #T*s3D/E/I++G,@,@,BCAF
&& ''&&$06689:
U8*D
&q8IInornsstuvv
6{a	V	ayMr   )r5   r1   typingr   r   r   r   	packagingr   utilsr	   
get_logger__name__r   r   strr   rI   r#   r   r   <module>rP      s      - -   
		H	% ) /!   6 >BQUbc )tSy)9 : )r   