From ccba1c8c6f8794d1d97993eb1cd7d8254ee7745d Mon Sep 17 00:00:00 2001 From: John Preston Date: Tue, 21 Oct 2014 02:49:37 +0400 Subject: [PATCH] some changes made to debug tl text serialize --- Telegram/PrepareWin.bat | 5 +- Telegram/SignWinSetup.bat | 3 - Telegram/SourceFiles/config.h | 2 + Telegram/SourceFiles/logs.h | 6 +- Telegram/SourceFiles/mtproto/generate.py | 54 +- .../SourceFiles/mtproto/mtpConnection.cpp | 8 +- Telegram/SourceFiles/mtproto/mtpCoreTypes.cpp | 182 + Telegram/SourceFiles/mtproto/mtpCoreTypes.h | 182 +- Telegram/SourceFiles/mtproto/mtpScheme.cpp | 3404 +++++++++++++++++ Telegram/SourceFiles/mtproto/mtpScheme.h | 2575 +------------ Telegram/Telegram.vcxproj | 2 + Telegram/Telegram.vcxproj.filters | 6 + 12 files changed, 3688 insertions(+), 2741 deletions(-) delete mode 100644 Telegram/SignWinSetup.bat create mode 100644 Telegram/SourceFiles/mtproto/mtpCoreTypes.cpp create mode 100644 Telegram/SourceFiles/mtproto/mtpScheme.cpp diff --git a/Telegram/PrepareWin.bat b/Telegram/PrepareWin.bat index bd4e183f7..d7772bfd5 100644 --- a/Telegram/PrepareWin.bat +++ b/Telegram/PrepareWin.bat @@ -1,3 +1,6 @@ cd ..\Win32\Deploy -Prepare.exe -path Telegram.exe -path Updater.exe +call ..\..\..\TelegramPrivate\Sign.bat tsetup.0.6.4.exe +call Prepare.exe -path Telegram.exe -path Updater.exe +mkdir deploy\0.6.4\Telegram +move deploy\0.6.4\Telegram.exe deploy\0.6.4\Telegram\ cd ..\..\Telegram diff --git a/Telegram/SignWinSetup.bat b/Telegram/SignWinSetup.bat deleted file mode 100644 index c19f96b95..000000000 --- a/Telegram/SignWinSetup.bat +++ /dev/null @@ -1,3 +0,0 @@ -cd ..\Win32\Deploy -call ..\..\..\TelegramPrivate\Sign.bat tsetup.0.6.4.exe -cd ..\..\Telegram diff --git a/Telegram/SourceFiles/config.h b/Telegram/SourceFiles/config.h index 92dba3cff..27c02fe73 100644 --- a/Telegram/SourceFiles/config.h +++ b/Telegram/SourceFiles/config.h @@ -43,6 +43,8 @@ enum { MTPEnumDCTimeout = 4000, // 4 seconds timeout for help_getConfig to work (them move to other dc) + MTPDebugBufferSize = 1024 * 1024, // 1 mb start size + MinReceiveDelay = 1000, // 1 seconds MaxSelectedItems = 100, diff --git a/Telegram/SourceFiles/logs.h b/Telegram/SourceFiles/logs.h index 513b8ee34..38f87770c 100644 --- a/Telegram/SourceFiles/logs.h +++ b/Telegram/SourceFiles/logs.h @@ -49,15 +49,15 @@ inline DebugLogMemoryBuffer mb(const void *ptr, uint32 size) { } void debugLogWrite(const char *file, int32 line, const QString &v); -#define DEBUG_LOG(msg) (debugLogWrite(__FILE__, __LINE__, QString msg)) +#define DEBUG_LOG(msg) { if (cDebug()) debugLogWrite(__FILE__, __LINE__, QString msg); } //usage DEBUG_LOG(("log: %1 %2").arg(1).arg(2)) void tcpLogWrite(const QString &v); -#define TCP_LOG(msg) (tcpLogWrite(QString msg)) +#define TCP_LOG(msg) { if (cDebug()) tcpLogWrite(QString msg); } //usage TCP_LOG(("log: %1 %2").arg(1).arg(2)) void mtpLogWrite(int32 dc, const QString &v); -#define MTP_LOG(dc, msg) (mtpLogWrite(dc, QString msg)) +#define MTP_LOG(dc, msg) { if (cDebug()) mtpLogWrite(dc, QString msg); } //usage MTP_LOG(dc, ("log: %1 %2").arg(1).arg(2)) #else diff --git a/Telegram/SourceFiles/mtproto/generate.py b/Telegram/SourceFiles/mtproto/generate.py index 0f40d5f17..3e3845fc9 100644 --- a/Telegram/SourceFiles/mtproto/generate.py +++ b/Telegram/SourceFiles/mtproto/generate.py @@ -256,11 +256,12 @@ def addTextSerialize(dct): if len(result): result += '\n'; result += '\t\tcase mtpc_' + name + ':\n'; + result += '\t\t\tto.add("{ ' + name + '");\n'; if (len(prms)): - result += '\t\t\tresult += "\\n" + add;\n'; + result += '\t\t\tto.add("\\n").add(add);\n'; for k in prmsList: v = prms[k]; - result += '\t\t\tresult += " ' + k + ': " + mtpTextSerialize(from, end'; + result += '\t\t\tto.add(" ' + k + ': "); mtpTextSerializeType(to, from, end'; vtypeget = re.match(r'^[Vv]ector', v); if (vtypeget): if (not re.match(r'^[A-Z]', v)): @@ -298,10 +299,10 @@ def addTextSerialize(dct): else: if (not vtypeget): result += ', 0, level + 1'; - result += ') + ",\\n" + add;\n'; + result += '); to.add(",\\n").add(add);\n'; else: - result += '\t\t\tresult = " ";\n'; - result += '\t\treturn "{ ' + name + '" + result + "}";\n'; + result += '\t\t\tto.add(" ");\n'; + result += '\t\t\tto.add("}");\n\t\tbreak;\n'; return result; textSerialize += addTextSerialize(typesDict) + '\n'; @@ -571,7 +572,7 @@ for restype in typesList: inlineMethods += creatorsText; typesText += 'typedef MTPBoxed MTP' + resType + ';\n'; # boxed type definition -textSerializeFull = '\ninline QString mtpTextSerialize(const mtpPrime *&from, const mtpPrime *end, mtpPrime cons, uint32 level, mtpPrime vcons) {\n'; +textSerializeFull = '\nvoid mtpTextSerializeType(MTPStringLogger &to, const mtpPrime *&from, const mtpPrime *end, mtpPrime cons, uint32 level, mtpPrime vcons) {\n'; textSerializeFull += '\tQString add = QString(" ").repeated(level * 2);\n\n'; textSerializeFull += '\tconst mtpPrime *start = from;\n'; textSerializeFull += '\ttry {\n'; @@ -583,14 +584,13 @@ textSerializeFull += '\t\t\tcons = *from;\n'; textSerializeFull += '\t\t\t++from;\n'; textSerializeFull += '\t\t\t++start;\n'; textSerializeFull += '\t\t}\n\n'; -textSerializeFull += '\t\tQString result;\n'; -textSerializeFull += '\t\tswitch (mtpTypeId(cons)) {\n' + textSerialize + '\t\t}\n\n'; -textSerializeFull += '\t\treturn mtpTextSerializeCore(from, end, cons, level, vcons);\n'; +textSerializeFull += '\t\tswitch (mtpTypeId(cons)) {\n' + textSerialize; +textSerializeFull += '\n\n\t\tdefault:\n\t\t\tmtpTextSerializeCore(to, from, end, cons, level, vcons);\n\t\tbreak;\n\t\t}\n\n'; textSerializeFull += '\t} catch (Exception &e) {\n'; -textSerializeFull += '\t\tQString result = "(" + QString(e.what()) + QString("), cons: %1").arg(cons);\n'; -textSerializeFull += '\t\tif (vcons) result += QString(", vcons: %1").arg(vcons);\n'; -textSerializeFull += '\t\tresult += ", " + mb(start, (end - start) * sizeof(mtpPrime)).str();\n'; -textSerializeFull += '\t\treturn "[ERROR] " + result;\n'; +textSerializeFull += '\t\tto.add("[ERROR] ");\n'; +textSerializeFull += '\t\tto.add("(").add(e.what()).add("), cons: 0x").add(mtpWrapNumber(cons, 16));\n'; +textSerializeFull += '\t\tif (vcons) to.add(", vcons: 0x").add(mtpWrapNumber(vcons));\n'; +textSerializeFull += '\t\tto.add(", ").add(mb(start, (end - start) * sizeof(mtpPrime)).str());\n'; textSerializeFull += '\t}\n'; textSerializeFull += '}\n'; @@ -601,6 +601,32 @@ out.write('\n// Type classes definitions\n' + typesText); out.write('\n// Type constructors with data\n' + dataTexts); out.write('\n// RPC methods\n' + funcsText); out.write('\n// Inline methods definition\n' + inlineMethods); -out.write('\n// Human-readable text serialization\n#if (defined _DEBUG || defined _WITH_DEBUG)\n' + textSerializeFull + '\n#endif\n'); +out.write('\n// Human-readable text serialization\n#if (defined _DEBUG || defined _WITH_DEBUG)\n\nvoid mtpTextSerializeType(MTPStringLogger &to, const mtpPrime *&from, const mtpPrime *end, mtpPrime cons, uint32 level, mtpPrime vcons);\n\n#endif\n'); + +outCpp = open('mtpScheme.cpp', 'w'); +outCpp.write('/*\n'); +outCpp.write('Created from \'/SourceFiles/mtproto/scheme.tl\' by \'/SourceFiles/mtproto/generate.py\' script\n\n'); +outCpp.write('WARNING! All changes made in this file will be lost!\n\n'); +outCpp.write('This file is part of Telegram Desktop,\n'); +outCpp.write('an unofficial desktop messaging app, see https://telegram.org\n'); +outCpp.write('\n'); +outCpp.write('Telegram Desktop is free software: you can redistribute it and/or modify\n'); +outCpp.write('it under the terms of the GNU General Public License as published by\n'); +outCpp.write('the Free Software Foundation, either version 3 of the License, or\n'); +outCpp.write('(at your option) any later version.\n'); +outCpp.write('\n'); +outCpp.write('It is distributed in the hope that it will be useful,\n'); +outCpp.write('but WITHOUT ANY WARRANTY; without even the implied warranty of\n'); +outCpp.write('MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n'); +outCpp.write('GNU General Public License for more details.\n'); +outCpp.write('\n'); +outCpp.write('Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE\n'); +outCpp.write('Copyright (c) 2014 John Preston, https://tdesktop.com\n'); +outCpp.write('*/\n'); +outCpp.write('#include "stdafx.h"\n#include "mtpScheme.h"\n\n'); +outCpp.write('#if (defined _DEBUG || defined _WITH_DEBUG)\n\n'); +outCpp.write(textSerializeFull + '\n#endif\n'); + +print('Done, written {0} constructors, {1} functions.'.format(consts, funcs)); print('Done, written {0} constructors, {1} functions.'.format(consts, funcs)); diff --git a/Telegram/SourceFiles/mtproto/mtpConnection.cpp b/Telegram/SourceFiles/mtproto/mtpConnection.cpp index 87c59f5aa..82dd34816 100644 --- a/Telegram/SourceFiles/mtproto/mtpConnection.cpp +++ b/Telegram/SourceFiles/mtproto/mtpConnection.cpp @@ -1751,9 +1751,7 @@ void MTProtoConnectionPrivate::handleReceived() { int32 res = 1; // if no need to handle, then succeed end = data + 8 + (msgLen >> 2); const mtpPrime *sfrom(data + 4); - if (cDebug()) { - MTP_LOG(dc, ("Recv: ") + mtpTextSerialize(sfrom, end, mtpc_core_message)); - } + MTP_LOG(dc, ("Recv: ") + mtpTextSerialize(sfrom, end)); bool needToHandle = false; { @@ -3110,9 +3108,7 @@ bool MTProtoConnectionPrivate::sendRequest(mtpRequest &request, bool needAnyResp memcpy(request->data() + 2, &session, 2 * sizeof(mtpPrime)); const mtpPrime *from = request->constData() + 4; - if (cDebug()) { - MTP_LOG(dc, ("Send: ") + mtpTextSerialize(from, from + messageSize, mtpc_core_message)); - } + MTP_LOG(dc, ("Send: ") + mtpTextSerialize(from, from + messageSize)); uchar encryptedSHA[20]; MTPint128 &msgKey(*(MTPint128*)(encryptedSHA + 4)); diff --git a/Telegram/SourceFiles/mtproto/mtpCoreTypes.cpp b/Telegram/SourceFiles/mtproto/mtpCoreTypes.cpp new file mode 100644 index 000000000..9d7a65f5e --- /dev/null +++ b/Telegram/SourceFiles/mtproto/mtpCoreTypes.cpp @@ -0,0 +1,182 @@ +/* +This file is part of Telegram Desktop, +an unofficial desktop messaging app, see https://telegram.org + +Telegram Desktop is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +It is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE +Copyright (c) 2014 John Preston, https://tdesktop.com +*/ +#include "stdafx.h" +#include "mtpCoreTypes.h" + +QString mtpWrapNumber(float64 number) { + return QString::number(number); +} + +void mtpTextSerializeCore(MTPStringLogger &to, const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons, uint32 level, mtpPrime vcons) { + QString add = QString(" ").repeated(level * 2); + + switch (mtpTypeId(cons)) { + case mtpc_int: { + MTPint value(from, end, cons); + to.add(mtpWrapNumber(value.v)).add(" [INT]"); + } break; + + case mtpc_long: { + MTPlong value(from, end, cons); + to.add(mtpWrapNumber(value.v)).add(" [LONG]"); + } break; + + case mtpc_int128: { + MTPint128 value(from, end, cons); + to.add(mtpWrapNumber(value.h)).add(" * 2^64 + ").add(mtpWrapNumber(value.l)).add(" [INT128]"); + } break; + + case mtpc_int256: { + MTPint256 value(from, end, cons); + to.add(mtpWrapNumber(value.h.h)).add(" * 2^192 + ").add(mtpWrapNumber(value.h.l)).add(" * 2^128 + ").add(mtpWrapNumber(value.l.h)).add(" * 2 ^ 64 + ").add(mtpWrapNumber(value.l.l)).add(" [INT256]"); + } break; + + case mtpc_double: { + MTPdouble value(from, end, cons); + to.add(mtpWrapNumber(value.v)).add(" [DOUBLE]"); + } break; + + case mtpc_string: { + MTPstring value(from, end, cons); + QByteArray strUtf8(value.c_string().v.c_str(), value.c_string().v.length()); + QString str = QString::fromUtf8(strUtf8); + if (str.toUtf8() == strUtf8) { + to.add("\"").add(str.replace('\\', "\\\\").replace('"', "\\\"").replace('\n', "\\n")).add("\" [STRING]"); + } else { + to.add(mb(strUtf8.constData(), strUtf8.size()).str()).add(" [").add(mtpWrapNumber(strUtf8.size())).add(" BYTES]"); + } + } break; + + case mtpc_boolTrue: + case mtpc_boolFalse: { + MTPbool value(from, end, cons); + to.add(value.v ? "[TRUE]" : "[FALSE]"); + } break; + + case mtpc_vector: { + if (from >= end) { + throw Exception("from >= end in vector"); + } + int32 cnt = *(from++); + to.add("[ vector<0x").add(mtpWrapNumber(vcons, 16)).add(">"); + if (cnt) { + to.add("\n").add(add); + for (int32 i = 0; i < cnt; ++i) { + to.add(" "); + mtpTextSerializeType(to, from, end, vcons, level + 1); + to.add(",\n").add(add); + } + } else { + to.add(" "); + } + to.add("]"); + } break; + + case mtpc_error: { + to.add("{ error"); + to.add("\n").add(add); + to.add(" code: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" text: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add("}"); + } break; + + case mtpc_null: { + to.add("{ null"); + to.add(" "); + to.add("}"); + } break; + + case mtpc_rpc_result: { + to.add("{ rpc_result"); + to.add("\n").add(add); + to.add(" req_msg_id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" result: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + } break; + + case mtpc_msg_container: { + to.add("{ msg_container"); + to.add("\n").add(add); + to.add(" messages: "); mtpTextSerializeType(to, from, end, mtpc_vector, level + 1, mtpc_core_message); to.add(",\n").add(add); + to.add("}"); + } break; + + case mtpc_core_message: { + to.add("{ core_message"); + to.add("\n").add(add); + to.add(" msg_id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" seq_no: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" bytes: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" body: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + } break; + + case mtpc_gzip_packed: { + MTPstring packed(from, end); // read packed string as serialized mtp string type + uint32 packedLen = packed.c_string().v.size(), unpackedChunk = packedLen; + mtpBuffer result; // * 4 because of mtpPrime type + result.resize(0); + + z_stream stream; + stream.zalloc = 0; + stream.zfree = 0; + stream.opaque = 0; + stream.avail_in = 0; + stream.next_in = 0; + int res = inflateInit2(&stream, 16 + MAX_WBITS); + if (res != Z_OK) { + throw Exception(QString("ungzip init, code: %1").arg(res)); + } + stream.avail_in = packedLen; + stream.next_in = (Bytef*)&packed._string().v[0]; + stream.avail_out = 0; + while (!stream.avail_out) { + result.resize(result.size() + unpackedChunk); + stream.avail_out = unpackedChunk * sizeof(mtpPrime); + stream.next_out = (Bytef*)&result[result.size() - unpackedChunk]; + int res = inflate(&stream, Z_NO_FLUSH); + if (res != Z_OK && res != Z_STREAM_END) { + inflateEnd(&stream); + throw Exception(QString("ungzip unpack, code: %1").arg(res)); + } + } + if (stream.avail_out & 0x03) { + uint32 badSize = result.size() * sizeof(mtpPrime) - stream.avail_out; + throw Exception(QString("ungzip bad length, size: %1").arg(badSize)); + } + result.resize(result.size() - (stream.avail_out >> 2)); + inflateEnd(&stream); + + if (!result.size()) { + throw Exception("ungzip void data"); + } + const mtpPrime *newFrom = result.constData(), *newEnd = result.constData() + result.size(); + to.add("[GZIPPED] "); mtpTextSerializeType(to, newFrom, newEnd, 0, level); + } break; + + default: { + for (uint32 i = 1; i < mtpLayerMax; ++i) { + if (cons == mtpLayers[i]) { + to.add("[LAYER").add(mtpWrapNumber(i + 1)).add("] "); mtpTextSerializeType(to, from, end, 0, level); + return; + } + } + throw Exception(QString("unknown cons 0x%1").arg(cons, 0, 16)); + } break; + } +} diff --git a/Telegram/SourceFiles/mtproto/mtpCoreTypes.h b/Telegram/SourceFiles/mtproto/mtpCoreTypes.h index eb97e8bf3..7fb8c8b36 100644 --- a/Telegram/SourceFiles/mtproto/mtpCoreTypes.h +++ b/Telegram/SourceFiles/mtproto/mtpCoreTypes.h @@ -999,150 +999,52 @@ typedef MTPBoxed MTPNull; // Human-readable text serialization #if (defined _DEBUG || defined _WITH_DEBUG) -QString mtpTextSerialize(const mtpPrime *&from, const mtpPrime *end, mtpPrime cons = 0, uint32 level = 0, mtpPrime vcons = 0); +template +QString mtpWrapNumber(Type number, int32 base = 10) { + return QString::number(number, base); +} -inline QString mtpTextSerializeCore(const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons, uint32 level, mtpPrime vcons = 0) { - QString add = QString(" ").repeated(level * 2); - - switch (mtpTypeId(cons)) { - case mtpc_int: { - MTPint value(from, end, cons); - return QString("%1 [INT]").arg(value.v); } - - case mtpc_long: { - MTPlong value(from, end, cons); - return QString("%2 [LONG]").arg(value.v); } - - case mtpc_int128: { - MTPint128 value(from, end, cons); - return QString("%1 * 2^64 + %2 [INT128]").arg(value.h).arg(value.l); } - - case mtpc_int256: { - MTPint256 value(from, end, cons); - return QString("%1 * 2^192 + %2 * 2^128 + %3 * 2^64 + %4 [INT256]").arg(value.h.h).arg(value.h.l).arg(value.l.h).arg(value.l.l); } - - case mtpc_double: { - MTPdouble value(from, end, cons); - return QString("%1 [DOUBLE]").arg(value.v); } - - case mtpc_string: { - MTPstring value(from, end, cons); - QByteArray strUtf8(value.c_string().v.c_str(), value.c_string().v.length()); - QString str = QString::fromUtf8(strUtf8); - if (str.toUtf8() == strUtf8) { - str = QString("\"%1\" [STRING]").arg(str.replace('\\', "\\\\").replace('"', "\\\"").replace('\n', "\\n")); - } else { - str = mb(strUtf8.constData(), strUtf8.size()).str() + QString(" [%1 BYTES]").arg(strUtf8.size()); - } - return str; } - - case mtpc_boolTrue: - case mtpc_boolFalse: { - MTPbool value(from, end, cons); - return (value.v ? "[TRUE]" : "[FALSE]"); } - - case mtpc_vector: { - if (from >= end) { - throw Exception("from >= end in vector"); - } - int32 cnt = *(from++); - QString result; - if (cnt) { - result += "\n" + add; - for (int32 i = 0; i < cnt; ++i) { - result += " " + mtpTextSerialize(from, end, vcons, level + 1) + ",\n" + add; - } - } else { - result = " "; - } - return QString("[ vector<%1>").arg(vcons) + result + "]"; } - - case mtpc_error: { - QString result; - result += "\n" + add; - result += " code: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " text: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - return "{ error" + result + "}"; } - - case mtpc_null: { - QString result; - result = " "; - return "{ null" + result + "}"; } - - case mtpc_rpc_result: { - QString result; - result += "\n" + add; - result += " req_msg_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " result: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ rpc_result" + result + "}"; } - - case mtpc_msg_container: { - QString result; - result += "\n" + add; - result += " messages: " + mtpTextSerialize(from, end, mtpc_vector, level + 1, mtpc_core_message) + ",\n" + add; - return "{ msg_container" + result + "}"; } - - case mtpc_core_message: { - QString result; - result += "\n" + add; - result += " msg_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " seq_no: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " bytes: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " body: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ core_message" + result + "}"; } - - case mtpc_gzip_packed: { - MTPstring packed(from, end); // read packed string as serialized mtp string type - uint32 packedLen = packed.c_string().v.size(), unpackedChunk = packedLen; - mtpBuffer result; // * 4 because of mtpPrime type - result.resize(0); - - z_stream stream; - stream.zalloc = 0; - stream.zfree = 0; - stream.opaque = 0; - stream.avail_in = 0; - stream.next_in = 0; - int res = inflateInit2(&stream, 16 + MAX_WBITS); - if (res != Z_OK) { - throw Exception(QString("ungzip init, code: %1").arg(res)); - } - stream.avail_in = packedLen; - stream.next_in = (Bytef*)&packed._string().v[0]; - stream.avail_out = 0; - while (!stream.avail_out) { - result.resize(result.size() + unpackedChunk); - stream.avail_out = unpackedChunk * sizeof(mtpPrime); - stream.next_out = (Bytef*)&result[result.size() - unpackedChunk]; - int res = inflate(&stream, Z_NO_FLUSH); - if (res != Z_OK && res != Z_STREAM_END) { - inflateEnd(&stream); - throw Exception(QString("ungzip unpack, code: %1").arg(res)); - } - } - if (stream.avail_out & 0x03) { - uint32 badSize = result.size() * sizeof(mtpPrime) - stream.avail_out; - throw Exception(QString("ungzip bad length, size: %1").arg(badSize)); - } - result.resize(result.size() - (stream.avail_out >> 2)); - inflateEnd(&stream); - - if (!result.size()) { - throw Exception("ungzip void data"); - } - const mtpPrime *newFrom = result.constData(), *newEnd = result.constData() + result.size(); - return "[GZIPPED] " + mtpTextSerialize(newFrom, newEnd, 0, level); } - - default: { - for (uint32 i = 1; i < mtpLayerMax; ++i) { - if (cons == mtpLayers[i]) { - return QString("[LAYER%1] ").arg(i + 1) + mtpTextSerialize(from, end, 0, level); - } - } +struct MTPStringLogger { + MTPStringLogger() : p(new char[MTPDebugBufferSize]), size(0), alloced(MTPDebugBufferSize) { } + ~MTPStringLogger() { + delete[] p; } - throw Exception(QString("unknown cons %1").arg(cons)); + MTPStringLogger &add(const QString &data) { + QByteArray d = data.toUtf8(); + return add(d.constData(), d.size()); + } + + MTPStringLogger &add(const char *data, int32 len = -1) { + if (len < 0) len = strlen(data); + if (!len) return (*this); + + if (size + len > alloced) { + int32 newsize = size + len; + if (newsize % MTPDebugBufferSize) newsize += MTPDebugBufferSize - (newsize % MTPDebugBufferSize); + char *b = new char[newsize]; + memcpy(b, p, size); + alloced = newsize; + delete p; + p = b; + } + memcpy(p + size, data, len); + size += len; + return (*this); + } + char *p; + int32 size, alloced; +}; + +void mtpTextSerializeType(MTPStringLogger &to, const mtpPrime *&from, const mtpPrime *end, mtpPrime cons = 0, uint32 level = 0, mtpPrime vcons = 0); + +void mtpTextSerializeCore(MTPStringLogger &to, const mtpPrime *&from, const mtpPrime *end, mtpTypeId cons, uint32 level, mtpPrime vcons = 0); + +inline QString mtpTextSerialize(const mtpPrime *&from, const mtpPrime *end) { + MTPStringLogger to; + mtpTextSerializeType(to, from, end, mtpc_core_message); + return QString::fromUtf8(to.p, to.size); } #endif diff --git a/Telegram/SourceFiles/mtproto/mtpScheme.cpp b/Telegram/SourceFiles/mtproto/mtpScheme.cpp new file mode 100644 index 000000000..3dc1416a7 --- /dev/null +++ b/Telegram/SourceFiles/mtproto/mtpScheme.cpp @@ -0,0 +1,3404 @@ +/* +Created from '/SourceFiles/mtproto/scheme.tl' by '/SourceFiles/mtproto/generate.py' script + +WARNING! All changes made in this file will be lost! + +This file is part of Telegram Desktop, +an unofficial desktop messaging app, see https://telegram.org + +Telegram Desktop is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +It is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE +Copyright (c) 2014 John Preston, https://tdesktop.com +*/ +#include "stdafx.h" +#include "mtpScheme.h" + +#if (defined _DEBUG || defined _WITH_DEBUG) + + +void mtpTextSerializeType(MTPStringLogger &to, const mtpPrime *&from, const mtpPrime *end, mtpPrime cons, uint32 level, mtpPrime vcons) { + QString add = QString(" ").repeated(level * 2); + + const mtpPrime *start = from; + try { + if (!cons) { + if (from >= end) { + throw Exception("from >= 2"); + } + cons = *from; + ++from; + ++start; + } + + switch (mtpTypeId(cons)) { + case mtpc_userProfilePhotoEmpty: + to.add("{ userProfilePhotoEmpty"); + to.add(" "); + to.add("}"); + break; + + case mtpc_userProfilePhoto: + to.add("{ userProfilePhoto"); + to.add("\n").add(add); + to.add(" photo_id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" photo_small: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" photo_big: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_rpc_error: + to.add("{ rpc_error"); + to.add("\n").add(add); + to.add(" error_code: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" error_message: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_dh_gen_ok: + to.add("{ dh_gen_ok"); + to.add("\n").add(add); + to.add(" nonce: "); mtpTextSerializeType(to, from, end, mtpc_int128, level + 1); to.add(",\n").add(add); + to.add(" server_nonce: "); mtpTextSerializeType(to, from, end, mtpc_int128, level + 1); to.add(",\n").add(add); + to.add(" new_nonce_hash1: "); mtpTextSerializeType(to, from, end, mtpc_int128, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_dh_gen_retry: + to.add("{ dh_gen_retry"); + to.add("\n").add(add); + to.add(" nonce: "); mtpTextSerializeType(to, from, end, mtpc_int128, level + 1); to.add(",\n").add(add); + to.add(" server_nonce: "); mtpTextSerializeType(to, from, end, mtpc_int128, level + 1); to.add(",\n").add(add); + to.add(" new_nonce_hash2: "); mtpTextSerializeType(to, from, end, mtpc_int128, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_dh_gen_fail: + to.add("{ dh_gen_fail"); + to.add("\n").add(add); + to.add(" nonce: "); mtpTextSerializeType(to, from, end, mtpc_int128, level + 1); to.add(",\n").add(add); + to.add(" server_nonce: "); mtpTextSerializeType(to, from, end, mtpc_int128, level + 1); to.add(",\n").add(add); + to.add(" new_nonce_hash3: "); mtpTextSerializeType(to, from, end, mtpc_int128, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_inputPeerEmpty: + to.add("{ inputPeerEmpty"); + to.add(" "); + to.add("}"); + break; + + case mtpc_inputPeerSelf: + to.add("{ inputPeerSelf"); + to.add(" "); + to.add("}"); + break; + + case mtpc_inputPeerContact: + to.add("{ inputPeerContact"); + to.add("\n").add(add); + to.add(" user_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_inputPeerForeign: + to.add("{ inputPeerForeign"); + to.add("\n").add(add); + to.add(" user_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" access_hash: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_inputPeerChat: + to.add("{ inputPeerChat"); + to.add("\n").add(add); + to.add(" chat_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_photoEmpty: + to.add("{ photoEmpty"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_photo: + to.add("{ photo"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" access_hash: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" user_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" date: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" caption: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" geo: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" sizes: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_p_q_inner_data: + to.add("{ p_q_inner_data"); + to.add("\n").add(add); + to.add(" pq: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" p: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" q: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" nonce: "); mtpTextSerializeType(to, from, end, mtpc_int128, level + 1); to.add(",\n").add(add); + to.add(" server_nonce: "); mtpTextSerializeType(to, from, end, mtpc_int128, level + 1); to.add(",\n").add(add); + to.add(" new_nonce: "); mtpTextSerializeType(to, from, end, mtpc_int256, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_client_DH_inner_data: + to.add("{ client_DH_inner_data"); + to.add("\n").add(add); + to.add(" nonce: "); mtpTextSerializeType(to, from, end, mtpc_int128, level + 1); to.add(",\n").add(add); + to.add(" server_nonce: "); mtpTextSerializeType(to, from, end, mtpc_int128, level + 1); to.add(",\n").add(add); + to.add(" retry_id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" g_b: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_contacts_link: + to.add("{ contacts_link"); + to.add("\n").add(add); + to.add(" my_link: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" foreign_link: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" user: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_inputPhotoCropAuto: + to.add("{ inputPhotoCropAuto"); + to.add(" "); + to.add("}"); + break; + + case mtpc_inputPhotoCrop: + to.add("{ inputPhotoCrop"); + to.add("\n").add(add); + to.add(" crop_left: "); mtpTextSerializeType(to, from, end, mtpc_double, level + 1); to.add(",\n").add(add); + to.add(" crop_top: "); mtpTextSerializeType(to, from, end, mtpc_double, level + 1); to.add(",\n").add(add); + to.add(" crop_width: "); mtpTextSerializeType(to, from, end, mtpc_double, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_inputFile: + to.add("{ inputFile"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" parts: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" name: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" md5_checksum: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_inputFileBig: + to.add("{ inputFileBig"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" parts: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" name: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messageActionEmpty: + to.add("{ messageActionEmpty"); + to.add(" "); + to.add("}"); + break; + + case mtpc_messageActionChatCreate: + to.add("{ messageActionChatCreate"); + to.add("\n").add(add); + to.add(" title: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" users: "); mtpTextSerializeType(to, from, end, 0, level + 1, mtpc_int); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messageActionChatEditTitle: + to.add("{ messageActionChatEditTitle"); + to.add("\n").add(add); + to.add(" title: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messageActionChatEditPhoto: + to.add("{ messageActionChatEditPhoto"); + to.add("\n").add(add); + to.add(" photo: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messageActionChatDeletePhoto: + to.add("{ messageActionChatDeletePhoto"); + to.add(" "); + to.add("}"); + break; + + case mtpc_messageActionChatAddUser: + to.add("{ messageActionChatAddUser"); + to.add("\n").add(add); + to.add(" user_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messageActionChatDeleteUser: + to.add("{ messageActionChatDeleteUser"); + to.add("\n").add(add); + to.add(" user_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messageActionGeoChatCreate: + to.add("{ messageActionGeoChatCreate"); + to.add("\n").add(add); + to.add(" title: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" address: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messageActionGeoChatCheckin: + to.add("{ messageActionGeoChatCheckin"); + to.add(" "); + to.add("}"); + break; + + case mtpc_inputMessagesFilterEmpty: + to.add("{ inputMessagesFilterEmpty"); + to.add(" "); + to.add("}"); + break; + + case mtpc_inputMessagesFilterPhotos: + to.add("{ inputMessagesFilterPhotos"); + to.add(" "); + to.add("}"); + break; + + case mtpc_inputMessagesFilterVideo: + to.add("{ inputMessagesFilterVideo"); + to.add(" "); + to.add("}"); + break; + + case mtpc_inputMessagesFilterPhotoVideo: + to.add("{ inputMessagesFilterPhotoVideo"); + to.add(" "); + to.add("}"); + break; + + case mtpc_inputMessagesFilterDocument: + to.add("{ inputMessagesFilterDocument"); + to.add(" "); + to.add("}"); + break; + + case mtpc_inputMessagesFilterAudio: + to.add("{ inputMessagesFilterAudio"); + to.add(" "); + to.add("}"); + break; + + case mtpc_help_support: + to.add("{ help_support"); + to.add("\n").add(add); + to.add(" phone_number: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" user: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_contactFound: + to.add("{ contactFound"); + to.add("\n").add(add); + to.add(" user_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_future_salts: + to.add("{ future_salts"); + to.add("\n").add(add); + to.add(" req_msg_id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" now: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" salts: "); mtpTextSerializeType(to, from, end, mtpc_vector, level + 1, mtpc_future_salt); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_inputPhotoEmpty: + to.add("{ inputPhotoEmpty"); + to.add(" "); + to.add("}"); + break; + + case mtpc_inputPhoto: + to.add("{ inputPhoto"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" access_hash: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_chatParticipant: + to.add("{ chatParticipant"); + to.add("\n").add(add); + to.add(" user_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" inviter_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" date: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_auth_exportedAuthorization: + to.add("{ auth_exportedAuthorization"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" bytes: "); mtpTextSerializeType(to, from, end, mtpc_bytes, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_contactStatus: + to.add("{ contactStatus"); + to.add("\n").add(add); + to.add(" user_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" expires: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_new_session_created: + to.add("{ new_session_created"); + to.add("\n").add(add); + to.add(" first_msg_id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" unique_id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" server_salt: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_geochats_located: + to.add("{ geochats_located"); + to.add("\n").add(add); + to.add(" results: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" messages: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" chats: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" users: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_updatesTooLong: + to.add("{ updatesTooLong"); + to.add(" "); + to.add("}"); + break; + + case mtpc_updateShortMessage: + to.add("{ updateShortMessage"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" from_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" message: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" pts: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" date: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" seq: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_updateShortChatMessage: + to.add("{ updateShortChatMessage"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" from_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" chat_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" message: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" pts: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" date: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" seq: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_updateShort: + to.add("{ updateShort"); + to.add("\n").add(add); + to.add(" update: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" date: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_updatesCombined: + to.add("{ updatesCombined"); + to.add("\n").add(add); + to.add(" updates: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" users: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" chats: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" date: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" seq_start: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" seq: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_updates: + to.add("{ updates"); + to.add("\n").add(add); + to.add(" updates: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" users: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" chats: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" date: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" seq: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_future_salt: + to.add("{ future_salt"); + to.add("\n").add(add); + to.add(" valid_since: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" valid_until: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" salt: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_server_DH_inner_data: + to.add("{ server_DH_inner_data"); + to.add("\n").add(add); + to.add(" nonce: "); mtpTextSerializeType(to, from, end, mtpc_int128, level + 1); to.add(",\n").add(add); + to.add(" server_nonce: "); mtpTextSerializeType(to, from, end, mtpc_int128, level + 1); to.add(",\n").add(add); + to.add(" g: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" dh_prime: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" g_a: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" server_time: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_resPQ: + to.add("{ resPQ"); + to.add("\n").add(add); + to.add(" nonce: "); mtpTextSerializeType(to, from, end, mtpc_int128, level + 1); to.add(",\n").add(add); + to.add(" server_nonce: "); mtpTextSerializeType(to, from, end, mtpc_int128, level + 1); to.add(",\n").add(add); + to.add(" pq: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" server_public_key_fingerprints: "); mtpTextSerializeType(to, from, end, 0, level + 1, mtpc_long); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_upload_file: + to.add("{ upload_file"); + to.add("\n").add(add); + to.add(" type: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" mtime: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" bytes: "); mtpTextSerializeType(to, from, end, mtpc_bytes, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_inputMediaEmpty: + to.add("{ inputMediaEmpty"); + to.add(" "); + to.add("}"); + break; + + case mtpc_inputMediaUploadedPhoto: + to.add("{ inputMediaUploadedPhoto"); + to.add("\n").add(add); + to.add(" file: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_inputMediaPhoto: + to.add("{ inputMediaPhoto"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_inputMediaGeoPoint: + to.add("{ inputMediaGeoPoint"); + to.add("\n").add(add); + to.add(" geo_point: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_inputMediaContact: + to.add("{ inputMediaContact"); + to.add("\n").add(add); + to.add(" phone_number: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" first_name: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" last_name: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_inputMediaUploadedVideo: + to.add("{ inputMediaUploadedVideo"); + to.add("\n").add(add); + to.add(" file: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" duration: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" w: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" h: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" mime_type: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_inputMediaUploadedThumbVideo: + to.add("{ inputMediaUploadedThumbVideo"); + to.add("\n").add(add); + to.add(" file: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" thumb: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" duration: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" w: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" h: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" mime_type: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_inputMediaVideo: + to.add("{ inputMediaVideo"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_inputMediaUploadedAudio: + to.add("{ inputMediaUploadedAudio"); + to.add("\n").add(add); + to.add(" file: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" duration: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" mime_type: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_inputMediaAudio: + to.add("{ inputMediaAudio"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_inputMediaUploadedDocument: + to.add("{ inputMediaUploadedDocument"); + to.add("\n").add(add); + to.add(" file: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" file_name: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" mime_type: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_inputMediaUploadedThumbDocument: + to.add("{ inputMediaUploadedThumbDocument"); + to.add("\n").add(add); + to.add(" file: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" thumb: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" file_name: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" mime_type: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_inputMediaDocument: + to.add("{ inputMediaDocument"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_documentEmpty: + to.add("{ documentEmpty"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_document: + to.add("{ document"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" access_hash: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" user_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" date: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" file_name: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" mime_type: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" size: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" thumb: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" dc_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_inputEncryptedFileEmpty: + to.add("{ inputEncryptedFileEmpty"); + to.add(" "); + to.add("}"); + break; + + case mtpc_inputEncryptedFileUploaded: + to.add("{ inputEncryptedFileUploaded"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" parts: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" md5_checksum: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" key_fingerprint: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_inputEncryptedFile: + to.add("{ inputEncryptedFile"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" access_hash: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_inputEncryptedFileBigUploaded: + to.add("{ inputEncryptedFileBigUploaded"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" parts: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" key_fingerprint: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_contacts_found: + to.add("{ contacts_found"); + to.add("\n").add(add); + to.add(" results: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" users: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_inputFileLocation: + to.add("{ inputFileLocation"); + to.add("\n").add(add); + to.add(" volume_id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" local_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" secret: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_inputVideoFileLocation: + to.add("{ inputVideoFileLocation"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" access_hash: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_inputEncryptedFileLocation: + to.add("{ inputEncryptedFileLocation"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" access_hash: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_inputAudioFileLocation: + to.add("{ inputAudioFileLocation"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" access_hash: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_inputDocumentFileLocation: + to.add("{ inputDocumentFileLocation"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" access_hash: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_chatFull: + to.add("{ chatFull"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" participants: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" chat_photo: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" notify_settings: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_chatParticipantsForbidden: + to.add("{ chatParticipantsForbidden"); + to.add("\n").add(add); + to.add(" chat_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_chatParticipants: + to.add("{ chatParticipants"); + to.add("\n").add(add); + to.add(" chat_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" admin_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" participants: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" version: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_msgs_ack: + to.add("{ msgs_ack"); + to.add("\n").add(add); + to.add(" msg_ids: "); mtpTextSerializeType(to, from, end, 0, level + 1, mtpc_long); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_userFull: + to.add("{ userFull"); + to.add("\n").add(add); + to.add(" user: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" link: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" profile_photo: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" notify_settings: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" blocked: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" real_first_name: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" real_last_name: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_videoEmpty: + to.add("{ videoEmpty"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_video: + to.add("{ video"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" access_hash: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" user_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" date: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" caption: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" duration: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" mime_type: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" size: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" thumb: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" dc_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" w: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" h: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messageEmpty: + to.add("{ messageEmpty"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_message: + to.add("{ message"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" from_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" to_id: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" out: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" unread: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" date: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" message: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" media: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messageForwarded: + to.add("{ messageForwarded"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" fwd_from_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" fwd_date: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" from_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" to_id: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" out: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" unread: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" date: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" message: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" media: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messageService: + to.add("{ messageService"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" from_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" to_id: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" out: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" unread: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" date: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" action: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_notifyPeer: + to.add("{ notifyPeer"); + to.add("\n").add(add); + to.add(" peer: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_notifyUsers: + to.add("{ notifyUsers"); + to.add(" "); + to.add("}"); + break; + + case mtpc_notifyChats: + to.add("{ notifyChats"); + to.add(" "); + to.add("}"); + break; + + case mtpc_notifyAll: + to.add("{ notifyAll"); + to.add(" "); + to.add("}"); + break; + + case mtpc_messages_messageEmpty: + to.add("{ messages_messageEmpty"); + to.add(" "); + to.add("}"); + break; + + case mtpc_messages_message: + to.add("{ messages_message"); + to.add("\n").add(add); + to.add(" message: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" chats: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" users: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_inputPhoneContact: + to.add("{ inputPhoneContact"); + to.add("\n").add(add); + to.add(" client_id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" phone: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" first_name: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" last_name: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_rpc_answer_unknown: + to.add("{ rpc_answer_unknown"); + to.add(" "); + to.add("}"); + break; + + case mtpc_rpc_answer_dropped_running: + to.add("{ rpc_answer_dropped_running"); + to.add(" "); + to.add("}"); + break; + + case mtpc_rpc_answer_dropped: + to.add("{ rpc_answer_dropped"); + to.add("\n").add(add); + to.add(" msg_id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" seq_no: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" bytes: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_inputVideoEmpty: + to.add("{ inputVideoEmpty"); + to.add(" "); + to.add("}"); + break; + + case mtpc_inputVideo: + to.add("{ inputVideo"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" access_hash: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_decryptedMessageMediaEmpty: + to.add("{ decryptedMessageMediaEmpty"); + to.add(" "); + to.add("}"); + break; + + case mtpc_decryptedMessageMediaPhoto: + to.add("{ decryptedMessageMediaPhoto"); + to.add("\n").add(add); + to.add(" thumb: "); mtpTextSerializeType(to, from, end, mtpc_bytes, level + 1); to.add(",\n").add(add); + to.add(" thumb_w: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" thumb_h: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" w: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" h: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" size: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" key: "); mtpTextSerializeType(to, from, end, mtpc_bytes, level + 1); to.add(",\n").add(add); + to.add(" iv: "); mtpTextSerializeType(to, from, end, mtpc_bytes, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_decryptedMessageMediaVideo: + to.add("{ decryptedMessageMediaVideo"); + to.add("\n").add(add); + to.add(" thumb: "); mtpTextSerializeType(to, from, end, mtpc_bytes, level + 1); to.add(",\n").add(add); + to.add(" thumb_w: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" thumb_h: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" duration: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" mime_type: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" w: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" h: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" size: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" key: "); mtpTextSerializeType(to, from, end, mtpc_bytes, level + 1); to.add(",\n").add(add); + to.add(" iv: "); mtpTextSerializeType(to, from, end, mtpc_bytes, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_decryptedMessageMediaGeoPoint: + to.add("{ decryptedMessageMediaGeoPoint"); + to.add("\n").add(add); + to.add(" lat: "); mtpTextSerializeType(to, from, end, mtpc_double, level + 1); to.add(",\n").add(add); + to.add(" long: "); mtpTextSerializeType(to, from, end, mtpc_double, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_decryptedMessageMediaContact: + to.add("{ decryptedMessageMediaContact"); + to.add("\n").add(add); + to.add(" phone_number: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" first_name: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" last_name: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" user_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_decryptedMessageMediaDocument: + to.add("{ decryptedMessageMediaDocument"); + to.add("\n").add(add); + to.add(" thumb: "); mtpTextSerializeType(to, from, end, mtpc_bytes, level + 1); to.add(",\n").add(add); + to.add(" thumb_w: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" thumb_h: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" file_name: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" mime_type: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" size: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" key: "); mtpTextSerializeType(to, from, end, mtpc_bytes, level + 1); to.add(",\n").add(add); + to.add(" iv: "); mtpTextSerializeType(to, from, end, mtpc_bytes, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_decryptedMessageMediaAudio: + to.add("{ decryptedMessageMediaAudio"); + to.add("\n").add(add); + to.add(" duration: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" mime_type: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" size: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" key: "); mtpTextSerializeType(to, from, end, mtpc_bytes, level + 1); to.add(",\n").add(add); + to.add(" iv: "); mtpTextSerializeType(to, from, end, mtpc_bytes, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_geoChatMessageEmpty: + to.add("{ geoChatMessageEmpty"); + to.add("\n").add(add); + to.add(" chat_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_geoChatMessage: + to.add("{ geoChatMessage"); + to.add("\n").add(add); + to.add(" chat_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" from_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" date: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" message: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" media: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_geoChatMessageService: + to.add("{ geoChatMessageService"); + to.add("\n").add(add); + to.add(" chat_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" from_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" date: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" action: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_geoPointEmpty: + to.add("{ geoPointEmpty"); + to.add(" "); + to.add("}"); + break; + + case mtpc_geoPoint: + to.add("{ geoPoint"); + to.add("\n").add(add); + to.add(" long: "); mtpTextSerializeType(to, from, end, mtpc_double, level + 1); to.add(",\n").add(add); + to.add(" lat: "); mtpTextSerializeType(to, from, end, mtpc_double, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messages_dialogs: + to.add("{ messages_dialogs"); + to.add("\n").add(add); + to.add(" dialogs: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" messages: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" chats: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" users: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messages_dialogsSlice: + to.add("{ messages_dialogsSlice"); + to.add("\n").add(add); + to.add(" count: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" dialogs: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" messages: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" chats: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" users: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messages_dhConfigNotModified: + to.add("{ messages_dhConfigNotModified"); + to.add("\n").add(add); + to.add(" random: "); mtpTextSerializeType(to, from, end, mtpc_bytes, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messages_dhConfig: + to.add("{ messages_dhConfig"); + to.add("\n").add(add); + to.add(" g: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" p: "); mtpTextSerializeType(to, from, end, mtpc_bytes, level + 1); to.add(",\n").add(add); + to.add(" version: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" random: "); mtpTextSerializeType(to, from, end, mtpc_bytes, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_peerUser: + to.add("{ peerUser"); + to.add("\n").add(add); + to.add(" user_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_peerChat: + to.add("{ peerChat"); + to.add("\n").add(add); + to.add(" chat_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_server_DH_params_fail: + to.add("{ server_DH_params_fail"); + to.add("\n").add(add); + to.add(" nonce: "); mtpTextSerializeType(to, from, end, mtpc_int128, level + 1); to.add(",\n").add(add); + to.add(" server_nonce: "); mtpTextSerializeType(to, from, end, mtpc_int128, level + 1); to.add(",\n").add(add); + to.add(" new_nonce_hash: "); mtpTextSerializeType(to, from, end, mtpc_int128, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_server_DH_params_ok: + to.add("{ server_DH_params_ok"); + to.add("\n").add(add); + to.add(" nonce: "); mtpTextSerializeType(to, from, end, mtpc_int128, level + 1); to.add(",\n").add(add); + to.add(" server_nonce: "); mtpTextSerializeType(to, from, end, mtpc_int128, level + 1); to.add(",\n").add(add); + to.add(" encrypted_answer: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_inputAppEvent: + to.add("{ inputAppEvent"); + to.add("\n").add(add); + to.add(" time: "); mtpTextSerializeType(to, from, end, mtpc_double, level + 1); to.add(",\n").add(add); + to.add(" type: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" peer: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" data: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_photos_photo: + to.add("{ photos_photo"); + to.add("\n").add(add); + to.add(" photo: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" users: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_peerNotifyEventsEmpty: + to.add("{ peerNotifyEventsEmpty"); + to.add(" "); + to.add("}"); + break; + + case mtpc_peerNotifyEventsAll: + to.add("{ peerNotifyEventsAll"); + to.add(" "); + to.add("}"); + break; + + case mtpc_nearestDc: + to.add("{ nearestDc"); + to.add("\n").add(add); + to.add(" country: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" this_dc: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" nearest_dc: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_wallPaper: + to.add("{ wallPaper"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" title: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" sizes: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" color: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_wallPaperSolid: + to.add("{ wallPaperSolid"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" title: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" bg_color: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" color: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_geochats_messages: + to.add("{ geochats_messages"); + to.add("\n").add(add); + to.add(" messages: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" chats: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" users: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_geochats_messagesSlice: + to.add("{ geochats_messagesSlice"); + to.add("\n").add(add); + to.add(" count: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" messages: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" chats: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" users: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_contacts_blocked: + to.add("{ contacts_blocked"); + to.add("\n").add(add); + to.add(" blocked: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" users: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_contacts_blockedSlice: + to.add("{ contacts_blockedSlice"); + to.add("\n").add(add); + to.add(" count: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" blocked: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" users: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messages_statedMessage: + to.add("{ messages_statedMessage"); + to.add("\n").add(add); + to.add(" message: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" chats: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" users: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" pts: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" seq: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messages_statedMessageLink: + to.add("{ messages_statedMessageLink"); + to.add("\n").add(add); + to.add(" message: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" chats: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" users: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" links: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" pts: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" seq: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messageMediaEmpty: + to.add("{ messageMediaEmpty"); + to.add(" "); + to.add("}"); + break; + + case mtpc_messageMediaPhoto: + to.add("{ messageMediaPhoto"); + to.add("\n").add(add); + to.add(" photo: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messageMediaVideo: + to.add("{ messageMediaVideo"); + to.add("\n").add(add); + to.add(" video: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messageMediaGeo: + to.add("{ messageMediaGeo"); + to.add("\n").add(add); + to.add(" geo: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messageMediaContact: + to.add("{ messageMediaContact"); + to.add("\n").add(add); + to.add(" phone_number: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" first_name: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" last_name: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" user_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messageMediaUnsupported: + to.add("{ messageMediaUnsupported"); + to.add("\n").add(add); + to.add(" bytes: "); mtpTextSerializeType(to, from, end, mtpc_bytes, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messageMediaDocument: + to.add("{ messageMediaDocument"); + to.add("\n").add(add); + to.add(" document: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messageMediaAudio: + to.add("{ messageMediaAudio"); + to.add("\n").add(add); + to.add(" audio: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_inputGeoChat: + to.add("{ inputGeoChat"); + to.add("\n").add(add); + to.add(" chat_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" access_hash: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_help_appUpdate: + to.add("{ help_appUpdate"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" critical: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" url: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" text: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_help_noAppUpdate: + to.add("{ help_noAppUpdate"); + to.add(" "); + to.add("}"); + break; + + case mtpc_updates_differenceEmpty: + to.add("{ updates_differenceEmpty"); + to.add("\n").add(add); + to.add(" date: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" seq: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_updates_difference: + to.add("{ updates_difference"); + to.add("\n").add(add); + to.add(" new_messages: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" new_encrypted_messages: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" other_updates: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" chats: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" users: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" state: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_updates_differenceSlice: + to.add("{ updates_differenceSlice"); + to.add("\n").add(add); + to.add(" new_messages: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" new_encrypted_messages: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" other_updates: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" chats: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" users: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" intermediate_state: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_msgs_state_info: + to.add("{ msgs_state_info"); + to.add("\n").add(add); + to.add(" req_msg_id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" info: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_msgs_state_req: + to.add("{ msgs_state_req"); + to.add("\n").add(add); + to.add(" msg_ids: "); mtpTextSerializeType(to, from, end, 0, level + 1, mtpc_long); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_msg_resend_req: + to.add("{ msg_resend_req"); + to.add("\n").add(add); + to.add(" msg_ids: "); mtpTextSerializeType(to, from, end, 0, level + 1, mtpc_long); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_inputDocumentEmpty: + to.add("{ inputDocumentEmpty"); + to.add(" "); + to.add("}"); + break; + + case mtpc_inputDocument: + to.add("{ inputDocument"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" access_hash: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_userStatusEmpty: + to.add("{ userStatusEmpty"); + to.add(" "); + to.add("}"); + break; + + case mtpc_userStatusOnline: + to.add("{ userStatusOnline"); + to.add("\n").add(add); + to.add(" expires: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_userStatusOffline: + to.add("{ userStatusOffline"); + to.add("\n").add(add); + to.add(" was_online: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_photos_photos: + to.add("{ photos_photos"); + to.add("\n").add(add); + to.add(" photos: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" users: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_photos_photosSlice: + to.add("{ photos_photosSlice"); + to.add("\n").add(add); + to.add(" count: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" photos: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" users: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_decryptedMessage: + to.add("{ decryptedMessage"); + to.add("\n").add(add); + to.add(" random_id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" random_bytes: "); mtpTextSerializeType(to, from, end, mtpc_bytes, level + 1); to.add(",\n").add(add); + to.add(" message: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" media: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_decryptedMessageService: + to.add("{ decryptedMessageService"); + to.add("\n").add(add); + to.add(" random_id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" random_bytes: "); mtpTextSerializeType(to, from, end, mtpc_bytes, level + 1); to.add(",\n").add(add); + to.add(" action: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_contacts_importedContacts: + to.add("{ contacts_importedContacts"); + to.add("\n").add(add); + to.add(" imported: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" retry_contacts: "); mtpTextSerializeType(to, from, end, 0, level + 1, mtpc_long); to.add(",\n").add(add); + to.add(" users: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_fileLocationUnavailable: + to.add("{ fileLocationUnavailable"); + to.add("\n").add(add); + to.add(" volume_id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" local_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" secret: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_fileLocation: + to.add("{ fileLocation"); + to.add("\n").add(add); + to.add(" dc_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" volume_id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" local_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" secret: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_photoSizeEmpty: + to.add("{ photoSizeEmpty"); + to.add("\n").add(add); + to.add(" type: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_photoSize: + to.add("{ photoSize"); + to.add("\n").add(add); + to.add(" type: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" location: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" w: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" h: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" size: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_photoCachedSize: + to.add("{ photoCachedSize"); + to.add("\n").add(add); + to.add(" type: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" location: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" w: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" h: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" bytes: "); mtpTextSerializeType(to, from, end, mtpc_bytes, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_msg_detailed_info: + to.add("{ msg_detailed_info"); + to.add("\n").add(add); + to.add(" msg_id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" answer_msg_id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" bytes: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" status: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_msg_new_detailed_info: + to.add("{ msg_new_detailed_info"); + to.add("\n").add(add); + to.add(" answer_msg_id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" bytes: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" status: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_inputChatPhotoEmpty: + to.add("{ inputChatPhotoEmpty"); + to.add(" "); + to.add("}"); + break; + + case mtpc_inputChatUploadedPhoto: + to.add("{ inputChatUploadedPhoto"); + to.add("\n").add(add); + to.add(" file: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" crop: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_inputChatPhoto: + to.add("{ inputChatPhoto"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" crop: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messages_sentMessage: + to.add("{ messages_sentMessage"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" date: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" pts: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" seq: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messages_sentMessageLink: + to.add("{ messages_sentMessageLink"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" date: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" pts: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" seq: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" links: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messages_chatFull: + to.add("{ messages_chatFull"); + to.add("\n").add(add); + to.add(" full_chat: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" chats: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" users: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_geochats_statedMessage: + to.add("{ geochats_statedMessage"); + to.add("\n").add(add); + to.add(" message: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" chats: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" users: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" seq: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_chatPhotoEmpty: + to.add("{ chatPhotoEmpty"); + to.add(" "); + to.add("}"); + break; + + case mtpc_chatPhoto: + to.add("{ chatPhoto"); + to.add("\n").add(add); + to.add(" photo_small: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" photo_big: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_encryptedMessage: + to.add("{ encryptedMessage"); + to.add("\n").add(add); + to.add(" random_id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" chat_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" date: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" bytes: "); mtpTextSerializeType(to, from, end, mtpc_bytes, level + 1); to.add(",\n").add(add); + to.add(" file: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_encryptedMessageService: + to.add("{ encryptedMessageService"); + to.add("\n").add(add); + to.add(" random_id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" chat_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" date: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" bytes: "); mtpTextSerializeType(to, from, end, mtpc_bytes, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_destroy_session_ok: + to.add("{ destroy_session_ok"); + to.add("\n").add(add); + to.add(" session_id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_destroy_session_none: + to.add("{ destroy_session_none"); + to.add("\n").add(add); + to.add(" session_id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_http_wait: + to.add("{ http_wait"); + to.add("\n").add(add); + to.add(" max_delay: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" wait_after: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" max_wait: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messages_sentEncryptedMessage: + to.add("{ messages_sentEncryptedMessage"); + to.add("\n").add(add); + to.add(" date: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messages_sentEncryptedFile: + to.add("{ messages_sentEncryptedFile"); + to.add("\n").add(add); + to.add(" date: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" file: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_contacts_myLinkEmpty: + to.add("{ contacts_myLinkEmpty"); + to.add(" "); + to.add("}"); + break; + + case mtpc_contacts_myLinkRequested: + to.add("{ contacts_myLinkRequested"); + to.add("\n").add(add); + to.add(" contact: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_contacts_myLinkContact: + to.add("{ contacts_myLinkContact"); + to.add(" "); + to.add("}"); + break; + + case mtpc_inputEncryptedChat: + to.add("{ inputEncryptedChat"); + to.add("\n").add(add); + to.add(" chat_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" access_hash: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messages_chats: + to.add("{ messages_chats"); + to.add("\n").add(add); + to.add(" chats: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" users: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_encryptedChatEmpty: + to.add("{ encryptedChatEmpty"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_encryptedChatWaiting: + to.add("{ encryptedChatWaiting"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" access_hash: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" date: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" admin_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" participant_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_encryptedChatRequested: + to.add("{ encryptedChatRequested"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" access_hash: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" date: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" admin_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" participant_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" g_a: "); mtpTextSerializeType(to, from, end, mtpc_bytes, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_encryptedChat: + to.add("{ encryptedChat"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" access_hash: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" date: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" admin_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" participant_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" g_a_or_b: "); mtpTextSerializeType(to, from, end, mtpc_bytes, level + 1); to.add(",\n").add(add); + to.add(" key_fingerprint: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_encryptedChatDiscarded: + to.add("{ encryptedChatDiscarded"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messages_messages: + to.add("{ messages_messages"); + to.add("\n").add(add); + to.add(" messages: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" chats: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" users: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messages_messagesSlice: + to.add("{ messages_messagesSlice"); + to.add("\n").add(add); + to.add(" count: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" messages: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" chats: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" users: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_auth_checkedPhone: + to.add("{ auth_checkedPhone"); + to.add("\n").add(add); + to.add(" phone_registered: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" phone_invited: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_contactSuggested: + to.add("{ contactSuggested"); + to.add("\n").add(add); + to.add(" user_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" mutual_contacts: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_contacts_foreignLinkUnknown: + to.add("{ contacts_foreignLinkUnknown"); + to.add(" "); + to.add("}"); + break; + + case mtpc_contacts_foreignLinkRequested: + to.add("{ contacts_foreignLinkRequested"); + to.add("\n").add(add); + to.add(" has_phone: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_contacts_foreignLinkMutual: + to.add("{ contacts_foreignLinkMutual"); + to.add(" "); + to.add("}"); + break; + + case mtpc_inputAudioEmpty: + to.add("{ inputAudioEmpty"); + to.add(" "); + to.add("}"); + break; + + case mtpc_inputAudio: + to.add("{ inputAudio"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" access_hash: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_contacts_contacts: + to.add("{ contacts_contacts"); + to.add("\n").add(add); + to.add(" contacts: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" users: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_contacts_contactsNotModified: + to.add("{ contacts_contactsNotModified"); + to.add(" "); + to.add("}"); + break; + + case mtpc_chatEmpty: + to.add("{ chatEmpty"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_chat: + to.add("{ chat"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" title: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" photo: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" participants_count: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" date: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" left: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" version: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_chatForbidden: + to.add("{ chatForbidden"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" title: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" date: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_geoChat: + to.add("{ geoChat"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" access_hash: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" title: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" address: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" venue: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" geo: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" photo: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" participants_count: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" date: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" checked_in: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" version: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_pong: + to.add("{ pong"); + to.add("\n").add(add); + to.add(" msg_id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" ping_id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_inputPeerNotifyEventsEmpty: + to.add("{ inputPeerNotifyEventsEmpty"); + to.add(" "); + to.add("}"); + break; + + case mtpc_inputPeerNotifyEventsAll: + to.add("{ inputPeerNotifyEventsAll"); + to.add(" "); + to.add("}"); + break; + + case mtpc_inputPeerNotifySettings: + to.add("{ inputPeerNotifySettings"); + to.add("\n").add(add); + to.add(" mute_until: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" sound: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" show_previews: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" events_mask: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messages_affectedHistory: + to.add("{ messages_affectedHistory"); + to.add("\n").add(add); + to.add(" pts: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" seq: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" offset: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_inputNotifyPeer: + to.add("{ inputNotifyPeer"); + to.add("\n").add(add); + to.add(" peer: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_inputNotifyUsers: + to.add("{ inputNotifyUsers"); + to.add(" "); + to.add("}"); + break; + + case mtpc_inputNotifyChats: + to.add("{ inputNotifyChats"); + to.add(" "); + to.add("}"); + break; + + case mtpc_inputNotifyAll: + to.add("{ inputNotifyAll"); + to.add(" "); + to.add("}"); + break; + + case mtpc_inputNotifyGeoChatPeer: + to.add("{ inputNotifyGeoChatPeer"); + to.add("\n").add(add); + to.add(" peer: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_bad_msg_notification: + to.add("{ bad_msg_notification"); + to.add("\n").add(add); + to.add(" bad_msg_id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" bad_msg_seqno: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" error_code: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_bad_server_salt: + to.add("{ bad_server_salt"); + to.add("\n").add(add); + to.add(" bad_msg_id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" bad_msg_seqno: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" error_code: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" new_server_salt: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_config: + to.add("{ config"); + to.add("\n").add(add); + to.add(" date: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" test_mode: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" this_dc: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" dc_options: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" chat_size_max: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" broadcast_size_max: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_inputGeoPointEmpty: + to.add("{ inputGeoPointEmpty"); + to.add(" "); + to.add("}"); + break; + + case mtpc_inputGeoPoint: + to.add("{ inputGeoPoint"); + to.add("\n").add(add); + to.add(" lat: "); mtpTextSerializeType(to, from, end, mtpc_double, level + 1); to.add(",\n").add(add); + to.add(" long: "); mtpTextSerializeType(to, from, end, mtpc_double, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_inputUserEmpty: + to.add("{ inputUserEmpty"); + to.add(" "); + to.add("}"); + break; + + case mtpc_inputUserSelf: + to.add("{ inputUserSelf"); + to.add(" "); + to.add("}"); + break; + + case mtpc_inputUserContact: + to.add("{ inputUserContact"); + to.add("\n").add(add); + to.add(" user_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_inputUserForeign: + to.add("{ inputUserForeign"); + to.add("\n").add(add); + to.add(" user_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" access_hash: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_dialog: + to.add("{ dialog"); + to.add("\n").add(add); + to.add(" peer: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" top_message: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" unread_count: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" notify_settings: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_importedContact: + to.add("{ importedContact"); + to.add("\n").add(add); + to.add(" user_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" client_id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_dcOption: + to.add("{ dcOption"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" hostname: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" ip_address: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" port: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_updateNewMessage: + to.add("{ updateNewMessage"); + to.add("\n").add(add); + to.add(" message: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" pts: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_updateMessageID: + to.add("{ updateMessageID"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" random_id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_updateReadMessages: + to.add("{ updateReadMessages"); + to.add("\n").add(add); + to.add(" messages: "); mtpTextSerializeType(to, from, end, 0, level + 1, mtpc_int); to.add(",\n").add(add); + to.add(" pts: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_updateDeleteMessages: + to.add("{ updateDeleteMessages"); + to.add("\n").add(add); + to.add(" messages: "); mtpTextSerializeType(to, from, end, 0, level + 1, mtpc_int); to.add(",\n").add(add); + to.add(" pts: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_updateRestoreMessages: + to.add("{ updateRestoreMessages"); + to.add("\n").add(add); + to.add(" messages: "); mtpTextSerializeType(to, from, end, 0, level + 1, mtpc_int); to.add(",\n").add(add); + to.add(" pts: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_updateUserTyping: + to.add("{ updateUserTyping"); + to.add("\n").add(add); + to.add(" user_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_updateChatUserTyping: + to.add("{ updateChatUserTyping"); + to.add("\n").add(add); + to.add(" chat_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" user_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_updateChatParticipants: + to.add("{ updateChatParticipants"); + to.add("\n").add(add); + to.add(" participants: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_updateUserStatus: + to.add("{ updateUserStatus"); + to.add("\n").add(add); + to.add(" user_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" status: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_updateUserName: + to.add("{ updateUserName"); + to.add("\n").add(add); + to.add(" user_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" first_name: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" last_name: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_updateUserPhoto: + to.add("{ updateUserPhoto"); + to.add("\n").add(add); + to.add(" user_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" date: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" photo: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" previous: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_updateContactRegistered: + to.add("{ updateContactRegistered"); + to.add("\n").add(add); + to.add(" user_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" date: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_updateContactLink: + to.add("{ updateContactLink"); + to.add("\n").add(add); + to.add(" user_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" my_link: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" foreign_link: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_updateActivation: + to.add("{ updateActivation"); + to.add("\n").add(add); + to.add(" user_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_updateNewAuthorization: + to.add("{ updateNewAuthorization"); + to.add("\n").add(add); + to.add(" auth_key_id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" date: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" device: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" location: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_updateNewGeoChatMessage: + to.add("{ updateNewGeoChatMessage"); + to.add("\n").add(add); + to.add(" message: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_updateNewEncryptedMessage: + to.add("{ updateNewEncryptedMessage"); + to.add("\n").add(add); + to.add(" message: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" qts: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_updateEncryptedChatTyping: + to.add("{ updateEncryptedChatTyping"); + to.add("\n").add(add); + to.add(" chat_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_updateEncryption: + to.add("{ updateEncryption"); + to.add("\n").add(add); + to.add(" chat: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" date: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_updateEncryptedMessagesRead: + to.add("{ updateEncryptedMessagesRead"); + to.add("\n").add(add); + to.add(" chat_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" max_date: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" date: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_updateChatParticipantAdd: + to.add("{ updateChatParticipantAdd"); + to.add("\n").add(add); + to.add(" chat_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" user_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" inviter_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" version: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_updateChatParticipantDelete: + to.add("{ updateChatParticipantDelete"); + to.add("\n").add(add); + to.add(" chat_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" user_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" version: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_updateDcOptions: + to.add("{ updateDcOptions"); + to.add("\n").add(add); + to.add(" dc_options: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_updateUserBlocked: + to.add("{ updateUserBlocked"); + to.add("\n").add(add); + to.add(" user_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" blocked: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_updateNotifySettings: + to.add("{ updateNotifySettings"); + to.add("\n").add(add); + to.add(" peer: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" notify_settings: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_decryptedMessageActionSetMessageTTL: + to.add("{ decryptedMessageActionSetMessageTTL"); + to.add("\n").add(add); + to.add(" ttl_seconds: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_decryptedMessageActionReadMessages: + to.add("{ decryptedMessageActionReadMessages"); + to.add("\n").add(add); + to.add(" random_ids: "); mtpTextSerializeType(to, from, end, 0, level + 1, mtpc_long); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_decryptedMessageActionDeleteMessages: + to.add("{ decryptedMessageActionDeleteMessages"); + to.add("\n").add(add); + to.add(" random_ids: "); mtpTextSerializeType(to, from, end, 0, level + 1, mtpc_long); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_decryptedMessageActionScreenshotMessages: + to.add("{ decryptedMessageActionScreenshotMessages"); + to.add("\n").add(add); + to.add(" random_ids: "); mtpTextSerializeType(to, from, end, 0, level + 1, mtpc_long); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_decryptedMessageActionFlushHistory: + to.add("{ decryptedMessageActionFlushHistory"); + to.add(" "); + to.add("}"); + break; + + case mtpc_decryptedMessageActionNotifyLayer: + to.add("{ decryptedMessageActionNotifyLayer"); + to.add("\n").add(add); + to.add(" layer: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_peerNotifySettingsEmpty: + to.add("{ peerNotifySettingsEmpty"); + to.add(" "); + to.add("}"); + break; + + case mtpc_peerNotifySettings: + to.add("{ peerNotifySettings"); + to.add("\n").add(add); + to.add(" mute_until: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" sound: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" show_previews: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" events_mask: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_userEmpty: + to.add("{ userEmpty"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_userSelf: + to.add("{ userSelf"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" first_name: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" last_name: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" phone: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" photo: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" status: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" inactive: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_userContact: + to.add("{ userContact"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" first_name: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" last_name: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" access_hash: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" phone: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" photo: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" status: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_userRequest: + to.add("{ userRequest"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" first_name: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" last_name: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" access_hash: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" phone: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" photo: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" status: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_userForeign: + to.add("{ userForeign"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" first_name: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" last_name: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" access_hash: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" photo: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" status: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_userDeleted: + to.add("{ userDeleted"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" first_name: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" last_name: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_contacts_suggested: + to.add("{ contacts_suggested"); + to.add("\n").add(add); + to.add(" results: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" users: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_auth_authorization: + to.add("{ auth_authorization"); + to.add("\n").add(add); + to.add(" expires: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" user: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messages_chat: + to.add("{ messages_chat"); + to.add("\n").add(add); + to.add(" chat: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" users: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_auth_sentCode: + to.add("{ auth_sentCode"); + to.add("\n").add(add); + to.add(" phone_registered: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" phone_code_hash: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" send_call_timeout: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" is_password: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_audioEmpty: + to.add("{ audioEmpty"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_audio: + to.add("{ audio"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" access_hash: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" user_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" date: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" duration: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" mime_type: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" size: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" dc_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messages_statedMessages: + to.add("{ messages_statedMessages"); + to.add("\n").add(add); + to.add(" messages: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" chats: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" users: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" pts: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" seq: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messages_statedMessagesLinks: + to.add("{ messages_statedMessagesLinks"); + to.add("\n").add(add); + to.add(" messages: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" chats: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" users: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" links: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" pts: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" seq: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_contactBlocked: + to.add("{ contactBlocked"); + to.add("\n").add(add); + to.add(" user_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" date: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_storage_fileUnknown: + to.add("{ storage_fileUnknown"); + to.add(" "); + to.add("}"); + break; + + case mtpc_storage_fileJpeg: + to.add("{ storage_fileJpeg"); + to.add(" "); + to.add("}"); + break; + + case mtpc_storage_fileGif: + to.add("{ storage_fileGif"); + to.add(" "); + to.add("}"); + break; + + case mtpc_storage_filePng: + to.add("{ storage_filePng"); + to.add(" "); + to.add("}"); + break; + + case mtpc_storage_filePdf: + to.add("{ storage_filePdf"); + to.add(" "); + to.add("}"); + break; + + case mtpc_storage_fileMp3: + to.add("{ storage_fileMp3"); + to.add(" "); + to.add("}"); + break; + + case mtpc_storage_fileMov: + to.add("{ storage_fileMov"); + to.add(" "); + to.add("}"); + break; + + case mtpc_storage_filePartial: + to.add("{ storage_filePartial"); + to.add(" "); + to.add("}"); + break; + + case mtpc_storage_fileMp4: + to.add("{ storage_fileMp4"); + to.add(" "); + to.add("}"); + break; + + case mtpc_storage_fileWebp: + to.add("{ storage_fileWebp"); + to.add(" "); + to.add("}"); + break; + + case mtpc_help_inviteText: + to.add("{ help_inviteText"); + to.add("\n").add(add); + to.add(" message: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_chatLocated: + to.add("{ chatLocated"); + to.add("\n").add(add); + to.add(" chat_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" distance: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_contact: + to.add("{ contact"); + to.add("\n").add(add); + to.add(" user_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" mutual: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_decryptedMessageLayer: + to.add("{ decryptedMessageLayer"); + to.add("\n").add(add); + to.add(" layer: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" message: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_updates_state: + to.add("{ updates_state"); + to.add("\n").add(add); + to.add(" pts: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" qts: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" date: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" seq: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" unread_count: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_encryptedFileEmpty: + to.add("{ encryptedFileEmpty"); + to.add(" "); + to.add("}"); + break; + + case mtpc_encryptedFile: + to.add("{ encryptedFile"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" access_hash: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" size: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" dc_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" key_fingerprint: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_msgs_all_info: + to.add("{ msgs_all_info"); + to.add("\n").add(add); + to.add(" msg_ids: "); mtpTextSerializeType(to, from, end, 0, level + 1, mtpc_long); to.add(",\n").add(add); + to.add(" info: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_photos_updateProfilePhoto: + to.add("{ photos_updateProfilePhoto"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" crop: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messages_getMessages: + to.add("{ messages_getMessages"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, 0, level + 1, mtpc_int); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messages_getHistory: + to.add("{ messages_getHistory"); + to.add("\n").add(add); + to.add(" peer: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" offset: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" max_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" limit: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messages_search: + to.add("{ messages_search"); + to.add("\n").add(add); + to.add(" peer: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" q: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" filter: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" min_date: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" max_date: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" offset: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" max_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" limit: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_set_client_DH_params: + to.add("{ set_client_DH_params"); + to.add("\n").add(add); + to.add(" nonce: "); mtpTextSerializeType(to, from, end, mtpc_int128, level + 1); to.add(",\n").add(add); + to.add(" server_nonce: "); mtpTextSerializeType(to, from, end, mtpc_int128, level + 1); to.add(",\n").add(add); + to.add(" encrypted_data: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_contacts_getStatuses: + to.add("{ contacts_getStatuses"); + to.add(" "); + to.add("}"); + break; + + case mtpc_auth_checkPhone: + to.add("{ auth_checkPhone"); + to.add("\n").add(add); + to.add(" phone_number: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_help_getAppUpdate: + to.add("{ help_getAppUpdate"); + to.add("\n").add(add); + to.add(" device_model: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" system_version: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" app_version: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" lang_code: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_updates_getDifference: + to.add("{ updates_getDifference"); + to.add("\n").add(add); + to.add(" pts: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" date: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" qts: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_help_getInviteText: + to.add("{ help_getInviteText"); + to.add("\n").add(add); + to.add(" lang_code: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_users_getFullUser: + to.add("{ users_getFullUser"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_updates_getState: + to.add("{ updates_getState"); + to.add(" "); + to.add("}"); + break; + + case mtpc_contacts_getContacts: + to.add("{ contacts_getContacts"); + to.add("\n").add(add); + to.add(" hash: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_geochats_checkin: + to.add("{ geochats_checkin"); + to.add("\n").add(add); + to.add(" peer: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_geochats_editChatTitle: + to.add("{ geochats_editChatTitle"); + to.add("\n").add(add); + to.add(" peer: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" title: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" address: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_geochats_editChatPhoto: + to.add("{ geochats_editChatPhoto"); + to.add("\n").add(add); + to.add(" peer: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" photo: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_geochats_sendMessage: + to.add("{ geochats_sendMessage"); + to.add("\n").add(add); + to.add(" peer: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" message: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" random_id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_geochats_sendMedia: + to.add("{ geochats_sendMedia"); + to.add("\n").add(add); + to.add(" peer: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" media: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" random_id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_geochats_createGeoChat: + to.add("{ geochats_createGeoChat"); + to.add("\n").add(add); + to.add(" title: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" geo_point: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" address: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" venue: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_ping: + to.add("{ ping"); + to.add("\n").add(add); + to.add(" ping_id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_ping_delay_disconnect: + to.add("{ ping_delay_disconnect"); + to.add("\n").add(add); + to.add(" ping_id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" disconnect_delay: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_help_getSupport: + to.add("{ help_getSupport"); + to.add(" "); + to.add("}"); + break; + + case mtpc_messages_readHistory: + to.add("{ messages_readHistory"); + to.add("\n").add(add); + to.add(" peer: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" max_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" offset: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messages_deleteHistory: + to.add("{ messages_deleteHistory"); + to.add("\n").add(add); + to.add(" peer: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" offset: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messages_deleteMessages: + to.add("{ messages_deleteMessages"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, 0, level + 1, mtpc_int); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messages_restoreMessages: + to.add("{ messages_restoreMessages"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, 0, level + 1, mtpc_int); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messages_receivedMessages: + to.add("{ messages_receivedMessages"); + to.add("\n").add(add); + to.add(" max_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_users_getUsers: + to.add("{ users_getUsers"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_get_future_salts: + to.add("{ get_future_salts"); + to.add("\n").add(add); + to.add(" num: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_photos_getUserPhotos: + to.add("{ photos_getUserPhotos"); + to.add("\n").add(add); + to.add(" user_id: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" offset: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" max_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" limit: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_register_saveDeveloperInfo: + to.add("{ register_saveDeveloperInfo"); + to.add("\n").add(add); + to.add(" name: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" email: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" phone_number: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" age: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" city: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_auth_sendCall: + to.add("{ auth_sendCall"); + to.add("\n").add(add); + to.add(" phone_number: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" phone_code_hash: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_auth_logOut: + to.add("{ auth_logOut"); + to.add(" "); + to.add("}"); + break; + + case mtpc_auth_resetAuthorizations: + to.add("{ auth_resetAuthorizations"); + to.add(" "); + to.add("}"); + break; + + case mtpc_auth_sendInvites: + to.add("{ auth_sendInvites"); + to.add("\n").add(add); + to.add(" phone_numbers: "); mtpTextSerializeType(to, from, end, 0, level + 1, mtpc_string); to.add(",\n").add(add); + to.add(" message: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_account_registerDevice: + to.add("{ account_registerDevice"); + to.add("\n").add(add); + to.add(" token_type: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" token: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" device_model: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" system_version: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" app_version: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" app_sandbox: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" lang_code: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_account_unregisterDevice: + to.add("{ account_unregisterDevice"); + to.add("\n").add(add); + to.add(" token_type: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" token: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_account_updateNotifySettings: + to.add("{ account_updateNotifySettings"); + to.add("\n").add(add); + to.add(" peer: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" settings: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_account_resetNotifySettings: + to.add("{ account_resetNotifySettings"); + to.add(" "); + to.add("}"); + break; + + case mtpc_account_updateStatus: + to.add("{ account_updateStatus"); + to.add("\n").add(add); + to.add(" offline: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_contacts_deleteContacts: + to.add("{ contacts_deleteContacts"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_contacts_block: + to.add("{ contacts_block"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_contacts_unblock: + to.add("{ contacts_unblock"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messages_setTyping: + to.add("{ messages_setTyping"); + to.add("\n").add(add); + to.add(" peer: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" typing: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_upload_saveFilePart: + to.add("{ upload_saveFilePart"); + to.add("\n").add(add); + to.add(" file_id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" file_part: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" bytes: "); mtpTextSerializeType(to, from, end, mtpc_bytes, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_help_saveAppLog: + to.add("{ help_saveAppLog"); + to.add("\n").add(add); + to.add(" events: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_geochats_setTyping: + to.add("{ geochats_setTyping"); + to.add("\n").add(add); + to.add(" peer: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" typing: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messages_discardEncryption: + to.add("{ messages_discardEncryption"); + to.add("\n").add(add); + to.add(" chat_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messages_setEncryptedTyping: + to.add("{ messages_setEncryptedTyping"); + to.add("\n").add(add); + to.add(" peer: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" typing: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messages_readEncryptedHistory: + to.add("{ messages_readEncryptedHistory"); + to.add("\n").add(add); + to.add(" peer: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" max_date: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_upload_saveBigFilePart: + to.add("{ upload_saveBigFilePart"); + to.add("\n").add(add); + to.add(" file_id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" file_part: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" file_total_parts: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" bytes: "); mtpTextSerializeType(to, from, end, mtpc_bytes, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_req_pq: + to.add("{ req_pq"); + to.add("\n").add(add); + to.add(" nonce: "); mtpTextSerializeType(to, from, end, mtpc_int128, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_auth_exportAuthorization: + to.add("{ auth_exportAuthorization"); + to.add("\n").add(add); + to.add(" dc_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_contacts_importContacts: + to.add("{ contacts_importContacts"); + to.add("\n").add(add); + to.add(" contacts: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" replace: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_rpc_drop_answer: + to.add("{ rpc_drop_answer"); + to.add("\n").add(add); + to.add(" req_msg_id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_help_getConfig: + to.add("{ help_getConfig"); + to.add(" "); + to.add("}"); + break; + + case mtpc_help_getNearestDc: + to.add("{ help_getNearestDc"); + to.add(" "); + to.add("}"); + break; + + case mtpc_messages_getDialogs: + to.add("{ messages_getDialogs"); + to.add("\n").add(add); + to.add(" offset: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" max_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" limit: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_account_getNotifySettings: + to.add("{ account_getNotifySettings"); + to.add("\n").add(add); + to.add(" peer: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_geochats_getLocated: + to.add("{ geochats_getLocated"); + to.add("\n").add(add); + to.add(" geo_point: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" radius: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" limit: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messages_getDhConfig: + to.add("{ messages_getDhConfig"); + to.add("\n").add(add); + to.add(" version: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" random_length: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_account_updateProfile: + to.add("{ account_updateProfile"); + to.add("\n").add(add); + to.add(" first_name: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" last_name: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messages_getFullChat: + to.add("{ messages_getFullChat"); + to.add("\n").add(add); + to.add(" chat_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_geochats_getFullChat: + to.add("{ geochats_getFullChat"); + to.add("\n").add(add); + to.add(" peer: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_req_DH_params: + to.add("{ req_DH_params"); + to.add("\n").add(add); + to.add(" nonce: "); mtpTextSerializeType(to, from, end, mtpc_int128, level + 1); to.add(",\n").add(add); + to.add(" server_nonce: "); mtpTextSerializeType(to, from, end, mtpc_int128, level + 1); to.add(",\n").add(add); + to.add(" p: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" q: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" public_key_fingerprint: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" encrypted_data: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_contacts_getSuggested: + to.add("{ contacts_getSuggested"); + to.add("\n").add(add); + to.add(" limit: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_auth_signUp: + to.add("{ auth_signUp"); + to.add("\n").add(add); + to.add(" phone_number: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" phone_code_hash: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" phone_code: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" first_name: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" last_name: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_auth_signIn: + to.add("{ auth_signIn"); + to.add("\n").add(add); + to.add(" phone_number: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" phone_code_hash: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" phone_code: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_auth_importAuthorization: + to.add("{ auth_importAuthorization"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" bytes: "); mtpTextSerializeType(to, from, end, mtpc_bytes, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_upload_getFile: + to.add("{ upload_getFile"); + to.add("\n").add(add); + to.add(" location: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" offset: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" limit: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_photos_uploadProfilePhoto: + to.add("{ photos_uploadProfilePhoto"); + to.add("\n").add(add); + to.add(" file: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" caption: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" geo_point: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" crop: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_auth_sendCode: + to.add("{ auth_sendCode"); + to.add("\n").add(add); + to.add(" phone_number: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" sms_type: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" api_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" api_hash: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" lang_code: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messages_forwardMessages: + to.add("{ messages_forwardMessages"); + to.add("\n").add(add); + to.add(" peer: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, 0, level + 1, mtpc_int); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messages_sendBroadcast: + to.add("{ messages_sendBroadcast"); + to.add("\n").add(add); + to.add(" contacts: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" message: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" media: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messages_receivedQueue: + to.add("{ messages_receivedQueue"); + to.add("\n").add(add); + to.add(" max_qts: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_contacts_search: + to.add("{ contacts_search"); + to.add("\n").add(add); + to.add(" q: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" limit: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messages_sendMessage: + to.add("{ messages_sendMessage"); + to.add("\n").add(add); + to.add(" peer: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" message: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" random_id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_geochats_getRecents: + to.add("{ geochats_getRecents"); + to.add("\n").add(add); + to.add(" offset: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" limit: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_geochats_search: + to.add("{ geochats_search"); + to.add("\n").add(add); + to.add(" peer: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" q: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" filter: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" min_date: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" max_date: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" offset: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" max_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" limit: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_geochats_getHistory: + to.add("{ geochats_getHistory"); + to.add("\n").add(add); + to.add(" peer: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" offset: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" max_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" limit: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_destroy_session: + to.add("{ destroy_session"); + to.add("\n").add(add); + to.add(" session_id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_account_getWallPapers: + to.add("{ account_getWallPapers"); + to.add(" "); + to.add("}"); + break; + + case mtpc_messages_sendEncrypted: + to.add("{ messages_sendEncrypted"); + to.add("\n").add(add); + to.add(" peer: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" random_id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" data: "); mtpTextSerializeType(to, from, end, mtpc_bytes, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messages_sendEncryptedFile: + to.add("{ messages_sendEncryptedFile"); + to.add("\n").add(add); + to.add(" peer: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" random_id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" data: "); mtpTextSerializeType(to, from, end, mtpc_bytes, level + 1); to.add(",\n").add(add); + to.add(" file: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messages_sendEncryptedService: + to.add("{ messages_sendEncryptedService"); + to.add("\n").add(add); + to.add(" peer: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" random_id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" data: "); mtpTextSerializeType(to, from, end, mtpc_bytes, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_contacts_getBlocked: + to.add("{ contacts_getBlocked"); + to.add("\n").add(add); + to.add(" offset: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" limit: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_contacts_deleteContact: + to.add("{ contacts_deleteContact"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_invokeAfterMsg: + to.add("{ invokeAfterMsg"); + to.add("\n").add(add); + to.add(" msg_id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add(" query: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_invokeAfterMsgs: + to.add("{ invokeAfterMsgs"); + to.add("\n").add(add); + to.add(" msg_ids: "); mtpTextSerializeType(to, from, end, 0, level + 1, mtpc_long); to.add(",\n").add(add); + to.add(" query: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_initConnection: + to.add("{ initConnection"); + to.add("\n").add(add); + to.add(" api_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" device_model: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" system_version: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" app_version: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" lang_code: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add(" query: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messages_getChats: + to.add("{ messages_getChats"); + to.add("\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, 0, level + 1, mtpc_int); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messages_sendMedia: + to.add("{ messages_sendMedia"); + to.add("\n").add(add); + to.add(" peer: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" media: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" random_id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messages_editChatTitle: + to.add("{ messages_editChatTitle"); + to.add("\n").add(add); + to.add(" chat_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" title: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messages_editChatPhoto: + to.add("{ messages_editChatPhoto"); + to.add("\n").add(add); + to.add(" chat_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" photo: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messages_addChatUser: + to.add("{ messages_addChatUser"); + to.add("\n").add(add); + to.add(" chat_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" user_id: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" fwd_limit: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messages_deleteChatUser: + to.add("{ messages_deleteChatUser"); + to.add("\n").add(add); + to.add(" chat_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" user_id: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messages_createChat: + to.add("{ messages_createChat"); + to.add("\n").add(add); + to.add(" users: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" title: "); mtpTextSerializeType(to, from, end, mtpc_string, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messages_forwardMessage: + to.add("{ messages_forwardMessage"); + to.add("\n").add(add); + to.add(" peer: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" random_id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messages_requestEncryption: + to.add("{ messages_requestEncryption"); + to.add("\n").add(add); + to.add(" user_id: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" random_id: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").add(add); + to.add(" g_a: "); mtpTextSerializeType(to, from, end, mtpc_bytes, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + case mtpc_messages_acceptEncryption: + to.add("{ messages_acceptEncryption"); + to.add("\n").add(add); + to.add(" peer: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").add(add); + to.add(" g_b: "); mtpTextSerializeType(to, from, end, mtpc_bytes, level + 1); to.add(",\n").add(add); + to.add(" key_fingerprint: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").add(add); + to.add("}"); + break; + + + default: + mtpTextSerializeCore(to, from, end, cons, level, vcons); + break; + } + + } catch (Exception &e) { + to.add("[ERROR] "); + to.add("(").add(e.what()).add("), cons: 0x").add(mtpWrapNumber(cons, 16)); + if (vcons) to.add(", vcons: 0x").add(mtpWrapNumber(vcons)); + to.add(", ").add(mb(start, (end - start) * sizeof(mtpPrime)).str()); + } +} + +#endif diff --git a/Telegram/SourceFiles/mtproto/mtpScheme.h b/Telegram/SourceFiles/mtproto/mtpScheme.h index 9ffa73e61..cb313179c 100644 --- a/Telegram/SourceFiles/mtproto/mtpScheme.h +++ b/Telegram/SourceFiles/mtproto/mtpScheme.h @@ -21998,2579 +21998,6 @@ inline MTPnotifyPeer MTP_notifyAll() { // Human-readable text serialization #if (defined _DEBUG || defined _WITH_DEBUG) -inline QString mtpTextSerialize(const mtpPrime *&from, const mtpPrime *end, mtpPrime cons, uint32 level, mtpPrime vcons) { - QString add = QString(" ").repeated(level * 2); - - const mtpPrime *start = from; - try { - if (!cons) { - if (from >= end) { - throw Exception("from >= 2"); - } - cons = *from; - ++from; - ++start; - } - - QString result; - switch (mtpTypeId(cons)) { - case mtpc_dh_gen_ok: - result += "\n" + add; - result += " nonce: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; - result += " server_nonce: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; - result += " new_nonce_hash1: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; - return "{ dh_gen_ok" + result + "}"; - - case mtpc_dh_gen_retry: - result += "\n" + add; - result += " nonce: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; - result += " server_nonce: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; - result += " new_nonce_hash2: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; - return "{ dh_gen_retry" + result + "}"; - - case mtpc_dh_gen_fail: - result += "\n" + add; - result += " nonce: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; - result += " server_nonce: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; - result += " new_nonce_hash3: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; - return "{ dh_gen_fail" + result + "}"; - - case mtpc_help_support: - result += "\n" + add; - result += " phone_number: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " user: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ help_support" + result + "}"; - - case mtpc_audioEmpty: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - return "{ audioEmpty" + result + "}"; - - case mtpc_audio: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " duration: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " mime_type: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " size: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " dc_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ audio" + result + "}"; - - case mtpc_auth_sentCode: - result += "\n" + add; - result += " phone_registered: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " phone_code_hash: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " send_call_timeout: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " is_password: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ auth_sentCode" + result + "}"; - - case mtpc_future_salts: - result += "\n" + add; - result += " req_msg_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " now: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " salts: " + mtpTextSerialize(from, end, mtpc_vector, level + 1, mtpc_future_salt) + ",\n" + add; - return "{ future_salts" + result + "}"; - - case mtpc_contactSuggested: - result += "\n" + add; - result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " mutual_contacts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ contactSuggested" + result + "}"; - - case mtpc_inputFileLocation: - result += "\n" + add; - result += " volume_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " local_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " secret: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - return "{ inputFileLocation" + result + "}"; - - case mtpc_inputVideoFileLocation: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - return "{ inputVideoFileLocation" + result + "}"; - - case mtpc_inputEncryptedFileLocation: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - return "{ inputEncryptedFileLocation" + result + "}"; - - case mtpc_inputAudioFileLocation: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - return "{ inputAudioFileLocation" + result + "}"; - - case mtpc_inputDocumentFileLocation: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - return "{ inputDocumentFileLocation" + result + "}"; - - case mtpc_future_salt: - result += "\n" + add; - result += " valid_since: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " valid_until: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " salt: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - return "{ future_salt" + result + "}"; - - case mtpc_messages_dhConfigNotModified: - result += "\n" + add; - result += " random: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; - return "{ messages_dhConfigNotModified" + result + "}"; - - case mtpc_messages_dhConfig: - result += "\n" + add; - result += " g: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " p: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; - result += " version: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " random: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; - return "{ messages_dhConfig" + result + "}"; - - case mtpc_inputChatPhotoEmpty: - result = " "; - return "{ inputChatPhotoEmpty" + result + "}"; - - case mtpc_inputChatUploadedPhoto: - result += "\n" + add; - result += " file: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " crop: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ inputChatUploadedPhoto" + result + "}"; - - case mtpc_inputChatPhoto: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " crop: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ inputChatPhoto" + result + "}"; - - case mtpc_upload_file: - result += "\n" + add; - result += " type: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " mtime: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " bytes: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; - return "{ upload_file" + result + "}"; - - case mtpc_photos_photo: - result += "\n" + add; - result += " photo: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ photos_photo" + result + "}"; - - case mtpc_inputPeerNotifyEventsEmpty: - result = " "; - return "{ inputPeerNotifyEventsEmpty" + result + "}"; - - case mtpc_inputPeerNotifyEventsAll: - result = " "; - return "{ inputPeerNotifyEventsAll" + result + "}"; - - case mtpc_inputAppEvent: - result += "\n" + add; - result += " time: " + mtpTextSerialize(from, end, mtpc_double, level + 1) + ",\n" + add; - result += " type: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " peer: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " data: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - return "{ inputAppEvent" + result + "}"; - - case mtpc_updates_state: - result += "\n" + add; - result += " pts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " qts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " seq: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " unread_count: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ updates_state" + result + "}"; - - case mtpc_msgs_state_req: - result += "\n" + add; - result += " msg_ids: " + mtpTextSerialize(from, end, 0, level + 1, mtpc_long) + ",\n" + add; - return "{ msgs_state_req" + result + "}"; - - case mtpc_inputMediaEmpty: - result = " "; - return "{ inputMediaEmpty" + result + "}"; - - case mtpc_inputMediaUploadedPhoto: - result += "\n" + add; - result += " file: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ inputMediaUploadedPhoto" + result + "}"; - - case mtpc_inputMediaPhoto: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ inputMediaPhoto" + result + "}"; - - case mtpc_inputMediaGeoPoint: - result += "\n" + add; - result += " geo_point: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ inputMediaGeoPoint" + result + "}"; - - case mtpc_inputMediaContact: - result += "\n" + add; - result += " phone_number: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " first_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " last_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - return "{ inputMediaContact" + result + "}"; - - case mtpc_inputMediaUploadedVideo: - result += "\n" + add; - result += " file: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " duration: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " w: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " h: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " mime_type: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - return "{ inputMediaUploadedVideo" + result + "}"; - - case mtpc_inputMediaUploadedThumbVideo: - result += "\n" + add; - result += " file: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " thumb: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " duration: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " w: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " h: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " mime_type: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - return "{ inputMediaUploadedThumbVideo" + result + "}"; - - case mtpc_inputMediaVideo: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ inputMediaVideo" + result + "}"; - - case mtpc_inputMediaUploadedAudio: - result += "\n" + add; - result += " file: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " duration: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " mime_type: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - return "{ inputMediaUploadedAudio" + result + "}"; - - case mtpc_inputMediaAudio: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ inputMediaAudio" + result + "}"; - - case mtpc_inputMediaUploadedDocument: - result += "\n" + add; - result += " file: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " file_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " mime_type: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - return "{ inputMediaUploadedDocument" + result + "}"; - - case mtpc_inputMediaUploadedThumbDocument: - result += "\n" + add; - result += " file: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " thumb: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " file_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " mime_type: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - return "{ inputMediaUploadedThumbDocument" + result + "}"; - - case mtpc_inputMediaDocument: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ inputMediaDocument" + result + "}"; - - case mtpc_userProfilePhotoEmpty: - result = " "; - return "{ userProfilePhotoEmpty" + result + "}"; - - case mtpc_userProfilePhoto: - result += "\n" + add; - result += " photo_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " photo_small: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " photo_big: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ userProfilePhoto" + result + "}"; - - case mtpc_decryptedMessageLayer: - result += "\n" + add; - result += " layer: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " message: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ decryptedMessageLayer" + result + "}"; - - case mtpc_contacts_foreignLinkUnknown: - result = " "; - return "{ contacts_foreignLinkUnknown" + result + "}"; - - case mtpc_contacts_foreignLinkRequested: - result += "\n" + add; - result += " has_phone: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ contacts_foreignLinkRequested" + result + "}"; - - case mtpc_contacts_foreignLinkMutual: - result = " "; - return "{ contacts_foreignLinkMutual" + result + "}"; - - case mtpc_chatLocated: - result += "\n" + add; - result += " chat_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " distance: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ chatLocated" + result + "}"; - - case mtpc_dcOption: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " hostname: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " ip_address: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " port: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ dcOption" + result + "}"; - - case mtpc_geoPointEmpty: - result = " "; - return "{ geoPointEmpty" + result + "}"; - - case mtpc_geoPoint: - result += "\n" + add; - result += " long: " + mtpTextSerialize(from, end, mtpc_double, level + 1) + ",\n" + add; - result += " lat: " + mtpTextSerialize(from, end, mtpc_double, level + 1) + ",\n" + add; - return "{ geoPoint" + result + "}"; - - case mtpc_contacts_myLinkEmpty: - result = " "; - return "{ contacts_myLinkEmpty" + result + "}"; - - case mtpc_contacts_myLinkRequested: - result += "\n" + add; - result += " contact: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ contacts_myLinkRequested" + result + "}"; - - case mtpc_contacts_myLinkContact: - result = " "; - return "{ contacts_myLinkContact" + result + "}"; - - case mtpc_inputNotifyPeer: - result += "\n" + add; - result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ inputNotifyPeer" + result + "}"; - - case mtpc_inputNotifyUsers: - result = " "; - return "{ inputNotifyUsers" + result + "}"; - - case mtpc_inputNotifyChats: - result = " "; - return "{ inputNotifyChats" + result + "}"; - - case mtpc_inputNotifyAll: - result = " "; - return "{ inputNotifyAll" + result + "}"; - - case mtpc_inputNotifyGeoChatPeer: - result += "\n" + add; - result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ inputNotifyGeoChatPeer" + result + "}"; - - case mtpc_userEmpty: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ userEmpty" + result + "}"; - - case mtpc_userSelf: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " first_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " last_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " phone: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " photo: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " status: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " inactive: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ userSelf" + result + "}"; - - case mtpc_userContact: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " first_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " last_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " phone: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " photo: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " status: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ userContact" + result + "}"; - - case mtpc_userRequest: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " first_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " last_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " phone: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " photo: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " status: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ userRequest" + result + "}"; - - case mtpc_userForeign: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " first_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " last_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " photo: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " status: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ userForeign" + result + "}"; - - case mtpc_userDeleted: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " first_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " last_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - return "{ userDeleted" + result + "}"; - - case mtpc_messages_sentMessage: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " pts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " seq: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ messages_sentMessage" + result + "}"; - - case mtpc_messages_sentMessageLink: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " pts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " seq: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " links: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ messages_sentMessageLink" + result + "}"; - - case mtpc_msgs_state_info: - result += "\n" + add; - result += " req_msg_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " info: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - return "{ msgs_state_info" + result + "}"; - - case mtpc_auth_authorization: - result += "\n" + add; - result += " expires: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " user: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ auth_authorization" + result + "}"; - - case mtpc_contactStatus: - result += "\n" + add; - result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " expires: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ contactStatus" + result + "}"; - - case mtpc_config: - result += "\n" + add; - result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " test_mode: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " this_dc: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " dc_options: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " chat_size_max: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " broadcast_size_max: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ config" + result + "}"; - - case mtpc_msg_resend_req: - result += "\n" + add; - result += " msg_ids: " + mtpTextSerialize(from, end, 0, level + 1, mtpc_long) + ",\n" + add; - return "{ msg_resend_req" + result + "}"; - - case mtpc_documentEmpty: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - return "{ documentEmpty" + result + "}"; - - case mtpc_document: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " file_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " mime_type: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " size: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " thumb: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " dc_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ document" + result + "}"; - - case mtpc_messages_statedMessages: - result += "\n" + add; - result += " messages: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " chats: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " pts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " seq: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ messages_statedMessages" + result + "}"; - - case mtpc_messages_statedMessagesLinks: - result += "\n" + add; - result += " messages: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " chats: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " links: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " pts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " seq: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ messages_statedMessagesLinks" + result + "}"; - - case mtpc_messages_messages: - result += "\n" + add; - result += " messages: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " chats: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ messages_messages" + result + "}"; - - case mtpc_messages_messagesSlice: - result += "\n" + add; - result += " count: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " messages: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " chats: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ messages_messagesSlice" + result + "}"; - - case mtpc_chatPhotoEmpty: - result = " "; - return "{ chatPhotoEmpty" + result + "}"; - - case mtpc_chatPhoto: - result += "\n" + add; - result += " photo_small: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " photo_big: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ chatPhoto" + result + "}"; - - case mtpc_messages_chat: - result += "\n" + add; - result += " chat: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ messages_chat" + result + "}"; - - case mtpc_updates_differenceEmpty: - result += "\n" + add; - result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " seq: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ updates_differenceEmpty" + result + "}"; - - case mtpc_updates_difference: - result += "\n" + add; - result += " new_messages: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " new_encrypted_messages: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " other_updates: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " chats: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " state: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ updates_difference" + result + "}"; - - case mtpc_updates_differenceSlice: - result += "\n" + add; - result += " new_messages: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " new_encrypted_messages: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " other_updates: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " chats: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " intermediate_state: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ updates_differenceSlice" + result + "}"; - - case mtpc_p_q_inner_data: - result += "\n" + add; - result += " pq: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " p: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " q: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " nonce: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; - result += " server_nonce: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; - result += " new_nonce: " + mtpTextSerialize(from, end, mtpc_int256, level + 1) + ",\n" + add; - return "{ p_q_inner_data" + result + "}"; - - case mtpc_auth_exportedAuthorization: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " bytes: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; - return "{ auth_exportedAuthorization" + result + "}"; - - case mtpc_contacts_link: - result += "\n" + add; - result += " my_link: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " foreign_link: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " user: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ contacts_link" + result + "}"; - - case mtpc_inputPhoneContact: - result += "\n" + add; - result += " client_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " phone: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " first_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " last_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - return "{ inputPhoneContact" + result + "}"; - - case mtpc_decryptedMessage: - result += "\n" + add; - result += " random_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " random_bytes: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; - result += " message: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " media: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ decryptedMessage" + result + "}"; - - case mtpc_decryptedMessageService: - result += "\n" + add; - result += " random_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " random_bytes: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; - result += " action: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ decryptedMessageService" + result + "}"; - - case mtpc_http_wait: - result += "\n" + add; - result += " max_delay: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " wait_after: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " max_wait: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ http_wait" + result + "}"; - - case mtpc_destroy_session_ok: - result += "\n" + add; - result += " session_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - return "{ destroy_session_ok" + result + "}"; - - case mtpc_destroy_session_none: - result += "\n" + add; - result += " session_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - return "{ destroy_session_none" + result + "}"; - - case mtpc_inputFile: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " parts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " md5_checksum: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - return "{ inputFile" + result + "}"; - - case mtpc_inputFileBig: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " parts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - return "{ inputFileBig" + result + "}"; - - case mtpc_msgs_all_info: - result += "\n" + add; - result += " msg_ids: " + mtpTextSerialize(from, end, 0, level + 1, mtpc_long) + ",\n" + add; - result += " info: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - return "{ msgs_all_info" + result + "}"; - - case mtpc_help_inviteText: - result += "\n" + add; - result += " message: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - return "{ help_inviteText" + result + "}"; - - case mtpc_peerUser: - result += "\n" + add; - result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ peerUser" + result + "}"; - - case mtpc_peerChat: - result += "\n" + add; - result += " chat_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ peerChat" + result + "}"; - - case mtpc_contacts_blocked: - result += "\n" + add; - result += " blocked: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ contacts_blocked" + result + "}"; - - case mtpc_contacts_blockedSlice: - result += "\n" + add; - result += " count: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " blocked: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ contacts_blockedSlice" + result + "}"; - - case mtpc_geochats_messages: - result += "\n" + add; - result += " messages: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " chats: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ geochats_messages" + result + "}"; - - case mtpc_geochats_messagesSlice: - result += "\n" + add; - result += " count: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " messages: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " chats: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ geochats_messagesSlice" + result + "}"; - - case mtpc_inputGeoPointEmpty: - result = " "; - return "{ inputGeoPointEmpty" + result + "}"; - - case mtpc_inputGeoPoint: - result += "\n" + add; - result += " lat: " + mtpTextSerialize(from, end, mtpc_double, level + 1) + ",\n" + add; - result += " long: " + mtpTextSerialize(from, end, mtpc_double, level + 1) + ",\n" + add; - return "{ inputGeoPoint" + result + "}"; - - case mtpc_contactFound: - result += "\n" + add; - result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ contactFound" + result + "}"; - - case mtpc_encryptedMessage: - result += "\n" + add; - result += " random_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " chat_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " bytes: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; - result += " file: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ encryptedMessage" + result + "}"; - - case mtpc_encryptedMessageService: - result += "\n" + add; - result += " random_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " chat_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " bytes: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; - return "{ encryptedMessageService" + result + "}"; - - case mtpc_photos_photos: - result += "\n" + add; - result += " photos: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ photos_photos" + result + "}"; - - case mtpc_photos_photosSlice: - result += "\n" + add; - result += " count: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " photos: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ photos_photosSlice" + result + "}"; - - case mtpc_dialog: - result += "\n" + add; - result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " top_message: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " unread_count: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " notify_settings: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ dialog" + result + "}"; - - case mtpc_updatesTooLong: - result = " "; - return "{ updatesTooLong" + result + "}"; - - case mtpc_updateShortMessage: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " from_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " message: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " pts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " seq: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ updateShortMessage" + result + "}"; - - case mtpc_updateShortChatMessage: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " from_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " chat_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " message: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " pts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " seq: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ updateShortChatMessage" + result + "}"; - - case mtpc_updateShort: - result += "\n" + add; - result += " update: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ updateShort" + result + "}"; - - case mtpc_updatesCombined: - result += "\n" + add; - result += " updates: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " chats: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " seq_start: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " seq: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ updatesCombined" + result + "}"; - - case mtpc_updates: - result += "\n" + add; - result += " updates: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " chats: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " seq: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ updates" + result + "}"; - - case mtpc_contacts_importedContacts: - result += "\n" + add; - result += " imported: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " retry_contacts: " + mtpTextSerialize(from, end, 0, level + 1, mtpc_long) + ",\n" + add; - result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ contacts_importedContacts" + result + "}"; - - case mtpc_resPQ: - result += "\n" + add; - result += " nonce: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; - result += " server_nonce: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; - result += " pq: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " server_public_key_fingerprints: " + mtpTextSerialize(from, end, 0, level + 1, mtpc_long) + ",\n" + add; - return "{ resPQ" + result + "}"; - - case mtpc_inputPhotoCropAuto: - result = " "; - return "{ inputPhotoCropAuto" + result + "}"; - - case mtpc_inputPhotoCrop: - result += "\n" + add; - result += " crop_left: " + mtpTextSerialize(from, end, mtpc_double, level + 1) + ",\n" + add; - result += " crop_top: " + mtpTextSerialize(from, end, mtpc_double, level + 1) + ",\n" + add; - result += " crop_width: " + mtpTextSerialize(from, end, mtpc_double, level + 1) + ",\n" + add; - return "{ inputPhotoCrop" + result + "}"; - - case mtpc_messages_statedMessage: - result += "\n" + add; - result += " message: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " chats: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " pts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " seq: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ messages_statedMessage" + result + "}"; - - case mtpc_messages_statedMessageLink: - result += "\n" + add; - result += " message: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " chats: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " links: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " pts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " seq: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ messages_statedMessageLink" + result + "}"; - - case mtpc_messageEmpty: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ messageEmpty" + result + "}"; - - case mtpc_message: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " from_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " to_id: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " out: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " unread: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " message: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " media: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ message" + result + "}"; - - case mtpc_messageForwarded: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " fwd_from_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " fwd_date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " from_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " to_id: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " out: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " unread: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " message: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " media: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ messageForwarded" + result + "}"; - - case mtpc_messageService: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " from_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " to_id: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " out: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " unread: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " action: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ messageService" + result + "}"; - - case mtpc_new_session_created: - result += "\n" + add; - result += " first_msg_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " unique_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " server_salt: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - return "{ new_session_created" + result + "}"; - - case mtpc_decryptedMessageMediaEmpty: - result = " "; - return "{ decryptedMessageMediaEmpty" + result + "}"; - - case mtpc_decryptedMessageMediaPhoto: - result += "\n" + add; - result += " thumb: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; - result += " thumb_w: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " thumb_h: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " w: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " h: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " size: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " key: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; - result += " iv: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; - return "{ decryptedMessageMediaPhoto" + result + "}"; - - case mtpc_decryptedMessageMediaVideo: - result += "\n" + add; - result += " thumb: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; - result += " thumb_w: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " thumb_h: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " duration: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " mime_type: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " w: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " h: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " size: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " key: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; - result += " iv: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; - return "{ decryptedMessageMediaVideo" + result + "}"; - - case mtpc_decryptedMessageMediaGeoPoint: - result += "\n" + add; - result += " lat: " + mtpTextSerialize(from, end, mtpc_double, level + 1) + ",\n" + add; - result += " long: " + mtpTextSerialize(from, end, mtpc_double, level + 1) + ",\n" + add; - return "{ decryptedMessageMediaGeoPoint" + result + "}"; - - case mtpc_decryptedMessageMediaContact: - result += "\n" + add; - result += " phone_number: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " first_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " last_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ decryptedMessageMediaContact" + result + "}"; - - case mtpc_decryptedMessageMediaDocument: - result += "\n" + add; - result += " thumb: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; - result += " thumb_w: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " thumb_h: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " file_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " mime_type: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " size: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " key: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; - result += " iv: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; - return "{ decryptedMessageMediaDocument" + result + "}"; - - case mtpc_decryptedMessageMediaAudio: - result += "\n" + add; - result += " duration: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " mime_type: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " size: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " key: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; - result += " iv: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; - return "{ decryptedMessageMediaAudio" + result + "}"; - - case mtpc_inputEncryptedFileEmpty: - result = " "; - return "{ inputEncryptedFileEmpty" + result + "}"; - - case mtpc_inputEncryptedFileUploaded: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " parts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " md5_checksum: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " key_fingerprint: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ inputEncryptedFileUploaded" + result + "}"; - - case mtpc_inputEncryptedFile: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - return "{ inputEncryptedFile" + result + "}"; - - case mtpc_inputEncryptedFileBigUploaded: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " parts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " key_fingerprint: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ inputEncryptedFileBigUploaded" + result + "}"; - - case mtpc_fileLocationUnavailable: - result += "\n" + add; - result += " volume_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " local_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " secret: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - return "{ fileLocationUnavailable" + result + "}"; - - case mtpc_fileLocation: - result += "\n" + add; - result += " dc_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " volume_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " local_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " secret: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - return "{ fileLocation" + result + "}"; - - case mtpc_geoChatMessageEmpty: - result += "\n" + add; - result += " chat_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ geoChatMessageEmpty" + result + "}"; - - case mtpc_geoChatMessage: - result += "\n" + add; - result += " chat_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " from_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " message: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " media: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ geoChatMessage" + result + "}"; - - case mtpc_geoChatMessageService: - result += "\n" + add; - result += " chat_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " from_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " action: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ geoChatMessageService" + result + "}"; - - case mtpc_rpc_error: - result += "\n" + add; - result += " error_code: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " error_message: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - return "{ rpc_error" + result + "}"; - - case mtpc_msgs_ack: - result += "\n" + add; - result += " msg_ids: " + mtpTextSerialize(from, end, 0, level + 1, mtpc_long) + ",\n" + add; - return "{ msgs_ack" + result + "}"; - - case mtpc_encryptedChatEmpty: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ encryptedChatEmpty" + result + "}"; - - case mtpc_encryptedChatWaiting: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " admin_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " participant_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ encryptedChatWaiting" + result + "}"; - - case mtpc_encryptedChatRequested: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " admin_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " participant_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " g_a: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; - return "{ encryptedChatRequested" + result + "}"; - - case mtpc_encryptedChat: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " admin_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " participant_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " g_a_or_b: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; - result += " key_fingerprint: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - return "{ encryptedChat" + result + "}"; - - case mtpc_encryptedChatDiscarded: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ encryptedChatDiscarded" + result + "}"; - - case mtpc_help_appUpdate: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " critical: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " url: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " text: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - return "{ help_appUpdate" + result + "}"; - - case mtpc_help_noAppUpdate: - result = " "; - return "{ help_noAppUpdate" + result + "}"; - - case mtpc_chatFull: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " participants: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " chat_photo: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " notify_settings: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ chatFull" + result + "}"; - - case mtpc_inputUserEmpty: - result = " "; - return "{ inputUserEmpty" + result + "}"; - - case mtpc_inputUserSelf: - result = " "; - return "{ inputUserSelf" + result + "}"; - - case mtpc_inputUserContact: - result += "\n" + add; - result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ inputUserContact" + result + "}"; - - case mtpc_inputUserForeign: - result += "\n" + add; - result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - return "{ inputUserForeign" + result + "}"; - - case mtpc_nearestDc: - result += "\n" + add; - result += " country: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " this_dc: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " nearest_dc: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ nearestDc" + result + "}"; - - case mtpc_photoEmpty: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - return "{ photoEmpty" + result + "}"; - - case mtpc_photo: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " caption: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " geo: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " sizes: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ photo" + result + "}"; - - case mtpc_photoSizeEmpty: - result += "\n" + add; - result += " type: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - return "{ photoSizeEmpty" + result + "}"; - - case mtpc_photoSize: - result += "\n" + add; - result += " type: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " location: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " w: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " h: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " size: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ photoSize" + result + "}"; - - case mtpc_photoCachedSize: - result += "\n" + add; - result += " type: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " location: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " w: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " h: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " bytes: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; - return "{ photoCachedSize" + result + "}"; - - case mtpc_messages_chatFull: - result += "\n" + add; - result += " full_chat: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " chats: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ messages_chatFull" + result + "}"; - - case mtpc_messages_affectedHistory: - result += "\n" + add; - result += " pts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " seq: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " offset: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ messages_affectedHistory" + result + "}"; - - case mtpc_userFull: - result += "\n" + add; - result += " user: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " link: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " profile_photo: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " notify_settings: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " blocked: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " real_first_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " real_last_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - return "{ userFull" + result + "}"; - - case mtpc_chatParticipantsForbidden: - result += "\n" + add; - result += " chat_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ chatParticipantsForbidden" + result + "}"; - - case mtpc_chatParticipants: - result += "\n" + add; - result += " chat_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " admin_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " participants: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " version: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ chatParticipants" + result + "}"; - - case mtpc_messages_messageEmpty: - result = " "; - return "{ messages_messageEmpty" + result + "}"; - - case mtpc_messages_message: - result += "\n" + add; - result += " message: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " chats: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ messages_message" + result + "}"; - - case mtpc_encryptedFileEmpty: - result = " "; - return "{ encryptedFileEmpty" + result + "}"; - - case mtpc_encryptedFile: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " size: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " dc_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " key_fingerprint: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ encryptedFile" + result + "}"; - - case mtpc_inputVideoEmpty: - result = " "; - return "{ inputVideoEmpty" + result + "}"; - - case mtpc_inputVideo: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - return "{ inputVideo" + result + "}"; - - case mtpc_server_DH_inner_data: - result += "\n" + add; - result += " nonce: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; - result += " server_nonce: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; - result += " g: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " dh_prime: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " g_a: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " server_time: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ server_DH_inner_data" + result + "}"; - - case mtpc_contactBlocked: - result += "\n" + add; - result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ contactBlocked" + result + "}"; - - case mtpc_server_DH_params_fail: - result += "\n" + add; - result += " nonce: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; - result += " server_nonce: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; - result += " new_nonce_hash: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; - return "{ server_DH_params_fail" + result + "}"; - - case mtpc_server_DH_params_ok: - result += "\n" + add; - result += " nonce: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; - result += " server_nonce: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; - result += " encrypted_answer: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - return "{ server_DH_params_ok" + result + "}"; - - case mtpc_importedContact: - result += "\n" + add; - result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " client_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - return "{ importedContact" + result + "}"; - - case mtpc_inputMessagesFilterEmpty: - result = " "; - return "{ inputMessagesFilterEmpty" + result + "}"; - - case mtpc_inputMessagesFilterPhotos: - result = " "; - return "{ inputMessagesFilterPhotos" + result + "}"; - - case mtpc_inputMessagesFilterVideo: - result = " "; - return "{ inputMessagesFilterVideo" + result + "}"; - - case mtpc_inputMessagesFilterPhotoVideo: - result = " "; - return "{ inputMessagesFilterPhotoVideo" + result + "}"; - - case mtpc_inputMessagesFilterDocument: - result = " "; - return "{ inputMessagesFilterDocument" + result + "}"; - - case mtpc_inputMessagesFilterAudio: - result = " "; - return "{ inputMessagesFilterAudio" + result + "}"; - - case mtpc_inputPeerNotifySettings: - result += "\n" + add; - result += " mute_until: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " sound: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " show_previews: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " events_mask: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ inputPeerNotifySettings" + result + "}"; - - case mtpc_inputPeerEmpty: - result = " "; - return "{ inputPeerEmpty" + result + "}"; - - case mtpc_inputPeerSelf: - result = " "; - return "{ inputPeerSelf" + result + "}"; - - case mtpc_inputPeerContact: - result += "\n" + add; - result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ inputPeerContact" + result + "}"; - - case mtpc_inputPeerForeign: - result += "\n" + add; - result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - return "{ inputPeerForeign" + result + "}"; - - case mtpc_inputPeerChat: - result += "\n" + add; - result += " chat_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ inputPeerChat" + result + "}"; - - case mtpc_inputDocumentEmpty: - result = " "; - return "{ inputDocumentEmpty" + result + "}"; - - case mtpc_inputDocument: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - return "{ inputDocument" + result + "}"; - - case mtpc_wallPaper: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " title: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " sizes: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " color: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ wallPaper" + result + "}"; - - case mtpc_wallPaperSolid: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " title: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " bg_color: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " color: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ wallPaperSolid" + result + "}"; - - case mtpc_inputGeoChat: - result += "\n" + add; - result += " chat_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - return "{ inputGeoChat" + result + "}"; - - case mtpc_chatEmpty: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ chatEmpty" + result + "}"; - - case mtpc_chat: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " title: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " photo: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " participants_count: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " left: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " version: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ chat" + result + "}"; - - case mtpc_chatForbidden: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " title: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ chatForbidden" + result + "}"; - - case mtpc_geoChat: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " title: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " address: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " venue: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " geo: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " photo: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " participants_count: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " checked_in: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " version: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ geoChat" + result + "}"; - - case mtpc_inputEncryptedChat: - result += "\n" + add; - result += " chat_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - return "{ inputEncryptedChat" + result + "}"; - - case mtpc_messages_sentEncryptedMessage: - result += "\n" + add; - result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ messages_sentEncryptedMessage" + result + "}"; - - case mtpc_messages_sentEncryptedFile: - result += "\n" + add; - result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " file: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ messages_sentEncryptedFile" + result + "}"; - - case mtpc_peerNotifySettingsEmpty: - result = " "; - return "{ peerNotifySettingsEmpty" + result + "}"; - - case mtpc_peerNotifySettings: - result += "\n" + add; - result += " mute_until: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " sound: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " show_previews: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " events_mask: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ peerNotifySettings" + result + "}"; - - case mtpc_messageMediaEmpty: - result = " "; - return "{ messageMediaEmpty" + result + "}"; - - case mtpc_messageMediaPhoto: - result += "\n" + add; - result += " photo: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ messageMediaPhoto" + result + "}"; - - case mtpc_messageMediaVideo: - result += "\n" + add; - result += " video: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ messageMediaVideo" + result + "}"; - - case mtpc_messageMediaGeo: - result += "\n" + add; - result += " geo: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ messageMediaGeo" + result + "}"; - - case mtpc_messageMediaContact: - result += "\n" + add; - result += " phone_number: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " first_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " last_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ messageMediaContact" + result + "}"; - - case mtpc_messageMediaUnsupported: - result += "\n" + add; - result += " bytes: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; - return "{ messageMediaUnsupported" + result + "}"; - - case mtpc_messageMediaDocument: - result += "\n" + add; - result += " document: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ messageMediaDocument" + result + "}"; - - case mtpc_messageMediaAudio: - result += "\n" + add; - result += " audio: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ messageMediaAudio" + result + "}"; - - case mtpc_messages_chats: - result += "\n" + add; - result += " chats: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ messages_chats" + result + "}"; - - case mtpc_msg_detailed_info: - result += "\n" + add; - result += " msg_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " answer_msg_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " bytes: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " status: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ msg_detailed_info" + result + "}"; - - case mtpc_msg_new_detailed_info: - result += "\n" + add; - result += " answer_msg_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " bytes: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " status: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ msg_new_detailed_info" + result + "}"; - - case mtpc_client_DH_inner_data: - result += "\n" + add; - result += " nonce: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; - result += " server_nonce: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; - result += " retry_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " g_b: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - return "{ client_DH_inner_data" + result + "}"; - - case mtpc_rpc_answer_unknown: - result = " "; - return "{ rpc_answer_unknown" + result + "}"; - - case mtpc_rpc_answer_dropped_running: - result = " "; - return "{ rpc_answer_dropped_running" + result + "}"; - - case mtpc_rpc_answer_dropped: - result += "\n" + add; - result += " msg_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " seq_no: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " bytes: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ rpc_answer_dropped" + result + "}"; - - case mtpc_peerNotifyEventsEmpty: - result = " "; - return "{ peerNotifyEventsEmpty" + result + "}"; - - case mtpc_peerNotifyEventsAll: - result = " "; - return "{ peerNotifyEventsAll" + result + "}"; - - case mtpc_storage_fileUnknown: - result = " "; - return "{ storage_fileUnknown" + result + "}"; - - case mtpc_storage_fileJpeg: - result = " "; - return "{ storage_fileJpeg" + result + "}"; - - case mtpc_storage_fileGif: - result = " "; - return "{ storage_fileGif" + result + "}"; - - case mtpc_storage_filePng: - result = " "; - return "{ storage_filePng" + result + "}"; - - case mtpc_storage_filePdf: - result = " "; - return "{ storage_filePdf" + result + "}"; - - case mtpc_storage_fileMp3: - result = " "; - return "{ storage_fileMp3" + result + "}"; - - case mtpc_storage_fileMov: - result = " "; - return "{ storage_fileMov" + result + "}"; - - case mtpc_storage_filePartial: - result = " "; - return "{ storage_filePartial" + result + "}"; - - case mtpc_storage_fileMp4: - result = " "; - return "{ storage_fileMp4" + result + "}"; - - case mtpc_storage_fileWebp: - result = " "; - return "{ storage_fileWebp" + result + "}"; - - case mtpc_userStatusEmpty: - result = " "; - return "{ userStatusEmpty" + result + "}"; - - case mtpc_userStatusOnline: - result += "\n" + add; - result += " expires: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ userStatusOnline" + result + "}"; - - case mtpc_userStatusOffline: - result += "\n" + add; - result += " was_online: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ userStatusOffline" + result + "}"; - - case mtpc_chatParticipant: - result += "\n" + add; - result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " inviter_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ chatParticipant" + result + "}"; - - case mtpc_notifyPeer: - result += "\n" + add; - result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ notifyPeer" + result + "}"; - - case mtpc_notifyUsers: - result = " "; - return "{ notifyUsers" + result + "}"; - - case mtpc_notifyChats: - result = " "; - return "{ notifyChats" + result + "}"; - - case mtpc_notifyAll: - result = " "; - return "{ notifyAll" + result + "}"; - - case mtpc_inputPhotoEmpty: - result = " "; - return "{ inputPhotoEmpty" + result + "}"; - - case mtpc_inputPhoto: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - return "{ inputPhoto" + result + "}"; - - case mtpc_inputAudioEmpty: - result = " "; - return "{ inputAudioEmpty" + result + "}"; - - case mtpc_inputAudio: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - return "{ inputAudio" + result + "}"; - - case mtpc_contacts_suggested: - result += "\n" + add; - result += " results: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ contacts_suggested" + result + "}"; - - case mtpc_geochats_statedMessage: - result += "\n" + add; - result += " message: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " chats: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " seq: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ geochats_statedMessage" + result + "}"; - - case mtpc_updateNewMessage: - result += "\n" + add; - result += " message: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " pts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ updateNewMessage" + result + "}"; - - case mtpc_updateMessageID: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " random_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - return "{ updateMessageID" + result + "}"; - - case mtpc_updateReadMessages: - result += "\n" + add; - result += " messages: " + mtpTextSerialize(from, end, 0, level + 1, mtpc_int) + ",\n" + add; - result += " pts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ updateReadMessages" + result + "}"; - - case mtpc_updateDeleteMessages: - result += "\n" + add; - result += " messages: " + mtpTextSerialize(from, end, 0, level + 1, mtpc_int) + ",\n" + add; - result += " pts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ updateDeleteMessages" + result + "}"; - - case mtpc_updateRestoreMessages: - result += "\n" + add; - result += " messages: " + mtpTextSerialize(from, end, 0, level + 1, mtpc_int) + ",\n" + add; - result += " pts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ updateRestoreMessages" + result + "}"; - - case mtpc_updateUserTyping: - result += "\n" + add; - result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ updateUserTyping" + result + "}"; - - case mtpc_updateChatUserTyping: - result += "\n" + add; - result += " chat_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ updateChatUserTyping" + result + "}"; - - case mtpc_updateChatParticipants: - result += "\n" + add; - result += " participants: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ updateChatParticipants" + result + "}"; - - case mtpc_updateUserStatus: - result += "\n" + add; - result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " status: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ updateUserStatus" + result + "}"; - - case mtpc_updateUserName: - result += "\n" + add; - result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " first_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " last_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - return "{ updateUserName" + result + "}"; - - case mtpc_updateUserPhoto: - result += "\n" + add; - result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " photo: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " previous: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ updateUserPhoto" + result + "}"; - - case mtpc_updateContactRegistered: - result += "\n" + add; - result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ updateContactRegistered" + result + "}"; - - case mtpc_updateContactLink: - result += "\n" + add; - result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " my_link: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " foreign_link: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ updateContactLink" + result + "}"; - - case mtpc_updateActivation: - result += "\n" + add; - result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ updateActivation" + result + "}"; - - case mtpc_updateNewAuthorization: - result += "\n" + add; - result += " auth_key_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " device: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " location: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - return "{ updateNewAuthorization" + result + "}"; - - case mtpc_updateNewGeoChatMessage: - result += "\n" + add; - result += " message: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ updateNewGeoChatMessage" + result + "}"; - - case mtpc_updateNewEncryptedMessage: - result += "\n" + add; - result += " message: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " qts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ updateNewEncryptedMessage" + result + "}"; - - case mtpc_updateEncryptedChatTyping: - result += "\n" + add; - result += " chat_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ updateEncryptedChatTyping" + result + "}"; - - case mtpc_updateEncryption: - result += "\n" + add; - result += " chat: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ updateEncryption" + result + "}"; - - case mtpc_updateEncryptedMessagesRead: - result += "\n" + add; - result += " chat_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " max_date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ updateEncryptedMessagesRead" + result + "}"; - - case mtpc_updateChatParticipantAdd: - result += "\n" + add; - result += " chat_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " inviter_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " version: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ updateChatParticipantAdd" + result + "}"; - - case mtpc_updateChatParticipantDelete: - result += "\n" + add; - result += " chat_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " version: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ updateChatParticipantDelete" + result + "}"; - - case mtpc_updateDcOptions: - result += "\n" + add; - result += " dc_options: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ updateDcOptions" + result + "}"; - - case mtpc_updateUserBlocked: - result += "\n" + add; - result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " blocked: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ updateUserBlocked" + result + "}"; - - case mtpc_updateNotifySettings: - result += "\n" + add; - result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " notify_settings: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ updateNotifySettings" + result + "}"; - - case mtpc_decryptedMessageActionSetMessageTTL: - result += "\n" + add; - result += " ttl_seconds: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ decryptedMessageActionSetMessageTTL" + result + "}"; - - case mtpc_decryptedMessageActionReadMessages: - result += "\n" + add; - result += " random_ids: " + mtpTextSerialize(from, end, 0, level + 1, mtpc_long) + ",\n" + add; - return "{ decryptedMessageActionReadMessages" + result + "}"; - - case mtpc_decryptedMessageActionDeleteMessages: - result += "\n" + add; - result += " random_ids: " + mtpTextSerialize(from, end, 0, level + 1, mtpc_long) + ",\n" + add; - return "{ decryptedMessageActionDeleteMessages" + result + "}"; - - case mtpc_decryptedMessageActionScreenshotMessages: - result += "\n" + add; - result += " random_ids: " + mtpTextSerialize(from, end, 0, level + 1, mtpc_long) + ",\n" + add; - return "{ decryptedMessageActionScreenshotMessages" + result + "}"; - - case mtpc_decryptedMessageActionFlushHistory: - result = " "; - return "{ decryptedMessageActionFlushHistory" + result + "}"; - - case mtpc_decryptedMessageActionNotifyLayer: - result += "\n" + add; - result += " layer: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ decryptedMessageActionNotifyLayer" + result + "}"; - - case mtpc_videoEmpty: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - return "{ videoEmpty" + result + "}"; - - case mtpc_video: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " access_hash: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " caption: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " duration: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " mime_type: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " size: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " thumb: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " dc_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " w: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " h: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ video" + result + "}"; - - case mtpc_contacts_found: - result += "\n" + add; - result += " results: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ contacts_found" + result + "}"; - - case mtpc_auth_checkedPhone: - result += "\n" + add; - result += " phone_registered: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " phone_invited: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ auth_checkedPhone" + result + "}"; - - case mtpc_messageActionEmpty: - result = " "; - return "{ messageActionEmpty" + result + "}"; - - case mtpc_messageActionChatCreate: - result += "\n" + add; - result += " title: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " users: " + mtpTextSerialize(from, end, 0, level + 1, mtpc_int) + ",\n" + add; - return "{ messageActionChatCreate" + result + "}"; - - case mtpc_messageActionChatEditTitle: - result += "\n" + add; - result += " title: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - return "{ messageActionChatEditTitle" + result + "}"; - - case mtpc_messageActionChatEditPhoto: - result += "\n" + add; - result += " photo: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ messageActionChatEditPhoto" + result + "}"; - - case mtpc_messageActionChatDeletePhoto: - result = " "; - return "{ messageActionChatDeletePhoto" + result + "}"; - - case mtpc_messageActionChatAddUser: - result += "\n" + add; - result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ messageActionChatAddUser" + result + "}"; - - case mtpc_messageActionChatDeleteUser: - result += "\n" + add; - result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ messageActionChatDeleteUser" + result + "}"; - - case mtpc_messageActionGeoChatCreate: - result += "\n" + add; - result += " title: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " address: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - return "{ messageActionGeoChatCreate" + result + "}"; - - case mtpc_messageActionGeoChatCheckin: - result = " "; - return "{ messageActionGeoChatCheckin" + result + "}"; - - case mtpc_messages_dialogs: - result += "\n" + add; - result += " dialogs: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " messages: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " chats: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ messages_dialogs" + result + "}"; - - case mtpc_messages_dialogsSlice: - result += "\n" + add; - result += " count: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " dialogs: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " messages: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " chats: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ messages_dialogsSlice" + result + "}"; - - case mtpc_contacts_contacts: - result += "\n" + add; - result += " contacts: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ contacts_contacts" + result + "}"; - - case mtpc_contacts_contactsNotModified: - result = " "; - return "{ contacts_contactsNotModified" + result + "}"; - - case mtpc_geochats_located: - result += "\n" + add; - result += " results: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " messages: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " chats: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ geochats_located" + result + "}"; - - case mtpc_pong: - result += "\n" + add; - result += " msg_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " ping_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - return "{ pong" + result + "}"; - - case mtpc_bad_msg_notification: - result += "\n" + add; - result += " bad_msg_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " bad_msg_seqno: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " error_code: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ bad_msg_notification" + result + "}"; - - case mtpc_bad_server_salt: - result += "\n" + add; - result += " bad_msg_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " bad_msg_seqno: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " error_code: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " new_server_salt: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - return "{ bad_server_salt" + result + "}"; - - case mtpc_contact: - result += "\n" + add; - result += " user_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " mutual: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ contact" + result + "}"; - - case mtpc_messages_receivedQueue: - result += "\n" + add; - result += " max_qts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ messages_receivedQueue" + result + "}"; - - case mtpc_set_client_DH_params: - result += "\n" + add; - result += " nonce: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; - result += " server_nonce: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; - result += " encrypted_data: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - return "{ set_client_DH_params" + result + "}"; - - case mtpc_help_getSupport: - result = " "; - return "{ help_getSupport" + result + "}"; - - case mtpc_auth_sendCode: - result += "\n" + add; - result += " phone_number: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " sms_type: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " api_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " api_hash: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " lang_code: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - return "{ auth_sendCode" + result + "}"; - - case mtpc_geochats_getRecents: - result += "\n" + add; - result += " offset: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " limit: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ geochats_getRecents" + result + "}"; - - case mtpc_geochats_search: - result += "\n" + add; - result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " q: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " filter: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " min_date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " max_date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " offset: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " max_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " limit: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ geochats_search" + result + "}"; - - case mtpc_geochats_getHistory: - result += "\n" + add; - result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " offset: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " max_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " limit: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ geochats_getHistory" + result + "}"; - - case mtpc_get_future_salts: - result += "\n" + add; - result += " num: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ get_future_salts" + result + "}"; - - case mtpc_help_getAppUpdate: - result += "\n" + add; - result += " device_model: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " system_version: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " app_version: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " lang_code: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - return "{ help_getAppUpdate" + result + "}"; - - case mtpc_help_getInviteText: - result += "\n" + add; - result += " lang_code: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - return "{ help_getInviteText" + result + "}"; - - case mtpc_help_getNearestDc: - result = " "; - return "{ help_getNearestDc" + result + "}"; - - case mtpc_messages_deleteMessages: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, 0, level + 1, mtpc_int) + ",\n" + add; - return "{ messages_deleteMessages" + result + "}"; - - case mtpc_messages_restoreMessages: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, 0, level + 1, mtpc_int) + ",\n" + add; - return "{ messages_restoreMessages" + result + "}"; - - case mtpc_messages_receivedMessages: - result += "\n" + add; - result += " max_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ messages_receivedMessages" + result + "}"; - - case mtpc_contacts_getBlocked: - result += "\n" + add; - result += " offset: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " limit: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ contacts_getBlocked" + result + "}"; - - case mtpc_messages_getFullChat: - result += "\n" + add; - result += " chat_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ messages_getFullChat" + result + "}"; - - case mtpc_geochats_getFullChat: - result += "\n" + add; - result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ geochats_getFullChat" + result + "}"; - - case mtpc_messages_getDhConfig: - result += "\n" + add; - result += " version: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " random_length: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ messages_getDhConfig" + result + "}"; - - case mtpc_messages_forwardMessages: - result += "\n" + add; - result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " id: " + mtpTextSerialize(from, end, 0, level + 1, mtpc_int) + ",\n" + add; - return "{ messages_forwardMessages" + result + "}"; - - case mtpc_messages_sendBroadcast: - result += "\n" + add; - result += " contacts: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " message: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " media: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ messages_sendBroadcast" + result + "}"; - - case mtpc_users_getFullUser: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ users_getFullUser" + result + "}"; - - case mtpc_photos_getUserPhotos: - result += "\n" + add; - result += " user_id: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " offset: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " max_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " limit: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ photos_getUserPhotos" + result + "}"; - - case mtpc_photos_uploadProfilePhoto: - result += "\n" + add; - result += " file: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " caption: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " geo_point: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " crop: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ photos_uploadProfilePhoto" + result + "}"; - - case mtpc_updates_getState: - result = " "; - return "{ updates_getState" + result + "}"; - - case mtpc_photos_updateProfilePhoto: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " crop: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ photos_updateProfilePhoto" + result + "}"; - - case mtpc_messages_getDialogs: - result += "\n" + add; - result += " offset: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " max_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " limit: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ messages_getDialogs" + result + "}"; - - case mtpc_users_getUsers: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ users_getUsers" + result + "}"; - - case mtpc_register_saveDeveloperInfo: - result += "\n" + add; - result += " name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " email: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " phone_number: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " age: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " city: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - return "{ register_saveDeveloperInfo" + result + "}"; - - case mtpc_auth_sendCall: - result += "\n" + add; - result += " phone_number: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " phone_code_hash: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - return "{ auth_sendCall" + result + "}"; - - case mtpc_auth_logOut: - result = " "; - return "{ auth_logOut" + result + "}"; - - case mtpc_auth_resetAuthorizations: - result = " "; - return "{ auth_resetAuthorizations" + result + "}"; - - case mtpc_auth_sendInvites: - result += "\n" + add; - result += " phone_numbers: " + mtpTextSerialize(from, end, 0, level + 1, mtpc_string) + ",\n" + add; - result += " message: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - return "{ auth_sendInvites" + result + "}"; - - case mtpc_account_registerDevice: - result += "\n" + add; - result += " token_type: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " token: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " device_model: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " system_version: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " app_version: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " app_sandbox: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " lang_code: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - return "{ account_registerDevice" + result + "}"; - - case mtpc_account_unregisterDevice: - result += "\n" + add; - result += " token_type: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " token: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - return "{ account_unregisterDevice" + result + "}"; - - case mtpc_account_updateNotifySettings: - result += "\n" + add; - result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " settings: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ account_updateNotifySettings" + result + "}"; - - case mtpc_account_resetNotifySettings: - result = " "; - return "{ account_resetNotifySettings" + result + "}"; - - case mtpc_account_updateStatus: - result += "\n" + add; - result += " offline: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ account_updateStatus" + result + "}"; - - case mtpc_contacts_deleteContacts: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ contacts_deleteContacts" + result + "}"; - - case mtpc_contacts_block: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ contacts_block" + result + "}"; - - case mtpc_contacts_unblock: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ contacts_unblock" + result + "}"; - - case mtpc_messages_setTyping: - result += "\n" + add; - result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " typing: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ messages_setTyping" + result + "}"; - - case mtpc_upload_saveFilePart: - result += "\n" + add; - result += " file_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " file_part: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " bytes: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; - return "{ upload_saveFilePart" + result + "}"; - - case mtpc_help_saveAppLog: - result += "\n" + add; - result += " events: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ help_saveAppLog" + result + "}"; - - case mtpc_geochats_setTyping: - result += "\n" + add; - result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " typing: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ geochats_setTyping" + result + "}"; - - case mtpc_messages_discardEncryption: - result += "\n" + add; - result += " chat_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ messages_discardEncryption" + result + "}"; - - case mtpc_messages_setEncryptedTyping: - result += "\n" + add; - result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " typing: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ messages_setEncryptedTyping" + result + "}"; - - case mtpc_messages_readEncryptedHistory: - result += "\n" + add; - result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " max_date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ messages_readEncryptedHistory" + result + "}"; - - case mtpc_upload_saveBigFilePart: - result += "\n" + add; - result += " file_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " file_part: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " file_total_parts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " bytes: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; - return "{ upload_saveBigFilePart" + result + "}"; - - case mtpc_account_getWallPapers: - result = " "; - return "{ account_getWallPapers" + result + "}"; - - case mtpc_account_updateProfile: - result += "\n" + add; - result += " first_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " last_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - return "{ account_updateProfile" + result + "}"; - - case mtpc_account_getNotifySettings: - result += "\n" + add; - result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ account_getNotifySettings" + result + "}"; - - case mtpc_auth_signUp: - result += "\n" + add; - result += " phone_number: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " phone_code_hash: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " phone_code: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " first_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " last_name: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - return "{ auth_signUp" + result + "}"; - - case mtpc_auth_signIn: - result += "\n" + add; - result += " phone_number: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " phone_code_hash: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " phone_code: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - return "{ auth_signIn" + result + "}"; - - case mtpc_auth_importAuthorization: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " bytes: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; - return "{ auth_importAuthorization" + result + "}"; - - case mtpc_messages_sendMessage: - result += "\n" + add; - result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " message: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " random_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - return "{ messages_sendMessage" + result + "}"; - - case mtpc_help_getConfig: - result = " "; - return "{ help_getConfig" + result + "}"; - - case mtpc_req_DH_params: - result += "\n" + add; - result += " nonce: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; - result += " server_nonce: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; - result += " p: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " q: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " public_key_fingerprint: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " encrypted_data: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - return "{ req_DH_params" + result + "}"; - - case mtpc_messages_getChats: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, 0, level + 1, mtpc_int) + ",\n" + add; - return "{ messages_getChats" + result + "}"; - - case mtpc_contacts_importContacts: - result += "\n" + add; - result += " contacts: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " replace: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ contacts_importContacts" + result + "}"; - - case mtpc_rpc_drop_answer: - result += "\n" + add; - result += " req_msg_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - return "{ rpc_drop_answer" + result + "}"; - - case mtpc_messages_sendEncrypted: - result += "\n" + add; - result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " random_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " data: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; - return "{ messages_sendEncrypted" + result + "}"; - - case mtpc_messages_sendEncryptedFile: - result += "\n" + add; - result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " random_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " data: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; - result += " file: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ messages_sendEncryptedFile" + result + "}"; - - case mtpc_messages_sendEncryptedService: - result += "\n" + add; - result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " random_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " data: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; - return "{ messages_sendEncryptedService" + result + "}"; - - case mtpc_messages_readHistory: - result += "\n" + add; - result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " max_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " offset: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ messages_readHistory" + result + "}"; - - case mtpc_messages_deleteHistory: - result += "\n" + add; - result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " offset: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ messages_deleteHistory" + result + "}"; - - case mtpc_messages_getMessages: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, 0, level + 1, mtpc_int) + ",\n" + add; - return "{ messages_getMessages" + result + "}"; - - case mtpc_messages_getHistory: - result += "\n" + add; - result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " offset: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " max_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " limit: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ messages_getHistory" + result + "}"; - - case mtpc_messages_search: - result += "\n" + add; - result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " q: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " filter: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " min_date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " max_date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " offset: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " max_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " limit: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ messages_search" + result + "}"; - - case mtpc_updates_getDifference: - result += "\n" + add; - result += " pts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " date: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " qts: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ updates_getDifference" + result + "}"; - - case mtpc_contacts_getStatuses: - result = " "; - return "{ contacts_getStatuses" + result + "}"; - - case mtpc_auth_exportAuthorization: - result += "\n" + add; - result += " dc_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ auth_exportAuthorization" + result + "}"; - - case mtpc_contacts_deleteContact: - result += "\n" + add; - result += " id: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ contacts_deleteContact" + result + "}"; - - case mtpc_destroy_session: - result += "\n" + add; - result += " session_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - return "{ destroy_session" + result + "}"; - - case mtpc_upload_getFile: - result += "\n" + add; - result += " location: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " offset: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " limit: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ upload_getFile" + result + "}"; - - case mtpc_messages_requestEncryption: - result += "\n" + add; - result += " user_id: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " random_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " g_a: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; - return "{ messages_requestEncryption" + result + "}"; - - case mtpc_messages_acceptEncryption: - result += "\n" + add; - result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " g_b: " + mtpTextSerialize(from, end, mtpc_bytes, level + 1) + ",\n" + add; - result += " key_fingerprint: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - return "{ messages_acceptEncryption" + result + "}"; - - case mtpc_contacts_getSuggested: - result += "\n" + add; - result += " limit: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ contacts_getSuggested" + result + "}"; - - case mtpc_geochats_checkin: - result += "\n" + add; - result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ geochats_checkin" + result + "}"; - - case mtpc_geochats_editChatTitle: - result += "\n" + add; - result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " title: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " address: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - return "{ geochats_editChatTitle" + result + "}"; - - case mtpc_geochats_editChatPhoto: - result += "\n" + add; - result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " photo: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ geochats_editChatPhoto" + result + "}"; - - case mtpc_geochats_sendMessage: - result += "\n" + add; - result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " message: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " random_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - return "{ geochats_sendMessage" + result + "}"; - - case mtpc_geochats_sendMedia: - result += "\n" + add; - result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " media: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " random_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - return "{ geochats_sendMedia" + result + "}"; - - case mtpc_geochats_createGeoChat: - result += "\n" + add; - result += " title: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " geo_point: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " address: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " venue: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - return "{ geochats_createGeoChat" + result + "}"; - - case mtpc_contacts_search: - result += "\n" + add; - result += " q: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " limit: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ contacts_search" + result + "}"; - - case mtpc_auth_checkPhone: - result += "\n" + add; - result += " phone_number: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - return "{ auth_checkPhone" + result + "}"; - - case mtpc_contacts_getContacts: - result += "\n" + add; - result += " hash: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - return "{ contacts_getContacts" + result + "}"; - - case mtpc_geochats_getLocated: - result += "\n" + add; - result += " geo_point: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " radius: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " limit: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ geochats_getLocated" + result + "}"; - - case mtpc_req_pq: - result += "\n" + add; - result += " nonce: " + mtpTextSerialize(from, end, mtpc_int128, level + 1) + ",\n" + add; - return "{ req_pq" + result + "}"; - - case mtpc_messages_sendMedia: - result += "\n" + add; - result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " media: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " random_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - return "{ messages_sendMedia" + result + "}"; - - case mtpc_messages_editChatTitle: - result += "\n" + add; - result += " chat_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " title: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - return "{ messages_editChatTitle" + result + "}"; - - case mtpc_messages_editChatPhoto: - result += "\n" + add; - result += " chat_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " photo: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ messages_editChatPhoto" + result + "}"; - - case mtpc_messages_addChatUser: - result += "\n" + add; - result += " chat_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " user_id: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " fwd_limit: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ messages_addChatUser" + result + "}"; - - case mtpc_messages_deleteChatUser: - result += "\n" + add; - result += " chat_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " user_id: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ messages_deleteChatUser" + result + "}"; - - case mtpc_messages_createChat: - result += "\n" + add; - result += " users: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " title: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - return "{ messages_createChat" + result + "}"; - - case mtpc_messages_forwardMessage: - result += "\n" + add; - result += " peer: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - result += " id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " random_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - return "{ messages_forwardMessage" + result + "}"; - - case mtpc_ping: - result += "\n" + add; - result += " ping_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - return "{ ping" + result + "}"; - - case mtpc_ping_delay_disconnect: - result += "\n" + add; - result += " ping_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " disconnect_delay: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - return "{ ping_delay_disconnect" + result + "}"; - - case mtpc_invokeAfterMsg: - result += "\n" + add; - result += " msg_id: " + mtpTextSerialize(from, end, mtpc_long, level + 1) + ",\n" + add; - result += " query: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ invokeAfterMsg" + result + "}"; - - case mtpc_invokeAfterMsgs: - result += "\n" + add; - result += " msg_ids: " + mtpTextSerialize(from, end, 0, level + 1, mtpc_long) + ",\n" + add; - result += " query: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ invokeAfterMsgs" + result + "}"; - - case mtpc_initConnection: - result += "\n" + add; - result += " api_id: " + mtpTextSerialize(from, end, mtpc_int, level + 1) + ",\n" + add; - result += " device_model: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " system_version: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " app_version: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " lang_code: " + mtpTextSerialize(from, end, mtpc_string, level + 1) + ",\n" + add; - result += " query: " + mtpTextSerialize(from, end, 0, level + 1) + ",\n" + add; - return "{ initConnection" + result + "}"; - } - - return mtpTextSerializeCore(from, end, cons, level, vcons); - } catch (Exception &e) { - QString result = "(" + QString(e.what()) + QString("), cons: %1").arg(cons); - if (vcons) result += QString(", vcons: %1").arg(vcons); - result += ", " + mb(start, (end - start) * sizeof(mtpPrime)).str(); - return "[ERROR] " + result; - } -} +void mtpTextSerializeType(MTPStringLogger &to, const mtpPrime *&from, const mtpPrime *end, mtpPrime cons, uint32 level, mtpPrime vcons); #endif diff --git a/Telegram/Telegram.vcxproj b/Telegram/Telegram.vcxproj index 4109d09de..b2966189e 100644 --- a/Telegram/Telegram.vcxproj +++ b/Telegram/Telegram.vcxproj @@ -821,9 +821,11 @@ + + diff --git a/Telegram/Telegram.vcxproj.filters b/Telegram/Telegram.vcxproj.filters index f95130947..a5609e68f 100644 --- a/Telegram/Telegram.vcxproj.filters +++ b/Telegram/Telegram.vcxproj.filters @@ -716,6 +716,12 @@ Generated Files\Release + + mtproto + + + mtproto +