M0 upstream