CLASP: General-Purpose Clothes Manipulation with Semantic Keypoints