
    QVji                    v    d dl mZ d dlZd dlZd dlmZmZ erd dlmZ d dl	m
Z
 dgZ edd	          ZddZdS )    )annotationsN)TYPE_CHECKINGTypeVar)	Generator)DataclassInstancedataclass_slots_Tr   )boundclstype[_T]returntype[DataclassInstance]c                    t          j        |           s
J d            dddfd
}t          | t           j                  }t          |d	d          } || |j        |          S )Nz Can only be used on dataclasses.r   r   r   Generator[str, None, None]c              3    K   | j                             d          }|`g }t          | dd          dk    r|                    d           t          | dd          dk    r|                    d           |E d {V  d S t	          |t
                    r|V  d S t          | d          s
|E d {V  d S t          d	| j         d
          )N	__slots____weakrefoffset__r   __weakref____dictrefoffset____dict____next__z
Slots of 'z' cannot be determined)	r   getgetattrappend
isinstancestrhasattr	TypeError__name__)r   slotss     U/root/voice-cloning/.venv/lib/python3.11/site-packages/torch/utils/_backport_slots.py
_get_slotsz#dataclass_slots.<locals>._get_slots   s       --
 =Es/4499]+++s/4499Z(((s## 	OKKKKK j)) 	OMMMMNNN    	is_frozenboolweakref_slotc           
        d| j         v rt          | j         d          t          | j                   }t	          d t          j        |           D                       }t          t          j	        
                    t          
| j        dd                                       }t	          t          j        |j        t          j	        ||rdnd                              |d<   |D ]}|                    |d            |                    dd            |                    d	d            t!          | d
d           }t#          | j        | j        |          } ||| _        dd}dd}	|rd|vr|| _        d|vr|	| _        | S )Nr   z already specifies __slots__c              3  $   K   | ]}|j         V  d S N)name).0fs     r"   	<genexpr>z6dataclass_slots.<locals>._add_slots.<locals>.<genexpr>;   s$      DDqAFDDDDDDr$      r   )r    r   r   __qualname__selfr	   r   objectc                H     t          j                   } fd|D             S )Nc                :    g | ]}t          |j                  S r0   )r   r+   )r,   r-   r2   s     r"   
<listcomp>zTdataclass_slots.<locals>._add_slots.<locals>._dataclass_getstate.<locals>.<listcomp>a   s%    :::aGD!&)):::r$   )dataclassesfields)r2   r8   s   ` r"   _dataclass_getstatez@dataclass_slots.<locals>._add_slots.<locals>._dataclass_getstate_   s-     '--F::::6::::r$   statelist[object]Nonec                    t          j        |           }t          ||          D ]&\  }}t                              | |j        |           'd S r*   )r7   r8   zipr3   __setattr__r+   )r2   r:   r8   fieldvalues        r"   _dataclass_setstatez@dataclass_slots.<locals>._add_slots.<locals>._dataclass_setstatec   sV     '--F #FE 2 2 < <u""4U;;;;< <r$   __getstate____setstate__)r2   r	   r   r3   )r2   r	   r:   r;   r   r<   )r   r   r    dicttupler7   r8   set	itertoolschainfrom_iterablemap__mro__filterfalse__contains__popr   type	__bases__r1   rC   rD   )r   r%   r'   cls_dictfield_namesinherited_slots
field_namequalnamer9   rB   r#   s             r"   
_add_slotsz#dataclass_slots.<locals>._add_slots/   s    #,&&s|IIIJJJ %%DDK,>s,C,CDDDDDO))#j#+ad:K*L*LMM
 

 !&!,  (4<$$"	  
!
 
!
 & 	+ 	+J LLT**** 	Z&&& 	]D))) 3553<99'C	; 	; 	; 	;	< 	< 	< 	<  	7X--#6 X--#6 
r$   F)r   r   r   r   )r   r   r%   r&   r'   r&   r   r   )r7   is_dataclassr   _PARAMSfrozen)r   rW   paramsr'   r#   s       @r"   r   r      s    #C((LL*LLL(O O O O,A A A A A AF S+-..F6>599L:c6=,777r$   )r   r   r   r   )
__future__r   r7   rH   typingr   r   collections.abcr   	_typeshedr   __all__r	   r   r0   r$   r"   <module>ra      s    # " " " " "         ) ) ) ) ) ) ) )  ,))))))++++++ 
WT,---^8 ^8 ^8 ^8 ^8 ^8r$   