� <��g���H�dZdZGd�de��ZefZd�Zd�Zd�Zd�ZdS) z'Key functions for memoizing decorators.)�hashkey� methodkey�typedkey�typedmethodkeyc�X�eZdZdZdZejfd�Zejfd�Zejfd�Zd�Z dS)� _HashedTuplez�A tuple that ensures that hash() will be called no more than once per element, since cache decorators will hash the key multiple times on a cache miss. See also _HashedSeq in the standard library functools implementation. Nc�<�|j}|�||��x|_}|S�N)�_HashedTuple__hashvalue)�self�hash� hashvalues �_/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/cachetools/keys.py�__hash__z_HashedTuple.__hash__s+���$� � � �+/�4��:�:� 5�D� �y���c�4�t|||����Sr �r�r �other�adds r�__add__z_HashedTuple.__add__s���C�C��e�,�,�-�-�-rc�4�t|||����Sr rrs r�__radd__z_HashedTuple.__radd__s���C�C��t�,�,�-�-�-rc��iSr �)r s r� __getstate__z_HashedTuple.__getstate__s��� r) �__name__� __module__� __qualname__�__doc__r �tuplerrrrrrrrrs����������K�!�N����� "'��.�.�.�.�#(�-�.�.�.�.�����rrc ��|rDt|tt|�����t��z��St|��S)z8Return a cache key for the specified hashable arguments.)r�sum�sorted�items�_kwmark)�args�kwargss rrr%sG���"��D�3�v�f�l�l�n�n�'=�'=�w�#G�#G�G�H�H�H��D�!�!�!rc��t|i|��S)z/Return a cache key for use with cached methods.)r�r r&r's rrr.s�� �D� #�F� #� #�#rc���t|i|��}|td�|D����z }|td�t|�����D����z }|S)z>Return a typed cache key for the specified hashable arguments.c3�4K�|]}t|��V��dSr ��type)�.0�vs r� <genexpr>ztypedkey.<locals>.<genexpr>7s(����'�'�Q��a���'�'�'�'�'�'rc3�:K�|]\}}t|��V��dSr r,)r.�_r/s rr0ztypedkey.<locals>.<genexpr>8s,����<�<�T�Q���a���<�<�<�<�<�<r)rr r#r$)r&r'�keys rrr3sm�� �4� "�6� "� "�C��5�'�'�$�'�'�'� '� '�'�C��5�<�<�V�F�L�L�N�N�%;�%;�<�<�<� <� <�<�C� �Jrc��t|i|��S)z5Return a typed cache key for use with cached methods.)rr)s rrr<s�� �T� $�V� $� $�$rN) r�__all__r rr%rrrrrrr�<module>r6s���-�-� @�������5����8 �/��"�"�"�$�$�$� ���%�%�%�%�%r
Memory