'Provides the microdescriptors with the given hashes. To get these see the
\'microdescriptor_hashes\' attribute of
:class:`~stem.descriptor.router_status_entry.RouterStatusEntryV3`. Note
that these are only provided via a microdescriptor consensus (such as
\'cached-microdesc-consensus\' in your data directory).
:param str,list hashes: microdescriptor hash or list of hashes to be
retrieved
:param query_args: additional arguments for the
:class:`~stem.descriptor.remote.Query` constructor
:returns: :class:`~stem.descriptor.remote.Query` for the microdescriptors
:raises: **ValueError** if we request more than 92 microdescriptors by their
hashes (this is due to a limit on the url length by squid proxies).'

def get_microdescriptors(self, hashes, **query_args):

    if isinstance(hashes, str):
        hashes = [hashes]
    if (len(hashes) > MAX_MICRODESCRIPTOR_HASHES):
        raise ValueError(('Unable    to    request    more    than    %i    microdescriptors    at    a    time    by    their    hashes' % MAX_MICRODESCRIPTOR_HASHES))
    return self.query(('/tor/micro/d/%s.z' % '-'.join(hashes)), **query_args)
