VC3YS42DKQ5PVDV3YJEBWIMOUN6DVZK3C2WOJMCM5SDIH4WNJMDQC QAKWM2TYTD5YQ72AU7LLOWF6SVGRLY4HC5LESJ2HT7GK7KKU5LSAC MD5NNUZF3DO5B5LOSKI2ARUYWEVHFREUFUBLV7ZTYE3B3TRLBGQQC ZOEN6BOH444OEFJLT4FBRCVPMF7JTOXLLJ2TEQCQBVSGVTDIIYWQC 6OZ32QPUY3AQABJED2YWD3PQVEBZJU2TLV63SLWPXIEFQVQV4QPAC 2TCIWW6ZC73FHPZLO5QOBUFZCIL74U2MBYTPNXFYYFJ7IH4YAGUQC HALS7E5UGKCP3DFY456F7Z3Y6WNGIABOCV2SHT34D5ZAGNCPV5PQC I64IPGJXWRTGHHVAYJUBUIWFR4BY6NM5P7TLTV4JOD7K4BVYDECQC LEP7X3CT5H7NRQOBIAKQU32QLQQWLBURBNTR2YZUYL53C5BRAM6QC BULPIBEGL7TMK6CVIE7IS7WGAHGOSUJBGJSFQK542MOWGHP2ADQQC ZS5IYZH5EXXPSVIFWS7XW5POEVRRCK6XV6PB36D3EJXJRT22LKOQC W6KHEH4H43IKRVILYWHVFQMHF2DGPS7PGUOSUXWY7UBPFNFE3YSAC MTJEVRJR5GLWUSK7HMIM4UXM6GS6O6YCRWJT3DUSU2RYMHCQNOEQC JKAMPNVJHLSYZT5M7GKWGIHTJFIJU3VUJ2AWHLH3ORDUX3UTCF5QC MXA3RZYKUI4UF2ISY7JEF6VKX6NOPZMZH5SLLCZHRJKFIXXXDPSAC QCPXQ2E3USF3Z6R6WJ2JKHTRMPKA6QWXFKKRMLXA3MXABJEL543AC G3DLS5OUO77V4MC6754KTETRCTVUBYBHMGR7MTV52IYYM7QA3ROQC Z5HLXU4PJWWJJDBCK52NBD6PIRIA3TAN2BKZB5HBYFGIDBX4F5HAC SVJZZDC3K6AKAXHGRNAZKRE2ZXEKJANNLG7LSSUZJARFBL5F7C4AC 6LBSEPBJTXIVBYX3AH5FYCQCN66ZRFFO3IVYMDS7IQUGEAZM3MHQC QBL4YDQ5QC4MZ7RFS4ZSEBPN5WATAJ7UQLUPTXDUMXAMGBGQDOOQC ZPUQSPQPQFVRUIHGLAWW3IDBYODIWDHO62HAC3WWF5TM3CIJGHNQC GO4OXDP4USUBN2UGNY2ZZEUZE3NG52F3T5CZ76H7VQ23Q4CQOSJAC Z64BQNJ7BVVPVO45GRRXEASZ7E2L3774G5ZDT2UX2RZNH565LZBAC HTWAM4NZFOY463TNSKYIM2EWB7QNBGDRRTTGHF5N3Z4TGC7Q3SFAC KOTI3MFGQ4PDS4I75JIJG734LTET6745VGTSMNFYYASVIO6H2KPAC RRMDUZP7S7DJW6QDCVSMQVF5TZHYM3LL65Q7Z4GQIX4GWMVK7A3AC RM2LKJEWX6HPOUPJ3ADOAHCRKQEH6IDDKV3TJMJELYCLASIWPO5AC OI4FPFINEROK6GNDEMOBTGSPYIULCLRGGT5W3H7VLM7VFH22GMWQC TGHAJBESCIEGWUE2D3FGLNOIAYT4D2IRGZKRXRMTUFW7QZETC7OAC 4PWZSWW46E3PVL2LIO7PZLAJVIOJ4CY5HZ5VHUWLBZPEKTGZHN4AC KKMFQDR43ZWVCDRHQLWWX3FCWCFA3ZSXYOBRJNPHUQZR2XPKWULAC G54H3YG2NEZPW2F6OYT5JPV7KSKVMNW5D3QT3FBCXTJHAQYTV5UAC 5SM6DRHKPLFWQPCZDTVM4ENVENWBYBQ3Q2KYKSWLWYUTOSEPCRLAC KMSL74GAMFNTAKGDKZFP2AMQXUMOC3XH373BO4IABZWBEP3YAXKAC LXTTOB33N2HCUZFIUDRQGGBVHK2HODRG4NBLH6RXRQZDCHF27BSAC 5ZA3BRNYWKSGEBJ4JLA4UBC3LJPT5JBWYCU7PQYRSGX6MJMEWDIQC JMUE7GSN6QDQZ6NDRB55MRJMKJN6LBD6MVQPKROYPDOIXM7I3XNQC RW2A3HUEV75FAGGBJZ5PHY3IJ4IABG7ADK3ZA6Z56XIXJEHWR7UAC SEBFLWZVK6Y7GX62DXQFWJG4IFV2VTXHGEWS25ZIQYKC3AQW5TFQC WM6R2UKQ3UUZRT2CQMLEB5YZ4NNAV7Z4P4QPOKYZWBWX2MEGCYFQC 2L5MEZV344TOZLVY3432RHJFIRVXFD6O3GWLL5O4CV66BGAFTURQC 6XCJX4DZB6UEAXEXXUGVVPBCF5SNDYOJGU3Q6BPB4ZMI5DZH4MYQC LNUHQOGHIOFGJXNGA3DZLYEASLYYDGLN2I3EDZY5ANASQAHCG3YQC 4BX4GJEWW7Z5LA4SJUXADYLAHOYFL4IBOYH4J4DJYRAVKKGGFHGQC HKDQTCZCPWZFU65UTDPOT3RRMTJ2TSWSCOAXFTAWICPD4GKZ3VJQC YSSECLP75ORBLZGU4DVMTR3OYMC4LMPY7OQJFAQJTSL3CDMWAEVAC UCFOE6KJM4USAO3SATXQQQBF3H6ERZCEWIKTYYYSLJK5TASKZOVAC 3OTESDW65UJ2W5RIXA6FNKRSD7TBCZTCCCEAYOQMEVGYZ6RCU34QC LW6UME22NIRDLYNQDP47SLYT2ZEBD4HMHQOJNXJRRXQYVMNF4IGAC TXI6GSQDOUHU4DWQTCMLVVCA2YSIAUZJWSFMH22QPO3W4NGNRF5AC GFXWHTE6POBIOBUMRAWD5QS22JEO52EF4VTLMB4CDK4RLSCK7HCAC 2MGBV7NPY2RVK7EZ7OJRWBYDUMADFZAFSBKLQFX74ERBVZODJLUQC JFFUF5ALUWPDM7IEDEZVAYG2SVXO334STONRGKVB3QKY2TT5QGBQC BLWAYPKV3MLDZ4ALXLUJ25AIR6PCIL4RFYNRYLB26GFVC2KQBYBAC 4KC7I3E2DIKLIP7LQRKB5WFA2Z5XZXAU46RFHNFQU5BVEJPDX6UQC PJEQCTBL2ZX5Q7NJQ3KCWSHHBV2QWGYS5NVMRDNK5LOOIIRRIPHAC KXRF6Q5QSSC4JIUJSUTJ376PNKD42CLYICJNQCBUNIZVEUHX2HYAC 4PHGNJN64ELUEU4SJH6KG36WNTATT3QSZYTY4I5R3XGRZHZPAQ4QC EHSUSZMKVRSJ5HPJZQCKWFY3BRNLAIBDATSHDQ7AMJZ6SX2I6Z2AC 3QNOKBFMKBGXBVJIRHR2444JRRMBTABHE4674NR3DT67RRM2X6GAC CUFW4EJL75OAA5BS5EXGTM5RMRNJOBBPAXUJADGZ3VLP2ZMKFOTAC local screen_bottom1 = Text.screen_bottom1(State)--? print('down 2', State.cursor1.line, State.cursor1.pos, State.screen_top1.line, State.screen_top1.pos, screen_bottom1.line, screen_bottom1.pos)if State.cursor1.line > screen_bottom1.line then
--? print('=>', State.screen_top1.line, State.screen_top1.pos, State.cursor1.line, State.cursor1.pos, State.screen_bottom1.line, State.screen_bottom1.pos)--? print('=>', State.cursor1.line, State.cursor1.pos, State.screen_top1.line, State.screen_top1.pos)
--? print('=>', State.screen_top1.line, State.screen_top1.pos, State.cursor1.line, State.cursor1.pos)
--? print('snap', State.screen_top1.line, State.screen_top1.pos, State.cursor1.line, State.cursor1.pos, State.screen_bottom1.line, State.screen_bottom1.pos)
--? print('snap', State.screen_top1.line, State.screen_top1.pos, State.cursor1.line, State.cursor1.pos)
--? print('snap =>', State.screen_top1.line, State.screen_top1.pos, State.cursor1.line, State.cursor1.pos, State.screen_bottom1.line, State.screen_bottom1.pos)
--? print('snap', State.screen_top1.line, State.screen_top1.pos, State.cursor1.line, State.cursor1.pos)local screen_bottom1 = Text.screen_bottom1(State)local scroll_down = Text.le1(screen_bottom1, State.cursor1)
--? print('tweak')State.cursor1 = {line=screen_bottom1.line,pos=Text.to_pos_on_line(State, screen_bottom1.line, State.right-5, App.screen.height-5),}
State.cursor1 = Text.final_text_loc_on_screen(State)
--? print_and_log(('edit.draw screen bottom %s %s,%s'):format(State.id, screen_bottom1.line, screen_bottom1.pos))State.screen_bottom1 = screen_bottom1--? print('screen bottom: '..tostring(State.screen_bottom1.pos)..' in '..tostring(State.lines[State.screen_bottom1.line].data))