← back to Atmos Game

assets/gen/.venv/lib/python3.12/site-packages/anyio/_core/__pycache__/_fileio.cpython-312.pyc

432 lines

�

c�bj~z����ddlmZddlZddlZddlZddlmZmZmZm	Z	m
Z
ddlmZddl
mZddlmZddlmZmZmZmZmZmZmZmZmZdd	lmZdd
lmZddlmZej@d
k\rddlm!Z!nddl"m!Z!ej@dk\rddl#m$Z$erddl%m&Z&ddl'm(Z(m)Z)m*Z*m+Z+ne,xZ*xZ(xZ)Z+edd��Z-Gd�deee�Z.e						d#dd�																			d$d��Z/e							d%dd�																			d&d��Z/							d'dd�																			d(d�Z/dd�					d)d�Z0ed��Gd �d!ee-��Z1Gd"�d�Z2ejfe2�y)*�)�annotationsN)�
AsyncIterator�Callable�Iterable�Iterator�Sequence)�	dataclass)�partial)�PathLike)	�IO�
TYPE_CHECKING�Any�AnyStr�ClassVar�Final�Generic�TypeVar�overload�)�	to_thread)�
AsyncResource�)�CapacityLimiter)��)�Self�r�)�PathInfo)�
ModuleType)�OpenBinaryMode�OpenTextMode�ReadableBuffer�WriteableBuffer�T�Path)�boundc�6�eZdZdZdd�					dd�Zdd�Zedd��Zedd��Zdd�Z	dd	�Z
d d!d
�Zd d"d�Zd#d�Z
d$d
�Zd%d�Zd%d�Zed&d��Zed'd��Zd(d�Ze						d)d��Zed*d��Zd+d�Zd,d-d�Zej,fd.d�Zd/d�Zdd�Zy)0�	AsyncFilea�
    An asynchronous file object.

    This class wraps a standard file object and provides async friendly versions of the
    following blocking methods (where available on the original file object):

    * read
    * read1
    * readline
    * readlines
    * readinto
    * readinto1
    * write
    * writelines
    * truncate
    * seek
    * tell
    * flush

    All other methods are directly passed through.

    This class supports the asynchronous context manager protocol which closes the
    underlying file at the end of the context block.

    This class also supports asynchronous iteration::

        async with await open_file(...) as f:
            async for line in f:
                print(line)
    N��limiterc��|�2t|t�s"td|jj����||_||_y�Nz/limiter must be a CapacityLimiter or None, not )�
isinstancer�	TypeError�	__class__�__name__�_fp�_limiter)�self�fpr+s   �j/Users/macstudio3/Projects/atmos-game/assets/gen/.venv/lib/python3.12/site-packages/anyio/_core/_fileio.py�__init__zAsyncFile.__init__SsJ����z�'�?�'K��A��$�$�-�-�.�0��
�
�����
�c�.�t|j|�S�N)�getattrr2�r4�names  r6�__getattr__zAsyncFile.__getattr___s���t�x�x��&�&r8c��|jS)zIThe capacity limiter used by this file object, if not the global limiter.�r3�r4s r6r+zAsyncFile.limiterb����}�}�r8c��|jS)zThe wrapped file object.)r2rAs r6�wrappedzAsyncFile.wrappedgs
���x�x�r8c�TK�	|j��d{���}|r|���ny�"7��wr:)�readline)r4�lines  r6�	__aiter__zAsyncFile.__aiter__ls*���������(�D���
���(�s�(�&�(c��K�tj|jj|j���d{���S7��w�Nr*)r�run_syncr2�closer3rAs r6�aclosezAsyncFile.acloset�+�����'�'�������
�
�N�N�N�N���9A�A�Ac��K�tj|jj||j���d{���S7��wrJ)rrKr2�readr3�r4�sizes  r6rQzAsyncFile.readws-�����'�'����
�
�t�T�]�]�S�S�S�S���:A�A�Ac��K�tj|jj||j���d{���S7��wrJ)rrKr2�read1r3rRs  r6rVzAsyncFile.read1zs-�����'�'�������d�m�m�T�T�T�T�rTc��K�tj|jj|j���d{���S7��wrJ)rrKr2rFr3rAs r6rFzAsyncFile.readline}s-�����'�'����(9�(9�4�=�=�Q�Q�Q�Q�rOc��K�tj|jj|j���d{���S7��wrJ)rrKr2�	readlinesr3rAs r6rYzAsyncFile.readlines�s-�����'�'����(:�(:�D�M�M�R�R�R�R�rOc��K�tj|jj||j���d{���S7��wrJ)rrKr2�readintor3�r4�bs  r6r[zAsyncFile.readinto�s/�����'�'����(9�(9�1�d�m�m�T�T�T�T�rTc��K�tj|jj||j���d{���S7��wrJ)rrKr2�	readinto1r3r\s  r6r_zAsyncFile.readinto1�s/�����'�'����(:�(:�A�t�}�}�U�U�U�U�rTc��K�y�wr:�r\s  r6�writezAsyncFile.write�s	����GJ���c��K�y�wr:rar\s  r6rbzAsyncFile.write�s	����:=�rcc��K�tj|jj||j���d{���S7��wrJ)rrKr2rbr3r\s  r6rbzAsyncFile.write�s-�����'�'�������4�=�=�Q�Q�Q�Q�rTc��K�y�wr:ra�r4�liness  r6�
writelineszAsyncFile.writelines�s�����rcc��K�y�wr:rargs  r6rizAsyncFile.writelines�s	����NQ�rcc��K�tj|jj||j���d{���S7��wrJ)rrKr2rir3rgs  r6rizAsyncFile.writelines�s8�����'�'��H�H�����
�
�
�
�	
�
�rTc��K�tj|jj||j���d{���S7��wrJ)rrKr2�truncater3rRs  r6rmzAsyncFile.truncate�s/�����'�'����(9�(9�4����W�W�W�W�rTc��K�tj|jj|||j���d{���S7��wrJ)rrKr2�seekr3)r4�offset�whences   r6rozAsyncFile.seek�s8�����'�'��H�H�M�M�6�6�4�=�=�
�
�	
�
���;A�A�Ac��K�tj|jj|j���d{���S7��wrJ)rrKr2�tellr3rAs r6rtzAsyncFile.tell�s+�����'�'����
�
�t�}�}�M�M�M�M�rOc��K�tj|jj|j���d{���S7��wrJ)rrKr2�flushr3rAs r6rvzAsyncFile.flush�rNrO)r5�
IO[AnyStr]r+�CapacityLimiter | None�return�None)r=�strry�object�ryrx)ryrw)ryzAsyncIterator[AnyStr]�ryrz)�����)rS�intryr)r4�AsyncFile[bytes]rSr�ry�bytes)ryr)ryzlist[AnyStr])r4r�r]r$ryr�)r4r�r]r#ryr�)r4�AsyncFile[str]r]r{ryr�)r]zReadableBuffer | strryr�)r4r�rhzIterable[ReadableBuffer]ryrz)r4r�rhz
Iterable[str]ryrz)rhz(Iterable[ReadableBuffer] | Iterable[str]ryrzr:)rS�
int | Noneryr�)rpr�rqr�ryr��ryr�)r1�
__module__�__qualname__�__doc__r7r>�propertyr+rDrHrMrQrVrFrYr[r_rrbrirm�os�SEEK_SETrortrvrar8r6r)r)3s
���@DH�
 ��
 �*@�
 �	
