def generate_requirements_map(bears):
    """
    For the given list of bears, returns a dict of the form
    ```
    {
        “requirement_name” : {
            “requirement_type” : NpmRequirement,
            "version" : ">=0.4.2"
            “bear” : "bear_wrapping_the_executable",
        }
    }
    ```
    """
    requirements_meta = {}
    for bear in bears:
        for req in bear.REQUIREMENTS:
            to_add = {'bear': bear, 'version': req.version, 'type': req.type}
            requirements_meta[req.package] = to_add
    return requirements_meta
