From 926ebdcaa27344128ed493df26874147538ef6d3 Mon Sep 17 00:00:00 2001 From: jiangpengfei Date: Fri, 24 Nov 2023 18:49:30 +0800 Subject: [PATCH] test: update test thrift file --- tests/line-protocol/LICENSE | 674 +++ tests/line-protocol/README.md | 13 + tests/line-protocol/assets/LINE-sm.png | Bin 0 -> 16980 bytes tests/line-protocol/line.thrift | 5574 ++++++++++++++++++++++++ 4 files changed, 6261 insertions(+) create mode 100644 tests/line-protocol/LICENSE create mode 100644 tests/line-protocol/README.md create mode 100644 tests/line-protocol/assets/LINE-sm.png create mode 100644 tests/line-protocol/line.thrift diff --git a/tests/line-protocol/LICENSE b/tests/line-protocol/LICENSE new file mode 100644 index 0000000..94a9ed0 --- /dev/null +++ b/tests/line-protocol/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program 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. + + This program 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. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/tests/line-protocol/README.md b/tests/line-protocol/README.md new file mode 100644 index 0000000..3a4e258 --- /dev/null +++ b/tests/line-protocol/README.md @@ -0,0 +1,13 @@ +# ![logo](/assets/LINE-sm.png) LINE Protocol + [![LICENSE](https://img.shields.io/badge/license-GPL%203.0-blue.svg "LICENSE")](https://github.com/fadhiilrachman/line-protocol/blob/master/LICENSE) [![Chat on Discord](https://discordapp.com/api/guilds/370888828489170956/widget.png "Chat on Discord")](https://discord.gg/JAA2uk6) + +*LINE Messaging's private protocol* + +---- + +This work is **no way** affiliated with LINE Corporation or Naver. These files are the results of research into the LINE Messaging protocol. + +## Special Thanks +- Matti Virkkunen / [@mvirkkunen](https://github.com/mvirkkunen) +- ぐるぐる / [@f0reachARR](https://github.com/f0reachARR) +- GoogleX133 / [@GoogleX133](https://github.com/GoogleX133) diff --git a/tests/line-protocol/assets/LINE-sm.png b/tests/line-protocol/assets/LINE-sm.png new file mode 100644 index 0000000000000000000000000000000000000000..e28d9545f7e75a1a2a2b20ae9f1bb6d1bb750fc8 GIT binary patch literal 16980 zcmeAS@N?(olHy`uVBq!ia0y~yU@!t<4mJh`208nVjSLJ7oCO|{#S9GG!XV7ZFl&wk z1B2z8%#etZ2wxwokg&dz0$52&wylyQ$U=n(-v9;Y{GwC^Q#~`?WJ6;M1#?S1LsLr&BNH73BLhP- zeFIB=ZT;f_*f?sEG zNM%8)eo$(0erZv1s%u$lUWqa`N2Daf%_%4?$^nN@O0s@xPHJvyUP-aOp`IaDClqAl zm*f{`Rj43E;(ap(E$xN#x$`pi3R5N^itvvIJ zOA_;vQ$1bmDsl_-GBZ=G%u>@VObjiObj?jtEp&}jOpY62+ znCe=ZC8p?_nx&IF7NUy6ByuvrB}hSH zQE@6LW7;agawfdUfuvUmX#>vSR*A`=vd1nNlzdZDZ1hn?5zd0>0a*o6kckX@FIS3*qAgqVt|4c&MfeNb7QlSzY!C{8S+ zEEF5m5~eU_7M|#3-;T+=ifrClLiC#8gymxQ$QFNX$!5O|jF5C198U zx)$s)2N6ZhS+LxSnG@sr`(^K^e^3rYe5rPOiZ4hOUbAC>Kk#BxV zs-3ZoJ~m+_U7*Uz%D*TxHLoNQoI4F|^fAQH)klDGdrm1>y}6Nrfq{X(A&7)(MV3a_ z8i`*kvNXC@gwD{s%n~~zsBLJ%NV-5Zs1-Ocf(sIpQ|-)5O^r=$^wEXUbp&Kqq~=7p zWag&k6=&w>*_j$Z^`J{&)fkCOBa#GEBP1yxHOs(x93mRz;%3KXqYrLPf?AefDR{|9 zD+bhIv@#xI?x-b@a3GQ#4K5-B3ZiT@xFF#`Bsm&fLqG_5gAYrWuw6b2?rv{(cmI7pdiXdg9{Q4M3SSyMPxuhl#K=#Bpiq&M}v#V zfPyF+4K7GH5J`>(7m)!4Q8pS}kZ>T991Sia0}7&SG`Jw)KqNUDTto&GMA>L?LBfGZ zax}Pz3@C`Q(cprF1Ciuta1j|$5M`sm1qlZt$NOCl|hzux*veDpzgaeTz-r(XwY~f7JOR-fdSF*P|$J^)2z`&r8>=ES4 zz)+>iz|hdl!0_`w14F}028L1t28LG&3=CE?7#PI!C&eFiV_;x^Qtt(ZMEUJ~Q?&$e*6X%61 zp02L~OhZ<_-BGTyqQ{$MvO>zn&6CtvclDf}G=&$kEG)tpYHixz@xHJ*1D7V zti6@|o6pZ||LuSO`Oo~*m8x%C4#gyh1~8prnAE{5DqwhwCHao{!b&!0raunW1yUAV zF)BG10+b{V$T!9_RqdN8aKP}v_5*7@T$VArH>mpX-C?fdy25l~p+4_{`|5(64Vj9@ z)nx_~?HRgf*34jf!#qj#O^tMhoJ*F`BX^?@hduq666OjiO_E?~?_9n_cVbIRz|nxh zY0lH9Oi(``Dra$e#zH2>38^!kf)$TGOG=YUn>2Td?=m~#$>&;HTHL>0c>Dg?%koRl zat~k2J$xQjm8LqT`l*4p76q;?*t~n@t#?s& zr8Qom;a4j-O1*CEWVW$gRsZ>5%;T6-%clohZ53IZB(ptt&Krx9zjNOgFMHiH&D}%T z)8*=)gwxx%ZP3gYo~GjMWNWs7?Z=OI$8+{=oEdk~de&V@)`<#FPFU6$Jr@p3SwACy zGi%5F1F!$r&h7py?%3JiA+uiUsb*z}?wVNzLJX~vt#cx4+8%vL(v9t5-q^`ukof4u zp2Z?dL~XVmNVpiiqGDasP0h{8&(A0-DMu$Ul%2hG^w5{qe%n*2s;Pm20ghTL4Y^q? z#X6@>n>yv`G~106_A1meKD}1N(bL?~b7q_5?RgddHXhv7m{a?$WA~!Rre=)GJow_~ z#GScanXl~W?7H`C?d;-n#ZRP)E}rgxwVtuG;nn}SteiTYVy|LK?|izGw5#yfVMAGF z*&8yZDXQrUJ-C+dvpYHcZhX-B6 zx@m96-|gSKtFDVT?N_pBd7#k5%<)a}P5kXc^KRa_tnsA&l+vU8t&e+FUFuq6aNop! z(`ygM3(f^I=KN^kFELo~Ys=edr5uc@UsLDA*D-o;Vx9krnf1@1{^-(X7UMJL1B}+P zgz`?xu9)Q-e8^ilyKAaWtQg(XnX`W0{%jX}!`Ele7@a$G@pVT=TwwW;6~;+ddiC3b zTD?|H@=9AZGdTBu!uQ_&34W&}-YuQ;cEz$6IfAQJO`1FBD7&}a0jm@1U4!)W^R9VbQ-WNZs?u%i_Vb6Xc#{5P@pPr_ zhpL!s_ZU7lzhd!LW?!Mj8MZ%+_Iv-@u5fZ){z}2JhVOa9|yQlVwjny*d;A;)CTx)tL)8K7|zV?QAR1{_*0OyP)rPMnO(%J_YMZFCR3%`gwKF zjL(mReFN8hjaj^49mD*K;<+B}Hc9QKoZC$DJMYe#moOz>^Z4@by~@8s7o3YezRlZT zukcQBF2DOb`Ocqq4t=2^i4ALWqbP`ItoX0MRTA*cQYAM1=( zmy_;%wl2*}f661j(&Jazd)HrAcg~N}U#-9P+2PglM&}yjh2t&vFIuv%<@U+#raMJH z3U>BR*!MmC%jSKhwyU$kFJ8H7qNtMdJ!j9CquyK8wrAA|F2C@iqPOU*@S_&Sb-&ha z+MQ~?uTH-5n2k}ek+4%z{As(e|JA0p&*XGNj<264$7!vXP%_s{^NWD_j6G^$evv0< zrC*yce_sF96xq`J`|@8l?=7^x{XUQV^Nec;49%1dbMi988LU)$w&cvipJ$$Hdgv}N zSwAHw`CCVDOkwQ9v&YO=O08%zIVQFFm}iQ?LdUt{f1<(yk~9~7s-DWvz4qaa+nc8M z`brl{#>^`0k9Cppa_WiZ(VY^|kdkq6>jEy*o)c$(o8PRe)UJ-HRxsWo@HoV&)n#v% zq@Pdg&9;;m3+-{tH|(F4pU>T2>tR&(5&-m%Lq$#P>GPxeuPMelF{r5}E-1 Co#~_i literal 0 HcmV?d00001 diff --git a/tests/line-protocol/line.thrift b/tests/line-protocol/line.thrift new file mode 100644 index 0000000..9ff8eb1 --- /dev/null +++ b/tests/line-protocol/line.thrift @@ -0,0 +1,5574 @@ +enum ApplicationType { + IOS = 16; + IOS_RC = 17; + IOS_BETA = 18; + IOS_ALPHA = 19; + ANDROID = 32; + ANDROID_RC = 33; + ANDROID_BETA = 34; + ANDROID_ALPHA = 35; + WAP = 48; + WAP_RC = 49; + WAP_BETA = 50; + WAP_ALPHA = 51; + BOT = 64; + BOT_RC = 65; + BOT_BETA = 66; + BOT_ALPHA = 67; + WEB = 80; + WEB_RC = 81; + WEB_BETA = 82; + WEB_ALPHA = 83; + DESKTOPWIN = 96; + DESKTOPWIN_RC = 97; + DESKTOPWIN_BETA = 98; + DESKTOPWIN_ALPHA = 99; + DESKTOPMAC = 112; + DESKTOPMAC_RC = 113; + DESKTOPMAC_BETA = 114; + DESKTOPMAC_ALPHA = 115; + CHANNELGW = 128; + CHANNELGW_RC = 129; + CHANNELGW_BETA = 130; + CHANNELGW_ALPHA = 131; + CHANNELCP = 144; + CHANNELCP_RC = 145; + CHANNELCP_BETA = 146; + CHANNELCP_ALPHA = 147; + WINPHONE = 160; + WINPHONE_RC = 161; + WINPHONE_BETA = 162; + WINPHONE_ALPHA = 163; + BLACKBERRY = 176; + BLACKBERRY_RC = 177; + BLACKBERRY_BETA = 178; + BLACKBERRY_ALPHA = 179; + WINMETRO = 192; + WINMETRO_RC = 193; + WINMETRO_BETA = 194; + WINMETRO_ALPHA = 195; + S40 = 208; + S40_RC = 209; + S40_BETA = 210; + S40_ALPHA = 211; + CHRONO = 224; + CHRONO_RC = 225; + CHRONO_BETA = 226; + CHRONO_ALPHA = 227; + TIZEN = 256; + TIZEN_RC = 257; + TIZEN_BETA = 258; + TIZEN_ALPHA = 259; + VIRTUAL = 272; + FIREFOXOS = 288; + FIREFOXOS_RC = 289; + FIREFOXOS_BETA = 290; + FIREFOXOS_ALPHA = 291; + IOSIPAD = 304; + IOSIPAD_RC = 305; + IOSIPAD_BETA = 306; + IOSIPAD_ALPHA = 307; + BIZIOS = 320; + BIZIOS_RC = 321; + BIZIOS_BETA = 322; + BIZIOS_ALPHA = 323; + BIZANDROID = 336; + BIZANDROID_RC = 337; + BIZANDROID_BETA = 338; + BIZANDROID_ALPHA = 339; + BIZBOT = 352; + BIZBOT_RC = 353; + BIZBOT_BETA = 354; + BIZBOT_ALPHA = 355; + CHROMEOS = 368; + CHROMEOS_RC = 369; + CHROMEOS_BETA = 370; + CHROMEOS_ALPHA = 371; + ANDROIDLITE = 384; + ANDROIDLITE_RC = 385; + ANDROIDLITE_BETA = 386; + ANDROIDLITE_ALPHA = 387; + WIN10 = 400; + WIN10_RC = 401; + WIN10_BETA = 402; + WIN10_ALPHA = 403; + BIZWEB = 416; + BIZWEB_RC = 417; + BIZWEB_BETA = 418; + BIZWEB_ALPHA = 419; + DUMMYPRIMARY = 432; + DUMMYPRIMARY_RC = 433; + DUMMYPRIMARY_BETA = 434; + DUMMYPRIMARY_ALPHA = 435; + SQUARE = 448; + SQUARE_RC = 449; + SQUARE_BETA = 450; + SQUARE_ALPHA = 451; + INTERNAL = 464; + INTERNAL_RC = 465; + INTERNAL_BETA = 466; + INTERNAL_ALPHA = 467; + CLOVAFRIENDS = 480; + CLOVAFRIENDS_RC = 481; + CLOVAFRIENDS_BETA = 482; + CLOVAFRIENDS_ALPHA = 483; +} + +enum ExtendedProfileAttribute { + # Error? ExtendedProfileAttribute.java +} + +enum PrivacyLevelType { + PUBLIC = 0; + PRIVATE = 1; +} + +enum PaidCallerIdStatus { + NOT_SPECIFIED = 0, + VALID = 1, + VERIFICATION_REQUIRED = 2, + NOT_PERMITTED = 3, + LIMIT_EXCEEDED = 4, + LIMIT_EXCEEDED_AND_VERIFICATION_REQUIRED = 5, +} + +enum PaidCallProductType { + COIN = 0; + CREDIT = 1; + MONTHLY = 2; +} + +enum PaidCallType { + OUT = 0; + IN = 1; + TOLLFREE = 2; + RECORD = 3; + AD = 4; + CS = 5; +} + +enum BotType { + RESERVED = 0; + OFFICIAL = 1; + LINE_AT_0 = 2; + LINE_AT = 3; +} + +enum BuddyOnAirLabel { + ON_AIR = 0; + LIVE = 1; +} + +enum BuddyBannerLinkType { + BUDDY_BANNER_LINK_HIDDEN = 0; + BUDDY_BANNER_LINK_MID = 1; + BUDDY_BANNER_LINK_URL = 2; +} + +enum BuddyOnAirType { + NORMAL = 0; + LIVE = 1; + VOIP = 2; +} + +enum Diff { + ADDED = 0; + UPDATED = 1; + REMOVED = 2; +} + +enum ReportType { + ADVERTISING = 1; + GENDER_HARASSMENT = 2; + HARASSMENT = 3; + OTHER = 4; +} + +enum SyncTriggerReason { + OTHER = 0; + REVISION_GAP_TOO_LARGE = 1; + OPERATION_EXPIRED = 2; +} + +enum ReportCategory { + PUSH_NORMAL_PLAIN = 0; + PUSH_NORMAL_E2EE = 1; + PUSH_VOIP_PLAIN = 2; + PUSH_VOIP_E2EE = 3; +} + +enum BuddyResultState { + ACCEPTED = 1; + SUCCEEDED = 2; + FAILED = 3; + CANCELLED = 4; + NOTIFY_FAILED = 5; + STORING = 11; + UPLOADING = 21; + NOTIFYING = 31; + REMOVING_SUBSCRIPTION = 41; + UNREGISTERING_ACCOUNT = 42; + NOTIFYING_LEAVE_CHAT = 43; +} + +enum BuddySearchRequestSource { + NA = 0; + FRIEND_VIEW = 1; + OFFICIAL_ACCOUNT_VIEW = 2; +} + +enum CarrierCode { + NOT_SPECIFIED = 0; + JP_DOCOMO = 1; + JP_AU = 2; + JP_SOFTBANK = 3; + JP_DOCOMO_LINE = 4; + KR_SKT = 17; + KR_KT = 18; + KR_LGT = 19; +} + +enum ChannelConfiguration { + MESSAGE = 0; + MESSAGE_NOTIFICATION = 1; + NOTIFICATION_CENTER = 2; +} + +enum ChannelPermission { + PROFILE = 0; + FRIENDS = 1; + GROUP = 2; +} + +enum ChannelFeatureLicense { + BLE_LCS_API_USABLE = 26; + PROHIBIT_MINIMIZE_CHANNEL_BROWSER = 27; + ALLOW_IOS_WEBKIT = 28; +} + +enum ChannelErrorCode { + ILLEGAL_ARGUMENT = 0; + INTERNAL_ERROR = 1; + CONNECTION_ERROR = 2; + AUTHENTICATIONI_FAILED = 3; + NEED_PERMISSION_APPROVAL = 4; + COIN_NOT_USABLE = 5; + WEBVIEW_NOT_ALLOWED = 6; +} + +enum ChannelSyncType { + SYNC = 0; + REMOVE = 1; + REMOVE_ALL = 2; +} + +enum LoginType { + ID_CREDENTIAL = 0; + QRCODE = 1; + ID_CREDENTIAL_WITH_E2EE = 2; +} + +enum ContactAttribute { + CONTACT_ATTRIBUTE_CAPABLE_VOICE_CALL = 1; + CONTACT_ATTRIBUTE_CAPABLE_VIDEO_CALL = 2; + CONTACT_ATTRIBUTE_CAPABLE_MY_HOME = 16; + CONTACT_ATTRIBUTE_CAPABLE_BUDDY = 32; +} + +enum ContactCategory { + NORMAL = 0; + RECOMMEND = 1; +} + +enum ContactRelation { + ONEWAY = 0; + BOTH = 1; + NOT_REGISTERED = 2; +} + +enum AsymmetricKeyAlgorithm { + ASYMMETRIC_KEY_ALGORITHM_RSA = 1; + ASYMMETRIC_KEY_ALGORITHM_ECDH = 2; +} + +enum ContactSetting { + CONTACT_SETTING_NOTIFICATION_DISABLE = 1; + CONTACT_SETTING_DISPLAY_NAME_OVERRIDE = 2; + CONTACT_SETTING_CONTACT_HIDE = 4; + CONTACT_SETTING_FAVORITE = 8; + CONTACT_SETTING_DELETE = 16; +} + +enum ContactStatus { + UNSPECIFIED = 0; + FRIEND = 1; + FRIEND_BLOCKED = 2; + RECOMMEND = 3; + RECOMMEND_BLOCKED = 4; + DELETED = 5; + DELETED_BLOCKED = 6; +} + +enum ContactType { + MID = 0; + PHONE = 1; + EMAIL = 2; + USERID = 3; + PROXIMITY = 4; + GROUP = 5; + USER = 6; + QRCODE = 7; + PROMOTION_BOT = 8; + CONTACT_MESSAGE = 9; + FRIEND_REQUEST = 10; + REPAIR = 128; + FACEBOOK = 2305; + SINA = 2306; + RENREN = 2307; + FEIXIN = 2308; + BBM = 2309; + BEACON = 11; +} + +enum GroupPreferenceAttribute { + INVITATION_TICKET = 1; + FAVORITE_TIMESTAMP = 2; +} + +enum ContentType { + NONE = 0; + IMAGE = 1; + VIDEO = 2; + AUDIO = 3; + HTML = 4; + PDF = 5; + CALL = 6; + STICKER = 7; + PRESENCE = 8; + GIFT = 9; + GROUPBOARD = 10; + APPLINK = 11; + LINK = 12; + CONTACT = 13; + FILE = 14; + LOCATION = 15; + POSTNOTIFICATION = 16; + RICH = 17; + CHATEVENT = 18; + MUSIC = 19; + PAYMENT = 20; + EXTIMAGE = 21; +} + +enum MessageRelationType { + FORWARD = 0; + AUTO_REPLY = 1; + SUBORDINATE = 2; +} + +enum CustomMode { + PROMOTION_FRIENDS_INVITE = 1; + CAPABILITY_SERVER_SIDE_SMS = 2; + LINE_CLIENT_ANALYTICS_CONFIGURATION = 3; +} + +enum RoomAttribute { + ALL = 255; + NOTIFICATION_SETTING = 1; +} + +enum UserStatus { + NORMAL = 0; + UNBOUND = 1; + UNREGISTERED = 2; +} + +enum EmailConfirmationStatus { + NOT_SPECIFIED = 0; + NOT_YET = 1; + DONE = 3; + NEED_ENFORCED_INPUT = 4; +} + +enum AccountMigrationPincodeType { + NOT_APPLICABLE = 0; + NOT_SET = 1; + SET = 2; + NEED_ENFORCED_INPUT = 3; +} + +enum AccountMigrationCheckType { + SKIP = 0; + PINCODE = 1; + SECURITY_CENTER = 2; +} + +enum SecurityCenterSettingsType { + NOT_APPLICABLE = 0; + NOT_SET = 1; + SET = 2; + NEED_ENFORCED_INPUT = 3; +} + +enum EmailConfirmationType { + SERVER_SIDE_EMAIL = 0; + CLIENT_SIDE_EMAIL = 1; +} + +enum SquareChatAnnouncementType { + TEXT_MESSAGE = 0; +} + +enum SquareChatAttribute { + NAME = 2; + SQUARE_CHAT_IMAGE = 3; + STATE = 4; +} + +enum SquareMemberAttribute { + DISPLAY_NAME = 1; + PROFILE_IMAGE = 2; + ABLE_TO_RECEIVE_MESSAGE = 3; + MEMBERSHIP_STATE = 5; + ROLE = 6; + PREFERENCE = 7; +} + +enum SquareMemberRelationAttribute { + BLOCKED = 1; +} + +enum SquarePreferenceAttribute { + FAVORITE = 1; + NOTI_FOR_NEW_JOIN_REQUEST = 2; +} + +enum SquareState { + ALIVE = 0; + DELETED = 1; + SUSPENDED = 2; +} + +enum CommitMessageResultCode { + DELIVERED = 0, + DELIVERY_SKIPPED = 1, + DELIVERY_RESTRICTED = 2, +} + +enum ErrorCode { + ILLEGAL_ARGUMENT = 0; + AUTHENTICATION_FAILED = 1; + DB_FAILED = 2; + INVALID_STATE = 3; + EXCESSIVE_ACCESS = 4; + NOT_FOUND = 5; + INVALID_MID = 9; + NOT_A_MEMBER = 10; + INVALID_LENGTH = 6; + NOT_AVAILABLE_USER = 7; + NOT_AUTHORIZED_DEVICE = 8; + NOT_AUTHORIZED_SESSION = 14; + INCOMPATIBLE_APP_VERSION = 11; + NOT_READY = 12; + NOT_AVAILABLE_SESSION = 13; + SYSTEM_ERROR = 15; + NO_AVAILABLE_VERIFICATION_METHOD = 16; + NOT_AUTHENTICATED = 17; + INVALID_IDENTITY_CREDENTIAL = 18; + NOT_AVAILABLE_IDENTITY_IDENTIFIER = 19; + INTERNAL_ERROR = 20; + NO_SUCH_IDENTITY_IDENFIER = 21; + DEACTIVATED_ACCOUNT_BOUND_TO_THIS_IDENTITY = 22; + ILLEGAL_IDENTITY_CREDENTIAL = 23; + UNKNOWN_CHANNEL = 24; + NO_SUCH_MESSAGE_BOX = 25; + NOT_AVAILABLE_MESSAGE_BOX = 26; + CHANNEL_DOES_NOT_MATCH = 27; + NOT_YOUR_MESSAGE = 28; + MESSAGE_DEFINED_ERROR = 29; + USER_CANNOT_ACCEPT_PRESENTS = 30; + USER_NOT_STICKER_OWNER = 32; + MAINTENANCE_ERROR = 33; + ACCOUNT_NOT_MATCHED = 34; + ABUSE_BLOCK = 35; + NOT_FRIEND = 36; + NOT_ALLOWED_CALL = 37; + BLOCK_FRIEND = 38; + INCOMPATIBLE_VOIP_VERSION = 39; + INVALID_SNS_ACCESS_TOKEN = 40; + EXTERNAL_SERVICE_NOT_AVAILABLE = 41; + NOT_ALLOWED_ADD_CONTACT = 42; + NOT_CERTIFICATED = 43; + NOT_ALLOWED_SECONDARY_DEVICE = 44; + INVALID_PIN_CODE = 45; + NOT_FOUND_IDENTITY_CREDENTIAL = 46; + EXCEED_FILE_MAX_SIZE = 47; + EXCEED_DAILY_QUOTA = 48; + NOT_SUPPORT_SEND_FILE = 49; + MUST_UPGRADE = 50; + NOT_AVAILABLE_PIN_CODE_SESSION = 51; + EXPIRED_REVISION = 52; + NOT_YET_PHONE_NUMBER = 54; + BAD_CALL_NUMBER = 55; + UNAVAILABLE_CALL_NUMBER = 56; + NOT_SUPPORT_CALL_SERVICE = 57; + CONGESTION_CONTROL = 58; + NO_BALANCE = 59; + NOT_PERMITTED_CALLER_ID = 60; + NO_CALLER_ID_LIMIT_EXCEEDED = 61; + CALLER_ID_VERIFICATION_REQUIRED = 62; + NO_CALLER_ID_LIMIT_EXCEEDED_AND_VERIFICATION_REQUIRED = 63; + MESSAGE_NOT_FOUND = 64; + INVALID_ACCOUNT_MIGRATION_PINCODE_FORMAT = 65; + ACCOUNT_MIGRATION_PINCODE_NOT_MATCHED = 66; + ACCOUNT_MIGRATION_PINCODE_BLOCKED = 67; + INVALID_PASSWORD_FORMAT = 69; + FEATURE_RESTRICTED = 70; + MESSAGE_NOT_DESTRUCTIBLE = 71; + PAID_CALL_REDEEM_FAILED = 72; + PREVENTED_JOIN_BY_TICKET = 73; + SEND_MESSAGE_NOT_PERMITTED_FROM_LINE_AT = 75; + SEND_MESSAGE_NOT_PERMITTED_WHILE_AUTO_REPLY = 76; + SECURITY_CENTER_NOT_VERIFIED = 77; + SECURITY_CENTER_BLOCKED_BY_SETTING = 78; + SECURITY_CENTER_BLOCKED = 79; + TALK_PROXY_EXCEPTION = 80; + E2EE_INVALID_PROTOCOL = 81; + E2EE_RETRY_ENCRYPT = 82; + E2EE_UPDATE_SENDER_KEY = 83; + E2EE_UPDATE_RECEIVER_KEY = 84; + E2EE_INVALID_ARGUMENT = 85; + E2EE_INVALID_VERSION = 86; + E2EE_SENDER_DISABLED = 87; + E2EE_RECEIVER_DISABLED = 88; + E2EE_SENDER_NOT_ALLOWED = 89; + E2EE_RECEIVER_NOT_ALLOWED = 90; + E2EE_RESEND_FAIL = 91; + E2EE_RESEND_OK = 92; + HITOKOTO_BACKUP_NO_AVAILABLE_DATA = 93; + E2EE_UPDATE_PRIMARY_DEVICE = 94; + SUCCESS = 95; + CANCEL = 96; + E2EE_PRIMARY_NOT_SUPPORT = 97; + E2EE_RETRY_PLAIN = 98; + E2EE_RECREATE_GROUP_KEY = 99; + E2EE_GROUP_TOO_MANY_MEMBERS = 100; + SERVER_BUSY = 101; + NOT_ALLOWED_ADD_FOLLOW = 102; + INCOMING_FRIEND_REQUEST_LIMIT = 103; + OUTGOING_FRIEND_REQUEST_LIMIT = 104; + OUTGOING_FRIEND_REQUEST_QUOTA = 105; + DUPLICATED = 106; + BANNED = 107; +} + +enum FeatureType { + OBS_VIDEO = 1; + OBS_GENERAL = 2; +} + +enum GroupAttribute { + NAME = 1; + PICTURE_STATUS = 2; + ALL = 255; + PREVENTED_JOIN_BY_TICKET = 4; + NOTIFICATION_SETTING = 8; +} + +enum IdentityProvider { + UNKNOWN = 0; + LINE = 1; + NAVER_KR = 2; + LINE_PHONE = 3; +} + +enum LoginResultType { + SUCCESS = 1; + REQUIRE_QRCODE = 2; + REQUIRE_DEVICE_CONFIRM = 3; + REQUIRE_SMS_CONFIRM = 4; +} + +enum MessageOperationType { + SEND_MESSAGE = 1; + RECEIVE_MESSAGE = 2; + READ_MESSAGE = 3; + NOTIFIED_READ_MESSAGE = 4; + NOTIFIED_JOIN_CHAT = 5; + FAILED_SEND_MESSAGE = 6; + SEND_CONTENT = 7; + SEND_CONTENT_RECEIPT = 8; + SEND_CHAT_REMOVED = 9; + REMOVE_ALL_MESSAGES = 10; +} + +enum MIDType { + USER = 0; + ROOM = 1; + GROUP = 2; + SQUARE = 3; + SQUARE_CHAT = 4; + SQUARE_MEMBER = 5; + BOT = 6; +} + +enum ServiceCode { + UNKNOWN = 0; + TALK = 1; + SQUARE = 2; +} + +enum FriendRequestDirection { + INCOMING = 1; + OUTGOING = 2; +} + +enum FriendRequestMethod { + TIMELINE = 1; + NEARBY = 2; + SQUARE = 3; +} + +enum FriendRequestStatus { + NONE = 0; + AVAILABLE = 1; + ALREADY_REQUESTED = 2; + UNAVAILABLE = 3; +} + +enum ModificationType { + ADD = 0; + REMOVE = 1; + MODIFY = 2; +} + +enum NotificationItemFetchMode { + ALL = 0; + APPEND = 1; +} + +enum NotificationQueueType { + GLOBAL = 1; + MESSAGE = 2; + PRIMARY = 3; +} + +enum GroupCallMediaType { + AUDIO = 1; + VIDEO = 2; +} + +enum PersonalInfo { + EMAIL = 0; + PHONE = 1; + BIRTHDAY = 2; + RAW_BIRTHDAY = 3; +} + +enum NotificationStatus { + NOTIFICATION_ITEM_EXIST = 1; + TIMELINE_ITEM_EXIST = 2; + NOTE_GROUP_NEW_ITEM_EXIST = 4; + TIMELINE_BUDDYGROUP_CHANGED = 8; + NOTE_ONE_TO_ONE_NEW_ITEM_EXIST = 16; + ALBUM_ITEM_EXIST = 32; + TIMELINE_ITEM_DELETED = 64; + OTOGROUP_ITEM_EXIST = 128; + GROUPHOME_NEW_ITEM_EXIST = 256; + GROUPHOME_HIDDEN_ITEM_CHANGED = 512; + NOTIFICATION_ITEM_CHANGED = 1024; + BEAD_ITEM_HIDE = 2048; + BEAD_ITEM_SHOW = 4096; +} + +enum NotificationType { + APPLE_APNS = 1; + GOOGLE_C2DM = 2; + NHN_NNI = 3; + SKT_AOM = 4; + MS_MPNS = 5; + RIM_BIS = 6; + GOOGLE_GCM = 7; + NOKIA_NNAPI = 8; + TIZEN = 9; + LINE_BOT = 17; + LINE_WAP = 18; + APPLE_APNS_VOIP = 19; + MS_WNS = 20; + GOOGLE_FCM = 21; +} + +enum OpStatus { + NORMAL = 0; + ALERT_DISABLED = 1; + ALWAYS = 2; +} + +enum OpType { + END_OF_OPERATION = 0; + UPDATE_PROFILE = 1; + UPDATE_SETTINGS = 36; + NOTIFIED_UPDATE_PROFILE = 2; + REGISTER_USERID = 3; + ADD_CONTACT = 4; + NOTIFIED_ADD_CONTACT = 5; + BLOCK_CONTACT = 6; + UNBLOCK_CONTACT = 7; + NOTIFIED_RECOMMEND_CONTACT = 8; + CREATE_GROUP = 9; + UPDATE_GROUP = 10; + NOTIFIED_UPDATE_GROUP = 11; + INVITE_INTO_GROUP = 12; + NOTIFIED_INVITE_INTO_GROUP = 13; + CANCEL_INVITATION_GROUP = 31; + NOTIFIED_CANCEL_INVITATION_GROUP = 32; + LEAVE_GROUP = 14; + NOTIFIED_LEAVE_GROUP = 15; + ACCEPT_GROUP_INVITATION = 16; + NOTIFIED_ACCEPT_GROUP_INVITATION = 17; + REJECT_GROUP_INVITATION = 34; + NOTIFIED_REJECT_GROUP_INVITATION = 35; + KICKOUT_FROM_GROUP = 18; + NOTIFIED_KICKOUT_FROM_GROUP = 19; + CREATE_ROOM = 20; + INVITE_INTO_ROOM = 21; + NOTIFIED_INVITE_INTO_ROOM = 22; + LEAVE_ROOM = 23; + NOTIFIED_LEAVE_ROOM = 24; + SEND_MESSAGE = 25; + RECEIVE_MESSAGE = 26; + SEND_MESSAGE_RECEIPT = 27; + RECEIVE_MESSAGE_RECEIPT = 28; + SEND_CONTENT_RECEIPT = 29; + RECEIVE_ANNOUNCEMENT = 30; + NOTIFIED_UNREGISTER_USER = 33; + INVITE_VIA_EMAIL = 38; + NOTIFIED_REGISTER_USER = 37; + NOTIFIED_REQUEST_RECOVERY = 39; + SEND_CHAT_CHECKED = 40; + SEND_CHAT_REMOVED = 41; + NOTIFIED_FORCE_SYNC = 42; + SEND_CONTENT = 43; + SEND_MESSAGE_MYHOME = 44; + NOTIFIED_UPDATE_CONTENT_PREVIEW = 45; + REMOVE_ALL_MESSAGES = 46; + NOTIFIED_UPDATE_PURCHASES = 47; + DUMMY = 48; + UPDATE_CONTACT = 49; + NOTIFIED_RECEIVED_CALL = 50; + CANCEL_CALL = 51; + NOTIFIED_REDIRECT = 52; + NOTIFIED_CHANNEL_SYNC = 53; + FAILED_SEND_MESSAGE = 54; + NOTIFIED_READ_MESSAGE = 55; + FAILED_EMAIL_CONFIRMATION = 56; + NOTIFIED_CHAT_CONTENT = 58; + NOTIFIED_PUSH_NOTICENTER_ITEM = 59; + NOTIFIED_JOIN_CHAT = 60; + NOTIFIED_LEAVE_CHAT = 61; + NOTIFIED_TYPING = 62; + FRIEND_REQUEST_ACCEPTED = 63; + DESTROY_MESSAGE = 64; + NOTIFIED_DESTROY_MESSAGE = 65; + UPDATE_PUBLICKEYCHAIN = 66; + NOTIFIED_UPDATE_PUBLICKEYCHAIN = 67; + NOTIFIED_BLOCK_CONTACT = 68; + NOTIFIED_UNBLOCK_CONTACT = 69; + UPDATE_GROUPPREFERENCE = 70; + NOTIFIED_PAYMENT_EVENT = 71; + REGISTER_E2EE_PUBLICKEY = 72; + NOTIFIED_E2EE_KEY_EXCHANGE_REQ = 73; + NOTIFIED_E2EE_KEY_EXCHANGE_RESP = 74; + NOTIFIED_E2EE_MESSAGE_RESEND_REQ = 75; + NOTIFIED_E2EE_MESSAGE_RESEND_RESP = 76; + NOTIFIED_E2EE_KEY_UPDATE = 77; + NOTIFIED_BUDDY_UPDATE_PROFILE = 78; + NOTIFIED_UPDATE_LINEAT_TABS = 79; + UPDATE_ROOM = 80; + NOTIFIED_BEACON_DETECTED = 81; + UPDATE_EXTENDED_PROFILE = 82; + ADD_FOLLOW = 83; + NOTIFIED_ADD_FOLLOW = 84; + DELETE_FOLLOW = 85; + NOTIFIED_DELETE_FOLLOW = 86; + UPDATE_TIMELINE_SETTINGS = 87; + NOTIFIED_FRIEND_REQUEST = 88; + UPDATE_RINGBACK_TONE = 89; + NOTIFIED_POSTBACK = 90; + RECEIVE_READ_WATERMARK = 91; + NOTIFIED_MESSAGE_DELIVERED = 92; + NOTIFIED_UPDATE_CHAT_BAR = 93; + NOTIFIED_CHATAPP_INSTALLED = 94; + NOTIFIED_CHATAPP_UPDATED = 95; + NOTIFIED_CHATAPP_NEW_MARK = 96; + NOTIFIED_CHATAPP_DELETED = 97; + NOTIFIED_CHATAPP_SYNC = 98; + NOTIFIED_UPDATE_MESSAGE = 99; +} + +enum PayloadType { + PAYLOAD_BUY = 101; + PAYLOAD_CS = 111; + PAYLOAD_BONUS = 121; + PAYLOAD_EVENT = 131; +} + +enum PaymentPgType { + PAYMENT_PG_NONE = 0; + PAYMENT_PG_AU = 1; + PAYMENT_PG_AL = 2; +} + +enum PaymentType { + PAYMENT_APPLE = 1; + PAYMENT_GOOGLE = 2; +} + +enum ProductBannerLinkType { + BANNER_LINK_NONE = 0; + BANNER_LINK_ITEM = 1; + BANNER_LINK_URL = 2; + BANNER_LINK_CATEGORY = 3; +} + +enum ProductEventType { + NO_EVENT = 0; + CARRIER_ANY = 65537; + BUDDY_ANY = 131073; + INSTALL_IOS = 196609; + INSTALL_ANDROID = 196610; + MISSION_ANY = 262145; + MUSTBUY_ANY = 327681; +} + +enum StickerResourceType { + STATIC = 1; + ANIMATION = 2; + SOUND = 3; + ANIMATION_SOUND = 4; + POPUP = 5; + POPUP_SOUND = 6; +} + +enum PlaceSearchProvider { + GOOGLE = 0; + BAIDU = 1; +} + +enum PointErrorCode { + REQUEST_DUPLICATION = 3001; + INVALID_PARAMETER = 3002; + NOT_ENOUGH_BALANCE = 3003; + AUTHENTICATION_FAIL = 3004; + API_ACCESS_FORBIDDEN = 3005; + MEMBER_ACCOUNT_NOT_FOUND = 3006; + SERVICE_ACCOUNT_NOT_FOUND = 3007; + TRANSACTION_NOT_FOUND = 3008; + ALREADY_REVERSED_TRANSACTION = 3009; + MESSAGE_NOT_READABLE = 3010; + HTTP_REQUEST_METHOD_NOT_SUPPORTED = 3011; + HTTP_MEDIA_TYPE_NOT_SUPPORTED = 3012; + NOT_ALLOWED_TO_DEPOSIT = 3013; + NOT_ALLOWED_TO_PAY = 3014; + TRANSACTION_ACCESS_FORBIDDEN = 3015; + INVALID_SERVICE_CONFIGURATION = 4001; + DCS_COMMUNICATION_FAIL = 5004; + UPDATE_BALANCE_FAIL = 5007; + SYSTEM_ERROR = 5999; + SYSTEM_MAINTENANCE = 5888; +} + +enum ProfileAttribute { + ALL = 511; + EMAIL = 1; + DISPLAY_NAME = 2; + PHONETIC_NAME = 4; + PICTURE = 8; + STATUS_MESSAGE = 16; + ALLOW_SEARCH_BY_USERID = 32; + ALLOW_SEARCH_BY_EMAIL = 64; + BUDDY_STATUS = 128; + MUSIC_PROFILE = 256; +} + +enum PublicType { + HIDDEN = 0; + PUBLIC = 1000; +} + +enum RedirectType { + NONE = 0; + EXPIRE_SECOND = 1; +} + +enum RegistrationType { + PHONE = 0; + EMAIL_WAP = 1; + FACEBOOK = 2305; + SINA = 2306; + RENREN = 2307; + FEIXIN = 2308; +} + +enum ChatRoomAnnouncementType { + MESSAGE = 0; + NOTE = 1; +} + +enum SettingsAttribute { + ALL = 2147483647; + NOTIFICATION_ENABLE = 1; + NOTIFICATION_MUTE_EXPIRATION = 2; + NOTIFICATION_NEW_MESSAGE = 4; + NOTIFICATION_GROUP_INVITATION = 8; + NOTIFICATION_SHOW_MESSAGE = 16; + NOTIFICATION_INCOMING_CALL = 32; + NOTIFICATION_SOUND_MESSAGE = 256; + NOTIFICATION_SOUND_GROUP = 512; + NOTIFICATION_DISABLED_WITH_SUB = 65536; + NOTIFICATION_PAYMENT = 131072; + PRIVACY_SYNC_CONTACTS = 64; + PRIVACY_SEARCH_BY_PHONE_NUMBER = 128; + PRIVACY_SEARCH_BY_USERID = 8192; + PRIVACY_SEARCH_BY_EMAIL = 16384; + PRIVACY_ALLOW_SECONDARY_DEVICE_LOGIN = 2097152; + PRIVACY_PROFILE_IMAGE_POST_TO_MYHOME = 8388608; + PRIVACY_ALLOW_FRIEND_REQUEST = 1073741824; + PRIVACY_RECV_MESSAGES_FROM_NOT_FRIEND = 33554432; + PRIVACY_AGREE_USE_LINECOIN_TO_PAIDCALL = 67108864; + PRIVACY_AGREE_USE_PAIDCALL = 134217728; + CONTACT_MY_TICKET = 1024; + IDENTITY_PROVIDER = 2048; + IDENTITY_IDENTIFIER = 4096; + SNS_ACCOUNT = 524288; + PHONE_REGISTRATION = 1048576; + PREFERENCE_LOCALE = 32768; + CUSTOM_MODE = 4194304; + EMAIL_CONFIRMATION_STATUS = 16777216; + ACCOUNT_MIGRATION_PINCODE = 268435456; + ENFORCED_INPUT_ACCOUNT_MIGRATION_PINCODE = 536870912; + SECURITY_CENTER_SETTINGS = 262144; +} + +enum SettingsAttributeEx { + NOTIFICATION_ENABLE = 0; + NOTIFICATION_MUTE_EXPIRATION = 1; + NOTIFICATION_NEW_MESSAGE = 2; + NOTIFICATION_GROUP_INVITATION = 3; + NOTIFICATION_SHOW_MESSAGE = 4; + NOTIFICATION_INCOMING_CALL = 5; + NOTIFICATION_SOUND_MESSAGE = 8; + NOTIFICATION_SOUND_GROUP = 9; + NOTIFICATION_DISABLED_WITH_SUB = 16; + NOTIFICATION_PAYMENT = 17; + NOTIFICATION_MENTION = 40; + NOTIFICATION_THUMBNAIL = 45; + PRIVACY_SYNC_CONTACTS = 6; + PRIVACY_SEARCH_BY_PHONE_NUMBER = 7; + PRIVACY_SEARCH_BY_USERID = 13; + PRIVACY_SEARCH_BY_EMAIL = 14; + PRIVACY_ALLOW_SECONDARY_DEVICE_LOGIN = 21; + PRIVACY_PROFILE_IMAGE_POST_TO_MYHOME = 23; + PRIVACY_PROFILE_MUSIC_POST_TO_MYHOME = 35; + PRIVACY_ALLOW_FRIEND_REQUEST = 30; + PRIVACY_RECV_MESSAGES_FROM_NOT_FRIEND = 25; + PRIVACY_AGREE_USE_LINECOIN_TO_PAIDCALL = 26; + PRIVACY_AGREE_USE_PAIDCALL = 27; + CONTACT_MY_TICKET = 10; + IDENTITY_PROVIDER = 11; + IDENTITY_IDENTIFIER = 12; + SNS_ACCOUNT = 19; + PHONE_REGISTRATION = 20; + PREFERENCE_LOCALE = 15; + CUSTOM_MODE = 22; + EMAIL_CONFIRMATION_STATUS = 24; + ACCOUNT_MIGRATION_PINCODE = 28; + ENFORCED_INPUT_ACCOUNT_MIGRATION_PINCODE = 29; + SECURITY_CENTER_SETTINGS = 18; + E2EE_ENABLE = 33; + ENABLE_SOUND_TO_TEXT = 47; + HITOKOTO_BACKUP_REQUESTED = 34; + CONTACT_ALLOW_FOLLOWING = 36; + PRIVACY_ALLOW_NEARBY = 37; + AGREEMENT_NEARBY = 38; + AGREEMENT_SQUARE = 39; + ALLOW_UNREGISTRATION_SECONDARY_DEVICE = 41; + AGREEMENT_BOT_USE = 42; + AGREEMENT_SHAKE_FUNCTION = 43; + AGREEMENT_MOBILE_CONTACT_NAME = 44; + AGREEMENT_SOUND_TO_TEXT = 46; +} + +enum SnsIdType { + FACEBOOK = 1; + SINA = 2; + RENREN = 3; + FEIXIN = 4; + BBM = 5; +} + +enum SpammerReason { + OTHER = 0; + ADVERTISING = 1; + GENDER_HARASSMENT = 2; + HARASSMENT = 3; +} + +enum SyncActionType { + SYNC = 0; + REPORT = 1; +} + +enum SpotCategory { + UNKNOWN = 0; + GOURMET = 1; + BEAUTY = 2; + TRAVEL = 3; + SHOPPING = 4; + ENTERTAINMENT = 5; + SPORTS = 6; + TRANSPORT = 7; + LIFE = 8; + HOSPITAL = 9; + FINANCE = 10; + EDUCATION = 11; + OTHER = 12; + ALL = 10000; +} + +enum SyncCategory { + PROFILE = 0; + SETTINGS = 1; + OPS = 2; + CONTACT = 3; + RECOMMEND = 4; + BLOCK = 5; + GROUP = 6; + ROOM = 7; + NOTIFICATION = 8; + ADDRESS_BOOK = 9; +} + +enum TMessageBoxStatus { + ACTIVATED = 1; + UNREAD = 2; +} + +enum UniversalNotificationServiceErrorCode { + INTERNAL_ERROR = 0; + INVALID_KEY = 1; + ILLEGAL_ARGUMENT = 2; + TOO_MANY_REQUEST = 3; + AUTHENTICATION_FAILED = 4; + NO_WRITE_PERMISSION = 5; +} + +enum UnregistrationReason { + UNREGISTRATION_REASON_UNREGISTER_USER = 1; + UNREGISTRATION_REASON_UNBIND_DEVICE = 2; +} + +enum UserAgeType { + OVER = 1; + UNDER = 2; + UNDEFINED = 3; +} + +enum VerificationMethod { + NO_AVAILABLE = 0; + PIN_VIA_SMS = 1; + CALLERID_INDIGO = 2; + PIN_VIA_TTS = 4; + SKIP = 10; +} + +enum VerificationResult { + FAILED = 0; + OK_NOT_REGISTERED_YET = 1; + OK_REGISTERED_WITH_SAME_DEVICE = 2; + OK_REGISTERED_WITH_ANOTHER_DEVICE = 3; +} + +enum WapInvitationType { + REGISTRATION = 1; + CHAT = 2; +} + +enum MediaType { + AUDIO = 1; + VIDEO = 2; +} + +enum SQErrorCode { + UNKNOWN = 0; + ILLEGAL_ARGUMENT = 400; + AUTHENTICATION_FAILURE = 401; + FORBIDDEN = 403; + NOT_FOUND = 404; + REVISION_MISMATCH = 409; + PRECONDITION_FAILED = 410; + INTERNAL_ERROR = 500; + NOT_IMPLEMENTED = 501; + TRY_AGAIN_LATER = 505; +} + +enum SquareEventType { + RECEIVE_MESSAGE = 0; + SEND_MESSAGE = 1; + NOTIFIED_JOIN_SQUARE_CHAT = 2; + NOTIFIED_INVITE_INTO_SQUARE_CHAT = 3; + NOTIFIED_LEAVE_SQUARE_CHAT = 4; + NOTIFIED_DESTROY_MESSAGE = 5; + NOTIFIED_MARK_AS_READ = 6; + NOTIFIED_UPDATE_SQUARE_MEMBER_PROFILE = 7; + NOTIFIED_KICKOUT_FROM_SQUARE = 19; + NOTIFIED_SHUTDOWN_SQUARE = 18; + NOTIFIED_DELETE_SQUARE_CHAT = 20; + NOTIFIED_UPDATE_SQUARE_CHAT_PROFILE_NAME = 30; + NOTIFIED_UPDATE_SQUARE_CHAT_PROFILE_IMAGE = 31; + NOTIFIED_UPDATE_SQUARE_CHAT_ANNOUNCEMENT = 37; + NOTIFIED_ADD_BOT = 33; + NOTIFIED_REMOVE_BOT = 34; + NOTIFIED_UPDATE_SQUARE = 8; + NOTIFIED_UPDATE_SQUARE_STATUS = 9; + NOTIFIED_UPDATE_SQUARE_AUTHORITY = 10; + NOTIFIED_UPDATE_SQUARE_MEMBER = 11; + NOTIFIED_UPDATE_SQUARE_CHAT = 12; + NOTIFIED_UPDATE_SQUARE_CHAT_STATUS = 13; + NOTIFIED_UPDATE_SQUARE_CHAT_MEMBER = 14; + NOTIFIED_CREATE_SQUARE_MEMBER = 15; + NOTIFIED_CREATE_SQUARE_CHAT_MEMBER = 16; + NOTIFIED_UPDATE_SQUARE_MEMBER_RELATION = 17; + NOTIFIED_UPDATE_SQUARE_FEATURE_SET = 32; + NOTIFIED_UPDATE_SQUARE_NOTE_STATUS = 36; + NOTIFICATION_JOIN_REQUEST = 21; + NOTIFICATION_JOINED = 22; + NOTIFICATION_PROMOTED_COADMIN = 23; + NOTIFICATION_PROMOTED_ADMIN = 24; + NOTIFICATION_DEMOTED_MEMBER = 25; + NOTIFICATION_KICKED_OUT = 26; + NOTIFICATION_SQUARE_DELETE = 27; + NOTIFICATION_SQUARE_CHAT_DELETE = 28; + NOTIFICATION_MESSAGE = 29; +} + +enum SquareMemberRelationState { + NONE = 1; + BLOCKED = 2; +} + +enum SquareFeatureControlState { + DISABLED = 1; + ENABLED = 2; +} + +enum BooleanState { + NONE = 0; + OFF = 1; + ON = 2; +} + +enum SquareType { + CLOSED = 0; + OPEN = 1; +} + +enum SquareChatType { + OPEN = 1; + SECRET = 2; + ONE_ON_ONE = 3; + SQUARE_DEFAULT = 4; +} + +enum SquareErrorCode { + UNKNOWN = 0; + INTERNAL_ERROR = 500; + NOT_IMPLEMENTED = 501; + TRY_AGAIN_LATER = 503; + MAINTENANCE = 505; + ILLEGAL_ARGUMENT = 400; + AUTHENTICATION_FAILURE = 401; + FORBIDDEN = 403; + NOT_FOUND = 404; + REVISION_MISMATCH = 409; + PRECONDITION_FAILED = 410; +} + +enum SquareChatState { + ALIVE = 0; + DELETED = 1; + SUSPENDED = 2; +} + +enum SquareFeatureSetAttribute { + CREATING_SECRET_SQUARE_CHAT = 1; + INVITING_INTO_OPEN_SQUARE_CHAT = 2; +} + +enum SquareMembershipState { + JOIN_REQUESTED = 1; + JOINED = 2; + REJECTED = 3; + LEFT = 4; + KICK_OUT = 5; + BANNED = 6; + DELETED = 7; +} + +enum SquareChatMemberAttribute { + MEMBERSHIP_STATE = 4; + NOTIFICATION_MESSAGE = 6; +} + +enum SquareMemberRole { + ADMIN = 1; + CO_ADMIN = 2; + MEMBER = 10; +} + +enum PreconditionFailedExtraInfo { + DUPLICATED_DISPLAY_NAME = 0; +} + +enum SquareChatMembershipState { + JOINED = 1; + LEFT = 2; +} + +enum FetchDirection { + FORWARD = 1; + BACKWARD = 2; +} + +enum SquareAttribute { + NAME = 1; + WELCOME_MESSAGE = 2; + PROFILE_IMAGE = 3; + DESCRIPTION = 4; + SEARCHABLE = 6; + CATEGORY = 7; + INVITATION_URL = 8; + ABLE_TO_USE_INVITATION_URL = 9; + STATE = 10; +} + +enum SquareAuthorityAttribute { + UPDATE_SQUARE_PROFILE = 1; + INVITE_NEW_MEMBER = 2; + APPROVE_JOIN_REQUEST = 3; + CREATE_POST = 4; + CREATE_OPEN_SQUARE_CHAT = 5; + DELETE_SQUARE_CHAT_OR_POST = 6; + REMOVE_SQUARE_MEMBER = 7; + GRANT_ROLE = 8; + ENABLE_INVITATION_TICKET = 9; + CREATE_CHAT_ANNOUNCEMENT = 10; +} + +enum SquareEventStatus { + NORMAL = 1; + ALERT_DISABLED = 2; +} + +struct Location { + 1: string title; + 2: string address; + 3: double latitude; + 4: double longitude; + 5: string phone; +} + +struct MessageBoxV2MessageId { + 1: i64 deliveredTime; + 2: i64 messageId; +} + +struct MessageCommitResult { + 1: string requestId; + 2: BuddyResultState state; + 3: string messageStoreRequestId; + 4: list messageIds; + 11: i64 receiverCount; + 12: i64 successCount; + 13: i64 failCount; + 14: i64 blockCount; + 15: i64 unregisteredCount; + 16: i64 unrelatedCount; + 21: string errorDescription; +} + +struct CallHost { + 1: string host; + 2: i32 port; + 3: string zone; +} + +struct AgeCheckDocomoResult { + 1: string authUrl; + 2: UserAgeType userAgeType; +} + +struct AgeCheckRequestResult { + 1: string authUrl; + 2: string sessionId; +} + +struct TextMessageAnnouncementContents { + 1: string messageId; + 2: string text; + 3: string senderSquareMemberMid; + 4: i64 createdAt; +} + +struct SquareChatAnnouncementContents { + 1: TextMessageAnnouncementContents textMessageAnnouncementContents; +} + +struct SquareChatAnnouncement { + 1: i64 announcementSeq; + 2: SquareChatAnnouncementType type; + 3: SquareChatAnnouncementContents contents; +} + +struct Announcement { + 1: i32 index; + 10: bool forceUpdate; + 11: string title; + 12: string text; + 13: i64 createdTime; + 14: string pictureUrl; + 15: string thumbnailUrl; +} + +struct ChannelProvider { + 1: string name; +} + +struct E2EEPublicKey { + 1: i32 version; + 2: i32 keyId; + 4: binary keyData; + 5: i64 createdTime; +} + +struct ChannelDomain { + 1: string host; + 2: bool removed; +} + +struct E2EENegotiationResult { + 1: set allowedTypes; + 2: E2EEPublicKey publicKey; +} + +struct OTPResult { + 1: string otpId; + 2: string otp; +} + +struct Square { + 1: string mid; + 2: string name; + 3: string welcomeMessage; + 4: string profileImageObsHash; + 5: string desc; + 6: bool searchable; + 7: SquareType type; + 8: i32 categoryID; + 9: string invitationURL; + 10: i64 revision; + 11: bool ableToUseInvitationTicket; + 12: SquareState state; +} + +struct SquareAuthority { + 1: string squareMid; + 2: SquareMemberRole updateSquareProfile; + 3: SquareMemberRole inviteNewMember; + 4: SquareMemberRole approveJoinRequest; + 5: SquareMemberRole createPost; + 6: SquareMemberRole createOpenSquareChat; + 7: SquareMemberRole deleteSquareChatOrPost; + 8: SquareMemberRole removeSquareMember; + 9: SquareMemberRole grantRole; + 10: SquareMemberRole enableInvitationTicket; + 11: i64 revision; +} + +struct SquarePreference { + 1: i64 favoriteTimestamp; + 2: bool notiForNewJoinRequest; +} + +struct SquareMember { + 1: string squareMemberMid; + 2: string squareMid; + 3: string displayName; + 4: string profileImageObsHash; + 5: bool ableToReceiveMessage; + 7: SquareMembershipState membershipState; + 8: SquareMemberRole role; + 9: i64 revision; + 10: SquarePreference preference; + 11: string joinMessage; +} + +struct SquareMemberRelation { + 1: SquareMemberRelationState state; + 2: i64 revision; +} + +struct SquareFeature { + 1: SquareFeatureControlState controlState; + 2: BooleanState booleanValue; +} + +struct SquareFeatureSet { + 1: string squareMid; + 2: i64 revision; + 11: SquareFeature creatingSecretSquareChat; + 12: SquareFeature invitingIntoOpenSquareChat; +} + +struct SquareStatus { + 1: i32 memberCount; + 2: i32 joinRequestCount; + 3: i64 lastJoinRequestAt; + 4: i32 openChatCount; +} + +struct SquareChat { + 1: string squareChatMid; + 2: string squareMid; + 3: SquareChatType type; + 4: string name; + 5: string chatImageObsHash; + 6: i64 squareChatRevision; + 7: i32 maxMemberCount; + 8: SquareChatState state; +} + +struct NoteStatus { + 1: i32 noteCount; + 2: i64 latestCreatedAt; +} + +struct SquareInfo { + 1: Square square; + 2: SquareStatus squareStatus; + 3: NoteStatus squareNoteStatus; +} + +struct BotUseInfo { + 1: bool botUseAgreementAccepted; + 2: bool botInFriends; + 3: string primaryApplication; + 4: string locale; +} + +struct PaidCallAdCountry { + 1: string countryCode; + 2: string rateDivision; +} + +struct PaidCallAdResult { + 1: i32 adRemains; +} + +struct PaidCallBalance { + 1: PaidCallProductType productType; + 2: string productName; + 3: string unit; + 4: i32 limitedPaidBalance; + 5: i32 limitedFreeBalance; + 6: i32 unlimitedPaidBalance; + 7: i32 unlimitedFreeBalance; + 8: i64 startTime; + 9: i64 endTime; + 10: bool autopayEnabled; +} + +struct PaidCallCurrencyExchangeRate { + 1: string currencyCode; + 2: string currencyName; + 3: string currencySign; + 4: bool preferred; + 5: string coinRate; + 6: string creditRate; +} + +struct ExtendedProfileBirthday { + 1: string year; + 2: PrivacyLevelType yearPrivacyLevelType; + 3: bool yearEnabled; + 5: string day; + 6: PrivacyLevelType dayPrivacyLevelType; + 7: bool dayEnabled; +} + +struct ExtendedProfile { + 1: ExtendedProfileBirthday birthday; +} + +struct PaidCallDialing { + 1: PaidCallType type; + 2: string dialedNumber; + 3: string serviceDomain; + 4: PaidCallProductType productType; + 5: string productName; + 6: bool multipleProduct; + 7: PaidCallerIdStatus callerIdStatus; + 10: i32 balance; + 11: string unit; + 12: i32 rate; + 13: string displayCode; + 14: string calledNumber; + 15: string calleeNationalNumber; + 16: string calleeCallingCode; + 17: string rateDivision; + 20: i32 adMaxMin; + 21: i32 adRemains; + 22: string adSessionId; +} + +struct SpotItem { + 2: string name; + 3: string phone; + 4: SpotCategory category; + 5: string mid; + 6: string countryAreaCode; + 10: bool freePhoneCallable; +} + +struct SpotNearbyItem { + 2: SpotItem spotItem; + 11: Location location; +} + +struct SpotNearbyResponse { + 1: list spotNearbyItems; +} + +struct SpotPhoneNumberResponse { + 1: list spotItems; +} + +struct PaidCallHistory { + 1: i64 seq; + 2: PaidCallType type; + 3: string dialedNumber; + 4: string calledNumber; + 5: string toMid; + 6: string toName; + 7: i64 setupTime; + 8: i64 startTime; + 9: i64 endTime; + 10: i64 duration; + 11: i32 terminate; + 12: PaidCallProductType productType; + 13: i32 charge; + 14: string unit; + 15: string result; +} + +struct PaidCallHistoryResult { + 1: list historys; + 2: bool hasNext; +} + +struct PaidCallMetadataResult { + 1: list currencyExchangeRates; + 2: list recommendedCountryCodes; + 3: list adCountries; +} + +struct PaidCallRedeemResult { + 1: string eventName; + 2: i32 eventAmount; +} + +struct PaidCallResponse { + 1: CallHost host; + 2: PaidCallDialing dialing; + 3: string token; + 4: list spotItems; +} + +struct PaidCallUserRate { + 1: string countryCode; + 2: i32 rate; + 3: string rateDivision; + 4: string rateName; +} + +struct ChannelInfo { + 1: string channelId; + 3: string name; + 4: string entryPageUrl; + 5: string descriptionText; + 6: ChannelProvider provider; + 7: PublicType publicType; + 8: string iconImage; + 9: list permissions; + 11: string iconThumbnailImage; + 12: list channelConfigurations; + 13: bool lcsAllApiUsable; + 14: set allowedPermissions; + 15: list channelDomains; + 16: i64 updatedTimestamp; +} + +struct ApprovedChannelInfo { + 1: ChannelInfo channelInfo; + 2: i64 approvedAt; +} + +struct ApprovedChannelInfos { + 1: list approvedChannelInfos; + 2: i64 revision; +} + +struct AuthQrcode { + 1: string qrcode; + 2: string verifier; + 3: string callbackUrl; +} + +struct AnalyticsInfo { + 1: double gaSamplingRate; + 2: string tmid; +} + +struct ContactTransition { + 1: string ownerMid; + 2: string targetMid; + 3: ContactStatus previousStatus; + 4: ContactStatus resultStatus; +} + +struct UserTicketResponse { + 1: string mid; + 2: string userTicket; +} + +struct BuddyBanner { + 1: BuddyBannerLinkType buddyBannerLinkType; + 2: string buddyBannerLink; + 3: string buddyBannerImageUrl; +} + +struct BuddyDetail { + 1: string mid; + 2: i64 memberCount; + 3: bool onAir; + 4: bool businessAccount; + 5: bool addable; + 6: set acceptableContentTypes; + 7: bool capableMyhome; +} + +struct Contact { + 1: string mid; + 2: i64 createdTime; + 10: ContactType type; + 11: ContactStatus status; + 21: ContactRelation relation; + 22: string displayName; + 23: string phoneticName; + 24: string pictureStatus; + 25: string thumbnailUrl; + 26: string statusMessage; + 27: string displayNameOverridden; + 28: i64 favoriteTime; + 31: bool capableVoiceCall; + 32: bool capableVideoCall; + 33: bool capableMyhome; + 34: bool capableBuddy; + 35: i32 attributes; + 36: i64 settings; + 37: string picturePath; + 38: string recommendParams; + 39: FriendRequestStatus friendRequestStatus; + 40: string musicProfile; + 42: string videoProfile; +} + +struct BuddyList { + 1: string classification; + 2: string displayName; + 3: i32 totalBuddyCount; + 4: list popularContacts; +} + +struct RegisterWithPhoneNumberResult { + 1: string authToken; + 2: bool recommendEmailRegistration; + 3: string certificate; +} + +struct BuddyMessageRequest { + 1: ContentType contentType; + 2: string text; + 3: Location location; + 4: binary content; + 5: map contentMetadata; +} + +struct BuddyOnAirUrls { + 1: map hls; + 2: map smoothStreaming; +} + +struct BuddyOnAir { + 1: string mid; + 3: i64 freshnessLifetime; + 4: string onAirId; + 5: bool onAir; + 11: string text; + 12: i64 viewerCount; + 13: i64 targetCount; + 31: BuddyOnAirType onAirType; + 32: BuddyOnAirUrls onAirUrls; +} + +struct BuddyProfile { + 1: string buddyId; + 2: string mid; + 3: string searchId; + 4: string displayName; + 5: string statusMessage; + 11: i64 contactCount; +} + +struct CommitMessageResult { + 1: Message message; + 2: CommitMessageResultCode code; + 3: string reason; + 4: i64 successCount; + 5: i64 failCount; + 6: i64 unregisterCount; + 7: i64 blockCount; +} + +struct BuddySearchResult { + 1: string mid; + 2: string displayName; + 3: string pictureStatus; + 4: string picturePath; + 5: string statusMessage; + 6: bool businessAccount; +} + +struct SyncParamMid { + 1: string mid; + 2: Diff diff; + 3: i64 revision; +} + +struct SIMInfo { + 1: string phoneNumber; + 2: string countryCode; +} + +struct SyncParamContact { + 1: SyncParamMid syncParamMid; + 2: ContactStatus contactStatus; +} + +struct ChannelDomains { + 1: list channelDomains; + 2: i64 revision; +} + +struct ProductCategory { + 1: i64 productCategoryId; + 2: string title; + 3: i32 productCount; + 4: bool newFlag; +} + +struct ChannelInfos { + 1: list channelInfos; + 2: i64 revision; +} + +struct ChannelNotificationSetting { + 1: string channelId; + 2: string name; + 3: bool notificationReceivable; + 4: bool messageReceivable; + 5: bool showDefault; +} + +struct ChannelSyncDatas { + 1: list channelInfos; + 2: list channelDomains; + 3: i64 revision; + 4: i64 expires; +} + +struct NotiCenterEventData { + 1: string id; + 2: string to; + 3: string from_; + 4: string toChannel; + 5: string fromChannel; + 6: string eventType; + 7: i64 createdTime; + 8: i64 operationRevision; + 9: map content; + 10: map push; +} + +struct ChannelToken { + 1: string token; + 2: string obsToken; + 3: i64 expiration; + 4: string refreshToken; + 5: string channelAccessToken; +} + +struct ChannelSettings { + 1: bool unapprovedMessageReceivable; +} + +struct ChannelIdWithLastUpdated { + 1: string channelId; + 2: i64 lastUpdated; +} + +struct Coin { + 1: i32 freeCoinBalance; + 2: i32 payedCoinBalance; + 3: i32 totalCoinBalance; + 4: i32 rewardCoinBalance; +} + +struct CoinPayLoad { + 1: i32 payCoin; + 2: i32 freeCoin; + 3: PayloadType type; + 4: i32 rewardCoin; +} + +struct CoinHistory { + 1: i64 payDate; + 2: i32 coinBalance; + 3: i32 coin; + 4: string price; + 5: string title; + 6: bool refund; + 7: string paySeq; + 8: string currency; + 9: string currencySign; + 10: string displayPrice; + 11: CoinPayLoad payload; + 12: string channelId; +} + +struct CoinHistoryCondition { + 1: i64 start; + 2: i32 size; + 3: string language; + 4: string eddt; + 5: PaymentType appStoreCode; +} + +struct CoinHistoryResult { + 1: list historys; + 2: Coin balance; + 3: bool hasNext; +} + +struct CoinProductItem { + 1: string itemId; + 2: i32 coin; + 3: i32 freeCoin; + 5: string currency; + 6: string price; + 7: string displayPrice; + 8: string name; + 9: string desc; +} + +struct CoinPurchaseConfirm { + 1: string orderId; + 2: PaymentType appStoreCode; + 3: string receipt; + 4: string signature; + 5: string seller; + 6: string requestType; + 7: bool ignoreReceipt; +} + +struct CoinPurchaseReservation { + 1: string productId; + 2: string country; + 3: string currency; + 4: string price; + 5: PaymentType appStoreCode; + 6: string language; + 7: PaymentPgType pgCode; + 8: string redirectUrl; +} + +struct CoinUseReservationItem { + 1: string itemId; + 2: string itemName; + 3: i32 amount; +} + +struct CoinUseReservation { + 1: string channelId; + 2: string shopOrderId; + 3: PaymentType appStoreCode; + 4: list items; + 5: string country; +} + +struct CompactContact { + 1: string mid; + 2: i64 createdTime; + 3: i64 modifiedTime; + 4: ContactStatus status; + 5: i64 settings; + 6: string displayNameOverridden; +} + +struct ContactModification { + 1: ModificationType type; + 2: string luid; + 11: list phones; + 12: list emails; + 13: list userids; +} + +struct ContactRegistration { + 1: Contact contact; + 10: string luid; + 11: ContactType contactType; + 12: string contactKey; +} + +struct ContactReport { + 1: string mid; + 2: bool exists; + 3: Contact contact; +} + +struct ContactReportResult { + 1: string mid; + 2: bool exists; +} + +struct DeviceInfo { + 1: string deviceName; + 2: string systemName; + 3: string systemVersion; + 4: string model; + 10: CarrierCode carrierCode; + 11: string carrierName; + 20: ApplicationType applicationType; +} + +struct EmailConfirmation { + 1: bool usePasswordSet; + 2: string email; + 3: string password; + 4: bool ignoreDuplication; +} + +struct EmailConfirmationSession { + 1: EmailConfirmationType emailConfirmationType; + 2: string verifier; + 3: string targetEmail; +} + +struct FriendChannelMatrix { + 1: string channelId; + 2: string representMid; + 3: i32 count; + 4: i32 point; +} + +struct FriendChannelMatricesResponse { + 1: i64 expires; + 2: list matrices; +} + +struct FriendRequest { + 1: string eMid; + 2: string mid; + 3: FriendRequestDirection direction; + 4: FriendRequestMethod method; + 5: string param; + 6: i64 timestamp; + 7: i64 seqId; + 10: string displayName; + 11: string picturePath; + 12: string pictureStatus; +} + +struct FriendRequestsInfo { + 1: i32 totalIncomingCount; + 2: i32 totalOutgoingCount; + 3: list recentIncomings; + 4: list recentOutgoings; + 5: i32 totalIncomingLimit; + 6: i32 totalOutgoingLimit; +} + +struct Geolocation { + 1: double longitude; + 2: double latitude; +} + +struct NotificationTarget { + 1: string applicationType; + 2: string applicationVersion; + 3: string region; +} + +struct GlobalEvent { + 1: string key; + 2: list targets; + 3: i64 createdTime; + 4: i64 data; + 5: i32 maxDelay; +} + +struct GroupPreference { + 1: string invitationTicket; + 2: i64 favoriteTimestamp; +} + +struct Group { + 1: string id; + 2: i64 createdTime; + 10: string name; + 11: string pictureStatus; + 12: bool preventedJoinByTicket; + 13: GroupPreference groupPreference; + 20: list members; + 21: Contact creator; + 22: list invitee; + 31: bool notificationDisabled; +} + +struct IdentityCredential { + 1: IdentityProvider provider; + 2: string identifier; + 3: string password; +} + +struct LastReadMessageId { + 1: string mid; + 2: string lastReadMessageId; +} + +struct LastReadMessageIds { + 1: string chatId; + 2: list lastReadMessageIds; +} + +struct VerificationSessionData { + 1: string sessionId; + 2: VerificationMethod method; + 3: string callback; + 4: string normalizedPhone; + 5: string countryCode; + 6: string nationalSignificantNumber; + 7: list availableVerificationMethods; +} + +struct LoginResult { + 1: string authToken; + 2: string certificate; + 3: string verifier; + 4: string pinCode; + 5: LoginResultType type; + 6: i64 lastPrimaryBindTime; + 7: string displayMessage; + 8: VerificationSessionData sessionForSMSConfirm; +} + +struct LoginRequest { + 1: i32 type; + 2: i32 identityProvider; + 3: string identifier; + 4: string password; + 5: bool keepLoggedIn; + 6: string accessLocation; + 7: string systemName; + 8: string certificate; + 9: string verifier; + 10: string secret; + 11: i32 e2eeVersion; +} + +struct LoginSession { + 1: string tokenKey; + 3: i64 expirationTime; + 11: ApplicationType applicationType; + 12: string systemName; + 22: string accessLocation; +} + +struct Message { + 1: string _from; + 2: string to; + 3: MIDType toType; + 4: string id; + 5: i64 createdTime; + 6: i64 deliveredTime; + 10: string text; + 11: Location location; + 14: bool hasContent; + 15: ContentType contentType; + 17: binary contentPreview; + 18: map contentMetadata; + 19: i8 sessionId; + 20: list chunks; + 21: string relatedMessageId; + 22: MessageRelationType messageRelationType; + 23: i64 readCount; + 24: ServiceCode relatedMessageServiceCode; +} + +struct SquareMessage { + 1: Message message; + 3: MIDType fromType; + 4: i64 squareMessageRevision; +} + +struct SquareChatStatusWithoutMessage { + 1: i32 memberCount; + 2: i32 unreadMessageCount; +} + +struct SquareChatStatus { + 3: SquareMessage lastMessage; + 4: string senderDisplayName; + 5: SquareChatStatusWithoutMessage otherStatus; +} + +struct SquareChatMember { + 1: string squareMemberMid; + 2: string squareChatMid; + 3: i64 revision; + 4: SquareChatMembershipState membershipState; + 5: bool notificationForMessage; +} + +struct MessageOperation { + 1: i64 revision; + 2: i64 createdTime; + 3: MessageOperationType type; + 4: i32 reqSeq; + 5: OpStatus status; + 10: string param1; + 11: string param2; + 12: string param3; + 20: Message message; +} + +struct MessageOperations { + 1: list operations; + 2: bool endFlag; +} + +struct MessageStoreResult { + 1: string requestId; + 2: list messageIds; +} + +struct MetaProfile { + 1: i64 createTime; + 2: string regionCode; + 3: map identities; +} + +struct NotificationItem { + 1: string id; + 2: string _from; + 3: string to; + 4: string fromChannel; + 5: string toChannel; + 7: i64 revision; + 8: i64 createdTime; + 9: map content; +} + +struct NotificationFetchResult { + 1: NotificationItemFetchMode fetchMode; + 2: list itemList; +} + +struct Operation { + 1: i64 revision; + 2: i64 createdTime; + 3: OpType type; + 4: i32 reqSeq; + 5: string checksum; + 7: OpStatus status; + 10: string param1; + 11: string param2; + 12: string param3; + 20: Message message; +} + +struct PaymentReservation { + 1: string receiverMid; + 2: string productId; + 3: string language; + 4: string location; + 5: string currency; + 6: string price; + 7: PaymentType appStoreCode; + 8: string messageText; + 9: i32 messageTemplate; + 10: i64 packageId; +} + +struct PaymentReservationResult { + 1: string orderId; + 2: string confirmUrl; + 3: map extras; +} + +struct Product { + 1: string productId; + 2: i64 packageId; + 3: i32 version; + 4: string authorName; + 5: bool onSale; + 6: i32 validDays; + 7: i32 saleType; + 8: string copyright; + 9: string title; + 10: string descriptionText; + 11: i64 shopOrderId; + 12: string fromMid; + 13: string toMid; + 14: i64 validUntil; + 15: i32 priceTier; + 16: string price; + 17: string currency; + 18: string currencySymbol; + 19: PaymentType paymentType; + 20: i64 createDate; + 21: bool ownFlag; + 22: ProductEventType eventType; + 23: string urlSchema; + 24: string downloadUrl; + 25: string buddyMid; + 26: i64 publishSince; + 27: bool newFlag; + 28: bool missionFlag; + 29: list categories; + 30: string missionButtonText; + 31: string missionShortDescription; + 32: string authorId; + 41: bool grantedByDefault; + 42: i32 displayOrder; + 43: bool availableForPresent; + 44: bool availableForMyself; + 51: bool hasAnimation; + 52: bool hasSound; + 53: bool recommendationsEnabled; + 54: StickerResourceType stickerResourceType; +} + +struct ProductList { + 1: bool hasNext; + 4: i64 bannerSequence; + 5: ProductBannerLinkType bannerTargetType; + 6: string bannerTargetPath; + 7: list productList; + 8: string bannerLang; +} + +struct StickerIdRange { + 1: i64 start; + 2: i32 size; +} + +struct ProductSimple { + 1: string productId; + 2: i64 packageId; + 3: i32 version; + 4: bool onSale; + 5: i64 validUntil; + 10: list stickerIdRanges; + 41: bool grantedByDefault; + 42: i32 displayOrder; +} + +struct ProductSimpleList { + 1: bool hasNext; + 2: i32 reinvokeHour; + 3: i64 lastVersionSeq; + 4: list productList; + 5: i64 recentNewReleaseDate; + 6: i64 recentEventReleaseDate; +} + +struct Profile { + 1: string mid; + 3: string userid; + 10: string phone; + 11: string email; + 12: string regionCode; + 20: string displayName; + 21: string phoneticName; + 22: string pictureStatus; + 23: string thumbnailUrl; + 24: string statusMessage; + 31: bool allowSearchByUserid; + 32: bool allowSearchByEmail; + 33: string picturePath; + 34: string musicProfile; + 35: string videoProfile; +} + +struct ProximityMatchCandidateResult { + 1: list users; + 2: list buddies; +} + +struct RegisterWithSnsIdResult { + 1: string authToken; + 2: bool userCreated; +} + +struct RequestTokenResponse { + 1: string requestToken; + 2: string returnUrl; +} + +struct Room { + 1: string mid; + 2: i64 createdTime; + 10: list contacts; + 31: bool notificationDisabled; + 40: list memberMids; +} + +struct SuggestDictionary { + 1: string language; + 2: string name; +} + +struct SuggestItemDictionaryIncrement { + 1: SuggestDictionaryIncrementStatus status; + 2: i64 revision; + 3: string scheme; + 4: binary data; +} + +struct SuggestTagDictionaryIncrement { + 1: SuggestDictionaryIncrementStatus status; + 2: string language; + 3: i64 revision; + 4: string scheme; + 5: binary data; +} + +struct SuggestDictionaryIncrements { + 1: SuggestItemDictionaryIncrement itemIncrement; + 2: list tagIncrements; +} + +enum SuggestDictionaryIncrementStatus { + SUCCESS = 0; + INVALID_REVISION = 1; + TOO_LARGE_DATA = 2; + SCHEME_CHANGED = 3; + RETRY = 4; + FAIL = 5; + TOO_OLD_DATA = 6; +} + +struct SuggestItemDictionaryRevision { + 1: i64 revision; + 2: string scheme; +} + +struct SuggestTagDictionaryRevision { + 1: string language; + 2: i64 revision; + 3: string scheme; +} + +struct SuggestDictionaryRevisions { + 1: SuggestItemDictionaryRevision itemRevision; + 2: list tagRevisions; +} + +struct SuggestDictionarySettings { + 1: i64 revision; + 2: i64 newRevision; + 3: list dictionaries; + 4: list preloadedDictionaries; +} + +struct PhoneInfoForChannel { + 1: string mid; + 2: string normalizedPhoneNumber; + 3: bool allowedToSearchByPhoneNumber; + 4: bool allowedToReceiveMessageFromNonFriend; + 5: string region; +} + +struct PhoneVerificationResult { + 1: VerificationResult verificationResult; + 2: AccountMigrationCheckType accountMigrationCheckType; + 3: bool recommendAddFriends; +} + +struct PlaceSearchInfo { + 1: string name; + 2: string address; + 3: double latitude; + 4: double longitude; +} + +struct RSAKey { + 1: string keynm; + 2: string nvalue; + 3: string evalue; + 4: string sessionKey; +} + +struct SecurityCenterResult { + 1: string uri; + 2: string token; + 3: string cookiePath; + 4: bool skip; +} + +struct SendBuddyMessageResult { + 1: string requestId; + 2: BuddyResultState state; + 3: string messageId; + 4: i32 eventNo; + 11: i64 receiverCount; + 12: i64 successCount; + 13: i64 failCount; + 14: i64 cancelCount; + 15: i64 blockCount; + 16: i64 unregisterCount; + 21: i64 timestamp; + 22: string message; +} + +struct SetBuddyOnAirResult { + 1: string requestId; + 2: BuddyResultState state; + 3: i32 eventNo; + 11: i64 receiverCount; + 12: i64 successCount; + 13: i64 failCount; + 14: i64 cancelCount; + 15: i64 unregisterCount; + 21: i64 timestamp; + 22: string message; +} + +struct Settings { + 10: bool notificationEnable; + 11: i64 notificationMuteExpiration; + 12: bool notificationNewMessage; + 13: bool notificationGroupInvitation; + 14: bool notificationShowMessage; + 15: bool notificationIncomingCall; + 16: string notificationSoundMessage; + 17: string notificationSoundGroup; + 18: bool notificationDisabledWithSub; + 20: bool privacySyncContacts; + 21: bool privacySearchByPhoneNumber; + 22: bool privacySearchByUserid; + 23: bool privacySearchByEmail; + 24: bool privacyAllowSecondaryDeviceLogin; + 25: bool privacyProfileImagePostToMyhome; + 26: bool privacyReceiveMessagesFromNotFriend; + 30: string contactMyTicket; + 40: IdentityProvider identityProvider; + 41: string identityIdentifier; + 42: map snsAccounts; + 43: bool phoneRegistration; + 44: EmailConfirmationStatus emailConfirmationStatus; + 50: string preferenceLocale; + 60: map customModes; + 61: bool e2eeEnable; + 62: bool hitokotoBackupRequested; + 63: bool privacyProfileMusicPostToMyhome; + 65: bool privacyAllowNearby; + 66: i64 agreementNearbyTime; + 67: i64 agreementSquareTime; + 68: bool notificationMention; + 69: i64 botUseAgreementAcceptedAt; +} + +struct SimpleChannelClient { + 1: string applicationType; + 2: string applicationVersion; + 3: string locale; +} + +struct SimpleChannelContact { + 1: string mid; + 2: string displayName; + 3: string pictureStatus; + 4: string picturePath; + 5: string statusMessage; +} + +struct SnsFriend { + 1: string snsUserId; + 2: string snsUserName; + 3: SnsIdType snsIdType; +} + +struct SnsFriendContactRegistration { + 1: Contact contact; + 2: SnsIdType snsIdType; + 3: string snsUserId; +} + +struct SnsFriendModification { + 1: ModificationType type; + 2: SnsFriend snsFriend; +} + +struct SnsFriends { + 1: list snsFriends; + 2: bool hasMore; +} + +struct SnsIdUserStatus { + 1: bool userExisting; + 2: bool phoneNumberRegistered; + 3: bool sameDevice; +} + +struct SnsProfile { + 1: string snsUserId; + 2: string snsUserName; + 3: string email; + 4: string thumbnailUrl; +} + +struct SystemConfiguration { + 1: string endpoint; + 2: string endpointSsl; + 3: string updateUrl; + 11: string c2dmAccount; + 12: string nniServer; +} + +struct Ticket { + 1: string id; + 10: i64 expirationTime; + 21: i32 maxUseCount; +} + +struct TMessageBox { + 1: string id; + 2: string channelId; + 5: i64 lastSeq; + 6: i64 unreadCount; + 7: i64 lastModifiedTime; + 8: i32 status; + 9: MIDType midType; + 10: list lastMessages; +} + +struct TMessageBoxWrapUp { + 1: TMessageBox messageBox; + 2: string name; + 3: list contacts; + 4: string pictureRevision; +} + +struct TMessageBoxWrapUpResponse { + 1: list messageBoxWrapUpList; + 2: i32 totalSize; +} + +struct TMessageReadRangeEntry { + 1: i64 startMessageId; + 2: i64 endMessageId; + 3: i64 startTime; + 4: i64 endTime; +} + +struct TMessageReadRange { + 1: string chatId; + 2: map> ranges; +} + +struct ChatRoomAnnouncementContents { + 1: i32 displayFields; + 2: string text; + 3: string link; + 4: string thumbnail; +} + +struct ChatRoomAnnouncement { + 1: i64 announcementSeq; + 2: ChatRoomAnnouncementType type; + 3: ChatRoomAnnouncementContents contents; + 4: string creatorMid; + 5: i64 createdTime; +} + +struct ErrorExtraInfo { + 1: PreconditionFailedExtraInfo preconditionFailedExtraInfo; +} + +struct SyncRelations { + 1: bool syncAll; + 2: list syncParamContact; + 3: list syncParamMid; +} + +struct SyncScope { + 1: bool syncProfile; + 2: bool syncSettings; + 3: bool syncSticker; + 4: bool syncThemeShop; + 10: SyncRelations contact; + 11: SyncRelations group; + 12: SyncRelations room; + 13: SyncRelations chat; +} + +struct JoinSquareResponse { + 1: Square square; + 2: SquareAuthority squareAuthority; + 3: SquareStatus squareStatus; + 4: SquareMember squareMember; + 5: SquareFeatureSet squareFeatureSet; + 6: NoteStatus noteStatus; +} + +struct JoinSquareRequest { + 2: string squareMid; + 3: SquareMember member; +} + +struct JoinSquareChatResponse { + 1: SquareChat squareChat; + 2: SquareChatStatus squareChatStatus; + 3: SquareChatMember squareChatMember; +} + +struct JoinSquareChatRequest { + 1: string squareChatMid; +} + +struct SendMessageResponse { + 1: SquareMessage createdSquareMessage; +} + +struct SendMessageRequest { + 1: i32 reqSeq; + 2: string squareChatMid; + 3: SquareMessage squareMessage; +} + +struct MarkAsReadRequest { + 2: string squareChatMid; + 4: string messageId; +} + +struct MarkAsReadResponse { + +} + +struct SubscriptionState { + 1: i64 subscriptionId; + 2: i64 ttlMillis; +} + +struct ApproveSquareMembersResponse { + 1: list approvedMembers; + 2: SquareStatus status; +} + +struct ApproveSquareMembersRequest { + 2: string squareMid; + 3: list requestedMemberMids; +} + +struct CreateSquareChatResponse { + 1: SquareChat squareChat; + 2: SquareChatStatus squareChatStatus; + 3: SquareChatMember squareChatMember; +} + +struct CreateSquareChatRequest { + 1: i32 reqSeq; + 2: SquareChat squareChat; + 3: list squareMemberMids; +} + +struct CreateSquareResponse { + 1: Square square; + 2: SquareMember creator; + 3: SquareAuthority authority; + 4: SquareStatus status; +} + +struct CreateSquareRequest { + 1: i32 reqSeq; + 2: Square square; + 3: SquareMember creator; +} + +struct DeleteSquareResponse {} + +struct DeleteSquareRequest { + 2: string mid; + 3: i64 revision; +} + +struct DestroyMessageResponse {} + +struct DestroyMessageRequest { + 2: string squareChatMid; + 4: string messageId; +} + +struct GetSquareChatMembersRequest { + 1: string squareChatMid; + 2: string continuationToken; + 3: i32 limit; +} + +struct GetSquareChatMembersResponse { + 1: SquareMember squareChatMembers; + 2: string continuationToken; +} + +struct GetSquareChatStatusRequest { + 2: string squareChatMid; +} + +struct GetSquareChatStatusResponse { + 1: SquareChatStatus chatStatus; +} + +struct GetSquareChatRequest { + 1: string squareChatMid; +} + +struct GetSquareChatResponse { + 1: SquareChat squareChat; + 2: SquareChatMember squareChatMember; + 3: SquareChatStatus squareChatStatus; +} + +struct GetSquareAuthorityRequest { + 1: string squareMid; +} + +struct GetSquareAuthorityResponse { + 1: SquareAuthority authority; +} + +struct GetJoinedSquaresRequest { + 2: string continuationToken; + 3: i32 limit; +} + +struct GetJoinedSquaresResponse { + 1: list squares; + 2: map members; + 3: map authorities; + 4: map statuses; + 5: string continuationToken; + 6: map noteStatuses; +} + +struct GetJoinableSquareChatsRequest { + 1: string squareMid; + 10: string continuationToken; + 11: i32 limit; +} + +struct GetJoinableSquareChatsResponse { + 1: list squareChats; + 2: string continuationToken; + 3: i32 totalSquareChatCount; + 4: map squareChatStatuses; +} + +struct GetInvitationTicketUrlRequest { + 2: string mid; +} + +struct GetInvitationTicketUrlResponse { + 1: string invitationURL; +} + +struct LeaveSquareRequest { + 2: string squareMid; +} + +struct LeaveSquareResponse { + +} + +struct LeaveSquareChatRequest { + 2: string squareChatMid; + 3: bool sayGoodbye; + 4: i64 squareChatMemberRevision; +} + +struct LeaveSquareChatResponse { + +} + +struct SquareMemberSearchOption { + 1: SquareMembershipState membershipState; + 2: set memberRoles; + 3: string displayName; + 4: BooleanState ableToReceiveMessage; + 5: BooleanState ableToReceiveFriendRequest; + 6: string chatMidToExcludeMembers; + 7: bool includingMe; +} + +struct SearchSquareMembersRequest { + 2: string squareMid; + 3: SquareMemberSearchOption searchOption; + 4: string continuationToken; + 5: i32 limit; +} + +struct SearchSquareMembersResponse { + 1: list members; + 2: i64 revision; + 3: string continuationToken; + 4: i32 totalCount; +} + +struct FindSquareByInvitationTicketRequest { + 2: string invitationTicket; +} + +struct FindSquareByInvitationTicketResponse { + 1: Square square; + 2: SquareMember myMembership + 3: SquareAuthority squareAuthority + 4: SquareStatus squareStatus; +} + +struct SquareEventReceiveMessage { + 1: string squareChatMid; + 2: SquareMessage squareMessage; +} + +struct SquareEventSendMessage { + 1: string squareChatMid; + 2: SquareMessage squareMessage; + 3: i32 reqSeq; +} + +struct SquareEventNotifiedJoinSquareChat { + 1: string squareChatMid; + 2: SquareMember joinedMember; +} + +struct SquareEventNotifiedInviteIntoSquareChat { + 1: string squareChatMid; + 2: list invitees; + 3: SquareMember invitor; + 4: SquareMemberRelation invitorRelation; +} + +struct SquareEventNotifiedLeaveSquareChat { + 1: string squareChatMid; + 2: string squareMemberMid; + 3: bool sayGoodbye; + 4: SquareMember squareMember; +} + +struct SquareEventNotifiedDestroyMessage { + 1: string squareChatMid; + 3: string messageId; +} + +struct SquareEventNotifiedMarkAsRead { + 1: string squareChatMid; + 2: string sMemberMid; + 4: string messageId; +} + +struct SquareEventNotifiedUpdateSquareMemberProfile { + 1: string squareChatMid; + 2: SquareMember squareMember; +} + +struct SquareEventNotifiedKickoutFromSquare { + 1: string squareChatMid; + 2: list kickees; +} + +struct SquareEventNotifiedShutdownSquare { + 1: string squareChatMid; + 2: Square square; +} + +struct SquareEventNotifiedDeleteSquareChat { + 1: SquareChat squareChat; +} + +struct SquareEventNotifiedUpdateSquareChatProfileName { + 1: string squareChatMid; + 2: SquareMember editor; + 3: string updatedChatName; +} + +struct SquareEventNotifiedUpdateSquareChatProfileImage { + 1: string squareChatMid; + 2: SquareMember editor; +} + +struct SquareEventNotifiedUpdateSquareChatStatus { + 1: string squareChatMid; + 2: SquareChatStatusWithoutMessage statusWithoutMessage; +} + +struct SquareEventNotifiedUpdateSquareStatus { + 1: string squareMid; + 2: SquareStatus squareStatus; +} + +struct SquareEventNotifiedCreateSquareMember { + 1: Square square; + 2: SquareAuthority squareAuthority; + 3: SquareStatus squareStatus; + 4: SquareMember squareMember; + 5: SquareFeatureSet squareFeatureSet; +} + +struct SquareEventNotifiedCreateSquareChatMember { + 1: string squareChatMid; + 2: string squareMemberMid; + 3: SquareChatMember squareChatMember; +} + +struct SquareEventNotifiedUpdateSquareMemberRelation { + 1: string squareMid; + 2: string myMemberMid; + 3: string targetSquareMemberMid; + 4: SquareMemberRelation squareMemberRelation; +} + +struct SquareEventNotifiedUpdateSquare { + 1: string squareMid; + 2: Square square; +} + +struct SquareEventNotifiedUpdateSquareMember { + 1: string squareMid; + 2: string squareMemberMid; + 3: SquareMember squareMember; +} + +struct SquareEventNotifiedUpdateSquareChat { + 1: string squareMid; + 2: string squareChatMid; + 3: SquareChat squareChat; +} + +struct SquareEventNotificationJoinRequest { + 1: string squareMid; + 2: string squareName; + 3: string requestMemberName; + 4: string profileImageObsHash; +} + +struct SquareEventNotificationMemberUpdate { + 1: string squareMid; + 2: string squareName; + 3: string profileImageObsHash; +} + +struct SquareEventNotificationSquareDelete { + 1: string squareMid; + 2: string squareName; + 3: string profileImageObsHash; +} + +struct SquareEventNotificationSquareChatDelete { + 1: string squareChatMid; + 2: string squareChatName; + 3: string profileImageObsHash; +} + +struct SquareEventNotificationMessage { + 1: string squareChatMid; + 2: SquareMessage squareMessage + 3: string senderDisplayName; + 4: i32 unreadCount; + 5: bool requiredToFetchChatEvents; +} + +struct SquareEventNotifiedUpdateSquareChatMember { + 1: string squareChatMid; + 2: string squareMemberMid; + 3: SquareChatMember squareChatMember; +} + +struct SquareEventNotifiedUpdateSquareAuthority { + 1: string squareMid; + 2: SquareAuthority squareAuthority; +} + +struct SquareEventNotifiedUpdateSquareFeatureSet { + 1: SquareFeatureSet squareFeatureSet; +} + +struct SquareEventPayload { + 1: SquareEventReceiveMessage receiveMessage; + 2: SquareEventSendMessage sendMessage; + 3: SquareEventNotifiedJoinSquareChat notifiedJoinSquareChat; + 4: SquareEventNotifiedInviteIntoSquareChat notifiedInviteIntoSquareChat; + 5: SquareEventNotifiedLeaveSquareChat notifiedLeaveSquareChat; + 6: SquareEventNotifiedDestroyMessage notifiedDestroyMessage; + 7: SquareEventNotifiedMarkAsRead notifiedMarkAsRead; + 8: SquareEventNotifiedUpdateSquareMemberProfile notifiedUpdateSquareMemberProfile; + 20: SquareEventNotifiedKickoutFromSquare notifiedKickoutFromSquare; + 19: SquareEventNotifiedShutdownSquare notifiedShutdownSquare; + 21: SquareEventNotifiedDeleteSquareChat notifiedDeleteSquareChat; + 31: SquareEventNotifiedUpdateSquareChatProfileName notifiedUpdateSquareChatProfileName; + 32: SquareEventNotifiedUpdateSquareChatProfileImage notifiedUpdateSquareChatProfileImage; + 14: SquareEventNotifiedUpdateSquareStatus notifiedUpdateSquareStatus; + 15: SquareEventNotifiedUpdateSquareChatStatus notifiedUpdateSquareChatStatus; + 16: SquareEventNotifiedCreateSquareMember notifiedCreateSquareMember; + 17: SquareEventNotifiedCreateSquareChatMember notifiedCreateSquareChatMember; + 18: SquareEventNotifiedUpdateSquareMemberRelation notifiedUpdateSquareMemberRelation; + 9: SquareEventNotifiedUpdateSquare notifiedUpdateSquare; + 10: SquareEventNotifiedUpdateSquareMember notifiedUpdateSquareMember; + 11: SquareEventNotifiedUpdateSquareChat notifiedUpdateSquareChat; + 22: SquareEventNotificationJoinRequest notificationJoinRequest; + 23: SquareEventNotificationMemberUpdate notificationJoined; + 24: SquareEventNotificationMemberUpdate notificationPromoteCoadmin; + 25: SquareEventNotificationMemberUpdate notificationPromoteAdmin; + 26: SquareEventNotificationMemberUpdate notificationDemoteMember; + 27: SquareEventNotificationMemberUpdate notificationKickedOut; + 28: SquareEventNotificationSquareDelete notificationSquareDelete; + 29: SquareEventNotificationSquareChatDelete notificationSquareChatDelete; + 30: SquareEventNotificationMessage notificationMessage; + 12: SquareEventNotifiedUpdateSquareChatMember notifiedUpdateSquareChatMember; + 13: SquareEventNotifiedUpdateSquareAuthority notifiedUpdateSquareAuthority; + 33: SquareEventNotifiedUpdateSquareFeatureSet notifiedUpdateSquareFeatureSet; +} + +struct SquareEvent { + 2: i64 createdTime; + 3: SquareEventType type; + 4: SquareEventPayload payload; + 5: string syncToken; + 6: SquareEventStatus eventStatus; +} + +struct FetchMyEventsRequest { + 1: i64 subscriptionId; + 2: string syncToken; + 3: i32 limit; + 4: string continuationToken; +} + +struct FetchMyEventsResponse { + 1: SubscriptionState subscription; + 2: list events; + 3: string syncToken; + 4: string continuationToken; +} + +struct FetchSquareChatEventsRequest { + 1: i64 subscriptionId; + 2: string squareChatMid; + 3: string syncToken; + 4: i32 limit; + 5: FetchDirection direction; +} + +struct FetchSquareChatEventsResponse { + 1: SubscriptionState subscription; + 2: list events; + 3: string syncToken; + 4: string continuationToken; +} + +struct InviteToSquareRequest { + 2: string squareMid; + 3: list invitees; + 4: string squareChatMid; +} + +struct InviteToSquareResponse { + +} + +struct InviteToSquareChatRequest { + 1: list inviteeMids; + 2: string squareChatMid; +} + +struct InviteToSquareChatResponse { + 1: list inviteeMids; +} + +struct GetSquareMemberRequest { + 1: string squareMemberMid; +} + +struct GetSquareMemberResponse { + 1: SquareMember squareMember; + 2: SquareMemberRelation relation; + 3: string oneOnOneChatMid; +} + +struct GetSquareMembersRequest { + 2: set mids; +} + +struct GetSquareMembersResponse { + 1: SquareMember members; +} + +struct GetSquareMemberRelationsRequest { + 2: SquareMemberRelationState state; + 3: string continuationToken; + 4: i32 limit; +} + +struct GetSquareMemberRelationsResponse { + 1: list squareMembers; + 2: map relations; + 3: string continuationToken; +} + +struct GetSquareMemberRelationRequest { + 2: string squareMid; + 3: string targetSquareMemberMid; +} + +struct GetSquareMemberRelationResponse { + 1: string squareMid; + 2: string targetSquareMemberMid; + 3: SquareMemberRelation relation; +} + +struct Category { + 1: i32 id; + 2: string name; +} + +struct GetSquareCategoriesRequest { + +} + +struct GetSquareCategoriesResponse { + 1: list categoryList; +} + +struct UpdateSquareRequest { + 2: set updatedAttrs; + 3: Square square; +} + +struct UpdateSquareResponse { + 1: set updatedAttrs; + 2: Square square; +} + +struct SearchSquaresRequest { + 2: string query; + 3: string continuationToken; + 4: i32 limit; +} + +struct SearchSquaresResponse { + 1: list squares; + 2: map squareStatuses; + 3: map myMemberships; + 4: string continuationToken; + 5: map noteStatuses; +} + +struct GetSquareFeatureSetRequest { + 2: string squareMid; +} + +struct GetSquareFeatureSetResponse { + 1: SquareFeatureSet squareFeatureSet; +} + +struct UpdateSquareFeatureSetRequest { + 2: set updateAttributes; + 3: SquareFeatureSet squareFeatureSet; +} + +struct UpdateSquareFeatureSetResponse { + 1: set updateAttributes; + 2: SquareFeatureSet squareFeatureSet; +} + +struct UpdateSquareMemberRequest { + 2: set updatedAttrs; + 3: set updatedPreferenceAttrs; + 4: SquareMember squareMember; +} + +struct UpdateSquareMemberResponse { + 1: set updatedAttrs; + 2: SquareMember squareMember; + 3: set updatedPreferenceAttrs; +} + +struct UpdateSquareMembersRequest { + 2: set updatedAttrs; + 3: list members; +} + +struct UpdateSquareMembersResponse { + 1: set updatedAttrs; + 2: SquareMember editor; + 3: map members; +} + +struct RejectSquareMembersRequest { + 2: string squareMid; + 3: list requestedMemberMids; +} + +struct RejectSquareMembersResponse { + 1: list rejectedMembers; + 2: SquareStatus status; +} + +struct RemoveSubscriptionsRequest { + 2: list unsubscriptions; +} + +struct RemoveSubscriptionsResponse { + +} + +struct RefreshSubscriptionsRequest { + 2: list subscriptions; +} + +struct RefreshSubscriptionsResponse { + 1: i64 ttlMillis; + 2: map subscriptionStates; +} + +struct UpdateSquareChatRequest { + 2: set updatedAttrs; + 3: SquareChat squareChat; +} + +struct UpdateSquareChatResponse { + 1: set updatedAttrs; + 2: SquareChat squareChat; +} + +struct DeleteSquareChatRequest { + 2: string squareChatMid; + 3: i64 revision; +} + +struct DeleteSquareChatResponse { + +} + +struct UpdateSquareChatMemberRequest { + 2: set updatedAttrs; + 3: SquareChatMember chatMember; +} + +struct UpdateSquareChatMemberResponse { + 1: SquareChatMember updatedChatMember; +} + +struct UpdateSquareAuthorityRequest { + 2: set updateAttributes; + 3: SquareAuthority authority; +} + +struct UpdateSquareAuthorityResponse { + 1: set updatdAttributes; + 2: SquareAuthority authority; +} + +struct UpdateSquareMemberRelationRequest { + 2: string squareMid; + 3: string targetSquareMemberMid; + 4: set updatedAttrs; + 5: SquareMemberRelation relation; +} + +struct UpdateSquareMemberRelationResponse { + 1: string squareMid; + 2: string targetSquareMemberMid; + 3: set updatedAttrs; + 4: SquareMemberRelation relation; +} + +struct ReportSquareRequest { + 2: string squareMid; + 3: ReportType reportType; + 4: string otherReason; +} + +struct ReportSquareResponse { + +} + +struct ReportSquareChatRequest { + 2: string squareMid; + 3: string squareChatMid; + 5: ReportType reportType; + 6: string otherReason; +} + +struct ReportSquareChatResponse { + +} + +struct ReportSquareMessageRequest { + 2: string squareMid; + 3: string squareChatMid; + 4: string squareMessageId; + 5: ReportType reportType; + 6: string otherReason; +} + +struct ReportSquareMessageResponse { + +} + +struct ReportSquareMemberRequest { + 2: string squareMemberMid; + 3: ReportType reportType; + 4: string otherReason; + 5: string squareChatMid; +} + +struct ReportSquareMemberResponse { + +} + +struct GetSquareRequest { + 2: string mid; +} + +struct GetSquareResponse { + 1: Square square; + 2: SquareMember myMembership; + 3: SquareAuthority squareAuthority; + 4: SquareStatus squareStatus; + 5: SquareFeatureSet squareFeatureSet; + 6: NoteStatus noteStatus; +} + +struct GetSquareStatusRequest { + 2: string squareMid; +} + +struct GetSquareStatusResponse { + 1: SquareStatus squareStatus; +} + +struct GetNoteStatusRequest { + 2: string squareMid; +} + +struct GetNoteStatusResponse { + 1: string squareMid; + 2: NoteStatus status; +} + +struct CreateSquareChatAnnouncementRequest { + 1: i32 reqSeq; + 2: string squareChatMid; + 3: SquareChatAnnouncement squareChatAnnouncement; +} + +struct CreateSquareChatAnnouncementResponse { + 1: SquareChatAnnouncement announcement; +} + +struct DeleteSquareChatAnnouncementRequest { + 2: string squareChatMid; + 3: i64 announcementSeq; +} + +struct DeleteSquareChatAnnouncementResponse { + +} + +struct GetSquareChatAnnouncementsRequest { + 2: string squareChatMid; +} + +struct GetSquareChatAnnouncementsResponse { + 1: list announcements; +} + +struct GetJoinedSquareChatsRequest { + 2: string continuationToken; + 3: i32 limit; +} + +struct GetJoinedSquareChatsResponse { + 1: list chats; + 2: map chatMembers; + 3: map statuses; + 4: string continuationToken; +} + +exception TalkException { + 1: ErrorCode code; + 2: string reason; + 3: map parameterMap; +} + +exception ShouldSyncException { + 1: i64 syncOpRevision; + 2: SyncScope syncScope; + 3: SyncTriggerReason syncReason; + 4: string message; +} + +exception PointException { + 1: PointErrorCode code; + 2: string reason; + 3: map extra; +} + +exception ChannelException { + 1: ChannelErrorCode code; + 2: string reason; + 3: map parameterMap; +} + +exception SquareException { + 1: SQErrorCode errorCode; + 2: ErrorExtraInfo errorExtraInfo; + 3: string reason; +} + +exception UniversalNotificationServiceException { + 1: UniversalNotificationServiceErrorCode code; + 2: string reason; + 3: map parameterMap; +} + +struct UpdateBuddyProfileResult { + 1: string requestId; + 2: BuddyResultState state; + 3: i32 eventNo; + 11: i64 receiverCount; + 12: i64 successCount; + 13: i64 failCount; + 14: i64 cancelCount; + 15: i64 unregisterCount; + 21: i64 timestamp; + 22: string message; +} + +struct UserAuthStatus { + 1: bool phoneNumberRegistered; + 2: list registeredSnsIdTypes; +} + +struct WapInvitation { + 1: WapInvitationType type; + 10: string inviteeEmail; + 11: string inviterMid; + 12: string roomMid; +} + +struct GroupCall { + 1: bool online; + 2: string chatMid; + 3: string hostMids; + 4: list memberMids; + 5: i64 started; + 6: GroupCallMediaType mediaType; +} + +struct GroupCallRoute { + 1: string token; + 2: CallHost cscf; + 3: CallHost mix; +} + +service AccountSupervisorService { + RSAKey getRSAKey() throws(1: TalkException e); + + void notifyEmailConfirmationResult( + 2: map parameterMap) throws(1: TalkException e); + + string registerVirtualAccount( + 2: string locale, + 3: string encryptedVirtualUserId, + 4: string encryptedPassword) throws(1: TalkException e); + + void requestVirtualAccountPasswordChange( + 2: string virtualMid, + 3: string encryptedVirtualUserId, + 4: string encryptedOldPassword, + 5: string encryptedNewPassword) throws(1: TalkException e); + + void requestVirtualAccountPasswordSet( + 2: string virtualMid, + 3: string encryptedVirtualUserId, + 4: string encryptedNewPassword) throws(1: TalkException e); + + void unregisterVirtualAccount( + 2: string virtualMid) throws(1: TalkException e); +} + +service SpotService { + + SpotPhoneNumberResponse lookupByPhoneNumber( + 2: string countryAreaCode, + 3: string phoneNumber) throws (1: TalkException e); + + SpotNearbyResponse lookupNearby( + 2: Location location, + 3: SpotCategory category, + 4: string query, + 5: string countryAreaCode) throws (1: TalkException e); + +} + +service BotService { + void notifyLeaveGroup( + 1: string groupMid) throws (1: TalkException e); + + void notifyLeaveRoom( + 1: string roomMid) throws (1: TalkException e); + + BotUseInfo getBotUseInfo( + 2: string botMid, + ) throws (1: TalkException e) + + void sendChatCheckedByWatermark( + 1: i32 seq, + 2: string mid, + 3: i64 watermark, + 4: i8 sessionId, + ) throws (1: TalkException e); + +} + +service AgeCheckService { + + UserAgeType checkUserAge( + 2: CarrierCode carrier, + 3: string sessionId, + 4: string verifier, + 5: i32 standardAge) throws(1: TalkException e); + + AgeCheckDocomoResult checkUserAgeWithDocomo( + 2: string openIdRedirectUrl, + 3: i32 standardAge, + 4: string verifier) throws(1: TalkException e); + + string retrieveOpenIdAuthUrlWithDocomo() throws(1: TalkException e); + + AgeCheckRequestResult retrieveRequestToken( + 2: CarrierCode carrier) throws(1: TalkException e); + +} + +service BuddyManagementService { + + void addBuddyMember( + 1: string requestId, + 2: string userMid) throws(1: TalkException e); + + void addBuddyMembers( + 1: string requestId, + 2: list userMids) throws(1: TalkException e); + + void blockBuddyMember( + 1: string requestId, + 2: string mid) throws(1: TalkException e); + + list commitSendMessagesToAll( + 1: list requestIdList) throws(1: TalkException e); + + list commitSendMessagesToMids( + 1: list requestIdList, + 2: list mids) throws(1: TalkException e); + + bool containsBuddyMember( + 1: string requestId, + 2: string userMid) throws(1: TalkException e); + + binary downloadMessageContent( + 1: string requestId, + 2: string messageId) throws(1: TalkException e); + + binary downloadMessageContentPreview( + 1: string requestId, + 2: string messageId) throws(1: TalkException e); + + binary downloadProfileImage( + 1: string requestId) throws(1: TalkException e); + + binary downloadProfileImagePreview( + 1: string requestId) throws(1: TalkException e); + + i64 getActiveMemberCountByBuddyMid( + 2: string buddyMid) throws(1: TalkException e); + + list getActiveMemberMidsByBuddyMid( + 2: string buddyMid) throws(1: TalkException e); + + list getAllBuddyMembers() throws(1: TalkException e); + + list getBlockedBuddyMembers() throws(1: TalkException e); + + i64 getBlockerCountByBuddyMid( + 2: string buddyMid) throws(1: TalkException e); + + BuddyDetail getBuddyDetailByMid( + 2: string buddyMid) throws(1: TalkException e); + + BuddyProfile getBuddyProfile() throws(1: TalkException e); + + Ticket getContactTicket() throws(1: TalkException e); + + i64 getMemberCountByBuddyMid( + 2: string buddyMid) throws(1: TalkException e); + + SendBuddyMessageResult getSendBuddyMessageResult( + 1: string sendBuddyMessageRequestId) throws(1: TalkException e); + + SetBuddyOnAirResult getSetBuddyOnAirResult( + 1: string setBuddyOnAirRequestId) throws(1: TalkException e); + + UpdateBuddyProfileResult getUpdateBuddyProfileResult( + 1: string updateBuddyProfileRequestId) throws(1: TalkException e); + + bool isBuddyOnAirByMid( + 2: string buddyMid) throws(1: TalkException e); + + string linkAndSendBuddyContentMessageToAllAsync( + 1: string requestId, + 2: Message msg, + 3: string sourceContentId) throws(1: TalkException e); + + SendBuddyMessageResult linkAndSendBuddyContentMessageToMids( + 1: string requestId, + 2: Message msg, + 3: string sourceContentId, + 4: list mids) throws(1: TalkException e); + + void notifyBuddyBlocked( + 1: string buddyMid, + 2: string blockerMid) throws(1: TalkException e); + + void notifyBuddyUnblocked( + 1: string buddyMid, + 2: string blockerMid) throws(1: TalkException e); + + string registerBuddy( + 2: string buddyId, + 3: string searchId, + 4: string displayName, + 5: string statusMeessage, + 6: binary picture, + 7: map settings) throws(1: TalkException e); + + string registerBuddyAdmin( + 2: string buddyId, + 3: string searchId, + 4: string displayName, + 5: string statusMessage, + 6: binary picture) throws(1: TalkException e); + + string reissueContactTicket( + 3: i64 expirationTime, + 4: i32 maxUseCount) throws(1: TalkException e); + + void removeBuddyMember( + 1: string requestId, + 2: string userMid) throws(1: TalkException e); + + void removeBuddyMembers( + 1: string requestId, + 2: list userMids) throws(1: TalkException e); + + SendBuddyMessageResult sendBuddyContentMessageToAll( + 1: string requestId, + 2: Message msg, + 3: binary content) throws(1: TalkException e); + + string sendBuddyContentMessageToAllAsync( + 1: string requestId, + 2: Message msg, + 3: binary content) throws(1: TalkException e); + + SendBuddyMessageResult sendBuddyContentMessageToMids( + 1: string requestId, + 2: Message msg, + 3: binary content, + 4: list mids) throws(1: TalkException e); + + string sendBuddyContentMessageToMidsAsync( + 1: string requestId, + 2: Message msg, + 3: binary content, + 4: list mids) throws(1: TalkException e); + + SendBuddyMessageResult sendBuddyMessageToAll( + 1: string requestId, + 2: Message msg) throws(1: TalkException e); + + string sendBuddyMessageToAllAsync( + 1: string requestId, + 2: Message msg) throws(1: TalkException e); + + SendBuddyMessageResult sendBuddyMessageToMids( + 1: string requestId, + 2: Message msg, + 3: list mids) throws(1: TalkException e); + + string sendBuddyMessageToMidsAsync( + 1: string requestId, + 2: Message msg, + 3: list mids) throws(1: TalkException e); + + void sendIndividualEventToAllAsync( + 1: string requestId, + 2: string buddyMid, + 3: NotificationStatus notificationStatus) throws(1: TalkException e); + + SetBuddyOnAirResult setBuddyOnAir( + 1: string requestId, + 2: bool onAir) throws(1: TalkException e); + + string setBuddyOnAirAsync( + 1: string requestId, + 2: bool onAir) throws(1: TalkException e); + + SendBuddyMessageResult storeMessage( + 1: string requestId, + 2: BuddyMessageRequest messageRequest) throws(1: TalkException e); + + void unblockBuddyMember( + 1: string requestId, + 2: string mid) throws(1: TalkException e); + + void unregisterBuddy( + 1: string requestId) throws(1: TalkException e); + + void unregisterBuddyAdmin( + 1: string requestId) throws(1: TalkException e); + + void updateBuddyAdminProfileAttribute( + 1: string requestId, + 2: map attributes) throws(1: TalkException e); + + void updateBuddyAdminProfileImage( + 1: string requestId, + 2: binary picture) throws(1: TalkException e); + + UpdateBuddyProfileResult updateBuddyProfileAttributes( + 1: string requestId, + 2: map attributes) throws(1: TalkException e); + + string updateBuddyProfileAttributesAsync( + 1: string requestId, + 2: map attributes) throws(1: TalkException e); + + UpdateBuddyProfileResult updateBuddyProfileImage( + 1: string requestId, + 2: binary image) throws(1: TalkException e); + + string updateBuddyProfileImageAsync( + 1: string requestId, + 2: binary image) throws(1: TalkException e); + + void updateBuddySearchId( + 1: string requestId, + 2: string searchId) throws(1: TalkException e); + + void updateBuddySettings( + 2: map settings) throws(1: TalkException e); + + string uploadBuddyContent( + 2: ContentType contentType, + 3: binary content) throws(1: TalkException e); + +} + +service BuddyService { + + list findBuddyContactsByQuery( + 2: string language, + 3: string country, + 4: string query, + 5: i32 fromIndex, + 6: i32 count, + 7: BuddySearchRequestSource requestSource) throws(1: TalkException e); + + list getBuddyContacts( + 2: string language, + 3: string country, + 4: string classification, + 5: i32 fromIndex, + 6: i32 count) throws(1: TalkException e); + + BuddyDetail getBuddyDetail( + 4: string buddyMid) throws(1: TalkException e); + + BuddyOnAir getBuddyOnAir( + 4: string buddyMid) throws(1: TalkException e); + + list getCountriesHavingBuddy() throws(1: TalkException e); + + map getNewlyReleasedBuddyIds( + 3: string country) throws(1: TalkException e); + + BuddyBanner getPopularBuddyBanner( + 2: string language, + 3: string country, + 4: ApplicationType applicationType, + 5: string resourceSpecification) throws(1: TalkException e); + + list getPopularBuddyLists( + 2: string language, + 3: string country) throws(1: TalkException e); + + list getPromotedBuddyContacts( + 2: string language, + 3: string country) throws(1: TalkException e); + +} + +service ChannelApplicationProvidedService { + + i64 activeBuddySubscriberCount() throws(1: TalkException e); + + void addOperationForChannel( + 1: OpType opType, + 2: string param1, + 3: string param2, + 4: string param3) throws(1: TalkException e); + + i64 displayBuddySubscriberCount() throws(1: TalkException e); + + Contact findContactByUseridWithoutAbuseBlockForChannel( + 2: string userid) throws(1: TalkException e); + + list getAllContactIdsForChannel() throws(1: TalkException e); + + list getCompactContacts( + 2: i64 lastModifiedTimestamp) throws(1: TalkException e); + + list getContactsForChannel( + 2: list ids) throws(1: TalkException e); + + string getDisplayName( + 2: string mid) throws(1: TalkException e); + + list getFavoriteMidsForChannel() throws(1: TalkException e); + + list getFriendMids() throws(1: TalkException e); + + list getGroupMemberMids( + 1: string groupId) throws(1: TalkException e); + + list getGroupsForChannel( + 1: list groupIds) throws(1: TalkException e); + + IdentityCredential getIdentityCredential() throws(1: TalkException e); + + list getJoinedGroupIdsForChannel() throws(1: TalkException e); + + MetaProfile getMetaProfile() throws(1: TalkException e); + + string getMid() throws(1: TalkException e); + + SimpleChannelClient getPrimaryClientForChannel() throws(1: TalkException e); + + Profile getProfileForChannel() throws(1: TalkException e); + + list getSimpleChannelContacts( + 1: list ids) throws(1: TalkException e); + + string getUserCountryForBilling( + 2: string country, + 3: string remoteIp) throws(1: TalkException e); + + i64 getUserCreateTime() throws(1: TalkException e); + + map getUserIdentities() throws(1: TalkException e); + + string getUserLanguage() throws(1: TalkException e); + + list getUserMidsWhoAddedMe() throws(1: TalkException e); + + bool isGroupMember( + 1: string groupId) throws(1: TalkException e); + + bool isInContact( + 2: string mid) throws(1: TalkException e); + + string registerChannelCP( + 2: string cpId, + 3: string registerPassword) throws(1: TalkException e); + + void removeNotificationStatus( + 2: NotificationStatus notificationStatus) throws(1: TalkException e); + + Message sendMessageForChannel( + 2: Message message) throws(1: TalkException e); + + void sendPinCodeOperation( + 1: string verifier) throws(1: TalkException e); + + void updateProfileAttributeForChannel( + 2: ProfileAttribute profileAttribute, + 3: string value) throws(1: TalkException e); + +} + +service ChannelService { + + OTPResult issueOTP( + 2: string channelId) throws (1: ChannelException e); + + ChannelToken approveChannelAndIssueChannelToken( + 1: string channelId) throws(1: ChannelException e); + + string approveChannelAndIssueRequestToken( + 1: string channelId, + 2: string otpId) throws(1: ChannelException e); + + NotificationFetchResult fetchNotificationItems( + 2: i64 localRev) throws(1: ChannelException e); + + ApprovedChannelInfos getApprovedChannels( + 2: i64 lastSynced, + 3: string locale) throws(1: ChannelException e); + + ChannelInfo getChannelInfo( + 2: string channelId, + 3: string locale) throws(1: ChannelException e); + + ChannelNotificationSetting getChannelNotificationSetting( + 1: string channelId, + 2: string locale) throws(1: ChannelException e); + + list getChannelNotificationSettings( + 1: string locale) throws(1: ChannelException e); + + ChannelInfos getChannels( + 2: i64 lastSynced, + 3: string locale) throws(1: ChannelException e); + + ChannelDomains getDomains( + 2: i64 lastSynced) throws(1: ChannelException e); + + FriendChannelMatricesResponse getFriendChannelMatrices( + 1: list channelIds) throws(1: ChannelException e); + + bool updateChannelSettings( + 1: ChannelSettings channelSettings) throws (1: ChannelException e) + + ChannelDomains getCommonDomains( + 1: i64 lastSynced) throws (1: ChannelException e); + + i32 getNotificationBadgeCount( + 2: i64 localRev) throws(1: ChannelException e); + + ChannelToken issueChannelToken( + 1: string channelId) throws(1: ChannelException e); + + string issueRequestToken( + 1: string channelId, + 2: string otpId) throws(1: ChannelException e); + + RequestTokenResponse issueRequestTokenWithAuthScheme( + 1: string channelId, + 2: string otpId, + 3: list authScheme, + 4: string returnUrl) throws(1: ChannelException e); + + string issueRequestTokenForAutoLogin( + 2: string channelId, + 3: string otpId, + 4: string redirectUrl) throws (1: ChannelException e); + + list getUpdatedChannelIds( + 1: list channelIds) throws (1: ChannelException e); + + string reserveCoinUse( + 2: CoinUseReservation request, + 3: string locale) throws(1: ChannelException e); + + void revokeChannel( + 1: string channelId) throws(1: ChannelException e); + + ChannelSyncDatas syncChannelData( + 2: i64 lastSynced, + 3: string locale) throws(1: ChannelException e); + + void updateChannelNotificationSetting( + 1: list setting) throws(1: ChannelException e); + +} + +service MessageService { + + MessageOperations fetchMessageOperations( + 2: i64 localRevision, + 3: i64 lastOpTimestamp, + 4: i32 count) throws(1: TalkException e); + + LastReadMessageIds getLastReadMessageIds( + 2: string chatId) throws(1: TalkException e); + + list multiGetLastReadMessageIds( + 2: list chatIds) throws(1: TalkException e); + +} + +service ShopService { + + void buyCoinProduct( + 2: PaymentReservation paymentReservation) throws(1: TalkException e); + + void buyFreeProduct( + 2: string receiverMid, + 3: string productId, + 4: i32 messageTemplate, + 5: string language, + 6: string country, + 7: i64 packageId) throws(1: TalkException e); + + void buyMustbuyProduct( + 2: string receiverMid, + 3: string productId, + 4: i32 messageTemplate, + 5: string language, + 6: string country, + 7: i64 packageId, + 8: string serialNumber) throws(1: TalkException e); + + void checkCanReceivePresent( + 2: string recipientMid, + 3: i64 packageId, + 4: string language, + 5: string country) throws(1: TalkException e); + + ProductList getActivePurchases( + 2: i64 start, + 3: i32 size, + 4: string language, + 5: string country) throws(1: TalkException e); + + ProductSimpleList getActivePurchaseVersions( + 2: i64 start, + 3: i32 size, + 4: string language, + 5: string country) throws(1: TalkException e); + + list getCoinProducts( + 2: PaymentType appStoreCode, + 3: string country, + 4: string language) throws(1: TalkException e); + + list getCoinProductsByPgCode( + 2: PaymentType appStoreCode, + 3: PaymentPgType pgCode, + 4: string country, + 5: string language) throws(1: TalkException e); + + CoinHistoryResult getCoinPurchaseHistory( + 2: CoinHistoryCondition request) throws(1: TalkException e); + + CoinHistoryResult getCoinUseAndRefundHistory( + 2: CoinHistoryCondition request) throws(1: TalkException e); + + ProductList getDownloads( + 2: i64 start, + 3: i32 size, + 4: string language, + 5: string country) throws(1: TalkException e); + + ProductList getEventPackages( + 2: i64 start, + 3: i32 size, + 4: string language, + 5: string country) throws(1: TalkException e); + + ProductList getNewlyReleasedPackages( + 2: i64 start, + 3: i32 size, + 4: string language, + 5: string country) throws(1: TalkException e); + + ProductList getPopularPackages( + 2: i64 start, + 3: i32 size, + 4: string language, + 5: string country) throws(1: TalkException e); + + ProductList getPresentsReceived( + 2: i64 start, + 3: i32 size, + 4: string language, + 5: string country) throws(1: TalkException e); + + ProductList getPresentsSent( + 2: i64 start, + 3: i32 size, + 4: string language, + 5: string country) throws(1: TalkException e); + + Product getProduct( + 2: i64 packageID, + 3: string language, + 4: string country) throws(1: TalkException e); + + ProductList getProductList( + 2: list productIdList, + 3: string language, + 4: string country) throws(1: TalkException e); + + ProductList getProductListWithCarrier( + 2: list productIdList, + 3: string language, + 4: string country, + 5: string carrierCode) throws(1: TalkException e); + + Product getProductWithCarrier( + 2: i64 packageID, + 3: string language, + 4: string country, + 5: string carrierCode) throws(1: TalkException e); + + ProductList getPurchaseHistory( + 2: i64 start, + 3: i32 size, + 4: string language, + 5: string country) throws(1: TalkException e); + + Coin getTotalBalance( + 2: PaymentType appStoreCode) throws(1: TalkException e); + + i64 notifyDownloaded( + 2: i64 packageId, + 3: string language) throws(1: TalkException e); + + PaymentReservationResult reserveCoinPurchase( + 2: CoinPurchaseReservation request) throws(1: TalkException e); + + PaymentReservationResult reservePayment( + 2: PaymentReservation paymentReservation) throws(1: TalkException e); +} + +service SnsAdaptorService { + SnsFriends getSnsFriends( + 2: SnsIdType snsIdType, + 3: string snsAccessToken, + 4: i32 startIdx, + 5: i32 limit) throws(1: TalkException e); + + SnsProfile getSnsMyProfile( + 2: SnsIdType snsIdType, + 3: string snsAccessToken) throws(1: TalkException e); + + void postSnsInvitationMessage( + 2: SnsIdType snsIdType, + 3: string snsAccessToken, + 4: string toSnsUserId) throws(1: TalkException e); +} + +service TalkService { + + map> getChatRoomAnnouncementsBulk( + 2: list chatRoomMids) throws (1: TalkException e); + + list getChatRoomAnnouncements( + 2: string chatRoomMid) throws (1: TalkException e); + + ChatRoomAnnouncement createChatRoomAnnouncement( + 1: i32 reqSeq, + 2: string chatRoomMid, + 3: ChatRoomAnnouncementType type, + 4: ChatRoomAnnouncementContents contents) throws (1: TalkException e); + + void removeChatRoomAnnouncement( + 1: i32 reqSeq, + 2: string chatRoomMid, + 3: i64 announcementSeq) throws (1: TalkException e); + + void unsendMessage( + 1: i32 seq, + 2: string messageId) throws (1: TalkException e); + + Group getGroupWithoutMembers( + 2: string groupId) throws (1: TalkException e); + + void requestResendMessage( + 1: i32 reqSeq, + 2: string senderMid, + 3: string messageId) throws (1: TalkException e); + + void respondResendMessage( + 1: i32 reqSeq, + 2: string receiverMid, + 3: string originalMessageId, + 4: Message resendMessage, + 5: ErrorCode errorCode) throws (1: TalkException e); + + void acceptGroupInvitation( + 1: i32 reqSeq, + 2: string groupId) throws(1: TalkException e); + + void acceptGroupInvitationByTicket( + 1: i32 reqSeq, + 2: string GroupMid, + 3: string ticketId) throws(1: TalkException e); + + void acceptProximityMatches( + 2: string sessionId, + 3: set ids) throws(1: TalkException e); + + list acquireCallRoute( + 2: string to) throws(1: TalkException e); + + string acquireCallTicket( + 2: string to) throws(1: TalkException e); + + string acquireEncryptedAccessToken( + 2: FeatureType featureType) throws(1: TalkException e); + + string addSnsId( + 2: SnsIdType snsIdType, + 3: string snsAccessToken) throws(1: TalkException e); + + void blockContact( + 1: i32 reqSeq, + 2: string id) throws(1: TalkException e); + + void blockRecommendation( + 1: i32 reqSeq, + 2: string id) throws(1: TalkException e); + + void cancelGroupInvitation( + 1: i32 reqSeq, + 2: string groupId, + 3: list contactIds) throws(1: TalkException e); + + VerificationSessionData changeVerificationMethod( + 2: string sessionId, + 3: VerificationMethod method) throws(1: TalkException e); + + void clearIdentityCredential() throws(1: TalkException e); + + void clearMessageBox( + 2: string channelId, + 3: string messageBoxId) throws(1: TalkException e); + + void closeProximityMatch( + 2: string sessionId) throws(1: TalkException e); + + map commitSendMessage( + 1: i32 seq, + 2: string messageId, + 3: list receiverMids) throws(1: TalkException e); + + map commitSendMessages( + 1: i32 seq, + 2: list messageIds, + 3: list receiverMids) throws(1: TalkException e); + + map commitUpdateProfile( + 1: i32 seq, + 2: list attrs, + 3: list receiverMids) throws(1: TalkException e); + + void confirmEmail( + 2: string verifier, + 3: string pinCode) throws(1: TalkException e); + + Group createGroup( + 1: i32 seq, + 2: string name, + 3: list contactIds) throws(1: TalkException e); + + string createQrcodeBase64Image( + 2: string url, + 3: string characterSet, + 4: i32 imageSize, + 5: i32 x, + 6: i32 y, + 7: i32 width, + 8: i32 height) throws(1: TalkException e); + + Room createRoom( + 1: i32 reqSeq, + 2: list contactIds) throws(1: TalkException e); + + string createSession() throws(1: TalkException e); + + list fetchAnnouncements( + 2: i32 lastFetchedIndex) throws(1: TalkException e); + + list fetchMessages( + 2: i64 localTs, + 3: i32 count) throws(1: TalkException e); + + list fetchOperations( + 2: i64 localRev, + 3: i32 count) throws(1: ShouldSyncException e); + + list fetchOps( + 2: i64 localRev, + 3: i32 count, + 4: i64 globalRev, + 5: i64 individualRev) throws (1: ShouldSyncException e); + + map findAndAddContactsByEmail( + 1: i32 reqSeq, + 2: set emails) throws(1: TalkException e); + + map findAndAddContactsByMid( + 1: i32 reqSeq, + 2: string mid, + 3: ContactType type, + 4: string reference) throws (1: TalkException e); + + Group findGroupByTicketV2( + 1: string ticketId) throws (1: TalkException e); + + map findAndAddContactsByPhone( + 1: i32 reqSeq, + 2: set phones) throws(1: TalkException e); + + list getFriendRequests( + 1: FriendRequestDirection direction, + 2: i64 lastSeenSeqId) throws (1: TalkException e); + + void removeFriendRequest( + 1: FriendRequestDirection direction, + 2: string midOrEMid) throws (1: TalkException e); + + map findAndAddContactsByUserid( + 1: i32 reqSeq, + 2: string userid) throws(1: TalkException e); + + Contact findContactByUserid( + 2: string userid) throws(1: TalkException e); + + Contact findContactByUserTicket( + 2: string ticketIdWithTag) throws(1: TalkException e); + + map findContactsByEmail( + 2: set emails) throws(1: TalkException e); + + map findContactsByPhone( + 2: set phones) throws(1: TalkException e); + + SnsIdUserStatus findSnsIdUserStatus( + 2: SnsIdType snsIdType, + 3: string snsAccessToken, + 4: string udidHash) throws(1: TalkException e); + + void finishUpdateVerification( + 2: string sessionId) throws(1: TalkException e); + + Ticket generateUserTicket( + 3: i64 expirationTime, + 4: i32 maxUseCount) throws(1: TalkException e); + + void destroyMessage( + 1: i32 seq, + 2: string chatId, + 3: string messageId, + 4: i8 sessionId) throws (1: TalkException e); + + set getAcceptedProximityMatches( + 2: string sessionId) throws(1: TalkException e); + + list getActiveBuddySubscriberIds() throws(1: TalkException e); + + list getAllContactIds() throws(1: TalkException e); + + AuthQrcode getAuthQrcode( + 2: bool keepLoggedIn, + 3: string systemName) throws(1: TalkException e); + + list getBlockedContactIds() throws(1: TalkException e); + + RegisterWithPhoneNumberResult registerWithPhoneNumber( + 2: string sessionId, + 3: string migrationPincodeSessionId) throws (1: TalkException e); + + RegisterWithPhoneNumberResult registerWithPhoneNumberAndPassword( + 2: string sessionId, + 3: string keynm, + 4: string encrypted) throws (1: TalkException e); + + AnalyticsInfo getAnalyticsInfo() throws (1: TalkException e); + + void reportClientStatistics( + 1: i32 reqSeq, + 2: ReportCategory category, + 3: i32 count) throws (1: TalkException e); + + string verifyPhoneNumberForLogin( + 2: string verifierFromPhone, + 3: string pinCodeForPhone, + 4: string verifierFromLogin) throws (1: TalkException e); + + PhoneVerificationResult verifyPhoneNumber( + 2: string sessionId, + 3: string pinCode, + 4: string udidHash, + 5: string migrationPincodeSessionId, + 6: string oldUdidHash) throws (1: TalkException e); + + list getBlockedContactIdsByRange( + 2: i32 start, + 3: i32 count) throws(1: TalkException e); + + list getBlockedRecommendationIds() throws(1: TalkException e); + + list getBuddyBlockerIds() throws(1: TalkException e); + + Geolocation getBuddyLocation( + 2: string mid, + 3: i32 index) throws(1: TalkException e); + + list getCompactContactsModifiedSince( + 2: i64 timestamp) throws(1: TalkException e); + + Group getCompactGroup( + 2: string groupId) throws(1: TalkException e); + + Room getCompactRoom( + 2: string roomId) throws(1: TalkException e); + + Contact getContact( + 2: string id) throws(1: TalkException e); + + list getContacts( + 2: list ids) throws(1: TalkException e); + + Contact getContactWithFriendRequestStatus( + 2: string id) throws (1: TalkException e); + + string getCountryWithRequestIp() throws(1: TalkException e); + + list getFavoriteMids() throws(1: TalkException e); + + Group getGroup( + 2: string groupId) throws(1: TalkException e); + + list getGroupIdsInvited() throws(1: TalkException e); + + list getGroupIdsJoined() throws(1: TalkException e); + + list getGroups( + 2: list groupIds) throws(1: TalkException e); + + list getHiddenContactMids() throws(1: TalkException e); + + string getIdentityIdentifier() throws(1: TalkException e); + + i32 getLastAnnouncementIndex() throws(1: TalkException e); + + i64 getLastOpRevision() throws(1: TalkException e); + + SuggestDictionaryRevisions getSuggestRevisions() throws (1: TalkException e); + + list getPreviousMessagesV2WithReadCount( + 2: string messageBoxId, + 3: MessageBoxV2MessageId endMessageId, + 4: i32 messagesCount) throws (1: TalkException e); + + TMessageBox getMessageBox( + 2: string channelId, + 3: string messageBoxId, + 4: i32 lastMessagesCount) throws(1: TalkException e); + + TMessageBoxWrapUp getMessageBoxCompactWrapUp( + 2: string mid) throws(1: TalkException e); + + TMessageBoxWrapUpResponse getMessageBoxCompactWrapUpList( + 2: i32 start, + 3: i32 messageBoxCount) throws(1: TalkException e); + + list getMessageBoxList( + 2: string channelId, + 3: i32 lastMessagesCount) throws(1: TalkException e); + + list getMessageBoxListByStatus( + 2: string channelId, + 3: i32 lastMessagesCount, + 4: i32 status) throws(1: TalkException e); + + TMessageBoxWrapUp getMessageBoxWrapUp( + 2: string mid) throws(1: TalkException e); + + TMessageBoxWrapUpResponse getMessageBoxWrapUpList( + 2: i32 start, + 3: i32 messageBoxCount) throws(1: TalkException e); + + list getMessagesBySequenceNumber( + 2: string channelId, + 3: string messageBoxId, + 4: i64 startSeq, + 5: i64 endSeq) throws(1: TalkException e); + + list getNextMessages( + 2: string messageBoxId, + 3: i64 startSeq, + 4: i32 messagesCount) throws(1: TalkException e); + + list getNotificationPolicy( + 2: CarrierCode carrier) throws(1: TalkException e); + + list getPreviousMessages( + 2: string messageBoxId, + 3: i64 endSeq, + 4: i32 messagesCount) throws(1: TalkException e); + + Profile getProfile() throws(1: TalkException e); + + ProximityMatchCandidateResult getProximityMatchCandidateList( + 2: string sessionId) throws(1: TalkException e); + + set getProximityMatchCandidates( + 2: string sessionId) throws(1: TalkException e); + + list getRecentMessages( + 2: string messageBoxId, + 3: i32 messagesCount) throws(1: TalkException e); + + list getRecommendationIds() throws(1: TalkException e); + + Room getRoom( + 2: string roomId) throws(1: TalkException e); + + RSAKey getRSAKeyInfo( + 2: IdentityProvider provider) throws(1: TalkException e); + + i64 getServerTime() throws(1: TalkException e); + + list getSessions() throws(1: TalkException e); + + Settings getSettings() throws(1: TalkException e); + + list getGroupsV2( + 2: list groupIds) throws (1: TalkException e); + + Settings getSettingsAttributes( + 2: i32 attrBitset) throws(1: TalkException e); + + SystemConfiguration getSystemConfiguration() throws(1: TalkException e); + + Ticket getUserTicket() throws(1: TalkException e); + + WapInvitation getWapInvitation( + 2: string invitationHash) throws(1: TalkException e); + + void invalidateUserTicket() throws(1: TalkException e); + + void inviteFriendsBySms( + 2: list phoneNumberList) throws(1: TalkException e); + + void inviteIntoGroup( + 1: i32 reqSeq, + 2: string groupId, + 3: list contactIds) throws(1: TalkException e); + + void inviteIntoRoom( + 1: i32 reqSeq, + 2: string roomId, + 3: list contactIds) throws(1: TalkException e); + + void inviteViaEmail( + 1: i32 reqSeq, + 2: string email, + 3: string name) throws(1: TalkException e); + + bool isIdentityIdentifierAvailable( + 3: IdentityProvider provider, + 2: string identifier) throws(1: TalkException e); + + bool isUseridAvailable( + 2: string userid) throws(1: TalkException e); + + void kickoutFromGroup( + 1: i32 reqSeq, + 2: string groupId, + 3: list contactIds) throws(1: TalkException e); + + string reissueGroupTicket( + 1: string groupMid + ) throws(1: TalkException e); + + Group findGroupByTicket( + 1: string ticketId + ) throws(1: TalkException e); + + void leaveGroup( + 1: i32 reqSeq, + 2: string groupId) throws(1: TalkException e); + + void leaveRoom( + 1: i32 reqSeq, + 2: string roomId) throws(1: TalkException e); + + string loginWithIdentityCredential( + 8: IdentityProvider identityProvider, + 3: string identifier, + 4: string password, + 5: bool keepLoggedIn, + 6: string accessLocation, + 7: string systemName, + 9: string certificate) throws(1: TalkException e); + + LoginResult loginWithIdentityCredentialForCertificate( + 8: IdentityProvider identityProvider, + 3: string identifier, + 4: string password, + 5: bool keepLoggedIn, + 6: string accessLocation, + 7: string systemName, + 9: string certificate) throws(1: TalkException e); + + string loginWithVerifier( + 3: string verifier) throws(1: TalkException e); + + LoginResult loginWithVerifierForCerificate( + 3: string verifier) throws(1: TalkException e); + + LoginResult loginWithVerifierForCertificate( + 3: string verifier) throws(1: TalkException e); + + void logout() throws(1: TalkException e); + + void logoutSession( + 2: string tokenKey) throws(1: TalkException e); + + void noop() throws(1: TalkException e); + + void notifiedRedirect( + 2: map paramMap) throws(1: TalkException e); + + map notifyBuddyOnAir( + 1: i32 seq, + 2: list receiverMids) throws(1: TalkException e); + + void notifyIndividualEvent( + 2: NotificationStatus notificationStatus, + 3: list receiverMids) throws(1: TalkException e); + + void notifyInstalled( + 2: string udidHash, + 3: string applicationTypeWithExtensions) throws(1: TalkException e); + + void notifyRegistrationComplete( + 2: string udidHash, + 3: string applicationTypeWithExtensions) throws(1: TalkException e); + + void notifySleep( + 2: i64 lastRev, + 3: i32 badge) throws(1: TalkException e); + + void notifyUpdated( + 2: i64 lastRev, + 3: DeviceInfo deviceInfo) throws(1: TalkException e); + + string openProximityMatch( + 2: Location location) throws(1: TalkException e); + + string registerBuddyUser( + 2: string buddyId, + 3: string registrarPassword) throws(1: TalkException e); + + void registerBuddyUserid( + 2: i32 seq, + 3: string userid) throws(1: TalkException e); + + string registerDevice( + 2: string sessionId) throws(1: TalkException e); + + string registerDeviceWithIdentityCredential( + 2: string sessionId, + 5: IdentityProvider provider, + 3: string identifier, + 4: string verifier) throws(1: TalkException e); + + string registerDeviceWithoutPhoneNumber( + 2: string region, + 3: string udidHash, + 4: DeviceInfo deviceInfo) throws(1: TalkException e); + + string registerDeviceWithoutPhoneNumberWithIdentityCredential( + 2: string region, + 3: string udidHash, + 4: DeviceInfo deviceInfo, + 5: IdentityProvider provider, + 6: string identifier, + 7: string verifier, + 8: string mid, + 9: string migrationPincodeSessionId) throws(1: TalkException e); + + bool registerUserid( + 1: i32 reqSeq, + 2: string userid) throws(1: TalkException e); + + string registerWapDevice( + 2: string invitationHash, + 3: string guidHash, + 4: string email, + 5: DeviceInfo deviceInfo) throws(1: TalkException e); + + string registerWithExistingSnsIdAndIdentityCredential( + 2: IdentityCredential identityCredential, + 3: string region, + 4: string udidHash, + 5: DeviceInfo deviceInfo) throws(1: TalkException e); + + RegisterWithSnsIdResult registerWithSnsId( + 2: SnsIdType snsIdType, + 3: string snsAccessToken, + 4: string region, + 5: string udidHash, + 6: DeviceInfo deviceInfo, + 7: string mid) throws(1: TalkException e); + + string registerWithSnsIdAndIdentityCredential( + 2: SnsIdType snsIdType, + 3: string snsAccessToken, + 4: IdentityCredential identityCredential, + 5: string region, + 6: string udidHash, + 7: DeviceInfo deviceInfo) throws(1: TalkException e); + + string reissueDeviceCredential() throws(1: TalkException e); + + string reissueUserTicket( + 3: i64 expirationTime, + 4: i32 maxUseCount) throws(1: TalkException e); + + list getMessageReadRange( + 2: list chatIds) throws (1: TalkException e); + + void rejectGroupInvitation( + 1: i32 reqSeq, + 2: string groupId) throws(1: TalkException e); + + void releaseSession() throws(1: TalkException e); + + void removeAllMessages( + 1: i32 seq, + 2: string lastMessageId) throws(1: TalkException e); + + void removeBuddyLocation( + 2: string mid, + 3: i32 index) throws(1: TalkException e); + + bool removeMessage( + 2: string messageId) throws(1: TalkException e); + + ContactTransition makeUserAddMyselfAsContact( + 1: string contactOwnerMid) throws (1: TalkException e); + + bool removeMessageFromMyHome( + 2: string messageId) throws(1: TalkException e); + + string removeSnsId( + 2: SnsIdType snsIdType) throws(1: TalkException e); + + void report( + 2: i64 syncOpRevision, + 3: SyncCategory category, + 4: string report) throws(1: TalkException e); + + list reportContacts( + 2: i64 syncOpRevision, + 3: SyncCategory category, + 4: list contactReports, + 5: SyncActionType actionType) throws(1: TalkException e); + + void reportGroups( + 2: i64 syncOpRevision, + 3: list groups) throws(1: TalkException e); + + void reportProfile( + 2: i64 syncOpRevision, + 3: Profile profile) throws(1: TalkException e); + + void reportRooms( + 2: i64 syncOpRevision, + 3: list rooms) throws(1: TalkException e); + + Contact findAndAddContactByMetaTag( + 1: i32 reqSeq, + 2: string userid, + 3: string reference) throws (1: TalkException e); + + void reportSettings( + 2: i64 syncOpRevision, + 3: Settings settings) throws(1: TalkException e); + + void reportSpam( + 2: string chatMid, + 3: list memberMids, + 4: list spammerReasons, + 5: list senderMids, + 6: list spamMessageIds, + 7: list spamMessages) throws (1: TalkException e); + + void reportSpammer( + 2: string spammerMid, + 3: list spammerReasons, + 4: list spamMessageIds) throws(1: TalkException e); + + void requestAccountPasswordReset( + 4: IdentityProvider provider, + 2: string identifier, + 5: string locale) throws(1: TalkException e); + + EmailConfirmationSession requestEmailConfirmation( + 2: EmailConfirmation emailConfirmation) throws(1: TalkException e); + + void requestIdentityUnbind( + 4: IdentityProvider provider, + 2: string identifier) throws(1: TalkException e); + + EmailConfirmationSession resendEmailConfirmation( + 2: string verifier) throws(1: TalkException e); + + void resendPinCode( + 2: string sessionId) throws(1: TalkException e); + + void resendPinCodeBySMS( + 2: string sessionId) throws(1: TalkException e); + + void sendChatChecked( + 1: i32 seq, + 2: string consumer, + 3: string lastMessageId) throws(1: TalkException e); + + CommitMessageResult sendMessageAwaitCommit( + 1: i32 seq, + 2: Message message) throws (1: TalkException e); + + void sendChatRemoved( + 1: i32 seq, + 2: string consumer, + 3: string lastMessageId) throws(1: TalkException e); + + map sendContentPreviewUpdated( + 1: i32 esq, + 2: string messageId, + 3: list receiverMids) throws(1: TalkException e); + + void sendContentReceipt( + 1: i32 seq, + 2: string consumer, + 3: string messageId) throws(1: TalkException e); + + void sendDummyPush() throws(1: TalkException e); + + void removeE2EEPublicKey( + 2: E2EEPublicKey publicKey) throws (1: TalkException e); + + E2EENegotiationResult negotiateE2EEPublicKey( + 2: string mid) throws (1: TalkException e); + + E2EEPublicKey getE2EEPublicKey( + 2: string mid, + 3: i32 version, + 4: i32 keyId) throws (1: TalkException e); + + void requestE2EEKeyExchange( + 1: i32 reqSeq, + 2: binary temporalPublicKey, + 3: E2EEPublicKey publicKey, + 4: binary verifier) throws (1: TalkException e); + + map getLastE2EEPublicKeys( + 2: string chatMid) throws (1: TalkException e); + + E2EEPublicKey registerE2EEPublicKey( + 1: i32 reqSeq, + 2: E2EEPublicKey publicKey) throws (1: TalkException e); + + list getE2EEPublicKeys() throws (1: TalkException e); + + list getE2EEPublicKeysEx( + 2: bool ignoreE2EEStatus) throws (1: TalkException e); + + list getReadMessageOpsInBulk( + 2: list chatIds) throws (1: TalkException e); + + Message sendEvent( + 1: i32 seq, + 2: Message message) throws(1: TalkException e); + + Message sendMessage( + 1: i32 seq, + 2: Message message) throws(1: TalkException e); + + void sendMessageIgnored( + 1: i32 seq, + 2: string consumer, + 3: list messageIds) throws(1: TalkException e); + + void sendMessageReceipt( + 1: i32 seq, + 2: string consumer, + 3: list messageIds) throws(1: TalkException e); + + Contact findContactByMetaTag( + 2: string userid, + 3: string reference) throws (1: TalkException e); + + Message sendMessageToMyHome( + 1: i32 seq, + 2: Message message) throws(1: TalkException e); + + void setBuddyLocation( + 2: string mid, + 3: i32 index, + 4: Geolocation location) throws(1: TalkException e); + + void setIdentityCredential( + 2: string identifier, + 3: string verifier, + 4: IdentityProvider provider) throws(1: TalkException e); + + void setNotificationsEnabled( + 1: i32 reqSeq, + 2: MIDType type, + 3: string target, + 4: bool enablement) throws(1: TalkException e); + + VerificationSessionData startUpdateVerification( + 2: string region, + 3: CarrierCode carrier, + 4: string phone, + 5: string udidHash, + 6: DeviceInfo deviceInfo, + 7: string networkCode, + 8: string locale) throws(1: TalkException e); + + VerificationSessionData startVerification( + 2: string region, + 3: CarrierCode carrier, + 4: string phone, + 5: string udidHash, + 6: DeviceInfo deviceInfo, + 7: string networkCode, + 8: string mid, + 9: string locale, + 10: SIMInfo simInfo, + 11: string oldUdidHash) throws(1: TalkException e); + + void updateGroupPreferenceAttribute( + 1: i32 reqSeq, + 2: string groupMid, + 3: map updatedAttrs) throws (1: TalkException e); + + Room createRoomV2( + 1: i32 reqSeq, + 2: list contactIds) throws (1: TalkException e); + + void storeUpdateProfileAttribute( + 1: i32 seq, + 2: ProfileAttribute profileAttribute, + 3: string value) throws(1: TalkException e); + + list syncContactBySnsIds( + 1: i32 reqSeq, + 2: list modifications) throws(1: TalkException e); + + map syncContacts( + 1: i32 reqSeq, + 2: list localContacts) throws(1: TalkException e); + + Message trySendMessage( + 1: i32 seq, + 2: Message message) throws(1: TalkException e); + + list getNextMessagesV2( + 2: string messageBoxId, + 3: MessageBoxV2MessageId startMessageId, + 4: i32 messagesCount) throws (1: TalkException e); + + TMessageBoxWrapUp getMessageBoxCompactWrapUpV2( + 2: string messageBoxId) throws (1: TalkException e); + + list getRecentMessagesV2( + 2: string messageBoxId, + 3: i32 messagesCount) throws (1: TalkException e); + + map validateContactsOnBot( + 2: list contacts) throws (1: TalkException e); + + void tryFriendRequest( + 1: string midOrEMid, + 2: FriendRequestMethod method, + 3: string friendRequestParams) throws (1: TalkException e); + + void unblockContact( + 1: i32 reqSeq, + 2: string id) throws(1: TalkException e); + + void unblockRecommendation( + 1: i32 reqSeq, + 2: string id) throws(1: TalkException e); + + string unregisterUserAndDevice() throws(1: TalkException e); + + void updateApnsDeviceToken( + 2: binary apnsDeviceToken) throws(1: TalkException e); + + void updateBuddySetting( + 2: string key, + 3: string value) throws(1: TalkException e); + + void updateC2DMRegistrationId( + 2: string registrationId) throws(1: TalkException e); + + void updateContactSetting( + 1: i32 reqSeq, + 2: string mid, + 3: ContactSetting flag, + 4: string value) throws(1: TalkException e); + + void updateCustomModeSettings( + 2: CustomMode customMode, + 3: map paramMap) throws(1: TalkException e); + + void updateDeviceInfo( + 2: string deviceUid, + 3: DeviceInfo deviceInfo) throws(1: TalkException e); + + void updateGroup( + 1: i32 reqSeq, + 2: Group group) throws(1: TalkException e); + + void updateNotificationToken( + 3: NotificationType type, + 2: string token) throws(1: TalkException e); + + void updateNotificationTokenWithBytes( + 3: NotificationType type, + 2: binary token) throws(1: TalkException e); + + void updateProfile( + 1: i32 reqSeq, + 2: Profile profile) throws(1: TalkException e); + + void updateProfileAttribute( + 1: i32 reqSeq, + 2: ProfileAttribute attr, + 3: string value) throws(1: TalkException e); + + void updateRegion( + 2: string region) throws(1: TalkException e); + + void updateSettings( + 1: i32 reqSeq, + 2: Settings settings) throws(1: TalkException e); + + i32 updateSettings2( + 1: i32 reqSeq, + 2: Settings settings) throws(1: TalkException e); + + void updateSettingsAttribute( + 1: i32 reqSeq, + 2: SettingsAttribute attr, + 3: string value) throws(1: TalkException e); + + i32 updateSettingsAttributes( + 1: i32 reqSeq, + 2: i32 attrBitset, + 3: Settings settings) throws(1: TalkException e); + + void verifyIdentityCredential( + 8: IdentityProvider identityProvider, + 3: string identifier, + 4: string password) throws(1: TalkException e); + + UserAuthStatus verifyIdentityCredentialWithResult( + 2: IdentityCredential identityCredential) throws(1: TalkException e); + + VerificationResult verifyPhone( + 2: string sessionId, + 3: string pinCode, + 4: string udidHash) throws(1: TalkException e); + + string verifyQrcode( + 2: string verifier, + 3: string pinCode) throws(1: TalkException e); +} + +service UniversalNotificationService { + void notify( + 2: GlobalEvent event) throws(1: UniversalNotificationServiceException e); +} + +service CallService { + + UserStatus getUserStatus( + 1: string mid) throws (1: TalkException e); + + void updateProfileAttributeForChannel( + 2: ProfileAttribute profileAttribute, + 3: string value) throws (1: TalkException e); + + void updateExtendedProfileAttribute( + 1: ExtendedProfileAttribute attr, + 2: ExtendedProfile extendedProfile) throws (1: TalkException e); + + list getAllSimpleChannelContacts( + 1: bool statusSticonFallbackDisabled) throws (1: TalkException e); + + map getUserIdentities() throws (1: TalkException e); + + PaidCallDialing markPaidCallAd( + 2: string dialedNumber, + 3: string language, + 4: bool disableCallerId) throws (1: TalkException e); + + bool isGroupMember( + 1: string groupId) throws (1: TalkException e); + + PhoneInfoForChannel getPhoneInfoFromPhoneNumber( + 1: string region, + 2: string phoneNumber) throws (1: TalkException e); + + PaidCallRedeemResult redeemPaidCallVoucher( + 2: string serial, + 3: string language) throws (1: TalkException e); + + map getPreferredDisplayName( + 1: list mids) throws (1: TalkException e); + + list getContactsForChannel( + 2: list ids) throws (1: TalkException e); + + list getCallCreditProducts( + 2: PaymentType appStoreCode, + 3: PaymentPgType pgCode, + 4: string country, + 5: string language) throws (1: TalkException e); + + list getCompactContacts( + 2: i64 lastModifiedTimestamp) throws (1: TalkException e); + + void notifyNotiCenterEvent( + 1: NotiCenterEventData event) throws (1: TalkException e); + + bool isInContact( + 2: string mid) throws (1: TalkException e); + + list lookupGroupMembers( + 1: string groupId, + 2: list mids) throws (1: TalkException e); + + Room getRoomInformation( + 1: string roomMid) throws (1: TalkException e); + + GroupCall getGroupCall( + 2: string chatMid) throws (1: TalkException e); + + bool isAllowSecondaryDeviceLogin() throws (1: TalkException e); + + SimpleChannelClient getPrimaryClientForChannel() throws (1: TalkException e); + + Room createRoomWithBuddy( + 1: i32 reqSeq, + 2: string buddyMid, + 3: list contactIds) throws (1: TalkException e); + + string getDisplayName( + 2: string mid) throws (1: TalkException e); + + PaidCallMetadataResult getPaidCallMetadata( + 2: string language) throws (1: TalkException e); + + string getMid() throws (1: TalkException e); + + string getUserCountryForBilling( + 2: string country, + 3: string remoteIp) throws (1: TalkException e); + + list getFavoriteGroupIdsForChannel() throws (1: TalkException e); + + PaidCallHistoryResult getPaidCallHistory( + 2: i64 start, + 3: i32 size, + 4: string language) throws (1: TalkException e); + + void sendPinCodeOperation( + 1: string verifier) throws (1: TalkException e); + + void inviteIntoGroupCall( + 2: string chatMid, + 3: list memberMids, + 4: GroupCallMediaType mediaType) throws (1: TalkException e); + + list getFriendMids() throws (1: TalkException e); + + MetaProfile getMetaProfile() throws (1: TalkException e); + + Message sendMessageForChannel( + 2: Message message) throws (1: TalkException e); + + i64 activeBuddySubscriberCount() throws (1: TalkException e); + + CoinHistoryResult getCallCreditPurchaseHistory( + 2: CoinHistoryCondition request) throws (1: TalkException e); + + bool isRoomMember( + 1: string roomId) throws (1: TalkException e); + + Message sendSystemOAMessage( + 1: Message message) throws (1: TalkException e); + + PaidCallResponse acquirePaidCallRoute( + 2: PaidCallType paidCallType, + 3: string dialedNumber, + 4: string language, + 5: string networkCode, + 6: bool disableCallerId, + 7: string referer, + 8: string adSessionId) throws (1: TalkException e); + + list getGroupsForChannel( + 1: list groupIds) throws (1: TalkException e); + + i64 getUserCreateTime() throws (1: TalkException e); + + string registerChannelCP( + 2: string cpId, + 3: string registerPassword) throws (1: TalkException e); + + PaymentReservationResult reserveCallCreditPurchase( + 2: CoinPurchaseReservation request) throws (1: TalkException e); + + list acquirePaidCallCurrencyExchangeRate( + 2: string language) throws (1: TalkException e); + + list getRoomMemberMidsForAppPlatform( + 1: string roomId) throws (1: TalkException e); + + list getPaidCallBalanceList( + 2: string language) throws (1: TalkException e); + + map getPersonalInfos( + 1: set requiredPersonalInfos) throws (1: TalkException e); + + list getPrimaryClientsForChannel( + 1: list userMids) throws (1: TalkException e); + + ContactTransition addBuddyToContact( + 1: string buddyMid) throws (1: TalkException e); + + list getGroupMemberMidsForAppPlatform( + 1: string groupId) throws (1: TalkException e); + + string getUserLanguage() throws (1: TalkException e); + + PaidCallResponse lookupPaidCall( + 2: string dialedNumber, + 3: string language, + 4: string referer) throws (1: TalkException e); + + ExtendedProfile getExtendedProfile() throws (1: TalkException e); + + map getReverseCompactContacts( + 1: list ids) throws (1: TalkException e); + + PaidCallAdResult getPaidCallAdStatus() throws (1: TalkException e); + + Contact findContactByUseridWithoutAbuseBlockForChannel( + 2: string userid) throws (1: TalkException e); + + list getGroupMemberMids( + 1: string groupId) throws (1: TalkException e); + + Message sendMessageWithoutRelationship( + 2: Message message) throws (1: TalkException e); + + map displayBuddySubscriberCountInBulk( + 1: list mids) throws (1: TalkException e); + + list lookupRoomMembers( + 1: string roomId, + 2: list mids) throws (1: TalkException e); + + list getFavoriteMidsForChannel() throws (1: TalkException e); + + list getAllContactIdsForChannel() throws (1: TalkException e); + + i64 displayBuddySubscriberCount() throws (1: TalkException e); + + Profile getProfileForChannel() throws (1: TalkException e); + + list getUserTickets( + 1: list userMids) throws (1: TalkException e); + + list getOAFriendMids() throws (1: TalkException e); + + list searchPaidCallUserRate( + 2: string countryCode, + 3: string language) throws (1: TalkException e); + + list getJoinedGroupIdsForChannel() throws (1: TalkException e); + + GroupCallRoute acquireGroupCallRoute( + 2: string chatMid, + 3: GroupCallMediaType mediaType) throws (1: TalkException e); + + list getUserMidsWhoAddedMe() throws (1: TalkException e); + + IdentityCredential getIdentityCredential() throws (1: TalkException e); + + void addOperationForChannel( + 1: OpType opType, + 2: string param1, + 3: string param2, + 4: string param3) throws (1: TalkException e); + + list getSimpleChannelContacts( + 1: list ids, + 2: bool statusSticonFallbackDisabled) throws (1: TalkException e); + + i64 getUserLastSentMessageTimeStamp( + 1: string mid) throws (1: TalkException e); +} + +service AuthService { + + string normalizePhoneNumber( + 2: string countryCode, + 3: string phoneNumber, + 4: string countryCodeHint) throws (1: TalkException e); + + void respondE2EELoginRequest( + 1: string verifier, + 2: E2EEPublicKey publicKey, + 3: binary encryptedKeyChain, + 4: binary hashKeyChain, + 5: ErrorCode errorCode) throws (1: TalkException e); + + string confirmE2EELogin( + 1: string verifier, + 2: binary deviceSecret) throws (1: TalkException e); + + void logoutZ() throws (1: TalkException e); + + LoginResult loginZ( + 2: LoginRequest loginRequest) throws (1: TalkException e); + + SecurityCenterResult issueTokenForAccountMigrationSettings( + 2: bool enforce) throws (1: TalkException e); + + SecurityCenterResult issueTokenForAccountMigration( + 2: string migrationSessionId) throws (1: TalkException e); + + string verifyQrcodeWithE2EE( + 2: string verifier, + 3: string pinCode, + 4: ErrorCode errorCode, + 5: E2EEPublicKey publicKey, + 6: binary encryptedKeyChain, + 7: binary hashKeyChain) throws (1: TalkException e); + +} + +service SquareService { + + GetSquareChatAnnouncementsResponse getSquareChatAnnouncements( + 1: GetSquareChatAnnouncementsRequest request) throws(1: SquareException e); + + DeleteSquareChatAnnouncementResponse deleteSquareChatAnnouncement( + 1: DeleteSquareChatAnnouncementRequest request) throws(1: SquareException e); + + CreateSquareChatAnnouncementResponse createSquareChatAnnouncement( + 1: CreateSquareChatAnnouncementRequest request) throws(1: SquareException e); + + GetNoteStatusResponse getNoteStatus( + 1: GetNoteStatusRequest request) throws(1: SquareException e); + + GetSquareStatusResponse getSquareStatus( + 1: GetSquareStatusRequest request) throws(1: SquareException e); + + ReportSquareMemberResponse reportSquareMember( + 1: ReportSquareMemberRequest request) throws(1: SquareException e); + + ReportSquareMessageResponse reportSquareMessage( + 1: ReportSquareMessageRequest request) throws(1: SquareException e); + + ReportSquareChatResponse reportSquareChat( + 1: ReportSquareChatRequest request) throws(1: SquareException e); + + ReportSquareResponse reportSquare( + 1: ReportSquareRequest request) throws(1: SquareException e); + + UpdateSquareMemberRelationResponse updateSquareMemberRelation( + 1: UpdateSquareMemberRelationRequest request) throws(1: SquareException e); + + UpdateSquareAuthorityResponse updateSquareAuthority( + 1: UpdateSquareAuthorityRequest request) throws(1: SquareException e); + + UpdateSquareChatMemberResponse updateSquareChatMember( + 1: UpdateSquareChatMemberRequest request) throws(1: SquareException e); + + UpdateSquareChatResponse updateSquareChat( + 1: UpdateSquareChatRequest request) throws(1: SquareException e); + + RefreshSubscriptionsResponse refreshSubscriptions( + 1: RefreshSubscriptionsRequest request) throws(1: SquareException e); + + RemoveSubscriptionsResponse removeSubscriptions( + 1: RemoveSubscriptionsRequest request) throws(1: SquareException e); + + RejectSquareMembersResponse rejectSquareMembers( + 1: RejectSquareMembersRequest request) throws(1: SquareException e); + + UpdateSquareMembersResponse updateSquareMembers( + 1: UpdateSquareMembersRequest request) throws(1: SquareException e); + + UpdateSquareMemberResponse updateSquareMember( + 1: UpdateSquareMemberRequest request) throws(1: SquareException e); + + UpdateSquareFeatureSetResponse updateSquareFeatureSet( + 1: UpdateSquareFeatureSetRequest request) throws(1: SquareException e); + + GetSquareFeatureSetResponse getSquareFeatureSet( + 1: GetSquareFeatureSetRequest request) throws(1: SquareException e); + + SearchSquaresResponse searchSquares( + 1: SearchSquaresRequest request) throws(1: SquareException e); + + UpdateSquareResponse updateSquare( + 1: UpdateSquareRequest request) throws(1: SquareException e); + + GetSquareCategoriesResponse getCategories( + 1: GetSquareCategoriesRequest request) throws(1: SquareException e); + + SearchSquareMembersResponse searchSquareMembers( + 1: SearchSquareMembersRequest request) throws(1: SquareException e); + + FetchSquareChatEventsResponse fetchSquareChatEvents( + 1: FetchSquareChatEventsRequest request) throws(1: SquareException e); + + FetchMyEventsResponse fetchMyEvents( + 1: FetchMyEventsRequest request) throws(1: SquareException e); + + MarkAsReadResponse markAsRead( + 1: MarkAsReadRequest request) throws(1: SquareException e); + + GetSquareAuthorityResponse getSquareAuthority( + 1: GetSquareAuthorityRequest request) throws(1: SquareException e); + + SendMessageResponse sendMessage( + 1: SendMessageRequest request) throws(1: SquareException e); + + LeaveSquareResponse leaveSquare( + 1: LeaveSquareRequest request) throws(1: SquareException e); + + LeaveSquareChatResponse leaveSquareChat( + 1: LeaveSquareChatRequest request) throws(1: SquareException e); + + JoinSquareChatResponse joinSquareChat( + 1: JoinSquareChatRequest request) throws(1: SquareException e); + + JoinSquareResponse joinSquare( + 1: JoinSquareRequest request) throws(1: SquareException e); + + InviteToSquareResponse inviteToSquare( + 1: InviteToSquareRequest request) throws(1: SquareException e); + + InviteToSquareChatResponse inviteToSquareChat( + 1: InviteToSquareChatRequest request) throws(1: SquareException e); + + GetSquareMemberResponse getSquareMember( + 1: GetSquareMemberRequest request) throws(1: SquareException e); + + GetSquareMembersResponse getSquareMembers( + 1: GetSquareMembersRequest request) throws(1: SquareException e); + + GetSquareMemberRelationResponse getSquareMemberRelation( + 1: GetSquareMemberRelationRequest request) throws(1: SquareException e); + + GetSquareMemberRelationsResponse getSquareMemberRelations( + 1: GetSquareMemberRelationsRequest request) throws(1: SquareException e); + + GetSquareChatMembersResponse getSquareChatMembers( + 1: GetSquareChatMembersRequest request) throws(1: SquareException e); + + GetSquareChatStatusResponse getSquareChatStatus( + 1: GetSquareChatStatusRequest request) throws(1: SquareException e); + + GetSquareChatResponse getSquareChat( + 1: GetSquareChatRequest request) throws(1: SquareException e); + + GetSquareResponse getSquare( + 1: GetSquareRequest request) throws(1: SquareException e); + + GetJoinedSquaresResponse getJoinedSquares( + 1: GetJoinedSquaresRequest request) throws(1: SquareException e); + + GetJoinedSquareChatsResponse getJoinedSquareChats( + 1: GetJoinedSquareChatsRequest request) throws(1: SquareException e); + + ApproveSquareMembersResponse approveSquareMembers( + 1: ApproveSquareMembersRequest request) throws(1: SquareException e); + + CreateSquareChatResponse createSquareChat( + 1: CreateSquareChatRequest request) throws(1: SquareException e); + + CreateSquareResponse createSquare( + 1: CreateSquareRequest request) throws(1: SquareException e); + + DeleteSquareChatResponse deleteSquareChat( + 1: DeleteSquareChatRequest request) throws(1: SquareException e); + + DeleteSquareResponse deleteSquare( + 1: DeleteSquareRequest request) throws(1: SquareException e); + + DestroyMessageResponse destroyMessage( + 1: DestroyMessageRequest request) throws(1: SquareException e); + + GetJoinableSquareChatsResponse getJoinableSquareChats( + 1: GetJoinableSquareChatsRequest request) throws(1: SquareException e); + + GetInvitationTicketUrlResponse getInvitationTicketUrl( + 1: GetInvitationTicketUrlRequest request) throws(1: SquareException e); + + FindSquareByInvitationTicketResponse findSquareByInvitationTicket( + 1: FindSquareByInvitationTicketRequest request) throws(1: SquareException e); + +} -- 2.51.2