code: def fetch_urls(urls, timeout=None):
          
          threads = [threading.Thread(target=SimpleCrawler._fetch_url, args=(url, True, timeout)) for url in urls]
          for thread in threads:
              thread.start()
          for thread in threads:
              thread.join()
  
          results = copy.deepcopy(SimpleCrawler._results)
          SimpleCrawler._results = {}
          return results
docs: Crawls the html content of all given urls in parallel. Returns when all requests are processed.
          :param urls:
          :param timeout: in seconds, if None, the urllib default is used
          :return: