LJW6E6DU5SUF3EZCOD6RRL2QMCEBBVRKBFXFG5MLTXXCKYCG6CCAC O47TQ6W6LLMRKHQXYT5PSRIFH4E6RJDTAYPVQG3MW2NM7I3D4V2AC F5KCYFOYPMHBNSPS2G6IF3HCSHABOSWQVM3Z7BZKHZ36TJBVJ5GQC CIK3U5S6Z3CDHJEYGWWB4AR3ZP7VWLHAC3NHHJ233PASFI6PWSKAC 3R6VAVPXLFJ3HBEIK2BCRCVYK7LWNBOFRTN4BQK2N2VADA34JTIQC 2L5MEZV344TOZLVY3432RHJFIRVXFD6O3GWLL5O4CV66BGAFTURQC OWE64YJ27IFNSGLLWIGYBXRNJ4XU55UYUINAHLOWG2LFEYJM73QAC OXIU3SJ2AIL456GBALP63LMDMUFVXJ5HIAVLO3OHXIAYXYJAZ2TAC endendfunction edit.put_cursor_on_next_text_line_wrapping_around_if_necessary(State)local line = State.cursor1.linelocal max = #State.linesfor _ = 1, max-1 doline = (line+1) % maxif State.lines[line].mode == 'text' thenState.cursor1.line = lineState.cursor1.pos = 1breakendendendfunction edit.put_cursor_on_next_text_loc_wrapping_around_if_necessary(State)local cursor_line = State.lines[State.cursor1.line].dataif State.cursor1.pos <= utf8.len(cursor_line) thenState.cursor1.pos = State.cursor1.pos + 1elseedit.put_cursor_on_next_text_line_wrapping_around_if_necessary(State)