code: def ok_tags(tags: dict) -> bool:
          
  
          if not tags:
              return True
          depth = 0
          queue = [(i, depth+1) for i in tags.values() if isinstance(i, dict)]
          max_depth = 0
          while queue and max_depth < 2:
              sub, depth = queue.pop()
              max_depth = max(max_depth, depth)
              queue = queue + [(i, depth+1) for i in sub.values() if isinstance(i, dict)]
  
          return max_depth < 2 and all(isinstance(k, str) and isinstance(tags[k], str) for k in tags)
docs: Whether input tags dict is OK as an indy-sdk tags structure (depth=1, string values).