code: 
  
  
  import os
  from typing import List
  
  
  def 							SCREAMING_SNAKE_CASE					(  _UpperCAmelCase		,     _UpperCAmelCase				)    ->  Optional[int]:
  						if name != "training_function" and name != "main":
  												raise ValueError(f"""Incorrect function name passed: {name}, choose either \'main\' or \'training_function\'"""				)
  						_a ,	_a     =			[], False
  						for line in lines:
  												if not found_start and f"""def {name}""" in line:
  																		_a     =			True
  																		good_lines.append(_UpperCAmelCase				)
  																		continue
  												if found_start:
  																		if name == "training_function" and "def main" in line:
  																								return good_lines
  																		if name == "main" and "if __name__" in line:
  																								return good_lines
  																		good_lines.append(_UpperCAmelCase				)
  
  
  def 							SCREAMING_SNAKE_CASE					(  _UpperCAmelCase				)    ->  Optional[int]:
  						return [line for line in lines if not line.lstrip().startswith('#'				) and line != "\n"]
  
  
  
  
  
  
  def 							SCREAMING_SNAKE_CASE					(  _UpperCAmelCase		,     _UpperCAmelCase		,     _UpperCAmelCase		,     _UpperCAmelCase = None				)    ->  List[str]:
  						with open(_UpperCAmelCase		,     'r'				) as f:
  												_a     =			f.readlines()
  						with open(os.path.abspath(os.path.join('examples'		,     'nlp_example.py'				)				)		,     'r'				) as f:
  												_a     =			f.readlines()
  						with open(_UpperCAmelCase		,     'r'				) as f:
  												_a     =			f.readlines()
  						if secondary_filename is not None:
  												with open(_UpperCAmelCase		,     'r'				) as f:
  																		_a     =			f.readlines()
  
      # This is our base, we remove all the code from here in our `full_filename` and `feature_filename` to find the new content
  						if parser_only:
  												_a     =			clean_lines(get_function_contents_by_name(_UpperCAmelCase		,     'main'				)				)
  												_a     =			clean_lines(get_function_contents_by_name(_UpperCAmelCase		,     'main'				)				)
  												_a     =			clean_lines(get_function_contents_by_name(_UpperCAmelCase		,     'main'				)				)
  												if secondary_filename is not None:
  																		_a     =			clean_lines(get_function_contents_by_name(_UpperCAmelCase		,     'main'				)				)
  						else:
  												_a     =			clean_lines(get_function_contents_by_name(_UpperCAmelCase		,     'training_function'				)				)
  												_a     =			clean_lines(get_function_contents_by_name(_UpperCAmelCase		,     'training_function'				)				)
  												_a     =			clean_lines(get_function_contents_by_name(_UpperCAmelCase		,     'training_function'				)				)
  												if secondary_filename is not None:
  																		_a     =			clean_lines(
  																		    get_function_contents_by_name(_UpperCAmelCase		,     'training_function'				)				)
  
  						_a     =			'train_dataloader, eval_dataloader = get_dataloaders(accelerator, batch_size)\n'
  
  						# Specific code in our script that differs from the full version, aka what is new
  						_a     =			[]
  						_a     =			[]  # We keep track of the idxs just in case it's a repeated statement
  						_a     =			iter(_UpperCAmelCase				)
  						for i in range(len(_UpperCAmelCase				) - 1				):
  												if i not in passed_idxs:
  																		_a     =			next(_UpperCAmelCase				)
  																		if (line not in full_file_func) and (line.lstrip() != _dl_line):
  																								if "TESTING_MOCKED_DATALOADERS" not in line:
  																														new_feature_code.append(_UpperCAmelCase				)
  																														passed_idxs.append(_UpperCAmelCase				)
  																								else:
  																														# Skip over the `config['num_epochs'] = 2` statement
  																														_a     =			next(_UpperCAmelCase				)
  
      # Extract out just the new parts from the full_file_training_func
  						_a     =			[]
  						_a     =			[]  # We keep track of the idxs just in case it's a repeated statement
  						for i, line in enumerate(_UpperCAmelCase				):
  												if i not in passed_idxs:
  																		if (line not in full_file_func) and (line.lstrip() != _dl_line):
  																								if "TESTING_MOCKED_DATALOADERS" not in line:
  																														new_full_example_parts.append(_UpperCAmelCase				)
  																														passed_idxs.append(_UpperCAmelCase				)
  
      # Finally, get the overall diff
  						_a     =			[line for line in new_feature_code if line not in new_full_example_parts]
  						if secondary_filename is not None:
  												_a     =			[line for line in full_file_contents if line not in secondary_file_func]
  												_a     =			[line for line in diff_from_example if line not in diff_from_two]
  
  						return diff_from_example
  
  
  
style_context: 
  
  
  from .chunk_utils import chunk_layer
  from .data_transforms import make_atomaa_masks
  from .feats import atomaa_to_atomaa, frames_and_literature_positions_to_atomaa_pos, torsion_angles_to_frames
  from .loss import compute_predicted_aligned_error, compute_tm
  from .protein import Protein as OFProtein
  from .protein import to_pdb
  from .rigid_utils import Rigid, Rotation
  from .tensor_utils import dict_multimap, flatten_final_dims, permute_final_dims
  
  
  