(cherry picked from commit c38abc365c779528d5ea5d2926a895aa1211eaf9)
(cherry picked from commit a0014bed6529b15e07cf96413d4702c9904682a8)