Viewing File: /opt/hc_python/lib/python3.12/site-packages/aenum/__pycache__/_tuple.cpython-312.pyc

�

^��g�J���ddl�ddlmZddlZddgZGd�de�ZGd	�d
e�Z	Gd�de�Z
e
�Z
Gd
�de�ZGd�de�Z
ee
jdef�de���Zed��Zed��Zed��Zed��Zeed���Zeed���Zeed���Zeedd���Zed��Zed��Zeed���Ze
defej?��Z [y)�)�*)�
NamedConstant�N�	TupleSize�
NamedTuplec�,��eZdZdZ�fd�Z�fd�Z�xZS)�NamedTupleDictz�Track field order and ensure field names are not reused.

    NamedTupleMeta will use the names found in self._field_names to translate
    to indices.
    c�:��g|_tt|�|i|��y�N)�_field_names�superr	�__init__)�self�args�kwds�	__class__s   ��;/opt/hc_python/lib/python3.12/site-packages/aenum/_tuple.pyrzNamedTupleDict.__init__s������
�n�d�,�d�;�d�;�c�B��t|�r|dvr{td|�d���t|�r|dk(r\d}nY||jvrt	d|����t|�s2||vrt	|�d||����|jj
|�tt|�'||�y)	z�Records anything not dundered or not a descriptor.

        If a field name is used twice, an error is raised.

        Single underscore (sunder) names are reserved.
        )�_size_�_order_�_fields_�_review_z_sunder_ names, such as z(, are reserved for future NamedTuple use�	__order__rzattempt to reuse field name: z already defined as: N)
