Ë
    ­Ó^j/”  ã                  óÂ  — U d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	m
Z
 d dlmZmZmZmZmZmZmZmZ d dlmZ d dlmZmZmZmZ ddlmZmZmZ dd	lm Z  dd
l!m"Z"m#Z# ddl$m%Z% ddl&m'Z'm(Z( erd dl)m*Z* ed   Z+ e,ddh«      Z-de.d<   dZ/de.d<   dZ0de.d<   dZ1de.d<   dZ2de.d<   dZ3de.d<   dZ4de.d <   d!Z5de.d"<   d#Z6de.d$<   dZ7de.d%<   d&Z8d'e.d(<   d)Z9de.d*<   d+Z:d'e.d,<   d-Z;d'e.d.<    e<ed/d «      Z=de.d0<    e%j|                  «       Z?d1e.d2<    e,h d3£«      Z@d4e.d5<    eAed6«      ZBd7e.d8<   ej†                  ejˆ                  v ZEd7e.d9<   ejŒ                  ejˆ                  v ZGd7e.d:<   ej
                  ejˆ                  v ZHd7e.d;<   eBxr ej’                  ejˆ                  v ZJd7e.d<<   dud=„ZK eK«       ZLd7e.d><    G d?„ d@e«      ZM e
dA¬B«       G dC„ dD«      «       ZN G dE„ dFeO«      ZPdvdG„ZQdwdH„ZRdxdI„ZSdydJ„ZTdzdK„ZUd{dL„ZVdxdM„ZW	 	 	 	 	 	 	 	 	 	 d|dN„ZXd}dO„ZYd~dP„ZZddQ„Z[d€dR„Z\	 	 	 	 	 	 	 	 d�dS„Z]	 	 	 	 	 	 	 	 	 	 d‚dT„Z^	 	 	 	 	 	 	 	 	 	 dƒdU„Z_	 	 	 	 	 	 	 	 d„dV„Z`	 	 	 	 	 	 d…dW„Zad†dX„Zbd‡dY„ZcdˆdZ„Zdd‰d[„ZedŠd\„Zfd‹d]„Zg	 	 	 	 	 	 	 	 dŒd^„Zhd�d_„ZidŽd`„Zjdddaœ	 	 	 	 	 	 	 	 	 d�db„Zkd�dc„Zld‘dd„Zmd’de„Znd“df„Zod”dg„Zpd•dh„Zqd–di„Zrd—dj„Zsd˜dk„Ztd™dl„Zudšdm„Zvd›dn„Zwdœdo„Zxd�dp„Zydždq„ZzdŸdr„Z{d ds„Z|g dt¢Z}y)¡é    )ÚannotationsN)Ú	dataclass)ÚEACCESÚEEXISTÚENOENTÚENOSYSÚENOTSUPÚEPERMÚESTALEÚEXDEV)ÚPath)ÚTYPE_CHECKINGÚFinalÚLiteralÚcasté   )ÚBaseFileLockÚ
_canonicalÚ_raise_cleanup_errors)ÚSoftFileLockProtocolError)Ú	host_nameÚprocess_start_token)ÚSTRICT_SOFT_SENTINEL_RECORD)Úensure_directory_existsÚ	write_all)ÚIterator)ÚintentÚheldr   r   zFinal[frozenset[str]]Ú_CLAIM_STATESz	.filelockz
Final[str]Ú_COORDINATION_SUFFIXÚclaimsÚ_CLAIM_DIRECTORY_NAMEzfilelock-strict-v1Ú_CLAIM_MAGICi   z
Final[int]Ú_CLAIM_RECORD_LIMITé   Ú_CLAIM_NAME_PART_COUNTé    Ú_TOKEN_HEX_LENGTHz.private-v1-Ú_PRIVATE_RECORD_MARKERú.tmpÚ_PRIVATE_RECORD_SUFFIXÚ!_PRIVATE_RECORD_RANDOM_HEX_LENGTHg       @zFinal[float]Ú_PRIVATE_RECORD_GRACEé
   Ú_UNLINK_MAX_RETRIESg      à?Ú_CLAIM_READ_GRACEgü©ñÒMb`?Ú_CLAIM_READ_RETRYÚO_BINARYÚ	_O_BINARYzFinal[bytes]Ú_LEGACY_SENTINEL>   r   é   é2   zFinal[frozenset[int]]Ú_WINDOWS_HARD_LINK_UNSUPPORTEDÚlinkzFinal[bool]Ú	_HAS_LINKÚ_OPEN_SUPPORTS_DIR_FDÚ_UNLINK_SUPPORTS_DIR_FDÚ_STAT_SUPPORTS_DIR_FDÚ_LINK_SUPPORTS_DIR_FDc                 ó  — t         sy	 t        j                  «       5 } t        | d«      }|j	                  «        t        j                  |t        | d«      d¬«       d d d «       y# 1 sw Y   yxY w# t        t        t        f$ r Y yw xY w)NFzprobe-sourcez
probe-link)Úfollow_symlinksT)
r9   ÚtempfileÚTemporaryDirectoryr   ÚtouchÚosr8   ÚOSErrorÚNotImplementedErrorÚ
ValueError)Ú	directoryÚsources     ú[/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/filelock/_strict.pyÚ_probe_link_follow_symlinksrJ   <   s�   € õ ØðÜ×(Ñ(Ó*ð 	R¨iÜ˜) ^Ó4ˆFØ�L‰LŒNÜ�G‰G�FœD ¨LÓ9È5ÕQ÷	Rð ÷	Rð ûô Ô(¬*Ð5ò Ùðús.   ‰A1 �?A%ÁA1 Á%A.Á*A1 Á.A1 Á1BÂBÚ_LINK_HONORS_FOLLOW_SYMLINKSc                  óÒ   ‡ — e Zd ZU dZdZded<   dZded<   dZded<   dZd	ed
<   dZ	ded<   dZ
ded<   dd„Zdd„Zedd„«       Zdd„Zdˆ fd„Zdˆ fd„Zdd„Zdd„Zedd„«       Zˆ xZS ) ÚStrictSoftFileLockz:Portable fail-closed lock based on immutable owner claims.TÚboolÚ_preserve_lock_file_supportedFÚ_on_acquired_supportedÚ_lifetime_supportedz<a strict claim is never broken by age, only by force_break()ÚstrÚ_lifetime_unsupported_reasonÚ_serialize_transitionsgš™™™™™©?ÚfloatÚ_poll_backoff_capc                óD  — | j                   j                  x}€&t        | j                  «      x}| j                   _        t	        |«      }t	        |› t
        › �«      }|t        z  }t        t        j                  |«      «       t        | j                  |«       t        | j                  |«       t        | j                  || j                  «       «      x}€y 	 t        t        j                  |«      «      }| j%                  ||«       	 | j'                  |||«       y # t        $ r?}	 t        j                   |«       ‚ # t        $ r}t#        d||«       Y d }~‚ d }~ww xY wd }~ww xY w# t        $ r- | j                   j(                  |k(  r| j+                  ||«       ‚ w xY w)Nz)strict sentinel inspection cleanup failed)Ú_contextÚ
claim_rootr   Ú	lock_filer   r    r"   r   rC   ÚfspathÚ_ensure_protocol_directoryÚ_open_or_create_sentinelÚ
_open_modeÚ_file_identityÚfstatÚBaseExceptionÚcloser   Ú_mark_descriptor_pendingÚ_attempt_doorwayÚpending_lock_file_fdÚ_discard_doorway)	ÚselfrY   Ú	lock_pathÚcoordination_directoryÚclaim_directoryÚsentinel_fdÚsentinel_identityÚinspection_errorÚclose_errors	            rI   Ú_acquirezStrictSoftFileLock._acquire`   sy  € ð Ÿ-™-×2Ñ2Ð2ˆJÐ;Ü4>¸t¿~¹~Ó4NÐNˆJ˜Ÿ™Ô1Ü˜Ó$ˆ	Ü!%¨¨Ô4HÐ3IÐ&JÓ!KÐØ0Ô3HÑHˆÜ¤§	¡	¨)Ó 4Ô5Ü" 4§>¡>Ð3IÔJÜ" 4§>¡>°?ÔCÜ3°D·N±NÀIÈtÏÉÓO`ÓaÐaˆKÐjØð	Ü .¬r¯x©x¸Ó/DÓ EÐð 	×%Ñ% kÐ3DÔEð	Ø×!Ñ! /°;Ð@QÕRøô ò 	ðrÜ—‘˜Ô%ð øô !ò rÜ%Ð&QÐScÐep×qÐqØûðrþð	ûô ò 	Ø�}‰}×1Ñ1°[Ò@Ø×%Ñ% kÐ3DÔEØð	úsH   ÃD Ä
E) Ä	E&Ä(D>Ä=E!Ä>	EÅEÅE!ÅEÅE!Å!E&Å)6Fc                ó¼  — t        | j                  |«      r| j                  ||«       y t        j                  t
        dz  «      }t        d|«      }t        ||z  «      }	 t        |t        |«      | j                  «       «      }|�|‚|f| j$                  _        t        | j                  |«      }	|	r't)        d„ |	D «       «      st+        d„ |	D «       «      |k7  r| j                  ||«       y t        d|«      }
t        ||
z  «      }	 t-        |||
«      }||f| j$                  _        |�d| j$                  _        |‚t        | j                  |«      }	||
hj/                  d„ |	D «       «      rt+        d„ |	D «       «      d	|› d
�k7  r| j                  ||«       y | j1                  ||«       y # t        $ r | j                  ||«       Y y t        t        f$ rV}t        | j                  |«       t        |t        «      r*|j                   t"        k(  r| j                  ||«       Y d }~y ‚ d }~ww xY w# t        t        f$ r}t        | j                  |«       ‚ d }~ww xY w)Né   r   c              3  ó:   K  — | ]  }|j                   d k(  –— Œ y­w)r   N)Ústate©Ú.0Úclaims     rI   ú	<genexpr>z6StrictSoftFileLock._attempt_doorway.<locals>.<genexpr>—   s   è ø€ Ò=¨U�5—;‘; &Õ(Ñ=ùs   ‚c              3  ó4   K  — | ]  }|j                   –— Œ y ­w©N©Únamert   s     rI   rw   z6StrictSoftFileLock._attempt_doorway.<locals>.<genexpr>˜   s   è ø€ Ò2 %�5—:•:Ñ2ùó   ‚r   © c              3  ó4   K  — | ]  }|j                   –— Œ y ­wry   rz   rt   s     rI   rw   z6StrictSoftFileLock._attempt_doorway.<locals>.<genexpr>«   s   è ø€ Ò1QÀ°%·*µ*Ñ1Qùr|   c              3  óF   K  — | ]  }t        |j                  «      –— Œ y ­wry   )Ú_claim_token_keyr{   rt   s     rI   rw   z6StrictSoftFileLock._attempt_doorway.<locals>.<genexpr>¬   s   è ø€ ÒD°EÔ# E§J¡J×/ÑDùs   ‚!zv1-ú.claim)Ú_read_existing_claimsrZ   rf   ÚsecretsÚ	token_hexr(   Ú_claim_namerR   Ú_publish_recordÚ_claim_recordr^   Ú_PrivateRecordReclaimedErrorrE   rD   Ú _raise_if_hard_links_unsupportedÚ
isinstanceÚerrnor   rX   Úowner_claim_pathsÚanyÚminÚ_link_no_replaceÚissubsetÚ_mark_descriptor_owned)rg   rj   rk   rl   ÚtokenÚintent_nameÚintent_pathÚpublication_cleanup_errorÚerrorr!   Ú	held_nameÚ	held_pathÚlink_cleanup_errors                rI   rd   z#StrictSoftFileLock._attempt_doorway}   s:  € Ü  §¡°ÔAØ×!Ñ! +Ð/@ÔAØä×!Ñ!Ô"3°qÑ"8Ó9ˆÜ! (¨EÓ2ˆÜ˜/¨KÑ7Ó8ˆð
	Ü(7¸Ä]ÐSXÓEYÐ[_×[jÑ[jÓ[lÓ(mÐ%ð %Ð0Ø+Ð+Ø+6¨.ˆ�‰Ô'ä& t§~¡~°ÓGˆáÜÑ=°fÔ=Ô=ÜÑ2¨6Ô2Ó2°kÒAà×!Ñ! +Ð/@ÔAØä ¨Ó.ˆ	Ü˜¨)Ñ3Ó4ˆ	ð	Ü!1°/À;ÐPYÓ!ZÐð ,5°kÐ*Bˆ�‰Ô'ØÐ)Ø.0ˆD�M‰MÔ+Ø$Ð$ä& t§~¡~°ÓGˆà˜iÐ(×1Ñ1Ñ1QÈ&Ô1QÔQÜÑD¸VÔDÓDÈ#ÈeÈWÐTZÐH[Ò[à×!Ñ! +Ð/@ÔAØð 	×#Ñ# KÐ1BÕCøô_ ,ò 	Ø×!Ñ! +Ð/@ÔAÙÜ#¤WÐ-ò 	Ü,¨T¯^©^¸UÔCÜ˜%¤Ô)¨e¯k©k¼VÒ.CØ×%Ñ% kÐ3DÔEÜØûð	ûô. $¤WÐ-ò 	Ü,¨T¯^©^¸UÔCØûð	ús=   Á!$F, ÄH0 Æ,H-Ç	H-ÇAH(È'H(È(H-È0IÈ?IÉIc                óB   — t        | j                  | j                  «      S )z(Published claims that block acquisition.)r‚   rZ   Ú_claim_directory©rg   s    rI   r!   zStrictSoftFileLock.claims¸   s   € ô % T§^¡^°T×5JÑ5JÓKÐKó    c                ó|   — t        |«       t        | j                  |«       t        | j                  |«      x}	 �|‚y)zYRemove one named claim, allowing overlap if its owner still holds the protected resource.N)Ú_validate_force_break_nameÚ_require_exact_namer›   Ú_unlink_in_directory)rg   Ú
claim_nameÚcleanup_errors      rI   Úforce_breakzStrictSoftFileLock.force_break½   sD   € ä" :Ô.Ü˜D×1Ñ1°:Ô>ä1°$×2GÑ2GÈÓTÐTˆMØðð  Ððr�   c                ó>   •— | j                   ry t        ‰| �	  |«       y ry   )Ú	is_lockedÚsuperÚ_rollback_failed_acquire)rg   Úacquisition_errorÚ	__class__s     €rI   r¨   z+StrictSoftFileLock._rollback_failed_acquireÆ   s   ø€ ð
 �>Š>ØÜ‰Ñ(Ð):Õ;r�   c                ó^   •— | j                   sd | j                  _        t        ‰| �  |«       y ry   )r¦   rX   rY   r§   Ú_reconcile_failed_acquire)rg   Ú	canonicalrª   s     €rI   r¬   z,StrictSoftFileLock._reconcile_failed_acquireÏ   s#   ø€ à�~Š~Ø'+ˆD�M‰MÔ$Ü‰Ñ)¨)Õ4r�   c                ó®  — t        d| j                  j                  «      }d | j                  _        t	        | j                  j
                  «      \  }}t        |«      | j                  _        |rt        d|«       | j                  «        	 | j                  |d¬«       |rt        d|«       y y # t        $ r}|j                  |«       Y d }~Œ/d }~ww xY w)NÚintzstrict claim release failedF©Údefault_suppresseszstrict release cleanup failed)r   rX   Úlock_file_fdrY   Ú_unlink_owner_pathsrŒ   ÚtupleÚ_raise_recorded_errorsÚ_mark_descriptor_releasedÚ_close_released_fdra   Úappend)rg   ÚfdÚ	remainingÚerrorsrn   s        rI   Ú_releasezStrictSoftFileLock._releaseÕ   s¶   € Ü�%˜Ÿ™×3Ñ3Ó4ˆØ#'ˆ�‰Ô Ü/°·±×0OÑ0OÓPÑˆ	�6Ü*/°	Ó*:ˆ�‰Ô'ÙÜ"Ð#@À&ÔIØ×&Ñ&Ô(ð	'Ø×#Ñ# B¸5Ð#ÔAñ Ü"Ð#BÀFÕKð øô ò 	'Ø�M‰M˜+×&Ñ&ûð	'ús   ÂB0 Â0	CÂ9CÃCc                óp  — t        | j                  j                  «      \  }}t        |«      | j                  _        |r| j	                  ||«       t        d|«       | j                  «        	 | j                  |d¬«       |rt        d|«       y y # t        $ r}|j                  |«       Y d }~Œ/d }~ww xY w)Nz#strict doorway claim cleanup failedFr°   zstrict doorway cleanup failed)
r³   rX   rŒ   r´   r‘   rµ   r¶   r·   ra   r¸   )rg   r¹   Úidentityrº   r»   rn   s         rI   rf   z#StrictSoftFileLock._discard_doorwayä   s¤   € Ü/°·±×0OÑ0OÓPÑˆ	�6Ü*/°	Ó*:ˆ�‰Ô'ÙØ×'Ñ'¨¨HÔ5Ü"Ð#HÈ&ÔQØ×&Ñ&Ô(ð	'Ø×#Ñ# B¸5Ð#ÔAñ Ü"Ð#BÀFÕKð øô ò 	'Ø�M‰M˜+×&Ñ&ûð	'ús   Á.B Â	B5ÂB0Â0B5c                óà   — | j                   j                  r,t        | j                   j                  d   «      j                  S t        t	        | j
                  «      › t        › �«      t        z  S )Nr   )rX   rŒ   r   Úparentr   rZ   r    r"   rœ   s    rI   r›   z#StrictSoftFileLock._claim_directoryò   sU   € à�=‰=×*Ò*Ü˜Ÿ™×7Ñ7¸Ñ:Ó;×BÑBÐBÜ”z $§.¡.Ó1Ð2Ô3GÐ2HÐIÓJÔMbÑbÐbr�   )ÚreturnÚNone)rj   r   rk   r¯   rl   útuple[int, int]rÁ   rÂ   )rÁ   útuple[StrictSoftFileClaim, ...])r¢   rR   rÁ   rÂ   )r©   ra   rÁ   rÂ   )r­   rR   rÁ   rÂ   )r¹   r¯   r¾   rÃ   rÁ   rÂ   )rÁ   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__rO   Ú__annotations__rP   rQ   rS   rT   rV   ro   rd   Úpropertyr!   r¤   r¨   r¬   r¼   rf   r›   Ú__classcell__)rª   s   @rI   rM   rM   Q   sŸ   ø… ÙDà*.Ð! 4Ó.Ø#(Ð˜DÓ(ð !&Ð˜Ó%Ø(fÐ  #Ófà#'Ð˜DÓ'ð  $Ð�uÓ#óó:9Dðv òLó ðLó õ<õ5óLóLð òcó ôcr�   rM   T)Úfrozenc                  óR   — e Zd ZU dZded<   ded<   ded<   ded<   ded	<   d
Zded<   y
)ÚStrictSoftFileClaimz"One parsed strict soft-lock claim.rR   r{   ÚStrictSoftFileClaimStaters   r’   r¯   ÚpidÚhostnameNú
int | NoneÚstart)rÅ   rÆ   rÇ   rÈ   rÉ   rÓ   r}   r�   rI   rÎ   rÎ   ù   s+   … á,à
ƒIØ#Ó#ØƒJØ	ƒHØƒMð €Eˆ:Ôr�   rÎ   c                  ó   — e Zd Zy)rˆ   N)rÅ   rÆ   rÇ   r}   r�   rI   rˆ   rˆ     s   „ Ør�   rˆ   c                ó¼  — 	 t        |«      S # t        $ r Y nt        $ r Y y w xY wt        |t	        j                  «       «       	 t        t        j                  |«      t        |«      }|�X|‚# t        $ r Y y t        t        f$ r:}t        | |«       t        |t        «      r|j                  t        k7  r‚ Y d }~nd }~ww xY w	 t        |«      S # t        $ r Y y w xY wry   )Ú_open_sentinelÚFileNotFoundErrorrD   Ú!_reclaim_sentinel_private_recordsÚtimer†   rC   r[   r4   rˆ   rE   r‰   rŠ   r‹   r   )rZ   ÚpathÚmoder•   r–   s        rI   r]   r]     sÙ   € ðÜ˜dÓ#Ð#øÜò ÙÜò Ùðúô & d¬D¯I©I«KÔ8ð
,Ü$3´B·I±I¸d³OÔEUÐW[Ó$\Ð!ð %Ð0Ø+Ð+øô (ò ÙÜ¤Ð)ò Ü(¨°EÔ:Ü˜%¤Ô)¨U¯[©[¼FÒ-BØô .CûðúðÜ˜dÓ#Ð#øÜò Ùðús@   ‚
 �	#˜#¢#Á$A- Á-	C Á8C Â0B;Â;C Ã
C Ã	CÃCc                ó|   — t        | t        t        «      «      \  }}|t        k(  r|S t        j                  |«       y ry   )Ú_open_recordÚlenr4   rC   rb   )rÚ   r¹   Úrecords      rI   rÖ   rÖ   %  s4   € Ü˜d¤CÔ(8Ó$9Ó:�J€BˆØÔ!Ò!Øˆ	Ü‡H�HˆR„LØr�   c           	     ó°  — 	 t        j                  |«      5 }t        ||«      }d d d «       g }D ]I  }t        |«      x}€t        | |d«      ‚t        | ||«      x}	€Œ-|j                  t        | |||	«      «       ŒK t        |«      S # 1 sw Y   ŒdxY w# t        $ r9}d|j                  xs t        |«      j                  › �}t        | d |«      |‚d }~ww xY w)Nzcannot list claim directory: z&unknown claim name or protocol version)rC   ÚscandirÚ_public_claim_namesrD   ÚstrerrorÚtyperÅ   r   Ú_parse_claim_nameÚ_read_claim_recordr¸   Ú_parse_claimr´   )
rZ   rG   ÚentriesÚnamesr–   Úreasonr!   r{   Ú
name_partsrß   s
             rI   Ú_read_claimsrì   -  sè   € ðLÜ�Z‰Z˜	Ó"ð 	< gÜ'¨	°7Ó;ˆE÷	<ð )+€FØò MˆÜ+¨DÓ1Ð1ˆJÐ:Ü+¨I°tÐ=eÓfÐfÜ(¨°I¸tÓDÐDˆFÑQØ�M‰Mœ, y°$¸
ÀFÓKÕLð	Mô
 �‹=Ð÷	<ð 	<ûäò LØ0°·±Ò1WÄ4ÈÃ;×CWÑCWÐ0XÐYˆÜ'¨	°4¸Ó@ÀeÐKûðLús-   ‚B —B¤B ÂBÂB Â	CÂ4CÃCc                óz  — t        j                  «       t        z   }d}	 |rt        j                  t        «       t        | ||«      \  }}|€|S t        j                  «       |k\  rU|j                  t        k(  ry d|j                  xs" t        |«      xs t        |«      j                  › �}t        | ||«      |‚d}Œž)NFTúcannot read claim: )rÙ   Ú	monotonicr0   Úsleepr1   Ú_attempt_claim_readr‹   r   rã   rR   rä   rÅ   r   )rZ   rG   r{   ÚdeadlineÚdelayingrß   Úpendingrê   s           rI   ræ   ræ   >  s±   € ô �~‰~ÓÔ"3Ñ3€HØ€HØ
ÙÜ�J‰JÔ(Ô)Ü-¨i¸ÀDÓI‰ˆ�Øˆ?ØˆMÜ�>‰>Ó˜xÒ'Ø�}‰}¤Ò&ð Ø*¨7×+;Ñ+;Ò+e¼sÀ7»|Ò+eÌtÐT[Ë}×OeÑOeÐ*fÐgˆFÜ+¨I°t¸VÓDÈ'ÐQØˆð r�   c                óH  — 	 t        ||z  t        «      d fS # t        $ r Y yt        $ r}d |fcY d }~S d }~wt        $ rb}|j
                  t        k(  r	d |fcY d }~S d|j                  xs" t        |«      xs t        |«      j                  › �}t        | ||«      |‚d }~ww xY w)N)NNrî   )Ú_read_recordr$   r×   ÚPermissionErrorrD   r‹   r   rã   rR   rä   rÅ   r   )rZ   rG   r{   r–   rê   s        rI   rñ   rñ   X  s    € ð
LÜ˜I¨Ñ,Ô.AÓBÀDÐHÐHøÜò ÙÜò Ø�Uˆ{ÕûÜò LØ�;‰;œ&Ò Ø˜�;ÕØ& u§~¡~Ò'[¼¸U»Ò'[ÄtÈEÃ{×G[ÑG[Ð&\Ð]ˆÜ'¨	°4¸Ó@ÀeÐKûð	Lús4   ‚ —	B!¢B!ª3­B!³B!¿BÁB!ÁABÂB!c                ób  — g }t        j                   «       }|D ]Š  }|j                  j                  d«      s|j                  |j                  «       Œ:t	        |j                  «      x}€ŒRt        |«      	 €Œ_t        t        j                  | «      d f|j                  |«       ŒŒ t        |«      S )Nú.)
rÙ   r{   Ú
startswithr¸   Ú_private_public_namerå   Ú_reclaim_private_recordrC   r[   Úsorted)rG   rè   ré   ÚnowÚentryÚpublic_names         rI   râ   râ   i  sš   € Ø€EÜ
�)‰)‹+€CØò SˆØ�z‰z×$Ñ$ SÔ)Ø�L‰L˜Ÿ™Õ$Ü1°%·*±*Ó=Ð=ˆkÑJÔO`ØóP
àñPô $¤R§Y¡Y¨yÓ%9¸4Ð$@À%Ç*Á*ÈcÕRðSô �%‹=Ðr�   c                ó<   — |j                  «       syt        | |«      S )Nr}   )Úexistsrì   )rZ   rG   s     rI   r‚   r‚   v  s   € Ø×ÑÔØÜ˜	 9Ó-Ð-r�   c                óŒ  — 	 |j                  d«      j                  d«      \  }}}}}}	t        |«      }
|rt        |«      nd }t        j	                  |«      j                  d«      }t        |	 |t        k(  ||d   k(  d|
cxk  xr dk  nc t        |
«      |k(  |d u xs |dk\  xr t        |«      |k(  |j                  «       j                  «       |k(  xr% |j                  «       xr t        d„ |D «       «       f«      st        | |d«      ‚t        ||d   ||
||¬	«      S # t
        t        f$ r}t        | |d«      |‚d }~ww xY w)
NÚasciiú
zutf-8zmalformed claim recordr   iÿÿÿr   c              3  ó<   K  — | ]  }|j                  «       –— Œ y ­wry   )Úisspace©ru   Ú	characters     rI   rw   z_parse_claim.<locals>.<genexpr>’  s   è ø€ ÒB¨I�I×%Ñ%×'ÑBùs   ‚)r{   rs   r’   rÐ   rÑ   rÓ   )ÚdecodeÚsplitr¯   ÚbytesÚfromhexÚUnicodeDecodeErrorrF   r   Úallr#   rR   ÚencodeÚhexÚisprintabler�   rÎ   )rZ   r{   rë   rß   Úmagicr’   Úpid_textÚhostname_hexÚ
start_textÚtrailingrÐ   rÓ   rÑ   r–   s                 rI   rç   rç   |  sY  € ð^ØEKÇ]Á]ÐSZÓE[×EaÑEaÐbfÓEgÑBˆˆu�h ¨j¸(Ü�(‹mˆÙ#-”�J”°4ˆÜ—=‘= Ó.×5Ñ5°gÓ>ˆô ØˆØ”ÑØ�˜A‘ÑØ	ˆSÖ�IÔÜˆC‹�HÑØ�ˆÒB˜% 1™*ÒA¬¨U«°zÑ)AØ�‰Ó×ÑÓ <Ñ/ò 	CØ× Ñ Ó"ò	CäÑB¸ÔBÓBÐBð
ô 
ô (¨	°4Ð9QÓRÐRÜ D°
¸1±ÀUÐPSÐ^fÐnsÔtÐtøô ¤
Ð+ò ^Ü'¨	°4Ð9QÓRÐX]Ð]ûð^ús   ‚A%D! Ä!EÄ0D>Ä>Ec                ó(  — | j                  d«      sy | j                  d«      j                  d«      }t        |«      t        k7  s|d   t
        vs|d   dk7  ry |d   }t        |«      t        k7  st        d„ |D «       «      ry t        d|d   «      |fS )	Nr�   ú-r   r   Úv1rq   c              3  ó$   K  — | ]  }|d v–— Œ
 y­w©Ú0123456789abcdefNr}   r  s     rI   rw   z$_parse_claim_name.<locals>.<genexpr>Ÿ  s   è ø€ Ò-iÐV_¨iÐ?QÔ.QÑ-iùó   ‚rÏ   )	ÚendswithÚremovesuffixr  rÞ   r&   r   r(   r�   r   )r{   Úpartsr’   s      rI   rå   rå   ˜  s”   € Ø�=‰=˜Ô"ØØ×Ñ˜hÓ'×-Ñ-¨cÓ2€EÜ
ˆ5ƒzÔ+Ò+¨u°Q©x¼}Ñ/LÐPUÐVWÑPXÐ\`ÒP`ØØ�!‰H€EÜ
ˆ5ƒzÔ&Ò&¬#Ñ-iÐchÔ-iÔ*iØÜÐ*¨E°!©HÓ5°uÐ<Ð<r�   c                ó   — | › d|› d�S )Nz-v1-r�   r}   )rs   r’   s     rI   r…   r…   ¤  s   € ØˆW�D˜˜˜vÐ&Ð&r�   c                óB   — | j                  d«      j                  d«      S )Nzheld-zintent-)Úremoveprefixrz   s    rI   r€   r€   ¨  s   € Ø×Ñ˜WÓ%×2Ñ2°9Ó=Ð=r�   c           
     ó  — t        «       j                  «       j                  «       }t        t	        j
                  «       «      }|€dn
