grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026a XC?h¾Çã@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)Z exception©rú,/opt/alt/python39/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+ÚpartsZparsedr(r/ÚdrvÚrootÚitÚpartZrelÚxrrrÚ parse_parts:s@     z_Flavour.parse_partscCsz|r*|sp|rp||||g|dd…fSnF|rb||ksJ| |¡| |¡krp||||dd…fSn||||fS|||fS©Né)Úcasefold)r+r9r:r8Zdrv2Zroot2Zparts2rrrÚjoin_parsed_parts`sz_Flavour.join_parsed_partsN)Ú__name__Ú __module__Ú __qualname__r,r>rBrrrrr&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\\?\>ZPRNZCONZAUXzCONOUT$ZNULzCONIN$cCsh|] }d|’qS)zCOM%sr©Ú.0ÚcrrrÚ ‚óz_WindowsFlavour.u123456789¹²³cCsh|] }d|’qS)zLPT%srrJrrrrMƒrNc 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)Nrr@ér-ééÿÿÿÿú:)Ú_split_extended_pathÚfindÚlenÚ drive_lettersÚlstrip) r+r<r(ÚfirstÚsecondÚprefixZthirdÚindexZindex2r9r:rrrr2•s6      "    z_WindowsFlavour.splitrootcCs| ¡Sr'©Úlower©r+ÚsrrrrA¼sz_WindowsFlavour.casefoldcCsdd„|DƒS)NcSsg|] }| ¡‘qSrr\)rKÚprrrÚ ÀrNz2_WindowsFlavour.casefold_parts..r©r+r8rrrÚ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\rPrG)Ú startswith)r+r_Z ext_prefixrZrrrrSÅs    z$_WindowsFlavour._split_extended_pathcCsJ|sdS|d d¡rdS|d d¡d d¡d d¡}| ¡|jvS)NFrz\\rQr.rRú )rnÚ partitionÚrstripÚupperÚreserved_names)r+r8ÚnamerrrÚ is_reservedÏs "z_WindowsFlavour.is_reservedcCsd|j}t|ƒdkrJ|ddkrJ| ¡dd… d¡}d|t| d¡ƒfSdt| ¡ d¡ƒSdS)NrOr@rRrHz file:///%s/%szutf-8zfile:)ÚdriverUÚas_posixrWÚurlquote_from_bytesÚencode)r+ÚpathrvÚ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) NZ USERPROFILEZHOMEPATHZ HOMEDRIVEr-zCan't determine home directoryZUSERNAMErQú%Can't determine home directory for %rr@)ÚosÚenvironÚKeyErrorÚ RuntimeErrorr>r))r+ÚusernameÚuserhomer9r:r8rrrÚ gethomedirès*     ÿ z_WindowsFlavour.gethomedirN)rCrDrEr(r/Úhas_drvÚntpathÚpathmodr~rtÚ is_supportedÚsetrVZext_namespace_prefixrsr2rArcrlrSrur|r„rrrrrFrs*  ÿ þÿ '   rFc@sbeZdZdZdZdZeZej dkZ efdd„Z dd„Z d d „Z d d „Zd d„Zdd„Zdd„ZdS)Ú _PosixFlavourrHr-FrIcCsV|rH|d|krH| |¡}t|ƒt|ƒdkrz tjdWSty:ddl}| t ¡¡jYS0n6ddl}z| |¡jWStyrtd|ƒ‚Yn0dS)NÚHOMErr}) r~rr€ÚpwdÚgetpwuidÚgetuidÚpw_dirÚgetpwnamr�)r+r‚rŽrrrr„.s   ÿz_PosixFlavour.gethomedirN)rCrDrEr(r/r…Ú posixpathr‡r~rtrˆr2rArcrlrur|r„rrrrrŠs  rŠc@s eZdZdS)Ú _AccessorN)rCrDrErrrrr”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+ZpathobjÚmoderrrr–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+ÚsrcZdstÚtarget_is_directoryrrrržosz_NormalAccessor.symlinkcCs t |¡Sr')r~Úreadlink©r+rzrrrr¡usz_NormalAccessor.readlinkcCs>zddl}| | |¡j¡jWSty8tdƒ‚Yn0dS)Nrz*Path.owner() is unsupported on this system)rŽr�ÚstatÚst_uidZpw_nameÚ ImportErrorr˜)r+rzrŽrrrÚownerxs  z_NormalAccessor.ownercCs>zddl}| | |¡j¡jWSty8tdƒ‚Yn0dS)Nrz*Path.group() is unsupported on this system)ÚgrpZgetgrgidr£Úst_gidZgr_namer¥r˜)r+rzr§rrrÚgroups  z_NormalAccessor.groupN)F)rCrDrEr~r£ÚlstatÚopenÚlistdirÚscandirÚchmodÚhasattrr–ÚmkdirÚunlinkršr�Ú staticmethodÚrmdirÚrenamer1ržÚutimer¡r¦r©ÚgetcwdrzÚ expanduserÚrealpathrrrrr•Gs8      r•cCsR|d}|dd…}|dkr"t}n$d|vr4tdƒ‚nt|ƒrBt}nt}||||ƒS)Nrr@ú**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¿rrrr,©s  z_Selector.__init__cCs<t|ƒ}|j}|j}|jj}||ƒs,tgƒS| ||||¡Sr')ÚtypeÚis_dirÚexistsÚ _accessorr­ÚiterÚ _select_from)r+Ú parent_pathZpath_clsrÊrËr­rrrÚ select_from²sz_Selector.select_fromN)rCrDrEr,rÐrrrrrÄ¥s rÄc@seZdZdd„ZdS)rÈccs |VdSr'r)r+rÏrÊrËr­rrrrÎÀsz!_TerminatingSelector._select_fromN)rCrDrErÎrrrrrȾsrÈc@seZdZdd„Zdd„ZdS)r½cCs||_t |||¡dSr')rtrÄr,)r+rtrÀr¿rrrr,Æsz_PreciseSelector.__init__ccsZz@| |j¡}|jr|n||ƒr>|j ||||¡D] }|Vq2WntyTYdS0dSr')Ú_make_child_relpathrtrÇrÆrÎÚPermissionError)r+rÏrÊrËr­rzr`rrrrÎÊs   z_PreciseSelector._select_fromN©rCrDrEr,rÎrrrrr½Äsr½c@seZdZdd„Zdd„ZdS)r¼cCs| |¡|_t |||¡dSr')rlÚmatchrÄr,©r+r$rÀr¿rrrr,Ö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 rtrÔrÑrÆrÎrÒ) r+rÏrÊrËr­Ú scandir_itÚentriesÚentryÚertrzr`rrrrÎÚs& &"   z_WildcardSelector._select_fromNrÓrrrrr¼Ôsr¼c@s$eZdZdd„Zdd„Zdd„ZdS)rºcCst |||¡dSr')rÄr,rÕrrrr,õ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árCr*rrrÚ__repr__7sz_PathParents.__repr__N)rCrDrEÚ __slots__r,rårérërrrrrà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)rârãräÚ_strÚ_hashÚ_ppartsÚ_cached_cpartscGs$|turtjdkrtnt}| |¡S)NrI)rr~rtrrÚ _from_parts)rÁÚargsrrrÚ__new__IszPurePath.__new__cCs|jt|jƒfSr')Ú __class__Útuplerär*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) Ú isinstancerrär~ÚfspathÚstrr4Ú TypeErrorrÉÚ_flavourr>)rÁròr8ÚarrrÚ _parse_argsXs    þÿzPurePath._parse_argsTcCs<t |¡}| |¡\}}}||_||_||_|r8| ¡|Sr')ÚobjectrórýrârãräÚ_init)rÁròÚinitr+r9r:r8rrrrñls zPurePath._from_partscCs,t |¡}||_||_||_|r(| ¡|Sr')rþrórârãrärÿ)rÁr9r:r8rr+rrrrçys zPurePath._from_parsed_partscCs4|s|r$|||j |dd…¡S|j |¡SdSr?)rûr))rÁr9r:r8rrrÚ_format_parsed_partsƒszPurePath._format_parsed_partscCsdSr'rr*rrrrÿŠszPurePath._initcCs@| |¡\}}}|j |j|j|j|||¡\}}}| |||¡Sr')rýrûrBrârãrärç)r+ròr9r:r8rrrÚ _make_childŽs ÿ zPurePath._make_childcCs@z|jWSty:| |j|j|j¡p,d|_|jYS0dS)Nr.)ríÚAttributeErrorrrârãrär*rrrÚ__str__”s  ÿÿzPurePath.__str__cCst|ƒSr')rùr*rrrÚ __fspath__žszPurePath.__fspath__cCs|j}t|ƒ |jd¡S)NrH)rûrùr1r(©r+Úfrrrrw¡szPurePath.as_posixcCs t |¡Sr')r~Úfsencoder*rrrÚ __bytes__§szPurePath.__bytes__cCsd |jj| ¡¡S)Nz{}({!r}))rêrôrCrwr*rrrrë¬szPurePath.__repr__cCs| ¡stdƒ‚|j |¡S)Nz.relative path can't be expressed as a file URI)Ú is_absoluter»rûr|r*rrrÚas_uri¯szPurePath.as_uricCs6z|jWSty0|j |j¡|_|jYS0dSr')rðrrûrcrär*rrrÚ_cpartsµs  zPurePath._cpartscCs&t|tƒstS|j|jko$|j|juSr')r÷rÚNotImplementedr rû©r+ÚotherrrrÚ__eq__¾s zPurePath.__eq__cCs6z|jWSty0tt|jƒƒ|_|jYS0dSr')rîrÚhashrõr r*rrrÚ__hash__Ãs  zPurePath.__hash__cCs&t|tƒr|j|jurtS|j|jkSr'©r÷rrûr r rrrrÚ__lt__ÊszPurePath.__lt__cCs&t|tƒr|j|jurtS|j|jkSr'rrrrrÚ__le__ÏszPurePath.__le__cCs&t|tƒr|j|jurtS|j|jkSr'rrrrrÚ__gt__ÔszPurePath.__gt__cCs&t|tƒr|j|jurtS|j|jkSr'rrrrrÚ__ge__ÙszPurePath.__ge__cCs|Sr'r)rÁrÉrrrÚ__class_getitem__ÞszPurePath.__class_getitem__râz.The drive prefix (letter or UNC path), if any.)ÚdocrãzThe root of the path, if any.cCs|j|j}|Sr')rârã)r+Úanchorrrrrçs zPurePath.anchorcCs.|j}t|ƒ|js|jrdndkr&dS|dS)Nr@rr-rQ)rärUrârãrbrrrrtísz PurePath.namecCsD|j}| d¡}d|kr,t|ƒdkr.r@)rtÚendswithrWr3©r+rtrrrÚsuffixess   zPurePath.suffixescCsD|j}| d¡}d|kr,t|ƒdkrr(r/rUrçrârãrä)r+rtr9r:r8rrrÚ with_namesÿÿ ÿ  ÿzPurePath.with_namecCs| ||j¡Sr')r%r)r+r#rrrÚ with_stem%szPurePath.with_stemcCs´|j}|j|vs |jr.|j|vr.td|fƒ‚|r<| d¡rD|dkrPtd|ƒ‚|j}|shtd|fƒ‚|j}|s|||}n|dt|ƒ …|}| |j |j |j dd…|g¡S)NzInvalid suffix %rr.r$rQ) rûr(r/r»rnrtrrUrçrârãrä)r+rrrtZ old_suffixrrrÚ with_suffix)s   ÿzPurePath.with_suffixc Gsì|s tdƒ‚|j}|j}|j}|r8||g|dd…}n|}| |¡\}}}|rf||g|dd…} n|} t| ƒ} |jj} | dkrŒ|s¤|rÊn| |d| …ƒ| | ƒkrÊ| |||¡} t d  t |ƒt | ƒ¡ƒ‚|  d| dkrÜ|nd|| d…¡S)Nzneed at least one argumentr@rzU{!r} is not in the subpath of {!r} OR one path is relative and the other is absolute.r-) rúrärârãrýrUrûrcrr»rêrùrç) r+rr8r9r:Z abs_partsZto_drvZto_rootZto_partsZ to_abs_partsÚnÚcfZ formattedrrrÚ relative_to>s, * þ ÿzPurePath.relative_tocGs*z|j|ŽWdSty$YdS0dSrÅ)r*r»rrrrÚis_relative_to_s   zPurePath.is_relative_tocCs2z|jWSty,t|jƒ|_|jYS0dSr')rïrrõrär*rrrr8hs   zPurePath.partscGs | |¡Sr')r)r+ròrrrÚjoinpathtszPurePath.joinpathcCs*z| |f¡WSty$tYS0dSr')rrúr ©r+ÚkeyrrrÚ __truediv__|s zPurePath.__truediv__cCs0z| |g|j¡WSty*tYS0dSr')rñrärúr r-rrrÚ __rtruediv__‚s zPurePath.__rtruediv__cCs@|j}|j}|j}t|ƒdkr*|s&|r*|S| |||dd…¡S)Nr@rQ)rârãrärUrç)r+r9r:r8rrrÚparentˆs zPurePath.parentcCst|ƒSr')ràr*rrrÚparents’szPurePath.parentscCs|js dS|jj pt|jƒSr‹)rãrûr…Úboolrâr*rrrr —szPurePath.is_absolutecCs|j |j¡Sr')rûrurär*rrrruž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 patternFr@T) rûrAr>r»rârãr rUÚzipr0rfZ fnmatchcase) r+Z path_patternr)r9r:Z pat_partsr8r<r$rrrrÔ£s( zPurePath.matchN)T)T)2rCrDrErìróröÚ classmethodrýrñrçrrÿrrrrwr rër Úpropertyr rrrrrrrrrvr:rrtrr"r#r%r&r'r*r+r8r,r/r0r1r2r rurÔrrrrr;sz        ÿÿ      !    rc@seZdZeZdZdS)rrN)rCrDrEÚ_posix_flavourrûrìrrrrrÁsrc@seZdZeZdZdS)rrN)rCrDrEÚ_windows_flavourrûrìrrrrrË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)NrIF©rz$cannot instantiate %r on your system) rr~rtrrrñrûrˆr˜rCrÿ)rÁròÚkwargsr+rrrróåsÿz Path.__new__NcCs|dur|j|_nt|_dSr')rÌÚ_normal_accessor)r+Útemplaterrrrÿïs z Path._initcCs|j|g}| |j|j|¡Sr')rärçrârã)r+r<r8rrrrÑø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+rtÚflagsr™rrrÚ_opener sz Path._openeréÿcCs|j |||¡Sr'rC)r+rDr™rrrÚ _raw_openszPath._raw_opencCs |t ¡ƒSr')r~r¶©rÁrrrÚcwdszPath.cwdcCs||ƒj d¡ƒSr')rûr„rHrrrÚhome sz Path.homecCsB| ¡}z | ¡}Wnty2|j |¡}Yn0tj ||¡Sr')r£rrÌr~rzÚsamestat)r+Z other_pathÚstZother_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) r5Úauditr»rêrûr>r˜rÂrõrЩr+rkr9r:r¾Zselectorr`rrrÚglob<sz Path.globccs`t d||¡|j |f¡\}}}|s*|r2tdƒ‚tdt|ƒ|jƒ}| |¡D] }|VqPdS)Nzpathlib.Path.rglobrO)r¹)r5rPrûr>r˜rÂrõrÐrQrrrÚrglobJsz Path.rglobcCs6| ¡r |S|jt ¡g|jdd�}|j|d�|S©NFr9)r<)r rñr~r¶rärÿ)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×rñr£)r+rZrYr_rÛr`rrrÚresolvegs  z Path.resolvecCs |j |¡Sr')rÌr£r*rrrr£ƒsz Path.statcCs |j |¡Sr')rÌr¦r*rrrr¦Šsz Path.ownercCs |j |¡Sr')rÌr©r*rrrr©�sz Path.groupÚrrQc Cstj|||||||jd�S)N)Zopener)Úior«rE)r+r™Ú bufferingÚencodingÚerrorsÚnewlinerrrr«–sÿz Path.opencCs8|jdd��}| ¡WdƒS1s*0YdS)NÚrb©r™©r«ÚreadrrrrÚ read_bytesŸszPath.read_bytescCs<|jd||d��}| ¡WdƒS1s.0YdS)Nr\©r™r_r`rd)r+r_r`rrrrÚ read_text¦szPath.read_textcCsBt|ƒ}|jdd��}| |¡WdƒS1s40YdS)NÚwbrc)Ú memoryviewr«Úwrite)r+ÚdataZviewrrrrÚ write_bytes­szPath.write_bytescCsXt|tƒstd|jjƒ‚|jd||d��}| |¡WdƒS1sJ0YdS)Nzdata must be str, not %sÚwrg)r÷rùrúrôrCr«rk)r+rlr_r`rrrrÚ write_text¶s  ÿzPath.write_textcCs,|j |¡}|j|fdd�}|j|d�|SrT)rÌr¡rñrÿ)r+rzrUrrrr¡Às  z Path.readlinkTcCsb|r.z|j |d¡Wnty(Yn0dStjtjB}|sH|tjO}| ||¡}t |¡dSr') rÌrµr×r~ÚO_CREATÚO_WRONLYÚO_EXCLrGÚclose)r+r™Úexist_okrDÚfdrrrÚtouchÉs    z Path.touchcCsxz|j ||¡Wn`tyT|r.|j|kr0‚|jjddd�|j|d|d�Yn tyr|rl| ¡sn‚Yn0dS)NT)r2rtF)rÌr°ÚFileNotFoundErrorr1r×rÊ)r+r™r2rtrrrr°Þs   z Path.mkdircCs|j ||¡dSr')rÌr®©r+r™rrrr®ïsz Path.chmodcCs|j ||¡dSr')rÌr–rxrrrr–õsz Path.lchmodcCs.z|j |¡Wnty(|s$‚Yn0dSr')rÌr±rw)r+Z missing_okrrrr±üs  z Path.unlinkcCs|j |¡dSr')rÌr³r*rrrr³sz Path.rmdircCs |j |¡Sr')rÌrªr*rrrrª sz Path.lstatcCs|j ||¡| |¡Sr')rÌr´rôr›rrrr´s z Path.renamecCs|j ||¡| |¡Sr')rÌr1rôr›rrrr1!s z Path.replacecCs|j |||¡dSr')rÌrž)r+rœr rrrÚ symlink_to.szPath.symlink_tocCs|j ||¡dSr')rÌr�r›rrrr�5s z Path.link_toc CsTz | ¡WnBty<}zt|ƒs&‚WYd}~dSd}~0tyNYdS0dS©NFT)r£r×r r»©r+rÛrrrrËCs  z Path.existsc CsXzt| ¡jƒWSty@}zt|ƒs*‚WYd}~dSd}~0tyRYdS0dSr‹)r r£Úst_moder×r r»r{rrrrÊ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}||kSrz)rËrÊr1r£Úst_devr×Úst_ino)r+Z parent_devZdevZinoZ parent_inorrrÚis_mountss    z Path.is_mountc CsXzt| ¡jƒWSty@}zt|ƒs*‚WYd}~dSd}~0tyRYdS0dSr‹)r rªr|r×r r»r{rrrr܇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)Nrr@ú~)rârãrärûr„rñ)r+Zhomedirrrrr·Ös ÿÿzPath.expanduser)N)rB)rF)F)r\rQNNN)NN)NN)rBT)rFFF)F)F)2rCrDrErìrórÿrÑr=rArErGr5rIrJrMrNrRrSrVr[r£r¦r©r«rfrhrmror¡rvr°r®r–r±r³rªr´r1ryr�rËrÊr}r€rÜr�r‚rƒr„r·rrrrrØsf  þ         ÿ        rc@seZdZdZdS)rrN)rCrDrErìrrrrrâsrc@seZdZdZdd„ZdS)rrcCs tdƒ‚dS)Nz-Path.is_mount() is unsupported on this systemr—r*rrrr€ðszWindowsPath.is_mountN)rCrDrErìr€rrrrrésr)@rfÚ functoolsr]r†r~r“rdr5Ú_collections_abcrrrrrrrÚoperatorrr£r r r r r rrZ urllib.parserrxZsupports_symlinksÚ__all__Z_WINERROR_NOT_READYZ_WINERROR_INVALID_NAMErWrrr r%rþr&rFrŠr8r7r”r•r;rÂr¯rÃrÄrÈr½r¼rºràrÚPathLikeÚregisterrrrrrrrrrÚsp  $   ý?9F  ,