�	is_sunder�
ValueError�	is_dunderr�	TypeError�
is_descriptor�appendr
r	�__setitem__)r�key�valuers   �rr!zNamedTupleDict.__setitem__s�����S�>��G�G� ��"����s�^��k�!���
�D�%�%�
%���G�H�H��u�%��d�{��s�D��I� N�O�O����$�$�S�)�
�n�d�/��U�;r)�__name__�
__module__�__qualname__�__doc__rr!�
__classcell__�rs@rr	r	s����
<�<�<rr	c��eZdZd�Zd�Zd�Zy)�_TupleAttributeAtIndexc�P�||_||_|turd}||_||_yr)�name�index�	undefinedr'�default)rr-r.�docr0s     rrz_TupleAttributeAtIndex.__init__2s+����	���
��)���C������rc��|�|St|�|jkr.t|jj�d|j
����||jS)Nz instance has no value for )�lenr.�AttributeErrorrr$r-)r�instance�owners   r�__get__z_TupleAttributeAtIndex.__get__:sO�����K��x�=�D�J�J�&� �h�FX�FX�Fa�Fa�cg�cl�cl�!m�n�n���
�
�#�#rc�L�d|jj|jfzS)Nz%s(%d))rr$r.�rs r�__repr__z_TupleAttributeAtIndex.__repr__As ���4�>�>�2�2�D�J�J�?�?�?rN)r$r%r&rr7r:�rrr+r+0s���$�@rr+c��eZdZd�Zd�ZeZy)r/c��y)Nr/r;r9s rr:zundefined.__repr__Fs��rc��y)NFr;r9s r�__bool__zundefined.__bool__Hs��rN)r$r%r&r:r?�__nonzero__r;rrr/r/Es�����Krr/c�B�eZdZedd�Zedd�Zedd�Zy)r�fixedztuple length is static�minimumz>tuple must be at least x long (x is calculated during creation�variableztuple length can be anythingN)r$r%r&�constantrBrCrDr;rrrrNs)���W�6�7�E��y�"b�c�G��
�$B�C�Hrc���eZdZdZeefd��Z�fd�Zef�fd�	Ze	d��Z
d�Zd�Ze
d��ZeZe
d	��Zd
�Z�xZS)�NamedTupleMetazMetaclass for NamedTuplec��t�Sr)r	)�metacls�cls�bases�sizers     r�__prepare__zNamedTupleMeta.__prepare__Vs����rc�&��tt|�
|�yr)r
rGr)rJrrrs   �rrzNamedTupleMeta.__init__Zs���
�n�c�+�T�2rc	����|tfk(r
ttf}nCt|vr;t|vr)|jt�}|d|tfz||dz}n
|tfz}t�}g}|D]$}	t	|	t
�s�|j
|	��&d}
|r-|j|�D]\}}}}
|||
f||<t|
|�}
�|j�D]
\}}|||<�|}|turd|vrtd��t	|t�}t�}|jd|xstj�t�}t�}|j!dg�}|r"|j#dd�j%�}d}|j�D�]f\}}||j&vr|||<�t	|t(�r|ttf}|ddz}
|}�nt	|t*�r#|r|
|tf}|
dz
}
|}n�t|tf}|}n�t	|t�r^t-|�d	vrQt	|dt(�r>t	|dt*t.f�r%t-|�d
k(r
|tfz}|}|ddz}
|}n}t	|t�r[t-|�dvrNt	|dt*t.f�r5t-|�dk(r
|tfz}|r|
f|z}|
dz
}
|}ntf|z}|}nt1d|�d
|�d���|||<��ig}g}t3�}d}|s�|rt1d|j5�����t7|j�d���D]P\}\}}}
||vr|j
|�� |j
|�|j9|�t||dz�}�R|}�n6t3|�t3|�z
}|rt1d|z��t�}d}
|D]�}	|j!|d�xs|j!|�\}}}
|tur|}
|
|vr|j
|�n"|j
|�|j9|
�|
||
f||<|
dz
}
t||
�}��t7|j�d���D]X\}\}}}
||vr|j
|�n"|j
|�|j9|�|||
f||<t||dz�}�Zt-|�t-|�zt-|�k(sJd��t3|�t3|�zt3|�k(sJdt3|�zt3|�z��t3|�t3|�zt3|�k(sJdt3|�zt3|�z��|j�D]h\}\}}}
t	|t(�sJd|�dt=|��d|�d���t	|t*t.f�r�K|tur�TJd|t=|�|fz��|j�D]\}\}}}
t?||||
�||<�d|d<t@t
|��||||�}||_"||_#||_$|S#t:$rt1|�d|����wxYw)Nrrz2_size_ cannot be set if "size" is passed in headerr�,� Fr)��rR)rrRznot sure what to do with �=z' (should be OFFSET [, DOC [, DEFAULT]])z3_order_ not specified and OFFSETs not declared for c��|dd|dfS�Nrrr;��nvs r�<lambda>z(NamedTupleMeta.__new__.<locals>.<lambda>�s��XZ�[\�X]�^_�X`�bd�ef�bg�Whr)r"z9unable to order fields: %s (use _order_ or specify OFFSETz (from _order_) not found in c��|dd|dfSrVr;rWs rrYz(NamedTupleMeta.__new__.<locals>.<lambda>�s��UW�XY�UZ�[\�U]�_a�bc�_d�Terz/number of fields + aliases != number of offsetsz"some fields are not in offsets: %sz#some aliases are not in offsets: %sz
index for z is not an int (�:�)z-doc is not a str, None, nor undefined (%s:%r)r;�	__slots__)%�object�tupler.r	�
isinstancerGr �_convert_fields�max�itemsr/r�
setdefaultrrB�OrderedDict�pop�replace�splitr�baseinteger�
basestringr3�NoneTyper�set�keys�sorted�add�
IndexError�typer+r
�__new__r�	_aliases_�
_defined_len_)rIrJrK�clsdictrLrr.�	base_dict�namedtuple_bases�base�ir-r1r0�k�v�
original_dict�	add_order�
unnumbered�numberedr�target�fields�aliases�seen�max_len�offsets�missing�namedtuple_classrs                             �rrrzNamedTupleMeta.__new__]s�����V�J���F�O�E�
�%�
�������F�+���f�u�
��	�1�E�%�&�M�A����	�)��"�$�	����D��$��/� �'�'��-��
���-D�W�-D�-D�FV�-W�)��e�S�'�"'��g�"5�	�$����5�M��.X��M�M�O�D�A�q��I�a�L�$�!�
��y� �X��%>��P�Q�Q��w��7�	� �"�����8�T�%<�Y�_�_�=� �]�
��=���#�#�I�r�2����o�o�c�#�.�4�4�6�G��I�!�'�'�)�D�A�q��
�2�2�2����
��a��-��9�i�/�A��!��q��A�%�F���:�.� ��q�)�O���Q���!)��%�q�)�3��!+����5�)�c�!�f��.>�:�a�PQ�d�T_�C`�eo�pq�rs�pt�xB�DL�wM�fN��1�v��{���
�-���A��!��q��A�%�F���5�)�c�!�f��.>�:�a�PQ�d�U_�ai�Tj�Ck��1�v��{���
�-�� ��E�A�I���Q���!)��&�M�A�-��!+��%�pq�st�%u�v�v���q�	�Q*�V�����u������ �\f�\k�\k�\m�!p�q�q�/5�h�n�n�6F�Lh�/i�+��+�u�c�7��D�=��N�N�4�(��M�M�$�'��H�H�U�O�!�'�5�1�9�5�G�
0j��G��*�o��G��4�G�� �!\�_f�!f�g�g�!�m�G��A���U�*4�.�.��D�*A�*T�X�\�\�RS�_�'�E�3���	�)��A���9��N�N�1�%��M�M�!�$��H�H�Q�K���W�_���
��Q����g�q�/��� -3�8�>�>�3C�Ie�,f�(��(�E�3���D�=��N�N�1�%��M�M�!�$��H�H�U�O�"�C��0���
��g�u�Q�w�/��-g��6�{�S��\�)�S��\�9�l�;l�l�9��6�{�S��\�)�S��[�8�{�:^�ad�ek�al�:l�or�sz�o{�:{�{�8��7�|�c�'�l�*�c�'�l�:��<a�dg�ho�dp�<p�sv�w~�s�<��:�+2�=�=�?�'�D�'�5�#�w��e�[�1�t�[_�ae�fk�al�ns�3t�t�1��c�J��#9�:�c�Y�>N�
Y�P�DH�JN�OR�JS�UX�CY�QY�
Y�N�,;�
,3�=�=�?�'�D�'�5�#�w�2�4���W�M�G�D�M�,;�!����!���A�'�3�PU�W^�_��$*��!�%,��"�)0��&����S"�U�$�A�s�%S�T�T�U�s�)Y�Y5c���g}|D]`}t|�}|jD]D}t||�}|j|||jz|j
|jf��F�b|S)zBcreate list of index, doc, default triplets for cls in namedtuples)r3r�getattrr r.r'r0)�namedtuples�
all_fieldsrJrx�field�descs      rrazNamedTupleMeta._convert_fields�se���
��C��z�?�D������s�E�*���!�!�5�$�t�z�z�/�4�<�<����"V�W�&��
�rc�|�t|t�stSt|j�|j��||fi�S)zWA new NamedTuple is created by concatenating the _fields_ and adjusting the descriptors)r`rG�NotImplementedr$)rJ�others  r�__add__zNamedTupleMeta.__add__�s3���%��0�!�!�����e�n�n�E��U�|�UW�X�Xrc��|tus|jdk(�r`|}|j�}	d|vr|jd�}n
|d|dd}}d|vr|jd�}n
|d|dd}}d|vr|jd�}n|r|d|dd}}nd}d|vr|jd�}n|r|d|dd}}nd}|s|rtd
|�d	|����tr"t|t�r	|jd�}t|t�r.||_|�#||jvr|f|jz|_
|S|j}	|f}
|	j||
�}t|t �r |j#d
d�j%�}t|t&t(f�r2t|dt �rt+|�D��
cgc]	\}}
|
|f��}}}
d}|D]=}t|t �r|||}}nt-|�dk(r|\}}n
|d|dd}}|||<�?|�t|t&�s|f}||
z}
|	j/|	||
|�}|�#	t1j2d�j4d}|�
t=|�|S||_|S|j.|g|��i|��}t||�r|j@|i|��|S#t$rtd|�d	|����wxYw#t$rt|�d���wxYwcc}
}w#t6t8t:f$rY��wxYw)a�Creates a new NamedTuple class or an instance of a NamedTuple subclass.

        NamedTuple should have args of (class_name, names, module)

            `names` can be:

                * A string containing member names, separated either with spaces or
                  commas.  Values are auto-numbered from 1.
                * An iterable of member names.  Values are auto-numbered from 1.
                * An iterable of (member name, value) pairs.
                * A mapping of member name -> value.

                `module`, if set, will be stored in the new class' __module__ attribute;

                Note: if `module` is not set this routine will attempt to discover the
                calling module by walking the frame stack; if this is unsuccessful
                the resulting class will not be pickleable.

        subclass should have whatever arguments and/or keywords will be used to create an
        instance of the subclass
        r�
