(cherry picked from commit 3219b7b4ac7d12aee343f6ab2980b3357fc618b6) (cherry picked from commit 49921678858a17ca58ca2ae704ced1ff584e0859)
(cherry picked from commit 3219b7b4ac7d12aee343f6ab2980b3357fc618b6) (cherry picked from commit 49921678858a17ca58ca2ae704ced1ff584e0859)