o 0¦i§Áã@s4ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl m Z ddl m Z m Z mZmZmZddlmZddlmZmZmZmZmZmZmZddlmZgd¢ZdZd Z d Z!e eeefZ"ee e!fZ#d d „Z$d d„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ƒr²e 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ƒZGd2d3„d3e=e<ƒZ?dS)4éN)ÚSequence)ÚEINVALÚENOENTÚENOTDIRÚEBADFÚELOOP)Ú attrgetter)ÚS_ISDIRÚS_ISLNKÚS_ISREGÚS_ISSOCKÚS_ISBLKÚS_ISCHRÚS_ISFIFO)Úquote_from_bytes)Ú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/python310/lib64/python3.10/pathlib.pyÚ _ignore_error&sÿr cCsd|vp d|vp d|vS)NÚ*ú?ú[r)ÚpatrrrÚ_is_wildcard_pattern+sr%c@s&eZdZ dd„Zdd„Zdd„ZdS)Ú_FlavourcCs|jj|_dS©N)ÚsepÚjoin©ÚselfrrrÚ__init__5óz_Flavour.__init__c Csg}|j}|j}d}}t|ƒ}|D]c}|sq|r| ||¡}| |¡\}}} || vrDt|  |¡ƒD]} | rB| dkrB| t | ¡¡q2n| rR| dkrR| t | ¡¡|sV|ru|ss|D]}|s_qZ|rg| ||¡}| |¡d}|rrnqZnq|sz|r�| ||¡|  ¡|||fS)NÚÚ.r) r(ÚaltsepÚreversedÚreplaceÚ splitrootÚsplitÚappendÚsysÚinternÚreverse) r+ÚpartsZparsedr(r0ÚdrvÚrootÚitÚpartZrelÚxrrrÚ parse_parts8sH  €þ  ÿó z_Flavour.parse_partscCs| |r|s|r||||g|dd…fSn#|r2||ks&| |¡| |¡kr1||||dd…fSn||||fS|||fS©Né)Úcasefold)r+r:r;r9Zdrv2Zroot2Zparts2rrrÚjoin_parsed_parts^s€þ z_Flavour.join_parsed_partsN)Ú__name__Ú __module__Ú __qualname__r,r?rCrrrrr&1s  &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„ZdS)Ú_WindowsFlavourú\ú/TÚntZ4abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZz\\?\>zCONIN$zCONOUT$ZAUXZPRNZNULZCONcCóh|]}d|’qS)zCOM%sr©Ú.0ÚcrrrÚ €óz_WindowsFlavour.u123456789¹²³cCrK)zLPT%srrLrrrrO�rPc CsV|dd…}|dd…}||kr(||kr(| |¡\}}|dd…}|dd…}nd}|dd…}||kr~||kr~||kr~| |d¡}|dkr~| ||d¡}||dkr~|dkr\t|ƒ}|ro||d|…|||dd…fS|d|…|||dd…fSd} } |dkr™||jvr™|dd…} |dd…}|}||kr¤|} | |¡}|| | |fS)NrrAér.ééÿÿÿÿú:)Ú_split_extended_pathÚfindÚlenÚ drive_lettersÚlstrip) r+r=r(ÚfirstÚsecondÚprefixZthirdÚindexZindex2r:r;rrrr3“s6      "   z_WindowsFlavour.splitrootcCs| ¡Sr'©Úlower©r+ÚsrrrrBºóz_WindowsFlavour.casefoldcCsdd„|DƒS)NcSsg|]}| ¡‘qSrr^)rMÚprrrÚ ¾rPz2_WindowsFlavour.casefold_parts..r©r+r9rrrÚcasefold_parts½r-z_WindowsFlavour.casefold_partscCst t |¡tj¡jSr')ÚreÚcompileÚfnmatchÚ translateÚ IGNORECASEÚ fullmatch©r+ÚpatternrrrÚcompile_patternÀsz_WindowsFlavour.compile_patterncCsXd}| |¡r(|dd…}|dd…}| d¡r(||dd…7}d|dd…}||fS)Nr.ézUNC\rRrH)Ú startswith)r+raZ ext_prefixr\rrrrUÃs    z$_WindowsFlavour._split_extended_pathcCsJ|sdS|d d¡r dS|d d¡d d¡d d¡}| ¡|jvS)NFrz\\rSr/rTú )rqÚ partitionÚrstripÚupperÚreserved_names)r+r9ÚnamerrrÚ is_reservedÍs "z_WindowsFlavour.is_reservedcCs`|j}t|ƒdkr%|ddkr%| ¡dd… d¡}d|t| d¡ƒfSdt| ¡ d¡ƒS)NrQrArTrIz file:///%s/%szutf-8zfile:)ÚdriverWÚas_posixrYÚurlquote_from_bytesÚencode)r+ÚpathryÚrestrrrÚmake_uriÚsÿz_WindowsFlavour.make_uriN)rDrErFr(r0Úhas_drvÚntpathÚpathmodÚosrwÚ is_supportedÚsetrXZext_namespace_prefixrvr3rBrfrorUrxrrrrrrGps*  ÿ þÿ '  rGc@sZeZdZdZdZdZeZej dkZ efdd„Z dd„Z d d „Z d d „Zd d„Zdd„ZdS)Ú _PosixFlavourrIr.FrJcCsP|r#|d|kr#| |¡}t|ƒt|ƒdkrd|d|fSd||fSdd|fS)NrrQr.)rYrW)r+r=r(Z stripped_partrrrr3ïs    z_PosixFlavour.splitrootcCó|Sr'rr`rrrrBþóz_PosixFlavour.casefoldcCr‡r'rrerrrrfrˆz_PosixFlavour.casefold_partscCst t |¡¡jSr')rgrhrirjrlrmrrrroóz_PosixFlavour.compile_patterncCsdS©NFrrerrrrxrˆz_PosixFlavour.is_reservedcCst|ƒ}dt|ƒS)Nzfile://)Úbytesr{)r+r}Zbpathrrrr s z_PosixFlavour.make_uriN)rDrErFr(r0r€Ú posixpathr‚rƒrwr„r3rBrfrorxrrrrrr†çs   r†c@s eZdZdS)Ú _AccessorN)rDrErFrrrrr�sr�c@sÐeZdZejZejZejZejZej Z ej Z ej Z e edƒr"ej Z ndd„Z ejZejZejZe edƒr8ejZnddd„Zdd d „Ze ed ƒrKejZnd d„Zdd„Zdd„ZejZeejjƒZeejjƒZdS)Ú_NormalAccessorÚlinkcCótdƒ‚)Nz&os.link() not available on this system©ÚNotImplementedError)r+ÚsrcÚdstrrrr�-rbz_NormalAccessor.linkÚsymlinkFcCr�)Nz)os.symlink() not available on this systemr‘)r+r“r”Útarget_is_directoryrrrr•9rbz_NormalAccessor.symlinké¶TcCs`|rz t |d¡WdStyYnwtjtjB}|s"|tjO}t |||¡}t |¡dSr')rƒÚutimeÚOSErrorÚO_CREATÚO_WRONLYÚO_EXCLÚopenÚclose)r+r}ÚmodeÚexist_okÚflagsÚfdrrrÚtouch<s üþ  z_NormalAccessor.touchÚreadlinkcCr�)Nz*os.readlink() not available on this systemr‘©r+r}rrrr¤Qrbz_NormalAccessor.readlinkcCó6zddl}| | |¡j¡jWStytdƒ‚w)Nrz*Path.owner() is unsupported on this system)ÚpwdÚgetpwuidÚstatÚst_uidZpw_nameÚ ImportErrorr’)r+r}r§rrrÚownerTó  ÿz_NormalAccessor.ownercCr¦)Nrz*Path.group() is unsupported on this system)ÚgrpZgetgrgidr©Úst_gidZgr_namer«r’)r+r}r®rrrÚgroup[r­z_NormalAccessor.groupN©F©r—T)rDrErFrƒr©Úior�ÚlistdirÚscandirÚchmodÚmkdirÚunlinkÚhasattrr�ÚrmdirÚrenamer2r•r£r¤r¬r°ÚgetcwdÚ staticmethodr}Ú expanduserÚrealpathrrrrrŽs4      rŽcCsP|d}|dd…}|dkrt}nd|vrtdƒ‚t|ƒr t}nt}||||ƒS)NrrAú**z:Invalid pattern: '**' can only be an entire path component)Ú_RecursiveWildcardSelectorÚ ValueErrorr%Ú_WildcardSelectorÚ_PreciseSelector)Ú pattern_partsÚflavourr$Ú child_partsÚclsrrrÚ_make_selectorps  rÉÚ lru_cachec@seZdZ dd„Zdd„ZdS)Ú _SelectorcCs2||_|rt||ƒ|_d|_dStƒ|_d|_dS©NTF)rÇrÉÚ successorÚdironlyÚ_TerminatingSelector)r+rÇrÆrrrr,…s    z_Selector.__init__cCs> t|ƒ}|j}|j}|jj}||ƒstgƒS| ||||¡Sr')ÚtypeÚis_dirÚexistsÚ _accessorrµÚiterÚ _select_from)r+Ú parent_pathZpath_clsrÑrÒrµrrrÚ select_fromŽsz_Selector.select_fromN)rDrErFr,r×rrrrrË�s rËc@seZdZdd„ZdS)rÏccs �|VdSr'r)r+rÖrÑrÒrµrrrrÕœs€ z!_TerminatingSelector._select_fromN)rDrErFrÕrrrrrÏšs rÏc@óeZdZdd„Zdd„ZdS)rÄcCs||_t |||¡dSr')rwrËr,)r+rwrÇrÆrrrr,¢sz_PreciseSelector.__init__ccs`�z$| |j¡}|jr |n||ƒr |j ||||¡D]}|VqWdSWdSty/YdSwr')Ú_make_child_relpathrwrÎrÍrÕÚPermissionError)r+rÖrÑrÒrµr}rcrrrrÕ¦s€ þ ÿz_PreciseSelector._select_fromN©rDrErFr,rÕrrrrrÄ ó rÄc@rØ)rÃcCs| |¡|_t |||¡dSr')roÚmatchrËr,©r+r$rÇrÆrrrr,²s z_WildcardSelector.__init__c csÖ�z_||ƒ� }t|ƒ}Wdƒn1swY|D]A}|jrAz| ¡s(WqWnty@}z t|ƒs6‚WYd}~qd}~ww|j} | | ¡r]| | ¡} |j  | |||¡D]} | VqWqWdSt yjYdSwr') ÚlistrÎrÑr™r rwrÝrÙrÍrÕrÚ) r+rÖrÑrÒrµÚ scandir_itÚentriesÚentryÚerwr}rcrrrrÕ¶s6€  ÿÿ €ý  €ð ÿz_WildcardSelector._select_fromNrÛrrrrrðrÜrÃc@s$eZdZdd„Zdd„Zdd„ZdS)rÁcCst |||¡dSr')rËr,rÞrrrr,Ñr‰z#_RecursiveWildcardSelector.__init__c csÐ�|VzY||ƒ� }t|ƒ}Wdƒn1swY|D];}d}z| ¡}Wnty@}z t|ƒs6‚WYd}~nd}~ww|rZ| ¡sZ| |j¡} | | ||¡D]} | VqTqWdStygYdSwrŠ) rßrÑr™r Ú is_symlinkrÙrwÚ_iterate_directoriesrÚ) r+rÖrÑrµràrárâZ entry_is_dirrãr}rcrrrråÔs2€  ÿ  ÿ€ÿ  €ö ÿz/_RecursiveWildcardSelector._iterate_directoriesc cs‚�z5tƒ}z,|jj}| |||¡D]}|||||ƒD]}||vr(|V| |¡qqW| ¡WdS| ¡wty@YdSwr')r…rÍrÕråÚaddÚclearrÚ) r+rÖrÑrÒrµZyieldedZsuccessor_selectZstarting_pointrcrrrrÕçs"€ €ýÿ ÿz'_RecursiveWildcardSelector._select_fromN)rDrErFr,rårÕrrrrrÁÏs rÁc@s2eZdZ dZdd„Zdd„Zdd„Zdd „Zd S) Ú _PathParents)Ú_pathclsÚ_drvÚ_rootÚ_partscCs&t|ƒ|_|j|_|j|_|j|_dSr')rÐrérêrërìr¥rrrr,s  z_PathParents.__init__cCs$|js|jr t|jƒdSt|jƒSr@)rêrërWrìr*rrrÚ__len__s  z_PathParents.__len__csˆt|tƒrt‡fdd„t| tˆƒ¡ŽDƒƒS|tˆƒks$|tˆƒ kr(t|ƒ‚|dkr2|tˆƒ7}ˆj ˆj ˆj ˆj d| d…¡S)Nc3s�|]}ˆ|VqdSr'r)rMÚir*rrÚ s€z+_PathParents.__getitem__..rrA) Ú isinstanceÚsliceÚtupleÚrangeÚindicesrWÚ IndexErrorréÚ_from_parsed_partsrêrërì)r+Úidxrr*rÚ __getitem__ s $ ÿz_PathParents.__getitem__cCsd |jj¡S)Nz <{}.parents>)ÚformatrérDr*rrrÚ__repr__r-z_PathParents.__repr__N)rDrErFÚ __slots__r,rírørúrrrrrèûs rèc@s¦eZdZ dZdd„Zdd„Zedd„ƒZedd „ƒZed d „ƒZ ed d „ƒZ dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„Zedd„ƒZdd„Zd d!„Zd"d#„Zd$d%„Zd&d'„Zd(d)„Zd*d+„Zeed,ƒd-d.�Zeed/ƒd0d.�Zed1d2„ƒZed3d4„ƒZed5d6„ƒZ ed7d8„ƒZ!ed9d:„ƒZ"d;d<„Z#d=d>„Z$d?d@„Z%dAdB„Z&dCdD„Z'edEdF„ƒZ(dGdH„Z)dIdJ„Z*dKdL„Z+edMdN„ƒZ,edOdP„ƒZ-dQdR„Z.dSdT„Z/dUdV„Z0dWS)Xr)rêrërìÚ_strÚ_hashÚ_ppartsÚ_cached_cpartscGs& |turtjdkr tnt}| |¡S)NrJ)rrƒrwrrÚ _from_parts)rÈÚargsrrrÚ__new__*s zPurePath.__new__cCs|jt|jƒfSr')Ú __class__ròrìr*rrrÚ __reduce__4szPurePath.__reduce__cCsbg}|D]&}t|tƒr||j7}qt |¡}t|tƒr#| t|ƒ¡qtdt|ƒƒ‚|j   |¡S)NzNargument should be a str object or an os.PathLike object returning str, not %r) rðrrìrƒÚfspathÚstrr5Ú TypeErrorrÐÚ_flavourr?)rÈrr9ÚarrrÚ _parse_args9s    þÿ zPurePath._parse_argscCs0t |¡}| |¡\}}}||_||_||_|Sr')Úobjectrr rêrërì)rÈrr+r:r;r9rrrrMs zPurePath._from_partscCs t |¡}||_||_||_|Sr')r rrêrërì)rÈr:r;r9r+rrrröXs zPurePath._from_parsed_partscCs0|s|r|||j |dd…¡S|j |¡Sr@)rr))rÈr:r;r9rrrÚ_format_parsed_parts`s zPurePath._format_parsed_partscCs@| |¡\}}}|j |j|j|j|||¡\}}}| |||¡Sr')r rrCrêrërìrö)r+rr:r;r9rrrÚ _make_childgs  ÿzPurePath._make_childcCs> z|jWSty| |j|j|j¡pd|_|jYSw)Nr/)rüÚAttributeErrorr rêrërìr*rrrÚ__str__ms  ÿÿ ýzPurePath.__str__cCst|ƒSr')rr*rrrÚ __fspath__wrbzPurePath.__fspath__cCs |j}t|ƒ |jd¡S)NrI)rrr2r(©r+ÚfrrrrzzszPurePath.as_posixcCs t |¡Sr')rƒÚfsencoder*rrrÚ __bytes__€s zPurePath.__bytes__cCsd |jj| ¡¡S)Nz{}({!r}))rùrrDrzr*rrrrú…szPurePath.__repr__cCs | ¡s tdƒ‚|j |¡S)Nz.relative path can't be expressed as a file URI)Ú is_absoluterÂrrr*rrrÚas_uriˆs zPurePath.as_uricCs2z|jWSty|j |j¡|_|jYSwr')rÿrrrfrìr*rrrÚ_cpartsŽs   þzPurePath._cpartscCs&t|tƒstS|j|jko|j|juSr')rðrÚNotImplementedrr©r+ÚotherrrrÚ__eq__—s zPurePath.__eq__cCs2z|jWStytt|jƒƒ|_|jYSwr')rýrÚhashròrr*rrrÚ__hash__œs   þzPurePath.__hash__cCs&t|tƒr |j|jur tS|j|jkSr'©rðrrrrrrrrÚ__lt__£ó zPurePath.__lt__cCs&t|tƒr |j|jur tS|j|jkSr'rrrrrÚ__le__¨r zPurePath.__le__cCs&t|tƒr |j|jur tS|j|jkSr'rrrrrÚ__gt__­r zPurePath.__gt__cCs&t|tƒr |j|jur tS|j|jkSr'rrrrrÚ__ge__²r zPurePath.__ge__cCó|Sr'r)rÈrÐrrrÚ__class_getitem__·rˆzPurePath.__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.anchorcCs0 |j}t|ƒ|js |jrdndkrdS|dS)NrArr.rS)rìrWrêrërerrrrwÆs z PurePath.namecCsD |j}| d¡}d|krt|ƒdkr ndS||d…SdS)Nr/rrAr.©rwÚrfindrW©r+rwrîrrrÚsuffixÎs  þzPurePath.suffixcCs< |j}| d¡r gS| d¡}dd„| d¡dd…DƒS)Nr/cSsg|]}d|‘qS)r/r)rMr+rrrrdçrPz%PurePath.suffixes..rA)rwÚendswithrYr4©r+rwrrrÚsuffixesÜs   zPurePath.suffixescCsD |j}| d¡}d|krt|ƒdkr n|S|d|…S|S)Nr/rrAr(r*rrrÚstemés  þz PurePath.stemcCsˆ |js td|fƒ‚|j |f¡\}}}|r-|d|jj|jjfvs-|s-|s-t|ƒdkr3td|ƒ‚| |j|j |j dd…|g¡S)Nú%r has an empty namerSrAzInvalid name %r) rwrÂrr?r(r0rWrörêrërì)r+rwr:r;r9rrrÚ with_nameósÿÿ   ÿzPurePath.with_namecCs | ||j¡Sr')r1r+)r+r/rrrÚ with_stemþszPurePath.with_stemcCs¶ |j}|j|vs|jr|j|vrtd|fƒ‚|r| d¡r#|dkr)td|ƒ‚|j}|s5td|fƒ‚|j}|s?||}n |dt|ƒ …|}| |j |j |j dd…|g¡S)NzInvalid suffix %rr/r0rS) rr(r0rÂrqrwr+rWrörêrërì)r+r+rrwZ old_suffixrrrÚ with_suffixs    ÿzPurePath.with_suffixc Gsî |stdƒ‚|j}|j}|j}|r||g|dd…}n|}| |¡\}}}|r4||g|dd…} n|} t| ƒ} |jj} | dkrG|sF|rfn | |d| …ƒ| | ƒkrf| |||¡} t d  t |ƒt | ƒ¡ƒ‚|  d| dkro|nd|| d…¡S)Nzneed at least one argumentrArzU{!r} is not in the subpath of {!r} OR one path is relative and the other is absolute.r.) rrìrêrër rWrrfr rÂrùrrö) r+rr9r:r;Z abs_partsZto_drvZto_rootZto_partsZ to_abs_partsÚnÚcfZ formattedrrrÚ relative_tos2€þ ÿzPurePath.relative_tocGs( z|j|ŽWdStyYdSwrÌ)r6rÂrrrrÚis_relative_to8s  ÿzPurePath.is_relative_tocCs0 z|jWStyt|jƒ|_|jYSwr')rþrròrìr*rrrr9As   þzPurePath.partscGs | |¡Sr')r )r+rrrrÚjoinpathMs zPurePath.joinpathcCs&z| |f¡WStytYSwr')r rr©r+ÚkeyrrrÚ __truediv__Us  ÿzPurePath.__truediv__cCs,z | |g|j¡WStytYSwr')rrìrrr9rrrÚ __rtruediv__[s  ÿzPurePath.__rtruediv__cCsB |j}|j}|j}t|ƒdkr|s|r|S| |||dd…¡S)NrArS)rêrërìrWrö)r+r:r;r9rrrÚparentaszPurePath.parentcCs t|ƒSr')rèr*rrrÚparentskszPurePath.parentscCs |jsdS|jj pt|jƒSrŠ)rërr€Úboolrêr*rrrrpszPurePath.is_absolutecCs |j |j¡Sr')rrxrìr*rrrrxwszPurePath.is_reservedc CsÔ |jj}||ƒ}|j |f¡\}}}|stdƒ‚|r$|||jƒkr$dS|r/|||jƒkr/dS|j}|s6|rGt|ƒt|ƒkr@dS|dd…}n t|ƒt|ƒkrQdStt |ƒt |ƒƒD] \}}t   ||¡sgdSqZdS)Nz empty patternFrAT) rrBr?rÂrêrërrWÚzipr1riZ fnmatchcase) r+Z path_patternr5r:r;Z pat_partsr9r=r$rrrrÝ|s, ÿzPurePath.matchN)1rDrErFrûrrÚ classmethodr rrör r rrrzrrúrÚpropertyrrrrr!r"r#r%rryr;r'rwr+r.r/r1r2r3r6r7r9r8r;r<r=r>rrxrÝrrrrrs|       ÿÿ       !     rc@óeZdZ eZdZdS)rrN)rDrErFÚ_posix_flavourrrûrrrrršórc@rC)rrN)rDrErFÚ_windows_flavourrrûrrrrr¤rErc@s–eZdZ eZdZdd„Zdd„Zdd„Zdd „Z e d d „ƒZ e d d „ƒZ dd„Z dd„Zdd„Zdd„Zdd„Zd`dd„Zddœdd„Zdd „Zd!d"„Z % %dad&d'„Zd(d)„Zdbd*d+„Zd,d-„Zdcd.d/„Zd0d1„Zddd3d4„Zded6d7„Zddœd8d9„Zd:d;„Zd`dd?„Z!d@dA„Z"dBdC„Z#dDdE„Z$d`dFdG„Z%dHdI„Z&dJdK„Z'dLdM„Z(dNdO„Z)dPdQ„Z*dRdS„Z+dTdU„Z,dVdW„Z-dXdY„Z.dZd[„Z/d\d]„Z0d^d_„Z1d%S)frrcOs@|tur tjdkr tnt}| |¡}|jjstd|j fƒ‚|S)NrJz$cannot instantiate %r on your system) rrƒrwrrrrr„r’rD)rÈrÚkwargsr+rrrr½s ÿz Path.__new__cCs|j|g}| |j|j|¡Sr')rìrörêrë)r+r=r9rrrrÙÆs zPath._make_child_relpathcCr$r'rr*rrrÚ __enter__ÌrˆzPath.__enter__cCsdSr'r)r+ÚtÚvÚtbrrrÚ__exit__Ïs z Path.__exit__cCs ||j ¡ƒSr')rÓr¼©rÈrrrÚcwdÜszPath.cwdcCs |dƒ ¡S)Nú~)r¾rMrrrÚhomeãs z Path.homecCsD | ¡}z| ¡}Wnty|j |¡}Ynwtj ||¡Sr')r©rrÓrƒr}Úsamestat)r+Z other_pathÚstZother_strrrÚsamefileês  ÿz Path.samefileccs0� |j |¡D] }|dvrq| |¡VqdS)N>r/z..)rÓr´rÙr-rrrÚiterdirõs€üz Path.iterdirccsr� t d||¡|std |¡ƒ‚|j |f¡\}}}|s |r$tdƒ‚tt|ƒ|jƒ}|  |¡D]}|Vq1dS)Nzpathlib.Path.globzUnacceptable pattern: {!r}ú%Non-relative patterns are unsupported) r6ÚauditrÂrùrr?r’rÉròrשr+rnr:r;rÅZselectorrcrrrÚglobÿs€ÿz Path.globccsd� t d||¡|j |f¡\}}}|s|rtdƒ‚tdt|ƒ|jƒ}| |¡D]}|Vq*dS)Nzpathlib.Path.rglobrU)rÀ)r6rVrr?r’rÉròr×rWrrrÚrglob s€ÿz Path.rglobcCs& | ¡r|S| |j ¡g|j¡Sr')rrrÓr¼rìr*rrrÚabsolutesz Path.absoluteFc Cs” dd„}z |jj||d�}Wnty }z||ƒ‚d}~ww| |f¡}|sHz| ¡W|StyG}z ||ƒWYd}~|Sd}~ww|S)NcSs0t|ddƒ}|jtks|tkrtd|jƒ‚dS)NrrzSymlink loop from %r)rrrÚ_WINERROR_CANT_RESOLVE_FILENAMEÚ RuntimeErrorÚfilename)rãrrrrÚ check_eloop/s ÿz!Path.resolve..check_eloop)Ústrict)rÓr¿r™rr©)r+r_r^rarãrcrrrÚresolve(s(€þ  þ€þz Path.resolveT©Úfollow_symlinkscCs |jj||d�S©Nra)rÓr©)r+rbrrrr©Dsz Path.statcCó |j |¡Sr')rÓr¬r*rrrr¬Kó z Path.ownercCrdr')rÓr°r*rrrr°Qrez Path.groupÚrrSNcCs* d|vr t |¡}|j ||||||¡S)NÚb)r³Ú text_encodingrÓr�)r+rŸÚ bufferingÚencodingÚerrorsÚnewlinerrrr�Ws  ÿz Path.opencCs: |jdd�� }| ¡WdƒS1swYdS)NÚrb©rŸ)r�ÚreadrrrrÚ read_bytesbs$ÿzPath.read_bytescCsH t |¡}|jd||d�� }| ¡WdƒS1swYdS)Nrf)rŸrjrk)r³rhr�ro)r+rjrkrrrrÚ read_textis  $ÿzPath.read_textcCsD t|ƒ}|jdd�� }| |¡WdƒS1swYdS)NÚwbrn)Ú memoryviewr�Úwrite)r+ÚdataZviewrrrrÚ write_bytesqs $ÿzPath.write_bytescCsf t|tƒstd|jjƒ‚t |¡}|jd|||d�� }| |¡WdƒS1s,wYdS)Nzdata must be str, not %sÚw)rŸrjrkrl) rðrrrrDr³rhr�rt)r+rurjrkrlrrrrÚ write_textzs ÿ $ÿzPath.write_textcCs |j |¡}| |f¡Sr')rÓr¤rr¥rrrr¤…s  z Path.readlinkr—cCs |j |||¡dSr')rÓr£)r+rŸr rrrr£Œsz Path.touchéÿcCs| z |j ||¡WdSty-|r|j|kr‚|jjddd�|j|d|d�YdSty=|r9| ¡s:‚YdSw)NT)r>r F)rÓr·ÚFileNotFoundErrorr=r™rÑ)r+rŸr>r rrrr·’s   ÿýz Path.mkdircCs |jj|||d�dSrc)rÓr¶)r+rŸrbrrrr¶£sz Path.chmodcCs |j|dd�dS©NFra)r¶)r+rŸrrrÚlchmod©sz Path.lchmodcCs0 z |j |¡WdSty|s‚YdSwr')rÓr¸rz)r+Z missing_okrrrr¸°s ÿÿz Path.unlinkcCs |j |¡dSr')rÓrºr*rrrrº»sz Path.rmdircCs |jdd�Sr{)r©r*rrrÚlstatÁs z Path.lstatcCó |j ||¡| |¡Sr')rÓr»r©r+Útargetrrrr»Èó z Path.renamecCr~r')rÓr2rrrrrr2Õr�z Path.replacecCs |j |||¡dSr')rÓr•)r+r€r–rrrÚ symlink_toâszPath.symlink_tocCs |j ||¡dSr')rÓr�rrrrÚ hardlink_toészPath.hardlink_tocCs$ tjdtdd�|j ||¡dS)Nzypathlib.Path.link_to() is deprecated and is scheduled for removal in Python 3.12. Use pathlib.Path.hardlink_to() instead.rQ)Ú stacklevel)ÚwarningsÚwarnÚDeprecationWarningrÓr�rrrrÚlink_toñs  ýz Path.link_toc CsT z| ¡WdSty }z t|ƒs‚WYd}~dSd}~wty)YdSw©NFT)r©r™r r©r+rãrrrrÒs ù€ þz Path.existsc CóV zt| ¡jƒWSty!}z t|ƒs‚WYd}~dSd}~wty*YdSwrŠ)r r©Úst_moder™r rÂrŠrrrrÑó€ þz Path.is_dirc Cr‹rŠ)r r©rŒr™r rÂrŠrrrÚis_file$s€ þz Path.is_filecCsp | ¡r | ¡s dSz|j ¡j}Wn tyYdSw| ¡j}||kr)dS| ¡j}|j ¡j}||kSr‰)rÒrÑr=r©Úst_devr™Úst_ino)r+Z parent_devZdevZinoZ parent_inorrrÚis_mount5s ÿ   z Path.is_mountc Cr‹rŠ)r r}rŒr™r rÂrŠrrrräIs€ þzPath.is_symlinkc Cr‹rŠ)r r©rŒr™r rÂrŠrrrÚis_block_deviceXr�zPath.is_block_devicec Cr‹rŠ)rr©rŒr™r rÂrŠrrrÚis_char_devicehr�zPath.is_char_devicec Cr‹rŠ)rr©rŒr™r rÂrŠrrrÚis_fifoxr�z Path.is_fifoc Cr‹rŠ)r r©rŒr™r rÂrŠrrrÚ is_socketˆr�zPath.is_socketcCsr |js7|js7|jr7|jddd…dkr7|j |jd¡}|dd…dkr*tdƒ‚| |g|jdd…¡S|S)NrrArOz#Could not determine home directory.)rêrërìrÓr¾r\r)r+Zhomedirrrrr¾˜s ÿzPath.expanduserr±)rfrSNNN)NN)NNNr²)ryFF)2rDrErFÚ_normal_accessorrÓrûrrÙrHrLrArNrPrSrTrXrYrZr`r©r¬r°r�rprqrvrxr¤r£r·r¶r|r¸rºr}r»r2r‚rƒrˆrÒrÑrŽr‘rär’r“r”r•r¾rrrrr±sf       ÿ        rc@seZdZ dZdS)rrN)rDrErFrûrrrrr¦src@seZdZ dZdd„ZdS)rrcCr�)Nz-Path.is_mount() is unsupported on this systemr‘r*rrrr‘´rbzWindowsPath.is_mountN)rDrErFrûr‘rrrrr­s r)@riÚ functoolsr³r�rƒrŒrgr6r…Ú_collections_abcrrrrrrrÚoperatorrr©r r r r r rrZ urllib.parserr{Ú__all__Z_WINERROR_NOT_READYZ_WINERROR_INVALID_NAMEr[rrr r%r r&rGr†rFrDr�rŽr–rÉr¹rÊrËrÏrÄrÃrÁrèrÚPathLikeÚregisterrrrrrrrrrÚsl  $   ý?w*O ,! }  x