<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def sample_cc(self, nsamples=1, weighted=True):
 """ Returns a random polygon of any class. The probability of each polygon to be sampled is proportional to its area if weighted is True. """

        weights = self.areas / np.sum(self.areas) if weighted else None
        for index in np.random.choice(a=len(self.geometries), size=nsamples, p=weights):
            yield self.geometries[index]