t        |«      }t        › d| › dt	        j
                  «       › d|› d|› d�
j                  d«      S )NÚ r  r  )r   r  r  r   rC   ÚgetpidrR   r#   )r’   r  rÓ   r  s       rI   r‡   r‡   ¬  sr   € Ü“;×%Ñ%Ó'×+Ñ+Ó-€LÜ¤§	¡	£Ó,€EØ�}‘¬#¨e«*€JÜˆ^˜2˜e˜W B¤r§y¡y£{ m°2°l°^À2ÀjÀ\ÐQSÐT×[Ñ[Ð\cÓdÐdr�   c                óÒ  — t         j                  j                  | «      \  }}|xs t         j                  }t	        |«      }t
        rt        |«      nd }||f}	 t        |||f||«       |�	 t        j                  |«       y y # t        $ rA}	 |�t        j                  |«       ‚ # t        $ r}	t        d||	«       Y d }	~	‚ d }	~	ww xY wd }~ww xY w# t        $ r}	|	cY d }	~	S d }	~	ww xY w)Nz+strict publication directory cleanup failed)rC   rÚ   r  ÚcurdirÚ_private_record_namer:   Ú_open_directoryÚ_publish_record_in_directoryra   rb   r   )
Úpublic_pathrß   rÛ   rG   r   Úprivate_nameÚdirectory_fdÚdirectory_refÚpublication_errorrn   s
             rI   r†   r†   ³  sñ   € ô
  ŸW™WŸ]™]¨;Ó7Ñ€Iˆ{ØÒ&œRŸY™Y€IÜ'¨Ó4€LÝ1F”? 9Ô-ÈD€LØ˜|Ð+€MðÜ$ ]°\À;Ð4OÐQUÐW]Ô^ð Ðð	Ü�H‰H�\Ô"ñ øô ò ð	qØÐ'Ü—‘˜Ô&ð 	øô ò 	qÜ!Ð"OÐQbÐdo×pÐpØûð	qþð	ûô ò 	ØÕûð	úsZ   ÁB Á-C Â	CÂB&Â%C	Â&	CÂ/CÂ<C	ÃCÃC	Ã	CÃ	C&ÃC!ÃC&Ã!C&c                óö  — t         j                  t         j                  z  t         j                  z  t        z  }t        t         dd «      x}�||z  }t        | |d   ||«      }d }	 t        t        j                  |«      «      }t        ||«       t        | ||«       t        | |d   ||«      \  }	}
|	€|
�t        |	|
«       y y # t        $ r,}t        | |d   ||«      \  }	}
|	€|
�t        d||	|
«       ‚ d }~ww xY w)NÚ
O_NOFOLLOWr   z(strict record publication cleanup failed)rC   ÚO_RDWRÚO_CREATÚO_EXCLr3   ÚgetattrÚ_open_relativer_   r`   r   Ú_link_private_recordra   Ú _close_and_unlink_private_recordr   Ú!_raise_record_finalization_errors)r0  ré   rÛ   rß   ÚflagsÚ
o_nofollowÚ
private_fdÚprivate_identityr1  rn   Úunlink_errors              rI   r,  r,  Î  s!  € ô �I‰IœŸ
™
Ñ"¤R§Y¡YÑ.´Ñ:€EÜœb ,°Ó5Ð5ˆ
ÐBØ�ÑˆÜ ¨u°Q©x¸ÀÓE€JØ/3ÐðÜ)¬"¯(©(°:Ó*>Ó?ÐÜ�*˜fÔ%Ü˜]¨EÐ3CÔDô  !AØØˆa‰ØØó	!Ñ€K�ð Ð ,Ð":Ü)¨+°|ÕDð #;øô+ ò Ü$DØØ�!‰HØØó	%
Ñ!ˆ�\ð Ð" lÐ&>Ü!Ø:Ø!ØØô	ð 	ûðús   Á&7C Ã	C8Ã'C3Ã3C8c                óø   — d }	 t        j                  |«       d }	 |€t        | |«       nt	        | ||«       ||fS # t        $ r}|}Y d }~Œ3d }~ww xY w# t
        $ r Y ||fS t        $ r}|}Y d }~||fS d }~ww xY wry   )rC   rb   ra   Ú_unlink_relativeÚ_unlink_relative_if_identityr×   )r0  r.  r>  r?  rn   r–   r@  s          rI   r:  r:  ö  s¢   € ð )-€KðÜ
�‰�Ôð *.€LðØÐ#Ü˜]¨LÕ9ä(¨¸ÐFVÔWð
 ˜Ð$Ð$øô ò Ø�ûðûô ò Øð ˜Ð$Ð$ô ò ØŒØ˜Ð$Ð$ûðús2   „< œA ¼	AÁAÁAÁ	A9Á"A9Á*A4Á4A9c                óº   — 	 t        | g|¢­Ž  t        | |d   «      |k(  ry d}t        |«      ‚# t        $ r#}t        | |d   «      �‚ d}t        |«      |‚d }~ww xY w)Nr   z(private publication record was reclaimedr   z'private publication record was replaced)Ú_link_relativer×   Ú_relative_identityrˆ   )r0  ré   r?  r–   ÚmsgÚmsg_0s         rI   r9  r9    su   € ð
;Ü�}Ð- uÓ-ô ˜-¨¨q©Ó2Ð6FÒFØØ5€EÜ
& uÓ
-Ð-øô ò ;Ü˜m¨U°1©XÓ6ÐBØØ8ˆÜ*¨3Ó/°UÐ:ûð	;ús   ‚. ®	A·AÁAc                ó€   — | |fD �cg c]  }|€Œ|‘Œ	 }}t        |«      dkD  rt        d|d   g|dd  ¢­Ž  |d   ‚c c}w )Nr   z!strict record finalization failedr   ©rÞ   r   )rn   r@  r–   r»   s       rI   r;  r;     sW   € ð #.¨|Ð!<ÖR˜ÀÑ@QŠeÐR€FÐRÜ
ˆ6ƒ{�Q‚ÜÐAÀ6È!Á9ÐZÈvÐVWÐVXÈzÓZØ
�‰)€Oùò Ss   ‡;�;c                óR   — d| › t         › t        j                  t        dz  «      › d�S )Nrù   rq   r*   )r)   rƒ   r„   r,   )r   s    rI   r*  r*  *  s/   € Øˆ{ˆmÔ2Ð3´G×4EÑ4EÔFgÐklÑFlÓ4mÐ3nÐnrÐsÐsr�   c                ó  — | j                  d«      r| j                  t        «      sy | dt        t        «        j	                  t
        «      \  }}}|t
        k7  s$t        |«      t        k7  st        d„ |D «       «      ry |S )Nrù   r   c              3  ó$   K  — | ]  }|d v–— Œ
 y­wr  r}   r  s     rI   rw   z'_private_public_name.<locals>.<genexpr>5  s   è ø€ ÒO°yˆyÐ 2Ô2ÑOùr  )rú   r  r+   rÞ   Ú
rpartitionr)   r,   r�   )r.  r   ÚmarkerÚ
random_hexs       rI   rû   rû   .  sv   € Ø×"Ñ" 3Ô'¨|×/DÑ/DÔE[Ô/\ØØ&2°1¼Ô<RÓ8SÐ7SÐ&T×&_Ñ&_Ô`vÓ&wÑ#€K�˜àÔ(Ò(Üˆz‹?Ô?Ò?ÜÑOÀJÔOÔOàØÐr�   c                ó2  — t        j                  | j                  «      d f}t        j                  | j                  «      5 }|D ]<  }t	        |j
                  «      | j
                  k(  sŒ&t        ||j
                  |«       Œ> 	 d d d «       y # 1 sw Y   y xY wry   )rC   r[   rÀ   rá   rû   r{   rü   )rÚ   rþ   r0  rè   rÿ   s        rI   rØ   rØ   ;  sz   € Ü—I‘I˜dŸk™kÓ*¨DÐ0€MÜ	�‰�D—K‘KÓ	 ð H GØò 	HˆEÜ# E§J¡JÓ/°4·9±9Ó<Ü'¨°u·z±zÀ3ÕGñ	H÷H÷ Hñ Hús   Á(BÁ*BÂBc                óì  — | \  }}	 |�t         rt        j                  ||d¬«      nt        ||«      j	                  «       }t        j                  |j                  «      st        ||«      › d�}t        |«      ‚|j                  dk(  r||j                  z
  t        k  ry 	 t        | |«       y # t
        $ r Y y w xY w# t
        $ r Y y t        $ r#}|j                  t        t        hvr‚ Y d }~y d }~ww xY w)NF©Údir_fdr?   z  is not a regular private recordr   )r<   rC   Ústatr   Úlstatr×   ÚS_ISREGÚst_moderD   Úst_nlinkÚst_mtimer-   Ú_unlink_private_record_oncer‹   r   r
   )r0  r.  rþ   rG   r/  Úprivate_statrG  r–   s           rI   rü   rü   C  sô   € Ø+Ñ€Iˆ|ðð Ð'Õ,Aô �G‰G�L¨ÀuÕMä�i Ó.×4Ñ4Ó6ð 	ô �<‰<˜×,Ñ,Ô-Ü�i Ó.Ð/Ð/OÐPˆÜ�c‹lÐØ×Ñ Ò! c¨L×,AÑ,AÑ&AÔDYÒ&YØðÜ# M°<Õ@øô ò Ùðûô ò ÙÜò Ø�;‰;œv¤u˜oÑ-Øô .ûðús/   ‡:B. Â!B= Â.	B:Â9B:Â=	C3ÃC3ÃC.Ã.C3c                ó‚   — | \  }}|�t         rt        j                  ||¬«       y t        ||«      j                  «        y ©N©rT  )r;   rC   Úunlinkr   )r0  r.  rG   r/  s       rI   r[  r[  [  s6   € Ø+Ñ€Iˆ|àÐ Õ%<ä
