def METHOD_NAME(diff: str) -> typing.List[Annotation]:
	"""
	parse_diff parses a git diff output and returns the corresponding annotations.
	>>> diff= '''diff --git a/test b/test
	... index c9072dcb7..2b7686061 100644
	... --- a/test
	... +++ b/test
	... @@ -24,7 +24,7 @@ package tc
	...  // in: body
	...  type ASNsResponse struct {
	...         // in: body
	... -       Response []ASN `json:"response"`
	... +Response []ASN `json:"response"`
	...         Alerts
	...  }
	...
	... @@ -85,7 +85,7 @@ type ASNNullable struct {
	...         // ID of the ASN
	...         //
	...         // required: true
	... -       ID *int `json:"id" db:"id"`
	... +ID *int `json:"id" db:"id"`
	...
	...         // LastUpdated
	...         //
	... diff --git a/quest b/quest
	... index 283901f14..0c1e2b0c1 100644
	... --- a/quest
	... +++ b/quest
	... @@ -1,7 +1,7 @@
	...  package tc
	...
	...  import (
	... -       "database/sql"
	... +"database/sql"
	...  )
	...
	...  /*
	... '''
	>>> anns = parse_diff(diff)
	>>> len(anns)
	3
	>>> anns[0]
	Annotation(level=Level.error, file='test', line=27)
	>>> anns[1]
	Annotation(level=Level.error, file='test', line=88)
	>>> anns[2]
	Annotation(level=Level.error, file='quest', line=4)
	"""
	lines = diff.splitlines()
	if len(lines) < 5:
		raise ValueError(f"'{diff}' does not represent a git diff")
	match = FILE_HEADER_PATTERN.match(lines[0])
	if not match or len(match.groups()) != 2:
		raise ValueError(f"invalid git diff file header: '{lines[0]}''")
	file = lines[:4]
	lines = lines[4:]
	annotations = []
	for line in lines:
		if FILE_HEADER_PATTERN.match(line):
			annotations += parse_file("\n".join(file))
			file = []
		file.append(line)
	if file:
		annotations += parse_file("\n".join(file))
	return annotations