code: def combine_nested_dicts(*nested_dicts, depth=-1, base=None):
      
  
      if base is None:
          base = {}
  
      for nested_dict in nested_dicts:
          for k, v in stack_nested_keys(nested_dict, depth=depth):
              while k:
                  # noinspection PyBroadException
                  try:
                      get_nested_dicts(base, *k[:-1])[k[-1]] = v
                      break
                  except Exception:
                      # A branch of the nested_dict is longer than the base.
                      k = k[:-1]
                      v = get_nested_dicts(nested_dict, *k)
  
      return base
docs: Merge nested-dictionaries.
  
      :param nested_dicts:
          Nested dictionaries.
      :type nested_dicts: dict
  
      :param depth:
          Maximum keys depth.
      :type depth: int, optional
  
      :param base:
          Base dict where combine multiple dicts in one.
      :type base: dict, optional
  
      :return:
          Combined nested-dictionary.
      :rtype: dict