�
 �'����������O�T�U�R�S�U�V��J��J�
�=��=�R�����'?��	
�����Q��Q�
�
X�<>�;�;�
�
N�Or8r).r*c��K�y�wr:ra�	�file�mode�	buffering�encoding�errors�newline�closefd�openerr+s	         r6�	open_filer��s�����rcc��K�y�wr:rar�s	         r6r�r��s�����rcc��~K�tjt|||||||||��
�d{���}	t|	|��S7��w)aj
    Open a file asynchronously.

    Except for ``limiter``, the arguments are exactly the same as for the builtin :func:`open`.

    :param limiter: an optional capacity limiter to use with the file
        instead of the default one
    :return: an asynchronous file object

    .. versionchanged:: 4.14.0
        Added the ``limiter`` keyword argument.

    r*N)rrK�openr))
r�r�r�r�r�r�r�r�r+r5s
          r6r�r��sO����2�!�!������������
�B��R��)�)�
�s�'=�;�=c��t||��S)aJ
    Wrap an existing file as an asynchronous file.

    :param file: an existing file-like object
    :param limiter: an optional capacity limiter to use with the file
        instead of the default one
    :return: an asynchronous file object

    .. versionchanged:: 4.14.0
        Added the ``limiter`` keyword argument.

    r*)r))r�r+s  r6�	wrap_filer��s���T�7�+�+r8F)�eqc�4�eZdZUded<ded<ded<d	d�Zy)
�
_PathIteratorzIterator[PathLike[str]]�iteratorrxr+ztype[T]�path_clsc���K�tjt|jdd|j���d{���}|�t
d�|j
||j��S7�*�w�NT��abandon_on_cancelr+r*)rrK�nextr�r+�StopAsyncIterationr�)r4�nextvals  r6�	__anext__z_PathIterator.__anext__sY����!�*�*��$�-�-���t�|�|�
�
���?�$�$�.��}�}�W�d�l�l�}�;�;�

