def get_backoff_time(self, settings):
        """
        Calculates how long to sleep before retrying.

        :param Optional[Dict[str, Any]] settings: The configurable values pertaining to get backoff time.
        :returns:
            An integer indicating how long to wait before retrying the request,
            or None to indicate no retry should be performed.
        :rtype: int or None
        """
        random_generator = random.Random()
        backoff = self.initial_backoff + (0 if settings['count'] == 0 else pow(self.increment_base, settings['count']))
        random_range_start = backoff - self.random_jitter_range if backoff > self.random_jitter_range else 0
        random_range_end = backoff + self.random_jitter_range
        return random_generator.uniform(random_range_start, random_range_end)

        Calculates how long to sleep before retrying.

        :param Optional[Dict[str, Any]] settings: The configurable values pertaining to get backoff time.
        :returns:
            An integer indicating how long to wait before retrying the request,
            or None to indicate no retry should be performed.
        :rtype: int or None
        
Solutions/CyberArkAudit/Data Connectors/.python_packages/lib/site-packages/azure/storage/blob/_shared/policies.py