
from __future__ import absolute_import
from __future__ import unicode_literals


class NullNameError(ValueError):
    """
    Raised when a name is empty.
    """


class InvalidCharError(ValueError):
    """
    Raised when includes invalid character(s) within a string.
    """


class InvalidCharWindowsError(InvalidCharError):
    """
    Raised when includes Windows specific invalid character(s) within a string.
    """


class InvalidLengthError(ValueError):
    """
    Raised when a string too long/short.
    """


class ReservedNameError(ValueError):
    """
    Raised when a string is matched a reserved name.
    """


from __future__ import absolute_import
from __future__ import unicode_literals


class InvalidNameError(ValueError):
    """
    Base class of invalid name error.
    """


class NullNameError(InvalidNameError):
    """
    Raised when a name is empty.
    """


class InvalidCharError(InvalidNameError):
    """
    Raised when includes invalid character(s) within a string.
    """


class InvalidCharWindowsError(InvalidCharError):
    """
    Raised when includes Windows specific invalid character(s) within a string.
    """


class InvalidLengthError(InvalidNameError):
    """
    Raised when a string too long/short.
    """


class ReservedNameError(InvalidNameError):
    """
    Raised when a string is matched a reserved name.
    """

Add base class of invalid name error
Add base class of invalid name error

  
  from __future__ import absolute_import
  from __future__ import unicode_literals
  
  
- class NullNameError(ValueError):
+ class InvalidNameError(ValueError):
+     """
+     Base class of invalid name error.
+     """
+ 
+ 
+ class NullNameError(InvalidNameError):
      """
      Raised when a name is empty.
      """
  
  
- class InvalidCharError(ValueError):
+ class InvalidCharError(InvalidNameError):
      """
      Raised when includes invalid character(s) within a string.
      """
  
  
  class InvalidCharWindowsError(InvalidCharError):
      """
      Raised when includes Windows specific invalid character(s) within a string.
      """
  
  
- class InvalidLengthError(ValueError):
+ class InvalidLengthError(InvalidNameError):
      """
      Raised when a string too long/short.
      """
  
  
- class ReservedNameError(ValueError):
+ class ReservedNameError(InvalidNameError):
      """
      Raised when a string is matched a reserved name.
      """
  
Add base class of invalid name error
## Code Before:

from __future__ import absolute_import
from __future__ import unicode_literals


class NullNameError(ValueError):
    """
    Raised when a name is empty.
    """


class InvalidCharError(ValueError):
    """
    Raised when includes invalid character(s) within a string.
    """


class InvalidCharWindowsError(InvalidCharError):
    """
    Raised when includes Windows specific invalid character(s) within a string.
    """


class InvalidLengthError(ValueError):
    """
    Raised when a string too long/short.
    """


class ReservedNameError(ValueError):
    """
    Raised when a string is matched a reserved name.
    """

## Instruction:
Add base class of invalid name error
## Code After:

from __future__ import absolute_import
from __future__ import unicode_literals


class InvalidNameError(ValueError):
    """
    Base class of invalid name error.
    """


class NullNameError(InvalidNameError):
    """
    Raised when a name is empty.
    """


class InvalidCharError(InvalidNameError):
    """
    Raised when includes invalid character(s) within a string.
    """


class InvalidCharWindowsError(InvalidCharError):
    """
    Raised when includes Windows specific invalid character(s) within a string.
    """


class InvalidLengthError(InvalidNameError):
    """
    Raised when a string too long/short.
    """


class ReservedNameError(InvalidNameError):
    """
    Raised when a string is matched a reserved name.
    """
