@vendasta/conversation 0.12.0 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"vendasta-conversation.js","sources":["../../../conversation_sdk/src/lib/_internal/enums/message.enum.ts","../../../conversation_sdk/src/lib/_internal/enums/conversation.enum.ts","../../../conversation_sdk/src/lib/_internal/enums/participant.enum.ts","../../../conversation_sdk/src/lib/_internal/enums/api.enum.ts","../../../conversation_sdk/src/lib/_internal/enums/index.ts","../../../conversation_sdk/src/lib/_internal/objects/message.ts","../../../conversation_sdk/src/lib/_internal/objects/conversation.ts","../../../conversation_sdk/src/lib/_internal/objects/participant.ts","../../../conversation_sdk/src/lib/_internal/objects/api.ts","../../../conversation_sdk/src/lib/_internal/objects/index.ts","../../../conversation_sdk/src/lib/_generated/host.service.ts","../../../conversation_sdk/src/lib/_internal/conversation.api.service.ts","../../../conversation_sdk/src/lib/_internal/index.ts","../../../conversation_sdk/src/vendasta-conversation.ts"],"sourcesContent":["// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum MessageStatus {\n MESSAGE_STATUS_NOT_READ = 0,\n MESSAGE_STATUS_READ = 1,\n MESSAGE_STATUS_SENT = 2,\n MESSAGE_STATUS_DELIVERED = 3,\n MESSAGE_STATUS_FAILED = 4,\n MESSAGE_STATUS_UNDELIVERED = 5,\n}\n\nexport enum MessageType {\n MESSAGE_TYPE_MESSAGE = 0,\n MESSAGE_TYPE_MEDIA = 1,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum ConversationChannel {\n CONVERSATION_CHANNEL_UNDEFINED = 0,\n CONVERSATION_CHANNEL_INTERNAL = 1,\n CONVERSATION_CHANNEL_SMS = 2,\n CONVERSATION_CHANNEL_FACEBOOK = 3,\n CONVERSATION_CHANNEL_GOOGLE_MESSAGES = 4,\n}\n\nexport enum PlatformLocation {\n PLATFORM_LOCATION_UNDEFINED = 0,\n PLATFORM_LOCATION_BUSINESS_APP = 1,\n PLATFORM_LOCATION_PARTNER_CENTER = 2,\n PLATFORM_LOCATION_VENDOR_CENTER = 3,\n PLATFORM_LOCATION_TASK_MANAGER = 4,\n PLATFORM_LOCATION_PROPOSAL_BUILDER = 5,\n PLATFORM_LOCATION_SALES_CENTER = 6,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum ParticipantType {\n PARTICIPANT_TYPE_UNDEFINED = 0,\n PARTICIPANT_TYPE_CUSTOMER = 1,\n PARTICIPANT_TYPE_IAM_USER = 2,\n PARTICIPANT_TYPE_ACCOUNT_GROUP = 3,\n PARTICIPANT_TYPE_PARTNER = 4,\n PARTICIPANT_TYPE_IAM_TEMPORARY_SUBJECT = 5,\n PARTICIPANT_TYPE_DIGITAL_AGENT = 6,\n PARTICIPANT_TYPE_VENDOR = 7,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum MetadataIdentifier {\n METADATA_IDENTIFIER_UNDEFINED = 0,\n METADATA_IDENTIFIER_RECIPIENT = 1,\n METADATA_IDENTIFIER_SENDER = 2,\n METADATA_IDENTIFIER_CONVERSATION = 3,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums Index.\n// *********************************\nexport {\n MessageStatus,\n MessageType,\n} from './message.enum';\nexport {\n ConversationChannel,\n PlatformLocation,\n} from './conversation.enum';\nexport {\n ParticipantType,\n} from './participant.enum';\nexport {\n MetadataIdentifier,\n} from './api.enum';\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class Message implements i.MessageInterface {\n messageId: string;\n externalMessageId: string;\n conversationId: string;\n participantId: string;\n type: e.MessageType;\n body: string;\n error: string;\n created: Date;\n updated: Date;\n deleted: Date;\n media: string[];\n\n static fromProto(proto: any): Message {\n let m = new Message();\n m = Object.assign(m, proto);\n if (proto.type) {m.type = enumStringToValue<e.MessageType>(e.MessageType, proto.type);}\n if (proto.created) {m.created = new Date(proto.created);}\n if (proto.updated) {m.updated = new Date(proto.updated);}\n if (proto.deleted) {m.deleted = new Date(proto.deleted);}\n return m;\n }\n\n constructor(kwargs?: i.MessageInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.messageId !== 'undefined') {toReturn['messageId'] = this.messageId;}\n if (typeof this.externalMessageId !== 'undefined') {toReturn['externalMessageId'] = this.externalMessageId;}\n if (typeof this.conversationId !== 'undefined') {toReturn['conversationId'] = this.conversationId;}\n if (typeof this.participantId !== 'undefined') {toReturn['participantId'] = this.participantId;}\n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n if (typeof this.body !== 'undefined') {toReturn['body'] = this.body;}\n if (typeof this.error !== 'undefined') {toReturn['error'] = this.error;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.updated !== 'undefined' && this.updated !== null) {toReturn['updated'] = 'toApiJson' in this.updated ? (this.updated as any).toApiJson() : this.updated;}\n if (typeof this.deleted !== 'undefined' && this.deleted !== null) {toReturn['deleted'] = 'toApiJson' in this.deleted ? (this.deleted as any).toApiJson() : this.deleted;}\n if (typeof this.media !== 'undefined') {toReturn['media'] = this.media;}\n return toReturn;\n }\n}\n\nexport class ParticipantMessageStatus implements i.ParticipantMessageStatusInterface {\n participantId: string;\n messageId: string;\n status: e.MessageStatus;\n updated: Date;\n\n static fromProto(proto: any): ParticipantMessageStatus {\n let m = new ParticipantMessageStatus();\n m = Object.assign(m, proto);\n if (proto.status) {m.status = enumStringToValue<e.MessageStatus>(e.MessageStatus, proto.status);}\n if (proto.updated) {m.updated = new Date(proto.updated);}\n return m;\n }\n\n constructor(kwargs?: i.ParticipantMessageStatusInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.participantId !== 'undefined') {toReturn['participantId'] = this.participantId;}\n if (typeof this.messageId !== 'undefined') {toReturn['messageId'] = this.messageId;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n if (typeof this.updated !== 'undefined' && this.updated !== null) {toReturn['updated'] = 'toApiJson' in this.updated ? (this.updated as any).toApiJson() : this.updated;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class Conversation implements i.ConversationInterface {\n conversationId: string;\n channel: e.ConversationChannel;\n externalConversationId: string;\n created: Date;\n updated: Date;\n deleted: Date;\n participantIds: string[];\n latestMsgSentTime: Date;\n originLocation: e.PlatformLocation;\n originLocationExternalId: string;\n\n static fromProto(proto: any): Conversation {\n let m = new Conversation();\n m = Object.assign(m, proto);\n if (proto.channel) {m.channel = enumStringToValue<e.ConversationChannel>(e.ConversationChannel, proto.channel);}\n if (proto.created) {m.created = new Date(proto.created);}\n if (proto.updated) {m.updated = new Date(proto.updated);}\n if (proto.deleted) {m.deleted = new Date(proto.deleted);}\n if (proto.latestMsgSentTime) {m.latestMsgSentTime = new Date(proto.latestMsgSentTime);}\n if (proto.originLocation) {m.originLocation = enumStringToValue<e.PlatformLocation>(e.PlatformLocation, proto.originLocation);}\n return m;\n }\n\n constructor(kwargs?: i.ConversationInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversationId !== 'undefined') {toReturn['conversationId'] = this.conversationId;}\n if (typeof this.channel !== 'undefined') {toReturn['channel'] = this.channel;}\n if (typeof this.externalConversationId !== 'undefined') {toReturn['externalConversationId'] = this.externalConversationId;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.updated !== 'undefined' && this.updated !== null) {toReturn['updated'] = 'toApiJson' in this.updated ? (this.updated as any).toApiJson() : this.updated;}\n if (typeof this.deleted !== 'undefined' && this.deleted !== null) {toReturn['deleted'] = 'toApiJson' in this.deleted ? (this.deleted as any).toApiJson() : this.deleted;}\n if (typeof this.participantIds !== 'undefined') {toReturn['participantIds'] = this.participantIds;}\n if (typeof this.latestMsgSentTime !== 'undefined' && this.latestMsgSentTime !== null) {toReturn['latestMsgSentTime'] = 'toApiJson' in this.latestMsgSentTime ? (this.latestMsgSentTime as any).toApiJson() : this.latestMsgSentTime;}\n if (typeof this.originLocation !== 'undefined') {toReturn['originLocation'] = this.originLocation;}\n if (typeof this.originLocationExternalId !== 'undefined') {toReturn['originLocationExternalId'] = this.originLocationExternalId;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class Address implements i.AddressInterface {\n firstLineAddress: string;\n secondLineAddress: string;\n city: string;\n state: string;\n country: string;\n zipCode: string;\n\n static fromProto(proto: any): Address {\n let m = new Address();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.AddressInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.firstLineAddress !== 'undefined') {toReturn['firstLineAddress'] = this.firstLineAddress;}\n if (typeof this.secondLineAddress !== 'undefined') {toReturn['secondLineAddress'] = this.secondLineAddress;}\n if (typeof this.city !== 'undefined') {toReturn['city'] = this.city;}\n if (typeof this.state !== 'undefined') {toReturn['state'] = this.state;}\n if (typeof this.country !== 'undefined') {toReturn['country'] = this.country;}\n if (typeof this.zipCode !== 'undefined') {toReturn['zipCode'] = this.zipCode;}\n return toReturn;\n }\n}\n\nexport class Participant implements i.ParticipantInterface {\n participantId: string;\n internalParticipantId: string;\n partnerId: string;\n accountGroupId: string;\n location: e.PlatformLocation;\n channel: e.ConversationChannel;\n externalParticipantId: string;\n name: string;\n created: Date;\n updated: Date;\n deleted: Date;\n participantType: e.ParticipantType;\n email: string;\n phoneNumber: string;\n address: Address;\n\n static fromProto(proto: any): Participant {\n let m = new Participant();\n m = Object.assign(m, proto);\n if (proto.location) {m.location = enumStringToValue<e.PlatformLocation>(e.PlatformLocation, proto.location);}\n if (proto.channel) {m.channel = enumStringToValue<e.ConversationChannel>(e.ConversationChannel, proto.channel);}\n if (proto.created) {m.created = new Date(proto.created);}\n if (proto.updated) {m.updated = new Date(proto.updated);}\n if (proto.deleted) {m.deleted = new Date(proto.deleted);}\n if (proto.participantType) {m.participantType = enumStringToValue<e.ParticipantType>(e.ParticipantType, proto.participantType);}\n if (proto.address) {m.address = Address.fromProto(proto.address);}\n return m;\n }\n\n constructor(kwargs?: i.ParticipantInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.participantId !== 'undefined') {toReturn['participantId'] = this.participantId;}\n if (typeof this.internalParticipantId !== 'undefined') {toReturn['internalParticipantId'] = this.internalParticipantId;}\n if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n if (typeof this.accountGroupId !== 'undefined') {toReturn['accountGroupId'] = this.accountGroupId;}\n if (typeof this.location !== 'undefined') {toReturn['location'] = this.location;}\n if (typeof this.channel !== 'undefined') {toReturn['channel'] = this.channel;}\n if (typeof this.externalParticipantId !== 'undefined') {toReturn['externalParticipantId'] = this.externalParticipantId;}\n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.updated !== 'undefined' && this.updated !== null) {toReturn['updated'] = 'toApiJson' in this.updated ? (this.updated as any).toApiJson() : this.updated;}\n if (typeof this.deleted !== 'undefined' && this.deleted !== null) {toReturn['deleted'] = 'toApiJson' in this.deleted ? (this.deleted as any).toApiJson() : this.deleted;}\n if (typeof this.participantType !== 'undefined') {toReturn['participantType'] = this.participantType;}\n if (typeof this.email !== 'undefined') {toReturn['email'] = this.email;}\n if (typeof this.phoneNumber !== 'undefined') {toReturn['phoneNumber'] = this.phoneNumber;}\n if (typeof this.address !== 'undefined' && this.address !== null) {toReturn['address'] = 'toApiJson' in this.address ? (this.address as any).toApiJson() : this.address;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { Conversation } from './conversation';\nimport { Message } from './message';\nimport { Participant } from './participant';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class AddMultiParticipantsRequest implements i.AddMultiParticipantsRequestInterface {\n conversationId: string;\n participants: Participant[];\n\n static fromProto(proto: any): AddMultiParticipantsRequest {\n let m = new AddMultiParticipantsRequest();\n m = Object.assign(m, proto);\n if (proto.participants) {m.participants = proto.participants.map(Participant.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.AddMultiParticipantsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversationId !== 'undefined') {toReturn['conversationId'] = this.conversationId;}\n if (typeof this.participants !== 'undefined' && this.participants !== null) {toReturn['participants'] = 'toApiJson' in this.participants ? (this.participants as any).toApiJson() : this.participants;}\n return toReturn;\n }\n}\n\nexport class AddMultiParticipantsResponse implements i.AddMultiParticipantsResponseInterface {\n participants: Participant[];\n\n static fromProto(proto: any): AddMultiParticipantsResponse {\n let m = new AddMultiParticipantsResponse();\n m = Object.assign(m, proto);\n if (proto.participants) {m.participants = proto.participants.map(Participant.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.AddMultiParticipantsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.participants !== 'undefined' && this.participants !== null) {toReturn['participants'] = 'toApiJson' in this.participants ? (this.participants as any).toApiJson() : this.participants;}\n return toReturn;\n }\n}\n\nexport class ConversationMessageCount implements i.ConversationMessageCountInterface {\n conversationId: string;\n count: number;\n\n static fromProto(proto: any): ConversationMessageCount {\n let m = new ConversationMessageCount();\n m = Object.assign(m, proto);\n if (proto.count) {m.count = parseInt(proto.count, 10);}\n return m;\n }\n\n constructor(kwargs?: i.ConversationMessageCountInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversationId !== 'undefined') {toReturn['conversationId'] = this.conversationId;}\n if (typeof this.count !== 'undefined') {toReturn['count'] = this.count;}\n return toReturn;\n }\n}\n\nexport class LookupConversationsResponseConversations implements i.LookupConversationsResponseConversationsInterface {\n conversation: Conversation;\n participants: Participant[];\n\n static fromProto(proto: any): LookupConversationsResponseConversations {\n let m = new LookupConversationsResponseConversations();\n m = Object.assign(m, proto);\n if (proto.conversation) {m.conversation = Conversation.fromProto(proto.conversation);}\n if (proto.participants) {m.participants = proto.participants.map(Participant.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.LookupConversationsResponseConversationsInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversation !== 'undefined' && this.conversation !== null) {toReturn['conversation'] = 'toApiJson' in this.conversation ? (this.conversation as any).toApiJson() : this.conversation;}\n if (typeof this.participants !== 'undefined' && this.participants !== null) {toReturn['participants'] = 'toApiJson' in this.participants ? (this.participants as any).toApiJson() : this.participants;}\n return toReturn;\n }\n}\n\nexport class GetMultiConversationMessageCountResponseCountsEntry implements i.GetMultiConversationMessageCountResponseCountsEntryInterface {\n key: string;\n value: number;\n\n static fromProto(proto: any): GetMultiConversationMessageCountResponseCountsEntry {\n let m = new GetMultiConversationMessageCountResponseCountsEntry();\n m = Object.assign(m, proto);\n if (proto.value) {m.value = parseInt(proto.value, 10);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiConversationMessageCountResponseCountsEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n return toReturn;\n }\n}\n\nexport class CreateConversationRequest implements i.CreateConversationRequestInterface {\n participants: Participant[];\n channel: e.ConversationChannel;\n externalConversationId: string;\n created: Date;\n updated: Date;\n originLocation: e.PlatformLocation;\n originLocationExternalId: string;\n\n static fromProto(proto: any): CreateConversationRequest {\n let m = new CreateConversationRequest();\n m = Object.assign(m, proto);\n if (proto.participants) {m.participants = proto.participants.map(Participant.fromProto);}\n if (proto.channel) {m.channel = enumStringToValue<e.ConversationChannel>(e.ConversationChannel, proto.channel);}\n if (proto.created) {m.created = new Date(proto.created);}\n if (proto.updated) {m.updated = new Date(proto.updated);}\n if (proto.originLocation) {m.originLocation = enumStringToValue<e.PlatformLocation>(e.PlatformLocation, proto.originLocation);}\n return m;\n }\n\n constructor(kwargs?: i.CreateConversationRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.participants !== 'undefined' && this.participants !== null) {toReturn['participants'] = 'toApiJson' in this.participants ? (this.participants as any).toApiJson() : this.participants;}\n if (typeof this.channel !== 'undefined') {toReturn['channel'] = this.channel;}\n if (typeof this.externalConversationId !== 'undefined') {toReturn['externalConversationId'] = this.externalConversationId;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.updated !== 'undefined' && this.updated !== null) {toReturn['updated'] = 'toApiJson' in this.updated ? (this.updated as any).toApiJson() : this.updated;}\n if (typeof this.originLocation !== 'undefined') {toReturn['originLocation'] = this.originLocation;}\n if (typeof this.originLocationExternalId !== 'undefined') {toReturn['originLocationExternalId'] = this.originLocationExternalId;}\n return toReturn;\n }\n}\n\nexport class CreateConversationResponse implements i.CreateConversationResponseInterface {\n conversation: Conversation;\n participants: Participant[];\n\n static fromProto(proto: any): CreateConversationResponse {\n let m = new CreateConversationResponse();\n m = Object.assign(m, proto);\n if (proto.conversation) {m.conversation = Conversation.fromProto(proto.conversation);}\n if (proto.participants) {m.participants = proto.participants.map(Participant.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.CreateConversationResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversation !== 'undefined' && this.conversation !== null) {toReturn['conversation'] = 'toApiJson' in this.conversation ? (this.conversation as any).toApiJson() : this.conversation;}\n if (typeof this.participants !== 'undefined' && this.participants !== null) {toReturn['participants'] = 'toApiJson' in this.participants ? (this.participants as any).toApiJson() : this.participants;}\n return toReturn;\n }\n}\n\nexport class CreateMultiMessagesRequest implements i.CreateMultiMessagesRequestInterface {\n messages: Message[];\n lastSeen: Date;\n\n static fromProto(proto: any): CreateMultiMessagesRequest {\n let m = new CreateMultiMessagesRequest();\n m = Object.assign(m, proto);\n if (proto.messages) {m.messages = proto.messages.map(Message.fromProto);}\n if (proto.lastSeen) {m.lastSeen = new Date(proto.lastSeen);}\n return m;\n }\n\n constructor(kwargs?: i.CreateMultiMessagesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.messages !== 'undefined' && this.messages !== null) {toReturn['messages'] = 'toApiJson' in this.messages ? (this.messages as any).toApiJson() : this.messages;}\n if (typeof this.lastSeen !== 'undefined' && this.lastSeen !== null) {toReturn['lastSeen'] = 'toApiJson' in this.lastSeen ? (this.lastSeen as any).toApiJson() : this.lastSeen;}\n return toReturn;\n }\n}\n\nexport class MetadataDataEntry implements i.MetadataDataEntryInterface {\n key: string;\n value: string;\n\n static fromProto(proto: any): MetadataDataEntry {\n let m = new MetadataDataEntry();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.MetadataDataEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n return toReturn;\n }\n}\n\nexport class DeleteConversationRequest implements i.DeleteConversationRequestInterface {\n conversationId: string;\n\n static fromProto(proto: any): DeleteConversationRequest {\n let m = new DeleteConversationRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DeleteConversationRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversationId !== 'undefined') {toReturn['conversationId'] = this.conversationId;}\n return toReturn;\n }\n}\n\nexport class DeleteMessageRequest implements i.DeleteMessageRequestInterface {\n messageId: string;\n\n static fromProto(proto: any): DeleteMessageRequest {\n let m = new DeleteMessageRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DeleteMessageRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.messageId !== 'undefined') {toReturn['messageId'] = this.messageId;}\n return toReturn;\n }\n}\n\nexport class GetMultiConversationDetailsResponseDetailedConversation implements i.GetMultiConversationDetailsResponseDetailedConversationInterface {\n conversation: Conversation;\n latestMessage: Message;\n participants: Participant[];\n\n static fromProto(proto: any): GetMultiConversationDetailsResponseDetailedConversation {\n let m = new GetMultiConversationDetailsResponseDetailedConversation();\n m = Object.assign(m, proto);\n if (proto.conversation) {m.conversation = Conversation.fromProto(proto.conversation);}\n if (proto.latestMessage) {m.latestMessage = Message.fromProto(proto.latestMessage);}\n if (proto.participants) {m.participants = proto.participants.map(Participant.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiConversationDetailsResponseDetailedConversationInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversation !== 'undefined' && this.conversation !== null) {toReturn['conversation'] = 'toApiJson' in this.conversation ? (this.conversation as any).toApiJson() : this.conversation;}\n if (typeof this.latestMessage !== 'undefined' && this.latestMessage !== null) {toReturn['latestMessage'] = 'toApiJson' in this.latestMessage ? (this.latestMessage as any).toApiJson() : this.latestMessage;}\n if (typeof this.participants !== 'undefined' && this.participants !== null) {toReturn['participants'] = 'toApiJson' in this.participants ? (this.participants as any).toApiJson() : this.participants;}\n return toReturn;\n }\n}\n\nexport class SearchConversationsResponseDetailedConversation implements i.SearchConversationsResponseDetailedConversationInterface {\n conversation: Conversation;\n latestMessage: Message;\n participants: Participant[];\n\n static fromProto(proto: any): SearchConversationsResponseDetailedConversation {\n let m = new SearchConversationsResponseDetailedConversation();\n m = Object.assign(m, proto);\n if (proto.conversation) {m.conversation = Conversation.fromProto(proto.conversation);}\n if (proto.latestMessage) {m.latestMessage = Message.fromProto(proto.latestMessage);}\n if (proto.participants) {m.participants = proto.participants.map(Participant.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.SearchConversationsResponseDetailedConversationInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversation !== 'undefined' && this.conversation !== null) {toReturn['conversation'] = 'toApiJson' in this.conversation ? (this.conversation as any).toApiJson() : this.conversation;}\n if (typeof this.latestMessage !== 'undefined' && this.latestMessage !== null) {toReturn['latestMessage'] = 'toApiJson' in this.latestMessage ? (this.latestMessage as any).toApiJson() : this.latestMessage;}\n if (typeof this.participants !== 'undefined' && this.participants !== null) {toReturn['participants'] = 'toApiJson' in this.participants ? (this.participants as any).toApiJson() : this.participants;}\n return toReturn;\n }\n}\n\nexport class GetMessageRequest implements i.GetMessageRequestInterface {\n messageId: string;\n\n static fromProto(proto: any): GetMessageRequest {\n let m = new GetMessageRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMessageRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.messageId !== 'undefined') {toReturn['messageId'] = this.messageId;}\n return toReturn;\n }\n}\n\nexport class GetMultiConversationDetailsRequest implements i.GetMultiConversationDetailsRequestInterface {\n conversationIds: string[];\n\n static fromProto(proto: any): GetMultiConversationDetailsRequest {\n let m = new GetMultiConversationDetailsRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMultiConversationDetailsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversationIds !== 'undefined') {toReturn['conversationIds'] = this.conversationIds;}\n return toReturn;\n }\n}\n\nexport class GetMultiConversationDetailsResponse implements i.GetMultiConversationDetailsResponseInterface {\n conversations: GetMultiConversationDetailsResponseDetailedConversation[];\n\n static fromProto(proto: any): GetMultiConversationDetailsResponse {\n let m = new GetMultiConversationDetailsResponse();\n m = Object.assign(m, proto);\n if (proto.conversations) {m.conversations = proto.conversations.map(GetMultiConversationDetailsResponseDetailedConversation.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiConversationDetailsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversations !== 'undefined' && this.conversations !== null) {toReturn['conversations'] = 'toApiJson' in this.conversations ? (this.conversations as any).toApiJson() : this.conversations;}\n return toReturn;\n }\n}\n\nexport class GetMultiConversationMessageCountRequest implements i.GetMultiConversationMessageCountRequestInterface {\n conversationIds: string[];\n\n static fromProto(proto: any): GetMultiConversationMessageCountRequest {\n let m = new GetMultiConversationMessageCountRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMultiConversationMessageCountRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversationIds !== 'undefined') {toReturn['conversationIds'] = this.conversationIds;}\n return toReturn;\n }\n}\n\nexport class GetMultiConversationMessageCountResponse implements i.GetMultiConversationMessageCountResponseInterface {\n messageCounts: ConversationMessageCount[];\n counts: {[key: string]: number};\n\n static fromProto(proto: any): GetMultiConversationMessageCountResponse {\n let m = new GetMultiConversationMessageCountResponse();\n m = Object.assign(m, proto);\n if (proto.messageCounts) {m.messageCounts = proto.messageCounts.map(ConversationMessageCount.fromProto);}\n if (proto.counts) {m.counts = Object.keys(proto.counts).reduce<any>((obj, k) => { obj[k] = parseInt(proto.counts[k], 10); return obj; }, {});}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiConversationMessageCountResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.messageCounts !== 'undefined' && this.messageCounts !== null) {toReturn['messageCounts'] = 'toApiJson' in this.messageCounts ? (this.messageCounts as any).toApiJson() : this.messageCounts;}\n if (typeof this.counts !== 'undefined' && this.counts !== null) {toReturn['counts'] = 'toApiJson' in this.counts ? (this.counts as any).toApiJson() : this.counts;}\n return toReturn;\n }\n}\n\nexport class GetMultiMessagesRequest implements i.GetMultiMessagesRequestInterface {\n messageIds: string[];\n\n static fromProto(proto: any): GetMultiMessagesRequest {\n let m = new GetMultiMessagesRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMultiMessagesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.messageIds !== 'undefined') {toReturn['messageIds'] = this.messageIds;}\n return toReturn;\n }\n}\n\nexport class GetMultiMessagesResponse implements i.GetMultiMessagesResponseInterface {\n messages: Message[];\n\n static fromProto(proto: any): GetMultiMessagesResponse {\n let m = new GetMultiMessagesResponse();\n m = Object.assign(m, proto);\n if (proto.messages) {m.messages = proto.messages.map(Message.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiMessagesResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.messages !== 'undefined' && this.messages !== null) {toReturn['messages'] = 'toApiJson' in this.messages ? (this.messages as any).toApiJson() : this.messages;}\n return toReturn;\n }\n}\n\nexport class GetMultiParticipantsRequest implements i.GetMultiParticipantsRequestInterface {\n participantIds: string[];\n\n static fromProto(proto: any): GetMultiParticipantsRequest {\n let m = new GetMultiParticipantsRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMultiParticipantsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.participantIds !== 'undefined') {toReturn['participantIds'] = this.participantIds;}\n return toReturn;\n }\n}\n\nexport class GetMultiParticipantsResponse implements i.GetMultiParticipantsResponseInterface {\n participants: Participant[];\n\n static fromProto(proto: any): GetMultiParticipantsResponse {\n let m = new GetMultiParticipantsResponse();\n m = Object.assign(m, proto);\n if (proto.participants) {m.participants = proto.participants.map(Participant.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiParticipantsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.participants !== 'undefined' && this.participants !== null) {toReturn['participants'] = 'toApiJson' in this.participants ? (this.participants as any).toApiJson() : this.participants;}\n return toReturn;\n }\n}\n\nexport class ListMessagesRequestListMessagesFilters implements i.ListMessagesRequestListMessagesFiltersInterface {\n conversationId: string;\n\n static fromProto(proto: any): ListMessagesRequestListMessagesFilters {\n let m = new ListMessagesRequestListMessagesFilters();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ListMessagesRequestListMessagesFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversationId !== 'undefined') {toReturn['conversationId'] = this.conversationId;}\n return toReturn;\n }\n}\n\nexport class ListMessagesRequest implements i.ListMessagesRequestInterface {\n filters: ListMessagesRequestListMessagesFilters;\n pagingOptions: PagedRequestOptions;\n\n static fromProto(proto: any): ListMessagesRequest {\n let m = new ListMessagesRequest();\n m = Object.assign(m, proto);\n if (proto.filters) {m.filters = ListMessagesRequestListMessagesFilters.fromProto(proto.filters);}\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.ListMessagesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n return toReturn;\n }\n}\n\nexport class ListMessagesResponse implements i.ListMessagesResponseInterface {\n messages: Message[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListMessagesResponse {\n let m = new ListMessagesResponse();\n m = Object.assign(m, proto);\n if (proto.messages) {m.messages = proto.messages.map(Message.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListMessagesResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.messages !== 'undefined' && this.messages !== null) {toReturn['messages'] = 'toApiJson' in this.messages ? (this.messages as any).toApiJson() : this.messages;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class LookupConversationsRequestLookupConversationsFilters implements i.LookupConversationsRequestLookupConversationsFiltersInterface {\n internalParticipantId: string[];\n location: e.PlatformLocation;\n channel: e.ConversationChannel;\n accountGroupId: string;\n externalConversationId: string;\n originLocation: e.PlatformLocation;\n originLocationExternalId: string;\n\n static fromProto(proto: any): LookupConversationsRequestLookupConversationsFilters {\n let m = new LookupConversationsRequestLookupConversationsFilters();\n m = Object.assign(m, proto);\n if (proto.location) {m.location = enumStringToValue<e.PlatformLocation>(e.PlatformLocation, proto.location);}\n if (proto.channel) {m.channel = enumStringToValue<e.ConversationChannel>(e.ConversationChannel, proto.channel);}\n if (proto.originLocation) {m.originLocation = enumStringToValue<e.PlatformLocation>(e.PlatformLocation, proto.originLocation);}\n return m;\n }\n\n constructor(kwargs?: i.LookupConversationsRequestLookupConversationsFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.internalParticipantId !== 'undefined') {toReturn['internalParticipantId'] = this.internalParticipantId;}\n if (typeof this.location !== 'undefined') {toReturn['location'] = this.location;}\n if (typeof this.channel !== 'undefined') {toReturn['channel'] = this.channel;}\n if (typeof this.accountGroupId !== 'undefined') {toReturn['accountGroupId'] = this.accountGroupId;}\n if (typeof this.externalConversationId !== 'undefined') {toReturn['externalConversationId'] = this.externalConversationId;}\n if (typeof this.originLocation !== 'undefined') {toReturn['originLocation'] = this.originLocation;}\n if (typeof this.originLocationExternalId !== 'undefined') {toReturn['originLocationExternalId'] = this.originLocationExternalId;}\n return toReturn;\n }\n}\n\nexport class LookupConversationsRequest implements i.LookupConversationsRequestInterface {\n filters: LookupConversationsRequestLookupConversationsFilters;\n pagingOptions: PagedRequestOptions;\n\n static fromProto(proto: any): LookupConversationsRequest {\n let m = new LookupConversationsRequest();\n m = Object.assign(m, proto);\n if (proto.filters) {m.filters = LookupConversationsRequestLookupConversationsFilters.fromProto(proto.filters);}\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.LookupConversationsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n return toReturn;\n }\n}\n\nexport class LookupConversationsResponse implements i.LookupConversationsResponseInterface {\n conversations: LookupConversationsResponseConversations[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): LookupConversationsResponse {\n let m = new LookupConversationsResponse();\n m = Object.assign(m, proto);\n if (proto.conversations) {m.conversations = proto.conversations.map(LookupConversationsResponseConversations.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.LookupConversationsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversations !== 'undefined' && this.conversations !== null) {toReturn['conversations'] = 'toApiJson' in this.conversations ? (this.conversations as any).toApiJson() : this.conversations;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class Metadata implements i.MetadataInterface {\n identifier: e.MetadataIdentifier;\n data: {[key: string]: string};\n\n static fromProto(proto: any): Metadata {\n let m = new Metadata();\n m = Object.assign(m, proto);\n if (proto.identifier) {m.identifier = enumStringToValue<e.MetadataIdentifier>(e.MetadataIdentifier, proto.identifier);}\n if (proto.data) {m.data = Object.keys(proto.data).reduce<any>((obj, k) => { obj[k] = proto.data[k]; return obj; }, {});}\n return m;\n }\n\n constructor(kwargs?: i.MetadataInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.identifier !== 'undefined') {toReturn['identifier'] = this.identifier;}\n if (typeof this.data !== 'undefined' && this.data !== null) {toReturn['data'] = 'toApiJson' in this.data ? (this.data as any).toApiJson() : this.data;}\n return toReturn;\n }\n}\n\nexport class ReceiveMessageRequestMetadataEntry implements i.ReceiveMessageRequestMetadataEntryInterface {\n key: string;\n value: string;\n\n static fromProto(proto: any): ReceiveMessageRequestMetadataEntry {\n let m = new ReceiveMessageRequestMetadataEntry();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ReceiveMessageRequestMetadataEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n return toReturn;\n }\n}\n\nexport class PagedRequestOptions implements i.PagedRequestOptionsInterface {\n cursor: string;\n pageSize: number;\n\n static fromProto(proto: any): PagedRequestOptions {\n let m = new PagedRequestOptions();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.PagedRequestOptionsInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.cursor !== 'undefined') {toReturn['cursor'] = this.cursor;}\n if (typeof this.pageSize !== 'undefined') {toReturn['pageSize'] = this.pageSize;}\n return toReturn;\n }\n}\n\nexport class PagedResponseMetadata implements i.PagedResponseMetadataInterface {\n nextCursor: string;\n hasMore: boolean;\n\n static fromProto(proto: any): PagedResponseMetadata {\n let m = new PagedResponseMetadata();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.PagedResponseMetadataInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.nextCursor !== 'undefined') {toReturn['nextCursor'] = this.nextCursor;}\n if (typeof this.hasMore !== 'undefined') {toReturn['hasMore'] = this.hasMore;}\n return toReturn;\n }\n}\n\nexport class ReceiveMessageRequest implements i.ReceiveMessageRequestInterface {\n senderId: string;\n recipientId: string;\n conversationId: string;\n messageId: string;\n body: string;\n channel: e.ConversationChannel;\n type: e.MessageType;\n location: e.PlatformLocation;\n partnerId: string;\n accountGroupId: string;\n metadata: {[key: string]: string};\n media: string[];\n\n static fromProto(proto: any): ReceiveMessageRequest {\n let m = new ReceiveMessageRequest();\n m = Object.assign(m, proto);\n if (proto.channel) {m.channel = enumStringToValue<e.ConversationChannel>(e.ConversationChannel, proto.channel);}\n if (proto.type) {m.type = enumStringToValue<e.MessageType>(e.MessageType, proto.type);}\n if (proto.location) {m.location = enumStringToValue<e.PlatformLocation>(e.PlatformLocation, proto.location);}\n if (proto.metadata) {m.metadata = Object.keys(proto.metadata).reduce<any>((obj, k) => { obj[k] = proto.metadata[k]; return obj; }, {});}\n return m;\n }\n\n constructor(kwargs?: i.ReceiveMessageRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.senderId !== 'undefined') {toReturn['senderId'] = this.senderId;}\n if (typeof this.recipientId !== 'undefined') {toReturn['recipientId'] = this.recipientId;}\n if (typeof this.conversationId !== 'undefined') {toReturn['conversationId'] = this.conversationId;}\n if (typeof this.messageId !== 'undefined') {toReturn['messageId'] = this.messageId;}\n if (typeof this.body !== 'undefined') {toReturn['body'] = this.body;}\n if (typeof this.channel !== 'undefined') {toReturn['channel'] = this.channel;}\n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n if (typeof this.location !== 'undefined') {toReturn['location'] = this.location;}\n if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n if (typeof this.accountGroupId !== 'undefined') {toReturn['accountGroupId'] = this.accountGroupId;}\n if (typeof this.metadata !== 'undefined' && this.metadata !== null) {toReturn['metadata'] = 'toApiJson' in this.metadata ? (this.metadata as any).toApiJson() : this.metadata;}\n if (typeof this.media !== 'undefined') {toReturn['media'] = this.media;}\n return toReturn;\n }\n}\n\nexport class SearchConversationsRequest implements i.SearchConversationsRequestInterface {\n partnerId: string;\n accountGroupId: string;\n location: e.PlatformLocation;\n searchTerm: string;\n pagingOptions: PagedRequestOptions;\n\n static fromProto(proto: any): SearchConversationsRequest {\n let m = new SearchConversationsRequest();\n m = Object.assign(m, proto);\n if (proto.location) {m.location = enumStringToValue<e.PlatformLocation>(e.PlatformLocation, proto.location);}\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.SearchConversationsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n if (typeof this.accountGroupId !== 'undefined') {toReturn['accountGroupId'] = this.accountGroupId;}\n if (typeof this.location !== 'undefined') {toReturn['location'] = this.location;}\n if (typeof this.searchTerm !== 'undefined') {toReturn['searchTerm'] = this.searchTerm;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n return toReturn;\n }\n}\n\nexport class SearchConversationsResponse implements i.SearchConversationsResponseInterface {\n conversations: SearchConversationsResponseDetailedConversation[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): SearchConversationsResponse {\n let m = new SearchConversationsResponse();\n m = Object.assign(m, proto);\n if (proto.conversations) {m.conversations = proto.conversations.map(SearchConversationsResponseDetailedConversation.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.SearchConversationsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversations !== 'undefined' && this.conversations !== null) {toReturn['conversations'] = 'toApiJson' in this.conversations ? (this.conversations as any).toApiJson() : this.conversations;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class SendMessageRequest implements i.SendMessageRequestInterface {\n sender: Participant;\n recipient: Participant;\n conversationId: string;\n type: e.MessageType;\n body: string;\n metadata: Metadata[];\n\n static fromProto(proto: any): SendMessageRequest {\n let m = new SendMessageRequest();\n m = Object.assign(m, proto);\n if (proto.sender) {m.sender = Participant.fromProto(proto.sender);}\n if (proto.recipient) {m.recipient = Participant.fromProto(proto.recipient);}\n if (proto.type) {m.type = enumStringToValue<e.MessageType>(e.MessageType, proto.type);}\n if (proto.metadata) {m.metadata = proto.metadata.map(Metadata.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.SendMessageRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.sender !== 'undefined' && this.sender !== null) {toReturn['sender'] = 'toApiJson' in this.sender ? (this.sender as any).toApiJson() : this.sender;}\n if (typeof this.recipient !== 'undefined' && this.recipient !== null) {toReturn['recipient'] = 'toApiJson' in this.recipient ? (this.recipient as any).toApiJson() : this.recipient;}\n if (typeof this.conversationId !== 'undefined') {toReturn['conversationId'] = this.conversationId;}\n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n if (typeof this.body !== 'undefined') {toReturn['body'] = this.body;}\n if (typeof this.metadata !== 'undefined' && this.metadata !== null) {toReturn['metadata'] = 'toApiJson' in this.metadata ? (this.metadata as any).toApiJson() : this.metadata;}\n return toReturn;\n }\n}\n\nexport class SendMessageResponse implements i.SendMessageResponseInterface {\n workflowId: string;\n\n static fromProto(proto: any): SendMessageResponse {\n let m = new SendMessageResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.SendMessageResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.workflowId !== 'undefined') {toReturn['workflowId'] = this.workflowId;}\n return toReturn;\n }\n}\n\nexport class UpdateMessageStatusRequest implements i.UpdateMessageStatusRequestInterface {\n messageId: string;\n participantId: string;\n status: e.MessageStatus;\n\n static fromProto(proto: any): UpdateMessageStatusRequest {\n let m = new UpdateMessageStatusRequest();\n m = Object.assign(m, proto);\n if (proto.status) {m.status = enumStringToValue<e.MessageStatus>(e.MessageStatus, proto.status);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateMessageStatusRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.messageId !== 'undefined') {toReturn['messageId'] = this.messageId;}\n if (typeof this.participantId !== 'undefined') {toReturn['participantId'] = this.participantId;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects Index.\n// *********************************\nexport {\n Message,\n ParticipantMessageStatus,\n} from './message';\n\nexport {\n Conversation,\n} from './conversation';\n\nexport {\n Address,\n Participant,\n} from './participant';\n\nexport {\n AddMultiParticipantsRequest,\n AddMultiParticipantsResponse,\n ConversationMessageCount,\n LookupConversationsResponseConversations,\n GetMultiConversationMessageCountResponseCountsEntry,\n CreateConversationRequest,\n CreateConversationResponse,\n CreateMultiMessagesRequest,\n MetadataDataEntry,\n DeleteConversationRequest,\n DeleteMessageRequest,\n GetMultiConversationDetailsResponseDetailedConversation,\n SearchConversationsResponseDetailedConversation,\n GetMessageRequest,\n GetMultiConversationDetailsRequest,\n GetMultiConversationDetailsResponse,\n GetMultiConversationMessageCountRequest,\n GetMultiConversationMessageCountResponse,\n GetMultiMessagesRequest,\n GetMultiMessagesResponse,\n GetMultiParticipantsRequest,\n GetMultiParticipantsResponse,\n ListMessagesRequestListMessagesFilters,\n ListMessagesRequest,\n ListMessagesResponse,\n LookupConversationsRequestLookupConversationsFilters,\n LookupConversationsRequest,\n LookupConversationsResponse,\n Metadata,\n ReceiveMessageRequestMetadataEntry,\n PagedRequestOptions,\n PagedResponseMetadata,\n ReceiveMessageRequest,\n SearchConversationsRequest,\n SearchConversationsResponse,\n SendMessageRequest,\n SendMessageResponse,\n UpdateMessageStatusRequest,\n} from './api';\n\n","import { Injectable } from '@angular/core';\nimport { EnvironmentService, Environment } from '@vendasta/core';\n\n@Injectable({providedIn: 'root'})\nexport class HostService {\n private _host: string;\n private _httpsHost: string;\n\n constructor(private environmentService: EnvironmentService) {\n }\n\n host(): string {\n if (this._host) {\n return this._host;\n }\n\n switch (this.environmentService.getEnvironment()) {\n case Environment.LOCAL:\n this._host = 'conversation-api.vendasta-local.com';\n break;\n case Environment.TEST:\n this._host = '';\n break;\n case Environment.DEMO:\n this._host = 'conversation-demo.apigateway.co';\n break;\n case Environment.PROD:\n this._host = 'conversation-prod.apigateway.co';\n break;\n }\n return this._host;\n }\n\n httpsHost(): string {\n if (this._httpsHost) {\n return this._httpsHost;\n }\n\n switch (this.environmentService.getEnvironment()) {\n case Environment.LOCAL:\n this._httpsHost = 'conversation.vendasta-local.com';\n break;\n case Environment.TEST:\n this._httpsHost = '';\n break;\n case Environment.DEMO:\n this._httpsHost = 'conversation-demo.apigateway.co';\n break;\n case Environment.PROD:\n this._httpsHost = 'conversation-prod.apigateway.co';\n break;\n }\n return this._httpsHost;\n }\n\n hostWithScheme(): string {\n const scheme = this.environmentService.getEnvironment() === Environment.LOCAL ? 'http://' : 'https://';\n return scheme + this.host()\n }\n\n httpsHostWithScheme(): string {\n const scheme = this.environmentService.getEnvironment() === Environment.LOCAL ? 'http://' : 'https://';\n return scheme + this.httpsHost()\n }\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n AddMultiParticipantsRequest,\n AddMultiParticipantsResponse,\n CreateConversationRequest,\n CreateConversationResponse,\n CreateMultiMessagesRequest,\n DeleteConversationRequest,\n DeleteMessageRequest,\n GetMessageRequest,\n GetMultiConversationDetailsRequest,\n GetMultiConversationDetailsResponse,\n GetMultiConversationMessageCountRequest,\n GetMultiConversationMessageCountResponse,\n GetMultiMessagesRequest,\n GetMultiMessagesResponse,\n GetMultiParticipantsRequest,\n GetMultiParticipantsResponse,\n ListMessagesRequest,\n ListMessagesResponse,\n LookupConversationsRequest,\n LookupConversationsResponse,\n Message,\n ReceiveMessageRequest,\n SearchConversationsRequest,\n SearchConversationsResponse,\n SendMessageRequest,\n SendMessageResponse,\n UpdateMessageStatusRequest,\n} from './objects/';\nimport {\n AddMultiParticipantsRequestInterface,\n AddMultiParticipantsResponseInterface,\n CreateConversationRequestInterface,\n CreateConversationResponseInterface,\n CreateMultiMessagesRequestInterface,\n DeleteConversationRequestInterface,\n DeleteMessageRequestInterface,\n GetMessageRequestInterface,\n GetMultiConversationDetailsRequestInterface,\n GetMultiConversationDetailsResponseInterface,\n GetMultiConversationMessageCountRequestInterface,\n GetMultiConversationMessageCountResponseInterface,\n GetMultiMessagesRequestInterface,\n GetMultiMessagesResponseInterface,\n GetMultiParticipantsRequestInterface,\n GetMultiParticipantsResponseInterface,\n ListMessagesRequestInterface,\n ListMessagesResponseInterface,\n LookupConversationsRequestInterface,\n LookupConversationsResponseInterface,\n MessageInterface,\n ReceiveMessageRequestInterface,\n SearchConversationsRequestInterface,\n SearchConversationsResponseInterface,\n SendMessageRequestInterface,\n SendMessageResponseInterface,\n UpdateMessageStatusRequestInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map, share} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class ConversationApiService {\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n sendMessage(r: SendMessageRequest | SendMessageRequestInterface): Observable<SendMessageResponse> {\n const request = ((<SendMessageRequest>r).toApiJson) ? (<SendMessageRequest>r) : new SendMessageRequest(r);\n return this.http.post<SendMessageResponseInterface>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/SendMessage\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => SendMessageResponse.fromProto(resp)),\n share()\n );\n }\n getMessage(r: GetMessageRequest | GetMessageRequestInterface): Observable<Message> {\n const request = ((<GetMessageRequest>r).toApiJson) ? (<GetMessageRequest>r) : new GetMessageRequest(r);\n return this.http.post<MessageInterface>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/GetMessage\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => Message.fromProto(resp)),\n share()\n );\n }\n listMessages(r: ListMessagesRequest | ListMessagesRequestInterface): Observable<ListMessagesResponse> {\n const request = ((<ListMessagesRequest>r).toApiJson) ? (<ListMessagesRequest>r) : new ListMessagesRequest(r);\n return this.http.post<ListMessagesResponseInterface>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/ListMessages\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListMessagesResponse.fromProto(resp)),\n share()\n );\n }\n deleteMessage(r: DeleteMessageRequest | DeleteMessageRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<DeleteMessageRequest>r).toApiJson) ? (<DeleteMessageRequest>r) : new DeleteMessageRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/DeleteMessage\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n updateMessageStatus(r: UpdateMessageStatusRequest | UpdateMessageStatusRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpdateMessageStatusRequest>r).toApiJson) ? (<UpdateMessageStatusRequest>r) : new UpdateMessageStatusRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/UpdateMessageStatus\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n lookupConversations(r: LookupConversationsRequest | LookupConversationsRequestInterface): Observable<LookupConversationsResponse> {\n const request = ((<LookupConversationsRequest>r).toApiJson) ? (<LookupConversationsRequest>r) : new LookupConversationsRequest(r);\n return this.http.post<LookupConversationsResponseInterface>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/LookupConversations\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => LookupConversationsResponse.fromProto(resp)),\n share()\n );\n }\n createConversation(r: CreateConversationRequest | CreateConversationRequestInterface): Observable<CreateConversationResponse> {\n const request = ((<CreateConversationRequest>r).toApiJson) ? (<CreateConversationRequest>r) : new CreateConversationRequest(r);\n return this.http.post<CreateConversationResponseInterface>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/CreateConversation\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => CreateConversationResponse.fromProto(resp)),\n share()\n );\n }\n deleteConversation(r: DeleteConversationRequest | DeleteConversationRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<DeleteConversationRequest>r).toApiJson) ? (<DeleteConversationRequest>r) : new DeleteConversationRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/DeleteConversation\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n receiveMessage(r: ReceiveMessageRequest | ReceiveMessageRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<ReceiveMessageRequest>r).toApiJson) ? (<ReceiveMessageRequest>r) : new ReceiveMessageRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/ReceiveMessage\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n getMultiMessages(r: GetMultiMessagesRequest | GetMultiMessagesRequestInterface): Observable<GetMultiMessagesResponse> {\n const request = ((<GetMultiMessagesRequest>r).toApiJson) ? (<GetMultiMessagesRequest>r) : new GetMultiMessagesRequest(r);\n return this.http.post<GetMultiMessagesResponseInterface>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/GetMultiMessages\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMultiMessagesResponse.fromProto(resp)),\n share()\n );\n }\n createMultiMessages(r: CreateMultiMessagesRequest | CreateMultiMessagesRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<CreateMultiMessagesRequest>r).toApiJson) ? (<CreateMultiMessagesRequest>r) : new CreateMultiMessagesRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/CreateMultiMessages\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n getMultiConversationDetails(r: GetMultiConversationDetailsRequest | GetMultiConversationDetailsRequestInterface): Observable<GetMultiConversationDetailsResponse> {\n const request = ((<GetMultiConversationDetailsRequest>r).toApiJson) ? (<GetMultiConversationDetailsRequest>r) : new GetMultiConversationDetailsRequest(r);\n return this.http.post<GetMultiConversationDetailsResponseInterface>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/GetMultiConversationDetails\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMultiConversationDetailsResponse.fromProto(resp)),\n share()\n );\n }\n getMultiParticipants(r: GetMultiParticipantsRequest | GetMultiParticipantsRequestInterface): Observable<GetMultiParticipantsResponse> {\n const request = ((<GetMultiParticipantsRequest>r).toApiJson) ? (<GetMultiParticipantsRequest>r) : new GetMultiParticipantsRequest(r);\n return this.http.post<GetMultiParticipantsResponseInterface>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/GetMultiParticipants\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMultiParticipantsResponse.fromProto(resp)),\n share()\n );\n }\n searchConversations(r: SearchConversationsRequest | SearchConversationsRequestInterface): Observable<SearchConversationsResponse> {\n const request = ((<SearchConversationsRequest>r).toApiJson) ? (<SearchConversationsRequest>r) : new SearchConversationsRequest(r);\n return this.http.post<SearchConversationsResponseInterface>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/SearchConversations\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => SearchConversationsResponse.fromProto(resp)),\n share()\n );\n }\n getMultiConversationMessageCount(r: GetMultiConversationMessageCountRequest | GetMultiConversationMessageCountRequestInterface): Observable<GetMultiConversationMessageCountResponse> {\n const request = ((<GetMultiConversationMessageCountRequest>r).toApiJson) ? (<GetMultiConversationMessageCountRequest>r) : new GetMultiConversationMessageCountRequest(r);\n return this.http.post<GetMultiConversationMessageCountResponseInterface>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/GetMultiConversationMessageCount\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMultiConversationMessageCountResponse.fromProto(resp)),\n share()\n );\n }\n addMultiParticipants(r: AddMultiParticipantsRequest | AddMultiParticipantsRequestInterface): Observable<AddMultiParticipantsResponse> {\n const request = ((<AddMultiParticipantsRequest>r).toApiJson) ? (<AddMultiParticipantsRequest>r) : new AddMultiParticipantsRequest(r);\n return this.http.post<AddMultiParticipantsResponseInterface>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/AddMultiParticipants\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => AddMultiParticipantsResponse.fromProto(resp)),\n share()\n );\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Index.\n// *********************************\n\nexport * from './enums';\nexport * from './objects';\nexport * from './interfaces';\nexport { ConversationApiService } from './conversation.api.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n\nexport {HostService as ɵa} from './lib/_generated/host.service';"],"names":["e.MessageType","e.MessageStatus","enumStringToValue","e.ConversationChannel","e.PlatformLocation","e.ParticipantType","e.MetadataIdentifier"],"mappings":"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"}
1
+ {"version":3,"file":"vendasta-conversation.js","sources":["../../../conversation_sdk/src/lib/_internal/enums/message.enum.ts","../../../conversation_sdk/src/lib/_internal/enums/conversation.enum.ts","../../../conversation_sdk/src/lib/_internal/enums/participant.enum.ts","../../../conversation_sdk/src/lib/_internal/enums/api.enum.ts","../../../conversation_sdk/src/lib/_internal/enums/index.ts","../../../conversation_sdk/src/lib/_internal/objects/message.ts","../../../conversation_sdk/src/lib/_internal/objects/conversation.ts","../../../conversation_sdk/src/lib/_internal/objects/participant.ts","../../../conversation_sdk/src/lib/_internal/objects/api.ts","../../../conversation_sdk/src/lib/_internal/objects/index.ts","../../../conversation_sdk/src/lib/_generated/host.service.ts","../../../conversation_sdk/src/lib/_internal/conversation.api.service.ts","../../../conversation_sdk/src/lib/_internal/index.ts","../../../conversation_sdk/src/vendasta-conversation.ts"],"sourcesContent":["// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum MessageStatus {\n MESSAGE_STATUS_NOT_READ = 0,\n MESSAGE_STATUS_READ = 1,\n MESSAGE_STATUS_SENT = 2,\n MESSAGE_STATUS_DELIVERED = 3,\n MESSAGE_STATUS_FAILED = 4,\n MESSAGE_STATUS_UNDELIVERED = 5,\n}\n\nexport enum MessageType {\n MESSAGE_TYPE_MESSAGE = 0,\n MESSAGE_TYPE_MEDIA = 1,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum ConversationChannel {\n CONVERSATION_CHANNEL_UNDEFINED = 0,\n CONVERSATION_CHANNEL_INTERNAL = 1,\n CONVERSATION_CHANNEL_SMS = 2,\n CONVERSATION_CHANNEL_FACEBOOK = 3,\n CONVERSATION_CHANNEL_GOOGLE_MESSAGES = 4,\n}\n\nexport enum PlatformLocation {\n PLATFORM_LOCATION_UNDEFINED = 0,\n PLATFORM_LOCATION_BUSINESS_APP = 1,\n PLATFORM_LOCATION_PARTNER_CENTER = 2,\n PLATFORM_LOCATION_VENDOR_CENTER = 3,\n PLATFORM_LOCATION_TASK_MANAGER = 4,\n PLATFORM_LOCATION_PROPOSAL_BUILDER = 5,\n PLATFORM_LOCATION_SALES_CENTER = 6,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum ParticipantType {\n PARTICIPANT_TYPE_UNDEFINED = 0,\n PARTICIPANT_TYPE_CUSTOMER = 1,\n PARTICIPANT_TYPE_IAM_USER = 2,\n PARTICIPANT_TYPE_ACCOUNT_GROUP = 3,\n PARTICIPANT_TYPE_PARTNER = 4,\n PARTICIPANT_TYPE_IAM_TEMPORARY_SUBJECT = 5,\n PARTICIPANT_TYPE_DIGITAL_AGENT = 6,\n PARTICIPANT_TYPE_VENDOR = 7,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum MetadataIdentifier {\n METADATA_IDENTIFIER_UNDEFINED = 0,\n METADATA_IDENTIFIER_RECIPIENT = 1,\n METADATA_IDENTIFIER_SENDER = 2,\n METADATA_IDENTIFIER_CONVERSATION = 3,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums Index.\n// *********************************\nexport {\n MessageStatus,\n MessageType,\n} from './message.enum';\nexport {\n ConversationChannel,\n PlatformLocation,\n} from './conversation.enum';\nexport {\n ParticipantType,\n} from './participant.enum';\nexport {\n MetadataIdentifier,\n} from './api.enum';\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class Message implements i.MessageInterface {\n messageId: string;\n externalMessageId: string;\n conversationId: string;\n participantId: string;\n type: e.MessageType;\n body: string;\n error: string;\n created: Date;\n updated: Date;\n deleted: Date;\n media: string[];\n\n static fromProto(proto: any): Message {\n let m = new Message();\n m = Object.assign(m, proto);\n if (proto.type) {m.type = enumStringToValue<e.MessageType>(e.MessageType, proto.type);}\n if (proto.created) {m.created = new Date(proto.created);}\n if (proto.updated) {m.updated = new Date(proto.updated);}\n if (proto.deleted) {m.deleted = new Date(proto.deleted);}\n return m;\n }\n\n constructor(kwargs?: i.MessageInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.messageId !== 'undefined') {toReturn['messageId'] = this.messageId;}\n if (typeof this.externalMessageId !== 'undefined') {toReturn['externalMessageId'] = this.externalMessageId;}\n if (typeof this.conversationId !== 'undefined') {toReturn['conversationId'] = this.conversationId;}\n if (typeof this.participantId !== 'undefined') {toReturn['participantId'] = this.participantId;}\n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n if (typeof this.body !== 'undefined') {toReturn['body'] = this.body;}\n if (typeof this.error !== 'undefined') {toReturn['error'] = this.error;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.updated !== 'undefined' && this.updated !== null) {toReturn['updated'] = 'toApiJson' in this.updated ? (this.updated as any).toApiJson() : this.updated;}\n if (typeof this.deleted !== 'undefined' && this.deleted !== null) {toReturn['deleted'] = 'toApiJson' in this.deleted ? (this.deleted as any).toApiJson() : this.deleted;}\n if (typeof this.media !== 'undefined') {toReturn['media'] = this.media;}\n return toReturn;\n }\n}\n\nexport class ParticipantMessageStatus implements i.ParticipantMessageStatusInterface {\n participantId: string;\n messageId: string;\n status: e.MessageStatus;\n updated: Date;\n\n static fromProto(proto: any): ParticipantMessageStatus {\n let m = new ParticipantMessageStatus();\n m = Object.assign(m, proto);\n if (proto.status) {m.status = enumStringToValue<e.MessageStatus>(e.MessageStatus, proto.status);}\n if (proto.updated) {m.updated = new Date(proto.updated);}\n return m;\n }\n\n constructor(kwargs?: i.ParticipantMessageStatusInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.participantId !== 'undefined') {toReturn['participantId'] = this.participantId;}\n if (typeof this.messageId !== 'undefined') {toReturn['messageId'] = this.messageId;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n if (typeof this.updated !== 'undefined' && this.updated !== null) {toReturn['updated'] = 'toApiJson' in this.updated ? (this.updated as any).toApiJson() : this.updated;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class Conversation implements i.ConversationInterface {\n conversationId: string;\n channel: e.ConversationChannel;\n externalConversationId: string;\n created: Date;\n updated: Date;\n deleted: Date;\n participantIds: string[];\n latestMsgSentTime: Date;\n originLocation: e.PlatformLocation;\n originLocationExternalId: string;\n\n static fromProto(proto: any): Conversation {\n let m = new Conversation();\n m = Object.assign(m, proto);\n if (proto.channel) {m.channel = enumStringToValue<e.ConversationChannel>(e.ConversationChannel, proto.channel);}\n if (proto.created) {m.created = new Date(proto.created);}\n if (proto.updated) {m.updated = new Date(proto.updated);}\n if (proto.deleted) {m.deleted = new Date(proto.deleted);}\n if (proto.latestMsgSentTime) {m.latestMsgSentTime = new Date(proto.latestMsgSentTime);}\n if (proto.originLocation) {m.originLocation = enumStringToValue<e.PlatformLocation>(e.PlatformLocation, proto.originLocation);}\n return m;\n }\n\n constructor(kwargs?: i.ConversationInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversationId !== 'undefined') {toReturn['conversationId'] = this.conversationId;}\n if (typeof this.channel !== 'undefined') {toReturn['channel'] = this.channel;}\n if (typeof this.externalConversationId !== 'undefined') {toReturn['externalConversationId'] = this.externalConversationId;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.updated !== 'undefined' && this.updated !== null) {toReturn['updated'] = 'toApiJson' in this.updated ? (this.updated as any).toApiJson() : this.updated;}\n if (typeof this.deleted !== 'undefined' && this.deleted !== null) {toReturn['deleted'] = 'toApiJson' in this.deleted ? (this.deleted as any).toApiJson() : this.deleted;}\n if (typeof this.participantIds !== 'undefined') {toReturn['participantIds'] = this.participantIds;}\n if (typeof this.latestMsgSentTime !== 'undefined' && this.latestMsgSentTime !== null) {toReturn['latestMsgSentTime'] = 'toApiJson' in this.latestMsgSentTime ? (this.latestMsgSentTime as any).toApiJson() : this.latestMsgSentTime;}\n if (typeof this.originLocation !== 'undefined') {toReturn['originLocation'] = this.originLocation;}\n if (typeof this.originLocationExternalId !== 'undefined') {toReturn['originLocationExternalId'] = this.originLocationExternalId;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class Address implements i.AddressInterface {\n firstLineAddress: string;\n secondLineAddress: string;\n city: string;\n state: string;\n country: string;\n zipCode: string;\n\n static fromProto(proto: any): Address {\n let m = new Address();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.AddressInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.firstLineAddress !== 'undefined') {toReturn['firstLineAddress'] = this.firstLineAddress;}\n if (typeof this.secondLineAddress !== 'undefined') {toReturn['secondLineAddress'] = this.secondLineAddress;}\n if (typeof this.city !== 'undefined') {toReturn['city'] = this.city;}\n if (typeof this.state !== 'undefined') {toReturn['state'] = this.state;}\n if (typeof this.country !== 'undefined') {toReturn['country'] = this.country;}\n if (typeof this.zipCode !== 'undefined') {toReturn['zipCode'] = this.zipCode;}\n return toReturn;\n }\n}\n\nexport class Participant implements i.ParticipantInterface {\n participantId: string;\n internalParticipantId: string;\n partnerId: string;\n accountGroupId: string;\n location: e.PlatformLocation;\n channel: e.ConversationChannel;\n externalParticipantId: string;\n name: string;\n created: Date;\n updated: Date;\n deleted: Date;\n participantType: e.ParticipantType;\n email: string;\n phoneNumber: string;\n address: Address;\n\n static fromProto(proto: any): Participant {\n let m = new Participant();\n m = Object.assign(m, proto);\n if (proto.location) {m.location = enumStringToValue<e.PlatformLocation>(e.PlatformLocation, proto.location);}\n if (proto.channel) {m.channel = enumStringToValue<e.ConversationChannel>(e.ConversationChannel, proto.channel);}\n if (proto.created) {m.created = new Date(proto.created);}\n if (proto.updated) {m.updated = new Date(proto.updated);}\n if (proto.deleted) {m.deleted = new Date(proto.deleted);}\n if (proto.participantType) {m.participantType = enumStringToValue<e.ParticipantType>(e.ParticipantType, proto.participantType);}\n if (proto.address) {m.address = Address.fromProto(proto.address);}\n return m;\n }\n\n constructor(kwargs?: i.ParticipantInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.participantId !== 'undefined') {toReturn['participantId'] = this.participantId;}\n if (typeof this.internalParticipantId !== 'undefined') {toReturn['internalParticipantId'] = this.internalParticipantId;}\n if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n if (typeof this.accountGroupId !== 'undefined') {toReturn['accountGroupId'] = this.accountGroupId;}\n if (typeof this.location !== 'undefined') {toReturn['location'] = this.location;}\n if (typeof this.channel !== 'undefined') {toReturn['channel'] = this.channel;}\n if (typeof this.externalParticipantId !== 'undefined') {toReturn['externalParticipantId'] = this.externalParticipantId;}\n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.updated !== 'undefined' && this.updated !== null) {toReturn['updated'] = 'toApiJson' in this.updated ? (this.updated as any).toApiJson() : this.updated;}\n if (typeof this.deleted !== 'undefined' && this.deleted !== null) {toReturn['deleted'] = 'toApiJson' in this.deleted ? (this.deleted as any).toApiJson() : this.deleted;}\n if (typeof this.participantType !== 'undefined') {toReturn['participantType'] = this.participantType;}\n if (typeof this.email !== 'undefined') {toReturn['email'] = this.email;}\n if (typeof this.phoneNumber !== 'undefined') {toReturn['phoneNumber'] = this.phoneNumber;}\n if (typeof this.address !== 'undefined' && this.address !== null) {toReturn['address'] = 'toApiJson' in this.address ? (this.address as any).toApiJson() : this.address;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport {Conversation} from './conversation';\nimport {Message} from './message';\nimport {Participant} from './participant';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class AddMultiParticipantsRequest implements i.AddMultiParticipantsRequestInterface {\n conversationId: string;\n participants: Participant[];\n\n static fromProto(proto: any): AddMultiParticipantsRequest {\n let m = new AddMultiParticipantsRequest();\n m = Object.assign(m, proto);\n if (proto.participants) {m.participants = proto.participants.map(Participant.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.AddMultiParticipantsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversationId !== 'undefined') {toReturn['conversationId'] = this.conversationId;}\n if (typeof this.participants !== 'undefined' && this.participants !== null) {toReturn['participants'] = 'toApiJson' in this.participants ? (this.participants as any).toApiJson() : this.participants;}\n return toReturn;\n }\n}\n\nexport class AddMultiParticipantsResponse implements i.AddMultiParticipantsResponseInterface {\n participants: Participant[];\n\n static fromProto(proto: any): AddMultiParticipantsResponse {\n let m = new AddMultiParticipantsResponse();\n m = Object.assign(m, proto);\n if (proto.participants) {m.participants = proto.participants.map(Participant.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.AddMultiParticipantsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.participants !== 'undefined' && this.participants !== null) {toReturn['participants'] = 'toApiJson' in this.participants ? (this.participants as any).toApiJson() : this.participants;}\n return toReturn;\n }\n}\n\nexport class ConversationMessageCount implements i.ConversationMessageCountInterface {\n conversationId: string;\n count: number;\n\n static fromProto(proto: any): ConversationMessageCount {\n let m = new ConversationMessageCount();\n m = Object.assign(m, proto);\n if (proto.count) {m.count = parseInt(proto.count, 10);}\n return m;\n }\n\n constructor(kwargs?: i.ConversationMessageCountInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversationId !== 'undefined') {toReturn['conversationId'] = this.conversationId;}\n if (typeof this.count !== 'undefined') {toReturn['count'] = this.count;}\n return toReturn;\n }\n}\n\nexport class LookupConversationsResponseConversations implements i.LookupConversationsResponseConversationsInterface {\n conversation: Conversation;\n participants: Participant[];\n\n static fromProto(proto: any): LookupConversationsResponseConversations {\n let m = new LookupConversationsResponseConversations();\n m = Object.assign(m, proto);\n if (proto.conversation) {m.conversation = Conversation.fromProto(proto.conversation);}\n if (proto.participants) {m.participants = proto.participants.map(Participant.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.LookupConversationsResponseConversationsInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversation !== 'undefined' && this.conversation !== null) {toReturn['conversation'] = 'toApiJson' in this.conversation ? (this.conversation as any).toApiJson() : this.conversation;}\n if (typeof this.participants !== 'undefined' && this.participants !== null) {toReturn['participants'] = 'toApiJson' in this.participants ? (this.participants as any).toApiJson() : this.participants;}\n return toReturn;\n }\n}\n\nexport class GetMultiConversationMessageCountResponseCountsEntry implements i.GetMultiConversationMessageCountResponseCountsEntryInterface {\n key: string;\n value: number;\n\n static fromProto(proto: any): GetMultiConversationMessageCountResponseCountsEntry {\n let m = new GetMultiConversationMessageCountResponseCountsEntry();\n m = Object.assign(m, proto);\n if (proto.value) {m.value = parseInt(proto.value, 10);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiConversationMessageCountResponseCountsEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n return toReturn;\n }\n}\n\nexport class CreateConversationRequest implements i.CreateConversationRequestInterface {\n participants: Participant[];\n channel: e.ConversationChannel;\n externalConversationId: string;\n created: Date;\n updated: Date;\n originLocation: e.PlatformLocation;\n originLocationExternalId: string;\n\n static fromProto(proto: any): CreateConversationRequest {\n let m = new CreateConversationRequest();\n m = Object.assign(m, proto);\n if (proto.participants) {m.participants = proto.participants.map(Participant.fromProto);}\n if (proto.channel) {m.channel = enumStringToValue<e.ConversationChannel>(e.ConversationChannel, proto.channel);}\n if (proto.created) {m.created = new Date(proto.created);}\n if (proto.updated) {m.updated = new Date(proto.updated);}\n if (proto.originLocation) {m.originLocation = enumStringToValue<e.PlatformLocation>(e.PlatformLocation, proto.originLocation);}\n return m;\n }\n\n constructor(kwargs?: i.CreateConversationRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.participants !== 'undefined' && this.participants !== null) {toReturn['participants'] = 'toApiJson' in this.participants ? (this.participants as any).toApiJson() : this.participants;}\n if (typeof this.channel !== 'undefined') {toReturn['channel'] = this.channel;}\n if (typeof this.externalConversationId !== 'undefined') {toReturn['externalConversationId'] = this.externalConversationId;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.updated !== 'undefined' && this.updated !== null) {toReturn['updated'] = 'toApiJson' in this.updated ? (this.updated as any).toApiJson() : this.updated;}\n if (typeof this.originLocation !== 'undefined') {toReturn['originLocation'] = this.originLocation;}\n if (typeof this.originLocationExternalId !== 'undefined') {toReturn['originLocationExternalId'] = this.originLocationExternalId;}\n return toReturn;\n }\n}\n\nexport class CreateConversationResponse implements i.CreateConversationResponseInterface {\n conversation: Conversation;\n participants: Participant[];\n\n static fromProto(proto: any): CreateConversationResponse {\n let m = new CreateConversationResponse();\n m = Object.assign(m, proto);\n if (proto.conversation) {m.conversation = Conversation.fromProto(proto.conversation);}\n if (proto.participants) {m.participants = proto.participants.map(Participant.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.CreateConversationResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversation !== 'undefined' && this.conversation !== null) {toReturn['conversation'] = 'toApiJson' in this.conversation ? (this.conversation as any).toApiJson() : this.conversation;}\n if (typeof this.participants !== 'undefined' && this.participants !== null) {toReturn['participants'] = 'toApiJson' in this.participants ? (this.participants as any).toApiJson() : this.participants;}\n return toReturn;\n }\n}\n\nexport class CreateMultiMessagesRequest implements i.CreateMultiMessagesRequestInterface {\n messages: Message[];\n lastSeen: Date;\n\n static fromProto(proto: any): CreateMultiMessagesRequest {\n let m = new CreateMultiMessagesRequest();\n m = Object.assign(m, proto);\n if (proto.messages) {m.messages = proto.messages.map(Message.fromProto);}\n if (proto.lastSeen) {m.lastSeen = new Date(proto.lastSeen);}\n return m;\n }\n\n constructor(kwargs?: i.CreateMultiMessagesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.messages !== 'undefined' && this.messages !== null) {toReturn['messages'] = 'toApiJson' in this.messages ? (this.messages as any).toApiJson() : this.messages;}\n if (typeof this.lastSeen !== 'undefined' && this.lastSeen !== null) {toReturn['lastSeen'] = 'toApiJson' in this.lastSeen ? (this.lastSeen as any).toApiJson() : this.lastSeen;}\n return toReturn;\n }\n}\n\nexport class MetadataDataEntry implements i.MetadataDataEntryInterface {\n key: string;\n value: string;\n\n static fromProto(proto: any): MetadataDataEntry {\n let m = new MetadataDataEntry();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.MetadataDataEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n return toReturn;\n }\n}\n\nexport class DeleteConversationRequest implements i.DeleteConversationRequestInterface {\n conversationId: string;\n\n static fromProto(proto: any): DeleteConversationRequest {\n let m = new DeleteConversationRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DeleteConversationRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversationId !== 'undefined') {toReturn['conversationId'] = this.conversationId;}\n return toReturn;\n }\n}\n\nexport class DeleteMessageRequest implements i.DeleteMessageRequestInterface {\n messageId: string;\n\n static fromProto(proto: any): DeleteMessageRequest {\n let m = new DeleteMessageRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DeleteMessageRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.messageId !== 'undefined') {toReturn['messageId'] = this.messageId;}\n return toReturn;\n }\n}\n\nexport class GetMultiConversationDetailsResponseDetailedConversation implements i.GetMultiConversationDetailsResponseDetailedConversationInterface {\n conversation: Conversation;\n latestMessage: Message;\n participants: Participant[];\n\n static fromProto(proto: any): GetMultiConversationDetailsResponseDetailedConversation {\n let m = new GetMultiConversationDetailsResponseDetailedConversation();\n m = Object.assign(m, proto);\n if (proto.conversation) {m.conversation = Conversation.fromProto(proto.conversation);}\n if (proto.latestMessage) {m.latestMessage = Message.fromProto(proto.latestMessage);}\n if (proto.participants) {m.participants = proto.participants.map(Participant.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiConversationDetailsResponseDetailedConversationInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversation !== 'undefined' && this.conversation !== null) {toReturn['conversation'] = 'toApiJson' in this.conversation ? (this.conversation as any).toApiJson() : this.conversation;}\n if (typeof this.latestMessage !== 'undefined' && this.latestMessage !== null) {toReturn['latestMessage'] = 'toApiJson' in this.latestMessage ? (this.latestMessage as any).toApiJson() : this.latestMessage;}\n if (typeof this.participants !== 'undefined' && this.participants !== null) {toReturn['participants'] = 'toApiJson' in this.participants ? (this.participants as any).toApiJson() : this.participants;}\n return toReturn;\n }\n}\n\nexport class SearchConversationsResponseDetailedConversation implements i.SearchConversationsResponseDetailedConversationInterface {\n conversation: Conversation;\n latestMessage: Message;\n participants: Participant[];\n\n static fromProto(proto: any): SearchConversationsResponseDetailedConversation {\n let m = new SearchConversationsResponseDetailedConversation();\n m = Object.assign(m, proto);\n if (proto.conversation) {m.conversation = Conversation.fromProto(proto.conversation);}\n if (proto.latestMessage) {m.latestMessage = Message.fromProto(proto.latestMessage);}\n if (proto.participants) {m.participants = proto.participants.map(Participant.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.SearchConversationsResponseDetailedConversationInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversation !== 'undefined' && this.conversation !== null) {toReturn['conversation'] = 'toApiJson' in this.conversation ? (this.conversation as any).toApiJson() : this.conversation;}\n if (typeof this.latestMessage !== 'undefined' && this.latestMessage !== null) {toReturn['latestMessage'] = 'toApiJson' in this.latestMessage ? (this.latestMessage as any).toApiJson() : this.latestMessage;}\n if (typeof this.participants !== 'undefined' && this.participants !== null) {toReturn['participants'] = 'toApiJson' in this.participants ? (this.participants as any).toApiJson() : this.participants;}\n return toReturn;\n }\n}\n\nexport class GetMessageRequest implements i.GetMessageRequestInterface {\n messageId: string;\n\n static fromProto(proto: any): GetMessageRequest {\n let m = new GetMessageRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMessageRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.messageId !== 'undefined') {toReturn['messageId'] = this.messageId;}\n return toReturn;\n }\n}\n\nexport class GetMultiConversationDetailsRequest implements i.GetMultiConversationDetailsRequestInterface {\n conversationIds: string[];\n\n static fromProto(proto: any): GetMultiConversationDetailsRequest {\n let m = new GetMultiConversationDetailsRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMultiConversationDetailsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversationIds !== 'undefined') {toReturn['conversationIds'] = this.conversationIds;}\n return toReturn;\n }\n}\n\nexport class GetMultiConversationDetailsResponse implements i.GetMultiConversationDetailsResponseInterface {\n conversations: GetMultiConversationDetailsResponseDetailedConversation[];\n\n static fromProto(proto: any): GetMultiConversationDetailsResponse {\n let m = new GetMultiConversationDetailsResponse();\n m = Object.assign(m, proto);\n if (proto.conversations) {m.conversations = proto.conversations.map(GetMultiConversationDetailsResponseDetailedConversation.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiConversationDetailsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversations !== 'undefined' && this.conversations !== null) {toReturn['conversations'] = 'toApiJson' in this.conversations ? (this.conversations as any).toApiJson() : this.conversations;}\n return toReturn;\n }\n}\n\nexport class GetMultiConversationMessageCountRequest implements i.GetMultiConversationMessageCountRequestInterface {\n conversationIds: string[];\n\n static fromProto(proto: any): GetMultiConversationMessageCountRequest {\n let m = new GetMultiConversationMessageCountRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMultiConversationMessageCountRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversationIds !== 'undefined') {toReturn['conversationIds'] = this.conversationIds;}\n return toReturn;\n }\n}\n\nexport class GetMultiConversationMessageCountResponse implements i.GetMultiConversationMessageCountResponseInterface {\n messageCounts: ConversationMessageCount[];\n counts: {[key: string]: number};\n\n static fromProto(proto: any): GetMultiConversationMessageCountResponse {\n let m = new GetMultiConversationMessageCountResponse();\n m = Object.assign(m, proto);\n if (proto.messageCounts) {m.messageCounts = proto.messageCounts.map(ConversationMessageCount.fromProto);}\n if (proto.counts) {m.counts = Object.keys(proto.counts).reduce<any>((obj, k) => { obj[k] = parseInt(proto.counts[k], 10); return obj; }, {});}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiConversationMessageCountResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.messageCounts !== 'undefined' && this.messageCounts !== null) {toReturn['messageCounts'] = 'toApiJson' in this.messageCounts ? (this.messageCounts as any).toApiJson() : this.messageCounts;}\n if (typeof this.counts !== 'undefined' && this.counts !== null) {toReturn['counts'] = 'toApiJson' in this.counts ? (this.counts as any).toApiJson() : this.counts;}\n return toReturn;\n }\n}\n\nexport class GetMultiMessagesRequest implements i.GetMultiMessagesRequestInterface {\n messageIds: string[];\n\n static fromProto(proto: any): GetMultiMessagesRequest {\n let m = new GetMultiMessagesRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMultiMessagesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.messageIds !== 'undefined') {toReturn['messageIds'] = this.messageIds;}\n return toReturn;\n }\n}\n\nexport class GetMultiMessagesResponse implements i.GetMultiMessagesResponseInterface {\n messages: Message[];\n\n static fromProto(proto: any): GetMultiMessagesResponse {\n let m = new GetMultiMessagesResponse();\n m = Object.assign(m, proto);\n if (proto.messages) {m.messages = proto.messages.map(Message.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiMessagesResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.messages !== 'undefined' && this.messages !== null) {toReturn['messages'] = 'toApiJson' in this.messages ? (this.messages as any).toApiJson() : this.messages;}\n return toReturn;\n }\n}\n\nexport class GetMultiParticipantsRequest implements i.GetMultiParticipantsRequestInterface {\n participantIds: string[];\n\n static fromProto(proto: any): GetMultiParticipantsRequest {\n let m = new GetMultiParticipantsRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMultiParticipantsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.participantIds !== 'undefined') {toReturn['participantIds'] = this.participantIds;}\n return toReturn;\n }\n}\n\nexport class GetMultiParticipantsResponse implements i.GetMultiParticipantsResponseInterface {\n participants: Participant[];\n\n static fromProto(proto: any): GetMultiParticipantsResponse {\n let m = new GetMultiParticipantsResponse();\n m = Object.assign(m, proto);\n if (proto.participants) {m.participants = proto.participants.map(Participant.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiParticipantsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.participants !== 'undefined' && this.participants !== null) {toReturn['participants'] = 'toApiJson' in this.participants ? (this.participants as any).toApiJson() : this.participants;}\n return toReturn;\n }\n}\n\nexport class ListMessagesRequestListMessagesFilters implements i.ListMessagesRequestListMessagesFiltersInterface {\n conversationId: string;\n\n static fromProto(proto: any): ListMessagesRequestListMessagesFilters {\n let m = new ListMessagesRequestListMessagesFilters();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ListMessagesRequestListMessagesFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversationId !== 'undefined') {toReturn['conversationId'] = this.conversationId;}\n return toReturn;\n }\n}\n\nexport class ListMessagesRequest implements i.ListMessagesRequestInterface {\n filters: ListMessagesRequestListMessagesFilters;\n pagingOptions: PagedRequestOptions;\n\n static fromProto(proto: any): ListMessagesRequest {\n let m = new ListMessagesRequest();\n m = Object.assign(m, proto);\n if (proto.filters) {m.filters = ListMessagesRequestListMessagesFilters.fromProto(proto.filters);}\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.ListMessagesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n return toReturn;\n }\n}\n\nexport class ListMessagesResponse implements i.ListMessagesResponseInterface {\n messages: Message[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListMessagesResponse {\n let m = new ListMessagesResponse();\n m = Object.assign(m, proto);\n if (proto.messages) {m.messages = proto.messages.map(Message.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListMessagesResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.messages !== 'undefined' && this.messages !== null) {toReturn['messages'] = 'toApiJson' in this.messages ? (this.messages as any).toApiJson() : this.messages;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class LookupConversationsRequestLookupConversationsFilters implements i.LookupConversationsRequestLookupConversationsFiltersInterface {\n internalParticipantId: string[];\n location: e.PlatformLocation;\n channel: e.ConversationChannel;\n accountGroupId: string;\n externalConversationId: string;\n originLocation: e.PlatformLocation;\n originLocationExternalId: string;\n\n static fromProto(proto: any): LookupConversationsRequestLookupConversationsFilters {\n let m = new LookupConversationsRequestLookupConversationsFilters();\n m = Object.assign(m, proto);\n if (proto.location) {m.location = enumStringToValue<e.PlatformLocation>(e.PlatformLocation, proto.location);}\n if (proto.channel) {m.channel = enumStringToValue<e.ConversationChannel>(e.ConversationChannel, proto.channel);}\n if (proto.originLocation) {m.originLocation = enumStringToValue<e.PlatformLocation>(e.PlatformLocation, proto.originLocation);}\n return m;\n }\n\n constructor(kwargs?: i.LookupConversationsRequestLookupConversationsFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.internalParticipantId !== 'undefined') {toReturn['internalParticipantId'] = this.internalParticipantId;}\n if (typeof this.location !== 'undefined') {toReturn['location'] = this.location;}\n if (typeof this.channel !== 'undefined') {toReturn['channel'] = this.channel;}\n if (typeof this.accountGroupId !== 'undefined') {toReturn['accountGroupId'] = this.accountGroupId;}\n if (typeof this.externalConversationId !== 'undefined') {toReturn['externalConversationId'] = this.externalConversationId;}\n if (typeof this.originLocation !== 'undefined') {toReturn['originLocation'] = this.originLocation;}\n if (typeof this.originLocationExternalId !== 'undefined') {toReturn['originLocationExternalId'] = this.originLocationExternalId;}\n return toReturn;\n }\n}\n\nexport class LookupConversationsRequest implements i.LookupConversationsRequestInterface {\n filters: LookupConversationsRequestLookupConversationsFilters;\n pagingOptions: PagedRequestOptions;\n\n static fromProto(proto: any): LookupConversationsRequest {\n let m = new LookupConversationsRequest();\n m = Object.assign(m, proto);\n if (proto.filters) {m.filters = LookupConversationsRequestLookupConversationsFilters.fromProto(proto.filters);}\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.LookupConversationsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n return toReturn;\n }\n}\n\nexport class LookupConversationsResponse implements i.LookupConversationsResponseInterface {\n conversations: LookupConversationsResponseConversations[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): LookupConversationsResponse {\n let m = new LookupConversationsResponse();\n m = Object.assign(m, proto);\n if (proto.conversations) {m.conversations = proto.conversations.map(LookupConversationsResponseConversations.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.LookupConversationsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversations !== 'undefined' && this.conversations !== null) {toReturn['conversations'] = 'toApiJson' in this.conversations ? (this.conversations as any).toApiJson() : this.conversations;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class Metadata implements i.MetadataInterface {\n identifier: e.MetadataIdentifier;\n data: {[key: string]: string};\n\n static fromProto(proto: any): Metadata {\n let m = new Metadata();\n m = Object.assign(m, proto);\n if (proto.identifier) {m.identifier = enumStringToValue<e.MetadataIdentifier>(e.MetadataIdentifier, proto.identifier);}\n if (proto.data) {m.data = Object.keys(proto.data).reduce<any>((obj, k) => { obj[k] = proto.data[k]; return obj; }, {});}\n return m;\n }\n\n constructor(kwargs?: i.MetadataInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.identifier !== 'undefined') {toReturn['identifier'] = this.identifier;}\n if (typeof this.data !== 'undefined' && this.data !== null) {toReturn['data'] = 'toApiJson' in this.data ? (this.data as any).toApiJson() : this.data;}\n return toReturn;\n }\n}\n\nexport class ReceiveMessageRequestMetadataEntry implements i.ReceiveMessageRequestMetadataEntryInterface {\n key: string;\n value: string;\n\n static fromProto(proto: any): ReceiveMessageRequestMetadataEntry {\n let m = new ReceiveMessageRequestMetadataEntry();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ReceiveMessageRequestMetadataEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n return toReturn;\n }\n}\n\nexport class PagedRequestOptions implements i.PagedRequestOptionsInterface {\n cursor: string;\n pageSize: number;\n\n static fromProto(proto: any): PagedRequestOptions {\n let m = new PagedRequestOptions();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.PagedRequestOptionsInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.cursor !== 'undefined') {toReturn['cursor'] = this.cursor;}\n if (typeof this.pageSize !== 'undefined') {toReturn['pageSize'] = this.pageSize;}\n return toReturn;\n }\n}\n\nexport class PagedResponseMetadata implements i.PagedResponseMetadataInterface {\n nextCursor: string;\n hasMore: boolean;\n\n static fromProto(proto: any): PagedResponseMetadata {\n let m = new PagedResponseMetadata();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.PagedResponseMetadataInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.nextCursor !== 'undefined') {toReturn['nextCursor'] = this.nextCursor;}\n if (typeof this.hasMore !== 'undefined') {toReturn['hasMore'] = this.hasMore;}\n return toReturn;\n }\n}\n\nexport class ReceiveMessageRequest implements i.ReceiveMessageRequestInterface {\n senderId: string;\n recipientId: string;\n conversationId: string;\n messageId: string;\n body: string;\n channel: e.ConversationChannel;\n type: e.MessageType;\n location: e.PlatformLocation;\n partnerId: string;\n accountGroupId: string;\n metadata: {[key: string]: string};\n media: string[];\n\n static fromProto(proto: any): ReceiveMessageRequest {\n let m = new ReceiveMessageRequest();\n m = Object.assign(m, proto);\n if (proto.channel) {m.channel = enumStringToValue<e.ConversationChannel>(e.ConversationChannel, proto.channel);}\n if (proto.type) {m.type = enumStringToValue<e.MessageType>(e.MessageType, proto.type);}\n if (proto.location) {m.location = enumStringToValue<e.PlatformLocation>(e.PlatformLocation, proto.location);}\n if (proto.metadata) {m.metadata = Object.keys(proto.metadata).reduce<any>((obj, k) => { obj[k] = proto.metadata[k]; return obj; }, {});}\n return m;\n }\n\n constructor(kwargs?: i.ReceiveMessageRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.senderId !== 'undefined') {toReturn['senderId'] = this.senderId;}\n if (typeof this.recipientId !== 'undefined') {toReturn['recipientId'] = this.recipientId;}\n if (typeof this.conversationId !== 'undefined') {toReturn['conversationId'] = this.conversationId;}\n if (typeof this.messageId !== 'undefined') {toReturn['messageId'] = this.messageId;}\n if (typeof this.body !== 'undefined') {toReturn['body'] = this.body;}\n if (typeof this.channel !== 'undefined') {toReturn['channel'] = this.channel;}\n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n if (typeof this.location !== 'undefined') {toReturn['location'] = this.location;}\n if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n if (typeof this.accountGroupId !== 'undefined') {toReturn['accountGroupId'] = this.accountGroupId;}\n if (typeof this.metadata !== 'undefined' && this.metadata !== null) {toReturn['metadata'] = 'toApiJson' in this.metadata ? (this.metadata as any).toApiJson() : this.metadata;}\n if (typeof this.media !== 'undefined') {toReturn['media'] = this.media;}\n return toReturn;\n }\n}\n\nexport class SearchConversationsRequest implements i.SearchConversationsRequestInterface {\n partnerId: string;\n accountGroupId: string;\n location: e.PlatformLocation;\n searchTerm: string;\n pagingOptions: PagedRequestOptions;\n\n static fromProto(proto: any): SearchConversationsRequest {\n let m = new SearchConversationsRequest();\n m = Object.assign(m, proto);\n if (proto.location) {m.location = enumStringToValue<e.PlatformLocation>(e.PlatformLocation, proto.location);}\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.SearchConversationsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n if (typeof this.accountGroupId !== 'undefined') {toReturn['accountGroupId'] = this.accountGroupId;}\n if (typeof this.location !== 'undefined') {toReturn['location'] = this.location;}\n if (typeof this.searchTerm !== 'undefined') {toReturn['searchTerm'] = this.searchTerm;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n return toReturn;\n }\n}\n\nexport class SearchConversationsResponse implements i.SearchConversationsResponseInterface {\n conversations: SearchConversationsResponseDetailedConversation[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): SearchConversationsResponse {\n let m = new SearchConversationsResponse();\n m = Object.assign(m, proto);\n if (proto.conversations) {m.conversations = proto.conversations.map(SearchConversationsResponseDetailedConversation.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.SearchConversationsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conversations !== 'undefined' && this.conversations !== null) {toReturn['conversations'] = 'toApiJson' in this.conversations ? (this.conversations as any).toApiJson() : this.conversations;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class SendMessageRequest implements i.SendMessageRequestInterface {\n sender: Participant;\n recipient: Participant;\n conversationId: string;\n type: e.MessageType;\n body: string;\n metadata: Metadata[];\n\n static fromProto(proto: any): SendMessageRequest {\n let m = new SendMessageRequest();\n m = Object.assign(m, proto);\n if (proto.sender) {m.sender = Participant.fromProto(proto.sender);}\n if (proto.recipient) {m.recipient = Participant.fromProto(proto.recipient);}\n if (proto.type) {m.type = enumStringToValue<e.MessageType>(e.MessageType, proto.type);}\n if (proto.metadata) {m.metadata = proto.metadata.map(Metadata.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.SendMessageRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.sender !== 'undefined' && this.sender !== null) {toReturn['sender'] = 'toApiJson' in this.sender ? (this.sender as any).toApiJson() : this.sender;}\n if (typeof this.recipient !== 'undefined' && this.recipient !== null) {toReturn['recipient'] = 'toApiJson' in this.recipient ? (this.recipient as any).toApiJson() : this.recipient;}\n if (typeof this.conversationId !== 'undefined') {toReturn['conversationId'] = this.conversationId;}\n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n if (typeof this.body !== 'undefined') {toReturn['body'] = this.body;}\n if (typeof this.metadata !== 'undefined' && this.metadata !== null) {toReturn['metadata'] = 'toApiJson' in this.metadata ? (this.metadata as any).toApiJson() : this.metadata;}\n return toReturn;\n }\n}\n\nexport class SendMessageResponse implements i.SendMessageResponseInterface {\n workflowId: string;\n\n static fromProto(proto: any): SendMessageResponse {\n let m = new SendMessageResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.SendMessageResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.workflowId !== 'undefined') {toReturn['workflowId'] = this.workflowId;}\n return toReturn;\n }\n}\n\nexport class UpdateMessageStatusRequest implements i.UpdateMessageStatusRequestInterface {\n messageId: string;\n participantId: string;\n status: e.MessageStatus;\n\n static fromProto(proto: any): UpdateMessageStatusRequest {\n let m = new UpdateMessageStatusRequest();\n m = Object.assign(m, proto);\n if (proto.status) {m.status = enumStringToValue<e.MessageStatus>(e.MessageStatus, proto.status);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateMessageStatusRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.messageId !== 'undefined') {toReturn['messageId'] = this.messageId;}\n if (typeof this.participantId !== 'undefined') {toReturn['participantId'] = this.participantId;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects Index.\n// *********************************\nexport {\n Message,\n ParticipantMessageStatus,\n} from './message';\n\nexport {\n Conversation,\n} from './conversation';\n\nexport {\n Address,\n Participant,\n} from './participant';\n\nexport {\n AddMultiParticipantsRequest,\n AddMultiParticipantsResponse,\n ConversationMessageCount,\n LookupConversationsResponseConversations,\n GetMultiConversationMessageCountResponseCountsEntry,\n CreateConversationRequest,\n CreateConversationResponse,\n CreateMultiMessagesRequest,\n MetadataDataEntry,\n DeleteConversationRequest,\n DeleteMessageRequest,\n GetMultiConversationDetailsResponseDetailedConversation,\n SearchConversationsResponseDetailedConversation,\n GetMessageRequest,\n GetMultiConversationDetailsRequest,\n GetMultiConversationDetailsResponse,\n GetMultiConversationMessageCountRequest,\n GetMultiConversationMessageCountResponse,\n GetMultiMessagesRequest,\n GetMultiMessagesResponse,\n GetMultiParticipantsRequest,\n GetMultiParticipantsResponse,\n ListMessagesRequestListMessagesFilters,\n ListMessagesRequest,\n ListMessagesResponse,\n LookupConversationsRequestLookupConversationsFilters,\n LookupConversationsRequest,\n LookupConversationsResponse,\n Metadata,\n ReceiveMessageRequestMetadataEntry,\n PagedRequestOptions,\n PagedResponseMetadata,\n ReceiveMessageRequest,\n SearchConversationsRequest,\n SearchConversationsResponse,\n SendMessageRequest,\n SendMessageResponse,\n UpdateMessageStatusRequest,\n} from './api';\n\n","import { Injectable } from '@angular/core';\nimport { EnvironmentService, Environment } from '@vendasta/core';\n\n@Injectable({providedIn: 'root'})\nexport class HostService {\n private _host: string;\n private _httpsHost: string;\n\n constructor(private environmentService: EnvironmentService) {\n }\n\n host(): string {\n if (this._host) {\n return this._host;\n }\n\n switch (this.environmentService.getEnvironment()) {\n case Environment.LOCAL:\n this._host = 'conversation-api.vendasta-local.com';\n break;\n case Environment.TEST:\n this._host = '';\n break;\n case Environment.DEMO:\n this._host = 'conversation-demo.apigateway.co';\n break;\n case Environment.PROD:\n this._host = 'conversation-prod.apigateway.co';\n break;\n }\n return this._host;\n }\n\n httpsHost(): string {\n if (this._httpsHost) {\n return this._httpsHost;\n }\n\n switch (this.environmentService.getEnvironment()) {\n case Environment.LOCAL:\n this._httpsHost = 'conversation.vendasta-local.com';\n break;\n case Environment.TEST:\n this._httpsHost = '';\n break;\n case Environment.DEMO:\n this._httpsHost = 'conversation-demo.apigateway.co';\n break;\n case Environment.PROD:\n this._httpsHost = 'conversation-prod.apigateway.co';\n break;\n }\n return this._httpsHost;\n }\n\n hostWithScheme(): string {\n const scheme = this.environmentService.getEnvironment() === Environment.LOCAL ? 'http://' : 'https://';\n return scheme + this.host()\n }\n\n httpsHostWithScheme(): string {\n const scheme = this.environmentService.getEnvironment() === Environment.LOCAL ? 'http://' : 'https://';\n return scheme + this.httpsHost()\n }\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n AddMultiParticipantsRequest,\n AddMultiParticipantsResponse,\n CreateConversationRequest,\n CreateConversationResponse,\n CreateMultiMessagesRequest,\n DeleteConversationRequest,\n DeleteMessageRequest,\n GetMessageRequest,\n GetMultiConversationDetailsRequest,\n GetMultiConversationDetailsResponse,\n GetMultiConversationMessageCountRequest,\n GetMultiConversationMessageCountResponse,\n GetMultiMessagesRequest,\n GetMultiMessagesResponse,\n GetMultiParticipantsRequest,\n GetMultiParticipantsResponse,\n ListMessagesRequest,\n ListMessagesResponse,\n LookupConversationsRequest,\n LookupConversationsResponse,\n Message,\n ReceiveMessageRequest,\n SearchConversationsRequest,\n SearchConversationsResponse,\n SendMessageRequest,\n SendMessageResponse,\n UpdateMessageStatusRequest,\n} from './objects/';\nimport {\n AddMultiParticipantsRequestInterface,\n AddMultiParticipantsResponseInterface,\n CreateConversationRequestInterface,\n CreateConversationResponseInterface,\n CreateMultiMessagesRequestInterface,\n DeleteConversationRequestInterface,\n DeleteMessageRequestInterface,\n GetMessageRequestInterface,\n GetMultiConversationDetailsRequestInterface,\n GetMultiConversationDetailsResponseInterface,\n GetMultiConversationMessageCountRequestInterface,\n GetMultiConversationMessageCountResponseInterface,\n GetMultiMessagesRequestInterface,\n GetMultiMessagesResponseInterface,\n GetMultiParticipantsRequestInterface,\n GetMultiParticipantsResponseInterface,\n ListMessagesRequestInterface,\n ListMessagesResponseInterface,\n LookupConversationsRequestInterface,\n LookupConversationsResponseInterface,\n MessageInterface,\n ReceiveMessageRequestInterface,\n SearchConversationsRequestInterface,\n SearchConversationsResponseInterface,\n SendMessageRequestInterface,\n SendMessageResponseInterface,\n UpdateMessageStatusRequestInterface,\n} from './interfaces/';\nimport {HttpClient, HttpHeaders, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map, share} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class ConversationApiService {\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n sendMessage(r: SendMessageRequest | SendMessageRequestInterface): Observable<SendMessageResponse> {\n const request = ((<SendMessageRequest>r).toApiJson) ? (<SendMessageRequest>r) : new SendMessageRequest(r);\n return this.http.post<SendMessageResponseInterface>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/SendMessage\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => SendMessageResponse.fromProto(resp)),\n share()\n );\n }\n getMessage(r: GetMessageRequest | GetMessageRequestInterface): Observable<Message> {\n const request = ((<GetMessageRequest>r).toApiJson) ? (<GetMessageRequest>r) : new GetMessageRequest(r);\n return this.http.post<MessageInterface>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/GetMessage\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => Message.fromProto(resp)),\n share()\n );\n }\n listMessages(r: ListMessagesRequest | ListMessagesRequestInterface): Observable<ListMessagesResponse> {\n const request = ((<ListMessagesRequest>r).toApiJson) ? (<ListMessagesRequest>r) : new ListMessagesRequest(r);\n return this.http.post<ListMessagesResponseInterface>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/ListMessages\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListMessagesResponse.fromProto(resp)),\n share()\n );\n }\n deleteMessage(r: DeleteMessageRequest | DeleteMessageRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<DeleteMessageRequest>r).toApiJson) ? (<DeleteMessageRequest>r) : new DeleteMessageRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/DeleteMessage\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n updateMessageStatus(r: UpdateMessageStatusRequest | UpdateMessageStatusRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpdateMessageStatusRequest>r).toApiJson) ? (<UpdateMessageStatusRequest>r) : new UpdateMessageStatusRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/UpdateMessageStatus\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n lookupConversations(r: LookupConversationsRequest | LookupConversationsRequestInterface): Observable<LookupConversationsResponse> {\n const request = ((<LookupConversationsRequest>r).toApiJson) ? (<LookupConversationsRequest>r) : new LookupConversationsRequest(r);\n return this.http.post<LookupConversationsResponseInterface>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/LookupConversations\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => LookupConversationsResponse.fromProto(resp)),\n share()\n );\n }\n createConversation(r: CreateConversationRequest | CreateConversationRequestInterface): Observable<CreateConversationResponse> {\n const request = ((<CreateConversationRequest>r).toApiJson) ? (<CreateConversationRequest>r) : new CreateConversationRequest(r);\n return this.http.post<CreateConversationResponseInterface>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/CreateConversation\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => CreateConversationResponse.fromProto(resp)),\n share()\n );\n }\n deleteConversation(r: DeleteConversationRequest | DeleteConversationRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<DeleteConversationRequest>r).toApiJson) ? (<DeleteConversationRequest>r) : new DeleteConversationRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/DeleteConversation\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n receiveMessage(r: ReceiveMessageRequest | ReceiveMessageRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<ReceiveMessageRequest>r).toApiJson) ? (<ReceiveMessageRequest>r) : new ReceiveMessageRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/ReceiveMessage\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n getMultiMessages(r: GetMultiMessagesRequest | GetMultiMessagesRequestInterface): Observable<GetMultiMessagesResponse> {\n const request = ((<GetMultiMessagesRequest>r).toApiJson) ? (<GetMultiMessagesRequest>r) : new GetMultiMessagesRequest(r);\n return this.http.post<GetMultiMessagesResponseInterface>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/GetMultiMessages\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMultiMessagesResponse.fromProto(resp)),\n share()\n );\n }\n createMultiMessages(r: CreateMultiMessagesRequest | CreateMultiMessagesRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<CreateMultiMessagesRequest>r).toApiJson) ? (<CreateMultiMessagesRequest>r) : new CreateMultiMessagesRequest(r);\n return this.http.post<null>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/CreateMultiMessages\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n getMultiConversationDetails(r: GetMultiConversationDetailsRequest | GetMultiConversationDetailsRequestInterface): Observable<GetMultiConversationDetailsResponse> {\n const request = ((<GetMultiConversationDetailsRequest>r).toApiJson) ? (<GetMultiConversationDetailsRequest>r) : new GetMultiConversationDetailsRequest(r);\n return this.http.post<GetMultiConversationDetailsResponseInterface>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/GetMultiConversationDetails\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMultiConversationDetailsResponse.fromProto(resp)),\n share()\n );\n }\n getMultiParticipants(r: GetMultiParticipantsRequest | GetMultiParticipantsRequestInterface): Observable<GetMultiParticipantsResponse> {\n const request = ((<GetMultiParticipantsRequest>r).toApiJson) ? (<GetMultiParticipantsRequest>r) : new GetMultiParticipantsRequest(r);\n return this.http.post<GetMultiParticipantsResponseInterface>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/GetMultiParticipants\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMultiParticipantsResponse.fromProto(resp)),\n share()\n );\n }\n searchConversations(r: SearchConversationsRequest | SearchConversationsRequestInterface): Observable<SearchConversationsResponse> {\n const request = ((<SearchConversationsRequest>r).toApiJson) ? (<SearchConversationsRequest>r) : new SearchConversationsRequest(r);\n return this.http.post<SearchConversationsResponseInterface>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/SearchConversations\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => SearchConversationsResponse.fromProto(resp)),\n share()\n );\n }\n getMultiConversationMessageCount(r: GetMultiConversationMessageCountRequest | GetMultiConversationMessageCountRequestInterface): Observable<GetMultiConversationMessageCountResponse> {\n const request = ((<GetMultiConversationMessageCountRequest>r).toApiJson) ? (<GetMultiConversationMessageCountRequest>r) : new GetMultiConversationMessageCountRequest(r);\n return this.http.post<GetMultiConversationMessageCountResponseInterface>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/GetMultiConversationMessageCount\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMultiConversationMessageCountResponse.fromProto(resp)),\n share()\n );\n }\n addMultiParticipants(r: AddMultiParticipantsRequest | AddMultiParticipantsRequestInterface): Observable<AddMultiParticipantsResponse> {\n const request = ((<AddMultiParticipantsRequest>r).toApiJson) ? (<AddMultiParticipantsRequest>r) : new AddMultiParticipantsRequest(r);\n return this.http.post<AddMultiParticipantsResponseInterface>(this.hostService.hostWithScheme() + \"/conversation.v1.ConversationService/AddMultiParticipants\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => AddMultiParticipantsResponse.fromProto(resp)),\n share()\n );\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Index.\n// *********************************\n\nexport * from './enums';\nexport * from './objects';\nexport * from './interfaces';\nexport { ConversationApiService } from './conversation.api.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n\nexport {HostService as ɵa} from './lib/_generated/host.service';"],"names":["e.MessageType","e.MessageStatus","enumStringToValue","e.ConversationChannel","e.PlatformLocation","e.ParticipantType","e.MetadataIdentifier"],"mappings":";;;;;AAAA;AACA;AACA;AACA;AACA;AACA;IAEY;AAAZ,WAAY,aAAa;IACrB,uFAA2B,CAAA;IAC3B,+EAAuB,CAAA;IACvB,+EAAuB,CAAA;IACvB,yFAA4B,CAAA;IAC5B,mFAAyB,CAAA;IACzB,6FAA8B,CAAA;AAClC,CAAC,EAPW,aAAa,KAAb,aAAa,QAOxB;IAEW;AAAZ,WAAY,WAAW;IACnB,6EAAwB,CAAA;IACxB,yEAAsB,CAAA;AAC1B,CAAC,EAHW,WAAW,KAAX,WAAW;;AChBvB;AACA;AACA;AACA;AACA;AACA;IAEY;AAAZ,WAAY,mBAAmB;IAC3B,iHAAkC,CAAA;IAClC,+GAAiC,CAAA;IACjC,qGAA4B,CAAA;IAC5B,+GAAiC,CAAA;IACjC,6HAAwC,CAAA;AAC5C,CAAC,EANW,mBAAmB,KAAnB,mBAAmB,QAM9B;IAEW;AAAZ,WAAY,gBAAgB;IACxB,qGAA+B,CAAA;IAC/B,2GAAkC,CAAA;IAClC,+GAAoC,CAAA;IACpC,6GAAmC,CAAA;IACnC,2GAAkC,CAAA;IAClC,mHAAsC,CAAA;IACtC,2GAAkC,CAAA;AACtC,CAAC,EARW,gBAAgB,KAAhB,gBAAgB;;ACf5B;AACA;AACA;AACA;AACA;AACA;IAEY;AAAZ,WAAY,eAAe;IACvB,iGAA8B,CAAA;IAC9B,+FAA6B,CAAA;IAC7B,+FAA6B,CAAA;IAC7B,yGAAkC,CAAA;IAClC,6FAA4B,CAAA;IAC5B,yHAA0C,CAAA;IAC1C,yGAAkC,CAAA;IAClC,2FAA2B,CAAA;AAC/B,CAAC,EATW,eAAe,KAAf,eAAe;;ACP3B;AACA;AACA;AACA;AACA;AACA;IAEY;AAAZ,WAAY,kBAAkB;IAC1B,6GAAiC,CAAA;IACjC,6GAAiC,CAAA;IACjC,uGAA8B,CAAA;IAC9B,mHAAoC,CAAA;AACxC,CAAC,EALW,kBAAkB,KAAlB,kBAAkB;;ACP9B;;SCUgB,iBAAiB,CAAI,OAAY,EAAE,KAAa;IAC9D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,OAAO,KAAK,CAAC;KACd;IACD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;MAEY,OAAO;IAuBhB,YAAY,MAA2B;QACnC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAfD,OAAO,SAAS,CAAC,KAAU;QACvB,IAAI,CAAC,GAAG,IAAI,OAAO,EAAE,CAAC;QACtB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,IAAI,EAAE;YAAC,CAAC,CAAC,IAAI,GAAG,iBAAiB,CAAgBA,WAAa,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;SAAC;QACvF,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SAAC;QACzD,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SAAC;QACzD,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SAAC;QACzD,OAAO,CAAC,CAAC;KACZ;IASD,SAAS;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;QAEP,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;SAAC;QACpF,IAAI,OAAO,IAAI,CAAC,iBAAiB,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC;SAAC;QAC5G,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;SAAC;QACnG,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;SAAC;QAChG,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;SAAC;QACrE,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;SAAC;QACrE,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;SAAC;QACxE,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;SAAC;QACzK,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;SAAC;QACzK,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;SAAC;QACzK,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;SAAC;QACxE,OAAO,QAAQ,CAAC;KACnB;CACJ;MAEY,wBAAwB;IAcjC,YAAY,MAA4C;QACpD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU;QACvB,IAAI,CAAC,GAAG,IAAI,wBAAwB,EAAE,CAAC;QACvC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,MAAM,EAAE;YAAC,CAAC,CAAC,MAAM,GAAG,iBAAiB,CAAkBC,aAAe,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;SAAC;QACjG,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SAAC;QACzD,OAAO,CAAC,CAAC;KACZ;IASD,SAAS;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;QAEP,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;SAAC;QAChG,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;SAAC;QACpF,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;SAAC;QAC3E,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;SAAC;QACzK,OAAO,QAAQ,CAAC;KACnB;;;SCxFWC,mBAAiB,CAAI,OAAY,EAAE,KAAa;IAC9D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,OAAO,KAAK,CAAC;KACd;IACD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;MAEY,YAAY;IAwBrB,YAAY,MAAgC;QACxC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAjBD,OAAO,SAAS,CAAC,KAAU;QACvB,IAAI,CAAC,GAAG,IAAI,YAAY,EAAE,CAAC;QAC3B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAGA,mBAAiB,CAAwBC,mBAAqB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;SAAC;QAChH,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SAAC;QACzD,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SAAC;QACzD,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SAAC;QACzD,IAAI,KAAK,CAAC,iBAAiB,EAAE;YAAC,CAAC,CAAC,iBAAiB,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;SAAC;QACvF,IAAI,KAAK,CAAC,cAAc,EAAE;YAAC,CAAC,CAAC,cAAc,GAAGD,mBAAiB,CAAqBE,gBAAkB,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;SAAC;QAC/H,OAAO,CAAC,CAAC;KACZ;IASD,SAAS;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;QAEP,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;SAAC;QACnG,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;SAAC;QAC9E,IAAI,OAAO,IAAI,CAAC,sBAAsB,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,wBAAwB,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC;SAAC;QAC3H,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;SAAC;QACzK,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;SAAC;QACzK,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;SAAC;QACzK,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;SAAC;QACnG,IAAI,OAAO,IAAI,CAAC,iBAAiB,KAAK,WAAW,IAAI,IAAI,CAAC,iBAAiB,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,iBAAiB,GAAI,IAAI,CAAC,iBAAyB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC;SAAC;QACrO,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;SAAC;QACnG,IAAI,OAAO,IAAI,CAAC,wBAAwB,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,0BAA0B,CAAC,GAAG,IAAI,CAAC,wBAAwB,CAAC;SAAC;QACjI,OAAO,QAAQ,CAAC;KACnB;;;SCtDWF,mBAAiB,CAAI,OAAY,EAAE,KAAa;IAC9D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,OAAO,KAAK,CAAC;KACd;IACD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;MAEY,OAAO;IAchB,YAAY,MAA2B;QACnC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU;QACvB,IAAI,CAAC,GAAG,IAAI,OAAO,EAAE,CAAC;QACtB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,OAAO,CAAC,CAAC;KACZ;IASD,SAAS;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;QAEP,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;SAAC;QACzG,IAAI,OAAO,IAAI,CAAC,iBAAiB,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC;SAAC;QAC5G,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;SAAC;QACrE,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;SAAC;QACxE,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;SAAC;QAC9E,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;SAAC;QAC9E,OAAO,QAAQ,CAAC;KACnB;CACJ;MAEY,WAAW;IA8BpB,YAAY,MAA+B;QACvC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAlBD,OAAO,SAAS,CAAC,KAAU;QACvB,IAAI,CAAC,GAAG,IAAI,WAAW,EAAE,CAAC;QAC1B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAGA,mBAAiB,CAAqBE,gBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;SAAC;QAC7G,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAGF,mBAAiB,CAAwBC,mBAAqB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;SAAC;QAChH,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SAAC;QACzD,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SAAC;QACzD,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SAAC;QACzD,IAAI,KAAK,CAAC,eAAe,EAAE;YAAC,CAAC,CAAC,eAAe,GAAGD,mBAAiB,CAAoBG,eAAiB,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;SAAC;QAChI,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SAAC;QAClE,OAAO,CAAC,CAAC;KACZ;IASD,SAAS;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;QAEP,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;SAAC;QAChG,IAAI,OAAO,IAAI,CAAC,qBAAqB,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC;SAAC;QACxH,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;SAAC;QACpF,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;SAAC;QACnG,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;SAAC;QACjF,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;SAAC;QAC9E,IAAI,OAAO,IAAI,CAAC,qBAAqB,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC;SAAC;QACxH,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;SAAC;QACrE,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;SAAC;QACzK,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;SAAC;QACzK,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;SAAC;QACzK,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;SAAC;QACtG,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;SAAC;QACxE,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;SAAC;QAC1F,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;SAAC;QACzK,OAAO,QAAQ,CAAC;KACnB;;;SCnGWH,mBAAiB,CAAI,OAAY,EAAE,KAAa;IAC9D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,OAAO,KAAK,CAAC;KACd;IACD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;MAEY,2BAA2B;IAWpC,YAAY,MAA+C;QACvD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU;QACvB,IAAI,CAAC,GAAG,IAAI,2BAA2B,EAAE,CAAC;QAC1C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,YAAY,EAAE;YAAC,CAAC,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;SAAC;QACzF,OAAO,CAAC,CAAC;KACZ;IASD,SAAS;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;QAEP,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;SAAC;QACnG,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,YAAY,GAAI,IAAI,CAAC,YAAoB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;SAAC;QACvM,OAAO,QAAQ,CAAC;KACnB;CACJ;MAEY,4BAA4B;IAUrC,YAAY,MAAgD;QACxD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU;QACvB,IAAI,CAAC,GAAG,IAAI,4BAA4B,EAAE,CAAC;QAC3C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,YAAY,EAAE;YAAC,CAAC,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;SAAC;QACzF,OAAO,CAAC,CAAC;KACZ;IASD,SAAS;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;QAEP,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,YAAY,GAAI,IAAI,CAAC,YAAoB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;SAAC;QACvM,OAAO,QAAQ,CAAC;KACnB;CACJ;MAEY,wBAAwB;IAWjC,YAAY,MAA4C;QACpD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU;QACvB,IAAI,CAAC,GAAG,IAAI,wBAAwB,EAAE,CAAC;QACvC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,KAAK,EAAE;YAAC,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;SAAC;QACvD,OAAO,CAAC,CAAC;KACZ;IASD,SAAS;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;QAEP,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;SAAC;QACnG,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;SAAC;QACxE,OAAO,QAAQ,CAAC;KACnB;CACJ;MAEY,wCAAwC;IAYjD,YAAY,MAA4D;QACpE,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU;QACvB,IAAI,CAAC,GAAG,IAAI,wCAAwC,EAAE,CAAC;QACvD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,YAAY,EAAE;YAAC,CAAC,CAAC,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;SAAC;QACtF,IAAI,KAAK,CAAC,YAAY,EAAE;YAAC,CAAC,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;SAAC;QACzF,OAAO,CAAC,CAAC;KACZ;IASD,SAAS;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;QAEP,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,YAAY,GAAI,IAAI,CAAC,YAAoB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;SAAC;QACvM,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,YAAY,GAAI,IAAI,CAAC,YAAoB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;SAAC;QACvM,OAAO,QAAQ,CAAC;KACnB;CACJ;MAEY,mDAAmD;IAW5D,YAAY,MAAuE;QAC/E,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU;QACvB,IAAI,CAAC,GAAG,IAAI,mDAAmD,EAAE,CAAC;QAClE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,KAAK,EAAE;YAAC,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;SAAC;QACvD,OAAO,CAAC,CAAC;KACZ;IASD,SAAS;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;QAEP,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;SAAC;QAClE,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;SAAC;QACxE,OAAO,QAAQ,CAAC;KACnB;CACJ;MAEY,yBAAyB;IAoBlC,YAAY,MAA6C;QACrD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAhBD,OAAO,SAAS,CAAC,KAAU;QACvB,IAAI,CAAC,GAAG,IAAI,yBAAyB,EAAE,CAAC;QACxC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,YAAY,EAAE;YAAC,CAAC,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;SAAC;QACzF,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAGA,mBAAiB,CAAwBC,mBAAqB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;SAAC;QAChH,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SAAC;QACzD,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SAAC;QACzD,IAAI,KAAK,CAAC,cAAc,EAAE;YAAC,CAAC,CAAC,cAAc,GAAGD,mBAAiB,CAAqBE,gBAAkB,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;SAAC;QAC/H,OAAO,CAAC,CAAC;KACZ;IASD,SAAS;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;QAEP,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,YAAY,GAAI,IAAI,CAAC,YAAoB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;SAAC;QACvM,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;SAAC;QAC9E,IAAI,OAAO,IAAI,CAAC,sBAAsB,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,wBAAwB,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC;SAAC;QAC3H,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;SAAC;QACzK,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;SAAC;QACzK,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;SAAC;QACnG,IAAI,OAAO,IAAI,CAAC,wBAAwB,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,0BAA0B,CAAC,GAAG,IAAI,CAAC,wBAAwB,CAAC;SAAC;QACjI,OAAO,QAAQ,CAAC;KACnB;CACJ;MAEY,0BAA0B;IAYnC,YAAY,MAA8C;QACtD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU;QACvB,IAAI,CAAC,GAAG,IAAI,0BAA0B,EAAE,CAAC;QACzC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,YAAY,EAAE;YAAC,CAAC,CAAC,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;SAAC;QACtF,IAAI,KAAK,CAAC,YAAY,EAAE;YAAC,CAAC,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;SAAC;QACzF,OAAO,CAAC,CAAC;KACZ;IASD,SAAS;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;QAEP,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,YAAY,GAAI,IAAI,CAAC,YAAoB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;SAAC;QACvM,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,YAAY,GAAI,IAAI,CAAC,YAAoB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;SAAC;QACvM,OAAO,QAAQ,CAAC;KACnB;CACJ;MAEY,0BAA0B;IAYnC,YAAY,MAA8C;QACtD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU;QACvB,IAAI,CAAC,GAAG,IAAI,0BAA0B,EAAE,CAAC;QACzC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SAAC;QACzE,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SAAC;QAC5D,OAAO,CAAC,CAAC;KACZ;IASD,SAAS;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;QAEP,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;SAAC;QAC/K,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;SAAC;QAC/K,OAAO,QAAQ,CAAC;KACnB;CACJ;MAEY,iBAAiB;IAU1B,YAAY,MAAqC;QAC7C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU;QACvB,IAAI,CAAC,GAAG,IAAI,iBAAiB,EAAE,CAAC;QAChC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,OAAO,CAAC,CAAC;KACZ;IASD,SAAS;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;QAEP,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;SAAC;QAClE,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;SAAC;QACxE,OAAO,QAAQ,CAAC;KACnB;CACJ;MAEY,yBAAyB;IASlC,YAAY,MAA6C;QACrD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU;QACvB,IAAI,CAAC,GAAG,IAAI,yBAAyB,EAAE,CAAC;QACxC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,OAAO,CAAC,CAAC;KACZ;IASD,SAAS;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;QAEP,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;SAAC;QACnG,OAAO,QAAQ,CAAC;KACnB;CACJ;MAEY,oBAAoB;IAS7B,YAAY,MAAwC;QAChD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU;QACvB,IAAI,CAAC,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACnC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,OAAO,CAAC,CAAC;KACZ;IASD,SAAS;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;QAEP,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;SAAC;QACpF,OAAO,QAAQ,CAAC;KACnB;CACJ;MAEY,uDAAuD;IAchE,YAAY,MAA2E;QACnF,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAdD,OAAO,SAAS,CAAC,KAAU;QACvB,IAAI,CAAC,GAAG,IAAI,uDAAuD,EAAE,CAAC;QACtE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,YAAY,EAAE;YAAC,CAAC,CAAC,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;SAAC;QACtF,IAAI,KAAK,CAAC,aAAa,EAAE;YAAC,CAAC,CAAC,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;SAAC;QACpF,IAAI,KAAK,CAAC,YAAY,EAAE;YAAC,CAAC,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;SAAC;QACzF,OAAO,CAAC,CAAC;KACZ;IASD,SAAS;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;QAEP,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,YAAY,GAAI,IAAI,CAAC,YAAoB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;SAAC;QACvM,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,aAAa,GAAI,IAAI,CAAC,aAAqB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;SAAC;QAC7M,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,YAAY,GAAI,IAAI,CAAC,YAAoB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;SAAC;QACvM,OAAO,QAAQ,CAAC;KACnB;CACJ;MAEY,+CAA+C;IAcxD,YAAY,MAAmE;QAC3E,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAdD,OAAO,SAAS,CAAC,KAAU;QACvB,IAAI,CAAC,GAAG,IAAI,+CAA+C,EAAE,CAAC;QAC9D,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,YAAY,EAAE;YAAC,CAAC,CAAC,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;SAAC;QACtF,IAAI,KAAK,CAAC,aAAa,EAAE;YAAC,CAAC,CAAC,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;SAAC;QACpF,IAAI,KAAK,CAAC,YAAY,EAAE;YAAC,CAAC,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;SAAC;QACzF,OAAO,CAAC,CAAC;KACZ;IASD,SAAS;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;QAEP,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,YAAY,GAAI,IAAI,CAAC,YAAoB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;SAAC;QACvM,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,aAAa,GAAI,IAAI,CAAC,aAAqB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;SAAC;QAC7M,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,YAAY,GAAI,IAAI,CAAC,YAAoB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;SAAC;QACvM,OAAO,QAAQ,CAAC;KACnB;CACJ;MAEY,iBAAiB;IAS1B,YAAY,MAAqC;QAC7C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU;QACvB,IAAI,CAAC,GAAG,IAAI,iBAAiB,EAAE,CAAC;QAChC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,OAAO,CAAC,CAAC;KACZ;IASD,SAAS;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;QAEP,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;SAAC;QACpF,OAAO,QAAQ,CAAC;KACnB;CACJ;MAEY,kCAAkC;IAS3C,YAAY,MAAsD;QAC9D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU;QACvB,IAAI,CAAC,GAAG,IAAI,kCAAkC,EAAE,CAAC;QACjD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,OAAO,CAAC,CAAC;KACZ;IASD,SAAS;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;QAEP,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;SAAC;QACtG,OAAO,QAAQ,CAAC;KACnB;CACJ;MAEY,mCAAmC;IAU5C,YAAY,MAAuD;QAC/D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU;QACvB,IAAI,CAAC,GAAG,IAAI,mCAAmC,EAAE,CAAC;QAClD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,aAAa,EAAE;YAAC,CAAC,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,uDAAuD,CAAC,SAAS,CAAC,CAAC;SAAC;QACxI,OAAO,CAAC,CAAC;KACZ;IASD,SAAS;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;QAEP,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,aAAa,GAAI,IAAI,CAAC,aAAqB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;SAAC;QAC7M,OAAO,QAAQ,CAAC;KACnB;CACJ;MAEY,uCAAuC;IAShD,YAAY,MAA2D;QACnE,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU;QACvB,IAAI,CAAC,GAAG,IAAI,uCAAuC,EAAE,CAAC;QACtD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,OAAO,CAAC,CAAC;KACZ;IASD,SAAS;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;QAEP,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;SAAC;QACtG,OAAO,QAAQ,CAAC;KACnB;CACJ;MAEY,wCAAwC;IAYjD,YAAY,MAA4D;QACpE,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU;QACvB,IAAI,CAAC,GAAG,IAAI,wCAAwC,EAAE,CAAC;QACvD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,aAAa,EAAE;YAAC,CAAC,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;SAAC;QACzG,IAAI,KAAK,CAAC,MAAM,EAAE;YAAC,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAM,CAAC,GAAG,EAAE,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;SAAC;QAC9I,OAAO,CAAC,CAAC;KACZ;IASD,SAAS;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;QAEP,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,aAAa,GAAI,IAAI,CAAC,aAAqB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;SAAC;QAC7M,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,MAAM,GAAI,IAAI,CAAC,MAAc,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;SAAC;QACnK,OAAO,QAAQ,CAAC;KACnB;CACJ;MAEY,uBAAuB;IAShC,YAAY,MAA2C;QACnD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU;QACvB,IAAI,CAAC,GAAG,IAAI,uBAAuB,EAAE,CAAC;QACtC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,OAAO,CAAC,CAAC;KACZ;IASD,SAAS;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;QAEP,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;SAAC;QACvF,OAAO,QAAQ,CAAC;KACnB;CACJ;MAEY,wBAAwB;IAUjC,YAAY,MAA4C;QACpD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU;QACvB,IAAI,CAAC,GAAG,IAAI,wBAAwB,EAAE,CAAC;QACvC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SAAC;QACzE,OAAO,CAAC,CAAC;KACZ;IASD,SAAS;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;QAEP,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;SAAC;QAC/K,OAAO,QAAQ,CAAC;KACnB;CACJ;MAEY,2BAA2B;IASpC,YAAY,MAA+C;QACvD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU;QACvB,IAAI,CAAC,GAAG,IAAI,2BAA2B,EAAE,CAAC;QAC1C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,OAAO,CAAC,CAAC;KACZ;IASD,SAAS;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;QAEP,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;SAAC;QACnG,OAAO,QAAQ,CAAC;KACnB;CACJ;MAEY,4BAA4B;IAUrC,YAAY,MAAgD;QACxD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU;QACvB,IAAI,CAAC,GAAG,IAAI,4BAA4B,EAAE,CAAC;QAC3C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,YAAY,EAAE;YAAC,CAAC,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;SAAC;QACzF,OAAO,CAAC,CAAC;KACZ;IASD,SAAS;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;QAEP,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,YAAY,GAAI,IAAI,CAAC,YAAoB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;SAAC;QACvM,OAAO,QAAQ,CAAC;KACnB;CACJ;MAEY,sCAAsC;IAS/C,YAAY,MAA0D;QAClE,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU;QACvB,IAAI,CAAC,GAAG,IAAI,sCAAsC,EAAE,CAAC;QACrD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,OAAO,CAAC,CAAC;KACZ;IASD,SAAS;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;QAEP,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;SAAC;QACnG,OAAO,QAAQ,CAAC;KACnB;CACJ;MAEY,mBAAmB;IAY5B,YAAY,MAAuC;QAC/C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU;QACvB,IAAI,CAAC,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAClC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,sCAAsC,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SAAC;QACjG,IAAI,KAAK,CAAC,aAAa,EAAE;YAAC,CAAC,CAAC,aAAa,GAAG,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;SAAC;QAChG,OAAO,CAAC,CAAC;KACZ;IASD,SAAS;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;QAEP,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;SAAC;QACzK,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,aAAa,GAAI,IAAI,CAAC,aAAqB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;SAAC;QAC7M,OAAO,QAAQ,CAAC;KACnB;CACJ;MAEY,oBAAoB;IAY7B,YAAY,MAAwC;QAChD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU;QACvB,IAAI,CAAC,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACnC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SAAC;QACzE,IAAI,KAAK,CAAC,cAAc,EAAE;YAAC,CAAC,CAAC,cAAc,GAAG,qBAAqB,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;SAAC;QACrG,OAAO,CAAC,CAAC;KACZ;IASD,SAAS;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;QAEP,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;SAAC;QAC/K,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,cAAc,GAAI,IAAI,CAAC,cAAsB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;SAAC;QACnN,OAAO,QAAQ,CAAC;KACnB;CACJ;MAEY,oDAAoD;IAkB7D,YAAY,MAAwE;QAChF,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAdD,OAAO,SAAS,CAAC,KAAU;QACvB,IAAI,CAAC,GAAG,IAAI,oDAAoD,EAAE,CAAC;QACnE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAGF,mBAAiB,CAAqBE,gBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;SAAC;QAC7G,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAGF,mBAAiB,CAAwBC,mBAAqB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;SAAC;QAChH,IAAI,KAAK,CAAC,cAAc,EAAE;YAAC,CAAC,CAAC,cAAc,GAAGD,mBAAiB,CAAqBE,gBAAkB,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;SAAC;QAC/H,OAAO,CAAC,CAAC;KACZ;IASD,SAAS;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;QAEP,IAAI,OAAO,IAAI,CAAC,qBAAqB,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC;SAAC;QACxH,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;SAAC;QACjF,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;SAAC;QAC9E,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;SAAC;QACnG,IAAI,OAAO,IAAI,CAAC,sBAAsB,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,wBAAwB,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC;SAAC;QAC3H,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;SAAC;QACnG,IAAI,OAAO,IAAI,CAAC,wBAAwB,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,0BAA0B,CAAC,GAAG,IAAI,CAAC,wBAAwB,CAAC;SAAC;QACjI,OAAO,QAAQ,CAAC;KACnB;CACJ;MAEY,0BAA0B;IAYnC,YAAY,MAA8C;QACtD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU;QACvB,IAAI,CAAC,GAAG,IAAI,0BAA0B,EAAE,CAAC;QACzC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,oDAAoD,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SAAC;QAC/G,IAAI,KAAK,CAAC,aAAa,EAAE;YAAC,CAAC,CAAC,aAAa,GAAG,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;SAAC;QAChG,OAAO,CAAC,CAAC;KACZ;IASD,SAAS;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;QAEP,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;SAAC;QACzK,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,aAAa,GAAI,IAAI,CAAC,aAAqB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;SAAC;QAC7M,OAAO,QAAQ,CAAC;KACnB;CACJ;MAEY,2BAA2B;IAYpC,YAAY,MAA+C;QACvD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU;QACvB,IAAI,CAAC,GAAG,IAAI,2BAA2B,EAAE,CAAC;QAC1C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,aAAa,EAAE;YAAC,CAAC,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,wCAAwC,CAAC,SAAS,CAAC,CAAC;SAAC;QACzH,IAAI,KAAK,CAAC,cAAc,EAAE;YAAC,CAAC,CAAC,cAAc,GAAG,qBAAqB,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;SAAC;QACrG,OAAO,CAAC,CAAC;KACZ;IASD,SAAS;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;QAEP,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,aAAa,GAAI,IAAI,CAAC,aAAqB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;SAAC;QAC7M,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,cAAc,GAAI,IAAI,CAAC,cAAsB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;SAAC;QACnN,OAAO,QAAQ,CAAC;KACnB;CACJ;MAEY,QAAQ;IAYjB,YAAY,MAA4B;QACpC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU;QACvB,IAAI,CAAC,GAAG,IAAI,QAAQ,EAAE,CAAC;QACvB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,UAAU,EAAE;YAAC,CAAC,CAAC,UAAU,GAAGF,mBAAiB,CAAuBI,kBAAoB,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;SAAC;QACvH,IAAI,KAAK,CAAC,IAAI,EAAE;YAAC,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAM,CAAC,GAAG,EAAE,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;SAAC;QACxH,OAAO,CAAC,CAAC;KACZ;IASD,SAAS;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;QAEP,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;SAAC;QACvF,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,IAAI,GAAI,IAAI,CAAC,IAAY,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;SAAC;QACvJ,OAAO,QAAQ,CAAC;KACnB;CACJ;MAEY,kCAAkC;IAU3C,YAAY,MAAsD;QAC9D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU;QACvB,IAAI,CAAC,GAAG,IAAI,kCAAkC,EAAE,CAAC;QACjD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,OAAO,CAAC,CAAC;KACZ;IASD,SAAS;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;QAEP,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;SAAC;QAClE,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;SAAC;QACxE,OAAO,QAAQ,CAAC;KACnB;CACJ;MAEY,mBAAmB;IAU5B,YAAY,MAAuC;QAC/C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU;QACvB,IAAI,CAAC,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAClC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,OAAO,CAAC,CAAC;KACZ;IASD,SAAS;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;QAEP,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;SAAC;QAC3E,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;SAAC;QACjF,OAAO,QAAQ,CAAC;KACnB;CACJ;MAEY,qBAAqB;IAU9B,YAAY,MAAyC;QACjD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU;QACvB,IAAI,CAAC,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACpC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,OAAO,CAAC,CAAC;KACZ;IASD,SAAS;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;QAEP,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;SAAC;QACvF,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;SAAC;QAC9E,OAAO,QAAQ,CAAC;KACnB;CACJ;MAEY,qBAAqB;IAwB9B,YAAY,MAAyC;QACjD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAfD,OAAO,SAAS,CAAC,KAAU;QACvB,IAAI,CAAC,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACpC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAGJ,mBAAiB,CAAwBC,mBAAqB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;SAAC;QAChH,IAAI,KAAK,CAAC,IAAI,EAAE;YAAC,CAAC,CAAC,IAAI,GAAGD,mBAAiB,CAAgBF,WAAa,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;SAAC;QACvF,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAGE,mBAAiB,CAAqBE,gBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;SAAC;QAC7G,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAM,CAAC,GAAG,EAAE,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;SAAC;QACxI,OAAO,CAAC,CAAC;KACZ;IASD,SAAS;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;QAEP,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;SAAC;QACjF,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;SAAC;QAC1F,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;SAAC;QACnG,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;SAAC;QACpF,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;SAAC;QACrE,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;SAAC;QAC9E,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;SAAC;QACrE,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;SAAC;QACjF,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;SAAC;QACpF,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;SAAC;QACnG,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;SAAC;QAC/K,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;SAAC;QACxE,OAAO,QAAQ,CAAC;KACnB;CACJ;MAEY,0BAA0B;IAenC,YAAY,MAA8C;QACtD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU;QACvB,IAAI,CAAC,GAAG,IAAI,0BAA0B,EAAE,CAAC;QACzC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAGF,mBAAiB,CAAqBE,gBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;SAAC;QAC7G,IAAI,KAAK,CAAC,aAAa,EAAE;YAAC,CAAC,CAAC,aAAa,GAAG,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;SAAC;QAChG,OAAO,CAAC,CAAC;KACZ;IASD,SAAS;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;QAEP,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;SAAC;QACpF,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;SAAC;QACnG,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;SAAC;QACjF,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;SAAC;QACvF,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,aAAa,GAAI,IAAI,CAAC,aAAqB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;SAAC;QAC7M,OAAO,QAAQ,CAAC;KACnB;CACJ;MAEY,2BAA2B;IAYpC,YAAY,MAA+C;QACvD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU;QACvB,IAAI,CAAC,GAAG,IAAI,2BAA2B,EAAE,CAAC;QAC1C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,aAAa,EAAE;YAAC,CAAC,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,+CAA+C,CAAC,SAAS,CAAC,CAAC;SAAC;QAChI,IAAI,KAAK,CAAC,cAAc,EAAE;YAAC,CAAC,CAAC,cAAc,GAAG,qBAAqB,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;SAAC;QACrG,OAAO,CAAC,CAAC;KACZ;IASD,SAAS;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;QAEP,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,aAAa,GAAI,IAAI,CAAC,aAAqB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;SAAC;QAC7M,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,cAAc,GAAI,IAAI,CAAC,cAAsB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;SAAC;QACnN,OAAO,QAAQ,CAAC;KACnB;CACJ;MAEY,kBAAkB;IAkB3B,YAAY,MAAsC;QAC9C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAfD,OAAO,SAAS,CAAC,KAAU;QACvB,IAAI,CAAC,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACjC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,MAAM,EAAE;YAAC,CAAC,CAAC,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;SAAC;QACnE,IAAI,KAAK,CAAC,SAAS,EAAE;YAAC,CAAC,CAAC,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;SAAC;QAC5E,IAAI,KAAK,CAAC,IAAI,EAAE;YAAC,CAAC,CAAC,IAAI,GAAGF,mBAAiB,CAAgBF,WAAa,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;SAAC;QACvF,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;SAAC;QAC1E,OAAO,CAAC,CAAC;KACZ;IASD,SAAS;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;QAEP,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,MAAM,GAAI,IAAI,CAAC,MAAc,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;SAAC;QACnK,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,SAAS,GAAI,IAAI,CAAC,SAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;SAAC;QACrL,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;SAAC;QACnG,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;SAAC;QACrE,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;SAAC;QACrE,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;SAAC;QAC/K,OAAO,QAAQ,CAAC;KACnB;CACJ;MAEY,mBAAmB;IAS5B,YAAY,MAAuC;QAC/C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU;QACvB,IAAI,CAAC,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAClC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,OAAO,CAAC,CAAC;KACZ;IASD,SAAS;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;QAEP,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;SAAC;QACvF,OAAO,QAAQ,CAAC;KACnB;CACJ;MAEY,0BAA0B;IAYnC,YAAY,MAA8C;QACtD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU;QACvB,IAAI,CAAC,GAAG,IAAI,0BAA0B,EAAE,CAAC;QACzC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,MAAM,EAAE;YAAC,CAAC,CAAC,MAAM,GAAGE,mBAAiB,CAAkBD,aAAe,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;SAAC;QACjG,OAAO,CAAC,CAAC;KACZ;IASD,SAAS;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;QAEP,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;SAAC;QACpF,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;SAAC;QAChG,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;YAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;SAAC;QAC3E,OAAO,QAAQ,CAAC;KACnB;;;AC9oCL;;MCIa,WAAW;IAIpB,YAAoB,kBAAsC;QAAtC,uBAAkB,GAAlB,kBAAkB,CAAoB;KACzD;IAED,IAAI;QACA,IAAI,IAAI,CAAC,KAAK,EAAE;YACZ,OAAO,IAAI,CAAC,KAAK,CAAC;SACrB;QAED,QAAQ,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE;YAC5C,KAAK,WAAW,CAAC,KAAK;gBAClB,IAAI,CAAC,KAAK,GAAG,qCAAqC,CAAC;gBACnD,MAAM;YACV,KAAK,WAAW,CAAC,IAAI;gBACjB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBAChB,MAAM;YACV,KAAK,WAAW,CAAC,IAAI;gBACjB,IAAI,CAAC,KAAK,GAAG,iCAAiC,CAAC;gBAC/C,MAAM;YACV,KAAK,WAAW,CAAC,IAAI;gBACjB,IAAI,CAAC,KAAK,GAAG,iCAAiC,CAAC;gBAC/C,MAAM;SACb;QACD,OAAO,IAAI,CAAC,KAAK,CAAC;KACrB;IAED,SAAS;QACL,IAAI,IAAI,CAAC,UAAU,EAAE;YACjB,OAAO,IAAI,CAAC,UAAU,CAAC;SAC1B;QAED,QAAQ,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE;YAC5C,KAAK,WAAW,CAAC,KAAK;gBAClB,IAAI,CAAC,UAAU,GAAG,iCAAiC,CAAC;gBACpD,MAAM;YACV,KAAK,WAAW,CAAC,IAAI;gBACjB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;gBACrB,MAAM;YACV,KAAK,WAAW,CAAC,IAAI;gBACjB,IAAI,CAAC,UAAU,GAAG,iCAAiC,CAAC;gBACpD,MAAM;YACV,KAAK,WAAW,CAAC,IAAI;gBACjB,IAAI,CAAC,UAAU,GAAG,iCAAiC,CAAC;gBACpD,MAAM;SACb;QACD,OAAO,IAAI,CAAC,UAAU,CAAC;KAC1B;IAED,cAAc;QACV,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE,KAAK,WAAW,CAAC,KAAK,GAAG,SAAS,GAAG,UAAU,CAAC;QACvG,OAAO,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;KAC9B;IAED,mBAAmB;QACf,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE,KAAK,WAAW,CAAC,KAAK,GAAG,SAAS,GAAG,UAAU,CAAC;QACvG,OAAO,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;KACnC;;;;YA5DJ,UAAU,SAAC,EAAC,UAAU,EAAE,MAAM,EAAC;;;YAFvB,kBAAkB;;;ACD3B;MAuEa,sBAAsB;IAE/B,YAAoB,IAAgB,EAAU,WAAwB;QAAlD,SAAI,GAAJ,IAAI,CAAY;QAAU,gBAAW,GAAX,WAAW,CAAa;KACrE;IAEO,UAAU;QACd,OAAO;YACH,OAAO,EAAE,IAAI,WAAW,CAAC;gBACrB,cAAc,EAAE,kBAAkB;aACrC,CAAC;YACF,eAAe,EAAE,IAAI;SACxB,CAAC;KACL;IAED,WAAW,CAAC,CAAmD;QAC3D,MAAM,OAAO,GAAG,CAAsB,CAAE,CAAC,SAAS,IAAyB,CAAE,GAAG,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAC1G,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA+B,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,kDAAkD,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;aAC9K,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAChD,KAAK,EAAE,CACV,CAAC;KACT;IACD,UAAU,CAAC,CAAiD;QACxD,MAAM,OAAO,GAAG,CAAqB,CAAE,CAAC,SAAS,IAAwB,CAAE,GAAG,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACvG,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAmB,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,iDAAiD,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;aACjK,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EACpC,KAAK,EAAE,CACV,CAAC;KACT;IACD,YAAY,CAAC,CAAqD;QAC9D,MAAM,OAAO,GAAG,CAAuB,CAAE,CAAC,SAAS,IAA0B,CAAE,GAAG,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAAC;QAC7G,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAgC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,mDAAmD,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;aAChL,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EACjD,KAAK,EAAE,CACV,CAAC;KACT;IACD,aAAa,CAAC,CAAuD;QACjE,MAAM,OAAO,GAAG,CAAwB,CAAE,CAAC,SAAS,IAA2B,CAAE,GAAG,IAAI,oBAAoB,CAAC,CAAC,CAAC,CAAC;QAChH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,oDAAoD,EAAE,OAAO,CAAC,SAAS,EAAE,kCAAM,IAAI,CAAC,UAAU,EAAE,KAAE,OAAO,EAAE,UAAU,IAAE,CAAC;KAC3L;IACD,mBAAmB,CAAC,CAAmE;QACnF,MAAM,OAAO,GAAG,CAA8B,CAAE,CAAC,SAAS,IAAiC,CAAE,GAAG,IAAI,0BAA0B,CAAC,CAAC,CAAC,CAAC;QAClI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,0DAA0D,EAAE,OAAO,CAAC,SAAS,EAAE,kCAAM,IAAI,CAAC,UAAU,EAAE,KAAE,OAAO,EAAE,UAAU,IAAE,CAAC;KACjM;IACD,mBAAmB,CAAC,CAAmE;QACnF,MAAM,OAAO,GAAG,CAA8B,CAAE,CAAC,SAAS,IAAiC,CAAE,GAAG,IAAI,0BAA0B,CAAC,CAAC,CAAC,CAAC;QAClI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAuC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,0DAA0D,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;aAC9L,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,2BAA2B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EACxD,KAAK,EAAE,CACV,CAAC;KACT;IACD,kBAAkB,CAAC,CAAiE;QAChF,MAAM,OAAO,GAAG,CAA6B,CAAE,CAAC,SAAS,IAAgC,CAAE,GAAG,IAAI,yBAAyB,CAAC,CAAC,CAAC,CAAC;QAC/H,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAsC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,yDAAyD,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;aAC5L,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,0BAA0B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EACvD,KAAK,EAAE,CACV,CAAC;KACT;IACD,kBAAkB,CAAC,CAAiE;QAChF,MAAM,OAAO,GAAG,CAA6B,CAAE,CAAC,SAAS,IAAgC,CAAE,GAAG,IAAI,yBAAyB,CAAC,CAAC,CAAC,CAAC;QAC/H,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,yDAAyD,EAAE,OAAO,CAAC,SAAS,EAAE,kCAAM,IAAI,CAAC,UAAU,EAAE,KAAE,OAAO,EAAE,UAAU,IAAE,CAAC;KAChM;IACD,cAAc,CAAC,CAAyD;QACpE,MAAM,OAAO,GAAG,CAAyB,CAAE,CAAC,SAAS,IAA4B,CAAE,GAAG,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACnH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,qDAAqD,EAAE,OAAO,CAAC,SAAS,EAAE,kCAAM,IAAI,CAAC,UAAU,EAAE,KAAE,OAAO,EAAE,UAAU,IAAE,CAAC;KAC5L;IACD,gBAAgB,CAAC,CAA6D;QAC1E,MAAM,OAAO,GAAG,CAA2B,CAAE,CAAC,SAAS,IAA8B,CAAE,GAAG,IAAI,uBAAuB,CAAC,CAAC,CAAC,CAAC;QACzH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAoC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,uDAAuD,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;aACxL,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,wBAAwB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EACrD,KAAK,EAAE,CACV,CAAC;KACT;IACD,mBAAmB,CAAC,CAAmE;QACnF,MAAM,OAAO,GAAG,CAA8B,CAAE,CAAC,SAAS,IAAiC,CAAE,GAAG,IAAI,0BAA0B,CAAC,CAAC,CAAC,CAAC;QAClI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,0DAA0D,EAAE,OAAO,CAAC,SAAS,EAAE,kCAAM,IAAI,CAAC,UAAU,EAAE,KAAE,OAAO,EAAE,UAAU,IAAE,CAAC;KACjM;IACD,2BAA2B,CAAC,CAAmF;QAC3G,MAAM,OAAO,GAAG,CAAsC,CAAE,CAAC,SAAS,IAAyC,CAAE,GAAG,IAAI,kCAAkC,CAAC,CAAC,CAAC,CAAC;QAC1J,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA+C,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,kEAAkE,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;aAC9M,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,mCAAmC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAChE,KAAK,EAAE,CACV,CAAC;KACT;IACD,oBAAoB,CAAC,CAAqE;QACtF,MAAM,OAAO,GAAG,CAA+B,CAAE,CAAC,SAAS,IAAkC,CAAE,GAAG,IAAI,2BAA2B,CAAC,CAAC,CAAC,CAAC;QACrI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAwC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,2DAA2D,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;aAChM,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,4BAA4B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EACzD,KAAK,EAAE,CACV,CAAC;KACT;IACD,mBAAmB,CAAC,CAAmE;QACnF,MAAM,OAAO,GAAG,CAA8B,CAAE,CAAC,SAAS,IAAiC,CAAE,GAAG,IAAI,0BAA0B,CAAC,CAAC,CAAC,CAAC;QAClI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAuC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,0DAA0D,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;aAC9L,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,2BAA2B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EACxD,KAAK,EAAE,CACV,CAAC;KACT;IACD,gCAAgC,CAAC,CAA6F;QAC1H,MAAM,OAAO,GAAG,CAA2C,CAAE,CAAC,SAAS,IAA8C,CAAE,GAAG,IAAI,uCAAuC,CAAC,CAAC,CAAC,CAAC;QACzK,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAoD,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,uEAAuE,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;aACxN,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,wCAAwC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EACrE,KAAK,EAAE,CACV,CAAC;KACT;IACD,oBAAoB,CAAC,CAAqE;QACtF,MAAM,OAAO,GAAG,CAA+B,CAAE,CAAC,SAAS,IAAkC,CAAE,GAAG,IAAI,2BAA2B,CAAC,CAAC,CAAC,CAAC;QACrI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAwC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,2DAA2D,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;aAChM,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,4BAA4B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EACzD,KAAK,EAAE,CACV,CAAC;KACT;;;;YA1HJ,UAAU,SAAC,EAAC,UAAU,EAAE,MAAM,EAAC;;;YALxB,UAAU;YACV,WAAW;;;AClEnB;;ACAA;;;;;;"}