def _get_sub_parsers_defaults(subparser, prev=[]):
    actions_grp = ([a._actions for a in subparser.choices.values()] if isinstance(subparser, _SubParsersAction) else [subparser._actions])
    sub_parsers_defaults = ([[subparser]] if (hasattr(subparser, 'default') and subparser.default) else [])
    for actions in actions_grp:
        sub_parsers_defaults += [_get_sub_parsers_defaults(a, prev) for a in actions if (isinstance(a, _SubParsersAction) and hasattr(a, 'default') and a.default)]
    return list(itertools.chain.from_iterable(sub_parsers_defaults))
def _get_sub_parsers_defaults(subparser, prev=[]):
    actions_grp = ([a._actions for a in subparser.choices.values()] if isinstance(subparser, _SubParsersAction) else [subparser._actions])
    sub_parsers_defaults = ([[subparser]] if (hasattr(subparser, 'default') and subparser.default) else [])
    for actions in actions_grp:
        sub_parsers_defaults += [_get_sub_parsers_defaults(a, prev) for a in actions if (isinstance(a, _SubParsersAction) and hasattr(a, 'default') and a.default)]
    return list(itertools.chain.from_iterable(sub_parsers_defaults))