<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def temporary_dir():
 """Context manager that creates a temporary directory and chdirs to it. When the context manager exits it returns to the previous cwd and deletes the temporary directory. """

    d = tempfile.mkdtemp()
    try:
        with cd(d):
            yield d
    finally:
        if os.path.exists(d):
            shutil.rmtree(d)