(cherry picked from commit 0d19a0ce98053572447bdadf88687ec55f2f1f46) (cherry picked from commit 7ad3162df421ee1104c90de08235af467d08e76b)