
    hw                        S SK Jr  S SKrS SKJr  S SKJrJr  SSKJ	r	  \R                  (       a  S SKJr  SSKJr  SS	KJr   " S
 S5      rg)    )annotationsN)deque)
CollectionIterator   )combine)Callable)FS)Infoc                  x    \ rS rSrSS jr S     SS jjrS SS4       SS jjrSSS jjrSSS	 jjrS
r	g)BoundWalker   c                    Xl         g N_fs)selffss     Y/var/www/fran/franai/venv/lib/python3.13/site-packages/fontTools/misc/filesystem/_walk.py__init__BoundWalker.__init__   s        Nc              #  J  #    [        U/5      nUR                  nUR                  nU R                  R                  n[
        nU(       aR  U" 5       nU" XS9 H8  n	U	R                  (       a  X4v   U" U" XR                  5      5        M3  X4v   M:     U(       a  MR  US4v   g7f)z*Walk files using a *breadth first* search.)
namespacesN)r   
appendleftpopr   scandirr   is_dirname)
r   pathr   queuepushr   _scan_combinedir_pathinfos
             r   
_iter_walkBoundWalker._iter_walk   s      tfii  uHh>;;".((II67".( ? e Djs   BB#B#c                    g)NT )r    r&   s     r   <lambda>BoundWalker.<lambda>*   s    $r   /c              #     #    [         nU R                  X#5       H-  u  p%Uc  M
  U" X%5      (       d  M  U" X%R                  5      v   M/     g 7fr   )r   r'   r   )r   includer    r   r$   r&   s         r   _filterBoundWalker._filter(   s@      //$;JDGD$7$7tYY// <s   AAAc              #  F   #    U R                  S U5       S h  vN   g  N7f)Nc                    UR                   $ r   )is_file_r&   s     r   r+   #BoundWalker.files.<locals>.<lambda>4   s    r   r0   r   r    s     r   filesBoundWalker.files3   s     << <dCCC   !!c              #  F   #    U R                  S U5       S h  vN   g  N7f)Nc                    UR                   $ r   )r   r5   s     r   r+   "BoundWalker.dirs.<locals>.<lambda>7   s    r   r8   r9   s     r   dirsBoundWalker.dirs6   s     << ;TBBBr<   r   )r   r
   r   )r    strr   Collection[str] | Nonereturnz!Iterator[tuple[str, Info | None]])r/   zCallable[[str, Info], bool]r    rB   r   rC   rD   Iterator[str])r-   )r    rB   rD   rE   )
__name__
__module____qualname____firstlineno__r   r'   r0   r:   r@   __static_attributes__r*   r   r   r   r      ss     ?C%;	*, 0G-1		0,	0 	0 +		0
 
	0DC Cr   r   )
__future__r   typingcollectionsr   collections.abcr   r   _pathr   TYPE_CHECKINGr	   _baser
   _infor   r   r*   r   r   <module>rS      s2    "   0 	'C 'Cr   