� !A?hp!���� ddlmZmZmZddlmZddlZgd�ZGd�dej j ��Z Gd�dej j ��Z Gd �d e ��Z Gd �d e ��Zdd�ZdS)�)�DEFAULT_PROTOCOL�Pickler� Unpickler)�BytesION)�Shelf� BsdDbShelf�DbfilenameShelf�openc�4�eZdZ d�ZexZxZxZxZxZZ d�Z dS)� _ClosedDictc� �td���)Nz!invalid operation on closed shelf)� ValueError)�self�argss �3/opt/alt/python-internal/lib64/python3.11/shelve.py�closedz_ClosedDict.closedEs���<�=�=�=�c��dS)Nz��rs r�__repr__z_ClosedDict.__repr__Is��$�$rN) �__name__� __module__� __qualname__r�__iter__�__len__� __getitem__� __setitem__� __delitem__�keysrrrrr r BsS������D�>�>�>�JP�P�H�P�w�P��P�{�P�[�4�%�%�%�%�%rr c�f�eZdZ dd�Zd�Zd�Zd�Zdd�Zd �Zd �Z d �Z d �Z d �Z d�Z d�Zd�ZdS)rNF�utf-8c�^�||_|�t}||_||_i|_||_dS�N)�dictr� _protocol� writeback�cache� keyencoding�rr%�protocolr'r)s r�__init__zShelf.__init__Ts7���� � � �'�H�!���"����� �&����rc#�zK�|j���D]}|�|j��V��dSr$)r%r �decoder))r�ks rrzShelf.__iter__^sI��������!�!� -� -�A��(�(�4�+�,�,� ,� ,� ,� ,� -� -rc�*�t|j��Sr$)�lenr%rs rrz Shelf.__len__bs���4�9�~�~�rc�D�|�|j��|jvSr$��encoder)r%�r�keys r� __contains__zShelf.__contains__es���z�z�$�*�+�+�t�y�8�8rc�X�|�|j��|jvr||S|Sr$r3)rr6�defaults r�getz Shelf.geths-�� �:�:�d�&� '� '�4�9� 4� 4���9� ��rc� � |j|}nt#t$rgt|j|�|j����}t |�����}|jr ||j|<YnwxYw|Sr$) r(�KeyErrorrr%r4r)r�loadr'�rr6�value�fs rrzShelf.__getitem__ms��� (��J�s�O�E�E��� (� (� (��� �#�*�*�T�-=�">�">�?�@�@�A��a�L�L�%�%�'�'�E��~� (�"'�� �3����  (���� � s� �A.B�Bc��|jr ||j|<t��}t||j��}|�|��|���|j|�|j ��<dSr$) r'r(rrr&�dump�getvaluer%r4r))rr6r?r@�ps rrzShelf.__setitem__wsi�� �>� $�#�D�J�s�O� �I�I�� �A�t�~� &� &�� ���u� � � �23�*�*�,�,�� �#�*�*�T�-�.�.�/�/�/rc�z�|j|�|j��= |j|=dS#t$rYdSwxYwr$)r%r4r)r(r<r5s rrzShelf.__delitem__sO�� �I�c�j�j��!1�2�2� 3� �� �3������ � � � �D�D� ���s �,� :�:c��|Sr$rrs r� __enter__zShelf.__enter__�s��� rc�.�|���dSr$)�close)r�typer?� tracebacks r�__exit__zShelf.__exit__�s�� � � � � � � � rc�,�|j�dS |��� |j���n#t$rYnwxYw t ��|_dS#d|_YdSxYw# t ��|_w#d|_YwxYwxYwr$)r%�syncrI�AttributeErrorr rs rrIz Shelf.close�s��� �9� � �F� !� �I�I�K�K�K� �� ���!�!�!�!��!� � � ��� ����  !�'�M�M�� � � �� !� �� � � � ����� !�'�M�M�� � �� !� �� � � ������sO�A/�:�A/� A�A/�A�A/� A � A,�/B�1B�B� B�Bc�R�t|d��sdS|���dS)Nr')�hasattrrIrs r�__del__z Shelf.__del__�s,���t�[�)�)� � �F� � � � � � � � rc���|jr@|jr9d|_|j���D] \}}|||<� d|_i|_t|jd��r|j���dSdS)NFTrN)r'r(�itemsrQr%rN)rr6�entrys rrNz Shelf.sync�s��� �>� �d�j� �"�D�N�"�j�.�.�0�0� "� "� ��U�!��S� � �!�D�N��D�J� �4�9�f� %� %� � �I�N�N� � � � � � � r�NFr"r$)rrrr,rrr7r:rrrrGrLrIrRrNrrrrrMs�������� 7<�$�'�'�'�'�-�-�-����9�9�9����� ���?�?�?����������!�!�!�"�������rrc�:�eZdZ d d�Zd�Zd�Zd�Zd�Zd �ZdS) rNFr"c�B�t�|||||��dSr$)rr,r*s rr,zBsdDbShelf.__init__�s"�� ���t�T�8�Y� �D�D�D�D�Drc���|j�|��\}}t|��}|�|j��t |�����fSr$)r%� set_locationrr.r)rr=r>s rrZzBsdDbShelf.set_location�sR���y�-�-�c�2�2� ��e� �E�N�N��� � �4�+�,�,�i��l�l�.?�.?�.A�.A�B�Brc���t|j��\}}t|��}|�|j��t |�����fSr$)�nextr%rr.r)rr=r>s rr\zBsdDbShelf.next�sJ���D�I��� ��e� �E�N�N��� � �4�+�,�,�i��l�l�.?�.?�.A�.A�B�Brc���|j���\}}t|��}|�|j��t |�����fSr$)r%�previousrr.r)rr=r>s rr^zBsdDbShelf.previous�sP���y�)�)�+�+� ��e� �E�N�N��� � �4�+�,�,�i��l�l�.?�.?�.A�.A�B�Brc���|j���\}}t|��}|�|j��t |�����fSr$)r%�firstrr.r)rr=r>s rr`zBsdDbShelf.first�sN���y���(�(� ��e� �E�N�N��� � �4�+�,�,�i��l�l�.?�.?�.A�.A�B�Brc���|j���\}}t|��}|�|j��t |�����fSr$)r%�lastrr.r)rr=r>s rrbzBsdDbShelf.last�sN���y�~�~�'�'� ��e� �E�N�N��� � �4�+�,�,�i��l�l�.?�.?�.A�.A�B�BrrV) rrrr,rZr\r^r`rbrrrrr�s������� �7<�$�E�E�E�E�C�C�C� C�C�C� C�C�C� C�C�C� C�C�C�C�Crrc��eZdZ dd�ZdS)r �cNFc�p�ddl}t�||�||��||��dS)Nr)�dbmrr,r )r�filename�flagr+r'rfs rr,zDbfilenameShelf.__init__�s7��� � � � ���t�S�X�X�h��5�5�x��K�K�K�K�Kr�rdNF)rrrr,rrrr r �s3������� L�L�L�L�L�Lrr rdFc�(� t||||��Sr$)r )rgrhr+r's rr r �s�� � �8�T�8�Y� ?� ?�?rri)�picklerrr�ior�collections.abc� collections�__all__�abc�MutableMappingr rrr r rrr�rrsD��8�t8�7�7�7�7�7�7�7�7�7����������� <� <� <��%�%�%�%�%�+�/�0�%�%�%�_�_�_�_�_�K�O� *�_�_�_�D(C�(C�(C�(C�(C��(C�(C�(C�V L� L� L� L� L�e� L� L� L� @� @� @� @� @� @r