+
     Ii  c                   sF    ^ RI Ht ^ RIHt  ! R R4      t ! R R4      tR# )i    )ClientError)get_service_module_namec                   s6   a  ] tR t^t o ]tR tR tR tRtV t	R# )BaseClientExceptionsc                s    Wn         R# )zBase class for exceptions object on a client

:type code_to_exception: dict
:param code_to_exception: Mapping of error codes (strings) to exception
    class that should be raised when encountering a particular
    error code.
N_code_to_exception)selfcode_to_exception   &&:/usr/lib/python3.14/site-packages/botocore/errorfactory.py__init__ZBaseClientExceptions.__init__   s
     #4    c                sL    V P                   P                  WP                  4      # )a  Retrieves the error class based on the error code

This is helpful for identifying the exception class needing to be
caught based on the ClientError.parsed_reponse['Error']['Code'] value

:type error_code: string
:param error_code: The error code associated to a ClientError exception

:rtype: ClientError or a subclass of ClientError
:returns: The appropriate modeled exception class for that error
    code. If the error code does not match any of the known
    modeled exceptions then return a generic ClientError.
)r   Zgetr    )r   
error_coder   r   	from_codeZBaseClientExceptions.from_code   s!     &&**:7G7GHHr
   c           	     s    V P                   P                  4        Uu. uF  pVP                  NK  	  pp\        V  R V RRP	                  V4       24      hu upi )z object has no attribute z. Valid exceptions are: z, )r   Zvalues__name__ZAttributeErrorZjoin)r   nameexception_clsZexception_cls_names   &&  r   __getattr__Z BaseClientExceptions.__getattr__.   st     "&!8!8!?!?!A
!A ""!A 	 
 v.tf 5&&*ii0C&D%EG
 	
	
s   Ar   N)
r   
__module____qualname____firstlineno__r    r	   r   r   __static_attributes____classdictcell__Z__classdict__   @r   r   r      s     K4I 
 
r
   r   c                   s2   a  ] tR t^9t o R tR tR tRtV tR# )ClientExceptionsFactoryc                s    / V n         R # )N_client_exceptions_cache)r   s   &r   r	   Z ClientExceptionsFactory.__init__:   s
    (*%r
   c                s    VP                   pW P                  9  d    V P                  V4      pW0P                  V&   V P                  V,          # )aZ  Creates a ClientExceptions object for the particular service client

:type service_model: botocore.model.ServiceModel
:param service_model: The service model for the client

:rtype: object that subclasses from BaseClientExceptions
:returns: The exceptions object of a client that can be used
    to grab the various different modeled exceptions.
)service_namer   _create_client_exceptions)r   service_modelr   Zclient_exceptionsr   r   create_client_exceptionsZ0ClientExceptionsFactory.create_client_exceptions=   sK     %11<<< $ > >} M:K)),7,,\::r
   c                s"   / p/ pVP                    FG  p\        VP                  4      p\        V\        3/ 4      pWbV&   \        VP
                  4      pWcV&   KI  	  \        \        V4      R ,           4      p\        V\        3V4      p	V	! V4      # )Z
Exceptions)Zerror_shapesZstrr   Ztyper    r   r   r   )
r   r   Z	cls_propsr   Zerror_shapeZexception_namer   ZcodeZcls_nameZclient_exceptions_clss
   &&        r   r   Z1ClientExceptionsFactory._create_client_exceptionsM   s    	(55K !1!12N +DM(5n%{--.D&3d# 6 .}=LM $+-y!
 %%677r
   r   N)	r   r   r   r   r	   r   r   r   r   r   r   r   r   r   9   s     +; 8 8r
   r   N)Zbotocore.exceptionsr    Zbotocore.utilsr   r   r   ) r
   r   <module>r       s"    , 2%
 %
P!8 !8r
   