+
    &ju	                        ^ RI Ht ^ RIt^ RIt^ RIHt  ! R R]P                  4      t ! R R]4      t ! R R	]4      t	R
 R lt
R# )    )annotationsN)make_path_posixc                  \    ] tR t^	tRt]P                  R R l4       tR R ltR R lt	Rt
R	# )
AbstractCacheMapperzMAbstract super-class for mappers from remote URLs to local cached
basenames.
c                    V ^8  d   QhRRRR/#    pathstrreturn )formats   "{/Users/jameslopez/projects/CWCArchive/cwc-podcast/.venv/lib/python3.14/site-packages/fsspec/implementations/cache_mapper.py__annotate__ AbstractCacheMapper.__annotate__   s    --S-S-    c                	    R # Nr   selfr
   s   &&r   __call__AbstractCacheMapper.__call__   s    *-r   c                    V ^8  d   QhRRRR/# r	   otherobjectr   boolr   )r   s   "r   r   r      s     - -F -t -r   c                	,    \        V\        V 4      4      # r   )
isinstancetype)r   r   s   &&r   __eq__AbstractCacheMapper.__eq__   s     %d,,r   c                   V ^8  d   QhRR/# r	   r   intr   )r   s   "r   r   r      s        #  r   c                	*    \        \        V 4      4      # r   )hashr    )r   s   &r   __hash__AbstractCacheMapper.__hash__   s     DJr   r   N)__name__
__module____qualname____firstlineno____doc__abcabstractmethodr   r!   r(   __static_attributes__r   r   r   r   r   	   s,     	- --
   r   r   c                  `   a  ] tR t^tRtRR R lltR R ltR V 3R lltR V 3R	 lltR
t	V ;t
# )BasenameCacheMapperzCache mapper that uses the basename of the remote URL and a fixed number
of directory levels above this.

The default is zero directory levels, meaning different paths with the same
basename will have the same cached basename.
c                   V ^8  d   QhRR/# )r	   directory_levelsr%   r   )r   s   "r   r    BasenameCacheMapper.__annotate__$   s          r   c                	D    V^ 8  d   \        R4      hWn        RV n        R# )r   z>BasenameCacheMapper requires zero or positive directory_levelsz_@_N)
ValueErrorr5   
_separator)r   r5   s   &&r   __init__BasenameCacheMapper.__init__$   s+    aP  !1  r   c                    V ^8  d   QhRRRR/# r   r   )r   s   "r   r   r6   .   s      S S r   c                	    \        V4      pVP                  R V P                  ^,           4      vr#V'       d   V P                  P	                  V4      # V# )/)r   rsplitr5   r9   join)r   r
   prefixbitss   &&  r   r   BasenameCacheMapper.__call__.   sF    t$C)>)>)BC??''--Mr   c                    V ^8  d   QhRRRR/# r   r   )r   s   "r   r   r6   6   s     Y YF Yt Yr   c                	d   < \         SV `  V4      ;'       d    V P                  VP                  8H  # r   )superr!   r5   )r   r   	__class__s   &&r   r!   BasenameCacheMapper.__eq__6   s+    w~e$XX)>)>%BXBX)XXr   c                   V ^8  d   QhRR/# r$   r   )r   s   "r   r   r6   9   s     @ @# @r   c                	T   < \         SV `  4       \        V P                  4      ,          # r   )rF   r(   r'   r5   )r   rG   s   &r   r(   BasenameCacheMapper.__hash__9   s!    w!D)>)>$???r   )r9   r5   )r   )r*   r+   r,   r-   r.   r:   r   r!   r(   r1   __classcell__)rG   s   @r   r3   r3      s*     Y Y@ @r   r3   c                  &    ] tR t^=tRtR R ltRtR# )HashCacheMapperz0Cache mapper that uses a hash of the remote URL.c                    V ^8  d   QhRRRR/# r   r   )r   s   "r   r   HashCacheMapper.__annotate__@   s     9 9S 9S 9r   c                	f    \         P                  ! VP                  4       4      P                  4       # r   )hashlibsha256encode	hexdigestr   s   &&r   r   HashCacheMapper.__call__@   s     ~~dkkm,6688r   r   N)r*   r+   r,   r-   r.   r   r1   r   r   r   rN   rN   =   s    :9 9r   rN   c                    V ^8  d   QhRRRR/# )r	   
same_namesr   r   r   r   )r   s   "r   r   r   D   s     ! !D !-@ !r   c                :    V '       d   \        4       # \        4       # )zFactory method to create cache mapper for backward compatibility with
``CachingFileSystem`` constructor using ``same_names`` kwarg.
)r3   rN   )rX   s   &r   create_cache_mapperrZ   D   s     "$$  r   )
__future__r   r/   rR   fsspec.implementations.localr   ABCr   r3   rN   rZ   r   r   r   <module>r^      sC    " 
  8 #''  &@- @B9) 9!r   