(cherry picked from commit 1af2917856f8da3ad76bb6cbbc511627a647e091) (cherry picked from commit 40b41ac8fc1aed679d2cd45794c4fb47bdafa9b2)
(cherry picked from commit 1af2917856f8da3ad76bb6cbbc511627a647e091) (cherry picked from commit 40b41ac8fc1aed679d2cd45794c4fb47bdafa9b2)