def shift(txt, indent = '<STR_LIT:U+0020>', prepend = '<STR_LIT>'):
if type(indent) is int:<EOL><INDENT>indent = indent * '<STR_LIT:U+0020>'<EOL><DEDENT>special_end = txt[-<NUM_LIT:1>:] == ['<STR_LIT>']<EOL>lines = '<STR_LIT>'.join(txt).splitlines(True)<EOL>for i in range(<NUM_LIT:1>,len(lines)):<EOL><INDENT>if lines[i].strip() or indent.strip():<EOL><INDENT>lines[i] = indent + lines[i]<EOL><DEDENT><DEDENT>if not lines:<EOL><INDENT>return prepend<EOL><DEDENT>prepend = prepend[:len(indent)]<EOL>indent = indent[len(prepend):]<EOL>lines[<NUM_LIT:0>] = prepend + indent + lines[<NUM_LIT:0>]<EOL>ret = ['<STR_LIT>'.join(lines)]<EOL>if special_end:<EOL><INDENT>ret.append('<STR_LIT>')<EOL><DEDENT>return ret<EOL>
Return a list corresponding to the lines of text in the `txt` list
    indented by `indent`. Prepend instead the string given in `prepend` to the
    beginning of the first line. Note that if len(prepend) > len(indent), then
    `prepend` will be truncated (doing better is tricky!). This preserves a 
    special '' entry at the end of `txt` (see `do_para` for the meaning).