idle animation not found

here is my script

var run : AnimationClip;
var idle : AnimationClip;

function Update () {
if (Input.GetKey("a"))
 transform.Rotate(Vector3.up * Time.deltaTime * -60);
 
if(Input.GetKey("d"))
  transform.Rotate(Vector3.up * Time.deltaTime * 60);
  
  if (Input.GetKey("w"))
  transform.Translate(Vector3.left * Time.deltaTime * 8);
  
   if (Input.GetKey("s"))
  transform.Translate(Vector3.left * Time.deltaTime * -4);

  if (Input.GetKeyDown("w"))
  animation.Play('run');
    
  if (Input.GetKeyUp("w"))
  animation.CrossFade('idle', 0.2);
  animation.Stop('run');
  }

unity says it cant find run or idle so they can not be played, it works if i take out the crossfade part but then the running animation stops with the guys legs not on the ground and it starts again when i move forwards

if (Input.GetKeyDown(“w”))
animation.Play(‘run’);

  if (Input.GetKeyUp("w"))
  animation.CrossFade('idle', 0.2);
  animation.Stop('run');

In those three animation calls, you used ( ’ ) instead of ( " ) to enclose your strings.