(cherry picked from commit 43f0503286eccbc6bb8ae77584b635bfd0c48e50) (cherry picked from commit 756a06814355465c85b9d66f262ee875dd86dbb7)