<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def setting_address(key):
 """Computes the radix address for the given setting key. Keys are broken into four parts, based on the dots in the string. For example, the key `a.b.c` address is computed based on `a`, `b`, `c` and the empty string. A longer key, for example `a.b.c.d.e`, is still broken into four parts, but the remaining pieces are in the last part: `a`, `b`, `c` and `d.e`. Each of these peices has a short hash computed (the first 16 characters of its SHA256 hash in hex), and is joined into a single address, with the config namespace (`000000`) added at the beginning. Args: key (str):
 the setting key Returns: str: the computed address """

        # split the key into 4 parts, maximum
        key_parts = key.split('.', maxsplit=_MAX_KEY_PARTS - 1)
        # compute the short hash of each part
        addr_parts = [_short_hash(x.encode()) for x in key_parts]
        # pad the parts with the empty hash, if needed
        addr_parts.extend([_EMPTY_PART] * (_MAX_KEY_PARTS - len(addr_parts)))

        return CONFIG_STATE_NAMESPACE + ''.join(addr_parts)