Photos: 49ers Complete OTAs

View the top images from the final two days of 49ers organized team activities.

Advertising

Advertising