�	‰	�, |Ö4äˆY˜Ó%×,Ñ,Õ.r�   c                ó¸   — | \  }}	 |�t         rt        j                  ||d¬«      }nt        ||«      j	                  «       }t        |«      S # t
        $ r Y y w xY w)NFrS  )r<   rC   rU  r   rV  r×   r_   )r0  r{   rG   r/  Ú	path_stats        rI   rF  rF  e  sb   € Ø+Ñ€Iˆ|ðØÐ#Õ(=ÜŸ™ ¨\È5ÔQ‰Iä˜Y¨Ó-×3Ñ3Ó5ˆIô ˜)Ó$Ð$øô ò Ùðús   ‡;A Á	AÁAc                ó˜   — t        | |«      |k(  r/t        j                  t        «      5  t	        | |«       d d d «       y y # 1 sw Y   y xY wry   )rF  Ú
contextlibÚsuppressr×   rB  )r0  r{   r¾   s      rI   rC  rC  q  sK   € ô
 ˜-¨Ó.°(Ò:Ü× Ñ Ô!2Ó3ñ 	2Ü˜]¨DÔ1÷	2ð 	2ð ;÷	2ð 	2ús   ©A Á A	c                ó„   — | \  }}|�t        j                  ||||¬«      S t        j                  t        ||«      ||«      S r^  )rC   Úopenr   )r0  r{   r<  rÛ   rG   r/  s         rI   r8  r8  {  sK   € Ø+Ñ€Iˆ|ð Ð#ô 	�‰��e˜T¨,Ô7ðô �W‰W”T˜) TÓ*¨E°4Ó8ðr�   c                ó~   — | \  }}|�t         rt        ||||¬«       y t        t        ||«      t        ||«      «       y )N©Ú
src_dir_fdÚ
dst_dir_fd)r=   Ú_link_no_followr   )r0  Úsource_nameÚdestination_namerG   r/  s        rI   rE  rE  „  sA   € Ø+Ñ€Iˆ|ØÐÕ$9Ü˜Ð%5À,Ð[gÕhØÜ”D˜ KÓ0´$°yÐBRÓ2SÕTr�   ri  c               óž   — t         sd}t        |«      ‚t        rt        j                  | |||d¬«       y t        j                  | |||¬«       y )Nz'os.link is unavailable on this platformF)rj  rk  r?   ri  )r9   rE   rK   rC   r8   )rH   Údestinationrj  rk  rG  s        rI   rl  rl  Œ  sE   € õ ð 8ˆÜ! #Ó&Ð&õ $Ü
�‰�˜°
ÀzÐchÖiä
�‰�˜°
ÀzÖRr�   c                óÔ   — | \  }}|�t         rt        j                  ||¬«       y t        j                  dk(  rt        t        |«      |«       y t        ||«      j                  «        y )Nr_  Úwin32)r;   rC   r`  ÚsysÚplatformr¡   r   )r0  r{   rG   r/  s       rI   rB  rB  ¡  sP   € Ø+Ñ€Iˆ|ØÐÕ$;Ü
�	‰	�$˜|Ö,Ü	�‰˜Ò	 ÜœT )›_¨dÕ3äˆY˜Ó×$Ñ$Õ&r�   c                óp  — t         r;t        t        | «      «      }	 t        ||||¬«       	 t        j                  |«       y t        | |z  | |z  «       y # t        $ r?}	 t        j                  |«       ‚ # t        $ r}t        d||«       Y d }~‚ d }~ww xY wd }~ww xY w# t        $ r}|cY d }~S d }~ww xY w)Nri  z$strict link directory cleanup failed)r=   r+  rR   rl  ra   rC   rb   r   )rG   rm  rn  r/  Ú
link_errorrn   s         rI   r�   r�   «  s½   € ÝÜ&¤s¨9£~Ó6ˆð	Ü˜KÐ)9ÀlÐ_kÕlð	Ü�H‰H�\Ô"ð Ü�I Ñ+¨YÐ9IÑ-IÔJØøô ò 	ðgÜ—‘˜Ô&ð øô !ò gÜ%Ð&LÈjÐZe×fÐfØûðgþð	ûô ò 	ØÕûð	úsX   œA ¬B  Á	BÁA5Á4BÁ5	BÁ>BÂBÂBÂBÂBÂ 	B5Â)B0Â*B5Â0B5c                ó”   — t         j                  j                  | «      \  }}t        t	        |xs t         j
                  «      |«      S ry   )rC   rÚ   r  r¡   r   r)  )rÚ   rG   r{   s      rI   Ú_unlink_owner_pathrx  ¿  s3   € Ü—g‘g—m‘m DÓ)�O€IˆtÜ¤ YÒ%;´"·)±)Ó <¸dÓCÐCr�   c                óÊ   — | D �cg c]  }|t        |«      f‘Œ }}|D ���cg c]  \  }\  }}|rŒ|‘Œ c}}}|D ��cg c]  \  }\  }}|€Œ|‘Œ c}}fS c c}w c c}}}w c c}}w ry   )Ú_unlink_owner_path_result)ÚpathsrÚ   ÚresultsÚremovedÚ_r–   s         rI   r³   r³   Ä  sw   € ØCHÖI¸4�Ô/°Ó5Ò6ÐI€GÐIØ+2×BÐBÑ'�T™<˜G Qº'ŠDÔBØ#*÷EÙ�!‘Z�a˜¨eÑ.?ŠóEð ð ùò JùÜBùó Es   …A¡A¯A¼AÁ
Ac                ój   — 	 t        | «      }d|fS # t        $ r Y yt        $ r}d|fcY d }~S d }~ww xY w)N)TNFT)rx  r×   ra   )rÚ   r£   r–   s      rI   rz  rz  Ë  sE   € ðÜ*¨4Ó0ˆð
 �ÐÐøô	 ò ÙÜò Ø�eˆ|Õûðús   ‚ ‘	2œ2¤-§2­2c                óN   — t        |«      dkD  rt        | |d   g|dd  ¢­Ž  |d   ‚)Nr   r   rJ  )Úmessager»   s     rI   rµ   rµ   Õ  s/   € Ü
ˆ6ƒ{�Q‚Ü˜g v¨a¡yÐ>°6¸!¸"°:Ó>Ø
�‰)€Or�   c                óŒ  — t         rCt        t        | «      «      }	 t        j                  ||¬«       	 t        j                  |«       y t        j                  dk7  rt        | |z  «      j	                  «        y d}t        t        «      D ]T  }t        | |z  «      x}€ y |j                  t        t         hvs|t        dz
  k(  r|‚t#        j$                  |«       |dz  }ŒV y # t
        $ r?}	 t        j                  |«       ‚ # t
        $ r}t        d||«       Y d }~‚ d }~ww xY wd }~ww xY w# t
        $ r}|cY d }~S d }~ww xY w)Nr_  z&strict unlink directory cleanup failedrr  gü©ñÒMbP?r   rq   )r;   r+  rR   rC   r`  ra   rb   r   rs  rt  r   Úranger/   Ú_unlink_errorr‹   r   r
   rÙ   rð   )rG   r{   r/  r@  rn   Úretry_delayÚattemptr–   s           rI   r¡   r¡   Û  s9  € ÝÜ&¤s¨9£~Ó6ˆð	Ü�I‰I�d <Õ0ð	Ü�H‰H�\Ô"ð Ü
‡|�|�wÒÜˆY˜ÑÓ×%Ñ%Ô'ØØ€KÜÔ,Ó-ò ˆÜ" 9¨tÑ#3Ó4Ð4ˆEÐ=ÙØ�;‰;œv¤u˜oÑ-°Ô<OÐRSÑ<SÒ1SØˆKÜ�
‰
�;ÔØ�qÑ‰ðð øô- ò 	ðkÜ—‘˜Ô&ð øô !ò kÜ%Ð&NÐP\Ð^i×jÐjØûðkþð	ûô ò 	ØÕûð	úsX   œC# ´D. Ã#	D+Ã-DÄD&Ä	D#ÄDÄD&ÄD#Ä#D&Ä&D+Ä.	EÄ7D>Ä8EÄ>Ec                óV   — 	 | j                  «        y # t        $ r}|cY d }~S d }~ww xY wry   )r`  rD   )rÚ   r–   s     rI   r„  r„  ù  s,   € ðØ�‰Œð øô ò Ø�ûðús   ‚ “	(œ#�(£(c           	     ó’   — t        j                  | t         j                  t        t         dd«      z  t        t         dd«      z  «      S )NÚO_DIRECTORYr   r3  )rC   rg  ÚO_RDONLYr7  )rG   s    rI   r+  r+    s:   € Ü�7‰7ØÜ
�‰”gœb -°Ó3Ñ3´g¼bÀ,ÐPQÓ6RÑRóð r�   c                óN   — t        | |«      \  }}t        j                  |«       |S ry   )rÝ   rC   rb   )rÚ   Úlimitr¹   rß   s       rI   rö   rö     s"   € Ü˜d EÓ*�J€BˆÜ‡H�HˆR„LØ€Mr�   c                óÞ  — | j                  «       }t        j                  |j                  «      s| › d�}t	        |«      ‚t
        j                  t        z  t        t
        dd«      z  t        t
        dd«      z  }t        j                  | |«      }	 t        || ||«      }||fS # t        $ r?}	 t        j                  |«       ‚ # t        $ r}t        d||«       Y d }~‚ d }~ww xY wd }~ww xY w)Nú is not a regular filer3  r   Ú
