(cherry picked from commit f870fbb5a8cd5db9e3b4170c52d2dae45085f545)
(cherry picked from commit 65e7ee65a3b5df4e6a9093cf33fe0211d976cabc)