diff --git a/ctrl/videotex.ini b/ctrl/videotex.ini index e3c3d35..48a231e 100644 --- a/ctrl/videotex.ini +++ b/ctrl/videotex.ini @@ -20,7 +20,7 @@ logovtx=AUECTgNTBEkHdGV4 key=0@videotex logoans=AWgBUkEBR04BQlMBWUkBbgE3AWt0ZXgBbg== logovtx=AUECTgNTBEkHdGV4 -user=1,3 +user=1 ; Ansitex Help Pages [prefix:516] diff --git a/load/ansiframe.js b/load/ansiframe.js index da6318b..58ae39b 100644 --- a/load/ansiframe.js +++ b/load/ansiframe.js @@ -396,6 +396,54 @@ function ANSIFrame() { return output; }; + this.qrcode = function(qr,subframe) { + // SMALL Image + var full = ascii(0xdb); + var top = ascii(0xdf); + var bot = ascii(0xdc); + var blank = ' '; + + var qrcode = ''; + + /* + // Render the top line + var line = ascii(27)+'[1;37m'+bot; + for (var y = 0; y < qr.size; y++) { + line += bot; + } + qrcode += line+bot+bot+ascii(27)+'[0m'+"\r\n"; + */ + + // Render the body + for (var x = -1; x < qr.size; x=x+2) { + line = ascii(27)+'[1;37m'+full; + + for (var y = 0; y < qr.size; y++) { + // Top is white + if (((x==-1)? 0 : qr.getModule(x, y)) == 0) { + line += (qr.getModule(x+1, y)) ? top : full; + + // Top is black + } else { + line += (qr.getModule(x+1, y)) ? blank : bot; + } + } + + qrcode += line+full+ascii(27)+'[0m'+"\r\n"; + } + + // Render the bottom + line = ascii(27)+'[1;37m'+top; + for (var y = 0; y < qr.size; y++) { + line += top; + } + qrcode += line+top+ascii(27)+'[0m'+"\r\n"; + + ans2bin(fo.parse(qrcode),subframe); + subframe.open(); + subframe.cycle(); + }; + this.save=function() { file = system.mods_dir+'ansitex/text/'+this.page+'.tex'; w = new File(file); diff --git a/load/sqrllogin.js b/load/sqrllogin.js index fdc98e3..7f4fc15 100644 --- a/load/sqrllogin.js +++ b/load/sqrllogin.js @@ -23,12 +23,7 @@ function sqrllogin() { var complete = false; var cancel = false; - var page = new Frame(1,2,80,22,BG_BLACK|LIGHTGRAY); - - page.gotoxy(1,1); - ans2bin(fo.parse(base64_decode(fo.content)),page); - page.open(); - page.cycle(); + fo.render(); log(LOG_DEBUG,'OPTIONS: '+JSON.stringify(loadOptions('sqrl'))); sqrl = loadOptions('sqrl'); @@ -46,52 +41,8 @@ function sqrllogin() { .map(function(x) {return x.charCodeAt(0)}); var qr = qrcodegen.QrCode.encodeBinary(data,qrcodegen.QrCode.Ecc.LOW); - // SMALL Image - var full = ascii(0xdb); - var top = ascii(0xdf); - var bot = ascii(0xdc); - var blank = ' '; - - var qrcode = ''; - - /* - // Render the top line - var line = ascii(27)+'[1;37m'+bot; - for (var y = 0; y < qr.size; y++) { - line += bot; - } - qrcode += line+bot+bot+ascii(27)+'[0m'+"\r\n"; - */ - - // Render the body - for (var x = -1; x < qr.size; x=x+2) { - line = ascii(27)+'[1;37m'+full; - - for (var y = 0; y < qr.size; y++) { - // Top is white - if (((x==-1)? 0 : qr.getModule(x, y)) == 0) { - line += (qr.getModule(x+1, y)) ? top : full; - - // Top is black - } else { - line += (qr.getModule(x+1, y)) ? blank : bot; - } - } - - qrcode += line+full+ascii(27)+'[0m'+"\r\n"; - } - - // Render the bottom - line = ascii(27)+'[1;37m'+top; - for (var y = 0; y < qr.size; y++) { - line += top; - } - qrcode += line+top+ascii(27)+'[0m'+"\r\n"; - - subframe = new Frame(37,2,43,22,BG_BLACK|LIGHTGRAY,page); - ans2bin(fo.parse(qrcode),subframe); - subframe.open(); - subframe.cycle(); + subframe = new Frame(38,2,43,22,BG_BLACK|LIGHTGRAY); + fo.qrcode(qr,subframe); fo.sendBaseline('CANCEL_MSG',false); @@ -113,22 +64,38 @@ function sqrllogin() { http.SendRequest(); http.ReadResponse(); - if (http.response_code == 404) { - log(LOG_DEBUG,'- NUT not Authorised yet.'); + switch (http.response_code) { + case 404: + log(LOG_DEBUG,'- NUT not Authorised yet.'); + break; - } else { - log(LOG_INFO,'NUT: ('+JSON.stringify(http.response_code)+'): '+JSON.stringify(http.body)); + case 200: + if (http.body.isReady) { + log(LOG_INFO,'NUT: '+http.body.msg); + log(LOG_INFO,'NEXT: '+http.body.nextPage); - //@todo - action = ACTION_GOTO; - next_page = { frame: 98,index: 'a' }; + complete = true; + if (typeof subframe === 'object') + subframe.close(); - complete = true; - subframe.close(); - page.close(); + // We are done + read = '2'; - // We are done - read = '2'; + } else { + log(LOG_ERROR,'- Unhandled isReady: '+http.body.isReady); + + // We are done + read = '2'; + cancel = true; + } + break; + + default: + log(LOG_ERROR,'- Unhandled response code: '+http.response_code); + + // We are done + read = '2'; + cancel = true; } } @@ -141,7 +108,6 @@ function sqrllogin() { complete = true; if (typeof subframe === 'object') subframe.close(); - page.close(); action = ACTION_GOTO; next_page = { frame: 98,index: 'a' }; } diff --git a/load/viewdataframe.js b/load/viewdataframe.js index bca6679..c7a4209 100644 --- a/load/viewdataframe.js +++ b/load/viewdataframe.js @@ -38,7 +38,7 @@ var VIEWDATA_CANNOT_SEND_TOKEN = ascii(27)+'ACANNOT SEND VALIDATION CODE, PLEAS var VIEWDATA_USER_EXISTS = ascii(27)+'AERROR USER EXISTS, PLEASE TRY AGAIN *00'; var VIEWDATA_USER_CREATE_ERROR = ascii(27)+'AERROR CREATING USER, PLEASE TRY AGAIN *00'; var VIEWDATA_LOGIN_ERROR = ascii(27)+'AERROR LOGGING IN, PLEASE TRY AGAIN *00'; -var VIEWDATA_CANCEL_MSG = ascii(27)+'GPRESS 2 TO CANCEL'; +var VIEWDATA_CANCEL_MSG = ascii(27)+'BPRESS 2 TO CANCEL'; // Our frame object function VIEWDATAFrame() { @@ -111,7 +111,7 @@ function VIEWDATAFrame() { header = VIEWDATA_DOWN; - log(LOG_DEBUG,' - FRAME User: ['+JSON.stringify(user)+']'); + //log(LOG_DEBUG,' - FRAME User: ['+JSON.stringify(user)+']'); // Dont show the page number on system login page if (user.number || (this.type != FRAME_TYPE_LOGIN && NO_HISTORY_FRAMES.indexOf(this.page) == -1)) { @@ -193,7 +193,7 @@ function VIEWDATAFrame() { for(p=0;pFRAME_WIDTH) { + if (c>VIEWDATA_FRAME_WIDTH) { c = 1; r++; } @@ -404,6 +404,69 @@ function VIEWDATAFrame() { return output; }; + this.qrcode = function(qr,subframe) { + var offset = 18/2; // @todo For some reason RIGHT movements results in 2 spaces + // Render the body + var qrcode = VIEWDATA_HOME+VIEWDATA_DOWN.repeat(5)+VIEWDATA_RIGHT.repeat(offset); + //var line = ''; + + for (var x = -1; x < qr.size; x=x+3) { + var line = VIEWDATA_RIGHT.repeat(offset)+ascii(0x97); + + for (var y = -1; y < qr.size; y=y+2) { + var char = 0; + + //TL + char |= ((x==-1) || (y==-1) || ! qr.getModule(x,y)) ? (1<<0) : (0<<0); + //TR + char |= ((x==-1) || (y == qr.size-1) || ! qr.getModule(x,y+1)) ? (1<<1) : (0<<1); + //ML + char |= ((y==-1) || ! qr.getModule(x+1,y)) ? (1<<2) : (0<<2); + //MR + char |= ((y == qr.size-1) || ! qr.getModule(x+1,y+1)) ? (1<<3) : (0<<3); + //BL + char |= ((x==qr.size-2) || (y==-1) || ! qr.getModule(x+2,y)) ? (1<<4) : (0<<4); + //BR + char |= ((x==qr.size-2) || (y == qr.size-1) || ! qr.getModule(x+2,y+1)) ? (1<<5) : (0<<5); + + char += 0x20; + if (char > 0x3f) + char += 0x20; + + line += ascii(char); + } + + // Render the right column + if (y%2) + line += ascii(0x35); + + qrcode += line+' '.repeat(VIEWDATA_FRAME_WIDTH-Math.ceil(qr.size/2)-2-offset*2-(y%2 ? 0 : 1))+VIEWDATA_RIGHT.repeat(offset); + } + + log(LOG_DEBUG,'WIDTH:'+VIEWDATA_FRAME_WIDTH); + log(LOG_DEBUG,'QR :'+(Math.ceil(qr.size/2)+1)); + log(LOG_DEBUG,'OFF :'+offset); + log(LOG_DEBUG,'Y :'+(y%2 ? 0 : 1)); + log(LOG_DEBUG,'X :'+(x%3 ? 0 : 1)); + + // Render the bottom + if (x%3) { + line = VIEWDATA_RIGHT.repeat(offset)+ascii(0x97); + for (var y = 0; y < qr.size; y=y+2) { + line += ascii(0x23); + } + + // Render the right column + if (y%2 == 0) { + line += ascii(0x21); + } + + qrcode += line+' '.repeat(VIEWDATA_FRAME_WIDTH-Math.ceil(qr.size/2)-2-offset-(y%2 ? 0 : 1)); + } + + write_raw(qrcode+VIEWDATA_DOWN); + }; + this.save=function() { file = system.mods_dir+'ansitex/text/'+this.page+'.tex'; w = new File(file); diff --git a/main.js b/main.js index a65bcb8..2c6e902 100644 --- a/main.js +++ b/main.js @@ -810,7 +810,7 @@ while(bbs.online) { // If the user has access to the frame if (fo.accessible) { if (fo.isMember && fo.type == FRAME_TYPE_LOGIN) { - fo.sendBaseline(ALREADY_MEMBER,false); + fo.sendBaseline('ALREADY_MEMBER',false); mode = action = false; break; } diff --git a/text/980a.vtx b/text/980a.vtx index 88c8537..2b75bc5 100644 --- a/text/980a.vtx +++ b/text/980a.vtx @@ -1 +1 @@ -{"version":1,"frame":"980","index":"a","owner":9,"cost":0,"content":"ICARLGwSfGwUfCwTLBc3a38jMzdrIzUgICAgICAgICAgICAgICAgICAgEX9rEn9qFC98E38XNWhvIDw9JCw1ICAgICAgICAgICAgICAgICAgIBEvLhIvKhQsLxMvF3VwenBxdXpwNSAgICAgICAgICAgICAgICAgICAgVmlkZW90ZXggICAgICAgICAgICAgICAgICAgIA1XZWxjb21lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdlbGNvbWUsIHlvdSBoYXZlIGNvbm5lY3RlZCB0byAgICAgICAgIAFBAk4DUwRJB3RleCBhIEJCUyB0aGF0IGlzIGJhc2VkIG9uIHRoZSAgMTk4MCdzIFZpZGVvdGV4IHNlcnZpY2UuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXBlbmRpbmcgb24gd2hpY2ggY291bnRyeSB5b3UgbGl2ZSBpbiAgdGhlIFZpZGVvdGV4IHNlcnZpY2Ugd2FzIGNhbGxlZCBWaWF0ZWwgIChBVSksIFByZXN0ZWwgKFVLKSwgTWluaXRlbCAoRlIpLCAgICAgICBUZWxpZG9uIChDQSksIEliZXJ0ZXggKFNQKSwgZXRjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIHlvdSBnb3QgaGVyZSBieSBtaXN0YWtlLCB5b3Ugc2hvdWxkICBkaXNjb25uZWN0IG5vdywgb3RoZXJ3aXNlIHlvdSBjYW4gICAgICAgcHJlc3MCMAd0byBnZXQgdG8gdGhlIGxvZ2luIHNjcmVlbi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCg==","isPublic":1,"isAccessible":1,"type":"i","key":[0,null,null,null,null,null,null,null,null,null],"date":"2020-07-05T12:57:03.790Z"} +{"version":1,"frame":"980","index":"a","owner":9,"cost":0,"content":"ICARLGwSfGwUfCwTLBc3a38jMzdrIzUgICAgICAgICAgICAgICAgICAgEX9rEn9qFC98E38XNWhvIDw9JCw1ICAgICAgICAgICAgICAgICAgIBEvLhIvKhQsLxMvF3VwenBxdXpwNSAgICAgICAgICAgICAgICAgICAgVmlkZW90ZXggICAgICAgICAgICAgICAgICAgIA1XZWxjb21lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdlbGNvbWUsIHlvdSBoYXZlIGNvbm5lY3RlZCB0byAgICAgICAgIAFBAk4DUwRJB3RleCBhIEJCUyB0aGF0IGlzIGJhc2VkIG9uIHRoZSAgMTk4MCdzIFZpZGVvdGV4IHNlcnZpY2UuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXBlbmRpbmcgb24gd2hpY2ggY291bnRyeSB5b3UgbGl2ZSBpbiAgdGhlIFZpZGVvdGV4IHNlcnZpY2Ugd2FzIGNhbGxlZCBWaWF0ZWwgIChBVSksIFByZXN0ZWwgKFVLKSwgTWluaXRlbCAoRlIpLCAgICAgICBUZWxpZG9uIChDQSksIEliZXJ0ZXggKFNQKSwgZXRjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIHlvdSBnb3QgaGVyZSBieSBtaXN0YWtlLCB5b3Ugc2hvdWxkICBkaXNjb25uZWN0IG5vdywgb3RoZXJ3aXNlIHlvdSBjYW4gICAgICAgcHJlc3MCMAd0byBnZXQgdG8gdGhlIGxvZ2luIHNjcmVlbi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUbyBsb2dpbiB1c2luZyBTUVJMLCBwcmVzcwIxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA==","isPublic":1,"isAccessible":1,"type":"i","key":[0,982,null,null,null,null,null,null,null,null],"date":"2020-07-05T12:57:03.790Z"} diff --git a/text/981a.vtx b/text/981a.vtx index 8ac95b1..9487645 100644 --- a/text/981a.vtx +++ b/text/981a.vtx @@ -1 +1 @@ -{"version":1,"frame":981,"index":"a","owner":9,"cost":0,"content":"ICARLGwSfGwUfCwTLBc3a38jMzdrIzUgICAgICACMDAwMTAwMDEwMSAgEX9rEn9qFC98E38XNWhvIDw9JCw1ByAgICAgICAgICAgICAgICAgIBEvLhIvKhQsLxMvF3VwenBxdXpwNSAgICAgICAgICAgICAgICAgICAgVmlkZW90ZXggICAgICAgICAgICAgICAgICAgIA1SZWdpc3RlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICECKiogB3RvIGNsZWFyIGlucHV0ICAgICAgICAgICAgICAgICAgICAgAiowMAd0byBzdGFydCBhZ2FpbiAgICAgICBVc2UCXwd0byBFbnRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICABRW1haWwgICAgOgcuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICAgAVVzZXIgSUQgIDoHLi4uLi4uLi4uLi4uLi4uICAgICAgICAgICAgIAFQYXNzd29yZCA6By4uLi4uLi4uLi4uLi4uLiAgICAgICAgICAgICABRnVsbCBOYW1lOgcuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICAgAUNpdHkgICAgIDoHLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAgIAFDb3VudHJ5ICA6By4uLiAgICAgICAgICAgICAgICAgICAgICAgICABUG9zdCBDb2RlOgcuLi4uLi4uLi4uICAgICAgICAgICAgICAgICAgAVRva2VuICAgIDoHLi4uLi4uICAgICAgICAgICAgICAgICAgICAgIBoXODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlZ2lzdGVyaW5nIGFuZCB1c2luZyB0aGlzIHN5c3RlbSwgeW91ICBhZ3JlZSB0byBhYmlkZSBieSB0aGUgc3lzdGVtIHJ1bGVzLiBTZWUCKjk4OF8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA==","isPublic":1,"isAccessible":1,"type":"r","key":[980,"register",null,null,null,null,null,null,null,null],"frame_fields":[{"ftype":"t","flength":25,"fchar":".","fname":"EMAIL","r":9,"c":12,"attribute":{},"fvalue":""},{"ftype":"t","flength":15,"fchar":".","fname":"UID","r":10,"c":12,"attribute":{},"fvalue":""},{"ftype":"p","flength":15,"fchar":".","fname":"PASS","r":11,"c":12,"attribute":{},"fvalue":""},{"ftype":"t","flength":25,"fchar":".","fname":"FULLNAME","r":12,"c":12,"attribute":{},"fvalue":""},{"ftype":"t","flength":25,"fchar":".","fname":"CITY","r":13,"c":12,"attribute":{},"fvalue":""},{"ftype":"t","flength":3,"fchar":".","fname":"COUNTRY","r":14,"c":12,"attribute":{},"fvalue":""},{"ftype":"t","flength":10,"fchar":".","fname":"PCODE","r":15,"c":12,"attribute":{},"fvalue":""},{"ftype":"t","flength":10,"fchar":".","fname":"TOKEN","r":16,"c":12,"attribute":{},"fvalue":""}],"date":"2020-07-08T05:17:35.174Z"} +{"version":1,"frame":981,"index":"a","owner":9,"cost":0,"content":"ICARLGwSfGwUfCwTLBc3a38jMzdrIzUgICAgICACMDAwMTAwMDEwMSAgEX9rEn9qFC98E38XNWhvIDw9JCw1ByAgICAgICAgICAgICAgICAgIBEvLhIvKhQsLxMvF3VwenBxdXpwNSAgICAgICAgICAgICAgICAgICAgVmlkZW90ZXggICAgICAgICAgICAgICAgICAgIA1SZWdpc3RlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICACKiogB3RvIGNsZWFyIGlucHV0ICAgICAgICAgICAgICAgICAgICAgAiowMAd0byBzdGFydCBhZ2FpbiAgICAgICBVc2UCXwd0byBFbnRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICABRW1haWwgICAgOgcuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICAgAVVzZXIgSUQgIDoHLi4uLi4uLi4uLi4uLi4uICAgICAgICAgICAgIAFQYXNzd29yZCA6By4uLi4uLi4uLi4uLi4uLiAgICAgICAgICAgICABRnVsbCBOYW1lOgcuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICAgAUNpdHkgICAgIDoHLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAgIAFDb3VudHJ5ICA6By4uLiAgICAgICAgICAgICAgICAgICAgICAgICABUG9zdCBDb2RlOgcuLi4uLi4uLi4uICAgICAgICAgICAgICAgICAgAVRva2VuICAgIDoHLi4uLi4uICAgICAgICAgICAgICAgICAgICAgIBoXODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlZ2lzdGVyaW5nIGFuZCB1c2luZyB0aGlzIHN5c3RlbSwgeW91ICBhZ3JlZSB0byBhYmlkZSBieSB0aGUgc3lzdGVtIHJ1bGVzLiBTZWUCKjk4OF8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA==","isPublic":1,"isAccessible":1,"type":"r","key":[980,"register",null,null,null,null,null,null,null,null],"frame_fields":[{"ftype":"t","flength":25,"fchar":".","fname":"EMAIL","r":9,"c":12,"attribute":{},"fvalue":""},{"ftype":"t","flength":15,"fchar":".","fname":"UID","r":10,"c":12,"attribute":{},"fvalue":""},{"ftype":"p","flength":15,"fchar":".","fname":"PASS","r":11,"c":12,"attribute":{},"fvalue":""},{"ftype":"t","flength":25,"fchar":".","fname":"FULLNAME","r":12,"c":12,"attribute":{},"fvalue":""},{"ftype":"t","flength":25,"fchar":".","fname":"CITY","r":13,"c":12,"attribute":{},"fvalue":""},{"ftype":"t","flength":3,"fchar":".","fname":"COUNTRY","r":14,"c":12,"attribute":{},"fvalue":""},{"ftype":"t","flength":10,"fchar":".","fname":"PCODE","r":15,"c":12,"attribute":{},"fvalue":""},{"ftype":"t","flength":10,"fchar":".","fname":"TOKEN","r":16,"c":12,"attribute":{},"fvalue":""}],"date":"2020-07-08T05:17:35.174Z"} diff --git a/text/982a.vtx b/text/982a.vtx new file mode 100644 index 0000000..e685059 --- /dev/null +++ b/text/982a.vtx @@ -0,0 +1 @@ +{"version":1,"frame":"982","index":"a","owner":9,"cost":0,"content":"ICARLGwSfGwUfCwTLBc3a38jMzdrIzUgICAgICACMDAwMTAwMDEwMSAgEX9rEn9qFC98E38XNWhvIDw9JCw1ByAgICAgICAgICAgICAgICAgIBEvLhIvKhQsLxMvF3VwenBxdXpwNSAgICAgICAgICAgICAgICAgICAgVmlkZW90ZXggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gY29tcGxldGUgdGhlICAgICAgICAgICAgICAgICAgICAgICAgIGF1dGhlbnRpY2F0aW9uLCAgICAgICAgICAgICAgICAgICAgICAgICB1c2UgeW91ciBTUVJMIGFwcCAgICAgICAgA0hPTEQgVElHSFQgICAgYW5kIHNjYW4gdGhlIFFSICAgICAgICAgA1dISUxFIFdFIEdFVCAgIGNvZGUuICAgICAgICAgICAgICAgICAgIANZT1UgQSBRUkNPREUgICAgICAgICAgICAgICAgICAgICAgICAgIAMobWF5IHRha2UgMzBzKSAgUmVnaXN0ZXJpbmcgYW5kICAgICAgICAgICAgICAgICAgICAgICAgIHVzaW5nIHRoaXMgc2l0ZSAgICAgICAgICAgICAgICAgICAgICAgICB5b3UgYWdyZWUgdG8gYWJpZGUgICAgICAgICAgICAgICAgICAgICAgYnkgdGhlIHN5c3RlbSAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bGVzLiBWaWV3IHRob3NlICAgICAgICAgICAgICAgICAgICAgICBydWxlcyBvbgIqOTg4XyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA==","isPublic":1,"isAccessible":1,"type":"r","key":[98,"sqrllogin",98,98,null,null,null,null,null,null],"frame_fields": [],"date":"2020-08-09T11:42:40.643Z"} diff --git a/text/98b.vtx b/text/98b.vtx index 0df234c..518cf12 100644 --- a/text/98b.vtx +++ b/text/98b.vtx @@ -1 +1 @@ -{"version":1,"frame":98,"index":"b","owner":9,"cost":0,"content":"ICARLGwSfGwUfCwTLBc3a38jMzdrIzUgICAgICACMDAwMTAwMDEwMSAgEX9rEn9qFC98E38XNWhvIDw9JCw1ByAgICAgICAgICAgICAgICAgIBEvLhIvKhQsLxMvF3VwenBxdXpwNSAgICAgICAgICAgICAgICAgICAgVmlkZW90ZXggICAgICAgICAgICAgICAgICAgICANU2lnbiBJbiAgICAXcDBgMGAwYHBwIH81ICBgcHAgYHBwIHAwcDBwIGBwcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2VsY29tZSB0bwFBAk4DUwRJB3RleC4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUbyBnZXQgdG8gdGhlIG1haW4gbWVudSwgeW91IGNhbiAgICAgICAgcHJlc3MCKjBfB2FueSB0aW1lLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmVzcwIwB3RvIGNvbnRpbnVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA==","isPublic":0,"isAccessible":1,"type":"i","key":[1,null,null,null,null,null,null,null,null,null],"date":"2020-07-08T01:30:48.608Z"} +{"version":1,"frame":98,"index":"b","owner":9,"cost":0,"content":"ICARLGwSfGwUfCwTLBc3a38jMzdrIzUgICAgICACMDAwMTAwMDEwMSAgEX9rEn9qFC98E38XNWhvIDw9JCw1ByAgICAgICAgICAgICAgICAgIBEvLhIvKhQsLxMvF3VwenBxdXpwNSAgICAgICAgICAgICAgICAgICAgVmlkZW90ZXggICAgICAgICAgICAgICAgICAgICANU2lnbiBJbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2VsY29tZSB0bwFBAk4DUwRJB3RleC4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUbyBnZXQgdG8gdGhlIG1haW4gbWVudSwgeW91IGNhbiAgICAgICAgcHJlc3MCKjBfB2FueSB0aW1lLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmVzcwIwB3RvIGNvbnRpbnVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA==","isPublic":0,"isAccessible":1,"type":"i","key":[1,null,null,null,null,null,null,null,null,null],"date":"2020-07-08T01:30:48.608Z"}