Rupee weakens 21 paisa against dollar