how to array objects along mesh ?

how to array objects along mesh in blender and make it deform along mesh normals like, this ? https://storage.googleapis.com/blender-chat/r3Jx5ugeNPpZscrbD%2Fuploads%2F3sqY8bagtRBN9hxKr%2FKpbznePC4MHZbPSb9%2FNqFDTfRu5Jt4J5vki?GoogleAccessId=blender-chat%40blender-chat.iam.gserviceaccount.com&Expires=1608829797&Signature=btzChJC%2BmPcR6zcnuq9nYhvixqpU%2B%2B94BmNn8ZoFhycWeyVsiza2cfMf%2BgvEWe1wsmgejWTrAoT6u3SYr0yyeilqDF3f2ck9sQK1rNeGUyXdGd0MhT434ymutEdtasduPXUluETZV9hgDqgypsNGbyYNm4y3MEbD6cis9F2UdjdkKFfvOP1ICfgReTVFZ%2BC3DHzb3oX9W4QoR7zsNLECxtE6dvziopNJAMhOlGFGLKymtpC6mIKJJe1Wf%2FmJUpDtbfOBZSaRuEpfEIqgItLkAZYSi0T2rdgo1GJjyjQLowrAKkquGNBS0bbXNORgBSKercflKwicgcmikmzdn3XU4w%3D%3D&response-content-disposition=attachment