
    /Jf                     j    d dl Z d dlZ e j        e          Z G d d          Z G d d          ZdS )    Nc                   4    e Zd ZdZ	 	 	 	 ddZd Zd Zd ZdS )ResourceMetaz9
    An object containing metadata about a resource.
    Nc                 T    || _         |g }|| _        || _        || _        || _        d S N)service_nameidentifiersclientdataresource_model)selfr   r   r	   r
   r   s         W/home/alex/cs2snipeproduction/venv/lib/python3.11/site-packages/boto3/resources/base.py__init__zResourceMeta.__init__   s?     )K& 	 -    c                 B    d                     | j        | j                  S )Nz"ResourceMeta('{}', identifiers={}))formatr   r   )r   s    r   __repr__zResourceMeta.__repr__2   s%    5<<t/
 
 	
r   c                 Z    |j         j        | j         j        k    rdS | j        |j        k    S )NF)	__class____name____dict__)r   others     r   __eq__zResourceMeta.__eq__7   s+    ?#t~'>>>5}..r   c                 x    | j                                         }|                    d          }t          |fi |S )z8
        Create a copy of this metadata object.
        r   )r   copypopr   )r   paramsr   s      r   r   zResourceMeta.copy>   s>     ##%%zz.11L33F333r   )NNNN)r   
__module____qualname____doc__r   r   r   r    r   r   r   r      sm          - - - -0
 
 

/ / /4 4 4 4 4r   r   c                   0    e Zd ZdZdZ	 d Zd Zd Zd ZdS )ServiceResourcez
    A base class for resources.

    :type client: botocore.client
    :param client: A low-level Botocore client instance
    Nc                 |   | j                                         | _         |                    d           |                    d          | j         _        n(t	          j        | j         j                  | j         _        t          |          D ])\  }}t          | d| j         j        |         z   |           *|	                                D ]@\  }}|dk    r|| j         j        vrt          d|           t          | d|z   |           A| j         j        D ]%}t          | |          t          d| d          &d S )Nr	   _zUnknown keyword argument: zRequired parameter z not set)metar   getr	   boto3r   	enumeratesetattrr   items
ValueErrorgetattr)r   argskwargsivaluename
identifiers          r   r   zServiceResource.__init___   s\    INN$$	 ::h+%zz(33DI$|DI,BCCDI "$ 	A 	AHAuD#	 5a 88%@@@@ "<<>> 	- 	-KD%x49000 !Dd!D!DEEED#*e,,,, )/ 	M 	MJtZ((0 !Kz!K!K!KLLL 1	M 	Mr   c                     g }| j         j        D ]7}|                    | dt          t	          | |                                8d                    | j        j        d                    |                    S )N=z{}({})z, )	r%   r   appendreprr,   r   r   r   joinr   r   r2   s      r   r   zServiceResource.__repr__   s    )/ 	 	JAAWT:%>%> ? ?AA    N#IIk""
 
 	
r   c                     |j         j        | j         j        k    rdS | j        j        D ]'}t	          | |          t	          ||          k    r dS (dS )NFT)r   r   r%   r   r,   )r   r   r2   s      r   r   zServiceResource.__eq__   se    ?#t~'>>>5 )/ 	 	JtZ((GE:,F,FFFuu G tr   c                     g }| j         j        D ]%}|                    t          | |                     &t	          | j        j        t          |          f          S r   )r%   r   r5   r,   hashr   r   tupler8   s      r   __hash__zServiceResource.__hash__   s\    )/ 	: 	:JwtZ889999T^,eK.@.@ABBBr   )	r   r   r   r   r%   r   r   r   r=   r    r   r   r"   r"   G   so          DM M M@	
 	
 	
  C C C C Cr   r"   )loggingr'   	getLoggerr   loggerr   r"   r    r   r   <module>rA      s     		8	$	$/4 /4 /4 /4 /4 /4 /4 /4dTC TC TC TC TC TC TC TC TC TCr   