<s> """<STR_LIT>""" <EOL> class Cursor : <EOL> def __init__ ( self , x = <NUM_LIT:0> , y = <NUM_LIT:0> ) : <EOL> """<STR_LIT>""" <EOL> if isinstance ( x , tuple ) : <EOL> x , y = x <EOL> self . x = x <EOL> self . y = y <EOL> elif isinstance ( x , Cursor ) : <EOL> self . x = x . x <EOL> self . y = x . y <EOL> else : <EOL> self . x = x <EOL> self . y = y <EOL> self . persistent_x = self . x <EOL> def get_x ( self ) : <EOL> """<STR_LIT>""" <EOL> return self . x <EOL> def get_y ( self ) : <EOL> """<STR_LIT>""" <EOL> return self . y <EOL> def set_x ( self , x ) : <EOL> """<STR_LIT>""" <EOL> self . x = x <EOL> self . persistent_x = x <EOL> def set_y ( self , y ) : <EOL> """<STR_LIT>""" <EOL> self . y = y <EOL> def move_left ( self , delta = <NUM_LIT:1> ) : <EOL> """<STR_LIT>""" <EOL> self . x -= delta <EOL> if self . x < <NUM_LIT:0> : <EOL> self . x = <NUM_LIT:0> <EOL> self . persistent_x = self . x <EOL> return <EOL> def move_right ( self , delta = <NUM_LIT:1> ) : <EOL> """<STR_LIT>""" <EOL> self . x += delta <EOL> if self . x < <NUM_LIT:0> : <EOL> self . x = <NUM_LIT:0> <EOL> self . persistent_x = self . x <EOL> return <EOL> def move_up ( self , delta = <NUM_LIT:1> ) : <EOL> """<STR_LIT>""" <EOL> self . y -= <NUM_LIT:1> <EOL> if self . y < <NUM_LIT:0> : <EOL> self . y = <NUM_LIT:0> <EOL> return <EOL> def move_down ( self , delta = <NUM_LIT:1> ) : <EOL> """<STR_LIT>""" <EOL> self . y += delta <EOL> return <EOL> def __getitem__ ( self , i ) : <EOL> """<STR_LIT>""" <EOL> if i == <NUM_LIT:0> : <EOL> return self . x <EOL> elif i == <NUM_LIT:1> : <EOL> return self . y <EOL> def __eq__ ( self , item ) : <EOL> """<STR_LIT>""" <EOL> if isinstance ( item , Cursor ) : <EOL> if item . x == self . x and item . y == self . y : <EOL> return True <EOL> return False <EOL> def __ne__ ( self , item ) : <EOL> """<STR_LIT>""" <EOL> if isinstance ( item , Cursor ) : <EOL> if item . x != self . x or item . y != self . x : <EOL> return False <EOL> def __str__ ( self ) : <EOL> return "<STR_LIT>" . format ( x = self . x , y = self . y ) <EOL> def __repr__ ( self ) : <EOL> return self . __str__ ( ) <EOL> def tuple ( self ) : <EOL> """<STR_LIT>""" <EOL> return ( self . x , self . y ) </s>