O_NONBLOCKz!strict record read cleanup failed)rV  rU  rW  rX  rD   rC   rŠ  r3   r7  rg  Ú_read_opened_recordra   rb   r   )	rÚ   rŒ  rb  rG  r<  r¹   rß   Ú
read_errorrn   s	            rI   rÝ   rÝ     sâ   € Ø—
‘
“€IÜ�<‰<˜	×)Ñ)Ô*Ø�Ð,Ð-ˆÜ�c‹lÐÜ�K‰Kœ)Ñ#¤g¬b°,ÀÓ&BÑBÄWÌRÐQ]Ð_`ÓEaÑa€EÜ	�‰��uÓ	€BðÜ$ R¨¨y¸%Ó@ˆð ˆvˆ:Ðøô ò ð	`Ü�H‰H�RŒLð 	øô ò 	`Ü!Ð"EÀzÐS^×_Ð_Øûð	`þðús<   ÂB$ Â$	C,Â.CÃC'Ã	C$ÃCÃC'ÃC$Ã$C'Ã'C,c                óP  — t        j                  | «      }t        j                  |j                  «      s|› d�}t        |«      ‚t        |«      t        |«      k7  r|› d�}t        |«      ‚t        j                  | |dz   «      }t        |«      |kD  r|› d|› d�}t        |«      ‚|S )NrŽ  z changed while openingr   z	 exceeds z bytes)	rC   r`   rU  rW  rX  rD   r_   ÚreadrÞ   )r¹   rÚ   rb  rŒ  Úopened_statrG  rß   s          rI   r�  r�     s¢   € Ü—(‘(˜2“,€KÜ�<‰<˜×+Ñ+Ô,Ø�Ð,Ð-ˆÜ�c‹lÐÜ�kÓ"¤n°YÓ&?Ò?Ø�Ð,Ð-ˆÜ�c‹lÐÜ�W‰W�R˜ ™Ó#€FÜ
ˆ6ƒ{�UÒØ��i ˜w fÐ-ˆÜ�c‹lÐØ€Mr�   c                ó6  — 	 |j                  «        y # t        $ r| 	 |j                  «       j                  }n"# t        $ r}t        | d d|› �«      |‚d }~ww xY wt        j                  |«      rt        j                  |«      sY y t        | d |› d�«      d ‚w xY w)Nzcannot inspect z is not a real directory)	ÚmkdirÚFileExistsErrorrV  rX  rD   r   rU  ÚS_ISDIRÚS_ISLNK)rZ   rG   rÛ   r–   s       rI   r\   r\   /  sš   € ð	kØ�‰ÕøÜò kð	gØ—?‘?Ó$×,Ñ,‰DøÜò 	gÜ+¨I°t¸ÈyÈkÐ=ZÓ[ÐafÐfûð	gúä�<‰<˜Ô¤d§l¡l°4Ô&8ÙÜ'¨	°4¸I¸;ÐF^Ð9_Ó`ÐfjÐjðkús/   ‚ “	B�8·B¸	AÁAÁAÁ-BÂBc                óÀ   ‡ — ‰  xs5 ‰ j                  d«      xs" ‰ t        j                  t        j                  hv }|st	        ˆ fd„dD «       «      rd}t        |«      ‚y )Nrù   c              3  ó&   •K  — | ]  }|‰v –— Œ
 y ­wry   r}   )ru   Ú	separatorr{   s     €rI   rw   z-_validate_force_break_name.<locals>.<genexpr>>  s   øè ø€ ÒW°i 	¨TÔ 1ÑWùs   ƒ)ú/ú\ú z,claim_name must be one public claim basename)rú   rC   r)  Úpardirr�   rF   )r{   Úinvalid_componentrG  s   `  rI   rŸ   rŸ   <  sY   ø€ Ø ˜ÒZ D§O¡O°CÓ$8ÒZ¸DÄRÇYÁYÔPR×PYÑPYÐDZÐ<ZÐÙœCÓWÐCVÔWÔWØ<ˆÜ˜‹oÐð Xr�   c                óÔ   ‡— t        j                  | «      5 }t        ˆfd„|D «       «      s(t        t        t        j
                  t        «      ‰«      ‚	 d d d «       y # 1 sw Y   y xY w)Nc              3  ó<   •K  — | ]  }|j                   ‰k(  –— Œ y ­wry   rz   )ru   rÿ   r{   s     €rI   rw   z&_require_exact_name.<locals>.<genexpr>E  s   øè ø€ Ò;¨%�5—:‘: Õ%Ñ;ùs   ƒ)rC   rá   r�   r×   r   rã   )rG   r{   rè   s    ` rI   r    r    C  sU   ø€ Ü	�‰�IÓ	ð G 'ÜÓ;°7Ô;Ô;Ü#¤F¬B¯K©K¼Ó,?ÀÓFÐFð <÷G÷ Gñ Gús   —=AÁA'c                ó°   — t        |t        «      xs2 |j                  t        t        t
        hv xs t        |dd «      t        v }|rd}t        | d |«      |‚y )NÚwinerrorzCfilesystem does not support atomic no-replace hard-link publication)	rŠ   rE   r‹   r   r	   r   r7  r7   r   )rZ   r–   Úunsupportedrê   s       rI   r‰   r‰   I  sc   € ä�5Ô-Ó.ò 	PØ�;‰;œ6¤7¬EÐ2Ð2ò	Pä�E˜: tÓ,Ô0NÐNð ñ
 ØVˆÜ'¨	°4¸Ó@ÀeÐKð r�   c                ó2   — | j                   | j                  fS ry   )Úst_devÚst_ino)Ústs    rI   r_   r_   T  s   € Ø�9‰9�b—i‘iÐÐr�   )rÎ   rÏ   rM   )rÁ   rN   )rZ   rR   rÚ   r   rÛ   r¯   rÁ   rÒ   )rÚ   r   rÁ   rÒ   )rZ   rR   rG   r   rÁ   rÄ   )rZ   rR   rG   r   r{   rR   rÁ   zbytes | None)rZ   rR   rG   r   r{   rR   rÁ   z#tuple[bytes | None, OSError | None])rG   r   rè   zIterator[os.DirEntry[str]]rÁ   z	list[str])
