code: func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
  	tlds, err := d.getTLDs()
  	if err != nil {
  		return fmt.Errorf("namecheap: %v", err)
  	}
  
  	ch, err := newChallenge(domain, keyAuth, tlds)
  	if err != nil {
  		return fmt.Errorf("namecheap: %v", err)
  	}
  
  	records, err := d.getHosts(ch.sld, ch.tld)
  	if err != nil {
  		return fmt.Errorf("namecheap: %v", err)
  	}
  
  	// Find the challenge TXT record and remove it if found.
  	var found bool
  	var newRecords []Record
  	for _, h := range records {
  		if h.Name == ch.key && h.Type == "TXT" {
  			found = true
  		} else {
  			newRecords = append(newRecords, h)
  		}
  	}
  
  	if !found {
  		return nil
  	}
  
  	err = d.setHosts(ch.sld, ch.tld, newRecords)
  	if err != nil {
  		return fmt.Errorf("namecheap: %v", err)
  	}
  	return nil
  }
docs: // CleanUp removes a TXT record used for a previous DNS challenge.