+
    f7i  c                  s    ^ RI Ht ^ RIt^ RIHt ^RIHt ^RIHtH	t	 ]P                  '       d   ^ RIHt ^ RIHtHt ^RIHt  ! R	 R
]4      t ! R R]4      tR# )i    )annotationsN)PurePosixPath)FS)DirectoryExpectedResourceNotFound)
Collection)IOAny)Infoc                  s$  a  ] tR t^tRtR V 3R lltR tR R ltR*R R lltR	 R
 lt	R R lt
R R ltR R ltR+R R lltR+R R lltR,R R lltR R ltR R ltR R ltR+R R lltR R  ltR! R" ltR# R$ ltR% R& ltR' R( ltR)tV ;t# )-SubFSz+Maps a sub-directory of another filesystem.c                    V ^8  d   QhRRRR/# )   parentr   sub_pathstr Zformat   "G/usr/lib64/python3.14/site-packages/fontTools/misc/filesystem/_subfs.py__annotate__SubFS.__annotate__   s     H Hr HS H    c                	sJ  < \         SV `  4        Wn        \        V4      P	                  4       P                  R 4      V n        VP                  V P                  4      '       g   \        RV: 24      hVP                  V P                  4      '       g   \        V: R24      hR# )/zNo such file or directory: z is not a directoryN)super__init___parentr   as_posixZrstrip_prefixexistsr   isdirr   )selfr   r   	__class__s   &&&r   r   ZSubFS.__init__   s    $X.779@@E}}T\\**"%@#MNNdll++#xl2E$FGG ,r   c                	s    V P                   # N)r   r      &r   delegate_fsZSubFS.delegate_fs   s    ||r   c                    V ^8  d   QhRRRR/# )r   relr   returnr   r   r   r   r   r      s     M M M Mr   c                	s    V P                  4        V P                   R \        V4      P                  4        2P	                  R 4      # r   )Zcheckr   r   r   Zlstrip)r   r%      &&r   _fullZSubFS._full   s:    

,,qs!3!<!<!> ?@GGLLr   c               $    V ^8  d   QhRRRRRR/# )r   pathr   moder&   zIO[Any]r   r   r   r   r   r   #   s&     C C CC CW Cr   c                	s\    V P                   P                  ! V P                  V4      V3/ VB # r    )r   openr)   )r   r+   r,   Zkwargss   &&&,r   r-   Z
SubFS.open#   s'    ||  D!14B6BBr   c               r
   r   r+   r   r&   boolr   r   r   r   r   r   &        5 53 54 5r   c                	V    V P                   P                  V P                  V4      4      # r    )r   r   r)   r   r+   r(   r   r   ZSubFS.exists&        ||""4::d#344r   c               r
   r.   r   r   r   r   r   r   )   s     4 4# 4$ 4r   c                	r1   r    )r   r   r)   r2   r(   r   r   ZSubFS.isdir)   s     ||!!$**T"233r   c               r
   r.   r   r   r   r   r   r   ,   r0   r   c                	r1   r    )r   isfiler)   r2   r(   r   r4   ZSubFS.isfile,   r3   r   c               r
   )r   r+   r   r&   z	list[str]r   r   r   r   r   r   /   s     6 6C 6I 6r   c                	r1   r    )r   listdirr)   r2   r(   r   r5   ZSubFS.listdir/   s     ||##DJJt$455r   c               r
   r   r+   r   recreater/   r   r   r   r   r   r   2   s     I IC I4 Ir   c                	Z    V P                   P                  V P                  V4      VR 7      # )r7   )r   makedirr)   r   r+   r7      &&&r   r:   ZSubFS.makedir2   s%    ||##DJJt$4x#HHr   c               r
   r6   r   r   r   r   r   r   5   s     J JS JD Jr   c                	r8   r9   )r   makedirsr)   r;   r<   r   r=   ZSubFS.makedirs5   s%    ||$$TZZ%5$IIr   c               s$    V ^8  d   QhRRRRRR/# )r   r+   r   
namespaceszCollection[str] | Noner&   r   r   r   r   r   r   r   8   s'     M MC M-C Mt Mr   c                	r8   ))r>   )r   getinfor)   )r   r+   r>   r<   r   r?   ZSubFS.getinfo8   s%    ||##DJJt$4#LLr   c                   V ^8  d   QhRR/# r   r+   r   r   r   r   r   r   r   ;   s     5 53 5r   c                	r1   r    )r   remover)   r2   r(   r   rB   ZSubFS.remove;   r3   r   c               r@   rA   r   r   r   r   r   r   >   s     8 8c 8r   c                	r1   r    )r   	removedirr)   r2   r(   r   rC   ZSubFS.removedir>        ||%%djj&677r   c               r@   rA   r   r   r   r   r   r   A   s     9 9s 9r   c                	r1   r    )r   
removetreer)   r2   r(   r   rE   ZSubFS.removetreeA        ||&&tzz$'788r   c               r*   )r   srcr   dstcreater/   r   r   r   r   r   r   D   s&     N N3 NS N$ Nr   c                	s~    V P                   P                  V P                  V4      V P                  V4      VR 7       R# ))rI   N)r   movedirr)   )r   rG   rH   rI   s   &&&&r   rJ   ZSubFS.movedirD   s+    TZZ_djjofMr   c               r$   )r   r+   r   r&   r   r   r   r   r   r   G   s     9 9s 9s 9r   c                	r1   r    )r   
getsyspathr)   r2   r(   r   rK   ZSubFS.getsyspathG   rF   r   c               r
   )r   r+   r   r&   bytesr   r   r   r   r   r   J   s     8 8c 8e 8r   c                	r1   r    )r   	readbytesr)   r2   r(   r   rM   ZSubFS.readbytesJ   rD   r   c               r
   )r   r+   r   datarL   r   r   r   r   r   r   M   s     8 8s 8% 8r   c                	s\    V P                   P                  V P                  V4      V4       R # r    )r   
writebytesr)   )r   r+   rN   r<   r   rO   ZSubFS.writebytesM   s    

4 0$7r   c               r@   r   r&   r   r   r   r   r   r   r   P   s     P P# Pr   c                	sl    V P                   P                   R V P                  : RV P                  : R2# )Z(z, Z))r   __name__r   r   r!   r"   r   __repr__ZSubFS.__repr__P   s0    ..))*!DLL+;2dll=MQOOr   c               r@   rP   r   r   r   r   r   r   S   s     0 0 0r   c                	s8    V P                    R V P                   2# r'   r   r   r!   r"   r   __str__ZSubFS.__str__S   s    ,,q//r   rS   )Zrb)Fr    )rQ   
__module____qualname____firstlineno____doc__r   r#   r)   r-   r   r   r4   r5   r:   r=   r?   rB   rC   rE   rJ   rK   rM   rO   rR   rT   __static_attributes____classcell__r      @r   r	   r	      s}    5H HMC5456IJM589N988P0 0r   r	   c                  s,   a  ] tR t^WtRtV 3R ltRtV ;t# )ClosingSubFSz>Like SubFS, but auto-closes the parent filesystem when closed.c                	sX   < \         SV `  4        V P                  P                  4        R # r    )r   closer   )r   r   s   &r   r^   ZClosingSubFS.closeZ   s    r   r   )rQ   rU   rV   rW   rX   r^   rY   rZ   r[   r\   r   r]   r]   W   s    H r   r]   )Z
__future__r    ZtypingZpathlibr   Z_baser   Z_errorsr   r   ZTYPE_CHECKINGZcollections.abcr   r   r   Z_infor   r	   r]   r   r   r   <module>r_      sD    "  !  8	*D0B D0N5 r   