eSSSKrSSKrSSKrSSKrSSKrSSKJrJrJrJ r J r J r J r SSKJ r Jr SSKJr \\\R"\4r/SQr"SS\R(S9r"S S \5r\ "S S \55r"S S\5rg)N)AnyBinaryIOIterableIteratorNoReturnTextOptional)runtime_checkableProtocol)Union)ResourceReader TraversableTraversableResourcesc\rSrSrSr\R S\S\4Sj5r \R S\S\4Sj5r \R S\S\ 4Sj5r \R S\ \4S j5rS rg ) r zDAbstract base class for loaders to provide resource reading support.resourcereturnc[e)zReturn an opened, file-like object for binary reading. The 'resource' argument is expected to represent only a file name. If the resource cannot be found, FileNotFoundError is raised. FileNotFoundErrorselfrs =/opt/imh/python3.13/lib/python3.13/importlib/resources/abc.py open_resourceResourceReader.open_resources  c[e)zReturn the file system path to the specified resource. The 'resource' argument is expected to represent only a file name. If the resource does not exist on the file system, raise FileNotFoundError. rrs r resource_pathResourceReader.resource_paths  rpathc[e)zZReturn True if the named 'path' is a resource. Files are resources, directories are not. rrr s r is_resourceResourceReader.is_resource,s  rc[e)z+Return an iterable of entries in `package`.rrs rcontentsResourceReader.contents4s  rN)__name__ __module__ __qualname____firstlineno____doc__abcabstractmethodrrrrboolr#rstrr'__static_attributes__r)rrr r sN  d  x       d  t           (3-  rr ) metaclassc\rSrSrSrg)TraversalError:r)N)r*r+r,r-r3r)rrr6r6:srr6cN\rSrSrSr\R S\S4Sj5rS\ 4Sjr SS\ \ S\ 4Sjjr \R S\4S j5r\R S\4S j5rS \SS4S jrS \SS4Sjr\R SSj5r\\R S\ 4Sj55rSrg)r>z An object with a subset of pathlib.Path methods suitable for traversing directories and opening files. Any exceptions that occur when accessing the backing resource may propagate unaltered. rcg)z# Yield Traversable objects in self Nr)r&s riterdirTraversable.iterdirHrczURS5nUR5sSSS5 $!,(df  g=f)z Read contents of self as bytes rbNopenread)rstrms r read_bytesTraversable.read_bytesNs$YYt_99;__s, :NencodingcvURUS9nUR5sSSS5 $!,(df  g=f)z Read contents of self as text )rFNr@)rrFrCs r read_textTraversable.read_textUs)YYY )T99;* ) )s* 8cg)z$ Return True if self is a directory Nr)r&s ris_dirTraversable.is_dir\r=rcg)z Return True if self is a file Nr)r&s ris_fileTraversable.is_filebr=r descendantscZ^U(dU$[RRS[[R U555n[ U5mU4SjUR55n[ U5nUR"U6$![a [ST[U55ef=f)z Return Traversable resolved with any descendants applied. Each descendant should be a path segment relative to self and each may contain multiple levels separated by ``posixpath.sep`` (``/``). c38# UHoRv M g7fN)parts).0r s r 'Traversable.joinpath..rs. #J4JJ#Jc3J># UHoRT:XdMUv M g7frSname)rU traversabletargets rrVrWvs" +9K=M=MQW=WKK>s# #z"Target not found during traversal.) itertoolschain from_iterablemappathlib PurePosixPathnextr; StopIterationr6listjoinpath)rrPnamesmatchesmatchr]s @rrgTraversable.joinpathhsK--. #&w'<'  ME ~~u%%   4fd5k  s / B !B*childc$URU5$)z" Return Traversable child in self )rg)rrls r __truediv__Traversable.__truediv__s}}U##rcg)z mode may be 'r' or 'rb' to open as text or binary. Return a handle suitable for reading (same as pathlib.Path.open). When opening as text, accepts encoding parameters such as those accepted by io.TextIOWrapper. Nr))rmodeargskwargss rrATraversable.openr=rcg)z= The base name of this object without any parent references. Nr)r&s rr[Traversable.namer=rr)rS)r)r*r+r,r-r.r/r0rr;bytesrDr r2rHr1rKrNStrPathrgrnrApropertyr[r3r)rrrr>s  -0  E(3-3        &W&&2$$]$     c  rrc\rSrSrSr\R S Sj5rS\S\ R4Sjr S\ S\ 4SjrS\S\4S jrS\\4S jrS rg )rz= The required interface for providing traversable resources. rcg)z3Return a Traversable object for the loaded package.Nr)r&s rfilesTraversableResources.filesr=rrc^UR5RU5RS5$)Nr?)r~rgrArs rr"TraversableResources.open_resources$zz|$$X.33D99rc[U5erSrrs rr"TraversableResources.resource_paths ))rr c\UR5RU5R5$rS)r~rgrNr"s rr# TraversableResources.is_resources"zz|$$T*2244rcLSUR5R55$)Nc38# UHoRv M g7frSrZ)rUitems rrV0TraversableResources.contents..s=&(3->rr)r/rr^osrbtypingrrrrrrr r r r r2PathLikery__all__ABCMetar Exceptionr6rrr)rrrs  NNN. R[[%% & C' s{{' T Y W (W W t>>>r