(cherry picked from commit 21b2cb01ee27852e376cc713677f0d3ba32c80a0)
(cherry picked from commit af75306aeaaf020a37074a50f832c1b8c38ede14)