func fetchThumbnails(for ids: [String]) async throws [String: UIImage] {
	var thumbnails: [String: UIImage] = [:]

	for id in ids {
		let request = thumbnailURLRequest(for: id)
		let (data, response) = try await URLSession.shared.data(for: request)
		try validateResponse(response)
		guard let image = await UIImage(data: data)?.byPreparingThumbnail(ofSize: thumbSize) else {
			throw ThumbnailFailedError()
		}
		thumbnails[id] = image
	}
	return thumbnails
}