�s�6A%�A#�+A%N)ryr%)r1r�r��__annotations__r�rar8r6r�r�s��%�%�
#�#���<r8r�c�D�eZdZUdZdZded<dd�					dpd�Zdqd�Zejd	k\rdqd
�Z
dqd�Zdqd�Zdrd
�Z
dsd�Zdtd�Zdud�Zdud�Zdud�Zdud�Zdvd�Zdvd�Zedwd��Zedxd��Zedqd��Zedqd��Zedqd��Zedyd��Zedzd��Zedqd��Zedqd��Zed{d��Z edqd ��Z!dzd!�Z"dqd"�Z#dqd#�Z$ejd$k\r@e%jLjNZ'd%ed&<e(dd�d|d'��Z)dd(�					d}d)�Z*dd(�					d}d*�Z+nd~d+�Z+ejd,k\r3edd-��Z,d.d/d0�							d�d1�Z-d.d/d0�							d�d2�Z.d�d3�Z/				d�d4�Z0d�d5�Z1d.d6�d�d7�Z2e(dd�d�d8��Z3d�d9�Z4dzd:�Z5ejd;krd�d<�Z6nCd;ejcxkrd$krnn
dd(�					d�d=�Z6nejd$k\rdd/d>�							d�d?�Z6dqd@�Z7				d�dA�Z8e(dd�d�dB��Z9d�dC�Z:d�dD�Z;d�dE�Z<d�dF�Z=d�dG�Z>d�dH�Z?ejd;k\rd�dI�Z@d�dJ�ZAejd	krd�dK�ZBd�dL�ZCd�dM�ZDd�dN�ZEd�dO�ZFd�dP�ZGd�dQ�ZH	d�							d�dR�ZIeJ				d�											d�dS��ZKeJ					d�											d�dT��ZK					d�											d�dU�ZKdqdV�ZLdrdW�ZM	d�					d�dX�ZNejd;k\r
d/dY�					d�dZ�ZOndvd[�ZOdzd\�ZPd�d]�ZQd�d^�ZRd�d�d_�ZSejd;krd�d`�ZTnCd;ejcxkrd$krnn
dd(�					d�da�ZTnejd$k\rdd/d>�							d�db�ZTd�dc�ZUd�dd�ZVd.d6�d�de�ZW	d�					d�df�ZXd�d�dg�ZYd�d�dh�ZZejd;k\r			d�							d�di�Z[d�dj�Z\d�dk�Z]d�dl�Z^d�dm�Z_d�dn�Z`			d�									d�do�Zay)�r&a
    An asynchronous version of :class:`pathlib.Path`.

    This class cannot be substituted for :class:`pathlib.Path` or
    :class:`pathlib.PurePath`, but it is compatible with the :class:`os.PathLike`
    interface.

    It implements the Python 3.10 version of :class:`pathlib.Path` interface, except for
    the deprecated :meth:`~pathlib.Path.link_to` method.

    Some methods may be unavailable or have limited functionality, based on the Python
    version:

    * :meth:`~pathlib.Path.copy` (available on Python 3.14 or later)
    * :meth:`~pathlib.Path.copy_into` (available on Python 3.14 or later)
    * :meth:`~pathlib.Path.from_uri` (available on Python 3.13 or later)
    * :meth:`~pathlib.PurePath.full_match` (available on Python 3.13 or later)
    * :attr:`~pathlib.Path.info` (available on Python 3.14 or later)
    * :meth:`~pathlib.Path.is_junction` (available on Python 3.12 or later)
    * :meth:`~pathlib.PurePath.match` (the ``case_sensitive`` parameter is only
      available on Python 3.13 or later)
    * :meth:`~pathlib.Path.move` (available on Python 3.14 or later)
    * :meth:`~pathlib.Path.move_into` (available on Python 3.14 or later)
    * :meth:`~pathlib.PurePath.relative_to` (the ``walk_up`` parameter is only available
      on Python 3.12 or later)
    * :meth:`~pathlib.Path.walk` (available on Python 3.12 or later)

    Any methods that do disk I/O need to be awaited on. These methods are:

    * :meth:`~pathlib.Path.absolute`
    * :meth:`~pathlib.Path.chmod`
    * :meth:`~pathlib.Path.cwd`
    * :meth:`~pathlib.Path.exists`
    * :meth:`~pathlib.Path.expanduser`
    * :meth:`~pathlib.Path.group`
    * :meth:`~pathlib.Path.hardlink_to`
    * :meth:`~pathlib.Path.home`
    * :meth:`~pathlib.Path.is_block_device`
    * :meth:`~pathlib.Path.is_char_device`
    * :meth:`~pathlib.Path.is_dir`
    * :meth:`~pathlib.Path.is_fifo`
    * :meth:`~pathlib.Path.is_file`
    * :meth:`~pathlib.Path.is_junction`
    * :meth:`~pathlib.Path.is_mount`
    * :meth:`~pathlib.Path.is_socket`
    * :meth:`~pathlib.Path.is_symlink`
    * :meth:`~pathlib.Path.lchmod`
    * :meth:`~pathlib.Path.lstat`
    * :meth:`~pathlib.Path.mkdir`
    * :meth:`~pathlib.Path.open`
    * :meth:`~pathlib.Path.owner`
    * :meth:`~pathlib.Path.read_bytes`
    * :meth:`~pathlib.Path.read_text`
    * :meth:`~pathlib.Path.readlink`
    * :meth:`~pathlib.Path.rename`
    * :meth:`~pathlib.Path.replace`
    * :meth:`~pathlib.Path.resolve`
    * :meth:`~pathlib.Path.rmdir`
    * :meth:`~pathlib.Path.samefile`
    * :meth:`~pathlib.Path.stat`
    * :meth:`~pathlib.Path.symlink_to`
    * :meth:`~pathlib.Path.touch`
    * :meth:`~pathlib.Path.unlink`
    * :meth:`~pathlib.Path.walk`
    * :meth:`~pathlib.Path.write_bytes`
    * :meth:`~pathlib.Path.write_text`

    Additionally, the following methods return an async iterator yielding
    :class:`~.Path` objects:

    * :meth:`~pathlib.Path.glob`
    * :meth:`~pathlib.Path.iterdir`
    * :meth:`~pathlib.Path.rglob`

    .. versionchanged:: 4.14.0
        Added the ``limiter`` keyword argument.
    )�_pathr3�__weakref__rr�Nr*c��|�2t|t�s"td|jj����tj|�|_||_yr-)	r.rr/r0r1�pathlibr&r�r3)r4r+�argss   r6r7z
Path.__init__ksS����z�'�?�'K��A��$�$�-�-�.�0��
�
+2�,�,��*=��
���
r8c�6�|jj�Sr:)r��
__fspath__rAs r6r�zPath.__fspath__ws���z�z�$�$�&�&r8)r�c�6�|jj�Sr:)r��__vfspath__rAs r6r�zPath.__vfspath__|����:�:�)�)�+�+r8c�6�|jj�Sr:)r��__str__rAs r6r�zPath.__str__s���z�z�!�!�#�#r8c�V�|jj�d|j��d�S)N�(�))r0r1�as_posixrAs r6�__repr__z
Path.__repr__�s'���.�.�)�)�*�!�D�M�M�O�+>�a�@�@r8c�6�|jj�Sr:)r��	__bytes__rAs r6r�zPath.__bytes__�s���z�z�#�#�%�%r8c�6�|jj�Sr:)r��__hash__rAs r6r�z
Path.__hash__�����z�z�"�"�$�$r8c�t�t|t�r|jn|}|jj|�Sr:)r.r&r��__eq__�r4�other�targets   r6r�zPath.__eq__��+�� *�5�$� 7����U���z�z� � ��(�(r8c�t�t|t�r|jn|}|jj|�Sr:)r.r&r��__lt__r�s   r6r�zPath.__lt__�r�r8c�t�t|t�r|jn|}|jj|�Sr:)r.r&r��__le__r�s   r6r�zPath.__le__�r�r8c�t�t|t�r|jn|}|jj|�Sr:)r.r&r��__gt__r�s   r6r�zPath.__gt__�r�r8c�t�t|t�r|jn|}|jj|�Sr:)r.r&r��__ge__r�s   r6r�zPath.__ge__�r�r8c�V�t|�|j|z|j��SrJ)�typer�r3�r4r�s  r6�__truediv__zPath.__truediv__�s"���t�D�z�$�*�*�u�,�d�m�m�D�Dr8c�B�t|�||j��|zSrJ�r�r3r�s  r6�__rtruediv__zPath.__rtruediv__�s���t�D�z�%����7�$�>�>r8c��|jS)zBThe capacity limiter used by this path, if not the global limiter.r@rAs r6r+zPath.limiter�rBr8c�.�|jjSr:)r��partsrAs r6r�z
Path.parts�����z�z���r8c�.�|jjSr:)r��driverAs r6r�z
Path.drive�r�r8c�.�|jjSr:)r��rootrAs r6r�z	Path.root�����z�z���r8c�.�|jjSr:)r��anchorrAs r6r�zPath.anchor�����z�z� � � r8c�T��t�fd��jjD��S)Nc3�X�K�|]!}t��|�j�����#y�w)r*Nr�)�.0�pr4s  �r6�	<genexpr>zPath.parents.<locals>.<genexpr>�s(�����V�CU�a�Z�T�$�Z��4�=�=�9�9�CU�s�'*)�tupler��parentsrAs`r6r�zPath.parents�s����V�4�:�:�CU�CU�V�V�Vr8c�d�t|�|jj|j��SrJ)r�r��parentr3rAs r6r�zPath.parent�s#���t�D�z�$�*�*�+�+�T�]�]�C�Cr8c�.�|jjSr:)r�r=rAs r6r=z	Path.name�r�r8c�.�|jjSr:)r��suffixrAs r6r�zPath.suffix�r�r8c�.�|jjSr:)r��suffixesrAs r6r�z
Path.suffixes�s���z�z�"�"�"r8c�.�|jjSr:)r��stemrAs r6r�z	Path.stem�r�r8c���K�tj|jj|j���d{���}t|�||j��S7�!�wrJ)rrKr��absoluter3r�)r4�paths  r6r�z
Path.absolute�sF�����'�'��
�
�(;�(;�T�]�]�S�S���t�D�z�$��
�
�6�6�T�s�9A�A�"Ac�6�|jj�Sr:)r�r�rAs r6r�z
Path.as_posix�r�r8c�6�|jj�Sr:)r��as_urirAs r6r�zPath.as_uri�s���z�z� � �"�"r8�r�
zClassVar[ModuleType]�parserc�P�|tjj|�|��SrJ)r�r&�from_uri)�cls�urir+s   r6r�z
Path.from_uri�s���w�|�|�,�,�S�1�7�C�Cr8��case_sensitivec�<�|jj||��S�Nr)r��
full_match�r4�path_patternrs   r6rzPath.full_match�s���:�:�(�(��n�(�U�Ur8c�<�|jj||��Sr�r��matchrs   r6r	z
Path.match�s���:�:�#�#�L��#�P�Pr8c�8�|jj|�Sr:r)r4rs  r6r	z
Path.match�s���:�:�#�#�L�1�1r8rc�.�|jjSr:)r��inforAs r6rz	Path.info�s���:�:�?�?�"r8TF��follow_symlinks�preserve_metadatac��K�t|jj||��}t|�t	j
|t
j|�|j���d{���|j��S7��w�Nr
r*)	r
r��copyr�rrKr�r&r3)r4r�rr�funcs     r6rz	Path.copy�sm������
�
��� /�"3��D�
�4��:��(�(��'�,�,�v�.��
�
����
�
�	�
����A&A?�(A=�)A?c��K�t|jj||��}t|�t	j
|t
j|�|j���d{���|j��S7��wr)	r
r��	copy_intor�rrKr�r&r3)r4�
target_dirrrrs     r6rzPath.copy_into
so������
�
�$�$� /�"3��D�
�4��:��(�(��'�,�,�z�2�D�M�M����
�
�	�
��rc���K�tj|�}t|�tj|j
j||j���d{���|j��S7��wrJ)r�r&r�rrKr��mover3�r4r�s  r6rz	Path.moves[�����\�\�&�)�F��4��:��(�(��J�J�O�O�V�T�]�]����
�
�	�
��s�AA3�A1�A3c���K�t|�tj|jj||j
���d{���|j
��S7��wrJ)r�rrKr��	move_intor3)r4rs  r6rzPath.move_into'sQ�����4��:��(�(��J�J�(�(�*�d�m�m����
�
�	�
����AA�A�Ac�F�	|j|�y#t$rYywxYw)NTF)�relative_to�
ValueErrorr�s  r6�is_relative_tozPath.is_relative_to2s*��	����U�#����	��	�s��	 � �rc��K�ttj|��}tj||j
||j���d{���S7��w)Nr"r*)r
r��chmodrrKr�r3)r4r�rrs    r6r$z
Path.chmod9s;�����r�x�x��A���'�'��d�j�j�$��
�
�V�V�V�V���AA�A�Ac��K�tjtjj|���d{���}|||��S7��wrJ)rrKr�r&�cwd)r�r+r�s   r6r'zPath.cwd=s8�����'�'����(8�(8�'�J�J���4��)�)�K���3A�A�Ac��K�tj|jjd|j���d{���S7��w�NTr�)rrKr��existsr3rAs r6r+zPath.existsB�8�����'�'��J�J����t�}�}�
�
�	
�
�rTc���K�t|�tj|jjd|j
���d{���|j
��S7��wr�)r�rrKr��
expanduserr3rAs r6r.zPath.expanduserGsO�����t�D�z��$�$��
�
�%�%��t�}�}��
��M�M�	
�	
�
�r)r�c�x�|jj|�}t||jt	|��Sr:�r��globr�r3r��r4�pattern�gens   r6r2z	Path.globQs+���*�*�/�/�'�*�C� ��d�m�m�T�$�Z�@�@r8c�|�|jj||��}t||jt	|��Srr1�r4r4rr5s    r6r2z	Path.globWs1���*�*�/�/�'�.�/�I�C� ��d�m�m�T�$�Z�@�@r8�r�recurse_symlinksc�~�|jj|||��}t||jt	|��S�Nr8r1�r4r4rr9r5s     r6r2z	Path.globcs=���*�*�/�/��-�!1�"��C�
!��d�m�m�T�$�Z�@�@r8c��K�tj|jjd|j���d{���S7��wr*)rrKr��groupr3rAs r6r>z
Path.groupq�8�����'�'��J�J����d�m�m�
�
�	
�
�rTc��K�t|t�r|j}tjt
j|||j���d{���y7��wrJ)r.r&r�rrKr��linkr3rs  r6�hardlink_tozPath.hardlink_tovs=�����f�d�#��\�\�F�� � ����&�$��
�
�N�N�N�s�AA�A�Ac��K�tjtjj|���d{���}|||��S7��wrJ)rrKr�r&�home)r�r+�	home_paths   r6rDz	Path.home~s8����#�,�,�W�\�\�->�->��P�P�	��9�g�.�.�Q�r(c�6�|jj�Sr:)r��is_absoluterAs r6rGzPath.is_absolute�s���z�z�%�%�'�'r8c��K�tj|jjd|j���d{���S7��wr*)rrKr��is_block_devicer3rAs r6rIzPath.is_block_device�s8�����'�'��J�J�&�&�$��
�
�
�
�	
�
�rTc��K�tj|jjd|j���d{���S7��wr*)rrKr��is_char_devicer3rAs r6rKzPath.is_char_device�s8�����'�'��J�J�%�%��t�}�}�
�
�	
�
�rTc��K�tj|jjd|j���d{���S7��wr*)rrKr��is_dirr3rAs r6rMzPath.is_dir�r,rTc��K�tj|jjd|j���d{���S7��wr*)rrKr��is_fifor3rAs r6rOzPath.is_fifo��8�����'�'��J�J���$��
�
�
�
�	
�
�rTc��K�tj|jjd|j���d{���S7��wr*)rrKr��is_filer3rAs r6rRzPath.is_file�rPrTc��K�tj|jj|j���d{���S7��wrJ)rrKr��is_junctionr3rAs r6rTzPath.is_junction�s6����"�+�+��
�
�&�&��
�
���
��rOc��K�tjtjj|j
d|j���d{���S7��wr*)rrKr�r��ismountr�r3rAs r6�is_mountz
Path.is_mount�s<�����'�'��G�G�O�O�T�Z�Z�4����
�
�	
�
�s�A	A�A�Ac�6�|jj�Sr:)r��is_reservedrAs r6rYzPath.is_reserved�r�r8c��K�tj|jjd|j���d{���S7��wr*)rrKr��	is_socketr3rAs r6r[zPath.is_socket�s8�����'�'��J�J� � �D�$�-�-�
�
�	
�
�rTc��K�tj|jjd|j���d{���S7��wr*)rrKr��
is_symlinkr3rAs r6r]zPath.is_symlink�s8�����'�'��J�J�!�!�T�4�=�=�
�
�	
�
�rTc�JK�tjdkr|jj�n=t	j
|jjd|j���d{���}t||jt|��23d{���}|����7�37�6y�w)Nr�Tr�)	�sys�version_infor��iterdirrrKr3r�r�)r4r5r�s   r6razPath.iterdir�s��������'�)�
�J�J��� � �)�)��
�
�"�"�d�D�M�M���	�(��T�]�]�D��J�G�	�$��J���	��G�s6�A'B#�)B�*$B#�B!�B�B!�B#�B!�!B#c�j�t|�|jj|�|j��SrJ)r�r��joinpathr3)r4r�s  r6rcz
Path.joinpath�s+���t�D�z�-�$�*�*�-�-�t�4�d�m�m�L�Lr8c��K�tj|jj||j���d{���y7��wrJ)rrKr��lchmodr3)r4r�s  r6rezPath.lchmod�s,����� � ����!2�!2�D�$�-�-�P�P�P�s�:A�A�Ac��K�tj|jjd|j���d{���S7��wr*)rrKr��lstatr3rAs r6rgz
Path.lstat�r?rTc��K�tj|jj||||j���d{���y7��wrJ)rrKr��mkdirr3)r4r�r��exist_oks    r6riz
Path.mkdir�s9����� � ��J�J���d�G�X�t�}�}�
�	
�	
�s�<A�A�Ac��K�y�wr:ra�r4r�r�r�r�r�s      r6r�z	Path.open�s�����rcc��K�y�wr:rarls      r6r�z	Path.open�s�����rcc	���K�tj|jj||||||j���d{���}t||j��S7��wrJ)rrKr�r�r3r))r4r�r�r�r�r�r5s       r6r�z	Path.open�sV�����%�%��J�J�O�O�������M�M�
�
����T�]�]�3�3�
�s�>A�A�Ac��K�tj|jjd|j���d{���S7��wr*)rrKr��ownerr3rAs r6rpz
Path.owner�r?rTc��K�tj|jj|j���d{���S7��wrJ)rrKr��
read_bytesr3rAs r6rrzPath.read_bytess-�����'�'��
�
�(=�(=�t�}�}�U�U�U�U�rOc��K�tj|jj|||j���d{���S7��wrJ)rrKr��	read_textr3)r4r�r�s   r6rtzPath.read_texts<�����'�'��J�J� � �(�F�D�M�M�
�
�	
�
�rr)�walk_upc��|D�cgc]}tj|���}}t|�|jj|d|i�|j
��Scc}w)Nrur*)r�r&r�r�rr3)r4rur��otherss    r6rzPath.relative_tosX��8=�=�u�e�g�l�l�5�)�u�F�=��4��:�&��
�
�&�&��@��@�$�-�-��
��>s�Ac�j�t|�|jj|�|j��SrJ)r�r�rr3r�s  r6rzPath.relative_tos+���4��:�4�d�j�j�4�4�e�<�d�m�m�T�Tr8c���K�tjtj|j|j
���d{���}t
|�||j
��S7�!�wrJ)rrKr��readlinkr�r3r�rs  r6rzz
Path.readlinksL���� �)�)��K�K����T�]�]�
�
���t�D�z�&�$�-�-�8�8�
�s�>A$�A"�"A$c���K�t|t�r|j}tj|jj
||j���d{���t|�||j��S7�!�wrJ)r.r&r�rrK�renamer3r�rs  r6r|zPath.rename#s\�����f�d�#��\�\�F�� � ����!2�!2�F�D�M�M�R�R�R��t�D�z�&�$�-�-�8�8�	S���AA<�A:�"A<c���K�t|t�r|j}tj|jj
||j���d{���t|�||j��S7�!�wrJ)r.r&r�rrK�replacer3r�rs  r6rzPath.replace*s\�����f�d�#��\�\�F�� � ����!3�!3�V�T�]�]�S�S�S��t�D�z�&�$�-�-�8�8�	T�r}c���K�t|jj|��}t|�t	j
|d|j���d{���|j��S7��w)N)�strictTr�r*)r
r��resolver�rrKr3)r4r�rs   r6r�zPath.resolve1s[�����t�z�z�)�)�&�9���t�D�z��$�$���d�m�m��
��M�M�	
�	
�
�s�AA+�A)�A+c�x�|jj|�}t||jt	|��Sr:�r��rglobr�r3r�r3s   r6r�z
Path.rglob<s-���*�*�"�"�7�+�C� ��d�m�m�T�$�Z�@�@r8c�|�|jj||��}t||jt	|��Srr�r7s    r6r�z
Path.rglobBs4���*�*�"�"�7�>�"�J�C� ��d�m�m�T�$�Z�@�@r8c�~�|jj|||��}t||jt	|��Sr;r�r<s     r6r�z
Path.rglobKs?���*�*�"�"��-�!1�#��C�
!��d�m�m�T�$�Z�@�@r8c��K�tj|jj|j���d{���y7��wrJ)rrKr��rmdirr3rAs r6r�z
Path.rmdirYs*����� � ����!1�!1�4�=�=�I�I�I�s�9A�A�Ac���K�t|t�r|j}tj|jj
|d|j���d{���S7��wr*)r.r&r�rrK�samefiler3)r4�
other_paths  r6r�z
Path.samefile\sR�����j�$�'�#�)�)�J��'�'��J�J����"��M�M�	
�
�	
�
�s�AA �A�A c��K�ttj|��}tj||j
d|j���d{���S7��w)Nr"Tr�)r
r��statrrKr�r3)r4rrs   r6r�z	Path.statgsD�����r�w�w��@���'�'��$�*�*��d�m�m�
�
�	
�
�r%c���K�t|t�r|j}tj|jj
|||j���d{���y7��wrJ)r.r&r�rrK�
symlink_tor3)r4r��target_is_directorys   r6r�zPath.symlink_tomsK����
�f�d�#��\�\�F�� � ��J�J�!�!�6�+>��
�
�
�	
�	
�s�AA!�A�A!c��K�tj|jj|||j���d{���y7��wrJ)rrKr��touchr3)r4r�rjs   r6r�z
Path.touchys5����� � ��J�J���d�H�d�m�m�
�	
�	
�s�;A�A�Ac��K�	tj|jj|j���d{���y7�#t
$r|s�YywxYw�wrJ)rrKr��unlinkr3�FileNotFoundError)r4�
missing_oks  r6r�zPath.unlink~sH����	��$�$�T�Z�Z�%6�%6��
�
�N�N�N�� �	����	�s8�A�8A�A�A�A�A�A�A�A�Ac��	K�d�	fd�}|jj|||��		tj||j���d{���}|�y|\}}}t|�||j��||f����V7�1�w)Nc�:��	t��S#t$rYywxYwr:)r��
StopIteration)r5s�r6�get_next_valuez!Path.walk.<locals>.get_next_value�s$��� ���9�$��$� �� �s�
�	�r*)ryz0tuple[pathlib.Path, list[str], list[str]] | None)r��walkrrKr3r�)
r4�top_down�on_errorrr��valuer��dirs�pathsr5s
         @r6r�z	Path.walk�sz�����
 ��*�*�/�/�(�H�o�F�C��'�0�0�����W�W���=��$)�!��d�E� �d�4�j��t�}�}�=�t�U�J�J�
�W�s�A	B�A>�
2Bc�n�t|�|jj|�|j��SrJ)r�r��	with_namer3r<s  r6r�zPath.with_name�s(���t�D�z�$�*�*�.�.�t�4�d�m�m�L�Lr8c��t|�|jj||jjz�|j��SrJ)r�r�r�r�r3)r4r�s  r6�	with_stemzPath.with_stem�s<���t�D�z��J�J� � ���
�
�(9�(9�!9�:�D�M�M�
�	
r8c�n�t|�|jj|�|j��SrJ)r�r��with_suffixr3)r4r�s  r6r�zPath.with_suffix�s(���t�D�z�$�*�*�0�0��8�$�-�-�P�Pr8c�8�t|�|d|ji�S)Nr+r�)r4�pathsegmentss  r6�
with_segmentszPath.with_segments�s���t�D�z�<�?����?�?r8c��K�tj|jj||j���d{���S7��wrJ)rrKr��write_bytesr3)r4�datas  r6r�zPath.write_bytes�s8�����'�'��J�J�"�"�D�$�-�-�
�
�	
�
�rTc��K�tj|jj|||||j���d{���S7��wrJ)rrKr��
write_textr3)r4r�r�r�r�s     r6r�zPath.write_text�sE�����'�'��J�J�!�!������M�M�

