<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def loadWallet(self, fpath):
 """Load wallet from specified localtion. Returns loaded wallet. Error cases: - ``fpath`` is not inside the keyrings base dir - ValueError raised - ``fpath`` exists and it's a directory - IsADirectoryError raised :param fpath: wallet file path, absolute or relative to keyrings base dir """

        if not fpath:
            raise ValueError("empty path")

        _fpath = self._normalize(fpath)
        _dpath = _fpath.parent

        try:
            _dpath.relative_to(self._baseDir)
        except ValueError:
            raise ValueError(
                "path {} is not is not relative to the wallets {}".format(
                    fpath, self._baseDir))

        with _fpath.open() as wf:
            wallet = self.decode(wf.read())

        return wallet