# Path: pysnmp/smi/error.py
# class SmiError(PySnmpError, PyAsn1Error): pass
# class MibOperationError(SmiError):
# class GenError(MibOperationError): pass
# class NoAccessError(MibOperationError): pass
# class WrongTypeError(MibOperationError): pass
# class WrongValueError(MibOperationError): pass
# class NoCreationError(MibOperationError): pass
# class InconsistentValueError(MibOperationError): pass
# class ResourceUnavailableError(MibOperationError): pass
# class CommitFailedError(MibOperationError): pass
# class UndoFailedError(MibOperationError): pass
# class AuthorizationError(MibOperationError): pass
# class NotWritableError(MibOperationError): pass
# class InconsistentNameError(MibOperationError): pass
# class NoSuchObjectError(MibOperationError): pass
# class NoSuchInstanceError(MibOperationError): pass
# class EndOfMibViewError(MibOperationError): pass
# class RowCreationWanted(MibOperationError): pass
# class RowDestructionWanted(MibOperationError): pass
#     def __init__(self, **kwargs): self.__outArgs = kwargs
#     def __str__(self): return '%s(%s)' % (
#     def __getitem__(self, key): return self.__outArgs[key]
#     def __contains__(self, key): return key in self.__outArgs
#     def get(self, key, defVal=None): return self.__outArgs.get(key, defVal)
#     def keys(self): return self.__outArgs.keys()
#     def update(self, d): self.__outArgs.update(d)
# 
# Path: pysnmp/debug.py
# class Debug:
#     def __init__(self, *flags):
#     def __str__(self):
#     def __call__(self, msg):
#     def __and__(self, flag):
#     def __rand__(self, flag):
# def setLogger(l):
# def hexdump(octets):


import sys
    import types
from pysnmp.smi.indices import OrderedDict, OidOrderedDict
from pysnmp.smi import error
from pysnmp import debug
                r = m.getRevisions()
                if r:
                    return r[0]
            else:
                return "1970-01-01 00:00"

        modNames = list(self.mibBuilder.mibSymbols.keys())
        modNames.sort(key=__sortFun)
            
        # Index modules names
        for modName in [ '' ] + modNames:
            # Modules index
            self.__mibSymbolsIdx[modName] = mibMod = {
                'oidToLabelIdx': OidOrderedDict(),
                'labelToOidIdx': {},
                'varToNameIdx': {},
                'typeToModIdx': OrderedDict(),
                'oidToModIdx': {}
                }

            if not modName:
                globMibMod = mibMod
                continue

            # Types & MIB vars indices
            for n, v in self.mibBuilder.mibSymbols[modName].items():
                if n == self.mibBuilder.moduleID: # do not index this
                    continue                      # special symbol
                if isinstance(v, classTypes):
                    if n in mibMod['typeToModIdx']:

# Path: pysnmp/smi/error.py
# class SmiError(PySnmpError, PyAsn1Error): pass
# class MibOperationError(SmiError):
# class GenError(MibOperationError): pass
# class NoAccessError(MibOperationError): pass
# class WrongTypeError(MibOperationError): pass
# class WrongValueError(MibOperationError): pass
# class NoCreationError(MibOperationError): pass
# class InconsistentValueError(MibOperationError): pass
# class ResourceUnavailableError(MibOperationError): pass
# class CommitFailedError(MibOperationError): pass
# class UndoFailedError(MibOperationError): pass
# class AuthorizationError(MibOperationError): pass
# class NotWritableError(MibOperationError): pass
# class InconsistentNameError(MibOperationError): pass
# class NoSuchObjectError(MibOperationError): pass
# class NoSuchInstanceError(MibOperationError): pass
# class EndOfMibViewError(MibOperationError): pass
# class RowCreationWanted(MibOperationError): pass
# class RowDestructionWanted(MibOperationError): pass
#     def __init__(self, **kwargs): self.__outArgs = kwargs
#     def __str__(self): return '%s(%s)' % (
#     def __getitem__(self, key): return self.__outArgs[key]
#     def __contains__(self, key): return key in self.__outArgs
#     def get(self, key, defVal=None): return self.__outArgs.get(key, defVal)
#     def keys(self): return self.__outArgs.keys()
#     def update(self, d): self.__outArgs.update(d)
# 
# Path: pysnmp/debug.py
# class Debug:
#     def __init__(self, *flags):
#     def __str__(self):
#     def __call__(self, msg):
#     def __and__(self, flag):
#     def __rand__(self, flag):
# def setLogger(l):
# def hexdump(octets):


# Path: pysnmp/smi/view.py
import sys
    import types
from pysnmp.smi.indices import OrderedDict, OidOrderedDict
from pysnmp.smi import error
from pysnmp import debug

                r = m.getRevisions()
                if r:
                    return r[0]
            else:
                return "1970-01-01 00:00"

        modNames = list(self.mibBuilder.mibSymbols.keys())
        modNames.sort(key=__sortFun)
            
        # Index modules names
        for modName in [ '' ] + modNames:
            # Modules index
            self.__mibSymbolsIdx[modName] = mibMod = {
                'oidToLabelIdx': OidOrderedDict(),
                'labelToOidIdx': {},
                'varToNameIdx': {},
                'typeToModIdx': OrderedDict(),
                'oidToModIdx': {}
                }

            if not modName:
                globMibMod = mibMod
                continue

            # Types & MIB vars indices
            for n, v in self.mibBuilder.mibSymbols[modName].items():
                if n == self.mibBuilder.moduleID: # do not index this
                    continue                      # special symbol
                if isinstance(v, classTypes):
                    if n in mibMod['typeToModIdx']:

                        raise error.SmiError(