�
�	
�
�s�=A�A�A)r��str | PathLike[str]r+rxryrz)ryr{)ryr�r�)r�r|ry�bool)r�zpathlib.PurePath | Pathryr�)r�r�ryrr})ryztuple[str, ...])ryzSequence[Self])ryr)ryz	list[str])r�r{r+rxryr)rr{r�bool | Noneryr�)rr{ryr�)ryr)r��str | os.PathLike[str]rr�rr�ryr)rr�rr�rr�ryr)r�r�ryr)rr�ryr)r�r�ryr�)r�r�rr�ryrz)r+rxryr)ryr�)r4r{ry�AsyncIterator[Self])r4r{rr�ryr�)r4r�rr�r9r�ryr�)r��-str | bytes | PathLike[str] | PathLike[bytes]ryrz)ryr�)r�r�ryr)r�r�ryrz)ry�os.stat_result)i�FF)r�r�r�r�rjr�ryrz)....)r�r!r�r�r��
str | Noner�r�r�r�ryr�).....)r�r"r�r�r�r�r�r�r�r�ryr�)�rrNNN)r�r{r�r�r�r�r�r�r�r�ry�AsyncFile[Any])NN)r�r�r�r�ryr{)r�r�rur�ryr)r�zstr | pathlib.PurePath | Pathryr)F)r�r�ryrr~)r�r�ryr�)rr�ryr�)r�r�r�r�ryrz)i�T)r�r�rjr�ryrz)r�r�ryrz)TNF)r�r�r�z"Callable[[OSError], object] | Nonerr�ryz0AsyncIterator[tuple[Self, list[str], list[str]]])r=r{ryr)r�r{ryr)r�r{ryr)r�r�ryr)r�r#ryr�)NNN)
r�r{r�r�r�r�r�r�ryr�)br1r�r�r��	__slots__r�r7r�r_r`r�r�r�r�r�r�r�r�r�r�r�r�r�r+r�r�r�r�r�r�r=r�r�r�r�r�r�r�r&r��classmethodr�rr	rrrrrr!r$r'r+r.r2r>rBrDrGrIrKrMrOrRrTrWrYr[r]rarcrergrirr�rprrrtrrzr|rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rar8r6r&r&s]��L�\3�I���MQ�
 �(�
 �3I�
 �	
�
 �'����7�"�	,�$�A�&�%�)�)�)�)�)�E�?������ �� �� �� ������!��!��W��W��D��D������!��!��#��#�����7�%�#����7�"�'.�|�|�':�':��$�:�	�IM�	D�
�	D�GK�	V� #�	V�8C�	V�
�	V�GK�	Q� #�	Q�8C�	Q�
�	Q�	2����7�"�	�	#�
�	#�%)�&+�	�*�	�"�		�
 $�	��
	�.%)�&+�	�.�	�"�		�
 $�	��
	�&	�		�.�		��		��AE�W��<@�*��*�
�

����'�!�	A�
�C�$�$�	.�w�	.�+/�		A��	A�(�		A�
!�	A�

�	�	�W�	$�+/�%*�	A�(�	A�(�		A�
#�	A�!�
	A�
�
O�C�O�	
�O��=A�/��/�(�
�

�

�

�

�
���7�"�	�

�
���'�!�	,�
�

�
	�M�Q�
�JO�
��
�*.�
�BF�
�	
�
���"� �!�
������	�
���
�
�����!��"� �!�
������	�
���
�
������#�!�"�
4��4��4��	4�
�4��
4�
�4�&
�
V�AE�
�"�
�3=�
�	�
����7�"�@E�	�-�	�8<�	�
�	�	U�9�9�9�
����'�!�	A�
�C�$�$�	.�w�	.�BF�	A��	A�3>�	A�
 �	A�


�	�	�W�	$�+/�%*�	A�(�	A�(�		A�
#�	A�!�
	A�J�	
�59�
�%*�

�=�

�"�

�
�	

�
�
����7�"�"�;?�$)�		K��	K�9�	K�"�		K�
>�	K�*M�
�
Q�@�
� $�!�"�
��
��
��	
�
�
�

�

r8)......)r��str | PathLike[str] | intr�r!r�r�r�r�r�r�r�r�r�r�r�� Callable[[str, int], int] | Noner+rxryr�).......)r�r�r�r"r�r�r�r�r�r�r�r�r�r�r�r�r+rxryr�)r�rNNNTN)r�r�r�r{r�r�r�r�r�r�r�r�r�r�r�r�r+rxryr�)r�rwr+rxryzAsyncFile[AnyStr])4�
__future__rr�r�r_�collections.abcrrrrr�dataclassesr	�	functoolsr
r�typingrr
rrrrrrr�r�abcr�_synchronizationrr`r�typing_extensions�
pathlib.typesr�typesr �	_typeshedr!r"r#r$r|r%r)r�r�r�r&�registerrar8r6�<module>r�s���"�	��
���"���
�
�
���-����w���&����w��&�� �W�W�GM�M�N�M�^�M�l�_��C�v���xO�
�w�v��xO�v
������/2��'*��
#��
�����	�

���
���
-��$����
��
�������/2��'*��
#��
�����	�

���
���
-��$����
�� ������/3�%*�'+�%*�
#�%*�

�%*��%*��	%*�

�%*��
%*��%*�
-�%*�$�%*��%*�R<@�,�
�,�"8�,��,�$�e��<�M�!�$�<��<�"e

�e

�P����$�r8