class_namerN�names�modulerqz!too few arguments to NamedTuple: �, z"too many arguments to NamedTuple: �asciiz is not representable in ASCIIrPrQrRr$)!rrt�copyrfrpr�PY2r`�unicode�encode�UnicodeEncodeErrorrGr$�	__bases__rrMrjrgrhr_�list�	enumerater3rr�_sys�	_getframe�	f_globalsr4r�KeyError�make_class_unpicklabler%r)rJrr�
original_args�
original_kwdsr�r�r�rqrIrKrury�e�item�
field_name�field_indexr��namedtuple_instances                   r�__call__zNamedTupleMeta.__call__sd��,�*��� 1� 1�Q� 6� �M� �I�I�K�M�
l��4�'�!%���,�!7�J�'+�A�w��Q�R���J��d�?� �H�H�W�-�E�"&�q�'�4���8�4�E��t�#�!�X�X�h�/�F��#'��7�D���H�D�F�!�F��T�>��8�8�F�+�D��!%�a��$�q�r�(�$�D��D��t��m�]j� k�l�l���j�'�2�]�%/�%6�%6�w�%?�
��%��0�!+����#��E�O�O�(C�'+�h����&@�E�O����m�m�G��G�E��)�)�*�e�<�G��%��,��
�
�c�3�/�5�5�7���%�%���/�J�u�Q�x��4T�.7��.>�?�.>�F�Q��!�Q��.>��?��D����d�J�/�.2�E�$�K��J��4�y�A�~�26�/�
�K�26�q�'�4���8�K�
�&1��
�#����!�$��.� �8�D��u���&���w�
�E�7�S���~��!�^�^�A�.�8�8��D�F��~�&�'7�8�$�#�/5� �+�#�#�#.�#�+�+�c�"A�D�"A�D�"A���-�s�3�,�#�,�,�d�;�d�;�&�&��A�
l��]�\i� j�k�k�
l��.�]�'�j�([�\�\�]��"@��2'�
�H�=����s0�B
J/�"K
�9K(�?"K.�/K
�
K%�.L�Lc�,�t|j�Sr)r�r�rJs r�
__fields__zNamedTupleMeta.__fields__ts���C�L�L�!�!rc�,�t|j�Sr)r�rsr�s r�__aliases__zNamedTupleMeta.__aliases__zs���C�M�M�"�"rc�"�d|j�d�S)Nz<NamedTuple �>)r$r�s rr:zNamedTupleMeta.__repr__~s��$'�L�L�3�3r)r$r%r&r'�classmethodr/rMrrr�staticmethodrar�r��bltin_propertyr��_fieldsr�r:r(r)s@rrGrGSs���"��.7� �� �3�4=�R �h����Y�p'�d�"��"��G��#��#�4rrGzONamedTuple base class.

    Derive from this class to define new NamedTuples.

)�dictr1�nsc���|jtjur;t|�|jkDr#td|jt|�fz��t
|�t
|j�z
t
|j�z
}|rtd|����t|�tgt|j�t|�z
zz}|j�D]:\}}t||�j}||tk7rtd|z��|||<�<|j|�g}t!|�D]R\}}|tus�|j|}	t||	�j"}
|
tur|j%|	��N|
||<�T|r�|jtjtj&fvrtddj)|�z��|r9|dtur.|j+�|j+�|r|dtur�.|jtj,ust|vrtddj)|�z��t.j1|t/|��S)Nz%d fields expected, %d receivedzunknown fields: z!field %s specified more than oncez$values not provided for field(s): %sr����)rrrBr3rtrrlrrsr�r/r�rcr�r.rr�r0r rC�joinrfrDr_rr)rJrr�unknown�
final_argsr�r#r.r�r-r0s           rrrrr�s��
�z�z�Y�_�_�$��T��S�5F�5F�)F��9�S�=N�=N�PS�TX�PY�<Z�Z�[�[��$�i�#�c�l�l�+�+�c�#�-�-�.@�@�G����:�;�;��d��y�k�S����-@�3�t�9�-L�M�M�J��
�
����u���U�#�)�)���e��	�)��?�%�G�H�H�!�
�5��	%�
�L�L����G�!�*�-���u��I���>�>�%�(�D��c�4�(�0�0�G��)�#����t�$�$+�
�5�!�.���:�:�)�/�/�9�+<�+<�=�=��B�T�Y�Y�w�EW�W�X�X��Z��^�y�8��N�N���K�K�M��Z��^�y�8��:�:�Y�/�/�/�9�
�3J��B�T�Y�Y�w�EW�W�X�X��=�=��e�J�/�0�0rc�X���jt�fd��jD��fS)Nc3�6�K�|]}t�|����y�wr)r�)�.0�frs  �r�	<genexpr>z __reduce_ex__.<locals>.<genexpr>�s����� I�=�a���q�!1�=�s�)rr_r)r�protos` r�
__reduce_ex__r��s!����>�>�5� I�4�=�=� I�I�I�Irc��t|�t|j�k(rW|jj�ddj	t|j|�D��cgc]\}}|�d|����c}}��d�S|jj�ddj	|D�cgc]
}t
|���c}��d�Scc}}wcc}w)N�(r�rTr\)r3rrr$r��zip�repr)rr��os   rr:r:�s���
�4�y�C��
�
�&�&����'�'����QT�UY�Ub�Ub�dh�Qi�3j�Qi���A�q�!�4D�Qi�3j�)k��	� �>�>�2�2�D�I�I�PT�>U�PT�1�t�A�w�PT�>U�4V�W�W��4k��?Vs�B;�Cc��|jj�ddj|jD�cgc]}t	||����c}��d�Scc}w)Nr�r�r\)rr$r�rr�)rr�s  r�__str__r��sL��
�N�N�#�#�T�Y�Y�UY�Ub�Ub�/c�Ub�PQ���a�8H�0K�Ub�/c�%d����/cs�Ac�@�t|jj�Sr�r�rrr9s rrr��������'�'�(�(rc�@�t|jj�Sr)r�rrsr9s rr�r��s������(�(�)�)rc�@�t|jj�Srr�r9s rr�r��r�rc�(�|j|g|���Sr)rr)rJ�iterable�newr3s    r�_maker��s���3�;�;�s�&�X�&�&rc�@�tt|j|��Sr)rer�rr9s r�_asdictr��s���s�4�=�=�$�/�0�0rc�h�|j�}|j|�|jdi|��S)Nr;)r��updater)rr�currents   r�_replacer��s-���l�l�n�G��N�N�4���4�>�>�$�G�$�$rc��yrr;)rJr�s  rrr�s��	r)NN)!�_common�	_constantr�sysr��__all__rer	r^r+r/rrqrG�	_AddendumrM�globals�namedtuple_dictrrr�r:r�r�rr�r�r�r�r�r�r�resolverr;rr�<module>r�s����$��	�\�
��"<�[�"<�J@�V�@�*���
�K�	�D�
�D�
l4�T�l4�\	�
�
'�
'��v�j�
A�a��9�
���1��1�B�J��J��X��X�����
��)���)���*���*���)���)���'�
��'��1��1��%��%�
��	�
��	��L�6�*�o�6M�6M�6O�
P�
�r
Back to Directory File Manager