grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026a ´i¾Çã@s2ddlZddlZddlZddlZddlZddlZddlZddlZddlm Z ddl m Z m Z m Z mZmZddlmZddlmZmZmZmZmZmZmZddlmZdZgd¢Zd Zd Z d Z!e e eefZ"ee e!fZ#d d „Z$dd„Z%Gdd„de&ƒZ'Gdd„de'ƒZ(Gdd„de'ƒZ)e(ƒZ*e)ƒZ+Gdd„dƒZ,Gdd„de,ƒZ-e-ƒZ.dd„Z/e0edƒ�rbe 1¡e/ƒZ/Gdd„dƒZ2Gdd „d ƒZ3Gd!d"„d"e2ƒZ4Gd#d$„d$e2ƒZ5Gd%d&„d&e2ƒZ6Gd'd(„d(e ƒZ7Gd)d*„d*e&ƒZ8ej9 :e8¡Gd+d,„d,e8ƒZ;Gd-d.„d.e8ƒZGd3d4„d4e=e<ƒZ?dS)5éN)ÚSequence)ÚEINVALÚENOENTÚENOTDIRÚEBADFÚELOOP)Ú attrgetter)ÚS_ISDIRÚS_ISLNKÚS_ISREGÚS_ISSOCKÚS_ISBLKÚS_ISCHRÚS_ISFIFO)Úquote_from_bytesT)ÚPurePathÚ PurePosixPathÚPureWindowsPathÚPathÚ PosixPathÚ WindowsPathéé{i�cCs t|ddƒtvpt|ddƒtvS)NÚerrnoÚwinerror)ÚgetattrÚ_IGNORED_ERROSÚ_IGNORED_WINERRORS)Ú exception©rú/usr/lib64/python3.9/pathlib.pyÚ _ignore_error(sÿr!cCsd|vpd|vpd|vS)NÚ*ú?ú[r)Úpatrrr Ú_is_wildcard_pattern-sr&c@s$eZdZdd„Zdd„Zdd„ZdS)Ú_FlavourcCs|jj|_dS©N)ÚsepÚjoin©Úselfrrr Ú__init__7sz_Flavour.__init__c Csg}|j}|j}d}}t|ƒ}|D]Æ}|s.q$|r>| ||¡}| |¡\}}} || vrˆt|  |¡ƒD] } | rd| dkrd| t | ¡¡qdn| r¤| dkr¤| t | ¡¡|s¬|r$|sæ|D]0}|s¾q´|rÎ| ||¡}| |¡d}|r´qæq´qìq$|sö|�r| ||¡|  ¡|||fS)NÚÚ.r) r)ÚaltsepÚreversedÚreplaceÚ splitrootÚsplitÚappendÚsysÚinternÚreverse) r,ÚpartsÚparsedr)r0ÚdrvÚrootÚitÚpartÚrelÚxrrr Ú parse_parts:s@     z_Flavour.parse_partscCsz|r*|sp|rp||||g|dd…fSnF|rb||ksJ| |¡| |¡krp||||dd…fSn||||fS|||fS©Né)Úcasefold)r,r;r<r9Údrv2Úroot2Úparts2rrr Újoin_parsed_parts`sz_Flavour.join_parsed_partsN)Ú__name__Ú __module__Ú __qualname__r-rArHrrrr r'3s&r'c@sžeZdZdZdZdZeZej dkZ e dƒZ dZ hd£dd „d DƒBd d „d DƒBZefd d „Zdd„Zdd„Zdd„Ze fdd„Zdd„Zdd„Zdd„ZdS)Ú_WindowsFlavourú\ú/TÚntZ4abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZz\\?\>zCONOUT$ÚCONÚNULzCONIN$ÚAUXÚPRNcCsh|] }d|’qS)zCOM%sr©Ú.0Úcrrr Ú ‚óz_WindowsFlavour.u123456789¹²³cCsh|] }d|’qS)zLPT%srrTrrr rWƒrXc Cs\|dd…}|dd…}||krP||krP| |¡\}}|dd…}|dd…}nd}|dd…}||krü||krü||krü| |d¡}|dkrü| ||d¡}||dkrü|dkr¸t|ƒ}|rÞ||d|…|||dd…fS|d|…|||dd…fSd} } |dk�r6||jv�r6|dd…} |dd…}|}||k�rN|} | |¡}|| | |fS)NrrCér.ééÿÿÿÿú:)Ú_split_extended_pathÚfindÚlenÚ drive_lettersÚlstrip) r,r>r)ÚfirstÚsecondÚprefixÚthirdÚindexÚindex2r;r<rrr r3•s6      "    z_WindowsFlavour.splitrootcCs| ¡Sr(©Úlower©r,Úsrrr rD¼sz_WindowsFlavour.casefoldcCsdd„|DƒS)NcSsg|] }| ¡‘qSrrh)rUÚprrr Ú ÀrXz2_WindowsFlavour.casefold_parts..r©r,r9rrr Úcasefold_parts¿sz_WindowsFlavour.casefold_partscCst t |¡tj¡jSr()ÚreÚcompileÚfnmatchÚ translateÚ IGNORECASEÚ fullmatch©r,Úpatternrrr Úcompile_patternÂsz_WindowsFlavour.compile_patterncCsXd}| |¡rP|dd…}|dd…}| d¡rP||dd…7}d|dd…}||fS)Nr.ézUNC\rZrM)Ú startswith)r,rkÚ ext_prefixrdrrr r]Ås    z$_WindowsFlavour._split_extended_pathcCsJ|sdS|d d¡rdS|d d¡d d¡d d¡}| ¡|jvS)NFrz\\r[r/r\ú )rzÚ partitionÚrstripÚupperÚreserved_names)r,r9Únamerrr Ú is_reservedÏs "z_WindowsFlavour.is_reservedcCsd|j}t|ƒdkrJ|ddkrJ| ¡dd… d¡}d|t| d¡ƒfSdt| ¡ d¡ƒSdS)NrYrCr\rNz file:///%s/%szutf-8zfile:)Údriver_Úas_posixraÚurlquote_from_bytesÚencode)r,ÚpathrƒÚrestrrr Úmake_uriÜsÿz_WindowsFlavour.make_uricCsÚdtjvrtjd}nHdtjvrVztjd}WntyDd}Yn0|tjd}ntdƒ‚|rÖtjd|krÖ| |f¡\}}}|dtjdkr td|ƒ‚||d<|s°|rÌ||| |d d…¡}n | |¡}|S) NÚ USERPROFILEÚHOMEPATHÚ HOMEDRIVEr.zCan't determine home directoryÚUSERNAMEr[ú%Can't determine home directory for %rrC)ÚosÚenvironÚKeyErrorÚ RuntimeErrorrAr*)r,ÚusernameÚuserhomer;r<r9rrr Ú gethomedirès*     ÿ z_WindowsFlavour.gethomedirN)rIrJrKr)r0Úhas_drvÚntpathÚpathmodr�r�Ú is_supportedÚsetr`Úext_namespace_prefixr€r3rDrorxr]r‚r‰r•rrrr rLrs*  ÿ þÿ '   rLc@sbeZdZdZdZdZeZej dkZ efdd„Z dd„Z d d „Z d d „Zd d„Zdd„Zdd„ZdS)Ú _PosixFlavourrNr.FrOcCsV|rH|d|krH| |¡}t|ƒt|ƒdkrr)Ú stripped_partrrr r3 s   z_PosixFlavour.splitrootcCs|Sr(rrjrrr rDsz_PosixFlavour.casefoldcCs|Sr(rrnrrr rosz_PosixFlavour.casefold_partscCst t |¡¡jSr()rprqrrrsrurvrrr rx"sz_PosixFlavour.compile_patterncCsdS©NFrrnrrr r‚%sz_PosixFlavour.is_reservedcCst|ƒ}dt|ƒS)Nzfile://)Úbytesr…)r,r‡Úbpathrrr r‰(sz_PosixFlavour.make_uricCsx|s>z tjdWSty:ddl}| t ¡¡jYS0n6ddl}z| |¡jWStyrtd|ƒ‚Yn0dS)NÚHOMErrŽ) r�r�r‘ÚpwdÚgetpwuidÚgetuidÚpw_dirÚgetpwnamr’)r,r“r¢rrr r•.s   ÿz_PosixFlavour.gethomedirN)rIrJrKr)r0r–Ú posixpathr˜r�r�r™r3rDrorxr‚r‰r•rrrr rœs  rœc@s eZdZdS)Ú _AccessorN)rIrJrKrrrr r¨Bsr¨c@sÞeZdZejZejZejZejZejZej Z e edƒr>ej Z ndd„Z ej Z ej Z e edƒrdejZn edd„ƒZejZejZejZe edƒr”ejZn dd d „ZejZd d „Zd d„Zdd„ZejZeejjƒZeejjƒZdS)Ú_NormalAccessorÚlchmodcCs tdƒ‚dS)Nz%lchmod() not available on this system©ÚNotImplementedError)r,ÚpathobjÚmoderrr rªXsz_NormalAccessor.lchmodÚlinkcCs tdƒ‚dS)Nz&os.link() not available on this systemr«©r,Útargetrrr Úlink_tobsz_NormalAccessor.link_toÚsymlinkFcCs tdƒ‚dS)Nz)os.symlink() not available on this systemr«)r,ÚsrcÚdstÚtarget_is_directoryrrr r³osz_NormalAccessor.symlinkcCs t |¡Sr()r�Úreadlink©r,r‡rrr r·usz_NormalAccessor.readlinkcCs>zddl}| | |¡j¡jWSty8tdƒ‚Yn0dS)Nrz*Path.owner() is unsupported on this system)r¢r£ÚstatÚst_uidÚpw_nameÚ ImportErrorr¬)r,r‡r¢rrr Úownerxs  z_NormalAccessor.ownercCs>zddl}| | |¡j¡jWSty8tdƒ‚Yn0dS)Nrz*Path.group() is unsupported on this system)ÚgrpÚgetgrgidr¹Úst_gidÚgr_namer¼r¬)r,r‡r¾rrr Úgroups  z_NormalAccessor.groupN)F)rIrJrKr�r¹ÚlstatÚopenÚlistdirÚscandirÚchmodÚhasattrrªÚmkdirÚunlinkr¯r²Ú staticmethodÚrmdirÚrenamer2r³Úutimer·r½rÂÚgetcwdr‡Ú expanduserÚrealpathrrrr r©Gs8      r©cCsR|d}|dd…}|dkr"t}n$d|vr4tdƒ‚nt|ƒrBt}nt}||||ƒS)NrrCú**z:Invalid pattern: '**' can only be an entire path component)Ú_RecursiveWildcardSelectorÚ ValueErrorr&Ú_WildcardSelectorÚ_PreciseSelector)Ú pattern_partsÚflavourr%Ú child_partsÚclsrrr Ú_make_selector”s  rÛÚ lru_cachec@seZdZdd„Zdd„ZdS)Ú _SelectorcCs0||_|rt||ƒ|_d|_ntƒ|_d|_dS©NTF)rÙrÛÚ successorÚdironlyÚ_TerminatingSelector)r,rÙrØrrr r-©s  z_Selector.__init__cCs<t|ƒ}|j}|j}|jj}||ƒs,tgƒS| ||||¡Sr()ÚtypeÚis_dirÚexistsÚ _accessorrÆÚiterÚ _select_from)r,Ú parent_pathÚpath_clsrãrärÆrrr Ú select_from²sz_Selector.select_fromN)rIrJrKr-rêrrrr rÝ¥s rÝc@seZdZdd„ZdS)ráccs |VdSr(r)r,rèrãrärÆrrr rçÀsz!_TerminatingSelector._select_fromN)rIrJrKrçrrrr rá¾srác@seZdZdd„Zdd„ZdS)rÖcCs||_t |||¡dSr()r�rÝr-)r,r�rÙrØrrr r-Æsz_PreciseSelector.__init__ccsZz@| |j¡}|jr|n||ƒr>|j ||||¡D] }|Vq2WntyTYdS0dSr()Ú_make_child_relpathr�ràrßrçÚPermissionError)r,rèrãrärÆr‡rlrrr rçÊs   z_PreciseSelector._select_fromN©rIrJrKr-rçrrrr rÖÄsrÖc@seZdZdd„Zdd„ZdS)rÕcCs| |¡|_t |||¡dSr()rxÚmatchrÝr-©r,r%rÙrØrrr r-Ös z_WildcardSelector.__init__c csâzÈ||ƒ�}t|ƒ}Wdƒn1s(0Y|D]Ž}|jrŒz| ¡sNWq6Wn:tyŠ}z"t|ƒsj‚WYd}~q6WYd}~n d}~00|j} | | ¡r6| | ¡} |j  | |||¡D] } | Vq¸q6Wnt yÜYdS0dSr() ÚlistràrãÚOSErrorr!r�rîrërßrçrì) r,rèrãrärÆÚ scandir_itÚentriesÚentryÚer�r‡rlrrr rçÚs& &"   z_WildcardSelector._select_fromNrírrrr rÕÔsrÕc@s$eZdZdd„Zdd„Zdd„ZdS)rÓcCst |||¡dSr()rÝr-rïrrr r-õsz#_RecursiveWildcardSelector.__init__c csÐ|Vz°||ƒ�}t|ƒ}Wdƒn1s.0Y|D]v}d}z | ¡}Wn.ty~}zt|ƒsj‚WYd}~n d}~00|r<| ¡s<| |j¡} | | ||¡D] } | Vq¦q)ÚformatrÿrIr+rrr Ú__repr__7sz_PathParents.__repr__N)rIrJrKÚ __slots__r-rrr rrrr rþs rþc@s°eZdZdZdd„Zdd„Zedd„ƒZed[d d „ƒZed\d d „ƒZ ed d„ƒZ dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„Zdd„Zedd „ƒZd!d"„Zd#d$„Zd%d&„Zd'd(„Zd)d*„Zd+d,„Zd-d.„Zeed/ƒd0d1�Zeed2ƒd3d1�Zed4d5„ƒZed6d7„ƒZ ed8d9„ƒZ!ed:d;„ƒZ"edd?„Z$d@dA„Z%dBdC„Z&dDdE„Z'dFdG„Z(edHdI„ƒZ)dJdK„Z*dLdM„Z+dNdO„Z,edPdQ„ƒZ-edRdS„ƒZ.dTdU„Z/dVdW„Z0dXdY„Z1dZS)]r)rrrÚ_strÚ_hashÚ_ppartsÚ_cached_cpartscGs$|turtjdkrtnt}| |¡S)NrO)rr�r�rrÚ _from_parts)rÚÚargsrrr Ú__new__IszPurePath.__new__cCs|jt|jƒfSr()Ú __class__Útuplerr+rrr Ú __reduce__SszPurePath.__reduce__cCsdg}|D]N}t|tƒr"||j7}qt |¡}t|tƒrF| t|ƒ¡qtdt|ƒƒ‚q|j   |¡S)NzNargument should be a str object or an os.PathLike object returning str, not %r) Ú isinstancerrr�ÚfspathÚstrr5Ú TypeErrorrâÚ_flavourrA)rÚrr9Úarrr Ú _parse_argsXs    þÿzPurePath._parse_argsTcCs<t |¡}| |¡\}}}||_||_||_|r8| ¡|Sr()ÚobjectrrrrrÚ_init)rÚrÚinitr,r;r<r9rrr rls zPurePath._from_partscCs,t |¡}||_||_||_|r(| ¡|Sr()rrrrrr)rÚr;r<r9rr,rrr rys zPurePath._from_parsed_partscCs4|s|r$|||j |dd…¡S|j |¡SdSrB)rr*)rÚr;r<r9rrr Ú_format_parsed_partsƒszPurePath._format_parsed_partscCsdSr(rr+rrr rŠszPurePath._initcCs@| |¡\}}}|j |j|j|j|||¡\}}}| |||¡Sr()rrrHrrrr)r,rr;r<r9rrr Ú _make_childŽs ÿ zPurePath._make_childcCs@z|jWSty:| |j|j|j¡p,d|_|jYS0dS)Nr/)r ÚAttributeErrorrrrrr+rrr Ú__str__”s  ÿÿzPurePath.__str__cCst|ƒSr()rr+rrr Ú __fspath__žszPurePath.__fspath__cCs|j}t|ƒ |jd¡S)NrN)rrr2r)©r,Úfrrr r„¡szPurePath.as_posixcCs t |¡Sr()r�Úfsencoder+rrr Ú __bytes__§szPurePath.__bytes__cCsd |jj| ¡¡S)Nz{}({!r}))rrrIr„r+rrr r ¬szPurePath.__repr__cCs| ¡stdƒ‚|j |¡S)Nz.relative path can't be expressed as a file URI)Ú is_absoluterÔrr‰r+rrr Úas_uri¯szPurePath.as_uricCs6z|jWSty0|j |j¡|_|jYS0dSr()rr!rrorr+rrr Ú_cpartsµs  zPurePath._cpartscCs&t|tƒstS|j|jko$|j|juSr()rrÚNotImplementedr*r©r,Úotherrrr Ú__eq__¾s zPurePath.__eq__cCs6z|jWSty0tt|jƒƒ|_|jYS0dSr()r r!Úhashrr*r+rrr Ú__hash__Ãs  zPurePath.__hash__cCs&t|tƒr|j|jurtS|j|jkSr(©rrrr+r*r,rrr Ú__lt__ÊszPurePath.__lt__cCs&t|tƒr|j|jurtS|j|jkSr(r1r,rrr Ú__le__ÏszPurePath.__le__cCs&t|tƒr|j|jurtS|j|jkSr(r1r,rrr Ú__gt__ÔszPurePath.__gt__cCs&t|tƒr|j|jurtS|j|jkSr(r1r,rrr Ú__ge__ÙszPurePath.__ge__cCs|Sr(r)rÚrârrr Ú__class_getitem__ÞszPurePath.__class_getitem__rz.The drive prefix (letter or UNC path), if any.)ÚdocrzThe root of the path, if any.cCs|j|j}|Sr()rr)r,Úanchorrrr r8çs zPurePath.anchorcCs.|j}t|ƒ|js|jrdndkr&dS|dS)NrCrr.r[)rr_rrrnrrr r�ísz PurePath.namecCsD|j}| d¡}d|kr,t|ƒdkr.rC)r�Úendswithrar4©r,r�rrr Úsuffixess   zPurePath.suffixescCsD|j}| d¡}d|kr,t|ƒdkrs, * þ ÿzPurePath.relative_tocGs*z|j|ŽWdSty$YdS0dSrÞ)rOrÔr,rrr Úis_relative_to_s   zPurePath.is_relative_tocCs2z|jWSty,t|jƒ|_|jYS0dSr()r r!rrr+rrr r9hs   zPurePath.partscGs | |¡Sr()r )r,rrrr ÚjoinpathtszPurePath.joinpathcCs*z| |f¡WSty$tYS0dSr()r rr+©r,Úkeyrrr Ú __truediv__|s zPurePath.__truediv__cCs0z| |g|j¡WSty*tYS0dSr()rrrr+rRrrr Ú __rtruediv__‚s zPurePath.__rtruediv__cCs@|j}|j}|j}t|ƒdkr*|s&|r*|S| |||dd…¡S)NrCr[)rrrr_r)r,r;r<r9rrr Úparentˆs zPurePath.parentcCst|ƒSr()rþr+rrr Úparents’szPurePath.parentscCs|js dS|jj pt|jƒSrž)rrr–Úboolrr+rrr r(—szPurePath.is_absolutecCs|j |j¡Sr()rr‚rr+rrr r‚žszPurePath.is_reservedc CsÒ|jj}||ƒ}|j |f¡\}}}|s0tdƒ‚|rF|||jƒkrFdS|r\|||jƒkr\dS|j}|sj|rŒt|ƒt|ƒkr~dS|dd…}nt|ƒt|ƒkr dStt |ƒt |ƒƒD]\}}t   ||¡s²dSq²dS)Nz empty patternFrCT) rrDrArÔrrr*r_Úzipr1rrÚ fnmatchcase) r,Ú path_patternrMr;r<Ú pat_partsr9r>r%rrr rî£s( zPurePath.matchN)T)T)2rIrJrKr rrÚ classmethodrrrrrr r"r#r„r'r r)Úpropertyr*r.r0r2r3r4r5r6rrƒr<r8r�r=r@rArCrDrFrOrPr9rQrTrUrVrWr(r‚rîrrrr r;sz        ÿÿ      !    rc@seZdZeZdZdS)rrN)rIrJrKÚ_posix_flavourrr rrrr rÁsrc@seZdZeZdZdS)rrN)rIrJrKÚ_windows_flavourrr rrrr rËsrc@s–eZdZdZdd„Zdcdd„Zdd„Zd d „Zd d „Zdddd„Z dedd„Z e dd„ƒZ e dd„ƒZ dd„Zdd„Zdd„Zdd„Zdd „Zdfd"d#„Zd$d%„Zd&d'„Zd(d)„Zdgd,d-„Zd.d/„Zdhd0d1„Zd2d3„Zdid4d5„Zd6d7„Zdjd9d:„Zdkd;d<„Zd=d>„Zd?d@„Z dldAdB„Z!dCdD„Z"dEdF„Z#dGdH„Z$dIdJ„Z%dmdKdL„Z&dMdN„Z'dOdP„Z(dQdR„Z)dSdT„Z*dUdV„Z+dWdX„Z,dYdZ„Z-d[d\„Z.d]d^„Z/d_d`„Z0dadb„Z1dS)nr)råcOsL|turtjdkrtnt}|j|dd�}|jjs@td|j fƒ‚|  ¡|S)NrOF©rz$cannot instantiate %r on your system) rr�r�rrrrr™r¬rIr)rÚrÚkwargsr,rrr råsÿz Path.__new__NcCs|dur|j|_nt|_dSr()råÚ_normal_accessor)r,Útemplaterrr rïs z Path._initcCs|j|g}| |j|j|¡Sr()rrrr)r,r>r9rrr rëøs zPath._make_child_relpathcCs|Sr(rr+rrr Ú __enter__þszPath.__enter__cCsdSr(r)r,ÚtÚvÚtbrrr Ú__exit__s z Path.__exit__é¶cCs|j |||¡Sr(©rårÄ)r,r�Úflagsr®rrr Ú_opener sz Path._openeréÿcCs|j |||¡Sr(rk)r,rlr®rrr Ú _raw_openszPath._raw_opencCs |t ¡ƒSr()r�rÏ©rÚrrr ÚcwdszPath.cwdcCs||ƒj d¡ƒSr()rr•rprrr Úhome sz Path.homecCsB| ¡}z | ¡}Wnty2|j |¡}Yn0tj ||¡Sr()r¹r!rår�r‡Úsamestat)r,Ú other_pathÚstÚother_strrr Úsamefile's   z Path.samefileccs,|j |¡D]}|dvrq | |¡Vq dS)N>r/z..)rårÅrër?rrr Úiterdir2sz Path.iterdirccsnt d||¡|s td |¡ƒ‚|j |f¡\}}}|s<|rDtdƒ‚tt|ƒ|jƒ}|  |¡D] }|Vq^dS)Nzpathlib.Path.globzUnacceptable pattern: {!r}ú%Non-relative patterns are unsupported) r6ÚauditrÔrrrAr¬rÛrrê©r,rwr;r<r×Úselectorrlrrr Úglob<sz Path.globccs`t d||¡|j |f¡\}}}|s*|r2tdƒ‚tdt|ƒ|jƒ}| |¡D] }|VqPdS)Nzpathlib.Path.rglobry)rÒ)r6rzrrAr¬rÛrrêr{rrr ÚrglobJsz Path.rglobcCs6| ¡r |S|jt ¡g|jdd�}|j|d�|S©NFra)rd)r(rr�rÏrr)r,Úobjrrr ÚabsoluteWs  z Path.absoluteFc Csšdd„}z|jj||d�}Wn.tyJ}z||ƒ‚WYd}~n d}~00| |f¡}|s–z | ¡Wn,ty”}z||ƒWYd}~n d}~00|S)NcSs0t|ddƒ}|jtks|tkr,td|jƒ‚dS)NrrzSymlink loop from %r)rrrÚ_WINERROR_CANT_RESOLVE_FILENAMEr’Úfilename)rõrrrr Ú check_eloopns z!Path.resolve..check_eloop)Ústrict)rårÑrñrr¹)r,r…r„rkrõrlrrr Úresolvegs  z Path.resolvecCs |j |¡Sr()rår¹r+rrr r¹ƒsz Path.statcCs |j |¡Sr()rår½r+rrr r½Šsz Path.ownercCs |j |¡Sr()rårÂr+rrr rÂ�sz Path.groupÚrr[c Cstj|||||||jd�S)N)Úopener)ÚiorÄrm)r,r®Ú bufferingÚencodingÚerrorsÚnewlinerrr rÄ–sÿz Path.opencCs8|jdd��}| ¡WdƒS1s*0YdS)NÚrb©r®©rÄÚreadr$rrr Ú read_bytesŸszPath.read_bytescCs<|jd||d��}| ¡WdƒS1s.0YdS)Nr‡©r®r‹rŒr�)r,r‹rŒr%rrr Ú read_text¦szPath.read_textcCsBt|ƒ}|jdd��}| |¡WdƒS1s40YdS)NÚwbr�)Ú memoryviewrÄÚwrite)r,ÚdataÚviewr%rrr Ú write_bytes­szPath.write_bytescCsXt|tƒstd|jjƒ‚|jd||d��}| |¡WdƒS1sJ0YdS)Nzdata must be str, not %sÚwr“)rrrrrIrÄr—)r,r˜r‹rŒr%rrr Ú write_text¶s  ÿzPath.write_textcCs,|j |¡}|j|fdd�}|j|d�|Sr)rår·rr)r,r‡r€rrr r·Às  z Path.readlinkTcCsb|r.z|j |d¡Wnty(Yn0dStjtjB}|sH|tjO}| ||¡}t |¡dSr() rårÎrñr�ÚO_CREATÚO_WRONLYÚO_EXCLroÚclose)r,r®Úexist_okrlÚfdrrr ÚtouchÉs    z Path.touchcCsxz|j ||¡Wn`tyT|r.|j|kr0‚|jjddd�|j|d|d�Yn tyr|rl| ¡sn‚Yn0dS)NT)rWr¡F)rårÉÚFileNotFoundErrorrVrñrã)r,r®rWr¡rrr rÉÞs   z Path.mkdircCs|j ||¡dSr()rårÇ©r,r®rrr rÇïsz Path.chmodcCs|j ||¡dSr()rårªr¥rrr rªõsz Path.lchmodcCs.z|j |¡Wnty(|s$‚Yn0dSr()rårÊr¤)r,Ú missing_okrrr rÊüs  z Path.unlinkcCs|j |¡dSr()rårÌr+rrr rÌsz Path.rmdircCs |j |¡Sr()rårÃr+rrr rà sz Path.lstatcCs|j ||¡| |¡Sr()rårÍrr°rrr rÍs z Path.renamecCs|j ||¡| |¡Sr()rår2rr°rrr r2!s z Path.replacecCs|j |||¡dSr()rår³)r,r±r¶rrr Ú symlink_to.szPath.symlink_tocCs|j ||¡dSr()rår²r°rrr r²5s z Path.link_toc CsTz | ¡WnBty<}zt|ƒs&‚WYd}~dSd}~0tyNYdS0dS©NFT)r¹rñr!rÔ©r,rõrrr räCs  z Path.existsc CsXzt| ¡jƒWSty@}zt|ƒs*‚WYd}~dSd}~0tyRYdS0dSrž)r r¹Úst_moderñr!rÔr©rrr rãRs z Path.is_dirc CsXzt| ¡jƒWSty@}zt|ƒs*‚WYd}~dSd}~0tyRYdS0dSrž)r r¹rªrñr!rÔr©rrr Úis_filebs z Path.is_filecCsn| ¡r| ¡sdSz|j ¡j}Wnty8YdS0| ¡j}||krPdS| ¡j}|j ¡j}||kSr¨)rärãrVr¹Úst_devrñÚst_ino)r,Ú parent_devÚdevÚinoÚ parent_inorrr Úis_mountss    z Path.is_mountc CsXzt| ¡jƒWSty@}zt|ƒs*‚WYd}~dSd}~0tyRYdS0dSrž)r rÃrªrñr!rÔr©rrr rö‡s zPath.is_symlinkc CsXzt| ¡jƒWSty@}zt|ƒs*‚WYd}~dSd}~0tyRYdS0dSrž)r r¹rªrñr!rÔr©rrr Úis_block_device–s zPath.is_block_devicec CsXzt| ¡jƒWSty@}zt|ƒs*‚WYd}~dSd}~0tyRYdS0dSrž)rr¹rªrñr!rÔr©rrr Úis_char_device¦s zPath.is_char_devicec CsXzt| ¡jƒWSty@}zt|ƒs*‚WYd}~dSd}~0tyRYdS0dSrž)rr¹rªrñr!rÔr©rrr Úis_fifo¶s z Path.is_fifoc CsXzt| ¡jƒWSty@}zt|ƒs*‚WYd}~dSd}~0tyRYdS0dSrž)r r¹rªrñr!rÔr©rrr Ú is_socketÆs zPath.is_socketcCs`|js\|js\|jr\|jddd…dkr\|j |jddd…¡}| |g|jdd…¡S|S)NrrCú~)rrrrr•r)r,Úhomedirrrr rÐÖs ÿÿzPath.expanduser)N)rj)rn)F)r‡r[NNN)NN)NN)rjT)rnFF)F)F)2rIrJrKr rrrërerirmror]rqrrrwrxr}r~r�r†r¹r½rÂrÄr’r”ršrœr·r£rÉrÇrªrÊrÌrÃrÍr2r§r²rärãr«r²rör³r´rµr¶rÐrrrr rØsf  þ         ÿ        rc@seZdZdZdS)rrN)rIrJrKr rrrr râsrc@seZdZdZdd„ZdS)rrcCs tdƒ‚dS)Nz-Path.is_mount() is unsupported on this systemr«r+rrr r²ðszWindowsPath.is_mountN)rIrJrKr r²rrrr résr)@rrÚ functoolsr‰r—r�r§rpr6Ú_collections_abcrrrrrrrÚoperatorrr¹r r r r r rrÚ urllib.parserr…Úsupports_symlinksÚ__all__Ú_WINERROR_NOT_READYÚ_WINERROR_INVALID_NAMEr‚rrr!r&rr'rLrœr`r_r¨r©rcrÛrÈrÜrÝrárÖrÕrÓrþrÚPathLikeÚregisterrrrrrrrrr Úsp  $   ý?9F  ,