<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_absolute_name(package, relative_name):
 """Joins a package name and a relative name. Args: package: A dotted name, e.g. foo.bar.baz relative_name: A dotted name with possibly some leading dots, e.g. ..x.y Returns: The relative name appended to the parent's package, after going up one level for each leading dot. e.g. foo.bar.baz + ..hello.world -> foo.hello.world The unchanged relative_name if it does not start with a dot or has too many leading dots. """

    path = package.split('.') if package else []
    name = relative_name.lstrip('.')
    ndots = len(relative_name) - len(name)
    if ndots > len(path):
        return relative_name
    absolute_path = path[:len(path) + 1 - ndots]
    if name:
        absolute_path.append(name)
    return '.'.join(absolute_path)