




# this script reports modified .py files under the desired list of top-level sub-dirs passed as a list of arguments, e.g.:
#   python ./utils/get_modified_files.py utils src tests examples
#
# it uses git to find the forking point and which files were modified - i.e. files not under git won't be considered
# since the output of this script is fed into Makefile commands it doesn't print a newline after the results

import re
import subprocess
import sys


_lowerCamelCase      :						Optional[int]							=  subprocess.check_output("""git merge-base main HEAD""".split()).decode("""utf-8""")
_lowerCamelCase      :						Any							=  subprocess.check_output(F'''git diff --name-only {fork_point_sha}'''.split()).decode("""utf-8""").split()

_lowerCamelCase      :						Optional[int]							=  """|""".join(sys.argv[1:])
_lowerCamelCase      :						str							=  re.compile(rF'''^({joined_dirs}).*?\.py$''')

_lowerCamelCase      :						List[str]							=  [x for x in modified_files if regex.match(x)]
print(""" """.join(relevant_modified_files), end="""""")









def   __snake_case    (       _lowerCAmelCase			:			int						)			->    bool:
   if num < 0:
      return False

   A_       :					int        =      num
   A_       :					int        =      0
   while num > 0:
      A_       :					str        =      rev_num * 10 + (num % 10)
      num //= 10

   return num_copy == rev_num


if __name__ == "__main__":
 import doctest

 doctest.testmod()
