Ë
    Q/æjé  ã                  ón   — d dl mZ d dlZd dlZd dlmZmZmZmZm	Z	 erd dl
mZ dgZ e	dd¬«      Zd
d	„Zy)é    )ÚannotationsN)Ú	GeneratorÚListÚTypeÚTYPE_CHECKINGÚTypeVar)ÚDataclassInstanceÚdataclass_slotsÚ_Tr	   )Úboundc                óÖ   ‡— 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.c              3  ót  K  — | j                   j                  d«      }|€Og }t        | dd«      dk7  r|j                  d«       t        | dd«      dk7  r|j                  d«       |E d {  –—†  y t	        |t
        «      r|–— y t        | d«      s|E d {  –—†  y t        d	| j                  › d
�«      ‚7 ŒJ7 Œ ­w)NÚ	__slots__Ú__weakrefoffset__éÿÿÿÿr   Ú__weakref__Ú__dictrefoffset__Ú__dict__Ú__next__z
Slots of 'z' cannot be determined)	r   ÚgetÚgetattrÚappendÚ
isinstanceÚstrÚhasattrÚ	TypeErrorÚ__name__)ÚclsÚslotss     ú^/root/repos/pocs/video-evals/.venv/lib/python3.12/site-packages/torch/utils/_backport_slots.pyÚ
_get_slotsz#dataclass_slots.<locals>._get_slots   s³   è ø€ Ø—‘× Ñ  Ó-ˆð
 ˆ=ØˆEÜ�sÐ/°Ó4¸Ò9Ø—‘˜]Ô+Ü�sÐ/°Ó4¸Ò9Ø—‘˜ZÔ(Ø×ÑÜ˜œsÔ#Ø‹Kô ˜˜jÔ)Ø×Ñä˜j¨¯©¨Ð6LÐMÓNÐNð øð ús$   ‚A'B8Á)B4Á*+B8ÂB6ÂB8Â6B8Úweakref_slotc           
     óö  •— d| j                   v rt        | j                  › d�«      ‚t        | j                   «      }t	        d„ t        j                  | «      D «       «      }t        t        j                  j                  t        ‰
| j                  dd «      «      «      }t	        t        j                  |j                  t        j                  ||rdnd«      «      «      |d<   |D ]  }|j                  |d «       Œ |j                  dd «       |j                  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  ó4   K  — | ]  }|j                   –— Œ y ­w©N)Úname)Ú.0Úfs     r    ú	<genexpr>z6dataclass_slots.<locals>._add_slots.<locals>.<genexpr>9   s   è ø€ ÒD q˜AŸF�FÑDùs   ‚é   r   )r   © r   r   Ú__qualname__c                ó~   — t        j                  | «      }|D �cg c]  }t        | |j                  «      ‘Œ c}S c c}w r%   )ÚdataclassesÚfieldsr   r&   )Úselfr/   r(   s      r    Ú_dataclass_getstatez@dataclass_slots.<locals>._add_slots.<locals>._dataclass_getstate]   s1   € Ü ×'Ñ'¨Ó-ˆFØ39Ö:¨a”G˜D !§&¡&Õ)Ò:Ð:ùÒ:s   š:c                ó˜   — t        j                  | «      }t        ||«      D ]&  \  }}t        j	                  | |j
                  |«       Œ( y r%   )r.   r/   ÚzipÚobjectÚ__setattr__r&   )r0   Ústater/   ÚfieldÚvalues        r    Ú_dataclass_setstatez@dataclass_slots.<locals>._add_slots.<locals>._dataclass_setstatea   sB   € Ü ×'Ñ'¨Ó-ˆFÜ # F¨EÓ 2ò <‘��uä×"Ñ" 4¨¯©°UÕ;ñ<ó    Ú__getstate__Ú__setstate__)r0   r   Úreturnr4   )r0   r   r6   zList[object]r=   ÚNone)r   r   r   ÚdictÚtupler.   r/   ÚsetÚ	itertoolsÚchainÚfrom_iterableÚmapÚ__mro__ÚfilterfalseÚ__contains__Úpopr   ÚtypeÚ	__bases__r,   r;   r<   )r   Ú	is_frozenr"   Úcls_dictÚfield_namesÚinherited_slotsÚ
field_nameÚqualnamer1   r9   r!   s             €r    Ú
_add_slotsz#dataclass_slots.<locals>._add_slots-   sk  ø€ ð ˜#Ÿ,™,Ñ&Ü˜sŸ|™|˜nÐ,HÐIÓJÐJô ˜Ÿ™Ó%ˆÜÑD¬K×,>Ñ,>¸sÓ,CÔDÓDˆäÜ�O‰O×)Ñ)¬#¨j¸#¿+¹+ÀaÈÐ:KÓ*LÓMó
ˆô
 !&Ü×!Ñ!Ø×,Ñ,Ü—‘ð  Ù(4Ñ$¸"ó	óó
!
ˆ�Ñð &ò 	+ˆJð �L‰L˜ TÕ*ð	+ð 	�‰�Z Ô&ð 	�‰�] DÔ)ô ˜3 °Ó5ˆÜ�3—<‘< §¡°Ó9ˆØÐØ'ˆCÔó	;ó	<ñ à XÑ-Ø#6�Ô Ø XÑ-Ø#6�Ô àˆ
r:   F)r   úType[DataclassInstance]r=   zGenerator[str, None, None])r   rS   rL   Úboolr"   rT   r=   rS   )r.   Úis_dataclassr   Ú_PARAMSÚfrozen)r   rR   Úparamsr"   r!   s       @r    r
   r
      sƒ   ø€ Ü×#Ñ# CÔ(ÐLÐ*LÓLÐ(óOð,AØ$ðAØ15ðAØEIðAà	 õAôF �Sœ+×-Ñ-Ó.€FÜ˜6 >°5Ó9€LÙ�c˜6Ÿ=™=¨,Ó7Ð7r:   )r   zType[_T]r=   rS   )Ú
__future__r   r.   rB   Útypingr   r   r   r   r   Ú	_typeshedr	   Ú__all__r   r
   r+   r:   r    ú<module>r]      s;   ðõ #ã Û ß @Õ @ñ Ý+ð Ð
€áˆTÐ,Ô-€ô^8r:   