File manager - Edit - /home/web/vm-3fadc827.na4u.ru/www/bitrix/modules/im/install/js/im/model/dist/registry.bundle.js.map
Back
{"version":3,"file":"registry.bundle.js","sources":["../src/application.js","../src/conference.js","../src/messages.js","../src/dialogues.js","../src/users.js","../src/files.js","../src/recent.js","../src/notifications.js","../src/call.js"],"sourcesContent":["/**\n * Bitrix Messenger\n * Application model (Vuex Builder model)\n *\n * @package bitrix\n * @subpackage im\n * @copyright 2001-2020 Bitrix\n */\n\nimport {DeviceType, DeviceOrientation} from 'im.const';\nimport {VuexBuilderModel} from 'ui.vue.vuex';\n\nexport class ApplicationModel extends VuexBuilderModel\n{\n\tgetName()\n\t{\n\t\treturn 'application';\n\t}\n\n\tgetState()\n\t{\n\t\treturn {\n\t\t\tcommon:\n\t\t\t{\n\t\t\t\thost: this.getVariable('common.host', location.protocol+'//'+location.host),\n\t\t\t\tsiteId: this.getVariable('common.siteId', 'default'),\n\t\t\t\tuserId: this.getVariable('common.userId', 0),\n\t\t\t\tlanguageId: this.getVariable('common.languageId', 'en'),\n\t\t\t},\n\t\t\tdialog:\n\t\t\t{\n\t\t\t\tdialogId: this.getVariable('dialog.dialogId', '0'),\n\t\t\t\tchatId: this.getVariable('dialog.chatId', 0),\n\t\t\t\tdiskFolderId: this.getVariable('dialog.diskFolderId', 0),\n\t\t\t\tmessageLimit: this.getVariable('dialog.messageLimit', 20),\n\t\t\t\tenableReadMessages: this.getVariable('dialog.enableReadMessages', true),\n\t\t\t\tmessageExtraCount: 0,\n\t\t\t},\n\t\t\tdisk:\n\t\t\t{\n\t\t\t\tenabled: false,\n\t\t\t\tmaxFileSize: 5242880,\n\t\t\t},\n\t\t\tcall:\n\t\t\t{\n\t\t\t\tserverEnabled: false,\n\t\t\t\tmaxParticipants: 24,\n\t\t\t},\n\t\t\tmobile:\n\t\t\t{\n\t\t\t\tkeyboardShow: false,\n\t\t\t},\n\t\t\tdevice:\n\t\t\t{\n\t\t\t\ttype: this.getVariable('device.type', DeviceType.desktop),\n\t\t\t\torientation: this.getVariable('device.orientation', DeviceOrientation.portrait),\n\t\t\t},\n\t\t\toptions:\n\t\t\t{\n\t\t\t\tquoteEnable: this.getVariable('options.quoteEnable', true),\n\t\t\t\tquoteFromRight: this.getVariable('options.quoteFromRight', true),\n\t\t\t\tautoplayVideo: this.getVariable('options.autoplayVideo', true),\n\t\t\t\tdarkBackground: this.getVariable('options.darkBackground', false),\n\t\t\t\tshowSmiles: false\n\t\t\t},\n\t\t\terror:\n\t\t\t{\n\t\t\t\tactive: false,\n\t\t\t\tcode: '',\n\t\t\t\tdescription: '',\n\t\t\t},\n\t\t}\n\t}\n\n\tgetStateSaveException()\n\t{\n\t\treturn Object.assign({\n\t\t\tcommon: this.getVariable('saveException.common', null),\n\t\t\tdialog: this.getVariable('saveException.dialog', null),\n\t\t\tmobile: this.getVariable('saveException.mobile', null),\n\t\t\tdevice: this.getVariable('saveException.device', null),\n\t\t\terror: this.getVariable('saveException.error', null)\n\t\t});\n\t}\n\n\tgetActions()\n\t{\n\t\treturn {\n\t\t\tset: (store, payload) =>\n\t\t\t{\n\t\t\t\tstore.commit('set', this.validate(payload));\n\t\t\t},\n\t\t\tshowSmiles: (store, payload) =>\n\t\t\t{\n\t\t\t\tstore.commit('showSmiles')\n\t\t\t},\n\t\t\thideSmiles: (store, payload) =>\n\t\t\t{\n\t\t\t\tstore.commit('hideSmiles');\n\t\t\t}\n\t\t}\n\t}\n\n\tgetMutations()\n\t{\n\t\treturn {\n\t\t\tset: (state, payload) =>\n\t\t\t{\n\t\t\t\tlet hasChange = false;\n\t\t\t\tfor (let group in payload)\n\t\t\t\t{\n\t\t\t\t\tif (!payload.hasOwnProperty(group))\n\t\t\t\t\t{\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tfor (let field in payload[group])\n\t\t\t\t\t{\n\t\t\t\t\t\tif (!payload[group].hasOwnProperty(field))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tstate[group][field] = payload[group][field];\n\t\t\t\t\t\thasChange = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (hasChange && this.isSaveNeeded(payload))\n\t\t\t\t{\n\t\t\t\t\tthis.saveState(state);\n\t\t\t\t}\n\t\t\t},\n\t\t\tincreaseDialogExtraCount(state, payload = {})\n\t\t\t{\n\t\t\t\tlet {count = 1} = payload;\n\n\t\t\t\tstate.dialog.messageExtraCount += count;\n\t\t\t},\n\t\t\tdecreaseDialogExtraCount(state, payload = {})\n\t\t\t{\n\t\t\t\tlet {count = 1} = payload;\n\n\t\t\t\tlet newCounter = state.dialog.messageExtraCount - count;\n\t\t\t\tif (newCounter <= 0)\n\t\t\t\t{\n\t\t\t\t\tnewCounter = 0;\n\t\t\t\t}\n\n\t\t\t\tstate.dialog.messageExtraCount = newCounter;\n\t\t\t},\n\t\t\tclearDialogExtraCount(state)\n\t\t\t{\n\t\t\t\tstate.dialog.messageExtraCount = 0;\n\t\t\t},\n\t\t\tshowSmiles(state)\n\t\t\t{\n\t\t\t\tstate.options.showSmiles = true;\n\t\t\t},\n\t\t\thideSmiles(state)\n\t\t\t{\n\t\t\t\tstate.options.showSmiles = false;\n\t\t\t}\n\t\t}\n\t}\n\n\tvalidate(fields)\n\t{\n\t\tconst result = {};\n\n\t\tif (typeof fields.common === 'object' && fields.common)\n\t\t{\n\t\t\tresult.common = {};\n\n\t\t\tif (typeof fields.common.userId === 'number')\n\t\t\t{\n\t\t\t\tresult.common.userId = fields.common.userId;\n\t\t\t}\n\n\t\t\tif (typeof fields.common.languageId === 'string')\n\t\t\t{\n\t\t\t\tresult.common.languageId = fields.common.languageId;\n\t\t\t}\n\t\t}\n\n\t\tif (typeof fields.dialog === 'object' && fields.dialog)\n\t\t{\n\t\t\tresult.dialog = {};\n\n\t\t\tif (typeof fields.dialog.dialogId === 'number')\n\t\t\t{\n\t\t\t\tresult.dialog.dialogId = fields.dialog.dialogId.toString();\n\t\t\t\tresult.dialog.chatId = 0;\n\t\t\t}\n\t\t\telse if (typeof fields.dialog.dialogId === 'string')\n\t\t\t{\n\t\t\t\tresult.dialog.dialogId = fields.dialog.dialogId;\n\n\t\t\t\tif (typeof fields.dialog.chatId !== 'number')\n\t\t\t\t{\n\t\t\t\t\tlet chatId = fields.dialog.dialogId;\n\t\t\t\t\tif (chatId.startsWith('chat'))\n\t\t\t\t\t{\n\t\t\t\t\t\tchatId = fields.dialog.dialogId.substr(4);\n\t\t\t\t\t}\n\n\t\t\t\t\tchatId = parseInt(chatId);\n\n\t\t\t\t\tresult.dialog.chatId = !isNaN(chatId)? chatId: 0;\n\t\t\t\t\tfields.dialog.chatId = result.dialog.chatId;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (typeof fields.dialog.chatId === 'number')\n\t\t\t{\n\t\t\t\tresult.dialog.chatId = fields.dialog.chatId;\n\t\t\t}\n\n\t\t\tif (typeof fields.dialog.diskFolderId === 'number')\n\t\t\t{\n\t\t\t\tresult.dialog.diskFolderId = fields.dialog.diskFolderId;\n\t\t\t}\n\n\t\t\tif (typeof fields.dialog.messageLimit === 'number')\n\t\t\t{\n\t\t\t\tresult.dialog.messageLimit = fields.dialog.messageLimit;\n\t\t\t}\n\n\t\t\tif (typeof fields.dialog.messageExtraCount === 'number')\n\t\t\t{\n\t\t\t\tresult.dialog.messageExtraCount = fields.dialog.messageExtraCount;\n\t\t\t}\n\n\t\t\tif (typeof fields.dialog.enableReadMessages === 'boolean')\n\t\t\t{\n\t\t\t\tresult.dialog.enableReadMessages = fields.dialog.enableReadMessages;\n\t\t\t}\n\t\t}\n\n\t\tif (typeof fields.disk === 'object' && fields.disk)\n\t\t{\n\t\t\tresult.disk = {};\n\n\t\t\tif (typeof fields.disk.enabled === 'boolean')\n\t\t\t{\n\t\t\t\tresult.disk.enabled = fields.disk.enabled;\n\t\t\t}\n\n\t\t\tif (typeof fields.disk.maxFileSize === 'number')\n\t\t\t{\n\t\t\t\tresult.disk.maxFileSize = fields.disk.maxFileSize;\n\t\t\t}\n\t\t}\n\n\t\tif (typeof fields.call === 'object' && fields.call)\n\t\t{\n\t\t\tresult.call = {};\n\n\t\t\tif (typeof fields.call.serverEnabled === 'boolean')\n\t\t\t{\n\t\t\t\tresult.call.serverEnabled = fields.call.serverEnabled;\n\t\t\t}\n\n\t\t\tif (typeof fields.call.maxParticipants === 'number')\n\t\t\t{\n\t\t\t\tresult.call.maxParticipants = fields.call.maxParticipants;\n\t\t\t}\n\t\t}\n\n\t\tif (typeof fields.mobile === 'object' && fields.mobile)\n\t\t{\n\t\t\tresult.mobile = {};\n\n\t\t\tif (typeof fields.mobile.keyboardShow === 'boolean')\n\t\t\t{\n\t\t\t\tresult.mobile.keyboardShow = fields.mobile.keyboardShow;\n\t\t\t}\n\t\t}\n\n\t\tif (typeof fields.device === 'object' && fields.device)\n\t\t{\n\t\t\tresult.device = {};\n\n\t\t\tif (typeof fields.device.type === 'string' && typeof DeviceType[fields.device.type] !== 'undefined')\n\t\t\t{\n\t\t\t\tresult.device.type = fields.device.type;\n\t\t\t}\n\n\t\t\tif (typeof fields.device.orientation === 'string' && typeof DeviceOrientation[fields.device.orientation] !== 'undefined')\n\t\t\t{\n\t\t\t\tresult.device.orientation = fields.device.orientation;\n\t\t\t}\n\t\t}\n\n\t\tif (typeof fields.error === 'object' && fields.error)\n\t\t{\n\t\t\tif (typeof fields.error.active === 'boolean')\n\t\t\t{\n\t\t\t\tresult.error = {\n\t\t\t\t\tactive: fields.error.active,\n\t\t\t\t\tcode: fields.error.code.toString() || '',\n\t\t\t\t\tdescription: fields.error.description.toString() || '',\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n}","/**\n * Bitrix Messenger\n * Call Application model (Vuex Builder model)\n *\n * @package bitrix\n * @subpackage im\n * @copyright 2001-2020 Bitrix\n */\n\nimport {VuexBuilderModel} from 'ui.vue.vuex';\nimport {ConferenceStateType, ConferenceRightPanelMode as RightPanelMode} from 'im.const';\n\nexport class ConferenceModel extends VuexBuilderModel\n{\n\tgetName()\n\t{\n\t\treturn 'conference';\n\t}\n\n\tgetState()\n\t{\n\t\treturn {\n\t\t\tcommon:\n\t\t\t{\n\t\t\t\tinited: false,\n\t\t\t\tpassChecked: true,\n\t\t\t\tshowChat: false,\n\t\t\t\tuserCount: 0,\n\t\t\t\tmessageCount: 0,\n\t\t\t\tuserInCallCount: 0,\n\t\t\t\tstate: ConferenceStateType.preparation,\n\t\t\t\tcallEnded: false,\n\t\t\t\tshowSmiles: false,\n\t\t\t\terror: '',\n\t\t\t\tconferenceTitle: '',\n\t\t\t\talias: '',\n\t\t\t\tpermissionsRequested: false,\n\t\t\t\tconferenceStarted: null,\n\t\t\t\tconferenceStartDate: null,\n\t\t\t\tjoinWithVideo: null,\n\t\t\t\tuserReadyToJoin: false,\n\t\t\t\tisBroadcast: false,\n\t\t\t\tusers: [],\n\t\t\t\tusersInCall: [],\n\t\t\t\tpresenters: [],\n\t\t\t\trightPanelMode: RightPanelMode.hidden\n\t\t\t},\n\t\t\tuser:\n\t\t\t{\n\t\t\t\tid: -1,\n\t\t\t\thash: ''\n\t\t\t},\n\t\t}\n\t}\n\n\tgetActions()\n\t{\n\t\treturn {\n\t\t\tshowChat: (store, payload) =>\n\t\t\t{\n\t\t\t\tif (typeof payload.newState !== 'boolean')\n\t\t\t\t{\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tstore.commit('showChat', payload);\n\t\t\t},\n\t\t\tchangeRightPanelMode: (store, payload) =>\n\t\t\t{\n\t\t\t\tif (!RightPanelMode[payload.mode])\n\t\t\t\t{\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tstore.commit('changeRightPanelMode', payload);\n\t\t\t},\n\t\t\tsetPermissionsRequested: (store, payload) =>\n\t\t\t{\n\t\t\t\tif (typeof payload.status !== 'boolean')\n\t\t\t\t{\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tstore.commit('setPermissionsRequested', payload);\n\t\t\t},\n\t\t\tsetPresenters: (store, payload) =>\n\t\t\t{\n\t\t\t\tif (!Array.isArray(payload.presenters))\n\t\t\t\t{\n\t\t\t\t\tpayload.presenters = [payload.presenters];\n\t\t\t\t}\n\n\t\t\t\tstore.commit('setPresenters', payload);\n\t\t\t},\n\t\t\tsetUsers: (store, payload) =>\n\t\t\t{\n\t\t\t\tif (!Array.isArray(payload.users))\n\t\t\t\t{\n\t\t\t\t\tpayload.users = [payload.users];\n\t\t\t\t}\n\n\t\t\t\tstore.commit('setUsers', payload);\n\t\t\t},\n\t\t\tremoveUsers: (store, payload) =>\n\t\t\t{\n\t\t\t\tif (!Array.isArray(payload.users))\n\t\t\t\t{\n\t\t\t\t\tpayload.users = [payload.users];\n\t\t\t\t}\n\n\t\t\t\tstore.commit('removeUsers', payload);\n\t\t\t},\n\t\t\tsetUsersInCall: (store, payload) =>\n\t\t\t{\n\t\t\t\tif (!Array.isArray(payload.users))\n\t\t\t\t{\n\t\t\t\t\tpayload.users = [payload.users];\n\t\t\t\t}\n\n\t\t\t\tstore.commit('setUsersInCall', payload);\n\t\t\t},\n\t\t\tremoveUsersInCall: (store, payload) =>\n\t\t\t{\n\t\t\t\tif (!Array.isArray(payload.users))\n\t\t\t\t{\n\t\t\t\t\tpayload.users = [payload.users];\n\t\t\t\t}\n\n\t\t\t\tstore.commit('removeUsersInCall', payload);\n\t\t\t},\n\t\t\tsetConferenceTitle: (store, payload) =>\n\t\t\t{\n\t\t\t\tif (typeof payload.conferenceTitle !== 'string')\n\t\t\t\t{\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tstore.commit('setConferenceTitle', payload);\n\t\t\t},\n\t\t\tsetBroadcastMode: (store, payload) =>\n\t\t\t{\n\t\t\t\tif (typeof payload.broadcastMode !== 'boolean')\n\t\t\t\t{\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tstore.commit('setBroadcastMode', payload);\n\t\t\t}\n\t\t}\n\t}\n\n\tgetMutations()\n\t{\n\t\treturn {\n\t\t\tcommon: (state, payload) =>\n\t\t\t{\n\t\t\t\tif (typeof payload.inited === 'boolean')\n\t\t\t\t{\n\t\t\t\t\tstate.common.inited = payload.inited;\n\t\t\t\t}\n\t\t\t\tif (typeof payload.passChecked === 'boolean')\n\t\t\t\t{\n\t\t\t\t\tstate.common.passChecked = payload.passChecked;\n\t\t\t\t}\n\t\t\t\tif (typeof payload.userCount === 'number' || typeof payload.userCount === 'string')\n\t\t\t\t{\n\t\t\t\t\tstate.common.userCount = parseInt(payload.userCount);\n\t\t\t\t}\n\t\t\t\tif (typeof payload.messageCount === 'number' || typeof payload.messageCount === 'string')\n\t\t\t\t{\n\t\t\t\t\tstate.common.messageCount = parseInt(payload.messageCount);\n\t\t\t\t}\n\t\t\t\tif (typeof payload.userInCallCount === 'number' || typeof payload.userInCallCount === 'string')\n\t\t\t\t{\n\t\t\t\t\tstate.common.userInCallCount = parseInt(payload.userInCallCount);\n\t\t\t\t}\n\t\t\t\tif (typeof payload.componentError === 'string')\n\t\t\t\t{\n\t\t\t\t\tstate.common.componentError = payload.componentError;\n\t\t\t\t}\n\t\t\t\tif (typeof payload.isBroadcast === 'boolean')\n\t\t\t\t{\n\t\t\t\t\tstate.common.isBroadcast = payload.isBroadcast;\n\t\t\t\t}\n\t\t\t\tif (Array.isArray(payload.presenters))\n\t\t\t\t{\n\t\t\t\t\tstate.common.presenters = payload.presenters;\n\t\t\t\t}\n\t\t\t},\n\t\t\tuser: (state, payload) =>\n\t\t\t{\n\t\t\t\tif (typeof payload.id === 'number')\n\t\t\t\t{\n\t\t\t\t\tstate.user.id = payload.id;\n\t\t\t\t}\n\t\t\t\tif (typeof payload.hash === 'string' && payload.hash !== state.user.hash)\n\t\t\t\t{\n\t\t\t\t\tstate.user.hash = payload.hash;\n\t\t\t\t}\n\t\t\t\tif (this.isSaveNeeded({user: payload}))\n\t\t\t\t{\n\t\t\t\t\tthis.saveState(state);\n\t\t\t\t}\n\t\t\t},\n\t\t\tshowChat: (state, {newState}) =>\n\t\t\t{\n\t\t\t\tstate.common.showChat = newState;\n\t\t\t},\n\t\t\tchangeRightPanelMode: (state, {mode}) =>\n\t\t\t{\n\t\t\t\tstate.common.rightPanelMode = mode;\n\t\t\t},\n\t\t\tsetPermissionsRequested: (state, payload) =>\n\t\t\t{\n\t\t\t\tstate.common.permissionsRequested = payload.status;\n\t\t\t},\n\t\t\tstartCall: (state, payload) =>\n\t\t\t{\n\t\t\t\tstate.common.state = ConferenceStateType.call;\n\t\t\t\tstate.common.callEnded = false;\n\t\t\t},\n\t\t\tendCall: (state, payload) =>\n\t\t\t{\n\t\t\t\tstate.common.state = ConferenceStateType.preparation;\n\t\t\t\tstate.common.callEnded = true;\n\t\t\t},\n\t\t\treturnToPreparation: (state, payload) =>\n\t\t\t{\n\t\t\t\tstate.common.state = ConferenceStateType.preparation;\n\t\t\t},\n\t\t\ttoggleSmiles: (state, payload) =>\n\t\t\t{\n\t\t\t\tstate.common.showSmiles = !state.common.showSmiles;\n\t\t\t},\n\t\t\tsetError: (state, payload) =>\n\t\t\t{\n\t\t\t\tif (typeof payload.errorCode === 'string')\n\t\t\t\t{\n\t\t\t\t\tstate.common.error = payload.errorCode;\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetConferenceTitle: (state, payload) =>\n\t\t\t{\n\t\t\t\tstate.common.conferenceTitle = payload.conferenceTitle;\n\t\t\t},\n\t\t\tsetBroadcastMode: (state, payload) =>\n\t\t\t{\n\t\t\t\tstate.common.isBroadcast = payload.broadcastMode;\n\t\t\t},\n\t\t\tsetAlias: (state, payload) =>\n\t\t\t{\n\t\t\t\tif (typeof payload.alias === 'string')\n\t\t\t\t{\n\t\t\t\t\tstate.common.alias = payload.alias;\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetJoinType: (state, payload) =>\n\t\t\t{\n\t\t\t\tif (typeof payload.joinWithVideo === 'boolean')\n\t\t\t\t{\n\t\t\t\t\tstate.common.joinWithVideo = payload.joinWithVideo;\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetConferenceStatus: (state, payload) =>\n\t\t\t{\n\t\t\t\tif (typeof payload.conferenceStarted === 'boolean')\n\t\t\t\t{\n\t\t\t\t\tstate.common.conferenceStarted = payload.conferenceStarted;\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetConferenceStartDate: (state, payload) =>\n\t\t\t{\n\t\t\t\tif (payload.conferenceStartDate instanceof Date)\n\t\t\t\t{\n\t\t\t\t\tstate.common.conferenceStartDate = payload.conferenceStartDate;\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetUserReadyToJoin: (state, payload) =>\n\t\t\t{\n\t\t\t\tstate.common.userReadyToJoin = true;\n\t\t\t},\n\t\t\tsetPresenters: (state, payload) =>\n\t\t\t{\n\t\t\t\tif (payload.replace)\n\t\t\t\t{\n\t\t\t\t\tstate.common.presenters = payload.presenters;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tpayload.presenters.forEach(presenter => {\n\t\t\t\t\t\tpresenter = parseInt(presenter);\n\t\t\t\t\t\tif (!state.common.presenters.includes(presenter))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tstate.common.presenters.push(presenter);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetUsers: (state, payload) =>\n\t\t\t{\n\t\t\t\tpayload.users.forEach(user => {\n\t\t\t\t\tuser = parseInt(user);\n\t\t\t\t\tif (!state.common.users.includes(user))\n\t\t\t\t\t{\n\t\t\t\t\t\tstate.common.users.push(user);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t\tremoveUsers: (state, payload) =>\n\t\t\t{\n\t\t\t\tstate.common.users = state.common.users.filter(user => {\n\t\t\t\t\treturn !payload.users.includes(parseInt(user));\n\t\t\t\t});\n\t\t\t},\n\t\t\tsetUsersInCall: (state, payload) =>\n\t\t\t{\n\t\t\t\tpayload.users.forEach(user => {\n\t\t\t\t\tuser = parseInt(user);\n\t\t\t\t\tif (!state.common.usersInCall.includes(user))\n\t\t\t\t\t{\n\t\t\t\t\t\tstate.common.usersInCall.push(user);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t\tremoveUsersInCall: (state, payload) =>\n\t\t\t{\n\t\t\t\tstate.common.usersInCall = state.common.usersInCall.filter(user => {\n\t\t\t\t\treturn !payload.users.includes(parseInt(user));\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\tgetStateSaveException()\n\t{\n\t\treturn {\n\t\t\tcommon: {\n\t\t\t\tinited: null,\n\t\t\t\tstate: null,\n\t\t\t\tshowSmiles: null,\n\t\t\t\tuserCount: null,\n\t\t\t\tmessageCount: null,\n\t\t\t\tuserInCallCount: null,\n\t\t\t\terror: null,\n\t\t\t\tconferenceTitle: null,\n\t\t\t\talias: null,\n\t\t\t\tconferenceStarted: null,\n\t\t\t\tconferenceStartDate: null,\n\t\t\t\tjoinWithVideo: null,\n\t\t\t\tuserReadyToJoin: null,\n\t\t\t\trightPanelMode: null,\n\t\t\t\tpresenters: null,\n\t\t\t\tusers: null\n\t\t\t},\n\t\t}\n\t}\n}","/**\n * Bitrix Messenger\n * Messages model (Vuex Builder model)\n *\n * @package bitrix\n * @subpackage im\n * @copyright 2001-2020 Bitrix\n */\n\n\nimport {Vue} from 'ui.vue';\nimport {VuexBuilderModel} from 'ui.vue.vuex';\nimport { MutationType, RecentSection as Section, StorageLimit, EventType } from 'im.const';\nimport {Utils} from \"im.lib.utils\";\nimport { Logger } from \"im.lib.logger\";\n\nimport {EventEmitter} from 'main.core.events';\n\nconst IntersectionType = {\n\tempty: 'empty',\n\tequal: 'equal',\n\tnone: 'none',\n\tfound: 'found',\n\tfoundReverse: 'foundReverse',\n};\n\nexport class MessagesModel extends VuexBuilderModel\n{\n\tgetName()\n\t{\n\t\treturn 'messages';\n\t}\n\n\tgetState()\n\t{\n\t\treturn {\n\t\t\tcreated: 0,\n\t\t\tcollection: {},\n\t\t\tmutationType: {},\n\t\t\tsaveMessageList: {},\n\t\t\tsaveFileList: {},\n\t\t\tsaveUserList: {},\n\t\t\thost: this.getVariable('host', location.protocol+'//'+location.host),\n\t\t}\n\t}\n\n\tgetElementState()\n\t{\n\t\treturn {\n\t\t\ttemplateId: 0,\n\t\t\ttemplateType: 'message',\n\t\t\tplaceholderType: 0,\n\n\t\t\tid: 0,\n\t\t\tchatId: 0,\n\t\t\tauthorId: 0,\n\t\t\tdate: new Date(),\n\t\t\ttext: \"\",\n\t\t\ttextConverted: \"\",\n\t\t\tparams: {\n\t\t\t\tTYPE : 'default',\n\t\t\t\tCOMPONENT_ID : 'bx-im-view-message',\n\t\t\t},\n\n\t\t\tpush: false,\n\t\t\tunread: false,\n\t\t\tsending: false,\n\t\t\terror: false,\n\t\t\tretry: false,\n\t\t\tblink: false,\n\t\t};\n\t}\n\n\tgetGetters()\n\t{\n\t\treturn {\n\n\t\t\tgetMutationType: state => chatId =>\n\t\t\t{\n\t\t\t\tif (!state.mutationType[chatId])\n\t\t\t\t{\n\t\t\t\t\treturn {initialType: MutationType.none, appliedType: MutationType.none};\n\t\t\t\t}\n\n\t\t\t\treturn state.mutationType[chatId];\n\t\t\t},\n\t\t\tgetLastId: state => chatId =>\n\t\t\t{\n\t\t\t\tif (!state.collection[chatId] || state.collection[chatId].length <= 0)\n\t\t\t\t{\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\tlet lastId = 0;\n\n\t\t\t\tfor (let i = 0; i < state.collection[chatId].length; i++)\n\t\t\t\t{\n\t\t\t\t\tlet element = state.collection[chatId][i];\n\t\t\t\t\tif (\n\t\t\t\t\t\telement.push\n\t\t\t\t\t\t|| element.sending\n\t\t\t\t\t\t|| element.id.toString().startsWith('temporary')\n\t\t\t\t\t)\n\t\t\t\t\t{\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (lastId < element.id)\n\t\t\t\t\t{\n\t\t\t\t\t\tlastId = element.id;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn lastId? lastId: null;\n\t\t\t},\n\t\t\tgetMessage: state => (chatId, messageId) =>\n\t\t\t{\n\t\t\t\tif (!state.collection[chatId] || state.collection[chatId].length <= 0)\n\t\t\t\t{\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\tfor (let index = state.collection[chatId].length-1; index >= 0; index--)\n\t\t\t\t{\n\t\t\t\t\tif (state.collection[chatId][index].id === messageId)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn state.collection[chatId][index];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn null;\n\t\t\t},\n\t\t\tget: state => chatId =>\n\t\t\t{\n\t\t\t\tif (!state.collection[chatId] || state.collection[chatId].length <= 0)\n\t\t\t\t{\n\t\t\t\t\treturn [];\n\t\t\t\t}\n\n\t\t\t\treturn state.collection[chatId];\n\t\t\t},\n\t\t\tgetBlank: state => params =>\n\t\t\t{\n\t\t\t\treturn this.getElementState();\n\t\t\t},\n\t\t\tgetSaveFileList: state => params =>\n\t\t\t{\n\t\t\t\treturn state.saveFileList;\n\t\t\t},\n\t\t\tgetSaveUserList: state => params =>\n\t\t\t{\n\t\t\t\treturn state.saveUserList;\n\t\t\t},\n\t\t}\n\t}\n\n\tgetActions()\n\t{\n\t\treturn {\n\t\t\tadd: (store, payload) =>\n\t\t\t{\n\t\t\t\tlet result = this.validate(Object.assign({}, payload));\n\t\t\t\tresult.params = Object.assign({}, this.getElementState().params, result.params);\n\t\t\t\tif (payload.id)\n\t\t\t\t{\n\t\t\t\t\tif (store.state.collection[payload.chatId])\n\t\t\t\t\t{\n\t\t\t\t\t\tconst countMessages = store.state.collection[payload.chatId].length-1;\n\t\t\t\t\t\tfor (let index = countMessages; index >= 0; index--)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconst message = store.state.collection[payload.chatId][index];\n\t\t\t\t\t\t\tif (message.templateId === payload.id)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tresult.id = payload.id;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tresult.id = 'temporary' + (new Date).getTime() + store.state.created;\n\t\t\t\t}\n\t\t\t\tresult.templateId = result.id;\n\t\t\t\tresult.unread = false;\n\n\t\t\t\tstore.commit('add', Object.assign({}, this.getElementState(), result));\n\n\t\t\t\tif (payload.sending !== false)\n\t\t\t\t{\n\t\t\t\t\tstore.dispatch('actionStart', {\n\t\t\t\t\t\tid: result.id,\n\t\t\t\t\t\tchatId: result.chatId,\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\treturn result.id;\n\t\t\t},\n\t\t\tactionStart: (store, payload) =>\n\t\t\t{\n\t\t\t\tif (/^\\d+$/.test(payload.id))\n\t\t\t\t{\n\t\t\t\t\tpayload.id = parseInt(payload.id);\n\t\t\t\t}\n\n\t\t\t\tpayload.chatId = parseInt(payload.chatId);\n\n\t\t\t\tVue.nextTick(() => {\n\t\t\t\t\tstore.commit('update', {\n\t\t\t\t\t\tid : payload.id ,\n\t\t\t\t\t\tchatId : payload.chatId,\n\t\t\t\t\t\tfields : {sending: true}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t},\n\t\t\tactionError: (store, payload) =>\n\t\t\t{\n\t\t\t\tif (/^\\d+$/.test(payload.id))\n\t\t\t\t{\n\t\t\t\t\tpayload.id = parseInt(payload.id);\n\t\t\t\t}\n\t\t\t\tpayload.chatId = parseInt(payload.chatId);\n\n\t\t\t\tVue.nextTick(() => {\n\t\t\t\t\tstore.commit('update', {\n\t\t\t\t\t\tid : payload.id ,\n\t\t\t\t\t\tchatId : payload.chatId,\n\t\t\t\t\t\tfields : {sending: false, error: true, retry: payload.retry !== false}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t},\n\t\t\tactionFinish: (store, payload) =>\n\t\t\t{\n\t\t\t\tif (/^\\d+$/.test(payload.id))\n\t\t\t\t{\n\t\t\t\t\tpayload.id = parseInt(payload.id);\n\t\t\t\t}\n\t\t\t\tpayload.chatId = parseInt(payload.chatId);\n\n\t\t\t\tVue.nextTick(() => {\n\t\t\t\t\tstore.commit('update', {\n\t\t\t\t\t\tid : payload.id ,\n\t\t\t\t\t\tchatId : payload.chatId,\n\t\t\t\t\t\tfields : {sending: false, error: false, retry: false}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t},\n\t\t\tset: (store, payload) =>\n\t\t\t{\n\t\t\t\tif (payload instanceof Array)\n\t\t\t\t{\n\t\t\t\t\tpayload = payload.map(message => this.prepareMessage(message, {host: store.state.host}));\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tlet result = this.prepareMessage(payload, {host: store.state.host});\n\t\t\t\t\t(payload = []).push(result);\n\t\t\t\t}\n\n\t\t\t\tstore.commit('set', {\n\t\t\t\t\tinsertType : MutationType.set,\n\t\t\t\t\tdata : payload\n\t\t\t\t});\n\n\t\t\t\treturn 'set is done';\n\t\t\t},\n\t\t\taddPlaceholders: (store, payload) =>\n\t\t\t{\n\t\t\t\tif (payload.placeholders instanceof Array)\n\t\t\t\t{\n\t\t\t\t\tpayload.placeholders = payload.placeholders.map(message => this.prepareMessage(message, { host: store.state.host }));\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tconst insertType = payload.requestMode === 'history'? MutationType.setBefore : MutationType.setAfter;\n\t\t\t\tif (insertType === MutationType.setBefore)\n\t\t\t\t{\n\t\t\t\t\tpayload.placeholders = payload.placeholders.reverse();\n\t\t\t\t}\n\n\t\t\t\tstore.commit('set', {\n\t\t\t\t\tinsertType,\n\t\t\t\t\tdata : payload.placeholders\n\t\t\t\t});\n\n\t\t\t\treturn payload.placeholders[0].id;\n\t\t\t},\n\t\t\tclearPlaceholders: (store, payload) =>\n\t\t\t{\n\t\t\t\tstore.commit('clearPlaceholders', payload);\n\t\t\t},\n\t\t\tupdatePlaceholders: (store, payload) =>\n\t\t\t{\n\t\t\t\tif (payload.data instanceof Array)\n\t\t\t\t{\n\t\t\t\t\tpayload.data = payload.data.map(message => this.prepareMessage(message, { host: store.state.host }));\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tstore.commit('updatePlaceholders', payload);\n\n\t\t\t\treturn true;\n\t\t\t},\n\t\t\tsetAfter: (store, payload) =>\n\t\t\t{\n\t\t\t\tif (payload instanceof Array)\n\t\t\t\t{\n\t\t\t\t\tpayload = payload.map(message => this.prepareMessage(message));\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tlet result = this.prepareMessage(payload);\n\t\t\t\t\t(payload = []).push(result);\n\t\t\t\t}\n\n\t\t\t\tstore.commit('set', {\n\t\t\t\t\tinsertType : MutationType.setAfter,\n\t\t\t\t\tdata : payload\n\t\t\t\t});\n\t\t\t},\n\t\t\tsetBefore: (store, payload) =>\n\t\t\t{\n\t\t\t\tif (payload instanceof Array)\n\t\t\t\t{\n\t\t\t\t\tpayload = payload.map(message => this.prepareMessage(message));\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tlet result = this.prepareMessage(payload);\n\t\t\t\t\t(payload = []).push(result);\n\t\t\t\t}\n\n\t\t\t\tstore.commit('set', {\n\t\t\t\t\tinsertType : MutationType.setBefore,\n\t\t\t\t\tdata : payload\n\t\t\t\t});\n\t\t\t},\n\t\t\tupdate: (store, payload) =>\n\t\t\t{\n\t\t\t\tif (/^\\d+$/.test(payload.id))\n\t\t\t\t{\n\t\t\t\t\tpayload.id = parseInt(payload.id);\n\t\t\t\t}\n\t\t\t\tif (/^\\d+$/.test(payload.chatId))\n\t\t\t\t{\n\t\t\t\t\tpayload.chatId = parseInt(payload.chatId);\n\t\t\t\t}\n\n\t\t\t\tstore.commit('initCollection', {chatId: payload.chatId});\n\n\t\t\t\tif (!store.state.collection[payload.chatId])\n\t\t\t\t{\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tlet index = store.state.collection[payload.chatId].findIndex(el => el.id === payload.id);\n\t\t\t\tif (index < 0)\n\t\t\t\t{\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tlet result = this.validate(Object.assign({}, payload.fields));\n\n\t\t\t\tif (result.params)\n\t\t\t\t{\n\t\t\t\t\tresult.params = Object.assign(\n\t\t\t\t\t\t{},\n\t\t\t\t\t\tthis.getElementState().params,\n\t\t\t\t\t\tstore.state.collection[payload.chatId][index].params,\n\t\t\t\t\t\tresult.params\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tstore.commit('update', {\n\t\t\t\t\tid : payload.id,\n\t\t\t\t\tchatId : payload.chatId,\n\t\t\t\t\tindex : index,\n\t\t\t\t\tfields : result\n\t\t\t\t});\n\n\t\t\t\tif (payload.fields.blink)\n\t\t\t\t{\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tstore.commit('update', {\n\t\t\t\t\t\t\tid : payload.id ,\n\t\t\t\t\t\t\tchatId : payload.chatId,\n\t\t\t\t\t\t\tfields : {blink: false}\n\t\t\t\t\t\t});\n\t\t\t\t\t}, 1000);\n\t\t\t\t}\n\n\t\t\t\treturn true;\n\t\t\t},\n\t\t\tdelete: (store, payload) =>\n\t\t\t{\n\t\t\t\tif (!(payload.id instanceof Array))\n\t\t\t\t{\n\t\t\t\t\tpayload.id = [payload.id];\n\t\t\t\t}\n\n\t\t\t\tpayload.id = payload.id.map(id => {\n\t\t\t\t\tif (/^\\d+$/.test(id))\n\t\t\t\t\t{\n\t\t\t\t\t\tid = parseInt(id);\n\t\t\t\t\t}\n\t\t\t\t\treturn id;\n\t\t\t\t});\n\n\t\t\t\tstore.commit('delete', {\n\t\t\t\t\tchatId : payload.chatId,\n\t\t\t\t\telements : payload.id,\n\t\t\t\t});\n\n\t\t\t\treturn true;\n\t\t\t},\n\t\t\tclear: (store, payload) =>\n\t\t\t{\n\t\t\t\tpayload.chatId = parseInt(payload.chatId);\n\n\t\t\t\tif (payload.keepPlaceholders)\n\t\t\t\t{\n\t\t\t\t\tstore.commit('clearMessages', {\n\t\t\t\t\t\tchatId : payload.chatId\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tstore.commit('clear', {\n\t\t\t\t\t\tchatId : payload.chatId\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\treturn true;\n\t\t\t},\n\t\t\tapplyMutationType: (store, payload) =>\n\t\t\t{\n\t\t\t\tpayload.chatId = parseInt(payload.chatId);\n\n\t\t\t\tstore.commit('applyMutationType', {\n\t\t\t\t\tchatId : payload.chatId\n\t\t\t\t});\n\n\t\t\t\treturn true;\n\t\t\t},\n\t\t\treadMessages: (store, payload) =>\n\t\t\t{\n\t\t\t\tpayload.readId = parseInt(payload.readId) || 0;\n\t\t\t\tpayload.chatId = parseInt(payload.chatId);\n\n\t\t\t\tif (typeof store.state.collection[payload.chatId] === 'undefined')\n\t\t\t\t{\n\t\t\t\t\treturn {count: 0}\n\t\t\t\t}\n\n\t\t\t\tlet count = 0;\n\t\t\t\tfor (let index = store.state.collection[payload.chatId].length-1; index >= 0; index--)\n\t\t\t\t{\n\t\t\t\t\tlet element = store.state.collection[payload.chatId][index];\n\t\t\t\t\tif (!element.unread)\n\t\t\t\t\t\tcontinue;\n\n\t\t\t\t\tif (payload.readId === 0 || element.id <= payload.readId)\n\t\t\t\t\t{\n\t\t\t\t\t\tcount++;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tstore.commit('readMessages', {\n\t\t\t\t\tchatId: payload.chatId,\n\t\t\t\t\treadId: payload.readId,\n\t\t\t\t});\n\n\t\t\t\treturn {count};\n\t\t\t},\n\t\t\tunreadMessages: (store, payload) =>\n\t\t\t{\n\t\t\t\tpayload.unreadId = parseInt(payload.unreadId) || 0;\n\t\t\t\tpayload.chatId = parseInt(payload.chatId);\n\n\t\t\t\tif (typeof store.state.collection[payload.chatId] === 'undefined' || !payload.unreadId)\n\t\t\t\t{\n\t\t\t\t\treturn {count: 0}\n\t\t\t\t}\n\n\t\t\t\tlet count = 0;\n\t\t\t\tfor (let index = store.state.collection[payload.chatId].length-1; index >= 0; index--)\n\t\t\t\t{\n\t\t\t\t\tlet element = store.state.collection[payload.chatId][index];\n\t\t\t\t\tif (element.unread)\n\t\t\t\t\t\tcontinue;\n\n\t\t\t\t\tif (element.id >= payload.unreadId)\n\t\t\t\t\t{\n\t\t\t\t\t\tcount++;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tstore.commit('unreadMessages', {\n\t\t\t\t\tchatId: payload.chatId,\n\t\t\t\t\tunreadId: payload.unreadId,\n\t\t\t\t});\n\n\t\t\t\treturn {count};\n\t\t\t},\n\t\t}\n\t}\n\n\tgetMutations()\n\t{\n\t\treturn {\n\t\t\tinitCollection: (state, payload) =>\n\t\t\t{\n\t\t\t\treturn this.initCollection(state, payload);\n\t\t\t},\n\t\t\tadd: (state, payload) =>\n\t\t\t{\n\t\t\t\tthis.initCollection(state, {chatId: payload.chatId});\n\n\t\t\t\tstate.collection[payload.chatId].push(payload);\n\t\t\t\tstate.saveMessageList[payload.chatId].push(payload.id);\n\n\t\t\t\tstate.created += 1;\n\n\t\t\t\tstate.collection[payload.chatId].sort((a, b) => a.id - b.id);\n\t\t\t\tthis.saveState(state, payload.chatId);\n\t\t\t\tLogger.warn('Messages model: saving state after add');\n\t\t\t},\n\t\t\tclearPlaceholders: (state, payload) =>\n\t\t\t{\n\t\t\t\tif (!state.collection[payload.chatId])\n\t\t\t\t{\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tstate.collection[payload.chatId] = state.collection[payload.chatId].filter(element => {\n\t\t\t\t\treturn !element.id.toString().startsWith('placeholder');\n\t\t\t\t});\n\t\t\t},\n\t\t\tupdatePlaceholders: (state, payload) =>\n\t\t\t{\n\t\t\t\tconst firstPlaceholderId = `placeholder${payload.firstMessage}`;\n\t\t\t\tconst firstPlaceholderIndex = state.collection[payload.chatId].findIndex((message) => {\n\t\t\t\t\treturn message.id === firstPlaceholderId;\n\t\t\t\t});\n\t\t\t\t// Logger.warn('firstPlaceholderIndex', firstPlaceholderIndex);\n\t\t\t\tif (firstPlaceholderIndex >= 0)\n\t\t\t\t{\n\t\t\t\t\t// Logger.warn('before delete', state.collection[payload.chatId].length, [...state.collection[payload.chatId]]);\n\t\t\t\t\tstate.collection[payload.chatId].splice(firstPlaceholderIndex, payload.amount);\n\t\t\t\t\t// Logger.warn('after delete', state.collection[payload.chatId].length, [...state.collection[payload.chatId]]);\n\t\t\t\t\tstate.collection[payload.chatId].splice(firstPlaceholderIndex, 0, ...payload.data);\n\t\t\t\t\t// Logger.warn('after add', state.collection[payload.chatId].length, [...state.collection[payload.chatId]]);\n\t\t\t\t}\n\n\t\t\t\tstate.collection[payload.chatId].sort((a, b) => a.id - b.id);\n\t\t\t\tLogger.warn('Messages model: saving state after updating placeholders');\n\t\t\t\tthis.saveState(state, payload.chatId);\n\t\t\t},\n\t\t\tset: (state, payload) =>\n\t\t\t{\n\t\t\t\tLogger.warn('Messages model: set mutation', payload);\n\t\t\t\tlet chats = [];\n\t\t\t\tlet chatsSave = [];\n\t\t\t\tlet isPush = false;\n\n\t\t\t\tpayload.data = MessagesModel.getPayloadWithTempMessages(state, payload);\n\n\t\t\t\tconst initialType = payload.insertType;\n\n\t\t\t\tif (payload.insertType === MutationType.set)\n\t\t\t\t{\n\t\t\t\t\tpayload.insertType = MutationType.setAfter;\n\n\t\t\t\t\tlet elements = {};\n\t\t\t\t\tpayload.data.forEach(element => {\n\t\t\t\t\t\tif (!elements[element.chatId])\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\telements[element.chatId] = [];\n\t\t\t\t\t\t}\n\t\t\t\t\t\telements[element.chatId].push(element.id);\n\t\t\t\t\t});\n\n\t\t\t\t\tfor (let chatId in elements)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (!elements.hasOwnProperty(chatId))\n\t\t\t\t\t\t\tcontinue;\n\n\t\t\t\t\t\tthis.initCollection(state, {chatId});\n\t\t\t\t\t\tLogger.warn('Messages model: messages before adding from request - ', state.collection[chatId].length);\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tstate.saveMessageList[chatId].length > elements[chatId].length\n\t\t\t\t\t\t\t|| elements[chatId].length < StorageLimit.messages\n\t\t\t\t\t\t)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tstate.collection[chatId] = state.collection[chatId].filter(element => elements[chatId].includes(element.id));\n\t\t\t\t\t\t\tstate.saveMessageList[chatId] = state.saveMessageList[chatId].filter(id => elements[chatId].includes(id));\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tLogger.warn('Messages model: cache length', state.saveMessageList[chatId].length);\n\t\t\t\t\t\tlet intersection = this.manageCacheBeforeSet(\n\t\t\t\t\t\t\t[...state.saveMessageList[chatId].reverse()],\n\t\t\t\t\t\t\telements[chatId]\n\t\t\t\t\t\t);\n\t\t\t\t\t\tLogger.warn('Messages model: set intersection with cache', intersection);\n\n\t\t\t\t\t\tif (intersection.type === IntersectionType.none)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif (intersection.foundElements.length > 0)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tstate.collection[chatId] = state.collection[chatId].filter(element => !intersection.foundElements.includes(element.id));\n\t\t\t\t\t\t\t\tstate.saveMessageList[chatId] = state.saveMessageList[chatId].filter(id => !intersection.foundElements.includes(id));\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tLogger.warn('Messages model: no intersection - removing cache');\n\t\t\t\t\t\t\tthis.removeIntersectionCacheElements = state.collection[chatId].map(element => element.id);\n\n\t\t\t\t\t\t\tstate.collection[chatId] = state.collection[chatId].filter(element => !this.removeIntersectionCacheElements.includes(element.id));\n\t\t\t\t\t\t\tstate.saveMessageList[chatId] = state.saveMessageList[chatId].filter(id => !this.removeIntersectionCacheElements.includes(id));\n\t\t\t\t\t\t\tthis.removeIntersectionCacheElements = [];\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if (intersection.type === IntersectionType.foundReverse)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tLogger.warn('Messages model: found reverse intersection');\n\t\t\t\t\t\t\tpayload.insertType = MutationType.setBefore;\n\t\t\t\t\t\t\tpayload.data = payload.data.reverse();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tLogger.warn('Messages model: adding messages to model', payload.data);\n\t\t\t\tfor (let element of payload.data)\n\t\t\t\t{\n\t\t\t\t\tthis.initCollection(state, {chatId: element.chatId});\n\n\t\t\t\t\tlet index = state.collection[element.chatId].findIndex(localMessage => {\n\t\t\t\t\t\tif (MessagesModel.isTemporaryMessage(localMessage))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\treturn localMessage.templateId === element.templateId;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn localMessage.id === element.id;\n\t\t\t\t\t});\n\t\t\t\t\tif (index > -1)\n\t\t\t\t\t{\n\t\t\t\t\t\tstate.collection[element.chatId][index] = Object.assign(\n\t\t\t\t\t\t\tstate.collection[element.chatId][index],\n\t\t\t\t\t\t\telement\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\telse if (payload.insertType === MutationType.setBefore)\n\t\t\t\t\t{\n\t\t\t\t\t\tstate.collection[element.chatId].unshift(element);\n\t\t\t\t\t}\n\t\t\t\t\telse if (payload.insertType === MutationType.setAfter)\n\t\t\t\t\t{\n\t\t\t\t\t\tstate.collection[element.chatId].push(element);\n\t\t\t\t\t}\n\n\t\t\t\t\tchats.push(element.chatId);\n\n\t\t\t\t\tif (this.store.getters['dialogues/canSaveChat'] && this.store.getters['dialogues/canSaveChat'](element.chatId))\n\t\t\t\t\t{\n\t\t\t\t\t\tchatsSave.push(element.chatId);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tchats = [...new Set(chats)];\n\t\t\t\tchatsSave = [...new Set(chatsSave)];\n\n\t\t\t\tisPush = payload.data.every(element => element.push === true);\n\t\t\t\tLogger.warn('Is it fake push message?', isPush);\n\t\t\t\tchats.forEach(chatId => {\n\t\t\t\t\tstate.collection[chatId].sort((a, b) => a.id - b.id);\n\n\t\t\t\t\tif (!isPush)\n\t\t\t\t\t{\n\t\t\t\t\t\t//send event that messages are ready and we can start reading etc\n\t\t\t\t\t\tLogger.warn('setting messagesSet = true for chatId = ', chatId);\n\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\tEventEmitter.emit(EventType.dialog.messagesSet, {chatId});\n\t\t\t\t\t\t\tEventEmitter.emit(EventType.dialog.readVisibleMessages, {chatId});\n\t\t\t\t\t\t}, 100);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tif (initialType !== MutationType.setBefore)\n\t\t\t\t{\n\t\t\t\t\tchatsSave.forEach(chatId => {\n\t\t\t\t\t\tLogger.warn('Messages model: saving state after set');\n\t\t\t\t\t\tthis.saveState(state, chatId);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tupdate: (state, payload) =>\n\t\t\t{\n\t\t\t\tthis.initCollection(state, {chatId: payload.chatId});\n\n\t\t\t\tlet index = -1;\n\t\t\t\tif (typeof payload.index !== 'undefined' && state.collection[payload.chatId][payload.index])\n\t\t\t\t{\n\t\t\t\t\tindex = payload.index;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tindex = state.collection[payload.chatId].findIndex(el => el.id === payload.id);\n\t\t\t\t}\n\n\t\t\t\tif (index >= 0)\n\t\t\t\t{\n\t\t\t\t\tlet isSaveState = (\n\t\t\t\t\t\tstate.saveMessageList[payload.chatId].includes(state.collection[payload.chatId][index].id)\n\t\t\t\t\t\t|| payload.fields.id && !payload.fields.id.toString().startsWith('temporary') && state.collection[payload.chatId][index].id.toString().startsWith('temporary')\n\t\t\t\t\t);\n\n\t\t\t\t\tstate.collection[payload.chatId][index] = Object.assign(\n\t\t\t\t\t\tstate.collection[payload.chatId][index],\n\t\t\t\t\t\tpayload.fields\n\t\t\t\t\t);\n\n\t\t\t\t\tif (isSaveState)\n\t\t\t\t\t{\n\t\t\t\t\t\tLogger.warn('Messages model: saving state after update');\n\t\t\t\t\t\tthis.saveState(state, payload.chatId);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tdelete: (state, payload) =>\n\t\t\t{\n\t\t\t\tthis.initCollection(state, {chatId: payload.chatId});\n\n\t\t\t\tstate.collection[payload.chatId] = state.collection[payload.chatId].filter(element => !payload.elements.includes(element.id));\n\n\t\t\t\tif (state.saveMessageList[payload.chatId].length > 0)\n\t\t\t\t{\n\t\t\t\t\tfor (let id of payload.elements)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (state.saveMessageList[payload.chatId].includes(id))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tLogger.warn('Messages model: saving state after delete');\n\t\t\t\t\t\t\tthis.saveState(state, payload.chatId);\n\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tclear: (state, payload) =>\n\t\t\t{\n\t\t\t\tthis.initCollection(state, {chatId: payload.chatId});\n\n\t\t\t\tstate.collection[payload.chatId] = [];\n\t\t\t\tstate.saveMessageList[payload.chatId] = [];\n\t\t\t},\n\t\t\tclearMessages: (state, payload) =>\n\t\t\t{\n\t\t\t\tthis.initCollection(state, {chatId: payload.chatId});\n\n\t\t\t\tstate.collection[payload.chatId] = state.collection[payload.chatId].filter(element => {\n\t\t\t\t\treturn element.id.toString().startsWith('placeholder');\n\t\t\t\t});\n\t\t\t\tstate.saveMessageList[payload.chatId] = [];\n\t\t\t},\n\t\t\tapplyMutationType: (state, payload) =>\n\t\t\t{\n\t\t\t\tif (typeof state.mutationType[payload.chatId] === 'undefined')\n\t\t\t\t{\n\t\t\t\t\tVue.set(state.mutationType, payload.chatId, {applied: false, initialType: MutationType.none, appliedType: MutationType.none, scrollStickToTop: 0, scrollMessageId: 0});\n\t\t\t\t}\n\n\t\t\t\tstate.mutationType[payload.chatId].applied = true;\n\t\t\t},\n\t\t\treadMessages: (state, payload) =>\n\t\t\t{\n\t\t\t\tthis.initCollection(state, {chatId: payload.chatId});\n\n\t\t\t\tlet saveNeeded = false;\n\t\t\t\tfor (let index = state.collection[payload.chatId].length-1; index >= 0; index--)\n\t\t\t\t{\n\t\t\t\t\tlet element = state.collection[payload.chatId][index];\n\t\t\t\t\tif (!element.unread)\n\t\t\t\t\t\tcontinue;\n\n\t\t\t\t\tif (payload.readId === 0 || element.id <= payload.readId)\n\t\t\t\t\t{\n\t\t\t\t\t\tstate.collection[payload.chatId][index] = Object.assign(\n\t\t\t\t\t\t\tstate.collection[payload.chatId][index],\n\t\t\t\t\t\t\t{unread: false}\n\t\t\t\t\t\t);\n\t\t\t\t\t\tsaveNeeded = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (saveNeeded)\n\t\t\t\t{\n\t\t\t\t\tLogger.warn('Messages model: saving state after reading');\n\t\t\t\t\tthis.saveState(state, payload.chatId);\n\t\t\t\t}\n\t\t\t},\n\t\t\tunreadMessages: (state, payload) =>\n\t\t\t{\n\t\t\t\tthis.initCollection(state, {chatId: payload.chatId});\n\n\t\t\t\tlet saveNeeded = false;\n\t\t\t\tfor (let index = state.collection[payload.chatId].length-1; index >= 0; index--)\n\t\t\t\t{\n\t\t\t\t\tlet element = state.collection[payload.chatId][index];\n\t\t\t\t\tif (element.unread)\n\t\t\t\t\t\tcontinue;\n\n\t\t\t\t\tif (element.id >= payload.unreadId)\n\t\t\t\t\t{\n\t\t\t\t\t\tstate.collection[payload.chatId][index] = Object.assign(\n\t\t\t\t\t\t\tstate.collection[payload.chatId][index],\n\t\t\t\t\t\t\t{unread: true}\n\t\t\t\t\t\t);\n\t\t\t\t\t\tsaveNeeded = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (saveNeeded)\n\t\t\t\t{\n\t\t\t\t\tLogger.warn('Messages model: saving state after unreading');\n\t\t\t\t\tthis.saveState(state, payload.chatId);\n\t\t\t\t\tthis.updateSubordinateStates();\n\t\t\t\t}\n\t\t\t},\n\t\t}\n\t}\n\n\tinitCollection(state, payload)\n\t{\n\t\tif (typeof payload.chatId === 'undefined')\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\tif (\n\t\t\ttypeof payload.chatId === 'undefined'\n\t\t\t|| typeof state.collection[payload.chatId] !== 'undefined'\n\t\t)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\n\t\tVue.set(state.collection, payload.chatId, payload.messages? [].concat(payload.messages): []);\n\t\tVue.set(state.saveMessageList, payload.chatId, []);\n\t\tVue.set(state.saveFileList, payload.chatId, []);\n\t\tVue.set(state.saveUserList, payload.chatId, []);\n\n\t\treturn true;\n\t}\n\n\tprepareMessage(message, options = {})\n\t{\n\t\tlet result = this.validate(Object.assign({}, message), options);\n\n\t\tresult.params = Object.assign({}, this.getElementState().params, result.params);\n\t\tif (!result.templateId)\n\t\t{\n\t\t\tresult.templateId = result.id;\n\t\t}\n\n\t\treturn Object.assign({}, this.getElementState(), result);\n\t}\n\n\tmanageCacheBeforeSet(cache, elements, recursive = false)\n\t{\n\t\tLogger.warn('manageCacheBeforeSet', cache, elements);\n\t\tlet result = {\n\t\t\ttype: IntersectionType.empty,\n\t\t\tfoundElements: [],\n\t\t\tnoneElements: []\n\t\t};\n\n\t\tif (!cache || cache.length <= 0)\n\t\t{\n\t\t\treturn result;\n\t\t}\n\n\t\tfor (let id of elements)\n\t\t{\n\t\t\tif (cache.includes(id))\n\t\t\t{\n\t\t\t\tif (result.type === IntersectionType.empty)\n\t\t\t\t{\n\t\t\t\t\tresult.type = IntersectionType.found;\n\t\t\t\t}\n\t\t\t\tresult.foundElements.push(id);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif (result.type === IntersectionType.empty)\n\t\t\t\t{\n\t\t\t\t\tresult.type = IntersectionType.none;\n\t\t\t\t}\n\t\t\t\tresult.noneElements.push(id);\n\t\t\t}\n\t\t}\n\n\t\tif (\n\t\t\tresult.type === IntersectionType.found\n\t\t\t&& cache.length === elements.length\n\t\t\t&& result.foundElements.length === elements.length\n\t\t)\n\t\t{\n\t\t\tresult.type = IntersectionType.equal;\n\t\t}\n\t\telse if (\n\t\t\tresult.type === IntersectionType.none\n\t\t\t&& !recursive\n\t\t\t&& result.foundElements.length > 0\n\t\t)\n\t\t{\n\t\t\tlet reverseResult = this.manageCacheBeforeSet(cache.reverse(), elements.reverse(), true);\n\t\t\tif (reverseResult.type === IntersectionType.found)\n\t\t\t{\n\t\t\t\treverseResult.type = IntersectionType.foundReverse;\n\t\t\t\treturn reverseResult;\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tupdateSaveLists(state, chatId)\n\t{\n\t\tif (!this.isSaveAvailable())\n\t\t{\n\t\t\treturn true;\n\t\t}\n\n\t\tif (\n\t\t\t!chatId\n\t\t\t|| !this.store.getters['dialogues/canSaveChat']\n\t\t\t|| !this.store.getters['dialogues/canSaveChat'](chatId)\n\t\t)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\tthis.initCollection(state, {chatId: chatId});\n\n\t\tlet count = 0;\n\t\tlet saveMessageList = [];\n\t\tlet saveFileList = [];\n\t\tlet saveUserList = [];\n\n\t\tlet dialog = this.store.getters['dialogues/getByChatId'](chatId);\n\t\tif (dialog && dialog.type === 'private')\n\t\t{\n\t\t\tsaveUserList.push(parseInt(dialog.dialogId));\n\t\t}\n\n\t\tlet readCounter = 0;\n\t\tfor (let index = state.collection[chatId].length-1; index >= 0; index--)\n\t\t{\n\t\t\tif (state.collection[chatId][index].id.toString().startsWith('temporary'))\n\t\t\t{\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (!state.collection[chatId][index].unread)\n\t\t\t{\n\t\t\t\treadCounter++;\n\t\t\t}\n\n\t\t\tif (count >= StorageLimit.messages && readCounter >= 50)\n\t\t\t{\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tsaveMessageList.unshift(state.collection[chatId][index].id);\n\n\t\t\tcount++;\n\t\t}\n\n\t\tsaveMessageList = saveMessageList.slice(0, StorageLimit.messages);\n\n\t\tstate.collection[chatId].filter(element => saveMessageList.includes(element.id)).forEach(element =>\n\t\t{\n\t\t\tif (element.authorId > 0)\n\t\t\t{\n\t\t\t\tsaveUserList.push(element.authorId);\n\t\t\t}\n\n\t\t\tif (element.params.FILE_ID instanceof Array)\n\t\t\t{\n\t\t\t\tsaveFileList = element.params.FILE_ID.concat(saveFileList);\n\t\t\t}\n\t\t});\n\n\t\tstate.saveMessageList[chatId] = saveMessageList;\n\t\tstate.saveFileList[chatId] = [...new Set(saveFileList)];\n\t\tstate.saveUserList[chatId] = [...new Set(saveUserList)];\n\n\t\treturn true;\n\t}\n\n\tgetSaveTimeout()\n\t{\n\t\treturn 150;\n\t}\n\n\tsaveState(state, chatId)\n\t{\n\t\tif (!this.updateSaveLists(state, chatId))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\tsuper.saveState(() =>\n\t\t{\n\t\t\tlet storedState = {\n\t\t\t\tcollection: {},\n\t\t\t\tsaveMessageList: {},\n\t\t\t\tsaveUserList: {},\n\t\t\t\tsaveFileList: {},\n\t\t\t};\n\n\t\t\tfor (let chatId in state.saveMessageList)\n\t\t\t{\n\t\t\t\tif (!state.saveMessageList.hasOwnProperty(chatId))\n\t\t\t\t{\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (!state.collection[chatId])\n\t\t\t\t{\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (!storedState.collection[chatId])\n\t\t\t\t{\n\t\t\t\t\tstoredState.collection[chatId] = [];\n\t\t\t\t}\n\n\t\t\t\tstate.collection[chatId]\n\t\t\t\t\t.filter(element => state.saveMessageList[chatId].includes(element.id))\n\t\t\t\t\t.forEach(element => {\n\t\t\t\t\t\tif (element.templateType !== 'placeholder')\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tstoredState.collection[chatId].push(element);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\tLogger.warn('Cache after updating', storedState.collection[chatId]);\n\n\t\t\t\tstoredState.saveMessageList[chatId] = state.saveMessageList[chatId];\n\t\t\t\tstoredState.saveFileList[chatId] = state.saveFileList[chatId];\n\t\t\t\tstoredState.saveUserList[chatId] = state.saveUserList[chatId];\n\t\t\t}\n\n\t\t\treturn storedState;\n\t\t});\n\t}\n\n\tupdateSubordinateStates()\n\t{\n\t\tthis.store.dispatch('users/saveState');\n\t\tthis.store.dispatch('files/saveState');\n\t}\n\n\tvalidate(fields, options)\n\t{\n\t\tconst result = {};\n\n\t\tif (typeof fields.id === \"number\")\n\t\t{\n\t\t\tresult.id = fields.id;\n\t\t}\n\t\telse if (typeof fields.id === \"string\")\n\t\t{\n\t\t\tif (fields.id.startsWith('temporary') || fields.id.startsWith('placeholder') || Utils.types.isUuidV4(fields.id))\n\t\t\t{\n\t\t\t\tresult.id = fields.id;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tresult.id = parseInt(fields.id);\n\t\t\t}\n\t\t}\n\n\t\tif (typeof fields.uuid === \"string\")\n\t\t{\n\t\t\tresult.templateId = fields.uuid;\n\t\t}\n\t\telse if (typeof fields.templateId === \"number\")\n\t\t{\n\t\t\tresult.templateId = fields.templateId;\n\t\t}\n\t\telse if (typeof fields.templateId === \"string\")\n\t\t{\n\t\t\tif (fields.templateId.startsWith('temporary') || Utils.types.isUuidV4(fields.templateId))\n\t\t\t{\n\t\t\t\tresult.templateId = fields.templateId;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tresult.templateId = parseInt(fields.templateId);\n\t\t\t}\n\t\t}\n\n\t\tif (typeof fields.templateType === \"string\")\n\t\t{\n\t\t\tresult.templateType = fields.templateType;\n\t\t}\n\n\t\tif (typeof fields.placeholderType === \"number\")\n\t\t{\n\t\t\tresult.placeholderType = fields.placeholderType;\n\t\t}\n\n\t\tif (typeof fields.chat_id !== 'undefined')\n\t\t{\n\t\t\tfields.chatId = fields.chat_id;\n\t\t}\n\t\tif (typeof fields.chatId === \"number\" || typeof fields.chatId === \"string\")\n\t\t{\n\t\t\tresult.chatId = parseInt(fields.chatId);\n\t\t}\n\t\tif (typeof fields.date !== \"undefined\")\n\t\t{\n\t\t\tresult.date = Utils.date.cast(fields.date);\n\t\t}\n\n\t\t// previous P&P format\n\t\tif (typeof fields.textOriginal === \"string\" || typeof fields.textOriginal === \"number\")\n\t\t{\n\t\t\tresult.text = fields.textOriginal.toString();\n\n\t\t\tif (typeof fields.text === \"string\" || typeof fields.text === \"number\")\n\t\t\t{\n\t\t\t\tresult.textConverted = this.convertToHtml({\n\t\t\t\t\ttext: fields.text.toString(),\n\t\t\t\t\tisConverted: true\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\telse // modern format\n\t\t{\n\t\t\tif (typeof fields.text_converted !== 'undefined')\n\t\t\t{\n\t\t\t\tfields.textConverted = fields.text_converted;\n\t\t\t}\n\t\t\tif (typeof fields.textConverted === \"string\" || typeof fields.textConverted === \"number\")\n\t\t\t{\n\t\t\t\tresult.textConverted = fields.textConverted.toString();\n\t\t\t}\n\t\t\tif (typeof fields.text === \"string\" || typeof fields.text === \"number\")\n\t\t\t{\n\t\t\t\tresult.text = fields.text.toString();\n\n\t\t\t\tlet isConverted = typeof result.textConverted !== 'undefined';\n\n\t\t\t\tresult.textConverted = this.convertToHtml({\n\t\t\t\t\ttext: isConverted? result.textConverted: result.text,\n\t\t\t\t\tisConverted\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (typeof fields.senderId !== 'undefined')\n\t\t{\n\t\t\tfields.authorId = fields.senderId;\n\t\t}\n\t\telse if (typeof fields.author_id !== 'undefined')\n\t\t{\n\t\t\tfields.authorId = fields.author_id;\n\t\t}\n\t\tif (typeof fields.authorId === \"number\" || typeof fields.authorId === \"string\")\n\t\t{\n\t\t\tif (fields.system === true || fields.system === 'Y')\n\t\t\t{\n\t\t\t\tresult.authorId = 0;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tresult.authorId = parseInt(fields.authorId);\n\t\t\t}\n\t\t}\n\n\t\tif (typeof fields.params === \"object\" && fields.params !== null)\n\t\t{\n\t\t\tconst params = this.validateParams(fields.params, options);\n\t\t\tif (params)\n\t\t\t{\n\t\t\t\tresult.params = params;\n\t\t\t}\n\t\t}\n\n\t\tif (typeof fields.push === \"boolean\")\n\t\t{\n\t\t\tresult.push = fields.push;\n\t\t}\n\n\t\tif (typeof fields.sending === \"boolean\")\n\t\t{\n\t\t\tresult.sending = fields.sending;\n\t\t}\n\n\t\tif (typeof fields.unread === \"boolean\")\n\t\t{\n\t\t\tresult.unread = fields.unread;\n\t\t}\n\n\t\tif (typeof fields.blink === \"boolean\")\n\t\t{\n\t\t\tresult.blink = fields.blink;\n\t\t}\n\n\t\tif (typeof fields.error === \"boolean\" || typeof fields.error === \"string\")\n\t\t{\n\t\t\tresult.error = fields.error;\n\t\t}\n\n\t\tif (typeof fields.retry === \"boolean\")\n\t\t{\n\t\t\tresult.retry = fields.retry;\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tvalidateParams(params, options)\n\t{\n\t\tconst result = {};\n\t\ttry\n\t\t{\n\t\t\tfor (let field in params)\n\t\t\t{\n\t\t\t\tif (!params.hasOwnProperty(field))\n\t\t\t\t{\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (field === 'COMPONENT_ID')\n\t\t\t\t{\n\t\t\t\t\tif (typeof params[field] === \"string\" && BX.Vue.isComponent(params[field]))\n\t\t\t\t\t{\n\t\t\t\t\t\tresult[field] = params[field];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (field === 'LIKE')\n\t\t\t\t{\n\t\t\t\t\tif (params[field] instanceof Array)\n\t\t\t\t\t{\n\t\t\t\t\t\tresult['REACTION'] = {like: params[field].map(element => parseInt(element))};\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (field === 'CHAT_LAST_DATE')\n\t\t\t\t{\n\t\t\t\t\tresult[field] = Utils.date.cast(params[field]);\n\t\t\t\t}\n\t\t\t\telse if (field === 'AVATAR')\n\t\t\t\t{\n\t\t\t\t\tif (params[field])\n\t\t\t\t\t{\n\t\t\t\t\t\tresult[field] = params[field].startsWith('http') ? params[field] : options.host + params[field];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (field === 'NAME')\n\t\t\t\t{\n\t\t\t\t\tif (params[field])\n\t\t\t\t\t{\n\t\t\t\t\t\tresult[field] = params[field];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (field === 'LINK_ACTIVE')\n\t\t\t\t{\n\t\t\t\t\tif (params[field])\n\t\t\t\t\t{\n\t\t\t\t\t\tresult[field] = params[field].map(function(userId) {\n\t\t\t\t\t\t\treturn parseInt(userId)\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (field === 'ATTACH')\n\t\t\t\t{\n\t\t\t\t\tresult[field] = this.decodeAttach(params[field]);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tresult[field] = params[field];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tcatch (e) {}\n\n\t\tlet hasResultElements = false;\n\t\tfor (let field in result)\n\t\t{\n\t\t\tif (!result.hasOwnProperty(field))\n\t\t\t{\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\thasResultElements = true;\n\t\t\tbreak\n\t\t}\n\n\t\treturn hasResultElements? result: null;\n\t}\n\n\tconvertToHtml(params = {})\n\t{\n\t\tlet {\n\t\t\tquote = true,\n\t\t\timage = true,\n\t\t\ttext = '',\n\t\t\tisConverted = false,\n\t\t\tenableBigSmile = true\n\t\t} = params;\n\n\t\ttext = text.trim();\n\n\t\tif (!isConverted)\n\t\t{\n\t\t\ttext = text.replace(/&/g, '&').replace(/\"/g, '"').replace(/</g, '<').replace(/>/g, '>');\n\t\t}\n\n\t\tif (text.startsWith('/me'))\n\t\t{\n\t\t\ttext = `<i>${text.substr(4)}</i>`;\n\t\t}\n\t\telse if (text.startsWith('/loud'))\n\t\t{\n\t\t\ttext = `<b>${text.substr(6)}</b>`;\n\t\t}\n\n\t\tconst quoteSign = \">>\";\n\t\tif (quote && text.indexOf(quoteSign) >= 0)\n\t\t{\n\t\t\tlet textPrepareFlag = false;\n\t\t\tlet textPrepare = text.split(isConverted? \"<br />\": \"\\n\");\n\t\t\tfor (let i = 0; i < textPrepare.length; i++)\n\t\t\t{\n\t\t\t\tif (textPrepare[i].startsWith(quoteSign))\n\t\t\t\t{\n\t\t\t\t\ttextPrepare[i] = textPrepare[i].replace(quoteSign, '<div class=\"bx-im-message-content-quote\"><div class=\"bx-im-message-content-quote-wrap\">');\n\t\t\t\t\twhile (++i < textPrepare.length && textPrepare[i].startsWith(quoteSign))\n\t\t\t\t\t{\n\t\t\t\t\t\ttextPrepare[i] = textPrepare[i].replace(quoteSign, '');\n\t\t\t\t\t}\n\t\t\t\t\ttextPrepare[i - 1] += '</div></div><br>';\n\t\t\t\t\ttextPrepareFlag = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\ttext = textPrepare.join(\"<br />\");\n\t\t}\n\n\t\ttext = text.replace(/\\n/gi, '<br />');\n\n\t\ttext = text.replace(/\\t/gi, ' ');\n\n\t\ttext = this.decodeBbCode(text, false, enableBigSmile);\n\n\t\tif (quote)\n\t\t{\n\t\t\ttext = text.replace(/------------------------------------------------------<br \\/>(.*?)\\[(.*?)\\]<br \\/>(.*?)------------------------------------------------------(<br \\/>)?/g, function (whole, p1, p2, p3, p4, offset) {\n\t\t\t\treturn (offset > 0? '<br>': '') + \"<div class=\\\"bx-im-message-content-quote\\\"><div class=\\\"bx-im-message-content-quote-wrap\\\"><div class=\\\"bx-im-message-content-quote-name\\\"><span class=\\\"bx-im-message-content-quote-name-text\\\">\" + p1 + \"</span><span class=\\\"bx-im-message-content-quote-name-time\\\">\" + p2 + \"</span></div>\" + p3 + \"</div></div><br />\";\n\t\t\t});\n\t\t\ttext = text.replace(/------------------------------------------------------<br \\/>(.*?)------------------------------------------------------(<br \\/>)?/g, function (whole, p1, p2, p3, offset) {\n\t\t\t\treturn (offset > 0? '<br>': '') + \"<div class=\\\"bx-im-message-content-quote\\\"><div class=\\\"bx-im-message-content-quote-wrap\\\">\" + p1 + \"</div></div><br />\";\n\t\t\t});\n\t\t}\n\n\t\tif (image)\n\t\t{\n\t\t\tlet changed = false;\n\t\t\ttext = text.replace(/<a(.*?)>(http[s]{0,1}:\\/\\/.*?)<\\/a>/ig, function(whole, aInner, text, offset)\n\t\t\t{\n\t\t\t\tif(!text.match(/(\\.(jpg|jpeg|png|gif|webp)\\?|\\.(jpg|jpeg|png|gif|webp)$)/i) || text.indexOf(\"/docs/pub/\") > 0 || text.indexOf(\"logout=yes\") > 0)\n\t\t\t\t{\n\t\t\t\t\treturn whole;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tchanged = true;\n\t\t\t\t\treturn (offset > 0? '<br />':'')+'<a' +aInner+ ' target=\"_blank\" class=\"bx-im-element-file-image\"><img src=\"'+text+'\" class=\"bx-im-element-file-image-source-text\" onerror=\"BX.Messenger.Model.MessagesModel.hideErrorImage(this)\"></a></span>';\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (changed)\n\t\t\t{\n\t\t\t\ttext = text.replace(/<\\/span>(\\n?)<br(\\s\\/?)>/ig, '</span>').replace(/<br(\\s\\/?)>(\\n?)<br(\\s\\/?)>(\\n?)<span/ig, '<br /><span');\n\t\t\t}\n\t\t}\n\n\t\tif (enableBigSmile)\n\t\t{\n\t\t\ttext = text.replace(\n\t\t\t\t/^(\\s*<img\\s+src=[^>]+?data-code=[^>]+?data-definition=\"UHD\"[^>]+?style=\"width:)(\\d+)(px[^>]+?height:)(\\d+)(px[^>]+?class=\"bx-smile\"\\s*\\/?>\\s*)$/,\n\t\t\t\tfunction doubleSmileSize(match, start, width, middle, height, end) {\n\t\t\t\t\treturn start + (parseInt(width, 10) * 1.7) + middle + (parseInt(height, 10) * 1.7) + end;\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\tif (text.substr(-6) == '<br />')\n\t\t{\n\t\t\ttext = text.substr(0, text.length - 6);\n\t\t}\n\t\ttext = text.replace(/<br><br \\/>/ig, '<br />');\n\t\ttext = text.replace(/<br \\/><br>/ig, '<br />');\n\n\t\treturn text;\n\t};\n\n\tdecodeBbCode(text, textOnly = false, enableBigSmile = true)\n\t{\n\t\treturn MessagesModel.decodeBbCode({text, textOnly, enableBigSmile})\n\t}\n\n\tdecodeAttach(item)\n\t{\n\t\tif (Array.isArray(item))\n\t\t{\n\t\t\titem.forEach(arrayElement => {\n\t\t\t\tarrayElement = this.decodeAttach(arrayElement);\n\t\t\t});\n\t\t}\n\t\telse if (typeof item === 'object' && item !== null)\n\t\t{\n\t\t\tfor (const prop in item)\n\t\t\t{\n\t\t\t\tif (item.hasOwnProperty(prop))\n\t\t\t\t{\n\t\t\t\t\titem[prop] = this.decodeAttach(item[prop]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif (typeof item === 'string')\n\t\t\t{\n\t\t\t\titem = Utils.text.htmlspecialcharsback(item);\n\t\t\t}\n\t\t}\n\n\t\treturn item;\n\t}\n\n\tstatic decodeBbCode(params = {})\n\t{\n\t\tlet {text, textOnly = false, enableBigSmile = true} = params;\n\n\t\tlet putReplacement = [];\n\t\ttext = text.replace(/\\[PUT(?:=(.+?))?\\](.+?)?\\[\\/PUT\\]/ig, function(whole)\n\t\t{\n\t\t\tvar id = putReplacement.length;\n\t\t\tputReplacement.push(whole);\n\t\t\treturn '####REPLACEMENT_PUT_'+id+'####';\n\t\t});\n\n\t\tlet sendReplacement = [];\n\t\ttext = text.replace(/\\[SEND(?:=(.+?))?\\](.+?)?\\[\\/SEND\\]/ig, function(whole)\n\t\t{\n\t\t\tvar id = sendReplacement.length;\n\t\t\tsendReplacement.push(whole);\n\t\t\treturn '####REPLACEMENT_SEND_'+id+'####';\n\t\t});\n\n\t\tlet codeReplacement = [];\n\t\ttext = text.replace(/\\[CODE\\]\\n?(.*?)\\[\\/CODE\\]/sig, function(whole, text) {\n\t\t\tlet id = codeReplacement.length;\n\t\t\tcodeReplacement.push(text);\n\t\t\treturn '####REPLACEMENT_CODE_'+id+'####';\n\t\t});\n\n\t\ttext = text.replace(/\\[url=([^\\]]+)\\](.*?)\\[\\/url\\]/ig, function(whole, link, text)\n\t\t{\n\t\t\tlet tag = document.createElement('a');\n\t\t\ttag.href = Utils.text.htmlspecialcharsback(link);\n\t\t\ttag.target = '_blank';\n\t\t\ttag.text = Utils.text.htmlspecialcharsback(text);\n\n\t\t\tlet allowList = [\n\t\t\t\t\"http:\",\n\t\t\t\t\"https:\",\n\t\t\t\t\"ftp:\",\n\t\t\t\t\"file:\",\n\t\t\t\t\"tel:\",\n\t\t\t\t\"callto:\",\n\t\t\t\t\"mailto:\",\n\t\t\t\t\"skype:\",\n\t\t\t\t\"viber:\",\n\t\t\t];\n\t\t\tif (allowList.indexOf(tag.protocol) <= -1)\n\t\t\t{\n\t\t\t\treturn whole;\n\t\t\t}\n\n\t\t\treturn tag.outerHTML;\n\t\t});\n\n\t\ttext = text.replace(/\\[url\\]([^\\]]+)\\[\\/url\\]/ig, function(whole, link)\n\t\t{\n\t\t\tlink = Utils.text.htmlspecialcharsback(link);\n\n\t\t\tlet tag = document.createElement('a');\n\t\t\ttag.href = link;\n\t\t\ttag.target = '_blank';\n\t\t\ttag.text = link;\n\n\t\t\tlet allowList = [\n\t\t\t\t\"http:\",\n\t\t\t\t\"https:\",\n\t\t\t\t\"ftp:\",\n\t\t\t\t\"file:\",\n\t\t\t\t\"tel:\",\n\t\t\t\t\"callto:\",\n\t\t\t\t\"mailto:\",\n\t\t\t\t\"skype:\",\n\t\t\t\t\"viber:\",\n\t\t\t];\n\t\t\tif (allowList.indexOf(tag.protocol) <= -1)\n\t\t\t{\n\t\t\t\treturn whole;\n\t\t\t}\n\n\t\t\treturn tag.outerHTML;\n\t\t});\n\n\t\ttext = text.replace(/\\[LIKE\\]/ig, '<span class=\"bx-smile bx-im-smile-like\"></span>');\n\t\ttext = text.replace(/\\[DISLIKE\\]/ig, '<span class=\"bx-smile bx-im-smile-dislike\"></span>');\n\n\t\ttext = text.replace(/\\[BR\\]/ig, '<br/>');\n\t\ttext = text.replace(/\\[([buis])\\](.*?)\\[(\\/[buis])\\]/ig, (whole, open, inner, close) => '<'+open+'>'+inner+'<'+close+'>'); // TODO tag USER\n\n\t\t// this code needs to be ported to im/install/js/im/view/message/body/src/body.js:229\n\t\ttext = text.replace(/\\[CHAT=(imol\\|)?([0-9]{1,})\\](.*?)\\[\\/CHAT\\]/ig, (whole, openlines, chatId, inner) => openlines? inner: '<span class=\"bx-im-mention\" data-type=\"CHAT\" data-value=\"chat'+chatId+'\">'+inner+'</span>'); // TODO tag CHAT\n\n\t\tif (false && Utils.device.isMobile())\n\t\t{\n\t\t\tlet replacements = [];\n\t\t\ttext = text.replace(/\\[CALL(?:=(.+?))?\\](.+?)?\\[\\/CALL\\]/ig, (whole, number, text) => {\n\t\t\t\tlet index = replacements.length;\n\t\t\t\treplacements.push({number, text});\n\t\t\t\treturn `####REPLACEMENT_MARK_${index}####`;\n\t\t\t});\n\n\t\t\ttext = text.replace(/[+]{0,1}(?:[-\\/. ()\\[\\]~;#,]*[0-9]){10,}[^\\n\\r<][-\\/. ()\\[\\]~;#,0-9^]*/g, (number) => {\n\t\t\t\tlet pureNumber = number.replace(/\\D/g, '');\n\t\t\t\treturn `[CALL=${pureNumber}]${number}[/CALL]`;\n\t\t\t});\n\n\t\t\treplacements.forEach((item, index) => {\n\t\t\t\ttext = text.replace(`####REPLACEMENT_MARK_${index}####`, `[CALL=${item.number}]${item.text}[/CALL]`)\n\t\t\t});\n\t\t}\n\n\t\ttext = text.replace(/\\[CALL(?:=(.+?))?\\](.+?)?\\[\\/CALL\\]/ig, (whole, number, text) => '<span class=\"bx-im-mention\" data-type=\"CALL\" data-value=\"'+Utils.text.htmlspecialchars(number)+'\">'+text+'</span>'); // TODO tag CHAT\n\n\t\ttext = text.replace(/\\[PCH=([0-9]{1,})\\](.*?)\\[\\/PCH\\]/ig, (whole, historyId, text) => text); // TODO tag PCH\n\n\t\tlet textElementSize = 0;\n\t\tif (enableBigSmile)\n\t\t{\n\t\t\ttextElementSize = text.replace(/\\[icon\\=([^\\]]*)\\]/ig, '').trim().length;\n\t\t}\n\n\t\ttext = text.replace(/\\[icon\\=([^\\]]*)\\]/ig, (whole) =>\n\t\t{\n\t\t\tlet url = whole.match(/icon\\=(\\S+[^\\s.,> )\\];\\'\\\"!?])/i);\n\t\t\tif (url && url[1])\n\t\t\t{\n\t\t\t\turl = url[1];\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\treturn '';\n\t\t\t}\n\n\t\t\tlet attrs = {'src': url, 'border': 0};\n\n\t\t\tlet size = whole.match(/size\\=(\\d+)/i);\n\t\t\tif (size && size[1])\n\t\t\t{\n\t\t\t\tattrs['width'] = size[1];\n\t\t\t\tattrs['height'] = size[1];\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tlet width = whole.match(/width\\=(\\d+)/i);\n\t\t\t\tif (width && width[1])\n\t\t\t\t{\n\t\t\t\t\tattrs['width'] = width[1];\n\t\t\t\t}\n\n\t\t\t\tlet height = whole.match(/height\\=(\\d+)/i);\n\t\t\t\tif (height && height[1])\n\t\t\t\t{\n\t\t\t\t\tattrs['height'] = height[1];\n\t\t\t\t}\n\n\t\t\t\tif (attrs['width'] && !attrs['height'])\n\t\t\t\t{\n\t\t\t\t\tattrs['height'] = attrs['width'];\n\t\t\t\t}\n\t\t\t\telse if (attrs['height'] && !attrs['width'])\n\t\t\t\t{\n\t\t\t\t\tattrs['width'] = attrs['height'];\n\t\t\t\t}\n\t\t\t\telse if (attrs['height'] && attrs['width'])\n\t\t\t\t{}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tattrs['width'] = 20;\n\t\t\t\t\tattrs['height'] = 20;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tattrs['width'] = attrs['width']>100? 100: attrs['width'];\n\t\t\tattrs['height'] = attrs['height']>100? 100: attrs['height'];\n\n\t\t\tif (enableBigSmile && textElementSize === 0 && attrs['width'] === attrs['height'] && attrs['width'] === 20)\n\t\t\t{\n\t\t\t\tattrs['width'] = 40;\n\t\t\t\tattrs['height'] = 40;\n\t\t\t}\n\n\t\t\tlet title = whole.match(/title\\=(.*[^\\s\\]])/i);\n\t\t\tif (title && title[1])\n\t\t\t{\n\t\t\t\ttitle = title[1];\n\t\t\t\tif (title.indexOf('width=') > -1)\n\t\t\t\t{\n\t\t\t\t\ttitle = title.substr(0, title.indexOf('width='))\n\t\t\t\t}\n\t\t\t\tif (title.indexOf('height=') > -1)\n\t\t\t\t{\n\t\t\t\t\ttitle = title.substr(0, title.indexOf('height='))\n\t\t\t\t}\n\t\t\t\tif (title.indexOf('size=') > -1)\n\t\t\t\t{\n\t\t\t\t\ttitle = title.substr(0, title.indexOf('size='))\n\t\t\t\t}\n\t\t\t\tif (title)\n\t\t\t\t{\n\t\t\t\t\tattrs['title'] = Utils.text.htmlspecialchars(title).trim();\n\t\t\t\t\tattrs['alt'] = attrs['title'];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet attributes = '';\n\t\t\tfor (let name in attrs)\n\t\t\t{\n\t\t\t\tif (attrs.hasOwnProperty(name))\n\t\t\t\t{\n\t\t\t\t\tattributes += name+'=\"'+attrs[name]+'\" ';\n\t\t\t\t}\n\t\t\t}\n\n\n\t\t\treturn '<img class=\"bx-smile bx-icon\" '+attributes+'>';\n\t\t});\n\n\t\tsendReplacement.forEach((value, index) => {\n\t\t\ttext = text.replace('####REPLACEMENT_SEND_'+index+'####', value);\n\t\t});\n\n\t\ttext = text.replace(/\\[SEND(?:=(?:.+?))?\\](?:.+?)?\\[\\/SEND]/ig, (match) =>\n\t\t{\n\t\t\treturn match.replace(/\\[SEND(?:=(.+))?\\](.+?)?\\[\\/SEND]/ig, (whole, command, text) =>\n\t\t\t{\n\t\t\t\tlet html = '';\n\n\t\t\t\ttext = text? text: command;\n\t\t\t\tcommand = (command? command: text).replace('<br />', '\\n');\n\n\t\t\t\tif (!textOnly && text)\n\t\t\t\t{\n\t\t\t\t\ttext = text.replace(/<([\\w]+)[^>]*>(.*?)<\\\\1>/i, \"$2\", text);\n\t\t\t\t\ttext = text.replace(/\\[([\\w]+)[^\\]]*\\](.*?)\\[\\/\\1\\]/i, \"$2\", text);\n\n\t\t\t\t\tcommand = command.split('####REPLACEMENT_PUT_').join('####REPLACEMENT_SP_');\n\n\t\t\t\t\thtml = '<!--IM_COMMAND_START-->' +\n\t\t\t\t\t\t'<span class=\"bx-im-message-command-wrap\">'+\n\t\t\t\t\t\t\t'<span class=\"bx-im-message-command\" data-entity=\"send\">'+text+'</span>'+\n\t\t\t\t\t\t\t'<span class=\"bx-im-message-command-data\">'+command+'</span>'+\n\t\t\t\t\t\t'</span>'+\n\t\t\t\t\t'<!--IM_COMMAND_END-->';\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\thtml = text;\n\t\t\t\t}\n\n\t\t\t\treturn html;\n\t\t\t});\n\t\t});\n\n\t\tputReplacement.forEach((value, index) => {\n\t\t\ttext = text.replace('####REPLACEMENT_PUT_'+index+'####', value);\n\t\t});\n\n\t\ttext = text.replace(/\\[PUT(?:=(?:.+?))?\\](?:.+?)?\\[\\/PUT]/ig, (match) =>\n\t\t{\n\t\t\treturn match.replace(/\\[PUT(?:=(.+))?\\](.+?)?\\[\\/PUT]/ig, (whole, command, text) =>\n\t\t\t{\n\t\t\t\tlet html = '';\n\n\t\t\t\ttext = text? text: command;\n\t\t\t\tcommand = (command? command: text).replace('<br />', '\\n');\n\n\t\t\t\tif (!textOnly && text)\n\t\t\t\t{\n\t\t\t\t\ttext = text.replace(/<([\\w]+)[^>]*>(.*?)<\\/\\1>/i, \"$2\", text);\n\t\t\t\t\ttext = text.replace(/\\[([\\w]+)[^\\]]*\\](.*?)\\[\\/\\1\\]/i, \"$2\", text);\n\n\t\t\t\t\thtml = '<!--IM_COMMAND_START-->' +\n\t\t\t\t\t\t'<span class=\"bx-im-message-command-wrap\">'+\n\t\t\t\t\t\t\t'<span class=\"bx-im-message-command\" data-entity=\"put\">'+text+'</span>'+\n\t\t\t\t\t\t\t'<span class=\"bx-im-message-command-data\">'+command+'</span>'+\n\t\t\t\t\t\t'</span>'+\n\t\t\t\t\t'<!--IM_COMMAND_END-->';\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\thtml = text;\n\t\t\t\t}\n\n\t\t\t\treturn html;\n\t\t\t});\n\t\t});\n\n\t\tcodeReplacement.forEach((code, index) => {\n\t\t\ttext = text.replace('####REPLACEMENT_CODE_'+index+'####',\n\t\t\t\t!textOnly? '<div class=\"bx-im-message-content-code\">'+code+'</div>': code\n\t\t\t)\n\t\t});\n\n\t\tif (sendReplacement.length > 0)\n\t\t{\n\t\t\tdo\n\t\t\t{\n\t\t\t\tsendReplacement.forEach((value, index) => {\n\t\t\t\t\ttext = text.replace('####REPLACEMENT_SEND_'+index+'####', value);\n\t\t\t\t});\n\t\t\t}\n\t\t\twhile (text.includes('####REPLACEMENT_SEND_'));\n\t\t}\n\n\t\ttext = text.split('####REPLACEMENT_SP_').join('####REPLACEMENT_PUT_');\n\n\t\tif (putReplacement.length > 0)\n\t\t{\n\t\t\tdo\n\t\t\t{\n\t\t\t\tputReplacement.forEach((value, index) => {\n\t\t\t\t\ttext = text.replace('####REPLACEMENT_PUT_'+index+'####', value);\n\t\t\t\t});\n\t\t\t}\n\t\t\twhile (text.includes('####REPLACEMENT_PUT_'));\n\t\t}\n\n\t\treturn text;\n\t}\n\n\tstatic hideErrorImage(element)\n\t{\n\t\tif (element.parentNode && element.parentNode)\n\t\t{\n\t\t\telement.parentNode.innerHTML = '<a href=\"'+element.src+'\" target=\"_blank\">'+element.src+'</a>';\n\t\t}\n\t\treturn true;\n\t};\n\n\tstatic isTemporaryMessage(element)\n\t{\n\t\treturn element.id\n\t\t\t&& (Utils.types.isUuidV4(element.id) || element.id.toString().startsWith('temporary'));\n\t}\n\n\tstatic getPayloadWithTempMessages(state, payload)\n\t{\n\t\tconst payloadData = [...payload.data];\n\n\t\tif (!Utils.platform.isBitrixMobile())\n\t\t{\n\t\t\treturn payloadData;\n\t\t}\n\n\t\tif (!payload.data || payload.data.length <= 0)\n\t\t{\n\t\t\treturn payloadData;\n\t\t}\n\n\t\t// consider that in the payload we have messages only for one chat, so we get the value from the first message.\n\t\tconst payloadChatId = payload.data[0].chatId;\n\t\tif (!state.collection[payloadChatId])\n\t\t{\n\t\t\treturn payloadData;\n\t\t}\n\n\t\tstate.collection[payloadChatId].forEach(message => {\n\t\t\tif (\n\t\t\t\tMessagesModel.isTemporaryMessage(message)\n\t\t\t\t&& !MessagesModel.existsInPayload(payload, message.templateId)\n\t\t\t\t&& MessagesModel.doesTaskExist(message)\n\t\t\t)\n\t\t\t{\n\t\t\t\tpayloadData.push(message);\n\t\t\t}\n\t\t});\n\n\t\treturn payloadData;\n\t}\n\n\tstatic existsInPayload(payload, templateId)\n\t{\n\t\treturn payload.data.find(payloadMessage => payloadMessage.templateId === templateId);\n\t}\n\n\tstatic doesTaskExist(message)\n\t{\n\t\tif (Array.isArray(message.params.FILE_ID))\n\t\t{\n\t\t\tlet foundUploadTasks = false;\n\t\t\tmessage.params.FILE_ID.forEach(fileId => {\n\t\t\t\tif (!foundUploadTasks)\n\t\t\t\t{\n\t\t\t\t\tfoundUploadTasks = window.imDialogUploadTasks.find(task => task.taskId.split('|')[1] === fileId);\n\t\t\t\t}\n\t\t\t})\n\n\t\t\treturn !!foundUploadTasks;\n\t\t}\n\n\t\tif (message.templateId)\n\t\t{\n\t\t\tconst foundMessageTask = window.imDialogMessagesTasks.find(task => task.taskId.split('|')[1] === message.templateId);\n\n\t\t\treturn !!foundMessageTask;\n\t\t}\n\n\t\treturn false;\n\t}\n}","/**\n * Bitrix Messenger\n * Dialogues model (Vuex Builder model)\n *\n * @package bitrix\n * @subpackage im\n * @copyright 2001-2020 Bitrix\n */\n\nimport {Vue} from 'ui.vue';\nimport {VuexBuilderModel} from 'ui.vue.vuex';\nimport {StorageLimit} from \"im.const\";\nimport {Utils} from \"im.lib.utils\";\n\nexport class DialoguesModel extends VuexBuilderModel\n{\n\tgetName()\n\t{\n\t\treturn 'dialogues';\n\t}\n\n\tgetState()\n\t{\n\t\treturn {\n\t\t\thost: this.getVariable('host', location.protocol+'//'+location.host),\n\t\t\tcollection: {},\n\t\t\tsaveDialogList: [],\n\t\t\tsaveChatList: [],\n\t\t}\n\t}\n\n\tgetStateSaveException()\n\t{\n\t\treturn {\n\t\t\thost: null\n\t\t}\n\t}\n\n\tgetElementStateSaveException()\n\t{\n\t\treturn {\n\t\t\twritingList: null,\n\t\t\tquoteId: null\n\t\t}\n\t}\n\n\tgetElementState()\n\t{\n\t\treturn {\n\t\t\tdialogId: '0',\n\t\t\tchatId: 0,\n\t\t\tcounter: 0,\n\t\t\tuserCounter: 0,\n\t\t\tmessageCount: 0,\n\t\t\tunreadId: 0,\n\t\t\tlastMessageId: 0,\n\t\t\tmanagerList: [],\n\t\t\treadedList: [],\n\t\t\twritingList: [],\n\t\t\tmuteList: [],\n\t\t\ttextareaMessage: \"\",\n\t\t\tquoteId: 0,\n\t\t\teditId: 0,\n\t\t\tinit: false,\n\n\t\t\tname: \"\",\n\t\t\towner: 0,\n\t\t\textranet: false,\n\t\t\tavatar: \"\",\n\t\t\tcolor: \"#17A3EA\",\n\t\t\ttype: \"chat\",\n\t\t\tentityType: \"\",\n\t\t\tentityId: \"\",\n\t\t\tentityData1: \"\",\n\t\t\tentityData2: \"\",\n\t\t\tentityData3: \"\",\n\t\t\tdateCreate: new Date(),\n\t\t\trestrictions: {\n\t\t\t\tavatar: true,\n\t\t\t\textend: true,\n\t\t\t\tleave: true,\n\t\t\t\tleaveOwner: true,\n\t\t\t\trename: true,\n\t\t\t\tsend: true,\n\t\t\t\tuserList: true,\n\t\t\t\tmute: true,\n\t\t\t\tcall: true,\n\t\t\t},\n\t\t\tpublic: {\n\t\t\t\tcode: '',\n\t\t\t\tlink: ''\n\t\t\t}\n\t\t};\n\t}\n\n\tgetGetters()\n\t{\n\t\treturn {\n\t\t\tget: state => dialogId =>\n\t\t\t{\n\t\t\t\tif (!state.collection[dialogId])\n\t\t\t\t{\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\treturn state.collection[dialogId];\n\t\t\t},\n\t\t\tgetByChatId: state => chatId =>\n\t\t\t{\n\t\t\t\tchatId = parseInt(chatId);\n\n\t\t\t\tfor (let dialogId in state.collection)\n\t\t\t\t{\n\t\t\t\t\tif (!state.collection.hasOwnProperty(dialogId))\n\t\t\t\t\t{\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (state.collection[dialogId].chatId === chatId)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn state.collection[dialogId];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn null;\n\t\t\t},\n\t\t\tgetBlank: state => params =>\n\t\t\t{\n\t\t\t\treturn this.getElementState();\n\t\t\t},\n\t\t\tgetQuoteId: state => dialogId =>\n\t\t\t{\n\t\t\t\tif (!state.collection[dialogId])\n\t\t\t\t{\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\n\t\t\t\treturn state.collection[dialogId].quoteId;\n\t\t\t},\n\t\t\tgetEditId: state => dialogId =>\n\t\t\t{\n\t\t\t\tif (!state.collection[dialogId])\n\t\t\t\t{\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\n\t\t\t\treturn state.collection[dialogId].editId;\n\t\t\t},\n\t\t\tcanSaveChat: state => chatId =>\n\t\t\t{\n\t\t\t\tif (/^\\d+$/.test(chatId))\n\t\t\t\t{\n\t\t\t\t\tchatId = parseInt(chatId);\n\t\t\t\t}\n\t\t\t\treturn state.saveChatList.includes(parseInt(chatId));\n\t\t\t},\n\t\t\tcanSaveDialog: state => dialogId =>\n\t\t\t{\n\t\t\t\treturn state.saveDialogList.includes(dialogId.toString());\n\t\t\t},\n\t\t\tisPrivateDialog: state => dialogId =>\n\t\t\t{\n\t\t\t\tdialogId = dialogId.toString();\n\t\t\t\treturn state.collection[dialogId.toString()] && state.collection[dialogId].type === 'private';\n\t\t\t},\n\t\t}\n\t}\n\n\tgetActions()\n\t{\n\t\treturn {\n\t\t\tset: (store, payload) =>\n\t\t\t{\n\t\t\t\tif (payload instanceof Array)\n\t\t\t\t{\n\t\t\t\t\tpayload = payload.map(dialog => {\n\t\t\t\t\t\treturn Object.assign(\n\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t\tthis.validate(Object.assign({}, dialog), {host: store.state.host}),\n\t\t\t\t\t\t\t{init: true}\n\t\t\t\t\t\t);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tlet result = [];\n\t\t\t\t\tresult.push(Object.assign(\n\t\t\t\t\t\t{},\n\t\t\t\t\t\tthis.validate(Object.assign({}, payload), {host: store.state.host}),\n\t\t\t\t\t\t{init: true}\n\t\t\t\t\t));\n\t\t\t\t\tpayload = result;\n\t\t\t\t}\n\n\t\t\t\tstore.commit('set', payload);\n\t\t\t},\n\n\t\t\tupdate: (store, payload) =>\n\t\t\t{\n\t\t\t\tif (\n\t\t\t\t\ttypeof store.state.collection[payload.dialogId] === 'undefined'\n\t\t\t\t\t|| store.state.collection[payload.dialogId].init === false\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tstore.commit('update', {\n\t\t\t\t\tdialogId : payload.dialogId,\n\t\t\t\t\tfields : this.validate(Object.assign({}, payload.fields), {host: store.state.host})\n\t\t\t\t});\n\n\t\t\t\treturn true;\n\t\t\t},\n\n\t\t\tdelete: (store, payload) =>\n\t\t\t{\n\t\t\t\tstore.commit('delete', payload.dialogId);\n\t\t\t\treturn true;\n\t\t\t},\n\n\t\t\tupdateWriting: (store, payload) =>\n\t\t\t{\n\t\t\t\tif (\n\t\t\t\t\ttypeof store.state.collection[payload.dialogId] === 'undefined'\n\t\t\t\t\t|| store.state.collection[payload.dialogId].init === false\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tlet index = store.state.collection[payload.dialogId].writingList.findIndex(el => el.userId === payload.userId);\n\t\t\t\tif (payload.action)\n\t\t\t\t{\n\t\t\t\t\tif (index >= 0)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tlet writingList = [].concat(store.state.collection[payload.dialogId].writingList);\n\t\t\t\t\t\twritingList.unshift({\n\t\t\t\t\t\t\tuserId: payload.userId,\n\t\t\t\t\t\t\tuserName: payload.userName,\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tstore.commit('update', {\n\t\t\t\t\t\t\tactionName: 'updateWriting/1',\n\t\t\t\t\t\t\tdialogId : payload.dialogId,\n\t\t\t\t\t\t\tfields : this.validate({writingList}, {host: store.state.host})\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tif (index >= 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tlet writingList = store.state.collection[payload.dialogId].writingList.filter(el => el.userId !== payload.userId);\n\t\t\t\t\t\tstore.commit('update', {\n\t\t\t\t\t\t\tactionName: 'updateWriting/2',\n\t\t\t\t\t\t\tdialogId : payload.dialogId,\n\t\t\t\t\t\t\tfields : this.validate({writingList}, {host: store.state.host})\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn false;\n\t\t\t},\n\n\t\t\tupdateReaded: (store, payload) =>\n\t\t\t{\n\t\t\t\tif (\n\t\t\t\t\ttypeof store.state.collection[payload.dialogId] === 'undefined'\n\t\t\t\t\t|| store.state.collection[payload.dialogId].init === false\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tlet readedList = store.state.collection[payload.dialogId].readedList.filter(el => el.userId !== payload.userId);\n\n\t\t\t\tif (payload.action)\n\t\t\t\t{\n\t\t\t\t\treadedList.push({\n\t\t\t\t\t\tuserId: payload.userId,\n\t\t\t\t\t\tuserName: payload.userName || '',\n\t\t\t\t\t\tmessageId: payload.messageId,\n\t\t\t\t\t\tdate: payload.date || (new Date()),\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tstore.commit('update', {\n\t\t\t\t\tactionName: 'updateReaded',\n\t\t\t\t\tdialogId : payload.dialogId,\n\t\t\t\t\tfields : this.validate({readedList}, {host: store.state.host})\n\t\t\t\t});\n\n\t\t\t\treturn false;\n\t\t\t},\n\n\t\t\tincreaseCounter: (store, payload) =>\n\t\t\t{\n\t\t\t\tif (\n\t\t\t\t\ttypeof store.state.collection[payload.dialogId] === 'undefined'\n\t\t\t\t\t|| store.state.collection[payload.dialogId].init === false\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tlet counter = store.state.collection[payload.dialogId].counter;\n\t\t\t\tif (counter === 100)\n\t\t\t\t{\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tlet increasedCounter = counter + payload.count;\n\t\t\t\tif (increasedCounter > 100)\n\t\t\t\t{\n\t\t\t\t\tincreasedCounter = 100;\n\t\t\t\t}\n\n\t\t\t\tconst userId = store.rootState.application?.common.userId;\n\t\t\t\tconst dialogMuted = userId && store.state.collection[payload.dialogId].muteList.includes(userId);\n\n\t\t\t\tstore.commit('update', {\n\t\t\t\t\tactionName: 'increaseCounter',\n\t\t\t\t\tdialogId : payload.dialogId,\n\t\t\t\t\tdialogMuted,\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tcounter: increasedCounter,\n\t\t\t\t\t\tpreviousCounter: counter\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\treturn false;\n\t\t\t},\n\n\t\t\tdecreaseCounter: (store, payload) =>\n\t\t\t{\n\t\t\t\tif (\n\t\t\t\t\ttypeof store.state.collection[payload.dialogId] === 'undefined'\n\t\t\t\t\t|| store.state.collection[payload.dialogId].init === false\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tlet counter = store.state.collection[payload.dialogId].counter;\n\t\t\t\tif (counter === 100)\n\t\t\t\t{\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tlet decreasedCounter = counter - payload.count;\n\t\t\t\tif (decreasedCounter < 0)\n\t\t\t\t{\n\t\t\t\t\tdecreasedCounter = 0;\n\t\t\t\t}\n\n\t\t\t\tlet unreadId = payload.unreadId > store.state.collection[payload.dialogId].unreadId? payload.unreadId: store.state.collection[payload.dialogId].unreadId;\n\n\t\t\t\tif (\n\t\t\t\t\tstore.state.collection[payload.dialogId].unreadId !== unreadId\n\t\t\t\t\t|| store.state.collection[payload.dialogId].counter !== decreasedCounter\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\tconst previousCounter = store.state.collection[payload.dialogId].counter;\n\t\t\t\t\tif (decreasedCounter === 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tunreadId = 0;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst userId = store.rootState.application?.common.userId;\n\t\t\t\t\tconst dialogMuted = userId && store.state.collection[payload.dialogId].muteList.includes(userId);\n\n\t\t\t\t\tstore.commit('update', {\n\t\t\t\t\t\tactionName: 'decreaseCounter',\n\t\t\t\t\t\tdialogId : payload.dialogId,\n\t\t\t\t\t\tdialogMuted,\n\t\t\t\t\t\tfields : {\n\t\t\t\t\t\t\tcounter: decreasedCounter,\n\t\t\t\t\t\t\tpreviousCounter,\n\t\t\t\t\t\t\tunreadId\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\treturn false;\n\t\t\t},\n\n\t\t\tincreaseMessageCounter: (store, payload) =>\n\t\t\t{\n\t\t\t\tif (\n\t\t\t\t\ttypeof store.state.collection[payload.dialogId] === 'undefined'\n\t\t\t\t\t|| store.state.collection[payload.dialogId].init === false\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tconst currentCounter = store.state.collection[payload.dialogId].messageCount;\n\n\t\t\t\tstore.commit('update', {\n\t\t\t\t\tactionName: 'increaseMessageCount',\n\t\t\t\t\tdialogId : payload.dialogId,\n\t\t\t\t\tfields : {\n\t\t\t\t\t\tmessageCount: currentCounter + payload.count,\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tsaveDialog: (store, payload) =>\n\t\t\t{\n\t\t\t\tif (\n\t\t\t\t\ttypeof store.state.collection[payload.dialogId] === 'undefined'\n\t\t\t\t\t|| store.state.collection[payload.dialogId].init === false\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tstore.commit('saveDialog', {\n\t\t\t\t\tdialogId : payload.dialogId,\n\t\t\t\t\tchatId : payload.chatId\n\t\t\t\t});\n\n\t\t\t\treturn false;\n\t\t\t},\n\t\t};\n\t}\n\n\tgetMutations()\n\t{\n\t\treturn {\n\t\t\tinitCollection: (state, payload) =>\n\t\t\t{\n\t\t\t\tthis.initCollection(state, payload);\n\t\t\t},\n\t\t\tsaveDialog: (state, payload) =>\n\t\t\t{\n\t\t\t\t// TODO if payload.dialogId is IMOL, skip update this flag\n\t\t\t\tif (!(payload.chatId > 0 && payload.dialogId.length > 0))\n\t\t\t\t{\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tlet saveDialogList = state.saveDialogList.filter(function(element) {\n\t\t\t\t\treturn element !== payload.dialogId;\n\t\t\t\t});\n\n\t\t\t\tsaveDialogList.unshift(payload.dialogId);\n\n\t\t\t\tsaveDialogList = saveDialogList.slice(0, StorageLimit.dialogues);\n\n\t\t\t\tif (state.saveDialogList.join(',') === saveDialogList.join(','))\n\t\t\t\t{\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tstate.saveDialogList = saveDialogList;\n\n\n\t\t\t\tlet saveChatList = state.saveChatList.filter(function(element) {\n\t\t\t\t\treturn element !== payload.chatId;\n\t\t\t\t});\n\n\t\t\t\tsaveChatList.unshift(payload.chatId);\n\n\t\t\t\tstate.saveChatList = saveChatList.slice(0, StorageLimit.dialogues);\n\n\t\t\t\tthis.saveState(state);\n\t\t\t},\n\t\t\tset: (state, payload) =>\n\t\t\t{\n\t\t\t\tfor (let element of payload)\n\t\t\t\t{\n\t\t\t\t\tthis.initCollection(state, {dialogId: element.dialogId});\n\n\t\t\t\t\tstate.collection[element.dialogId] = Object.assign(\n\t\t\t\t\t\tthis.getElementState(),\n\t\t\t\t\t\tstate.collection[element.dialogId],\n\t\t\t\t\t\telement\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// TODO if payload.dialogId is IMOL, skip update cache\n\t\t\t\tthis.saveState(state);\n\t\t\t},\n\t\t\tupdate: (state, payload) =>\n\t\t\t{\n\t\t\t\tthis.initCollection(state, payload);\n\n\t\t\t\tstate.collection[payload.dialogId] = Object.assign(\n\t\t\t\t\tstate.collection[payload.dialogId],\n\t\t\t\t\tpayload.fields\n\t\t\t\t);\n\n\t\t\t\t// TODO if payload.dialogId is IMOL, skip update cache\n\t\t\t\tthis.saveState(state);\n\t\t\t},\n\t\t\tdelete: (state, payload) =>\n\t\t\t{\n\t\t\t\tdelete state.collection[payload.dialogId];\n\n\t\t\t\t// TODO if payload.dialogId is IMOL, skip update cache\n\t\t\t\tthis.saveState(state);\n\t\t\t}\n\t\t};\n\t}\n\n\tinitCollection(state, payload)\n\t{\n\t\tif (typeof state.collection[payload.dialogId] !== 'undefined')\n\t\t{\n\t\t\treturn true\n\t\t}\n\n\t\tVue.set(state.collection, payload.dialogId, this.getElementState());\n\n\t\tif (payload.fields)\n\t\t{\n\t\t\tstate.collection[payload.dialogId] = Object.assign(\n\t\t\t\tstate.collection[payload.dialogId],\n\t\t\t\tthis.validate(Object.assign({}, payload.fields), {host: state.host})\n\t\t\t);\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tgetSaveTimeout()\n\t{\n\t\treturn 100;\n\t}\n\n\tsaveState(state = {})\n\t{\n\t\tif (!this.isSaveAvailable())\n\t\t{\n\t\t\treturn true;\n\t\t}\n\n\t\tsuper.saveState(() =>\n\t\t{\n\t\t\tlet storedState = {\n\t\t\t\tcollection: {},\n\t\t\t\tsaveDialogList: [].concat(state.saveDialogList),\n\t\t\t\tsaveChatList: [].concat(state.saveChatList),\n\t\t\t};\n\n\t\t\tstate.saveDialogList.forEach(dialogId => {\n\t\t\t\tif (!state.collection[dialogId])\n\t\t\t\t\treturn false;\n\n\t\t\t\tstoredState.collection[dialogId] = Object.assign(\n\t\t\t\t\tthis.getElementState(),\n\t\t\t\t\tthis.cloneState(state.collection[dialogId], this.getElementStateSaveException())\n\t\t\t\t);\n\t\t\t});\n\n\t\t\treturn storedState;\n\t\t});\n\t}\n\n\tvalidate(fields, options = {})\n\t{\n\t\tconst result = {};\n\n\t\toptions.host = options.host || this.getState().host;\n\n\t\tif (typeof fields.dialog_id !== 'undefined')\n\t\t{\n\t\t\tfields.dialogId = fields.dialog_id;\n\t\t}\n\t\tif (typeof fields.dialogId === \"number\" || typeof fields.dialogId === \"string\")\n\t\t{\n\t\t\tresult.dialogId = fields.dialogId.toString();\n\t\t}\n\n\t\tif (typeof fields.chat_id !== 'undefined')\n\t\t{\n\t\t\tfields.chatId = fields.chat_id;\n\t\t}\n\t\telse if (typeof fields.id !== 'undefined')\n\t\t{\n\t\t\tfields.chatId = fields.id;\n\t\t}\n\t\tif (typeof fields.chatId === \"number\" || typeof fields.chatId === \"string\")\n\t\t{\n\t\t\tresult.chatId = parseInt(fields.chatId);\n\t\t}\n\t\tif (typeof fields.quoteId === \"number\")\n\t\t{\n\t\t\tresult.quoteId = parseInt(fields.quoteId);\n\t\t}\n\t\tif (typeof fields.editId === \"number\")\n\t\t{\n\t\t\tresult.editId = parseInt(fields.editId);\n\t\t}\n\n\t\tif (typeof fields.counter === \"number\" || typeof fields.counter === \"string\")\n\t\t{\n\t\t\tresult.counter = parseInt(fields.counter);\n\t\t}\n\n\t\tif (typeof fields.user_counter === \"number\" || typeof fields.user_counter === \"string\")\n\t\t{\n\t\t\tresult.userCounter = parseInt(fields.user_counter);\n\t\t}\n\t\tif (typeof fields.userCounter === \"number\" || typeof fields.userCounter === \"string\")\n\t\t{\n\t\t\tresult.userCounter = parseInt(fields.userCounter);\n\t\t}\n\n\t\tif (typeof fields.message_count === \"number\" || typeof fields.message_count === \"string\")\n\t\t{\n\t\t\tresult.messageCount = parseInt(fields.message_count);\n\t\t}\n\t\tif (typeof fields.messageCount === \"number\" || typeof fields.messageCount === \"string\")\n\t\t{\n\t\t\tresult.messageCount = parseInt(fields.messageCount);\n\t\t}\n\n\t\tif (typeof fields.unread_id !== 'undefined')\n\t\t{\n\t\t\tfields.unreadId = fields.unread_id;\n\t\t}\n\t\tif (typeof fields.unreadId === \"number\" || typeof fields.unreadId === \"string\")\n\t\t{\n\t\t\tresult.unreadId = parseInt(fields.unreadId);\n\t\t}\n\n\t\tif (typeof fields.last_message_id !== 'undefined')\n\t\t{\n\t\t\tfields.lastMessageId = fields.last_message_id;\n\t\t}\n\t\tif (typeof fields.lastMessageId === \"number\" || typeof fields.lastMessageId === \"string\")\n\t\t{\n\t\t\tresult.lastMessageId = parseInt(fields.lastMessageId);\n\t\t}\n\n\t\tif (typeof fields.readed_list !== 'undefined')\n\t\t{\n\t\t\tfields.readedList = fields.readed_list;\n\t\t}\n\t\tif (typeof fields.readedList !== 'undefined')\n\t\t{\n\t\t\tresult.readedList = [];\n\n\t\t\tif (fields.readedList instanceof Array)\n\t\t\t{\n\t\t\t\tfields.readedList.forEach(element =>\n\t\t\t\t{\n\t\t\t\t\tlet record = {};\n\t\t\t\t\tif (typeof element.user_id !== 'undefined')\n\t\t\t\t\t{\n\t\t\t\t\t\telement.userId = element.user_id;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeof element.user_name !== 'undefined')\n\t\t\t\t\t{\n\t\t\t\t\t\telement.userName = element.user_name;\n\t\t\t\t\t}\n\t\t\t\t\tif (typeof element.message_id !== 'undefined')\n\t\t\t\t\t{\n\t\t\t\t\t\telement.messageId = element.message_id;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!element.userId || !element.userName || !element.messageId)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\trecord.userId = parseInt(element.userId);\n\t\t\t\t\trecord.userName = element.userName.toString();\n\t\t\t\t\trecord.messageId = parseInt(element.messageId);\n\n\t\t\t\t\trecord.date = Utils.date.cast(element.date);\n\n\t\t\t\t\tresult.readedList.push(record);\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\n\t\tif (typeof fields.writing_list !== 'undefined')\n\t\t{\n\t\t\tfields.writingList = fields.writing_list;\n\t\t}\n\t\tif (typeof fields.writingList !== 'undefined')\n\t\t{\n\t\t\tresult.writingList = [];\n\n\t\t\tif (fields.writingList instanceof Array)\n\t\t\t{\n\t\t\t\tfields.writingList.forEach(element =>\n\t\t\t\t{\n\t\t\t\t\tlet record = {};\n\n\t\t\t\t\tif (!element.userId)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\trecord.userId = parseInt(element.userId);\n\t\t\t\t\trecord.userName = Utils.text.htmlspecialcharsback(element.userName);\n\n\t\t\t\t\tresult.writingList.push(record);\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\n\t\tif (typeof fields.manager_list !== 'undefined')\n\t\t{\n\t\t\tfields.managerList = fields.manager_list;\n\t\t}\n\t\tif (typeof fields.managerList !== 'undefined')\n\t\t{\n\t\t\tresult.managerList = [];\n\n\t\t\tif (fields.managerList instanceof Array)\n\t\t\t{\n\t\t\t\tfields.managerList.forEach(userId =>\n\t\t\t\t{\n\t\t\t\t\tuserId = parseInt(userId);\n\t\t\t\t\tif (userId > 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tresult.managerList.push(userId);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (typeof fields.mute_list !== 'undefined')\n\t\t{\n\t\t\tfields.muteList = fields.mute_list;\n\t\t}\n\t\tif (typeof fields.muteList !== 'undefined')\n\t\t{\n\t\t\tresult.muteList = [];\n\n\t\t\tif (fields.muteList instanceof Array)\n\t\t\t{\n\t\t\t\tfields.muteList.forEach(userId =>\n\t\t\t\t{\n\t\t\t\t\tuserId = parseInt(userId);\n\t\t\t\t\tif (userId > 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tresult.muteList.push(userId);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\telse if (typeof fields.muteList === 'object')\n\t\t\t{\n\t\t\t\tObject.entries(fields.muteList).forEach(entry => {\n\t\t\t\t\tif (entry[1] === true)\n\t\t\t\t\t{\n\t\t\t\t\t\tconst userId = parseInt(entry[0]);\n\t\t\t\t\t\tif (userId > 0)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tresult.muteList.push(userId);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (typeof fields.textareaMessage !== 'undefined')\n\t\t{\n\t\t\tresult.textareaMessage = fields.textareaMessage.toString();\n\t\t}\n\n\t\tif (typeof fields.title !== 'undefined')\n\t\t{\n\t\t\tfields.name = fields.title;\n\t\t}\n\t\tif (typeof fields.name === \"string\" || typeof fields.name === \"number\")\n\t\t{\n\t\t\tresult.name = Utils.text.htmlspecialcharsback(fields.name.toString());\n\t\t}\n\n\t\tif (typeof fields.owner !== 'undefined')\n\t\t{\n\t\t\tfields.ownerId = fields.owner;\n\t\t}\n\t\tif (typeof fields.ownerId === \"number\" || typeof fields.ownerId === \"string\")\n\t\t{\n\t\t\tresult.ownerId = parseInt(fields.ownerId);\n\t\t}\n\n\t\tif (typeof fields.extranet === \"boolean\")\n\t\t{\n\t\t\tresult.extranet = fields.extranet;\n\t\t}\n\n\t\tif (typeof fields.avatar === 'string')\n\t\t{\n\t\t\tlet avatar;\n\n\t\t\tif (!fields.avatar || fields.avatar.endsWith('/js/im/images/blank.gif'))\n\t\t\t{\n\t\t\t\tavatar = '';\n\t\t\t}\n\t\t\telse if (fields.avatar.startsWith('http'))\n\t\t\t{\n\t\t\t\tavatar = fields.avatar;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tavatar = options.host + fields.avatar;\n\t\t\t}\n\n\t\t\tif (avatar)\n\t\t\t{\n\t\t\t\tresult.avatar = encodeURI(avatar);\n\t\t\t}\n\t\t}\n\n\t\tif (typeof fields.color === \"string\")\n\t\t{\n\t\t\tresult.color = fields.color.toString();\n\t\t}\n\n\t\tif (typeof fields.type === \"string\")\n\t\t{\n\t\t\tresult.type = fields.type.toString();\n\t\t}\n\n\t\tif (typeof fields.entity_type !== 'undefined')\n\t\t{\n\t\t\tfields.entityType = fields.entity_type;\n\t\t}\n\t\tif (typeof fields.entityType === \"string\")\n\t\t{\n\t\t\tresult.entityType = fields.entityType.toString();\n\t\t}\n\t\tif (typeof fields.entity_id !== 'undefined')\n\t\t{\n\t\t\tfields.entityId = fields.entity_id;\n\t\t}\n\t\tif (typeof fields.entityId === \"string\" || typeof fields.entityId === \"number\")\n\t\t{\n\t\t\tresult.entityId = fields.entityId.toString();\n\t\t}\n\n\t\tif (typeof fields.entity_data_1 !== 'undefined')\n\t\t{\n\t\t\tfields.entityData1 = fields.entity_data_1;\n\t\t}\n\t\tif (typeof fields.entityData1 === \"string\")\n\t\t{\n\t\t\tresult.entityData1 = fields.entityData1.toString();\n\t\t}\n\n\t\tif (typeof fields.entity_data_2 !== 'undefined')\n\t\t{\n\t\t\tfields.entityData2 = fields.entity_data_2;\n\t\t}\n\t\tif (typeof fields.entityData2 === \"string\")\n\t\t{\n\t\t\tresult.entityData2 = fields.entityData2.toString();\n\t\t}\n\n\t\tif (typeof fields.entity_data_3 !== 'undefined')\n\t\t{\n\t\t\tfields.entityData3 = fields.entity_data_3;\n\t\t}\n\t\tif (typeof fields.entityData3 === \"string\")\n\t\t{\n\t\t\tresult.entityData3 = fields.entityData3.toString();\n\t\t}\n\n\t\tif (typeof fields.date_create !== 'undefined')\n\t\t{\n\t\t\tfields.dateCreate = fields.date_create;\n\t\t}\n\n\t\tif (typeof fields.dateCreate !== \"undefined\")\n\t\t{\n\t\t\tresult.dateCreate = Utils.date.cast(fields.dateCreate);\n\t\t}\n\n\t\tif (typeof fields.dateLastOpen !== \"undefined\")\n\t\t{\n\t\t\tresult.dateLastOpen = Utils.date.cast(fields.dateLastOpen);\n\t\t}\n\n\t\tif (typeof fields.restrictions === 'object' && fields.restrictions)\n\t\t{\n\t\t\tresult.restrictions = {};\n\n\t\t\tif (typeof fields.restrictions.avatar === 'boolean')\n\t\t\t{\n\t\t\t\tresult.restrictions.avatar = fields.restrictions.avatar;\n\t\t\t}\n\n\t\t\tif (typeof fields.restrictions.extend === 'boolean')\n\t\t\t{\n\t\t\t\tresult.restrictions.extend = fields.restrictions.extend;\n\t\t\t}\n\n\t\t\tif (typeof fields.restrictions.leave === 'boolean')\n\t\t\t{\n\t\t\t\tresult.restrictions.leave = fields.restrictions.leave;\n\t\t\t}\n\n\t\t\tif (typeof fields.restrictions.leave_owner === 'boolean')\n\t\t\t{\n\t\t\t\tresult.restrictions.leaveOwner = fields.restrictions.leave_owner;\n\t\t\t}\n\n\t\t\tif (typeof fields.restrictions.rename === 'boolean')\n\t\t\t{\n\t\t\t\tresult.restrictions.rename = fields.restrictions.rename;\n\t\t\t}\n\n\t\t\tif (typeof fields.restrictions.send === 'boolean')\n\t\t\t{\n\t\t\t\tresult.restrictions.send = fields.restrictions.send;\n\t\t\t}\n\n\t\t\tif (typeof fields.restrictions.user_list === 'boolean')\n\t\t\t{\n\t\t\t\tresult.restrictions.userList = fields.restrictions.user_list;\n\t\t\t}\n\n\t\t\tif (typeof fields.restrictions.mute === 'boolean')\n\t\t\t{\n\t\t\t\tresult.restrictions.mute = fields.restrictions.mute;\n\t\t\t}\n\n\t\t\tif (typeof fields.restrictions.call === 'boolean')\n\t\t\t{\n\t\t\t\tresult.restrictions.call = fields.restrictions.call;\n\t\t\t}\n\t\t}\n\n\t\tif (typeof fields.public === 'object' && fields.public)\n\t\t{\n\t\t\tresult.public = {};\n\n\t\t\tif (typeof fields.public.code === 'string')\n\t\t\t{\n\t\t\t\tresult.public.code = fields.public.code;\n\t\t\t}\n\n\t\t\tif (typeof fields.public.link === 'string')\n\t\t\t{\n\t\t\t\tresult.public.link = fields.public.link;\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n}","/**\n * Bitrix Messenger\n * Users model (Vuex Builder model)\n *\n * @package bitrix\n * @subpackage im\n * @copyright 2001-2020 Bitrix\n */\n\nimport {Vue} from 'ui.vue';\nimport {VuexBuilderModel} from 'ui.vue.vuex';\nimport {Utils} from \"im.lib.utils\";\n\nexport class UsersModel extends VuexBuilderModel\n{\n\tgetName()\n\t{\n\t\treturn 'users';\n\t}\n\n\tgetState()\n\t{\n\t\tthis.startOnlineCheckInterval();\n\n\t\treturn {\n\t\t\thost: this.getVariable('host', location.protocol+'//'+location.host),\n\t\t\tcollection: {},\n\t\t\tonlineList: [],\n\t\t\tmobileOnlineList: [],\n\t\t\tabsentList: []\n\t\t}\n\t}\n\n\tgetElementState(params = {})\n\t{\n\t\tlet {\n\t\t\tid = 0,\n\t\t\tname = this.getVariable('default.name', ''),\n\t\t\tfirstName = this.getVariable('default.name', ''),\n\t\t\tlastName = '',\n\t\t} = params;\n\n\t\treturn {\n\t\t\tid,\n\t\t\tname,\n\t\t\tfirstName,\n\t\t\tlastName,\n\t\t\tworkPosition: \"\",\n\t\t\tcolor: \"#048bd0\",\n\t\t\tavatar: \"\",\n\t\t\tgender: \"M\",\n\t\t\tbirthday: false,\n\t\t\tisBirthday: false,\n\t\t\textranet: false,\n\t\t\tnetwork: false,\n\t\t\tbot: false,\n\t\t\tconnector: false,\n\t\t\texternalAuthId: \"default\",\n\t\t\tstatus: \"online\",\n\t\t\tidle: false,\n\t\t\tlastActivityDate: false,\n\t\t\tmobileLastDate: false,\n\t\t\tisOnline: false,\n\t\t\tisMobileOnline: false,\n\t\t\tabsent: false,\n\t\t\tisAbsent: false,\n\t\t\tdepartments: [],\n\t\t\tphones: {\n\t\t\t\tworkPhone: \"\",\n\t\t\t\tpersonalMobile: \"\",\n\t\t\t\tpersonalPhone: \"\",\n\t\t\t\tinnerPhone: \"\",\n\t\t\t},\n\t\t\tinit: false\n\t\t};\n\t}\n\n\tgetGetters()\n\t{\n\t\treturn {\n\t\t\tget: state => (userId, getTemporary = false) =>\n\t\t\t{\n\t\t\t\tuserId = parseInt(userId);\n\n\t\t\t\tif (userId <= 0)\n\t\t\t\t{\n\t\t\t\t\tif (getTemporary)\n\t\t\t\t\t{\n\t\t\t\t\t\tuserId = 0;\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t!getTemporary\n\t\t\t\t\t&& (!state.collection[userId] || !state.collection[userId].init)\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\tif (!state.collection[userId])\n\t\t\t\t{\n\t\t\t\t\treturn this.getElementState({id: userId});\n\t\t\t\t}\n\n\t\t\t\treturn state.collection[userId];\n\t\t\t},\n\t\t\tgetBlank: state => params =>\n\t\t\t{\n\t\t\t\treturn this.getElementState(params);\n\t\t\t},\n\t\t\tgetList: state => (userList) => {\n\t\t\t\tconst result = [];\n\n\t\t\t\tif (!Array.isArray(userList))\n\t\t\t\t{\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\tuserList.forEach(id => {\n\t\t\t\t\tif (state.collection[id])\n\t\t\t\t\t{\n\t\t\t\t\t\tresult.push(state.collection[id]);\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tresult.push(this.getElementState({id}));\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\treturn result;\n\t\t\t}\n\t\t}\n\t}\n\n\tgetActions()\n\t{\n\t\treturn {\n\t\t\tset: (store, payload) =>\n\t\t\t{\n\t\t\t\tif (payload instanceof Array)\n\t\t\t\t{\n\t\t\t\t\tpayload = payload.map(user => {\n\t\t\t\t\t\treturn Object.assign(\n\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t\tthis.getElementState(),\n\t\t\t\t\t\t\tthis.validate(Object.assign({}, user), {host: store.state.host}),\n\t\t\t\t\t\t\t{init: true}\n\t\t\t\t\t\t);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tlet result = [];\n\t\t\t\t\tresult.push(Object.assign(\n\t\t\t\t\t\t{},\n\t\t\t\t\t\tthis.getElementState(),\n\t\t\t\t\t\tthis.validate(Object.assign({}, payload), {host: store.state.host}),\n\t\t\t\t\t\t{init: true}\n\t\t\t\t\t));\n\t\t\t\t\tpayload = result;\n\t\t\t\t}\n\n\t\t\t\tstore.commit('set', payload);\n\t\t\t},\n\t\t\tupdate: (store, payload) =>\n\t\t\t{\n\t\t\t\tpayload.id = parseInt(payload.id);\n\n\t\t\t\tif (\n\t\t\t\t\ttypeof store.state.collection[payload.id] === 'undefined'\n\t\t\t\t\t|| store.state.collection[payload.id].init === false\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tstore.commit('update', {\n\t\t\t\t\tid : payload.id,\n\t\t\t\t\tfields : this.validate(Object.assign({}, payload.fields), {host: store.state.host})\n\t\t\t\t});\n\n\t\t\t\treturn true;\n\t\t\t},\n\t\t\tdelete: (store, payload) =>\n\t\t\t{\n\t\t\t\tstore.commit('delete', payload.id);\n\t\t\t\treturn true;\n\t\t\t},\n\t\t\tsaveState: (store, payload) =>\n\t\t\t{\n\t\t\t\tstore.commit('saveState', {});\n\t\t\t\treturn true;\n\t\t\t},\n\t\t}\n\t}\n\n\tgetMutations()\n\t{\n\t\treturn {\n\t\t\tset: (state, payload) =>\n\t\t\t{\n\t\t\t\tfor (let element of payload)\n\t\t\t\t{\n\t\t\t\t\tthis.initCollection(state, {id: element.id});\n\n\t\t\t\t\tstate.collection[element.id] = Object.assign(state.collection[element.id], element);\n\n\t\t\t\t\tlet status = Utils.user.getOnlineStatus(element);\n\t\t\t\t\tif (status.isOnline)\n\t\t\t\t\t{\n\t\t\t\t\t\tstate.collection[element.id].isOnline = true;\n\t\t\t\t\t\tthis.addToOnlineList(state, element.id);\n\t\t\t\t\t}\n\n\t\t\t\t\tlet mobileStatus = Utils.user.isMobileActive(element);\n\t\t\t\t\tif (mobileStatus)\n\t\t\t\t\t{\n\t\t\t\t\t\tstate.collection[element.id].isMobileOnline = true;\n\t\t\t\t\t\tthis.addToMobileOnlineList(state, element.id);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (element.birthday)\n\t\t\t\t\t{\n\t\t\t\t\t\tlet today = Utils.date.format(new Date(), \"d-m\");\n\t\t\t\t\t\tif (element.birthday === today)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tstate.collection[element.id].isBirthday = true;\n\n\t\t\t\t\t\t\tlet timeToNextMidnight = this.getTimeToNextMidnight();\n\t\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\t\tstate.collection[element.id].isBirthday = false;\n\t\t\t\t\t\t\t}, timeToNextMidnight);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (element.absent)\n\t\t\t\t\t{\n\t\t\t\t\t\telement.isAbsent = true;\n\n\t\t\t\t\t\tif (!state.absentList.includes(element.id))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthis.addToAbsentList(state, element.id);\n\n\t\t\t\t\t\t\tlet timeToNextMidnight = this.getTimeToNextMidnight();\n\t\t\t\t\t\t\tlet timeToNextDay = 1000*60*60*24;\n\t\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\t\tsetInterval(() => this.startAbsentCheckInterval(state), timeToNextDay);\n\t\t\t\t\t\t\t}, timeToNextMidnight);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.saveState(state);\n\t\t\t\t}\n\t\t\t},\n\t\t\tupdate: (state, payload) =>\n\t\t\t{\n\t\t\t\tthis.initCollection(state, payload);\n\n\t\t\t\tif (typeof payload.fields.lastActivityDate !== 'undefined' && state.collection[payload.id].lastActivityDate)\n\t\t\t\t{\n\t\t\t\t\tlet lastActivityDate = state.collection[payload.id].lastActivityDate.getTime();\n\t\t\t\t\tlet newActivityDate = payload.fields.lastActivityDate.getTime();\n\t\t\t\t\tif (newActivityDate > lastActivityDate)\n\t\t\t\t\t{\n\t\t\t\t\t\tlet status = Utils.user.getOnlineStatus(payload.fields);\n\t\t\t\t\t\tif (status.isOnline)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tstate.collection[payload.id].isOnline = true;\n\t\t\t\t\t\t\tthis.addToOnlineList(state, payload.fields.id);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\ttypeof payload.fields.mobileLastDate !== 'undefined'\n\t\t\t\t\t&& state.collection[payload.id].mobileLastDate !== payload.fields.mobileLastDate\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\tlet mobileStatus = Utils.user.isMobileActive(payload.fields);\n\t\t\t\t\tif (mobileStatus)\n\t\t\t\t\t{\n\t\t\t\t\t\tstate.collection[payload.id].isMobileOnline = true;\n\t\t\t\t\t\tthis.addToMobileOnlineList(state, payload.fields.id);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tstate.collection[payload.id] = Object.assign(\n\t\t\t\t\tstate.collection[payload.id],\n\t\t\t\t\tpayload.fields\n\t\t\t\t);\n\n\t\t\t\tthis.saveState(state);\n\t\t\t},\n\t\t\tdelete: (state, payload) =>\n\t\t\t{\n\t\t\t\tdelete state.collection[payload.id];\n\t\t\t\tthis.saveState(state);\n\t\t\t},\n\t\t\tsaveState: (state, payload) =>\n\t\t\t{\n\t\t\t\tthis.saveState(state);\n\t\t\t},\n\t\t}\n\t}\n\n\tinitCollection(state, payload)\n\t{\n\t\tif (typeof state.collection[payload.id] !== 'undefined')\n\t\t{\n\t\t\treturn true;\n\t\t}\n\n\t\tVue.set(state.collection, payload.id, this.getElementState());\n\n\t\treturn true;\n\t}\n\n\tgetSaveUserList()\n\t{\n\t\tif (!this.db)\n\t\t{\n\t\t\treturn [];\n\t\t}\n\n\t\tif (!this.store.getters['messages/getSaveUserList'])\n\t\t{\n\t\t\treturn [];\n\t\t}\n\n\t\tlet list = this.store.getters['messages/getSaveUserList']();\n\t\tif (!list)\n\t\t{\n\t\t\treturn [];\n\t\t}\n\n\t\treturn list;\n\t}\n\n\tgetSaveTimeout()\n\t{\n\t\treturn 250;\n\t}\n\n\tsaveState(state)\n\t{\n\t\tif (!this.isSaveAvailable())\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\tsuper.saveState(() =>\n\t\t{\n\t\t\tlet list = this.getSaveUserList();\n\t\t\tif (!list)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tlet storedState = {\n\t\t\t\tcollection: {},\n\t\t\t};\n\n\t\t\tlet exceptionList = {\n\t\t\t\tabsent: true,\n\t\t\t\tidle: true,\n\t\t\t\tmobileLastDate: true,\n\t\t\t\tlastActivityDate: true,\n\t\t\t};\n\n\t\t\tfor (let chatId in list)\n\t\t\t{\n\t\t\t\tif (!list.hasOwnProperty(chatId))\n\t\t\t\t{\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tlist[chatId].forEach(userId =>\n\t\t\t\t{\n\t\t\t\t\tif (!state.collection[userId])\n\t\t\t\t\t{\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tstoredState.collection[userId] = this.cloneState(state.collection[userId], exceptionList);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn storedState;\n\t\t});\n\t}\n\n\tvalidate(fields, options = {})\n\t{\n\t\tconst result = {};\n\n\t\toptions.host = options.host || this.getState().host;\n\n\t\tif (typeof fields.id === \"number\" || typeof fields.id === \"string\")\n\t\t{\n\t\t\tresult.id = parseInt(fields.id);\n\t\t}\n\n\t\tif (typeof fields.first_name !== \"undefined\")\n\t\t{\n\t\t\tfields.firstName = Utils.text.htmlspecialcharsback(fields.first_name);\n\t\t}\n\t\tif (typeof fields.last_name !== \"undefined\")\n\t\t{\n\t\t\tfields.lastName = Utils.text.htmlspecialcharsback(fields.last_name);\n\t\t}\n\t\tif (typeof fields.name === \"string\" || typeof fields.name === \"number\")\n\t\t{\n\t\t\tfields.name = Utils.text.htmlspecialcharsback(fields.name.toString());\n\t\t\tresult.name = fields.name;\n\t\t}\n\n\t\tif (typeof fields.firstName === \"string\" || typeof fields.firstName === \"number\")\n\t\t{\n\t\t\tresult.firstName = Utils.text.htmlspecialcharsback(fields.firstName.toString());\n\t\t}\n\t\tif (typeof fields.lastName === \"string\" || typeof fields.lastName === \"number\")\n\t\t{\n\t\t\tresult.lastName = Utils.text.htmlspecialcharsback(fields.lastName.toString());\n\t\t}\n\n\t\tif (typeof fields.work_position !== \"undefined\")\n\t\t{\n\t\t\tfields.workPosition = fields.work_position;\n\t\t}\n\t\tif (typeof fields.workPosition === \"string\" || typeof fields.workPosition === \"number\")\n\t\t{\n\t\t\tresult.workPosition = fields.workPosition.toString();\n\t\t}\n\n\t\tif (typeof fields.color === \"string\")\n\t\t{\n\t\t\tresult.color = fields.color;\n\t\t}\n\n\t\tif (typeof fields.avatar === 'string')\n\t\t{\n\t\t\tlet avatar;\n\n\t\t\tif (!fields.avatar || fields.avatar.endsWith('/js/im/images/blank.gif'))\n\t\t\t{\n\t\t\t\tavatar = '';\n\t\t\t}\n\t\t\telse if (fields.avatar.startsWith('http'))\n\t\t\t{\n\t\t\t\tavatar = fields.avatar;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tavatar = options.host + fields.avatar;\n\t\t\t}\n\n\t\t\tif (avatar)\n\t\t\t{\n\t\t\t\tresult.avatar = encodeURI(avatar);\n\t\t\t}\n\t\t}\n\n\t\tif (typeof fields.gender !== 'undefined')\n\t\t{\n\t\t\tresult.gender = fields.gender === 'F'? 'F': 'M';\n\t\t}\n\n\t\tif (typeof fields.birthday === \"string\")\n\t\t{\n\t\t\tresult.birthday = fields.birthday;\n\t\t}\n\n\t\tif (typeof fields.extranet === \"boolean\")\n\t\t{\n\t\t\tresult.extranet = fields.extranet;\n\t\t}\n\n\t\tif (typeof fields.network === \"boolean\")\n\t\t{\n\t\t\tresult.network = fields.network;\n\t\t}\n\n\t\tif (typeof fields.bot === \"boolean\")\n\t\t{\n\t\t\tresult.bot = fields.bot;\n\t\t}\n\n\t\tif (typeof fields.connector === \"boolean\")\n\t\t{\n\t\t\tresult.connector = fields.connector;\n\t\t}\n\n\t\tif (typeof fields.external_auth_id !== \"undefined\")\n\t\t{\n\t\t\tfields.externalAuthId = fields.external_auth_id;\n\t\t}\n\t\tif (typeof fields.externalAuthId === \"string\" && fields.externalAuthId)\n\t\t{\n\t\t\tresult.externalAuthId = fields.externalAuthId;\n\t\t}\n\n\t\tif (typeof fields.status === \"string\")\n\t\t{\n\t\t\tresult.status = fields.status;\n\t\t}\n\n\t\tif (typeof fields.idle !== \"undefined\")\n\t\t{\n\t\t\tresult.idle = Utils.date.cast(fields.idle, false);\n\t\t}\n\t\tif (typeof fields.last_activity_date !== \"undefined\")\n\t\t{\n\t\t\tfields.lastActivityDate = fields.last_activity_date;\n\t\t}\n\t\tif (typeof fields.lastActivityDate !== \"undefined\")\n\t\t{\n\t\t\tresult.lastActivityDate = Utils.date.cast(fields.lastActivityDate, false);\n\t\t}\n\t\tif (typeof fields.mobile_last_date !== \"undefined\")\n\t\t{\n\t\t\tfields.mobileLastDate = fields.mobile_last_date;\n\t\t}\n\t\tif (typeof fields.mobileLastDate !== \"undefined\")\n\t\t{\n\t\t\tresult.mobileLastDate = Utils.date.cast(fields.mobileLastDate, false);\n\t\t}\n\n\t\tif (typeof fields.absent !== \"undefined\")\n\t\t{\n\t\t\tresult.absent = Utils.date.cast(fields.absent, false);\n\t\t}\n\n\t\tif (typeof fields.departments !== 'undefined')\n\t\t{\n\t\t\tresult.departments = [];\n\n\t\t\tif (fields.departments instanceof Array)\n\t\t\t{\n\t\t\t\tfields.departments.forEach(departmentId =>\n\t\t\t\t{\n\t\t\t\t\tdepartmentId = parseInt(departmentId);\n\t\t\t\t\tif (departmentId > 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tresult.departments.push(departmentId);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (typeof fields.phones === 'object' && fields.phones)\n\t\t{\n\t\t\tresult.phones = {};\n\n\t\t\tif (typeof fields.phones.work_phone !== \"undefined\")\n\t\t\t{\n\t\t\t\tfields.phones.workPhone = fields.phones.work_phone;\n\t\t\t}\n\t\t\tif (typeof fields.phones.workPhone === 'string' || typeof fields.phones.workPhone === 'number')\n\t\t\t{\n\t\t\t\tresult.phones.workPhone = fields.phones.workPhone.toString();\n\t\t\t}\n\n\t\t\tif (typeof fields.phones.personal_mobile !== \"undefined\")\n\t\t\t{\n\t\t\t\tfields.phones.personalMobile = fields.phones.personal_mobile;\n\t\t\t}\n\t\t\tif (typeof fields.phones.personalMobile === 'string' || typeof fields.phones.personalMobile === 'number')\n\t\t\t{\n\t\t\t\tresult.phones.personalMobile = fields.phones.personalMobile.toString();\n\t\t\t}\n\n\t\t\tif (typeof fields.phones.personal_phone !== \"undefined\")\n\t\t\t{\n\t\t\t\tfields.phones.personalPhone = fields.phones.personal_phone;\n\t\t\t}\n\t\t\tif (typeof fields.phones.personalPhone === 'string' || typeof fields.phones.personalPhone === 'number')\n\t\t\t{\n\t\t\t\tresult.phones.personalPhone = fields.phones.personalPhone.toString();\n\t\t\t}\n\n\t\t\tif (typeof fields.phones.inner_phone !== \"undefined\")\n\t\t\t{\n\t\t\t\tfields.phones.innerPhone = fields.phones.inner_phone;\n\t\t\t}\n\t\t\tif (typeof fields.phones.innerPhone === 'string' || typeof fields.phones.innerPhone === 'number')\n\t\t\t{\n\t\t\t\tresult.phones.innerPhone = fields.phones.innerPhone.toString();\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n\n\taddToOnlineList(state, id)\n\t{\n\t\tif (!state.onlineList.includes(id))\n\t\t{\n\t\t\tstate.onlineList.push(id);\n\t\t}\n\t}\n\n\taddToMobileOnlineList(state, id)\n\t{\n\t\tif (!state.mobileOnlineList.includes(id))\n\t\t{\n\t\t\tstate.mobileOnlineList.push(id);\n\t\t}\n\t}\n\n\taddToAbsentList(state, id)\n\t{\n\t\tif (!state.absentList.includes(id))\n\t\t{\n\t\t\tstate.absentList.push(id);\n\t\t}\n\t}\n\n\tgetTimeToNextMidnight()\n\t{\n\t\tlet nextMidnight = new Date(new Date().setHours(24,0,0)).getTime();\n\t\treturn nextMidnight - new Date();\n\t}\n\n\tstartAbsentCheckInterval(state)\n\t{\n\t\tfor (let userId of state.absentList)\n\t\t{\n\t\t\tlet user = state.collection[userId];\n\n\t\t\tif (!user)\n\t\t\t{\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tlet currentTime = new Date().getTime();\n\t\t\tlet absentEnd = new Date(state.collection[userId].absent).getTime();\n\n\t\t\tif (absentEnd <= currentTime)\n\t\t\t{\n\t\t\t\tstate.absentList = state.absentList.filter(element => {\n\t\t\t\t\treturn element !== userId;\n\t\t\t\t});\n\t\t\t\tuser.isAbsent = false;\n\t\t\t}\n\t\t}\n\t}\n\n\tstartOnlineCheckInterval()\n\t{\n\t\tconst intervalTime = 60000;\n\n\t\tsetInterval(() => {\n\t\t\tfor (let userId of this.store.state.users.onlineList)\n\t\t\t{\n\t\t\t\tlet user = this.store.state.users.collection[userId];\n\n\t\t\t\tif (!user)\n\t\t\t\t{\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tlet status = Utils.user.getOnlineStatus(user);\n\t\t\t\tif (status.isOnline)\n\t\t\t\t{\n\t\t\t\t\tuser.isOnline = true;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tuser.isOnline = false;\n\t\t\t\t\tthis.store.state.users.onlineList = this.store.state.users.onlineList.filter(element => {\n\t\t\t\t\t\treturn element !== userId\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (let userId of this.store.state.users.mobileOnlineList)\n\t\t\t{\n\t\t\t\tlet user = this.store.state.users.collection[userId];\n\n\t\t\t\tif (!user)\n\t\t\t\t{\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tlet mobileStatus = Utils.user.isMobileActive(user);\n\t\t\t\tif (mobileStatus)\n\t\t\t\t{\n\t\t\t\t\tuser.isMobileOnline = true;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tuser.isMobileOnline = false;\n\t\t\t\t\tthis.store.state.users.mobileOnlineList = this.store.state.users.mobileOnlineList.filter(element => {\n\t\t\t\t\t\treturn element !== userId\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}, intervalTime);\n\t}\n}","/**\n * Bitrix Messenger\n * Files model (Vuex Builder model)\n *\n * @package bitrix\n * @subpackage im\n * @copyright 2001-2020 Bitrix\n */\n\n\nimport {Vue} from 'ui.vue';\nimport {VuexBuilderModel} from 'ui.vue.vuex';\nimport {FileStatus, FileType, MutationType} from 'im.const';\nimport {Utils} from \"im.lib.utils\";\n\nexport class FilesModel extends VuexBuilderModel\n{\n\tstatic maxDiskFileSize = 5242880;\n\n\tgetName()\n\t{\n\t\treturn 'files';\n\t}\n\n\tgetState()\n\t{\n\t\treturn {\n\t\t\tcreated: 0,\n\t\t\thost: this.getVariable('host', location.protocol+'//'+location.host),\n\t\t\tcollection: {},\n\t\t\tindex: {},\n\t\t}\n\t}\n\n\tgetElementState(params = {})\n\t{\n\t\tlet {\n\t\t\tid = 0,\n\t\t\tchatId = 0,\n\t\t\tname = this.getVariable('default.name', ''),\n\t\t} = params;\n\n\t\treturn {\n\t\t\tid,\n\t\t\tchatId,\n\t\t\tname,\n\t\t\ttemplateId: id,\n\t\t\tdate: new Date(),\n\t\t\ttype: 'file',\n\t\t\textension: \"\",\n\t\t\ticon: \"empty\",\n\t\t\tsize: 0,\n\t\t\timage: false,\n\t\t\tstatus: FileStatus.done,\n\t\t\tprogress: 100,\n\t\t\tauthorId: 0,\n\t\t\tauthorName: \"\",\n\t\t\turlPreview: \"\",\n\t\t\turlShow: \"\",\n\t\t\turlDownload: \"\",\n\t\t\tinit: false,\n\t\t\tviewerAttrs: {}\n\t\t};\n\t}\n\n\tgetGetters()\n\t{\n\t\treturn {\n\t\t\tget: state => (chatId, fileId, getTemporary = false) =>\n\t\t\t{\n\t\t\t\tif (!chatId || !fileId)\n\t\t\t\t{\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\tif (!state.index[chatId] || !state.index[chatId][fileId])\n\t\t\t\t{\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\tif (!getTemporary && !state.index[chatId][fileId].init)\n\t\t\t\t{\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\treturn state.index[chatId][fileId];\n\t\t\t},\n\t\t\tgetList: state => chatId =>\n\t\t\t{\n\t\t\t\tif (!state.index[chatId])\n\t\t\t\t{\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\treturn state.index[chatId];\n\t\t\t},\n\t\t\tgetBlank: state => params =>\n\t\t\t{\n\t\t\t\treturn this.getElementState(params);\n\t\t\t}\n\t\t}\n\t}\n\n\tgetActions()\n\t{\n\t\treturn {\n\t\t\tadd: (store, payload) =>\n\t\t\t{\n\t\t\t\tlet result = this.validate(Object.assign({}, payload), {host: store.state.host});\n\t\t\t\tif (payload.id)\n\t\t\t\t{\n\t\t\t\t\tresult.id = payload.id;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tresult.id = 'temporary' + (new Date).getTime() + store.state.created;\n\t\t\t\t}\n\t\t\t\tresult.templateId = result.id;\n\t\t\t\tresult.init = true;\n\n\t\t\t\tstore.commit('add', Object.assign({}, this.getElementState(), result));\n\n\t\t\t\treturn result.id;\n\t\t\t},\n\t\t\tset: (store, payload) =>\n\t\t\t{\n\t\t\t\tif (payload instanceof Array)\n\t\t\t\t{\n\t\t\t\t\tpayload = payload.map(file => {\n\t\t\t\t\t\tlet result = this.validate(Object.assign({}, file), {host: store.state.host});\n\t\t\t\t\t\tresult.templateId = result.id;\n\t\t\t\t\t\treturn Object.assign({}, this.getElementState(), result, {init: true});\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tlet result = this.validate(Object.assign({}, payload), {host: store.state.host});\n\t\t\t\t\tresult.templateId = result.id;\n\t\t\t\t\tpayload = [];\n\t\t\t\t\tpayload.push(\n\t\t\t\t\t\tObject.assign({}, this.getElementState(), result, {init: true})\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tstore.commit('set', {\n\t\t\t\t\tinsertType : MutationType.setAfter,\n\t\t\t\t\tdata : payload\n\t\t\t\t});\n\t\t\t},\n\t\t\tsetBefore: (store, payload) =>\n\t\t\t{\n\t\t\t\tif (payload instanceof Array)\n\t\t\t\t{\n\t\t\t\t\tpayload = payload.map(file => {\n\t\t\t\t\t\tlet result = this.validate(Object.assign({}, file), {host: store.state.host});\n\t\t\t\t\t\tresult.templateId = result.id;\n\t\t\t\t\t\treturn Object.assign({}, this.getElementState(), result, {init: true});\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tlet result = this.validate(Object.assign({}, payload), {host: store.state.host});\n\t\t\t\t\tresult.templateId = result.id;\n\t\t\t\t\tpayload = [];\n\t\t\t\t\tpayload.push(\n\t\t\t\t\t\tObject.assign({}, this.getElementState(), result, {init: true})\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tstore.commit('set', {\n\t\t\t\t\tactionName: 'setBefore',\n\t\t\t\t\tinsertType : MutationType.setBefore,\n\t\t\t\t\tdata : payload\n\t\t\t\t});\n\t\t\t},\n\t\t\tupdate: (store, payload) =>\n\t\t\t{\n\t\t\t\tlet result = this.validate(Object.assign({}, payload.fields), {host: store.state.host});\n\n\t\t\t\tstore.commit('initCollection', {chatId: payload.chatId});\n\n\t\t\t\tlet index = store.state.collection[payload.chatId].findIndex(el => el.id === payload.id);\n\t\t\t\tif (index < 0)\n\t\t\t\t{\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tstore.commit('update', {\n\t\t\t\t\tid : payload.id,\n\t\t\t\t\tchatId : payload.chatId,\n\t\t\t\t\tindex : index,\n\t\t\t\t\tfields : result\n\t\t\t\t});\n\n\t\t\t\tif (payload.fields.blink)\n\t\t\t\t{\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tstore.commit('update', {\n\t\t\t\t\t\t\tid : payload.id ,\n\t\t\t\t\t\t\tchatId : payload.chatId,\n\t\t\t\t\t\t\tfields : {blink: false}\n\t\t\t\t\t\t});\n\t\t\t\t\t}, 1000);\n\t\t\t\t}\n\n\t\t\t\treturn true;\n\t\t\t},\n\t\t\tdelete: (store, payload) =>\n\t\t\t{\n\t\t\t\tstore.commit('delete', {\n\t\t\t\t\tid : payload.id,\n\t\t\t\t\tchatId : payload.chatId\n\t\t\t\t});\n\t\t\t\treturn true;\n\t\t\t},\n\t\t\tsaveState: (store, payload) =>\n\t\t\t{\n\t\t\t\tstore.commit('saveState', {});\n\t\t\t\treturn true;\n\t\t\t},\n\t\t}\n\t}\n\n\tgetMutations()\n\t{\n\t\treturn {\n\t\t\tinitCollection: (state, payload) =>\n\t\t\t{\n\t\t\t\tthis.initCollection(state, payload);\n\t\t\t},\n\t\t\tadd: (state, payload) =>\n\t\t\t{\n\t\t\t\tthis.initCollection(state, payload);\n\n\t\t\t\tstate.collection[payload.chatId].push(payload);\n\t\t\t\tstate.index[payload.chatId][payload.id] = payload;\n\n\t\t\t\tstate.created += 1;\n\n\t\t\t\tthis.saveState(state);\n\t\t\t},\n\t\t\tset: (state, payload) =>\n\t\t\t{\n\t\t\t\tfor (let element of payload.data)\n\t\t\t\t{\n\t\t\t\t\tthis.initCollection(state, {chatId: element.chatId});\n\n\t\t\t\t\tlet index = state.collection[element.chatId].findIndex(el => el.id === element.id);\n\t\t\t\t\tif (index > -1)\n\t\t\t\t\t{\n\t\t\t\t\t\tdelete element.templateId;\n\t\t\t\t\t\tstate.collection[element.chatId][index] = Object.assign(state.collection[element.chatId][index], element);\n\t\t\t\t\t}\n\t\t\t\t\telse if (payload.insertType === MutationType.setBefore)\n\t\t\t\t\t{\n\t\t\t\t\t\tstate.collection[element.chatId].unshift(element);\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tstate.collection[element.chatId].push(element);\n\t\t\t\t\t}\n\n\t\t\t\t\tstate.index[element.chatId][element.id] = element;\n\n\t\t\t\t\tthis.saveState(state);\n\t\t\t\t}\n\t\t\t},\n\t\t\tupdate: (state, payload) =>\n\t\t\t{\n\t\t\t\tthis.initCollection(state, payload);\n\n\t\t\t\tlet index = -1;\n\t\t\t\tif (typeof payload.index !== 'undefined' && state.collection[payload.chatId][payload.index])\n\t\t\t\t{\n\t\t\t\t\tindex = payload.index;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tindex = state.collection[payload.chatId].findIndex(el => el.id === payload.id);\n\t\t\t\t}\n\n\t\t\t\tif (index >= 0)\n\t\t\t\t{\n\t\t\t\t\tdelete payload.fields.templateId;\n\t\t\t\t\tlet element = Object.assign(\n\t\t\t\t\t\tstate.collection[payload.chatId][index],\n\t\t\t\t\t\tpayload.fields\n\t\t\t\t\t);\n\t\t\t\t\tstate.collection[payload.chatId][index] = element;\n\t\t\t\t\tstate.index[payload.chatId][element.id] = element;\n\n\t\t\t\t\tthis.saveState(state);\n\t\t\t\t}\n\t\t\t},\n\t\t\tdelete: (state, payload) =>\n\t\t\t{\n\t\t\t\tthis.initCollection(state, payload);\n\n\t\t\t\tstate.collection[payload.chatId] = state.collection[payload.chatId].filter(element => element.id !== payload.id);\n\t\t\t\tdelete state.index[payload.chatId][payload.id];\n\n\t\t\t\tthis.saveState(state);\n\t\t\t},\n\t\t\tsaveState: (state, payload) =>\n\t\t\t{\n\t\t\t\tthis.saveState(state);\n\t\t\t},\n\t\t}\n\t}\n\n\tinitCollection(state, payload)\n\t{\n\t\tif (typeof state.collection[payload.chatId] !== 'undefined')\n\t\t{\n\t\t\treturn true;\n\t\t}\n\n\t\tVue.set(state.collection, payload.chatId, []);\n\t\tVue.set(state.index, payload.chatId, {});\n\n\t\treturn true;\n\t}\n\n\tgetLoadedState(state)\n\t{\n\t\tif (!state || typeof state !== 'object')\n\t\t{\n\t\t\treturn state;\n\t\t}\n\n\t\tif (typeof state.collection !== 'object')\n\t\t{\n\t\t\treturn state;\n\t\t}\n\n\t\tstate.index = {};\n\n\t\tfor (let chatId in state.collection)\n\t\t{\n\t\t\tif (!state.collection.hasOwnProperty(chatId))\n\t\t\t{\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tstate.index[chatId] = {};\n\n\t\t\tstate.collection[chatId]\n\t\t\t\t.filter(file => file != null)\n\t\t\t\t.forEach(file => {\n\t\t\t\t\tstate.index[chatId][file.id] = file;\n\t\t\t});\n\t\t}\n\n\t\treturn state;\n\t}\n\n\tgetSaveFileList()\n\t{\n\t\tif (!this.db)\n\t\t{\n\t\t\treturn [];\n\t\t}\n\n\t\tif (!this.store.getters['messages/getSaveFileList'])\n\t\t{\n\t\t\treturn [];\n\t\t}\n\n\t\tlet list = this.store.getters['messages/getSaveFileList']();\n\t\tif (!list)\n\t\t{\n\t\t\treturn [];\n\t\t}\n\n\t\treturn list;\n\t}\n\n\tgetSaveTimeout()\n\t{\n\t\treturn 250;\n\t}\n\n\tsaveState(state)\n\t{\n\t\tif (!this.isSaveAvailable())\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\tsuper.saveState(() =>\n\t\t{\n\t\t\tlet list = this.getSaveFileList();\n\t\t\tif (!list)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tlet storedState = {\n\t\t\t\tcollection: {},\n\t\t\t};\n\n\t\t\tfor (let chatId in list)\n\t\t\t{\n\t\t\t\tif (!list.hasOwnProperty(chatId))\n\t\t\t\t{\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tlist[chatId].forEach(fileId =>\n\t\t\t\t{\n\t\t\t\t\tif (!state.index[chatId])\n\t\t\t\t\t{\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!state.index[chatId][fileId])\n\t\t\t\t\t{\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!storedState.collection[chatId])\n\t\t\t\t\t{\n\t\t\t\t\t\tstoredState.collection[chatId] = [];\n\t\t\t\t\t}\n\n\t\t\t\t\tstoredState.collection[chatId].push(\n\t\t\t\t\t\tstate.index[chatId][fileId]\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn storedState;\n\t\t});\n\t}\n\n\tvalidate(fields, options = {})\n\t{\n\t\tconst result = {};\n\n\t\toptions.host = options.host || this.getState().host;\n\n\t\tif (typeof fields.id === \"number\")\n\t\t{\n\t\t\tresult.id = fields.id;\n\t\t}\n\t\telse if (typeof fields.id === \"string\")\n\t\t{\n\t\t\tif (fields.id.startsWith('temporary'))\n\t\t\t{\n\t\t\t\tresult.id = fields.id;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tresult.id = parseInt(fields.id);\n\t\t\t}\n\t\t}\n\n\t\tif (typeof fields.templateId === \"number\")\n\t\t{\n\t\t\tresult.templateId = fields.templateId;\n\t\t}\n\t\telse if (typeof fields.templateId === \"string\")\n\t\t{\n\t\t\tif (fields.templateId.startsWith('temporary'))\n\t\t\t{\n\t\t\t\tresult.templateId = fields.templateId;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tresult.templateId = parseInt(fields.templateId);\n\t\t\t}\n\t\t}\n\n\t\tif (typeof fields.chatId === \"number\" || typeof fields.chatId === \"string\")\n\t\t{\n\t\t\tresult.chatId = parseInt(fields.chatId);\n\t\t}\n\n\t\tif (typeof fields.date !== \"undefined\")\n\t\t{\n\t\t\tresult.date = Utils.date.cast(fields.date);\n\t\t}\n\n\t\tif (typeof fields.type === \"string\")\n\t\t{\n\t\t\tresult.type = fields.type;\n\t\t}\n\n\t\tif (typeof fields.extension === \"string\")\n\t\t{\n\t\t\tresult.extension = fields.extension.toString();\n\n\t\t\tif (result.type === 'image')\n\t\t\t{\n\t\t\t\tresult.icon = 'img';\n\t\t\t}\n\t\t\telse if (result.type === 'video')\n\t\t\t{\n\t\t\t\tresult.icon = 'mov';\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tresult.icon = FilesModel.getIconType(result.extension);\n\t\t\t}\n\t\t}\n\n\t\tif (typeof fields.name === \"string\" || typeof fields.name === \"number\")\n\t\t{\n\t\t\tresult.name = fields.name.toString();\n\t\t}\n\n\n\t\tif (typeof fields.size === \"number\" || typeof fields.size === \"string\")\n\t\t{\n\t\t\tresult.size = parseInt(fields.size);\n\t\t}\n\n\t\tif (typeof fields.image === 'boolean')\n\t\t{\n\t\t\tresult.image = false;\n\t\t}\n\t\telse if (typeof fields.image === 'object' && fields.image)\n\t\t{\n\t\t\tresult.image = {\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0,\n\t\t\t};\n\n\t\t\tif (typeof fields.image.width === \"string\" || typeof fields.image.width === \"number\")\n\t\t\t{\n\t\t\t\tresult.image.width = parseInt(fields.image.width);\n\t\t\t}\n\t\t\tif (typeof fields.image.height === \"string\" || typeof fields.image.height === \"number\")\n\t\t\t{\n\t\t\t\tresult.image.height = parseInt(fields.image.height);\n\t\t\t}\n\n\t\t\tif (result.image.width <= 0 || result.image.height <= 0)\n\t\t\t{\n\t\t\t\tresult.image = false;\n\t\t\t}\n\t\t}\n\n\t\tif (typeof fields.status === \"string\" && typeof FileStatus[fields.status] !== 'undefined')\n\t\t{\n\t\t\tresult.status = fields.status;\n\t\t}\n\n\t\tif (typeof fields.progress === \"number\" || typeof fields.progress === \"string\")\n\t\t{\n\t\t\tresult.progress = parseInt(fields.progress);\n\t\t}\n\n\t\tif (typeof fields.authorId === \"number\" || typeof fields.authorId === \"string\")\n\t\t{\n\t\t\tresult.authorId = parseInt(fields.authorId);\n\t\t}\n\n\t\tif (typeof fields.authorName === \"string\" || typeof fields.authorName === \"number\")\n\t\t{\n\t\t\tresult.authorName = fields.authorName.toString();\n\t\t}\n\n\t\tif (typeof fields.urlPreview === 'string')\n\t\t{\n\t\t\tif (\n\t\t\t\t!fields.urlPreview\n\t\t\t\t|| fields.urlPreview.startsWith('http')\n\t\t\t\t|| fields.urlPreview.startsWith('bx')\n\t\t\t\t|| fields.urlPreview.startsWith('file')\n\t\t\t\t|| fields.urlPreview.startsWith('blob')\n\t\t\t)\n\t\t\t{\n\t\t\t\tresult.urlPreview = fields.urlPreview;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tresult.urlPreview = options.host+fields.urlPreview;\n\t\t\t}\n\t\t}\n\n\t\tif (typeof fields.urlDownload === 'string')\n\t\t{\n\t\t\tif (\n\t\t\t\t!fields.urlDownload\n\t\t\t\t|| fields.urlDownload.startsWith('http')\n\t\t\t\t|| fields.urlDownload.startsWith('bx')\n\t\t\t\t|| fields.urlPreview.startsWith('file')\n\t\t\t)\n\t\t\t{\n\t\t\t\tresult.urlDownload = fields.urlDownload;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tresult.urlDownload = options.host+fields.urlDownload;\n\t\t\t}\n\t\t}\n\n\t\tif (typeof fields.urlShow === 'string')\n\t\t{\n\t\t\tif (\n\t\t\t\t!fields.urlShow\n\t\t\t\t|| fields.urlShow.startsWith('http')\n\t\t\t\t|| fields.urlShow.startsWith('bx')\n\t\t\t\t|| fields.urlShow.startsWith('file')\n\t\t\t)\n\t\t\t{\n\t\t\t\tresult.urlShow = fields.urlShow;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tresult.urlShow = options.host+fields.urlShow;\n\t\t\t}\n\t\t}\n\n\t\tif (typeof fields.viewerAttrs === 'object')\n\t\t{\n\t\t\tif (result.type === 'image' && !Utils.platform.isBitrixMobile())\n\t\t\t{\n\t\t\t\tresult.viewerAttrs = fields.viewerAttrs;\n\t\t\t}\n\n\t\t\tif (result.type === 'video' && !Utils.platform.isBitrixMobile() && result.size > FilesModel.maxDiskFileSize)\n\t\t\t{\n\t\t\t\tresult.viewerAttrs = fields.viewerAttrs;\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tstatic getType(type)\n\t{\n\t\ttype = type.toString().toLowerCase().split('.').splice(-1)[0];\n\n\t\tswitch(type)\n\t\t{\n\t\t\tcase 'png':\n\t\t\tcase 'jpe':\n\t\t\tcase 'jpg':\n\t\t\tcase 'jpeg':\n\t\t\tcase 'gif':\n\t\t\tcase 'heic':\n\t\t\tcase 'bmp':\n\t\t\tcase 'webp':\n\t\t\t\treturn FileType.image;\n\n\t\t\tcase 'mp4':\n\t\t\tcase 'mkv':\n\t\t\tcase 'webm':\n\t\t\tcase 'mpeg':\n\t\t\tcase 'hevc':\n\t\t\tcase 'avi':\n\t\t\tcase '3gp':\n\t\t\tcase 'flv':\n\t\t\tcase 'm4v':\n\t\t\tcase 'ogg':\n\t\t\tcase 'wmv':\n\t\t\tcase 'mov':\n\t\t\t\treturn FileType.video;\n\n\t\t\tcase 'mp3':\n\t\t\t\treturn FileType.audio;\n\t\t}\n\n\t\treturn FileType.file\n\t}\n\n\tstatic getIconType(extension)\n\t{\n\t\tlet icon = 'empty';\n\n\t\tswitch(extension.toString())\n\t\t{\n\t\t\tcase 'png':\n\t\t\tcase 'jpe':\n\t\t\tcase 'jpg':\n\t\t\tcase 'jpeg':\n\t\t\tcase 'gif':\n\t\t\tcase 'heic':\n\t\t\tcase 'bmp':\n\t\t\tcase 'webp':\n\t\t\t\ticon = 'img';\n\t\t\t\tbreak;\n\n\t\t\tcase 'mp4':\n\t\t\tcase 'mkv':\n\t\t\tcase 'webm':\n\t\t\tcase 'mpeg':\n\t\t\tcase 'hevc':\n\t\t\tcase 'avi':\n\t\t\tcase '3gp':\n\t\t\tcase 'flv':\n\t\t\tcase 'm4v':\n\t\t\tcase 'ogg':\n\t\t\tcase 'wmv':\n\t\t\tcase 'mov':\n\t\t\t\ticon = 'mov';\n\t\t\t\tbreak;\n\n\t\t\tcase 'txt':\n\t\t\t\ticon = 'txt';\n\t\t\t\tbreak;\n\n\t\t\tcase 'doc':\n\t\t\tcase 'docx':\n\t\t\t\ticon = 'doc';\n\t\t\t\tbreak;\n\n\t\t\tcase 'xls':\n\t\t\tcase 'xlsx':\n\t\t\t\ticon = 'xls';\n\t\t\t\tbreak;\n\n\t\t\tcase 'php':\n\t\t\t\ticon = 'php';\n\t\t\t\tbreak;\n\n\t\t\tcase 'pdf':\n\t\t\t\ticon = 'pdf';\n\t\t\t\tbreak;\n\n\t\t\tcase 'ppt':\n\t\t\tcase 'pptx':\n\t\t\t\ticon = 'ppt';\n\t\t\t\tbreak;\n\n\t\t\tcase 'rar':\n\t\t\t\ticon = 'rar';\n\t\t\t\tbreak;\n\n\t\t\tcase 'zip':\n\t\t\tcase '7z':\n\t\t\tcase 'tar':\n\t\t\tcase 'gz':\n\t\t\tcase 'gzip':\n\t\t\t\ticon = 'zip';\n\t\t\t\tbreak;\n\n\t\t\tcase 'set':\n\t\t\t\ticon = 'set';\n\t\t\t\tbreak;\n\n\t\t\tcase 'conf':\n\t\t\tcase 'ini':\n\t\t\tcase 'plist':\n\t\t\t\ticon = 'set';\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn icon;\n\t}\n}","/**\n * Bitrix Messenger\n * Recent model (Vuex Builder model)\n *\n * @package bitrix\n * @subpackage im\n * @copyright 2001-2020 Bitrix\n */\n\nimport {VuexBuilderModel} from 'ui.vue.vuex';\nimport {Type} from 'main.core';\nimport {ChatTypes, MessageStatus, RecentSection as Section, TemplateTypes} from \"im.const\";\nimport {Utils} from \"im.lib.utils\";\n\nexport class RecentModel extends VuexBuilderModel\n{\n\tgetName()\n\t{\n\t\treturn 'recent';\n\t}\n\n\tgetState()\n\t{\n\t\treturn {\n\t\t\thost: this.getVariable('host', location.protocol+'//'+location.host),\n\t\t\tcollection: []\n\t\t}\n\t}\n\n\tgetElementState(): RecentItem\n\t{\n\t\treturn {\n\t\t\tid: 0,\n\t\t\ttemplateId: '',\n\t\t\ttemplate: TemplateTypes.item,\n\t\t\tchatType: ChatTypes.chat,\n\t\t\tsectionCode: Section.general,\n\t\t\tavatar: '',\n\t\t\tcolor: '#048bd0',\n\t\t\ttitle: '',\n\t\t\tlines: {id: 0, status: 0},\n\t\t\tmessage: {\n\t\t\t\tid: 0,\n\t\t\t\ttext: '',\n\t\t\t\tdate: new Date(),\n\t\t\t\tsenderId: 0,\n\t\t\t\tstatus: MessageStatus.received\n\t\t\t},\n\t\t\tcounter: 0,\n\t\t\tpinned: false,\n\t\t\tchatId: 0,\n\t\t\tuserId: 0\n\t\t};\n\t}\n\n\tgetGetters()\n\t{\n\t\treturn {\n\t\t\tget: state => (dialogId: string): {index: number, element: RecentItem} | boolean =>\n\t\t\t{\n\t\t\t\tif (Type.isNumber(dialogId))\n\t\t\t\t{\n\t\t\t\t\tdialogId = dialogId.toString();\n\t\t\t\t}\n\n\t\t\t\tlet currentItem = this.findItem(dialogId);\n\t\t\t\tif (currentItem)\n\t\t\t\t{\n\t\t\t\t\treturn currentItem;\n\t\t\t\t}\n\n\t\t\t\treturn false;\n\t\t\t}\n\t\t};\n\t}\n\n\tgetActions()\n\t{\n\t\treturn {\n\t\t\tset: (store, payload) =>\n\t\t\t{\n\t\t\t\tlet result = [];\n\n\t\t\t\tif (payload instanceof Array)\n\t\t\t\t{\n\t\t\t\t\tresult = payload.map(\n\t\t\t\t\t\trecentItem => this.prepareItem(recentItem, { host: store.state.host })\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif (result.length === 0)\n\t\t\t\t{\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tresult.forEach(element => {\n\t\t\t\t\tconst existingItem = this.findItem(element.id);\n\t\t\t\t\tif (existingItem)\n\t\t\t\t\t{\n\t\t\t\t\t\tstore.commit('update', {\n\t\t\t\t\t\t\tindex: existingItem.index,\n\t\t\t\t\t\t\tfields: element\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tstore.commit('add', {\n\t\t\t\t\t\t\tfields: element\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tstore.state.collection.sort(this.sortListByMessageDate);\n\t\t\t},\n\n\t\t\taddPlaceholders: (store, payload: []) =>\n\t\t\t{\n\t\t\t\tpayload.forEach(element => {\n\t\t\t\t\tstore.commit('addPlaceholder', {\n\t\t\t\t\t\tfields: element\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tupdatePlaceholders: (store, payload: {items: [], firstMessage: number}) =>\n\t\t\t{\n\t\t\t\tpayload.items = payload.items.map(element => this.prepareItem(element));\n\n\t\t\t\tpayload.items.forEach((element, index) => {\n\t\t\t\t\tconst placeholderId = 'placeholder' + (payload.firstMessage + index);\n\t\t\t\t\tconst existingPlaceholder = this.findItem(placeholderId, 'templateId');\n\n\t\t\t\t\tconst existingItem = this.findItem(element.id);\n\t\t\t\t\tif (existingItem)\n\t\t\t\t\t{\n\t\t\t\t\t\tstore.commit('update', {\n\t\t\t\t\t\t\tindex: existingItem.index,\n\t\t\t\t\t\t\tfields: element\n\t\t\t\t\t\t});\n\t\t\t\t\t\tstore.commit('delete', {\n\t\t\t\t\t\t\tindex: existingPlaceholder.index,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tstore.commit('update', {\n\t\t\t\t\t\t\tindex: existingPlaceholder.index,\n\t\t\t\t\t\t\tfields: element\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tupdate: (store, payload: {id: string | number, fields: Object}) =>\n\t\t\t{\n\t\t\t\tif (typeof payload.id === 'string' && !payload.id.startsWith('chat') && payload.id !== 'notify')\n\t\t\t\t{\n\t\t\t\t\tpayload.id = parseInt(payload.id);\n\t\t\t\t}\n\n\t\t\t\tconst existingItem = this.findItem(payload.id);\n\t\t\t\tif (!existingItem)\n\t\t\t\t{\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tpayload.fields = this.validate(Object.assign({}, payload.fields));\n\n\t\t\t\tstore.commit('update', {\n\t\t\t\t\tindex: existingItem.index,\n\t\t\t\t\tfields: payload.fields\n\t\t\t\t});\n\t\t\t\tstore.state.collection.sort(this.sortListByMessageDate);\n\t\t\t},\n\n\t\t\tpin: (store, payload: {id: string | number, action: boolean}) =>\n\t\t\t{\n\t\t\t\tif (typeof payload.id === 'string' && !payload.id.startsWith('chat') && payload.id !== 'notify')\n\t\t\t\t{\n\t\t\t\t\tpayload.id = parseInt(payload.id);\n\t\t\t\t}\n\n\n\t\t\t\tlet existingItem = this.findItem(payload.id);\n\n\t\t\t\tif (!existingItem)\n\t\t\t\t{\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tstore.commit('update', {\n\t\t\t\t\tindex: existingItem.index,\n\t\t\t\t\tfields: Object.assign({}, existingItem.element, {\n\t\t\t\t\t\tpinned: payload.action\n\t\t\t\t\t})\n\t\t\t\t});\n\n\t\t\t\tstore.state.collection.sort(this.sortListByMessageDate);\n\t\t\t},\n\n\t\t\tclearPlaceholders: (store) =>\n\t\t\t{\n\t\t\t\tstore.commit('clearPlaceholders');\n\t\t\t},\n\n\t\t\tdelete: (store, payload: {id: string | number}) =>\n\t\t\t{\n\t\t\t\tif (typeof payload.id === 'string' && !payload.id.startsWith('chat') && payload.id !== 'notify')\n\t\t\t\t{\n\t\t\t\t\tpayload.id = parseInt(payload.id);\n\t\t\t\t}\n\n\t\t\t\tconst existingItem = this.findItem(payload.id);\n\t\t\t\tif (!existingItem)\n\t\t\t\t{\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tstore.commit('delete', {\n\t\t\t\t\tindex: existingItem.index\n\t\t\t\t});\n\t\t\t\tstore.state.collection.sort(this.sortListByMessageDate);\n\t\t\t}\n\t\t}\n\t}\n\n\tgetMutations()\n\t{\n\t\treturn {\n\t\t\tadd: (state, payload: {fields: Object}) => {\n\t\t\t\tstate.collection.push(Object.assign(\n\t\t\t\t\t{},\n\t\t\t\t\tthis.getElementState(),\n\t\t\t\t\tpayload.fields\n\t\t\t\t));\n\t\t\t},\n\n\t\t\tupdate: (state, payload: {index: number, fields: Object}) => {\n\t\t\t\tstate.collection.splice(payload.index, 1, Object.assign(\n\t\t\t\t\t{},\n\t\t\t\t\tstate.collection[payload.index],\n\t\t\t\t\tpayload.fields\n\t\t\t\t));\n\t\t\t},\n\n\t\t\tdelete: (state, payload: {index: number}) => {\n\t\t\t\tstate.collection.splice(payload.index, 1);\n\t\t\t},\n\n\t\t\taddPlaceholder: (state, payload: {fields: Object}) => {\n\t\t\t\tstate.collection.push(Object.assign(\n\t\t\t\t\t{},\n\t\t\t\t\tthis.getElementState(),\n\t\t\t\t\tpayload.fields\n\t\t\t\t));\n\t\t\t},\n\n\t\t\tclearPlaceholders: (state) => {\n\t\t\t\tstate.collection = state.collection.filter(element => {\n\t\t\t\t\treturn !element.id.toString().startsWith('placeholder');\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\tvalidate(fields: rawRecentItem, options = {}): RecentItem\n\t{\n\t\tconst result = {};\n\n\t\tif (Type.isNumber(fields.id))\n\t\t{\n\t\t\tresult.id = fields.id.toString();\n\t\t}\n\t\tif (Type.isStringFilled(fields.id))\n\t\t{\n\t\t\tresult.id = fields.id;\n\t\t}\n\n\t\tif (Type.isString(fields.templateId))\n\t\t{\n\t\t\tresult.templateId = fields.templateId;\n\t\t}\n\n\t\tif (Type.isString(fields.template))\n\t\t{\n\t\t\tresult.template = fields.template;\n\t\t}\n\n\t\tif (Type.isString(fields.type))\n\t\t{\n\t\t\tif (fields.type === ChatTypes.chat)\n\t\t\t{\n\t\t\t\tif (fields.chat.type === ChatTypes.open)\n\t\t\t\t{\n\t\t\t\t\tresult.chatType = ChatTypes.open;\n\t\t\t\t}\n\t\t\t\telse if (fields.chat.type === ChatTypes.chat)\n\t\t\t\t{\n\t\t\t\t\tresult.chatType = ChatTypes.chat;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (fields.type === ChatTypes.user)\n\t\t\t{\n\t\t\t\tresult.chatType = ChatTypes.user;\n\t\t\t}\n\t\t\telse if (fields.type === ChatTypes.notification)\n\t\t\t{\n\t\t\t\tresult.chatType = ChatTypes.notification;\n\t\t\t\tfields.title = 'Notifications';\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tresult.chatType = ChatTypes.chat;\n\t\t\t}\n\t\t}\n\n\t\tif (Type.isString(fields.avatar))\n\t\t{\n\t\t\tlet avatar;\n\n\t\t\tif (!fields.avatar || fields.avatar.endsWith('/js/im/images/blank.gif'))\n\t\t\t{\n\t\t\t\tavatar = '';\n\t\t\t}\n\t\t\telse if (fields.avatar.startsWith('http'))\n\t\t\t{\n\t\t\t\tavatar = fields.avatar;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tavatar = options.host + fields.avatar;\n\t\t\t}\n\n\t\t\tif (avatar)\n\t\t\t{\n\t\t\t\tresult.avatar = encodeURI(avatar);\n\t\t\t}\n\t\t}\n\n\t\tif (Type.isString(fields.color))\n\t\t{\n\t\t\tresult.color = fields.color;\n\t\t}\n\n\t\tif (Type.isString(fields.title))\n\t\t{\n\t\t\tresult.title = fields.title;\n\t\t}\n\n\t\tif (Type.isPlainObject(fields.message))\n\t\t{\n\t\t\tconst message = {};\n\t\t\tif (Type.isNumber(fields.message.id))\n\t\t\t{\n\t\t\t\tmessage.id = fields.message.id;\n\t\t\t}\n\t\t\tif (Type.isString(fields.message.text))\n\t\t\t{\n\t\t\t\tconst options = {}\n\t\t\t\tif (fields.message.withAttach)\n\t\t\t\t{\n\t\t\t\t\toptions.WITH_ATTACH = true;\n\t\t\t\t}\n\t\t\t\telse if (fields.message.withFile)\n\t\t\t\t{\n\t\t\t\t\toptions.WITH_FILE = true;\n\t\t\t\t}\n\n\t\t\t\tmessage.text = Utils.text.purify(fields.message.text, options);\n\t\t\t}\n\t\t\tif (Type.isDate(fields.message.date) || Type.isString(fields.message.date))\n\t\t\t{\n\t\t\t\tmessage.date = fields.message.date;\n\t\t\t}\n\t\t\tif (Type.isNumber(fields.message.author_id))\n\t\t\t{\n\t\t\t\tmessage.senderId = fields.message.author_id;\n\t\t\t}\n\t\t\tif (Type.isNumber(fields.message.senderId))\n\t\t\t{\n\t\t\t\tmessage.senderId = fields.message.senderId;\n\t\t\t}\n\t\t\tif (Type.isStringFilled(fields.message.status))\n\t\t\t{\n\t\t\t\tmessage.status = fields.message.status;\n\t\t\t}\n\n\t\t\tresult.message = message;\n\t\t}\n\n\t\tif (Type.isNumber(fields.counter))\n\t\t{\n\t\t\tresult.counter = fields.counter;\n\t\t}\n\n\t\tif (Type.isBoolean(fields.pinned))\n\t\t{\n\t\t\tresult.pinned = fields.pinned;\n\t\t}\n\n\t\tif (Type.isNumber(fields.chatId))\n\t\t{\n\t\t\tresult.chatId = fields.chatId;\n\t\t}\n\n\t\tif (Type.isNumber(fields.userId))\n\t\t{\n\t\t\tresult.userId = fields.userId;\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tsortListByMessageDate(a: RecentItem, b: RecentItem)\n\t{\n\t\tif (a.message && b.message)\n\t\t{\n\t\t\tlet timestampA = new Date(a.message.date).getTime();\n\t\t\tlet timestampB = new Date(b.message.date).getTime();\n\n\t\t\treturn timestampB - timestampA;\n\t\t}\n\t}\n\n\tprepareItem(item, options = {})\n\t{\n\t\tlet result = this.validate(Object.assign({}, item));\n\n\t\treturn Object.assign({}, this.getElementState(), result, options);\n\t}\n\n\tfindItem(value, key = 'id'): {index: number, element: RecentItem} | boolean\n\t{\n\t\tlet result = {};\n\n\t\tif (key === 'id' && Type.isNumber(value))\n\t\t{\n\t\t\tvalue = value.toString();\n\t\t}\n\n\t\tlet elementIndex = this.store.state.recent.collection.findIndex((element, index) => {\n\t\t\treturn element[key] === value;\n\t\t});\n\n\t\tif (elementIndex !== -1)\n\t\t{\n\t\t\tresult.index = elementIndex;\n\t\t\tresult.element = this.store.state.recent.collection[elementIndex];\n\n\t\t\treturn result;\n\t\t}\n\n\t\treturn false;\n\t}\n}\n\n//raw input object for validation\ntype rawRecentItem = {\n\tid?: number | string,\n\ttemplateId?: string,\n\ttemplate?: TemplateTypes.item | TemplateTypes.placeholder,\n\ttype?: ChatTypes.chat | ChatTypes.user | ChatTypes.notification,\n\tchat?: {\n\t\ttype?: string\n\t},\n\tavatar?: string,\n\tcolor?: string,\n\ttitle?: string,\n\tmessage?: RawRecentItemMessage,\n\tcounter?: number,\n\tpinned?: boolean,\n\tchatId?: number,\n\tuserId?: number\n}\n\ntype RawRecentItemMessage = {\n\tid?: number,\n\ttext?: string,\n\tdate?: Date,\n\tsenderId?: number,\n\tauthor_id?: number, //senderId alias\n\tstatus?: MessageStatus.received | MessageStatus.delivered\n}\n\n//item in collection\ntype RecentItem = {\n\tid?: number,\n\ttemplateId?: string,\n\ttemplate?: TemplateTypes.item | TemplateTypes.placeholder,\n\tchatType?: ChatTypes.chat | ChatTypes.open | ChatTypes.user | ChatTypes.notification,\n\tsectionCode?: Section.general | Section.pinned,\n\tavatar?: string,\n\tcolor?: string,\n\ttitle?: string,\n\tmessage?: RecentItemMessage,\n\tcounter?: number,\n\tpinned?: boolean,\n\tchatId?: number,\n\tuserId?: number\n}\n\ntype RecentItemMessage = {\n\tid?: number,\n\ttext?: string,\n\tdate?: Date | string,\n\tsenderId?: number,\n\tstatus?: MessageStatus.received | MessageStatus.delivered\n}","/**\n * Bitrix Messenger\n * Notifications model (Vuex Builder model)\n *\n * @package bitrix\n * @subpackage im\n * @copyright 2001-2021 Bitrix\n */\n\nimport { Vue } from 'ui.vue';\nimport { VuexBuilderModel } from 'ui.vue.vuex';\nimport { Utils } from 'im.lib.utils';\nimport { Type } from 'main.core';\nimport { NotificationTypesCodes } from 'im.const';\n\nclass NotificationsModel extends VuexBuilderModel\n{\n\tgetName()\n\t{\n\t\treturn 'notifications';\n\t}\n\n\tgetState()\n\t{\n\t\treturn {\n\t\t\tcollection: [],\n\t\t\tsearchCollection: [],\n\t\t\tchat_id: 0,\n\t\t\ttotal: 0,\n\t\t\thost: this.getVariable('host', location.protocol+'//'+location.host),\n\t\t\tunreadCounter: 0,\n\t\t\tschema: {}\n\t\t}\n\t}\n\n\tgetElementState()\n\t{\n\t\treturn {\n\t\t\tid: 0,\n\t\t\tauthorId: 0,\n\t\t\tdate: new Date(),\n\t\t\ttext: '',\n\t\t\tsectionCode: NotificationTypesCodes.simple,\n\t\t\ttextConverted: '',\n\t\t\tunread: false,\n\t\t\tdisplay: true,\n\t\t\tsettingName: 'im|default',\n\t\t};\n\t}\n\n\tgetGetters()\n\t{\n\t\treturn {\n\t\t\tget: state => () =>\n\t\t\t{\n\t\t\t\treturn state.collection;\n\t\t\t},\n\t\t\tgetById: state => (notificationId) =>\n\t\t\t{\n\t\t\t\tif (Type.isString(notificationId))\n\t\t\t\t{\n\t\t\t\t\tnotificationId = parseInt(notificationId);\n\t\t\t\t}\n\n\t\t\t\tconst existingItem = this.findItemInArr(state.collection, notificationId);\n\t\t\t\tif (!existingItem.element)\n\t\t\t\t{\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\treturn existingItem.element;\n\t\t\t},\n\t\t\tgetSearchItemById: state => (notificationId) =>\n\t\t\t{\n\t\t\t\tif (Type.isString(notificationId))\n\t\t\t\t{\n\t\t\t\t\tnotificationId = parseInt(notificationId);\n\t\t\t\t}\n\n\t\t\t\tconst existingItem = this.findItemInArr(state.searchCollection, notificationId);\n\t\t\t\tif (!existingItem.element)\n\t\t\t\t{\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\treturn existingItem.element;\n\t\t\t},\n\t\t\tgetBlank: state => params =>\n\t\t\t{\n\t\t\t\treturn this.getElementState();\n\t\t\t},\n\t\t}\n\t}\n\n\tgetActions()\n\t{\n\t\treturn {\n\t\t\tset: (store, payload) =>\n\t\t\t{\n\t\t\t\tconst result = {\n\t\t\t\t\tnotification: [],\n\t\t\t\t};\n\n\t\t\t\tif (payload.notification instanceof Array)\n\t\t\t\t{\n\t\t\t\t\tresult.notification = payload.notification.map(notification => this.prepareNotification(notification, { host: store.state.host }));\n\t\t\t\t}\n\n\t\t\t\tif (Type.isNumber(payload.total) || Type.isString(payload.total))\n\t\t\t\t{\n\t\t\t\t\tresult.total = parseInt(payload.total);\n\t\t\t\t}\n\n\t\t\t\tstore.commit('set', result);\n\t\t\t},\n\t\t\tsetSearchResults: (store, payload) =>\n\t\t\t{\n\t\t\t\tconst result = {\n\t\t\t\t\tnotification: [],\n\t\t\t\t};\n\n\t\t\t\tif (!(payload.notification instanceof Array))\n\t\t\t\t{\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\t// we don't need validation for the local results\n\t\t\t\tif (payload.type === 'local')\n\t\t\t\t{\n\t\t\t\t\tresult.notification = payload.notification;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tresult.notification = payload.notification.map(notification => this.prepareNotification(notification, { host: store.state.host }));\n\t\t\t\t}\n\n\t\t\t\tstore.commit('setSearchResults', {\n\t\t\t\t\tdata: result\n\t\t\t\t});\n\t\t\t},\n\t\t\tdeleteSearchResults: (store, payload) =>\n\t\t\t{\n\t\t\t\tstore.commit('deleteSearchResults');\n\t\t\t},\n\t\t\tsetCounter: (store, payload) =>\n\t\t\t{\n\t\t\t\tif (Type.isNumber(payload.unreadTotal) || Type.isString(payload.unreadTotal))\n\t\t\t\t{\n\t\t\t\t\tconst unreadCounter = parseInt(payload.unreadTotal);\n\t\t\t\t\tstore.commit('setCounter', unreadCounter);\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetTotal: (store, payload) =>\n\t\t\t{\n\t\t\t\tif (Type.isNumber(payload.total) || Type.isString(payload.total))\n\t\t\t\t{\n\t\t\t\t\tstore.commit('setTotal', payload.total);\n\t\t\t\t}\n\t\t\t},\n\t\t\tadd: (store, payload) =>\n\t\t\t{\n\t\t\t\tconst addItem = this.prepareNotification(payload.data, { host: store.state.host });\n\t\t\t\taddItem.unread = true;\n\n\t\t\t\tconst existingItem = this.findItemInArr(store.state.collection, addItem.id);\n\t\t\t\tif (!existingItem.element)\n\t\t\t\t{\n\t\t\t\t\tstore.commit('add', {\n\t\t\t\t\t\tdata: addItem,\n\t\t\t\t\t});\n\n\t\t\t\t\tstore.commit('setTotal', store.state.total + 1);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tstore.commit('update', {\n\t\t\t\t\t\tindex: existingItem.index,\n\t\t\t\t\t\tfields: Object.assign({}, payload.fields),\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tupdatePlaceholders: (store, payload) =>\n\t\t\t{\n\t\t\t\tif (payload.items instanceof Array)\n\t\t\t\t{\n\t\t\t\t\tpayload.items = payload.items.map(notification => this.prepareNotification(notification));\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tstore.commit('updatePlaceholders', payload);\n\n\t\t\t\treturn true;\n\t\t\t},\n\t\t\tclearPlaceholders: (store, payload) =>\n\t\t\t{\n\t\t\t\tstore.commit('clearPlaceholders', payload);\n\t\t\t},\n\t\t\tupdate: (store, payload) =>\n\t\t\t{\n\t\t\t\tconst existingItem = this.findItemInArr(store.state.collection, payload.id);\n\t\t\t\tif (existingItem.element)\n\t\t\t\t{\n\t\t\t\t\tstore.commit('update', {\n\t\t\t\t\t\tindex: existingItem.index,\n\t\t\t\t\t\tfields: Object.assign({}, payload.fields),\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif (payload.searchMode)\n\t\t\t\t{\n\t\t\t\t\tconst existingItemInSearchCollection = this.findItemInArr(store.state.searchCollection, payload.id);\n\t\t\t\t\tif (existingItemInSearchCollection.element)\n\t\t\t\t\t{\n\t\t\t\t\t\tstore.commit('update', {\n\t\t\t\t\t\t\tsearchCollection: true,\n\t\t\t\t\t\t\tindex: existingItemInSearchCollection.index,\n\t\t\t\t\t\t\tfields: Object.assign({}, payload.fields),\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tread: (store, payload) =>\n\t\t\t{\n\t\t\t\tfor (const notificationId of payload.ids)\n\t\t\t\t{\n\t\t\t\t\tconst existingItem = this.findItemInArr(store.state.collection, notificationId);\n\t\t\t\t\tif (!existingItem.element)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tstore.commit('read', {\n\t\t\t\t\t\tindex: existingItem.index,\n\t\t\t\t\t\taction: !payload.action,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\treadAll: (store, payload) =>\n\t\t\t{\n\t\t\t\tstore.commit('readAll');\n\t\t\t},\n\t\t\tdelete: (store, payload) =>\n\t\t\t{\n\t\t\t\tconst existingItem = this.findItemInArr(store.state.collection, payload.id);\n\t\t\t\tif (existingItem.element)\n\t\t\t\t{\n\t\t\t\t\tstore.commit('delete', {\n\t\t\t\t\t\tsearchCollection: false,\n\t\t\t\t\t\tindex: existingItem.index,\n\t\t\t\t\t});\n\n\t\t\t\t\tstore.commit('setTotal', store.state.total - 1);\n\t\t\t\t}\n\n\t\t\t\tif (payload.searchMode)\n\t\t\t\t{\n\t\t\t\t\tconst existingItemInSearchCollection = this.findItemInArr(store.state.searchCollection, payload.id);\n\t\t\t\t\tif (existingItemInSearchCollection.element)\n\t\t\t\t\t{\n\t\t\t\t\t\tstore.commit('delete', {\n\t\t\t\t\t\t\tsearchCollection: true,\n\t\t\t\t\t\t\tindex: existingItemInSearchCollection.index,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tdeleteAll: (store, payload) =>\n\t\t\t{\n\t\t\t\tstore.commit('deleteAll');\n\t\t\t},\n\t\t\tsetSchema: (store, payload) =>\n\t\t\t{\n\t\t\t\tstore.commit('setSchema', {\n\t\t\t\t\tdata: payload.data,\n\t\t\t\t});\n\t\t\t},\n\t\t}\n\t}\n\n\tgetMutations()\n\t{\n\t\treturn {\n\t\t\tset: (state, payload) =>\n\t\t\t{\n\t\t\t\tstate.total = payload.hasOwnProperty('total') ? payload.total : state.total;\n\n\t\t\t\tif (!payload.hasOwnProperty('notification') || !Type.isArray(payload.notification))\n\t\t\t\t{\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tfor (const element of payload.notification)\n\t\t\t\t{\n\t\t\t\t\tconst existingItem = this.findItemInArr(state.collection, element.id);\n\n\t\t\t\t\tif (!existingItem.element)\n\t\t\t\t\t{\n\t\t\t\t\t\tstate.collection.push(element);\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\t// we trust unread status of existing item to prevent notifications blinking while init loading.\n\t\t\t\t\t\tif (element.unread !== state.collection[existingItem.index].unread)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\telement.unread = state.collection[existingItem.index].unread;\n\t\t\t\t\t\t\tstate.unreadCounter = (element.unread === true ? state.unreadCounter + 1 : state.unreadCounter - 1);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tstate.collection[existingItem.index] = Object.assign(\n\t\t\t\t\t\t\tstate.collection[existingItem.index],\n\t\t\t\t\t\t\telement\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tstate.collection.sort(this.sortByType);\n\t\t\t},\n\t\t\tsetSearchResults: (state, payload) =>\n\t\t\t{\n\t\t\t\tfor (const element of payload.data.notification)\n\t\t\t\t{\n\t\t\t\t\tconst existingItem = this.findItemInArr(state.searchCollection, element.id);\n\n\t\t\t\t\tif (!existingItem.element)\n\t\t\t\t\t{\n\t\t\t\t\t\tstate.searchCollection.push(element);\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tstate.searchCollection[existingItem.index] = Object.assign(\n\t\t\t\t\t\t\tstate.searchCollection[existingItem.index],\n\t\t\t\t\t\t\telement\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tdeleteAll: (state, payload) =>\n\t\t\t{\n\t\t\t\tstate.collection = [];\n\t\t\t},\n\t\t\tdeleteSearchResults: (state, payload) =>\n\t\t\t{\n\t\t\t\tstate.searchCollection = [];\n\t\t\t},\n\t\t\tadd: (state, payload) =>\n\t\t\t{\n\t\t\t\tlet firstNotificationIndex = null;\n\t\t\t\tif (payload.data.sectionCode === NotificationTypesCodes.confirm)\n\t\t\t\t{\n\t\t\t\t\t//new confirms should always add to the beginning of the collection\n\t\t\t\t\tstate.collection.unshift(payload.data);\n\t\t\t\t}\n\t\t\t\telse //if (payload.data.sectionCode === NotificationTypesCodes.simple)\n\t\t\t\t{\n\t\t\t\t\tfor (let index = 0; state.collection.length > index; index++)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (state.collection[index].sectionCode === NotificationTypesCodes.simple)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfirstNotificationIndex = index;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t//if we didn't find any simple notification and its index, then add new one to the end.\n\t\t\t\t\tif (firstNotificationIndex === null)\n\t\t\t\t\t{\n\t\t\t\t\t\tstate.collection.push(payload.data);\n\t\t\t\t\t}\n\t\t\t\t\telse //otherwise, put it right before first simple notification.\n\t\t\t\t\t{\n\t\t\t\t\t\tstate.collection.splice(firstNotificationIndex, 0, payload.data);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tstate.collection.sort(this.sortByType);\n\t\t\t},\n\t\t\tupdate: (state, payload) =>\n\t\t\t{\n\t\t\t\tconst collectionName = payload.searchCollection ? 'searchCollection' : 'collection';\n\n\t\t\t\tVue.set(state[collectionName], payload.index, Object.assign(\n\t\t\t\t\t{},\n\t\t\t\t\tstate[collectionName][payload.index],\n\t\t\t\t\tpayload.fields\n\t\t\t\t));\n\n\t\t\t},\n\t\t\tdelete: (state, payload) =>\n\t\t\t{\n\t\t\t\tconst collectionName = payload.searchCollection ? 'searchCollection' : 'collection';\n\t\t\t\tstate[collectionName].splice(payload.index, 1);\n\t\t\t},\n\t\t\tread: (state, payload) =>\n\t\t\t{\n\t\t\t\tstate.collection[payload.index].unread = payload.action;\n\t\t\t},\n\t\t\treadAll: (state, payload) =>\n\t\t\t{\n\t\t\t\tfor (let index = 0; state.collection.length > index; index++)\n\t\t\t\t{\n\t\t\t\t\tif (state.collection[index].sectionCode === NotificationTypesCodes.simple)\n\t\t\t\t\t{\n\t\t\t\t\t\tstate.collection[index].unread = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tupdatePlaceholders: (state, payload) =>\n\t\t\t{\n\t\t\t\tconst collectionName = payload.searchCollection ? 'searchCollection' : 'collection';\n\n\t\t\t\tpayload.items.forEach((element, index) => {\n\t\t\t\t\tconst placeholderId = `placeholder${payload.firstItem + index}`;\n\t\t\t\t\tconst existingPlaceholderIndex = state[collectionName].findIndex(notification => {\n\t\t\t\t\t\treturn notification.id === placeholderId;\n\t\t\t\t\t});\n\n\t\t\t\t\tconst existingMessageIndex = state[collectionName].findIndex(notification => {\n\t\t\t\t\t\treturn notification.id === element.id;\n\t\t\t\t\t});\n\n\t\t\t\t\tif (existingMessageIndex >= 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tstate[collectionName][existingMessageIndex] = Object.assign(\n\t\t\t\t\t\t\tstate[collectionName][existingMessageIndex],\n\t\t\t\t\t\t\telement\n\t\t\t\t\t\t);\n\t\t\t\t\t\tstate[collectionName].splice(existingPlaceholderIndex, 1);\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tstate[collectionName].splice(\n\t\t\t\t\t\t\texistingPlaceholderIndex,\n\t\t\t\t\t\t\t1,\n\t\t\t\t\t\t\tObject.assign({}, element)\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tstate[collectionName].sort(this.sortByType);\n\t\t\t},\n\t\t\tclearPlaceholders: (state, payload) =>\n\t\t\t{\n\t\t\t\tstate.collection = state.collection.filter(element => {\n\t\t\t\t\treturn !element.id.toString().startsWith('placeholder');\n\t\t\t\t});\n\n\t\t\t\tstate.searchCollection = state.searchCollection.filter(element => {\n\t\t\t\t\treturn !element.id.toString().startsWith('placeholder');\n\t\t\t\t});\n\t\t\t},\n\t\t\tsetCounter: (state, payload) =>\n\t\t\t{\n\t\t\t\tstate.unreadCounter = payload;\n\t\t\t},\n\t\t\tsetTotal: (state, payload) =>\n\t\t\t{\n\t\t\t\tstate.total = payload;\n\t\t\t},\n\t\t\tsetSchema: (state, payload) =>\n\t\t\t{\n\t\t\t\tstate.schema = payload.data;\n\t\t\t}\n\t\t}\n\t}\n\n\t/* region Validation */\n\tvalidate(fields, options)\n\t{\n\t\tconst result = {};\n\n\t\tif (Type.isString(fields.id) || Type.isNumber(fields.id))\n\t\t{\n\t\t\tresult.id = fields.id;\n\t\t}\n\n\t\tif (!Type.isNil(fields.date))\n\t\t{\n\t\t\tresult.date = Utils.date.cast(fields.date);\n\t\t}\n\n\t\t// previous P&P format\n\t\tif (Type.isString(fields.textOriginal) || Type.isNumber(fields.textOriginal))\n\t\t{\n\t\t\tresult.text = fields.textOriginal.toString();\n\n\t\t\tif (Type.isString(fields.text) || Type.isNumber(fields.text))\n\t\t\t{\n\t\t\t\tresult.textConverted = this.convertToHtml({\n\t\t\t\t\ttext: fields.text.toString(),\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\telse // modern format\n\t\t{\n\t\t\tif (!Type.isNil(fields.text_converted))\n\t\t\t{\n\t\t\t\tfields.textConverted = fields.text_converted;\n\t\t\t}\n\t\t\tif (Type.isString(fields.textConverted) || Type.isNumber(fields.textConverted))\n\t\t\t{\n\t\t\t\tresult.textConverted = fields.textConverted.toString();\n\t\t\t}\n\t\t\tif (Type.isString(fields.text) || Type.isNumber(fields.text))\n\t\t\t{\n\t\t\t\tresult.text = fields.text.toString();\n\n\t\t\t\tlet isConverted = !Type.isNil(result.textConverted);\n\n\t\t\t\tresult.textConverted = this.convertToHtml({\n\t\t\t\t\ttext: isConverted? result.textConverted: result.text,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (Type.isNumber(fields.author_id))\n\t\t{\n\t\t\tif (fields.system === true || fields.system === 'Y')\n\t\t\t{\n\t\t\t\tresult.authorId = 0;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tresult.authorId = fields.author_id;\n\t\t\t}\n\t\t}\n\n\t\tif (Type.isNumber(fields.userId))\n\t\t{\n\t\t\tresult.authorId = fields.userId;\n\t\t}\n\n\t\tif (Type.isObjectLike(fields.params))\n\t\t{\n\t\t\tconst params = this.validateParams(fields.params);\n\t\t\tif (params)\n\t\t\t{\n\t\t\t\tresult.params = params;\n\t\t\t}\n\t\t}\n\n\t\tif (!Type.isNil(fields.notify_buttons))\n\t\t{\n\t\t\tresult.notifyButtons = JSON.parse(fields.notify_buttons);\n\t\t}\n\n\t\t//p&p format\n\t\tif (!Type.isNil(fields.buttons))\n\t\t{\n\t\t\tresult.notifyButtons = fields.buttons.map((button) => {\n\t\t\t\treturn {\n\t\t\t\t\tCOMMAND: 'notifyConfirm',\n\t\t\t\t\tCOMMAND_PARAMS: `${result.id}|${button.VALUE}`,\n\t\t\t\t\tTEXT: `${button.TITLE}`,\n\t\t\t\t\tTYPE: 'BUTTON',\n\t\t\t\t\tDISPLAY: 'LINE',\n\t\t\t\t\tBG_COLOR: (button.VALUE === 'Y' ? '#8bc84b' : '#ef4b57'),\n\t\t\t\t\tTEXT_COLOR: '#fff',\n\t\t\t\t};\n\t\t\t});\n\t\t}\n\t\tif (fields.notify_type === NotificationTypesCodes.confirm || fields.type === NotificationTypesCodes.confirm)\n\t\t{\n\t\t\tresult.sectionCode = NotificationTypesCodes.confirm;\n\t\t}\n\t\telse if (fields.type === NotificationTypesCodes.placeholder)\n\t\t{\n\t\t\tresult.sectionCode = NotificationTypesCodes.placeholder;\n\t\t}\n\n\t\tif (!Type.isNil(fields.notify_read))\n\t\t{\n\t\t\tresult.unread = fields.notify_read === 'N';\n\t\t}\n\n\t\t//p&p format\n\t\tif (!Type.isNil(fields.read))\n\t\t{\n\t\t\tresult.unread = fields.read === 'N'; //?\n\t\t}\n\n\t\tif (Type.isString(fields.setting_name))\n\t\t{\n\t\t\tresult.settingName = fields.setting_name;\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tvalidateParams(params)\n\t{\n\t\tconst result = {};\n\t\ttry\n\t\t{\n\t\t\tfor (let field in params)\n\t\t\t{\n\t\t\t\tif (!params.hasOwnProperty(field))\n\t\t\t\t{\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (field === 'COMPONENT_ID')\n\t\t\t\t{\n\t\t\t\t\tif (Type.isString(params[field]) && BX.Vue.isComponent(params[field]))\n\t\t\t\t\t{\n\t\t\t\t\t\tresult[field] = params[field];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (field === 'LIKE')\n\t\t\t\t{\n\t\t\t\t\tif (params[field] instanceof Array)\n\t\t\t\t\t{\n\t\t\t\t\t\tresult['REACTION'] = {like: params[field].map(element => parseInt(element))};\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (field === 'CHAT_LAST_DATE')\n\t\t\t\t{\n\t\t\t\t\tresult[field] = Utils.date.cast(params[field]);\n\t\t\t\t}\n\t\t\t\telse if (field === 'AVATAR')\n\t\t\t\t{\n\t\t\t\t\tif (params[field])\n\t\t\t\t\t{\n\t\t\t\t\t\tresult[field] = params[field].startsWith('http') ? params[field] : options.host + params[field];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (field === 'NAME')\n\t\t\t\t{\n\t\t\t\t\tif (params[field])\n\t\t\t\t\t{\n\t\t\t\t\t\tresult[field] = params[field];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tresult[field] = params[field];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tcatch (e) {}\n\n\t\tlet hasResultElements = false;\n\t\tfor (let field in result)\n\t\t{\n\t\t\tif (!result.hasOwnProperty(field))\n\t\t\t{\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\thasResultElements = true;\n\t\t\tbreak\n\t\t}\n\n\t\treturn hasResultElements? result: null;\n\t}\n\t/* endregion Validation */\n\n\t/* region Internal helpers */\n\tprepareNotification(notification, options = {})\n\t{\n\t\tlet result = this.validate(Object.assign({}, notification));\n\n\t\treturn Object.assign({}, this.getElementState(), result, options);\n\t}\n\n\tfindItemInArr(arr, value, key = 'id')\n\t{\n\t\tconst result = {};\n\n\t\tconst elementIndex = arr.findIndex((element, index) => {\n\t\t\treturn element[key] === value;\n\t\t});\n\n\t\tif (elementIndex !== -1)\n\t\t{\n\t\t\tresult.index = elementIndex;\n\t\t\tresult.element = arr[elementIndex];\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tsortByType(a, b)\n\t{\n\t\tif (a.sectionCode === NotificationTypesCodes.confirm && b.sectionCode !== NotificationTypesCodes.confirm)\n\t\t{\n\t\t\treturn -1;\n\t\t}\n\t\telse if (a.sectionCode !== NotificationTypesCodes.confirm && b.sectionCode === NotificationTypesCodes.confirm)\n\t\t{\n\t\t\treturn 1;\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn b.id - a.id;\n\t\t}\n\t}\n\t/* endregion Internal helpers */\n\n\t/* region Text utils */\n\tconvertToHtml(params = {})\n\t{\n\t\tlet { text = '' } = params;\n\n\t\ttext = text.trim();\n\t\ttext = text.replace(/\\n/gi, '<br />');\n\t\ttext = text.replace(/\\t/gi, ' ');\n\n\t\ttext = NotificationsModel.decodeBbCode({ text });\n\n\t\tif (Utils.platform.isBitrixDesktop())\n\t\t{\n\t\t\ttext = text.replace(/<a(.*?)>(.*?)<\\/a>/ig, function(whole, anchor, text) {\n\t\t\t\treturn '<a'+anchor.replace('target=\"_self\"', 'target=\"_blank\"')+' class=\"bx-im-notifications-item-link\">'+text+'</a>';\n\t\t\t});\n\t\t}\n\n\t\treturn text;\n\t};\n\n\tstatic decodeBbCode(params = {})\n\t{\n\t\tlet { text } = params;\n\n\t\ttext = text.replace(/\\[url=([^\\]]+)\\](.*?)\\[\\/url\\]/ig, function(whole, link, text)\n\t\t{\n\t\t\tlet tag = document.createElement('a');\n\t\t\ttag.href = Utils.text.htmlspecialcharsback(link);\n\t\t\ttag.target = '_blank';\n\t\t\ttag.text = Utils.text.htmlspecialcharsback(text);\n\n\t\t\tconst allowList = [\n\t\t\t\t'http:',\n\t\t\t\t'https:',\n\t\t\t\t'ftp:',\n\t\t\t\t'file:',\n\t\t\t\t'tel:',\n\t\t\t\t'callto:',\n\t\t\t\t'mailto:',\n\t\t\t\t'skype:',\n\t\t\t\t'viber:',\n\t\t\t];\n\t\t\tif (allowList.indexOf(tag.protocol) <= -1)\n\t\t\t{\n\t\t\t\treturn whole;\n\t\t\t}\n\n\t\t\treturn tag.outerHTML;\n\t\t});\n\n\t\ttext = text.replace(/\\[LIKE\\]/ig, '<span class=\"bx-smile bx-im-smile-like\"></span>');\n\t\ttext = text.replace(/\\[DISLIKE\\]/ig, '<span class=\"bx-smile bx-im-smile-dislike\"></span>');\n\n\t\ttext = text.replace(/\\[RATING\\=([1-5]{1})\\]/ig, (whole, rating) => {\n\t\t\t// todo: refactor legacy call\n\t\t\treturn BX.MessengerCommon.linesVoteHeadNodes(0, rating, false).outerHTML;\n\t\t});\n\n\t\ttext = text.replace(/\\[BR\\]/ig, '<br/>');\n\t\ttext = text.replace(/\\[([buis])\\](.*?)\\[(\\/[buis])\\]/ig, (whole, open, inner, close) => {\n\t\t\treturn '<' + open + '>' + inner + '<' + close + '>';\n\t\t});\n\n\t\ttext = text.replace(/\\[CHAT=(imol\\|)?([0-9]{1,})\\](.*?)\\[\\/CHAT\\]/ig, (whole, openlines, chatId, inner) => {\n\t\t\tchatId = parseInt(chatId);\n\n\t\t\tif (chatId <= 0)\n\t\t\t{\n\t\t\t\treturn inner;\n\t\t\t}\n\n\t\t\tif (openlines)\n\t\t\t{\n\t\t\t\treturn '<span class=\"bx-im-mention\" data-type=\"OPENLINES\" data-value=\"'+chatId+'\">'+inner+'</span>';\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\treturn '<span class=\"bx-im-mention\" data-type=\"CHAT\" data-value=\"'+chatId+'\">'+inner+'</span>';\n\t\t\t}\n\t\t});\n\t\ttext = text.replace(/\\[USER=([0-9]{1,})\\](.*?)\\[\\/USER\\]/ig, (whole, userId, text) =>\n\t\t{\n\t\t\tlet html = '';\n\n\t\t\tuserId = parseInt(userId);\n\t\t\tif (userId > 0 && typeof(BXIM) != 'undefined')\n\t\t\t{\n\t\t\t\thtml = `<span class=\"bx-im-mention ${userId === +BXIM.userId ? 'bx-messenger-ajax-self' : ''}\" data-type=\"USER\" data-value=\"${userId}\">${text}</span>`;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\thtml = text;\n\t\t\t}\n\n\t\t\treturn html;\n\t\t});\n\n\t\ttext = text.replace(/\\[PCH=([0-9]{1,})\\](.*?)\\[\\/PCH\\]/ig, (whole, historyId, text) => text);\n\n\t\treturn text;\n\t}\n\t/* endregion Text utils */\n}\n\nexport {NotificationsModel};","/**\n * Bitrix Messenger\n * Call Application model (Vuex Builder model)\n *\n * @package bitrix\n * @subpackage im\n * @copyright 2001-2020 Bitrix\n */\n\nimport {Vue} from 'ui.vue';\nimport {VuexBuilderModel} from 'ui.vue.vuex';\nimport {Type} from 'main.core';\nimport {ConferenceUserState} from 'im.const';\n\nexport class CallModel extends VuexBuilderModel\n{\n\tgetName()\n\t{\n\t\treturn 'call';\n\t}\n\n\tgetState()\n\t{\n\t\treturn {\n\t\t\tusers: {}\n\t\t}\n\t}\n\n\tgetElementState(params = {})\n\t{\n\t\treturn {\n\t\t\tid: params.id ? params.id : 0,\n\t\t\tstate: ConferenceUserState.Idle,\n\t\t\ttalking: false,\n\t\t\tpinned: false,\n\t\t\tcameraState: false,\n\t\t\tmicrophoneState: false,\n\t\t\tscreenState: false,\n\t\t\tfloorRequestState: false\n\t\t};\n\t}\n\n\tgetGetters()\n\t{\n\t\treturn {\n\t\t\tgetUser: state => (userId) =>\n\t\t\t{\n\t\t\t\tuserId = parseInt(userId, 10);\n\n\t\t\t\tif (!state.users[userId])\n\t\t\t\t{\n\t\t\t\t\treturn this.getElementState({id: userId});\n\t\t\t\t}\n\n\t\t\t\treturn state.users[userId];\n\t\t\t},\n\t\t\tgetBlankUser: state => (userId) =>\n\t\t\t{\n\t\t\t\tuserId = parseInt(userId, 10);\n\n\t\t\t\treturn this.getElementState({id: userId});\n\t\t\t}\n\t\t}\n\t}\n\n\tgetActions()\n\t{\n\t\treturn {\n\t\t\tupdateUser: (store, payload) =>\n\t\t\t{\n\t\t\t\tpayload.id = parseInt(payload.id, 10);\n\n\t\t\t\tpayload.fields = Object.assign(\n\t\t\t\t\t{},\n\t\t\t\t\tthis.validate(payload.fields),\n\t\t\t\t);\n\n\t\t\t\tstore.commit('updateUser', payload);\n\t\t\t},\n\t\t\tunpinUser: (store, payload) =>\n\t\t\t{\n\t\t\t\tstore.commit('unpinUser');\n\t\t\t},\n\t\t}\n\t}\n\n\tgetMutations()\n\t{\n\t\treturn {\n\t\t\tupdateUser: (state, payload) =>\n\t\t\t{\n\t\t\t\tif (!state.users[payload.id])\n\t\t\t\t{\n\t\t\t\t\tVue.set(state.users, payload.id, Object.assign(this.getElementState(), payload.fields, {id: payload.id}));\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tstate.users[payload.id] = Object.assign(state.users[payload.id], payload.fields);\n\t\t\t\t}\n\t\t\t},\n\t\t\tunpinUser: (state, payload) =>\n\t\t\t{\n\t\t\t\tconst pinnedUser = Object.values(state.users).find(user => user.pinned === true);\n\n\t\t\t\tif (pinnedUser)\n\t\t\t\t{\n\t\t\t\t\tstate.users[pinnedUser.id].pinned = false;\n\t\t\t\t}\n\t\t\t},\n\t\t}\n\t}\n\n\tvalidate(payload)\n\t{\n\t\tconst result = {};\n\n\t\tif (Type.isNumber(payload.id) || Type.isString(payload.id))\n\t\t{\n\t\t\tresult.id = parseInt(payload.id, 10);\n\t\t}\n\n\t\tif (ConferenceUserState[payload.state])\n\t\t{\n\t\t\tresult.state = payload.state;\n\t\t}\n\n\t\tif (Type.isBoolean(payload.talking))\n\t\t{\n\t\t\tresult.talking = payload.talking;\n\t\t}\n\n\t\tif (Type.isBoolean(payload.pinned))\n\t\t{\n\t\t\tresult.pinned = payload.pinned;\n\t\t}\n\n\t\tif (Type.isBoolean(payload.cameraState))\n\t\t{\n\t\t\tresult.cameraState = payload.cameraState;\n\t\t}\n\n\t\tif (Type.isBoolean(payload.microphoneState))\n\t\t{\n\t\t\tresult.microphoneState = payload.microphoneState;\n\t\t}\n\n\t\tif (Type.isBoolean(payload.screenState))\n\t\t{\n\t\t\tresult.screenState = payload.screenState;\n\t\t}\n\n\t\tif (Type.isBoolean(payload.floorRequestState))\n\t\t{\n\t\t\tresult.floorRequestState = payload.floorRequestState;\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tgetStateSaveException()\n\t{\n\t\treturn {\n\t\t\tusers: false\n\t\t}\n\t}\n}"],"names":["ApplicationModel","common","host","getVariable","location","protocol","siteId","userId","languageId","dialog","dialogId","chatId","diskFolderId","messageLimit","enableReadMessages","messageExtraCount","disk","enabled","maxFileSize","call","serverEnabled","maxParticipants","mobile","keyboardShow","device","type","DeviceType","desktop","orientation","DeviceOrientation","portrait","options","quoteEnable","quoteFromRight","autoplayVideo","darkBackground","showSmiles","error","active","code","description","Object","assign","set","store","payload","commit","validate","hideSmiles","state","hasChange","group","hasOwnProperty","field","isSaveNeeded","saveState","increaseDialogExtraCount","count","decreaseDialogExtraCount","newCounter","clearDialogExtraCount","fields","result","toString","startsWith","substr","parseInt","isNaN","VuexBuilderModel","ConferenceModel","inited","passChecked","showChat","userCount","messageCount","userInCallCount","ConferenceStateType","preparation","callEnded","conferenceTitle","alias","permissionsRequested","conferenceStarted","conferenceStartDate","joinWithVideo","userReadyToJoin","isBroadcast","users","usersInCall","presenters","rightPanelMode","RightPanelMode","hidden","user","id","hash","newState","changeRightPanelMode","mode","setPermissionsRequested","status","setPresenters","Array","isArray","setUsers","removeUsers","setUsersInCall","removeUsersInCall","setConferenceTitle","setBroadcastMode","broadcastMode","componentError","startCall","endCall","returnToPreparation","toggleSmiles","setError","errorCode","setAlias","setJoinType","setConferenceStatus","setConferenceStartDate","Date","setUserReadyToJoin","replace","forEach","presenter","includes","push","filter","IntersectionType","empty","equal","none","found","foundReverse","MessagesModel","created","collection","mutationType","saveMessageList","saveFileList","saveUserList","templateId","templateType","placeholderType","authorId","date","text","textConverted","params","TYPE","COMPONENT_ID","unread","sending","retry","blink","getMutationType","initialType","MutationType","appliedType","getLastId","length","lastId","i","element","getMessage","messageId","index","get","getBlank","getElementState","getSaveFileList","getSaveUserList","add","countMessages","message","getTime","dispatch","actionStart","test","Vue","nextTick","actionError","actionFinish","map","prepareMessage","insertType","data","addPlaceholders","placeholders","requestMode","setBefore","setAfter","reverse","clearPlaceholders","updatePlaceholders","update","findIndex","el","setTimeout","elements","clear","keepPlaceholders","applyMutationType","readMessages","readId","unreadMessages","unreadId","initCollection","sort","a","b","Logger","warn","firstPlaceholderId","firstMessage","firstPlaceholderIndex","splice","amount","chats","chatsSave","isPush","getPayloadWithTempMessages","StorageLimit","messages","intersection","manageCacheBeforeSet","foundElements","removeIntersectionCacheElements","localMessage","isTemporaryMessage","unshift","getters","Set","every","EventEmitter","emit","EventType","messagesSet","readVisibleMessages","isSaveState","clearMessages","applied","scrollStickToTop","scrollMessageId","saveNeeded","updateSubordinateStates","concat","cache","recursive","noneElements","reverseResult","isSaveAvailable","readCounter","slice","FILE_ID","updateSaveLists","storedState","Utils","types","isUuidV4","uuid","chat_id","cast","textOriginal","convertToHtml","isConverted","text_converted","senderId","author_id","system","validateParams","BX","isComponent","like","decodeAttach","e","hasResultElements","quote","image","enableBigSmile","trim","quoteSign","indexOf","textPrepare","split","textPrepareFlag","join","decodeBbCode","whole","p1","p2","p3","p4","offset","changed","aInner","match","doubleSmileSize","start","width","middle","height","end","textOnly","item","arrayElement","prop","htmlspecialcharsback","putReplacement","sendReplacement","codeReplacement","link","tag","document","createElement","href","target","allowList","outerHTML","open","inner","close","openlines","number","htmlspecialchars","historyId","textElementSize","url","attrs","size","title","attributes","name","value","command","html","parentNode","innerHTML","src","payloadData","platform","isBitrixMobile","payloadChatId","existsInPayload","doesTaskExist","find","payloadMessage","foundUploadTasks","fileId","window","imDialogUploadTasks","task","taskId","foundMessageTask","imDialogMessagesTasks","DialoguesModel","saveDialogList","saveChatList","writingList","quoteId","counter","userCounter","lastMessageId","managerList","readedList","muteList","textareaMessage","editId","init","owner","extranet","avatar","color","entityType","entityId","entityData1","entityData2","entityData3","dateCreate","restrictions","extend","leave","leaveOwner","rename","send","userList","mute","getByChatId","getQuoteId","getEditId","canSaveChat","canSaveDialog","isPrivateDialog","updateWriting","action","userName","actionName","updateReaded","increaseCounter","increasedCounter","rootState","application","dialogMuted","previousCounter","decreaseCounter","decreasedCounter","increaseMessageCounter","currentCounter","saveDialog","dialogues","cloneState","getElementStateSaveException","getState","dialog_id","user_counter","message_count","unread_id","last_message_id","readed_list","record","user_id","user_name","message_id","writing_list","manager_list","mute_list","entries","entry","ownerId","endsWith","encodeURI","entity_type","entity_id","entity_data_1","entity_data_2","entity_data_3","date_create","dateLastOpen","leave_owner","user_list","UsersModel","startOnlineCheckInterval","onlineList","mobileOnlineList","absentList","firstName","lastName","workPosition","gender","birthday","isBirthday","network","bot","connector","externalAuthId","idle","lastActivityDate","mobileLastDate","isOnline","isMobileOnline","absent","isAbsent","departments","phones","workPhone","personalMobile","personalPhone","innerPhone","getTemporary","getList","getOnlineStatus","addToOnlineList","mobileStatus","isMobileActive","addToMobileOnlineList","today","format","timeToNextMidnight","getTimeToNextMidnight","addToAbsentList","timeToNextDay","setInterval","startAbsentCheckInterval","newActivityDate","db","list","exceptionList","first_name","last_name","work_position","external_auth_id","last_activity_date","mobile_last_date","departmentId","work_phone","personal_mobile","personal_phone","inner_phone","nextMidnight","setHours","currentTime","absentEnd","intervalTime","FilesModel","extension","icon","FileStatus","done","progress","authorName","urlPreview","urlShow","urlDownload","viewerAttrs","file","getIconType","maxDiskFileSize","toLowerCase","FileType","video","audio","RecentModel","template","TemplateTypes","chatType","ChatTypes","chat","sectionCode","Section","general","lines","MessageStatus","received","pinned","Type","isNumber","currentItem","findItem","recentItem","prepareItem","existingItem","sortListByMessageDate","items","placeholderId","existingPlaceholder","pin","addPlaceholder","isStringFilled","isString","notification","isPlainObject","withAttach","WITH_ATTACH","withFile","WITH_FILE","purify","isDate","isBoolean","timestampA","timestampB","key","elementIndex","recent","NotificationsModel","searchCollection","total","unreadCounter","schema","NotificationTypesCodes","simple","display","settingName","getById","notificationId","findItemInArr","getSearchItemById","prepareNotification","setSearchResults","deleteSearchResults","setCounter","unreadTotal","setTotal","addItem","searchMode","existingItemInSearchCollection","read","ids","readAll","deleteAll","setSchema","sortByType","firstNotificationIndex","confirm","collectionName","firstItem","existingPlaceholderIndex","existingMessageIndex","isNil","isObjectLike","notify_buttons","notifyButtons","JSON","parse","buttons","button","COMMAND","COMMAND_PARAMS","VALUE","TEXT","TITLE","DISPLAY","BG_COLOR","TEXT_COLOR","notify_type","placeholder","notify_read","setting_name","arr","isBitrixDesktop","anchor","rating","MessengerCommon","linesVoteHeadNodes","BXIM","CallModel","ConferenceUserState","Idle","talking","cameraState","microphoneState","screenState","floorRequestState","getUser","getBlankUser","updateUser","unpinUser","pinnedUser","values"],"mappings":";;;;;CAAA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AAEA,KAGaA,gBAAb;CAAA;;CAAA;CAAA;CAAA;CAAA;;CAAA;CAAA;CAAA,8BAGC;CACC,aAAO,aAAP;CACA;CALF;CAAA;CAAA,+BAQC;CACC,aAAO;CACNC,QAAAA,MAAM,EACN;CACCC,UAAAA,IAAI,EAAE,KAAKC,WAAL,CAAiB,aAAjB,EAAgCC,QAAQ,CAACC,QAAT,GAAkB,IAAlB,GAAuBD,QAAQ,CAACF,IAAhE,CADP;CAECI,UAAAA,MAAM,EAAE,KAAKH,WAAL,CAAiB,eAAjB,EAAkC,SAAlC,CAFT;CAGCI,UAAAA,MAAM,EAAE,KAAKJ,WAAL,CAAiB,eAAjB,EAAkC,CAAlC,CAHT;CAICK,UAAAA,UAAU,EAAE,KAAKL,WAAL,CAAiB,mBAAjB,EAAsC,IAAtC;CAJb,SAFM;CAQNM,QAAAA,MAAM,EACN;CACCC,UAAAA,QAAQ,EAAE,KAAKP,WAAL,CAAiB,iBAAjB,EAAoC,GAApC,CADX;CAECQ,UAAAA,MAAM,EAAE,KAAKR,WAAL,CAAiB,eAAjB,EAAkC,CAAlC,CAFT;CAGCS,UAAAA,YAAY,EAAE,KAAKT,WAAL,CAAiB,qBAAjB,EAAwC,CAAxC,CAHf;CAICU,UAAAA,YAAY,EAAE,KAAKV,WAAL,CAAiB,qBAAjB,EAAwC,EAAxC,CAJf;CAKCW,UAAAA,kBAAkB,EAAE,KAAKX,WAAL,CAAiB,2BAAjB,EAA8C,IAA9C,CALrB;CAMCY,UAAAA,iBAAiB,EAAE;CANpB,SATM;CAiBNC,QAAAA,IAAI,EACJ;CACCC,UAAAA,OAAO,EAAE,KADV;CAECC,UAAAA,WAAW,EAAE;CAFd,SAlBM;CAsBNC,QAAAA,IAAI,EACJ;CACCC,UAAAA,aAAa,EAAE,KADhB;CAECC,UAAAA,eAAe,EAAE;CAFlB,SAvBM;CA2BNC,QAAAA,MAAM,EACN;CACCC,UAAAA,YAAY,EAAE;CADf,SA5BM;CA+BNC,QAAAA,MAAM,EACN;CACCC,UAAAA,IAAI,EAAE,KAAKtB,WAAL,CAAiB,aAAjB,EAAgCuB,mBAAU,CAACC,OAA3C,CADP;CAECC,UAAAA,WAAW,EAAE,KAAKzB,WAAL,CAAiB,oBAAjB,EAAuC0B,0BAAiB,CAACC,QAAzD;CAFd,SAhCM;CAoCNC,QAAAA,OAAO,EACP;CACCC,UAAAA,WAAW,EAAE,KAAK7B,WAAL,CAAiB,qBAAjB,EAAwC,IAAxC,CADd;CAEC8B,UAAAA,cAAc,EAAE,KAAK9B,WAAL,CAAiB,wBAAjB,EAA2C,IAA3C,CAFjB;CAGC+B,UAAAA,aAAa,EAAE,KAAK/B,WAAL,CAAiB,uBAAjB,EAA0C,IAA1C,CAHhB;CAICgC,UAAAA,cAAc,EAAE,KAAKhC,WAAL,CAAiB,wBAAjB,EAA2C,KAA3C,CAJjB;CAKCiC,UAAAA,UAAU,EAAE;CALb,SArCM;CA4CNC,QAAAA,KAAK,EACL;CACCC,UAAAA,MAAM,EAAE,KADT;CAECC,UAAAA,IAAI,EAAE,EAFP;CAGCC,UAAAA,WAAW,EAAE;CAHd;CA7CM,OAAP;CAmDA;CA5DF;CAAA;CAAA,4CA+DC;CACC,aAAOC,MAAM,CAACC,MAAP,CAAc;CACpBzC,QAAAA,MAAM,EAAE,KAAKE,WAAL,CAAiB,sBAAjB,EAAyC,IAAzC,CADY;CAEpBM,QAAAA,MAAM,EAAE,KAAKN,WAAL,CAAiB,sBAAjB,EAAyC,IAAzC,CAFY;CAGpBmB,QAAAA,MAAM,EAAE,KAAKnB,WAAL,CAAiB,sBAAjB,EAAyC,IAAzC,CAHY;CAIpBqB,QAAAA,MAAM,EAAE,KAAKrB,WAAL,CAAiB,sBAAjB,EAAyC,IAAzC,CAJY;CAKpBkC,QAAAA,KAAK,EAAE,KAAKlC,WAAL,CAAiB,qBAAjB,EAAwC,IAAxC;CALa,OAAd,CAAP;CAOA;CAvEF;CAAA;CAAA,iCA0EC;CAAA;;CACC,aAAO;CACNwC,QAAAA,GAAG,EAAE,aAACC,KAAD,EAAQC,OAAR,EACL;CACCD,UAAAA,KAAK,CAACE,MAAN,CAAa,KAAb,EAAoB,KAAI,CAACC,QAAL,CAAcF,OAAd,CAApB;CACA,SAJK;CAKNT,QAAAA,UAAU,EAAE,oBAACQ,KAAD,EAAQC,OAAR,EACZ;CACCD,UAAAA,KAAK,CAACE,MAAN,CAAa,YAAb;CACA,SARK;CASNE,QAAAA,UAAU,EAAE,oBAACJ,KAAD,EAAQC,OAAR,EACZ;CACCD,UAAAA,KAAK,CAACE,MAAN,CAAa,YAAb;CACA;CAZK,OAAP;CAcA;CAzFF;CAAA;CAAA,mCA4FC;CAAA;;CACC,aAAO;CACNH,QAAAA,GAAG,EAAE,aAACM,KAAD,EAAQJ,OAAR,EACL;CACC,cAAIK,SAAS,GAAG,KAAhB;;CACA,eAAK,IAAIC,KAAT,IAAkBN,OAAlB,EACA;CACC,gBAAI,CAACA,OAAO,CAACO,cAAR,CAAuBD,KAAvB,CAAL,EACA;CACC;CACA;;CAED,iBAAK,IAAIE,KAAT,IAAkBR,OAAO,CAACM,KAAD,CAAzB,EACA;CACC,kBAAI,CAACN,OAAO,CAACM,KAAD,CAAP,CAAeC,cAAf,CAA8BC,KAA9B,CAAL,EACA;CACC;CACA;;CAEDJ,cAAAA,KAAK,CAACE,KAAD,CAAL,CAAaE,KAAb,IAAsBR,OAAO,CAACM,KAAD,CAAP,CAAeE,KAAf,CAAtB;CACAH,cAAAA,SAAS,GAAG,IAAZ;CACA;CACD;;CAED,cAAIA,SAAS,IAAI,MAAI,CAACI,YAAL,CAAkBT,OAAlB,CAAjB,EACA;CACC,YAAA,MAAI,CAACU,SAAL,CAAeN,KAAf;CACA;CACD,SA3BK;CA4BNO,QAAAA,wBA5BM,oCA4BmBP,KA5BnB,EA6BN;CAAA,cADgCJ,OAChC,uEAD0C,EAC1C;CACC,+BAAkBA,OAAlB,CAAKY,KAAL;CAAA,cAAKA,KAAL,+BAAa,CAAb;CAEAR,UAAAA,KAAK,CAACxC,MAAN,CAAaM,iBAAb,IAAkC0C,KAAlC;CACA,SAjCK;CAkCNC,QAAAA,wBAlCM,oCAkCmBT,KAlCnB,EAmCN;CAAA,cADgCJ,OAChC,uEAD0C,EAC1C;CACC,gCAAkBA,OAAlB,CAAKY,KAAL;CAAA,cAAKA,KAAL,gCAAa,CAAb;CAEA,cAAIE,UAAU,GAAGV,KAAK,CAACxC,MAAN,CAAaM,iBAAb,GAAiC0C,KAAlD;;CACA,cAAIE,UAAU,IAAI,CAAlB,EACA;CACCA,YAAAA,UAAU,GAAG,CAAb;CACA;;CAEDV,UAAAA,KAAK,CAACxC,MAAN,CAAaM,iBAAb,GAAiC4C,UAAjC;CACA,SA7CK;CA8CNC,QAAAA,qBA9CM,iCA8CgBX,KA9ChB,EA+CN;CACCA,UAAAA,KAAK,CAACxC,MAAN,CAAaM,iBAAb,GAAiC,CAAjC;CACA,SAjDK;CAkDNqB,QAAAA,UAlDM,sBAkDKa,KAlDL,EAmDN;CACCA,UAAAA,KAAK,CAAClB,OAAN,CAAcK,UAAd,GAA2B,IAA3B;CACA,SArDK;CAsDNY,QAAAA,UAtDM,sBAsDKC,KAtDL,EAuDN;CACCA,UAAAA,KAAK,CAAClB,OAAN,CAAcK,UAAd,GAA2B,KAA3B;CACA;CAzDK,OAAP;CA2DA;CAxJF;CAAA;CAAA,6BA0JUyB,MA1JV,EA2JC;CACC,UAAMC,MAAM,GAAG,EAAf;;CAEA,UAAI,uBAAOD,MAAM,CAAC5D,MAAd,MAAyB,QAAzB,IAAqC4D,MAAM,CAAC5D,MAAhD,EACA;CACC6D,QAAAA,MAAM,CAAC7D,MAAP,GAAgB,EAAhB;;CAEA,YAAI,OAAO4D,MAAM,CAAC5D,MAAP,CAAcM,MAArB,KAAgC,QAApC,EACA;CACCuD,UAAAA,MAAM,CAAC7D,MAAP,CAAcM,MAAd,GAAuBsD,MAAM,CAAC5D,MAAP,CAAcM,MAArC;CACA;;CAED,YAAI,OAAOsD,MAAM,CAAC5D,MAAP,CAAcO,UAArB,KAAoC,QAAxC,EACA;CACCsD,UAAAA,MAAM,CAAC7D,MAAP,CAAcO,UAAd,GAA2BqD,MAAM,CAAC5D,MAAP,CAAcO,UAAzC;CACA;CACD;;CAED,UAAI,uBAAOqD,MAAM,CAACpD,MAAd,MAAyB,QAAzB,IAAqCoD,MAAM,CAACpD,MAAhD,EACA;CACCqD,QAAAA,MAAM,CAACrD,MAAP,GAAgB,EAAhB;;CAEA,YAAI,OAAOoD,MAAM,CAACpD,MAAP,CAAcC,QAArB,KAAkC,QAAtC,EACA;CACCoD,UAAAA,MAAM,CAACrD,MAAP,CAAcC,QAAd,GAAyBmD,MAAM,CAACpD,MAAP,CAAcC,QAAd,CAAuBqD,QAAvB,EAAzB;CACAD,UAAAA,MAAM,CAACrD,MAAP,CAAcE,MAAd,GAAuB,CAAvB;CACA,SAJD,MAKK,IAAI,OAAOkD,MAAM,CAACpD,MAAP,CAAcC,QAArB,KAAkC,QAAtC,EACL;CACCoD,UAAAA,MAAM,CAACrD,MAAP,CAAcC,QAAd,GAAyBmD,MAAM,CAACpD,MAAP,CAAcC,QAAvC;;CAEA,cAAI,OAAOmD,MAAM,CAACpD,MAAP,CAAcE,MAArB,KAAgC,QAApC,EACA;CACC,gBAAIA,MAAM,GAAGkD,MAAM,CAACpD,MAAP,CAAcC,QAA3B;;CACA,gBAAIC,MAAM,CAACqD,UAAP,CAAkB,MAAlB,CAAJ,EACA;CACCrD,cAAAA,MAAM,GAAGkD,MAAM,CAACpD,MAAP,CAAcC,QAAd,CAAuBuD,MAAvB,CAA8B,CAA9B,CAAT;CACA;;CAEDtD,YAAAA,MAAM,GAAGuD,QAAQ,CAACvD,MAAD,CAAjB;CAEAmD,YAAAA,MAAM,CAACrD,MAAP,CAAcE,MAAd,GAAuB,CAACwD,KAAK,CAACxD,MAAD,CAAN,GAAgBA,MAAhB,GAAwB,CAA/C;CACAkD,YAAAA,MAAM,CAACpD,MAAP,CAAcE,MAAd,GAAuBmD,MAAM,CAACrD,MAAP,CAAcE,MAArC;CACA;CACD;;CAED,YAAI,OAAOkD,MAAM,CAACpD,MAAP,CAAcE,MAArB,KAAgC,QAApC,EACA;CACCmD,UAAAA,MAAM,CAACrD,MAAP,CAAcE,MAAd,GAAuBkD,MAAM,CAACpD,MAAP,CAAcE,MAArC;CACA;;CAED,YAAI,OAAOkD,MAAM,CAACpD,MAAP,CAAcG,YAArB,KAAsC,QAA1C,EACA;CACCkD,UAAAA,MAAM,CAACrD,MAAP,CAAcG,YAAd,GAA6BiD,MAAM,CAACpD,MAAP,CAAcG,YAA3C;CACA;;CAED,YAAI,OAAOiD,MAAM,CAACpD,MAAP,CAAcI,YAArB,KAAsC,QAA1C,EACA;CACCiD,UAAAA,MAAM,CAACrD,MAAP,CAAcI,YAAd,GAA6BgD,MAAM,CAACpD,MAAP,CAAcI,YAA3C;CACA;;CAED,YAAI,OAAOgD,MAAM,CAACpD,MAAP,CAAcM,iBAArB,KAA2C,QAA/C,EACA;CACC+C,UAAAA,MAAM,CAACrD,MAAP,CAAcM,iBAAd,GAAkC8C,MAAM,CAACpD,MAAP,CAAcM,iBAAhD;CACA;;CAED,YAAI,OAAO8C,MAAM,CAACpD,MAAP,CAAcK,kBAArB,KAA4C,SAAhD,EACA;CACCgD,UAAAA,MAAM,CAACrD,MAAP,CAAcK,kBAAd,GAAmC+C,MAAM,CAACpD,MAAP,CAAcK,kBAAjD;CACA;CACD;;CAED,UAAI,uBAAO+C,MAAM,CAAC7C,IAAd,MAAuB,QAAvB,IAAmC6C,MAAM,CAAC7C,IAA9C,EACA;CACC8C,QAAAA,MAAM,CAAC9C,IAAP,GAAc,EAAd;;CAEA,YAAI,OAAO6C,MAAM,CAAC7C,IAAP,CAAYC,OAAnB,KAA+B,SAAnC,EACA;CACC6C,UAAAA,MAAM,CAAC9C,IAAP,CAAYC,OAAZ,GAAsB4C,MAAM,CAAC7C,IAAP,CAAYC,OAAlC;CACA;;CAED,YAAI,OAAO4C,MAAM,CAAC7C,IAAP,CAAYE,WAAnB,KAAmC,QAAvC,EACA;CACC4C,UAAAA,MAAM,CAAC9C,IAAP,CAAYE,WAAZ,GAA0B2C,MAAM,CAAC7C,IAAP,CAAYE,WAAtC;CACA;CACD;;CAED,UAAI,uBAAO2C,MAAM,CAAC1C,IAAd,MAAuB,QAAvB,IAAmC0C,MAAM,CAAC1C,IAA9C,EACA;CACC2C,QAAAA,MAAM,CAAC3C,IAAP,GAAc,EAAd;;CAEA,YAAI,OAAO0C,MAAM,CAAC1C,IAAP,CAAYC,aAAnB,KAAqC,SAAzC,EACA;CACC0C,UAAAA,MAAM,CAAC3C,IAAP,CAAYC,aAAZ,GAA4ByC,MAAM,CAAC1C,IAAP,CAAYC,aAAxC;CACA;;CAED,YAAI,OAAOyC,MAAM,CAAC1C,IAAP,CAAYE,eAAnB,KAAuC,QAA3C,EACA;CACCyC,UAAAA,MAAM,CAAC3C,IAAP,CAAYE,eAAZ,GAA8BwC,MAAM,CAAC1C,IAAP,CAAYE,eAA1C;CACA;CACD;;CAED,UAAI,uBAAOwC,MAAM,CAACvC,MAAd,MAAyB,QAAzB,IAAqCuC,MAAM,CAACvC,MAAhD,EACA;CACCwC,QAAAA,MAAM,CAACxC,MAAP,GAAgB,EAAhB;;CAEA,YAAI,OAAOuC,MAAM,CAACvC,MAAP,CAAcC,YAArB,KAAsC,SAA1C,EACA;CACCuC,UAAAA,MAAM,CAACxC,MAAP,CAAcC,YAAd,GAA6BsC,MAAM,CAACvC,MAAP,CAAcC,YAA3C;CACA;CACD;;CAED,UAAI,uBAAOsC,MAAM,CAACrC,MAAd,MAAyB,QAAzB,IAAqCqC,MAAM,CAACrC,MAAhD,EACA;CACCsC,QAAAA,MAAM,CAACtC,MAAP,GAAgB,EAAhB;;CAEA,YAAI,OAAOqC,MAAM,CAACrC,MAAP,CAAcC,IAArB,KAA8B,QAA9B,IAA0C,OAAOC,mBAAU,CAACmC,MAAM,CAACrC,MAAP,CAAcC,IAAf,CAAjB,KAA0C,WAAxF,EACA;CACCqC,UAAAA,MAAM,CAACtC,MAAP,CAAcC,IAAd,GAAqBoC,MAAM,CAACrC,MAAP,CAAcC,IAAnC;CACA;;CAED,YAAI,OAAOoC,MAAM,CAACrC,MAAP,CAAcI,WAArB,KAAqC,QAArC,IAAiD,OAAOC,0BAAiB,CAACgC,MAAM,CAACrC,MAAP,CAAcI,WAAf,CAAxB,KAAwD,WAA7G,EACA;CACCkC,UAAAA,MAAM,CAACtC,MAAP,CAAcI,WAAd,GAA4BiC,MAAM,CAACrC,MAAP,CAAcI,WAA1C;CACA;CACD;;CAED,UAAI,uBAAOiC,MAAM,CAACxB,KAAd,MAAwB,QAAxB,IAAoCwB,MAAM,CAACxB,KAA/C,EACA;CACC,YAAI,OAAOwB,MAAM,CAACxB,KAAP,CAAaC,MAApB,KAA+B,SAAnC,EACA;CACCwB,UAAAA,MAAM,CAACzB,KAAP,GAAe;CACdC,YAAAA,MAAM,EAAEuB,MAAM,CAACxB,KAAP,CAAaC,MADP;CAEdC,YAAAA,IAAI,EAAEsB,MAAM,CAACxB,KAAP,CAAaE,IAAb,CAAkBwB,QAAlB,MAAgC,EAFxB;CAGdvB,YAAAA,WAAW,EAAEqB,MAAM,CAACxB,KAAP,CAAaG,WAAb,CAAyBuB,QAAzB,MAAuC;CAHtC,WAAf;CAKA;CACD;;CAED,aAAOD,MAAP;CACA;CAvSF;CAAA;CAAA,EAAsCM,4BAAtC;;CCZA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AAEA,KAGaC,eAAb;CAAA;;CAAA;CAAA;CAAA;CAAA;;CAAA;CAAA;CAAA,8BAGC;CACC,aAAO,YAAP;CACA;CALF;CAAA;CAAA,+BAQC;CACC,aAAO;CACNpE,QAAAA,MAAM,EACN;CACCqE,UAAAA,MAAM,EAAE,KADT;CAECC,UAAAA,WAAW,EAAE,IAFd;CAGCC,UAAAA,QAAQ,EAAE,KAHX;CAICC,UAAAA,SAAS,EAAE,CAJZ;CAKCC,UAAAA,YAAY,EAAE,CALf;CAMCC,UAAAA,eAAe,EAAE,CANlB;CAOC1B,UAAAA,KAAK,EAAE2B,4BAAmB,CAACC,WAP5B;CAQCC,UAAAA,SAAS,EAAE,KARZ;CASC1C,UAAAA,UAAU,EAAE,KATb;CAUCC,UAAAA,KAAK,EAAE,EAVR;CAWC0C,UAAAA,eAAe,EAAE,EAXlB;CAYCC,UAAAA,KAAK,EAAE,EAZR;CAaCC,UAAAA,oBAAoB,EAAE,KAbvB;CAcCC,UAAAA,iBAAiB,EAAE,IAdpB;CAeCC,UAAAA,mBAAmB,EAAE,IAftB;CAgBCC,UAAAA,aAAa,EAAE,IAhBhB;CAiBCC,UAAAA,eAAe,EAAE,KAjBlB;CAkBCC,UAAAA,WAAW,EAAE,KAlBd;CAmBCC,UAAAA,KAAK,EAAE,EAnBR;CAoBCC,UAAAA,WAAW,EAAE,EApBd;CAqBCC,UAAAA,UAAU,EAAE,EArBb;CAsBCC,UAAAA,cAAc,EAAEC,iCAAc,CAACC;CAtBhC,SAFM;CA0BNC,QAAAA,IAAI,EACJ;CACCC,UAAAA,EAAE,EAAE,CAAC,CADN;CAECC,UAAAA,IAAI,EAAE;CAFP;CA3BM,OAAP;CAgCA;CAzCF;CAAA;CAAA,iCA4CC;CACC,aAAO;CACNvB,QAAAA,QAAQ,EAAE,kBAAC5B,KAAD,EAAQC,OAAR,EACV;CACC,cAAI,OAAOA,OAAO,CAACmD,QAAf,KAA4B,SAAhC,EACA;CACC,mBAAO,KAAP;CACA;;CAEDpD,UAAAA,KAAK,CAACE,MAAN,CAAa,UAAb,EAAyBD,OAAzB;CACA,SATK;CAUNoD,QAAAA,oBAAoB,EAAE,8BAACrD,KAAD,EAAQC,OAAR,EACtB;CACC,cAAI,CAAC8C,iCAAc,CAAC9C,OAAO,CAACqD,IAAT,CAAnB,EACA;CACC,mBAAO,KAAP;CACA;;CAEDtD,UAAAA,KAAK,CAACE,MAAN,CAAa,sBAAb,EAAqCD,OAArC;CACA,SAlBK;CAmBNsD,QAAAA,uBAAuB,EAAE,iCAACvD,KAAD,EAAQC,OAAR,EACzB;CACC,cAAI,OAAOA,OAAO,CAACuD,MAAf,KAA0B,SAA9B,EACA;CACC,mBAAO,KAAP;CACA;;CACDxD,UAAAA,KAAK,CAACE,MAAN,CAAa,yBAAb,EAAwCD,OAAxC;CACA,SA1BK;CA2BNwD,QAAAA,aAAa,EAAE,uBAACzD,KAAD,EAAQC,OAAR,EACf;CACC,cAAI,CAACyD,KAAK,CAACC,OAAN,CAAc1D,OAAO,CAAC4C,UAAtB,CAAL,EACA;CACC5C,YAAAA,OAAO,CAAC4C,UAAR,GAAqB,CAAC5C,OAAO,CAAC4C,UAAT,CAArB;CACA;;CAED7C,UAAAA,KAAK,CAACE,MAAN,CAAa,eAAb,EAA8BD,OAA9B;CACA,SAnCK;CAoCN2D,QAAAA,QAAQ,EAAE,kBAAC5D,KAAD,EAAQC,OAAR,EACV;CACC,cAAI,CAACyD,KAAK,CAACC,OAAN,CAAc1D,OAAO,CAAC0C,KAAtB,CAAL,EACA;CACC1C,YAAAA,OAAO,CAAC0C,KAAR,GAAgB,CAAC1C,OAAO,CAAC0C,KAAT,CAAhB;CACA;;CAED3C,UAAAA,KAAK,CAACE,MAAN,CAAa,UAAb,EAAyBD,OAAzB;CACA,SA5CK;CA6CN4D,QAAAA,WAAW,EAAE,qBAAC7D,KAAD,EAAQC,OAAR,EACb;CACC,cAAI,CAACyD,KAAK,CAACC,OAAN,CAAc1D,OAAO,CAAC0C,KAAtB,CAAL,EACA;CACC1C,YAAAA,OAAO,CAAC0C,KAAR,GAAgB,CAAC1C,OAAO,CAAC0C,KAAT,CAAhB;CACA;;CAED3C,UAAAA,KAAK,CAACE,MAAN,CAAa,aAAb,EAA4BD,OAA5B;CACA,SArDK;CAsDN6D,QAAAA,cAAc,EAAE,wBAAC9D,KAAD,EAAQC,OAAR,EAChB;CACC,cAAI,CAACyD,KAAK,CAACC,OAAN,CAAc1D,OAAO,CAAC0C,KAAtB,CAAL,EACA;CACC1C,YAAAA,OAAO,CAAC0C,KAAR,GAAgB,CAAC1C,OAAO,CAAC0C,KAAT,CAAhB;CACA;;CAED3C,UAAAA,KAAK,CAACE,MAAN,CAAa,gBAAb,EAA+BD,OAA/B;CACA,SA9DK;CA+DN8D,QAAAA,iBAAiB,EAAE,2BAAC/D,KAAD,EAAQC,OAAR,EACnB;CACC,cAAI,CAACyD,KAAK,CAACC,OAAN,CAAc1D,OAAO,CAAC0C,KAAtB,CAAL,EACA;CACC1C,YAAAA,OAAO,CAAC0C,KAAR,GAAgB,CAAC1C,OAAO,CAAC0C,KAAT,CAAhB;CACA;;CAED3C,UAAAA,KAAK,CAACE,MAAN,CAAa,mBAAb,EAAkCD,OAAlC;CACA,SAvEK;CAwEN+D,QAAAA,kBAAkB,EAAE,4BAAChE,KAAD,EAAQC,OAAR,EACpB;CACC,cAAI,OAAOA,OAAO,CAACkC,eAAf,KAAmC,QAAvC,EACA;CACC,mBAAO,KAAP;CACA;;CAEDnC,UAAAA,KAAK,CAACE,MAAN,CAAa,oBAAb,EAAmCD,OAAnC;CACA,SAhFK;CAiFNgE,QAAAA,gBAAgB,EAAE,0BAACjE,KAAD,EAAQC,OAAR,EAClB;CACC,cAAI,OAAOA,OAAO,CAACiE,aAAf,KAAiC,SAArC,EACA;CACC,mBAAO,KAAP;CACA;;CAEDlE,UAAAA,KAAK,CAACE,MAAN,CAAa,kBAAb,EAAiCD,OAAjC;CACA;CAzFK,OAAP;CA2FA;CAxIF;CAAA;CAAA,mCA2IC;CAAA;;CACC,aAAO;CACN5C,QAAAA,MAAM,EAAE,gBAACgD,KAAD,EAAQJ,OAAR,EACR;CACC,cAAI,OAAOA,OAAO,CAACyB,MAAf,KAA0B,SAA9B,EACA;CACCrB,YAAAA,KAAK,CAAChD,MAAN,CAAaqE,MAAb,GAAsBzB,OAAO,CAACyB,MAA9B;CACA;;CACD,cAAI,OAAOzB,OAAO,CAAC0B,WAAf,KAA+B,SAAnC,EACA;CACCtB,YAAAA,KAAK,CAAChD,MAAN,CAAasE,WAAb,GAA2B1B,OAAO,CAAC0B,WAAnC;CACA;;CACD,cAAI,OAAO1B,OAAO,CAAC4B,SAAf,KAA6B,QAA7B,IAAyC,OAAO5B,OAAO,CAAC4B,SAAf,KAA6B,QAA1E,EACA;CACCxB,YAAAA,KAAK,CAAChD,MAAN,CAAawE,SAAb,GAAyBP,QAAQ,CAACrB,OAAO,CAAC4B,SAAT,CAAjC;CACA;;CACD,cAAI,OAAO5B,OAAO,CAAC6B,YAAf,KAAgC,QAAhC,IAA4C,OAAO7B,OAAO,CAAC6B,YAAf,KAAgC,QAAhF,EACA;CACCzB,YAAAA,KAAK,CAAChD,MAAN,CAAayE,YAAb,GAA4BR,QAAQ,CAACrB,OAAO,CAAC6B,YAAT,CAApC;CACA;;CACD,cAAI,OAAO7B,OAAO,CAAC8B,eAAf,KAAmC,QAAnC,IAA+C,OAAO9B,OAAO,CAAC8B,eAAf,KAAmC,QAAtF,EACA;CACC1B,YAAAA,KAAK,CAAChD,MAAN,CAAa0E,eAAb,GAA+BT,QAAQ,CAACrB,OAAO,CAAC8B,eAAT,CAAvC;CACA;;CACD,cAAI,OAAO9B,OAAO,CAACkE,cAAf,KAAkC,QAAtC,EACA;CACC9D,YAAAA,KAAK,CAAChD,MAAN,CAAa8G,cAAb,GAA8BlE,OAAO,CAACkE,cAAtC;CACA;;CACD,cAAI,OAAOlE,OAAO,CAACyC,WAAf,KAA+B,SAAnC,EACA;CACCrC,YAAAA,KAAK,CAAChD,MAAN,CAAaqF,WAAb,GAA2BzC,OAAO,CAACyC,WAAnC;CACA;;CACD,cAAIgB,KAAK,CAACC,OAAN,CAAc1D,OAAO,CAAC4C,UAAtB,CAAJ,EACA;CACCxC,YAAAA,KAAK,CAAChD,MAAN,CAAawF,UAAb,GAA0B5C,OAAO,CAAC4C,UAAlC;CACA;CACD,SAnCK;CAoCNI,QAAAA,IAAI,EAAE,cAAC5C,KAAD,EAAQJ,OAAR,EACN;CACC,cAAI,OAAOA,OAAO,CAACiD,EAAf,KAAsB,QAA1B,EACA;CACC7C,YAAAA,KAAK,CAAC4C,IAAN,CAAWC,EAAX,GAAgBjD,OAAO,CAACiD,EAAxB;CACA;;CACD,cAAI,OAAOjD,OAAO,CAACkD,IAAf,KAAwB,QAAxB,IAAoClD,OAAO,CAACkD,IAAR,KAAiB9C,KAAK,CAAC4C,IAAN,CAAWE,IAApE,EACA;CACC9C,YAAAA,KAAK,CAAC4C,IAAN,CAAWE,IAAX,GAAkBlD,OAAO,CAACkD,IAA1B;CACA;;CACD,cAAI,KAAI,CAACzC,YAAL,CAAkB;CAACuC,YAAAA,IAAI,EAAEhD;CAAP,WAAlB,CAAJ,EACA;CACC,YAAA,KAAI,CAACU,SAAL,CAAeN,KAAf;CACA;CACD,SAlDK;CAmDNuB,QAAAA,QAAQ,EAAE,kBAACvB,KAAD,QACV;CAAA,cADmB+C,QACnB,QADmBA,QACnB;CACC/C,UAAAA,KAAK,CAAChD,MAAN,CAAauE,QAAb,GAAwBwB,QAAxB;CACA,SAtDK;CAuDNC,QAAAA,oBAAoB,EAAE,8BAAChD,KAAD,SACtB;CAAA,cAD+BiD,IAC/B,SAD+BA,IAC/B;CACCjD,UAAAA,KAAK,CAAChD,MAAN,CAAayF,cAAb,GAA8BQ,IAA9B;CACA,SA1DK;CA2DNC,QAAAA,uBAAuB,EAAE,iCAAClD,KAAD,EAAQJ,OAAR,EACzB;CACCI,UAAAA,KAAK,CAAChD,MAAN,CAAagF,oBAAb,GAAoCpC,OAAO,CAACuD,MAA5C;CACA,SA9DK;CA+DNY,QAAAA,SAAS,EAAE,mBAAC/D,KAAD,EAAQJ,OAAR,EACX;CACCI,UAAAA,KAAK,CAAChD,MAAN,CAAagD,KAAb,GAAqB2B,4BAAmB,CAACzD,IAAzC;CACA8B,UAAAA,KAAK,CAAChD,MAAN,CAAa6E,SAAb,GAAyB,KAAzB;CACA,SAnEK;CAoENmC,QAAAA,OAAO,EAAE,iBAAChE,KAAD,EAAQJ,OAAR,EACT;CACCI,UAAAA,KAAK,CAAChD,MAAN,CAAagD,KAAb,GAAqB2B,4BAAmB,CAACC,WAAzC;CACA5B,UAAAA,KAAK,CAAChD,MAAN,CAAa6E,SAAb,GAAyB,IAAzB;CACA,SAxEK;CAyENoC,QAAAA,mBAAmB,EAAE,6BAACjE,KAAD,EAAQJ,OAAR,EACrB;CACCI,UAAAA,KAAK,CAAChD,MAAN,CAAagD,KAAb,GAAqB2B,4BAAmB,CAACC,WAAzC;CACA,SA5EK;CA6ENsC,QAAAA,YAAY,EAAE,sBAAClE,KAAD,EAAQJ,OAAR,EACd;CACCI,UAAAA,KAAK,CAAChD,MAAN,CAAamC,UAAb,GAA0B,CAACa,KAAK,CAAChD,MAAN,CAAamC,UAAxC;CACA,SAhFK;CAiFNgF,QAAAA,QAAQ,EAAE,kBAACnE,KAAD,EAAQJ,OAAR,EACV;CACC,cAAI,OAAOA,OAAO,CAACwE,SAAf,KAA6B,QAAjC,EACA;CACCpE,YAAAA,KAAK,CAAChD,MAAN,CAAaoC,KAAb,GAAqBQ,OAAO,CAACwE,SAA7B;CACA;CACD,SAvFK;CAwFNT,QAAAA,kBAAkB,EAAE,4BAAC3D,KAAD,EAAQJ,OAAR,EACpB;CACCI,UAAAA,KAAK,CAAChD,MAAN,CAAa8E,eAAb,GAA+BlC,OAAO,CAACkC,eAAvC;CACA,SA3FK;CA4FN8B,QAAAA,gBAAgB,EAAE,0BAAC5D,KAAD,EAAQJ,OAAR,EAClB;CACCI,UAAAA,KAAK,CAAChD,MAAN,CAAaqF,WAAb,GAA2BzC,OAAO,CAACiE,aAAnC;CACA,SA/FK;CAgGNQ,QAAAA,QAAQ,EAAE,kBAACrE,KAAD,EAAQJ,OAAR,EACV;CACC,cAAI,OAAOA,OAAO,CAACmC,KAAf,KAAyB,QAA7B,EACA;CACC/B,YAAAA,KAAK,CAAChD,MAAN,CAAa+E,KAAb,GAAqBnC,OAAO,CAACmC,KAA7B;CACA;CACD,SAtGK;CAuGNuC,QAAAA,WAAW,EAAE,qBAACtE,KAAD,EAAQJ,OAAR,EACb;CACC,cAAI,OAAOA,OAAO,CAACuC,aAAf,KAAiC,SAArC,EACA;CACCnC,YAAAA,KAAK,CAAChD,MAAN,CAAamF,aAAb,GAA6BvC,OAAO,CAACuC,aAArC;CACA;CACD,SA7GK;CA8GNoC,QAAAA,mBAAmB,EAAE,6BAACvE,KAAD,EAAQJ,OAAR,EACrB;CACC,cAAI,OAAOA,OAAO,CAACqC,iBAAf,KAAqC,SAAzC,EACA;CACCjC,YAAAA,KAAK,CAAChD,MAAN,CAAaiF,iBAAb,GAAiCrC,OAAO,CAACqC,iBAAzC;CACA;CACD,SApHK;CAqHNuC,QAAAA,sBAAsB,EAAE,gCAACxE,KAAD,EAAQJ,OAAR,EACxB;CACC,cAAIA,OAAO,CAACsC,mBAAR,YAAuCuC,IAA3C,EACA;CACCzE,YAAAA,KAAK,CAAChD,MAAN,CAAakF,mBAAb,GAAmCtC,OAAO,CAACsC,mBAA3C;CACA;CACD,SA3HK;CA4HNwC,QAAAA,kBAAkB,EAAE,4BAAC1E,KAAD,EAAQJ,OAAR,EACpB;CACCI,UAAAA,KAAK,CAAChD,MAAN,CAAaoF,eAAb,GAA+B,IAA/B;CACA,SA/HK;CAgINgB,QAAAA,aAAa,EAAE,uBAACpD,KAAD,EAAQJ,OAAR,EACf;CACC,cAAIA,OAAO,CAAC+E,OAAZ,EACA;CACC3E,YAAAA,KAAK,CAAChD,MAAN,CAAawF,UAAb,GAA0B5C,OAAO,CAAC4C,UAAlC;CACA,WAHD,MAKA;CACC5C,YAAAA,OAAO,CAAC4C,UAAR,CAAmBoC,OAAnB,CAA2B,UAAAC,SAAS,EAAI;CACvCA,cAAAA,SAAS,GAAG5D,QAAQ,CAAC4D,SAAD,CAApB;;CACA,kBAAI,CAAC7E,KAAK,CAAChD,MAAN,CAAawF,UAAb,CAAwBsC,QAAxB,CAAiCD,SAAjC,CAAL,EACA;CACC7E,gBAAAA,KAAK,CAAChD,MAAN,CAAawF,UAAb,CAAwBuC,IAAxB,CAA6BF,SAA7B;CACA;CACD,aAND;CAOA;CACD,SAhJK;CAiJNtB,QAAAA,QAAQ,EAAE,kBAACvD,KAAD,EAAQJ,OAAR,EACV;CACCA,UAAAA,OAAO,CAAC0C,KAAR,CAAcsC,OAAd,CAAsB,UAAAhC,IAAI,EAAI;CAC7BA,YAAAA,IAAI,GAAG3B,QAAQ,CAAC2B,IAAD,CAAf;;CACA,gBAAI,CAAC5C,KAAK,CAAChD,MAAN,CAAasF,KAAb,CAAmBwC,QAAnB,CAA4BlC,IAA5B,CAAL,EACA;CACC5C,cAAAA,KAAK,CAAChD,MAAN,CAAasF,KAAb,CAAmByC,IAAnB,CAAwBnC,IAAxB;CACA;CACD,WAND;CAOA,SA1JK;CA2JNY,QAAAA,WAAW,EAAE,qBAACxD,KAAD,EAAQJ,OAAR,EACb;CACCI,UAAAA,KAAK,CAAChD,MAAN,CAAasF,KAAb,GAAqBtC,KAAK,CAAChD,MAAN,CAAasF,KAAb,CAAmB0C,MAAnB,CAA0B,UAAApC,IAAI,EAAI;CACtD,mBAAO,CAAChD,OAAO,CAAC0C,KAAR,CAAcwC,QAAd,CAAuB7D,QAAQ,CAAC2B,IAAD,CAA/B,CAAR;CACA,WAFoB,CAArB;CAGA,SAhKK;CAiKNa,QAAAA,cAAc,EAAE,wBAACzD,KAAD,EAAQJ,OAAR,EAChB;CACCA,UAAAA,OAAO,CAAC0C,KAAR,CAAcsC,OAAd,CAAsB,UAAAhC,IAAI,EAAI;CAC7BA,YAAAA,IAAI,GAAG3B,QAAQ,CAAC2B,IAAD,CAAf;;CACA,gBAAI,CAAC5C,KAAK,CAAChD,MAAN,CAAauF,WAAb,CAAyBuC,QAAzB,CAAkClC,IAAlC,CAAL,EACA;CACC5C,cAAAA,KAAK,CAAChD,MAAN,CAAauF,WAAb,CAAyBwC,IAAzB,CAA8BnC,IAA9B;CACA;CACD,WAND;CAOA,SA1KK;CA2KNc,QAAAA,iBAAiB,EAAE,2BAAC1D,KAAD,EAAQJ,OAAR,EACnB;CACCI,UAAAA,KAAK,CAAChD,MAAN,CAAauF,WAAb,GAA2BvC,KAAK,CAAChD,MAAN,CAAauF,WAAb,CAAyByC,MAAzB,CAAgC,UAAApC,IAAI,EAAI;CAClE,mBAAO,CAAChD,OAAO,CAAC0C,KAAR,CAAcwC,QAAd,CAAuB7D,QAAQ,CAAC2B,IAAD,CAA/B,CAAR;CACA,WAF0B,CAA3B;CAGA;CAhLK,OAAP;CAkLA;CA9TF;CAAA;CAAA,4CAiUC;CACC,aAAO;CACN5F,QAAAA,MAAM,EAAE;CACPqE,UAAAA,MAAM,EAAE,IADD;CAEPrB,UAAAA,KAAK,EAAE,IAFA;CAGPb,UAAAA,UAAU,EAAE,IAHL;CAIPqC,UAAAA,SAAS,EAAE,IAJJ;CAKPC,UAAAA,YAAY,EAAE,IALP;CAMPC,UAAAA,eAAe,EAAE,IANV;CAOPtC,UAAAA,KAAK,EAAE,IAPA;CAQP0C,UAAAA,eAAe,EAAE,IARV;CASPC,UAAAA,KAAK,EAAE,IATA;CAUPE,UAAAA,iBAAiB,EAAE,IAVZ;CAWPC,UAAAA,mBAAmB,EAAE,IAXd;CAYPC,UAAAA,aAAa,EAAE,IAZR;CAaPC,UAAAA,eAAe,EAAE,IAbV;CAcPK,UAAAA,cAAc,EAAE,IAdT;CAePD,UAAAA,UAAU,EAAE,IAfL;CAgBPF,UAAAA,KAAK,EAAE;CAhBA;CADF,OAAP;CAoBA;CAtVF;CAAA;CAAA,EAAqCnB,4BAArC;;;;;;;CCMA,IAAM8D,gBAAgB,GAAG;CACxBC,EAAAA,KAAK,EAAE,OADiB;CAExBC,EAAAA,KAAK,EAAE,OAFiB;CAGxBC,EAAAA,IAAI,EAAE,MAHkB;CAIxBC,EAAAA,KAAK,EAAE,OAJiB;CAKxBC,EAAAA,YAAY,EAAE;CALU,CAAzB;AAQA,KAAaC,aAAb;CAAA;;CAAA;CAAA;CAAA;CAAA;;CAAA;CAAA;CAAA,8BAGC;CACC,aAAO,UAAP;CACA;CALF;CAAA;CAAA,+BAQC;CACC,aAAO;CACNC,QAAAA,OAAO,EAAE,CADH;CAENC,QAAAA,UAAU,EAAE,EAFN;CAGNC,QAAAA,YAAY,EAAE,EAHR;CAINC,QAAAA,eAAe,EAAE,EAJX;CAKNC,QAAAA,YAAY,EAAE,EALR;CAMNC,QAAAA,YAAY,EAAE,EANR;CAON5I,QAAAA,IAAI,EAAE,KAAKC,WAAL,CAAiB,MAAjB,EAAyBC,QAAQ,CAACC,QAAT,GAAkB,IAAlB,GAAuBD,QAAQ,CAACF,IAAzD;CAPA,OAAP;CASA;CAlBF;CAAA;CAAA,sCAqBC;CACC,aAAO;CACN6I,QAAAA,UAAU,EAAE,CADN;CAENC,QAAAA,YAAY,EAAE,SAFR;CAGNC,QAAAA,eAAe,EAAE,CAHX;CAKNnD,QAAAA,EAAE,EAAE,CALE;CAMNnF,QAAAA,MAAM,EAAE,CANF;CAONuI,QAAAA,QAAQ,EAAE,CAPJ;CAQNC,QAAAA,IAAI,EAAE,IAAIzB,IAAJ,EARA;CASN0B,QAAAA,IAAI,EAAE,EATA;CAUNC,QAAAA,aAAa,EAAE,EAVT;CAWNC,QAAAA,MAAM,EAAE;CACPC,UAAAA,IAAI,EAAG,SADA;CAEPC,UAAAA,YAAY,EAAG;CAFR,SAXF;CAgBNxB,QAAAA,IAAI,EAAE,KAhBA;CAiBNyB,QAAAA,MAAM,EAAE,KAjBF;CAkBNC,QAAAA,OAAO,EAAE,KAlBH;CAmBNrH,QAAAA,KAAK,EAAE,KAnBD;CAoBNsH,QAAAA,KAAK,EAAE,KApBD;CAqBNC,QAAAA,KAAK,EAAE;CArBD,OAAP;CAuBA;CA7CF;CAAA;CAAA,iCAgDC;CAAA;;CACC,aAAO;CAENC,QAAAA,eAAe,EAAE,yBAAA5G,KAAK;CAAA,iBAAI,UAAAtC,MAAM,EAChC;CACC,gBAAI,CAACsC,KAAK,CAAC0F,YAAN,CAAmBhI,MAAnB,CAAL,EACA;CACC,qBAAO;CAACmJ,gBAAAA,WAAW,EAAEC,qBAAY,CAAC1B,IAA3B;CAAiC2B,gBAAAA,WAAW,EAAED,qBAAY,CAAC1B;CAA3D,eAAP;CACA;;CAED,mBAAOpF,KAAK,CAAC0F,YAAN,CAAmBhI,MAAnB,CAAP;CACA,WARqB;CAAA,SAFhB;CAWNsJ,QAAAA,SAAS,EAAE,mBAAAhH,KAAK;CAAA,iBAAI,UAAAtC,MAAM,EAC1B;CACC,gBAAI,CAACsC,KAAK,CAACyF,UAAN,CAAiB/H,MAAjB,CAAD,IAA6BsC,KAAK,CAACyF,UAAN,CAAiB/H,MAAjB,EAAyBuJ,MAAzB,IAAmC,CAApE,EACA;CACC,qBAAO,IAAP;CACA;;CAED,gBAAIC,MAAM,GAAG,CAAb;;CAEA,iBAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGnH,KAAK,CAACyF,UAAN,CAAiB/H,MAAjB,EAAyBuJ,MAA7C,EAAqDE,CAAC,EAAtD,EACA;CACC,kBAAIC,OAAO,GAAGpH,KAAK,CAACyF,UAAN,CAAiB/H,MAAjB,EAAyByJ,CAAzB,CAAd;;CACA,kBACCC,OAAO,CAACrC,IAAR,IACGqC,OAAO,CAACX,OADX,IAEGW,OAAO,CAACvE,EAAR,CAAW/B,QAAX,GAAsBC,UAAtB,CAAiC,WAAjC,CAHJ,EAKA;CACC;CACA;;CAED,kBAAImG,MAAM,GAAGE,OAAO,CAACvE,EAArB,EACA;CACCqE,gBAAAA,MAAM,GAAGE,OAAO,CAACvE,EAAjB;CACA;CACD;;CAED,mBAAOqE,MAAM,GAAEA,MAAF,GAAU,IAAvB;CACA,WA5Be;CAAA,SAXV;CAwCNG,QAAAA,UAAU,EAAE,oBAAArH,KAAK;CAAA,iBAAI,UAACtC,MAAD,EAAS4J,SAAT,EACrB;CACC,gBAAI,CAACtH,KAAK,CAACyF,UAAN,CAAiB/H,MAAjB,CAAD,IAA6BsC,KAAK,CAACyF,UAAN,CAAiB/H,MAAjB,EAAyBuJ,MAAzB,IAAmC,CAApE,EACA;CACC,qBAAO,IAAP;CACA;;CAED,iBAAK,IAAIM,KAAK,GAAGvH,KAAK,CAACyF,UAAN,CAAiB/H,MAAjB,EAAyBuJ,MAAzB,GAAgC,CAAjD,EAAoDM,KAAK,IAAI,CAA7D,EAAgEA,KAAK,EAArE,EACA;CACC,kBAAIvH,KAAK,CAACyF,UAAN,CAAiB/H,MAAjB,EAAyB6J,KAAzB,EAAgC1E,EAAhC,KAAuCyE,SAA3C,EACA;CACC,uBAAOtH,KAAK,CAACyF,UAAN,CAAiB/H,MAAjB,EAAyB6J,KAAzB,CAAP;CACA;CACD;;CAED,mBAAO,IAAP;CACA,WAhBgB;CAAA,SAxCX;CAyDNC,QAAAA,GAAG,EAAE,aAAAxH,KAAK;CAAA,iBAAI,UAAAtC,MAAM,EACpB;CACC,gBAAI,CAACsC,KAAK,CAACyF,UAAN,CAAiB/H,MAAjB,CAAD,IAA6BsC,KAAK,CAACyF,UAAN,CAAiB/H,MAAjB,EAAyBuJ,MAAzB,IAAmC,CAApE,EACA;CACC,qBAAO,EAAP;CACA;;CAED,mBAAOjH,KAAK,CAACyF,UAAN,CAAiB/H,MAAjB,CAAP;CACA,WARS;CAAA,SAzDJ;CAkEN+J,QAAAA,QAAQ,EAAE,kBAAAzH,KAAK;CAAA,iBAAI,UAAAqG,MAAM,EACzB;CACC,mBAAO,KAAI,CAACqB,eAAL,EAAP;CACA,WAHc;CAAA,SAlET;CAsENC,QAAAA,eAAe,EAAE,yBAAA3H,KAAK;CAAA,iBAAI,UAAAqG,MAAM,EAChC;CACC,mBAAOrG,KAAK,CAAC4F,YAAb;CACA,WAHqB;CAAA,SAtEhB;CA0ENgC,QAAAA,eAAe,EAAE,yBAAA5H,KAAK;CAAA,iBAAI,UAAAqG,MAAM,EAChC;CACC,mBAAOrG,KAAK,CAAC6F,YAAb;CACA,WAHqB;CAAA;CA1EhB,OAAP;CA+EA;CAhIF;CAAA;CAAA,iCAmIC;CAAA;;CACC,aAAO;CACNgC,QAAAA,GAAG,EAAE,aAAClI,KAAD,EAAQC,OAAR,EACL;CACC,cAAIiB,MAAM,GAAG,MAAI,CAACf,QAAL,CAAcN,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBG,OAAlB,CAAd,CAAb;;CACAiB,UAAAA,MAAM,CAACwF,MAAP,GAAgB7G,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB,MAAI,CAACiI,eAAL,GAAuBrB,MAAzC,EAAiDxF,MAAM,CAACwF,MAAxD,CAAhB;;CACA,cAAIzG,OAAO,CAACiD,EAAZ,EACA;CACC,gBAAIlD,KAAK,CAACK,KAAN,CAAYyF,UAAZ,CAAuB7F,OAAO,CAAClC,MAA/B,CAAJ,EACA;CACC,kBAAMoK,aAAa,GAAGnI,KAAK,CAACK,KAAN,CAAYyF,UAAZ,CAAuB7F,OAAO,CAAClC,MAA/B,EAAuCuJ,MAAvC,GAA8C,CAApE;;CACA,mBAAK,IAAIM,KAAK,GAAGO,aAAjB,EAAgCP,KAAK,IAAI,CAAzC,EAA4CA,KAAK,EAAjD,EACA;CACC,oBAAMQ,OAAO,GAAGpI,KAAK,CAACK,KAAN,CAAYyF,UAAZ,CAAuB7F,OAAO,CAAClC,MAA/B,EAAuC6J,KAAvC,CAAhB;;CACA,oBAAIQ,OAAO,CAACjC,UAAR,KAAuBlG,OAAO,CAACiD,EAAnC,EACA;CACC;CACA;CACD;CACD;;CAEDhC,YAAAA,MAAM,CAACgC,EAAP,GAAYjD,OAAO,CAACiD,EAApB;CACA,WAhBD,MAkBA;CACChC,YAAAA,MAAM,CAACgC,EAAP,GAAY,cAAe,IAAI4B,IAAJ,EAAD,CAAWuD,OAAX,EAAd,GAAqCrI,KAAK,CAACK,KAAN,CAAYwF,OAA7D;CACA;;CACD3E,UAAAA,MAAM,CAACiF,UAAP,GAAoBjF,MAAM,CAACgC,EAA3B;CACAhC,UAAAA,MAAM,CAAC2F,MAAP,GAAgB,KAAhB;CAEA7G,UAAAA,KAAK,CAACE,MAAN,CAAa,KAAb,EAAoBL,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB,MAAI,CAACiI,eAAL,EAAlB,EAA0C7G,MAA1C,CAApB;;CAEA,cAAIjB,OAAO,CAAC6G,OAAR,KAAoB,KAAxB,EACA;CACC9G,YAAAA,KAAK,CAACsI,QAAN,CAAe,aAAf,EAA8B;CAC7BpF,cAAAA,EAAE,EAAEhC,MAAM,CAACgC,EADkB;CAE7BnF,cAAAA,MAAM,EAAEmD,MAAM,CAACnD;CAFc,aAA9B;CAIA;;CAED,iBAAOmD,MAAM,CAACgC,EAAd;CACA,SAxCK;CAyCNqF,QAAAA,WAAW,EAAE,qBAACvI,KAAD,EAAQC,OAAR,EACb;CACC,cAAI,QAAQuI,IAAR,CAAavI,OAAO,CAACiD,EAArB,CAAJ,EACA;CACCjD,YAAAA,OAAO,CAACiD,EAAR,GAAa5B,QAAQ,CAACrB,OAAO,CAACiD,EAAT,CAArB;CACA;;CAEDjD,UAAAA,OAAO,CAAClC,MAAR,GAAiBuD,QAAQ,CAACrB,OAAO,CAAClC,MAAT,CAAzB;CAEA0K,UAAAA,UAAG,CAACC,QAAJ,CAAa,YAAM;CAClB1I,YAAAA,KAAK,CAACE,MAAN,CAAa,QAAb,EAAuB;CACtBgD,cAAAA,EAAE,EAAGjD,OAAO,CAACiD,EADS;CAEtBnF,cAAAA,MAAM,EAAGkC,OAAO,CAAClC,MAFK;CAGtBkD,cAAAA,MAAM,EAAG;CAAC6F,gBAAAA,OAAO,EAAE;CAAV;CAHa,aAAvB;CAKA,WAND;CAOA,SAzDK;CA0DN6B,QAAAA,WAAW,EAAE,qBAAC3I,KAAD,EAAQC,OAAR,EACb;CACC,cAAI,QAAQuI,IAAR,CAAavI,OAAO,CAACiD,EAArB,CAAJ,EACA;CACCjD,YAAAA,OAAO,CAACiD,EAAR,GAAa5B,QAAQ,CAACrB,OAAO,CAACiD,EAAT,CAArB;CACA;;CACDjD,UAAAA,OAAO,CAAClC,MAAR,GAAiBuD,QAAQ,CAACrB,OAAO,CAAClC,MAAT,CAAzB;CAEA0K,UAAAA,UAAG,CAACC,QAAJ,CAAa,YAAM;CAClB1I,YAAAA,KAAK,CAACE,MAAN,CAAa,QAAb,EAAuB;CACtBgD,cAAAA,EAAE,EAAGjD,OAAO,CAACiD,EADS;CAEtBnF,cAAAA,MAAM,EAAGkC,OAAO,CAAClC,MAFK;CAGtBkD,cAAAA,MAAM,EAAG;CAAC6F,gBAAAA,OAAO,EAAE,KAAV;CAAiBrH,gBAAAA,KAAK,EAAE,IAAxB;CAA8BsH,gBAAAA,KAAK,EAAE9G,OAAO,CAAC8G,KAAR,KAAkB;CAAvD;CAHa,aAAvB;CAKA,WAND;CAOA,SAzEK;CA0EN6B,QAAAA,YAAY,EAAE,sBAAC5I,KAAD,EAAQC,OAAR,EACd;CACC,cAAI,QAAQuI,IAAR,CAAavI,OAAO,CAACiD,EAArB,CAAJ,EACA;CACCjD,YAAAA,OAAO,CAACiD,EAAR,GAAa5B,QAAQ,CAACrB,OAAO,CAACiD,EAAT,CAArB;CACA;;CACDjD,UAAAA,OAAO,CAAClC,MAAR,GAAiBuD,QAAQ,CAACrB,OAAO,CAAClC,MAAT,CAAzB;CAEA0K,UAAAA,UAAG,CAACC,QAAJ,CAAa,YAAM;CAClB1I,YAAAA,KAAK,CAACE,MAAN,CAAa,QAAb,EAAuB;CACtBgD,cAAAA,EAAE,EAAGjD,OAAO,CAACiD,EADS;CAEtBnF,cAAAA,MAAM,EAAGkC,OAAO,CAAClC,MAFK;CAGtBkD,cAAAA,MAAM,EAAG;CAAC6F,gBAAAA,OAAO,EAAE,KAAV;CAAiBrH,gBAAAA,KAAK,EAAE,KAAxB;CAA+BsH,gBAAAA,KAAK,EAAE;CAAtC;CAHa,aAAvB;CAKA,WAND;CAOA,SAzFK;CA0FNhH,QAAAA,GAAG,EAAE,aAACC,KAAD,EAAQC,OAAR,EACL;CACC,cAAIA,OAAO,YAAYyD,KAAvB,EACA;CACCzD,YAAAA,OAAO,GAAGA,OAAO,CAAC4I,GAAR,CAAY,UAAAT,OAAO;CAAA,qBAAI,MAAI,CAACU,cAAL,CAAoBV,OAApB,EAA6B;CAAC9K,gBAAAA,IAAI,EAAE0C,KAAK,CAACK,KAAN,CAAY/C;CAAnB,eAA7B,CAAJ;CAAA,aAAnB,CAAV;CACA,WAHD,MAKA;CACC,gBAAI4D,MAAM,GAAG,MAAI,CAAC4H,cAAL,CAAoB7I,OAApB,EAA6B;CAAC3C,cAAAA,IAAI,EAAE0C,KAAK,CAACK,KAAN,CAAY/C;CAAnB,aAA7B,CAAb;;CACA,aAAC2C,OAAO,GAAG,EAAX,EAAemF,IAAf,CAAoBlE,MAApB;CACA;;CAEDlB,UAAAA,KAAK,CAACE,MAAN,CAAa,KAAb,EAAoB;CACnB6I,YAAAA,UAAU,EAAG5B,qBAAY,CAACpH,GADP;CAEnBiJ,YAAAA,IAAI,EAAG/I;CAFY,WAApB;CAKA,iBAAO,aAAP;CACA,SA5GK;CA6GNgJ,QAAAA,eAAe,EAAE,yBAACjJ,KAAD,EAAQC,OAAR,EACjB;CACC,cAAIA,OAAO,CAACiJ,YAAR,YAAgCxF,KAApC,EACA;CACCzD,YAAAA,OAAO,CAACiJ,YAAR,GAAuBjJ,OAAO,CAACiJ,YAAR,CAAqBL,GAArB,CAAyB,UAAAT,OAAO;CAAA,qBAAI,MAAI,CAACU,cAAL,CAAoBV,OAApB,EAA6B;CAAE9K,gBAAAA,IAAI,EAAE0C,KAAK,CAACK,KAAN,CAAY/C;CAApB,eAA7B,CAAJ;CAAA,aAAhC,CAAvB;CACA,WAHD,MAKA;CACC,mBAAO,KAAP;CACA;;CAED,cAAMyL,UAAU,GAAG9I,OAAO,CAACkJ,WAAR,KAAwB,SAAxB,GAAmChC,qBAAY,CAACiC,SAAhD,GAA4DjC,qBAAY,CAACkC,QAA5F;;CACA,cAAIN,UAAU,KAAK5B,qBAAY,CAACiC,SAAhC,EACA;CACCnJ,YAAAA,OAAO,CAACiJ,YAAR,GAAuBjJ,OAAO,CAACiJ,YAAR,CAAqBI,OAArB,EAAvB;CACA;;CAEDtJ,UAAAA,KAAK,CAACE,MAAN,CAAa,KAAb,EAAoB;CACnB6I,YAAAA,UAAU,EAAVA,UADmB;CAEnBC,YAAAA,IAAI,EAAG/I,OAAO,CAACiJ;CAFI,WAApB;CAKA,iBAAOjJ,OAAO,CAACiJ,YAAR,CAAqB,CAArB,EAAwBhG,EAA/B;CACA,SApIK;CAqINqG,QAAAA,iBAAiB,EAAE,2BAACvJ,KAAD,EAAQC,OAAR,EACnB;CACCD,UAAAA,KAAK,CAACE,MAAN,CAAa,mBAAb,EAAkCD,OAAlC;CACA,SAxIK;CAyINuJ,QAAAA,kBAAkB,EAAE,4BAACxJ,KAAD,EAAQC,OAAR,EACpB;CACC,cAAIA,OAAO,CAAC+I,IAAR,YAAwBtF,KAA5B,EACA;CACCzD,YAAAA,OAAO,CAAC+I,IAAR,GAAe/I,OAAO,CAAC+I,IAAR,CAAaH,GAAb,CAAiB,UAAAT,OAAO;CAAA,qBAAI,MAAI,CAACU,cAAL,CAAoBV,OAApB,EAA6B;CAAE9K,gBAAAA,IAAI,EAAE0C,KAAK,CAACK,KAAN,CAAY/C;CAApB,eAA7B,CAAJ;CAAA,aAAxB,CAAf;CACA,WAHD,MAKA;CACC,mBAAO,KAAP;CACA;;CAED0C,UAAAA,KAAK,CAACE,MAAN,CAAa,oBAAb,EAAmCD,OAAnC;CAEA,iBAAO,IAAP;CACA,SAvJK;CAwJNoJ,QAAAA,QAAQ,EAAE,kBAACrJ,KAAD,EAAQC,OAAR,EACV;CACC,cAAIA,OAAO,YAAYyD,KAAvB,EACA;CACCzD,YAAAA,OAAO,GAAGA,OAAO,CAAC4I,GAAR,CAAY,UAAAT,OAAO;CAAA,qBAAI,MAAI,CAACU,cAAL,CAAoBV,OAApB,CAAJ;CAAA,aAAnB,CAAV;CACA,WAHD,MAKA;CACC,gBAAIlH,MAAM,GAAG,MAAI,CAAC4H,cAAL,CAAoB7I,OAApB,CAAb;;CACA,aAACA,OAAO,GAAG,EAAX,EAAemF,IAAf,CAAoBlE,MAApB;CACA;;CAEDlB,UAAAA,KAAK,CAACE,MAAN,CAAa,KAAb,EAAoB;CACnB6I,YAAAA,UAAU,EAAG5B,qBAAY,CAACkC,QADP;CAEnBL,YAAAA,IAAI,EAAG/I;CAFY,WAApB;CAIA,SAxKK;CAyKNmJ,QAAAA,SAAS,EAAE,mBAACpJ,KAAD,EAAQC,OAAR,EACX;CACC,cAAIA,OAAO,YAAYyD,KAAvB,EACA;CACCzD,YAAAA,OAAO,GAAGA,OAAO,CAAC4I,GAAR,CAAY,UAAAT,OAAO;CAAA,qBAAI,MAAI,CAACU,cAAL,CAAoBV,OAApB,CAAJ;CAAA,aAAnB,CAAV;CACA,WAHD,MAKA;CACC,gBAAIlH,MAAM,GAAG,MAAI,CAAC4H,cAAL,CAAoB7I,OAApB,CAAb;;CACA,aAACA,OAAO,GAAG,EAAX,EAAemF,IAAf,CAAoBlE,MAApB;CACA;;CAEDlB,UAAAA,KAAK,CAACE,MAAN,CAAa,KAAb,EAAoB;CACnB6I,YAAAA,UAAU,EAAG5B,qBAAY,CAACiC,SADP;CAEnBJ,YAAAA,IAAI,EAAG/I;CAFY,WAApB;CAIA,SAzLK;CA0LNwJ,QAAAA,MAAM,EAAE,gBAACzJ,KAAD,EAAQC,OAAR,EACR;CACC,cAAI,QAAQuI,IAAR,CAAavI,OAAO,CAACiD,EAArB,CAAJ,EACA;CACCjD,YAAAA,OAAO,CAACiD,EAAR,GAAa5B,QAAQ,CAACrB,OAAO,CAACiD,EAAT,CAArB;CACA;;CACD,cAAI,QAAQsF,IAAR,CAAavI,OAAO,CAAClC,MAArB,CAAJ,EACA;CACCkC,YAAAA,OAAO,CAAClC,MAAR,GAAiBuD,QAAQ,CAACrB,OAAO,CAAClC,MAAT,CAAzB;CACA;;CAEDiC,UAAAA,KAAK,CAACE,MAAN,CAAa,gBAAb,EAA+B;CAACnC,YAAAA,MAAM,EAAEkC,OAAO,CAAClC;CAAjB,WAA/B;;CAEA,cAAI,CAACiC,KAAK,CAACK,KAAN,CAAYyF,UAAZ,CAAuB7F,OAAO,CAAClC,MAA/B,CAAL,EACA;CACC,mBAAO,KAAP;CACA;;CAED,cAAI6J,KAAK,GAAG5H,KAAK,CAACK,KAAN,CAAYyF,UAAZ,CAAuB7F,OAAO,CAAClC,MAA/B,EAAuC2L,SAAvC,CAAiD,UAAAC,EAAE;CAAA,mBAAIA,EAAE,CAACzG,EAAH,KAAUjD,OAAO,CAACiD,EAAtB;CAAA,WAAnD,CAAZ;;CACA,cAAI0E,KAAK,GAAG,CAAZ,EACA;CACC,mBAAO,KAAP;CACA;;CAED,cAAI1G,MAAM,GAAG,MAAI,CAACf,QAAL,CAAcN,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBG,OAAO,CAACgB,MAA1B,CAAd,CAAb;;CAEA,cAAIC,MAAM,CAACwF,MAAX,EACA;CACCxF,YAAAA,MAAM,CAACwF,MAAP,GAAgB7G,MAAM,CAACC,MAAP,CACf,EADe,EAEf,MAAI,CAACiI,eAAL,GAAuBrB,MAFR,EAGf1G,KAAK,CAACK,KAAN,CAAYyF,UAAZ,CAAuB7F,OAAO,CAAClC,MAA/B,EAAuC6J,KAAvC,EAA8ClB,MAH/B,EAIfxF,MAAM,CAACwF,MAJQ,CAAhB;CAMA;;CAED1G,UAAAA,KAAK,CAACE,MAAN,CAAa,QAAb,EAAuB;CACtBgD,YAAAA,EAAE,EAAGjD,OAAO,CAACiD,EADS;CAEtBnF,YAAAA,MAAM,EAAGkC,OAAO,CAAClC,MAFK;CAGtB6J,YAAAA,KAAK,EAAGA,KAHc;CAItB3G,YAAAA,MAAM,EAAGC;CAJa,WAAvB;;CAOA,cAAIjB,OAAO,CAACgB,MAAR,CAAe+F,KAAnB,EACA;CACC4C,YAAAA,UAAU,CAAC,YAAM;CAChB5J,cAAAA,KAAK,CAACE,MAAN,CAAa,QAAb,EAAuB;CACtBgD,gBAAAA,EAAE,EAAGjD,OAAO,CAACiD,EADS;CAEtBnF,gBAAAA,MAAM,EAAGkC,OAAO,CAAClC,MAFK;CAGtBkD,gBAAAA,MAAM,EAAG;CAAC+F,kBAAAA,KAAK,EAAE;CAAR;CAHa,eAAvB;CAKA,aANS,EAMP,IANO,CAAV;CAOA;;CAED,iBAAO,IAAP;CACA,SAjPK;CAkPN,kBAAQ,iBAAChH,KAAD,EAAQC,OAAR,EACR;CACC,cAAI,EAAEA,OAAO,CAACiD,EAAR,YAAsBQ,KAAxB,CAAJ,EACA;CACCzD,YAAAA,OAAO,CAACiD,EAAR,GAAa,CAACjD,OAAO,CAACiD,EAAT,CAAb;CACA;;CAEDjD,UAAAA,OAAO,CAACiD,EAAR,GAAajD,OAAO,CAACiD,EAAR,CAAW2F,GAAX,CAAe,UAAA3F,EAAE,EAAI;CACjC,gBAAI,QAAQsF,IAAR,CAAatF,EAAb,CAAJ,EACA;CACCA,cAAAA,EAAE,GAAG5B,QAAQ,CAAC4B,EAAD,CAAb;CACA;;CACD,mBAAOA,EAAP;CACA,WANY,CAAb;CAQAlD,UAAAA,KAAK,CAACE,MAAN,CAAa,QAAb,EAAuB;CACtBnC,YAAAA,MAAM,EAAGkC,OAAO,CAAClC,MADK;CAEtB8L,YAAAA,QAAQ,EAAG5J,OAAO,CAACiD;CAFG,WAAvB;CAKA,iBAAO,IAAP;CACA,SAvQK;CAwQN4G,QAAAA,KAAK,EAAE,eAAC9J,KAAD,EAAQC,OAAR,EACP;CACCA,UAAAA,OAAO,CAAClC,MAAR,GAAiBuD,QAAQ,CAACrB,OAAO,CAAClC,MAAT,CAAzB;;CAEA,cAAIkC,OAAO,CAAC8J,gBAAZ,EACA;CACC/J,YAAAA,KAAK,CAACE,MAAN,CAAa,eAAb,EAA8B;CAC7BnC,cAAAA,MAAM,EAAGkC,OAAO,CAAClC;CADY,aAA9B;CAGA,WALD,MAOA;CACCiC,YAAAA,KAAK,CAACE,MAAN,CAAa,OAAb,EAAsB;CACrBnC,cAAAA,MAAM,EAAGkC,OAAO,CAAClC;CADI,aAAtB;CAGA;;CAED,iBAAO,IAAP;CACA,SA1RK;CA2RNiM,QAAAA,iBAAiB,EAAE,2BAAChK,KAAD,EAAQC,OAAR,EACnB;CACCA,UAAAA,OAAO,CAAClC,MAAR,GAAiBuD,QAAQ,CAACrB,OAAO,CAAClC,MAAT,CAAzB;CAEAiC,UAAAA,KAAK,CAACE,MAAN,CAAa,mBAAb,EAAkC;CACjCnC,YAAAA,MAAM,EAAGkC,OAAO,CAAClC;CADgB,WAAlC;CAIA,iBAAO,IAAP;CACA,SApSK;CAqSNkM,QAAAA,YAAY,EAAE,sBAACjK,KAAD,EAAQC,OAAR,EACd;CACCA,UAAAA,OAAO,CAACiK,MAAR,GAAiB5I,QAAQ,CAACrB,OAAO,CAACiK,MAAT,CAAR,IAA4B,CAA7C;CACAjK,UAAAA,OAAO,CAAClC,MAAR,GAAiBuD,QAAQ,CAACrB,OAAO,CAAClC,MAAT,CAAzB;;CAEA,cAAI,OAAOiC,KAAK,CAACK,KAAN,CAAYyF,UAAZ,CAAuB7F,OAAO,CAAClC,MAA/B,CAAP,KAAkD,WAAtD,EACA;CACC,mBAAO;CAAC8C,cAAAA,KAAK,EAAE;CAAR,aAAP;CACA;;CAED,cAAIA,KAAK,GAAG,CAAZ;;CACA,eAAK,IAAI+G,KAAK,GAAG5H,KAAK,CAACK,KAAN,CAAYyF,UAAZ,CAAuB7F,OAAO,CAAClC,MAA/B,EAAuCuJ,MAAvC,GAA8C,CAA/D,EAAkEM,KAAK,IAAI,CAA3E,EAA8EA,KAAK,EAAnF,EACA;CACC,gBAAIH,OAAO,GAAGzH,KAAK,CAACK,KAAN,CAAYyF,UAAZ,CAAuB7F,OAAO,CAAClC,MAA/B,EAAuC6J,KAAvC,CAAd;CACA,gBAAI,CAACH,OAAO,CAACZ,MAAb,EACC;;CAED,gBAAI5G,OAAO,CAACiK,MAAR,KAAmB,CAAnB,IAAwBzC,OAAO,CAACvE,EAAR,IAAcjD,OAAO,CAACiK,MAAlD,EACA;CACCrJ,cAAAA,KAAK;CACL;CACD;;CAEDb,UAAAA,KAAK,CAACE,MAAN,CAAa,cAAb,EAA6B;CAC5BnC,YAAAA,MAAM,EAAEkC,OAAO,CAAClC,MADY;CAE5BmM,YAAAA,MAAM,EAAEjK,OAAO,CAACiK;CAFY,WAA7B;CAKA,iBAAO;CAACrJ,YAAAA,KAAK,EAALA;CAAD,WAAP;CACA,SAlUK;CAmUNsJ,QAAAA,cAAc,EAAE,wBAACnK,KAAD,EAAQC,OAAR,EAChB;CACCA,UAAAA,OAAO,CAACmK,QAAR,GAAmB9I,QAAQ,CAACrB,OAAO,CAACmK,QAAT,CAAR,IAA8B,CAAjD;CACAnK,UAAAA,OAAO,CAAClC,MAAR,GAAiBuD,QAAQ,CAACrB,OAAO,CAAClC,MAAT,CAAzB;;CAEA,cAAI,OAAOiC,KAAK,CAACK,KAAN,CAAYyF,UAAZ,CAAuB7F,OAAO,CAAClC,MAA/B,CAAP,KAAkD,WAAlD,IAAiE,CAACkC,OAAO,CAACmK,QAA9E,EACA;CACC,mBAAO;CAACvJ,cAAAA,KAAK,EAAE;CAAR,aAAP;CACA;;CAED,cAAIA,KAAK,GAAG,CAAZ;;CACA,eAAK,IAAI+G,KAAK,GAAG5H,KAAK,CAACK,KAAN,CAAYyF,UAAZ,CAAuB7F,OAAO,CAAClC,MAA/B,EAAuCuJ,MAAvC,GAA8C,CAA/D,EAAkEM,KAAK,IAAI,CAA3E,EAA8EA,KAAK,EAAnF,EACA;CACC,gBAAIH,OAAO,GAAGzH,KAAK,CAACK,KAAN,CAAYyF,UAAZ,CAAuB7F,OAAO,CAAClC,MAA/B,EAAuC6J,KAAvC,CAAd;CACA,gBAAIH,OAAO,CAACZ,MAAZ,EACC;;CAED,gBAAIY,OAAO,CAACvE,EAAR,IAAcjD,OAAO,CAACmK,QAA1B,EACA;CACCvJ,cAAAA,KAAK;CACL;CACD;;CAEDb,UAAAA,KAAK,CAACE,MAAN,CAAa,gBAAb,EAA+B;CAC9BnC,YAAAA,MAAM,EAAEkC,OAAO,CAAClC,MADc;CAE9BqM,YAAAA,QAAQ,EAAEnK,OAAO,CAACmK;CAFY,WAA/B;CAKA,iBAAO;CAACvJ,YAAAA,KAAK,EAALA;CAAD,WAAP;CACA;CAhWK,OAAP;CAkWA;CAteF;CAAA;CAAA,mCAyeC;CAAA;;CACC,aAAO;CACNwJ,QAAAA,cAAc,EAAE,wBAAChK,KAAD,EAAQJ,OAAR,EAChB;CACC,iBAAO,MAAI,CAACoK,cAAL,CAAoBhK,KAApB,EAA2BJ,OAA3B,CAAP;CACA,SAJK;CAKNiI,QAAAA,GAAG,EAAE,aAAC7H,KAAD,EAAQJ,OAAR,EACL;CACC,UAAA,MAAI,CAACoK,cAAL,CAAoBhK,KAApB,EAA2B;CAACtC,YAAAA,MAAM,EAAEkC,OAAO,CAAClC;CAAjB,WAA3B;;CAEAsC,UAAAA,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAAClC,MAAzB,EAAiCqH,IAAjC,CAAsCnF,OAAtC;CACAI,UAAAA,KAAK,CAAC2F,eAAN,CAAsB/F,OAAO,CAAClC,MAA9B,EAAsCqH,IAAtC,CAA2CnF,OAAO,CAACiD,EAAnD;CAEA7C,UAAAA,KAAK,CAACwF,OAAN,IAAiB,CAAjB;CAEAxF,UAAAA,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAAClC,MAAzB,EAAiCuM,IAAjC,CAAsC,UAACC,CAAD,EAAIC,CAAJ;CAAA,mBAAUD,CAAC,CAACrH,EAAF,GAAOsH,CAAC,CAACtH,EAAnB;CAAA,WAAtC;;CACA,UAAA,MAAI,CAACvC,SAAL,CAAeN,KAAf,EAAsBJ,OAAO,CAAClC,MAA9B;;CACA0M,UAAAA,oBAAM,CAACC,IAAP,CAAY,wCAAZ;CACA,SAjBK;CAkBNnB,QAAAA,iBAAiB,EAAE,2BAAClJ,KAAD,EAAQJ,OAAR,EACnB;CACC,cAAI,CAACI,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAAClC,MAAzB,CAAL,EACA;CACC,mBAAO,KAAP;CACA;;CAEDsC,UAAAA,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAAClC,MAAzB,IAAmCsC,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAAClC,MAAzB,EAAiCsH,MAAjC,CAAwC,UAAAoC,OAAO,EAAI;CACrF,mBAAO,CAACA,OAAO,CAACvE,EAAR,CAAW/B,QAAX,GAAsBC,UAAtB,CAAiC,aAAjC,CAAR;CACA,WAFkC,CAAnC;CAGA,SA5BK;CA6BNoI,QAAAA,kBAAkB,EAAE,4BAACnJ,KAAD,EAAQJ,OAAR,EACpB;CACC,cAAM0K,kBAAkB,wBAAiB1K,OAAO,CAAC2K,YAAzB,CAAxB;CACA,cAAMC,qBAAqB,GAAGxK,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAAClC,MAAzB,EAAiC2L,SAAjC,CAA2C,UAACtB,OAAD,EAAa;CACrF,mBAAOA,OAAO,CAAClF,EAAR,KAAeyH,kBAAtB;CACA,WAF6B,CAA9B,CAFD;;CAMC,cAAIE,qBAAqB,IAAI,CAA7B,EACA;CAAA;;CACC;CACAxK,YAAAA,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAAClC,MAAzB,EAAiC+M,MAAjC,CAAwCD,qBAAxC,EAA+D5K,OAAO,CAAC8K,MAAvE,EAFD;;CAIC,qCAAA1K,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAAClC,MAAzB,GAAiC+M,MAAjC,+BAAwCD,qBAAxC,EAA+D,CAA/D,wCAAqE5K,OAAO,CAAC+I,IAA7E,IAJD;;CAMC;;CAED3I,UAAAA,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAAClC,MAAzB,EAAiCuM,IAAjC,CAAsC,UAACC,CAAD,EAAIC,CAAJ;CAAA,mBAAUD,CAAC,CAACrH,EAAF,GAAOsH,CAAC,CAACtH,EAAnB;CAAA,WAAtC;CACAuH,UAAAA,oBAAM,CAACC,IAAP,CAAY,0DAAZ;;CACA,UAAA,MAAI,CAAC/J,SAAL,CAAeN,KAAf,EAAsBJ,OAAO,CAAClC,MAA9B;CACA,SAhDK;CAiDNgC,QAAAA,GAAG,EAAE,aAACM,KAAD,EAAQJ,OAAR,EACL;CACCwK,UAAAA,oBAAM,CAACC,IAAP,CAAY,8BAAZ,EAA4CzK,OAA5C;CACA,cAAI+K,KAAK,GAAG,EAAZ;CACA,cAAIC,SAAS,GAAG,EAAhB;CACA,cAAIC,MAAM,GAAG,KAAb;CAEAjL,UAAAA,OAAO,CAAC+I,IAAR,GAAepD,aAAa,CAACuF,0BAAd,CAAyC9K,KAAzC,EAAgDJ,OAAhD,CAAf;CAEA,cAAMiH,WAAW,GAAGjH,OAAO,CAAC8I,UAA5B;;CAEA,cAAI9I,OAAO,CAAC8I,UAAR,KAAuB5B,qBAAY,CAACpH,GAAxC,EACA;CAAA;CACCE,cAAAA,OAAO,CAAC8I,UAAR,GAAqB5B,qBAAY,CAACkC,QAAlC;CAEA,kBAAIQ,QAAQ,GAAG,EAAf;CACA5J,cAAAA,OAAO,CAAC+I,IAAR,CAAa/D,OAAb,CAAqB,UAAAwC,OAAO,EAAI;CAC/B,oBAAI,CAACoC,QAAQ,CAACpC,OAAO,CAAC1J,MAAT,CAAb,EACA;CACC8L,kBAAAA,QAAQ,CAACpC,OAAO,CAAC1J,MAAT,CAAR,GAA2B,EAA3B;CACA;;CACD8L,gBAAAA,QAAQ,CAACpC,OAAO,CAAC1J,MAAT,CAAR,CAAyBqH,IAAzB,CAA8BqC,OAAO,CAACvE,EAAtC;CACA,eAND;;CAJD,yCAYUnF,MAZV;CAcE,oBAAI,CAAC8L,QAAQ,CAACrJ,cAAT,CAAwBzC,MAAxB,CAAL,EACC;;CAED,gBAAA,MAAI,CAACsM,cAAL,CAAoBhK,KAApB,EAA2B;CAACtC,kBAAAA,MAAM,EAANA;CAAD,iBAA3B;;CACA0M,gBAAAA,oBAAM,CAACC,IAAP,CAAY,wDAAZ,EAAsErK,KAAK,CAACyF,UAAN,CAAiB/H,MAAjB,EAAyBuJ,MAA/F;;CAEA,oBACCjH,KAAK,CAAC2F,eAAN,CAAsBjI,MAAtB,EAA8BuJ,MAA9B,GAAuCuC,QAAQ,CAAC9L,MAAD,CAAR,CAAiBuJ,MAAxD,IACGuC,QAAQ,CAAC9L,MAAD,CAAR,CAAiBuJ,MAAjB,GAA0B8D,qBAAY,CAACC,QAF3C,EAIA;CACChL,kBAAAA,KAAK,CAACyF,UAAN,CAAiB/H,MAAjB,IAA2BsC,KAAK,CAACyF,UAAN,CAAiB/H,MAAjB,EAAyBsH,MAAzB,CAAgC,UAAAoC,OAAO;CAAA,2BAAIoC,QAAQ,CAAC9L,MAAD,CAAR,CAAiBoH,QAAjB,CAA0BsC,OAAO,CAACvE,EAAlC,CAAJ;CAAA,mBAAvC,CAA3B;CACA7C,kBAAAA,KAAK,CAAC2F,eAAN,CAAsBjI,MAAtB,IAAgCsC,KAAK,CAAC2F,eAAN,CAAsBjI,MAAtB,EAA8BsH,MAA9B,CAAqC,UAAAnC,EAAE;CAAA,2BAAI2G,QAAQ,CAAC9L,MAAD,CAAR,CAAiBoH,QAAjB,CAA0BjC,EAA1B,CAAJ;CAAA,mBAAvC,CAAhC;CACA;;CAEDuH,gBAAAA,oBAAM,CAACC,IAAP,CAAY,8BAAZ,EAA4CrK,KAAK,CAAC2F,eAAN,CAAsBjI,MAAtB,EAA8BuJ,MAA1E;;CACA,oBAAIgE,YAAY,GAAG,MAAI,CAACC,oBAAL,gCACdlL,KAAK,CAAC2F,eAAN,CAAsBjI,MAAtB,EAA8BuL,OAA9B,EADc,GAElBO,QAAQ,CAAC9L,MAAD,CAFU,CAAnB;;CAIA0M,gBAAAA,oBAAM,CAACC,IAAP,CAAY,6CAAZ,EAA2DY,YAA3D;;CAEA,oBAAIA,YAAY,CAACzM,IAAb,KAAsByG,gBAAgB,CAACG,IAA3C,EACA;CACC,sBAAI6F,YAAY,CAACE,aAAb,CAA2BlE,MAA3B,GAAoC,CAAxC,EACA;CACCjH,oBAAAA,KAAK,CAACyF,UAAN,CAAiB/H,MAAjB,IAA2BsC,KAAK,CAACyF,UAAN,CAAiB/H,MAAjB,EAAyBsH,MAAzB,CAAgC,UAAAoC,OAAO;CAAA,6BAAI,CAAC6D,YAAY,CAACE,aAAb,CAA2BrG,QAA3B,CAAoCsC,OAAO,CAACvE,EAA5C,CAAL;CAAA,qBAAvC,CAA3B;CACA7C,oBAAAA,KAAK,CAAC2F,eAAN,CAAsBjI,MAAtB,IAAgCsC,KAAK,CAAC2F,eAAN,CAAsBjI,MAAtB,EAA8BsH,MAA9B,CAAqC,UAAAnC,EAAE;CAAA,6BAAI,CAACoI,YAAY,CAACE,aAAb,CAA2BrG,QAA3B,CAAoCjC,EAApC,CAAL;CAAA,qBAAvC,CAAhC;CACA;;CAEDuH,kBAAAA,oBAAM,CAACC,IAAP,CAAY,kDAAZ;CACA,kBAAA,MAAI,CAACe,+BAAL,GAAuCpL,KAAK,CAACyF,UAAN,CAAiB/H,MAAjB,EAAyB8K,GAAzB,CAA6B,UAAApB,OAAO;CAAA,2BAAIA,OAAO,CAACvE,EAAZ;CAAA,mBAApC,CAAvC;CAEA7C,kBAAAA,KAAK,CAACyF,UAAN,CAAiB/H,MAAjB,IAA2BsC,KAAK,CAACyF,UAAN,CAAiB/H,MAAjB,EAAyBsH,MAAzB,CAAgC,UAAAoC,OAAO;CAAA,2BAAI,CAAC,MAAI,CAACgE,+BAAL,CAAqCtG,QAArC,CAA8CsC,OAAO,CAACvE,EAAtD,CAAL;CAAA,mBAAvC,CAA3B;CACA7C,kBAAAA,KAAK,CAAC2F,eAAN,CAAsBjI,MAAtB,IAAgCsC,KAAK,CAAC2F,eAAN,CAAsBjI,MAAtB,EAA8BsH,MAA9B,CAAqC,UAAAnC,EAAE;CAAA,2BAAI,CAAC,MAAI,CAACuI,+BAAL,CAAqCtG,QAArC,CAA8CjC,EAA9C,CAAL;CAAA,mBAAvC,CAAhC;CACA,kBAAA,MAAI,CAACuI,+BAAL,GAAuC,EAAvC;CACA,iBAdD,MAeK,IAAIH,YAAY,CAACzM,IAAb,KAAsByG,gBAAgB,CAACK,YAA3C,EACL;CACC8E,kBAAAA,oBAAM,CAACC,IAAP,CAAY,4CAAZ;CACAzK,kBAAAA,OAAO,CAAC8I,UAAR,GAAqB5B,qBAAY,CAACiC,SAAlC;CACAnJ,kBAAAA,OAAO,CAAC+I,IAAR,GAAe/I,OAAO,CAAC+I,IAAR,CAAaM,OAAb,EAAf;CACA;CAxDH;;CAYC,mBAAK,IAAIvL,MAAT,IAAmB8L,QAAnB,EACA;CAAA,iCADS9L,MACT;;CAAA,yCAEE;CA0CD;CAzDF;CA0DC;;CAED0M,UAAAA,oBAAM,CAACC,IAAP,CAAY,0CAAZ,EAAwDzK,OAAO,CAAC+I,IAAhE;;CAvED,qDAwEqB/I,OAAO,CAAC+I,IAxE7B;CAAA;;CAAA;CAAA;CAAA,kBAwEUvB,OAxEV;;CA0EE,cAAA,MAAI,CAAC4C,cAAL,CAAoBhK,KAApB,EAA2B;CAACtC,gBAAAA,MAAM,EAAE0J,OAAO,CAAC1J;CAAjB,eAA3B;;CAEA,kBAAI6J,KAAK,GAAGvH,KAAK,CAACyF,UAAN,CAAiB2B,OAAO,CAAC1J,MAAzB,EAAiC2L,SAAjC,CAA2C,UAAAgC,YAAY,EAAI;CACtE,oBAAI9F,aAAa,CAAC+F,kBAAd,CAAiCD,YAAjC,CAAJ,EACA;CACC,yBAAOA,YAAY,CAACvF,UAAb,KAA4BsB,OAAO,CAACtB,UAA3C;CACA;;CAED,uBAAOuF,YAAY,CAACxI,EAAb,KAAoBuE,OAAO,CAACvE,EAAnC;CACA,eAPW,CAAZ;;CAQA,kBAAI0E,KAAK,GAAG,CAAC,CAAb,EACA;CACCvH,gBAAAA,KAAK,CAACyF,UAAN,CAAiB2B,OAAO,CAAC1J,MAAzB,EAAiC6J,KAAjC,IAA0C/H,MAAM,CAACC,MAAP,CACzCO,KAAK,CAACyF,UAAN,CAAiB2B,OAAO,CAAC1J,MAAzB,EAAiC6J,KAAjC,CADyC,EAEzCH,OAFyC,CAA1C;CAIA,eAND,MAOK,IAAIxH,OAAO,CAAC8I,UAAR,KAAuB5B,qBAAY,CAACiC,SAAxC,EACL;CACC/I,gBAAAA,KAAK,CAACyF,UAAN,CAAiB2B,OAAO,CAAC1J,MAAzB,EAAiC6N,OAAjC,CAAyCnE,OAAzC;CACA,eAHI,MAIA,IAAIxH,OAAO,CAAC8I,UAAR,KAAuB5B,qBAAY,CAACkC,QAAxC,EACL;CACChJ,gBAAAA,KAAK,CAACyF,UAAN,CAAiB2B,OAAO,CAAC1J,MAAzB,EAAiCqH,IAAjC,CAAsCqC,OAAtC;CACA;;CAEDuD,cAAAA,KAAK,CAAC5F,IAAN,CAAWqC,OAAO,CAAC1J,MAAnB;;CAEA,kBAAI,MAAI,CAACiC,KAAL,CAAW6L,OAAX,CAAmB,uBAAnB,KAA+C,MAAI,CAAC7L,KAAL,CAAW6L,OAAX,CAAmB,uBAAnB,EAA4CpE,OAAO,CAAC1J,MAApD,CAAnD,EACA;CACCkN,gBAAAA,SAAS,CAAC7F,IAAV,CAAeqC,OAAO,CAAC1J,MAAvB;CACA;CAzGH;;CAwEC,gEACA;CAAA;CAiCC;CA1GF;CAAA;CAAA;CAAA;CAAA;;CA4GCiN,UAAAA,KAAK,kCAAO,IAAIc,GAAJ,CAAQd,KAAR,CAAP,CAAL;CACAC,UAAAA,SAAS,kCAAO,IAAIa,GAAJ,CAAQb,SAAR,CAAP,CAAT;CAEAC,UAAAA,MAAM,GAAGjL,OAAO,CAAC+I,IAAR,CAAa+C,KAAb,CAAmB,UAAAtE,OAAO;CAAA,mBAAIA,OAAO,CAACrC,IAAR,KAAiB,IAArB;CAAA,WAA1B,CAAT;CACAqF,UAAAA,oBAAM,CAACC,IAAP,CAAY,0BAAZ,EAAwCQ,MAAxC;CACAF,UAAAA,KAAK,CAAC/F,OAAN,CAAc,UAAAlH,MAAM,EAAI;CACvBsC,YAAAA,KAAK,CAACyF,UAAN,CAAiB/H,MAAjB,EAAyBuM,IAAzB,CAA8B,UAACC,CAAD,EAAIC,CAAJ;CAAA,qBAAUD,CAAC,CAACrH,EAAF,GAAOsH,CAAC,CAACtH,EAAnB;CAAA,aAA9B;;CAEA,gBAAI,CAACgI,MAAL,EACA;CACC;CACAT,cAAAA,oBAAM,CAACC,IAAP,CAAY,0CAAZ,EAAwD3M,MAAxD;CACA6L,cAAAA,UAAU,CAAC,YAAM;CAChBoC,gBAAAA,6BAAY,CAACC,IAAb,CAAkBC,kBAAS,CAACrO,MAAV,CAAiBsO,WAAnC,EAAgD;CAACpO,kBAAAA,MAAM,EAANA;CAAD,iBAAhD;CACAiO,gBAAAA,6BAAY,CAACC,IAAb,CAAkBC,kBAAS,CAACrO,MAAV,CAAiBuO,mBAAnC,EAAwD;CAACrO,kBAAAA,MAAM,EAANA;CAAD,iBAAxD;CACA,eAHS,EAGP,GAHO,CAAV;CAIA;CACD,WAZD;;CAcA,cAAImJ,WAAW,KAAKC,qBAAY,CAACiC,SAAjC,EACA;CACC6B,YAAAA,SAAS,CAAChG,OAAV,CAAkB,UAAAlH,MAAM,EAAI;CAC3B0M,cAAAA,oBAAM,CAACC,IAAP,CAAY,wCAAZ;;CACA,cAAA,MAAI,CAAC/J,SAAL,CAAeN,KAAf,EAAsBtC,MAAtB;CACA,aAHD;CAIA;CACD,SAxLK;CAyLN0L,QAAAA,MAAM,EAAE,gBAACpJ,KAAD,EAAQJ,OAAR,EACR;CACC,UAAA,MAAI,CAACoK,cAAL,CAAoBhK,KAApB,EAA2B;CAACtC,YAAAA,MAAM,EAAEkC,OAAO,CAAClC;CAAjB,WAA3B;;CAEA,cAAI6J,KAAK,GAAG,CAAC,CAAb;;CACA,cAAI,OAAO3H,OAAO,CAAC2H,KAAf,KAAyB,WAAzB,IAAwCvH,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAAClC,MAAzB,EAAiCkC,OAAO,CAAC2H,KAAzC,CAA5C,EACA;CACCA,YAAAA,KAAK,GAAG3H,OAAO,CAAC2H,KAAhB;CACA,WAHD,MAKA;CACCA,YAAAA,KAAK,GAAGvH,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAAClC,MAAzB,EAAiC2L,SAAjC,CAA2C,UAAAC,EAAE;CAAA,qBAAIA,EAAE,CAACzG,EAAH,KAAUjD,OAAO,CAACiD,EAAtB;CAAA,aAA7C,CAAR;CACA;;CAED,cAAI0E,KAAK,IAAI,CAAb,EACA;CACC,gBAAIyE,WAAW,GACdhM,KAAK,CAAC2F,eAAN,CAAsB/F,OAAO,CAAClC,MAA9B,EAAsCoH,QAAtC,CAA+C9E,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAAClC,MAAzB,EAAiC6J,KAAjC,EAAwC1E,EAAvF,KACGjD,OAAO,CAACgB,MAAR,CAAeiC,EAAf,IAAqB,CAACjD,OAAO,CAACgB,MAAR,CAAeiC,EAAf,CAAkB/B,QAAlB,GAA6BC,UAA7B,CAAwC,WAAxC,CAAtB,IAA8Ef,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAAClC,MAAzB,EAAiC6J,KAAjC,EAAwC1E,EAAxC,CAA2C/B,QAA3C,GAAsDC,UAAtD,CAAiE,WAAjE,CAFlF;CAKAf,YAAAA,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAAClC,MAAzB,EAAiC6J,KAAjC,IAA0C/H,MAAM,CAACC,MAAP,CACzCO,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAAClC,MAAzB,EAAiC6J,KAAjC,CADyC,EAEzC3H,OAAO,CAACgB,MAFiC,CAA1C;;CAKA,gBAAIoL,WAAJ,EACA;CACC5B,cAAAA,oBAAM,CAACC,IAAP,CAAY,2CAAZ;;CACA,cAAA,MAAI,CAAC/J,SAAL,CAAeN,KAAf,EAAsBJ,OAAO,CAAClC,MAA9B;CACA;CACD;CACD,SAzNK;CA0NN,kBAAQ,iBAACsC,KAAD,EAAQJ,OAAR,EACR;CACC,UAAA,MAAI,CAACoK,cAAL,CAAoBhK,KAApB,EAA2B;CAACtC,YAAAA,MAAM,EAAEkC,OAAO,CAAClC;CAAjB,WAA3B;;CAEAsC,UAAAA,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAAClC,MAAzB,IAAmCsC,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAAClC,MAAzB,EAAiCsH,MAAjC,CAAwC,UAAAoC,OAAO;CAAA,mBAAI,CAACxH,OAAO,CAAC4J,QAAR,CAAiB1E,QAAjB,CAA0BsC,OAAO,CAACvE,EAAlC,CAAL;CAAA,WAA/C,CAAnC;;CAEA,cAAI7C,KAAK,CAAC2F,eAAN,CAAsB/F,OAAO,CAAClC,MAA9B,EAAsCuJ,MAAtC,GAA+C,CAAnD,EACA;CAAA,wDACgBrH,OAAO,CAAC4J,QADxB;CAAA;;CAAA;CACC,qEACA;CAAA,oBADS3G,EACT;;CACC,oBAAI7C,KAAK,CAAC2F,eAAN,CAAsB/F,OAAO,CAAClC,MAA9B,EAAsCoH,QAAtC,CAA+CjC,EAA/C,CAAJ,EACA;CACCuH,kBAAAA,oBAAM,CAACC,IAAP,CAAY,2CAAZ;;CACA,kBAAA,MAAI,CAAC/J,SAAL,CAAeN,KAAf,EAAsBJ,OAAO,CAAClC,MAA9B;;CAEA;CACA;CACD;CAVF;CAAA;CAAA;CAAA;CAAA;CAWC;CACD,SA7OK;CA8ON+L,QAAAA,KAAK,EAAE,eAACzJ,KAAD,EAAQJ,OAAR,EACP;CACC,UAAA,MAAI,CAACoK,cAAL,CAAoBhK,KAApB,EAA2B;CAACtC,YAAAA,MAAM,EAAEkC,OAAO,CAAClC;CAAjB,WAA3B;;CAEAsC,UAAAA,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAAClC,MAAzB,IAAmC,EAAnC;CACAsC,UAAAA,KAAK,CAAC2F,eAAN,CAAsB/F,OAAO,CAAClC,MAA9B,IAAwC,EAAxC;CACA,SApPK;CAqPNuO,QAAAA,aAAa,EAAE,uBAACjM,KAAD,EAAQJ,OAAR,EACf;CACC,UAAA,MAAI,CAACoK,cAAL,CAAoBhK,KAApB,EAA2B;CAACtC,YAAAA,MAAM,EAAEkC,OAAO,CAAClC;CAAjB,WAA3B;;CAEAsC,UAAAA,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAAClC,MAAzB,IAAmCsC,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAAClC,MAAzB,EAAiCsH,MAAjC,CAAwC,UAAAoC,OAAO,EAAI;CACrF,mBAAOA,OAAO,CAACvE,EAAR,CAAW/B,QAAX,GAAsBC,UAAtB,CAAiC,aAAjC,CAAP;CACA,WAFkC,CAAnC;CAGAf,UAAAA,KAAK,CAAC2F,eAAN,CAAsB/F,OAAO,CAAClC,MAA9B,IAAwC,EAAxC;CACA,SA7PK;CA8PNiM,QAAAA,iBAAiB,EAAE,2BAAC3J,KAAD,EAAQJ,OAAR,EACnB;CACC,cAAI,OAAOI,KAAK,CAAC0F,YAAN,CAAmB9F,OAAO,CAAClC,MAA3B,CAAP,KAA8C,WAAlD,EACA;CACC0K,YAAAA,UAAG,CAAC1I,GAAJ,CAAQM,KAAK,CAAC0F,YAAd,EAA4B9F,OAAO,CAAClC,MAApC,EAA4C;CAACwO,cAAAA,OAAO,EAAE,KAAV;CAAiBrF,cAAAA,WAAW,EAAEC,qBAAY,CAAC1B,IAA3C;CAAiD2B,cAAAA,WAAW,EAAED,qBAAY,CAAC1B,IAA3E;CAAiF+G,cAAAA,gBAAgB,EAAE,CAAnG;CAAsGC,cAAAA,eAAe,EAAE;CAAvH,aAA5C;CACA;;CAEDpM,UAAAA,KAAK,CAAC0F,YAAN,CAAmB9F,OAAO,CAAClC,MAA3B,EAAmCwO,OAAnC,GAA6C,IAA7C;CACA,SAtQK;CAuQNtC,QAAAA,YAAY,EAAE,sBAAC5J,KAAD,EAAQJ,OAAR,EACd;CACC,UAAA,MAAI,CAACoK,cAAL,CAAoBhK,KAApB,EAA2B;CAACtC,YAAAA,MAAM,EAAEkC,OAAO,CAAClC;CAAjB,WAA3B;;CAEA,cAAI2O,UAAU,GAAG,KAAjB;;CACA,eAAK,IAAI9E,KAAK,GAAGvH,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAAClC,MAAzB,EAAiCuJ,MAAjC,GAAwC,CAAzD,EAA4DM,KAAK,IAAI,CAArE,EAAwEA,KAAK,EAA7E,EACA;CACC,gBAAIH,OAAO,GAAGpH,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAAClC,MAAzB,EAAiC6J,KAAjC,CAAd;CACA,gBAAI,CAACH,OAAO,CAACZ,MAAb,EACC;;CAED,gBAAI5G,OAAO,CAACiK,MAAR,KAAmB,CAAnB,IAAwBzC,OAAO,CAACvE,EAAR,IAAcjD,OAAO,CAACiK,MAAlD,EACA;CACC7J,cAAAA,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAAClC,MAAzB,EAAiC6J,KAAjC,IAA0C/H,MAAM,CAACC,MAAP,CACzCO,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAAClC,MAAzB,EAAiC6J,KAAjC,CADyC,EAEzC;CAACf,gBAAAA,MAAM,EAAE;CAAT,eAFyC,CAA1C;CAIA6F,cAAAA,UAAU,GAAG,IAAb;CACA;CACD;;CACD,cAAIA,UAAJ,EACA;CACCjC,YAAAA,oBAAM,CAACC,IAAP,CAAY,4CAAZ;;CACA,YAAA,MAAI,CAAC/J,SAAL,CAAeN,KAAf,EAAsBJ,OAAO,CAAClC,MAA9B;CACA;CACD,SAhSK;CAiSNoM,QAAAA,cAAc,EAAE,wBAAC9J,KAAD,EAAQJ,OAAR,EAChB;CACC,UAAA,MAAI,CAACoK,cAAL,CAAoBhK,KAApB,EAA2B;CAACtC,YAAAA,MAAM,EAAEkC,OAAO,CAAClC;CAAjB,WAA3B;;CAEA,cAAI2O,UAAU,GAAG,KAAjB;;CACA,eAAK,IAAI9E,KAAK,GAAGvH,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAAClC,MAAzB,EAAiCuJ,MAAjC,GAAwC,CAAzD,EAA4DM,KAAK,IAAI,CAArE,EAAwEA,KAAK,EAA7E,EACA;CACC,gBAAIH,OAAO,GAAGpH,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAAClC,MAAzB,EAAiC6J,KAAjC,CAAd;CACA,gBAAIH,OAAO,CAACZ,MAAZ,EACC;;CAED,gBAAIY,OAAO,CAACvE,EAAR,IAAcjD,OAAO,CAACmK,QAA1B,EACA;CACC/J,cAAAA,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAAClC,MAAzB,EAAiC6J,KAAjC,IAA0C/H,MAAM,CAACC,MAAP,CACzCO,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAAClC,MAAzB,EAAiC6J,KAAjC,CADyC,EAEzC;CAACf,gBAAAA,MAAM,EAAE;CAAT,eAFyC,CAA1C;CAIA6F,cAAAA,UAAU,GAAG,IAAb;CACA;CACD;;CACD,cAAIA,UAAJ,EACA;CACCjC,YAAAA,oBAAM,CAACC,IAAP,CAAY,8CAAZ;;CACA,YAAA,MAAI,CAAC/J,SAAL,CAAeN,KAAf,EAAsBJ,OAAO,CAAClC,MAA9B;;CACA,YAAA,MAAI,CAAC4O,uBAAL;CACA;CACD;CA3TK,OAAP;CA6TA;CAvyBF;CAAA;CAAA,mCAyyBgBtM,KAzyBhB,EAyyBuBJ,OAzyBvB,EA0yBC;CACC,UAAI,OAAOA,OAAO,CAAClC,MAAf,KAA0B,WAA9B,EACA;CACC,eAAO,KAAP;CACA;;CAED,UACC,OAAOkC,OAAO,CAAClC,MAAf,KAA0B,WAA1B,IACG,OAAOsC,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAAClC,MAAzB,CAAP,KAA4C,WAFhD,EAIA;CACC,eAAO,IAAP;CACA;;CAED0K,MAAAA,UAAG,CAAC1I,GAAJ,CAAQM,KAAK,CAACyF,UAAd,EAA0B7F,OAAO,CAAClC,MAAlC,EAA0CkC,OAAO,CAACoL,QAAR,GAAkB,GAAGuB,MAAH,CAAU3M,OAAO,CAACoL,QAAlB,CAAlB,GAA+C,EAAzF;CACA5C,MAAAA,UAAG,CAAC1I,GAAJ,CAAQM,KAAK,CAAC2F,eAAd,EAA+B/F,OAAO,CAAClC,MAAvC,EAA+C,EAA/C;CACA0K,MAAAA,UAAG,CAAC1I,GAAJ,CAAQM,KAAK,CAAC4F,YAAd,EAA4BhG,OAAO,CAAClC,MAApC,EAA4C,EAA5C;CACA0K,MAAAA,UAAG,CAAC1I,GAAJ,CAAQM,KAAK,CAAC6F,YAAd,EAA4BjG,OAAO,CAAClC,MAApC,EAA4C,EAA5C;CAEA,aAAO,IAAP;CACA;CA9zBF;CAAA;CAAA,mCAg0BgBqK,OAh0BhB,EAi0BC;CAAA,UADwBjJ,OACxB,uEADkC,EAClC;CACC,UAAI+B,MAAM,GAAG,KAAKf,QAAL,CAAcN,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBsI,OAAlB,CAAd,EAA0CjJ,OAA1C,CAAb;CAEA+B,MAAAA,MAAM,CAACwF,MAAP,GAAgB7G,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB,KAAKiI,eAAL,GAAuBrB,MAAzC,EAAiDxF,MAAM,CAACwF,MAAxD,CAAhB;;CACA,UAAI,CAACxF,MAAM,CAACiF,UAAZ,EACA;CACCjF,QAAAA,MAAM,CAACiF,UAAP,GAAoBjF,MAAM,CAACgC,EAA3B;CACA;;CAED,aAAOrD,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB,KAAKiI,eAAL,EAAlB,EAA0C7G,MAA1C,CAAP;CACA;CA30BF;CAAA;CAAA,yCA60BsB2L,KA70BtB,EA60B6BhD,QA70B7B,EA80BC;CAAA,UADsCiD,SACtC,uEADkD,KAClD;CACCrC,MAAAA,oBAAM,CAACC,IAAP,CAAY,sBAAZ,EAAoCmC,KAApC,EAA2ChD,QAA3C;CACA,UAAI3I,MAAM,GAAG;CACZrC,QAAAA,IAAI,EAAEyG,gBAAgB,CAACC,KADX;CAEZiG,QAAAA,aAAa,EAAE,EAFH;CAGZuB,QAAAA,YAAY,EAAE;CAHF,OAAb;;CAMA,UAAI,CAACF,KAAD,IAAUA,KAAK,CAACvF,MAAN,IAAgB,CAA9B,EACA;CACC,eAAOpG,MAAP;CACA;;CAXF,kDAagB2I,QAbhB;CAAA;;CAAA;CAaC,+DACA;CAAA,cADS3G,EACT;;CACC,cAAI2J,KAAK,CAAC1H,QAAN,CAAejC,EAAf,CAAJ,EACA;CACC,gBAAIhC,MAAM,CAACrC,IAAP,KAAgByG,gBAAgB,CAACC,KAArC,EACA;CACCrE,cAAAA,MAAM,CAACrC,IAAP,GAAcyG,gBAAgB,CAACI,KAA/B;CACA;;CACDxE,YAAAA,MAAM,CAACsK,aAAP,CAAqBpG,IAArB,CAA0BlC,EAA1B;CACA,WAPD,MASA;CACC,gBAAIhC,MAAM,CAACrC,IAAP,KAAgByG,gBAAgB,CAACC,KAArC,EACA;CACCrE,cAAAA,MAAM,CAACrC,IAAP,GAAcyG,gBAAgB,CAACG,IAA/B;CACA;;CACDvE,YAAAA,MAAM,CAAC6L,YAAP,CAAoB3H,IAApB,CAAyBlC,EAAzB;CACA;CACD;CA/BF;CAAA;CAAA;CAAA;CAAA;;CAiCC,UACChC,MAAM,CAACrC,IAAP,KAAgByG,gBAAgB,CAACI,KAAjC,IACGmH,KAAK,CAACvF,MAAN,KAAiBuC,QAAQ,CAACvC,MAD7B,IAEGpG,MAAM,CAACsK,aAAP,CAAqBlE,MAArB,KAAgCuC,QAAQ,CAACvC,MAH7C,EAKA;CACCpG,QAAAA,MAAM,CAACrC,IAAP,GAAcyG,gBAAgB,CAACE,KAA/B;CACA,OAPD,MAQK,IACJtE,MAAM,CAACrC,IAAP,KAAgByG,gBAAgB,CAACG,IAAjC,IACG,CAACqH,SADJ,IAEG5L,MAAM,CAACsK,aAAP,CAAqBlE,MAArB,GAA8B,CAH7B,EAKL;CACC,YAAI0F,aAAa,GAAG,KAAKzB,oBAAL,CAA0BsB,KAAK,CAACvD,OAAN,EAA1B,EAA2CO,QAAQ,CAACP,OAAT,EAA3C,EAA+D,IAA/D,CAApB;;CACA,YAAI0D,aAAa,CAACnO,IAAd,KAAuByG,gBAAgB,CAACI,KAA5C,EACA;CACCsH,UAAAA,aAAa,CAACnO,IAAd,GAAqByG,gBAAgB,CAACK,YAAtC;CACA,iBAAOqH,aAAP;CACA;CACD;;CAED,aAAO9L,MAAP;CACA;CAt4BF;CAAA;CAAA,oCAw4BiBb,KAx4BjB,EAw4BwBtC,MAx4BxB,EAy4BC;CACC,UAAI,CAAC,KAAKkP,eAAL,EAAL,EACA;CACC,eAAO,IAAP;CACA;;CAED,UACC,CAAClP,MAAD,IACG,CAAC,KAAKiC,KAAL,CAAW6L,OAAX,CAAmB,uBAAnB,CADJ,IAEG,CAAC,KAAK7L,KAAL,CAAW6L,OAAX,CAAmB,uBAAnB,EAA4C9N,MAA5C,CAHL,EAKA;CACC,eAAO,KAAP;CACA;;CAED,WAAKsM,cAAL,CAAoBhK,KAApB,EAA2B;CAACtC,QAAAA,MAAM,EAAEA;CAAT,OAA3B;CAEA,UAAI8C,KAAK,GAAG,CAAZ;CACA,UAAImF,eAAe,GAAG,EAAtB;CACA,UAAIC,YAAY,GAAG,EAAnB;CACA,UAAIC,YAAY,GAAG,EAAnB;CAEA,UAAIrI,MAAM,GAAG,KAAKmC,KAAL,CAAW6L,OAAX,CAAmB,uBAAnB,EAA4C9N,MAA5C,CAAb;;CACA,UAAIF,MAAM,IAAIA,MAAM,CAACgB,IAAP,KAAgB,SAA9B,EACA;CACCqH,QAAAA,YAAY,CAACd,IAAb,CAAkB9D,QAAQ,CAACzD,MAAM,CAACC,QAAR,CAA1B;CACA;;CAED,UAAIoP,WAAW,GAAG,CAAlB;;CACA,WAAK,IAAItF,KAAK,GAAGvH,KAAK,CAACyF,UAAN,CAAiB/H,MAAjB,EAAyBuJ,MAAzB,GAAgC,CAAjD,EAAoDM,KAAK,IAAI,CAA7D,EAAgEA,KAAK,EAArE,EACA;CACC,YAAIvH,KAAK,CAACyF,UAAN,CAAiB/H,MAAjB,EAAyB6J,KAAzB,EAAgC1E,EAAhC,CAAmC/B,QAAnC,GAA8CC,UAA9C,CAAyD,WAAzD,CAAJ,EACA;CACC;CACA;;CAED,YAAI,CAACf,KAAK,CAACyF,UAAN,CAAiB/H,MAAjB,EAAyB6J,KAAzB,EAAgCf,MAArC,EACA;CACCqG,UAAAA,WAAW;CACX;;CAED,YAAIrM,KAAK,IAAIuK,qBAAY,CAACC,QAAtB,IAAkC6B,WAAW,IAAI,EAArD,EACA;CACC;CACA;;CAEDlH,QAAAA,eAAe,CAAC4F,OAAhB,CAAwBvL,KAAK,CAACyF,UAAN,CAAiB/H,MAAjB,EAAyB6J,KAAzB,EAAgC1E,EAAxD;CAEArC,QAAAA,KAAK;CACL;;CAEDmF,MAAAA,eAAe,GAAGA,eAAe,CAACmH,KAAhB,CAAsB,CAAtB,EAAyB/B,qBAAY,CAACC,QAAtC,CAAlB;CAEAhL,MAAAA,KAAK,CAACyF,UAAN,CAAiB/H,MAAjB,EAAyBsH,MAAzB,CAAgC,UAAAoC,OAAO;CAAA,eAAIzB,eAAe,CAACb,QAAhB,CAAyBsC,OAAO,CAACvE,EAAjC,CAAJ;CAAA,OAAvC,EAAiF+B,OAAjF,CAAyF,UAAAwC,OAAO,EAChG;CACC,YAAIA,OAAO,CAACnB,QAAR,GAAmB,CAAvB,EACA;CACCJ,UAAAA,YAAY,CAACd,IAAb,CAAkBqC,OAAO,CAACnB,QAA1B;CACA;;CAED,YAAImB,OAAO,CAACf,MAAR,CAAe0G,OAAf,YAAkC1J,KAAtC,EACA;CACCuC,UAAAA,YAAY,GAAGwB,OAAO,CAACf,MAAR,CAAe0G,OAAf,CAAuBR,MAAvB,CAA8B3G,YAA9B,CAAf;CACA;CACD,OAXD;CAaA5F,MAAAA,KAAK,CAAC2F,eAAN,CAAsBjI,MAAtB,IAAgCiI,eAAhC;CACA3F,MAAAA,KAAK,CAAC4F,YAAN,CAAmBlI,MAAnB,mCAAiC,IAAI+N,GAAJ,CAAQ7F,YAAR,CAAjC;CACA5F,MAAAA,KAAK,CAAC6F,YAAN,CAAmBnI,MAAnB,mCAAiC,IAAI+N,GAAJ,CAAQ5F,YAAR,CAAjC;CAEA,aAAO,IAAP;CACA;CAh9BF;CAAA;CAAA,qCAm9BC;CACC,aAAO,GAAP;CACA;CAr9BF;CAAA;CAAA,8BAu9BW7F,KAv9BX,EAu9BkBtC,MAv9BlB,EAw9BC;CACC,UAAI,CAAC,KAAKsP,eAAL,CAAqBhN,KAArB,EAA4BtC,MAA5B,CAAL,EACA;CACC,eAAO,KAAP;CACA;;CAED,2GAAgB,YAChB;CACC,YAAIuP,WAAW,GAAG;CACjBxH,UAAAA,UAAU,EAAE,EADK;CAEjBE,UAAAA,eAAe,EAAE,EAFA;CAGjBE,UAAAA,YAAY,EAAE,EAHG;CAIjBD,UAAAA,YAAY,EAAE;CAJG,SAAlB;;CADD,qCAQUlI,OARV;CAUE,cAAI,CAACsC,KAAK,CAAC2F,eAAN,CAAsBxF,cAAtB,CAAqCzC,OAArC,CAAL,EACA;CACC;CACA;;CAED,cAAI,CAACsC,KAAK,CAACyF,UAAN,CAAiB/H,OAAjB,CAAL,EACA;CACC;CACA;;CAED,cAAI,CAACuP,WAAW,CAACxH,UAAZ,CAAuB/H,OAAvB,CAAL,EACA;CACCuP,YAAAA,WAAW,CAACxH,UAAZ,CAAuB/H,OAAvB,IAAiC,EAAjC;CACA;;CAEDsC,UAAAA,KAAK,CAACyF,UAAN,CAAiB/H,OAAjB,EACEsH,MADF,CACS,UAAAoC,OAAO;CAAA,mBAAIpH,KAAK,CAAC2F,eAAN,CAAsBjI,OAAtB,EAA8BoH,QAA9B,CAAuCsC,OAAO,CAACvE,EAA/C,CAAJ;CAAA,WADhB,EAEE+B,OAFF,CAEU,UAAAwC,OAAO,EAAI;CACnB,gBAAIA,OAAO,CAACrB,YAAR,KAAyB,aAA7B,EACA;CACCkH,cAAAA,WAAW,CAACxH,UAAZ,CAAuB/H,OAAvB,EAA+BqH,IAA/B,CAAoCqC,OAApC;CACA;CACD,WAPF;;CAQAgD,UAAAA,oBAAM,CAACC,IAAP,CAAY,sBAAZ,EAAoC4C,WAAW,CAACxH,UAAZ,CAAuB/H,OAAvB,CAApC;CAEAuP,UAAAA,WAAW,CAACtH,eAAZ,CAA4BjI,OAA5B,IAAsCsC,KAAK,CAAC2F,eAAN,CAAsBjI,OAAtB,CAAtC;CACAuP,UAAAA,WAAW,CAACrH,YAAZ,CAAyBlI,OAAzB,IAAmCsC,KAAK,CAAC4F,YAAN,CAAmBlI,OAAnB,CAAnC;CACAuP,UAAAA,WAAW,CAACpH,YAAZ,CAAyBnI,OAAzB,IAAmCsC,KAAK,CAAC6F,YAAN,CAAmBnI,OAAnB,CAAnC;CArCF;;CAQC,aAAK,IAAIA,OAAT,IAAmBsC,KAAK,CAAC2F,eAAzB,EACA;CAAA,6BADSjI,OACT;;CAAA,oCAQE;CAqBD;;CAED,eAAOuP,WAAP;CACA,OA1CD;CA2CA;CAzgCF;CAAA;CAAA,8CA4gCC;CACC,WAAKtN,KAAL,CAAWsI,QAAX,CAAoB,iBAApB;CACA,WAAKtI,KAAL,CAAWsI,QAAX,CAAoB,iBAApB;CACA;CA/gCF;CAAA;CAAA,6BAihCUrH,MAjhCV,EAihCkB9B,OAjhClB,EAkhCC;CACC,UAAM+B,MAAM,GAAG,EAAf;;CAEA,UAAI,OAAOD,MAAM,CAACiC,EAAd,KAAqB,QAAzB,EACA;CACChC,QAAAA,MAAM,CAACgC,EAAP,GAAYjC,MAAM,CAACiC,EAAnB;CACA,OAHD,MAIK,IAAI,OAAOjC,MAAM,CAACiC,EAAd,KAAqB,QAAzB,EACL;CACC,YAAIjC,MAAM,CAACiC,EAAP,CAAU9B,UAAV,CAAqB,WAArB,KAAqCH,MAAM,CAACiC,EAAP,CAAU9B,UAAV,CAAqB,aAArB,CAArC,IAA4EmM,kBAAK,CAACC,KAAN,CAAYC,QAAZ,CAAqBxM,MAAM,CAACiC,EAA5B,CAAhF,EACA;CACChC,UAAAA,MAAM,CAACgC,EAAP,GAAYjC,MAAM,CAACiC,EAAnB;CACA,SAHD,MAKA;CACChC,UAAAA,MAAM,CAACgC,EAAP,GAAY5B,QAAQ,CAACL,MAAM,CAACiC,EAAR,CAApB;CACA;CACD;;CAED,UAAI,OAAOjC,MAAM,CAACyM,IAAd,KAAuB,QAA3B,EACA;CACCxM,QAAAA,MAAM,CAACiF,UAAP,GAAoBlF,MAAM,CAACyM,IAA3B;CACA,OAHD,MAIK,IAAI,OAAOzM,MAAM,CAACkF,UAAd,KAA6B,QAAjC,EACL;CACCjF,QAAAA,MAAM,CAACiF,UAAP,GAAoBlF,MAAM,CAACkF,UAA3B;CACA,OAHI,MAIA,IAAI,OAAOlF,MAAM,CAACkF,UAAd,KAA6B,QAAjC,EACL;CACC,YAAIlF,MAAM,CAACkF,UAAP,CAAkB/E,UAAlB,CAA6B,WAA7B,KAA6CmM,kBAAK,CAACC,KAAN,CAAYC,QAAZ,CAAqBxM,MAAM,CAACkF,UAA5B,CAAjD,EACA;CACCjF,UAAAA,MAAM,CAACiF,UAAP,GAAoBlF,MAAM,CAACkF,UAA3B;CACA,SAHD,MAKA;CACCjF,UAAAA,MAAM,CAACiF,UAAP,GAAoB7E,QAAQ,CAACL,MAAM,CAACkF,UAAR,CAA5B;CACA;CACD;;CAED,UAAI,OAAOlF,MAAM,CAACmF,YAAd,KAA+B,QAAnC,EACA;CACClF,QAAAA,MAAM,CAACkF,YAAP,GAAsBnF,MAAM,CAACmF,YAA7B;CACA;;CAED,UAAI,OAAOnF,MAAM,CAACoF,eAAd,KAAkC,QAAtC,EACA;CACCnF,QAAAA,MAAM,CAACmF,eAAP,GAAyBpF,MAAM,CAACoF,eAAhC;CACA;;CAED,UAAI,OAAOpF,MAAM,CAAC0M,OAAd,KAA0B,WAA9B,EACA;CACC1M,QAAAA,MAAM,CAAClD,MAAP,GAAgBkD,MAAM,CAAC0M,OAAvB;CACA;;CACD,UAAI,OAAO1M,MAAM,CAAClD,MAAd,KAAyB,QAAzB,IAAqC,OAAOkD,MAAM,CAAClD,MAAd,KAAyB,QAAlE,EACA;CACCmD,QAAAA,MAAM,CAACnD,MAAP,GAAgBuD,QAAQ,CAACL,MAAM,CAAClD,MAAR,CAAxB;CACA;;CACD,UAAI,OAAOkD,MAAM,CAACsF,IAAd,KAAuB,WAA3B,EACA;CACCrF,QAAAA,MAAM,CAACqF,IAAP,GAAcgH,kBAAK,CAAChH,IAAN,CAAWqH,IAAX,CAAgB3M,MAAM,CAACsF,IAAvB,CAAd;CACA,OA5DF;;;CA+DC,UAAI,OAAOtF,MAAM,CAAC4M,YAAd,KAA+B,QAA/B,IAA2C,OAAO5M,MAAM,CAAC4M,YAAd,KAA+B,QAA9E,EACA;CACC3M,QAAAA,MAAM,CAACsF,IAAP,GAAcvF,MAAM,CAAC4M,YAAP,CAAoB1M,QAApB,EAAd;;CAEA,YAAI,OAAOF,MAAM,CAACuF,IAAd,KAAuB,QAAvB,IAAmC,OAAOvF,MAAM,CAACuF,IAAd,KAAuB,QAA9D,EACA;CACCtF,UAAAA,MAAM,CAACuF,aAAP,GAAuB,KAAKqH,aAAL,CAAmB;CACzCtH,YAAAA,IAAI,EAAEvF,MAAM,CAACuF,IAAP,CAAYrF,QAAZ,EADmC;CAEzC4M,YAAAA,WAAW,EAAE;CAF4B,WAAnB,CAAvB;CAIA;CACD,OAXD;CAaA;CACC,cAAI,OAAO9M,MAAM,CAAC+M,cAAd,KAAiC,WAArC,EACA;CACC/M,YAAAA,MAAM,CAACwF,aAAP,GAAuBxF,MAAM,CAAC+M,cAA9B;CACA;;CACD,cAAI,OAAO/M,MAAM,CAACwF,aAAd,KAAgC,QAAhC,IAA4C,OAAOxF,MAAM,CAACwF,aAAd,KAAgC,QAAhF,EACA;CACCvF,YAAAA,MAAM,CAACuF,aAAP,GAAuBxF,MAAM,CAACwF,aAAP,CAAqBtF,QAArB,EAAvB;CACA;;CACD,cAAI,OAAOF,MAAM,CAACuF,IAAd,KAAuB,QAAvB,IAAmC,OAAOvF,MAAM,CAACuF,IAAd,KAAuB,QAA9D,EACA;CACCtF,YAAAA,MAAM,CAACsF,IAAP,GAAcvF,MAAM,CAACuF,IAAP,CAAYrF,QAAZ,EAAd;CAEA,gBAAI4M,WAAW,GAAG,OAAO7M,MAAM,CAACuF,aAAd,KAAgC,WAAlD;CAEAvF,YAAAA,MAAM,CAACuF,aAAP,GAAuB,KAAKqH,aAAL,CAAmB;CACzCtH,cAAAA,IAAI,EAAEuH,WAAW,GAAE7M,MAAM,CAACuF,aAAT,GAAwBvF,MAAM,CAACsF,IADP;CAEzCuH,cAAAA,WAAW,EAAXA;CAFyC,aAAnB,CAAvB;CAIA;CACD;;CAED,UAAI,OAAO9M,MAAM,CAACgN,QAAd,KAA2B,WAA/B,EACA;CACChN,QAAAA,MAAM,CAACqF,QAAP,GAAkBrF,MAAM,CAACgN,QAAzB;CACA,OAHD,MAIK,IAAI,OAAOhN,MAAM,CAACiN,SAAd,KAA4B,WAAhC,EACL;CACCjN,QAAAA,MAAM,CAACqF,QAAP,GAAkBrF,MAAM,CAACiN,SAAzB;CACA;;CACD,UAAI,OAAOjN,MAAM,CAACqF,QAAd,KAA2B,QAA3B,IAAuC,OAAOrF,MAAM,CAACqF,QAAd,KAA2B,QAAtE,EACA;CACC,YAAIrF,MAAM,CAACkN,MAAP,KAAkB,IAAlB,IAA0BlN,MAAM,CAACkN,MAAP,KAAkB,GAAhD,EACA;CACCjN,UAAAA,MAAM,CAACoF,QAAP,GAAkB,CAAlB;CACA,SAHD,MAKA;CACCpF,UAAAA,MAAM,CAACoF,QAAP,GAAkBhF,QAAQ,CAACL,MAAM,CAACqF,QAAR,CAA1B;CACA;CACD;;CAED,UAAI,uBAAOrF,MAAM,CAACyF,MAAd,MAAyB,QAAzB,IAAqCzF,MAAM,CAACyF,MAAP,KAAkB,IAA3D,EACA;CACC,YAAMA,MAAM,GAAG,KAAK0H,cAAL,CAAoBnN,MAAM,CAACyF,MAA3B,EAAmCvH,OAAnC,CAAf;;CACA,YAAIuH,MAAJ,EACA;CACCxF,UAAAA,MAAM,CAACwF,MAAP,GAAgBA,MAAhB;CACA;CACD;;CAED,UAAI,OAAOzF,MAAM,CAACmE,IAAd,KAAuB,SAA3B,EACA;CACClE,QAAAA,MAAM,CAACkE,IAAP,GAAcnE,MAAM,CAACmE,IAArB;CACA;;CAED,UAAI,OAAOnE,MAAM,CAAC6F,OAAd,KAA0B,SAA9B,EACA;CACC5F,QAAAA,MAAM,CAAC4F,OAAP,GAAiB7F,MAAM,CAAC6F,OAAxB;CACA;;CAED,UAAI,OAAO7F,MAAM,CAAC4F,MAAd,KAAyB,SAA7B,EACA;CACC3F,QAAAA,MAAM,CAAC2F,MAAP,GAAgB5F,MAAM,CAAC4F,MAAvB;CACA;;CAED,UAAI,OAAO5F,MAAM,CAAC+F,KAAd,KAAwB,SAA5B,EACA;CACC9F,QAAAA,MAAM,CAAC8F,KAAP,GAAe/F,MAAM,CAAC+F,KAAtB;CACA;;CAED,UAAI,OAAO/F,MAAM,CAACxB,KAAd,KAAwB,SAAxB,IAAqC,OAAOwB,MAAM,CAACxB,KAAd,KAAwB,QAAjE,EACA;CACCyB,QAAAA,MAAM,CAACzB,KAAP,GAAewB,MAAM,CAACxB,KAAtB;CACA;;CAED,UAAI,OAAOwB,MAAM,CAAC8F,KAAd,KAAwB,SAA5B,EACA;CACC7F,QAAAA,MAAM,CAAC6F,KAAP,GAAe9F,MAAM,CAAC8F,KAAtB;CACA;;CAED,aAAO7F,MAAP;CACA;CAhrCF;CAAA;CAAA,mCAkrCgBwF,MAlrChB,EAkrCwBvH,OAlrCxB,EAmrCC;CACC,UAAM+B,MAAM,GAAG,EAAf;;CACA,UACA;CACC,aAAK,IAAIT,KAAT,IAAkBiG,MAAlB,EACA;CACC,cAAI,CAACA,MAAM,CAAClG,cAAP,CAAsBC,KAAtB,CAAL,EACA;CACC;CACA;;CAED,cAAIA,KAAK,KAAK,cAAd,EACA;CACC,gBAAI,OAAOiG,MAAM,CAACjG,KAAD,CAAb,KAAyB,QAAzB,IAAqC4N,EAAE,CAAC5F,GAAH,CAAO6F,WAAP,CAAmB5H,MAAM,CAACjG,KAAD,CAAzB,CAAzC,EACA;CACCS,cAAAA,MAAM,CAACT,KAAD,CAAN,GAAgBiG,MAAM,CAACjG,KAAD,CAAtB;CACA;CACD,WAND,MAOK,IAAIA,KAAK,KAAK,MAAd,EACL;CACC,gBAAIiG,MAAM,CAACjG,KAAD,CAAN,YAAyBiD,KAA7B,EACA;CACCxC,cAAAA,MAAM,CAAC,UAAD,CAAN,GAAqB;CAACqN,gBAAAA,IAAI,EAAE7H,MAAM,CAACjG,KAAD,CAAN,CAAcoI,GAAd,CAAkB,UAAApB,OAAO;CAAA,yBAAInG,QAAQ,CAACmG,OAAD,CAAZ;CAAA,iBAAzB;CAAP,eAArB;CACA;CACD,WANI,MAOA,IAAIhH,KAAK,KAAK,gBAAd,EACL;CACCS,YAAAA,MAAM,CAACT,KAAD,CAAN,GAAgB8M,kBAAK,CAAChH,IAAN,CAAWqH,IAAX,CAAgBlH,MAAM,CAACjG,KAAD,CAAtB,CAAhB;CACA,WAHI,MAIA,IAAIA,KAAK,KAAK,QAAd,EACL;CACC,gBAAIiG,MAAM,CAACjG,KAAD,CAAV,EACA;CACCS,cAAAA,MAAM,CAACT,KAAD,CAAN,GAAgBiG,MAAM,CAACjG,KAAD,CAAN,CAAcW,UAAd,CAAyB,MAAzB,IAAmCsF,MAAM,CAACjG,KAAD,CAAzC,GAAmDtB,OAAO,CAAC7B,IAAR,GAAeoJ,MAAM,CAACjG,KAAD,CAAxF;CACA;CACD,WANI,MAOA,IAAIA,KAAK,KAAK,MAAd,EACL;CACC,gBAAIiG,MAAM,CAACjG,KAAD,CAAV,EACA;CACCS,cAAAA,MAAM,CAACT,KAAD,CAAN,GAAgBiG,MAAM,CAACjG,KAAD,CAAtB;CACA;CACD,WANI,MAOA,IAAIA,KAAK,KAAK,aAAd,EACL;CACC,gBAAIiG,MAAM,CAACjG,KAAD,CAAV,EACA;CACCS,cAAAA,MAAM,CAACT,KAAD,CAAN,GAAgBiG,MAAM,CAACjG,KAAD,CAAN,CAAcoI,GAAd,CAAkB,UAASlL,MAAT,EAAiB;CAClD,uBAAO2D,QAAQ,CAAC3D,MAAD,CAAf;CACA,eAFe,CAAhB;CAGA;CACD,WARI,MASA,IAAI8C,KAAK,KAAK,QAAd,EACL;CACCS,YAAAA,MAAM,CAACT,KAAD,CAAN,GAAgB,KAAK+N,YAAL,CAAkB9H,MAAM,CAACjG,KAAD,CAAxB,CAAhB;CACA,WAHI,MAKL;CACCS,YAAAA,MAAM,CAACT,KAAD,CAAN,GAAgBiG,MAAM,CAACjG,KAAD,CAAtB;CACA;CACD;CACD,OA3DD,CA4DA,OAAOgO,CAAP,EAAU;;CAEV,UAAIC,iBAAiB,GAAG,KAAxB;;CACA,WAAK,IAAIjO,MAAT,IAAkBS,MAAlB,EACA;CACC,YAAI,CAACA,MAAM,CAACV,cAAP,CAAsBC,MAAtB,CAAL,EACA;CACC;CACA;;CAEDiO,QAAAA,iBAAiB,GAAG,IAApB;CACA;CACA;;CAED,aAAOA,iBAAiB,GAAExN,MAAF,GAAU,IAAlC;CACA;CAhwCF;CAAA;CAAA,oCAmwCC;CAAA,UADcwF,MACd,uEADuB,EACvB;CACC,0BAMIA,MANJ,CACCiI,KADD;CAAA,UACCA,KADD,8BACS,IADT;CAAA,0BAMIjI,MANJ,CAECkI,KAFD;CAAA,UAECA,KAFD,8BAES,IAFT;CAAA,yBAMIlI,MANJ,CAGCF,IAHD;CAAA,UAGCA,IAHD,6BAGQ,EAHR;CAAA,gCAMIE,MANJ,CAICqH,WAJD;CAAA,UAICA,WAJD,oCAIe,KAJf;CAAA,kCAMIrH,MANJ,CAKCmI,cALD;CAAA,UAKCA,cALD,sCAKkB,IALlB;CAQArI,MAAAA,IAAI,GAAGA,IAAI,CAACsI,IAAL,EAAP;;CAEA,UAAI,CAACf,WAAL,EACA;CACCvH,QAAAA,IAAI,GAAGA,IAAI,CAACxB,OAAL,CAAa,IAAb,EAAmB,OAAnB,EAA4BA,OAA5B,CAAoC,IAApC,EAA0C,QAA1C,EAAoDA,OAApD,CAA4D,IAA5D,EAAkE,MAAlE,EAA0EA,OAA1E,CAAkF,IAAlF,EAAwF,MAAxF,CAAP;CACA;;CAED,UAAIwB,IAAI,CAACpF,UAAL,CAAgB,KAAhB,CAAJ,EACA;CACCoF,QAAAA,IAAI,gBAASA,IAAI,CAACnF,MAAL,CAAY,CAAZ,CAAT,SAAJ;CACA,OAHD,MAIK,IAAImF,IAAI,CAACpF,UAAL,CAAgB,OAAhB,CAAJ,EACL;CACCoF,QAAAA,IAAI,gBAASA,IAAI,CAACnF,MAAL,CAAY,CAAZ,CAAT,SAAJ;CACA;;CAED,UAAM0N,SAAS,GAAG,UAAlB;;CACA,UAAIJ,KAAK,IAAInI,IAAI,CAACwI,OAAL,CAAaD,SAAb,KAA2B,CAAxC,EACA;AACC,CACA,YAAIE,WAAW,GAAGzI,IAAI,CAAC0I,KAAL,CAAWnB,WAAW,GAAE,QAAF,GAAY,IAAlC,CAAlB;;CACA,aAAK,IAAIvG,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGyH,WAAW,CAAC3H,MAAhC,EAAwCE,CAAC,EAAzC,EACA;CACC,cAAIyH,WAAW,CAACzH,CAAD,CAAX,CAAepG,UAAf,CAA0B2N,SAA1B,CAAJ,EACA;CACCE,YAAAA,WAAW,CAACzH,CAAD,CAAX,GAAiByH,WAAW,CAACzH,CAAD,CAAX,CAAexC,OAAf,CAAuB+J,SAAvB,EAAkC,yFAAlC,CAAjB;;CACA,mBAAO,EAAEvH,CAAF,GAAMyH,WAAW,CAAC3H,MAAlB,IAA4B2H,WAAW,CAACzH,CAAD,CAAX,CAAepG,UAAf,CAA0B2N,SAA1B,CAAnC,EACA;CACCE,cAAAA,WAAW,CAACzH,CAAD,CAAX,GAAiByH,WAAW,CAACzH,CAAD,CAAX,CAAexC,OAAf,CAAuB+J,SAAvB,EAAkC,EAAlC,CAAjB;CACA;;CACDE,YAAAA,WAAW,CAACzH,CAAC,GAAG,CAAL,CAAX,IAAsB,kBAAtB;AACA2H,CACA;CACD;;CACD3I,QAAAA,IAAI,GAAGyI,WAAW,CAACG,IAAZ,CAAiB,QAAjB,CAAP;CACA;;CAED5I,MAAAA,IAAI,GAAGA,IAAI,CAACxB,OAAL,CAAa,MAAb,EAAqB,QAArB,CAAP;CAEAwB,MAAAA,IAAI,GAAGA,IAAI,CAACxB,OAAL,CAAa,MAAb,EAAqB,0BAArB,CAAP;CAEAwB,MAAAA,IAAI,GAAG,KAAK6I,YAAL,CAAkB7I,IAAlB,EAAwB,KAAxB,EAA+BqI,cAA/B,CAAP;;CAEA,UAAIF,KAAJ,EACA;CACCnI,QAAAA,IAAI,GAAGA,IAAI,CAACxB,OAAL,CAAa,0JAAb,EAAyK,UAAUsK,KAAV,EAAiBC,EAAjB,EAAqBC,EAArB,EAAyBC,EAAzB,EAA6BC,EAA7B,EAAiCC,MAAjC,EAAyC;CACxN,iBAAO,CAACA,MAAM,GAAG,CAAT,GAAY,MAAZ,GAAoB,EAArB,IAA2B,mMAA3B,GAAiOJ,EAAjO,GAAsO,+DAAtO,GAAwSC,EAAxS,GAA6S,eAA7S,GAA+TC,EAA/T,GAAoU,oBAA3U;CACA,SAFM,CAAP;CAGAjJ,QAAAA,IAAI,GAAGA,IAAI,CAACxB,OAAL,CAAa,qIAAb,EAAoJ,UAAUsK,KAAV,EAAiBC,EAAjB,EAAqBC,EAArB,EAAyBC,EAAzB,EAA6BE,MAA7B,EAAqC;CAC/L,iBAAO,CAACA,MAAM,GAAG,CAAT,GAAY,MAAZ,GAAoB,EAArB,IAA2B,6FAA3B,GAA2HJ,EAA3H,GAAgI,oBAAvI;CACA,SAFM,CAAP;CAGA;;CAED,UAAIX,KAAJ,EACA;CACC,YAAIgB,OAAO,GAAG,KAAd;CACApJ,QAAAA,IAAI,GAAGA,IAAI,CAACxB,OAAL,CAAa,uCAAb,EAAsD,UAASsK,KAAT,EAAgBO,MAAhB,EAAwBrJ,IAAxB,EAA8BmJ,MAA9B,EAC7D;CACC,cAAG,CAACnJ,IAAI,CAACsJ,KAAL,CAAW,2DAAX,CAAD,IAA4EtJ,IAAI,CAACwI,OAAL,CAAa,YAAb,IAA6B,CAAzG,IAA8GxI,IAAI,CAACwI,OAAL,CAAa,YAAb,IAA6B,CAA9I,EACA;CACC,mBAAOM,KAAP;CACA,WAHD,MAKA;CACCM,YAAAA,OAAO,GAAG,IAAV;CACA,mBAAO,CAACD,MAAM,GAAG,CAAT,GAAY,QAAZ,GAAqB,EAAtB,IAA0B,IAA1B,GAAgCE,MAAhC,GAAwC,8DAAxC,GAAuGrJ,IAAvG,GAA4G,4HAAnH;CACA;CACD,SAXM,CAAP;;CAYA,YAAIoJ,OAAJ,EACA;CACCpJ,UAAAA,IAAI,GAAGA,IAAI,CAACxB,OAAL,CAAa,4BAAb,EAA2C,SAA3C,EAAsDA,OAAtD,CAA8D,yCAA9D,EAAyG,aAAzG,CAAP;CACA;CACD;;CAED,UAAI6J,cAAJ,EACA;CACCrI,QAAAA,IAAI,GAAGA,IAAI,CAACxB,OAAL,CACN,iJADM,EAEN,SAAS+K,eAAT,CAAyBD,KAAzB,EAAgCE,KAAhC,EAAuCC,KAAvC,EAA8CC,MAA9C,EAAsDC,MAAtD,EAA8DC,GAA9D,EAAmE;CAClE,iBAAOJ,KAAK,GAAI1O,QAAQ,CAAC2O,KAAD,EAAQ,EAAR,CAAR,GAAsB,GAA/B,GAAsCC,MAAtC,GAAgD5O,QAAQ,CAAC6O,MAAD,EAAS,EAAT,CAAR,GAAuB,GAAvE,GAA8EC,GAArF;CACA,SAJK,CAAP;CAMA;;CAED,UAAI5J,IAAI,CAACnF,MAAL,CAAY,CAAC,CAAb,KAAmB,QAAvB,EACA;CACCmF,QAAAA,IAAI,GAAGA,IAAI,CAACnF,MAAL,CAAY,CAAZ,EAAemF,IAAI,CAACc,MAAL,GAAc,CAA7B,CAAP;CACA;;CACDd,MAAAA,IAAI,GAAGA,IAAI,CAACxB,OAAL,CAAa,eAAb,EAA8B,QAA9B,CAAP;CACAwB,MAAAA,IAAI,GAAGA,IAAI,CAACxB,OAAL,CAAa,eAAb,EAA8B,QAA9B,CAAP;CAEA,aAAOwB,IAAP;CACA;CAx2CF;CAAA;CAAA,iCA02CcA,IA12Cd,EA22CC;CAAA,UADmB6J,QACnB,uEAD8B,KAC9B;CAAA,UADqCxB,cACrC,uEADsD,IACtD;CACC,aAAOjJ,aAAa,CAACyJ,YAAd,CAA2B;CAAC7I,QAAAA,IAAI,EAAJA,IAAD;CAAO6J,QAAAA,QAAQ,EAARA,QAAP;CAAiBxB,QAAAA,cAAc,EAAdA;CAAjB,OAA3B,CAAP;CACA;CA72CF;CAAA;CAAA,iCA+2CcyB,IA/2Cd,EAg3CC;CAAA;;CACC,UAAI5M,KAAK,CAACC,OAAN,CAAc2M,IAAd,CAAJ,EACA;CACCA,QAAAA,IAAI,CAACrL,OAAL,CAAa,UAAAsL,YAAY,EAAI;CAC5BA,UAAAA,YAAY,GAAG,MAAI,CAAC/B,YAAL,CAAkB+B,YAAlB,CAAf;CACA,SAFD;CAGA,OALD,MAMK,IAAI,uBAAOD,IAAP,MAAgB,QAAhB,IAA4BA,IAAI,KAAK,IAAzC,EACL;CACC,aAAK,IAAME,IAAX,IAAmBF,IAAnB,EACA;CACC,cAAIA,IAAI,CAAC9P,cAAL,CAAoBgQ,IAApB,CAAJ,EACA;CACCF,YAAAA,IAAI,CAACE,IAAD,CAAJ,GAAa,KAAKhC,YAAL,CAAkB8B,IAAI,CAACE,IAAD,CAAtB,CAAb;CACA;CACD;CACD,OATI,MAWL;CACC,YAAI,OAAOF,IAAP,KAAgB,QAApB,EACA;CACCA,UAAAA,IAAI,GAAG/C,kBAAK,CAAC/G,IAAN,CAAWiK,oBAAX,CAAgCH,IAAhC,CAAP;CACA;CACD;;CAED,aAAOA,IAAP;CACA;CA14CF;CAAA;CAAA,mCA64CC;CAAA,UADoB5J,MACpB,uEAD6B,EAC7B;CACC,UAAKF,IAAL,GAAsDE,MAAtD,CAAKF,IAAL;CAAA,6BAAsDE,MAAtD,CAAW2J,QAAX;CAAA,UAAWA,QAAX,iCAAsB,KAAtB;CAAA,mCAAsD3J,MAAtD,CAA6BmI,cAA7B;CAAA,UAA6BA,cAA7B,uCAA8C,IAA9C;CAEA,UAAI6B,cAAc,GAAG,EAArB;CACAlK,MAAAA,IAAI,GAAGA,IAAI,CAACxB,OAAL,CAAa,qCAAb,EAAoD,UAASsK,KAAT,EAC3D;CACC,YAAIpM,EAAE,GAAGwN,cAAc,CAACpJ,MAAxB;CACAoJ,QAAAA,cAAc,CAACtL,IAAf,CAAoBkK,KAApB;CACA,eAAO,yBAAuBpM,EAAvB,GAA0B,MAAjC;CACA,OALM,CAAP;CAOA,UAAIyN,eAAe,GAAG,EAAtB;CACAnK,MAAAA,IAAI,GAAGA,IAAI,CAACxB,OAAL,CAAa,uCAAb,EAAsD,UAASsK,KAAT,EAC7D;CACC,YAAIpM,EAAE,GAAGyN,eAAe,CAACrJ,MAAzB;CACAqJ,QAAAA,eAAe,CAACvL,IAAhB,CAAqBkK,KAArB;CACA,eAAO,0BAAwBpM,EAAxB,GAA2B,MAAlC;CACA,OALM,CAAP;CAOA,UAAI0N,eAAe,GAAG,EAAtB;CACApK,MAAAA,IAAI,GAAGA,IAAI,CAACxB,OAAL,CAAa,mCAAb,EAA8C,UAASsK,KAAT,EAAgB9I,IAAhB,EAAsB;CAC1E,YAAItD,EAAE,GAAG0N,eAAe,CAACtJ,MAAzB;CACAsJ,QAAAA,eAAe,CAACxL,IAAhB,CAAqBoB,IAArB;CACA,eAAO,0BAAwBtD,EAAxB,GAA2B,MAAlC;CACA,OAJM,CAAP;CAMAsD,MAAAA,IAAI,GAAGA,IAAI,CAACxB,OAAL,CAAa,kCAAb,EAAiD,UAASsK,KAAT,EAAgBuB,IAAhB,EAAsBrK,IAAtB,EACxD;CACC,YAAIsK,GAAG,GAAGC,QAAQ,CAACC,aAAT,CAAuB,GAAvB,CAAV;CACAF,QAAAA,GAAG,CAACG,IAAJ,GAAW1D,kBAAK,CAAC/G,IAAN,CAAWiK,oBAAX,CAAgCI,IAAhC,CAAX;CACAC,QAAAA,GAAG,CAACI,MAAJ,GAAa,QAAb;CACAJ,QAAAA,GAAG,CAACtK,IAAJ,GAAW+G,kBAAK,CAAC/G,IAAN,CAAWiK,oBAAX,CAAgCjK,IAAhC,CAAX;CAEA,YAAI2K,SAAS,GAAG,CACf,OADe,EAEf,QAFe,EAGf,MAHe,EAIf,OAJe,EAKf,MALe,EAMf,SANe,EAOf,SAPe,EAQf,QARe,EASf,QATe,CAAhB;;CAWA,YAAIA,SAAS,CAACnC,OAAV,CAAkB8B,GAAG,CAACrT,QAAtB,KAAmC,CAAC,CAAxC,EACA;CACC,iBAAO6R,KAAP;CACA;;CAED,eAAOwB,GAAG,CAACM,SAAX;CACA,OAxBM,CAAP;CA0BA5K,MAAAA,IAAI,GAAGA,IAAI,CAACxB,OAAL,CAAa,4BAAb,EAA2C,UAASsK,KAAT,EAAgBuB,IAAhB,EAClD;CACCA,QAAAA,IAAI,GAAGtD,kBAAK,CAAC/G,IAAN,CAAWiK,oBAAX,CAAgCI,IAAhC,CAAP;CAEA,YAAIC,GAAG,GAAGC,QAAQ,CAACC,aAAT,CAAuB,GAAvB,CAAV;CACAF,QAAAA,GAAG,CAACG,IAAJ,GAAWJ,IAAX;CACAC,QAAAA,GAAG,CAACI,MAAJ,GAAa,QAAb;CACAJ,QAAAA,GAAG,CAACtK,IAAJ,GAAWqK,IAAX;CAEA,YAAIM,SAAS,GAAG,CACf,OADe,EAEf,QAFe,EAGf,MAHe,EAIf,OAJe,EAKf,MALe,EAMf,SANe,EAOf,SAPe,EAQf,QARe,EASf,QATe,CAAhB;;CAWA,YAAIA,SAAS,CAACnC,OAAV,CAAkB8B,GAAG,CAACrT,QAAtB,KAAmC,CAAC,CAAxC,EACA;CACC,iBAAO6R,KAAP;CACA;;CAED,eAAOwB,GAAG,CAACM,SAAX;CACA,OA1BM,CAAP;CA4BA5K,MAAAA,IAAI,GAAGA,IAAI,CAACxB,OAAL,CAAa,YAAb,EAA2B,iDAA3B,CAAP;CACAwB,MAAAA,IAAI,GAAGA,IAAI,CAACxB,OAAL,CAAa,eAAb,EAA8B,oDAA9B,CAAP;CAEAwB,MAAAA,IAAI,GAAGA,IAAI,CAACxB,OAAL,CAAa,UAAb,EAAyB,OAAzB,CAAP;CACAwB,MAAAA,IAAI,GAAGA,IAAI,CAACxB,OAAL,CAAa,mCAAb,EAAkD,UAACsK,KAAD,EAAQ+B,IAAR,EAAcC,KAAd,EAAqBC,KAArB;CAAA,eAA+B,MAAIF,IAAJ,GAAS,GAAT,GAAaC,KAAb,GAAmB,GAAnB,GAAuBC,KAAvB,GAA6B,GAA5D;CAAA,OAAlD,CAAP,CApFD;CAsFC;;CACA/K,MAAAA,IAAI,GAAGA,IAAI,CAACxB,OAAL,CAAa,gDAAb,EAA+D,UAACsK,KAAD,EAAQkC,SAAR,EAAmBzT,MAAnB,EAA2BuT,KAA3B;CAAA,eAAqCE,SAAS,GAAEF,KAAF,GAAS,kEAAgEvT,MAAhE,GAAuE,IAAvE,GAA4EuT,KAA5E,GAAkF,SAAzI;CAAA,OAA/D,CAAP,CAvFD;;CA4GC9K,MAAAA,IAAI,GAAGA,IAAI,CAACxB,OAAL,CAAa,uCAAb,EAAsD,UAACsK,KAAD,EAAQmC,MAAR,EAAgBjL,IAAhB;CAAA,eAAyB,8DAA4D+G,kBAAK,CAAC/G,IAAN,CAAWkL,gBAAX,CAA4BD,MAA5B,CAA5D,GAAgG,IAAhG,GAAqGjL,IAArG,GAA0G,SAAnI;CAAA,OAAtD,CAAP,CA5GD;;CA8GCA,MAAAA,IAAI,GAAGA,IAAI,CAACxB,OAAL,CAAa,qCAAb,EAAoD,UAACsK,KAAD,EAAQqC,SAAR,EAAmBnL,IAAnB;CAAA,eAA4BA,IAA5B;CAAA,OAApD,CAAP,CA9GD;;CAgHC,UAAIoL,eAAe,GAAG,CAAtB;;CACA,UAAI/C,cAAJ,EACA;CACC+C,QAAAA,eAAe,GAAGpL,IAAI,CAACxB,OAAL,CAAa,sBAAb,EAAqC,EAArC,EAAyC8J,IAAzC,GAAgDxH,MAAlE;CACA;;CAEDd,MAAAA,IAAI,GAAGA,IAAI,CAACxB,OAAL,CAAa,sBAAb,EAAqC,UAACsK,KAAD,EAC5C;CACC,YAAIuC,GAAG,GAAGvC,KAAK,CAACQ,KAAN,CAAY,iCAAZ,CAAV;;CACA,YAAI+B,GAAG,IAAIA,GAAG,CAAC,CAAD,CAAd,EACA;CACCA,UAAAA,GAAG,GAAGA,GAAG,CAAC,CAAD,CAAT;CACA,SAHD,MAKA;CACC,iBAAO,EAAP;CACA;;CAED,YAAIC,KAAK,GAAG;CAAC,iBAAOD,GAAR;CAAa,oBAAU;CAAvB,SAAZ;CAEA,YAAIE,IAAI,GAAGzC,KAAK,CAACQ,KAAN,CAAY,cAAZ,CAAX;;CACA,YAAIiC,IAAI,IAAIA,IAAI,CAAC,CAAD,CAAhB,EACA;CACCD,UAAAA,KAAK,CAAC,OAAD,CAAL,GAAiBC,IAAI,CAAC,CAAD,CAArB;CACAD,UAAAA,KAAK,CAAC,QAAD,CAAL,GAAkBC,IAAI,CAAC,CAAD,CAAtB;CACA,SAJD,MAMA;CACC,cAAI9B,KAAK,GAAGX,KAAK,CAACQ,KAAN,CAAY,eAAZ,CAAZ;;CACA,cAAIG,KAAK,IAAIA,KAAK,CAAC,CAAD,CAAlB,EACA;CACC6B,YAAAA,KAAK,CAAC,OAAD,CAAL,GAAiB7B,KAAK,CAAC,CAAD,CAAtB;CACA;;CAED,cAAIE,MAAM,GAAGb,KAAK,CAACQ,KAAN,CAAY,gBAAZ,CAAb;;CACA,cAAIK,MAAM,IAAIA,MAAM,CAAC,CAAD,CAApB,EACA;CACC2B,YAAAA,KAAK,CAAC,QAAD,CAAL,GAAkB3B,MAAM,CAAC,CAAD,CAAxB;CACA;;CAED,cAAI2B,KAAK,CAAC,OAAD,CAAL,IAAkB,CAACA,KAAK,CAAC,QAAD,CAA5B,EACA;CACCA,YAAAA,KAAK,CAAC,QAAD,CAAL,GAAkBA,KAAK,CAAC,OAAD,CAAvB;CACA,WAHD,MAIK,IAAIA,KAAK,CAAC,QAAD,CAAL,IAAmB,CAACA,KAAK,CAAC,OAAD,CAA7B,EACL;CACCA,YAAAA,KAAK,CAAC,OAAD,CAAL,GAAiBA,KAAK,CAAC,QAAD,CAAtB;CACA,WAHI,MAIA,IAAIA,KAAK,CAAC,QAAD,CAAL,IAAmBA,KAAK,CAAC,OAAD,CAA5B,EACL,CADK,MAGL;CACCA,YAAAA,KAAK,CAAC,OAAD,CAAL,GAAiB,EAAjB;CACAA,YAAAA,KAAK,CAAC,QAAD,CAAL,GAAkB,EAAlB;CACA;CACD;;CAEDA,QAAAA,KAAK,CAAC,OAAD,CAAL,GAAiBA,KAAK,CAAC,OAAD,CAAL,GAAe,GAAf,GAAoB,GAApB,GAAyBA,KAAK,CAAC,OAAD,CAA/C;CACAA,QAAAA,KAAK,CAAC,QAAD,CAAL,GAAkBA,KAAK,CAAC,QAAD,CAAL,GAAgB,GAAhB,GAAqB,GAArB,GAA0BA,KAAK,CAAC,QAAD,CAAjD;;CAEA,YAAIjD,cAAc,IAAI+C,eAAe,KAAK,CAAtC,IAA2CE,KAAK,CAAC,OAAD,CAAL,KAAmBA,KAAK,CAAC,QAAD,CAAnE,IAAiFA,KAAK,CAAC,OAAD,CAAL,KAAmB,EAAxG,EACA;CACCA,UAAAA,KAAK,CAAC,OAAD,CAAL,GAAiB,EAAjB;CACAA,UAAAA,KAAK,CAAC,QAAD,CAAL,GAAkB,EAAlB;CACA;;CAED,YAAIE,KAAK,GAAG1C,KAAK,CAACQ,KAAN,CAAY,qBAAZ,CAAZ;;CACA,YAAIkC,KAAK,IAAIA,KAAK,CAAC,CAAD,CAAlB,EACA;CACCA,UAAAA,KAAK,GAAGA,KAAK,CAAC,CAAD,CAAb;;CACA,cAAIA,KAAK,CAAChD,OAAN,CAAc,QAAd,IAA0B,CAAC,CAA/B,EACA;CACCgD,YAAAA,KAAK,GAAGA,KAAK,CAAC3Q,MAAN,CAAa,CAAb,EAAgB2Q,KAAK,CAAChD,OAAN,CAAc,QAAd,CAAhB,CAAR;CACA;;CACD,cAAIgD,KAAK,CAAChD,OAAN,CAAc,SAAd,IAA2B,CAAC,CAAhC,EACA;CACCgD,YAAAA,KAAK,GAAGA,KAAK,CAAC3Q,MAAN,CAAa,CAAb,EAAgB2Q,KAAK,CAAChD,OAAN,CAAc,SAAd,CAAhB,CAAR;CACA;;CACD,cAAIgD,KAAK,CAAChD,OAAN,CAAc,OAAd,IAAyB,CAAC,CAA9B,EACA;CACCgD,YAAAA,KAAK,GAAGA,KAAK,CAAC3Q,MAAN,CAAa,CAAb,EAAgB2Q,KAAK,CAAChD,OAAN,CAAc,OAAd,CAAhB,CAAR;CACA;;CACD,cAAIgD,KAAJ,EACA;CACCF,YAAAA,KAAK,CAAC,OAAD,CAAL,GAAiBvE,kBAAK,CAAC/G,IAAN,CAAWkL,gBAAX,CAA4BM,KAA5B,EAAmClD,IAAnC,EAAjB;CACAgD,YAAAA,KAAK,CAAC,KAAD,CAAL,GAAeA,KAAK,CAAC,OAAD,CAApB;CACA;CACD;;CAED,YAAIG,UAAU,GAAG,EAAjB;;CACA,aAAK,IAAIC,IAAT,IAAiBJ,KAAjB,EACA;CACC,cAAIA,KAAK,CAACtR,cAAN,CAAqB0R,IAArB,CAAJ,EACA;CACCD,YAAAA,UAAU,IAAIC,IAAI,GAAC,IAAL,GAAUJ,KAAK,CAACI,IAAD,CAAf,GAAsB,IAApC;CACA;CACD;;CAGD,eAAO,mCAAiCD,UAAjC,GAA4C,GAAnD;CACA,OA9FM,CAAP;CAgGAtB,MAAAA,eAAe,CAAC1L,OAAhB,CAAwB,UAACkN,KAAD,EAAQvK,KAAR,EAAkB;CACzCpB,QAAAA,IAAI,GAAGA,IAAI,CAACxB,OAAL,CAAa,0BAAwB4C,KAAxB,GAA8B,MAA3C,EAAmDuK,KAAnD,CAAP;CACA,OAFD;CAIA3L,MAAAA,IAAI,GAAGA,IAAI,CAACxB,OAAL,CAAa,0CAAb,EAAyD,UAAC8K,KAAD,EAChE;CACC,eAAOA,KAAK,CAAC9K,OAAN,CAAc,qCAAd,EAAqD,UAACsK,KAAD,EAAQ8C,OAAR,EAAiB5L,IAAjB,EAC5D;CACC,cAAI6L,IAAI,GAAG,EAAX;CAEA7L,UAAAA,IAAI,GAAGA,IAAI,GAAEA,IAAF,GAAQ4L,OAAnB;CACAA,UAAAA,OAAO,GAAG,CAACA,OAAO,GAAEA,OAAF,GAAW5L,IAAnB,EAAyBxB,OAAzB,CAAiC,QAAjC,EAA2C,IAA3C,CAAV;;CAEA,cAAI,CAACqL,QAAD,IAAa7J,IAAjB,EACA;CACCA,YAAAA,IAAI,GAAGA,IAAI,CAACxB,OAAL,CAAa,2BAAb,EAA0C,IAA1C,EAAgDwB,IAAhD,CAAP;CACAA,YAAAA,IAAI,GAAGA,IAAI,CAACxB,OAAL,CAAa,iCAAb,EAAgD,IAAhD,EAAsDwB,IAAtD,CAAP;CAEA4L,YAAAA,OAAO,GAAGA,OAAO,CAAClD,KAAR,CAAc,sBAAd,EAAsCE,IAAtC,CAA2C,qBAA3C,CAAV;CAEAiD,YAAAA,IAAI,GAAG,4BACN,2CADM,GAEL,yDAFK,GAEqD7L,IAFrD,GAE0D,SAF1D,GAGL,2CAHK,GAGuC4L,OAHvC,GAG+C,SAH/C,GAIN,SAJM,GAKP,uBALA;CAMA,WAbD,MAeA;CACCC,YAAAA,IAAI,GAAG7L,IAAP;CACA;;CAED,iBAAO6L,IAAP;CACA,SA3BM,CAAP;CA4BA,OA9BM,CAAP;CAgCA3B,MAAAA,cAAc,CAACzL,OAAf,CAAuB,UAACkN,KAAD,EAAQvK,KAAR,EAAkB;CACxCpB,QAAAA,IAAI,GAAGA,IAAI,CAACxB,OAAL,CAAa,yBAAuB4C,KAAvB,GAA6B,MAA1C,EAAkDuK,KAAlD,CAAP;CACA,OAFD;CAIA3L,MAAAA,IAAI,GAAGA,IAAI,CAACxB,OAAL,CAAa,wCAAb,EAAuD,UAAC8K,KAAD,EAC9D;CACC,eAAOA,KAAK,CAAC9K,OAAN,CAAc,mCAAd,EAAmD,UAACsK,KAAD,EAAQ8C,OAAR,EAAiB5L,IAAjB,EAC1D;CACC,cAAI6L,IAAI,GAAG,EAAX;CAEA7L,UAAAA,IAAI,GAAGA,IAAI,GAAEA,IAAF,GAAQ4L,OAAnB;CACAA,UAAAA,OAAO,GAAG,CAACA,OAAO,GAAEA,OAAF,GAAW5L,IAAnB,EAAyBxB,OAAzB,CAAiC,QAAjC,EAA2C,IAA3C,CAAV;;CAEA,cAAI,CAACqL,QAAD,IAAa7J,IAAjB,EACA;CACCA,YAAAA,IAAI,GAAGA,IAAI,CAACxB,OAAL,CAAa,4BAAb,EAA2C,IAA3C,EAAiDwB,IAAjD,CAAP;CACAA,YAAAA,IAAI,GAAGA,IAAI,CAACxB,OAAL,CAAa,iCAAb,EAAgD,IAAhD,EAAsDwB,IAAtD,CAAP;CAEA6L,YAAAA,IAAI,GAAG,4BACN,2CADM,GAEL,wDAFK,GAEoD7L,IAFpD,GAEyD,SAFzD,GAGL,2CAHK,GAGuC4L,OAHvC,GAG+C,SAH/C,GAIN,SAJM,GAKP,uBALA;CAMA,WAXD,MAaA;CACCC,YAAAA,IAAI,GAAG7L,IAAP;CACA;;CAED,iBAAO6L,IAAP;CACA,SAzBM,CAAP;CA0BA,OA5BM,CAAP;CA8BAzB,MAAAA,eAAe,CAAC3L,OAAhB,CAAwB,UAACtF,IAAD,EAAOiI,KAAP,EAAiB;CACxCpB,QAAAA,IAAI,GAAGA,IAAI,CAACxB,OAAL,CAAa,0BAAwB4C,KAAxB,GAA8B,MAA3C,EACN,CAACyI,QAAD,GAAW,6CAA2C1Q,IAA3C,GAAgD,QAA3D,GAAqEA,IAD/D,CAAP;CAGA,OAJD;;CAMA,UAAIgR,eAAe,CAACrJ,MAAhB,GAAyB,CAA7B,EACA;CACC,WACA;CACCqJ,UAAAA,eAAe,CAAC1L,OAAhB,CAAwB,UAACkN,KAAD,EAAQvK,KAAR,EAAkB;CACzCpB,YAAAA,IAAI,GAAGA,IAAI,CAACxB,OAAL,CAAa,0BAAwB4C,KAAxB,GAA8B,MAA3C,EAAmDuK,KAAnD,CAAP;CACA,WAFD;CAGA,SALD,QAMO3L,IAAI,CAACrB,QAAL,CAAc,uBAAd,CANP;CAOA;;CAEDqB,MAAAA,IAAI,GAAGA,IAAI,CAAC0I,KAAL,CAAW,qBAAX,EAAkCE,IAAlC,CAAuC,sBAAvC,CAAP;;CAEA,UAAIsB,cAAc,CAACpJ,MAAf,GAAwB,CAA5B,EACA;CACC,WACA;CACCoJ,UAAAA,cAAc,CAACzL,OAAf,CAAuB,UAACkN,KAAD,EAAQvK,KAAR,EAAkB;CACxCpB,YAAAA,IAAI,GAAGA,IAAI,CAACxB,OAAL,CAAa,yBAAuB4C,KAAvB,GAA6B,MAA1C,EAAkDuK,KAAlD,CAAP;CACA,WAFD;CAGA,SALD,QAMO3L,IAAI,CAACrB,QAAL,CAAc,sBAAd,CANP;CAOA;;CAED,aAAOqB,IAAP;CACA;CAxsDF;CAAA;CAAA,mCA0sDuBiB,OA1sDvB,EA2sDC;CACC,UAAIA,OAAO,CAAC6K,UAAR,IAAsB7K,OAAO,CAAC6K,UAAlC,EACA;CACC7K,QAAAA,OAAO,CAAC6K,UAAR,CAAmBC,SAAnB,GAA+B,cAAY9K,OAAO,CAAC+K,GAApB,GAAwB,oBAAxB,GAA6C/K,OAAO,CAAC+K,GAArD,GAAyD,MAAxF;CACA;;CACD,aAAO,IAAP;CACA;CAjtDF;CAAA;CAAA,uCAmtD2B/K,OAntD3B,EAotDC;CACC,aAAOA,OAAO,CAACvE,EAAR,KACFqK,kBAAK,CAACC,KAAN,CAAYC,QAAZ,CAAqBhG,OAAO,CAACvE,EAA7B,KAAoCuE,OAAO,CAACvE,EAAR,CAAW/B,QAAX,GAAsBC,UAAtB,CAAiC,WAAjC,CADlC,CAAP;CAEA;CAvtDF;CAAA;CAAA,+CAytDmCf,KAztDnC,EAytD0CJ,OAztD1C,EA0tDC;CACC,UAAMwS,WAAW,kCAAOxS,OAAO,CAAC+I,IAAf,CAAjB;;CAEA,UAAI,CAACuE,kBAAK,CAACmF,QAAN,CAAeC,cAAf,EAAL,EACA;CACC,eAAOF,WAAP;CACA;;CAED,UAAI,CAACxS,OAAO,CAAC+I,IAAT,IAAiB/I,OAAO,CAAC+I,IAAR,CAAa1B,MAAb,IAAuB,CAA5C,EACA;CACC,eAAOmL,WAAP;CACA,OAXF;;;CAcC,UAAMG,aAAa,GAAG3S,OAAO,CAAC+I,IAAR,CAAa,CAAb,EAAgBjL,MAAtC;;CACA,UAAI,CAACsC,KAAK,CAACyF,UAAN,CAAiB8M,aAAjB,CAAL,EACA;CACC,eAAOH,WAAP;CACA;;CAEDpS,MAAAA,KAAK,CAACyF,UAAN,CAAiB8M,aAAjB,EAAgC3N,OAAhC,CAAwC,UAAAmD,OAAO,EAAI;CAClD,YACCxC,aAAa,CAAC+F,kBAAd,CAAiCvD,OAAjC,KACG,CAACxC,aAAa,CAACiN,eAAd,CAA8B5S,OAA9B,EAAuCmI,OAAO,CAACjC,UAA/C,CADJ,IAEGP,aAAa,CAACkN,aAAd,CAA4B1K,OAA5B,CAHJ,EAKA;CACCqK,UAAAA,WAAW,CAACrN,IAAZ,CAAiBgD,OAAjB;CACA;CACD,OATD;CAWA,aAAOqK,WAAP;CACA;CA1vDF;CAAA;CAAA,oCA4vDwBxS,OA5vDxB,EA4vDiCkG,UA5vDjC,EA6vDC;CACC,aAAOlG,OAAO,CAAC+I,IAAR,CAAa+J,IAAb,CAAkB,UAAAC,cAAc;CAAA,eAAIA,cAAc,CAAC7M,UAAf,KAA8BA,UAAlC;CAAA,OAAhC,CAAP;CACA;CA/vDF;CAAA;CAAA,kCAiwDsBiC,OAjwDtB,EAkwDC;CACC,UAAI1E,KAAK,CAACC,OAAN,CAAcyE,OAAO,CAAC1B,MAAR,CAAe0G,OAA7B,CAAJ,EACA;CACC,YAAI6F,gBAAgB,GAAG,KAAvB;CACA7K,QAAAA,OAAO,CAAC1B,MAAR,CAAe0G,OAAf,CAAuBnI,OAAvB,CAA+B,UAAAiO,MAAM,EAAI;CACxC,cAAI,CAACD,gBAAL,EACA;CACCA,YAAAA,gBAAgB,GAAGE,MAAM,CAACC,mBAAP,CAA2BL,IAA3B,CAAgC,UAAAM,IAAI;CAAA,qBAAIA,IAAI,CAACC,MAAL,CAAYpE,KAAZ,CAAkB,GAAlB,EAAuB,CAAvB,MAA8BgE,MAAlC;CAAA,aAApC,CAAnB;CACA;CACD,SALD;CAOA,eAAO,CAAC,CAACD,gBAAT;CACA;;CAED,UAAI7K,OAAO,CAACjC,UAAZ,EACA;CACC,YAAMoN,gBAAgB,GAAGJ,MAAM,CAACK,qBAAP,CAA6BT,IAA7B,CAAkC,UAAAM,IAAI;CAAA,iBAAIA,IAAI,CAACC,MAAL,CAAYpE,KAAZ,CAAkB,GAAlB,EAAuB,CAAvB,MAA8B9G,OAAO,CAACjC,UAA1C;CAAA,SAAtC,CAAzB;CAEA,eAAO,CAAC,CAACoN,gBAAT;CACA;;CAED,aAAO,KAAP;CACA;CAxxDF;CAAA;CAAA,EAAmC/R,4BAAnC;;;;;;;KCZaiS,cAAb;CAAA;;CAAA;CAAA;CAAA;CAAA;;CAAA;CAAA;CAAA,8BAGC;CACC,aAAO,WAAP;CACA;CALF;CAAA;CAAA,+BAQC;CACC,aAAO;CACNnW,QAAAA,IAAI,EAAE,KAAKC,WAAL,CAAiB,MAAjB,EAAyBC,QAAQ,CAACC,QAAT,GAAkB,IAAlB,GAAuBD,QAAQ,CAACF,IAAzD,CADA;CAENwI,QAAAA,UAAU,EAAE,EAFN;CAGN4N,QAAAA,cAAc,EAAE,EAHV;CAINC,QAAAA,YAAY,EAAE;CAJR,OAAP;CAMA;CAfF;CAAA;CAAA,4CAkBC;CACC,aAAO;CACNrW,QAAAA,IAAI,EAAE;CADA,OAAP;CAGA;CAtBF;CAAA;CAAA,mDAyBC;CACC,aAAO;CACNsW,QAAAA,WAAW,EAAE,IADP;CAENC,QAAAA,OAAO,EAAE;CAFH,OAAP;CAIA;CA9BF;CAAA;CAAA,sCAiCC;CACC,aAAO;CACN/V,QAAAA,QAAQ,EAAE,GADJ;CAENC,QAAAA,MAAM,EAAE,CAFF;CAGN+V,QAAAA,OAAO,EAAE,CAHH;CAINC,QAAAA,WAAW,EAAE,CAJP;CAKNjS,QAAAA,YAAY,EAAE,CALR;CAMNsI,QAAAA,QAAQ,EAAE,CANJ;CAON4J,QAAAA,aAAa,EAAE,CAPT;CAQNC,QAAAA,WAAW,EAAE,EARP;CASNC,QAAAA,UAAU,EAAE,EATN;CAUNN,QAAAA,WAAW,EAAE,EAVP;CAWNO,QAAAA,QAAQ,EAAE,EAXJ;CAYNC,QAAAA,eAAe,EAAE,EAZX;CAaNP,QAAAA,OAAO,EAAE,CAbH;CAcNQ,QAAAA,MAAM,EAAE,CAdF;CAeNC,QAAAA,IAAI,EAAE,KAfA;CAiBNpC,QAAAA,IAAI,EAAE,EAjBA;CAkBNqC,QAAAA,KAAK,EAAE,CAlBD;CAmBNC,QAAAA,QAAQ,EAAE,KAnBJ;CAoBNC,QAAAA,MAAM,EAAE,EApBF;CAqBNC,QAAAA,KAAK,EAAE,SArBD;CAsBN7V,QAAAA,IAAI,EAAE,MAtBA;CAuBN8V,QAAAA,UAAU,EAAE,EAvBN;CAwBNC,QAAAA,QAAQ,EAAE,EAxBJ;CAyBNC,QAAAA,WAAW,EAAE,EAzBP;CA0BNC,QAAAA,WAAW,EAAE,EA1BP;CA2BNC,QAAAA,WAAW,EAAE,EA3BP;CA4BNC,QAAAA,UAAU,EAAE,IAAIlQ,IAAJ,EA5BN;CA6BNmQ,QAAAA,YAAY,EAAE;CACbR,UAAAA,MAAM,EAAE,IADK;CAEbS,UAAAA,MAAM,EAAE,IAFK;CAGbC,UAAAA,KAAK,EAAE,IAHM;CAIbC,UAAAA,UAAU,EAAE,IAJC;CAKbC,UAAAA,MAAM,EAAE,IALK;CAMbC,UAAAA,IAAI,EAAE,IANO;CAObC,UAAAA,QAAQ,EAAE,IAPG;CAQbC,UAAAA,IAAI,EAAE,IARO;CASbjX,UAAAA,IAAI,EAAE;CATO,SA7BR;CAwCN,kBAAQ;CACPoB,UAAAA,IAAI,EAAE,EADC;CAEPkR,UAAAA,IAAI,EAAE;CAFC;CAxCF,OAAP;CA6CA;CA/EF;CAAA;CAAA,iCAkFC;CAAA;;CACC,aAAO;CACNhJ,QAAAA,GAAG,EAAE,aAAAxH,KAAK;CAAA,iBAAI,UAAAvC,QAAQ,EACtB;CACC,gBAAI,CAACuC,KAAK,CAACyF,UAAN,CAAiBhI,QAAjB,CAAL,EACA;CACC,qBAAO,IAAP;CACA;;CAED,mBAAOuC,KAAK,CAACyF,UAAN,CAAiBhI,QAAjB,CAAP;CACA,WARS;CAAA,SADJ;CAUN2X,QAAAA,WAAW,EAAE,qBAAApV,KAAK;CAAA,iBAAI,UAAAtC,MAAM,EAC5B;CACCA,YAAAA,MAAM,GAAGuD,QAAQ,CAACvD,MAAD,CAAjB;;CAEA,iBAAK,IAAID,QAAT,IAAqBuC,KAAK,CAACyF,UAA3B,EACA;CACC,kBAAI,CAACzF,KAAK,CAACyF,UAAN,CAAiBtF,cAAjB,CAAgC1C,QAAhC,CAAL,EACA;CACC;CACA;;CAED,kBAAIuC,KAAK,CAACyF,UAAN,CAAiBhI,QAAjB,EAA2BC,MAA3B,KAAsCA,MAA1C,EACA;CACC,uBAAOsC,KAAK,CAACyF,UAAN,CAAiBhI,QAAjB,CAAP;CACA;CACD;;CAED,mBAAO,IAAP;CACA,WAlBiB;CAAA,SAVZ;CA6BNgK,QAAAA,QAAQ,EAAE,kBAAAzH,KAAK;CAAA,iBAAI,UAAAqG,MAAM,EACzB;CACC,mBAAO,KAAI,CAACqB,eAAL,EAAP;CACA,WAHc;CAAA,SA7BT;CAiCN2N,QAAAA,UAAU,EAAE,oBAAArV,KAAK;CAAA,iBAAI,UAAAvC,QAAQ,EAC7B;CACC,gBAAI,CAACuC,KAAK,CAACyF,UAAN,CAAiBhI,QAAjB,CAAL,EACA;CACC,qBAAO,CAAP;CACA;;CAED,mBAAOuC,KAAK,CAACyF,UAAN,CAAiBhI,QAAjB,EAA2B+V,OAAlC;CACA,WARgB;CAAA,SAjCX;CA0CN8B,QAAAA,SAAS,EAAE,mBAAAtV,KAAK;CAAA,iBAAI,UAAAvC,QAAQ,EAC5B;CACC,gBAAI,CAACuC,KAAK,CAACyF,UAAN,CAAiBhI,QAAjB,CAAL,EACA;CACC,qBAAO,CAAP;CACA;;CAED,mBAAOuC,KAAK,CAACyF,UAAN,CAAiBhI,QAAjB,EAA2BuW,MAAlC;CACA,WARe;CAAA,SA1CV;CAmDNuB,QAAAA,WAAW,EAAE,qBAAAvV,KAAK;CAAA,iBAAI,UAAAtC,MAAM,EAC5B;CACC,gBAAI,QAAQyK,IAAR,CAAazK,MAAb,CAAJ,EACA;CACCA,cAAAA,MAAM,GAAGuD,QAAQ,CAACvD,MAAD,CAAjB;CACA;;CACD,mBAAOsC,KAAK,CAACsT,YAAN,CAAmBxO,QAAnB,CAA4B7D,QAAQ,CAACvD,MAAD,CAApC,CAAP;CACA,WAPiB;CAAA,SAnDZ;CA2DN8X,QAAAA,aAAa,EAAE,uBAAAxV,KAAK;CAAA,iBAAI,UAAAvC,QAAQ,EAChC;CACC,mBAAOuC,KAAK,CAACqT,cAAN,CAAqBvO,QAArB,CAA8BrH,QAAQ,CAACqD,QAAT,EAA9B,CAAP;CACA,WAHmB;CAAA,SA3Dd;CA+DN2U,QAAAA,eAAe,EAAE,yBAAAzV,KAAK;CAAA,iBAAI,UAAAvC,QAAQ,EAClC;CACCA,YAAAA,QAAQ,GAAGA,QAAQ,CAACqD,QAAT,EAAX;CACA,mBAAOd,KAAK,CAACyF,UAAN,CAAiBhI,QAAQ,CAACqD,QAAT,EAAjB,KAAyCd,KAAK,CAACyF,UAAN,CAAiBhI,QAAjB,EAA2Be,IAA3B,KAAoC,SAApF;CACA,WAJqB;CAAA;CA/DhB,OAAP;CAqEA;CAxJF;CAAA;CAAA,iCA2JC;CAAA;;CACC,aAAO;CACNkB,QAAAA,GAAG,EAAE,aAACC,KAAD,EAAQC,OAAR,EACL;CACC,cAAIA,OAAO,YAAYyD,KAAvB,EACA;CACCzD,YAAAA,OAAO,GAAGA,OAAO,CAAC4I,GAAR,CAAY,UAAAhL,MAAM,EAAI;CAC/B,qBAAOgC,MAAM,CAACC,MAAP,CACN,EADM,EAEN,MAAI,CAACK,QAAL,CAAcN,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBjC,MAAlB,CAAd,EAAyC;CAACP,gBAAAA,IAAI,EAAE0C,KAAK,CAACK,KAAN,CAAY/C;CAAnB,eAAzC,CAFM,EAGN;CAACgX,gBAAAA,IAAI,EAAE;CAAP,eAHM,CAAP;CAKA,aANS,CAAV;CAOA,WATD,MAWA;CACC,gBAAIpT,MAAM,GAAG,EAAb;CACAA,YAAAA,MAAM,CAACkE,IAAP,CAAYvF,MAAM,CAACC,MAAP,CACX,EADW,EAEX,MAAI,CAACK,QAAL,CAAcN,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBG,OAAlB,CAAd,EAA0C;CAAC3C,cAAAA,IAAI,EAAE0C,KAAK,CAACK,KAAN,CAAY/C;CAAnB,aAA1C,CAFW,EAGX;CAACgX,cAAAA,IAAI,EAAE;CAAP,aAHW,CAAZ;CAKArU,YAAAA,OAAO,GAAGiB,MAAV;CACA;;CAEDlB,UAAAA,KAAK,CAACE,MAAN,CAAa,KAAb,EAAoBD,OAApB;CACA,SAzBK;CA2BNwJ,QAAAA,MAAM,EAAE,gBAACzJ,KAAD,EAAQC,OAAR,EACR;CACC,cACC,OAAOD,KAAK,CAACK,KAAN,CAAYyF,UAAZ,CAAuB7F,OAAO,CAACnC,QAA/B,CAAP,KAAoD,WAApD,IACGkC,KAAK,CAACK,KAAN,CAAYyF,UAAZ,CAAuB7F,OAAO,CAACnC,QAA/B,EAAyCwW,IAAzC,KAAkD,KAFtD,EAIA;CACC,mBAAO,IAAP;CACA;;CACDtU,UAAAA,KAAK,CAACE,MAAN,CAAa,QAAb,EAAuB;CACtBpC,YAAAA,QAAQ,EAAGmC,OAAO,CAACnC,QADG;CAEtBmD,YAAAA,MAAM,EAAG,MAAI,CAACd,QAAL,CAAcN,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBG,OAAO,CAACgB,MAA1B,CAAd,EAAiD;CAAC3D,cAAAA,IAAI,EAAE0C,KAAK,CAACK,KAAN,CAAY/C;CAAnB,aAAjD;CAFa,WAAvB;CAKA,iBAAO,IAAP;CACA,SA1CK;CA4CN,kBAAQ,iBAAC0C,KAAD,EAAQC,OAAR,EACR;CACCD,UAAAA,KAAK,CAACE,MAAN,CAAa,QAAb,EAAuBD,OAAO,CAACnC,QAA/B;CACA,iBAAO,IAAP;CACA,SAhDK;CAkDNiY,QAAAA,aAAa,EAAE,uBAAC/V,KAAD,EAAQC,OAAR,EACf;CACC,cACC,OAAOD,KAAK,CAACK,KAAN,CAAYyF,UAAZ,CAAuB7F,OAAO,CAACnC,QAA/B,CAAP,KAAoD,WAApD,IACGkC,KAAK,CAACK,KAAN,CAAYyF,UAAZ,CAAuB7F,OAAO,CAACnC,QAA/B,EAAyCwW,IAAzC,KAAkD,KAFtD,EAIA;CACC,mBAAO,IAAP;CACA;;CAED,cAAI1M,KAAK,GAAG5H,KAAK,CAACK,KAAN,CAAYyF,UAAZ,CAAuB7F,OAAO,CAACnC,QAA/B,EAAyC8V,WAAzC,CAAqDlK,SAArD,CAA+D,UAAAC,EAAE;CAAA,mBAAIA,EAAE,CAAChM,MAAH,KAAcsC,OAAO,CAACtC,MAA1B;CAAA,WAAjE,CAAZ;;CACA,cAAIsC,OAAO,CAAC+V,MAAZ,EACA;CACC,gBAAIpO,KAAK,IAAI,CAAb,EACA;CACC,qBAAO,IAAP;CACA,aAHD,MAKA;CACC,kBAAIgM,WAAW,GAAG,GAAGhH,MAAH,CAAU5M,KAAK,CAACK,KAAN,CAAYyF,UAAZ,CAAuB7F,OAAO,CAACnC,QAA/B,EAAyC8V,WAAnD,CAAlB;CACAA,cAAAA,WAAW,CAAChI,OAAZ,CAAoB;CACnBjO,gBAAAA,MAAM,EAAEsC,OAAO,CAACtC,MADG;CAEnBsY,gBAAAA,QAAQ,EAAEhW,OAAO,CAACgW;CAFC,eAApB;CAKAjW,cAAAA,KAAK,CAACE,MAAN,CAAa,QAAb,EAAuB;CACtBgW,gBAAAA,UAAU,EAAE,iBADU;CAEtBpY,gBAAAA,QAAQ,EAAGmC,OAAO,CAACnC,QAFG;CAGtBmD,gBAAAA,MAAM,EAAG,MAAI,CAACd,QAAL,CAAc;CAACyT,kBAAAA,WAAW,EAAXA;CAAD,iBAAd,EAA6B;CAACtW,kBAAAA,IAAI,EAAE0C,KAAK,CAACK,KAAN,CAAY/C;CAAnB,iBAA7B;CAHa,eAAvB;CAKA;CACD,WApBD,MAsBA;CACC,gBAAIsK,KAAK,IAAI,CAAb,EACA;CACC,kBAAIgM,YAAW,GAAG5T,KAAK,CAACK,KAAN,CAAYyF,UAAZ,CAAuB7F,OAAO,CAACnC,QAA/B,EAAyC8V,WAAzC,CAAqDvO,MAArD,CAA4D,UAAAsE,EAAE;CAAA,uBAAIA,EAAE,CAAChM,MAAH,KAAcsC,OAAO,CAACtC,MAA1B;CAAA,eAA9D,CAAlB;;CACAqC,cAAAA,KAAK,CAACE,MAAN,CAAa,QAAb,EAAuB;CACtBgW,gBAAAA,UAAU,EAAE,iBADU;CAEtBpY,gBAAAA,QAAQ,EAAGmC,OAAO,CAACnC,QAFG;CAGtBmD,gBAAAA,MAAM,EAAG,MAAI,CAACd,QAAL,CAAc;CAACyT,kBAAAA,WAAW,EAAXA;CAAD,iBAAd,EAA6B;CAACtW,kBAAAA,IAAI,EAAE0C,KAAK,CAACK,KAAN,CAAY/C;CAAnB,iBAA7B;CAHa,eAAvB;CAMA,qBAAO,IAAP;CACA,aAVD,MAYA;CACC,qBAAO,IAAP;CACA;CACD;;CAED,iBAAO,KAAP;CACA,SAtGK;CAwGN6Y,QAAAA,YAAY,EAAE,sBAACnW,KAAD,EAAQC,OAAR,EACd;CACC,cACC,OAAOD,KAAK,CAACK,KAAN,CAAYyF,UAAZ,CAAuB7F,OAAO,CAACnC,QAA/B,CAAP,KAAoD,WAApD,IACGkC,KAAK,CAACK,KAAN,CAAYyF,UAAZ,CAAuB7F,OAAO,CAACnC,QAA/B,EAAyCwW,IAAzC,KAAkD,KAFtD,EAIA;CACC,mBAAO,IAAP;CACA;;CAED,cAAIJ,UAAU,GAAGlU,KAAK,CAACK,KAAN,CAAYyF,UAAZ,CAAuB7F,OAAO,CAACnC,QAA/B,EAAyCoW,UAAzC,CAAoD7O,MAApD,CAA2D,UAAAsE,EAAE;CAAA,mBAAIA,EAAE,CAAChM,MAAH,KAAcsC,OAAO,CAACtC,MAA1B;CAAA,WAA7D,CAAjB;;CAEA,cAAIsC,OAAO,CAAC+V,MAAZ,EACA;CACC9B,YAAAA,UAAU,CAAC9O,IAAX,CAAgB;CACfzH,cAAAA,MAAM,EAAEsC,OAAO,CAACtC,MADD;CAEfsY,cAAAA,QAAQ,EAAEhW,OAAO,CAACgW,QAAR,IAAoB,EAFf;CAGftO,cAAAA,SAAS,EAAE1H,OAAO,CAAC0H,SAHJ;CAIfpB,cAAAA,IAAI,EAAEtG,OAAO,CAACsG,IAAR,IAAiB,IAAIzB,IAAJ;CAJR,aAAhB;CAMA;;CAED9E,UAAAA,KAAK,CAACE,MAAN,CAAa,QAAb,EAAuB;CACtBgW,YAAAA,UAAU,EAAE,cADU;CAEtBpY,YAAAA,QAAQ,EAAGmC,OAAO,CAACnC,QAFG;CAGtBmD,YAAAA,MAAM,EAAG,MAAI,CAACd,QAAL,CAAc;CAAC+T,cAAAA,UAAU,EAAVA;CAAD,aAAd,EAA4B;CAAC5W,cAAAA,IAAI,EAAE0C,KAAK,CAACK,KAAN,CAAY/C;CAAnB,aAA5B;CAHa,WAAvB;CAMA,iBAAO,KAAP;CACA,SArIK;CAuIN8Y,QAAAA,eAAe,EAAE,yBAACpW,KAAD,EAAQC,OAAR,EACjB;CAAA;;CACC,cACC,OAAOD,KAAK,CAACK,KAAN,CAAYyF,UAAZ,CAAuB7F,OAAO,CAACnC,QAA/B,CAAP,KAAoD,WAApD,IACGkC,KAAK,CAACK,KAAN,CAAYyF,UAAZ,CAAuB7F,OAAO,CAACnC,QAA/B,EAAyCwW,IAAzC,KAAkD,KAFtD,EAIA;CACC,mBAAO,IAAP;CACA;;CAED,cAAIR,OAAO,GAAG9T,KAAK,CAACK,KAAN,CAAYyF,UAAZ,CAAuB7F,OAAO,CAACnC,QAA/B,EAAyCgW,OAAvD;;CACA,cAAIA,OAAO,KAAK,GAAhB,EACA;CACC,mBAAO,IAAP;CACA;;CAED,cAAIuC,gBAAgB,GAAGvC,OAAO,GAAG7T,OAAO,CAACY,KAAzC;;CACA,cAAIwV,gBAAgB,GAAG,GAAvB,EACA;CACCA,YAAAA,gBAAgB,GAAG,GAAnB;CACA;;CAED,cAAM1Y,MAAM,4BAAGqC,KAAK,CAACsW,SAAN,CAAgBC,WAAnB,0DAAG,sBAA6BlZ,MAA7B,CAAoCM,MAAnD;CACA,cAAM6Y,WAAW,GAAG7Y,MAAM,IAAIqC,KAAK,CAACK,KAAN,CAAYyF,UAAZ,CAAuB7F,OAAO,CAACnC,QAA/B,EAAyCqW,QAAzC,CAAkDhP,QAAlD,CAA2DxH,MAA3D,CAA9B;CAEAqC,UAAAA,KAAK,CAACE,MAAN,CAAa,QAAb,EAAuB;CACtBgW,YAAAA,UAAU,EAAE,iBADU;CAEtBpY,YAAAA,QAAQ,EAAGmC,OAAO,CAACnC,QAFG;CAGtB0Y,YAAAA,WAAW,EAAXA,WAHsB;CAItBvV,YAAAA,MAAM,EAAE;CACP6S,cAAAA,OAAO,EAAEuC,gBADF;CAEPI,cAAAA,eAAe,EAAE3C;CAFV;CAJc,WAAvB;CAUA,iBAAO,KAAP;CACA,SA3KK;CA6KN4C,QAAAA,eAAe,EAAE,yBAAC1W,KAAD,EAAQC,OAAR,EACjB;CACC,cACC,OAAOD,KAAK,CAACK,KAAN,CAAYyF,UAAZ,CAAuB7F,OAAO,CAACnC,QAA/B,CAAP,KAAoD,WAApD,IACGkC,KAAK,CAACK,KAAN,CAAYyF,UAAZ,CAAuB7F,OAAO,CAACnC,QAA/B,EAAyCwW,IAAzC,KAAkD,KAFtD,EAIA;CACC,mBAAO,IAAP;CACA;;CAED,cAAIR,OAAO,GAAG9T,KAAK,CAACK,KAAN,CAAYyF,UAAZ,CAAuB7F,OAAO,CAACnC,QAA/B,EAAyCgW,OAAvD;;CACA,cAAIA,OAAO,KAAK,GAAhB,EACA;CACC,mBAAO,IAAP;CACA;;CAED,cAAI6C,gBAAgB,GAAG7C,OAAO,GAAG7T,OAAO,CAACY,KAAzC;;CACA,cAAI8V,gBAAgB,GAAG,CAAvB,EACA;CACCA,YAAAA,gBAAgB,GAAG,CAAnB;CACA;;CAED,cAAIvM,QAAQ,GAAGnK,OAAO,CAACmK,QAAR,GAAmBpK,KAAK,CAACK,KAAN,CAAYyF,UAAZ,CAAuB7F,OAAO,CAACnC,QAA/B,EAAyCsM,QAA5D,GAAsEnK,OAAO,CAACmK,QAA9E,GAAwFpK,KAAK,CAACK,KAAN,CAAYyF,UAAZ,CAAuB7F,OAAO,CAACnC,QAA/B,EAAyCsM,QAAhJ;;CAEA,cACCpK,KAAK,CAACK,KAAN,CAAYyF,UAAZ,CAAuB7F,OAAO,CAACnC,QAA/B,EAAyCsM,QAAzC,KAAsDA,QAAtD,IACGpK,KAAK,CAACK,KAAN,CAAYyF,UAAZ,CAAuB7F,OAAO,CAACnC,QAA/B,EAAyCgW,OAAzC,KAAqD6C,gBAFzD,EAIA;CAAA;;CACC,gBAAMF,eAAe,GAAGzW,KAAK,CAACK,KAAN,CAAYyF,UAAZ,CAAuB7F,OAAO,CAACnC,QAA/B,EAAyCgW,OAAjE;;CACA,gBAAI6C,gBAAgB,KAAK,CAAzB,EACA;CACCvM,cAAAA,QAAQ,GAAG,CAAX;CACA;;CAED,gBAAMzM,MAAM,6BAAGqC,KAAK,CAACsW,SAAN,CAAgBC,WAAnB,2DAAG,uBAA6BlZ,MAA7B,CAAoCM,MAAnD;CACA,gBAAM6Y,WAAW,GAAG7Y,MAAM,IAAIqC,KAAK,CAACK,KAAN,CAAYyF,UAAZ,CAAuB7F,OAAO,CAACnC,QAA/B,EAAyCqW,QAAzC,CAAkDhP,QAAlD,CAA2DxH,MAA3D,CAA9B;CAEAqC,YAAAA,KAAK,CAACE,MAAN,CAAa,QAAb,EAAuB;CACtBgW,cAAAA,UAAU,EAAE,iBADU;CAEtBpY,cAAAA,QAAQ,EAAGmC,OAAO,CAACnC,QAFG;CAGtB0Y,cAAAA,WAAW,EAAXA,WAHsB;CAItBvV,cAAAA,MAAM,EAAG;CACR6S,gBAAAA,OAAO,EAAE6C,gBADD;CAERF,gBAAAA,eAAe,EAAfA,eAFQ;CAGRrM,gBAAAA,QAAQ,EAARA;CAHQ;CAJa,aAAvB;CAUA;;CAED,iBAAO,KAAP;CACA,SAhOK;CAkONwM,QAAAA,sBAAsB,EAAE,gCAAC5W,KAAD,EAAQC,OAAR,EACxB;CACC,cACC,OAAOD,KAAK,CAACK,KAAN,CAAYyF,UAAZ,CAAuB7F,OAAO,CAACnC,QAA/B,CAAP,KAAoD,WAApD,IACGkC,KAAK,CAACK,KAAN,CAAYyF,UAAZ,CAAuB7F,OAAO,CAACnC,QAA/B,EAAyCwW,IAAzC,KAAkD,KAFtD,EAIA;CACC,mBAAO,IAAP;CACA;;CAED,cAAMuC,cAAc,GAAG7W,KAAK,CAACK,KAAN,CAAYyF,UAAZ,CAAuB7F,OAAO,CAACnC,QAA/B,EAAyCgE,YAAhE;CAEA9B,UAAAA,KAAK,CAACE,MAAN,CAAa,QAAb,EAAuB;CACtBgW,YAAAA,UAAU,EAAE,sBADU;CAEtBpY,YAAAA,QAAQ,EAAGmC,OAAO,CAACnC,QAFG;CAGtBmD,YAAAA,MAAM,EAAG;CACRa,cAAAA,YAAY,EAAE+U,cAAc,GAAG5W,OAAO,CAACY;CAD/B;CAHa,WAAvB;CAOA,SArPK;CAuPNiW,QAAAA,UAAU,EAAE,oBAAC9W,KAAD,EAAQC,OAAR,EACZ;CACC,cACC,OAAOD,KAAK,CAACK,KAAN,CAAYyF,UAAZ,CAAuB7F,OAAO,CAACnC,QAA/B,CAAP,KAAoD,WAApD,IACGkC,KAAK,CAACK,KAAN,CAAYyF,UAAZ,CAAuB7F,OAAO,CAACnC,QAA/B,EAAyCwW,IAAzC,KAAkD,KAFtD,EAIA;CACC,mBAAO,IAAP;CACA;;CAEDtU,UAAAA,KAAK,CAACE,MAAN,CAAa,YAAb,EAA2B;CAC1BpC,YAAAA,QAAQ,EAAGmC,OAAO,CAACnC,QADO;CAE1BC,YAAAA,MAAM,EAAGkC,OAAO,CAAClC;CAFS,WAA3B;CAKA,iBAAO,KAAP;CACA;CAvQK,OAAP;CAyQA;CAraF;CAAA;CAAA,mCAwaC;CAAA;;CACC,aAAO;CACNsM,QAAAA,cAAc,EAAE,wBAAChK,KAAD,EAAQJ,OAAR,EAChB;CACC,UAAA,MAAI,CAACoK,cAAL,CAAoBhK,KAApB,EAA2BJ,OAA3B;CACA,SAJK;CAKN6W,QAAAA,UAAU,EAAE,oBAACzW,KAAD,EAAQJ,OAAR,EACZ;CACC;CACA,cAAI,EAAEA,OAAO,CAAClC,MAAR,GAAiB,CAAjB,IAAsBkC,OAAO,CAACnC,QAAR,CAAiBwJ,MAAjB,GAA0B,CAAlD,CAAJ,EACA;CACC,mBAAO,KAAP;CACA;;CAED,cAAIoM,cAAc,GAAGrT,KAAK,CAACqT,cAAN,CAAqBrO,MAArB,CAA4B,UAASoC,OAAT,EAAkB;CAClE,mBAAOA,OAAO,KAAKxH,OAAO,CAACnC,QAA3B;CACA,WAFoB,CAArB;CAIA4V,UAAAA,cAAc,CAAC9H,OAAf,CAAuB3L,OAAO,CAACnC,QAA/B;CAEA4V,UAAAA,cAAc,GAAGA,cAAc,CAACvG,KAAf,CAAqB,CAArB,EAAwB/B,qBAAY,CAAC2L,SAArC,CAAjB;;CAEA,cAAI1W,KAAK,CAACqT,cAAN,CAAqBtE,IAArB,CAA0B,GAA1B,MAAmCsE,cAAc,CAACtE,IAAf,CAAoB,GAApB,CAAvC,EACA;CACC,mBAAO,IAAP;CACA;;CAED/O,UAAAA,KAAK,CAACqT,cAAN,GAAuBA,cAAvB;CAGA,cAAIC,YAAY,GAAGtT,KAAK,CAACsT,YAAN,CAAmBtO,MAAnB,CAA0B,UAASoC,OAAT,EAAkB;CAC9D,mBAAOA,OAAO,KAAKxH,OAAO,CAAClC,MAA3B;CACA,WAFkB,CAAnB;CAIA4V,UAAAA,YAAY,CAAC/H,OAAb,CAAqB3L,OAAO,CAAClC,MAA7B;CAEAsC,UAAAA,KAAK,CAACsT,YAAN,GAAqBA,YAAY,CAACxG,KAAb,CAAmB,CAAnB,EAAsB/B,qBAAY,CAAC2L,SAAnC,CAArB;;CAEA,UAAA,MAAI,CAACpW,SAAL,CAAeN,KAAf;CACA,SAtCK;CAuCNN,QAAAA,GAAG,EAAE,aAACM,KAAD,EAAQJ,OAAR,EACL;CAAA,uDACqBA,OADrB;CAAA;;CAAA;CACC,gEACA;CAAA,kBADSwH,OACT;;CACC,cAAA,MAAI,CAAC4C,cAAL,CAAoBhK,KAApB,EAA2B;CAACvC,gBAAAA,QAAQ,EAAE2J,OAAO,CAAC3J;CAAnB,eAA3B;;CAEAuC,cAAAA,KAAK,CAACyF,UAAN,CAAiB2B,OAAO,CAAC3J,QAAzB,IAAqC+B,MAAM,CAACC,MAAP,CACpC,MAAI,CAACiI,eAAL,EADoC,EAEpC1H,KAAK,CAACyF,UAAN,CAAiB2B,OAAO,CAAC3J,QAAzB,CAFoC,EAGpC2J,OAHoC,CAArC;CAKA,aAVF;;CAAA;CAAA;CAAA;CAAA;CAAA;;CAaC,UAAA,MAAI,CAAC9G,SAAL,CAAeN,KAAf;CACA,SAtDK;CAuDNoJ,QAAAA,MAAM,EAAE,gBAACpJ,KAAD,EAAQJ,OAAR,EACR;CACC,UAAA,MAAI,CAACoK,cAAL,CAAoBhK,KAApB,EAA2BJ,OAA3B;;CAEAI,UAAAA,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAACnC,QAAzB,IAAqC+B,MAAM,CAACC,MAAP,CACpCO,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAACnC,QAAzB,CADoC,EAEpCmC,OAAO,CAACgB,MAF4B,CAArC,CAHD;;CASC,UAAA,MAAI,CAACN,SAAL,CAAeN,KAAf;CACA,SAlEK;CAmEN,kBAAQ,iBAACA,KAAD,EAAQJ,OAAR,EACR;CACC,iBAAOI,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAACnC,QAAzB,CAAP,CADD;;CAIC,UAAA,MAAI,CAAC6C,SAAL,CAAeN,KAAf;CACA;CAzEK,OAAP;CA2EA;CApfF;CAAA;CAAA,mCAsfgBA,KAtfhB,EAsfuBJ,OAtfvB,EAufC;CACC,UAAI,OAAOI,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAACnC,QAAzB,CAAP,KAA8C,WAAlD,EACA;CACC,eAAO,IAAP;CACA;;CAED2K,MAAAA,UAAG,CAAC1I,GAAJ,CAAQM,KAAK,CAACyF,UAAd,EAA0B7F,OAAO,CAACnC,QAAlC,EAA4C,KAAKiK,eAAL,EAA5C;;CAEA,UAAI9H,OAAO,CAACgB,MAAZ,EACA;CACCZ,QAAAA,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAACnC,QAAzB,IAAqC+B,MAAM,CAACC,MAAP,CACpCO,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAACnC,QAAzB,CADoC,EAEpC,KAAKqC,QAAL,CAAcN,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBG,OAAO,CAACgB,MAA1B,CAAd,EAAiD;CAAC3D,UAAAA,IAAI,EAAE+C,KAAK,CAAC/C;CAAb,SAAjD,CAFoC,CAArC;CAIA;;CAED,aAAO,IAAP;CACA;CAxgBF;CAAA;CAAA,qCA2gBC;CACC,aAAO,GAAP;CACA;CA7gBF;CAAA;CAAA,gCAghBC;CAAA;;CAAA,UADU+C,KACV,uEADkB,EAClB;;CACC,UAAI,CAAC,KAAK4M,eAAL,EAAL,EACA;CACC,eAAO,IAAP;CACA;;CAED,4GAAgB,YAChB;CACC,YAAIK,WAAW,GAAG;CACjBxH,UAAAA,UAAU,EAAE,EADK;CAEjB4N,UAAAA,cAAc,EAAE,GAAG9G,MAAH,CAAUvM,KAAK,CAACqT,cAAhB,CAFC;CAGjBC,UAAAA,YAAY,EAAE,GAAG/G,MAAH,CAAUvM,KAAK,CAACsT,YAAhB;CAHG,SAAlB;CAMAtT,QAAAA,KAAK,CAACqT,cAAN,CAAqBzO,OAArB,CAA6B,UAAAnH,QAAQ,EAAI;CACxC,cAAI,CAACuC,KAAK,CAACyF,UAAN,CAAiBhI,QAAjB,CAAL,EACC,OAAO,KAAP;CAEDwP,UAAAA,WAAW,CAACxH,UAAZ,CAAuBhI,QAAvB,IAAmC+B,MAAM,CAACC,MAAP,CAClC,MAAI,CAACiI,eAAL,EADkC,EAElC,MAAI,CAACiP,UAAL,CAAgB3W,KAAK,CAACyF,UAAN,CAAiBhI,QAAjB,CAAhB,EAA4C,MAAI,CAACmZ,4BAAL,EAA5C,CAFkC,CAAnC;CAIA,SARD;CAUA,eAAO3J,WAAP;CACA,OAnBD;CAoBA;CA1iBF;CAAA;CAAA,6BA4iBUrM,MA5iBV,EA6iBC;CAAA,UADiB9B,OACjB,uEAD2B,EAC3B;CACC,UAAM+B,MAAM,GAAG,EAAf;CAEA/B,MAAAA,OAAO,CAAC7B,IAAR,GAAe6B,OAAO,CAAC7B,IAAR,IAAgB,KAAK4Z,QAAL,GAAgB5Z,IAA/C;;CAEA,UAAI,OAAO2D,MAAM,CAACkW,SAAd,KAA4B,WAAhC,EACA;CACClW,QAAAA,MAAM,CAACnD,QAAP,GAAkBmD,MAAM,CAACkW,SAAzB;CACA;;CACD,UAAI,OAAOlW,MAAM,CAACnD,QAAd,KAA2B,QAA3B,IAAuC,OAAOmD,MAAM,CAACnD,QAAd,KAA2B,QAAtE,EACA;CACCoD,QAAAA,MAAM,CAACpD,QAAP,GAAkBmD,MAAM,CAACnD,QAAP,CAAgBqD,QAAhB,EAAlB;CACA;;CAED,UAAI,OAAOF,MAAM,CAAC0M,OAAd,KAA0B,WAA9B,EACA;CACC1M,QAAAA,MAAM,CAAClD,MAAP,GAAgBkD,MAAM,CAAC0M,OAAvB;CACA,OAHD,MAIK,IAAI,OAAO1M,MAAM,CAACiC,EAAd,KAAqB,WAAzB,EACL;CACCjC,QAAAA,MAAM,CAAClD,MAAP,GAAgBkD,MAAM,CAACiC,EAAvB;CACA;;CACD,UAAI,OAAOjC,MAAM,CAAClD,MAAd,KAAyB,QAAzB,IAAqC,OAAOkD,MAAM,CAAClD,MAAd,KAAyB,QAAlE,EACA;CACCmD,QAAAA,MAAM,CAACnD,MAAP,GAAgBuD,QAAQ,CAACL,MAAM,CAAClD,MAAR,CAAxB;CACA;;CACD,UAAI,OAAOkD,MAAM,CAAC4S,OAAd,KAA0B,QAA9B,EACA;CACC3S,QAAAA,MAAM,CAAC2S,OAAP,GAAiBvS,QAAQ,CAACL,MAAM,CAAC4S,OAAR,CAAzB;CACA;;CACD,UAAI,OAAO5S,MAAM,CAACoT,MAAd,KAAyB,QAA7B,EACA;CACCnT,QAAAA,MAAM,CAACmT,MAAP,GAAgB/S,QAAQ,CAACL,MAAM,CAACoT,MAAR,CAAxB;CACA;;CAED,UAAI,OAAOpT,MAAM,CAAC6S,OAAd,KAA0B,QAA1B,IAAsC,OAAO7S,MAAM,CAAC6S,OAAd,KAA0B,QAApE,EACA;CACC5S,QAAAA,MAAM,CAAC4S,OAAP,GAAiBxS,QAAQ,CAACL,MAAM,CAAC6S,OAAR,CAAzB;CACA;;CAED,UAAI,OAAO7S,MAAM,CAACmW,YAAd,KAA+B,QAA/B,IAA2C,OAAOnW,MAAM,CAACmW,YAAd,KAA+B,QAA9E,EACA;CACClW,QAAAA,MAAM,CAAC6S,WAAP,GAAqBzS,QAAQ,CAACL,MAAM,CAACmW,YAAR,CAA7B;CACA;;CACD,UAAI,OAAOnW,MAAM,CAAC8S,WAAd,KAA8B,QAA9B,IAA0C,OAAO9S,MAAM,CAAC8S,WAAd,KAA8B,QAA5E,EACA;CACC7S,QAAAA,MAAM,CAAC6S,WAAP,GAAqBzS,QAAQ,CAACL,MAAM,CAAC8S,WAAR,CAA7B;CACA;;CAED,UAAI,OAAO9S,MAAM,CAACoW,aAAd,KAAgC,QAAhC,IAA4C,OAAOpW,MAAM,CAACoW,aAAd,KAAgC,QAAhF,EACA;CACCnW,QAAAA,MAAM,CAACY,YAAP,GAAsBR,QAAQ,CAACL,MAAM,CAACoW,aAAR,CAA9B;CACA;;CACD,UAAI,OAAOpW,MAAM,CAACa,YAAd,KAA+B,QAA/B,IAA2C,OAAOb,MAAM,CAACa,YAAd,KAA+B,QAA9E,EACA;CACCZ,QAAAA,MAAM,CAACY,YAAP,GAAsBR,QAAQ,CAACL,MAAM,CAACa,YAAR,CAA9B;CACA;;CAED,UAAI,OAAOb,MAAM,CAACqW,SAAd,KAA4B,WAAhC,EACA;CACCrW,QAAAA,MAAM,CAACmJ,QAAP,GAAkBnJ,MAAM,CAACqW,SAAzB;CACA;;CACD,UAAI,OAAOrW,MAAM,CAACmJ,QAAd,KAA2B,QAA3B,IAAuC,OAAOnJ,MAAM,CAACmJ,QAAd,KAA2B,QAAtE,EACA;CACClJ,QAAAA,MAAM,CAACkJ,QAAP,GAAkB9I,QAAQ,CAACL,MAAM,CAACmJ,QAAR,CAA1B;CACA;;CAED,UAAI,OAAOnJ,MAAM,CAACsW,eAAd,KAAkC,WAAtC,EACA;CACCtW,QAAAA,MAAM,CAAC+S,aAAP,GAAuB/S,MAAM,CAACsW,eAA9B;CACA;;CACD,UAAI,OAAOtW,MAAM,CAAC+S,aAAd,KAAgC,QAAhC,IAA4C,OAAO/S,MAAM,CAAC+S,aAAd,KAAgC,QAAhF,EACA;CACC9S,QAAAA,MAAM,CAAC8S,aAAP,GAAuB1S,QAAQ,CAACL,MAAM,CAAC+S,aAAR,CAA/B;CACA;;CAED,UAAI,OAAO/S,MAAM,CAACuW,WAAd,KAA8B,WAAlC,EACA;CACCvW,QAAAA,MAAM,CAACiT,UAAP,GAAoBjT,MAAM,CAACuW,WAA3B;CACA;;CACD,UAAI,OAAOvW,MAAM,CAACiT,UAAd,KAA6B,WAAjC,EACA;CACChT,QAAAA,MAAM,CAACgT,UAAP,GAAoB,EAApB;;CAEA,YAAIjT,MAAM,CAACiT,UAAP,YAA6BxQ,KAAjC,EACA;CACCzC,UAAAA,MAAM,CAACiT,UAAP,CAAkBjP,OAAlB,CAA0B,UAAAwC,OAAO,EACjC;CACC,gBAAIgQ,MAAM,GAAG,EAAb;;CACA,gBAAI,OAAOhQ,OAAO,CAACiQ,OAAf,KAA2B,WAA/B,EACA;CACCjQ,cAAAA,OAAO,CAAC9J,MAAR,GAAiB8J,OAAO,CAACiQ,OAAzB;CACA;;CACD,gBAAI,OAAOjQ,OAAO,CAACkQ,SAAf,KAA6B,WAAjC,EACA;CACClQ,cAAAA,OAAO,CAACwO,QAAR,GAAmBxO,OAAO,CAACkQ,SAA3B;CACA;;CACD,gBAAI,OAAOlQ,OAAO,CAACmQ,UAAf,KAA8B,WAAlC,EACA;CACCnQ,cAAAA,OAAO,CAACE,SAAR,GAAoBF,OAAO,CAACmQ,UAA5B;CACA;;CAED,gBAAI,CAACnQ,OAAO,CAAC9J,MAAT,IAAmB,CAAC8J,OAAO,CAACwO,QAA5B,IAAwC,CAACxO,OAAO,CAACE,SAArD,EACA;CACC,qBAAO,KAAP;CACA;;CAED8P,YAAAA,MAAM,CAAC9Z,MAAP,GAAgB2D,QAAQ,CAACmG,OAAO,CAAC9J,MAAT,CAAxB;CACA8Z,YAAAA,MAAM,CAACxB,QAAP,GAAkBxO,OAAO,CAACwO,QAAR,CAAiB9U,QAAjB,EAAlB;CACAsW,YAAAA,MAAM,CAAC9P,SAAP,GAAmBrG,QAAQ,CAACmG,OAAO,CAACE,SAAT,CAA3B;CAEA8P,YAAAA,MAAM,CAAClR,IAAP,GAAcgH,kBAAK,CAAChH,IAAN,CAAWqH,IAAX,CAAgBnG,OAAO,CAAClB,IAAxB,CAAd;CAEArF,YAAAA,MAAM,CAACgT,UAAP,CAAkB9O,IAAlB,CAAuBqS,MAAvB;CACA,WA5BD;CA6BA;CACD;;CAED,UAAI,OAAOxW,MAAM,CAAC4W,YAAd,KAA+B,WAAnC,EACA;CACC5W,QAAAA,MAAM,CAAC2S,WAAP,GAAqB3S,MAAM,CAAC4W,YAA5B;CACA;;CACD,UAAI,OAAO5W,MAAM,CAAC2S,WAAd,KAA8B,WAAlC,EACA;CACC1S,QAAAA,MAAM,CAAC0S,WAAP,GAAqB,EAArB;;CAEA,YAAI3S,MAAM,CAAC2S,WAAP,YAA8BlQ,KAAlC,EACA;CACCzC,UAAAA,MAAM,CAAC2S,WAAP,CAAmB3O,OAAnB,CAA2B,UAAAwC,OAAO,EAClC;CACC,gBAAIgQ,MAAM,GAAG,EAAb;;CAEA,gBAAI,CAAChQ,OAAO,CAAC9J,MAAb,EACA;CACC,qBAAO,KAAP;CACA;;CAED8Z,YAAAA,MAAM,CAAC9Z,MAAP,GAAgB2D,QAAQ,CAACmG,OAAO,CAAC9J,MAAT,CAAxB;CACA8Z,YAAAA,MAAM,CAACxB,QAAP,GAAkB1I,kBAAK,CAAC/G,IAAN,CAAWiK,oBAAX,CAAgChJ,OAAO,CAACwO,QAAxC,CAAlB;CAEA/U,YAAAA,MAAM,CAAC0S,WAAP,CAAmBxO,IAAnB,CAAwBqS,MAAxB;CACA,WAbD;CAcA;CACD;;CAED,UAAI,OAAOxW,MAAM,CAAC6W,YAAd,KAA+B,WAAnC,EACA;CACC7W,QAAAA,MAAM,CAACgT,WAAP,GAAqBhT,MAAM,CAAC6W,YAA5B;CACA;;CACD,UAAI,OAAO7W,MAAM,CAACgT,WAAd,KAA8B,WAAlC,EACA;CACC/S,QAAAA,MAAM,CAAC+S,WAAP,GAAqB,EAArB;;CAEA,YAAIhT,MAAM,CAACgT,WAAP,YAA8BvQ,KAAlC,EACA;CACCzC,UAAAA,MAAM,CAACgT,WAAP,CAAmBhP,OAAnB,CAA2B,UAAAtH,MAAM,EACjC;CACCA,YAAAA,MAAM,GAAG2D,QAAQ,CAAC3D,MAAD,CAAjB;;CACA,gBAAIA,MAAM,GAAG,CAAb,EACA;CACCuD,cAAAA,MAAM,CAAC+S,WAAP,CAAmB7O,IAAnB,CAAwBzH,MAAxB;CACA;CACD,WAPD;CAQA;CACD;;CAED,UAAI,OAAOsD,MAAM,CAAC8W,SAAd,KAA4B,WAAhC,EACA;CACC9W,QAAAA,MAAM,CAACkT,QAAP,GAAkBlT,MAAM,CAAC8W,SAAzB;CACA;;CACD,UAAI,OAAO9W,MAAM,CAACkT,QAAd,KAA2B,WAA/B,EACA;CACCjT,QAAAA,MAAM,CAACiT,QAAP,GAAkB,EAAlB;;CAEA,YAAIlT,MAAM,CAACkT,QAAP,YAA2BzQ,KAA/B,EACA;CACCzC,UAAAA,MAAM,CAACkT,QAAP,CAAgBlP,OAAhB,CAAwB,UAAAtH,MAAM,EAC9B;CACCA,YAAAA,MAAM,GAAG2D,QAAQ,CAAC3D,MAAD,CAAjB;;CACA,gBAAIA,MAAM,GAAG,CAAb,EACA;CACCuD,cAAAA,MAAM,CAACiT,QAAP,CAAgB/O,IAAhB,CAAqBzH,MAArB;CACA;CACD,WAPD;CAQA,SAVD,MAWK,IAAI,uBAAOsD,MAAM,CAACkT,QAAd,MAA2B,QAA/B,EACL;CACCtU,UAAAA,MAAM,CAACmY,OAAP,CAAe/W,MAAM,CAACkT,QAAtB,EAAgClP,OAAhC,CAAwC,UAAAgT,KAAK,EAAI;CAChD,gBAAIA,KAAK,CAAC,CAAD,CAAL,KAAa,IAAjB,EACA;CACC,kBAAMta,MAAM,GAAG2D,QAAQ,CAAC2W,KAAK,CAAC,CAAD,CAAN,CAAvB;;CACA,kBAAIta,MAAM,GAAG,CAAb,EACA;CACCuD,gBAAAA,MAAM,CAACiT,QAAP,CAAgB/O,IAAhB,CAAqBzH,MAArB;CACA;CACD;CACD,WATD;CAUA;CACD;;CAED,UAAI,OAAOsD,MAAM,CAACmT,eAAd,KAAkC,WAAtC,EACA;CACClT,QAAAA,MAAM,CAACkT,eAAP,GAAyBnT,MAAM,CAACmT,eAAP,CAAuBjT,QAAvB,EAAzB;CACA;;CAED,UAAI,OAAOF,MAAM,CAAC+Q,KAAd,KAAwB,WAA5B,EACA;CACC/Q,QAAAA,MAAM,CAACiR,IAAP,GAAcjR,MAAM,CAAC+Q,KAArB;CACA;;CACD,UAAI,OAAO/Q,MAAM,CAACiR,IAAd,KAAuB,QAAvB,IAAmC,OAAOjR,MAAM,CAACiR,IAAd,KAAuB,QAA9D,EACA;CACChR,QAAAA,MAAM,CAACgR,IAAP,GAAc3E,kBAAK,CAAC/G,IAAN,CAAWiK,oBAAX,CAAgCxP,MAAM,CAACiR,IAAP,CAAY/Q,QAAZ,EAAhC,CAAd;CACA;;CAED,UAAI,OAAOF,MAAM,CAACsT,KAAd,KAAwB,WAA5B,EACA;CACCtT,QAAAA,MAAM,CAACiX,OAAP,GAAiBjX,MAAM,CAACsT,KAAxB;CACA;;CACD,UAAI,OAAOtT,MAAM,CAACiX,OAAd,KAA0B,QAA1B,IAAsC,OAAOjX,MAAM,CAACiX,OAAd,KAA0B,QAApE,EACA;CACChX,QAAAA,MAAM,CAACgX,OAAP,GAAiB5W,QAAQ,CAACL,MAAM,CAACiX,OAAR,CAAzB;CACA;;CAED,UAAI,OAAOjX,MAAM,CAACuT,QAAd,KAA2B,SAA/B,EACA;CACCtT,QAAAA,MAAM,CAACsT,QAAP,GAAkBvT,MAAM,CAACuT,QAAzB;CACA;;CAED,UAAI,OAAOvT,MAAM,CAACwT,MAAd,KAAyB,QAA7B,EACA;CACC,YAAIA,MAAJ;;CAEA,YAAI,CAACxT,MAAM,CAACwT,MAAR,IAAkBxT,MAAM,CAACwT,MAAP,CAAc0D,QAAd,CAAuB,yBAAvB,CAAtB,EACA;CACC1D,UAAAA,MAAM,GAAG,EAAT;CACA,SAHD,MAIK,IAAIxT,MAAM,CAACwT,MAAP,CAAcrT,UAAd,CAAyB,MAAzB,CAAJ,EACL;CACCqT,UAAAA,MAAM,GAAGxT,MAAM,CAACwT,MAAhB;CACA,SAHI,MAKL;CACCA,UAAAA,MAAM,GAAGtV,OAAO,CAAC7B,IAAR,GAAe2D,MAAM,CAACwT,MAA/B;CACA;;CAED,YAAIA,MAAJ,EACA;CACCvT,UAAAA,MAAM,CAACuT,MAAP,GAAgB2D,SAAS,CAAC3D,MAAD,CAAzB;CACA;CACD;;CAED,UAAI,OAAOxT,MAAM,CAACyT,KAAd,KAAwB,QAA5B,EACA;CACCxT,QAAAA,MAAM,CAACwT,KAAP,GAAezT,MAAM,CAACyT,KAAP,CAAavT,QAAb,EAAf;CACA;;CAED,UAAI,OAAOF,MAAM,CAACpC,IAAd,KAAuB,QAA3B,EACA;CACCqC,QAAAA,MAAM,CAACrC,IAAP,GAAcoC,MAAM,CAACpC,IAAP,CAAYsC,QAAZ,EAAd;CACA;;CAED,UAAI,OAAOF,MAAM,CAACoX,WAAd,KAA8B,WAAlC,EACA;CACCpX,QAAAA,MAAM,CAAC0T,UAAP,GAAoB1T,MAAM,CAACoX,WAA3B;CACA;;CACD,UAAI,OAAOpX,MAAM,CAAC0T,UAAd,KAA6B,QAAjC,EACA;CACCzT,QAAAA,MAAM,CAACyT,UAAP,GAAoB1T,MAAM,CAAC0T,UAAP,CAAkBxT,QAAlB,EAApB;CACA;;CACD,UAAI,OAAOF,MAAM,CAACqX,SAAd,KAA4B,WAAhC,EACA;CACCrX,QAAAA,MAAM,CAAC2T,QAAP,GAAkB3T,MAAM,CAACqX,SAAzB;CACA;;CACD,UAAI,OAAOrX,MAAM,CAAC2T,QAAd,KAA2B,QAA3B,IAAuC,OAAO3T,MAAM,CAAC2T,QAAd,KAA2B,QAAtE,EACA;CACC1T,QAAAA,MAAM,CAAC0T,QAAP,GAAkB3T,MAAM,CAAC2T,QAAP,CAAgBzT,QAAhB,EAAlB;CACA;;CAED,UAAI,OAAOF,MAAM,CAACsX,aAAd,KAAgC,WAApC,EACA;CACCtX,QAAAA,MAAM,CAAC4T,WAAP,GAAqB5T,MAAM,CAACsX,aAA5B;CACA;;CACD,UAAI,OAAOtX,MAAM,CAAC4T,WAAd,KAA8B,QAAlC,EACA;CACC3T,QAAAA,MAAM,CAAC2T,WAAP,GAAqB5T,MAAM,CAAC4T,WAAP,CAAmB1T,QAAnB,EAArB;CACA;;CAED,UAAI,OAAOF,MAAM,CAACuX,aAAd,KAAgC,WAApC,EACA;CACCvX,QAAAA,MAAM,CAAC6T,WAAP,GAAqB7T,MAAM,CAACuX,aAA5B;CACA;;CACD,UAAI,OAAOvX,MAAM,CAAC6T,WAAd,KAA8B,QAAlC,EACA;CACC5T,QAAAA,MAAM,CAAC4T,WAAP,GAAqB7T,MAAM,CAAC6T,WAAP,CAAmB3T,QAAnB,EAArB;CACA;;CAED,UAAI,OAAOF,MAAM,CAACwX,aAAd,KAAgC,WAApC,EACA;CACCxX,QAAAA,MAAM,CAAC8T,WAAP,GAAqB9T,MAAM,CAACwX,aAA5B;CACA;;CACD,UAAI,OAAOxX,MAAM,CAAC8T,WAAd,KAA8B,QAAlC,EACA;CACC7T,QAAAA,MAAM,CAAC6T,WAAP,GAAqB9T,MAAM,CAAC8T,WAAP,CAAmB5T,QAAnB,EAArB;CACA;;CAED,UAAI,OAAOF,MAAM,CAACyX,WAAd,KAA8B,WAAlC,EACA;CACCzX,QAAAA,MAAM,CAAC+T,UAAP,GAAoB/T,MAAM,CAACyX,WAA3B;CACA;;CAED,UAAI,OAAOzX,MAAM,CAAC+T,UAAd,KAA6B,WAAjC,EACA;CACC9T,QAAAA,MAAM,CAAC8T,UAAP,GAAoBzH,kBAAK,CAAChH,IAAN,CAAWqH,IAAX,CAAgB3M,MAAM,CAAC+T,UAAvB,CAApB;CACA;;CAED,UAAI,OAAO/T,MAAM,CAAC0X,YAAd,KAA+B,WAAnC,EACA;CACCzX,QAAAA,MAAM,CAACyX,YAAP,GAAsBpL,kBAAK,CAAChH,IAAN,CAAWqH,IAAX,CAAgB3M,MAAM,CAAC0X,YAAvB,CAAtB;CACA;;CAED,UAAI,uBAAO1X,MAAM,CAACgU,YAAd,MAA+B,QAA/B,IAA2ChU,MAAM,CAACgU,YAAtD,EACA;CACC/T,QAAAA,MAAM,CAAC+T,YAAP,GAAsB,EAAtB;;CAEA,YAAI,OAAOhU,MAAM,CAACgU,YAAP,CAAoBR,MAA3B,KAAsC,SAA1C,EACA;CACCvT,UAAAA,MAAM,CAAC+T,YAAP,CAAoBR,MAApB,GAA6BxT,MAAM,CAACgU,YAAP,CAAoBR,MAAjD;CACA;;CAED,YAAI,OAAOxT,MAAM,CAACgU,YAAP,CAAoBC,MAA3B,KAAsC,SAA1C,EACA;CACChU,UAAAA,MAAM,CAAC+T,YAAP,CAAoBC,MAApB,GAA6BjU,MAAM,CAACgU,YAAP,CAAoBC,MAAjD;CACA;;CAED,YAAI,OAAOjU,MAAM,CAACgU,YAAP,CAAoBE,KAA3B,KAAqC,SAAzC,EACA;CACCjU,UAAAA,MAAM,CAAC+T,YAAP,CAAoBE,KAApB,GAA4BlU,MAAM,CAACgU,YAAP,CAAoBE,KAAhD;CACA;;CAED,YAAI,OAAOlU,MAAM,CAACgU,YAAP,CAAoB2D,WAA3B,KAA2C,SAA/C,EACA;CACC1X,UAAAA,MAAM,CAAC+T,YAAP,CAAoBG,UAApB,GAAiCnU,MAAM,CAACgU,YAAP,CAAoB2D,WAArD;CACA;;CAED,YAAI,OAAO3X,MAAM,CAACgU,YAAP,CAAoBI,MAA3B,KAAsC,SAA1C,EACA;CACCnU,UAAAA,MAAM,CAAC+T,YAAP,CAAoBI,MAApB,GAA6BpU,MAAM,CAACgU,YAAP,CAAoBI,MAAjD;CACA;;CAED,YAAI,OAAOpU,MAAM,CAACgU,YAAP,CAAoBK,IAA3B,KAAoC,SAAxC,EACA;CACCpU,UAAAA,MAAM,CAAC+T,YAAP,CAAoBK,IAApB,GAA2BrU,MAAM,CAACgU,YAAP,CAAoBK,IAA/C;CACA;;CAED,YAAI,OAAOrU,MAAM,CAACgU,YAAP,CAAoB4D,SAA3B,KAAyC,SAA7C,EACA;CACC3X,UAAAA,MAAM,CAAC+T,YAAP,CAAoBM,QAApB,GAA+BtU,MAAM,CAACgU,YAAP,CAAoB4D,SAAnD;CACA;;CAED,YAAI,OAAO5X,MAAM,CAACgU,YAAP,CAAoBO,IAA3B,KAAoC,SAAxC,EACA;CACCtU,UAAAA,MAAM,CAAC+T,YAAP,CAAoBO,IAApB,GAA2BvU,MAAM,CAACgU,YAAP,CAAoBO,IAA/C;CACA;;CAED,YAAI,OAAOvU,MAAM,CAACgU,YAAP,CAAoB1W,IAA3B,KAAoC,SAAxC,EACA;CACC2C,UAAAA,MAAM,CAAC+T,YAAP,CAAoB1W,IAApB,GAA2B0C,MAAM,CAACgU,YAAP,CAAoB1W,IAA/C;CACA;CACD;;CAED,UAAI,uBAAO0C,MAAM,UAAb,MAAyB,QAAzB,IAAqCA,MAAM,UAA/C,EACA;CACCC,QAAAA,MAAM,UAAN,GAAgB,EAAhB;;CAEA,YAAI,OAAOD,MAAM,UAAN,CAActB,IAArB,KAA8B,QAAlC,EACA;CACCuB,UAAAA,MAAM,UAAN,CAAcvB,IAAd,GAAqBsB,MAAM,UAAN,CAActB,IAAnC;CACA;;CAED,YAAI,OAAOsB,MAAM,UAAN,CAAc4P,IAArB,KAA8B,QAAlC,EACA;CACC3P,UAAAA,MAAM,UAAN,CAAc2P,IAAd,GAAqB5P,MAAM,UAAN,CAAc4P,IAAnC;CACA;CACD;;CAED,aAAO3P,MAAP;CACA;CA/6BF;CAAA;CAAA,EAAoCM,4BAApC;;;;;;;KCDasX,UAAb;CAAA;;CAAA;CAAA;CAAA;CAAA;;CAAA;CAAA;CAAA,8BAGC;CACC,aAAO,OAAP;CACA;CALF;CAAA;CAAA,+BAQC;CACC,WAAKC,wBAAL;CAEA,aAAO;CACNzb,QAAAA,IAAI,EAAE,KAAKC,WAAL,CAAiB,MAAjB,EAAyBC,QAAQ,CAACC,QAAT,GAAkB,IAAlB,GAAuBD,QAAQ,CAACF,IAAzD,CADA;CAENwI,QAAAA,UAAU,EAAE,EAFN;CAGNkT,QAAAA,UAAU,EAAE,EAHN;CAINC,QAAAA,gBAAgB,EAAE,EAJZ;CAKNC,QAAAA,UAAU,EAAE;CALN,OAAP;CAOA;CAlBF;CAAA;CAAA,sCAqBC;CAAA,UADgBxS,MAChB,uEADyB,EACzB;CACC,uBAKIA,MALJ,CACCxD,EADD;CAAA,UACCA,EADD,2BACM,CADN;CAAA,yBAKIwD,MALJ,CAECwL,IAFD;CAAA,UAECA,IAFD,6BAEQ,KAAK3U,WAAL,CAAiB,cAAjB,EAAiC,EAAjC,CAFR;CAAA,8BAKImJ,MALJ,CAGCyS,SAHD;CAAA,UAGCA,SAHD,kCAGa,KAAK5b,WAAL,CAAiB,cAAjB,EAAiC,EAAjC,CAHb;CAAA,6BAKImJ,MALJ,CAIC0S,QAJD;CAAA,UAICA,QAJD,iCAIY,EAJZ;CAOA,aAAO;CACNlW,QAAAA,EAAE,EAAFA,EADM;CAENgP,QAAAA,IAAI,EAAJA,IAFM;CAGNiH,QAAAA,SAAS,EAATA,SAHM;CAINC,QAAAA,QAAQ,EAARA,QAJM;CAKNC,QAAAA,YAAY,EAAE,EALR;CAMN3E,QAAAA,KAAK,EAAE,SAND;CAOND,QAAAA,MAAM,EAAE,EAPF;CAQN6E,QAAAA,MAAM,EAAE,GARF;CASNC,QAAAA,QAAQ,EAAE,KATJ;CAUNC,QAAAA,UAAU,EAAE,KAVN;CAWNhF,QAAAA,QAAQ,EAAE,KAXJ;CAYNiF,QAAAA,OAAO,EAAE,KAZH;CAaNC,QAAAA,GAAG,EAAE,KAbC;CAcNC,QAAAA,SAAS,EAAE,KAdL;CAeNC,QAAAA,cAAc,EAAE,SAfV;CAgBNpW,QAAAA,MAAM,EAAE,QAhBF;CAiBNqW,QAAAA,IAAI,EAAE,KAjBA;CAkBNC,QAAAA,gBAAgB,EAAE,KAlBZ;CAmBNC,QAAAA,cAAc,EAAE,KAnBV;CAoBNC,QAAAA,QAAQ,EAAE,KApBJ;CAqBNC,QAAAA,cAAc,EAAE,KArBV;CAsBNC,QAAAA,MAAM,EAAE,KAtBF;CAuBNC,QAAAA,QAAQ,EAAE,KAvBJ;CAwBNC,QAAAA,WAAW,EAAE,EAxBP;CAyBNC,QAAAA,MAAM,EAAE;CACPC,UAAAA,SAAS,EAAE,EADJ;CAEPC,UAAAA,cAAc,EAAE,EAFT;CAGPC,UAAAA,aAAa,EAAE,EAHR;CAIPC,UAAAA,UAAU,EAAE;CAJL,SAzBF;CA+BNnG,QAAAA,IAAI,EAAE;CA/BA,OAAP;CAiCA;CA9DF;CAAA;CAAA,iCAiEC;CAAA;;CACC,aAAO;CACNzM,QAAAA,GAAG,EAAE,aAAAxH,KAAK;CAAA,iBAAI,UAAC1C,MAAD,EACd;CAAA,gBADuB+c,YACvB,uEADsC,KACtC;CACC/c,YAAAA,MAAM,GAAG2D,QAAQ,CAAC3D,MAAD,CAAjB;;CAEA,gBAAIA,MAAM,IAAI,CAAd,EACA;CACC,kBAAI+c,YAAJ,EACA;CACC/c,gBAAAA,MAAM,GAAG,CAAT;CACA,eAHD,MAKA;CACC,uBAAO,IAAP;CACA;CACD;;CAED,gBACC,CAAC+c,YAAD,KACI,CAACra,KAAK,CAACyF,UAAN,CAAiBnI,MAAjB,CAAD,IAA6B,CAAC0C,KAAK,CAACyF,UAAN,CAAiBnI,MAAjB,EAAyB2W,IAD3D,CADD,EAIA;CACC,qBAAO,IAAP;CACA;;CAED,gBAAI,CAACjU,KAAK,CAACyF,UAAN,CAAiBnI,MAAjB,CAAL,EACA;CACC,qBAAO,KAAI,CAACoK,eAAL,CAAqB;CAAC7E,gBAAAA,EAAE,EAAEvF;CAAL,eAArB,CAAP;CACA;;CAED,mBAAO0C,KAAK,CAACyF,UAAN,CAAiBnI,MAAjB,CAAP;CACA,WA9BS;CAAA,SADJ;CAgCNmK,QAAAA,QAAQ,EAAE,kBAAAzH,KAAK;CAAA,iBAAI,UAAAqG,MAAM,EACzB;CACC,mBAAO,KAAI,CAACqB,eAAL,CAAqBrB,MAArB,CAAP;CACA,WAHc;CAAA,SAhCT;CAoCNiU,QAAAA,OAAO,EAAE,iBAAAta,KAAK;CAAA,iBAAI,UAACkV,QAAD,EAAc;CAC/B,gBAAMrU,MAAM,GAAG,EAAf;;CAEA,gBAAI,CAACwC,KAAK,CAACC,OAAN,CAAc4R,QAAd,CAAL,EACA;CACC,qBAAO,IAAP;CACA;;CAEDA,YAAAA,QAAQ,CAACtQ,OAAT,CAAiB,UAAA/B,EAAE,EAAI;CACtB,kBAAI7C,KAAK,CAACyF,UAAN,CAAiB5C,EAAjB,CAAJ,EACA;CACChC,gBAAAA,MAAM,CAACkE,IAAP,CAAY/E,KAAK,CAACyF,UAAN,CAAiB5C,EAAjB,CAAZ;CACA,eAHD,MAKA;CACChC,gBAAAA,MAAM,CAACkE,IAAP,CAAY,KAAI,CAAC2C,eAAL,CAAqB;CAAC7E,kBAAAA,EAAE,EAAFA;CAAD,iBAArB,CAAZ;CACA;CACD,aATD;CAWA,mBAAOhC,MAAP;CACA,WApBa;CAAA;CApCR,OAAP;CA0DA;CA5HF;CAAA;CAAA,iCA+HC;CAAA;;CACC,aAAO;CACNnB,QAAAA,GAAG,EAAE,aAACC,KAAD,EAAQC,OAAR,EACL;CACC,cAAIA,OAAO,YAAYyD,KAAvB,EACA;CACCzD,YAAAA,OAAO,GAAGA,OAAO,CAAC4I,GAAR,CAAY,UAAA5F,IAAI,EAAI;CAC7B,qBAAOpD,MAAM,CAACC,MAAP,CACN,EADM,EAEN,MAAI,CAACiI,eAAL,EAFM,EAGN,MAAI,CAAC5H,QAAL,CAAcN,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBmD,IAAlB,CAAd,EAAuC;CAAC3F,gBAAAA,IAAI,EAAE0C,KAAK,CAACK,KAAN,CAAY/C;CAAnB,eAAvC,CAHM,EAIN;CAACgX,gBAAAA,IAAI,EAAE;CAAP,eAJM,CAAP;CAMA,aAPS,CAAV;CAQA,WAVD,MAYA;CACC,gBAAIpT,MAAM,GAAG,EAAb;CACAA,YAAAA,MAAM,CAACkE,IAAP,CAAYvF,MAAM,CAACC,MAAP,CACX,EADW,EAEX,MAAI,CAACiI,eAAL,EAFW,EAGX,MAAI,CAAC5H,QAAL,CAAcN,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBG,OAAlB,CAAd,EAA0C;CAAC3C,cAAAA,IAAI,EAAE0C,KAAK,CAACK,KAAN,CAAY/C;CAAnB,aAA1C,CAHW,EAIX;CAACgX,cAAAA,IAAI,EAAE;CAAP,aAJW,CAAZ;CAMArU,YAAAA,OAAO,GAAGiB,MAAV;CACA;;CAEDlB,UAAAA,KAAK,CAACE,MAAN,CAAa,KAAb,EAAoBD,OAApB;CACA,SA3BK;CA4BNwJ,QAAAA,MAAM,EAAE,gBAACzJ,KAAD,EAAQC,OAAR,EACR;CACCA,UAAAA,OAAO,CAACiD,EAAR,GAAa5B,QAAQ,CAACrB,OAAO,CAACiD,EAAT,CAArB;;CAEA,cACC,OAAOlD,KAAK,CAACK,KAAN,CAAYyF,UAAZ,CAAuB7F,OAAO,CAACiD,EAA/B,CAAP,KAA8C,WAA9C,IACGlD,KAAK,CAACK,KAAN,CAAYyF,UAAZ,CAAuB7F,OAAO,CAACiD,EAA/B,EAAmCoR,IAAnC,KAA4C,KAFhD,EAIA;CACC,mBAAO,IAAP;CACA;;CAEDtU,UAAAA,KAAK,CAACE,MAAN,CAAa,QAAb,EAAuB;CACtBgD,YAAAA,EAAE,EAAGjD,OAAO,CAACiD,EADS;CAEtBjC,YAAAA,MAAM,EAAG,MAAI,CAACd,QAAL,CAAcN,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBG,OAAO,CAACgB,MAA1B,CAAd,EAAiD;CAAC3D,cAAAA,IAAI,EAAE0C,KAAK,CAACK,KAAN,CAAY/C;CAAnB,aAAjD;CAFa,WAAvB;CAKA,iBAAO,IAAP;CACA,SA9CK;CA+CN,kBAAQ,iBAAC0C,KAAD,EAAQC,OAAR,EACR;CACCD,UAAAA,KAAK,CAACE,MAAN,CAAa,QAAb,EAAuBD,OAAO,CAACiD,EAA/B;CACA,iBAAO,IAAP;CACA,SAnDK;CAoDNvC,QAAAA,SAAS,EAAE,mBAACX,KAAD,EAAQC,OAAR,EACX;CACCD,UAAAA,KAAK,CAACE,MAAN,CAAa,WAAb,EAA0B,EAA1B;CACA,iBAAO,IAAP;CACA;CAxDK,OAAP;CA0DA;CA1LF;CAAA;CAAA,mCA6LC;CAAA;;CACC,aAAO;CACNH,QAAAA,GAAG,EAAE,aAACM,KAAD,EAAQJ,OAAR,EACL;CAAA,uDACqBA,OADrB;CAAA;;CAAA;CAAA;CAAA,kBACUwH,OADV;;CAGE,cAAA,MAAI,CAAC4C,cAAL,CAAoBhK,KAApB,EAA2B;CAAC6C,gBAAAA,EAAE,EAAEuE,OAAO,CAACvE;CAAb,eAA3B;;CAEA7C,cAAAA,KAAK,CAACyF,UAAN,CAAiB2B,OAAO,CAACvE,EAAzB,IAA+BrD,MAAM,CAACC,MAAP,CAAcO,KAAK,CAACyF,UAAN,CAAiB2B,OAAO,CAACvE,EAAzB,CAAd,EAA4CuE,OAA5C,CAA/B;CAEA,kBAAIjE,MAAM,GAAG+J,kBAAK,CAACtK,IAAN,CAAW2X,eAAX,CAA2BnT,OAA3B,CAAb;;CACA,kBAAIjE,MAAM,CAACwW,QAAX,EACA;CACC3Z,gBAAAA,KAAK,CAACyF,UAAN,CAAiB2B,OAAO,CAACvE,EAAzB,EAA6B8W,QAA7B,GAAwC,IAAxC;;CACA,gBAAA,MAAI,CAACa,eAAL,CAAqBxa,KAArB,EAA4BoH,OAAO,CAACvE,EAApC;CACA;;CAED,kBAAI4X,YAAY,GAAGvN,kBAAK,CAACtK,IAAN,CAAW8X,cAAX,CAA0BtT,OAA1B,CAAnB;;CACA,kBAAIqT,YAAJ,EACA;CACCza,gBAAAA,KAAK,CAACyF,UAAN,CAAiB2B,OAAO,CAACvE,EAAzB,EAA6B+W,cAA7B,GAA8C,IAA9C;;CACA,gBAAA,MAAI,CAACe,qBAAL,CAA2B3a,KAA3B,EAAkCoH,OAAO,CAACvE,EAA1C;CACA;;CAED,kBAAIuE,OAAO,CAAC8R,QAAZ,EACA;CACC,oBAAI0B,KAAK,GAAG1N,kBAAK,CAAChH,IAAN,CAAW2U,MAAX,CAAkB,IAAIpW,IAAJ,EAAlB,EAA8B,KAA9B,CAAZ;;CACA,oBAAI2C,OAAO,CAAC8R,QAAR,KAAqB0B,KAAzB,EACA;CACC5a,kBAAAA,KAAK,CAACyF,UAAN,CAAiB2B,OAAO,CAACvE,EAAzB,EAA6BsW,UAA7B,GAA0C,IAA1C;;CAEA,sBAAI2B,kBAAkB,GAAG,MAAI,CAACC,qBAAL,EAAzB;;CACAxR,kBAAAA,UAAU,CAAC,YAAM;CAChBvJ,oBAAAA,KAAK,CAACyF,UAAN,CAAiB2B,OAAO,CAACvE,EAAzB,EAA6BsW,UAA7B,GAA0C,KAA1C;CACA,mBAFS,EAEP2B,kBAFO,CAAV;CAGA;CACD;;CAED,kBAAI1T,OAAO,CAACyS,MAAZ,EACA;CACCzS,gBAAAA,OAAO,CAAC0S,QAAR,GAAmB,IAAnB;;CAEA,oBAAI,CAAC9Z,KAAK,CAAC6Y,UAAN,CAAiB/T,QAAjB,CAA0BsC,OAAO,CAACvE,EAAlC,CAAL,EACA;CACC,kBAAA,MAAI,CAACmY,eAAL,CAAqBhb,KAArB,EAA4BoH,OAAO,CAACvE,EAApC;;CAEA,sBAAIiY,mBAAkB,GAAG,MAAI,CAACC,qBAAL,EAAzB;;CACA,sBAAIE,aAAa,GAAG,OAAK,EAAL,GAAQ,EAAR,GAAW,EAA/B;CACA1R,kBAAAA,UAAU,CAAC,YAAM;CAChB2R,oBAAAA,WAAW,CAAC;CAAA,6BAAM,MAAI,CAACC,wBAAL,CAA8Bnb,KAA9B,CAAN;CAAA,qBAAD,EAA6Cib,aAA7C,CAAX;CACA,mBAFS,EAEPH,mBAFO,CAAV;CAGA;CACD;;CAED,cAAA,MAAI,CAACxa,SAAL,CAAeN,KAAf;CAnDF;;CACC,gEACA;CAAA;CAkDC;CApDF;CAAA;CAAA;CAAA;CAAA;CAqDC,SAvDK;CAwDNoJ,QAAAA,MAAM,EAAE,gBAACpJ,KAAD,EAAQJ,OAAR,EACR;CACC,UAAA,MAAI,CAACoK,cAAL,CAAoBhK,KAApB,EAA2BJ,OAA3B;;CAEA,cAAI,OAAOA,OAAO,CAACgB,MAAR,CAAe6Y,gBAAtB,KAA2C,WAA3C,IAA0DzZ,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAACiD,EAAzB,EAA6B4W,gBAA3F,EACA;CACC,gBAAIA,gBAAgB,GAAGzZ,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAACiD,EAAzB,EAA6B4W,gBAA7B,CAA8CzR,OAA9C,EAAvB;CACA,gBAAIoT,eAAe,GAAGxb,OAAO,CAACgB,MAAR,CAAe6Y,gBAAf,CAAgCzR,OAAhC,EAAtB;;CACA,gBAAIoT,eAAe,GAAG3B,gBAAtB,EACA;CACC,kBAAItW,MAAM,GAAG+J,kBAAK,CAACtK,IAAN,CAAW2X,eAAX,CAA2B3a,OAAO,CAACgB,MAAnC,CAAb;;CACA,kBAAIuC,MAAM,CAACwW,QAAX,EACA;CACC3Z,gBAAAA,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAACiD,EAAzB,EAA6B8W,QAA7B,GAAwC,IAAxC;;CACA,gBAAA,MAAI,CAACa,eAAL,CAAqBxa,KAArB,EAA4BJ,OAAO,CAACgB,MAAR,CAAeiC,EAA3C;CACA;CACD;CACD;;CAED,cACC,OAAOjD,OAAO,CAACgB,MAAR,CAAe8Y,cAAtB,KAAyC,WAAzC,IACG1Z,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAACiD,EAAzB,EAA6B6W,cAA7B,KAAgD9Z,OAAO,CAACgB,MAAR,CAAe8Y,cAFnE,EAIA;CACC,gBAAIe,YAAY,GAAGvN,kBAAK,CAACtK,IAAN,CAAW8X,cAAX,CAA0B9a,OAAO,CAACgB,MAAlC,CAAnB;;CACA,gBAAI6Z,YAAJ,EACA;CACCza,cAAAA,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAACiD,EAAzB,EAA6B+W,cAA7B,GAA8C,IAA9C;;CACA,cAAA,MAAI,CAACe,qBAAL,CAA2B3a,KAA3B,EAAkCJ,OAAO,CAACgB,MAAR,CAAeiC,EAAjD;CACA;CACD;;CAED7C,UAAAA,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAACiD,EAAzB,IAA+BrD,MAAM,CAACC,MAAP,CAC9BO,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAACiD,EAAzB,CAD8B,EAE9BjD,OAAO,CAACgB,MAFsB,CAA/B;;CAKA,UAAA,MAAI,CAACN,SAAL,CAAeN,KAAf;CACA,SA9FK;CA+FN,kBAAQ,iBAACA,KAAD,EAAQJ,OAAR,EACR;CACC,iBAAOI,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAACiD,EAAzB,CAAP;;CACA,UAAA,MAAI,CAACvC,SAAL,CAAeN,KAAf;CACA,SAnGK;CAoGNM,QAAAA,SAAS,EAAE,mBAACN,KAAD,EAAQJ,OAAR,EACX;CACC,UAAA,MAAI,CAACU,SAAL,CAAeN,KAAf;CACA;CAvGK,OAAP;CAyGA;CAvSF;CAAA;CAAA,mCAySgBA,KAzShB,EAySuBJ,OAzSvB,EA0SC;CACC,UAAI,OAAOI,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAACiD,EAAzB,CAAP,KAAwC,WAA5C,EACA;CACC,eAAO,IAAP;CACA;;CAEDuF,MAAAA,UAAG,CAAC1I,GAAJ,CAAQM,KAAK,CAACyF,UAAd,EAA0B7F,OAAO,CAACiD,EAAlC,EAAsC,KAAK6E,eAAL,EAAtC;CAEA,aAAO,IAAP;CACA;CAnTF;CAAA;CAAA,sCAsTC;CACC,UAAI,CAAC,KAAK2T,EAAV,EACA;CACC,eAAO,EAAP;CACA;;CAED,UAAI,CAAC,KAAK1b,KAAL,CAAW6L,OAAX,CAAmB,0BAAnB,CAAL,EACA;CACC,eAAO,EAAP;CACA;;CAED,UAAI8P,IAAI,GAAG,KAAK3b,KAAL,CAAW6L,OAAX,CAAmB,0BAAnB,GAAX;;CACA,UAAI,CAAC8P,IAAL,EACA;CACC,eAAO,EAAP;CACA;;CAED,aAAOA,IAAP;CACA;CAxUF;CAAA;CAAA,qCA2UC;CACC,aAAO,GAAP;CACA;CA7UF;CAAA;CAAA,8BA+UWtb,KA/UX,EAgVC;CAAA;;CACC,UAAI,CAAC,KAAK4M,eAAL,EAAL,EACA;CACC,eAAO,KAAP;CACA;;CAED,wGAAgB,YAChB;CACC,YAAI0O,IAAI,GAAG,MAAI,CAAC1T,eAAL,EAAX;;CACA,YAAI,CAAC0T,IAAL,EACA;CACC,iBAAO,KAAP;CACA;;CAED,YAAIrO,WAAW,GAAG;CACjBxH,UAAAA,UAAU,EAAE;CADK,SAAlB;CAIA,YAAI8V,aAAa,GAAG;CACnB1B,UAAAA,MAAM,EAAE,IADW;CAEnBL,UAAAA,IAAI,EAAE,IAFa;CAGnBE,UAAAA,cAAc,EAAE,IAHG;CAInBD,UAAAA,gBAAgB,EAAE;CAJC,SAApB;;CAOA,aAAK,IAAI/b,MAAT,IAAmB4d,IAAnB,EACA;CACC,cAAI,CAACA,IAAI,CAACnb,cAAL,CAAoBzC,MAApB,CAAL,EACA;CACC;CACA;;CAED4d,UAAAA,IAAI,CAAC5d,MAAD,CAAJ,CAAakH,OAAb,CAAqB,UAAAtH,MAAM,EAC3B;CACC,gBAAI,CAAC0C,KAAK,CAACyF,UAAN,CAAiBnI,MAAjB,CAAL,EACA;CACC,qBAAO,KAAP;CACA;;CAED2P,YAAAA,WAAW,CAACxH,UAAZ,CAAuBnI,MAAvB,IAAiC,MAAI,CAACqZ,UAAL,CAAgB3W,KAAK,CAACyF,UAAN,CAAiBnI,MAAjB,CAAhB,EAA0Cie,aAA1C,CAAjC;CACA,WARD;CASA;;CAED,eAAOtO,WAAP;CACA,OAtCD;CAuCA;CA7XF;CAAA;CAAA,6BA+XUrM,MA/XV,EAgYC;CAAA,UADiB9B,OACjB,uEAD2B,EAC3B;CACC,UAAM+B,MAAM,GAAG,EAAf;CAEA/B,MAAAA,OAAO,CAAC7B,IAAR,GAAe6B,OAAO,CAAC7B,IAAR,IAAgB,KAAK4Z,QAAL,GAAgB5Z,IAA/C;;CAEA,UAAI,OAAO2D,MAAM,CAACiC,EAAd,KAAqB,QAArB,IAAiC,OAAOjC,MAAM,CAACiC,EAAd,KAAqB,QAA1D,EACA;CACChC,QAAAA,MAAM,CAACgC,EAAP,GAAY5B,QAAQ,CAACL,MAAM,CAACiC,EAAR,CAApB;CACA;;CAED,UAAI,OAAOjC,MAAM,CAAC4a,UAAd,KAA6B,WAAjC,EACA;CACC5a,QAAAA,MAAM,CAACkY,SAAP,GAAmB5L,kBAAK,CAAC/G,IAAN,CAAWiK,oBAAX,CAAgCxP,MAAM,CAAC4a,UAAvC,CAAnB;CACA;;CACD,UAAI,OAAO5a,MAAM,CAAC6a,SAAd,KAA4B,WAAhC,EACA;CACC7a,QAAAA,MAAM,CAACmY,QAAP,GAAkB7L,kBAAK,CAAC/G,IAAN,CAAWiK,oBAAX,CAAgCxP,MAAM,CAAC6a,SAAvC,CAAlB;CACA;;CACD,UAAI,OAAO7a,MAAM,CAACiR,IAAd,KAAuB,QAAvB,IAAmC,OAAOjR,MAAM,CAACiR,IAAd,KAAuB,QAA9D,EACA;CACCjR,QAAAA,MAAM,CAACiR,IAAP,GAAc3E,kBAAK,CAAC/G,IAAN,CAAWiK,oBAAX,CAAgCxP,MAAM,CAACiR,IAAP,CAAY/Q,QAAZ,EAAhC,CAAd;CACAD,QAAAA,MAAM,CAACgR,IAAP,GAAcjR,MAAM,CAACiR,IAArB;CACA;;CAED,UAAI,OAAOjR,MAAM,CAACkY,SAAd,KAA4B,QAA5B,IAAwC,OAAOlY,MAAM,CAACkY,SAAd,KAA4B,QAAxE,EACA;CACCjY,QAAAA,MAAM,CAACiY,SAAP,GAAmB5L,kBAAK,CAAC/G,IAAN,CAAWiK,oBAAX,CAAgCxP,MAAM,CAACkY,SAAP,CAAiBhY,QAAjB,EAAhC,CAAnB;CACA;;CACD,UAAI,OAAOF,MAAM,CAACmY,QAAd,KAA2B,QAA3B,IAAuC,OAAOnY,MAAM,CAACmY,QAAd,KAA2B,QAAtE,EACA;CACClY,QAAAA,MAAM,CAACkY,QAAP,GAAkB7L,kBAAK,CAAC/G,IAAN,CAAWiK,oBAAX,CAAgCxP,MAAM,CAACmY,QAAP,CAAgBjY,QAAhB,EAAhC,CAAlB;CACA;;CAED,UAAI,OAAOF,MAAM,CAAC8a,aAAd,KAAgC,WAApC,EACA;CACC9a,QAAAA,MAAM,CAACoY,YAAP,GAAsBpY,MAAM,CAAC8a,aAA7B;CACA;;CACD,UAAI,OAAO9a,MAAM,CAACoY,YAAd,KAA+B,QAA/B,IAA2C,OAAOpY,MAAM,CAACoY,YAAd,KAA+B,QAA9E,EACA;CACCnY,QAAAA,MAAM,CAACmY,YAAP,GAAsBpY,MAAM,CAACoY,YAAP,CAAoBlY,QAApB,EAAtB;CACA;;CAED,UAAI,OAAOF,MAAM,CAACyT,KAAd,KAAwB,QAA5B,EACA;CACCxT,QAAAA,MAAM,CAACwT,KAAP,GAAezT,MAAM,CAACyT,KAAtB;CACA;;CAED,UAAI,OAAOzT,MAAM,CAACwT,MAAd,KAAyB,QAA7B,EACA;CACC,YAAIA,MAAJ;;CAEA,YAAI,CAACxT,MAAM,CAACwT,MAAR,IAAkBxT,MAAM,CAACwT,MAAP,CAAc0D,QAAd,CAAuB,yBAAvB,CAAtB,EACA;CACC1D,UAAAA,MAAM,GAAG,EAAT;CACA,SAHD,MAIK,IAAIxT,MAAM,CAACwT,MAAP,CAAcrT,UAAd,CAAyB,MAAzB,CAAJ,EACL;CACCqT,UAAAA,MAAM,GAAGxT,MAAM,CAACwT,MAAhB;CACA,SAHI,MAKL;CACCA,UAAAA,MAAM,GAAGtV,OAAO,CAAC7B,IAAR,GAAe2D,MAAM,CAACwT,MAA/B;CACA;;CAED,YAAIA,MAAJ,EACA;CACCvT,UAAAA,MAAM,CAACuT,MAAP,GAAgB2D,SAAS,CAAC3D,MAAD,CAAzB;CACA;CACD;;CAED,UAAI,OAAOxT,MAAM,CAACqY,MAAd,KAAyB,WAA7B,EACA;CACCpY,QAAAA,MAAM,CAACoY,MAAP,GAAgBrY,MAAM,CAACqY,MAAP,KAAkB,GAAlB,GAAuB,GAAvB,GAA4B,GAA5C;CACA;;CAED,UAAI,OAAOrY,MAAM,CAACsY,QAAd,KAA2B,QAA/B,EACA;CACCrY,QAAAA,MAAM,CAACqY,QAAP,GAAkBtY,MAAM,CAACsY,QAAzB;CACA;;CAED,UAAI,OAAOtY,MAAM,CAACuT,QAAd,KAA2B,SAA/B,EACA;CACCtT,QAAAA,MAAM,CAACsT,QAAP,GAAkBvT,MAAM,CAACuT,QAAzB;CACA;;CAED,UAAI,OAAOvT,MAAM,CAACwY,OAAd,KAA0B,SAA9B,EACA;CACCvY,QAAAA,MAAM,CAACuY,OAAP,GAAiBxY,MAAM,CAACwY,OAAxB;CACA;;CAED,UAAI,OAAOxY,MAAM,CAACyY,GAAd,KAAsB,SAA1B,EACA;CACCxY,QAAAA,MAAM,CAACwY,GAAP,GAAazY,MAAM,CAACyY,GAApB;CACA;;CAED,UAAI,OAAOzY,MAAM,CAAC0Y,SAAd,KAA4B,SAAhC,EACA;CACCzY,QAAAA,MAAM,CAACyY,SAAP,GAAmB1Y,MAAM,CAAC0Y,SAA1B;CACA;;CAED,UAAI,OAAO1Y,MAAM,CAAC+a,gBAAd,KAAmC,WAAvC,EACA;CACC/a,QAAAA,MAAM,CAAC2Y,cAAP,GAAwB3Y,MAAM,CAAC+a,gBAA/B;CACA;;CACD,UAAI,OAAO/a,MAAM,CAAC2Y,cAAd,KAAiC,QAAjC,IAA6C3Y,MAAM,CAAC2Y,cAAxD,EACA;CACC1Y,QAAAA,MAAM,CAAC0Y,cAAP,GAAwB3Y,MAAM,CAAC2Y,cAA/B;CACA;;CAED,UAAI,OAAO3Y,MAAM,CAACuC,MAAd,KAAyB,QAA7B,EACA;CACCtC,QAAAA,MAAM,CAACsC,MAAP,GAAgBvC,MAAM,CAACuC,MAAvB;CACA;;CAED,UAAI,OAAOvC,MAAM,CAAC4Y,IAAd,KAAuB,WAA3B,EACA;CACC3Y,QAAAA,MAAM,CAAC2Y,IAAP,GAActM,kBAAK,CAAChH,IAAN,CAAWqH,IAAX,CAAgB3M,MAAM,CAAC4Y,IAAvB,EAA6B,KAA7B,CAAd;CACA;;CACD,UAAI,OAAO5Y,MAAM,CAACgb,kBAAd,KAAqC,WAAzC,EACA;CACChb,QAAAA,MAAM,CAAC6Y,gBAAP,GAA0B7Y,MAAM,CAACgb,kBAAjC;CACA;;CACD,UAAI,OAAOhb,MAAM,CAAC6Y,gBAAd,KAAmC,WAAvC,EACA;CACC5Y,QAAAA,MAAM,CAAC4Y,gBAAP,GAA0BvM,kBAAK,CAAChH,IAAN,CAAWqH,IAAX,CAAgB3M,MAAM,CAAC6Y,gBAAvB,EAAyC,KAAzC,CAA1B;CACA;;CACD,UAAI,OAAO7Y,MAAM,CAACib,gBAAd,KAAmC,WAAvC,EACA;CACCjb,QAAAA,MAAM,CAAC8Y,cAAP,GAAwB9Y,MAAM,CAACib,gBAA/B;CACA;;CACD,UAAI,OAAOjb,MAAM,CAAC8Y,cAAd,KAAiC,WAArC,EACA;CACC7Y,QAAAA,MAAM,CAAC6Y,cAAP,GAAwBxM,kBAAK,CAAChH,IAAN,CAAWqH,IAAX,CAAgB3M,MAAM,CAAC8Y,cAAvB,EAAuC,KAAvC,CAAxB;CACA;;CAED,UAAI,OAAO9Y,MAAM,CAACiZ,MAAd,KAAyB,WAA7B,EACA;CACChZ,QAAAA,MAAM,CAACgZ,MAAP,GAAgB3M,kBAAK,CAAChH,IAAN,CAAWqH,IAAX,CAAgB3M,MAAM,CAACiZ,MAAvB,EAA+B,KAA/B,CAAhB;CACA;;CAED,UAAI,OAAOjZ,MAAM,CAACmZ,WAAd,KAA8B,WAAlC,EACA;CACClZ,QAAAA,MAAM,CAACkZ,WAAP,GAAqB,EAArB;;CAEA,YAAInZ,MAAM,CAACmZ,WAAP,YAA8B1W,KAAlC,EACA;CACCzC,UAAAA,MAAM,CAACmZ,WAAP,CAAmBnV,OAAnB,CAA2B,UAAAkX,YAAY,EACvC;CACCA,YAAAA,YAAY,GAAG7a,QAAQ,CAAC6a,YAAD,CAAvB;;CACA,gBAAIA,YAAY,GAAG,CAAnB,EACA;CACCjb,cAAAA,MAAM,CAACkZ,WAAP,CAAmBhV,IAAnB,CAAwB+W,YAAxB;CACA;CACD,WAPD;CAQA;CACD;;CAED,UAAI,uBAAOlb,MAAM,CAACoZ,MAAd,MAAyB,QAAzB,IAAqCpZ,MAAM,CAACoZ,MAAhD,EACA;CACCnZ,QAAAA,MAAM,CAACmZ,MAAP,GAAgB,EAAhB;;CAEA,YAAI,OAAOpZ,MAAM,CAACoZ,MAAP,CAAc+B,UAArB,KAAoC,WAAxC,EACA;CACCnb,UAAAA,MAAM,CAACoZ,MAAP,CAAcC,SAAd,GAA0BrZ,MAAM,CAACoZ,MAAP,CAAc+B,UAAxC;CACA;;CACD,YAAI,OAAOnb,MAAM,CAACoZ,MAAP,CAAcC,SAArB,KAAmC,QAAnC,IAA+C,OAAOrZ,MAAM,CAACoZ,MAAP,CAAcC,SAArB,KAAmC,QAAtF,EACA;CACCpZ,UAAAA,MAAM,CAACmZ,MAAP,CAAcC,SAAd,GAA0BrZ,MAAM,CAACoZ,MAAP,CAAcC,SAAd,CAAwBnZ,QAAxB,EAA1B;CACA;;CAED,YAAI,OAAOF,MAAM,CAACoZ,MAAP,CAAcgC,eAArB,KAAyC,WAA7C,EACA;CACCpb,UAAAA,MAAM,CAACoZ,MAAP,CAAcE,cAAd,GAA+BtZ,MAAM,CAACoZ,MAAP,CAAcgC,eAA7C;CACA;;CACD,YAAI,OAAOpb,MAAM,CAACoZ,MAAP,CAAcE,cAArB,KAAwC,QAAxC,IAAoD,OAAOtZ,MAAM,CAACoZ,MAAP,CAAcE,cAArB,KAAwC,QAAhG,EACA;CACCrZ,UAAAA,MAAM,CAACmZ,MAAP,CAAcE,cAAd,GAA+BtZ,MAAM,CAACoZ,MAAP,CAAcE,cAAd,CAA6BpZ,QAA7B,EAA/B;CACA;;CAED,YAAI,OAAOF,MAAM,CAACoZ,MAAP,CAAciC,cAArB,KAAwC,WAA5C,EACA;CACCrb,UAAAA,MAAM,CAACoZ,MAAP,CAAcG,aAAd,GAA8BvZ,MAAM,CAACoZ,MAAP,CAAciC,cAA5C;CACA;;CACD,YAAI,OAAOrb,MAAM,CAACoZ,MAAP,CAAcG,aAArB,KAAuC,QAAvC,IAAmD,OAAOvZ,MAAM,CAACoZ,MAAP,CAAcG,aAArB,KAAuC,QAA9F,EACA;CACCtZ,UAAAA,MAAM,CAACmZ,MAAP,CAAcG,aAAd,GAA8BvZ,MAAM,CAACoZ,MAAP,CAAcG,aAAd,CAA4BrZ,QAA5B,EAA9B;CACA;;CAED,YAAI,OAAOF,MAAM,CAACoZ,MAAP,CAAckC,WAArB,KAAqC,WAAzC,EACA;CACCtb,UAAAA,MAAM,CAACoZ,MAAP,CAAcI,UAAd,GAA2BxZ,MAAM,CAACoZ,MAAP,CAAckC,WAAzC;CACA;;CACD,YAAI,OAAOtb,MAAM,CAACoZ,MAAP,CAAcI,UAArB,KAAoC,QAApC,IAAgD,OAAOxZ,MAAM,CAACoZ,MAAP,CAAcI,UAArB,KAAoC,QAAxF,EACA;CACCvZ,UAAAA,MAAM,CAACmZ,MAAP,CAAcI,UAAd,GAA2BxZ,MAAM,CAACoZ,MAAP,CAAcI,UAAd,CAAyBtZ,QAAzB,EAA3B;CACA;CACD;;CAED,aAAOD,MAAP;CACA;CAvkBF;CAAA;CAAA,oCAykBiBb,KAzkBjB,EAykBwB6C,EAzkBxB,EA0kBC;CACC,UAAI,CAAC7C,KAAK,CAAC2Y,UAAN,CAAiB7T,QAAjB,CAA0BjC,EAA1B,CAAL,EACA;CACC7C,QAAAA,KAAK,CAAC2Y,UAAN,CAAiB5T,IAAjB,CAAsBlC,EAAtB;CACA;CACD;CA/kBF;CAAA;CAAA,0CAilBuB7C,KAjlBvB,EAilB8B6C,EAjlB9B,EAklBC;CACC,UAAI,CAAC7C,KAAK,CAAC4Y,gBAAN,CAAuB9T,QAAvB,CAAgCjC,EAAhC,CAAL,EACA;CACC7C,QAAAA,KAAK,CAAC4Y,gBAAN,CAAuB7T,IAAvB,CAA4BlC,EAA5B;CACA;CACD;CAvlBF;CAAA;CAAA,oCAylBiB7C,KAzlBjB,EAylBwB6C,EAzlBxB,EA0lBC;CACC,UAAI,CAAC7C,KAAK,CAAC6Y,UAAN,CAAiB/T,QAAjB,CAA0BjC,EAA1B,CAAL,EACA;CACC7C,QAAAA,KAAK,CAAC6Y,UAAN,CAAiB9T,IAAjB,CAAsBlC,EAAtB;CACA;CACD;CA/lBF;CAAA;CAAA,4CAkmBC;CACC,UAAIsZ,YAAY,GAAG,IAAI1X,IAAJ,CAAS,IAAIA,IAAJ,GAAW2X,QAAX,CAAoB,EAApB,EAAuB,CAAvB,EAAyB,CAAzB,CAAT,EAAsCpU,OAAtC,EAAnB;CACA,aAAOmU,YAAY,GAAG,IAAI1X,IAAJ,EAAtB;CACA;CArmBF;CAAA;CAAA,6CAumB0BzE,KAvmB1B,EAwmBC;CAAA,oDACoBA,KAAK,CAAC6Y,UAD1B;CAAA;;CAAA;CAAA;CAAA,cACUvb,MADV;CAGE,cAAIsF,IAAI,GAAG5C,KAAK,CAACyF,UAAN,CAAiBnI,MAAjB,CAAX;;CAEA,cAAI,CAACsF,IAAL,EACA;CACC;CACA;;CACD,cAAIyZ,WAAW,GAAG,IAAI5X,IAAJ,GAAWuD,OAAX,EAAlB;CACA,cAAIsU,SAAS,GAAG,IAAI7X,IAAJ,CAASzE,KAAK,CAACyF,UAAN,CAAiBnI,MAAjB,EAAyBuc,MAAlC,EAA0C7R,OAA1C,EAAhB;;CAEA,cAAIsU,SAAS,IAAID,WAAjB,EACA;CACCrc,YAAAA,KAAK,CAAC6Y,UAAN,GAAmB7Y,KAAK,CAAC6Y,UAAN,CAAiB7T,MAAjB,CAAwB,UAAAoC,OAAO,EAAI;CACrD,qBAAOA,OAAO,KAAK9J,MAAnB;CACA,aAFkB,CAAnB;CAGAsF,YAAAA,IAAI,CAACkX,QAAL,GAAgB,KAAhB;CACA;CAlBH;;CACC,+DACA;CAAA;;CAAA,mCAKE;CAYD;CAnBF;CAAA;CAAA;CAAA;CAAA;CAoBC;CA5nBF;CAAA;CAAA,+CA+nBC;CAAA;;CACC,UAAMyC,YAAY,GAAG,KAArB;CAEArB,MAAAA,WAAW,CAAC,YAAM;CAAA,sDACE,MAAI,CAACvb,KAAL,CAAWK,KAAX,CAAiBsC,KAAjB,CAAuBqW,UADzB;CAAA;;CAAA;CAAA;CAAA,gBACRrb,MADQ;CAGhB,gBAAIsF,IAAI,GAAG,MAAI,CAACjD,KAAL,CAAWK,KAAX,CAAiBsC,KAAjB,CAAuBmD,UAAvB,CAAkCnI,MAAlC,CAAX;;CAEA,gBAAI,CAACsF,IAAL,EACA;CACC;CACA;;CAED,gBAAIO,MAAM,GAAG+J,kBAAK,CAACtK,IAAN,CAAW2X,eAAX,CAA2B3X,IAA3B,CAAb;;CACA,gBAAIO,MAAM,CAACwW,QAAX,EACA;CACC/W,cAAAA,IAAI,CAAC+W,QAAL,GAAgB,IAAhB;CACA,aAHD,MAKA;CACC/W,cAAAA,IAAI,CAAC+W,QAAL,GAAgB,KAAhB;CACA,cAAA,MAAI,CAACha,KAAL,CAAWK,KAAX,CAAiBsC,KAAjB,CAAuBqW,UAAvB,GAAoC,MAAI,CAAChZ,KAAL,CAAWK,KAAX,CAAiBsC,KAAjB,CAAuBqW,UAAvB,CAAkC3T,MAAlC,CAAyC,UAAAoC,OAAO,EAAI;CACvF,uBAAOA,OAAO,KAAK9J,MAAnB;CACA,eAFmC,CAApC;CAGA;CArBe;;CACjB,iEACA;CAAA;;CAAA,sCAKE;CAeD;CAtBgB;CAAA;CAAA;CAAA;CAAA;;CAAA,sDAwBE,MAAI,CAACqC,KAAL,CAAWK,KAAX,CAAiBsC,KAAjB,CAAuBsW,gBAxBzB;CAAA;;CAAA;CAAA;CAAA,gBAwBRtb,MAxBQ;CA0BhB,gBAAIsF,IAAI,GAAG,MAAI,CAACjD,KAAL,CAAWK,KAAX,CAAiBsC,KAAjB,CAAuBmD,UAAvB,CAAkCnI,MAAlC,CAAX;;CAEA,gBAAI,CAACsF,IAAL,EACA;CACC;CACA;;CAED,gBAAI6X,YAAY,GAAGvN,kBAAK,CAACtK,IAAN,CAAW8X,cAAX,CAA0B9X,IAA1B,CAAnB;;CACA,gBAAI6X,YAAJ,EACA;CACC7X,cAAAA,IAAI,CAACgX,cAAL,GAAsB,IAAtB;CACA,aAHD,MAKA;CACChX,cAAAA,IAAI,CAACgX,cAAL,GAAsB,KAAtB;CACA,cAAA,MAAI,CAACja,KAAL,CAAWK,KAAX,CAAiBsC,KAAjB,CAAuBsW,gBAAvB,GAA0C,MAAI,CAACjZ,KAAL,CAAWK,KAAX,CAAiBsC,KAAjB,CAAuBsW,gBAAvB,CAAwC5T,MAAxC,CAA+C,UAAAoC,OAAO,EAAI;CACnG,uBAAOA,OAAO,KAAK9J,MAAnB;CACA,eAFyC,CAA1C;CAGA;CA5Ce;;CAwBjB,iEACA;CAAA;;CAAA,sCAKE;CAeD;CA7CgB;CAAA;CAAA;CAAA;CAAA;CA8CjB,OA9CU,EA8CRif,YA9CQ,CAAX;CA+CA;CAjrBF;CAAA;CAAA,EAAgCpb,4BAAhC;;;;;;;KCEaqb,UAAb;CAAA;;CAAA;CAAA;CAAA;CAAA;;CAAA;CAAA;CAAA,8BAKC;CACC,aAAO,OAAP;CACA;CAPF;CAAA;CAAA,+BAUC;CACC,aAAO;CACNhX,QAAAA,OAAO,EAAE,CADH;CAENvI,QAAAA,IAAI,EAAE,KAAKC,WAAL,CAAiB,MAAjB,EAAyBC,QAAQ,CAACC,QAAT,GAAkB,IAAlB,GAAuBD,QAAQ,CAACF,IAAzD,CAFA;CAGNwI,QAAAA,UAAU,EAAE,EAHN;CAIN8B,QAAAA,KAAK,EAAE;CAJD,OAAP;CAMA;CAjBF;CAAA;CAAA,sCAoBC;CAAA,UADgBlB,MAChB,uEADyB,EACzB;CACC,uBAIIA,MAJJ,CACCxD,EADD;CAAA,UACCA,EADD,2BACM,CADN;CAAA,2BAIIwD,MAJJ,CAEC3I,MAFD;CAAA,UAECA,MAFD,+BAEU,CAFV;CAAA,yBAII2I,MAJJ,CAGCwL,IAHD;CAAA,UAGCA,IAHD,6BAGQ,KAAK3U,WAAL,CAAiB,cAAjB,EAAiC,EAAjC,CAHR;CAMA,aAAO;CACN2F,QAAAA,EAAE,EAAFA,EADM;CAENnF,QAAAA,MAAM,EAANA,MAFM;CAGNmU,QAAAA,IAAI,EAAJA,IAHM;CAIN/L,QAAAA,UAAU,EAAEjD,EAJN;CAKNqD,QAAAA,IAAI,EAAE,IAAIzB,IAAJ,EALA;CAMNjG,QAAAA,IAAI,EAAE,MANA;CAONie,QAAAA,SAAS,EAAE,EAPL;CAQNC,QAAAA,IAAI,EAAE,OARA;CASNhL,QAAAA,IAAI,EAAE,CATA;CAUNnD,QAAAA,KAAK,EAAE,KAVD;CAWNpL,QAAAA,MAAM,EAAEwZ,mBAAU,CAACC,IAXb;CAYNC,QAAAA,QAAQ,EAAE,GAZJ;CAaN5W,QAAAA,QAAQ,EAAE,CAbJ;CAcN6W,QAAAA,UAAU,EAAE,EAdN;CAeNC,QAAAA,UAAU,EAAE,EAfN;CAgBNC,QAAAA,OAAO,EAAE,EAhBH;CAiBNC,QAAAA,WAAW,EAAE,EAjBP;CAkBNhJ,QAAAA,IAAI,EAAE,KAlBA;CAmBNiJ,QAAAA,WAAW,EAAE;CAnBP,OAAP;CAqBA;CAhDF;CAAA;CAAA,iCAmDC;CAAA;;CACC,aAAO;CACN1V,QAAAA,GAAG,EAAE,aAAAxH,KAAK;CAAA,iBAAI,UAACtC,MAAD,EAASmV,MAAT,EACd;CAAA,gBAD+BwH,YAC/B,uEAD8C,KAC9C;;CACC,gBAAI,CAAC3c,MAAD,IAAW,CAACmV,MAAhB,EACA;CACC,qBAAO,IAAP;CACA;;CAED,gBAAI,CAAC7S,KAAK,CAACuH,KAAN,CAAY7J,MAAZ,CAAD,IAAwB,CAACsC,KAAK,CAACuH,KAAN,CAAY7J,MAAZ,EAAoBmV,MAApB,CAA7B,EACA;CACC,qBAAO,IAAP;CACA;;CAED,gBAAI,CAACwH,YAAD,IAAiB,CAACra,KAAK,CAACuH,KAAN,CAAY7J,MAAZ,EAAoBmV,MAApB,EAA4BoB,IAAlD,EACA;CACC,qBAAO,IAAP;CACA;;CAED,mBAAOjU,KAAK,CAACuH,KAAN,CAAY7J,MAAZ,EAAoBmV,MAApB,CAAP;CACA,WAlBS;CAAA,SADJ;CAoBNyH,QAAAA,OAAO,EAAE,iBAAAta,KAAK;CAAA,iBAAI,UAAAtC,MAAM,EACxB;CACC,gBAAI,CAACsC,KAAK,CAACuH,KAAN,CAAY7J,MAAZ,CAAL,EACA;CACC,qBAAO,IAAP;CACA;;CAED,mBAAOsC,KAAK,CAACuH,KAAN,CAAY7J,MAAZ,CAAP;CACA,WARa;CAAA,SApBR;CA6BN+J,QAAAA,QAAQ,EAAE,kBAAAzH,KAAK;CAAA,iBAAI,UAAAqG,MAAM,EACzB;CACC,mBAAO,KAAI,CAACqB,eAAL,CAAqBrB,MAArB,CAAP;CACA,WAHc;CAAA;CA7BT,OAAP;CAkCA;CAtFF;CAAA;CAAA,iCAyFC;CAAA;;CACC,aAAO;CACNwB,QAAAA,GAAG,EAAE,aAAClI,KAAD,EAAQC,OAAR,EACL;CACC,cAAIiB,MAAM,GAAG,MAAI,CAACf,QAAL,CAAcN,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBG,OAAlB,CAAd,EAA0C;CAAC3C,YAAAA,IAAI,EAAE0C,KAAK,CAACK,KAAN,CAAY/C;CAAnB,WAA1C,CAAb;;CACA,cAAI2C,OAAO,CAACiD,EAAZ,EACA;CACChC,YAAAA,MAAM,CAACgC,EAAP,GAAYjD,OAAO,CAACiD,EAApB;CACA,WAHD,MAKA;CACChC,YAAAA,MAAM,CAACgC,EAAP,GAAY,cAAe,IAAI4B,IAAJ,EAAD,CAAWuD,OAAX,EAAd,GAAqCrI,KAAK,CAACK,KAAN,CAAYwF,OAA7D;CACA;;CACD3E,UAAAA,MAAM,CAACiF,UAAP,GAAoBjF,MAAM,CAACgC,EAA3B;CACAhC,UAAAA,MAAM,CAACoT,IAAP,GAAc,IAAd;CAEAtU,UAAAA,KAAK,CAACE,MAAN,CAAa,KAAb,EAAoBL,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB,MAAI,CAACiI,eAAL,EAAlB,EAA0C7G,MAA1C,CAApB;CAEA,iBAAOA,MAAM,CAACgC,EAAd;CACA,SAlBK;CAmBNnD,QAAAA,GAAG,EAAE,aAACC,KAAD,EAAQC,OAAR,EACL;CACC,cAAIA,OAAO,YAAYyD,KAAvB,EACA;CACCzD,YAAAA,OAAO,GAAGA,OAAO,CAAC4I,GAAR,CAAY,UAAA2U,IAAI,EAAI;CAC7B,kBAAItc,MAAM,GAAG,MAAI,CAACf,QAAL,CAAcN,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB0d,IAAlB,CAAd,EAAuC;CAAClgB,gBAAAA,IAAI,EAAE0C,KAAK,CAACK,KAAN,CAAY/C;CAAnB,eAAvC,CAAb;;CACA4D,cAAAA,MAAM,CAACiF,UAAP,GAAoBjF,MAAM,CAACgC,EAA3B;CACA,qBAAOrD,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB,MAAI,CAACiI,eAAL,EAAlB,EAA0C7G,MAA1C,EAAkD;CAACoT,gBAAAA,IAAI,EAAE;CAAP,eAAlD,CAAP;CACA,aAJS,CAAV;CAKA,WAPD,MASA;CACC,gBAAIpT,MAAM,GAAG,MAAI,CAACf,QAAL,CAAcN,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBG,OAAlB,CAAd,EAA0C;CAAC3C,cAAAA,IAAI,EAAE0C,KAAK,CAACK,KAAN,CAAY/C;CAAnB,aAA1C,CAAb;;CACA4D,YAAAA,MAAM,CAACiF,UAAP,GAAoBjF,MAAM,CAACgC,EAA3B;CACAjD,YAAAA,OAAO,GAAG,EAAV;CACAA,YAAAA,OAAO,CAACmF,IAAR,CACCvF,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB,MAAI,CAACiI,eAAL,EAAlB,EAA0C7G,MAA1C,EAAkD;CAACoT,cAAAA,IAAI,EAAE;CAAP,aAAlD,CADD;CAGA;;CAEDtU,UAAAA,KAAK,CAACE,MAAN,CAAa,KAAb,EAAoB;CACnB6I,YAAAA,UAAU,EAAG5B,qBAAY,CAACkC,QADP;CAEnBL,YAAAA,IAAI,EAAG/I;CAFY,WAApB;CAIA,SA3CK;CA4CNmJ,QAAAA,SAAS,EAAE,mBAACpJ,KAAD,EAAQC,OAAR,EACX;CACC,cAAIA,OAAO,YAAYyD,KAAvB,EACA;CACCzD,YAAAA,OAAO,GAAGA,OAAO,CAAC4I,GAAR,CAAY,UAAA2U,IAAI,EAAI;CAC7B,kBAAItc,MAAM,GAAG,MAAI,CAACf,QAAL,CAAcN,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB0d,IAAlB,CAAd,EAAuC;CAAClgB,gBAAAA,IAAI,EAAE0C,KAAK,CAACK,KAAN,CAAY/C;CAAnB,eAAvC,CAAb;;CACA4D,cAAAA,MAAM,CAACiF,UAAP,GAAoBjF,MAAM,CAACgC,EAA3B;CACA,qBAAOrD,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB,MAAI,CAACiI,eAAL,EAAlB,EAA0C7G,MAA1C,EAAkD;CAACoT,gBAAAA,IAAI,EAAE;CAAP,eAAlD,CAAP;CACA,aAJS,CAAV;CAKA,WAPD,MASA;CACC,gBAAIpT,MAAM,GAAG,MAAI,CAACf,QAAL,CAAcN,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBG,OAAlB,CAAd,EAA0C;CAAC3C,cAAAA,IAAI,EAAE0C,KAAK,CAACK,KAAN,CAAY/C;CAAnB,aAA1C,CAAb;;CACA4D,YAAAA,MAAM,CAACiF,UAAP,GAAoBjF,MAAM,CAACgC,EAA3B;CACAjD,YAAAA,OAAO,GAAG,EAAV;CACAA,YAAAA,OAAO,CAACmF,IAAR,CACCvF,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB,MAAI,CAACiI,eAAL,EAAlB,EAA0C7G,MAA1C,EAAkD;CAACoT,cAAAA,IAAI,EAAE;CAAP,aAAlD,CADD;CAGA;;CAEDtU,UAAAA,KAAK,CAACE,MAAN,CAAa,KAAb,EAAoB;CACnBgW,YAAAA,UAAU,EAAE,WADO;CAEnBnN,YAAAA,UAAU,EAAG5B,qBAAY,CAACiC,SAFP;CAGnBJ,YAAAA,IAAI,EAAG/I;CAHY,WAApB;CAKA,SArEK;CAsENwJ,QAAAA,MAAM,EAAE,gBAACzJ,KAAD,EAAQC,OAAR,EACR;CACC,cAAIiB,MAAM,GAAG,MAAI,CAACf,QAAL,CAAcN,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBG,OAAO,CAACgB,MAA1B,CAAd,EAAiD;CAAC3D,YAAAA,IAAI,EAAE0C,KAAK,CAACK,KAAN,CAAY/C;CAAnB,WAAjD,CAAb;;CAEA0C,UAAAA,KAAK,CAACE,MAAN,CAAa,gBAAb,EAA+B;CAACnC,YAAAA,MAAM,EAAEkC,OAAO,CAAClC;CAAjB,WAA/B;CAEA,cAAI6J,KAAK,GAAG5H,KAAK,CAACK,KAAN,CAAYyF,UAAZ,CAAuB7F,OAAO,CAAClC,MAA/B,EAAuC2L,SAAvC,CAAiD,UAAAC,EAAE;CAAA,mBAAIA,EAAE,CAACzG,EAAH,KAAUjD,OAAO,CAACiD,EAAtB;CAAA,WAAnD,CAAZ;;CACA,cAAI0E,KAAK,GAAG,CAAZ,EACA;CACC,mBAAO,KAAP;CACA;;CAED5H,UAAAA,KAAK,CAACE,MAAN,CAAa,QAAb,EAAuB;CACtBgD,YAAAA,EAAE,EAAGjD,OAAO,CAACiD,EADS;CAEtBnF,YAAAA,MAAM,EAAGkC,OAAO,CAAClC,MAFK;CAGtB6J,YAAAA,KAAK,EAAGA,KAHc;CAItB3G,YAAAA,MAAM,EAAGC;CAJa,WAAvB;;CAOA,cAAIjB,OAAO,CAACgB,MAAR,CAAe+F,KAAnB,EACA;CACC4C,YAAAA,UAAU,CAAC,YAAM;CAChB5J,cAAAA,KAAK,CAACE,MAAN,CAAa,QAAb,EAAuB;CACtBgD,gBAAAA,EAAE,EAAGjD,OAAO,CAACiD,EADS;CAEtBnF,gBAAAA,MAAM,EAAGkC,OAAO,CAAClC,MAFK;CAGtBkD,gBAAAA,MAAM,EAAG;CAAC+F,kBAAAA,KAAK,EAAE;CAAR;CAHa,eAAvB;CAKA,aANS,EAMP,IANO,CAAV;CAOA;;CAED,iBAAO,IAAP;CACA,SArGK;CAsGN,kBAAQ,iBAAChH,KAAD,EAAQC,OAAR,EACR;CACCD,UAAAA,KAAK,CAACE,MAAN,CAAa,QAAb,EAAuB;CACtBgD,YAAAA,EAAE,EAAGjD,OAAO,CAACiD,EADS;CAEtBnF,YAAAA,MAAM,EAAGkC,OAAO,CAAClC;CAFK,WAAvB;CAIA,iBAAO,IAAP;CACA,SA7GK;CA8GN4C,QAAAA,SAAS,EAAE,mBAACX,KAAD,EAAQC,OAAR,EACX;CACCD,UAAAA,KAAK,CAACE,MAAN,CAAa,WAAb,EAA0B,EAA1B;CACA,iBAAO,IAAP;CACA;CAlHK,OAAP;CAoHA;CA9MF;CAAA;CAAA,mCAiNC;CAAA;;CACC,aAAO;CACNmK,QAAAA,cAAc,EAAE,wBAAChK,KAAD,EAAQJ,OAAR,EAChB;CACC,UAAA,MAAI,CAACoK,cAAL,CAAoBhK,KAApB,EAA2BJ,OAA3B;CACA,SAJK;CAKNiI,QAAAA,GAAG,EAAE,aAAC7H,KAAD,EAAQJ,OAAR,EACL;CACC,UAAA,MAAI,CAACoK,cAAL,CAAoBhK,KAApB,EAA2BJ,OAA3B;;CAEAI,UAAAA,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAAClC,MAAzB,EAAiCqH,IAAjC,CAAsCnF,OAAtC;CACAI,UAAAA,KAAK,CAACuH,KAAN,CAAY3H,OAAO,CAAClC,MAApB,EAA4BkC,OAAO,CAACiD,EAApC,IAA0CjD,OAA1C;CAEAI,UAAAA,KAAK,CAACwF,OAAN,IAAiB,CAAjB;;CAEA,UAAA,MAAI,CAAClF,SAAL,CAAeN,KAAf;CACA,SAfK;CAgBNN,QAAAA,GAAG,EAAE,aAACM,KAAD,EAAQJ,OAAR,EACL;CAAA,uDACqBA,OAAO,CAAC+I,IAD7B;CAAA;;CAAA;CAAA;CAAA,kBACUvB,OADV;;CAGE,cAAA,MAAI,CAAC4C,cAAL,CAAoBhK,KAApB,EAA2B;CAACtC,gBAAAA,MAAM,EAAE0J,OAAO,CAAC1J;CAAjB,eAA3B;;CAEA,kBAAI6J,KAAK,GAAGvH,KAAK,CAACyF,UAAN,CAAiB2B,OAAO,CAAC1J,MAAzB,EAAiC2L,SAAjC,CAA2C,UAAAC,EAAE;CAAA,uBAAIA,EAAE,CAACzG,EAAH,KAAUuE,OAAO,CAACvE,EAAtB;CAAA,eAA7C,CAAZ;;CACA,kBAAI0E,KAAK,GAAG,CAAC,CAAb,EACA;CACC,uBAAOH,OAAO,CAACtB,UAAf;CACA9F,gBAAAA,KAAK,CAACyF,UAAN,CAAiB2B,OAAO,CAAC1J,MAAzB,EAAiC6J,KAAjC,IAA0C/H,MAAM,CAACC,MAAP,CAAcO,KAAK,CAACyF,UAAN,CAAiB2B,OAAO,CAAC1J,MAAzB,EAAiC6J,KAAjC,CAAd,EAAuDH,OAAvD,CAA1C;CACA,eAJD,MAKK,IAAIxH,OAAO,CAAC8I,UAAR,KAAuB5B,qBAAY,CAACiC,SAAxC,EACL;CACC/I,gBAAAA,KAAK,CAACyF,UAAN,CAAiB2B,OAAO,CAAC1J,MAAzB,EAAiC6N,OAAjC,CAAyCnE,OAAzC;CACA,eAHI,MAKL;CACCpH,gBAAAA,KAAK,CAACyF,UAAN,CAAiB2B,OAAO,CAAC1J,MAAzB,EAAiCqH,IAAjC,CAAsCqC,OAAtC;CACA;;CAEDpH,cAAAA,KAAK,CAACuH,KAAN,CAAYH,OAAO,CAAC1J,MAApB,EAA4B0J,OAAO,CAACvE,EAApC,IAA0CuE,OAA1C;;CAEA,cAAA,MAAI,CAAC9G,SAAL,CAAeN,KAAf;CAtBF;;CACC,gEACA;CAAA;CAqBC;CAvBF;CAAA;CAAA;CAAA;CAAA;CAwBC,SAzCK;CA0CNoJ,QAAAA,MAAM,EAAE,gBAACpJ,KAAD,EAAQJ,OAAR,EACR;CACC,UAAA,MAAI,CAACoK,cAAL,CAAoBhK,KAApB,EAA2BJ,OAA3B;;CAEA,cAAI2H,KAAK,GAAG,CAAC,CAAb;;CACA,cAAI,OAAO3H,OAAO,CAAC2H,KAAf,KAAyB,WAAzB,IAAwCvH,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAAClC,MAAzB,EAAiCkC,OAAO,CAAC2H,KAAzC,CAA5C,EACA;CACCA,YAAAA,KAAK,GAAG3H,OAAO,CAAC2H,KAAhB;CACA,WAHD,MAKA;CACCA,YAAAA,KAAK,GAAGvH,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAAClC,MAAzB,EAAiC2L,SAAjC,CAA2C,UAAAC,EAAE;CAAA,qBAAIA,EAAE,CAACzG,EAAH,KAAUjD,OAAO,CAACiD,EAAtB;CAAA,aAA7C,CAAR;CACA;;CAED,cAAI0E,KAAK,IAAI,CAAb,EACA;CACC,mBAAO3H,OAAO,CAACgB,MAAR,CAAekF,UAAtB;CACA,gBAAIsB,OAAO,GAAG5H,MAAM,CAACC,MAAP,CACbO,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAAClC,MAAzB,EAAiC6J,KAAjC,CADa,EAEb3H,OAAO,CAACgB,MAFK,CAAd;CAIAZ,YAAAA,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAAClC,MAAzB,EAAiC6J,KAAjC,IAA0CH,OAA1C;CACApH,YAAAA,KAAK,CAACuH,KAAN,CAAY3H,OAAO,CAAClC,MAApB,EAA4B0J,OAAO,CAACvE,EAApC,IAA0CuE,OAA1C;;CAEA,YAAA,MAAI,CAAC9G,SAAL,CAAeN,KAAf;CACA;CACD,SApEK;CAqEN,kBAAQ,iBAACA,KAAD,EAAQJ,OAAR,EACR;CACC,UAAA,MAAI,CAACoK,cAAL,CAAoBhK,KAApB,EAA2BJ,OAA3B;;CAEAI,UAAAA,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAAClC,MAAzB,IAAmCsC,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAAClC,MAAzB,EAAiCsH,MAAjC,CAAwC,UAAAoC,OAAO;CAAA,mBAAIA,OAAO,CAACvE,EAAR,KAAejD,OAAO,CAACiD,EAA3B;CAAA,WAA/C,CAAnC;CACA,iBAAO7C,KAAK,CAACuH,KAAN,CAAY3H,OAAO,CAAClC,MAApB,EAA4BkC,OAAO,CAACiD,EAApC,CAAP;;CAEA,UAAA,MAAI,CAACvC,SAAL,CAAeN,KAAf;CACA,SA7EK;CA8ENM,QAAAA,SAAS,EAAE,mBAACN,KAAD,EAAQJ,OAAR,EACX;CACC,UAAA,MAAI,CAACU,SAAL,CAAeN,KAAf;CACA;CAjFK,OAAP;CAmFA;CArSF;CAAA;CAAA,mCAuSgBA,KAvShB,EAuSuBJ,OAvSvB,EAwSC;CACC,UAAI,OAAOI,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAAClC,MAAzB,CAAP,KAA4C,WAAhD,EACA;CACC,eAAO,IAAP;CACA;;CAED0K,MAAAA,UAAG,CAAC1I,GAAJ,CAAQM,KAAK,CAACyF,UAAd,EAA0B7F,OAAO,CAAClC,MAAlC,EAA0C,EAA1C;CACA0K,MAAAA,UAAG,CAAC1I,GAAJ,CAAQM,KAAK,CAACuH,KAAd,EAAqB3H,OAAO,CAAClC,MAA7B,EAAqC,EAArC;CAEA,aAAO,IAAP;CACA;CAlTF;CAAA;CAAA,mCAoTgBsC,KApThB,EAqTC;CACC,UAAI,CAACA,KAAD,IAAU,uBAAOA,KAAP,MAAiB,QAA/B,EACA;CACC,eAAOA,KAAP;CACA;;CAED,UAAI,uBAAOA,KAAK,CAACyF,UAAb,MAA4B,QAAhC,EACA;CACC,eAAOzF,KAAP;CACA;;CAEDA,MAAAA,KAAK,CAACuH,KAAN,GAAc,EAAd;;CAXD,mCAaU7J,MAbV;CAeE,YAAI,CAACsC,KAAK,CAACyF,UAAN,CAAiBtF,cAAjB,CAAgCzC,MAAhC,CAAL,EACA;CACC;CACA;;CAEDsC,QAAAA,KAAK,CAACuH,KAAN,CAAY7J,MAAZ,IAAsB,EAAtB;CAEAsC,QAAAA,KAAK,CAACyF,UAAN,CAAiB/H,MAAjB,EACEsH,MADF,CACS,UAAAmY,IAAI;CAAA,iBAAIA,IAAI,IAAI,IAAZ;CAAA,SADb,EAEEvY,OAFF,CAEU,UAAAuY,IAAI,EAAI;CAChBnd,UAAAA,KAAK,CAACuH,KAAN,CAAY7J,MAAZ,EAAoByf,IAAI,CAACta,EAAzB,IAA+Bsa,IAA/B;CACD,SAJD;CAtBF;;CAaC,WAAK,IAAIzf,MAAT,IAAmBsC,KAAK,CAACyF,UAAzB,EACA;CAAA,0BADS/H,MACT;;CAAA,iCAGE;CAUD;;CAED,aAAOsC,KAAP;CACA;CAnVF;CAAA;CAAA,sCAsVC;CACC,UAAI,CAAC,KAAKqb,EAAV,EACA;CACC,eAAO,EAAP;CACA;;CAED,UAAI,CAAC,KAAK1b,KAAL,CAAW6L,OAAX,CAAmB,0BAAnB,CAAL,EACA;CACC,eAAO,EAAP;CACA;;CAED,UAAI8P,IAAI,GAAG,KAAK3b,KAAL,CAAW6L,OAAX,CAAmB,0BAAnB,GAAX;;CACA,UAAI,CAAC8P,IAAL,EACA;CACC,eAAO,EAAP;CACA;;CAED,aAAOA,IAAP;CACA;CAxWF;CAAA;CAAA,qCA2WC;CACC,aAAO,GAAP;CACA;CA7WF;CAAA;CAAA,8BA+WWtb,KA/WX,EAgXC;CAAA;;CACC,UAAI,CAAC,KAAK4M,eAAL,EAAL,EACA;CACC,eAAO,KAAP;CACA;;CAED,wGAAgB,YAChB;CACC,YAAI0O,IAAI,GAAG,MAAI,CAAC3T,eAAL,EAAX;;CACA,YAAI,CAAC2T,IAAL,EACA;CACC,iBAAO,KAAP;CACA;;CAED,YAAIrO,WAAW,GAAG;CACjBxH,UAAAA,UAAU,EAAE;CADK,SAAlB;;CAPD,qCAWU/H,MAXV;CAaE,cAAI,CAAC4d,IAAI,CAACnb,cAAL,CAAoBzC,MAApB,CAAL,EACA;CACC;CACA;;CAED4d,UAAAA,IAAI,CAAC5d,MAAD,CAAJ,CAAakH,OAAb,CAAqB,UAAAiO,MAAM,EAC3B;CACC,gBAAI,CAAC7S,KAAK,CAACuH,KAAN,CAAY7J,MAAZ,CAAL,EACA;CACC,qBAAO,KAAP;CACA;;CAED,gBAAI,CAACsC,KAAK,CAACuH,KAAN,CAAY7J,MAAZ,EAAoBmV,MAApB,CAAL,EACA;CACC,qBAAO,KAAP;CACA;;CAED,gBAAI,CAAC5F,WAAW,CAACxH,UAAZ,CAAuB/H,MAAvB,CAAL,EACA;CACCuP,cAAAA,WAAW,CAACxH,UAAZ,CAAuB/H,MAAvB,IAAiC,EAAjC;CACA;;CAEDuP,YAAAA,WAAW,CAACxH,UAAZ,CAAuB/H,MAAvB,EAA+BqH,IAA/B,CACC/E,KAAK,CAACuH,KAAN,CAAY7J,MAAZ,EAAoBmV,MAApB,CADD;CAGA,WApBD;CAlBF;;CAWC,aAAK,IAAInV,MAAT,IAAmB4d,IAAnB,EACA;CAAA,6BADS5d,MACT;;CAAA,oCAGE;CAwBD;;CAED,eAAOuP,WAAP;CACA,OA3CD;CA4CA;CAlaF;CAAA;CAAA,6BAoaUrM,MApaV,EAqaC;CAAA,UADiB9B,OACjB,uEAD2B,EAC3B;CACC,UAAM+B,MAAM,GAAG,EAAf;CAEA/B,MAAAA,OAAO,CAAC7B,IAAR,GAAe6B,OAAO,CAAC7B,IAAR,IAAgB,KAAK4Z,QAAL,GAAgB5Z,IAA/C;;CAEA,UAAI,OAAO2D,MAAM,CAACiC,EAAd,KAAqB,QAAzB,EACA;CACChC,QAAAA,MAAM,CAACgC,EAAP,GAAYjC,MAAM,CAACiC,EAAnB;CACA,OAHD,MAIK,IAAI,OAAOjC,MAAM,CAACiC,EAAd,KAAqB,QAAzB,EACL;CACC,YAAIjC,MAAM,CAACiC,EAAP,CAAU9B,UAAV,CAAqB,WAArB,CAAJ,EACA;CACCF,UAAAA,MAAM,CAACgC,EAAP,GAAYjC,MAAM,CAACiC,EAAnB;CACA,SAHD,MAKA;CACChC,UAAAA,MAAM,CAACgC,EAAP,GAAY5B,QAAQ,CAACL,MAAM,CAACiC,EAAR,CAApB;CACA;CACD;;CAED,UAAI,OAAOjC,MAAM,CAACkF,UAAd,KAA6B,QAAjC,EACA;CACCjF,QAAAA,MAAM,CAACiF,UAAP,GAAoBlF,MAAM,CAACkF,UAA3B;CACA,OAHD,MAIK,IAAI,OAAOlF,MAAM,CAACkF,UAAd,KAA6B,QAAjC,EACL;CACC,YAAIlF,MAAM,CAACkF,UAAP,CAAkB/E,UAAlB,CAA6B,WAA7B,CAAJ,EACA;CACCF,UAAAA,MAAM,CAACiF,UAAP,GAAoBlF,MAAM,CAACkF,UAA3B;CACA,SAHD,MAKA;CACCjF,UAAAA,MAAM,CAACiF,UAAP,GAAoB7E,QAAQ,CAACL,MAAM,CAACkF,UAAR,CAA5B;CACA;CACD;;CAED,UAAI,OAAOlF,MAAM,CAAClD,MAAd,KAAyB,QAAzB,IAAqC,OAAOkD,MAAM,CAAClD,MAAd,KAAyB,QAAlE,EACA;CACCmD,QAAAA,MAAM,CAACnD,MAAP,GAAgBuD,QAAQ,CAACL,MAAM,CAAClD,MAAR,CAAxB;CACA;;CAED,UAAI,OAAOkD,MAAM,CAACsF,IAAd,KAAuB,WAA3B,EACA;CACCrF,QAAAA,MAAM,CAACqF,IAAP,GAAcgH,kBAAK,CAAChH,IAAN,CAAWqH,IAAX,CAAgB3M,MAAM,CAACsF,IAAvB,CAAd;CACA;;CAED,UAAI,OAAOtF,MAAM,CAACpC,IAAd,KAAuB,QAA3B,EACA;CACCqC,QAAAA,MAAM,CAACrC,IAAP,GAAcoC,MAAM,CAACpC,IAArB;CACA;;CAED,UAAI,OAAOoC,MAAM,CAAC6b,SAAd,KAA4B,QAAhC,EACA;CACC5b,QAAAA,MAAM,CAAC4b,SAAP,GAAmB7b,MAAM,CAAC6b,SAAP,CAAiB3b,QAAjB,EAAnB;;CAEA,YAAID,MAAM,CAACrC,IAAP,KAAgB,OAApB,EACA;CACCqC,UAAAA,MAAM,CAAC6b,IAAP,GAAc,KAAd;CACA,SAHD,MAIK,IAAI7b,MAAM,CAACrC,IAAP,KAAgB,OAApB,EACL;CACCqC,UAAAA,MAAM,CAAC6b,IAAP,GAAc,KAAd;CACA,SAHI,MAKL;CACC7b,UAAAA,MAAM,CAAC6b,IAAP,GAAcF,UAAU,CAACY,WAAX,CAAuBvc,MAAM,CAAC4b,SAA9B,CAAd;CACA;CACD;;CAED,UAAI,OAAO7b,MAAM,CAACiR,IAAd,KAAuB,QAAvB,IAAmC,OAAOjR,MAAM,CAACiR,IAAd,KAAuB,QAA9D,EACA;CACChR,QAAAA,MAAM,CAACgR,IAAP,GAAcjR,MAAM,CAACiR,IAAP,CAAY/Q,QAAZ,EAAd;CACA;;CAGD,UAAI,OAAOF,MAAM,CAAC8Q,IAAd,KAAuB,QAAvB,IAAmC,OAAO9Q,MAAM,CAAC8Q,IAAd,KAAuB,QAA9D,EACA;CACC7Q,QAAAA,MAAM,CAAC6Q,IAAP,GAAczQ,QAAQ,CAACL,MAAM,CAAC8Q,IAAR,CAAtB;CACA;;CAED,UAAI,OAAO9Q,MAAM,CAAC2N,KAAd,KAAwB,SAA5B,EACA;CACC1N,QAAAA,MAAM,CAAC0N,KAAP,GAAe,KAAf;CACA,OAHD,MAIK,IAAI,uBAAO3N,MAAM,CAAC2N,KAAd,MAAwB,QAAxB,IAAoC3N,MAAM,CAAC2N,KAA/C,EACL;CACC1N,QAAAA,MAAM,CAAC0N,KAAP,GAAe;CACdqB,UAAAA,KAAK,EAAE,CADO;CAEdE,UAAAA,MAAM,EAAE;CAFM,SAAf;;CAKA,YAAI,OAAOlP,MAAM,CAAC2N,KAAP,CAAaqB,KAApB,KAA8B,QAA9B,IAA0C,OAAOhP,MAAM,CAAC2N,KAAP,CAAaqB,KAApB,KAA8B,QAA5E,EACA;CACC/O,UAAAA,MAAM,CAAC0N,KAAP,CAAaqB,KAAb,GAAqB3O,QAAQ,CAACL,MAAM,CAAC2N,KAAP,CAAaqB,KAAd,CAA7B;CACA;;CACD,YAAI,OAAOhP,MAAM,CAAC2N,KAAP,CAAauB,MAApB,KAA+B,QAA/B,IAA2C,OAAOlP,MAAM,CAAC2N,KAAP,CAAauB,MAApB,KAA+B,QAA9E,EACA;CACCjP,UAAAA,MAAM,CAAC0N,KAAP,CAAauB,MAAb,GAAsB7O,QAAQ,CAACL,MAAM,CAAC2N,KAAP,CAAauB,MAAd,CAA9B;CACA;;CAED,YAAIjP,MAAM,CAAC0N,KAAP,CAAaqB,KAAb,IAAsB,CAAtB,IAA2B/O,MAAM,CAAC0N,KAAP,CAAauB,MAAb,IAAuB,CAAtD,EACA;CACCjP,UAAAA,MAAM,CAAC0N,KAAP,GAAe,KAAf;CACA;CACD;;CAED,UAAI,OAAO3N,MAAM,CAACuC,MAAd,KAAyB,QAAzB,IAAqC,OAAOwZ,mBAAU,CAAC/b,MAAM,CAACuC,MAAR,CAAjB,KAAqC,WAA9E,EACA;CACCtC,QAAAA,MAAM,CAACsC,MAAP,GAAgBvC,MAAM,CAACuC,MAAvB;CACA;;CAED,UAAI,OAAOvC,MAAM,CAACic,QAAd,KAA2B,QAA3B,IAAuC,OAAOjc,MAAM,CAACic,QAAd,KAA2B,QAAtE,EACA;CACChc,QAAAA,MAAM,CAACgc,QAAP,GAAkB5b,QAAQ,CAACL,MAAM,CAACic,QAAR,CAA1B;CACA;;CAED,UAAI,OAAOjc,MAAM,CAACqF,QAAd,KAA2B,QAA3B,IAAuC,OAAOrF,MAAM,CAACqF,QAAd,KAA2B,QAAtE,EACA;CACCpF,QAAAA,MAAM,CAACoF,QAAP,GAAkBhF,QAAQ,CAACL,MAAM,CAACqF,QAAR,CAA1B;CACA;;CAED,UAAI,OAAOrF,MAAM,CAACkc,UAAd,KAA6B,QAA7B,IAAyC,OAAOlc,MAAM,CAACkc,UAAd,KAA6B,QAA1E,EACA;CACCjc,QAAAA,MAAM,CAACic,UAAP,GAAoBlc,MAAM,CAACkc,UAAP,CAAkBhc,QAAlB,EAApB;CACA;;CAED,UAAI,OAAOF,MAAM,CAACmc,UAAd,KAA6B,QAAjC,EACA;CACC,YACC,CAACnc,MAAM,CAACmc,UAAR,IACGnc,MAAM,CAACmc,UAAP,CAAkBhc,UAAlB,CAA6B,MAA7B,CADH,IAEGH,MAAM,CAACmc,UAAP,CAAkBhc,UAAlB,CAA6B,IAA7B,CAFH,IAGGH,MAAM,CAACmc,UAAP,CAAkBhc,UAAlB,CAA6B,MAA7B,CAHH,IAIGH,MAAM,CAACmc,UAAP,CAAkBhc,UAAlB,CAA6B,MAA7B,CALJ,EAOA;CACCF,UAAAA,MAAM,CAACkc,UAAP,GAAoBnc,MAAM,CAACmc,UAA3B;CACA,SATD,MAWA;CACClc,UAAAA,MAAM,CAACkc,UAAP,GAAoBje,OAAO,CAAC7B,IAAR,GAAa2D,MAAM,CAACmc,UAAxC;CACA;CACD;;CAED,UAAI,OAAOnc,MAAM,CAACqc,WAAd,KAA8B,QAAlC,EACA;CACC,YACC,CAACrc,MAAM,CAACqc,WAAR,IACGrc,MAAM,CAACqc,WAAP,CAAmBlc,UAAnB,CAA8B,MAA9B,CADH,IAEGH,MAAM,CAACqc,WAAP,CAAmBlc,UAAnB,CAA8B,IAA9B,CAFH,IAGGH,MAAM,CAACmc,UAAP,CAAkBhc,UAAlB,CAA6B,MAA7B,CAJJ,EAMA;CACCF,UAAAA,MAAM,CAACoc,WAAP,GAAqBrc,MAAM,CAACqc,WAA5B;CACA,SARD,MAUA;CACCpc,UAAAA,MAAM,CAACoc,WAAP,GAAqBne,OAAO,CAAC7B,IAAR,GAAa2D,MAAM,CAACqc,WAAzC;CACA;CACD;;CAED,UAAI,OAAOrc,MAAM,CAACoc,OAAd,KAA0B,QAA9B,EACA;CACC,YACC,CAACpc,MAAM,CAACoc,OAAR,IACGpc,MAAM,CAACoc,OAAP,CAAejc,UAAf,CAA0B,MAA1B,CADH,IAEGH,MAAM,CAACoc,OAAP,CAAejc,UAAf,CAA0B,IAA1B,CAFH,IAGGH,MAAM,CAACoc,OAAP,CAAejc,UAAf,CAA0B,MAA1B,CAJJ,EAMA;CACCF,UAAAA,MAAM,CAACmc,OAAP,GAAiBpc,MAAM,CAACoc,OAAxB;CACA,SARD,MAUA;CACCnc,UAAAA,MAAM,CAACmc,OAAP,GAAiBle,OAAO,CAAC7B,IAAR,GAAa2D,MAAM,CAACoc,OAArC;CACA;CACD;;CAED,UAAI,uBAAOpc,MAAM,CAACsc,WAAd,MAA8B,QAAlC,EACA;CACC,YAAIrc,MAAM,CAACrC,IAAP,KAAgB,OAAhB,IAA2B,CAAC0O,kBAAK,CAACmF,QAAN,CAAeC,cAAf,EAAhC,EACA;CACCzR,UAAAA,MAAM,CAACqc,WAAP,GAAqBtc,MAAM,CAACsc,WAA5B;CACA;;CAED,YAAIrc,MAAM,CAACrC,IAAP,KAAgB,OAAhB,IAA2B,CAAC0O,kBAAK,CAACmF,QAAN,CAAeC,cAAf,EAA5B,IAA+DzR,MAAM,CAAC6Q,IAAP,GAAc8K,UAAU,CAACa,eAA5F,EACA;CACCxc,UAAAA,MAAM,CAACqc,WAAP,GAAqBtc,MAAM,CAACsc,WAA5B;CACA;CACD;;CAED,aAAOrc,MAAP;CACA;CAtmBF;CAAA;CAAA,4BAwmBgBrC,IAxmBhB,EAymBC;CACCA,MAAAA,IAAI,GAAGA,IAAI,CAACsC,QAAL,GAAgBwc,WAAhB,GAA8BzO,KAA9B,CAAoC,GAApC,EAAyCpE,MAAzC,CAAgD,CAAC,CAAjD,EAAoD,CAApD,CAAP;;CAEA,cAAOjM,IAAP;CAEC,aAAK,KAAL;CACA,aAAK,KAAL;CACA,aAAK,KAAL;CACA,aAAK,MAAL;CACA,aAAK,KAAL;CACA,aAAK,MAAL;CACA,aAAK,KAAL;CACA,aAAK,MAAL;CACC,iBAAO+e,iBAAQ,CAAChP,KAAhB;;CAED,aAAK,KAAL;CACA,aAAK,KAAL;CACA,aAAK,MAAL;CACA,aAAK,MAAL;CACA,aAAK,MAAL;CACA,aAAK,KAAL;CACA,aAAK,KAAL;CACA,aAAK,KAAL;CACA,aAAK,KAAL;CACA,aAAK,KAAL;CACA,aAAK,KAAL;CACA,aAAK,KAAL;CACC,iBAAOgP,iBAAQ,CAACC,KAAhB;;CAED,aAAK,KAAL;CACC,iBAAOD,iBAAQ,CAACE,KAAhB;CA3BF;;CA8BA,aAAOF,iBAAQ,CAACJ,IAAhB;CACA;CA3oBF;CAAA;CAAA,gCA6oBoBV,SA7oBpB,EA8oBC;CACC,UAAIC,IAAI,GAAG,OAAX;;CAEA,cAAOD,SAAS,CAAC3b,QAAV,EAAP;CAEC,aAAK,KAAL;CACA,aAAK,KAAL;CACA,aAAK,KAAL;CACA,aAAK,MAAL;CACA,aAAK,KAAL;CACA,aAAK,MAAL;CACA,aAAK,KAAL;CACA,aAAK,MAAL;CACC4b,UAAAA,IAAI,GAAG,KAAP;CACA;;CAED,aAAK,KAAL;CACA,aAAK,KAAL;CACA,aAAK,MAAL;CACA,aAAK,MAAL;CACA,aAAK,MAAL;CACA,aAAK,KAAL;CACA,aAAK,KAAL;CACA,aAAK,KAAL;CACA,aAAK,KAAL;CACA,aAAK,KAAL;CACA,aAAK,KAAL;CACA,aAAK,KAAL;CACCA,UAAAA,IAAI,GAAG,KAAP;CACA;;CAED,aAAK,KAAL;CACCA,UAAAA,IAAI,GAAG,KAAP;CACA;;CAED,aAAK,KAAL;CACA,aAAK,MAAL;CACCA,UAAAA,IAAI,GAAG,KAAP;CACA;;CAED,aAAK,KAAL;CACA,aAAK,MAAL;CACCA,UAAAA,IAAI,GAAG,KAAP;CACA;;CAED,aAAK,KAAL;CACCA,UAAAA,IAAI,GAAG,KAAP;CACA;;CAED,aAAK,KAAL;CACCA,UAAAA,IAAI,GAAG,KAAP;CACA;;CAED,aAAK,KAAL;CACA,aAAK,MAAL;CACCA,UAAAA,IAAI,GAAG,KAAP;CACA;;CAED,aAAK,KAAL;CACCA,UAAAA,IAAI,GAAG,KAAP;CACA;;CAED,aAAK,KAAL;CACA,aAAK,IAAL;CACA,aAAK,KAAL;CACA,aAAK,IAAL;CACA,aAAK,MAAL;CACCA,UAAAA,IAAI,GAAG,KAAP;CACA;;CAED,aAAK,KAAL;CACCA,UAAAA,IAAI,GAAG,KAAP;CACA;;CAED,aAAK,MAAL;CACA,aAAK,KAAL;CACA,aAAK,OAAL;CACCA,UAAAA,IAAI,GAAG,KAAP;CACA;CA3EF;;CA8EA,aAAOA,IAAP;CACA;CAhuBF;CAAA;CAAA,EAAgCvb,4BAAhC;6BAAaqb,+BAEa;;CCjB1B;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AAEA,KAKakB,WAAb;CAAA;;CAAA;CAAA;CAAA;CAAA;;CAAA;CAAA;CAAA,8BAGC;CACC,aAAO,QAAP;CACA;CALF;CAAA;CAAA,+BAQC;CACC,aAAO;CACNzgB,QAAAA,IAAI,EAAE,KAAKC,WAAL,CAAiB,MAAjB,EAAyBC,QAAQ,CAACC,QAAT,GAAkB,IAAlB,GAAuBD,QAAQ,CAACF,IAAzD,CADA;CAENwI,QAAAA,UAAU,EAAE;CAFN,OAAP;CAIA;CAbF;CAAA;CAAA,sCAgBC;CACC,aAAO;CACN5C,QAAAA,EAAE,EAAE,CADE;CAENiD,QAAAA,UAAU,EAAE,EAFN;CAGN6X,QAAAA,QAAQ,EAAEC,sBAAa,CAAC3N,IAHlB;CAIN4N,QAAAA,QAAQ,EAAEC,kBAAS,CAACC,IAJd;CAKNC,QAAAA,WAAW,EAAEC,sBAAO,CAACC,OALf;CAMN9J,QAAAA,MAAM,EAAE,EANF;CAONC,QAAAA,KAAK,EAAE,SAPD;CAQN1C,QAAAA,KAAK,EAAE,EARD;CASNwM,QAAAA,KAAK,EAAE;CAACtb,UAAAA,EAAE,EAAE,CAAL;CAAQM,UAAAA,MAAM,EAAE;CAAhB,SATD;CAUN4E,QAAAA,OAAO,EAAE;CACRlF,UAAAA,EAAE,EAAE,CADI;CAERsD,UAAAA,IAAI,EAAE,EAFE;CAGRD,UAAAA,IAAI,EAAE,IAAIzB,IAAJ,EAHE;CAIRmJ,UAAAA,QAAQ,EAAE,CAJF;CAKRzK,UAAAA,MAAM,EAAEib,sBAAa,CAACC;CALd,SAVH;CAiBN5K,QAAAA,OAAO,EAAE,CAjBH;CAkBN6K,QAAAA,MAAM,EAAE,KAlBF;CAmBN5gB,QAAAA,MAAM,EAAE,CAnBF;CAoBNJ,QAAAA,MAAM,EAAE;CApBF,OAAP;CAsBA;CAvCF;CAAA;CAAA,iCA0CC;CAAA;;CACC,aAAO;CACNkK,QAAAA,GAAG,EAAE,aAAAxH,KAAK;CAAA,iBAAI,UAACvC,QAAD,EACd;CACC,gBAAI8gB,cAAI,CAACC,QAAL,CAAc/gB,QAAd,CAAJ,EACA;CACCA,cAAAA,QAAQ,GAAGA,QAAQ,CAACqD,QAAT,EAAX;CACA;;CAED,gBAAI2d,WAAW,GAAG,KAAI,CAACC,QAAL,CAAcjhB,QAAd,CAAlB;;CACA,gBAAIghB,WAAJ,EACA;CACC,qBAAOA,WAAP;CACA;;CAED,mBAAO,KAAP;CACA,WAdS;CAAA;CADJ,OAAP;CAiBA;CA5DF;CAAA;CAAA,iCA+DC;CAAA;;CACC,aAAO;CACN/e,QAAAA,GAAG,EAAE,aAACC,KAAD,EAAQC,OAAR,EACL;CACC,cAAIiB,MAAM,GAAG,EAAb;;CAEA,cAAIjB,OAAO,YAAYyD,KAAvB,EACA;CACCxC,YAAAA,MAAM,GAAGjB,OAAO,CAAC4I,GAAR,CACR,UAAAmW,UAAU;CAAA,qBAAI,MAAI,CAACC,WAAL,CAAiBD,UAAjB,EAA6B;CAAE1hB,gBAAAA,IAAI,EAAE0C,KAAK,CAACK,KAAN,CAAY/C;CAApB,eAA7B,CAAJ;CAAA,aADF,CAAT;CAGA;;CAED,cAAI4D,MAAM,CAACoG,MAAP,KAAkB,CAAtB,EACA;CACC,mBAAO,KAAP;CACA;;CAEDpG,UAAAA,MAAM,CAAC+D,OAAP,CAAe,UAAAwC,OAAO,EAAI;CACzB,gBAAMyX,YAAY,GAAG,MAAI,CAACH,QAAL,CAActX,OAAO,CAACvE,EAAtB,CAArB;;CACA,gBAAIgc,YAAJ,EACA;CACClf,cAAAA,KAAK,CAACE,MAAN,CAAa,QAAb,EAAuB;CACtB0H,gBAAAA,KAAK,EAAEsX,YAAY,CAACtX,KADE;CAEtB3G,gBAAAA,MAAM,EAAEwG;CAFc,eAAvB;CAIA,aAND,MAQA;CACCzH,cAAAA,KAAK,CAACE,MAAN,CAAa,KAAb,EAAoB;CACnBe,gBAAAA,MAAM,EAAEwG;CADW,eAApB;CAGA;CACD,WAfD;CAgBAzH,UAAAA,KAAK,CAACK,KAAN,CAAYyF,UAAZ,CAAuBwE,IAAvB,CAA4B,MAAI,CAAC6U,qBAAjC;CACA,SAlCK;CAoCNlW,QAAAA,eAAe,EAAE,yBAACjJ,KAAD,EAAQC,OAAR,EACjB;CACCA,UAAAA,OAAO,CAACgF,OAAR,CAAgB,UAAAwC,OAAO,EAAI;CAC1BzH,YAAAA,KAAK,CAACE,MAAN,CAAa,gBAAb,EAA+B;CAC9Be,cAAAA,MAAM,EAAEwG;CADsB,aAA/B;CAGA,WAJD;CAKA,SA3CK;CA6CN+B,QAAAA,kBAAkB,EAAE,4BAACxJ,KAAD,EAAQC,OAAR,EACpB;CACCA,UAAAA,OAAO,CAACmf,KAAR,GAAgBnf,OAAO,CAACmf,KAAR,CAAcvW,GAAd,CAAkB,UAAApB,OAAO;CAAA,mBAAI,MAAI,CAACwX,WAAL,CAAiBxX,OAAjB,CAAJ;CAAA,WAAzB,CAAhB;CAEAxH,UAAAA,OAAO,CAACmf,KAAR,CAAcna,OAAd,CAAsB,UAACwC,OAAD,EAAUG,KAAV,EAAoB;CACzC,gBAAMyX,aAAa,GAAG,iBAAiBpf,OAAO,CAAC2K,YAAR,GAAuBhD,KAAxC,CAAtB;;CACA,gBAAM0X,mBAAmB,GAAG,MAAI,CAACP,QAAL,CAAcM,aAAd,EAA6B,YAA7B,CAA5B;;CAEA,gBAAMH,YAAY,GAAG,MAAI,CAACH,QAAL,CAActX,OAAO,CAACvE,EAAtB,CAArB;;CACA,gBAAIgc,YAAJ,EACA;CACClf,cAAAA,KAAK,CAACE,MAAN,CAAa,QAAb,EAAuB;CACtB0H,gBAAAA,KAAK,EAAEsX,YAAY,CAACtX,KADE;CAEtB3G,gBAAAA,MAAM,EAAEwG;CAFc,eAAvB;CAIAzH,cAAAA,KAAK,CAACE,MAAN,CAAa,QAAb,EAAuB;CACtB0H,gBAAAA,KAAK,EAAE0X,mBAAmB,CAAC1X;CADL,eAAvB;CAGA,aATD,MAWA;CACC5H,cAAAA,KAAK,CAACE,MAAN,CAAa,QAAb,EAAuB;CACtB0H,gBAAAA,KAAK,EAAE0X,mBAAmB,CAAC1X,KADL;CAEtB3G,gBAAAA,MAAM,EAAEwG;CAFc,eAAvB;CAIA;CACD,WAtBD;CAuBA,SAxEK;CA0ENgC,QAAAA,MAAM,EAAE,gBAACzJ,KAAD,EAAQC,OAAR,EACR;CACC,cAAI,OAAOA,OAAO,CAACiD,EAAf,KAAsB,QAAtB,IAAkC,CAACjD,OAAO,CAACiD,EAAR,CAAW9B,UAAX,CAAsB,MAAtB,CAAnC,IAAoEnB,OAAO,CAACiD,EAAR,KAAe,QAAvF,EACA;CACCjD,YAAAA,OAAO,CAACiD,EAAR,GAAa5B,QAAQ,CAACrB,OAAO,CAACiD,EAAT,CAArB;CACA;;CAED,cAAMgc,YAAY,GAAG,MAAI,CAACH,QAAL,CAAc9e,OAAO,CAACiD,EAAtB,CAArB;;CACA,cAAI,CAACgc,YAAL,EACA;CACC,mBAAO,KAAP;CACA;;CAEDjf,UAAAA,OAAO,CAACgB,MAAR,GAAiB,MAAI,CAACd,QAAL,CAAcN,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBG,OAAO,CAACgB,MAA1B,CAAd,CAAjB;CAEAjB,UAAAA,KAAK,CAACE,MAAN,CAAa,QAAb,EAAuB;CACtB0H,YAAAA,KAAK,EAAEsX,YAAY,CAACtX,KADE;CAEtB3G,YAAAA,MAAM,EAAEhB,OAAO,CAACgB;CAFM,WAAvB;CAIAjB,UAAAA,KAAK,CAACK,KAAN,CAAYyF,UAAZ,CAAuBwE,IAAvB,CAA4B,MAAI,CAAC6U,qBAAjC;CACA,SA9FK;CAgGNI,QAAAA,GAAG,EAAE,aAACvf,KAAD,EAAQC,OAAR,EACL;CACC,cAAI,OAAOA,OAAO,CAACiD,EAAf,KAAsB,QAAtB,IAAkC,CAACjD,OAAO,CAACiD,EAAR,CAAW9B,UAAX,CAAsB,MAAtB,CAAnC,IAAoEnB,OAAO,CAACiD,EAAR,KAAe,QAAvF,EACA;CACCjD,YAAAA,OAAO,CAACiD,EAAR,GAAa5B,QAAQ,CAACrB,OAAO,CAACiD,EAAT,CAArB;CACA;;CAGD,cAAIgc,YAAY,GAAG,MAAI,CAACH,QAAL,CAAc9e,OAAO,CAACiD,EAAtB,CAAnB;;CAEA,cAAI,CAACgc,YAAL,EACA;CACC,mBAAO,KAAP;CACA;;CAEDlf,UAAAA,KAAK,CAACE,MAAN,CAAa,QAAb,EAAuB;CACtB0H,YAAAA,KAAK,EAAEsX,YAAY,CAACtX,KADE;CAEtB3G,YAAAA,MAAM,EAAEpB,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBof,YAAY,CAACzX,OAA/B,EAAwC;CAC/CkX,cAAAA,MAAM,EAAE1e,OAAO,CAAC+V;CAD+B,aAAxC;CAFc,WAAvB;CAOAhW,UAAAA,KAAK,CAACK,KAAN,CAAYyF,UAAZ,CAAuBwE,IAAvB,CAA4B,MAAI,CAAC6U,qBAAjC;CACA,SAvHK;CAyHN5V,QAAAA,iBAAiB,EAAE,2BAACvJ,KAAD,EACnB;CACCA,UAAAA,KAAK,CAACE,MAAN,CAAa,mBAAb;CACA,SA5HK;CA8HN,kBAAQ,iBAACF,KAAD,EAAQC,OAAR,EACR;CACC,cAAI,OAAOA,OAAO,CAACiD,EAAf,KAAsB,QAAtB,IAAkC,CAACjD,OAAO,CAACiD,EAAR,CAAW9B,UAAX,CAAsB,MAAtB,CAAnC,IAAoEnB,OAAO,CAACiD,EAAR,KAAe,QAAvF,EACA;CACCjD,YAAAA,OAAO,CAACiD,EAAR,GAAa5B,QAAQ,CAACrB,OAAO,CAACiD,EAAT,CAArB;CACA;;CAED,cAAMgc,YAAY,GAAG,MAAI,CAACH,QAAL,CAAc9e,OAAO,CAACiD,EAAtB,CAArB;;CACA,cAAI,CAACgc,YAAL,EACA;CACC,mBAAO,KAAP;CACA;;CAEDlf,UAAAA,KAAK,CAACE,MAAN,CAAa,QAAb,EAAuB;CACtB0H,YAAAA,KAAK,EAAEsX,YAAY,CAACtX;CADE,WAAvB;CAGA5H,UAAAA,KAAK,CAACK,KAAN,CAAYyF,UAAZ,CAAuBwE,IAAvB,CAA4B,MAAI,CAAC6U,qBAAjC;CACA;CA/IK,OAAP;CAiJA;CAjNF;CAAA;CAAA,mCAoNC;CAAA;;CACC,aAAO;CACNjX,QAAAA,GAAG,EAAE,aAAC7H,KAAD,EAAQJ,OAAR,EAAsC;CAC1CI,UAAAA,KAAK,CAACyF,UAAN,CAAiBV,IAAjB,CAAsBvF,MAAM,CAACC,MAAP,CACrB,EADqB,EAErB,MAAI,CAACiI,eAAL,EAFqB,EAGrB9H,OAAO,CAACgB,MAHa,CAAtB;CAKA,SAPK;CASNwI,QAAAA,MAAM,EAAE,gBAACpJ,KAAD,EAAQJ,OAAR,EAAqD;CAC5DI,UAAAA,KAAK,CAACyF,UAAN,CAAiBgF,MAAjB,CAAwB7K,OAAO,CAAC2H,KAAhC,EAAuC,CAAvC,EAA0C/H,MAAM,CAACC,MAAP,CACzC,EADyC,EAEzCO,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAAC2H,KAAzB,CAFyC,EAGzC3H,OAAO,CAACgB,MAHiC,CAA1C;CAKA,SAfK;CAiBN,kBAAQ,iBAACZ,KAAD,EAAQJ,OAAR,EAAqC;CAC5CI,UAAAA,KAAK,CAACyF,UAAN,CAAiBgF,MAAjB,CAAwB7K,OAAO,CAAC2H,KAAhC,EAAuC,CAAvC;CACA,SAnBK;CAqBN4X,QAAAA,cAAc,EAAE,wBAACnf,KAAD,EAAQJ,OAAR,EAAsC;CACrDI,UAAAA,KAAK,CAACyF,UAAN,CAAiBV,IAAjB,CAAsBvF,MAAM,CAACC,MAAP,CACrB,EADqB,EAErB,MAAI,CAACiI,eAAL,EAFqB,EAGrB9H,OAAO,CAACgB,MAHa,CAAtB;CAKA,SA3BK;CA6BNsI,QAAAA,iBAAiB,EAAE,2BAAClJ,KAAD,EAAW;CAC7BA,UAAAA,KAAK,CAACyF,UAAN,GAAmBzF,KAAK,CAACyF,UAAN,CAAiBT,MAAjB,CAAwB,UAAAoC,OAAO,EAAI;CACrD,mBAAO,CAACA,OAAO,CAACvE,EAAR,CAAW/B,QAAX,GAAsBC,UAAtB,CAAiC,aAAjC,CAAR;CACA,WAFkB,CAAnB;CAGA;CAjCK,OAAP;CAmCA;CAxPF;CAAA;CAAA,6BA0PUH,MA1PV,EA2PC;CAAA,UADgC9B,OAChC,uEAD0C,EAC1C;CACC,UAAM+B,MAAM,GAAG,EAAf;;CAEA,UAAI0d,cAAI,CAACC,QAAL,CAAc5d,MAAM,CAACiC,EAArB,CAAJ,EACA;CACChC,QAAAA,MAAM,CAACgC,EAAP,GAAYjC,MAAM,CAACiC,EAAP,CAAU/B,QAAV,EAAZ;CACA;;CACD,UAAIyd,cAAI,CAACa,cAAL,CAAoBxe,MAAM,CAACiC,EAA3B,CAAJ,EACA;CACChC,QAAAA,MAAM,CAACgC,EAAP,GAAYjC,MAAM,CAACiC,EAAnB;CACA;;CAED,UAAI0b,cAAI,CAACc,QAAL,CAAcze,MAAM,CAACkF,UAArB,CAAJ,EACA;CACCjF,QAAAA,MAAM,CAACiF,UAAP,GAAoBlF,MAAM,CAACkF,UAA3B;CACA;;CAED,UAAIyY,cAAI,CAACc,QAAL,CAAcze,MAAM,CAAC+c,QAArB,CAAJ,EACA;CACC9c,QAAAA,MAAM,CAAC8c,QAAP,GAAkB/c,MAAM,CAAC+c,QAAzB;CACA;;CAED,UAAIY,cAAI,CAACc,QAAL,CAAcze,MAAM,CAACpC,IAArB,CAAJ,EACA;CACC,YAAIoC,MAAM,CAACpC,IAAP,KAAgBsf,kBAAS,CAACC,IAA9B,EACA;CACC,cAAInd,MAAM,CAACmd,IAAP,CAAYvf,IAAZ,KAAqBsf,kBAAS,CAAC9M,IAAnC,EACA;CACCnQ,YAAAA,MAAM,CAACgd,QAAP,GAAkBC,kBAAS,CAAC9M,IAA5B;CACA,WAHD,MAIK,IAAIpQ,MAAM,CAACmd,IAAP,CAAYvf,IAAZ,KAAqBsf,kBAAS,CAACC,IAAnC,EACL;CACCld,YAAAA,MAAM,CAACgd,QAAP,GAAkBC,kBAAS,CAACC,IAA5B;CACA;CACD,SAVD,MAWK,IAAInd,MAAM,CAACpC,IAAP,KAAgBsf,kBAAS,CAAClb,IAA9B,EACL;CACC/B,UAAAA,MAAM,CAACgd,QAAP,GAAkBC,kBAAS,CAAClb,IAA5B;CACA,SAHI,MAIA,IAAIhC,MAAM,CAACpC,IAAP,KAAgBsf,kBAAS,CAACwB,YAA9B,EACL;CACCze,UAAAA,MAAM,CAACgd,QAAP,GAAkBC,kBAAS,CAACwB,YAA5B;CACA1e,UAAAA,MAAM,CAAC+Q,KAAP,GAAe,eAAf;CACA,SAJI,MAML;CACC9Q,UAAAA,MAAM,CAACgd,QAAP,GAAkBC,kBAAS,CAACC,IAA5B;CACA;CACD;;CAED,UAAIQ,cAAI,CAACc,QAAL,CAAcze,MAAM,CAACwT,MAArB,CAAJ,EACA;CACC,YAAIA,MAAJ;;CAEA,YAAI,CAACxT,MAAM,CAACwT,MAAR,IAAkBxT,MAAM,CAACwT,MAAP,CAAc0D,QAAd,CAAuB,yBAAvB,CAAtB,EACA;CACC1D,UAAAA,MAAM,GAAG,EAAT;CACA,SAHD,MAIK,IAAIxT,MAAM,CAACwT,MAAP,CAAcrT,UAAd,CAAyB,MAAzB,CAAJ,EACL;CACCqT,UAAAA,MAAM,GAAGxT,MAAM,CAACwT,MAAhB;CACA,SAHI,MAKL;CACCA,UAAAA,MAAM,GAAGtV,OAAO,CAAC7B,IAAR,GAAe2D,MAAM,CAACwT,MAA/B;CACA;;CAED,YAAIA,MAAJ,EACA;CACCvT,UAAAA,MAAM,CAACuT,MAAP,GAAgB2D,SAAS,CAAC3D,MAAD,CAAzB;CACA;CACD;;CAED,UAAImK,cAAI,CAACc,QAAL,CAAcze,MAAM,CAACyT,KAArB,CAAJ,EACA;CACCxT,QAAAA,MAAM,CAACwT,KAAP,GAAezT,MAAM,CAACyT,KAAtB;CACA;;CAED,UAAIkK,cAAI,CAACc,QAAL,CAAcze,MAAM,CAAC+Q,KAArB,CAAJ,EACA;CACC9Q,QAAAA,MAAM,CAAC8Q,KAAP,GAAe/Q,MAAM,CAAC+Q,KAAtB;CACA;;CAED,UAAI4M,cAAI,CAACgB,aAAL,CAAmB3e,MAAM,CAACmH,OAA1B,CAAJ,EACA;CACC,YAAMA,OAAO,GAAG,EAAhB;;CACA,YAAIwW,cAAI,CAACC,QAAL,CAAc5d,MAAM,CAACmH,OAAP,CAAelF,EAA7B,CAAJ,EACA;CACCkF,UAAAA,OAAO,CAAClF,EAAR,GAAajC,MAAM,CAACmH,OAAP,CAAelF,EAA5B;CACA;;CACD,YAAI0b,cAAI,CAACc,QAAL,CAAcze,MAAM,CAACmH,OAAP,CAAe5B,IAA7B,CAAJ,EACA;CACC,cAAMrH,QAAO,GAAG,EAAhB;;CACA,cAAI8B,MAAM,CAACmH,OAAP,CAAeyX,UAAnB,EACA;CACC1gB,YAAAA,QAAO,CAAC2gB,WAAR,GAAsB,IAAtB;CACA,WAHD,MAIK,IAAI7e,MAAM,CAACmH,OAAP,CAAe2X,QAAnB,EACL;CACC5gB,YAAAA,QAAO,CAAC6gB,SAAR,GAAoB,IAApB;CACA;;CAED5X,UAAAA,OAAO,CAAC5B,IAAR,GAAe+G,kBAAK,CAAC/G,IAAN,CAAWyZ,MAAX,CAAkBhf,MAAM,CAACmH,OAAP,CAAe5B,IAAjC,EAAuCrH,QAAvC,CAAf;CACA;;CACD,YAAIyf,cAAI,CAACsB,MAAL,CAAYjf,MAAM,CAACmH,OAAP,CAAe7B,IAA3B,KAAoCqY,cAAI,CAACc,QAAL,CAAcze,MAAM,CAACmH,OAAP,CAAe7B,IAA7B,CAAxC,EACA;CACC6B,UAAAA,OAAO,CAAC7B,IAAR,GAAetF,MAAM,CAACmH,OAAP,CAAe7B,IAA9B;CACA;;CACD,YAAIqY,cAAI,CAACC,QAAL,CAAc5d,MAAM,CAACmH,OAAP,CAAe8F,SAA7B,CAAJ,EACA;CACC9F,UAAAA,OAAO,CAAC6F,QAAR,GAAmBhN,MAAM,CAACmH,OAAP,CAAe8F,SAAlC;CACA;;CACD,YAAI0Q,cAAI,CAACC,QAAL,CAAc5d,MAAM,CAACmH,OAAP,CAAe6F,QAA7B,CAAJ,EACA;CACC7F,UAAAA,OAAO,CAAC6F,QAAR,GAAmBhN,MAAM,CAACmH,OAAP,CAAe6F,QAAlC;CACA;;CACD,YAAI2Q,cAAI,CAACa,cAAL,CAAoBxe,MAAM,CAACmH,OAAP,CAAe5E,MAAnC,CAAJ,EACA;CACC4E,UAAAA,OAAO,CAAC5E,MAAR,GAAiBvC,MAAM,CAACmH,OAAP,CAAe5E,MAAhC;CACA;;CAEDtC,QAAAA,MAAM,CAACkH,OAAP,GAAiBA,OAAjB;CACA;;CAED,UAAIwW,cAAI,CAACC,QAAL,CAAc5d,MAAM,CAAC6S,OAArB,CAAJ,EACA;CACC5S,QAAAA,MAAM,CAAC4S,OAAP,GAAiB7S,MAAM,CAAC6S,OAAxB;CACA;;CAED,UAAI8K,cAAI,CAACuB,SAAL,CAAelf,MAAM,CAAC0d,MAAtB,CAAJ,EACA;CACCzd,QAAAA,MAAM,CAACyd,MAAP,GAAgB1d,MAAM,CAAC0d,MAAvB;CACA;;CAED,UAAIC,cAAI,CAACC,QAAL,CAAc5d,MAAM,CAAClD,MAArB,CAAJ,EACA;CACCmD,QAAAA,MAAM,CAACnD,MAAP,GAAgBkD,MAAM,CAAClD,MAAvB;CACA;;CAED,UAAI6gB,cAAI,CAACC,QAAL,CAAc5d,MAAM,CAACtD,MAArB,CAAJ,EACA;CACCuD,QAAAA,MAAM,CAACvD,MAAP,GAAgBsD,MAAM,CAACtD,MAAvB;CACA;;CAED,aAAOuD,MAAP;CACA;CA5YF;CAAA;CAAA,0CA8YuBqJ,CA9YvB,EA8YsCC,CA9YtC,EA+YC;CACC,UAAID,CAAC,CAACnC,OAAF,IAAaoC,CAAC,CAACpC,OAAnB,EACA;CACC,YAAIgY,UAAU,GAAG,IAAItb,IAAJ,CAASyF,CAAC,CAACnC,OAAF,CAAU7B,IAAnB,EAAyB8B,OAAzB,EAAjB;CACA,YAAIgY,UAAU,GAAG,IAAIvb,IAAJ,CAAS0F,CAAC,CAACpC,OAAF,CAAU7B,IAAnB,EAAyB8B,OAAzB,EAAjB;CAEA,eAAOgY,UAAU,GAAGD,UAApB;CACA;CACD;CAvZF;CAAA;CAAA,gCAyZa9P,IAzZb,EA0ZC;CAAA,UADkBnR,OAClB,uEAD4B,EAC5B;CACC,UAAI+B,MAAM,GAAG,KAAKf,QAAL,CAAcN,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBwQ,IAAlB,CAAd,CAAb;CAEA,aAAOzQ,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB,KAAKiI,eAAL,EAAlB,EAA0C7G,MAA1C,EAAkD/B,OAAlD,CAAP;CACA;CA9ZF;CAAA;CAAA,6BAgaUgT,KAhaV,EAiaC;CAAA,UADgBmO,GAChB,uEADsB,IACtB;CACC,UAAIpf,MAAM,GAAG,EAAb;;CAEA,UAAIof,GAAG,KAAK,IAAR,IAAgB1B,cAAI,CAACC,QAAL,CAAc1M,KAAd,CAApB,EACA;CACCA,QAAAA,KAAK,GAAGA,KAAK,CAAChR,QAAN,EAAR;CACA;;CAED,UAAIof,YAAY,GAAG,KAAKvgB,KAAL,CAAWK,KAAX,CAAiBmgB,MAAjB,CAAwB1a,UAAxB,CAAmC4D,SAAnC,CAA6C,UAACjC,OAAD,EAAUG,KAAV,EAAoB;CACnF,eAAOH,OAAO,CAAC6Y,GAAD,CAAP,KAAiBnO,KAAxB;CACA,OAFkB,CAAnB;;CAIA,UAAIoO,YAAY,KAAK,CAAC,CAAtB,EACA;CACCrf,QAAAA,MAAM,CAAC0G,KAAP,GAAe2Y,YAAf;CACArf,QAAAA,MAAM,CAACuG,OAAP,GAAiB,KAAKzH,KAAL,CAAWK,KAAX,CAAiBmgB,MAAjB,CAAwB1a,UAAxB,CAAmCya,YAAnC,CAAjB;CAEA,eAAOrf,MAAP;CACA;;CAED,aAAO,KAAP;CACA;CAtbF;CAAA;CAAA,EAAiCM,4BAAjC;;;;;;;;KCCMif;;;;;;;;;;+BAGL;CACC,aAAO,eAAP;CACA;;;gCAGD;CACC,aAAO;CACN3a,QAAAA,UAAU,EAAE,EADN;CAEN4a,QAAAA,gBAAgB,EAAE,EAFZ;CAGN/S,QAAAA,OAAO,EAAE,CAHH;CAINgT,QAAAA,KAAK,EAAE,CAJD;CAKNrjB,QAAAA,IAAI,EAAE,KAAKC,WAAL,CAAiB,MAAjB,EAAyBC,QAAQ,CAACC,QAAT,GAAkB,IAAlB,GAAuBD,QAAQ,CAACF,IAAzD,CALA;CAMNsjB,QAAAA,aAAa,EAAE,CANT;CAONC,QAAAA,MAAM,EAAE;CAPF,OAAP;CASA;;;uCAGD;CACC,aAAO;CACN3d,QAAAA,EAAE,EAAE,CADE;CAENoD,QAAAA,QAAQ,EAAE,CAFJ;CAGNC,QAAAA,IAAI,EAAE,IAAIzB,IAAJ,EAHA;CAIN0B,QAAAA,IAAI,EAAE,EAJA;CAKN6X,QAAAA,WAAW,EAAEyC,+BAAsB,CAACC,MAL9B;CAMNta,QAAAA,aAAa,EAAE,EANT;CAONI,QAAAA,MAAM,EAAE,KAPF;CAQNma,QAAAA,OAAO,EAAE,IARH;CASNC,QAAAA,WAAW,EAAE;CATP,OAAP;CAWA;;;kCAGD;CAAA;;CACC,aAAO;CACNpZ,QAAAA,GAAG,EAAE,aAAAxH,KAAK;CAAA,iBAAI,YACd;CACC,mBAAOA,KAAK,CAACyF,UAAb;CACA,WAHS;CAAA,SADJ;CAKNob,QAAAA,OAAO,EAAE,iBAAA7gB,KAAK;CAAA,iBAAI,UAAC8gB,cAAD,EAClB;CACC,gBAAIvC,cAAI,CAACc,QAAL,CAAcyB,cAAd,CAAJ,EACA;CACCA,cAAAA,cAAc,GAAG7f,QAAQ,CAAC6f,cAAD,CAAzB;CACA;;CAED,gBAAMjC,YAAY,GAAG,KAAI,CAACkC,aAAL,CAAmB/gB,KAAK,CAACyF,UAAzB,EAAqCqb,cAArC,CAArB;;CACA,gBAAI,CAACjC,YAAY,CAACzX,OAAlB,EACA;CACC,qBAAO,KAAP;CACA;;CAED,mBAAOyX,YAAY,CAACzX,OAApB;CACA,WAda;CAAA,SALR;CAoBN4Z,QAAAA,iBAAiB,EAAE,2BAAAhhB,KAAK;CAAA,iBAAI,UAAC8gB,cAAD,EAC5B;CACC,gBAAIvC,cAAI,CAACc,QAAL,CAAcyB,cAAd,CAAJ,EACA;CACCA,cAAAA,cAAc,GAAG7f,QAAQ,CAAC6f,cAAD,CAAzB;CACA;;CAED,gBAAMjC,YAAY,GAAG,KAAI,CAACkC,aAAL,CAAmB/gB,KAAK,CAACqgB,gBAAzB,EAA2CS,cAA3C,CAArB;;CACA,gBAAI,CAACjC,YAAY,CAACzX,OAAlB,EACA;CACC,qBAAO,KAAP;CACA;;CAED,mBAAOyX,YAAY,CAACzX,OAApB;CACA,WAduB;CAAA,SApBlB;CAmCNK,QAAAA,QAAQ,EAAE,kBAAAzH,KAAK;CAAA,iBAAI,UAAAqG,MAAM,EACzB;CACC,mBAAO,KAAI,CAACqB,eAAL,EAAP;CACA,WAHc;CAAA;CAnCT,OAAP;CAwCA;;;kCAGD;CAAA;;CACC,aAAO;CACNhI,QAAAA,GAAG,EAAE,aAACC,KAAD,EAAQC,OAAR,EACL;CACC,cAAMiB,MAAM,GAAG;CACdye,YAAAA,YAAY,EAAE;CADA,WAAf;;CAIA,cAAI1f,OAAO,CAAC0f,YAAR,YAAgCjc,KAApC,EACA;CACCxC,YAAAA,MAAM,CAACye,YAAP,GAAsB1f,OAAO,CAAC0f,YAAR,CAAqB9W,GAArB,CAAyB,UAAA8W,YAAY;CAAA,qBAAI,MAAI,CAAC2B,mBAAL,CAAyB3B,YAAzB,EAAuC;CAAEriB,gBAAAA,IAAI,EAAE0C,KAAK,CAACK,KAAN,CAAY/C;CAApB,eAAvC,CAAJ;CAAA,aAArC,CAAtB;CACA;;CAED,cAAIshB,cAAI,CAACC,QAAL,CAAc5e,OAAO,CAAC0gB,KAAtB,KAAgC/B,cAAI,CAACc,QAAL,CAAczf,OAAO,CAAC0gB,KAAtB,CAApC,EACA;CACCzf,YAAAA,MAAM,CAACyf,KAAP,GAAerf,QAAQ,CAACrB,OAAO,CAAC0gB,KAAT,CAAvB;CACA;;CAED3gB,UAAAA,KAAK,CAACE,MAAN,CAAa,KAAb,EAAoBgB,MAApB;CACA,SAlBK;CAmBNqgB,QAAAA,gBAAgB,EAAE,0BAACvhB,KAAD,EAAQC,OAAR,EAClB;CACC,cAAMiB,MAAM,GAAG;CACdye,YAAAA,YAAY,EAAE;CADA,WAAf;;CAIA,cAAI,EAAE1f,OAAO,CAAC0f,YAAR,YAAgCjc,KAAlC,CAAJ,EACA;CACC,mBAAO,KAAP;CACA,WARF;;;CAWC,cAAIzD,OAAO,CAACpB,IAAR,KAAiB,OAArB,EACA;CACCqC,YAAAA,MAAM,CAACye,YAAP,GAAsB1f,OAAO,CAAC0f,YAA9B;CACA,WAHD,MAKA;CACCze,YAAAA,MAAM,CAACye,YAAP,GAAsB1f,OAAO,CAAC0f,YAAR,CAAqB9W,GAArB,CAAyB,UAAA8W,YAAY;CAAA,qBAAI,MAAI,CAAC2B,mBAAL,CAAyB3B,YAAzB,EAAuC;CAAEriB,gBAAAA,IAAI,EAAE0C,KAAK,CAACK,KAAN,CAAY/C;CAApB,eAAvC,CAAJ;CAAA,aAArC,CAAtB;CACA;;CAED0C,UAAAA,KAAK,CAACE,MAAN,CAAa,kBAAb,EAAiC;CAChC8I,YAAAA,IAAI,EAAE9H;CAD0B,WAAjC;CAGA,SA3CK;CA4CNsgB,QAAAA,mBAAmB,EAAE,6BAACxhB,KAAD,EAAQC,OAAR,EACrB;CACCD,UAAAA,KAAK,CAACE,MAAN,CAAa,qBAAb;CACA,SA/CK;CAgDNuhB,QAAAA,UAAU,EAAE,oBAACzhB,KAAD,EAAQC,OAAR,EACZ;CACC,cAAI2e,cAAI,CAACC,QAAL,CAAc5e,OAAO,CAACyhB,WAAtB,KAAsC9C,cAAI,CAACc,QAAL,CAAczf,OAAO,CAACyhB,WAAtB,CAA1C,EACA;CACC,gBAAMd,aAAa,GAAGtf,QAAQ,CAACrB,OAAO,CAACyhB,WAAT,CAA9B;CACA1hB,YAAAA,KAAK,CAACE,MAAN,CAAa,YAAb,EAA2B0gB,aAA3B;CACA;CACD,SAvDK;CAwDNe,QAAAA,QAAQ,EAAE,kBAAC3hB,KAAD,EAAQC,OAAR,EACV;CACC,cAAI2e,cAAI,CAACC,QAAL,CAAc5e,OAAO,CAAC0gB,KAAtB,KAAgC/B,cAAI,CAACc,QAAL,CAAczf,OAAO,CAAC0gB,KAAtB,CAApC,EACA;CACC3gB,YAAAA,KAAK,CAACE,MAAN,CAAa,UAAb,EAAyBD,OAAO,CAAC0gB,KAAjC;CACA;CACD,SA9DK;CA+DNzY,QAAAA,GAAG,EAAE,aAAClI,KAAD,EAAQC,OAAR,EACL;CACC,cAAM2hB,OAAO,GAAG,MAAI,CAACN,mBAAL,CAAyBrhB,OAAO,CAAC+I,IAAjC,EAAuC;CAAE1L,YAAAA,IAAI,EAAE0C,KAAK,CAACK,KAAN,CAAY/C;CAApB,WAAvC,CAAhB;;CACAskB,UAAAA,OAAO,CAAC/a,MAAR,GAAiB,IAAjB;;CAEA,cAAMqY,YAAY,GAAG,MAAI,CAACkC,aAAL,CAAmBphB,KAAK,CAACK,KAAN,CAAYyF,UAA/B,EAA2C8b,OAAO,CAAC1e,EAAnD,CAArB;;CACA,cAAI,CAACgc,YAAY,CAACzX,OAAlB,EACA;CACCzH,YAAAA,KAAK,CAACE,MAAN,CAAa,KAAb,EAAoB;CACnB8I,cAAAA,IAAI,EAAE4Y;CADa,aAApB;CAIA5hB,YAAAA,KAAK,CAACE,MAAN,CAAa,UAAb,EAAyBF,KAAK,CAACK,KAAN,CAAYsgB,KAAZ,GAAoB,CAA7C;CACA,WAPD,MASA;CACC3gB,YAAAA,KAAK,CAACE,MAAN,CAAa,QAAb,EAAuB;CACtB0H,cAAAA,KAAK,EAAEsX,YAAY,CAACtX,KADE;CAEtB3G,cAAAA,MAAM,EAAEpB,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBG,OAAO,CAACgB,MAA1B;CAFc,aAAvB;CAIA;CACD,SApFK;CAqFNuI,QAAAA,kBAAkB,EAAE,4BAACxJ,KAAD,EAAQC,OAAR,EACpB;CACC,cAAIA,OAAO,CAACmf,KAAR,YAAyB1b,KAA7B,EACA;CACCzD,YAAAA,OAAO,CAACmf,KAAR,GAAgBnf,OAAO,CAACmf,KAAR,CAAcvW,GAAd,CAAkB,UAAA8W,YAAY;CAAA,qBAAI,MAAI,CAAC2B,mBAAL,CAAyB3B,YAAzB,CAAJ;CAAA,aAA9B,CAAhB;CACA,WAHD,MAKA;CACC,mBAAO,KAAP;CACA;;CAED3f,UAAAA,KAAK,CAACE,MAAN,CAAa,oBAAb,EAAmCD,OAAnC;CAEA,iBAAO,IAAP;CACA,SAnGK;CAoGNsJ,QAAAA,iBAAiB,EAAE,2BAACvJ,KAAD,EAAQC,OAAR,EACnB;CACCD,UAAAA,KAAK,CAACE,MAAN,CAAa,mBAAb,EAAkCD,OAAlC;CACA,SAvGK;CAwGNwJ,QAAAA,MAAM,EAAE,gBAACzJ,KAAD,EAAQC,OAAR,EACR;CACC,cAAMif,YAAY,GAAG,MAAI,CAACkC,aAAL,CAAmBphB,KAAK,CAACK,KAAN,CAAYyF,UAA/B,EAA2C7F,OAAO,CAACiD,EAAnD,CAArB;;CACA,cAAIgc,YAAY,CAACzX,OAAjB,EACA;CACCzH,YAAAA,KAAK,CAACE,MAAN,CAAa,QAAb,EAAuB;CACtB0H,cAAAA,KAAK,EAAEsX,YAAY,CAACtX,KADE;CAEtB3G,cAAAA,MAAM,EAAEpB,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBG,OAAO,CAACgB,MAA1B;CAFc,aAAvB;CAIA;;CAED,cAAIhB,OAAO,CAAC4hB,UAAZ,EACA;CACC,gBAAMC,8BAA8B,GAAG,MAAI,CAACV,aAAL,CAAmBphB,KAAK,CAACK,KAAN,CAAYqgB,gBAA/B,EAAiDzgB,OAAO,CAACiD,EAAzD,CAAvC;;CACA,gBAAI4e,8BAA8B,CAACra,OAAnC,EACA;CACCzH,cAAAA,KAAK,CAACE,MAAN,CAAa,QAAb,EAAuB;CACtBwgB,gBAAAA,gBAAgB,EAAE,IADI;CAEtB9Y,gBAAAA,KAAK,EAAEka,8BAA8B,CAACla,KAFhB;CAGtB3G,gBAAAA,MAAM,EAAEpB,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBG,OAAO,CAACgB,MAA1B;CAHc,eAAvB;CAKA;CACD;CACD,SA/HK;CAgIN8gB,QAAAA,IAAI,EAAE,cAAC/hB,KAAD,EAAQC,OAAR,EACN;CAAA,uDAC8BA,OAAO,CAAC+hB,GADtC;CAAA;;CAAA;CACC,gEACA;CAAA,kBADWb,cACX;;CACC,kBAAMjC,YAAY,GAAG,MAAI,CAACkC,aAAL,CAAmBphB,KAAK,CAACK,KAAN,CAAYyF,UAA/B,EAA2Cqb,cAA3C,CAArB;;CACA,kBAAI,CAACjC,YAAY,CAACzX,OAAlB,EACA;CACC,uBAAO,KAAP;CACA;;CAEDzH,cAAAA,KAAK,CAACE,MAAN,CAAa,MAAb,EAAqB;CACpB0H,gBAAAA,KAAK,EAAEsX,YAAY,CAACtX,KADA;CAEpBoO,gBAAAA,MAAM,EAAE,CAAC/V,OAAO,CAAC+V;CAFG,eAArB;CAIA;CAbF;CAAA;CAAA;CAAA;CAAA;CAcC,SA/IK;CAgJNiM,QAAAA,OAAO,EAAE,iBAACjiB,KAAD,EAAQC,OAAR,EACT;CACCD,UAAAA,KAAK,CAACE,MAAN,CAAa,SAAb;CACA,SAnJK;CAoJN,kBAAQ,iBAACF,KAAD,EAAQC,OAAR,EACR;CACC,cAAMif,YAAY,GAAG,MAAI,CAACkC,aAAL,CAAmBphB,KAAK,CAACK,KAAN,CAAYyF,UAA/B,EAA2C7F,OAAO,CAACiD,EAAnD,CAArB;;CACA,cAAIgc,YAAY,CAACzX,OAAjB,EACA;CACCzH,YAAAA,KAAK,CAACE,MAAN,CAAa,QAAb,EAAuB;CACtBwgB,cAAAA,gBAAgB,EAAE,KADI;CAEtB9Y,cAAAA,KAAK,EAAEsX,YAAY,CAACtX;CAFE,aAAvB;CAKA5H,YAAAA,KAAK,CAACE,MAAN,CAAa,UAAb,EAAyBF,KAAK,CAACK,KAAN,CAAYsgB,KAAZ,GAAoB,CAA7C;CACA;;CAED,cAAI1gB,OAAO,CAAC4hB,UAAZ,EACA;CACC,gBAAMC,8BAA8B,GAAG,MAAI,CAACV,aAAL,CAAmBphB,KAAK,CAACK,KAAN,CAAYqgB,gBAA/B,EAAiDzgB,OAAO,CAACiD,EAAzD,CAAvC;;CACA,gBAAI4e,8BAA8B,CAACra,OAAnC,EACA;CACCzH,cAAAA,KAAK,CAACE,MAAN,CAAa,QAAb,EAAuB;CACtBwgB,gBAAAA,gBAAgB,EAAE,IADI;CAEtB9Y,gBAAAA,KAAK,EAAEka,8BAA8B,CAACla;CAFhB,eAAvB;CAIA;CACD;CACD,SA5KK;CA6KNsa,QAAAA,SAAS,EAAE,mBAACliB,KAAD,EAAQC,OAAR,EACX;CACCD,UAAAA,KAAK,CAACE,MAAN,CAAa,WAAb;CACA,SAhLK;CAiLNiiB,QAAAA,SAAS,EAAE,mBAACniB,KAAD,EAAQC,OAAR,EACX;CACCD,UAAAA,KAAK,CAACE,MAAN,CAAa,WAAb,EAA0B;CACzB8I,YAAAA,IAAI,EAAE/I,OAAO,CAAC+I;CADW,WAA1B;CAGA;CAtLK,OAAP;CAwLA;;;oCAGD;CAAA;;CACC,aAAO;CACNjJ,QAAAA,GAAG,EAAE,aAACM,KAAD,EAAQJ,OAAR,EACL;CACCI,UAAAA,KAAK,CAACsgB,KAAN,GAAc1gB,OAAO,CAACO,cAAR,CAAuB,OAAvB,IAAkCP,OAAO,CAAC0gB,KAA1C,GAAkDtgB,KAAK,CAACsgB,KAAtE;;CAEA,cAAI,CAAC1gB,OAAO,CAACO,cAAR,CAAuB,cAAvB,CAAD,IAA2C,CAACoe,cAAI,CAACjb,OAAL,CAAa1D,OAAO,CAAC0f,YAArB,CAAhD,EACA;CACC;CACA;;CANF,wDAQuB1f,OAAO,CAAC0f,YAR/B;CAAA;;CAAA;CAQC,mEACA;CAAA,kBADWlY,OACX;;CACC,kBAAMyX,YAAY,GAAG,MAAI,CAACkC,aAAL,CAAmB/gB,KAAK,CAACyF,UAAzB,EAAqC2B,OAAO,CAACvE,EAA7C,CAArB;;CAEA,kBAAI,CAACgc,YAAY,CAACzX,OAAlB,EACA;CACCpH,gBAAAA,KAAK,CAACyF,UAAN,CAAiBV,IAAjB,CAAsBqC,OAAtB;CACA,eAHD,MAKA;CACC;CACA,oBAAIA,OAAO,CAACZ,MAAR,KAAmBxG,KAAK,CAACyF,UAAN,CAAiBoZ,YAAY,CAACtX,KAA9B,EAAqCf,MAA5D,EACA;CACCY,kBAAAA,OAAO,CAACZ,MAAR,GAAiBxG,KAAK,CAACyF,UAAN,CAAiBoZ,YAAY,CAACtX,KAA9B,EAAqCf,MAAtD;CACAxG,kBAAAA,KAAK,CAACugB,aAAN,GAAuBnZ,OAAO,CAACZ,MAAR,KAAmB,IAAnB,GAA0BxG,KAAK,CAACugB,aAAN,GAAsB,CAAhD,GAAoDvgB,KAAK,CAACugB,aAAN,GAAsB,CAAjG;CACA;;CAEDvgB,gBAAAA,KAAK,CAACyF,UAAN,CAAiBoZ,YAAY,CAACtX,KAA9B,IAAuC/H,MAAM,CAACC,MAAP,CACtCO,KAAK,CAACyF,UAAN,CAAiBoZ,YAAY,CAACtX,KAA9B,CADsC,EAEtCH,OAFsC,CAAvC;CAIA;CACD;CA9BF;CAAA;CAAA;CAAA;CAAA;;CAgCCpH,UAAAA,KAAK,CAACyF,UAAN,CAAiBwE,IAAjB,CAAsB,MAAI,CAAC8X,UAA3B;CACA,SAnCK;CAoCNb,QAAAA,gBAAgB,EAAE,0BAAClhB,KAAD,EAAQJ,OAAR,EAClB;CAAA,wDACuBA,OAAO,CAAC+I,IAAR,CAAa2W,YADpC;CAAA;;CAAA;CACC,mEACA;CAAA,kBADWlY,OACX;;CACC,kBAAMyX,YAAY,GAAG,MAAI,CAACkC,aAAL,CAAmB/gB,KAAK,CAACqgB,gBAAzB,EAA2CjZ,OAAO,CAACvE,EAAnD,CAArB;;CAEA,kBAAI,CAACgc,YAAY,CAACzX,OAAlB,EACA;CACCpH,gBAAAA,KAAK,CAACqgB,gBAAN,CAAuBtb,IAAvB,CAA4BqC,OAA5B;CACA,eAHD,MAKA;CACCpH,gBAAAA,KAAK,CAACqgB,gBAAN,CAAuBxB,YAAY,CAACtX,KAApC,IAA6C/H,MAAM,CAACC,MAAP,CAC5CO,KAAK,CAACqgB,gBAAN,CAAuBxB,YAAY,CAACtX,KAApC,CAD4C,EAE5CH,OAF4C,CAA7C;CAIA;CACD;CAhBF;CAAA;CAAA;CAAA;CAAA;CAiBC,SAtDK;CAuDNya,QAAAA,SAAS,EAAE,mBAAC7hB,KAAD,EAAQJ,OAAR,EACX;CACCI,UAAAA,KAAK,CAACyF,UAAN,GAAmB,EAAnB;CACA,SA1DK;CA2DN0b,QAAAA,mBAAmB,EAAE,6BAACnhB,KAAD,EAAQJ,OAAR,EACrB;CACCI,UAAAA,KAAK,CAACqgB,gBAAN,GAAyB,EAAzB;CACA,SA9DK;CA+DNxY,QAAAA,GAAG,EAAE,aAAC7H,KAAD,EAAQJ,OAAR,EACL;CACC,cAAIoiB,sBAAsB,GAAG,IAA7B;;CACA,cAAIpiB,OAAO,CAAC+I,IAAR,CAAaqV,WAAb,KAA6ByC,+BAAsB,CAACwB,OAAxD,EACA;CACC;CACAjiB,YAAAA,KAAK,CAACyF,UAAN,CAAiB8F,OAAjB,CAAyB3L,OAAO,CAAC+I,IAAjC;CACA,WAJD;CAMA;CACC,mBAAK,IAAIpB,KAAK,GAAG,CAAjB,EAAoBvH,KAAK,CAACyF,UAAN,CAAiBwB,MAAjB,GAA0BM,KAA9C,EAAqDA,KAAK,EAA1D,EACA;CACC,oBAAIvH,KAAK,CAACyF,UAAN,CAAiB8B,KAAjB,EAAwByW,WAAxB,KAAwCyC,+BAAsB,CAACC,MAAnE,EACA;CACCsB,kBAAAA,sBAAsB,GAAGza,KAAzB;CACA;CACA;CACD,eARF;;;CAWC,kBAAIya,sBAAsB,KAAK,IAA/B,EACA;CACChiB,gBAAAA,KAAK,CAACyF,UAAN,CAAiBV,IAAjB,CAAsBnF,OAAO,CAAC+I,IAA9B;CACA,eAHD;CAKA;CACC3I,kBAAAA,KAAK,CAACyF,UAAN,CAAiBgF,MAAjB,CAAwBuX,sBAAxB,EAAgD,CAAhD,EAAmDpiB,OAAO,CAAC+I,IAA3D;CACA;CACD;;CAED3I,UAAAA,KAAK,CAACyF,UAAN,CAAiBwE,IAAjB,CAAsB,MAAI,CAAC8X,UAA3B;CACA,SA9FK;CA+FN3Y,QAAAA,MAAM,EAAE,gBAACpJ,KAAD,EAAQJ,OAAR,EACR;CACC,cAAMsiB,cAAc,GAAGtiB,OAAO,CAACygB,gBAAR,GAA2B,kBAA3B,GAAgD,YAAvE;CAEAjY,UAAAA,UAAG,CAAC1I,GAAJ,CAAQM,KAAK,CAACkiB,cAAD,CAAb,EAA+BtiB,OAAO,CAAC2H,KAAvC,EAA8C/H,MAAM,CAACC,MAAP,CAC7C,EAD6C,EAE7CO,KAAK,CAACkiB,cAAD,CAAL,CAAsBtiB,OAAO,CAAC2H,KAA9B,CAF6C,EAG7C3H,OAAO,CAACgB,MAHqC,CAA9C;CAMA,SAzGK;CA0GN,kBAAQ,iBAACZ,KAAD,EAAQJ,OAAR,EACR;CACC,cAAMsiB,cAAc,GAAGtiB,OAAO,CAACygB,gBAAR,GAA2B,kBAA3B,GAAgD,YAAvE;CACArgB,UAAAA,KAAK,CAACkiB,cAAD,CAAL,CAAsBzX,MAAtB,CAA6B7K,OAAO,CAAC2H,KAArC,EAA4C,CAA5C;CACA,SA9GK;CA+GNma,QAAAA,IAAI,EAAE,cAAC1hB,KAAD,EAAQJ,OAAR,EACN;CACCI,UAAAA,KAAK,CAACyF,UAAN,CAAiB7F,OAAO,CAAC2H,KAAzB,EAAgCf,MAAhC,GAAyC5G,OAAO,CAAC+V,MAAjD;CACA,SAlHK;CAmHNiM,QAAAA,OAAO,EAAE,iBAAC5hB,KAAD,EAAQJ,OAAR,EACT;CACC,eAAK,IAAI2H,KAAK,GAAG,CAAjB,EAAoBvH,KAAK,CAACyF,UAAN,CAAiBwB,MAAjB,GAA0BM,KAA9C,EAAqDA,KAAK,EAA1D,EACA;CACC,gBAAIvH,KAAK,CAACyF,UAAN,CAAiB8B,KAAjB,EAAwByW,WAAxB,KAAwCyC,+BAAsB,CAACC,MAAnE,EACA;CACC1gB,cAAAA,KAAK,CAACyF,UAAN,CAAiB8B,KAAjB,EAAwBf,MAAxB,GAAiC,KAAjC;CACA;CACD;CACD,SA5HK;CA6HN2C,QAAAA,kBAAkB,EAAE,4BAACnJ,KAAD,EAAQJ,OAAR,EACpB;CACC,cAAMsiB,cAAc,GAAGtiB,OAAO,CAACygB,gBAAR,GAA2B,kBAA3B,GAAgD,YAAvE;CAEAzgB,UAAAA,OAAO,CAACmf,KAAR,CAAcna,OAAd,CAAsB,UAACwC,OAAD,EAAUG,KAAV,EAAoB;CACzC,gBAAMyX,aAAa,wBAAiBpf,OAAO,CAACuiB,SAAR,GAAoB5a,KAArC,CAAnB;CACA,gBAAM6a,wBAAwB,GAAGpiB,KAAK,CAACkiB,cAAD,CAAL,CAAsB7Y,SAAtB,CAAgC,UAAAiW,YAAY,EAAI;CAChF,qBAAOA,YAAY,CAACzc,EAAb,KAAoBmc,aAA3B;CACA,aAFgC,CAAjC;CAIA,gBAAMqD,oBAAoB,GAAGriB,KAAK,CAACkiB,cAAD,CAAL,CAAsB7Y,SAAtB,CAAgC,UAAAiW,YAAY,EAAI;CAC5E,qBAAOA,YAAY,CAACzc,EAAb,KAAoBuE,OAAO,CAACvE,EAAnC;CACA,aAF4B,CAA7B;;CAIA,gBAAIwf,oBAAoB,IAAI,CAA5B,EACA;CACCriB,cAAAA,KAAK,CAACkiB,cAAD,CAAL,CAAsBG,oBAAtB,IAA8C7iB,MAAM,CAACC,MAAP,CAC7CO,KAAK,CAACkiB,cAAD,CAAL,CAAsBG,oBAAtB,CAD6C,EAE7Cjb,OAF6C,CAA9C;CAIApH,cAAAA,KAAK,CAACkiB,cAAD,CAAL,CAAsBzX,MAAtB,CAA6B2X,wBAA7B,EAAuD,CAAvD;CACA,aAPD,MASA;CACCpiB,cAAAA,KAAK,CAACkiB,cAAD,CAAL,CAAsBzX,MAAtB,CACC2X,wBADD,EAEC,CAFD,EAGC5iB,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB2H,OAAlB,CAHD;CAKA;CACD,WA1BD;CA4BApH,UAAAA,KAAK,CAACkiB,cAAD,CAAL,CAAsBjY,IAAtB,CAA2B,MAAI,CAAC8X,UAAhC;CACA,SA9JK;CA+JN7Y,QAAAA,iBAAiB,EAAE,2BAAClJ,KAAD,EAAQJ,OAAR,EACnB;CACCI,UAAAA,KAAK,CAACyF,UAAN,GAAmBzF,KAAK,CAACyF,UAAN,CAAiBT,MAAjB,CAAwB,UAAAoC,OAAO,EAAI;CACrD,mBAAO,CAACA,OAAO,CAACvE,EAAR,CAAW/B,QAAX,GAAsBC,UAAtB,CAAiC,aAAjC,CAAR;CACA,WAFkB,CAAnB;CAIAf,UAAAA,KAAK,CAACqgB,gBAAN,GAAyBrgB,KAAK,CAACqgB,gBAAN,CAAuBrb,MAAvB,CAA8B,UAAAoC,OAAO,EAAI;CACjE,mBAAO,CAACA,OAAO,CAACvE,EAAR,CAAW/B,QAAX,GAAsBC,UAAtB,CAAiC,aAAjC,CAAR;CACA,WAFwB,CAAzB;CAGA,SAxKK;CAyKNqgB,QAAAA,UAAU,EAAE,oBAACphB,KAAD,EAAQJ,OAAR,EACZ;CACCI,UAAAA,KAAK,CAACugB,aAAN,GAAsB3gB,OAAtB;CACA,SA5KK;CA6KN0hB,QAAAA,QAAQ,EAAE,kBAACthB,KAAD,EAAQJ,OAAR,EACV;CACCI,UAAAA,KAAK,CAACsgB,KAAN,GAAc1gB,OAAd;CACA,SAhLK;CAiLNkiB,QAAAA,SAAS,EAAE,mBAAC9hB,KAAD,EAAQJ,OAAR,EACX;CACCI,UAAAA,KAAK,CAACwgB,MAAN,GAAe5gB,OAAO,CAAC+I,IAAvB;CACA;CApLK,OAAP;CAsLA;CAED;;;;8BACS/H,QAAQ9B,SACjB;CACC,UAAM+B,MAAM,GAAG,EAAf;;CAEA,UAAI0d,cAAI,CAACc,QAAL,CAAcze,MAAM,CAACiC,EAArB,KAA4B0b,cAAI,CAACC,QAAL,CAAc5d,MAAM,CAACiC,EAArB,CAAhC,EACA;CACChC,QAAAA,MAAM,CAACgC,EAAP,GAAYjC,MAAM,CAACiC,EAAnB;CACA;;CAED,UAAI,CAAC0b,cAAI,CAAC+D,KAAL,CAAW1hB,MAAM,CAACsF,IAAlB,CAAL,EACA;CACCrF,QAAAA,MAAM,CAACqF,IAAP,GAAcgH,kBAAK,CAAChH,IAAN,CAAWqH,IAAX,CAAgB3M,MAAM,CAACsF,IAAvB,CAAd;CACA,OAXF;;;CAcC,UAAIqY,cAAI,CAACc,QAAL,CAAcze,MAAM,CAAC4M,YAArB,KAAsC+Q,cAAI,CAACC,QAAL,CAAc5d,MAAM,CAAC4M,YAArB,CAA1C,EACA;CACC3M,QAAAA,MAAM,CAACsF,IAAP,GAAcvF,MAAM,CAAC4M,YAAP,CAAoB1M,QAApB,EAAd;;CAEA,YAAIyd,cAAI,CAACc,QAAL,CAAcze,MAAM,CAACuF,IAArB,KAA8BoY,cAAI,CAACC,QAAL,CAAc5d,MAAM,CAACuF,IAArB,CAAlC,EACA;CACCtF,UAAAA,MAAM,CAACuF,aAAP,GAAuB,KAAKqH,aAAL,CAAmB;CACzCtH,YAAAA,IAAI,EAAEvF,MAAM,CAACuF,IAAP,CAAYrF,QAAZ;CADmC,WAAnB,CAAvB;CAGA;CACD,OAVD;CAYA;CACC,cAAI,CAACyd,cAAI,CAAC+D,KAAL,CAAW1hB,MAAM,CAAC+M,cAAlB,CAAL,EACA;CACC/M,YAAAA,MAAM,CAACwF,aAAP,GAAuBxF,MAAM,CAAC+M,cAA9B;CACA;;CACD,cAAI4Q,cAAI,CAACc,QAAL,CAAcze,MAAM,CAACwF,aAArB,KAAuCmY,cAAI,CAACC,QAAL,CAAc5d,MAAM,CAACwF,aAArB,CAA3C,EACA;CACCvF,YAAAA,MAAM,CAACuF,aAAP,GAAuBxF,MAAM,CAACwF,aAAP,CAAqBtF,QAArB,EAAvB;CACA;;CACD,cAAIyd,cAAI,CAACc,QAAL,CAAcze,MAAM,CAACuF,IAArB,KAA8BoY,cAAI,CAACC,QAAL,CAAc5d,MAAM,CAACuF,IAArB,CAAlC,EACA;CACCtF,YAAAA,MAAM,CAACsF,IAAP,GAAcvF,MAAM,CAACuF,IAAP,CAAYrF,QAAZ,EAAd;CAEA,gBAAI4M,WAAW,GAAG,CAAC6Q,cAAI,CAAC+D,KAAL,CAAWzhB,MAAM,CAACuF,aAAlB,CAAnB;CAEAvF,YAAAA,MAAM,CAACuF,aAAP,GAAuB,KAAKqH,aAAL,CAAmB;CACzCtH,cAAAA,IAAI,EAAEuH,WAAW,GAAE7M,MAAM,CAACuF,aAAT,GAAwBvF,MAAM,CAACsF;CADP,aAAnB,CAAvB;CAGA;CACD;;CAED,UAAIoY,cAAI,CAACC,QAAL,CAAc5d,MAAM,CAACiN,SAArB,CAAJ,EACA;CACC,YAAIjN,MAAM,CAACkN,MAAP,KAAkB,IAAlB,IAA0BlN,MAAM,CAACkN,MAAP,KAAkB,GAAhD,EACA;CACCjN,UAAAA,MAAM,CAACoF,QAAP,GAAkB,CAAlB;CACA,SAHD,MAKA;CACCpF,UAAAA,MAAM,CAACoF,QAAP,GAAkBrF,MAAM,CAACiN,SAAzB;CACA;CACD;;CAED,UAAI0Q,cAAI,CAACC,QAAL,CAAc5d,MAAM,CAACtD,MAArB,CAAJ,EACA;CACCuD,QAAAA,MAAM,CAACoF,QAAP,GAAkBrF,MAAM,CAACtD,MAAzB;CACA;;CAED,UAAIihB,cAAI,CAACgE,YAAL,CAAkB3hB,MAAM,CAACyF,MAAzB,CAAJ,EACA;CACC,YAAMA,MAAM,GAAG,KAAK0H,cAAL,CAAoBnN,MAAM,CAACyF,MAA3B,CAAf;;CACA,YAAIA,MAAJ,EACA;CACCxF,UAAAA,MAAM,CAACwF,MAAP,GAAgBA,MAAhB;CACA;CACD;;CAED,UAAI,CAACkY,cAAI,CAAC+D,KAAL,CAAW1hB,MAAM,CAAC4hB,cAAlB,CAAL,EACA;CACC3hB,QAAAA,MAAM,CAAC4hB,aAAP,GAAuBC,IAAI,CAACC,KAAL,CAAW/hB,MAAM,CAAC4hB,cAAlB,CAAvB;CACA,OA5EF;;;CA+EC,UAAI,CAACjE,cAAI,CAAC+D,KAAL,CAAW1hB,MAAM,CAACgiB,OAAlB,CAAL,EACA;CACC/hB,QAAAA,MAAM,CAAC4hB,aAAP,GAAuB7hB,MAAM,CAACgiB,OAAP,CAAepa,GAAf,CAAmB,UAACqa,MAAD,EAAY;CACrD,iBAAO;CACNC,YAAAA,OAAO,EAAE,eADH;CAENC,YAAAA,cAAc,YAAKliB,MAAM,CAACgC,EAAZ,cAAkBggB,MAAM,CAACG,KAAzB,CAFR;CAGNC,YAAAA,IAAI,YAAKJ,MAAM,CAACK,KAAZ,CAHE;CAIN5c,YAAAA,IAAI,EAAE,QAJA;CAKN6c,YAAAA,OAAO,EAAE,MALH;CAMNC,YAAAA,QAAQ,EAAGP,MAAM,CAACG,KAAP,KAAiB,GAAjB,GAAuB,SAAvB,GAAmC,SANxC;CAONK,YAAAA,UAAU,EAAE;CAPN,WAAP;CASA,SAVsB,CAAvB;CAWA;;CACD,UAAIziB,MAAM,CAAC0iB,WAAP,KAAuB7C,+BAAsB,CAACwB,OAA9C,IAAyDrhB,MAAM,CAACpC,IAAP,KAAgBiiB,+BAAsB,CAACwB,OAApG,EACA;CACCphB,QAAAA,MAAM,CAACmd,WAAP,GAAqByC,+BAAsB,CAACwB,OAA5C;CACA,OAHD,MAIK,IAAIrhB,MAAM,CAACpC,IAAP,KAAgBiiB,+BAAsB,CAAC8C,WAA3C,EACL;CACC1iB,QAAAA,MAAM,CAACmd,WAAP,GAAqByC,+BAAsB,CAAC8C,WAA5C;CACA;;CAED,UAAI,CAAChF,cAAI,CAAC+D,KAAL,CAAW1hB,MAAM,CAAC4iB,WAAlB,CAAL,EACA;CACC3iB,QAAAA,MAAM,CAAC2F,MAAP,GAAgB5F,MAAM,CAAC4iB,WAAP,KAAuB,GAAvC;CACA,OAzGF;;;CA4GC,UAAI,CAACjF,cAAI,CAAC+D,KAAL,CAAW1hB,MAAM,CAAC8gB,IAAlB,CAAL,EACA;CACC7gB,QAAAA,MAAM,CAAC2F,MAAP,GAAgB5F,MAAM,CAAC8gB,IAAP,KAAgB,GAAhC,CADD;CAEC;;CAED,UAAInD,cAAI,CAACc,QAAL,CAAcze,MAAM,CAAC6iB,YAArB,CAAJ,EACA;CACC5iB,QAAAA,MAAM,CAAC+f,WAAP,GAAqBhgB,MAAM,CAAC6iB,YAA5B;CACA;;CAED,aAAO5iB,MAAP;CACA;;;oCAEcwF,QACf;CACC,UAAMxF,MAAM,GAAG,EAAf;;CACA,UACA;CACC,aAAK,IAAIT,KAAT,IAAkBiG,MAAlB,EACA;CACC,cAAI,CAACA,MAAM,CAAClG,cAAP,CAAsBC,KAAtB,CAAL,EACA;CACC;CACA;;CAED,cAAIA,KAAK,KAAK,cAAd,EACA;CACC,gBAAIme,cAAI,CAACc,QAAL,CAAchZ,MAAM,CAACjG,KAAD,CAApB,KAAgC4N,EAAE,CAAC5F,GAAH,CAAO6F,WAAP,CAAmB5H,MAAM,CAACjG,KAAD,CAAzB,CAApC,EACA;CACCS,cAAAA,MAAM,CAACT,KAAD,CAAN,GAAgBiG,MAAM,CAACjG,KAAD,CAAtB;CACA;CACD,WAND,MAOK,IAAIA,KAAK,KAAK,MAAd,EACL;CACC,gBAAIiG,MAAM,CAACjG,KAAD,CAAN,YAAyBiD,KAA7B,EACA;CACCxC,cAAAA,MAAM,CAAC,UAAD,CAAN,GAAqB;CAACqN,gBAAAA,IAAI,EAAE7H,MAAM,CAACjG,KAAD,CAAN,CAAcoI,GAAd,CAAkB,UAAApB,OAAO;CAAA,yBAAInG,QAAQ,CAACmG,OAAD,CAAZ;CAAA,iBAAzB;CAAP,eAArB;CACA;CACD,WANI,MAOA,IAAIhH,KAAK,KAAK,gBAAd,EACL;CACCS,YAAAA,MAAM,CAACT,KAAD,CAAN,GAAgB8M,kBAAK,CAAChH,IAAN,CAAWqH,IAAX,CAAgBlH,MAAM,CAACjG,KAAD,CAAtB,CAAhB;CACA,WAHI,MAIA,IAAIA,KAAK,KAAK,QAAd,EACL;CACC,gBAAIiG,MAAM,CAACjG,KAAD,CAAV,EACA;CACCS,cAAAA,MAAM,CAACT,KAAD,CAAN,GAAgBiG,MAAM,CAACjG,KAAD,CAAN,CAAcW,UAAd,CAAyB,MAAzB,IAAmCsF,MAAM,CAACjG,KAAD,CAAzC,GAAmDtB,OAAO,CAAC7B,IAAR,GAAeoJ,MAAM,CAACjG,KAAD,CAAxF;CACA;CACD,WANI,MAOA,IAAIA,KAAK,KAAK,MAAd,EACL;CACC,gBAAIiG,MAAM,CAACjG,KAAD,CAAV,EACA;CACCS,cAAAA,MAAM,CAACT,KAAD,CAAN,GAAgBiG,MAAM,CAACjG,KAAD,CAAtB;CACA;CACD,WANI,MAQL;CACCS,YAAAA,MAAM,CAACT,KAAD,CAAN,GAAgBiG,MAAM,CAACjG,KAAD,CAAtB;CACA;CACD;CACD,OA9CD,CA+CA,OAAOgO,CAAP,EAAU;;CAEV,UAAIC,iBAAiB,GAAG,KAAxB;;CACA,WAAK,IAAIjO,MAAT,IAAkBS,MAAlB,EACA;CACC,YAAI,CAACA,MAAM,CAACV,cAAP,CAAsBC,MAAtB,CAAL,EACA;CACC;CACA;;CAEDiO,QAAAA,iBAAiB,GAAG,IAApB;CACA;CACA;;CAED,aAAOA,iBAAiB,GAAExN,MAAF,GAAU,IAAlC;CACA;CACD;;CAEA;;;;yCACoBye,cACpB;CAAA,UADkCxgB,OAClC,uEAD4C,EAC5C;CACC,UAAI+B,MAAM,GAAG,KAAKf,QAAL,CAAcN,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB6f,YAAlB,CAAd,CAAb;CAEA,aAAO9f,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB,KAAKiI,eAAL,EAAlB,EAA0C7G,MAA1C,EAAkD/B,OAAlD,CAAP;CACA;;;mCAEa4kB,KAAK5R,OACnB;CAAA,UAD0BmO,GAC1B,uEADgC,IAChC;CACC,UAAMpf,MAAM,GAAG,EAAf;CAEA,UAAMqf,YAAY,GAAGwD,GAAG,CAACra,SAAJ,CAAc,UAACjC,OAAD,EAAUG,KAAV,EAAoB;CACtD,eAAOH,OAAO,CAAC6Y,GAAD,CAAP,KAAiBnO,KAAxB;CACA,OAFoB,CAArB;;CAIA,UAAIoO,YAAY,KAAK,CAAC,CAAtB,EACA;CACCrf,QAAAA,MAAM,CAAC0G,KAAP,GAAe2Y,YAAf;CACArf,QAAAA,MAAM,CAACuG,OAAP,GAAiBsc,GAAG,CAACxD,YAAD,CAApB;CACA;;CAED,aAAOrf,MAAP;CACA;;;gCAEUqJ,GAAGC,GACd;CACC,UAAID,CAAC,CAAC8T,WAAF,KAAkByC,+BAAsB,CAACwB,OAAzC,IAAoD9X,CAAC,CAAC6T,WAAF,KAAkByC,+BAAsB,CAACwB,OAAjG,EACA;CACC,eAAO,CAAC,CAAR;CACA,OAHD,MAIK,IAAI/X,CAAC,CAAC8T,WAAF,KAAkByC,+BAAsB,CAACwB,OAAzC,IAAoD9X,CAAC,CAAC6T,WAAF,KAAkByC,+BAAsB,CAACwB,OAAjG,EACL;CACC,eAAO,CAAP;CACA,OAHI,MAKL;CACC,eAAO9X,CAAC,CAACtH,EAAF,GAAOqH,CAAC,CAACrH,EAAhB;CACA;CACD;CACD;;CAEA;;;;qCAEA;CAAA,UADcwD,MACd,uEADuB,EACvB;CACC,yBAAoBA,MAApB,CAAMF,IAAN;CAAA,UAAMA,IAAN,6BAAa,EAAb;CAEAA,MAAAA,IAAI,GAAGA,IAAI,CAACsI,IAAL,EAAP;CACAtI,MAAAA,IAAI,GAAGA,IAAI,CAACxB,OAAL,CAAa,MAAb,EAAqB,QAArB,CAAP;CACAwB,MAAAA,IAAI,GAAGA,IAAI,CAACxB,OAAL,CAAa,MAAb,EAAqB,0BAArB,CAAP;CAEAwB,MAAAA,IAAI,GAAGia,kBAAkB,CAACpR,YAAnB,CAAgC;CAAE7I,QAAAA,IAAI,EAAJA;CAAF,OAAhC,CAAP;;CAEA,UAAI+G,kBAAK,CAACmF,QAAN,CAAesR,eAAf,EAAJ,EACA;CACCxd,QAAAA,IAAI,GAAGA,IAAI,CAACxB,OAAL,CAAa,sBAAb,EAAqC,UAASsK,KAAT,EAAgB2U,MAAhB,EAAwBzd,IAAxB,EAA8B;CACzE,iBAAO,OAAKyd,MAAM,CAACjf,OAAP,CAAe,gBAAf,EAAiC,iBAAjC,CAAL,GAAyD,yCAAzD,GAAmGwB,IAAnG,GAAwG,MAA/G;CACA,SAFM,CAAP;CAGA;;CAED,aAAOA,IAAP;CACA;;;oCAGD;CAAA,UADoBE,MACpB,uEAD6B,EAC7B;CACC,UAAMF,IAAN,GAAeE,MAAf,CAAMF,IAAN;CAEAA,MAAAA,IAAI,GAAGA,IAAI,CAACxB,OAAL,CAAa,kCAAb,EAAiD,UAASsK,KAAT,EAAgBuB,IAAhB,EAAsBrK,IAAtB,EACxD;CACC,YAAIsK,GAAG,GAAGC,QAAQ,CAACC,aAAT,CAAuB,GAAvB,CAAV;CACAF,QAAAA,GAAG,CAACG,IAAJ,GAAW1D,kBAAK,CAAC/G,IAAN,CAAWiK,oBAAX,CAAgCI,IAAhC,CAAX;CACAC,QAAAA,GAAG,CAACI,MAAJ,GAAa,QAAb;CACAJ,QAAAA,GAAG,CAACtK,IAAJ,GAAW+G,kBAAK,CAAC/G,IAAN,CAAWiK,oBAAX,CAAgCjK,IAAhC,CAAX;CAEA,YAAM2K,SAAS,GAAG,CACjB,OADiB,EAEjB,QAFiB,EAGjB,MAHiB,EAIjB,OAJiB,EAKjB,MALiB,EAMjB,SANiB,EAOjB,SAPiB,EAQjB,QARiB,EASjB,QATiB,CAAlB;;CAWA,YAAIA,SAAS,CAACnC,OAAV,CAAkB8B,GAAG,CAACrT,QAAtB,KAAmC,CAAC,CAAxC,EACA;CACC,iBAAO6R,KAAP;CACA;;CAED,eAAOwB,GAAG,CAACM,SAAX;CACA,OAxBM,CAAP;CA0BA5K,MAAAA,IAAI,GAAGA,IAAI,CAACxB,OAAL,CAAa,YAAb,EAA2B,iDAA3B,CAAP;CACAwB,MAAAA,IAAI,GAAGA,IAAI,CAACxB,OAAL,CAAa,eAAb,EAA8B,oDAA9B,CAAP;CAEAwB,MAAAA,IAAI,GAAGA,IAAI,CAACxB,OAAL,CAAa,0BAAb,EAAyC,UAACsK,KAAD,EAAQ4U,MAAR,EAAmB;CAClE;CACA,eAAO7V,EAAE,CAAC8V,eAAH,CAAmBC,kBAAnB,CAAsC,CAAtC,EAAyCF,MAAzC,EAAiD,KAAjD,EAAwD9S,SAA/D;CACA,OAHM,CAAP;CAKA5K,MAAAA,IAAI,GAAGA,IAAI,CAACxB,OAAL,CAAa,UAAb,EAAyB,OAAzB,CAAP;CACAwB,MAAAA,IAAI,GAAGA,IAAI,CAACxB,OAAL,CAAa,mCAAb,EAAkD,UAACsK,KAAD,EAAQ+B,IAAR,EAAcC,KAAd,EAAqBC,KAArB,EAA+B;CACvF,eAAO,MAAMF,IAAN,GAAa,GAAb,GAAmBC,KAAnB,GAA2B,GAA3B,GAAiCC,KAAjC,GAAyC,GAAhD;CACA,OAFM,CAAP;CAIA/K,MAAAA,IAAI,GAAGA,IAAI,CAACxB,OAAL,CAAa,gDAAb,EAA+D,UAACsK,KAAD,EAAQkC,SAAR,EAAmBzT,MAAnB,EAA2BuT,KAA3B,EAAqC;CAC1GvT,QAAAA,MAAM,GAAGuD,QAAQ,CAACvD,MAAD,CAAjB;;CAEA,YAAIA,MAAM,IAAI,CAAd,EACA;CACC,iBAAOuT,KAAP;CACA;;CAED,YAAIE,SAAJ,EACA;CACC,iBAAO,mEAAiEzT,MAAjE,GAAwE,IAAxE,GAA6EuT,KAA7E,GAAmF,SAA1F;CACA,SAHD,MAKA;CACC,iBAAO,8DAA4DvT,MAA5D,GAAmE,IAAnE,GAAwEuT,KAAxE,GAA8E,SAArF;CACA;CACD,OAhBM,CAAP;CAiBA9K,MAAAA,IAAI,GAAGA,IAAI,CAACxB,OAAL,CAAa,uCAAb,EAAsD,UAACsK,KAAD,EAAQ3R,MAAR,EAAgB6I,IAAhB,EAC7D;CACC,YAAI6L,IAAI,GAAG,EAAX;CAEA1U,QAAAA,MAAM,GAAG2D,QAAQ,CAAC3D,MAAD,CAAjB;;CACA,YAAIA,MAAM,GAAG,CAAT,IAAc,OAAO0mB,IAAP,IAAgB,WAAlC,EACA;CACChS,UAAAA,IAAI,yCAAiC1U,MAAM,KAAK,CAAC0mB,IAAI,CAAC1mB,MAAjB,GAA0B,wBAA1B,GAAqD,EAAtF,gDAA0HA,MAA1H,gBAAqI6I,IAArI,YAAJ;CACA,SAHD,MAKA;CACC6L,UAAAA,IAAI,GAAG7L,IAAP;CACA;;CAED,eAAO6L,IAAP;CACA,OAfM,CAAP;CAiBA7L,MAAAA,IAAI,GAAGA,IAAI,CAACxB,OAAL,CAAa,qCAAb,EAAoD,UAACsK,KAAD,EAAQqC,SAAR,EAAmBnL,IAAnB;CAAA,eAA4BA,IAA5B;CAAA,OAApD,CAAP;CAEA,aAAOA,IAAP;CACA;CACD;;;;GApxBgChF;;CCfjC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AAEA,KAKa8iB,SAAb;CAAA;;CAAA;CAAA;CAAA;CAAA;;CAAA;CAAA;CAAA,8BAGC;CACC,aAAO,MAAP;CACA;CALF;CAAA;CAAA,+BAQC;CACC,aAAO;CACN3hB,QAAAA,KAAK,EAAE;CADD,OAAP;CAGA;CAZF;CAAA;CAAA,sCAeC;CAAA,UADgB+D,MAChB,uEADyB,EACzB;CACC,aAAO;CACNxD,QAAAA,EAAE,EAAEwD,MAAM,CAACxD,EAAP,GAAYwD,MAAM,CAACxD,EAAnB,GAAwB,CADtB;CAEN7C,QAAAA,KAAK,EAAEkkB,4BAAmB,CAACC,IAFrB;CAGNC,QAAAA,OAAO,EAAE,KAHH;CAIN9F,QAAAA,MAAM,EAAE,KAJF;CAKN+F,QAAAA,WAAW,EAAE,KALP;CAMNC,QAAAA,eAAe,EAAE,KANX;CAONC,QAAAA,WAAW,EAAE,KAPP;CAQNC,QAAAA,iBAAiB,EAAE;CARb,OAAP;CAUA;CA1BF;CAAA;CAAA,iCA6BC;CAAA;;CACC,aAAO;CACNC,QAAAA,OAAO,EAAE,iBAAAzkB,KAAK;CAAA,iBAAI,UAAC1C,MAAD,EAClB;CACCA,YAAAA,MAAM,GAAG2D,QAAQ,CAAC3D,MAAD,EAAS,EAAT,CAAjB;;CAEA,gBAAI,CAAC0C,KAAK,CAACsC,KAAN,CAAYhF,MAAZ,CAAL,EACA;CACC,qBAAO,KAAI,CAACoK,eAAL,CAAqB;CAAC7E,gBAAAA,EAAE,EAAEvF;CAAL,eAArB,CAAP;CACA;;CAED,mBAAO0C,KAAK,CAACsC,KAAN,CAAYhF,MAAZ,CAAP;CACA,WAVa;CAAA,SADR;CAYNonB,QAAAA,YAAY,EAAE,sBAAA1kB,KAAK;CAAA,iBAAI,UAAC1C,MAAD,EACvB;CACCA,YAAAA,MAAM,GAAG2D,QAAQ,CAAC3D,MAAD,EAAS,EAAT,CAAjB;CAEA,mBAAO,KAAI,CAACoK,eAAL,CAAqB;CAAC7E,cAAAA,EAAE,EAAEvF;CAAL,aAArB,CAAP;CACA,WALkB;CAAA;CAZb,OAAP;CAmBA;CAjDF;CAAA;CAAA,iCAoDC;CAAA;;CACC,aAAO;CACNqnB,QAAAA,UAAU,EAAE,oBAAChlB,KAAD,EAAQC,OAAR,EACZ;CACCA,UAAAA,OAAO,CAACiD,EAAR,GAAa5B,QAAQ,CAACrB,OAAO,CAACiD,EAAT,EAAa,EAAb,CAArB;CAEAjD,UAAAA,OAAO,CAACgB,MAAR,GAAiBpB,MAAM,CAACC,MAAP,CAChB,EADgB,EAEhB,MAAI,CAACK,QAAL,CAAcF,OAAO,CAACgB,MAAtB,CAFgB,CAAjB;CAKAjB,UAAAA,KAAK,CAACE,MAAN,CAAa,YAAb,EAA2BD,OAA3B;CACA,SAXK;CAYNglB,QAAAA,SAAS,EAAE,mBAACjlB,KAAD,EAAQC,OAAR,EACX;CACCD,UAAAA,KAAK,CAACE,MAAN,CAAa,WAAb;CACA;CAfK,OAAP;CAiBA;CAtEF;CAAA;CAAA,mCAyEC;CAAA;;CACC,aAAO;CACN8kB,QAAAA,UAAU,EAAE,oBAAC3kB,KAAD,EAAQJ,OAAR,EACZ;CACC,cAAI,CAACI,KAAK,CAACsC,KAAN,CAAY1C,OAAO,CAACiD,EAApB,CAAL,EACA;CACCuF,YAAAA,UAAG,CAAC1I,GAAJ,CAAQM,KAAK,CAACsC,KAAd,EAAqB1C,OAAO,CAACiD,EAA7B,EAAiCrD,MAAM,CAACC,MAAP,CAAc,MAAI,CAACiI,eAAL,EAAd,EAAsC9H,OAAO,CAACgB,MAA9C,EAAsD;CAACiC,cAAAA,EAAE,EAAEjD,OAAO,CAACiD;CAAb,aAAtD,CAAjC;CACA,WAHD,MAKA;CACC7C,YAAAA,KAAK,CAACsC,KAAN,CAAY1C,OAAO,CAACiD,EAApB,IAA0BrD,MAAM,CAACC,MAAP,CAAcO,KAAK,CAACsC,KAAN,CAAY1C,OAAO,CAACiD,EAApB,CAAd,EAAuCjD,OAAO,CAACgB,MAA/C,CAA1B;CACA;CACD,SAXK;CAYNgkB,QAAAA,SAAS,EAAE,mBAAC5kB,KAAD,EAAQJ,OAAR,EACX;CACC,cAAMilB,UAAU,GAAGrlB,MAAM,CAACslB,MAAP,CAAc9kB,KAAK,CAACsC,KAApB,EAA2BoQ,IAA3B,CAAgC,UAAA9P,IAAI;CAAA,mBAAIA,IAAI,CAAC0b,MAAL,KAAgB,IAApB;CAAA,WAApC,CAAnB;;CAEA,cAAIuG,UAAJ,EACA;CACC7kB,YAAAA,KAAK,CAACsC,KAAN,CAAYuiB,UAAU,CAAChiB,EAAvB,EAA2Byb,MAA3B,GAAoC,KAApC;CACA;CACD;CApBK,OAAP;CAsBA;CAhGF;CAAA;CAAA,6BAkGU1e,OAlGV,EAmGC;CACC,UAAMiB,MAAM,GAAG,EAAf;;CAEA,UAAI0d,cAAI,CAACC,QAAL,CAAc5e,OAAO,CAACiD,EAAtB,KAA6B0b,cAAI,CAACc,QAAL,CAAczf,OAAO,CAACiD,EAAtB,CAAjC,EACA;CACChC,QAAAA,MAAM,CAACgC,EAAP,GAAY5B,QAAQ,CAACrB,OAAO,CAACiD,EAAT,EAAa,EAAb,CAApB;CACA;;CAED,UAAIqhB,4BAAmB,CAACtkB,OAAO,CAACI,KAAT,CAAvB,EACA;CACCa,QAAAA,MAAM,CAACb,KAAP,GAAeJ,OAAO,CAACI,KAAvB;CACA;;CAED,UAAIue,cAAI,CAACuB,SAAL,CAAelgB,OAAO,CAACwkB,OAAvB,CAAJ,EACA;CACCvjB,QAAAA,MAAM,CAACujB,OAAP,GAAiBxkB,OAAO,CAACwkB,OAAzB;CACA;;CAED,UAAI7F,cAAI,CAACuB,SAAL,CAAelgB,OAAO,CAAC0e,MAAvB,CAAJ,EACA;CACCzd,QAAAA,MAAM,CAACyd,MAAP,GAAgB1e,OAAO,CAAC0e,MAAxB;CACA;;CAED,UAAIC,cAAI,CAACuB,SAAL,CAAelgB,OAAO,CAACykB,WAAvB,CAAJ,EACA;CACCxjB,QAAAA,MAAM,CAACwjB,WAAP,GAAqBzkB,OAAO,CAACykB,WAA7B;CACA;;CAED,UAAI9F,cAAI,CAACuB,SAAL,CAAelgB,OAAO,CAAC0kB,eAAvB,CAAJ,EACA;CACCzjB,QAAAA,MAAM,CAACyjB,eAAP,GAAyB1kB,OAAO,CAAC0kB,eAAjC;CACA;;CAED,UAAI/F,cAAI,CAACuB,SAAL,CAAelgB,OAAO,CAAC2kB,WAAvB,CAAJ,EACA;CACC1jB,QAAAA,MAAM,CAAC0jB,WAAP,GAAqB3kB,OAAO,CAAC2kB,WAA7B;CACA;;CAED,UAAIhG,cAAI,CAACuB,SAAL,CAAelgB,OAAO,CAAC4kB,iBAAvB,CAAJ,EACA;CACC3jB,QAAAA,MAAM,CAAC2jB,iBAAP,GAA2B5kB,OAAO,CAAC4kB,iBAAnC;CACA;;CAED,aAAO3jB,MAAP;CACA;CA/IF;CAAA;CAAA,4CAkJC;CACC,aAAO;CACNyB,QAAAA,KAAK,EAAE;CADD,OAAP;CAGA;CAtJF;CAAA;CAAA,EAA+BnB,4BAA/B;;;;;;;;;;;;;;;;"}
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.24 |
proxy
|
phpinfo
|
Settings