code: def _add_dict_values(self, d1, d2):
          
  
          if d1 is None and d2 is None:
              return None
  
          d1 = d1 or {}
          d2 = d2 or {}
  
          added = {}
          for key in set(list(d1.keys()) + list(d2.keys())):
              added[key] = dict(d1.get(key, {}), **(d2.get(key, {})))
          return added
docs: Merges the values of two dictionaries, which are expected to be dictionaries, e.g
          d1 = {'a': {'x': pqr}}
          d2 = {'a': {'y': lmn}, 'b': {'y': rst}}
          will return: {'a': {'x': pqr, 'y': lmn}, 'b': {'y': rst}}.
          Collisions of the keys of the sub-dictionaries are not checked.