(cherry picked from commit 670e60527512813897c1d396d00016efbca7c83d)
(cherry picked from commit ad3c5fcee5648d942512a31faf3cab4f15272d85)