<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def proto_files(root):
 """Yields the path of all .proto files under the root."""

  for (dirpath, _, filenames) in os.walk(root):
    for filename in filenames:
      if filename.endswith('.proto'):
        yield os.path.join(dirpath, filename)