(cherry picked from commit 39f2bac38b111f90d3402229201cdb4315f5d4f5) (cherry picked from commit 9dc3683d87912d9b56a69557360c19a5896d0e51)