- upstream merge 9b3b42316f25a84530e3bbc8b3887ced4ad9838c