h SrSSKJr SSKrSSKrSSKJrJr SSK J r J r SSK J r SSKJr SS KJr \ "S S S 9r\ "S S S 9rSrSSjr\4SSjjrSSSjjr\R0"\\S9rg)z2Timestamp comparison of files and groups of files.) annotationsN)CallableIterable)LiteralTypeVar)splat) zip_strict)DistutilsFileError _SourcesT3str | bytes | os.PathLike[str] | os.PathLike[bytes])bound _TargetsTc[RRU5(+=(d? [RRU5[RRU5:$N)ospathexistsgetmtimesourcetargets A/usr/lib/python3/dist-packages/setuptools/_distutils/_modified.py_newerrsEww~~f% %   277#3#3F#;;c[RRU5(d-[S[RR U5<S35e[ X5$)z Is source modified more recently than target. Returns True if 'source' is modified more recently than 'target' or if 'target' does not exist. Raises DistutilsFileError if 'source' does not exist. zfile z does not exist)rrrr abspathrrs rnewerrsD 77>>& ! ! 5)@(C?!STT & !!rc[[U5[X55n[[ [ [ U655=(d //4$)a Filter filenames where sources are newer than targets. Walk two filename iterables in parallel, testing if each source is newer than its corresponding target. Returns a pair of lists (sources, targets) where source is newer than target, according to the semantics of 'newer()'. )filterrr tuplemaplistzip)sourcestargetsr newer_pairss rnewer_pairwiser(/s9uz''CDK T3 ,- . :2r(:rc^^^U4SjmTS:Xa[RROSn[RRT5(+=(d [UU4Sj[ X0555$)a Is target out-of-date with respect to any file in sources. Return True if 'target' is out-of-date with respect to any file listed in 'sources'. In other words, if 'target' exists and is newer than every file in 'sources', return False; otherwise return True. ``missing`` controls how to handle a missing source file: - error (default): allow the ``stat()`` call to fail. - ignore: silently disregard any missing source files. - newer: treat missing source files as "target out of date". This mode is handy in "dry-run" mode: it will pretend to carry out commands that wouldn't work because inputs are missing, but that doesn't matter because dry-run won't run the commands. cd>TS:H=(a$ [RRU5(+$)Nr)rrr)rmissings rmissing_as_newer%newer_group..missing_as_newerUs#'!@"''..*@&@@rignoreNc3Z># UH nT"U5=(d [UT5v M" g7fr)r).0rr,rs r newer_group..Ys,-.F  :F66$::.s(+)rrranyr )r%rr+ignoredr,s `` @r newer_groupr5@sW*A!(8 3bggnnGww~~f% % -W.-*r)r)rr rr returnbool)r%zIterable[_SourcesT]r&zIterable[_TargetsT]rz&Callable[[_SourcesT, _TargetsT], bool]r6z'tuple[list[_SourcesT], list[_TargetsT]])error)r%z=Iterable[str | bytes | os.PathLike[str] | os.PathLike[bytes]]rr r+z#Literal['error', 'ignore', 'newer']r6r7)__doc__ __future__r functoolsos.pathrcollections.abcrrtypingrrjaraco.functoolsr compat.py39r errorsr r rrrr(r5partialnewer_pairwise_grouprrrEs8".#"#& L   L   " ?" ?" "*5:; ; ; 2;- ;(4; J ?1 >!(({Kr