rZ   rR   r{   rR   rë   z$tuple[StrictSoftFileClaimState, str]rß   r  rÁ   rÎ   )r{   rR   rÁ   z+tuple[StrictSoftFileClaimState, str] | None)rs   rÏ   r’   rR   rÁ   rR   )r{   rR   rÁ   rR   )r’   rR   rÁ   r  )r-  rR   rß   r  rÛ   r¯   rÁ   úBaseException | None)
r0  útuple[str, int | None]ré   útuple[str, str]rÛ   r¯   rß   r  rÁ   rÂ   )
r0  r¬  r.  rR   r>  r¯   r?  útuple[int, int] | NonerÁ   z1tuple[BaseException | None, BaseException | None])r0  r¬  ré   r­  r?  rÃ   rÁ   rÂ   )rn   r«  r@  r«  rÁ   rÂ   )r   rR   rÁ   rR   )r.  rR   rÁ   z
str | None)rÚ   r   rþ   rU   rÁ   rÂ   )r0  r¬  r.  rR   rþ   rU   rÁ   rÂ   )r0  r¬  r.  rR   rÁ   rÂ   )r0  r¬  r{   rR   rÁ   r®  )r0  r¬  r{   rR   r¾   rÃ   rÁ   rÂ   )
r0  r¬  r{   rR   r<  r¯   rÛ   r¯   rÁ   r¯   )r0  r¬  rm  rR   rn  rR   rÁ   rÂ   )
rH   ú
str | Pathrp  r¯  rj  rÒ   rk  rÒ   rÁ   rÂ   )r0  r¬  r{   rR   rÁ   rÂ   )rG   r   rm  rR   rn  rR   rÁ   r«  )rÚ   rR   rÁ   r«  )r{  ztuple[str, ...]rÁ   z%tuple[list[str], list[BaseException]])rÚ   rR   rÁ   z!tuple[bool, BaseException | None])r�  rR   r»   zlist[BaseException]rÁ   rÂ   )rG   r   r{   rR   rÁ   r«  )rÚ   r   rÁ   zOSError | None)rG   rR   rÁ   r¯   )rÚ   r   rŒ  r¯   rÁ   r  )rÚ   r   rŒ  r¯   rÁ   ztuple[int, bytes])
r¹   r¯   rÚ   r   rb  úos.stat_resultrŒ  r¯   rÁ   r  )rZ   rR   rG   r   rÁ   rÂ   )r{   rR   rÁ   rÂ   )rG   r   r{   rR   rÁ   rÂ   )rZ   rR   r–   zNotImplementedError | OSErrorrÁ   rÂ   )rª  r°  rÁ   rÃ   )~Ú
__future__r   rd  rC   rƒ   rU  rs  r@   rÙ   Údataclassesr   r‹   r   r   r   r   r	   r
   r   r   Úpathlibr   Útypingr   r   r   r   Ú_apir   r   r   Ú_errorr   Ú	_identityr   r   Ú_soft_protocolr   Ú_utilr   r   Úcollections.abcr   rÏ   Ú	frozensetr   rÉ   r    r"   r#   r$   r&   r(   r)   r+   r,   r-   r/   r0   r1   r7  r3   r  r4   r7   Úhasattrr9   rg  Úsupports_dir_fdr:   r`  r;   r<   r8   r=   rJ   rK   rM   rÎ   Ú	Exceptionrˆ   r]   rÖ   rì   ræ   rñ   râ   r‚   rç   rå   r…   r€   r‡   r†   r,  r:  r9  r;  r*  rû   rØ   rü   r[  rF  rC  r8  rE  rl  rB  r�   rx  r³   rz  rµ   r¡   r„  r+  rö   rÝ   r�  r\   rŸ   r    r‰   r_   Ú__all__r}   r�   rI   ú<module>rÀ     sN  ðÞ "ã Û 	Û Û Û 
