+ if (wireType === ProtoBuf.WIRE_TYPES.ENDGROUP) {
+ if (id !== expectedGroupEndId)
+ throw Error("Illegal group end indicator for "+this.toString(true)+": "+id+" ("+(expectedGroupEndId ? expectedGroupEndId+" expected" : "not a group")+")");
+ break;
+ }
+ if (!(field = this._fieldsById[id])) {
+ // "messages created by your new code can be parsed by your old code: old binaries simply ignore the new field when parsing."
+ switch (wireType) {
+ case ProtoBuf.WIRE_TYPES.VARINT:
+ buffer.readVarint32();
+ break;
+ case ProtoBuf.WIRE_TYPES.BITS32:
+ buffer.offset += 4;
+ break;
+ case ProtoBuf.WIRE_TYPES.BITS64:
+ buffer.offset += 8;
+ break;
+ case ProtoBuf.WIRE_TYPES.LDELIM:
+ var len = buffer.readVarint32();
+ buffer.offset += len;
+ break;
+ case ProtoBuf.WIRE_TYPES.STARTGROUP:
+ while (skipTillGroupEnd(id, buffer)) {}
+ break;
+ default:
+ throw Error("Illegal wire type for unknown field "+id+" in "+this.toString(true)+"#decode: "+wireType);
+ }
+ continue;
+ }
+ if (field.repeated && !field.options["packed"]) {
+ var ServicePrototype = Service.prototype = Object.create(Namespace.prototype);
+
+ /**
+ * Builds the service and returns the runtime counterpart, which is a fully functional class.
+ * @see ProtoBuf.Builder.Service
+ * @param {boolean=} rebuild Whether to rebuild or not
+ * @return {Function} Service class
+ * @throws {Error} If the message cannot be built
+ * @expose
+ */
+ ServicePrototype.build = function(rebuild) {
+ if (this.clazz && !rebuild)
+ return this.clazz;
+
+ // Create the runtime Service class in its own scope
+ return this.clazz = (function(ProtoBuf, T) {
+
+ /**
+ * Constructs a new runtime Service.
+ * @name ProtoBuf.Builder.Service
+ * @param {function(string, ProtoBuf.Builder.Message, function(Error, ProtoBuf.Builder.Message=))=} rpcImpl RPC implementation receiving the method name and the message
+ * @class Barebone of all runtime services.
+ * @constructor
+ * @throws {Error} If the service cannot be created
+ `<body>This is an OMEMO encrypted message which your client doesn’t seem to support. Find more information on https://conversations.im/omemo</body>`+
+<li class="toggle-omemo fa {[ if (o.omemo_active) { ]} fa-lock {[ } else { ]} fa-unlock {[ } ]}" title="{{{o.__('Messages are being sent in plaintext')}}}"></li>