+
    K<i                        ^ 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# )    )annotationsN)PurePosixPath)FS)DirectoryExpectedResourceNotFound)
Collection)IOAny)Infoc                  $  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 )formats   "B/usr/lib/python3/dist-packages/fontTools/misc/filesystem/_subfs.py__annotate__SubFS.__annotate__   s     H Hr HS H    c                	J  < \         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_posixrstrip_prefixexistsr   isdirr   )selfr   r   	__class__s   &&&r   r   SubFS.__init__   s    $X.779@@E}}T\\**"%@#MNNdll++#xl2E$FGG ,r   c                	    V P                   # N)r   r#   s   &r   delegate_fsSubFS.delegate_fs   s    ||r   c                    V ^8  d   QhRRRR/# )r   relr   returnr   )r   s   "r   r   r      s     M M M Mr   c                	    V P                  4        V P                   R \        V4      P                  4        2P	                  R 4      # r   )checkr    r   r   lstrip)r#   r,   s   &&r   _full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   s   "r   r   r   #   s&     C C CC CW Cr   c                	\    V P                   P                  ! V P                  V4      V3/ VB # r'   )r   openr2   )r#   r5   r6   kwargss   &&&,r   r8   
SubFS.open#   s'    ||  D!14B6BBr   c                    V ^8  d   QhRRRR/# r   r5   r   r-   boolr   )r   s   "r   r   r   &        5 53 54 5r   c                	V    V P                   P                  V P                  V4      4      # r'   )r   r!   r2   r#   r5   s   &&r   r!   SubFS.exists&        ||""4::d#344r   c                    V ^8  d   QhRRRR/# r<   r   )r   s   "r   r   r   )   s     4 4# 4$ 4r   c                	V    V P                   P                  V P                  V4      4      # r'   )r   r"   r2   r@   s   &&r   r"   SubFS.isdir)   s     ||!!$**T"233r   c                    V ^8  d   QhRRRR/# r<   r   )r   s   "r   r   r   ,   r>   r   c                	V    V P                   P                  V P                  V4      4      # r'   )r   isfiler2   r@   s   &&r   rH   SubFS.isfile,   rB   r   c                    V ^8  d   QhRRRR/# )r   r5   r   r-   z	list[str]r   )r   s   "r   r   r   /   s     6 6C 6I 6r   c                	V    V P                   P                  V P                  V4      4      # r'   )r   listdirr2   r@   s   &&r   rL   SubFS.listdir/   s     ||##DJJt$455r   c                    V ^8  d   QhRRRR/# r   r5   r   recreater=   r   )r   s   "r   r   r   2   s     I IC I4 Ir   c                	Z    V P                   P                  V P                  V4      VR 7      # )rP   )r   makedirr2   r#   r5   rP   s   &&&r   rS   SubFS.makedir2   s%    ||##DJJt$4x#HHr   c                    V ^8  d   QhRRRR/# rO   r   )r   s   "r   r   r   5   s     J JS JD Jr   c                	Z    V P                   P                  V P                  V4      VR 7      # rR   )r   makedirsr2   rT   s   &&&r   rX   SubFS.makedirs5   s%    ||$$TZZ%5$IIr   c               $    V ^8  d   QhRRRRRR/# )r   r5   r   
namespaceszCollection[str] | Noner-   r   r   )r   s   "r   r   r   8   s'     M MC M-C Mt Mr   c                	Z    V P                   P                  V P                  V4      VR 7      # ))r[   )r   getinfor2   )r#   r5   r[   s   &&&r   r]   SubFS.getinfo8   s%    ||##DJJt$4#LLr   c                   V ^8  d   QhRR/# r   r5   r   r   )r   s   "r   r   r   ;   s     5 53 5r   c                	V    V P                   P                  V P                  V4      4      # r'   )r   remover2   r@   s   &&r   rb   SubFS.remove;   rB   r   c                   V ^8  d   QhRR/# r`   r   )r   s   "r   r   r   >   s     8 8c 8r   c                	V    V P                   P                  V P                  V4      4      # r'   )r   	removedirr2   r@   s   &&r   rf   SubFS.removedir>        ||%%djj&677r   c                   V ^8  d   QhRR/# r`   r   )r   s   "r   r   r   A   s     9 9s 9r   c                	V    V P                   P                  V P                  V4      4      # r'   )r   
removetreer2   r@   s   &&r   rk   SubFS.removetreeA        ||&&tzz$'788r   c               $    V ^8  d   QhRRRRRR/# )r   srcr   dstcreater=   r   )r   s   "r   r   r   D   s&     N N3 NS N$ Nr   c                	~    V P                   P                  V P                  V4      V P                  V4      VR 7       R# ))rq   N)r   movedirr2   )r#   ro   rp   rq   s   &&&&r   rs   SubFS.movedirD   s+    TZZ_djjofMr   c                    V ^8  d   QhRRRR/# )r   r5   r   r-   r   )r   s   "r   r   r   G   s     9 9s 9s 9r   c                	V    V P                   P                  V P                  V4      4      # r'   )r   
getsyspathr2   r@   s   &&r   rw   SubFS.getsyspathG   rm   r   c                    V ^8  d   QhRRRR/# )r   r5   r   r-   bytesr   )r   s   "r   r   r   J   s     8 8c 8e 8r   c                	V    V P                   P                  V P                  V4      4      # r'   )r   	readbytesr2   r@   s   &&r   r|   SubFS.readbytesJ   rh   r   c                    V ^8  d   QhRRRR/# )r   r5   r   datarz   r   )r   s   "r   r   r   M   s     8 8s 8% 8r   c                	\    V P                   P                  V P                  V4      V4       R # r'   )r   
writebytesr2   )r#   r5   r   s   &&&r   r   SubFS.writebytesM   s    

4 0$7r   c                   V ^8  d   QhRR/# r   r-   r   r   )r   s   "r   r   r   P   s     P P# Pr   c                	l    V P                   P                   R V P                  : RV P                  : R2# )(z, ))r$   __name__r   r    r(   s   &r   __repr__SubFS.__repr__P   s0    ..))*!DLL+;2dll=MQOOr   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r   S   s     0 0 0r   c                	8    V P                    R V P                   2# r/   r   r    r(   s   &r   __str__SubFS.__str__S   s    ,,q//r   r   )rb)Fr'   )r   
__module____qualname____firstlineno____doc__r   r)   r2   r8   r!   r"   rH   rL   rS   rX   r]   rb   rf   rk   rs   rw   r|   r   r   r   __static_attributes____classcell__r$   s   @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                  ,   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                	X   < \         SV `  4        V P                  P                  4        R # r'   )r   closer   )r#   r$   s   &r   r   ClosingSubFS.closeZ   s    r   r   )r   r   r   r   r   r   r   r   r   s   @r   r   r   W   s    H r   r   )
__future__r   typingpathlibr   _baser   _errorsr   r   TYPE_CHECKINGcollections.abcr   r	   r
   _infor   r   r   r   r   r   <module>r      sD    "  !  8	*D0B D0N5 r   