Û Û Ý !ß O× OÓ OÝ ß 6Ó 6ç AÑ AÝ -ß 5Ý 7ß 5áÝ(à"Ð#3Ñ4Ð á'0°(¸FÐ1CÓ'D€Ð$Ó DØ#.Ð �jÓ .Ø$,Ð �zÓ ,Ø/€ˆjÓ /Ø"&Ð �ZÓ &Ø%&Ð ˜
Ó &Ø "Ð �:Ó "Ø%3Ð ˜
Ó 3Ø%+Ð ˜
Ó +Ø02Ð ! :Ó 2Ø&)Ð �|Ó )Ø"$Ð �ZÓ $à"%Ð �<Ó %Ø"'Ð �<Ó 'ñ    J°Ó2€	ˆ:Ó 2Ø!CÐ!<×!CÑ!CÓ!EÐ �,Ó EÙ8AÂ+Ó8NÐ Ð 5Ó Nñ
 !  VÓ,€	ˆ;Ó ,ð &(§W¡W°×0BÑ0BÐ%BÐ �{Ó BØ')§y¡y°B×4FÑ4FÐ'FÐ ˜Ó FØ%'§W¡W°×0BÑ0BÐ%BÐ �{Ó BØ%.Ò%P°2·7±7¸b×>PÑ>PÐ3PÐ �{Ó Póñ$ -HÓ,IÐ ˜kÓ Iôec˜ô ecñP �$Ô÷
ð 
ó ð
ô	 9ô 	óó4óó"ó4Ló"
ó.ðuØðuà
ðuð 5ðuð ð	uð
 óuó8	=ó'ó>óeðØðàðð ðð ó	ð6%EØ)ð%Eàð%Eð ð%Eð ð	%Eð
 
ó%EðP%Ø)ð%àð%ð ð%ð -ð	%ð
 7ó%ð0.Ø)ð.àð.ð &ð.ð 
ó	.ð$Ø%ðà&ðð 
óótó
óHóó0/ó	%ð2Ø)ð2à
ð2ð ð2ð 
ó	2óóUð "Ø!ñSØðSàðSð ð	Sð
 ðSð 
óSó*'óó(Dó
óóóó<óóóó$ó
kóóGóLó ò�r�   