code: 
  
  
  import hashlib
  import importlib.util
  import json
  import os
  import pathlib
  from types import ModuleType
  
  import pytest
  import requests
  
  __a   				=      pathlib.Path.cwd().joinpath('''project_euler''')
  __a   				=      pathlib.Path.cwd().joinpath(
      '''scripts''', '''project_euler_answers.json'''
  )
  
  with open(PROJECT_EULER_ANSWERS_PATH) as file_handle:
    __a   				=      json.load(file_handle)
  
  
  
  
  def 			__lowercase	(						_UpperCamelCase     )    ->ModuleType:
  
  
  
  
  
  
  
        """simple docstring"""
  
        lowercase			:   Optional[Any]					   =		importlib.util.spec_from_file_location(file_path.name,    str(_UpperCamelCase     )     )
        lowercase			:   Any					   =		importlib.util.module_from_spec(_UpperCamelCase     )  # type: ignore
        spec.loader.exec_module(_UpperCamelCase     )  # type: ignore
        return module
  
  
  
  
  def 			__lowercase	(						)    ->list[pathlib.Path]:
  
  
  
  
  
  
  
        """simple docstring"""
  
        lowercase			:   Optional[int]					   =		[]
        for problem_dir_path in PROJECT_EULER_DIR_PATH.iterdir():
              if problem_dir_path.is_file() or problem_dir_path.name.startswith('''_'''     ):
                    continue
              for file_path in problem_dir_path.iterdir():
                    if file_path.suffix != ".py" or file_path.name.startswith(('''_''', '''test''')     ):
                          continue
                    solution_file_paths.append(_UpperCamelCase     )
        return solution_file_paths
  
  
  
  
  def 			__lowercase	(						)    ->str:
  
  
  
  
  
  
  
        """simple docstring"""
  
        with open(os.environ['''GITHUB_EVENT_PATH''']     ) as file:
              lowercase			:   Any					   =		json.load(_UpperCamelCase     )
        return event["pull_request"]["url"] + "/files"
  
  
  
  
  def 			__lowercase	(						)    ->list[pathlib.Path]:
  
  
  
  
  
  
  
        """simple docstring"""
  
        lowercase			:   int					   =		[]
        lowercase			:   Any					   =		{
            '''Accept''': '''application/vnd.github.v3+json''',
            '''Authorization''': '''token ''' + os.environ['''GITHUB_TOKEN'''],
        }
        lowercase			:   Optional[int]					   =		requests.get(get_files_url(),    headers=_UpperCamelCase     ).json()
        for file in files:
              lowercase			:   Optional[int]					   =		pathlib.Path.cwd().joinpath(file['''filename''']     )
              if (
                  filepath.suffix != ".py"
                  or filepath.name.startswith(('''_''', '''test''')     )
                  or not filepath.name.startswith('''sol'''     )
              ):
                    continue
              solution_file_paths.append(_UpperCamelCase     )
        return solution_file_paths
  
  
  
  
  def 			__lowercase	(						)    ->list[pathlib.Path]:
  
  
  
  
  
  
  
        """simple docstring"""
  
        if os.environ.get('''CI'''     ) and os.environ.get('''GITHUB_EVENT_NAME'''     ) == "pull_request":
              # Return only if there are any, otherwise default to all solutions
              if filepaths := added_solution_file_path():
                    return filepaths
        return all_solution_file_paths()
  
  
  
  
  @pytest.mark.parametrize(
      '''solution_path''',    collect_solution_file_paths(),    ids=lambda _UpperCamelCase     : f"""{path.parent.name}/{path.name}""",    )
  def 			__lowercase	(						_UpperCamelCase     )    ->None:
  
  
  
  
  
  
  
        """simple docstring"""
  
        lowercase			:   Optional[Any]					   =		solution_path.parent.name[8:].zfill(3     )
        lowercase			:   List[str]					   =		PROBLEM_ANSWERS[problem_number]
        lowercase			:   Dict					   =		convert_path_to_module(_UpperCamelCase     )
        lowercase			:   Tuple					   =		str(solution_module.solution()     )  # type: ignore
        lowercase			:   Tuple					   =		hashlib.shaaaa(answer.encode()     ).hexdigest()
        assert (
            answer == expected
        ), f"""Expected solution to {problem_number} to have hash {expected}, got {answer}"""
  
style_context: 
  
  
  from __future__ import annotations
  
  
  
  
  def 			__lowercase	(						_UpperCamelCase     )    ->list[int]:
  
  
  
  
  
  
  
        """simple docstring"""
  
        assert (
            isinstance(_UpperCamelCase,    _UpperCamelCase     ) and mask > 0
        ), f"""mask needs to be positive integer, your input {mask}"""
        lowercase			:   Optional[int]					   =		[]
        lowercase			:   Optional[int]					   =		mask
  
        while submask:
              all_submasks.append(_UpperCamelCase     )
              lowercase			:   Dict					   =		(submask - 1) & mask
  
        return all_submasks
  
  
  if __name__ == "__main__":
    import doctest
  
    doctest.testmod()
  
  