YetiForceCompany/YetiForceCRM

View on GitHub
public_html/layouts/resources/app.min.js.map

Summary

Maintainability
Test Coverage
{"version":3,"file":"app.min.js","sources":["app.js"],"sourcesContent":["/*+***********************************************************************************\n * The contents of this file are subject to the vtiger CRM Public License Version 1.0\n * (\"License\"); You may not use this file except in compliance with the License\n * The Original Code is:  vtiger CRM Open Source\n * The Initial Developer of the Original Code is vtiger.\n * Portions created by vtiger are Copyright (C) vtiger.\n * All Rights Reserved.\n * Contributor(s): YetiForce S.A.\n *************************************************************************************/\n'use strict';\n\nconst App = (window.App = {\n\tComponents: {\n\t\tTree: {\n\t\t\tBasic: class {\n\t\t\t\tconstructor(container = $('.js-tree-container')) {\n\t\t\t\t\tthis.treeInstance = false;\n\t\t\t\t\tthis.treeData = false;\n\t\t\t\t\tthis.generateTree(container);\n\t\t\t\t}\n\n\t\t\t\tgenerateTree(container) {\n\t\t\t\t\tconst self = this;\n\t\t\t\t\tif (self.treeInstance === false) {\n\t\t\t\t\t\tself.treeInstance = container;\n\t\t\t\t\t\tself.treeInstance\n\t\t\t\t\t\t\t.on('select_node.jstree', function (_e, data) {\n\t\t\t\t\t\t\t\tif (data.event !== undefined && $(data.event.target).hasClass('jstree-checkbox')) {\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tdata.instance.select_node(data.node.children_d);\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.on('deselect_node.jstree', function (_e, data) {\n\t\t\t\t\t\t\t\tif (data.event !== undefined && $(data.event.target).hasClass('jstree-checkbox')) {\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tdata.instance.deselect_node(data.node.children_d);\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.jstree({\n\t\t\t\t\t\t\t\tcore: {\n\t\t\t\t\t\t\t\t\tdata: self.getRecords(container),\n\t\t\t\t\t\t\t\t\tthemes: {\n\t\t\t\t\t\t\t\t\t\tname: 'proton',\n\t\t\t\t\t\t\t\t\t\tresponsive: true\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tplugins: ['search', 'checkbox']\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\tthis.registerSearchEvent();\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tregisterSearchEvent() {\n\t\t\t\t\tconst self = this;\n\t\t\t\t\tlet searchTimeout = false,\n\t\t\t\t\t\ttreeSearch = $('.js-tree-search');\n\t\t\t\t\ttreeSearch.on('keyup', () => {\n\t\t\t\t\t\tif (searchTimeout) {\n\t\t\t\t\t\t\tclearTimeout(searchTimeout);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsearchTimeout = setTimeout(function () {\n\t\t\t\t\t\t\tvar searchValue = treeSearch.val();\n\t\t\t\t\t\t\tself.treeInstance.jstree(true).search(searchValue);\n\t\t\t\t\t\t}, 250);\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tgetRecords(container) {\n\t\t\t\t\tif (this.treeData === false && container !== 'undefined') {\n\t\t\t\t\t\tthis.treeData = JSON.parse(container.find('.js-tree-data').val());\n\t\t\t\t\t}\n\t\t\t\t\treturn this.treeData;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Quick create object used by Header.js and yf plugins\n\t\t *\n\t\t */\n\t\tQuickCreate: {\n\t\t\t/**\n\t\t\t * module quick create data cache\n\t\t\t */\n\t\t\tmoduleCache: {},\n\t\t\t/**\n\t\t\t * Register function\n\t\t\t * @param {jQuery} container\n\t\t\t */\n\t\t\tregister(container) {\n\t\t\t\tif (typeof container === 'undefined') {\n\t\t\t\t\tcontainer = $('body');\n\t\t\t\t} else {\n\t\t\t\t\tcontainer = $(container);\n\t\t\t\t}\n\t\t\t\tcontainer.on('click', '.js-quick-create-modal', function (e) {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tlet element = $(this);\n\t\t\t\t\tif (element.data('module')) {\n\t\t\t\t\t\tApp.Components.QuickCreate.createRecord(element.data('module'));\n\t\t\t\t\t}\n\t\t\t\t\tif (element.data('url')) {\n\t\t\t\t\t\tlet url = element.data('url');\n\t\t\t\t\t\tlet urlObject = app.convertUrlToObject(url);\n\t\t\t\t\t\tlet params = { callbackFunction: function () {} };\n\t\t\t\t\t\tconst progress = $.progressIndicator({ blockInfo: { enabled: true } });\n\t\t\t\t\t\tApp.Components.QuickCreate.getForm(url, urlObject.module, params).done((data) => {\n\t\t\t\t\t\t\tprogress.progressIndicator({\n\t\t\t\t\t\t\t\tmode: 'hide'\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tApp.Components.QuickCreate.showModal(data, params, element);\n\t\t\t\t\t\t\tapp.registerEventForClockPicker();\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\t/**\n\t\t\t * createRecord\n\t\t\t *\n\t\t\t * @param   {string}  moduleName\n\t\t\t * @param   {object}  params\n\t\t\t */\n\t\t\tcreateRecord(moduleName, params = {}) {\n\t\t\t\tif ('parentIframe' === CONFIG.modalTarget) {\n\t\t\t\t\twindow.parent.App.Components.QuickCreate.createRecord(moduleName, params);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tlet url = 'index.php?module=' + moduleName + '&view=QuickCreateAjax';\n\t\t\t\tif (undefined === params.callbackFunction) {\n\t\t\t\t\tparams.callbackFunction = function () {};\n\t\t\t\t}\n\t\t\t\tif (\n\t\t\t\t\t(app.getViewName() === 'Detail' || (app.getViewName() === 'Edit' && app.getRecordId() !== undefined)) &&\n\t\t\t\t\tapp.getParentModuleName() != 'Settings' &&\n\t\t\t\t\t(!params['data'] || !('sourceModule' in params['data']))\n\t\t\t\t) {\n\t\t\t\t\turl += '&sourceModule=' + app.getModuleName();\n\t\t\t\t\turl += '&sourceRecord=' + app.getRecordId();\n\t\t\t\t}\n\t\t\t\tconst progress = $.progressIndicator({ blockInfo: { enabled: true } });\n\t\t\t\tthis.getForm(url, moduleName, params).done((data) => {\n\t\t\t\t\tprogress.progressIndicator({\n\t\t\t\t\t\tmode: 'hide'\n\t\t\t\t\t});\n\t\t\t\t\tthis.showModal(data, params);\n\t\t\t\t\tapp.registerEventForClockPicker();\n\t\t\t\t});\n\t\t\t},\n\t\t\t/**\n\t\t\t * Get quick create form\n\t\t\t *\n\t\t\t * @param   {string}  url\n\t\t\t * @param   {string}  moduleName\n\t\t\t * @param   {object}  params\n\t\t\t *\n\t\t\t * @return  {Promise} aDeferred\n\t\t\t */\n\t\t\tgetForm(url, moduleName, params = {}) {\n\t\t\t\tconst aDeferred = $.Deferred();\n\t\t\t\tlet requestParams;\n\t\t\t\tlet isCacheActive = !params.noCache || undefined === params.noCache;\n\t\t\t\tif (isCacheActive) {\n\t\t\t\t\tif (App.Components.QuickCreate.moduleCache[moduleName]) {\n\t\t\t\t\t\taDeferred.resolve(App.Components.QuickCreate.moduleCache[moduleName]);\n\t\t\t\t\t\treturn aDeferred.promise();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\trequestParams = url;\n\t\t\t\tif (typeof params.data !== 'undefined') {\n\t\t\t\t\trequestParams = {};\n\t\t\t\t\trequestParams['data'] = params.data;\n\t\t\t\t\trequestParams['url'] = url;\n\t\t\t\t}\n\t\t\t\tAppConnector.request(requestParams).done(function (data) {\n\t\t\t\t\tif (isCacheActive) {\n\t\t\t\t\t\tApp.Components.QuickCreate.moduleCache[moduleName] = data;\n\t\t\t\t\t}\n\t\t\t\t\taDeferred.resolve(data);\n\t\t\t\t});\n\t\t\t\treturn aDeferred.promise();\n\t\t\t},\n\t\t\t/**\n\t\t\t * Show modal\n\t\t\t *\n\t\t\t * @param   {string}  html\n\t\t\t * @param   {object}  params\n\t\t\t * @param   {jQuery}  element\n\t\t\t */\n\t\t\tshowModal(html, params = {}, element = null) {\n\t\t\t\tapp.showModalWindow(html, (container) => {\n\t\t\t\t\tconst quickCreateForm = container.find('form.js-form');\n\t\t\t\t\tconst moduleName = quickCreateForm.find('[name=\"module\"]').val();\n\t\t\t\t\tif (typeof params.callbackBeforeRegister !== 'undefined') {\n\t\t\t\t\t\tparams.callbackBeforeRegister(container);\n\t\t\t\t\t}\n\t\t\t\t\tconst editViewInstance = Vtiger_Edit_Js.getInstanceByModuleName(moduleName);\n\t\t\t\t\teditViewInstance.setForm(quickCreateForm);\n\t\t\t\t\teditViewInstance.registerBasicEvents(quickCreateForm);\n\t\t\t\t\tconst moduleClassName = moduleName + '_QuickCreate_Js';\n\t\t\t\t\tif (typeof window[moduleClassName] !== 'undefined') {\n\t\t\t\t\t\tnew window[moduleClassName]().registerEvents(container);\n\t\t\t\t\t}\n\t\t\t\t\tquickCreateForm.validationEngine(app.validationEngineOptionsForRecord);\n\t\t\t\t\tif (typeof params.callbackPostShown !== 'undefined') {\n\t\t\t\t\t\tparams.callbackPostShown(quickCreateForm);\n\t\t\t\t\t}\n\t\t\t\t\tthis.registerPostLoadEvents(quickCreateForm, params, element);\n\t\t\t\t});\n\t\t\t},\n\t\t\t/**\n\t\t\t * Register post load events\n\t\t\t *\n\t\t\t * @param   {jQuery}  form\n\t\t\t * @param   {object}  params\n\t\t\t * @param   {jQuery}  element\n\t\t\t *\n\t\t\t * @return  {boolean}\n\t\t\t */\n\t\t\tregisterPostLoadEvents(form, params, element) {\n\t\t\t\tconst submitSuccessCallback = params.callbackFunction || function () {};\n\t\t\t\tconst goToFullFormCallBack = params.goToFullFormcallback || function () {};\n\t\t\t\tform.on('submit', (e) => {\n\t\t\t\t\tif (form.hasClass('not_validation')) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\tconst moduleName = form.find('[name=\"module\"]').val();\n\t\t\t\t\t//Form should submit only once for multiple clicks also\n\t\t\t\t\tif (typeof form.data('submit') !== 'undefined') {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (form.data('jqv').InvalidFields.length > 0) {\n\t\t\t\t\t\t\t//If validation fails, form should submit again\n\t\t\t\t\t\t\tform.removeData('submit');\n\t\t\t\t\t\t\t$.progressIndicator({ mode: 'hide' });\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t//Once the form is submiting add data attribute to that form element\n\t\t\t\t\t\t\tform.data('submit', 'true');\n\t\t\t\t\t\t\t$.progressIndicator({ mode: 'hide' });\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst recordPreSaveEvent = $.Event(Vtiger_Edit_Js.recordPreSave);\n\t\t\t\t\t\tform.trigger(recordPreSaveEvent, {\n\t\t\t\t\t\t\tvalue: 'edit',\n\t\t\t\t\t\t\tmodule: moduleName\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (!recordPreSaveEvent.isDefaultPrevented()) {\n\t\t\t\t\t\t\tconst moduleInstance = Vtiger_Edit_Js.getInstanceByModuleName(moduleName);\n\t\t\t\t\t\t\tconst saveHandler = !!moduleInstance.quickCreateSave ? moduleInstance.quickCreateSave : this.save;\n\t\t\t\t\t\t\tlet progress = $.progressIndicator({\n\t\t\t\t\t\t\t\tmessage: app.vtranslate('JS_SAVE_LOADER_INFO'),\n\t\t\t\t\t\t\t\tposition: 'html',\n\t\t\t\t\t\t\t\tblockInfo: {\n\t\t\t\t\t\t\t\t\tenabled: true\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tsaveHandler(form)\n\t\t\t\t\t\t\t\t.done((data) => {\n\t\t\t\t\t\t\t\t\tlet modalContainer = form.closest('.modalContainer');\n\t\t\t\t\t\t\t\t\tif (modalContainer.length) {\n\t\t\t\t\t\t\t\t\t\tapp.hideModalWindow(false, modalContainer[0].id);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tsubmitSuccessCallback(data);\n\t\t\t\t\t\t\t\t\tapp.event.trigger('QuickCreate.AfterSaveFinal', data, form);\n\t\t\t\t\t\t\t\t\tprogress.progressIndicator({ mode: 'hide' });\n\t\t\t\t\t\t\t\t\tif (data.success) {\n\t\t\t\t\t\t\t\t\t\tapp.showNotify({\n\t\t\t\t\t\t\t\t\t\t\ttext: app.vtranslate('JS_SAVE_NOTIFY_SUCCESS'),\n\t\t\t\t\t\t\t\t\t\t\ttype: 'success'\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tapp.reloadAfterSave(data, params, form, element);\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t.fail(function (_, errorThrown) {\n\t\t\t\t\t\t\t\t\tapp.showNotify({\n\t\t\t\t\t\t\t\t\t\ttextTrusted: false,\n\t\t\t\t\t\t\t\t\t\ttext: errorThrown,\n\t\t\t\t\t\t\t\t\t\ttitle: app.vtranslate('JS_ERROR'),\n\t\t\t\t\t\t\t\t\t\ttype: 'error'\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t//If validation fails in recordPreSaveEvent, form should submit again\n\t\t\t\t\t\t\tform.removeData('submit');\n\t\t\t\t\t\t\t$.progressIndicator({ mode: 'hide' });\n\t\t\t\t\t\t}\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tform.find('.js-full-editlink').on('click', (e) => {\n\t\t\t\t\tconst form = $(e.currentTarget).closest('form');\n\t\t\t\t\tconst editViewUrl = $(e.currentTarget).data('url');\n\t\t\t\t\tgoToFullFormCallBack(form);\n\t\t\t\t\tthis.goToFullForm(form, editViewUrl);\n\t\t\t\t});\n\n\t\t\t\tthis.registerTabEvents(form);\n\t\t\t},\n\t\t\t/**\n\t\t\t * Function to navigate from quick create to edit iew full form\n\t\t\t *\n\t\t\t * @param   {object}  form  jQuery\n\t\t\t */\n\t\t\tgoToFullForm(form) {\n\t\t\t\t//As formData contains information about both view and action removed action and directed to view\n\t\t\t\tform.find('input[name=\"action\"]').remove();\n\t\t\t\tform.append('<input type=\"hidden\" name=\"view\" value=\"Edit\" />');\n\t\t\t\t$.each(form.find('[data-validation-engine]'), function (key, data) {\n\t\t\t\t\t$(data).removeAttr('data-validation-engine');\n\t\t\t\t});\n\t\t\t\tform.addClass('not_validation');\n\t\t\t\tform.trigger('submit');\n\t\t\t},\n\t\t\t/**\n\t\t\t * Register tab events\n\t\t\t *\n\t\t\t * @param   {object}  form  jQuery\n\t\t\t */\n\t\t\tregisterTabEvents(form) {\n\t\t\t\tconst tabElements = form.find('.nav.nav-pills , .nav.nav-tabs').find('a');\n\t\t\t\t//This will remove the name attributes and assign it to data-element-name . We are doing this to avoid\n\t\t\t\t//Multiple element to send as in calendar\n\t\t\t\tconst quickCreateTabOnHide = function (target) {\n\t\t\t\t\t$(target)\n\t\t\t\t\t\t.find('[name]')\n\t\t\t\t\t\t.each(function (index, element) {\n\t\t\t\t\t\t\telement = $(element);\n\t\t\t\t\t\t\telement.attr('data-element-name', element.attr('name')).removeAttr('name');\n\t\t\t\t\t\t});\n\t\t\t\t};\n\t\t\t\t//This will add the name attributes and get value from data-element-name . We are doing this to avoid\n\t\t\t\t//Multiple element to send as in calendar\n\t\t\t\tconst quickCreateTabOnShow = function (target) {\n\t\t\t\t\t$(target)\n\t\t\t\t\t\t.find('[data-element-name]')\n\t\t\t\t\t\t.each(function (index, element) {\n\t\t\t\t\t\t\telement = $(element);\n\t\t\t\t\t\t\telement.attr('name', element.attr('data-element-name')).removeAttr('data-element-name');\n\t\t\t\t\t\t});\n\t\t\t\t};\n\t\t\t\ttabElements.on('click', function (e) {\n\t\t\t\t\tquickCreateTabOnHide(tabElements.not('[aria-expanded=\"false\"]').attr('data-target'));\n\t\t\t\t\tquickCreateTabOnShow($(this).attr('data-target'));\n\t\t\t\t\t//while switching tabs we have to clear the invalid fields list\n\t\t\t\t\tform.data('jqv').InvalidFields = [];\n\t\t\t\t});\n\t\t\t\t//To show aleady non active element , this we are doing so that on load we can remove name attributes for other fields\n\t\t\t\ttabElements.filter('a:not(.active)').each(function (e) {\n\t\t\t\t\tquickCreateTabOnHide($(this).attr('data-target'));\n\t\t\t\t});\n\t\t\t},\n\t\t\t/**\n\t\t\t * Save quick create form\n\t\t\t *\n\t\t\t * @param   {object}  form  jQuery\n\t\t\t *\n\t\t\t * @return  {Promise}        aDeferred\n\t\t\t */\n\t\t\tsave(form) {\n\t\t\t\tlet aDeferred = $.Deferred();\n\t\t\t\tAppConnector.request(form.serializeFormData())\n\t\t\t\t\t.done((data) => {\n\t\t\t\t\t\taDeferred.resolve(data);\n\t\t\t\t\t})\n\t\t\t\t\t.fail(function (textStatus, errorThrown) {\n\t\t\t\t\t\taDeferred.reject(textStatus, errorThrown);\n\t\t\t\t\t});\n\t\t\t\treturn aDeferred.promise();\n\t\t\t}\n\t\t},\n\t\tQuickEdit: {\n\t\t\t/**\n\t\t\t * Show modal\n\t\t\t *\n\t\t\t * @param   {string}  html\n\t\t\t * @param   {object}  params\n\t\t\t */\n\t\t\tshowModal(params = {}, element) {\n\t\t\t\tconst self = this;\n\t\t\t\tparams['view'] = 'QuickEditModal';\n\t\t\t\tAppConnector.request(params).done(function (html) {\n\t\t\t\t\tapp.showModalWindow(html, (container) => {\n\t\t\t\t\t\tlet form = container.find('form[name=\"QuickEdit\"]');\n\t\t\t\t\t\tlet moduleName = form.find('[name=\"module\"]').val();\n\t\t\t\t\t\tlet editViewInstance = Vtiger_Edit_Js.getInstanceByModuleName(moduleName);\n\t\t\t\t\t\tlet moduleClassName = moduleName + '_QuickEdit_Js';\n\t\t\t\t\t\teditViewInstance.setForm(form);\n\t\t\t\t\t\teditViewInstance.registerBasicEvents(form);\n\t\t\t\t\t\tif (typeof window[moduleClassName] !== 'undefined') {\n\t\t\t\t\t\t\tnew window[moduleClassName]().registerEvents(container);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tform.validationEngine(app.validationEngineOptionsForRecord);\n\t\t\t\t\t\tif (typeof params.callbackPostShown !== 'undefined') {\n\t\t\t\t\t\t\tparams.callbackPostShown(form, params);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tself.registerPostLoadEvents(form, params, element);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t},\n\t\t\t/**\n\t\t\t * Register post load events\n\t\t\t *\n\t\t\t * @param   {jQuery}  form jQuery\n\t\t\t * @param   {object}  params\n\t\t\t * @param   {jQuery}  element\n\t\t\t */\n\t\t\tregisterPostLoadEvents(form, params, element) {\n\t\t\t\tconst submitSuccessCallback = params.callbackFunction || function () {};\n\t\t\t\tconst goToFullFormCallBack = params.goToFullFormcallback || function () {};\n\t\t\t\tform.on('submit', (e) => {\n\t\t\t\t\tif (form.hasClass('not_validation')) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\tconst moduleName = form.find('[name=\"module\"]').val();\n\t\t\t\t\t//Form should submit only once for multiple clicks also\n\t\t\t\t\tif (typeof form.data('submit') !== 'undefined') {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (form.data('jqv').InvalidFields.length > 0) {\n\t\t\t\t\t\t\t//If validation fails, form should submit again\n\t\t\t\t\t\t\tform.removeData('submit');\n\t\t\t\t\t\t\t$.progressIndicator({ mode: 'hide' });\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t//Once the form is submiting add data attribute to that form element\n\t\t\t\t\t\t\tform.data('submit', 'true');\n\t\t\t\t\t\t\t$.progressIndicator({ mode: 'hide' });\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst recordPreSaveEvent = $.Event(Vtiger_Edit_Js.recordPreSave);\n\t\t\t\t\t\tform.trigger(recordPreSaveEvent, {\n\t\t\t\t\t\t\tvalue: 'edit',\n\t\t\t\t\t\t\tmodule: moduleName\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (!recordPreSaveEvent.isDefaultPrevented()) {\n\t\t\t\t\t\t\tconst moduleInstance = Vtiger_Edit_Js.getInstanceByModuleName(moduleName);\n\t\t\t\t\t\t\tconst saveHandler = !!moduleInstance.quickEditSave ? moduleInstance.quickEditSave : this.save;\n\t\t\t\t\t\t\tlet progress = $.progressIndicator({\n\t\t\t\t\t\t\t\tmessage: app.vtranslate('JS_SAVE_LOADER_INFO'),\n\t\t\t\t\t\t\t\tposition: 'html',\n\t\t\t\t\t\t\t\tblockInfo: {\n\t\t\t\t\t\t\t\t\tenabled: true\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tsaveHandler(form).done((data) => {\n\t\t\t\t\t\t\t\tconst modalContainer = form.closest('.modalContainer');\n\t\t\t\t\t\t\t\tif (modalContainer.length) {\n\t\t\t\t\t\t\t\t\tapp.hideModalWindow(false, modalContainer[0].id);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsubmitSuccessCallback(data);\n\t\t\t\t\t\t\t\tapp.event.trigger('QuickEdit.AfterSaveFinal', data, form, element);\n\t\t\t\t\t\t\t\tdelete window.popoverCache[data.result._recordId];\n\t\t\t\t\t\t\t\tprogress.progressIndicator({ mode: 'hide' });\n\t\t\t\t\t\t\t\tif (data.success) {\n\t\t\t\t\t\t\t\t\tapp.showNotify({\n\t\t\t\t\t\t\t\t\t\ttext: app.vtranslate('JS_SAVE_NOTIFY_SUCCESS'),\n\t\t\t\t\t\t\t\t\t\ttype: 'success'\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tapp.reloadAfterSave(data, params, form, element);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t//If validation fails in recordPreSaveEvent, form should submit again\n\t\t\t\t\t\t\tform.removeData('submit');\n\t\t\t\t\t\t\t$.progressIndicator({ mode: 'hide' });\n\t\t\t\t\t\t}\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tform.find('.js-full-editlink').on('click', (e) => {\n\t\t\t\t\tconst form = $(e.currentTarget).closest('form');\n\t\t\t\t\tconst editViewUrl = $(e.currentTarget).data('url');\n\t\t\t\t\tgoToFullFormCallBack(form);\n\t\t\t\t\tthis.goToFullForm(form, editViewUrl);\n\t\t\t\t});\n\t\t\t},\n\t\t\t/**\n\t\t\t * Function to navigate from quick create to edit iew full form\n\t\t\t *\n\t\t\t * @param   {object}  form  jQuery\n\t\t\t */\n\t\t\tgoToFullForm(form) {\n\t\t\t\tform.find('input[name=\"action\"]').remove();\n\t\t\t\tform.append('<input type=\"hidden\" name=\"view\" value=\"Edit\" />');\n\t\t\t\t$.each(form.find('[data-validation-engine]'), function (key, data) {\n\t\t\t\t\t$(data).removeAttr('data-validation-engine');\n\t\t\t\t});\n\t\t\t\tform.addClass('not_validation');\n\t\t\t\tform.trigger('submit');\n\t\t\t},\n\t\t\t/**\n\t\t\t * Save quick create form\n\t\t\t *\n\t\t\t * @param   {object}  form  jQuery\n\t\t\t *\n\t\t\t * @return  {Promise}        aDeferred\n\t\t\t */\n\t\t\tsave(form) {\n\t\t\t\tconst aDeferred = $.Deferred();\n\t\t\t\tform.serializeFormData();\n\t\t\t\tlet formData = new FormData(form[0]);\n\t\t\t\tAppConnector.request({\n\t\t\t\t\turl: 'index.php',\n\t\t\t\t\ttype: 'POST',\n\t\t\t\t\tdata: formData,\n\t\t\t\t\tprocessData: false,\n\t\t\t\t\tcontentType: false\n\t\t\t\t})\n\t\t\t\t\t.done(function (data) {\n\t\t\t\t\t\taDeferred.resolve(data);\n\t\t\t\t\t})\n\t\t\t\t\t.fail(function (textStatus, errorThrown) {\n\t\t\t\t\t\taDeferred.reject(textStatus, errorThrown);\n\t\t\t\t\t});\n\t\t\t\treturn aDeferred.promise();\n\t\t\t}\n\t\t},\n\t\tScrollbar: {\n\t\t\tactive: true,\n\t\t\tdefaults: {\n\t\t\t\tscrollbars: {\n\t\t\t\t\tautoHide: 'leave'\n\t\t\t\t}\n\t\t\t},\n\t\t\tpage: {\n\t\t\t\tinstance: {},\n\t\t\t\telement: null\n\t\t\t},\n\t\t\tinitPage() {\n\t\t\t\tlet scrollbarContainer = $('.mainBody');\n\t\t\t\tif (!scrollbarContainer.length) {\n\t\t\t\t\tscrollbarContainer = $('#page');\n\t\t\t\t}\n\t\t\t\tif (!scrollbarContainer.length) {\n\t\t\t\t\tscrollbarContainer = $('body');\n\t\t\t\t}\n\t\t\t\tif (this.active) {\n\t\t\t\t\tthis.page.instance = this.y(scrollbarContainer);\n\t\t\t\t\tthis.page.element = $(this.page.instance.getElements().viewport);\n\t\t\t\t}\n\t\t\t},\n\t\t\txy(element, options = {}) {\n\t\t\t\treturn element.overlayScrollbars(options).overlayScrollbars();\n\t\t\t},\n\t\t\ty(element, options) {\n\t\t\t\tconst yOptions = {\n\t\t\t\t\toverflowBehavior: {\n\t\t\t\t\t\tx: 'h'\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tconst mergedOptions = Object.assign(this.defaults, options, yOptions);\n\t\t\t\treturn element.overlayScrollbars(mergedOptions).overlayScrollbars();\n\t\t\t}\n\t\t},\n\t\tDropFile: class {\n\t\t\tconstructor(container, params) {\n\t\t\t\tthis.container = container;\n\t\t\t\tthis.init(params);\n\t\t\t}\n\t\t\t/**\n\t\t\t * Register function\n\t\t\t * @param {jQuery} container\n\t\t\t * @param {Object} params\n\t\t\t */\n\t\t\tstatic register(container, params = {}) {\n\t\t\t\tif (typeof container === 'undefined') {\n\t\t\t\t\tcontainer = $('body');\n\t\t\t\t}\n\t\t\t\tif (container.hasClass('js-drop-container') && !container.prop('disabled')) {\n\t\t\t\t\treturn new App.Components.DropFile(container, params);\n\t\t\t\t}\n\t\t\t\tconst instances = [];\n\t\t\t\tcontainer.find('.js-drop-container').each((_, e) => {\n\t\t\t\t\tinstances.push(new App.Components.DropFile($(e), params));\n\t\t\t\t});\n\t\t\t\treturn instances;\n\t\t\t}\n\t\t\t/**\n\t\t\t * Initiation\n\t\t\t * @param {Object} params\n\t\t\t */\n\t\t\tinit(params) {\n\t\t\t\tlet css = {\n\t\t\t\t\tborder: this.container.css('border'),\n\t\t\t\t\topacity: 'unset'\n\t\t\t\t};\n\t\t\t\tthis.container.bind('dragenter dragover', (e) => {\n\t\t\t\t\t$(e.currentTarget).css({\n\t\t\t\t\t\tborder: '2px dashed #4aa1f3',\n\t\t\t\t\t\topacity: 0.4\n\t\t\t\t\t});\n\t\t\t\t\te.preventDefault();\n\t\t\t\t});\n\t\t\t\tthis.container.bind('dragleave', (e) => {\n\t\t\t\t\t$(e.currentTarget).css(css);\n\t\t\t\t\te.preventDefault();\n\t\t\t\t});\n\t\t\t\tthis.container.bind('drop', (e) => {\n\t\t\t\t\tlet element = $(e.currentTarget).css(css);\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tconst files = e.originalEvent.dataTransfer.files;\n\t\t\t\t\tif (files.length < 1) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\tparams.callback =\n\t\t\t\t\t\tparams.callback ||\n\t\t\t\t\t\tfunction () {\n\t\t\t\t\t\t\tlet progressIndicatorElement = $.progressIndicator({\n\t\t\t\t\t\t\t\tblockInfo: { enabled: true }\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tlet formData = new FormData();\n\t\t\t\t\t\t\tfor (let file of files) {\n\t\t\t\t\t\t\t\tformData.append(element.data('field-name'), file, file.name);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tformData.append('action', 'SaveAjax');\n\t\t\t\t\t\t\tformData.append('record', element.data('id'));\n\t\t\t\t\t\t\tformData.append('module', element.data('module'));\n\t\t\t\t\t\t\tAppConnector.request({\n\t\t\t\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\t\t\t\tdata: formData,\n\t\t\t\t\t\t\t\tprocessData: false,\n\t\t\t\t\t\t\t\tcontentType: false\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t.done(function (data) {\n\t\t\t\t\t\t\t\t\tif (data.success) {\n\t\t\t\t\t\t\t\t\t\tprogressIndicatorElement.progressIndicator({ mode: 'hide' });\n\t\t\t\t\t\t\t\t\t\tapp.showNotify({ text: app.vtranslate('JS_SAVE_NOTIFY_SUCCESS'), type: 'success' });\n\t\t\t\t\t\t\t\t\t\tif (element.closest('.js-detail-widget').length) {\n\t\t\t\t\t\t\t\t\t\t\tVtiger_Detail_Js.getInstance().getFiltersDataAndLoad(e);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tapp.showNotify({ text: app.vtranslate('JS_UNEXPECTED_ERROR'), type: 'error' });\n\t\t\t\t\t\t\t\t\t\tprogressIndicatorElement.progressIndicator({ mode: 'hide' });\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t.fail(function (error, err) {\n\t\t\t\t\t\t\t\t\tapp.showNotify({ text: app.vtranslate('JS_ERROR'), type: 'error' });\n\t\t\t\t\t\t\t\t\tprogressIndicatorElement.progressIndicator({ mode: 'hide' });\n\t\t\t\t\t\t\t\t\tapp.errorLog(error, err);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t};\n\t\t\t\t\tapp.showConfirmModal({\n\t\t\t\t\t\ttext: app.vtranslate('JS_CHANGE_CONFIRMATION'),\n\t\t\t\t\t\tconfirmedCallback: () => {\n\t\t\t\t\t\t\tparams.callback(e, this);\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\t\tActivityNotifier: class ActivityNotifier {\n\t\t\tnotice = {\n\t\t\t\ttype: 'error',\n\t\t\t\ticon: false,\n\t\t\t\thide: true,\n\t\t\t\tdelay: 8000,\n\t\t\t\tstack: new PNotify.Stack({\n\t\t\t\t\tdir1: 'up',\n\t\t\t\t\tdir2: 'left',\n\t\t\t\t\tfirstpos1: 25,\n\t\t\t\t\tfirstpos2: 25,\n\t\t\t\t\tmodal: false,\n\t\t\t\t\tmaxOpen: 2,\n\t\t\t\t\tmaxStrategy: 'close',\n\t\t\t\t\tmaxClosureCausesWait: true\n\t\t\t\t})\n\t\t\t};\n\t\t\tintervalId = null;\n\t\t\tstate = null;\n\t\t\tstatic identifier = '#recordActivityNotifier';\n\t\t\tconstructor(element, params, interval, notice = {}) {\n\t\t\t\tthis.nodeElement = element.get(0);\n\t\t\t\tthis.url = params;\n\t\t\t\tthis.interval = interval || 10;\n\t\t\t\tif (notice.length) {\n\t\t\t\t\tthis.notice = { ...this.notice, ...notice };\n\t\t\t\t}\n\t\t\t}\n\t\t\t/**\n\t\t\t * Register\n\t\t\t * @param {jQuery} container\n\t\t\t */\n\t\t\tstatic register(container) {\n\t\t\t\tlet element = container.find(ActivityNotifier.identifier);\n\t\t\t\tif (element.length) {\n\t\t\t\t\tlet notifierData = element.data();\n\t\t\t\t\tnew ActivityNotifier(\n\t\t\t\t\t\telement,\n\t\t\t\t\t\t{ module: notifierData.module, view: 'RecordActivity', record: notifierData.record },\n\t\t\t\t\t\tnotifierData.interval\n\t\t\t\t\t).init();\n\t\t\t\t}\n\t\t\t}\n\t\t\t/**\n\t\t\t * Initiation\n\t\t\t */\n\t\t\tinit() {\n\t\t\t\tthis.setFormat();\n\t\t\t\tthis.setTime();\n\t\t\t\tdocument.addEventListener('visibilitychange', (_) => {\n\t\t\t\t\tif (document.hidden) {\n\t\t\t\t\t\tthis.destroyInterval();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.setInterval();\n\t\t\t\t\t\tthis.requestNotifier();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tif (!document.hidden) {\n\t\t\t\t\tthis.setInterval();\n\t\t\t\t}\n\t\t\t}\n\t\t\t/**\n\t\t\t * Set date format\n\t\t\t * @param string\n\t\t\t */\n\t\t\tsetFormat(format = '') {\n\t\t\t\tif (!format) {\n\t\t\t\t\tlet timeFormat = '';\n\t\t\t\t\tif (CONFIG.hourFormat.toUpperCase() == 24) {\n\t\t\t\t\t\ttimeFormat = 'HH:mm:ss';\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttimeFormat = 'hh:mm:ss A';\n\t\t\t\t\t}\n\t\t\t\t\tformat = CONFIG.dateFormat.toUpperCase() + ' ' + timeFormat;\n\t\t\t\t}\n\t\t\t\tthis.format = format;\n\t\t\t}\n\t\t\t/**\n\t\t\t * Set date time\n\t\t\t * @param string\n\t\t\t */\n\t\t\tsetTime(time = '') {\n\t\t\t\tif (!time) {\n\t\t\t\t\ttime = moment().format(this.format);\n\t\t\t\t}\n\t\t\t\tthis.startTime = time;\n\t\t\t}\n\t\t\t/**\n\t\t\t * Set Interval\n\t\t\t */\n\t\t\tsetInterval() {\n\t\t\t\tif (this.nodeElement.isConnected) {\n\t\t\t\t\tthis.intervalId = setInterval(() => {\n\t\t\t\t\t\tif (!this.state) {\n\t\t\t\t\t\t\tthis.requestNotifier();\n\t\t\t\t\t\t}\n\t\t\t\t\t}, this.interval * 1000);\n\t\t\t\t}\n\t\t\t}\n\t\t\t/**\n\t\t\t * Destroy Interval\n\t\t\t */\n\t\t\tdestroyInterval() {\n\t\t\t\tclearInterval(this.intervalId);\n\t\t\t}\n\t\t\t/**\n\t\t\t * Function request for notifier popups\n\t\t\t */\n\t\t\trequestNotifier() {\n\t\t\t\tif (!this.nodeElement.isConnected) {\n\t\t\t\t\tthis.destroyInterval();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tthis.url.dateTime = this.startTime;\n\t\t\t\tthis.state = 1;\n\t\t\t\tAppConnector.request(this.url)\n\t\t\t\t\t.done((data) => {\n\t\t\t\t\t\tthis.state = 0;\n\t\t\t\t\t\tif (app.isJsonString(data)) {\n\t\t\t\t\t\t\tdata = JSON.parse(data);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlet response = data.result;\n\t\t\t\t\t\tif (response.text) {\n\t\t\t\t\t\t\tthis.notice.text = response.text.trim();\n\t\t\t\t\t\t\tthis.notice.title = response.title.trim();\n\t\t\t\t\t\t\tapp.showNotify(this.notice);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis.setTime(response.dateTime);\n\t\t\t\t\t})\n\t\t\t\t\t.fail((data, err) => {\n\t\t\t\t\t\tapp.errorLog(data, err);\n\t\t\t\t\t\tthis.destroyInterval();\n\t\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Icons class\n\t\t */\n\t\tIcons: class Icons {\n\t\t\t/**\n\t\t\t * Show modal window with icons to select\n\t\t\t * @param {Object} params\n\t\t\t */\n\t\t\tstatic modalView(params = {}) {\n\t\t\t\tvar aDeferred = $.Deferred();\n\t\t\t\tlet url = 'index.php?module=AppComponents&view=MediaModal';\n\t\t\t\tif (params && Object.keys(params).length) {\n\t\t\t\t\turl = app.convertObjectToUrl(params, url);\n\t\t\t\t}\n\t\t\t\tlet progressElement = $.progressIndicator({ position: 'html', blockInfo: { enabled: true } });\n\t\t\t\tapp.showModalWindow({\n\t\t\t\t\tid: 'MediaModal',\n\t\t\t\t\turl,\n\t\t\t\t\tcb: (container) => {\n\t\t\t\t\t\tprogressElement.progressIndicator({ mode: 'hide' });\n\t\t\t\t\t\tcontainer.on('click', '.js-icon-item', (e) => {\n\t\t\t\t\t\t\tlet data = {\n\t\t\t\t\t\t\t\ttype: e.currentTarget.dataset.type,\n\t\t\t\t\t\t\t\tname: e.currentTarget.dataset.name\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tif (data.type === 'image') {\n\t\t\t\t\t\t\t\tdata.src = $(e.currentTarget).find('img').attr('src');\n\t\t\t\t\t\t\t\tdata.key = e.currentTarget.dataset.key;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\taDeferred.resolve(data);\n\t\t\t\t\t\t\tapp.hideModalWindow(null, 'MediaModal');\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\treturn aDeferred.promise();\n\t\t\t}\n\t\t}\n\t},\n\tNotify: {\n\t\t/**\n\t\t * Check if notifications are allowed\n\t\t */\n\t\tisDesktopPermitted: function () {\n\t\t\treturn typeof Notification !== 'undefined' && Notification.permission === 'granted';\n\t\t},\n\t\t/**\n\t\t * Show desktop notification\n\t\t * @param {Object} params\n\t\t */\n\t\tdesktop: function (params) {\n\t\t\tlet type = 'error';\n\t\t\tparams.modules = new Map([\n\t\t\t\t...PNotify.defaultModules,\n\t\t\t\t[\n\t\t\t\t\tPNotifyDesktop,\n\t\t\t\t\t{\n\t\t\t\t\t\tfallback: false,\n\t\t\t\t\t\ticon: params.icon\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t]);\n\t\t\tif (typeof params.type !== 'undefined') {\n\t\t\t\ttype = params.type;\n\t\t\t\tif (params.type != 'error') {\n\t\t\t\t\tparams.hide = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn PNotify[type](params);\n\t\t}\n\t},\n\tClipboard: class Clipboard {\n\t\tconstructor(container) {\n\t\t\tthis.text = null;\n\t\t\tthis.oClipboard = null;\n\t\t\tthis.container = container;\n\t\t}\n\t\t/**\n\t\t * Register\n\t\t * @param {jQuery} params\n\t\t */\n\t\tstatic register(container) {\n\t\t\tif (typeof container === 'undefined') {\n\t\t\t\tcontainer = $('body');\n\t\t\t}\n\t\t\tcontainer.on('dblclick', '.js-copy-clipboard', (e) => {\n\t\t\t\te.preventDefault();\n\t\t\t\tnew Clipboard($(e.currentTarget)).load().then((instance) => {\n\t\t\t\t\tinstance.createClipboard();\n\t\t\t\t\tinstance.copy();\n\t\t\t\t\tinstance.destroy();\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t\t/**\n\t\t * Initiation\n\t\t */\n\t\tload() {\n\t\t\tconst aDeferred = $.Deferred();\n\t\t\tlet url = this.container.data('url');\n\t\t\tif (url) {\n\t\t\t\tthis.getTextFromUrl(url).then((response) => {\n\t\t\t\t\tthis.text = response.result.text;\n\t\t\t\t\taDeferred.resolve(this);\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\taDeferred.resolve(this);\n\t\t\t}\n\t\t\treturn aDeferred.promise();\n\t\t}\n\t\t/**\n\t\t * Create ClipboardJS\n\t\t */\n\t\tcreateClipboard() {\n\t\t\tlet id = this.container.attr('id');\n\t\t\tthis.oClipboard = new ClipboardJS(`#${id}`, {\n\t\t\t\ttext: (_) => {\n\t\t\t\t\treturn this.text;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\t/**\n\t\t * Get text to Clipboard from URL\n\t\t */\n\t\tgetTextFromUrl(url) {\n\t\t\tconst aDeferred = $.Deferred();\n\t\t\tlet progressIndicatorElement = $.progressIndicator({ blockInfo: { enabled: true } });\n\t\t\tAppConnector.request(url)\n\t\t\t\t.done((response) => {\n\t\t\t\t\tprogressIndicatorElement.progressIndicator({ mode: 'hide' });\n\t\t\t\t\tif (response.success) {\n\t\t\t\t\t\taDeferred.resolve(response);\n\t\t\t\t\t} else {\n\t\t\t\t\t\taDeferred.reject(response);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.fail((_) => {\n\t\t\t\t\tapp.showNotify({\n\t\t\t\t\t\ttext: app.vtranslate('JS_ERROR'),\n\t\t\t\t\t\ttype: 'error'\n\t\t\t\t\t});\n\t\t\t\t\tprogressIndicatorElement.progressIndicator({ mode: 'hide' });\n\t\t\t\t\taDeferred.reject(_);\n\t\t\t\t});\n\t\t\treturn aDeferred.promise();\n\t\t}\n\t\t/**\n\t\t * Set text to Clipboard\n\t\t */\n\t\tcopy() {\n\t\t\tthis.container.trigger('click');\n\t\t\tapp.showNotify({\n\t\t\t\ttext: app.vtranslate('JS_NOTIFY_COPY_TEXT'),\n\t\t\t\ttype: 'success'\n\t\t\t});\n\t\t}\n\t\t/**\n\t\t * Destroy ClipboardJS object\n\t\t */\n\t\tdestroy() {\n\t\t\tthis.oClipboard.destroy();\n\t\t}\n\t},\n\t/**\n\t * File\n\t */\n\tFile: class File {\n\t\t/**\n\t\t * Defalut configuration for fileupload\n\t\t */\n\t\tfileupload = {\n\t\t\tdataType: 'json',\n\t\t\treplaceFileInput: false,\n\t\t\tautoUpload: false,\n\t\t\tfail: this.uploadError.bind(this),\n\t\t\tadd: this.add.bind(this),\n\t\t\tchange: this.change.bind(this)\n\t\t};\n\t\t/**\n\t\t * Defalut options\n\t\t */\n\t\toptions = {\n\t\t\tformats: [],\n\t\t\tlimit: 1,\n\t\t\tmaxFileSize: CONFIG.maxUploadLimit || 0,\n\t\t\tmaxFileSizeDisplay: ''\n\t\t};\n\t\tfiles = [];\n\t\t/**\n\t\t * Constructor\n\t\t * @param {jQuery} element\n\t\t * @param {Object} options\n\t\t */\n\t\tconstructor(element, options = {}) {\n\t\t\tthis.fileInput = element;\n\t\t\tif (typeof options.fileupload !== 'undefined') {\n\t\t\t\tthis.fileupload = { ...this.fileupload, ...options.fileupload };\n\t\t\t\tdelete options.fileupload;\n\t\t\t}\n\t\t\tthis.options = { ...this.options, ...options };\n\t\t}\n\t\t/**\n\t\t * Register file element\n\t\t * @param {jQuery} element\n\t\t * @param {Object} options\n\t\t * @returns\n\t\t */\n\t\tstatic register(element, options = {}) {\n\t\t\tlet file = new File(element, options);\n\t\t\tfile.init();\n\t\t\treturn file;\n\t\t}\n\t\t/**\n\t\t * Initiation\n\t\t */\n\t\tinit() {\n\t\t\tthis.fileInput.detach();\n\t\t\tthis.fileupload.fileInput = this.fileInput;\n\t\t\tthis.fileInput.fileupload(this.fileupload);\n\t\t\tthis.filesActive = 0;\n\t\t}\n\t\t/**\n\t\t * Add event handler from jQuery-file-upload\n\t\t *\n\t\t * @param {Event} e\n\t\t * @param {Object} data\n\t\t */\n\t\tadd(_e, data) {\n\t\t\tif (data.files.length > 0) {\n\t\t\t\tdata.submit();\n\t\t\t}\n\t\t}\n\t\t/**\n\t\t * File change event handler from jQuery-file-upload\n\t\t *\n\t\t * @param {Event} e\n\t\t * @param {object} data\n\t\t */\n\t\tchange(_e, data) {\n\t\t\tlet { valid, error } = this.filterFiles(data.files);\n\t\t\tdata.files = valid;\n\t\t\tif (!valid.length) {\n\t\t\t\tthis.fileInput.val('');\n\t\t\t}\n\t\t\tif (error.length) {\n\t\t\t\tthis.showErrors(error);\n\t\t\t}\n\t\t}\n\t\t/**\n\t\t * Get only valid files from list\n\t\t * @param {Array} files\n\t\t *\n\t\t * @returns {Object}\n\t\t */\n\t\tfilterFiles(files) {\n\t\t\tlet valid = [],\n\t\t\t\terror = [];\n\t\t\tif (files.length + this.files.length > this.options.limit) {\n\t\t\t\terror.push({ error: { text: `${app.vtranslate('JS_FILE_LIMIT')} [${this.options.limit}]` } });\n\t\t\t} else {\n\t\t\t\tfor (let file of files) {\n\t\t\t\t\tthis.validateFileType(file) && this.validateFileSize(file) ? valid.push(file) : error.push(file);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn { valid, error };\n\t\t}\n\n\t\t/**\n\t\t * Validate maximum file size\n\t\t * @param {Object} file\n\t\t * @returns {Boolean}\n\t\t */\n\t\tvalidateFileSize(file) {\n\t\t\tlet result = typeof file.size === 'number' && file.size < this.options.maxFileSize;\n\t\t\tif (!result) {\n\t\t\t\tfile.error = {\n\t\t\t\t\ttitle: `${app.vtranslate('JS_UPLOADED_FILE_SIZE_EXCEEDS')} <br> [${this.options.maxFileSizeDisplay}]`,\n\t\t\t\t\ttext: file.name\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn result;\n\t\t}\n\t\t/**\n\t\t * Validate file type\n\t\t *\n\t\t * @param {Object} file\n\t\t * @returns {boolean}\n\t\t */\n\t\tvalidateFileType(file) {\n\t\t\tlet result =\n\t\t\t\t!this.options.formats.length ||\n\t\t\t\tthis.options.formats.filter((format) => {\n\t\t\t\t\treturn file.type === format || (format.slice(-2) === '/*' && file.type.indexOf(format.slice(0, -1)) === 0);\n\t\t\t\t}).length > 0;\n\n\t\t\tif (!result) {\n\t\t\t\tfile.error = { title: app.vtranslate('JS_INVALID_FILE_TYPE'), text: file.name };\n\t\t\t}\n\t\t\treturn result;\n\t\t}\n\t\t/**\n\t\t * Show errors\n\t\t */\n\t\tshowErrors(errors = []) {\n\t\t\tfor (let info of errors) {\n\t\t\t\tthis.showError(info.error);\n\t\t\t}\n\t\t}\n\t\t/**\n\t\t * Show error\n\t\t */\n\t\tshowError(error) {\n\t\t\tif (typeof error.type === 'undefined') {\n\t\t\t\terror.type = 'error';\n\t\t\t}\n\t\t\terror.textTrusted = false;\n\t\t\tapp.showNotify(error);\n\t\t}\n\t\t/**\n\t\t * Error event handler from file upload request\n\t\t *\n\t\t * @param {Event} e\n\t\t * @param {Object} data\n\t\t */\n\t\tuploadError(_e, data) {\n\t\t\tthis.filesActive--;\n\t\t\tapp.errorLog('File upload error.');\n\t\t\tconst { jqXHR, files } = data;\n\t\t\tif (typeof jqXHR.responseJSON === 'undefined' || jqXHR.responseJSON === null) {\n\t\t\t\treturn this.showError({\n\t\t\t\t\ttitle: app.vtranslate('JS_FILE_UPLOAD_ERROR'),\n\t\t\t\t\ttype: 'error'\n\t\t\t\t});\n\t\t\t}\n\t\t\tfiles.forEach((file) => {\n\t\t\t\tthis.showError({\n\t\t\t\t\ttitle: app.vtranslate('JS_FILE_UPLOAD_ERROR'),\n\t\t\t\t\ttext: file.name,\n\t\t\t\t\ttype: 'error'\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t}\n});\n\nconst app = (window.app = {\n\t/**\n\t * variable stores client side language strings\n\t */\n\tlanguageString: [],\n\tbreakpoints: {\n\t\txs: 0,\n\t\tsm: 576,\n\t\tmd: 768,\n\t\tlg: 992,\n\t\txl: 1200,\n\t\txxl: 1300,\n\t\txxxl: 1700\n\t},\n\tcacheParams: [],\n\tmodalEvents: [],\n\tmousePosition: { x: 0, y: 0 },\n\tchildFrame: false,\n\ttouchDevice: false,\n\tevent: new (function () {\n\t\tthis.el = $({});\n\t\tthis.trigger = function () {\n\t\t\tthis.el.trigger(arguments[0], Array.prototype.slice.call(arguments, 1));\n\t\t};\n\t\tthis.on = function () {\n\t\t\tthis.el.on.apply(this.el, arguments);\n\t\t};\n\t\tthis.one = function () {\n\t\t\tthis.el.one.apply(this.el, arguments);\n\t\t};\n\t\tthis.off = function () {\n\t\t\tthis.el.off.apply(this.el, arguments);\n\t\t};\n\t})(),\n\t/**\n\t * Function to get the module name. This function will get the value from element which has id module\n\t * @return : string - module name\n\t */\n\tgetModuleName: function () {\n\t\treturn this.getMainParams('module');\n\t},\n\t/**\n\t * Function to get the module name. This function will get the value from element which has id module\n\t * @return : string - module name\n\t */\n\tgetParentModuleName: function () {\n\t\treturn this.getMainParams('parent');\n\t},\n\t/**\n\t * Function returns the current view name\n\t */\n\tgetViewName: function () {\n\t\treturn this.getMainParams('view');\n\t},\n\t/**\n\t * Function returns the record id\n\t */\n\tgetRecordId: function () {\n\t\tlet recordId;\n\t\tif (\n\t\t\t$.inArray(this.getViewName(), ['Edit', 'PreferenceEdit', 'Detail', 'PreferenceDetail', 'DetailPreview']) !== -1\n\t\t) {\n\t\t\trecordId = this.getMainParams('recordId');\n\t\t}\n\t\treturn recordId;\n\t},\n\t/**\n\t * Function which will give you all details of the selected record\n\t * @params {object} params - an object of values like {'record' : recordId, 'module' : searchModule, 'fieldType' : 'email'}\n\t */\n\tgetRecordDetails: function (params) {\n\t\tlet aDeferred = $.Deferred();\n\t\tif (app.getParentModuleName() === 'Settings') {\n\t\t\tparams.parent = 'Settings';\n\t\t}\n\t\tAppConnector.request(Object.assign(params, { action: 'GetData' }))\n\t\t\t.done(function (data) {\n\t\t\t\tif (data.success) {\n\t\t\t\t\taDeferred.resolve(data);\n\t\t\t\t} else {\n\t\t\t\t\taDeferred.reject(data.message);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.fail(function (error) {\n\t\t\t\taDeferred.reject();\n\t\t\t});\n\t\treturn aDeferred.promise();\n\t},\n\t/**\n\t * Function to get language\n\t */\n\tgetLanguage: function () {\n\t\treturn $('body').data('language');\n\t},\n\t/**\n\t * Function to get page title\n\t */\n\tgetPageTitle: function () {\n\t\treturn document.title;\n\t},\n\t/**\n\t * Function gets current window parent\n\t * @returns {object}\n\t */\n\tgetWindowParent() {\n\t\tif (\n\t\t\ttypeof window.frames[0] !== 'undefined' &&\n\t\t\ttypeof window.frames[0].app !== 'undefined' &&\n\t\t\twindow.frames[0].app.childFrame\n\t\t) {\n\t\t\treturn window.frames[0];\n\t\t} else {\n\t\t\treturn window;\n\t\t}\n\t},\n\t/**\n\t * Check if current window is window top\n\t */\n\tisWindowTop() {\n\t\treturn window.top === window.self;\n\t},\n\t/**\n\t * Function gets current window parent\n\t * @returns {boolean}\n\t */\n\tisTouchDevice() {\n\t\tlet supportsTouch = false;\n\t\tif ('ontouchstart' in window) {\n\t\t\t// iOS & android\n\t\t\tsupportsTouch = true;\n\t\t} else if (window.navigator.msPointerEnabled) {\n\t\t\t// Win8\n\t\t\tsupportsTouch = true;\n\t\t} else if ('ontouchstart' in document.documentElement) {\n\t\t\t//additional check\n\t\t\tsupportsTouch = true;\n\t\t}\n\t\tif (supportsTouch) {\n\t\t\t//remove browser scrollbar visibility (doesn't work in firefox, edge and ie)\n\t\t\t$(\"<style type='text/css'> ::-webkit-scrollbar { display: none;} </style>\").appendTo('head');\n\t\t}\n\t\treturn supportsTouch;\n\t},\n\t/**\n\t * Check if string is json\n\t * @param {string} str\n\t * @returns {boolean}\n\t */\n\tisJsonString(str) {\n\t\ttry {\n\t\t\tJSON.parse(str);\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t},\n\t/**\n\t * Function to set page title\n\t */\n\tsetPageTitle: function (title) {\n\t\tdocument.title = title;\n\t},\n\t/**\n\t * Function to get the contents container\n\t * @returns jQuery object\n\t */\n\tgetContentsContainer: function () {\n\t\treturn $('.bodyContents');\n\t},\n\thidePopover: function (element) {\n\t\tif (typeof element === 'undefined') {\n\t\t\telement = $('body .js-popover-tooltip');\n\t\t}\n\t\telement.popover('hide');\n\t},\n\thidePopoversAfterClick(popoverParent) {\n\t\tpopoverParent.on('mousedown', (e) => {\n\t\t\tsetTimeout(() => {\n\t\t\t\tpopoverParent.popover('hide');\n\t\t\t}, 100);\n\t\t});\n\t},\n\tregisterPopoverManualTrigger(element, manualTriggerDelay) {\n\t\tconst hideDelay = 500;\n\t\telement.on('mouseleave', (e) => {\n\t\t\tsetTimeout(() => {\n\t\t\t\tlet currentPopover = this.getBindedPopover(element);\n\t\t\t\tif (\n\t\t\t\t\t!$(':hover').filter(currentPopover).length &&\n\t\t\t\t\t!currentPopover.find('.js-popover-tooltip--record[aria-describedby]').length\n\t\t\t\t) {\n\t\t\t\t\tcurrentPopover.popover('hide');\n\t\t\t\t}\n\t\t\t}, hideDelay);\n\t\t});\n\n\t\telement.on('mouseenter', () => {\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (element.is(':hover')) {\n\t\t\t\t\telement.popover('show');\n\t\t\t\t\tlet currentPopover = this.getBindedPopover(element);\n\t\t\t\t\tcurrentPopover.on('mouseleave', () => {\n\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t!$(':hover').filter(currentPopover).length &&\n\t\t\t\t\t\t\t\t!currentPopover.find('.js-popover-tooltip--record[aria-describedby]').length\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tcurrentPopover.popover('hide'); //close current popover\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (!$(':hover').filter($('.popover')).length) {\n\t\t\t\t\t\t\t\t$('.popover').popover('hide'); //close all popovers\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, hideDelay);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}, manualTriggerDelay);\n\t\t});\n\n\t\tapp.hidePopoversAfterClick(element);\n\t},\n\tisEllipsisActive(element) {\n\t\tlet clone = element\n\t\t\t.clone()\n\t\t\t.addClass('u-text-ellipsis--not-active')\n\t\t\t.css(element.css(['font-size', 'font-weight', 'font-family']))\n\t\t\t.appendTo('body');\n\t\tclone.find('.u-text-ellipsis').removeClass('u-text-ellipsis').addClass('u-text-ellipsis--not-active');\n\t\tif (clone.width() - 1 > element.width()) {\n\t\t\tclone.remove();\n\t\t\treturn true;\n\t\t}\n\t\tclone.remove();\n\t\treturn false;\n\t},\n\tshowPopoverElementView: function (selectElement = $('.js-popover-tooltip'), params = {}) {\n\t\tlet defaultParams = {\n\t\t\ttrigger: 'manual',\n\t\t\tmanualTriggerDelay: 500,\n\t\t\tplacement: 'auto',\n\t\t\thtml: true,\n\t\t\ttemplate: '<div class=\"popover\" role=\"tooltip\"><div class=\"arrow\"></div><h3 class=\"popover-header\"></h3></div>',\n\t\t\tcontainer: 'body',\n\t\t\tboundary: 'viewport',\n\t\t\tdelay: { show: 300, hide: 100 }\n\t\t};\n\t\tselectElement.each(function (_index, domElement) {\n\t\t\tlet element = $(domElement);\n\t\t\tlet elementParams = $.extend(true, defaultParams, params, element.data());\n\t\t\tlet tmp = elementParams.template;\n\t\t\tif (elementParams.class) {\n\t\t\t\ttmp = tmp.replace('class=\"popover\"', `class=\"popover ${elementParams.class}\"`);\n\t\t\t}\n\t\t\tif (elementParams.content) {\n\t\t\t\ttmp = tmp.replace('</h3></div>', `</h3><div class=\"popover-body\">${elementParams.content}</div></div>`);\n\t\t\t}\n\t\t\telementParams.template = tmp;\n\t\t\tif (element.hasClass('delay0')) {\n\t\t\t\telementParams.delay = { show: 0, hide: 0 };\n\t\t\t}\n\t\t\telement.popover(elementParams);\n\t\t\tif (elementParams.trigger === 'manual' || typeof elementParams.trigger === 'undefined') {\n\t\t\t\tapp.registerPopoverManualTrigger(element, elementParams.manualTriggerDelay);\n\t\t\t}\n\t\t\tif (elementParams.callbackShown) {\n\t\t\t\telement.on('shown.bs.popover', function (e) {\n\t\t\t\t\telementParams.callbackShown(e);\n\t\t\t\t});\n\t\t\t}\n\t\t\telement.addClass('popover-triggered');\n\t\t});\n\t\treturn selectElement;\n\t},\n\tregisterPopoverEllipsis({\n\t\telement = $('.js-popover-tooltip--ellipsis'),\n\t\tparams = { trigger: 'hover focus' },\n\t\tcontainer = $(window)\n\t} = {}) {\n\t\tconst self = this;\n\t\tparams = {\n\t\t\tcallbackShown: () => {\n\t\t\t\tself.setPopoverPosition(element, container);\n\t\t\t},\n\t\t\ttrigger: 'manual',\n\t\t\tplacement: 'right',\n\t\t\tclass: 'js-popover--before-positioned'\n\t\t};\n\t\tlet popoverText = element.find('.js-popover-text').length ? element.find('.js-popover-text') : element;\n\t\tif (!app.isEllipsisActive(popoverText)) {\n\t\t\telement.addClass('popover-triggered');\n\t\t\treturn;\n\t\t}\n\t\tapp.showPopoverElementView(element, params);\n\t},\n\tregisterPopoverEllipsisIcon(\n\t\tselectElement = $('.js-popover-tooltip--ellipsis-icon'),\n\t\tparams = { trigger: 'hover focus' }\n\t) {\n\t\tselectElement.each(function (index, domElement) {\n\t\t\tlet element = $(domElement);\n\t\t\tlet popoverText = element.find('.js-popover-text').length ? element.find('.js-popover-text') : element;\n\t\t\tif (!app.isEllipsisActive(popoverText)) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tlet iconElement = element.find('.js-popover-icon');\n\t\t\tif (iconElement.length) {\n\t\t\t\telement.find('.js-popover-icon').removeClass('d-none');\n\t\t\t\tparams.selector = '.js-popover-icon';\n\t\t\t}\n\t\t\tapp.showPopoverElementView(element, params);\n\t\t});\n\t},\n\t/**\n\t * Register popover record\n\t * @param {jQuery} selectElement\n\t * @param {object} customParams\n\t */\n\tregisterPopoverRecord: function (\n\t\tselectElement = $('.js-popover-tooltip--record'),\n\t\tcustomParams = {},\n\t\tcontainer = $(document)\n\t) {\n\t\tconst self = this;\n\t\tapp.showPopoverElementView(selectElement, {\n\t\t\ttemplate:\n\t\t\t\t'<div class=\"popover c-popover--link js-popover--before-positioned\" role=\"tooltip\"><div class=\"popover-body\"></div></div>',\n\t\t\tcontent: '<div class=\"d-none\"></div>',\n\t\t\tmanualTriggerDelay: app.getMainParams('recordPopoverDelay'),\n\t\t\tplacement: 'right',\n\t\t\tcallbackShown: () => {\n\t\t\t\tlet href;\n\t\t\t\tif (!selectElement.attr('href')) {\n\t\t\t\t\thref = selectElement.find('a').attr('href');\n\t\t\t\t}\n\t\t\t\tif (\n\t\t\t\t\t!href &&\n\t\t\t\t\t(!selectElement.attr('href') || selectElement.closest('.ui-sortable-handle').hasClass('ui-sortable-helper'))\n\t\t\t\t) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tif (!href) {\n\t\t\t\t\thref = selectElement.eq(0).attr('href');\n\t\t\t\t}\n\t\t\t\tlet link = new URL(href, window.location.origin);\n\t\t\t\tif (!link.searchParams.get('record') || !link.searchParams.get('view')) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tlet url = link.href;\n\t\t\t\turl = url.replace('view=', 'xview=') + '&view=RecordPopover';\n\t\t\t\tlet currentPopover = self.getBindedPopover(selectElement);\n\t\t\t\tlet popoverBody = currentPopover.find('.popover-body');\n\t\t\t\tpopoverBody.progressIndicator({});\n\t\t\t\tlet appendPopoverData = (data) => {\n\t\t\t\t\tpopoverBody.progressIndicator({ mode: 'hide' }).html(data);\n\t\t\t\t\tif (typeof customParams.callback === 'function') {\n\t\t\t\t\t\tcustomParams.callback(popoverBody);\n\t\t\t\t\t}\n\t\t\t\t\tself.setPopoverPosition(selectElement, container);\n\t\t\t\t};\n\t\t\t\tlet urlObject = app.convertUrlToObject(url);\n\t\t\t\tlet cacheData = window.popoverCache[urlObject['record']];\n\t\t\t\tif (typeof cacheData !== 'undefined') {\n\t\t\t\t\tappendPopoverData(cacheData);\n\t\t\t\t} else {\n\t\t\t\t\tAppConnector.request(url).done((data) => {\n\t\t\t\t\t\twindow.popoverCache[urlObject['record']] = data;\n\t\t\t\t\t\tappendPopoverData(data);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t},\n\t/**\n\t * Update popover record position (overwrite bootstrap positioning, failing on huge elements)\n\t * @param {jQuery} popover\n\t * @param {number} offsetLeft\n\t */\n\tsetPopoverPosition(popoverElement, container = $(window)) {\n\t\tlet popover = this.getBindedPopover(popoverElement);\n\t\tif (!popover.length) {\n\t\t\treturn;\n\t\t}\n\t\tconst iframeOffset = this.computePopoverIframeOffset(popoverElement);\n\t\tlet windowHeight = $(window).height(),\n\t\t\twindowWidth = $(window).width(),\n\t\t\tpopoverPadding = 10,\n\t\t\tpopoverBody = popover.find('.popover-body'),\n\t\t\tpopoverHeight = popoverBody.height(),\n\t\t\tpopoverWidth = popoverBody.width(),\n\t\t\toffsetTop = app.mousePosition.y + iframeOffset.top,\n\t\t\toffsetLeft = app.mousePosition.x + iframeOffset.left;\n\t\tif (popoverHeight + offsetTop + popoverPadding > windowHeight) {\n\t\t\toffsetTop = offsetTop - popoverHeight - popoverPadding;\n\t\t}\n\t\tif (popoverWidth + offsetLeft + popoverPadding > windowWidth) {\n\t\t\toffsetLeft = windowWidth - popoverWidth;\n\t\t}\n\t\tpopover.css({\n\t\t\ttransform: `translate3d(${offsetLeft}px, ${offsetTop}px, 0)`\n\t\t});\n\t\tpopover.removeClass('js-popover--before-positioned');\n\t\tpopoverElement.one('hide.bs.popover', () => {\n\t\t\tpopover.addClass('js-popover--before-positioned');\n\t\t});\n\t},\n\t/**\n\t * Compute popover iframe offset\n\t *\n\t * @param   {Object}  popoverElement  jquery\n\t *\n\t * @return  {Object}                  offset top and left\n\t */\n\tcomputePopoverIframeOffset(popoverElement) {\n\t\tlet iframeOffsetTop = 0;\n\t\tlet iframeOffsetLeft = 0;\n\t\tif (!$(document).find(popoverElement).length) {\n\t\t\tlet iframe = $(document).find('iframe');\n\t\t\tconst iframeOffset = iframe.offset();\n\t\t\tiframeOffsetTop += iframeOffset.top;\n\t\t\tiframeOffsetLeft += iframeOffset.left;\n\t\t\tif (!iframe.contents().find(popoverElement).length) {\n\t\t\t\tlet iframe2 = iframe.contents().find('iframe');\n\t\t\t\tconst iframeOffset2 = iframe2.offset();\n\t\t\t\tiframeOffsetTop += iframeOffset2.top;\n\t\t\t\tiframeOffsetLeft += iframeOffset2.left;\n\t\t\t}\n\t\t}\n\t\treturn { top: iframeOffsetTop, left: iframeOffsetLeft };\n\t},\n\t/**\n\t * Get binded popover\n\t * @param {jQuery} element\n\t * @returns {Mixed|jQuery|HTMLElement}\n\t */\n\tgetBindedPopover(element) {\n\t\treturn $(`#${element.attr('aria-describedby')}`);\n\t},\n\t/**\n\t * Function to check the maximum selection size of multiselect and update the results\n\t * @params <object> multiSelectElement\n\t * @params <object> select2 params\n\t */\n\tregisterChangeEventForMultiSelect: function (selectElement, params) {\n\t\tif (typeof selectElement === 'undefined') {\n\t\t\treturn;\n\t\t}\n\t\tvar instance = selectElement.data('select2');\n\t\tvar limit = params.maximumSelectionLength;\n\t\tselectElement.on('change', function (e) {\n\t\t\tvar data = instance.data();\n\t\t\tif ($.isArray(data) && data.length >= limit) {\n\t\t\t\tinstance.updateResults();\n\t\t\t}\n\t\t});\n\t},\n\t/**\n\t * Function to get data of the child elements in serialized format\n\t * @params <object> parentElement - element in which the data should be serialized. Can be selector , domelement or jquery object\n\t * @params <String> returnFormat - optional which will indicate which format return value should be valid values \"object\" and \"string\"\n\t * @return <object> - encoded string or value map\n\t */\n\tgetSerializedData: function (parentElement, returnFormat) {\n\t\tif (typeof returnFormat === 'undefined') {\n\t\t\treturnFormat = 'string';\n\t\t}\n\n\t\tparentElement = $(parentElement);\n\n\t\tlet encodedString = parentElement.children().serialize();\n\t\tif (returnFormat == 'string') {\n\t\t\treturn encodedString;\n\t\t}\n\t\tlet keyValueMap = {};\n\t\tlet valueList = encodedString.split('&');\n\n\t\tfor (let index in valueList) {\n\t\t\tlet keyValueString = valueList[index];\n\t\t\tlet keyValueArr = keyValueString.split('=');\n\t\t\tlet nameOfElement = keyValueArr[0];\n\t\t\tlet valueOfElement = keyValueArr[1];\n\t\t\tkeyValueMap[nameOfElement] = decodeURIComponent(valueOfElement);\n\t\t}\n\t\treturn keyValueMap;\n\t},\n\tshowModalData(data, container, paramsObject, cb, url, sendByAjaxCb) {\n\t\tconst thisInstance = this;\n\t\tlet params = {\n\t\t\tshow: true\n\t\t};\n\t\tif (!app.getMainParams('backgroundClosingModal')) {\n\t\t\tparams.backdrop = 'static';\n\t\t\tparams.keyboard = false;\n\t\t}\n\t\tif (typeof paramsObject === 'object') {\n\t\t\tcontainer.css(paramsObject);\n\t\t\tparams = $.extend(params, paramsObject);\n\t\t}\n\t\tcontainer.html(data);\n\t\tif (container.find('.modal').hasClass('static')) {\n\t\t\tparams.backdrop = 'static';\n\t\t}\n\t\t// In a modal dialog elements can be specified which can receive focus even though they are not descendants of the modal dialog.\n\t\t$.fn.modal.Constructor.prototype._enforceFocus = function (e) {\n\t\t\t$(document)\n\t\t\t\t.off('focusin.bs.modal') // guard against infinite focus loop\n\t\t\t\t.on(\n\t\t\t\t\t'focusin.bs.modal',\n\t\t\t\t\t$.proxy(function (e) {\n\t\t\t\t\t\tif ($(e.target).hasClass('select2-search__field')) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}, this)\n\t\t\t\t);\n\t\t};\n\t\tconst modalContainer = container.find('.modal:first');\n\t\tmodalContainer.one('shown.bs.modal', function () {\n\t\t\tthisInstance.registerDataTables(modalContainer.find('.js-modal-data-table'));\n\t\t\tcb(modalContainer);\n\t\t\tApp.Fields.Picklist.changeSelectElementView(modalContainer);\n\t\t\tApp.Fields.Date.register(modalContainer);\n\t\t\tApp.Fields.DateTime.register(modalContainer);\n\t\t\tApp.Fields.Text.Editor.register(modalContainer.find('.js-editor'), {\n\t\t\t\theight: '5em',\n\t\t\t\ttoolbar: 'Min'\n\t\t\t});\n\t\t\tApp.Fields.MultiAttachment.register(modalContainer);\n\t\t\tApp.Fields.Icon.register(modalContainer);\n\t\t\tapp.registesterScrollbar(modalContainer);\n\t\t\tapp.registerIframeEvents(modalContainer);\n\t\t\tmodalContainer.find('.modal-dialog:not(.js-no-drag)').draggable({\n\t\t\t\thandle: '.modal-title'\n\t\t\t});\n\t\t\tmodalContainer.find('.modal-title').css('cursor', 'move');\n\t\t});\n\t\t$('body').append(container);\n\t\tmodalContainer.modal(params);\n\t\tapp.registerFormsEvents(modalContainer);\n\t\tthisInstance.registerModalEvents(modalContainer, sendByAjaxCb);\n\t},\n\tshowModalWindow: function (data, url, cb, paramsObject = {}) {\n\t\tif (!app.isCurrentWindowTarget('app.showModalWindow', arguments)) {\n\t\t\treturn false;\n\t\t}\n\t\tconst thisInstance = this;\n\t\tlet sendByAjaxCb, modalId;\n\t\tmodalId = 'modal_' + Math.random().toString(36).substr(2, 9);\n\t\t//null is also an object\n\t\tif (typeof data === 'object' && data != null && !(data instanceof $)) {\n\t\t\tif (data.id != undefined) {\n\t\t\t\tmodalId = data.id;\n\t\t\t}\n\t\t\tparamsObject = data.css;\n\t\t\tcb = data.cb;\n\t\t\turl = data.url;\n\t\t\tif (data.sendByAjaxCb !== 'undefined') {\n\t\t\t\tsendByAjaxCb = data.sendByAjaxCb;\n\t\t\t}\n\t\t\tdata = data.data;\n\t\t} else if (typeof data === 'string') {\n\t\t\tlet modalData = $(data).last();\n\t\t\tif (modalData.data('modalid')) {\n\t\t\t\tmodalId = modalData.data('modalid');\n\t\t\t}\n\t\t}\n\t\tif (typeof url === 'function') {\n\t\t\tif (typeof cb === 'object') {\n\t\t\t\tparamsObject = cb;\n\t\t\t}\n\t\t\tcb = url;\n\t\t\turl = false;\n\t\t} else if (typeof url === 'object') {\n\t\t\tcb = function () {};\n\t\t\tparamsObject = url;\n\t\t\turl = false;\n\t\t}\n\t\tif (typeof cb !== 'function') {\n\t\t\tcb = function () {};\n\t\t}\n\t\tif (typeof sendByAjaxCb !== 'function') {\n\t\t\tsendByAjaxCb = function () {};\n\t\t}\n\t\tif (paramsObject !== undefined && paramsObject.modalId !== undefined) {\n\t\t\tmodalId = paramsObject.modalId;\n\t\t}\n\t\t// prevent duplicate hash generation\n\t\tlet container = $('#' + modalId);\n\t\tif (container.length) {\n\t\t\tcontainer.remove();\n\t\t}\n\t\tcontainer = $('<div></div>');\n\t\tcontainer.attr('id', modalId).addClass('modalContainer js-modal-container');\n\t\tcontainer.one('hidden.bs.modal', function () {\n\t\t\tcontainer.remove();\n\t\t\tlet backdrop = $('.modal-backdrop');\n\t\t\tif (!$('.modal.show').length) {\n\t\t\t\tbackdrop.remove();\n\t\t\t}\n\t\t\tif (backdrop.length > 0) {\n\t\t\t\t$('body').addClass('modal-open');\n\t\t\t}\n\t\t});\n\t\tWindow.lastModalId = modalId;\n\t\tif (data) {\n\t\t\tthisInstance.showModalData(data, container, paramsObject, cb, url, sendByAjaxCb);\n\t\t} else {\n\t\t\t$.get(url).done(function (response) {\n\t\t\t\tthisInstance.showModalData(response, container, paramsObject, cb, url, sendByAjaxCb);\n\t\t\t});\n\t\t}\n\t\treturn container;\n\t},\n\tshowModalHtml: function (params) {\n\t\tlet data = '',\n\t\t\ticon = '';\n\t\tlet footer = params['footer'] ?? '';\n\t\tif (params['header']) {\n\t\t\tparams['header'] = `<span class=\"${params['headerIcon']} mr-2\"></span>${params['header']}`;\n\t\t}\n\t\tif (params['footerButtons']) {\n\t\t\t$.each(params['footerButtons'], (i, button) => {\n\t\t\t\ticon = data = '';\n\t\t\t\t$.each(button['data'], (key, val) => {\n\t\t\t\t\tdata += ` data-${key}=\"${val}\"`;\n\t\t\t\t});\n\t\t\t\tif (button['icon']) {\n\t\t\t\t\ticon += `<span class=\"${button['icon']} mr-2\"></span>`;\n\t\t\t\t}\n\t\t\t\tfooter += `<button type=\"button\" class=\"btn ${button['class']}\" ${data}>${icon}${button['text']}</button>`;\n\t\t\t});\n\t\t}\n\t\tif (footer) {\n\t\t\tfooter = `<div class=\"modal-footer\">${footer}</div>`;\n\t\t}\n\t\tlet html = `<div class=\"modal\" role=\"dialog\"><div class=\"modal-dialog ${params['class']}\" role=\"document\"><div class=\"modal-content\">\n\t\t<div class=\"modal-header\"><h5 class=\"modal-title js-modal-title\" data-js=\"container\">${params['header']}</h5><button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"><span aria-hidden=\"true\">&times;</span></button></div>\n\t\t<div class=\"modal-body js-modal-content text-break ${params['bodyClass']}\" data-js=\"container\">${params['body']}</div>${footer}</div></div></div>`;\n\t\tparams.data = html;\n\t\treturn app.showModalWindow(params);\n\t},\n\t/**\n\t * Check if current window is target for a modal and trigger in correct window if not\n\t *\n\t * @param   {String}  sourceFunction  source function name in dot prop notation object\n\t * @param   {Array}  args            source function arguments\n\t *\n\t * @return  {Boolean}                  isCurrentWindowTarget\n\t */\n\tisCurrentWindowTarget(sourceFunction, args) {\n\t\tlet isCurrentWindowTarget = true;\n\t\tif (CONFIG.modalTarget === 'parentIframe') {\n\t\t\tthis.childFrame = true;\n\t\t\tsourceFunction = sourceFunction.split('.');\n\t\t\tsourceFunction.unshift('parent');\n\t\t\tsourceFunction = sourceFunction.reduce((o, i) => o[i], window);\n\t\t\tsourceFunction.apply(window.parent.app, args);\n\t\t\tisCurrentWindowTarget = false;\n\t\t}\n\t\treturn isCurrentWindowTarget;\n\t},\n\t/**\n\t * Function which you can use to hide the modal\n\t * This api assumes that we are using block ui plugin and uses unblock api to unblock it\n\t */\n\thideModalWindow: function (callback, id) {\n\t\tif (!app.isCurrentWindowTarget('app.hideModalWindow', arguments)) {\n\t\t\treturn false;\n\t\t}\n\t\tlet container;\n\t\tif (callback && typeof callback === 'object') {\n\t\t\tcontainer = callback;\n\t\t} else if (id == undefined) {\n\t\t\tcontainer = $('.modalContainer');\n\t\t} else {\n\t\t\tcontainer = $('#' + id);\n\t\t}\n\t\tif (container.length <= 0) {\n\t\t\treturn;\n\t\t}\n\t\tif (typeof callback !== 'function') {\n\t\t\tcallback = function () {};\n\t\t}\n\t\tlet modalContainer = container.find('.modal');\n\t\tmodalContainer.modal('hide');\n\t\tlet backdrop = $('.modal-backdrop:last');\n\t\tif ($('.modalContainer').length == 0 && backdrop.length) {\n\t\t\tbackdrop.remove();\n\t\t}\n\t\tmodalContainer.one('hidden.bs.modal', callback);\n\t},\n\tregisterModalController: function (modalId, modalContainer, cb) {\n\t\tlet windowParent = this.childFrame ? window.parent : window;\n\t\tif (!modalId) {\n\t\t\tmodalId = Window.lastModalId;\n\t\t}\n\t\tif (!modalContainer) {\n\t\t\tmodalContainer = $('#' + modalId + ' .js-modal-data');\n\t\t}\n\t\tlet moduleName = modalContainer.data('module') || 'Base';\n\t\tlet modalClass = moduleName.replace(':', '_') + '_' + modalContainer.data('view') + '_JS';\n\t\tif (typeof windowParent[modalClass] === 'undefined') {\n\t\t\tmodalClass = [...modalClass.split('_').slice(0, -1), 'Js'].join('_');\n\t\t}\n\t\tif (typeof windowParent[modalClass] === 'undefined') {\n\t\t\tmodalClass = 'Base_' + modalContainer.data('view') + '_JS';\n\t\t}\n\t\tif (typeof windowParent[modalClass] !== 'undefined') {\n\t\t\tlet instance = new windowParent[modalClass]();\n\t\t\tif (typeof cb === 'function') {\n\t\t\t\tcb(modalContainer, instance);\n\t\t\t}\n\t\t\tinstance.registerEvents(modalContainer);\n\t\t\tif (modalId && app.modalEvents[modalId]) {\n\t\t\t\tapp.modalEvents[modalId](modalContainer, instance);\n\t\t\t}\n\t\t}\n\t},\n\tregisterModalEvents: function (container, sendByAjaxCb) {\n\t\tlet form = container.find('form');\n\t\tlet validationForm = false;\n\t\tif (form.hasClass('validateForm') || form.hasClass('js-validate-form')) {\n\t\t\tform.validationEngine(app.validationEngineOptions);\n\t\t\tvalidationForm = true;\n\t\t}\n\t\tif (container.data('view') === 'QuickDetailModal') {\n\t\t\tthis.registerBlockAnimationEvent(container);\n\t\t}\n\t\tif (form.hasClass('sendByAjax') || form.hasClass('js-send-by-ajax')) {\n\t\t\tform.on('submit', function (e) {\n\t\t\t\tlet save = true;\n\t\t\t\te.preventDefault();\n\t\t\t\tif (validationForm && form.data('jqv').InvalidFields.length > 0) {\n\t\t\t\t\tapp.formAlignmentAfterValidation(form);\n\t\t\t\t\tsave = false;\n\t\t\t\t}\n\t\t\t\tif (save) {\n\t\t\t\t\tlet progressIndicatorElement = $.progressIndicator({\n\t\t\t\t\t\tblockInfo: { enabled: true }\n\t\t\t\t\t});\n\t\t\t\t\tlet formData = form.serializeFormData();\n\t\t\t\t\tAppConnector.request(formData)\n\t\t\t\t\t\t.done(function (responseData) {\n\t\t\t\t\t\t\tsendByAjaxCb(formData, responseData);\n\t\t\t\t\t\t\tif (responseData.success && responseData.result) {\n\t\t\t\t\t\t\t\tif (responseData.result.notify) {\n\t\t\t\t\t\t\t\t\tVtiger_Helper_Js.showMessage(responseData.result.notify);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (responseData.result.processStop) {\n\t\t\t\t\t\t\t\t\tprogressIndicatorElement.progressIndicator({ mode: 'hide' });\n\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tapp.hideModalWindow();\n\t\t\t\t\t\t\tprogressIndicatorElement.progressIndicator({ mode: 'hide' });\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.fail(function (error) {\n\t\t\t\t\t\t\tapp.showNotify({\n\t\t\t\t\t\t\t\ttype: 'error',\n\t\t\t\t\t\t\t\ttitle: app.vtranslate('JS_UNEXPECTED_ERROR'),\n\t\t\t\t\t\t\t\ttext: error\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tprogressIndicatorElement.progressIndicator({ mode: 'hide' });\n\t\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t},\n\tregisterFormsEvents: function (container) {\n\t\tlet forms = container.find('form.js-form-ajax-submit,form.js-form-single-save');\n\t\tforms.each((i, form) => {\n\t\t\tform = $(form);\n\t\t\tlet validationForm = false;\n\t\t\tif (form.hasClass('js-validate-form')) {\n\t\t\t\tform.validationEngine(app.validationEngineOptions);\n\t\t\t\tvalidationForm = true;\n\t\t\t}\n\t\t\tif (form.hasClass('js-form-single-save')) {\n\t\t\t\tform.find('select,input').on('change', function () {\n\t\t\t\t\tlet element = $(this);\n\t\t\t\t\tif (validationForm && element.validationEngine('validate')) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tlet progressIndicatorElement = $.progressIndicator({\n\t\t\t\t\t\tblockInfo: { enabled: true }\n\t\t\t\t\t});\n\t\t\t\t\tlet formData = form.serializeFormData();\n\t\t\t\t\tlet name = element.attr('name').replace('[]', '');\n\t\t\t\t\tformData['updateField'] = name;\n\t\t\t\t\tformData['updateValue'] = formData[name];\n\t\t\t\t\tAppConnector.request(formData)\n\t\t\t\t\t\t.done(function (responseData) {\n\t\t\t\t\t\t\tif (responseData.success && responseData.result) {\n\t\t\t\t\t\t\t\tif (responseData.result.notify) {\n\t\t\t\t\t\t\t\t\tapp.showNotify(responseData.result.notify);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tprogressIndicatorElement.progressIndicator({ mode: 'hide' });\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.fail(function (error) {\n\t\t\t\t\t\t\tapp.showNotify({\n\t\t\t\t\t\t\t\ttitle: app.vtranslate('JS_UNEXPECTED_ERROR'),\n\t\t\t\t\t\t\t\ttext: error,\n\t\t\t\t\t\t\t\ttype: 'error'\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tprogressIndicatorElement.progressIndicator({ mode: 'hide' });\n\t\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (form.hasClass('js-form-ajax-submit')) {\n\t\t\t\tform.on('submit', function (e) {\n\t\t\t\t\tlet save = true;\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tif (validationForm && form.data('jqv').InvalidFields.length > 0) {\n\t\t\t\t\t\tapp.formAlignmentAfterValidation(form);\n\t\t\t\t\t\tsave = false;\n\t\t\t\t\t}\n\t\t\t\t\tif (save) {\n\t\t\t\t\t\tlet progressIndicatorElement = $.progressIndicator({\n\t\t\t\t\t\t\tblockInfo: { enabled: true }\n\t\t\t\t\t\t});\n\t\t\t\t\t\tAppConnector.request(form.serializeFormData())\n\t\t\t\t\t\t\t.done(function (responseData) {\n\t\t\t\t\t\t\t\tif (responseData.success && responseData.result) {\n\t\t\t\t\t\t\t\t\tif (responseData.result.notify) {\n\t\t\t\t\t\t\t\t\t\tVtiger_Helper_Js.showMessage(responseData.result.notify);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (responseData.result.closeModal) {\n\t\t\t\t\t\t\t\t\t\tapp.hideModalWindow(null, container.closest('.js-modal-container').attr('id'));\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tprogressIndicatorElement.progressIndicator({ mode: 'hide' });\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.fail(function () {\n\t\t\t\t\t\t\t\tapp.showNotify({\n\t\t\t\t\t\t\t\t\ttext: app.vtranslate('JS_UNEXPECTED_ERROR'),\n\t\t\t\t\t\t\t\t\ttype: 'error'\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tprogressIndicatorElement.progressIndicator({ mode: 'hide' });\n\t\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\t},\n\tisHidden: function (element) {\n\t\treturn element.css('display') == 'none';\n\t},\n\tisInvisible: function (element) {\n\t\treturn element.css('visibility') == 'hidden';\n\t},\n\t/**\n\t * Default validation eninge options\n\t */\n\tvalidationEngineOptions: {\n\t\t// Avoid scroll decision and let it scroll up page when form is too big\n\t\t// Reference: http://www.position-absolute.com/articles/jquery-form-validator-because-form-validation-is-a-mess/\n\t\tscroll: false,\n\t\tpromptPosition: 'topLeft',\n\t\t//to support validation for select2 select box\n\t\tprettySelect: true,\n\t\tusePrefix: 's2id_'\n\t},\n\tvalidationEngineOptionsForRecord: {\n\t\tscroll: false,\n\t\tpromptPosition: 'topLeft',\n\t\t//to support validation for select2 select box\n\t\tprettySelect: true,\n\t\tusePrefix: 's2id_',\n\t\tonBeforePromptType: function (field) {\n\t\t\tvar block = field.closest('.js-toggle-panel');\n\t\t\tif (block.find('.blockContent').is(':hidden')) {\n\t\t\t\tblock.find('.blockHeader').click();\n\t\t\t}\n\t\t}\n\t},\n\t/**\n\t * Default scroll options\n\t */\n\tscrollOptions: {\n\t\twheelSpeed: 0.5\n\t},\n\t/**\n\t * Function to push down the error message size when validation is invoked\n\t * @params : form Element\n\t */\n\tformAlignmentAfterValidation: function (form) {\n\t\t// to avoid hiding of error message under the fixed nav bar\n\t\tvar formError = form.find(\".formError:not('.greenPopup'):first\");\n\t\tif (formError.length > 0) {\n\t\t\tvar destination = formError.offset().top;\n\t\t\tvar resizedDestnation = destination - 105;\n\t\t\t$('html').animate(\n\t\t\t\t{\n\t\t\t\t\tscrollTop: resizedDestnation\n\t\t\t\t},\n\t\t\t\t'slow'\n\t\t\t);\n\t\t}\n\t},\n\t/**\n\t * Register block toggle event\n\t * @param {jQuery} container\n\t */\n\tregisterBlockToggleEvent(container) {\n\t\tcontainer.on('click', '.js-block-header', function (e) {\n\t\t\tconst target = $(e.target);\n\t\t\tif (\n\t\t\t\ttarget.is('input') ||\n\t\t\t\ttarget.is('button') ||\n\t\t\t\ttarget.parents().is('button') ||\n\t\t\t\ttarget.hasClass('js-stop-propagation') ||\n\t\t\t\ttarget.parents().hasClass('js-stop-propagation')\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tconst blockHeader = $(e.currentTarget);\n\t\t\tconst blockContents = blockHeader.next();\n\t\t\tconst iconToggle = blockHeader.find('.iconToggle');\n\t\t\tif (blockContents.hasClass('d-none')) {\n\t\t\t\tblockContents.removeClass('d-none');\n\t\t\t\ticonToggle.removeClass(iconToggle.data('hide')).addClass(iconToggle.data('show'));\n\t\t\t} else {\n\t\t\t\tblockContents.addClass('d-none');\n\t\t\t\ticonToggle.removeClass(iconToggle.data('show')).addClass(iconToggle.data('hide'));\n\t\t\t}\n\t\t});\n\t},\n\tregisterBlockAnimationEvent: function (container = false) {\n\t\tlet detailViewContentHolder = $('div.details div.contents');\n\t\tlet blockHeader = detailViewContentHolder.find('.blockHeader');\n\t\tif (container !== false) {\n\t\t\tblockHeader = container.find('.blockHeader');\n\t\t}\n\t\tblockHeader.on('click', function (e) {\n\t\t\tconst target = $(e.target);\n\t\t\tif (\n\t\t\t\ttarget.is('input') ||\n\t\t\t\ttarget.is('button') ||\n\t\t\t\ttarget.parents().is('button') ||\n\t\t\t\ttarget.hasClass('js-stop-propagation') ||\n\t\t\t\ttarget.parents().hasClass('js-stop-propagation')\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tlet currentTarget = $(this).find('.js-block-toggle').not('.d-none');\n\t\t\tlet blockId = currentTarget.data('id');\n\t\t\tlet closestBlock = currentTarget.closest('.js-toggle-panel');\n\t\t\tlet bodyContents = closestBlock.find('.blockContent');\n\t\t\tlet data = currentTarget.data();\n\t\t\tlet module = app.getModuleName();\n\t\t\tif (data.mode === 'show') {\n\t\t\t\tbodyContents.addClass('d-none');\n\t\t\t\tapp.cacheSet(module + '.' + blockId, 0);\n\t\t\t\tcurrentTarget.addClass('d-none');\n\t\t\t\tclosestBlock.find('[data-mode=\"hide\"]').removeClass('d-none');\n\t\t\t} else {\n\t\t\t\tbodyContents.removeClass('d-none');\n\t\t\t\tapp.cacheSet(module + '.' + blockId, 1);\n\t\t\t\tcurrentTarget.addClass('d-none');\n\t\t\t\tclosestBlock.find('[data-mode=\"show\"]').removeClass('d-none');\n\t\t\t}\n\t\t});\n\t},\n\n\tregisterEventForDateFields: function (parentElement) {\n\t\tif (typeof parentElement === 'undefined') {\n\t\t\tparentElement = $('body');\n\t\t}\n\n\t\tparentElement = $(parentElement);\n\t\tlet element;\n\t\tif (parentElement.hasClass('dateField')) {\n\t\t\telement = parentElement;\n\t\t} else {\n\t\t\telement = $('.dateField', parentElement);\n\t\t}\n\t\telement.datepicker({ autoclose: true }).on('changeDate', function (ev) {\n\t\t\tlet currentElement = $(ev.currentTarget),\n\t\t\t\tdateFormat = currentElement.data('dateFormat').toUpperCase(),\n\t\t\t\tdate = $.datepicker.formatDate(moment(ev.date).format(dateFormat), ev.date);\n\t\t\tcurrentElement.val(date);\n\t\t});\n\t\tApp.Fields.Utils.hideMobileKeyboard(element);\n\t},\n\tregisterEventForClockPicker: function (timeInputs = $('.clockPicker')) {\n\t\tif (!timeInputs.hasClass('clockPicker')) {\n\t\t\ttimeInputs = timeInputs.find('.clockPicker');\n\t\t}\n\t\tif (!timeInputs.length) {\n\t\t\treturn;\n\t\t}\n\t\tlet params = {\n\t\t\tplacement: 'bottom',\n\t\t\tautoclose: true,\n\t\t\tminutestep: 5\n\t\t};\n\n\t\t$('.js-clock__btn').on('click', (e) => {\n\t\t\te.stopPropagation();\n\t\t\tlet tempElement = $(e.currentTarget).closest('.time').find('input.clockPicker');\n\t\t\tif (tempElement.attr('disabled') !== 'disabled' && tempElement.attr('readonly') !== 'readonly') {\n\t\t\t\ttempElement.clockpicker('show');\n\t\t\t}\n\t\t});\n\n\t\tlet formatTimeString = (timeInput) => {\n\t\t\tif (params.twelvehour) {\n\t\t\t\tlet meridiemTime = '';\n\t\t\t\tparams.afterDone = () => {\n\t\t\t\t\t//format time string after picking a value\n\t\t\t\t\tlet timeString = timeInput.val(),\n\t\t\t\t\t\ttimeStringFormatted = timeString.slice(0, timeString.length - 2) + ' ' + meridiemTime;\n\t\t\t\t\ttimeInput.val(timeStringFormatted);\n\t\t\t\t\tapp.event.trigger('Clockpicker.changed', timeInput);\n\t\t\t\t};\n\t\t\t\tparams.beforeHide = () => {\n\t\t\t\t\tmeridiemTime = $('.clockpicker-buttons-am-pm:visible').find('a:not(.text-white-50)').text();\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tparams.afterDone = () => {\n\t\t\t\t\tapp.event.trigger('Clockpicker.changed', timeInput);\n\t\t\t\t};\n\t\t\t}\n\t\t};\n\n\t\ttimeInputs.each((i, e) => {\n\t\t\tlet timeInput = $(e);\n\t\t\tlet formatTime = timeInputs.data('format') || CONFIG.hourFormat;\n\t\t\tparams.twelvehour = parseInt(formatTime) === 12 ? true : false;\n\t\t\tformatTimeString(timeInput);\n\t\t\ttimeInput.clockpicker(params);\n\t\t});\n\t\tApp.Fields.Utils.hideMobileKeyboard(timeInputs);\n\t},\n\tregisterDataTables: function (table, options = {}) {\n\t\tif ($.fn.dataTable == undefined) {\n\t\t\treturn false;\n\t\t}\n\t\tif (table.length == 0) {\n\t\t\treturn false;\n\t\t}\n\t\t$.extend($.fn.dataTable.defaults, {\n\t\t\tlanguage: {\n\t\t\t\tsLengthMenu: app.vtranslate('JS_S_LENGTH_MENU'),\n\t\t\t\tsZeroRecords: app.vtranslate('JS_NO_RESULTS_FOUND'),\n\t\t\t\tsInfo: app.vtranslate('JS_S_INFO'),\n\t\t\t\tsInfoEmpty: app.vtranslate('JS_S_INFO_EMPTY'),\n\t\t\t\tsSearch: app.vtranslate('JS_SEARCH'),\n\t\t\t\tsEmptyTable: app.vtranslate('JS_NO_RESULTS_FOUND'),\n\t\t\t\tsInfoFiltered: app.vtranslate('JS_S_INFO_FILTERED'),\n\t\t\t\tsLoadingRecords: app.vtranslate('JS_LOADING_OF_RECORDS'),\n\t\t\t\tsProcessing: app.vtranslate('JS_LOADING_OF_RECORDS'),\n\t\t\t\toPaginate: {\n\t\t\t\t\tsFirst: app.vtranslate('JS_S_FIRST'),\n\t\t\t\t\tsPrevious: app.vtranslate('JS_S_PREVIOUS'),\n\t\t\t\t\tsNext: app.vtranslate('JS_S_NEXT'),\n\t\t\t\t\tsLast: app.vtranslate('JS_S_LAST')\n\t\t\t\t},\n\t\t\t\toAria: {\n\t\t\t\t\tsSortAscending: app.vtranslate('JS_S_SORT_ASCENDING'),\n\t\t\t\t\tsSortDescending: app.vtranslate('JS_S_SORT_DESCENDING')\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tif (!Object.keys(options).length) {\n\t\t\toptions = Object.assign({ searching: true, ordering: true, paging: true, info: true }, table.data());\n\t\t}\n\t\treturn table.DataTable(options);\n\t},\n\t/**\n\t * Function to get the select2 element from the raw select element\n\t * @params: select element\n\t * @return : select2Element - corresponding select2 element\n\t */\n\tgetSelect2ElementFromSelect: function (selectElement) {\n\t\tvar selectId = selectElement.attr('id');\n\t\t//since select2 will add s2id_ to the id of select element\n\t\tvar select2EleId = 'select2-' + selectId + '-container';\n\t\treturn $('#' + select2EleId).closest('.select2-container');\n\t},\n\t/**\n\t * Function to set with of the element to parent width\n\t * @params : jQuery element for which the action to take place\n\t */\n\tsetInheritWidth: function (elements) {\n\t\t$(elements).each(function (index, element) {\n\t\t\tvar parentWidth = $(element).parent().width();\n\t\t\t$(element).width(parentWidth);\n\t\t});\n\t},\n\tshowNewScrollbar: function (element, options = { wheelPropagation: true }) {\n\t\tif (typeof element === 'undefined' || !element.length) return;\n\t\treturn new PerfectScrollbar(element[0], Object.assign(this.scrollOptions, options));\n\t},\n\tshowNewScrollbarTopBottomRight: function (element, options = {}) {\n\t\tif (typeof element === 'undefined' || !element.length) return;\n\t\toptions = Object.assign(options, this.scrollOptions);\n\t\tlet scrollbarTopLeftInit = new PerfectScrollbar(element[0], options);\n\t\tlet scrollbarTopElement = element.find('.ps__rail-x').first();\n\t\tscrollbarTopElement.css({\n\t\t\ttop: 0,\n\t\t\tbottom: 'auto'\n\t\t});\n\t\tscrollbarTopElement.find('.ps__thumb-x').css({\n\t\t\ttop: 2,\n\t\t\tbottom: 'auto'\n\t\t});\n\t\tlet scrollbarBottomRightInit = new PerfectScrollbar(element[0], options);\n\t\treturn [scrollbarTopLeftInit, scrollbarBottomRightInit];\n\t},\n\tshowNewScrollbarTopBottom: function (element, options = { wheelPropagation: true, suppressScrollY: true }) {\n\t\tif (typeof element === 'undefined' || !element.length) return;\n\t\toptions = Object.assign(options, this.scrollOptions);\n\t\tnew PerfectScrollbar(element[0], options);\n\t\tnew PerfectScrollbar(element[0], options);\n\t\tvar scrollbarTopElement = element.find('.ps__rail-x').first();\n\t\tscrollbarTopElement.css({\n\t\t\ttop: 0,\n\t\t\tbottom: 'auto'\n\t\t});\n\t\tscrollbarTopElement.find('.ps__thumb-x').css({\n\t\t\ttop: 2,\n\t\t\tbottom: 'auto'\n\t\t});\n\t},\n\tshowNewScrollbarTop: function (element, options = { wheelPropagation: true, suppressScrollY: true }) {\n\t\tif (typeof element === 'undefined' || !element.length) return;\n\t\toptions = Object.assign(this.scrollOptions, options);\n\t\tnew PerfectScrollbar(element[0], options);\n\t\tvar scrollbarTopElement = element.find('.ps__rail-x').first();\n\t\tscrollbarTopElement.css({\n\t\t\ttop: 0,\n\t\t\tbottom: 'auto'\n\t\t});\n\t\tscrollbarTopElement.find('.ps__thumb-x').css({\n\t\t\ttop: 2,\n\t\t\tbottom: 'auto'\n\t\t});\n\t},\n\tshowNewScrollbarLeft: function (element, options = { wheelPropagation: true }) {\n\t\tif (typeof element === 'undefined' || !element.length) return;\n\t\toptions = Object.assign(this.scrollOptions, options);\n\t\tnew PerfectScrollbar(element[0], options);\n\t\tvar scrollbarLeftElement = element.children('.ps__rail-y').first();\n\t\tscrollbarLeftElement.css({\n\t\t\tleft: 0,\n\t\t\tright: 'auto'\n\t\t});\n\t\tscrollbarLeftElement.find('.ps__thumb-y').css({\n\t\t\tleft: 2,\n\t\t\tright: 'auto'\n\t\t});\n\t},\n\tshowScrollBar: function (element, options = {}) {\n\t\tif (typeof options.height === 'undefined') options.height = element.css('height');\n\t\treturn element.slimScroll(options);\n\t},\n\t/**\n\t * Register middle scroll hack for scrollbar libraries\n\t * @param {jQuery} container\n\t */\n\tregisterMiddleClickScroll(container) {\n\t\tlet middleScroll = false;\n\t\tcontainer.on('mousedown', (e) => {\n\t\t\tlet clickedMouseButton = e.which; // get clicked button id\n\t\t\tif (clickedMouseButton == 2 && middleScroll == false) {\n\t\t\t\tmiddleScroll = true;\n\t\t\t\tlet mouseY = e.pageY,\n\t\t\t\t\tmouseX = e.pageX;\n\t\t\t\t$(document).on('mousemove', (e) => {\n\t\t\t\t\tif (middleScroll == true) {\n\t\t\t\t\t\t$('body').addClass('u-cursor-scroll-all');\n\t\t\t\t\t\tlet mouseMoveY = mouseY - e.pageY,\n\t\t\t\t\t\t\tscrollSlowerRate = 100, // higher number = slower scroll\n\t\t\t\t\t\t\tcontentScrollY = container.scrollTop(),\n\t\t\t\t\t\t\tscrollerY = contentScrollY - mouseMoveY - scrollSlowerRate,\n\t\t\t\t\t\t\tmouseMoveX = mouseX - e.pageX,\n\t\t\t\t\t\t\tcontentScrollX = container.scrollLeft(),\n\t\t\t\t\t\t\tscrollerX = contentScrollX - mouseMoveX - scrollSlowerRate;\n\t\t\t\t\t\tcontainer.scrollTop(scrollerY);\n\t\t\t\t\t\tcontainer.scrollLeft(scrollerX);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\tcontainer.on('mouseup', () => {\n\t\t\t$('body').removeClass('u-cursor-scroll-all');\n\t\t\tmiddleScroll = false;\n\t\t});\n\t},\n\t/**\n\t * Function returns translated string\n\t */\n\tvtranslate: function (key) {\n\t\tif (key in LANG) {\n\t\t\treturn LANG[key];\n\t\t}\n\t\treturn key;\n\t},\n\t/*\n\t * Cache API on client-side\n\t */\n\tcacheNSKey: function (key) {\n\t\t// Namespace in client-storage\n\t\treturn 'yf.' + key;\n\t},\n\tcacheGet: function (key) {\n\t\tkey = this.cacheNSKey(key);\n\t\treturn store.get(key);\n\t},\n\tcacheSet: function (key, value) {\n\t\tkey = this.cacheNSKey(key);\n\t\tstore.set(key, value);\n\t},\n\tcacheClear: function (key) {\n\t\tkey = this.cacheNSKey(key);\n\t\treturn store.remove(key);\n\t},\n\tmoduleCacheSet: function (key, value) {\n\t\tconst orgKey = key;\n\t\tkey = this.getModuleName() + '_' + key;\n\t\tthis.cacheSet(key, value);\n\n\t\tconst cacheKey = 'mCache' + this.getModuleName();\n\t\tlet moduleCache = this.cacheGet(cacheKey);\n\t\tif (moduleCache == null) {\n\t\t\tmoduleCache = [];\n\t\t} else {\n\t\t\tmoduleCache = moduleCache.split(',');\n\t\t}\n\t\tmoduleCache.push(orgKey);\n\t\tthis.cacheSet(cacheKey, Vtiger_Helper_Js.unique(moduleCache).join(','));\n\t},\n\tmoduleCacheGet: function (key) {\n\t\treturn this.cacheGet(this.getModuleName() + '_' + key);\n\t},\n\tmoduleCacheKeys: function () {\n\t\tconst modules = this.cacheGet('mCache' + this.getModuleName());\n\t\tif (modules) {\n\t\t\treturn modules.split(',');\n\t\t}\n\t\treturn [];\n\t},\n\tmoduleCacheClear: function (key) {\n\t\tvar thisInstance = this;\n\t\tvar moduleName = this.getModuleName();\n\t\tvar cacheKey = 'mCache' + moduleName;\n\t\tvar moduleCache = this.cacheGet(cacheKey);\n\t\tif (moduleCache == null) {\n\t\t\tmoduleCache = [];\n\t\t} else {\n\t\t\tmoduleCache = moduleCache.split(',');\n\t\t}\n\t\t$.each(moduleCache, function (index, value) {\n\t\t\tthisInstance.cacheClear(moduleName + '_' + value);\n\t\t});\n\t\tthisInstance.cacheClear(cacheKey);\n\t},\n\thtmlEncode: function (value) {\n\t\tif (value) {\n\t\t\treturn $('<div />').text(value).html();\n\t\t} else {\n\t\t\treturn '';\n\t\t}\n\t},\n\thtmlDecode: function (value) {\n\t\tif (value) {\n\t\t\treturn $('<div />').html(value).text();\n\t\t} else {\n\t\t\treturn '';\n\t\t}\n\t},\n\t/**\n\t * Function places an element at the center of the page\n\t * @param <jQuery Element> element\n\t */\n\tplaceAtCenter: function (element) {\n\t\telement.css('position', 'absolute');\n\t\telement.css('top', ($(window).height() - element.outerHeight()) / 2 + $(window).scrollTop() + 'px');\n\t\telement.css('left', ($(window).width() - element.outerWidth()) / 2 + $(window).scrollLeft() + 'px');\n\t},\n\tgetvalidationEngineOptions: function (select2Status) {\n\t\treturn Object.assign({}, app.validationEngineOptions);\n\t},\n\t/**\n\t * Function to notify UI page ready after AJAX changes.\n\t * This can help in re-registering the event handlers (which was done during ready event).\n\t */\n\tnotifyPostAjaxReady: function () {\n\t\t$(document).trigger('postajaxready');\n\t},\n\t/**\n\t * Listen to xready notiications.\n\t */\n\tlistenPostAjaxReady: function (callback) {\n\t\t$(document).on('postajaxready', callback);\n\t},\n\t/**\n\t * Form function handlers\n\t */\n\tsetFormValues: function (kv) {\n\t\tfor (var k in kv) {\n\t\t\t$(k).val(kv[k]);\n\t\t}\n\t},\n\t/**\n\t * Function returns the javascript controller based on the current view\n\t */\n\tgetPageController: function () {\n\t\tif (window.pageController) {\n\t\t\treturn window.pageController;\n\t\t}\n\t\tconst moduleName = app.getModuleName();\n\t\tconst view = app.getViewName();\n\t\tconst parentModule = app.getParentModuleName();\n\t\tlet moduleClassName = parentModule + '_' + moduleName + '_' + view + '_Js';\n\t\tif (typeof window[moduleClassName] === 'undefined') {\n\t\t\tmoduleClassName = parentModule + '_Vtiger_' + view + '_Js';\n\t\t}\n\t\tif (typeof window[moduleClassName] === 'undefined') {\n\t\t\tmoduleClassName = moduleName + '_' + view + '_Js';\n\t\t}\n\t\tvar extendModules = $('#extendModules').val();\n\t\tif (typeof window[moduleClassName] === 'undefined' && extendModules != undefined) {\n\t\t\tmoduleClassName = extendModules + '_' + view + '_Js';\n\t\t}\n\t\tif (typeof window[moduleClassName] === 'undefined') {\n\t\t\tmoduleClassName = 'Vtiger_' + view + '_Js';\n\t\t}\n\t\tif (typeof window[moduleClassName] !== 'undefined') {\n\t\t\tif (typeof window[moduleClassName] === 'function') {\n\t\t\t\treturn (window.pageController = new window[moduleClassName]());\n\t\t\t}\n\t\t\tif (typeof window[moduleClassName] === 'object') {\n\t\t\t\treturn (window.pageController = window[moduleClassName]);\n\t\t\t}\n\t\t}\n\t\tlet moduleBaseClassName = parentModule + '_' + moduleName + '_' + 'Index_Js';\n\t\tif (typeof window[moduleBaseClassName] !== 'undefined') {\n\t\t\tif (typeof window[moduleBaseClassName] === 'function') {\n\t\t\t\treturn (window.pageController = new window[moduleBaseClassName]());\n\t\t\t}\n\t\t\tif (typeof window[moduleBaseClassName] === 'object') {\n\t\t\t\treturn (window.pageController = window[moduleBaseClassName]);\n\t\t\t}\n\t\t}\n\t},\n\t/**\n\t * Function to decode the encoded htmlentities values\n\t */\n\tgetDecodedValue: function (value) {\n\t\treturn $('<div></div>').html(value).text();\n\t},\n\tgetCookie: function (c_name) {\n\t\tvar c_value = document.cookie;\n\t\tvar c_start = c_value.indexOf(' ' + c_name + '=');\n\t\tif (c_start === -1) {\n\t\t\tc_start = c_value.indexOf(c_name + '=');\n\t\t}\n\t\tif (c_start === -1) {\n\t\t\tc_value = null;\n\t\t} else {\n\t\t\tc_start = c_value.indexOf('=', c_start) + 1;\n\t\t\tvar c_end = c_value.indexOf(';', c_start);\n\t\t\tif (c_end === -1) {\n\t\t\t\tc_end = c_value.length;\n\t\t\t}\n\t\t\tc_value = unescape(c_value.substring(c_start, c_end));\n\t\t}\n\t\treturn c_value;\n\t},\n\tsetCookie: function (c_name, value, exdays) {\n\t\tvar exdate = new Date();\n\t\texdate.setDate(exdate.getDate() + exdays);\n\t\tvar c_value = escape(value) + (exdays == null ? '' : '; expires=' + exdate.toUTCString());\n\t\tdocument.cookie = c_name + '=' + c_value;\n\t},\n\tgetUrlVar: function (varName) {\n\t\tvar getVar = function () {\n\t\t\tvar vars = {};\n\t\t\twindow.location.search.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (m, key, value) {\n\t\t\t\tvars[key] = value;\n\t\t\t});\n\t\t\treturn vars;\n\t\t};\n\n\t\treturn getVar()[varName];\n\t},\n\tsaveAjax: function (mode, param, addToParams) {\n\t\tvar aDeferred = $.Deferred();\n\t\tvar params = {};\n\t\tparams['module'] = app.getModuleName();\n\t\tparams['parent'] = app.getParentModuleName();\n\t\tparams['action'] = 'SaveAjax';\n\t\tif (mode) {\n\t\t\tparams['mode'] = mode;\n\t\t}\n\t\tparams['param'] = param;\n\t\tif (addToParams != undefined) {\n\t\t\tfor (var i in addToParams) {\n\t\t\t\tparams[i] = addToParams[i];\n\t\t\t}\n\t\t}\n\t\tAppConnector.request(params)\n\t\t\t.done(function (data) {\n\t\t\t\taDeferred.resolve(data);\n\t\t\t})\n\t\t\t.fail(function (textStatus, errorThrown) {\n\t\t\t\taDeferred.reject(textStatus, errorThrown);\n\t\t\t});\n\t\treturn aDeferred.promise();\n\t},\n\t/**\n\t * Hack for Safari breaking down, when sending empty file input\n\t * @param html\n\t */\n\tremoveEmptyFilesInput(form) {\n\t\tfor (let i = 0; i < form.elements.length; i++) {\n\t\t\tif (form.elements[i].type === 'file') {\n\t\t\t\tif (form.elements[i].value === '') {\n\t\t\t\t\tform.elements[i].parentNode.removeChild(form.elements[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\tgetMainParams: function (param, json) {\n\t\tif (param in CONFIG) {\n\t\t\treturn CONFIG[param];\n\t\t}\n\t\tif (app.cacheParams[param] === undefined) {\n\t\t\tapp.cacheParams[param] = $('#' + param).val();\n\t\t}\n\t\tlet value = app.cacheParams[param];\n\t\tif (json) {\n\t\t\tif (value) {\n\t\t\t\tvalue = JSON.parse(value);\n\t\t\t} else {\n\t\t\t\tvalue = [];\n\t\t\t}\n\t\t}\n\t\treturn value;\n\t},\n\tsetMainParams: function (param, value) {\n\t\tapp.cacheParams[param] = value;\n\t\t$('#' + param).val(value);\n\t},\n\terrorLog: function (error, err, errorThrown) {\n\t\tif (!CONFIG.debug) {\n\t\t\treturn;\n\t\t}\n\t\tconsole.warn(\n\t\t\t'%cYetiForce debug mode!!!',\n\t\t\t'color: red; font-family: sans-serif; font-size: 1.5em; font-weight: bolder; text-shadow: #000 1px 1px;'\n\t\t);\n\t\tif (typeof error === 'object' && error.responseText) {\n\t\t\terror = error.responseText;\n\t\t}\n\t\tif (typeof error === 'object' && error.statusText) {\n\t\t\terror = error.statusText;\n\t\t}\n\t\tif (error) {\n\t\t\tconsole.error(error);\n\t\t}\n\t\tif (err && err !== 'error') {\n\t\t\tconsole.error(err);\n\t\t}\n\t\tif (errorThrown) {\n\t\t\tconsole.error(errorThrown);\n\t\t}\n\t},\n\tregisterQuickEditModal: function (container) {\n\t\tif (typeof container === 'undefined') {\n\t\t\tcontainer = $('body');\n\t\t}\n\t\tcontainer.on('click', '.js-quick-edit-modal', function (e) {\n\t\t\te.preventDefault();\n\t\t\tlet element = $(this);\n\t\t\tlet data = {\n\t\t\t\tmodule: element.data('module'),\n\t\t\t\trecord: element.data('record'),\n\t\t\t\tremoveFromUrl: 'step'\n\t\t\t};\n\t\t\tif (element.data('values')) {\n\t\t\t\t$.extend(data, element.data('values'));\n\t\t\t}\n\t\t\t$.each(['mandatoryFields', 'modalTitle', 'showLayout', 'editFields', 'picklistValues'], function (index, value) {\n\t\t\t\tif (element.data(value)) {\n\t\t\t\t\tdata[value] = element.data(value);\n\t\t\t\t}\n\t\t\t});\n\t\t\tApp.Components.QuickEdit.showModal(data, element);\n\t\t});\n\t},\n\tregisterModal: function (container) {\n\t\tif (typeof container === 'undefined') {\n\t\t\tcontainer = $('body');\n\t\t}\n\t\tcontainer\n\t\t\t.off('click', 'button.showModal, a.showModal, .js-show-modal')\n\t\t\t.on('click', 'button.showModal, a.showModal, .js-show-modal', function (e) {\n\t\t\t\te.preventDefault();\n\t\t\t\tlet currentElement = $(e.currentTarget);\n\t\t\t\tlet url = currentElement.data('url');\n\n\t\t\t\tif (typeof url !== 'undefined') {\n\t\t\t\t\tif (currentElement.hasClass('js-popover-tooltip')) {\n\t\t\t\t\t\tcurrentElement.popover('hide');\n\t\t\t\t\t}\n\t\t\t\t\tif (currentElement.hasClass('disabledOnClick')) {\n\t\t\t\t\t\tcurrentElement.attr('disabled', true);\n\t\t\t\t\t}\n\t\t\t\t\tlet modalWindowParams = {\n\t\t\t\t\t\turl: url,\n\t\t\t\t\t\tcb: function (container) {\n\t\t\t\t\t\t\tlet call = currentElement.data('cb');\n\t\t\t\t\t\t\tif (typeof call !== 'undefined') {\n\t\t\t\t\t\t\t\tif (call.indexOf('.') !== -1) {\n\t\t\t\t\t\t\t\t\tlet callerArray = call.split('.');\n\t\t\t\t\t\t\t\t\tif (typeof window[callerArray[0]] === 'object' || typeof window[callerArray[0]] === 'function') {\n\t\t\t\t\t\t\t\t\t\twindow[callerArray[0]][callerArray[1]](container, e);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tif (typeof window[call] === 'function') {\n\t\t\t\t\t\t\t\t\t\twindow[call](container, e);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcurrentElement.removeAttr('disabled');\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\tif (currentElement.data('modalid')) {\n\t\t\t\t\t\tmodalWindowParams['id'] = currentElement.data('modalid');\n\t\t\t\t\t}\n\t\t\t\t\tapp.showModalWindow(modalWindowParams);\n\t\t\t\t}\n\t\t\t\te.stopPropagation();\n\t\t\t});\n\t\tcontainer.off('click', '.js-show-modal-content').on('click', '.js-show-modal-content', function (e) {\n\t\t\te.preventDefault();\n\t\t\tlet currentElement = $(e.currentTarget);\n\t\t\tlet content = currentElement.data('content');\n\t\t\tlet title = '',\n\t\t\t\tmodalClass = '';\n\t\t\tif (currentElement.data('title')) {\n\t\t\t\ttitle = currentElement.data('title');\n\t\t\t}\n\t\t\tif (currentElement.data('class')) {\n\t\t\t\tmodalClass = currentElement.data('class');\n\t\t\t}\n\t\t\tapp.showModalHtml({\n\t\t\t\tclass: modalClass,\n\t\t\t\theader: title,\n\t\t\t\tbody: content\n\t\t\t});\n\t\t\te.stopPropagation();\n\t\t});\n\t},\n\tplaySound: function (action) {\n\t\tconst soundsConfig = app.getMainParams('sounds');\n\t\tif (soundsConfig['IS_ENABLED']) {\n\t\t\tconst audio = new Audio(app.getMainParams('soundFilesPath') + soundsConfig[action]);\n\t\t\taudio.volume = 0.3;\n\t\t\taudio.play();\n\t\t}\n\t},\n\tregisterIframeAndMoreContent(container = $(document)) {\n\t\tcontainer.on('click', '.js-more', (e) => {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tconst btn = $(e.currentTarget);\n\t\t\tapp.showModalHtml({\n\t\t\t\tclass: btn.data('modalSize') ? btn.data('modalSize') : 'modal-fullscreen',\n\t\t\t\theader: app.vtranslate('JS_FULL_TEXT'),\n\t\t\t\theaderIcon: 'mdi mdi-overscan',\n\t\t\t\tbodyClass: 'u-word-break pb-0 pt-1',\n\t\t\t\tfooterButtons: [\n\t\t\t\t\t{ text: app.vtranslate('JS_CANCEL'), icon: 'fas fa-times', class: 'btn-danger', data: { dismiss: 'modal' } }\n\t\t\t\t],\n\t\t\t\tcb: (modal) => {\n\t\t\t\t\tif (btn.data('iframe')) {\n\t\t\t\t\t\tlet iframe = btn.siblings('iframe');\n\t\t\t\t\t\tlet message = iframe.clone();\n\t\t\t\t\t\tif (message[0].hasAttribute('srcdoctemp')) {\n\t\t\t\t\t\t\tmessage.attr('srcdoc', message.attr('srcdoctemp'));\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlet isHidden = iframe.is(':hidden');\n\t\t\t\t\t\tlet height = 0;\n\t\t\t\t\t\tif (iframe.data('height')) {\n\t\t\t\t\t\t\tif (iframe.data('height') === 'full') {\n\t\t\t\t\t\t\t\theight = $(window).height() - 185;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\theight = iframe.data('height');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (isHidden) {\n\t\t\t\t\t\t\t\tmessage.css('display', '');\n\t\t\t\t\t\t\t\tiframe.css('display', '');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\theight = iframe.contents().height() ?? iframe.contents().find('body').height();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (height) {\n\t\t\t\t\t\t\tmessage.height(height);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (isHidden) {\n\t\t\t\t\t\t\tiframe.css('display', 'none');\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmodal.find('.js-modal-content').html(message);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmodal.find('.js-modal-content').html(btn.closest('.js-more-content').find('.fullContent').html());\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t},\n\tregisterIframeEvents(content) {\n\t\tcontent.find('.js-iframe-full-height').each(function () {\n\t\t\tlet iframe = $(this);\n\t\t\tiframe.on('load', (e) => {\n\t\t\t\tiframe.height(iframe.contents().find('body').height() + 50);\n\t\t\t});\n\t\t});\n\t\tcontent.find('.js-modal-iframe').each(function () {\n\t\t\tlet iframe = $(this);\n\t\t\tiframe.on('load', (e) => {\n\t\t\t\tlet height = iframe.contents().find('body').height();\n\t\t\t\tif (height && height < iframe.height()) {\n\t\t\t\t\tiframe.height(height + 50);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t},\n\tregisterMenu: function () {\n\t\tconst self = this;\n\t\tself.keyboard = { DOWN: 40, ESCAPE: 27, LEFT: 37, RIGHT: 39, SPACE: 32, UP: 38 };\n\t\tself.sidebarBtn = $('.js-sidebar-btn').first();\n\t\tself.sidebar = $('.js-sidebar').first();\n\t\tself.sidebarBtn.on('click', self.toggleSidebar.bind(self));\n\t\t$('a.nav-link,[tabindex],input,select,textarea,button').on('focus', (e) => {\n\t\t\tif (self.sidebarBtn[0] == e.target || self.sidebar.find(e.target).length) return;\n\t\t\tif (self.sidebar.find(':focus').length) {\n\t\t\t\tself.openSidebar();\n\t\t\t} else if (self.sidebar.hasClass('js-expand')) {\n\t\t\t\tself.closeSidebar();\n\t\t\t}\n\t\t});\n\t\tself.sidebar.on('mouseenter', self.openSidebar.bind(self)).on('mouseleave', self.closeSidebar.bind(self));\n\t\tself.sidebar.find('.js-menu__content').on('keydown', self.sidebarKeyboard.bind(self));\n\t\tself.sidebar.on('keydown', (e) => {\n\t\t\tif (e.which == self.keyboard.ESCAPE) {\n\t\t\t\tself.closeSidebar();\n\t\t\t\tif (self.sidebarBtn.is(':tabbable')) self.sidebarBtn.focus();\n\t\t\t\telse\n\t\t\t\t\t$(':tabbable')\n\t\t\t\t\t\t.eq(parseInt($(':tabbable').index(self.sidebar.find(':tabbable').last())) + 1)\n\t\t\t\t\t\t.focus();\n\t\t\t}\n\t\t});\n\t\t$('.js-submenu-toggler').on('click', (e) => {\n\t\t\tif (!$(e.currentTarget).hasClass('collapsed') && !$(e.target).closest('.toggler').length) {\n\t\t\t\twindow.location = $(e.currentTarget).attr('href');\n\t\t\t}\n\t\t});\n\t\tself.registerPinEvent();\n\t},\n\topenSidebar: function () {\n\t\tthis.sidebar.addClass('js-expand');\n\t\tthis.sidebarBtn.attr('aria-expanded', true);\n\t},\n\tcloseSidebar: function () {\n\t\tthis.sidebar.removeClass('js-expand');\n\t\tthis.sidebarBtn.attr('aria-expanded', false);\n\t},\n\ttoggleSidebar: function () {\n\t\tif (this.sidebar.hasClass('js-expand')) {\n\t\t\tthis.closeSidebar();\n\t\t} else {\n\t\t\tthis.openSidebar();\n\t\t\tthis.sidebar.find('.js-menu__content :tabbable').first().focus();\n\t\t}\n\t},\n\tregisterPinEvent: function () {\n\t\tconst self = this;\n\t\tlet pinButton = self.sidebar.find('.js-menu--pin');\n\t\tlet baseContainer = self.sidebar.closest('.js-base-container');\n\t\tpinButton.on('click', () => {\n\t\t\tlet hideMenu = 0;\n\t\t\tbaseContainer.removeClass('c-menu--animation');\n\t\t\tif (pinButton.attr('data-show') === '0') {\n\t\t\t\thideMenu = 'on';\n\t\t\t\tpinButton.removeClass('u-opacity-muted');\n\t\t\t\tbaseContainer.addClass('c-menu--open');\n\t\t\t\tself.sidebar.off('mouseleave mouseenter');\n\t\t\t} else {\n\t\t\t\tpinButton.addClass('u-opacity-muted');\n\t\t\t\tbaseContainer.removeClass('c-menu--open');\n\t\t\t\tself.sidebar.on('mouseenter', self.openSidebar.bind(self)).on('mouseleave', self.closeSidebar.bind(self));\n\t\t\t\tself.closeSidebar.bind(self);\n\t\t\t}\n\t\t\tAppConnector.request({\n\t\t\t\tmodule: 'Users',\n\t\t\t\taction: 'SaveAjax',\n\t\t\t\tfield: 'leftpanelhide',\n\t\t\t\trecord: CONFIG.userId,\n\t\t\t\tvalue: hideMenu\n\t\t\t}).done(function (responseData) {\n\t\t\t\tif (responseData.success && responseData.result) {\n\t\t\t\t\tpinButton.attr('data-show', hideMenu);\n\t\t\t\t}\n\t\t\t});\n\t\t\tsetTimeout(() => {\n\t\t\t\tbaseContainer.addClass('c-menu--animation');\n\t\t\t}, 300);\n\t\t});\n\t},\n\tsidebarKeyboard: function (e) {\n\t\tlet target = $(e.target);\n\t\tif (e.which == this.keyboard.LEFT) {\n\t\t\tif (target.hasClass('js-submenu-toggler') && !target.hasClass('collapsed')) {\n\t\t\t\ttarget.click();\n\t\t\t\treturn false;\n\t\t\t} else {\n\t\t\t\tlet toggler = $(e.target).closest('.js-submenu').prev('.js-submenu-toggler');\n\t\t\t\tif (toggler.length && !toggler.hasClass('collapsed')) {\n\t\t\t\t\ttoggler.click().focus();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (\n\t\t\t(target.hasClass('js-submenu-toggler') && e.which == this.keyboard.RIGHT && target.hasClass('collapsed')) ||\n\t\t\t(target.hasClass('js-submenu-toggler') && e.which == this.keyboard.SPACE)\n\t\t) {\n\t\t\ttarget.click();\n\t\t\treturn false;\n\t\t} else if (e.which == this.keyboard.UP) {\n\t\t\tthis.sidebar\n\t\t\t\t.find('.js-menu__content :tabbable')\n\t\t\t\t.eq(parseInt(this.sidebar.find('.js-menu__content :tabbable').index(target)) - 1)\n\t\t\t\t.focus();\n\t\t\treturn false;\n\t\t} else if (e.which == this.keyboard.DOWN) {\n\t\t\tthis.sidebar\n\t\t\t\t.find('.js-menu__content :tabbable')\n\t\t\t\t.eq(parseInt(this.sidebar.find('.js-menu__content :tabbable').index(target)) + 1)\n\t\t\t\t.focus();\n\t\t\treturn false;\n\t\t}\n\t},\n\tregisterTabdrop: function () {\n\t\tlet tabs = $('.js-tabdrop');\n\t\tif (!tabs.length) return;\n\t\tlet tab = tabs.find('> li');\n\t\ttab.each(function () {\n\t\t\t$(this).removeClass('d-none');\n\t\t});\n\t\ttabs.tabdrop({\n\t\t\ttext: app.vtranslate('JS_MORE')\n\t\t});\n\t\t//change position to the last element (wcag keyboard navigation)\n\t\tlet dropdown = tabs.find('> li.dropdown');\n\t\tdropdown.appendTo(tabs);\n\t\t//fix for toggle button text not changing\n\t\ttab.on('click', function (e) {\n\t\t\tsetTimeout(function () {\n\t\t\t\t$(window).trigger('resize');\n\t\t\t}, 500);\n\t\t});\n\t\t$(window).trigger('resize');\n\t},\n\tgetScreenHeight: function (percantage) {\n\t\tif (typeof percantage === 'undefined') {\n\t\t\tpercantage = 100;\n\t\t}\n\t\treturn ($(window).height() * percantage) / 100;\n\t},\n\tclearBrowsingHistory: function () {\n\t\tAppConnector.request({\n\t\t\tmodule: 'Home',\n\t\t\taction: 'BrowsingHistory'\n\t\t}).done(function (response) {\n\t\t\t$('.historyList').html(\n\t\t\t\t`<a class=\"item dropdown-item\" href=\"#\" role=\"listitem\">${app.vtranslate('JS_NO_RECORDS')}</a>`\n\t\t\t);\n\t\t});\n\t},\n\t/**\n\t * Open url in top window\n\t * @param string url\n\t */\n\topenUrl(url) {\n\t\tif (CONFIG.openUrlTarget === 'parentIframe') {\n\t\t\twindow.parent.location.href = url;\n\t\t} else {\n\t\t\twindow.location.href = url;\n\t\t}\n\t},\n\t/**\n\t * Convert url string to object\n\t *\n\t * @param   {string}  url  example: index.php?module=LayoutEditor&parent=Settings\n\t */\n\tchangeUrl(params) {\n\t\tlet fullUrl = '';\n\t\tif (params.data && typeof params.data.historyUrl !== 'undefined') {\n\t\t\tfullUrl = params.data.historyUrl;\n\t\t}\n\t\tif (fullUrl === '') {\n\t\t\tif (params.data) {\n\t\t\t\tif (typeof params.data == 'string') {\n\t\t\t\t\tfullUrl = 'index.php?' + params.data;\n\t\t\t\t} else {\n\t\t\t\t\tfullUrl = 'index.php?' + $.param(params.data);\n\t\t\t\t}\n\t\t\t} else if (typeof params === 'object') {\n\t\t\t\tfullUrl = 'index.php?' + $.param(params);\n\t\t\t}\n\t\t} else if (fullUrl.indexOf('index.php?') === -1) {\n\t\t\tfullUrl = 'index.php?' + fullUrl;\n\t\t}\n\t\tif (app.isWindowTop() && history && history.pushState && fullUrl !== '') {\n\t\t\tif (!history.state) {\n\t\t\t\tlet currentHref = window.location.href;\n\t\t\t\thistory.replaceState(currentHref, 'title 1', currentHref);\n\t\t\t}\n\t\t\thistory.pushState(fullUrl, 'title 2', fullUrl);\n\t\t}\n\t},\n\t/**\n\t * Convert url string to object\n\t *\n\t * @param   {string}  url  example: index.php?module=LayoutEditor&parent=Settings\n\t *\n\t * @return  {object}       urlObject\n\t */\n\tconvertUrlToObject(url) {\n\t\tlet urlObject = {};\n\t\tif (url.indexOf('index.php?') !== -1) {\n\t\t\turl = url.split('index.php?')[1];\n\t\t}\n\t\turl.split('&').forEach((el) => {\n\t\t\tif (el.includes('=')) {\n\t\t\t\tlet values = el.split('=');\n\t\t\t\turlObject[values[0]] = values[1];\n\t\t\t}\n\t\t});\n\t\treturn urlObject;\n\t},\n\t/**\n\t * Convert object to url string\n\t *\n\t * @param   {object}  urlData\n\t * @param   {string}  entryFile\n\t *\n\t * @return  {string}          url\n\t */\n\tconvertObjectToUrl(urlData = {}, entryFile = 'index.php?') {\n\t\tlet url = entryFile;\n\t\tObject.keys(urlData).forEach((key) => {\n\t\t\tlet value = urlData[key];\n\t\t\tif (typeof value === 'object' || (typeof value === 'string' && value.startsWith('<'))) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (!url.endsWith('&') && !url.endsWith('?')) {\n\t\t\t\turl += '&';\n\t\t\t}\n\t\t\turl += key + '=' + encodeURIComponent(value);\n\t\t});\n\n\t\treturn url;\n\t},\n\tformatToHourText: function (decTime, type = 'short', withSeconds = false, withMinutes = true) {\n\t\tconst short = type === 'short';\n\t\tconst hour = Math.floor(decTime);\n\t\tconst min = Math.floor((decTime - hour) * 60);\n\t\tconst sec = Math.round(((decTime - hour) * 60 - min) * 60);\n\t\tlet result = '';\n\t\tif (hour) {\n\t\t\tresult += short ? hour + app.vtranslate('JS_H') : `${hour} ` + app.vtranslate('JS_H_LONG');\n\t\t}\n\t\tif ((hour || min) && withMinutes) {\n\t\t\tresult += short ? ` ${min}` + app.vtranslate('JS_M') : ` ${min} ` + app.vtranslate('JS_M_LONG');\n\t\t}\n\t\tif (withSeconds !== false) {\n\t\t\tresult += short ? ` ${sec}` + app.vtranslate('JS_S') : ` ${sec} ` + app.vtranslate('JS_S_LONG');\n\t\t}\n\t\tif (!hour && !min && withSeconds === false && withMinutes) {\n\t\t\tresult += short ? '0' + app.vtranslate('JS_M') : '0 ' + app.vtranslate('JS_M_LONG');\n\t\t}\n\t\tif (!hour && !min && withSeconds === false && !withMinutes) {\n\t\t\tresult += short ? '0' + app.vtranslate('JS_H') : '0 ' + app.vtranslate('JS_H_LONG');\n\t\t}\n\t\treturn result.trim();\n\t},\n\tshowRecordsList: function (params, cb, afterShowModal) {\n\t\tif (typeof params === 'object' && !params.view) {\n\t\t\tparams.view = 'RecordsList';\n\t\t}\n\t\tthis.showRecordsListModal(params).done(function (modal) {\n\t\t\tif (typeof afterShowModal === 'function') {\n\t\t\t\tafterShowModal(modal);\n\t\t\t}\n\t\t\tapp.registerModalController(false, modal, cb);\n\t\t});\n\t},\n\t/**\n\t * Show records list modal\n\t * @param {object} params\n\t * @returns {Promise}\n\t */\n\tshowRecordsListModal: function (params) {\n\t\tconst aDeferred = $.Deferred();\n\t\tAppConnector.request(params)\n\t\t\t.done(function (requestData) {\n\t\t\t\tapp.showModalWindow(requestData, function (modal) {\n\t\t\t\t\taDeferred.resolve(modal);\n\t\t\t\t});\n\t\t\t})\n\t\t\t.fail(function (textStatus, errorThrown) {\n\t\t\t\taDeferred.reject(textStatus, errorThrown);\n\t\t\t});\n\t\treturn aDeferred.promise();\n\t},\n\t/**\n\t * Convert html content to base64 image\n\t * This function can be used in promise chain or with callback if specified\n\t *\n\t * @param {HTMLElement} element\n\t * @param {function} callback with imageString argument which contains an image in base64 string format\n\t * @param {object} options see: https://html2canvas.hertzen.com/configuration , imageType is our custom option\n\t * @return {Promise} with base64 string image as argument\n\t */\n\thtmlToImage(element, callback, options = { imageType: 'image/png', logging: false }) {\n\t\telement = $(element).get(0); // make sure we have HTMLElement not jQuery because it will not work\n\t\tconst imageType = options.imageType;\n\t\tdelete options.imageType;\n\t\treturn html2canvas(element, options).then((canvas) => {\n\t\t\tconst base64Image = canvas.toDataURL(imageType);\n\t\t\tif (typeof callback === 'function') {\n\t\t\t\tcallback(base64Image);\n\t\t\t}\n\t\t\treturn base64Image;\n\t\t});\n\t},\n\tregisterHtmlToImageDownloader: function (container) {\n\t\tconst self = this;\n\t\tcontainer.on('click', '.js-download-html', function () {\n\t\t\tlet element = $(this);\n\t\t\tlet fileName = element.data('fileName');\n\t\t\tself.htmlToImage($(element.data('html'))).then((img) => {\n\t\t\t\t$(`<a href=\"${img}\" download=\"${fileName}.png\"></a>`).get(0).click();\n\t\t\t});\n\t\t});\n\t},\n\tdecodeHTML(html) {\n\t\tlet txt = document.createElement('textarea');\n\t\ttxt.innerHTML = html;\n\t\treturn txt.value;\n\t},\n\tshowAlert: function (text) {\n\t\treturn this.showNotify({\n\t\t\ttitle: text,\n\t\t\ttype: 'error',\n\t\t\tcloser: false,\n\t\t\tsticker: false,\n\t\t\tdestroy: false,\n\t\t\tmodules: new Map([\n\t\t\t\t...PNotify.defaultModules,\n\t\t\t\t[\n\t\t\t\t\tPNotifyConfirm,\n\t\t\t\t\t{\n\t\t\t\t\t\tconfirm: true,\n\t\t\t\t\t\tbuttons: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttext: app.vtranslate('JS_OK'),\n\t\t\t\t\t\t\t\tprimary: true,\n\t\t\t\t\t\t\t\tclick: (notice) => notice.close()\n\t\t\t\t\t\t\t}\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\tstack: new PNotify.Stack({\n\t\t\t\tdir1: 'down',\n\t\t\t\tmodal: true,\n\t\t\t\tfirstpos1: 25,\n\t\t\t\toverlayClose: false\n\t\t\t})\n\t\t});\n\t},\n\t/**\n\t * Show notify\n\t * @param {object} customParams\n\t * @returns {PNotify}\n\t */\n\tshowNotify: function (customParams) {\n\t\tlet params = {\n\t\t\thide: false\n\t\t};\n\t\tlet userParams = customParams;\n\t\tlet type = 'info';\n\t\tif (typeof customParams === 'string') {\n\t\t\tuserParams = {\n\t\t\t\ttitle: customParams\n\t\t\t};\n\t\t}\n\t\tif (typeof customParams.type !== 'undefined') {\n\t\t\ttype = customParams.type;\n\t\t}\n\t\tif (type !== 'error') {\n\t\t\tparams.hide = true;\n\t\t}\n\t\treturn PNotify[type]($.extend(params, userParams));\n\t},\n\t/**\n\t * Set Pnotify defaults options\n\t */\n\tsetPnotifyDefaultOptions() {\n\t\tPNotify.defaults.textTrusted = true; // *Trusted option enables html as parameter's value\n\t\tPNotify.defaults.titleTrusted = true;\n\t\tPNotify.defaults.sticker = false;\n\t\tPNotify.defaults.styling = 'bootstrap4';\n\t\tPNotify.defaults.icons = 'fontawesome5';\n\t\tPNotify.defaults.delay = 3000;\n\t\tPNotify.defaults.stack.maxOpen = 10;\n\t\tPNotify.defaults.stack.spacing1 = 5;\n\t\tPNotify.defaults.stack.spacing2 = 5;\n\t\tPNotify.defaults.labels.close = app.vtranslate('JS_CLOSE');\n\t\tPNotify.defaultModules.set(PNotifyBootstrap4, {});\n\t\tPNotify.defaultModules.set(PNotifyFontAwesome5, {});\n\t\tPNotify.defaultModules.set(PNotifyMobile, {});\n\t},\n\t/**\n\t * Show confirm modal\n\t * @param {object} params\n\t * @returns {PNotify}\n\t * @returns\n\t */\n\tshowConfirmModal: function (params) {\n\t\tlet confirmButtonLabel = 'JS_OK';\n\t\tlet rejectedButtonLabel = 'JS_CANCEL';\n\t\tif (typeof params.confirmButtonLabel !== 'undefined') {\n\t\t\tconfirmButtonLabel = params.confirmButtonLabel;\n\t\t}\n\t\tif (typeof params.rejectedButtonLabel !== 'undefined') {\n\t\t\trejectedButtonLabel = params.rejectedButtonLabel;\n\t\t}\n\t\treturn this.showNotify(\n\t\t\t$.extend(\n\t\t\t\t{\n\t\t\t\t\ticon: 'fas fa-question-circle',\n\t\t\t\t\tcloser: false,\n\t\t\t\t\tsticker: false,\n\t\t\t\t\tdestroy: false,\n\t\t\t\t\thide: false,\n\t\t\t\t\twidth: 'auto',\n\t\t\t\t\tanimateSpeed: 'fast',\n\t\t\t\t\taddModalClass: 'c-confirm-modal',\n\t\t\t\t\tmodules: new Map([\n\t\t\t\t\t\t...PNotify.defaultModules,\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\tPNotifyConfirm,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tconfirm: true,\n\t\t\t\t\t\t\t\tprompt: 'showDialog' in params ? params['showDialog'] : false,\n\t\t\t\t\t\t\t\tpromptMultiLine: 'multiLineDialog' in params ? params['multiLineDialog'] : false,\n\t\t\t\t\t\t\t\tbuttons: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\ttext: '<span class=\"fas fa-check mr-2\"></span>' + app.vtranslate(confirmButtonLabel),\n\t\t\t\t\t\t\t\t\t\ttextTrusted: true,\n\t\t\t\t\t\t\t\t\t\tprimary: true,\n\t\t\t\t\t\t\t\t\t\tpromptTrigger: true,\n\t\t\t\t\t\t\t\t\t\tclick: function (notice, value, e) {\n\t\t\t\t\t\t\t\t\t\t\tif (params['showDialog'] && !value) {\n\t\t\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tif (typeof params.confirmedCallback !== 'undefined') {\n\t\t\t\t\t\t\t\t\t\t\t\tparams.confirmedCallback(notice, value, e);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tnotice.close();\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\ttext: '<span class=\"fas fa-times mr-2\"></span>' + app.vtranslate(rejectedButtonLabel),\n\t\t\t\t\t\t\t\t\t\ttextTrusted: true,\n\t\t\t\t\t\t\t\t\t\tclick: function (notice) {\n\t\t\t\t\t\t\t\t\t\t\tif (typeof params.rejectedCallback !== 'undefined') {\n\t\t\t\t\t\t\t\t\t\t\t\tparams.rejectedCallback(notice);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tnotice.close();\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t]\n\t\t\t\t\t]),\n\t\t\t\t\tstack: new PNotify.Stack({\n\t\t\t\t\t\tdir1: 'down',\n\t\t\t\t\t\tfirstpos1: 50,\n\t\t\t\t\t\tspacing1: 0,\n\t\t\t\t\t\tpush: 'top',\n\t\t\t\t\t\tmodal: true,\n\t\t\t\t\t\toverlayClose: false\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tparams\n\t\t\t)\n\t\t);\n\t},\n\tregistesterScrollbar(container) {\n\t\tcontainer.find('.js-scrollbar').each(function () {\n\t\t\tlet element = $(this),\n\t\t\t\tscrollbarFnName = element.data('scrollbarFnName');\n\n\t\t\tif (typeof app[scrollbarFnName] === 'function') {\n\t\t\t\tapp[scrollbarFnName](element);\n\t\t\t} else {\n\t\t\t\tapp.showNewScrollbar(element);\n\t\t\t}\n\t\t});\n\t},\n\tregisterPopover(container = $(document)) {\n\t\twindow.popoverCache = {};\n\t\tcontainer.on('mousemove', (e) => {\n\t\t\tapp.mousePosition = { x: e.pageX, y: e.pageY };\n\t\t});\n\t\tcontainer.on(\n\t\t\t'mouseenter',\n\t\t\t'.js-popover-tooltip, .js-popover-tooltip--record, .js-popover-tooltip--ellipsis, [data-field-type=\"reference\"], [data-field-type=\"multireference\"]',\n\t\t\t(e) => {\n\t\t\t\tlet currentTarget = $(e.currentTarget);\n\t\t\t\tif (!currentTarget.hasClass('popover-triggered')) {\n\t\t\t\t\tif (currentTarget.hasClass('js-popover-tooltip--record')) {\n\t\t\t\t\t\tapp.registerPopoverRecord(currentTarget, {}, container);\n\t\t\t\t\t\tcurrentTarget.trigger('mouseenter');\n\t\t\t\t\t} else if (!currentTarget.hasClass('js-popover-tooltip--record') && currentTarget.data('field-type')) {\n\t\t\t\t\t\tapp.registerPopoverRecord(currentTarget.children('a'), {}, container); //popoverRecord on children doesn't need triggering\n\t\t\t\t\t} else if (\n\t\t\t\t\t\t!currentTarget.hasClass('js-popover-tooltip--record') &&\n\t\t\t\t\t\t!currentTarget.find('.js-popover-tooltip--record').length &&\n\t\t\t\t\t\t!currentTarget.data('field-type')\n\t\t\t\t\t) {\n\t\t\t\t\t\tif (currentTarget.hasClass('js-popover-tooltip--ellipsis')) {\n\t\t\t\t\t\t\tapp.registerPopoverEllipsis({ element: currentTarget, container });\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tapp.showPopoverElementView(currentTarget);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcurrentTarget.trigger('mouseenter');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t},\n\t/**\n\t * Register auto format number value\n\t */\n\tregisterFormatNumber() {\n\t\t$(document).on('focusout', '.js-format-numer', (e) => {\n\t\t\t$(e.currentTarget).formatNumber();\n\t\t});\n\t},\n\t/**\n\t * Register toggle icon click event\n\t * @param container\n\t */\n\tregisterToggleIconClick(container) {\n\t\tcontainer.on('click', '.js-toggle-icon, .js-toggle-icon__container', (e) => {\n\t\t\tlet icon = $(e.target);\n\t\t\tif (icon.hasClass('js-toggle-icon__container')) {\n\t\t\t\ticon = icon.find('.js-toggle-icon');\n\t\t\t}\n\t\t\tlet iconData = icon.data();\n\t\t\ticon.toggleClass(`${iconData.active} ${iconData.inactive}`);\n\t\t\te.stopPropagation();\n\t\t});\n\t},\n\tstripHtml(html) {\n\t\tconst temporalDiv = document.createElement('div');\n\t\ttemporalDiv.innerHTML = html;\n\t\treturn temporalDiv.textContent || temporalDiv.innerText || '';\n\t},\n\tregisterShowHideBlock(container) {\n\t\tcontainer.on('click', '.js-hb__btn', (e) => {\n\t\t\t$(e.currentTarget).closest('.js-hb__container').toggleClass('u-hidden-block__opened');\n\t\t});\n\t\tcontainer.find('.js-fab__container').on('clickoutside', (e) => {\n\t\t\t$(e.currentTarget).removeClass('u-hidden-block__opened');\n\t\t});\n\t},\n\tprocessEvents: false,\n\tregisterAfterLoginEvents: function () {\n\t\tif (this.processEvents === false) {\n\t\t\tlet processEvents = $('#processEvents');\n\t\t\tif (processEvents.length === 0) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.processEvents = JSON.parse(processEvents.val());\n\t\t}\n\t\tif (this.processEvents.length === 0) {\n\t\t\treturn;\n\t\t}\n\t\tlet event = this.processEvents.shift();\n\t\tswitch (event.type) {\n\t\t\tcase 'modal':\n\t\t\t\tAppConnector.request(event.url)\n\t\t\t\t\t.done(function (requestData) {\n\t\t\t\t\t\tapp.showModalWindow(requestData).one('hidden.bs.modal', function () {\n\t\t\t\t\t\t\tapp.registerAfterLoginEvents();\n\t\t\t\t\t\t});\n\t\t\t\t\t})\n\t\t\t\t\t.fail(function (_textStatus, errorThrown) {\n\t\t\t\t\t\tapp.showNotify({\n\t\t\t\t\t\t\ttitle: app.vtranslate('JS_ERROR'),\n\t\t\t\t\t\t\ttextTrusted: false,\n\t\t\t\t\t\t\ttext: errorThrown,\n\t\t\t\t\t\t\ttype: 'error'\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tcase 'notify':\n\t\t\t\tapp.showNotify(event.notify);\n\t\t\t\tapp.registerAfterLoginEvents();\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\treturn;\n\t\t}\n\t},\n\t/**\n\t * Function to reload view after save event\n\t *\n\t * @param {object} responseData - Save responses data.\n\t * @param {object} params - Save params.\n\t * @param {jQuery} form - Jquery form container.\n\t * @param {jQuery} element - Jquery trigger element.\n\t */\n\treloadAfterSave: function (responseData, params, form, element) {\n\t\tif (responseData.skipReload) {\n\t\t\treturn;\n\t\t}\n\t\tconst moduleName = params['module'];\n\t\tconst parentModuleName = app.getModuleName();\n\t\tconst viewName = app.getViewName();\n\t\tif ('List' === viewName || 'Tiles' === viewName) {\n\t\t\tif (moduleName === parentModuleName) {\n\t\t\t\tapp.pageController.getListViewRecords();\n\t\t\t}\n\t\t} else if ('Kanban' === viewName) {\n\t\t\tapp.pageController.loadKanban(false);\n\t\t} else if ('Detail' === viewName) {\n\t\t\tif (form && app.getRecordId() === form.find('[name=\"record\"]').val()) {\n\t\t\t\tif (responseData.result._isViewable == false) {\n\t\t\t\t\tif (window !== window.parent) {\n\t\t\t\t\t\twindow.parent.location.href = 'index.php?module=' + moduleName + '&view=ListPreview';\n\t\t\t\t\t} else {\n\t\t\t\t\t\twindow.location.href = 'index.php?module=' + moduleName + '&view=List';\n\t\t\t\t\t}\n\t\t\t\t} else if (params && params.removeFromUrl) {\n\t\t\t\t\tlet searchParams = new URLSearchParams(window.location.search);\n\t\t\t\t\tsearchParams.delete('step');\n\t\t\t\t\twindow.location.href = 'index.php?' + searchParams.toString();\n\t\t\t\t} else {\n\t\t\t\t\twindow.location.reload();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tlet widget, block;\n\t\t\t\tif (responseData.result && responseData.result._reload) {\n\t\t\t\t\twindow.location.reload();\n\t\t\t\t} else if (app.getUrlVar('mode') === 'showRelatedList') {\n\t\t\t\t\tapp.pageController.loadRelatedList();\n\t\t\t\t} else if (element && (widget = element.closest('.widgetContentBlock')) && widget.length !== 0) {\n\t\t\t\t\tapp.pageController.loadWidget(widget);\n\t\t\t\t} else if (element && (block = element.closest('.detailViewBlockLink')) && block.length !== 0) {\n\t\t\t\t\tapp.pageController.reloadDetailViewBlock(block);\n\t\t\t\t} else if (params && params.data) {\n\t\t\t\t\twindow.location.reload();\n\t\t\t\t} else {\n\t\t\t\t\tapp.pageController.reloadTabContent();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t/**\n\t * Function to register the records events\n\t * @param {jQuery} container - Jquery container.\n\t */\n\tregisterRecordActionsEvents: function (container) {\n\t\tcontainer.on('click', '.js-action-confirm', function (event) {\n\t\t\tevent.stopPropagation();\n\t\t\tlet target = $(this),\n\t\t\t\tsourceView = target.data('sourceView'),\n\t\t\t\taddBtnIcon = target.data('addBtnIcon');\n\t\t\tlet params = {\n\t\t\t\ticon: false,\n\t\t\t\ttitle: target.data('content'),\n\t\t\t\tconfirmedCallback: () => {\n\t\t\t\t\tlet progressIndicatorElement = $.progressIndicator({\n\t\t\t\t\t\tposition: 'html',\n\t\t\t\t\t\tblockInfo: {\n\t\t\t\t\t\t\tenabled: true\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\tlet url = target.data('url') + '&sourceView=' + sourceView;\n\t\t\t\t\tAppConnector.request(url).done(function (data) {\n\t\t\t\t\t\tprogressIndicatorElement.progressIndicator({\n\t\t\t\t\t\t\tmode: 'hide'\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (data && data.success) {\n\t\t\t\t\t\t\tif (data.result.notify) {\n\t\t\t\t\t\t\t\tapp.showNotify(data.result.notify);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (sourceView === 'Href') {\n\t\t\t\t\t\t\t\tapp.openUrl(data.result);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tapp.reloadAfterSave(data, app.convertUrlToObject(url), null, target);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tapp.showNotify({\n\t\t\t\t\t\t\t\ttext: app.vtranslate(data.error.message),\n\t\t\t\t\t\t\t\ttitle: app.vtranslate('JS_LBL_PERMISSION'),\n\t\t\t\t\t\t\t\ttype: 'error'\n\t\t\t\t\t\t\t});\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\tif (target.data('confirm')) {\n\t\t\t\tparams.text = target.data('confirm');\n\t\t\t\taddBtnIcon = 1;\n\t\t\t}\n\t\t\tif (addBtnIcon == 1) {\n\t\t\t\tparams.title = target.html() + (params.title ? ' ' + params.title : '');\n\t\t\t}\n\t\t\tapp.showConfirmModal(params);\n\t\t});\n\t},\n\t/**\n\t * Register keyboard shortcuts events\n\t * @param {jQuery} container\n\t */\n\tregisterKeyboardShortcutsEvent: function (container) {\n\t\tif (app.getUrlVar('parent') !== 'Settings') {\n\t\t\tdocument.addEventListener('keydown', (event) => {\n\t\t\t\tif (CONFIG['isEntityModule'] && event.shiftKey && event.ctrlKey && event.code === 'KeyL') {\n\t\t\t\t\twindow.location.href = 'index.php?module=' + app.getModuleName() + '&view=List';\n\t\t\t\t}\n\t\t\t\tif (CONFIG['isQuickCreateSupported'] && event.shiftKey && event.ctrlKey && event.code === 'KeyQ') {\n\t\t\t\t\tApp.Components.QuickCreate.createRecord(app.getModuleName());\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t},\n\t/**\n\t * Register POST action\n\t * @param {jQuery} container\n\t */\n\tregisterPostActionEvent: function (container) {\n\t\tcontainer.on('click', '.js-post-action', function (e) {\n\t\t\te.preventDefault();\n\t\t\tlet element = $(this);\n\t\t\tif (element.attr('href')) {\n\t\t\t\tAppConnector.requestForm(element.attr('href'));\n\t\t\t}\n\t\t});\n\t},\n\t/**\n\t * Print data modal\n\t * @param {jQuery} container\n\t */\n\tprintModal: function (container) {\n\t\tconst html = container.html().replace(/<script\\b[^<]*(?:(?!<\\/script>)<[^<]*)*<\\/script>/gi, ' '),\n\t\t\thead = $('head')\n\t\t\t\t.html()\n\t\t\t\t.replace(/<script\\b[^<]*(?:(?!<\\/script>)<[^<]*)*<\\/script>/gi, ' ');\n\t\tconst modal = window.open();\n\t\tmodal.document.write(`<head>${head}</head>`);\n\t\tmodal.document.write(`<body>${html}</body>`);\n\t\tmodal.onafterprint = (_e) => {\n\t\t\tmodal.close();\n\t\t};\n\t\tsetTimeout(function () {\n\t\t\tmodal.print();\n\t\t}, 500);\n\t},\n\t/**\n\t * Register print event\n\t * @param {jQuery} container\n\t */\n\tregisterPrintEvent: function (container) {\n\t\tcontainer.on('click', '.js-print-container', function (_) {\n\t\t\tapp.printModal($($(this).data('container')).children());\n\t\t});\n\t}\n});\n$(function () {\n\tQuasar.iconSet.set(Quasar.iconSet.mdiV3);\n\tlet document = $(this);\n\tapp.registerToggleIconClick(document);\n\tapp.touchDevice = app.isTouchDevice();\n\tapp.setPnotifyDefaultOptions();\n\tApp.Fields.Picklist.changeSelectElementView();\n\tapp.registerPopoverEllipsisIcon();\n\tapp.registerPopover();\n\tapp.registerFormatNumber();\n\tapp.registerIframeAndMoreContent();\n\tapp.registerModal();\n\tapp.registerQuickEditModal(document);\n\tapp.registerMenu();\n\tapp.registerTabdrop();\n\tapp.registerIframeEvents(document);\n\tapp.registesterScrollbar(document);\n\tapp.registerHtmlToImageDownloader(document);\n\tapp.registerShowHideBlock(document);\n\tapp.registerAfterLoginEvents(document);\n\tapp.registerFormsEvents(document);\n\tapp.registerRecordActionsEvents(document);\n\tapp.registerPrintEvent(document);\n\tapp.registerKeyboardShortcutsEvent(document);\n\tapp.registerPostActionEvent(document);\n\tApp.Components.QuickCreate.register(document);\n\tApp.Components.Scrollbar.initPage();\n\tApp.Clipboard.register(document);\n\tString.prototype.toCamelCase = function () {\n\t\tlet value = this.valueOf();\n\t\treturn value.charAt(0).toUpperCase() + value.slice(1).toLowerCase();\n\t};\n\t// in IE resize option for textarea is not there, so we have to use .resizable() api\n\tif (/MSIE/.test(navigator.userAgent) || /Trident/.test(navigator.userAgent)) {\n\t\t$('textarea').resizable();\n\t}\n\t// Instantiate Page Controller\n\tapp.pageController = app.getPageController();\n\tif (app.pageController) {\n\t\tapp.pageController.registerEvents();\n\t}\n});\n(function ($) {\n\t$.fn.getNumberFromValue = function () {\n\t\treturn App.Fields.Double.formatToDb($(this).val());\n\t};\n\t$.fn.getNumberFromText = function () {\n\t\treturn App.Fields.Double.formatToDb($(this).text());\n\t};\n\t$.fn.setValue = function (value, params) {\n\t\treturn App.Fields.Utils.setValue($(this), value, params);\n\t};\n\t$.fn.formatNumber = function () {\n\t\tlet element = $(this);\n\t\telement.val(App.Fields.Double.formatToDisplay(App.Fields.Double.formatToDb(element.val()), false));\n\t};\n\t$.fn.disable = function () {\n\t\tthis.attr('disabled', 'disabled');\n\t};\n\t$.fn.enable = function () {\n\t\tthis.removeAttr('disabled');\n\t};\n\t$.fn.serializeFormData = function () {\n\t\tfor (let instance in CKEDITOR.instances) {\n\t\t\tCKEDITOR.instances[instance].updateElement();\n\t\t}\n\t\tconst form = this,\n\t\t\tvalues = form.serializeArray();\n\t\tlet data = {};\n\t\tif (values) {\n\t\t\t$(values).each(function (k, v) {\n\t\t\t\tlet element = form.find('[name=\"' + v.name + '\"]');\n\t\t\t\tif (element.is('select') && element.attr('multiple') != undefined) {\n\t\t\t\t\tif (data[v.name] == undefined) {\n\t\t\t\t\t\tdata[v.name] = [];\n\t\t\t\t\t}\n\t\t\t\t\tdata[v.name].push(v.value);\n\t\t\t\t} else {\n\t\t\t\t\tdata[v.name] = v.value;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\t// If data-type=\"autocomplete\", pickup data-value=\"...\" set\n\t\tlet autocompletes = $('[data-type=\"autocomplete\"]', $(this));\n\t\t$(autocompletes).each(function (i) {\n\t\t\tlet ac = $(autocompletes[i]);\n\t\t\tdata[ac.attr('name')] = ac.data('value');\n\t\t});\n\t\tdelete data['_csrf'];\n\t\treturn data;\n\t};\n\t// Case-insensitive :icontains expression\n\t$.expr[':'].icontains = function (obj, index, meta, stack) {\n\t\treturn (\n\t\t\t(obj.textContent || obj.innerText || $(obj).text() || '').toLowerCase().indexOf(meta[3].toLowerCase()) !== -1\n\t\t);\n\t};\n\t$.fn.removeTextNode = function () {\n\t\t$(this)\n\t\t\t.contents()\n\t\t\t.filter(function () {\n\t\t\t\treturn this.nodeType == 3; //Node.TEXT_NODE\n\t\t\t})\n\t\t\t.remove();\n\t};\n})($);\n"],"names":["_class","_typeof","o","Symbol","iterator","constructor","prototype","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","iter","Array","from","isArray","_arrayLikeToArray","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","key","value","_toPropertyKey","configurable","writable","_createForOfIteratorHelper","allowArrayLike","it","i","F","s","n","done","_e2","f","err","normalCompletion","didErr","call","step","next","_e3","return","minLen","toString","slice","name","test","len","arr2","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_createClass","protoProps","staticProps","arg","_toPrimitive","String","input","hint","prim","toPrimitive","res","Number","App","window","Components","Tree","Basic","container","$","treeInstance","treeData","generateTree","self","on","_e","data","event","hasClass","select_node","node","children_d","deselect_node","jstree","core","getRecords","themes","responsive","plugins","registerSearchEvent","searchTimeout","treeSearch","clearTimeout","setTimeout","searchValue","val","search","JSON","parse","find","QuickCreate","moduleCache","register","preventDefault","element","createRecord","url","urlObject","app","convertUrlToObject","params","callbackFunction","progress","progressIndicator","blockInfo","enabled","getForm","module","mode","showModal","registerEventForClockPicker","moduleName","_this","CONFIG","modalTarget","parent","getViewName","getRecordId","getParentModuleName","getModuleName","requestParams","aDeferred","Deferred","isCacheActive","noCache","resolve","promise","AppConnector","request","html","_this2","showModalWindow","quickCreateForm","callbackBeforeRegister","editViewInstance","Vtiger_Edit_Js","getInstanceByModuleName","setForm","registerBasicEvents","moduleClassName","registerEvents","validationEngine","validationEngineOptionsForRecord","callbackPostShown","registerPostLoadEvents","form","_this3","submitSuccessCallback","goToFullFormCallBack","goToFullFormcallback","InvalidFields","removeData","recordPreSaveEvent","Event","recordPreSave","trigger","isDefaultPrevented","moduleInstance","saveHandler","quickCreateSave","save","message","vtranslate","position","modalContainer","closest","hideModalWindow","id","success","showNotify","text","type","reloadAfterSave","fail","_","errorThrown","textTrusted","title","currentTarget","editViewUrl","goToFullForm","registerTabEvents","remove","append","each","removeAttr","addClass","tabElements","quickCreateTabOnHide","index","attr","quickCreateTabOnShow","not","serializeFormData","textStatus","reject","QuickEdit","view","_this4","quickEditSave","popoverCache","result","_recordId","formData","FormData","processData","contentType","Scrollbar","active","defaults","scrollbars","autoHide","page","initPage","scrollbarContainer","y","getElements","viewport","xy","options","overlayScrollbars","mergedOptions","assign","overflowBehavior","x","DropFile","init","_this5","css","border","opacity","bind","files","originalEvent","dataTransfer","callback","_step","progressIndicatorElement","_iterator","file","method","Vtiger_Detail_Js","getInstance","getFiltersDataAndLoad","error","errorLog","showConfirmModal","confirmedCallback","prop","instances","ActivityNotifier","interval","notice","icon","hide","delay","stack","PNotify","Stack","dir1","dir2","firstpos1","firstpos2","modal","maxOpen","maxStrategy","maxClosureCausesWait","nodeElement","get","_this6","setFormat","setTime","document","addEventListener","hidden","destroyInterval","setInterval","requestNotifier","format","timeFormat","hourFormat","toUpperCase","dateFormat","time","moment","startTime","_setInterval","_this7","isConnected","intervalId","state","clearInterval","_this8","dateTime","isJsonString","response","trim","identifier","notifierData","record","Icons","modalView","convertObjectToUrl","progressElement","cb","dataset","src","Notify","isDesktopPermitted","Notification","permission","desktop","modules","Map","concat","defaultModules","PNotifyDesktop","fallback","Clipboard","oClipboard","load","_this9","getTextFromUrl","then","createClipboard","_this10","ClipboardJS","copy","destroy","File","dataType","replaceFileInput","autoUpload","uploadError","add","change","formats","limit","maxFileSize","maxUploadLimit","maxFileSizeDisplay","fileInput","fileupload","detach","filesActive","submit","_this$filterFiles","filterFiles","valid","showErrors","_step2","_iterator2","validateFileType","validateFileSize","size","indexOf","_step3","errors","_iterator3","info","showError","_this11","jqXHR","responseJSON","languageString","breakpoints","xs","sm","md","lg","xl","xxl","xxxl","cacheParams","modalEvents","mousePosition","childFrame","touchDevice","el","one","off","getMainParams","recordId","inArray","getRecordDetails","action","getLanguage","getPageTitle","getWindowParent","frames","isWindowTop","top","isTouchDevice","supportsTouch","navigator","msPointerEnabled","documentElement","appendTo","str","setPageTitle","getContentsContainer","hidePopover","popover","hidePopoversAfterClick","popoverParent","registerPopoverManualTrigger","manualTriggerDelay","_this12","hideDelay","currentPopover","getBindedPopover","is","isEllipsisActive","clone","removeClass","width","showPopoverElementView","selectElement","defaultParams","placement","template","boundary","show","_index","domElement","elementParams","extend","tmp","class","replace","content","callbackShown","registerPopoverEllipsis","_ref","_ref$element","_ref$params","_ref$container","setPopoverPosition","popoverText","registerPopoverEllipsisIcon","iconElement","selector","registerPopoverRecord","customParams","href","eq","link","URL","location","origin","searchParams","popoverBody","appendPopoverData","cacheData","popoverElement","iframeOffset","computePopoverIframeOffset","windowHeight","height","windowWidth","popoverPadding","popoverHeight","popoverWidth","offsetTop","offsetLeft","left","transform","iframeOffsetTop","iframeOffsetLeft","iframe","offset","contents","iframe2","iframeOffset2","registerChangeEventForMultiSelect","maximumSelectionLength","updateResults","getSerializedData","parentElement","returnFormat","encodedString","children","serialize","keyValueMap","valueList","split","keyValueString","keyValueArr","nameOfElement","valueOfElement","decodeURIComponent","showModalData","paramsObject","sendByAjaxCb","thisInstance","backdrop","keyboard","fn","_enforceFocus","proxy","registerDataTables","Fields","Picklist","changeSelectElementView","Date","DateTime","Text","Editor","toolbar","MultiAttachment","Icon","registesterScrollbar","registerIframeEvents","draggable","handle","registerFormsEvents","registerModalEvents","isCurrentWindowTarget","modalId","Math","random","substr","modalData","last","Window","lastModalId","showModalHtml","_params$footer","footer","header","headerIcon","footerButtons","button","bodyClass","body","sourceFunction","args","unshift","reduce","registerModalController","windowParent","modalClass","join","validationForm","validationEngineOptions","registerBlockAnimationEvent","formAlignmentAfterValidation","responseData","notify","Vtiger_Helper_Js","showMessage","processStop","forms","updateField","updateValue","closeModal","isHidden","isInvisible","scroll","promptPosition","prettySelect","usePrefix","onBeforePromptType","field","block","click","scrollOptions","wheelSpeed","formError","destination","animate","scrollTop","registerBlockToggleEvent","parents","blockHeader","blockContents","iconToggle","detailViewContentHolder","blockId","closestBlock","bodyContents","cacheSet","registerEventForDateFields","datepicker","autoclose","ev","currentElement","date","formatDate","Utils","hideMobileKeyboard","timeInputs","minutestep","stopPropagation","tempElement","clockpicker","formatTimeString","timeInput","twelvehour","meridiemTime","afterDone","timeString","timeStringFormatted","beforeHide","formatTime","parseInt","table","dataTable","language","sLengthMenu","sZeroRecords","sInfo","sInfoEmpty","sSearch","sEmptyTable","sInfoFiltered","sLoadingRecords","sProcessing","oPaginate","sFirst","sPrevious","sNext","sLast","oAria","sSortAscending","sSortDescending","searching","ordering","paging","DataTable","getSelect2ElementFromSelect","selectId","setInheritWidth","elements","parentWidth","showNewScrollbar","wheelPropagation","PerfectScrollbar","showNewScrollbarTopBottomRight","scrollbarTopLeftInit","scrollbarTopElement","first","bottom","scrollbarBottomRightInit","showNewScrollbarTopBottom","suppressScrollY","showNewScrollbarTop","showNewScrollbarLeft","scrollbarLeftElement","right","showScrollBar","slimScroll","registerMiddleClickScroll","middleScroll","clickedMouseButton","which","mouseY","pageY","mouseX","pageX","mouseMoveY","contentScrollY","mouseMoveX","contentScrollX","scrollLeft","LANG","cacheNSKey","cacheGet","store","set","cacheClear","moduleCacheSet","orgKey","cacheKey","unique","moduleCacheGet","moduleCacheKeys","moduleCacheClear","htmlEncode","htmlDecode","placeAtCenter","outerHeight","outerWidth","getvalidationEngineOptions","notifyPostAjaxReady","listenPostAjaxReady","setFormValues","kv","k","getPageController","pageController","parentModule","extendModules","moduleBaseClassName","getDecodedValue","getCookie","c_name","c_value","cookie","c_start","c_end","unescape","substring","setCookie","exdays","exdate","setDate","getDate","escape","toUTCString","getUrlVar","varName","getVar","vars","m","saveAjax","param","addToParams","removeEmptyFilesInput","parentNode","removeChild","json","setMainParams","debug","console","warn","responseText","statusText","registerQuickEditModal","removeFromUrl","registerModal","modalWindowParams","callerArray","playSound","soundsConfig","IS_ENABLED","audio","Audio","volume","play","registerIframeAndMoreContent","btn","dismiss","siblings","hasAttribute","_iframe$contents$heig","registerMenu","DOWN","ESCAPE","LEFT","RIGHT","SPACE","UP","sidebarBtn","sidebar","toggleSidebar","openSidebar","closeSidebar","sidebarKeyboard","focus","registerPinEvent","pinButton","baseContainer","hideMenu","userId","toggler","prev","registerTabdrop","tabs","tab","tabdrop","dropdown","getScreenHeight","percantage","clearBrowsingHistory","openUrl","openUrlTarget","changeUrl","fullUrl","historyUrl","history","pushState","currentHref","replaceState","includes","values","urlData","entryFile","startsWith","endsWith","encodeURIComponent","formatToHourText","decTime","withSeconds","withMinutes","short","hour","floor","min","sec","round","showRecordsList","afterShowModal","showRecordsListModal","requestData","htmlToImage","imageType","logging","html2canvas","canvas","base64Image","toDataURL","registerHtmlToImageDownloader","fileName","img","decodeHTML","txt","createElement","innerHTML","showAlert","closer","sticker","PNotifyConfirm","confirm","buttons","primary","close","overlayClose","userParams","setPnotifyDefaultOptions","titleTrusted","styling","icons","spacing1","spacing2","labels","PNotifyBootstrap4","PNotifyFontAwesome5","PNotifyMobile","confirmButtonLabel","rejectedButtonLabel","animateSpeed","addModalClass","prompt","showDialog","promptMultiLine","multiLineDialog","promptTrigger","rejectedCallback","scrollbarFnName","registerPopover","registerFormatNumber","formatNumber","registerToggleIconClick","iconData","toggleClass","inactive","stripHtml","temporalDiv","textContent","innerText","registerShowHideBlock","processEvents","registerAfterLoginEvents","shift","_textStatus","skipReload","parentModuleName","viewName","getListViewRecords","loadKanban","widget","_reload","reload","loadRelatedList","loadWidget","reloadDetailViewBlock","reloadTabContent","_isViewable","URLSearchParams","delete","registerRecordActionsEvents","sourceView","addBtnIcon","registerKeyboardShortcutsEvent","isEntityModule","shiftKey","ctrlKey","code","isQuickCreateSupported","registerPostActionEvent","requestForm","printModal","head","open","write","onafterprint","print","registerPrintEvent","Quasar","iconSet","mdiV3","toCamelCase","valueOf","charAt","toLowerCase","userAgent","resizable","getNumberFromValue","Double","formatToDb","getNumberFromText","setValue","formatToDisplay","disable","enable","CKEDITOR","updateElement","serializeArray","v","autocompletes","ac","_csrf","expr","icontains","meta","removeTextNode","nodeType"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uFACA,YAAY,CAAC,IAAAA,MAAA,CAAAC,SAAAA,OAAAA,CAAAC,CAAA,CAAA,CAAA,yBAAA,CAAA,OAAAD,OAAA,CAAA,UAAA,EAAA,OAAAE,MAAA,EAAA,QAAA,EAAA,OAAAA,MAAA,CAAAC,QAAA,CAAA,SAAAF,CAAA,CAAA,CAAA,OAAA,OAAAA,CAAA,CAAA,CAAA,SAAAA,CAAA,CAAA,CAAA,OAAAA,CAAA,EAAA,UAAA,EAAA,OAAAC,MAAA,EAAAD,CAAA,CAAAG,WAAA,GAAAF,MAAA,EAAAD,CAAA,GAAAC,MAAA,CAAAG,SAAA,CAAAJ,QAAAA,CAAAA,OAAAA,CAAA,CAAAD,CAAAA,OAAA,CAAAC,CAAA,CAAAK,CAAAA,SAAAA,kBAAAA,CAAAC,GAAA,CAAA,CAAA,OAAAC,kBAAA,CAAAD,GAAA,CAAA,EAAAE,gBAAA,CAAAF,GAAA,CAAA,EAAAG,2BAAA,CAAAH,GAAA,CAAA,EAAAI,kBAAA,EAAA,CAAA,SAAAA,oBAAAC,CAAAA,MAAAA,IAAAA,SAAA,CAAAH,sIAAAA,CAAAA,CAAAA,SAAAA,gBAAAA,CAAAI,IAAA,CAAA,CAAA,GAAA,WAAA,EAAA,OAAAX,MAAA,EAAA,IAAA,EAAAW,IAAA,CAAAX,MAAA,CAAAC,QAAA,CAAA,EAAA,IAAA,EAAAU,IAAA,CAAA,YAAA,CAAA,CAAA,OAAAC,KAAA,CAAAC,IAAA,CAAAF,IAAA,CAAA,CAAA,SAAAL,kBAAAD,CAAAA,GAAA,CAAAO,CAAAA,GAAAA,KAAA,CAAAE,OAAA,CAAAT,GAAA,CAAAU,CAAAA,OAAAA,iBAAA,CAAAV,GAAA,CAAA,CAAA,SAAAW,OAAAC,CAAAA,CAAA,CAAAC,CAAA,CAAAC,CAAAA,IAAAA,CAAA,CAAAC,MAAA,CAAAC,IAAA,CAAAJ,CAAA,CAAAG,CAAAA,GAAAA,MAAA,CAAAE,qBAAA,CAAA,CAAA,IAAAvB,CAAA,CAAAqB,MAAA,CAAAE,qBAAA,CAAAL,CAAA,CAAA,CAAAC,CAAA,GAAAnB,CAAA,CAAAA,CAAA,CAAAwB,MAAA,CAAAL,SAAAA,CAAA,CAAAE,CAAAA,OAAAA,MAAA,CAAAI,wBAAA,CAAAP,CAAA,CAAAC,CAAA,CAAAO,CAAAA,UAAA,CAAAN,CAAAA,CAAAA,CAAAA,CAAA,CAAAO,IAAA,CAAAC,KAAA,CAAAR,CAAA,CAAApB,CAAA,EAAAoB,CAAAA,OAAAA,CAAA,CAAAS,SAAAA,aAAAA,CAAAX,CAAA,CAAA,CAAA,IAAA,IAAAE,CAAA,CAAAD,CAAA,CAAA,CAAA,CAAAA,CAAA,CAAAW,SAAA,CAAAC,MAAA,CAAAZ,CAAA,EAAAC,CAAAA,CAAA,CAAAU,IAAAA,EAAAA,SAAA,CAAAX,CAAA,CAAAW,CAAAA,EAAAA,CAAAA,SAAA,CAAAX,CAAA,CAAAA,CAAAA,CAAA,CAAAF,CAAAA,CAAAA,OAAA,CAAAI,MAAA,CAAAD,CAAA,CAAAY,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,OAAA,CAAAb,SAAAA,CAAA,CAAAc,CAAAA,eAAA,CAAAf,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAD,CAAA,CAAA,EAAA,CAAA,CAAA,CAAAE,MAAA,CAAAa,yBAAA,CAAAb,MAAA,CAAAc,gBAAA,CAAAjB,CAAA,CAAAG,MAAA,CAAAa,yBAAA,CAAAd,CAAA,CAAA,CAAA,CAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA,CAAA,CAAA,CAAAY,OAAA,CAAA,SAAAb,CAAA,CAAA,CAAAE,MAAA,CAAAe,cAAA,CAAAlB,CAAA,CAAAC,CAAA,CAAAE,MAAA,CAAAI,wBAAA,CAAAL,CAAA,CAAAD,CAAA,CAAAD,EAAAA,CAAAA,CAAAA,CAAAA,OAAAA,CAAA,UAAAe,eAAAI,CAAAA,GAAA,CAAAC,GAAA,CAAAC,KAAA,CAAAD,CAAAA,OAAAA,GAAA,CAAAE,cAAA,CAAAF,GAAA,CAAAA,CAAAA,GAAA,IAAAD,GAAA,CAAAhB,MAAA,CAAAe,cAAA,CAAAC,GAAA,CAAAC,GAAA,CAAA,CAAAC,KAAA,CAAAA,KAAA,CAAAb,UAAA,CAAA,CAAA,CAAA,CAAAe,YAAA,CAAA,CAAA,CAAA,CAAAC,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAAL,GAAA,CAAAC,GAAA,CAAA,CAAAC,KAAA,CAAAF,GAAA,CAAA,SAAAM,0BAAA3C,CAAAA,CAAA,CAAA4C,cAAA,CAAAC,CAAAA,IAAAA,EAAA,qBAAA5C,MAAA,EAAAD,CAAA,CAAAC,MAAA,CAAAC,QAAA,CAAA,EAAAF,CAAA,CAAA,YAAA,CAAA,CAAA,GAAA,CAAA6C,EAAA,CAAA,CAAA,GAAAhC,KAAA,CAAAE,OAAA,CAAAf,CAAA,CAAA,GAAA6C,EAAA,CAAApC,2BAAA,CAAAT,CAAA,CAAA,CAAA,EAAA4C,cAAA,EAAA5C,CAAA,EAAA,QAAA,EAAA,OAAAA,CAAA,CAAA+B,MAAA,CAAA,CAAAc,EAAA,GAAA7C,CAAA,CAAA6C,EAAA,CAAAC,CAAAA,IAAAA,CAAA,CAAAC,CAAAA,CAAAA,CAAA,CAAAA,UAAAC,EAAAA,CAAAA,OAAAA,CAAAA,CAAA,CAAAD,CAAA,CAAAE,CAAA,CAAAA,SAAAA,CAAAA,EAAAH,CAAAA,OAAAA,CAAA,EAAA9C,CAAA,CAAA+B,MAAA,CAAAmB,CAAAA,IAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAA,CAAAX,CAAAA,CAAAA,CAAAA,KAAA,CAAAvC,CAAA,CAAA8C,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA5B,CAAA,CAAA,SAAAA,CAAAiC,CAAAA,GAAA,CAAAA,CAAAA,MAAAA,GAAA,CAAAC,CAAAA,CAAA,CAAAL,CAAA,CAAApC,CAAAA,MAAAA,IAAAA,SAAA,CAAA0C,uIAAAA,CAAAA,CAAAA,IAAAA,GAAA,CAAAC,gBAAA,CAAA,CAAA,CAAA,CAAAC,MAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAAP,CAAA,CAAA,SAAAA,CAAA,EAAA,CAAAH,EAAA,CAAAA,EAAA,CAAAW,IAAA,CAAAxD,CAAA,EAAA,CAAA,CAAAiD,CAAA,CAAAA,SAAAA,CAAAA,EAAAQ,CAAAA,IAAAA,IAAA,CAAAZ,EAAA,CAAAa,IAAA,EAAAJ,CAAAA,OAAAA,gBAAA,CAAAG,IAAA,CAAAP,IAAA,CAAAO,IAAA,CAAAvC,CAAAA,CAAA,CAAAA,SAAAA,CAAAA,CAAAyC,GAAA,CAAA,CAAAJ,MAAA,CAAA,CAAA,CAAA,CAAAF,GAAA,CAAAM,IAAA,CAAA,CAAAP,CAAA,CAAA,SAAAA,CAAA,EAAA,CAAA,GAAA,CAAAE,gBAAA,EAAAT,IAAAA,EAAAA,EAAA,CAAAe,MAAA,EAAAf,EAAA,CAAAe,MAAA,GAAAL,CAAAA,OAAAA,CAAAA,GAAAA,MAAA,CAAAF,MAAAA,GAAA,CAAA5C,CAAAA,CAAAA,CAAAA,SAAAA,2BAAAA,CAAAT,CAAA,CAAA6D,MAAA,CAAA7D,CAAAA,GAAAA,CAAA,CAAAA,CAAAA,GAAAA,QAAAA,EAAAA,OAAAA,CAAA,CAAAgB,OAAAA,iBAAA,CAAAhB,CAAA,CAAA6D,MAAA,CAAAZ,CAAAA,IAAAA,CAAA,CAAA5B,MAAA,CAAAjB,SAAA,CAAA0D,QAAA,CAAAN,IAAA,CAAAxD,CAAA,CAAA,CAAA+D,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,QAAA,GAAAd,CAAA,EAAAjD,CAAA,CAAAG,WAAA,GAAA8C,CAAA,CAAAjD,CAAA,CAAAG,WAAA,CAAA6D,IAAA,CAAA,CAAA,KAAA,GAAAf,CAAA,EAAA,KAAA,GAAAA,CAAA,CAAApC,KAAA,CAAAC,IAAA,CAAAd,CAAA,CAAA,CAAA,WAAA,GAAAiD,CAAA,EAAAgB,0CAAAA,CAAAA,IAAA,CAAAhB,CAAA,CAAAjC,CAAAA,iBAAA,CAAAhB,CAAA,CAAA6D,MAAA,CAAA7C,CAAAA,KAAAA,CAAAA,CAAAA,CAAAA,SAAAA,iBAAAA,CAAAV,GAAA,CAAA4D,GAAA,CAAA,CAAA,CAAA,IAAA,EAAAA,GAAA,EAAAA,GAAA,CAAA5D,GAAA,CAAAyB,MAAA,IAAAmC,GAAA,CAAA5D,GAAA,CAAAyB,MAAA,CAAAe,CAAAA,IAAAA,IAAAA,CAAA,CAAAqB,CAAAA,CAAAA,IAAA,KAAAtD,KAAA,CAAAqD,GAAA,CAAA,CAAApB,CAAA,CAAAoB,GAAA,CAAApB,CAAA,EAAA,CAAAqB,IAAA,CAAArB,CAAA,CAAA,CAAAxC,GAAA,CAAAwC,CAAA,CAAA,CAAA,OAAAqB,IAAA,CAAA,SAAAC,eAAAC,CAAAA,QAAA,CAAAC,WAAA,CAAAD,CAAAA,GAAAA,EAAAA,QAAA,YAAAC,WAAA,CAAA3D,CAAAA,MAAAA,IAAAA,SAAA,CAAA4D,mCAAAA,CAAAA,CAAAA,SAAAA,iBAAAA,CAAAC,MAAA,CAAAC,KAAA,CAAAC,CAAAA,IAAAA,IAAAA,UAAA,CAAA5B,CAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAA2B,KAAA,CAAA1C,MAAA,CAAAe,CAAA,EAAA4B,CAAAA,UAAA,CAAAD,KAAA,CAAA3B,CAAA,CAAA4B,CAAAA,UAAA,CAAAhD,UAAA,CAAAgD,UAAA,CAAAhD,UAAA,EAAAgD,CAAAA,CAAAA,CAAAA,UAAA,CAAAjC,YAAA,cAAAiC,UAAA,GAAAA,UAAA,CAAAhC,QAAA,CAAA,CAAA,CAAA,CAAA,CAAArB,MAAA,CAAAe,cAAA,CAAAoC,MAAA,CAAAhC,cAAA,CAAAkC,UAAA,CAAApC,GAAA,CAAA,CAAAoC,UAAA,EAAA,CAAA,SAAAC,YAAAL,CAAAA,WAAA,CAAAM,UAAA,CAAAC,WAAA,CAAAD,CAAAA,OAAAA,UAAA,EAAAL,iBAAA,CAAAD,WAAA,CAAAlE,SAAA,CAAAwE,UAAA,CAAA,CAAAC,WAAA,EAAAN,iBAAA,CAAAD,WAAA,CAAAO,WAAA,CAAA,CAAAxD,MAAA,CAAAe,cAAA,CAAAkC,WAAA,CAAA5B,WAAAA,CAAAA,CAAAA,QAAA,CAAA4B,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,WAAA,CAAA9B,SAAAA,cAAAA,CAAAsC,GAAA,CAAA,CAAA,IAAAxC,GAAA,CAAAyC,YAAA,CAAAD,GAAA,CAAA,QAAA,CAAA,CAAA,OAAA,QAAA,GAAA/E,OAAA,CAAAuC,GAAA,CAAAA,CAAAA,GAAA,CAAA0C,MAAA,CAAA1C,GAAA,CAAAyC,CAAAA,SAAAA,YAAAA,CAAAE,KAAA,CAAAC,IAAA,CAAA,CAAA,GAAA,QAAA,GAAAnF,OAAA,CAAAkF,KAAA,CAAA,EAAA,IAAA,GAAAA,KAAA,CAAA,OAAAA,KAAA,CAAA,IAAAE,IAAA,CAAAF,KAAA,CAAAhF,MAAA,CAAAmF,WAAA,CAAA,CAAA,GAAAD,IAAA,GAAA,KAAA,CAAA,CAAA,CAAA,IAAAE,GAAA,CAAAF,IAAA,CAAA3B,IAAA,CAAAyB,KAAA,CAAAC,IAAA,EAAAnF,SAAAA,CAAAA,CAAAA,GAAAA,QAAAA,GAAAA,OAAA,CAAAsF,GAAA,CAAAA,CAAAA,OAAAA,GAAA,CAAA1E,MAAAA,IAAAA,SAAA,CAAAuE,8CAAAA,CAAAA,CAAAA,OAAAA,CAAAA,QAAAA,GAAAA,IAAA,CAAAF,MAAA,CAAAM,MAAA,EAAAL,KAAA,CAAA,CAAA,IAEPM,GAAG,CAAIC,MAAM,CAACD,GAAG,CAAG,CACzBE,UAAU,CAAE,CACXC,IAAI,CAAE,CACLC,KAAK,cACJ,UAAA,CAAA,SAAAA,KAAA,EAAiD,CAArC,IAAAC,SAAS,CAAA,CAAA,CAAA9D,SAAA,CAAAC,MAAA,EAAA,KAAA,CAAA,GAAAD,SAAA,CAAA,CAAA,CAAA,CAAAA,SAAA,CAAA,CAAA,CAAA,CAAG+D,CAAC,CAAC,oBAAoB,CAAC,CAAAzB,eAAA,CAAAuB,IAAAA,CAAAA,KAAA,CAC9C,CAAA,IAAI,CAACG,YAAY,GAAQ,CACzB,IAAI,CAACC,QAAQ,CAAQ,CAAA,CAAA,CACrB,IAAI,CAACC,YAAY,CAACJ,SAAS,EAC5B,CAAC,OAAAjB,YAAA,CAAAgB,KAAA,CAAArD,CAAAA,CAAAA,GAAA,CAAAC,cAAAA,CAAAA,KAAA,CAED,SAAAyD,YAAaJ,CAAAA,SAAS,CAAE,CACvB,IAAMK,IAAI,CAAG,IAAI,CACb,KAAAA,IAAI,CAACH,YAAsB,GAC9BG,IAAI,CAACH,YAAY,CAAGF,SAAS,CAC7BK,IAAI,CAACH,YAAY,CACfI,EAAE,CAAC,oBAAoB,CAAE,SAAUC,EAAE,CAAEC,IAAI,CAAE,CACzC,KAAAA,CAAAA,GAAAA,IAAI,CAACC,KAAmB,EAAIR,CAAC,CAACO,IAAI,CAACC,KAAK,CAAC7B,MAAM,CAAC,CAAC8B,QAAQ,CAAC,iBAAiB,CAAC,EAGhFF,IAAI,CAAC/B,QAAQ,CAACkC,WAAW,CAACH,IAAI,CAACI,IAAI,CAACC,UAAU,EAC/C,CAAC,CAAC,CACDP,EAAE,CAAC,sBAAsB,CAAE,SAAUC,EAAE,CAAEC,IAAI,CAAE,CAC3C,KAAAA,CAAAA,GAAAA,IAAI,CAACC,KAAmB,EAAIR,CAAC,CAACO,IAAI,CAACC,KAAK,CAAC7B,MAAM,CAAC,CAAC8B,QAAQ,CAAC,iBAAiB,CAAC,EAGhFF,IAAI,CAAC/B,QAAQ,CAACqC,aAAa,CAACN,IAAI,CAACI,IAAI,CAACC,UAAU,EACjD,CAAC,CAAC,CACDE,MAAM,CAAC,CACPC,IAAI,CAAE,CACLR,IAAI,CAAEH,IAAI,CAACY,UAAU,CAACjB,SAAS,CAAC,CAChCkB,MAAM,CAAE,CACP9C,IAAI,CAAE,QAAQ,CACd+C,UAAU,CAAA,CAAA,CACX,CACD,CAAC,CACDC,OAAO,CAAE,CAAC,QAAQ,CAAE,UAAU,CAC/B,CAAC,CAAC,CACH,IAAI,CAACC,mBAAmB,EAAE,EAE5B,CAAC,CAAA,CAAA,CAAA3E,GAAA,CAAA,qBAAA,CAAAC,KAAA,CAED,SAAA0E,mBAAAA,EAAsB,CAAA,IACfhB,IAAI,CAAG,IAAI,CACbiB,aAAa,CAAQ,CAAA,CAAA,CACxBC,UAAU,CAAGtB,CAAC,CAAC,iBAAiB,CAAC,CAClCsB,UAAU,CAACjB,EAAE,CAAC,OAAO,CAAE,UAAM,CACxBgB,aAAa,EAChBE,YAAY,CAACF,aAAa,CAAC,CAE5BA,aAAa,CAAGG,UAAU,CAAC,UAAY,CACtC,IAAIC,WAAW,CAAGH,UAAU,CAACI,GAAG,EAAE,CAClCtB,IAAI,CAACH,YAAY,CAACa,MAAM,CAAK,CAAA,CAAA,CAAC,CAACa,MAAM,CAACF,WAAW,EAClD,CAAC,CAAE,GAAG,EACP,CAAC,EACF,CAAC,CAAAhF,CAAAA,CAAAA,GAAA,CAAAC,YAAAA,CAAAA,KAAA,CAED,SAAAsE,UAAWjB,CAAAA,SAAS,CAAE,CAIrB,OAHI,CAAA,CAAA,GAAA,IAAI,CAACG,QAAkB,EAAkB,WAAW,GAAzBH,SAAyB,GACvD,IAAI,CAACG,QAAQ,CAAG0B,IAAI,CAACC,KAAK,CAAC9B,SAAS,CAAC+B,IAAI,CAAC,eAAe,CAAC,CAACJ,GAAG,EAAE,CAAC,CAE3D,CAAA,IAAI,CAACxB,QACb,CAAC,CAAA,CAAA,CAAA,CAAAJ,KAAA,CAAA,EAEH,CAAC;AAEH;AACA;AACA,KACEiC,WAAW,CAAE;AAEf;AACA,MACGC,WAAW,CAAE,EAAE;AAElB;AACA;AACA,MACGC,QAAQ,UAAAA,QAAClC,CAAAA,SAAS,CAAE,CAElBA,SAAS,CADe,WAAW,EAAhC,OAAOA,SAAyB,CACvBC,CAAC,CAAC,MAAM,CAAC,CAETA,CAAC,CAACD,SAAS,CAAC,CAEzBA,SAAS,CAACM,EAAE,CAAC,OAAO,CAAE,wBAAwB,CAAE,SAAUhF,CAAC,CAAE,CAC5DA,CAAC,CAAC6G,cAAc,EAAE,CAClB,IAAIC,OAAO,CAAGnC,CAAC,CAAC,IAAI,CAAC,CAIrB,GAHImC,OAAO,CAAC5B,IAAI,CAAC,QAAQ,CAAC,EACzBb,GAAG,CAACE,UAAU,CAACmC,WAAW,CAACK,YAAY,CAACD,OAAO,CAAC5B,IAAI,CAAC,QAAQ,CAAC,CAAC,CAE5D4B,OAAO,CAAC5B,IAAI,CAAC,KAAK,CAAC,CAAE,KACpB8B,GAAG,CAAGF,OAAO,CAAC5B,IAAI,CAAC,KAAK,CAAC,CACzB+B,SAAS,CAAGC,GAAG,CAACC,kBAAkB,CAACH,GAAG,CAAC,CACvCI,MAAM,CAAG,CAAEC,gBAAgB,CAAE,SAAAA,gBAAA,EAAY,EAAG,CAAC,CAC3CC,QAAQ,CAAG3C,CAAC,CAAC4C,iBAAiB,CAAC,CAAEC,SAAS,CAAE,CAAEC,OAAO,GAAO,CAAE,CAAC,CAAC,CACtEpD,GAAG,CAACE,UAAU,CAACmC,WAAW,CAACgB,OAAO,CAACV,GAAG,CAAEC,SAAS,CAACU,MAAM,CAAEP,MAAM,CAAC,CAACpF,IAAI,CAAC,SAACkD,IAAI,CAAK,CAChFoC,QAAQ,CAACC,iBAAiB,CAAC,CAC1BK,IAAI,CAAE,MACP,CAAC,CAAC,CACFvD,GAAG,CAACE,UAAU,CAACmC,WAAW,CAACmB,SAAS,CAAC3C,IAAI,CAAEkC,MAAM,CAAEN,OAAO,CAAC,CAC3DI,GAAG,CAACY,2BAA2B,GAChC,CAAC,EACF,CACD,CAAC,EACF,CAAC;AAEJ;AACA;AACA;AACA;AACA,MACGf,YAAY,UAAAA,YAACgB,CAAAA,UAAU,CAAe,CAAAC,IAAAA,KAAA,MAAbZ,MAAM,CAAA,CAAA,CAAAxG,SAAA,CAAAC,MAAA,EAAAD,SAAA,CAAA,CAAA,CAAA,GAAA,KAAA,CAAA,CAAAA,SAAA,CAAG,CAAA,CAAA,CAAA,EAAE,CACnC,GAAI,cAAc,GAAKqH,MAAM,CAACC,WAAW,CAExC,OAAA,KADA5D,MAAM,CAAC6D,MAAM,CAAC9D,GAAG,CAACE,UAAU,CAACmC,WAAW,CAACK,YAAY,CAACgB,UAAU,CAAEX,MAAM,CAAC,CAG1E,IAAIJ,GAAG,CAAG,mBAAmB,CAAGe,UAAU,CAAG,uBAAuB,CAChE,SAAcX,MAAM,CAACC,gBAAgB,GACxCD,MAAM,CAACC,gBAAgB,CAAG,UAAY,EAAE,CAGjB,CAAA,QAAQ,GAA9BH,GAAG,CAACkB,WAAW,EAAe,GAA2B,MAAM,GAA5BlB,GAAG,CAACkB,WAAW,EAAa,EAAIlB,GAAG,CAACmB,WAAW,EAAE,SAAc,CAAC,EACvE,UAAU,EAAvCnB,GAAG,CAACoB,mBAAmB,EAAgB,EACrClB,MAAM,CAAAlC,IAAQ,EAAM,cAAc,GAAIkC,MAAM,CAAAlC,IAAU,GAExD8B,GAAG,EAAI,gBAAgB,CAAGE,GAAG,CAACqB,aAAa,EAAE,CAC7CvB,GAAG,EAAI,gBAAgB,CAAGE,GAAG,CAACmB,WAAW,EAAE,EAE5C,IAAMf,QAAQ,CAAG3C,CAAC,CAAC4C,iBAAiB,CAAC,CAAEC,SAAS,CAAE,CAAEC,OAAO,CAAO,CAAA,CAAA,CAAE,CAAC,CAAC,CACtE,IAAI,CAACC,OAAO,CAACV,GAAG,CAAEe,UAAU,CAAEX,MAAM,CAAC,CAACpF,IAAI,CAAC,SAACkD,IAAI,CAAK,CACpDoC,QAAQ,CAACC,iBAAiB,CAAC,CAC1BK,IAAI,CAAE,MACP,CAAC,CAAC,CACFI,KAAI,CAACH,SAAS,CAAC3C,IAAI,CAAEkC,MAAM,CAAC,CAC5BF,GAAG,CAACY,2BAA2B,GAChC,CAAC,EACF,CAAC;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MACGJ,OAAO,CAAA,SAAAA,OAACV,CAAAA,GAAG,CAAEe,UAAU,CAAe,CAEjC,IAAAS,aAAa,CAFOpB,MAAM,CAAAxG,CAAAA,CAAAA,SAAA,CAAAC,MAAA,EAAA,KAAA,CAAA,GAAAD,SAAA,CAAA,CAAA,CAAA,CAAAA,SAAA,CAAG,CAAA,CAAA,CAAA,EAAE,CAC7B6H,SAAS,CAAG9D,CAAC,CAAC+D,QAAQ,EAAE,CAE1BC,aAAa,CAAG,CAACvB,MAAM,CAACwB,OAAO,EAAI,SAAcxB,MAAM,CAACwB,OAAO,CAAA,OAC/DD,aAAa,EACZtE,GAAG,CAACE,UAAU,CAACmC,WAAW,CAACC,WAAW,CAACoB,UAAU,CAAC,EACrDU,SAAS,CAACI,OAAO,CAACxE,GAAG,CAACE,UAAU,CAACmC,WAAW,CAACC,WAAW,CAACoB,UAAU,CAAC,CAAC,CAC9DU,SAAS,CAACK,OAAO,EAAE,GAG5BN,aAAa,CAAGxB,GAAG,CACQ,WAAW,EAAlC,OAAOI,MAAM,CAAClC,IAAoB,GACrCsD,aAAa,CAAG,EAAE,CAClBA,aAAa,CAAAtD,IAAQ,CAAGkC,MAAM,CAAClC,IAAI,CACnCsD,aAAa,CAAAxB,GAAO,CAAGA,GAAG,CAE3B+B,CAAAA,YAAY,CAACC,OAAO,CAACR,aAAa,CAAC,CAACxG,IAAI,CAAC,SAAUkD,IAAI,CAAE,CACpDyD,aAAa,GAChBtE,GAAG,CAACE,UAAU,CAACmC,WAAW,CAACC,WAAW,CAACoB,UAAU,CAAC,CAAG7C,IAAI,CAAA,CAE1DuD,SAAS,CAACI,OAAO,CAAC3D,IAAI,EACvB,CAAC,CAAC,CACKuD,SAAS,CAACK,OAAO,EAAE,CAC3B,CAAC;AAEJ;AACA;AACA;AACA;AACA;AACA,MACGjB,SAAS,CAAAA,SAAAA,SAAAA,CAACoB,IAAI,CAA+B,CAAA,IAAAC,MAAA,CAA7B9B,IAAAA,CAAAA,MAAM,CAAAxG,CAAAA,CAAAA,SAAA,CAAAC,MAAA,EAAAD,SAAA,CAAAA,CAAAA,CAAAA,GAAAA,KAAAA,CAAAA,CAAAA,SAAA,IAAG,EAAE,CAAEkG,OAAO,GAAAlG,SAAA,CAAAC,MAAA,EAAAD,SAAA,aAAAA,SAAA,CAAA,CAAA,CAAA,CAAG,IAAI,CAC1CsG,GAAG,CAACiC,eAAe,CAACF,IAAI,CAAE,SAACvE,SAAS,CAAK,CAClC,IAAA0E,eAAe,CAAG1E,SAAS,CAAC+B,IAAI,CAAC,cAAc,CAAC,CAChDsB,UAAU,CAAGqB,eAAe,CAAC3C,IAAI,CAAC,mBAAiB,CAAC,CAACJ,GAAG,EAAE,CACnB,WAAW,EAApD,OAAOe,MAAM,CAACiC,sBAAsC,EACvDjC,MAAM,CAACiC,sBAAsB,CAAC3E,SAAS,CAAC,CAEzC,IAAM4E,gBAAgB,CAAGC,cAAc,CAACC,uBAAuB,CAACzB,UAAU,CAAC,CAC3EuB,gBAAgB,CAACG,OAAO,CAACL,eAAe,CAAC,CACzCE,gBAAgB,CAACI,mBAAmB,CAACN,eAAe,CAAC,CACrD,IAAMO,eAAe,CAAG5B,UAAU,CAAG,iBAAiB,CACf,WAAW,EAA9C,OAAOzD,MAAM,CAACqF,eAAe,CAAiB,EACjD,IAAIrF,MAAM,CAACqF,eAAe,CAAC,EAAE,CAACC,cAAc,CAAClF,SAAS,CAAC,CAExD0E,eAAe,CAACS,gBAAgB,CAAC3C,GAAG,CAAC4C,gCAAgC,CAAC,CAC9B,WAAW,EAA/C,OAAO1C,MAAM,CAAC2C,iBAAiC,EAClD3C,MAAM,CAAC2C,iBAAiB,CAACX,eAAe,CAAC,CAE1CF,MAAI,CAACc,sBAAsB,CAACZ,eAAe,CAAEhC,MAAM,CAAEN,OAAO,EAC7D,CAAC,EACF,CAAC;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MACGkD,sBAAsB,CAAA,SAAAA,sBAACC,CAAAA,IAAI,CAAE7C,MAAM,CAAEN,OAAO,CAAE,CAAA,IAAAoD,MAAA,CAAA,IAAA,CACvCC,qBAAqB,CAAG/C,MAAM,CAACC,gBAAgB,EAAI,UAAY,EAAE,CACjE+C,oBAAoB,CAAGhD,MAAM,CAACiD,oBAAoB,EAAI,UAAY,EAAE,CAC1EJ,IAAI,CAACjF,EAAE,CAAC,QAAQ,CAAE,SAAChF,CAAC,CAAK,CACxB,GAAIiK,IAAI,CAAC7E,QAAQ,CAAC,gBAAgB,CAAC,CAClC,OAAA,CAAA,CAAA,CAED,IAAM2C,UAAU,CAAGkC,IAAI,CAACxD,IAAI,CAAC,mBAAiB,CAAC,CAACJ,GAAG,EAAE,CACrD;AACA,GAAmC,WAAW,EAA1C,OAAO4D,IAAI,CAAC/E,IAAI,CAAC,QAAQ,CAAiB,CAC7C,OAAA,CAAA,CAAA,CAEA,GAA4C,CAAC,CAAzC+E,IAAI,CAAC/E,IAAI,CAAC,KAAK,CAAC,CAACoF,aAAa,CAACzJ,MAAU,CAK5C,OAHAoJ,IAAI,CAACM,UAAU,CAAC,QAAQ,CAAC,CACzB5F,CAAC,CAAC4C,iBAAiB,CAAC,CAAEK,IAAI,CAAE,MAAO,CAAC,CAAC,CACrC,KAAA5H,CAAC,CAAC6G,cAAc,EAAE,CAGlB;AACAoD,IAAI,CAAC/E,IAAI,CAAC,QAAQ,CAAE,MAAM,CAAC,CAC3BP,CAAC,CAAC4C,iBAAiB,CAAC,CAAEK,IAAI,CAAE,MAAO,CAAC,CAAC,CAGtC,IAAM4C,kBAAkB,CAAG7F,CAAC,CAAC8F,KAAK,CAAClB,cAAc,CAACmB,aAAa,CAAC,CAKhE,GAJAT,IAAI,CAACU,OAAO,CAACH,kBAAkB,CAAE,CAChCnJ,KAAK,CAAE,MAAM,CACbsG,MAAM,CAAEI,UACT,CAAC,CAAC,CACE,CAACyC,kBAAkB,CAACI,kBAAkB,EAAE,CAAE,CAAA,IACvCC,cAAc,CAAGtB,cAAc,CAACC,uBAAuB,CAACzB,UAAU,CAAC,CACnE+C,WAAW,CAAKD,cAAc,CAACE,eAAe,CAAGF,cAAc,CAACE,eAAe,CAAGb,MAAI,CAACc,IAAI,CAC7F1D,QAAQ,CAAG3C,CAAC,CAAC4C,iBAAiB,CAAC,CAClC0D,OAAO,CAAE/D,GAAG,CAACgE,UAAU,CAAC,qBAAqB,CAAC,CAC9CC,QAAQ,CAAE,MAAM,CAChB3D,SAAS,CAAE,CACVC,OAAO,CACR,CAAA,CAAA,CACD,CAAC,CAAC,CACFqD,WAAW,CAACb,IAAI,CAAC,CACfjI,IAAI,CAAC,SAACkD,IAAI,CAAK,CACf,IAAIkG,cAAc,CAAGnB,IAAI,CAACoB,OAAO,CAAC,iBAAiB,CAAC,CAChDD,cAAc,CAACvK,MAAM,EACxBqG,GAAG,CAACoE,eAAe,CAAA,CAAA,CAAA,CAAQF,cAAc,CAAC,CAAC,CAAC,CAACG,EAAE,CAAC,CAEjDpB,qBAAqB,CAACjF,IAAI,CAAC,CAC3BgC,GAAG,CAAC/B,KAAK,CAACwF,OAAO,CAAC,4BAA4B,CAAEzF,IAAI,CAAE+E,IAAI,CAAC,CAC3D3C,QAAQ,CAACC,iBAAiB,CAAC,CAAEK,IAAI,CAAE,MAAO,CAAC,CAAC,CACxC1C,IAAI,CAACsG,OAAO,EACftE,GAAG,CAACuE,UAAU,CAAC,CACdC,IAAI,CAAExE,GAAG,CAACgE,UAAU,CAAC,wBAAwB,CAAC,CAC9CS,IAAI,CAAE,SACP,CAAC,CAAC,CAEHzE,GAAG,CAAC0E,eAAe,CAAC1G,IAAI,CAAEkC,MAAM,CAAE6C,IAAI,CAAEnD,OAAO,EAChD,CAAC,CAAC,CACD+E,IAAI,CAAC,SAAUC,CAAC,CAAEC,WAAW,CAAE,CAC/B7E,GAAG,CAACuE,UAAU,CAAC,CACdO,WAAW,CAAO,CAAA,CAAA,CAClBN,IAAI,CAAEK,WAAW,CACjBE,KAAK,CAAE/E,GAAG,CAACgE,UAAU,CAAC,UAAU,CAAC,CACjCS,IAAI,CAAE,OACP,CAAC,EACF,CAAC,EACH,CAAC;AAEA1B,IAAI,CAACM,UAAU,CAAC,QAAQ,CAAC,CACzB5F,CAAC,CAAC4C,iBAAiB,CAAC,CAAEK,IAAI,CAAE,MAAO,CAAC,CAAC,CAEtC5H,CAAC,CAAC6G,cAAc,GAElB,CAAC,CAAC,CAEFoD,IAAI,CAACxD,IAAI,CAAC,mBAAmB,CAAC,CAACzB,EAAE,CAAC,OAAO,CAAE,SAAChF,CAAC,CAAK,CAAA,IAC3CiK,IAAI,CAAGtF,CAAC,CAAC3E,CAAC,CAACkM,aAAa,CAAC,CAACb,OAAO,CAAC,MAAM,CAAC,CACzCc,WAAW,CAAGxH,CAAC,CAAC3E,CAAC,CAACkM,aAAa,CAAC,CAAChH,IAAI,CAAC,KAAK,CAAC,CAClDkF,oBAAoB,CAACH,IAAI,CAAC,CAC1BC,MAAI,CAACkC,YAAY,CAACnC,IAAI,CAAEkC,WAAW,EACpC,CAAC,CAAC,CAEF,IAAI,CAACE,iBAAiB,CAACpC,IAAI,EAC5B,CAAC;AAEJ;AACA;AACA;AACA,MACGmC,YAAY,CAAA,SAAAA,YAACnC,CAAAA,IAAI,CAAE;AAElBA,IAAI,CAACxD,IAAI,CAAC,wBAAsB,CAAC,CAAC6F,MAAM,EAAE,CAC1CrC,IAAI,CAACsC,MAAM,CAAC,wDAAkD,CAAC,CAC/D5H,CAAC,CAAC6H,IAAI,CAACvC,IAAI,CAACxD,IAAI,CAAC,0BAA0B,CAAC,CAAE,SAAUrF,GAAG,CAAE8D,IAAI,CAAE,CAClEP,CAAC,CAACO,IAAI,CAAC,CAACuH,UAAU,CAAC,wBAAwB,EAC5C,CAAC,CAAC,CACFxC,IAAI,CAACyC,QAAQ,CAAC,gBAAgB,CAAC,CAC/BzC,IAAI,CAACU,OAAO,CAAC,QAAQ,EACtB,CAAC;AAEJ;AACA;AACA;AACA,MACG0B,iBAAiB,CAAA,SAAAA,iBAACpC,CAAAA,IAAI,CAAE,CAAA,IACjB0C,WAAW,CAAG1C,IAAI,CAACxD,IAAI,CAAC,gCAAgC,CAAC,CAACA,IAAI,CAAC,GAAG,CAAC,CAGnEmG,oBAAoB,CAAG,SAAUtJ,MAAM,CAAE,CAC9CqB,CAAC,CAACrB,MAAM,CAAC,CACPmD,IAAI,CAAC,QAAQ,CAAC,CACd+F,IAAI,CAAC,SAAUK,KAAK,CAAE/F,OAAO,CAAE,CAC/BA,OAAO,CAAGnC,CAAC,CAACmC,OAAO,CAAC,CACpBA,OAAO,CAACgG,IAAI,CAAC,mBAAmB,CAAEhG,OAAO,CAACgG,IAAI,CAAC,MAAM,CAAC,CAAC,CAACL,UAAU,CAAC,MAAM,EAC1E,CAAC,EACH,CAAC,CAGKM,oBAAoB,CAAG,SAAUzJ,MAAM,CAAE,CAC9CqB,CAAC,CAACrB,MAAM,CAAC,CACPmD,IAAI,CAAC,qBAAqB,CAAC,CAC3B+F,IAAI,CAAC,SAAUK,KAAK,CAAE/F,OAAO,CAAE,CAC/BA,OAAO,CAAGnC,CAAC,CAACmC,OAAO,CAAC,CACpBA,OAAO,CAACgG,IAAI,CAAC,MAAM,CAAEhG,OAAO,CAACgG,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAACL,UAAU,CAAC,mBAAmB,EACvF,CAAC,EACH,CAAC,CAnBD;AACA;AASA;AACA;AAeA;AANAE,WAAW,CAAC3H,EAAE,CAAC,OAAO,CAAE,UAAa;AACpC4H,oBAAoB,CAACD,WAAW,CAACK,GAAG,CAAC,2BAAyB,CAAC,CAACF,IAAI,CAAC,aAAa,CAAC,CAAC,CACpFC,oBAAoB,CAACpI,CAAC,CAAC,IAAI,CAAC,CAACmI,IAAI,CAAC,aAAa,CAAC,CAAC,CAEjD7C,IAAI,CAAC/E,IAAI,CAAC,KAAK,CAAC,CAACoF,aAAa,CAAG,GAClC,CAAC,CAAC,CAEFqC,WAAW,CAACrM,MAAM,CAAC,gBAAgB,CAAC,CAACkM,IAAI,CAAC,UAAa,CACtDI,oBAAoB,CAACjI,CAAC,CAAC,IAAI,CAAC,CAACmI,IAAI,CAAC,aAAa,CAAC,EACjD,CAAC,EACF,CAAC;AAEJ;AACA;AACA;AACA;AACA;AACA,MACG9B,IAAI,CAAA,SAAAA,IAACf,CAAAA,IAAI,CAAE,CACV,IAAIxB,SAAS,CAAG9D,CAAC,CAAC+D,QAAQ,EAAE,CAQ5B,OAPAK,YAAY,CAACC,OAAO,CAACiB,IAAI,CAACgD,iBAAiB,EAAE,CAAC,CAC5CjL,IAAI,CAAC,SAACkD,IAAI,CAAK,CACfuD,SAAS,CAACI,OAAO,CAAC3D,IAAI,EACvB,CAAC,CAAC,CACD2G,IAAI,CAAC,SAAUqB,UAAU,CAAEnB,WAAW,CAAE,CACxCtD,SAAS,CAAC0E,MAAM,CAACD,UAAU,CAAEnB,WAAW,EACzC,CAAC,CAAC,CACItD,SAAS,CAACK,OAAO,EACzB,CACD,CAAC,CACDsE,SAAS,CAAE;AAEb;AACA;AACA;AACA;AACA,MACGvF,SAAS,CAAAA,SAAAA,SAAAA,EAAuB,CAAtB,IAAAT,MAAM,CAAAxG,CAAAA,CAAAA,SAAA,CAAAC,MAAA,EAAAD,SAAA,CAAA,CAAA,CAAA,GAAA,KAAA,CAAA,CAAAA,SAAA,CAAG,CAAA,CAAA,CAAA,EAAE,CAAEkG,OAAO,CAAAlG,CAAAA,CAAAA,SAAA,CAAAC,MAAA,CAAAD,SAAA,CACvBmE,CAAAA,CAAAA,CAAAA,KAAAA,CAAAA,CAAAA,IAAI,CAAG,IAAI,CACjBqC,MAAM,CAAAiG,IAAQ,CAAG,gBAAgB,CACjCtE,YAAY,CAACC,OAAO,CAAC5B,MAAM,CAAC,CAACpF,IAAI,CAAC,SAAUiH,IAAI,CAAE,CACjD/B,GAAG,CAACiC,eAAe,CAACF,IAAI,CAAE,SAACvE,SAAS,CAAK,KACpCuF,IAAI,CAAGvF,SAAS,CAAC+B,IAAI,CAAC,0BAAwB,CAAC,CAC/CsB,UAAU,CAAGkC,IAAI,CAACxD,IAAI,CAAC,mBAAiB,CAAC,CAACJ,GAAG,EAAE,CAC/CiD,gBAAgB,CAAGC,cAAc,CAACC,uBAAuB,CAACzB,UAAU,CAAC,CACrE4B,eAAe,CAAG5B,UAAU,CAAG,eAAe,CAClDuB,gBAAgB,CAACG,OAAO,CAACQ,IAAI,CAAC,CAC9BX,gBAAgB,CAACI,mBAAmB,CAACO,IAAI,CAAC,CACH,WAAW,EAA9C,OAAO3F,MAAM,CAACqF,eAAe,CAAiB,EACjD,IAAIrF,MAAM,CAACqF,eAAe,CAAC,EAAE,CAACC,cAAc,CAAClF,SAAS,CAAC,CAExDuF,IAAI,CAACJ,gBAAgB,CAAC3C,GAAG,CAAC4C,gCAAgC,CAAC,CACnB,WAAW,EAA/C,OAAO1C,MAAM,CAAC2C,iBAAiC,EAClD3C,MAAM,CAAC2C,iBAAiB,CAACE,IAAI,CAAE7C,MAAM,CAAC,CAEvCrC,IAAI,CAACiF,sBAAsB,CAACC,IAAI,CAAE7C,MAAM,CAAEN,OAAO,EAClD,CAAC,EACF,CAAC,EACF,CAAC;AAEJ;AACA;AACA;AACA;AACA;AACA,MACGkD,sBAAsB,CAAA,SAAAA,sBAACC,CAAAA,IAAI,CAAE7C,MAAM,CAAEN,OAAO,CAAE,CAAA,IAAAwG,MAAA,CAAA,IAAA,CACvCnD,qBAAqB,CAAG/C,MAAM,CAACC,gBAAgB,EAAI,UAAY,EAAE,CACjE+C,oBAAoB,CAAGhD,MAAM,CAACiD,oBAAoB,EAAI,UAAY,EAAE,CAC1EJ,IAAI,CAACjF,EAAE,CAAC,QAAQ,CAAE,SAAChF,CAAC,CAAK,CACxB,GAAIiK,IAAI,CAAC7E,QAAQ,CAAC,gBAAgB,CAAC,CAClC,OAAA,CAAA,CAAA,CAED,IAAM2C,UAAU,CAAGkC,IAAI,CAACxD,IAAI,CAAC,mBAAiB,CAAC,CAACJ,GAAG,EAAE,CACrD;AACA,GAAmC,WAAW,EAA1C,OAAO4D,IAAI,CAAC/E,IAAI,CAAC,QAAQ,CAAiB,CAC7C,OAAA,CAAA,CAAA,CAEA,GAA4C,CAAC,CAAzC+E,IAAI,CAAC/E,IAAI,CAAC,KAAK,CAAC,CAACoF,aAAa,CAACzJ,MAAU,CAK5C,OAHAoJ,IAAI,CAACM,UAAU,CAAC,QAAQ,CAAC,CACzB5F,CAAC,CAAC4C,iBAAiB,CAAC,CAAEK,IAAI,CAAE,MAAO,CAAC,CAAC,CACrC,KAAA5H,CAAC,CAAC6G,cAAc,EAAE,CAGlB;AACAoD,IAAI,CAAC/E,IAAI,CAAC,QAAQ,CAAE,MAAM,CAAC,CAC3BP,CAAC,CAAC4C,iBAAiB,CAAC,CAAEK,IAAI,CAAE,MAAO,CAAC,CAAC,CAGtC,IAAM4C,kBAAkB,CAAG7F,CAAC,CAAC8F,KAAK,CAAClB,cAAc,CAACmB,aAAa,CAAC,CAKhE,GAJAT,IAAI,CAACU,OAAO,CAACH,kBAAkB,CAAE,CAChCnJ,KAAK,CAAE,MAAM,CACbsG,MAAM,CAAEI,UACT,CAAC,CAAC,CACE,CAACyC,kBAAkB,CAACI,kBAAkB,EAAE,CAAE,KACvCC,cAAc,CAAGtB,cAAc,CAACC,uBAAuB,CAACzB,UAAU,CAAC,CACnE+C,WAAW,CAAKD,cAAc,CAAC0C,aAAa,CAAG1C,cAAc,CAAC0C,aAAa,CAAGD,MAAI,CAACtC,IAAI,CACzF1D,QAAQ,CAAG3C,CAAC,CAAC4C,iBAAiB,CAAC,CAClC0D,OAAO,CAAE/D,GAAG,CAACgE,UAAU,CAAC,qBAAqB,CAAC,CAC9CC,QAAQ,CAAE,MAAM,CAChB3D,SAAS,CAAE,CACVC,OAAO,CACR,CAAA,CAAA,CACD,CAAC,CAAC,CACFqD,WAAW,CAACb,IAAI,CAAC,CAACjI,IAAI,CAAC,SAACkD,IAAI,CAAK,CAChC,IAAMkG,cAAc,CAAGnB,IAAI,CAACoB,OAAO,CAAC,iBAAiB,CAAC,CAClDD,cAAc,CAACvK,MAAM,EACxBqG,GAAG,CAACoE,eAAe,CAAA,CAAA,CAAA,CAAQF,cAAc,CAAC,CAAC,CAAC,CAACG,EAAE,CAAC,CAEjDpB,qBAAqB,CAACjF,IAAI,CAAC,CAC3BgC,GAAG,CAAC/B,KAAK,CAACwF,OAAO,CAAC,0BAA0B,CAAEzF,IAAI,CAAE+E,IAAI,CAAEnD,OAAO,CAAC,CAClE,OAAOxC,MAAM,CAACkJ,YAAY,CAACtI,IAAI,CAACuI,MAAM,CAACC,SAAS,CAAC,CACjDpG,QAAQ,CAACC,iBAAiB,CAAC,CAAEK,IAAI,CAAE,MAAO,CAAC,CAAC,CACxC1C,IAAI,CAACsG,OAAO,EACftE,GAAG,CAACuE,UAAU,CAAC,CACdC,IAAI,CAAExE,GAAG,CAACgE,UAAU,CAAC,wBAAwB,CAAC,CAC9CS,IAAI,CAAE,SACP,CAAC,CAAC,CAEHzE,GAAG,CAAC0E,eAAe,CAAC1G,IAAI,CAAEkC,MAAM,CAAE6C,IAAI,CAAEnD,OAAO,EAChD,CAAC,EACF,CAAC;AAEAmD,IAAI,CAACM,UAAU,CAAC,QAAQ,CAAC,CACzB5F,CAAC,CAAC4C,iBAAiB,CAAC,CAAEK,IAAI,CAAE,MAAO,CAAC,CAAC,CAEtC5H,CAAC,CAAC6G,cAAc,GAElB,CAAC,CAAC,CACFoD,IAAI,CAACxD,IAAI,CAAC,mBAAmB,CAAC,CAACzB,EAAE,CAAC,OAAO,CAAE,SAAChF,CAAC,CAAK,KAC3CiK,IAAI,CAAGtF,CAAC,CAAC3E,CAAC,CAACkM,aAAa,CAAC,CAACb,OAAO,CAAC,MAAM,CAAC,CACzCc,WAAW,CAAGxH,CAAC,CAAC3E,CAAC,CAACkM,aAAa,CAAC,CAAChH,IAAI,CAAC,KAAK,CAAC,CAClDkF,oBAAoB,CAACH,IAAI,CAAC,CAC1BqD,MAAI,CAAClB,YAAY,CAACnC,IAAI,CAAEkC,WAAW,EACpC,CAAC,EACF,CAAC;AAEJ;AACA;AACA;AACA,MACGC,YAAY,CAAA,SAAAA,YAACnC,CAAAA,IAAI,CAAE,CAClBA,IAAI,CAACxD,IAAI,CAAC,wBAAsB,CAAC,CAAC6F,MAAM,EAAE,CAC1CrC,IAAI,CAACsC,MAAM,CAAC,wDAAkD,CAAC,CAC/D5H,CAAC,CAAC6H,IAAI,CAACvC,IAAI,CAACxD,IAAI,CAAC,0BAA0B,CAAC,CAAE,SAAUrF,GAAG,CAAE8D,IAAI,CAAE,CAClEP,CAAC,CAACO,IAAI,CAAC,CAACuH,UAAU,CAAC,wBAAwB,EAC5C,CAAC,CAAC,CACFxC,IAAI,CAACyC,QAAQ,CAAC,gBAAgB,CAAC,CAC/BzC,IAAI,CAACU,OAAO,CAAC,QAAQ,EACtB,CAAC;AAEJ;AACA;AACA;AACA;AACA;AACA,MACGK,IAAI,CAAAA,SAAAA,IAAAA,CAACf,IAAI,CAAE,CACV,IAAMxB,SAAS,CAAG9D,CAAC,CAAC+D,QAAQ,EAAE,CAC9BuB,IAAI,CAACgD,iBAAiB,EAAE,CACxB,IAAIU,QAAQ,CAAG,IAAIC,QAAQ,CAAC3D,IAAI,CAAC,CAAC,CAAC,CAAC,CAcpC,OAbAlB,YAAY,CAACC,OAAO,CAAC,CACpBhC,GAAG,CAAE,WAAW,CAChB2E,IAAI,CAAE,MAAM,CACZzG,IAAI,CAAEyI,QAAQ,CACdE,WAAW,CAAO,CAAA,CAAA,CAClBC,WAAW,CAAA,CAAA,CACZ,CAAC,CAAC,CACA9L,IAAI,CAAC,SAAUkD,IAAI,CAAE,CACrBuD,SAAS,CAACI,OAAO,CAAC3D,IAAI,EACvB,CAAC,CAAC,CACD2G,IAAI,CAAC,SAAUqB,UAAU,CAAEnB,WAAW,CAAE,CACxCtD,SAAS,CAAC0E,MAAM,CAACD,UAAU,CAAEnB,WAAW,EACzC,CAAC,CAAC,CACItD,SAAS,CAACK,OAAO,EACzB,CACD,CAAC,CACDiF,SAAS,CAAE,CACVC,MAAM,CAAA,CAAA,CAAM,CACZC,QAAQ,CAAE,CACTC,UAAU,CAAE,CACXC,QAAQ,CAAE,OACX,CACD,CAAC,CACDC,IAAI,CAAE,CACLjL,QAAQ,CAAE,EAAE,CACZ2D,OAAO,CAAE,IACV,CAAC,CACDuH,QAAQ,CAAA,SAAAA,QAAA,EAAG,CACV,IAAIC,kBAAkB,CAAG3J,CAAC,CAAC,WAAW,CAAC,CAClC2J,kBAAkB,CAACzN,MAAM,GAC7ByN,kBAAkB,CAAG3J,CAAC,CAAC,OAAO,CAAC,CAAA,CAE3B2J,kBAAkB,CAACzN,MAAM,GAC7ByN,kBAAkB,CAAG3J,CAAC,CAAC,MAAM,CAAC,EAE3B,IAAI,CAACqJ,MAAM,GACd,IAAI,CAACI,IAAI,CAACjL,QAAQ,CAAG,IAAI,CAACoL,CAAC,CAACD,kBAAkB,CAAC,CAC/C,IAAI,CAACF,IAAI,CAACtH,OAAO,CAAGnC,CAAC,CAAC,IAAI,CAACyJ,IAAI,CAACjL,QAAQ,CAACqL,WAAW,EAAE,CAACC,QAAQ,CAAC,EAElE,CAAC,CACDC,EAAE,CAAA,SAAAA,EAAC5H,CAAAA,OAAO,CAAgB,CAAd,IAAA6H,OAAO,CAAA,CAAA,CAAA/N,SAAA,CAAAC,MAAA,EAAAD,SAAA,aAAAA,SAAA,CAAA,CAAA,CAAA,CAAG,EAAE,CACvB,OAAOkG,OAAO,CAAC8H,iBAAiB,CAACD,OAAO,CAAC,CAACC,iBAAiB,EAC5D,CAAC,CACDL,CAAC,CAAAA,SAAAA,CAAAA,CAACzH,OAAO,CAAE6H,OAAO,CAAE,CAAA,IAMbE,aAAa,CAAG1O,MAAM,CAAC2O,MAAM,CAAC,IAAI,CAACb,QAAQ,CAAEU,OAAO,CALzC,CAChBI,gBAAgB,CAAE,CACjBC,CAAC,CAAE,GACJ,CACD,CACoE,CAAC,CACrE,OAAOlI,OAAO,CAAC8H,iBAAiB,CAACC,aAAa,CAAC,CAACD,iBAAiB,EAClE,CACD,CAAC,CACDK,QAAQ,cACP,UAAA,CAAA,SAAAA,SAAYvK,SAAS,CAAE0C,MAAM,CAAE,CAAAlE,eAAA,CAAA,IAAA,CAAA+L,QAAA,CAAA,CAC9B,IAAI,CAACvK,SAAS,CAAGA,SAAS,CAC1B,IAAI,CAACwK,IAAI,CAAC9H,MAAM,EACjB,CACA;AACH;AACA;AACA;AACA,MAJG,OAAA3D,YAAA,CAAAwL,QAAA,GAAA7N,GAAA,CAAA,MAAA,CAAAC,KAAA;AAmBH;AACA;AACA,MACG,SAAA6N,IAAK9H,CAAAA,MAAM,CAAE,CAAA+H,IAAAA,MAAA,MACRC,GAAG,CAAG,CACTC,MAAM,CAAE,IAAI,CAAC3K,SAAS,CAAC0K,GAAG,CAAC,QAAQ,CAAC,CACpCE,OAAO,CAAE,OACV,CAAC,CACD,IAAI,CAAC5K,SAAS,CAAC6K,IAAI,CAAC,oBAAoB,CAAE,SAACvP,CAAC,CAAK,CAChD2E,CAAC,CAAC3E,CAAC,CAACkM,aAAa,CAAC,CAACkD,GAAG,CAAC,CACtBC,MAAM,CAAE,oBAAoB,CAC5BC,OAAO,CAAE,EACV,CAAC,CAAC,CACFtP,CAAC,CAAC6G,cAAc,GACjB,CAAC,CAAC,CACF,IAAI,CAACnC,SAAS,CAAC6K,IAAI,CAAC,WAAW,CAAE,SAACvP,CAAC,CAAK,CACvC2E,CAAC,CAAC3E,CAAC,CAACkM,aAAa,CAAC,CAACkD,GAAG,CAACA,GAAG,CAAC,CAC3BpP,CAAC,CAAC6G,cAAc,GACjB,CAAC,CAAC,CACF,IAAI,CAACnC,SAAS,CAAC6K,IAAI,CAAC,MAAM,CAAE,SAACvP,CAAC,CAAK,CAClC,IAAI8G,OAAO,CAAGnC,CAAC,CAAC3E,CAAC,CAACkM,aAAa,CAAC,CAACkD,GAAG,CAACA,GAAG,CAAC,CACzCpP,CAAC,CAAC6G,cAAc,EAAE,CAClB,IAAM2I,KAAK,CAAGxP,CAAC,CAACyP,aAAa,CAACC,YAAY,CAACF,KAAK,CAAC,OAAA,EAC9B,CAAC,CAAhBA,KAAK,CAAC3O,MAAU,CAAA,EAAA,KAGpBuG,MAAM,CAACuI,QAAQ,CACdvI,MAAM,CAACuI,QAAQ,EACf,UAAY,KAAAC,KAAA,CACPC,wBAAwB,CAAGlL,CAAC,CAAC4C,iBAAiB,CAAC,CAClDC,SAAS,CAAE,CAAEC,OAAO,CAAA,CAAA,CAAO,CAC5B,CAAC,CAAC,CACEkG,QAAQ,CAAG,IAAIC,QAAU,CAAAkC,SAAA,CAAArO,0BAAA,CACZ+N,KAAK,CAAtB,CAAA,GAAA,CAAA,IAAAM,SAAA,CAAAhO,CAAA,KAAA8N,KAAA,CAAAE,SAAA,CAAA/N,CAAA,IAAAC,IAAA,EAAwB,KAAf+N,IAAI,CAAAH,KAAA,CAAAvO,KAAA,CACZsM,QAAQ,CAACpB,MAAM,CAACzF,OAAO,CAAC5B,IAAI,CAAC,YAAY,CAAC,CAAE6K,IAAI,CAAEA,IAAI,CAACjN,IAAI,EAC5D,CAAC,CAAAX,MAAAA,GAAA,EAAA2N,SAAA,CAAA9P,CAAA,CAAAmC,GAAA,WAAA2N,SAAA,CAAA5N,CAAA,GACDyL,CAAAA,QAAQ,CAACpB,MAAM,CAAC,QAAQ,CAAE,UAAU,CAAC,CACrCoB,QAAQ,CAACpB,MAAM,CAAC,QAAQ,CAAEzF,OAAO,CAAC5B,IAAI,CAAC,IAAI,CAAC,CAAC,CAC7CyI,QAAQ,CAACpB,MAAM,CAAC,QAAQ,CAAEzF,OAAO,CAAC5B,IAAI,CAAC,QAAQ,CAAC,CAAC,CACjD6D,YAAY,CAACC,OAAO,CAAC,CACpBgH,MAAM,CAAE,MAAM,CACd9K,IAAI,CAAEyI,QAAQ,CACdE,WAAW,GAAO,CAClBC,WAAW,GACZ,CAAC,CAAC,CACA9L,IAAI,CAAC,SAAUkD,IAAI,CAAE,CACjBA,IAAI,CAACsG,OAAO,EACfqE,wBAAwB,CAACtI,iBAAiB,CAAC,CAAEK,IAAI,CAAE,MAAO,CAAC,CAAC,CAC5DV,GAAG,CAACuE,UAAU,CAAC,CAAEC,IAAI,CAAExE,GAAG,CAACgE,UAAU,CAAC,wBAAwB,CAAC,CAAES,IAAI,CAAE,SAAU,CAAC,CAAC,CAC/E7E,OAAO,CAACuE,OAAO,CAAC,mBAAmB,CAAC,CAACxK,MAAM,EAC9CoP,gBAAgB,CAACC,WAAW,EAAE,CAACC,qBAAqB,CAACnQ,CAAC,CAAC,GAGxDkH,GAAG,CAACuE,UAAU,CAAC,CAAEC,IAAI,CAAExE,GAAG,CAACgE,UAAU,CAAC,qBAAqB,CAAC,CAAES,IAAI,CAAE,OAAQ,CAAC,CAAC,CAC9EkE,wBAAwB,CAACtI,iBAAiB,CAAC,CAAEK,IAAI,CAAE,MAAO,CAAC,CAAC,EAE9D,CAAC,CAAC,CACDiE,IAAI,CAAC,SAAUuE,KAAK,CAAEjO,GAAG,CAAE,CAC3B+E,GAAG,CAACuE,UAAU,CAAC,CAAEC,IAAI,CAAExE,GAAG,CAACgE,UAAU,CAAC,UAAU,CAAC,CAAES,IAAI,CAAE,OAAQ,CAAC,CAAC,CACnEkE,wBAAwB,CAACtI,iBAAiB,CAAC,CAAEK,IAAI,CAAE,MAAO,CAAC,CAAC,CAC5DV,GAAG,CAACmJ,QAAQ,CAACD,KAAK,CAAEjO,GAAG,EACxB,CAAC,EACH,CAAC,CACF+E,GAAG,CAACoJ,gBAAgB,CAAC,CACpB5E,IAAI,CAAExE,GAAG,CAACgE,UAAU,CAAC,wBAAwB,CAAC,CAC9CqF,iBAAiB,CAAE,SAAAA,iBAAA,EAAM,CACxBnJ,MAAM,CAACuI,QAAQ,CAAC3P,CAAC,CAAEmP,MAAI,EACxB,CACD,CAAC,CAAC,CACH,CAAC,EACF,CAAC,CAAA/N,CAAAA,CAAAA,CAAAA,CAAAA,GAAA,YAAAC,KAAA,CApFD,SAAAuF,QAAgBlC,CAAAA,SAAS,CAAe,CAAb,IAAA0C,MAAM,CAAAxG,CAAAA,CAAAA,SAAA,CAAAC,MAAA,EAAA,KAAA,CAAA,GAAAD,SAAA,CAAAA,CAAAA,CAAAA,CAAAA,SAAA,IAAG,EAAE,CAIrC,GAHyB,WAAW,EAAhC,OAAO8D,SAAyB,GACnCA,SAAS,CAAGC,CAAC,CAAC,MAAM,CAAC,EAElBD,SAAS,CAACU,QAAQ,CAAC,mBAAmB,CAAC,EAAI,CAACV,SAAS,CAAC8L,IAAI,CAAC,UAAU,CAAC,CACzE,OAAO,IAAInM,GAAG,CAACE,UAAU,CAAC0K,QAAQ,CAACvK,SAAS,CAAE0C,MAAM,CAAC,CAEtD,IAAMqJ,SAAS,CAAG,EAAE,CAIpB,OAHA/L,SAAS,CAAC+B,IAAI,CAAC,oBAAoB,CAAC,CAAC+F,IAAI,CAAC,SAACV,CAAC,CAAE9L,CAAC,CAAK,CACnDyQ,SAAS,CAAChQ,IAAI,CAAC,IAAI4D,GAAG,CAACE,UAAU,CAAC0K,QAAQ,CAACtK,CAAC,CAAC3E,CAAC,CAAC,CAAEoH,MAAM,CAAC,EACzD,CAAC,CAAC,CACKqJ,SACR,CAAC,CAAA,CAAA,CAAA,CAAAxB,QAAA,CAyED,EAAA,CACDyB,gBAAgB,EAAA9R,MAAA,cAoBf,UAAA,CAAA,SAAA8R,iBAAY5J,OAAO,CAAEM,MAAM,CAAEuJ,QAAQ,CAAe,CAAb,IAAAC,MAAM,CAAAhQ,CAAAA,CAAAA,SAAA,CAAAC,MAAA,EAAA,KAAA,CAAA,GAAAD,SAAA,CAAAA,CAAAA,CAAAA,CAAAA,SAAA,IAAG,EAAE,CAAAsC,eAAA,CAAA,IAAA,CAAAwN,gBAAA,CAAA3P,CAAAA,eAAA,eAnBzC,CACR4K,IAAI,CAAE,OAAO,CACbkF,IAAI,CAAO,CAAA,CAAA,CACXC,IAAI,CAAM,CAAA,CAAA,CACVC,KAAK,CAAE,GAAI,CACXC,KAAK,CAAE,IAAIC,OAAO,CAACC,KAAK,CAAC,CACxBC,IAAI,CAAE,IAAI,CACVC,IAAI,CAAE,MAAM,CACZC,SAAS,CAAE,EAAE,CACbC,SAAS,CAAE,EAAE,CACbC,KAAK,CAAO,CAAA,CAAA,CACZC,OAAO,CAAE,CAAC,CACVC,WAAW,CAAE,OAAO,CACpBC,oBAAoB,GACrB,CAAC,CACF,CAAC,CAAA3Q,CAAAA,eAAA,mBACY,IAAI,CAAA,CAAAA,eAAA,CACT,IAAA,CAAA,OAAA,CAAA,IAAI,CAGX,CAAA,IAAI,CAAC4Q,WAAW,CAAG7K,OAAO,CAAC8K,GAAG,CAAC,CAAC,CAAC,CACjC,IAAI,CAAC5K,GAAG,CAAGI,MAAM,CACjB,IAAI,CAACuJ,QAAQ,CAAGA,QAAQ,EAAI,EAAE,CAC1BC,MAAM,CAAC/P,MAAM,GAChB,IAAI,CAAC+P,MAAM,CAAAjQ,aAAA,CAAAA,aAAA,CAAA,EAAA,CAAQ,IAAI,CAACiQ,MAAM,EAAKA,MAAM,CAAE,EAE7C,CACA;AACH;AACA;AACA,MAHG,OAAAnN,YAAA,CAAAiN,gBAAA,GAAAtP,GAAA,CAAA,MAAA,CAAAC,KAAA;AAgBH;AACA,MACG,SAAA6N,IAAAA,EAAO,CAAA,IAAA2C,MAAA,CAAA,IAAA,CACN,IAAI,CAACC,SAAS,EAAE,CAChB,IAAI,CAACC,OAAO,EAAE,CACdC,QAAQ,CAACC,gBAAgB,CAAC,kBAAkB,CAAE,UAAO,CAChDD,QAAQ,CAACE,MAAM,CAClBL,MAAI,CAACM,eAAe,EAAE,EAEtBN,MAAI,CAACO,WAAW,EAAE,CAClBP,MAAI,CAACQ,eAAe,EAAE,EAExB,CAAC,CAAC,CACGL,QAAQ,CAACE,MAAM,EACnB,IAAI,CAACE,WAAW,GAElB,CACA;AACH;AACA;AACA,OAHGhR,CAAAA,CAAAA,GAAA,CAAAC,WAAAA,CAAAA,KAAA,CAIA,SAAAyQ,SAAAA,EAAuB,CAAA,IAAbQ,MAAM,CAAA1R,CAAAA,CAAAA,SAAA,CAAAC,MAAA,EAAA,KAAA,CAAA,GAAAD,SAAA,CAAA,CAAA,CAAA,CAAAA,SAAA,CAAA,CAAA,CAAA,CAAG,EAAE,CACpB,GAAI,CAAC0R,MAAM,CAAE,CACZ,IAAIC,UAAU,CAAG,EAAE,CAElBA,UAAU,CAD4B,EAAE,EAArCtK,MAAM,CAACuK,UAAU,CAACC,WAAW,EAAQ,CAC3B,UAAU,CAEV,YAAY,CAE1BH,MAAM,CAAGrK,MAAM,CAACyK,UAAU,CAACD,WAAW,EAAE,CAAG,GAAG,CAAGF,WAClD,CACA,IAAI,CAACD,MAAM,CAAGA,OACf,CACA;AACH;AACA;AACA,SAHGlR,GAAA,CAAA,SAAA,CAAAC,KAAA,CAIA,SAAA0Q,SAAmB,CAAA,IAAXY,IAAI,CAAA,CAAA,CAAA/R,SAAA,CAAAC,MAAA,WAAAD,SAAA,CAAA,CAAA,CAAA,CAAAA,SAAA,CAAG,CAAA,CAAA,CAAA,EAAE,CACX+R,IAAI,GACRA,IAAI,CAAGC,MAAM,EAAE,CAACN,MAAM,CAAC,IAAI,CAACA,MAAM,CAAC,CAEpC,CAAA,IAAI,CAACO,SAAS,CAAGF,KAClB,CACA;AACH;AACA,OAFGvR,CAAAA,CAAAA,GAAA,CAAAC,aAAAA,CAAAA,KAAA,CAAAyR,SAAAA,YAAA,CAAAV,CAAAA,SAAAA,WAAAA,EAAAU,CAAAA,OAAAA,YAAA,CAAApS,KAAA,CAAAE,IAAAA,CAAAA,SAAA,CAAAwR,CAAAA,OAAAA,WAAA,CAAAxP,QAAA,CAAAkQ,UAAAA,CAAAA,OAAAA,YAAA,CAAAlQ,QAAA,EAAAwP,CAAAA,CAAAA,WAAA,CAGA,CAAA,UAAc,CAAAW,IAAAA,MAAA,CACT,IAAA,CAAA,IAAI,CAACpB,WAAW,CAACqB,WAAW,GAC/B,IAAI,CAACC,UAAU,CAAGb,WAAW,CAAC,UAAM,CAC9BW,MAAI,CAACG,KAAK,EACdH,MAAI,CAACV,eAAe,GAEtB,CAAC,CAAkB,GAAI,CAApB,IAAI,CAAC1B,QAAe,CAAC,EAE1B,CACA;AACH;AACA,OAFGvP,CAAAA,CAAAA,CAAAA,GAAA,CAAAC,iBAAAA,CAAAA,KAAA,CAGA,SAAA8Q,eAAAA,EAAkB,CACjBgB,aAAa,CAAC,IAAI,CAACF,UAAU,EAC9B,CACA;AACH;AACA,OAFG,CAAA,CAAA7R,GAAA,CAAA,iBAAA,CAAAC,KAAA,CAGA,SAAAgR,eAAAA,EAAkB,CAAA,IAAAe,MAAA,CAAA,IAAA,CAAA,OACR,IAAA,CAACzB,WAAW,CAACqB,WAAW,CAAA,KAIjC,IAAI,CAAChM,GAAG,CAACqM,QAAQ,CAAG,IAAI,CAACR,SAAS,CAClC,IAAI,CAACK,KAAK,CAAG,CAAC,CACdnK,YAAY,CAACC,OAAO,CAAC,IAAI,CAAChC,GAAG,CAAC,CAC5BhF,IAAI,CAAC,SAACkD,IAAI,CAAK,CACfkO,MAAI,CAACF,KAAK,CAAG,CAAC,CACVhM,GAAG,CAACoM,YAAY,CAACpO,IAAI,CAAC,GACzBA,IAAI,CAAGqB,IAAI,CAACC,KAAK,CAACtB,IAAI,CAAC,CAExB,CAAA,IAAIqO,QAAQ,CAAGrO,IAAI,CAACuI,MAAM,CACtB8F,QAAQ,CAAC7H,IAAI,GAChB0H,MAAI,CAACxC,MAAM,CAAClF,IAAI,CAAG6H,QAAQ,CAAC7H,IAAI,CAAC8H,IAAI,EAAE,CACvCJ,MAAI,CAACxC,MAAM,CAAC3E,KAAK,CAAGsH,QAAQ,CAACtH,KAAK,CAACuH,IAAI,EAAE,CACzCtM,GAAG,CAACuE,UAAU,CAAC2H,MAAI,CAACxC,MAAM,CAAC,CAAA,CAE5BwC,MAAI,CAACrB,OAAO,CAACwB,QAAQ,CAACF,QAAQ,EAC/B,CAAC,CAAC,CACDxH,IAAI,CAAC,SAAC3G,IAAI,CAAE/C,GAAG,CAAK,CACpB+E,GAAG,CAACmJ,QAAQ,CAACnL,IAAI,CAAE/C,GAAG,CAAC,CACvBiR,MAAI,CAACjB,eAAe,GACrB,CAAC,CAAC,GAtBF,IAAI,CAACA,eAAe,EAAE,CAAA,CAAA,CAAA,CAuBxB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA/Q,GAAA,CAAA,UAAA,CAAAC,KAAA,CArGD,SAAAuF,QAAAA,CAAgBlC,SAAS,CAAE,CAC1B,IAAIoC,OAAO,CAAGpC,SAAS,CAAC+B,IAAI,CAACiK,gBAAgB,CAAC+C,UAAU,CAAC,CACzD,GAAI3M,OAAO,CAACjG,MAAM,CAAE,CACnB,IAAI6S,YAAY,CAAG5M,OAAO,CAAC5B,IAAI,EAAE,CACjC,IAAIwL,gBAAgB,CACnB5J,OAAO,CACP,CAAEa,MAAM,CAAE+L,YAAY,CAAC/L,MAAM,CAAE0F,IAAI,CAAE,gBAAgB,CAAEsG,MAAM,CAAED,YAAY,CAACC,MAAO,CAAC,CACpFD,YAAY,CAAC/C,QACd,CAAC,CAACzB,IAAI,GACP,CACD,CAAC,CAAA,CAAA,CAAA,CAAAwB,gBAAA,CAAA,EAAA,CAAA3P,eAAA,CAAAnC,MAAA,CAAA,YAAA,CAvBmB,yBAAyB,CAAA,CAAAA,MAAA,CAmH7C;AAEH;AACA,KACEgV,KAAK,cAAA,UAAA,CAAA,SAAAA,KAAA,EAAA,CAAA1Q,eAAA,CAAA0Q,IAAAA,CAAAA,KAAA,EAAAnQ,CAAAA,OAAAA,YAAA,CAAAmQ,KAAA,CAAA,IAAA,CAAA,CAAA,CAAAxS,GAAA,CAAA,WAAA,CAAAC,KAAA;AAEP;AACA;AACA,MACG,SAAAwS,WAA8B,CAAA,IAAbzM,MAAM,CAAA,CAAA,CAAAxG,SAAA,CAAAC,MAAA,EAAA,KAAA,CAAA,GAAAD,SAAA,CAAAA,CAAAA,CAAAA,CAAAA,SAAA,CAAG,CAAA,CAAA,CAAA,EAAE,CACvB6H,SAAS,CAAG9D,CAAC,CAAC+D,QAAQ,EAAE,CACxB1B,GAAG,CAAG,gDAAgD,CACtDI,MAAM,EAAIjH,MAAM,CAACC,IAAI,CAACgH,MAAM,CAAC,CAACvG,MAAM,GACvCmG,GAAG,CAAGE,GAAG,CAAC4M,kBAAkB,CAAC1M,MAAM,CAAEJ,GAAG,CAAC,CAE1C,CAAA,IAAI+M,eAAe,CAAGpP,CAAC,CAAC4C,iBAAiB,CAAC,CAAE4D,QAAQ,CAAE,MAAM,CAAE3D,SAAS,CAAE,CAAEC,OAAO,CAAA,CAAA,CAAO,CAAE,CAAC,CAAC,CAqB7F,OApBAP,GAAG,CAACiC,eAAe,CAAC,CACnBoC,EAAE,CAAE,YAAY,CAChBvE,GAAG,CAAHA,GAAG,CACHgN,EAAE,CAAE,SAAAA,EAAAA,CAACtP,SAAS,CAAK,CAClBqP,eAAe,CAACxM,iBAAiB,CAAC,CAAEK,IAAI,CAAE,MAAO,CAAC,CAAC,CACnDlD,SAAS,CAACM,EAAE,CAAC,OAAO,CAAE,eAAe,CAAE,SAAChF,CAAC,CAAK,CAC7C,IAAIkF,IAAI,CAAG,CACVyG,IAAI,CAAE3L,CAAC,CAACkM,aAAa,CAAC+H,OAAO,CAACtI,IAAI,CAClC7I,IAAI,CAAE9C,CAAC,CAACkM,aAAa,CAAC+H,OAAO,CAACnR,IAC/B,CAAC,CACiB,OAAO,GAArBoC,IAAI,CAACyG,IAAgB,GACxBzG,IAAI,CAACgP,GAAG,CAAGvP,CAAC,CAAC3E,CAAC,CAACkM,aAAa,CAAC,CAACzF,IAAI,CAAC,KAAK,CAAC,CAACqG,IAAI,CAAC,KAAK,CAAC,CACrD5H,IAAI,CAAC9D,GAAG,CAAGpB,CAAC,CAACkM,aAAa,CAAC+H,OAAO,CAAC7S,GAAG,CAEvCqH,CAAAA,SAAS,CAACI,OAAO,CAAC3D,IAAI,CAAC,CACvBgC,GAAG,CAACoE,eAAe,CAAC,IAAI,CAAE,YAAY,EACvC,CAAC,EACF,CACD,CAAC,CAAC,CAEK7C,SAAS,CAACK,OAAO,EACzB,CAAC,CAAA8K,CAAAA,CAAAA,CAAAA,KAAA,GAEH,CAAC,CACDO,MAAM,CAAE;AAET;AACA,KACEC,kBAAkB,CAAE,SAAAA,oBAAY,CAC/B,OAA+B,WAAW,EAAnC,OAAOC,YAA4B,EAAgC,SAAS,GAArCA,YAAY,CAACC,UAC5D,CAAC;AAEH;AACA;AACA,KACEC,OAAO,CAAE,SAAAA,OAAUnN,CAAAA,MAAM,CAAE,CAC1B,IAAIuE,IAAI,CAAG,OAAO,CAiBlB,OAhBAvE,MAAM,CAACoN,OAAO,CAAG,IAAIC,GAAG,CAAAC,EAAAA,CAAAA,MAAA,CAAAvV,kBAAA,CACpB8R,OAAO,CAAC0D,cAAc,CAAA,CAAA,CACzB,CACCC,cAAc,CACd,CACCC,QAAQ,CAAO,CAAA,CAAA,CACfhE,IAAI,CAAEzJ,MAAM,CAACyJ,IACd,CAAC,CACD,CACD,CAAA,CAAC,CACyB,WAAW,EAAlC,OAAOzJ,MAAM,CAACuE,IAAoB,GACrCA,IAAI,CAAGvE,MAAM,CAACuE,IAAI,CACC,OAAO,EAAtBvE,MAAM,CAACuE,IAAe,GACzBvE,MAAM,CAAC0J,IAAI,CAAA,CAAA,CAAO,CAGbG,CAAAA,CAAAA,OAAO,CAACtF,IAAI,CAAC,CAACvE,MAAM,CAC5B,CACD,CAAC,CACD0N,SAAS,yBACR,SAAAA,SAAAA,CAAYpQ,SAAS,CAAE,CAAAxB,eAAA,MAAA4R,SAAA,CAAA,CACtB,IAAI,CAACpJ,IAAI,CAAG,IAAI,CAChB,IAAI,CAACqJ,UAAU,CAAG,IAAI,CACtB,IAAI,CAACrQ,SAAS,CAAGA,UAClB,CACA;AACF;AACA;AACA,KAHE,OAAAjB,YAAA,CAAAqR,SAAA,GAAA1T,GAAA,CAAA,MAAA,CAAAC,KAAA;AAkBF;AACA,KACE,SAAA2T,IAAAA,EAAO,CAAA,IAAAC,MAAA,CACAxM,IAAAA,CAAAA,SAAS,CAAG9D,CAAC,CAAC+D,QAAQ,EAAE,CAC1B1B,GAAG,CAAG,IAAI,CAACtC,SAAS,CAACQ,IAAI,CAAC,KAAK,CAAC,CASpC,OARI8B,GAAG,CACN,IAAI,CAACkO,cAAc,CAAClO,GAAG,CAAC,CAACmO,IAAI,CAAC,SAAC5B,QAAQ,CAAK,CAC3C0B,MAAI,CAACvJ,IAAI,CAAG6H,QAAQ,CAAC9F,MAAM,CAAC/B,IAAI,CAChCjD,SAAS,CAACI,OAAO,CAACoM,MAAI,EACvB,CAAC,CAAC,CAEFxM,SAAS,CAACI,OAAO,CAAC,IAAI,CAAC,CAEjBJ,SAAS,CAACK,OAAO,EACzB,CACA;AACF;AACA,MAFE,CAAA,CAAA1H,GAAA,CAAAC,iBAAAA,CAAAA,KAAA,CAGA,SAAA+T,eAAAA,EAAkB,CAAA,IAAAC,OAAA,CAAA,IAAA,CACb9J,EAAE,CAAG,IAAI,CAAC7G,SAAS,CAACoI,IAAI,CAAC,IAAI,CAAC,CAClC,IAAI,CAACiI,UAAU,CAAG,IAAIO,WAAW,CAAA,GAAA,CAAAZ,MAAA,CAAKnJ,EAAE,CAAI,CAAA,CAC3CG,IAAI,CAAE,SAAAA,IAAA,EAAO,CACZ,OAAO2J,OAAI,CAAC3J,IACb,CACD,CAAC,EACF,CACA;AACF;AACA,MAFEtK,CAAAA,CAAAA,GAAA,CAAAC,gBAAAA,CAAAA,KAAA,CAGA,SAAA6T,cAAelO,CAAAA,GAAG,CAAE,CAAA,IACbyB,SAAS,CAAG9D,CAAC,CAAC+D,QAAQ,EAAE,CAC1BmH,wBAAwB,CAAGlL,CAAC,CAAC4C,iBAAiB,CAAC,CAAEC,SAAS,CAAE,CAAEC,OAAO,CAAO,CAAA,CAAA,CAAE,CAAC,CAAC,CAkBpF,OAjBAsB,YAAY,CAACC,OAAO,CAAChC,GAAG,CAAC,CACvBhF,IAAI,CAAC,SAACuR,QAAQ,CAAK,CACnB1D,wBAAwB,CAACtI,iBAAiB,CAAC,CAAEK,IAAI,CAAE,MAAO,CAAC,CAAC,CACxD2L,QAAQ,CAAC/H,OAAO,CACnB/C,SAAS,CAACI,OAAO,CAAC0K,QAAQ,CAAC,CAE3B9K,SAAS,CAAC0E,MAAM,CAACoG,QAAQ,EAE3B,CAAC,CAAC,CACD1H,IAAI,CAAC,SAACC,CAAC,CAAK,CACZ5E,GAAG,CAACuE,UAAU,CAAC,CACdC,IAAI,CAAExE,GAAG,CAACgE,UAAU,CAAC,UAAU,CAAC,CAChCS,IAAI,CAAE,OACP,CAAC,CAAC,CACFkE,wBAAwB,CAACtI,iBAAiB,CAAC,CAAEK,IAAI,CAAE,MAAO,CAAC,CAAC,CAC5Da,SAAS,CAAC0E,MAAM,CAACrB,CAAC,EACnB,CAAC,CAAC,CACIrD,SAAS,CAACK,OAAO,EACzB,CACA;AACF;AACA,QAFE1H,GAAA,CAAA,MAAA,CAAAC,KAAA,CAGA,SAAAkU,IAAA,EAAO,CACN,IAAI,CAAC7Q,SAAS,CAACiG,OAAO,CAAC,OAAO,CAAC,CAC/BzD,GAAG,CAACuE,UAAU,CAAC,CACdC,IAAI,CAAExE,GAAG,CAACgE,UAAU,CAAC,qBAAqB,CAAC,CAC3CS,IAAI,CAAE,SACP,CAAC,EACF,CACA;AACF;AACA,MAFE,CAAA,CAAAvK,GAAA,CAAAC,SAAAA,CAAAA,KAAA,CAGA,SAAAmU,OAAAA,EAAU,CACT,IAAI,CAACT,UAAU,CAACS,OAAO,GACxB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAApU,GAAA,CAAAC,UAAAA,CAAAA,KAAA,CAhFD,SAAAuF,QAAgBlC,CAAAA,SAAS,CAAE,CACD,WAAW,EAAhC,OAAOA,SAAyB,GACnCA,SAAS,CAAGC,CAAC,CAAC,MAAM,CAAC,CAEtBD,CAAAA,SAAS,CAACM,EAAE,CAAC,UAAU,CAAE,oBAAoB,CAAE,SAAChF,CAAC,CAAK,CACrDA,CAAC,CAAC6G,cAAc,EAAE,CAClB,IAAIiO,SAAS,CAACnQ,CAAC,CAAC3E,CAAC,CAACkM,aAAa,CAAC,CAAC,CAAC8I,IAAI,EAAE,CAACG,IAAI,CAAC,SAAChS,QAAQ,CAAK,CAC3DA,QAAQ,CAACiS,eAAe,EAAE,CAC1BjS,QAAQ,CAACoS,IAAI,EAAE,CACfpS,QAAQ,CAACqS,OAAO,GACjB,CAAC,EACF,CAAC,EACF,CAAC,CAAA,CAAA,CAAA,CAAAV,SAAA,CAAA,EAqED;AAEF;AACA,IACCW,IAAI,cAsBH,UAAA;AACF;AACA;AACA;AACA,KACE,SAAAA,IAAAA,CAAY3O,OAAO,CAAgB,KAAd6H,OAAO,CAAA/N,CAAAA,CAAAA,SAAA,CAAAC,MAAA,EAAA,KAAA,CAAA,GAAAD,SAAA,CAAA,CAAA,CAAA,CAAAA,SAAA,CAAG,CAAA,CAAA,CAAA,EAAE,CAAAsC,eAAA,CAAA,IAAA,CAAAuS,IAAA,CAAA,CAAA1U,eAAA,CAvBpB,IAAA,CAAA,YAAA,CAAA,CACZ2U,QAAQ,CAAE,MAAM,CAChBC,gBAAgB,CAAO,CAAA,CAAA,CACvBC,UAAU,CAAO,CAAA,CAAA,CACjB/J,IAAI,CAAE,IAAI,CAACgK,WAAW,CAACtG,IAAI,CAAC,IAAI,CAAC,CACjCuG,GAAG,CAAE,IAAI,CAACA,GAAG,CAACvG,IAAI,CAAC,IAAI,CAAC,CACxBwG,MAAM,CAAE,IAAI,CAACA,MAAM,CAACxG,IAAI,CAAC,IAAI,CAC9B,CAAC,CAAAxO,CAAAA,eAAA,gBAIS,CACTiV,OAAO,CAAE,EAAE,CACXC,KAAK,CAAE,CAAC,CACRC,WAAW,CAAEjO,MAAM,CAACkO,cAAc,EAAI,CAAC,CACvCC,kBAAkB,CAAE,EACrB,CAAC,CAAArV,CAAAA,eAAA,CACO,IAAA,CAAA,OAAA,CAAA,EAAE,CAOT,CAAA,IAAI,CAACsV,SAAS,CAAGvP,OAAO,CACU,WAAW,EAAzC,OAAO6H,OAAO,CAAC2H,UAA0B,GAC5C,IAAI,CAACA,UAAU,CAAA3V,aAAA,CAAAA,aAAA,CAAQ,EAAA,CAAA,IAAI,CAAC2V,UAAU,EAAK3H,OAAO,CAAC2H,UAAU,CAAE,CAC/D,OAAO3H,OAAO,CAAC2H,UAAU,CAE1B,CAAA,IAAI,CAAC3H,OAAO,CAAAhO,aAAA,CAAAA,aAAA,CAAA,EAAA,CAAQ,IAAI,CAACgO,OAAO,CAAKA,CAAAA,OAAO,EAC7C,CACA;AACF;AACA;AACA;AACA;AACA,KALE,OAAAlL,YAAA,CAAAgS,IAAA,GAAArU,GAAA,CAAA,MAAA,CAAAC,KAAA;AAYF;AACA,KACE,SAAA6N,IAAA,EAAO,CACN,IAAI,CAACmH,SAAS,CAACE,MAAM,EAAE,CACvB,IAAI,CAACD,UAAU,CAACD,SAAS,CAAG,IAAI,CAACA,SAAS,CAC1C,IAAI,CAACA,SAAS,CAACC,UAAU,CAAC,IAAI,CAACA,UAAU,CAAC,CAC1C,IAAI,CAACE,WAAW,CAAG,EACpB,CACA;AACF;AACA;AACA;AACA;AACA,MALE,CAAA,CAAApV,GAAA,CAAA,KAAA,CAAAC,KAAA,CAMA,SAAAyU,GAAI7Q,CAAAA,EAAE,CAAEC,IAAI,CAAE,CACW,CAAC,CAArBA,IAAI,CAACsK,KAAK,CAAC3O,MAAU,EACxBqE,IAAI,CAACuR,MAAM,GAEb,CACA;AACF;AACA;AACA;AACA;AACA,MALErV,CAAAA,CAAAA,GAAA,CAAAC,QAAAA,CAAAA,KAAA,CAMA,SAAA0U,MAAO9Q,CAAAA,EAAE,CAAEC,IAAI,CAAE,CAChB,IAAAwR,iBAAA,CAAuB,IAAI,CAACC,WAAW,CAACzR,IAAI,CAACsK,KAAK,CAAC,CAA7CoH,KAAK,CAAAF,iBAAA,CAALE,KAAK,CAAExG,KAAK,CAAAsG,iBAAA,CAALtG,KAAK,CAClBlL,IAAI,CAACsK,KAAK,CAAGoH,KAAK,CACbA,KAAK,CAAC/V,MAAM,EAChB,IAAI,CAACwV,SAAS,CAAChQ,GAAG,CAAC,EAAE,CAAC,CAEnB+J,KAAK,CAACvP,MAAM,EACf,IAAI,CAACgW,UAAU,CAACzG,KAAK,EAEvB,CACA;AACF;AACA;AACA;AACA;AACA,MALEhP,CAAAA,CAAAA,GAAA,CAAAC,aAAAA,CAAAA,KAAA,CAMA,SAAAsV,WAAAA,CAAYnH,KAAK,CAAE,CAClB,IAAIoH,KAAK,CAAG,EAAE,CACbxG,KAAK,CAAG,EAAE,CACX,GAAIZ,KAAK,CAAC3O,MAAM,CAAG,IAAI,CAAC2O,KAAK,CAAC3O,MAAM,CAAG,IAAI,CAAC8N,OAAO,CAACsH,KAAK,CACxD7F,KAAK,CAAC3P,IAAI,CAAC,CAAE2P,KAAK,CAAE,CAAE1E,IAAI,CAAA,EAAA,CAAAgJ,MAAA,CAAKxN,GAAG,CAACgE,UAAU,CAAC,eAAe,CAAC,CAAAwJ,IAAAA,CAAAA,CAAAA,MAAA,CAAK,IAAI,CAAC/F,OAAO,CAACsH,KAAK,CAAI,GAAA,CAAA,CAAE,CAAC,CAAC,MACvF,CAAAa,IAAAA,MAAA,CAAAC,UAAA,CAAAtV,0BAAA,CACW+N,KAAK,CAAA,CAAA,GAAA,CAAtB,IAAAuH,UAAA,CAAAjV,CAAA,KAAAgV,MAAA,CAAAC,UAAA,CAAAhV,CAAA,EAAAC,EAAAA,IAAA,EAAwB,CAAA,IAAf+N,IAAI,CAAA+G,MAAA,CAAAzV,KAAA,CACZ,IAAI,CAAC2V,gBAAgB,CAACjH,IAAI,CAAC,EAAI,IAAI,CAACkH,gBAAgB,CAAClH,IAAI,CAAC,CAAG6G,KAAK,CAACnW,IAAI,CAACsP,IAAI,CAAC,CAAGK,KAAK,CAAC3P,IAAI,CAACsP,IAAI,EAChG,CAAC,CAAA,MAAA5N,GAAA,CAAA,CAAA4U,UAAA,CAAA/W,CAAA,CAAAmC,GAAA,WAAA4U,UAAA,CAAA7U,CAAA,GAAA,CACF,CACA,OAAO,CAAE0U,KAAK,CAALA,KAAK,CAAExG,KAAK,CAALA,KAAM,CACvB,CAEA;AACF;AACA;AACA;AACA,MAJEhP,CAAAA,CAAAA,GAAA,CAAAC,kBAAAA,CAAAA,KAAA,CAKA,SAAA4V,gBAAAA,CAAiBlH,IAAI,CAAE,CACtB,IAAItC,MAAM,CAAwB,QAAQ,EAA7B,OAAOsC,IAAI,CAACmH,IAAiB,EAAInH,IAAI,CAACmH,IAAI,CAAG,IAAI,CAACvI,OAAO,CAACuH,WAAW,CAOlF,OANKzI,MAAM,GACVsC,IAAI,CAACK,KAAK,CAAG,CACZnE,KAAK,CAAA,EAAA,CAAAyI,MAAA,CAAKxN,GAAG,CAACgE,UAAU,CAAC,+BAA+B,CAAC,CAAA,SAAA,CAAA,CAAAwJ,MAAA,CAAU,IAAI,CAAC/F,OAAO,CAACyH,kBAAkB,CAAG,GAAA,CAAA,CACrG1K,IAAI,CAAEqE,IAAI,CAACjN,IACZ,CAAC,CAAA,CAEK2K,MACR,CACA;AACF;AACA;AACA;AACA;AACA,MALE,CAAA,CAAArM,GAAA,CAAAC,kBAAAA,CAAAA,KAAA,CAMA,SAAA2V,gBAAAA,CAAiBjH,IAAI,CAAE,CACtB,IAAItC,MAAM,CACT,CAAC,IAAI,CAACkB,OAAO,CAACqH,OAAO,CAACnV,MAAM,EAGhB,CAAC,CAFb,IAAI,CAAC8N,OAAO,CAACqH,OAAO,CAAC1V,MAAM,CAAC,SAACgS,MAAM,CAAK,CACvC,OAAOvC,IAAI,CAACpE,IAAI,GAAK2G,MAAM,EAA0B,IAAI,GAAzBA,MAAM,CAACzP,KAAK,CAAC,CAAC,CAAC,CAAU,EAA+C,CAAC,GAA5CkN,IAAI,CAACpE,IAAI,CAACwL,OAAO,CAAC7E,MAAM,CAACzP,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CACnG,CAAC,CAAC,CAAChC,MAAU,CAKd,OAHK4M,MAAM,GACVsC,IAAI,CAACK,KAAK,CAAG,CAAEnE,KAAK,CAAE/E,GAAG,CAACgE,UAAU,CAAC,sBAAsB,CAAC,CAAEQ,IAAI,CAAEqE,IAAI,CAACjN,IAAK,CAAC,CAEzE2K,CAAAA,MACR,CACA;AACF;AACA,MAFErM,CAAAA,CAAAA,GAAA,CAAAC,YAAAA,CAAAA,KAAA,CAGA,SAAAwV,UAAAA,EAAwB,CAAA,IAAAO,MAAA,CAAbC,MAAM,CAAAzW,CAAAA,CAAAA,SAAA,CAAAC,MAAA,EAAA,KAAA,CAAA,GAAAD,SAAA,CAAA,CAAA,CAAA,CAAAA,SAAA,CAAA,CAAA,CAAA,CAAG,EAAE,CAAA0W,UAAA,CAAA7V,0BAAA,CACJ4V,MAAM,MAAvB,IAAAC,UAAA,CAAAxV,CAAA,KAAAsV,MAAA,CAAAE,UAAA,CAAAvV,CAAA,EAAA,EAAAC,IAAA,EAAyB,KAAhBuV,IAAI,CAAAH,MAAA,CAAA/V,KAAA,CACZ,IAAI,CAACmW,SAAS,CAACD,IAAI,CAACnH,KAAK,EAC1B,CAAC,CAAAjO,MAAAA,GAAA,EAAAmV,UAAA,CAAAtX,CAAA,CAAAmC,GAAA,EAAAmV,CAAAA,OAAAA,CAAAA,UAAA,CAAApV,CAAA,IACF,CACA;AACF;AACA,MAFEd,CAAAA,CAAAA,GAAA,CAAAC,WAAAA,CAAAA,KAAA,CAGA,SAAAmW,SAAAA,CAAUpH,KAAK,CAAE,CACU,WAAW,EAAjC,OAAOA,KAAK,CAACzE,IAAoB,GACpCyE,KAAK,CAACzE,IAAI,CAAG,OAAO,CAAA,CAErByE,KAAK,CAACpE,WAAW,CAAQ,CAAA,CAAA,CACzB9E,GAAG,CAACuE,UAAU,CAAC2E,KAAK,EACrB,CACA;AACF;AACA;AACA;AACA;AACA,QALEhP,GAAA,CAAA,aAAA,CAAAC,KAAA,CAMA,SAAAwU,WAAY5Q,CAAAA,EAAE,CAAEC,IAAI,CAAE,CAAAuS,IAAAA,OAAA,MACrB,IAAI,CAACjB,WAAW,EAAE,CAClBtP,GAAG,CAACmJ,QAAQ,CAAC,oBAAoB,CAAC,CAClC,IAAQqH,KAAK,CAAYxS,IAAI,CAArBwS,KAAK,CAAElI,KAAK,CAAKtK,IAAI,CAAdsK,KAAK,CAAU,OACI,WAAW,EAAzC,OAAOkI,KAAK,CAACC,YAA4B,EAA2B,IAAI,GAA3BD,KAAK,CAACC,YAAqB,CACpE,IAAI,CAACH,SAAS,CAAC,CACrBvL,KAAK,CAAE/E,GAAG,CAACgE,UAAU,CAAC,sBAAsB,CAAC,CAC7CS,IAAI,CAAE,OACP,CAAC,CAAC,CAAA,KAEH6D,KAAK,CAAC1O,OAAO,CAAC,SAACiP,IAAI,CAAK,CACvB0H,OAAI,CAACD,SAAS,CAAC,CACdvL,KAAK,CAAE/E,GAAG,CAACgE,UAAU,CAAC,sBAAsB,CAAC,CAC7CQ,IAAI,CAAEqE,IAAI,CAACjN,IAAI,CACf6I,IAAI,CAAE,OACP,CAAC,EACF,CAAC,CACF,CAAC,CAAA,CAAA,CAAA,CAAA,CAAAvK,GAAA,CAAAC,UAAAA,CAAAA,KAAA,CAtID,SAAAuF,SAAgBE,OAAO,CAAgB,KAAd6H,OAAO,GAAA/N,SAAA,CAAAC,MAAA,EAAA,KAAA,CAAA,GAAAD,SAAA,CAAAA,CAAAA,CAAAA,CAAAA,SAAA,CAAG,CAAA,CAAA,CAAA,EAAE,CAChCmP,IAAI,CAAG,IAAI0F,IAAI,CAAC3O,OAAO,CAAE6H,OAAO,CAAC,CAErC,OADAoB,IAAI,CAACb,IAAI,EAAE,CACJa,IACR,CAAC,CAAA0F,CAAAA,CAAAA,CAAAA,IAAA,CAoIH,EAAA,CAAE,CAEIvO,GAAG,CAAI5C,MAAM,CAAC4C,GAAG,CAAG;AAE1B;AACA,IACC0Q,cAAc,CAAE,EAAE,CAClBC,WAAW,CAAE,CACZC,EAAE,CAAE,CAAC,CACLC,EAAE,CAAE,GAAG,CACPC,EAAE,CAAE,GAAG,CACPC,EAAE,CAAE,GAAG,CACPC,EAAE,CAAE,IAAI,CACRC,GAAG,CAAE,IAAI,CACTC,IAAI,CAAE,IACP,CAAC,CACDC,WAAW,CAAE,EAAE,CACfC,WAAW,CAAE,EAAE,CACfC,aAAa,CAAE,CAAEvJ,CAAC,CAAE,CAAC,CAAET,CAAC,CAAE,CAAE,CAAC,CAC7BiK,UAAU,CAAA,CAAA,CAAO,CACjBC,WAAW,CAAA,CAAA,CAAO,CAClBtT,KAAK,CAAE,IAAK,UAAY,CACvB,IAAI,CAACuT,EAAE,CAAG/T,CAAC,CAAC,EAAE,CAAC,CACf,IAAI,CAACgG,OAAO,CAAG,UAAY,CAC1B,IAAI,CAAC+N,EAAE,CAAC/N,OAAO,CAAC/J,SAAS,CAAC,CAAC,CAAC,CAAEjB,KAAK,CAACT,SAAS,CAAC2D,KAAK,CAACP,IAAI,CAAC1B,SAAS,CAAE,CAAC,CAAC,EACvE,CAAC,CACD,IAAI,CAACoE,EAAE,CAAG,UAAY,CACrB,IAAI,CAAC0T,EAAE,CAAC1T,EAAE,CAACtE,KAAK,CAAC,IAAI,CAACgY,EAAE,CAAE9X,SAAS,EACpC,CAAC,CACD,IAAI,CAAC+X,GAAG,CAAG,UAAY,CACtB,IAAI,CAACD,EAAE,CAACC,GAAG,CAACjY,KAAK,CAAC,IAAI,CAACgY,EAAE,CAAE9X,SAAS,EACrC,CAAC,CACD,IAAI,CAACgY,GAAG,CAAG,UAAY,CACtB,IAAI,CAACF,EAAE,CAACE,GAAG,CAAClY,KAAK,CAAC,IAAI,CAACgY,EAAE,CAAE9X,SAAS,EACrC,EACD,CAAI;AAEL;AACA;AACA,IACC2H,aAAa,CAAE,SAAAA,aAAAA,EAAY,CAC1B,OAAW,IAAA,CAACsQ,aAAa,CAAC,QAAQ,CACnC,CAAC;AAEF;AACA;AACA,IACCvQ,mBAAmB,CAAE,SAAAA,mBAAAA,EAAY,CAChC,OAAW,IAAA,CAACuQ,aAAa,CAAC,QAAQ,CACnC,CAAC;AAEF;AACA,IACCzQ,WAAW,CAAE,SAAAA,WAAAA,EAAY,CACxB,OAAW,IAAA,CAACyQ,aAAa,CAAC,MAAM,CACjC,CAAC;AAEF;AACA,IACCxQ,WAAW,CAAE,SAAAA,WAAAA,EAAY,CACxB,IAAIyQ,QAAQ,CAMZ,OAJ8G,CAAC,CAAC,GAA/GnU,CAAC,CAACoU,OAAO,CAAC,IAAI,CAAC3Q,WAAW,EAAE,CAAE,CAAC,MAAM,CAAE,gBAAgB,CAAE,QAAQ,CAAE,kBAAkB,CAAE,eAAe,CAAC,CAAQ,GAE/G0Q,QAAQ,CAAG,IAAI,CAACD,aAAa,CAAC,UAAU,CAAC,CAAA,CAEnCC,QACR,CAAC;AAEF;AACA;AACA,IACCE,gBAAgB,CAAE,SAAAA,gBAAAA,CAAU5R,MAAM,CAAE,CACnC,IAAIqB,SAAS,CAAG9D,CAAC,CAAC+D,QAAQ,EAAE,CAe5B,OAdkC,UAAU,GAAxCxB,GAAG,CAACoB,mBAAmB,EAAiB,GAC3ClB,MAAM,CAACe,MAAM,CAAG,UAAU,CAAA,CAE3BY,YAAY,CAACC,OAAO,CAAC7I,MAAM,CAAC2O,MAAM,CAAC1H,MAAM,CAAE,CAAE6R,MAAM,CAAE,SAAU,CAAC,CAAC,CAAC,CAChEjX,IAAI,CAAC,SAAUkD,IAAI,CAAE,CACjBA,IAAI,CAACsG,OAAO,CACf/C,SAAS,CAACI,OAAO,CAAC3D,IAAI,CAAC,CAEvBuD,SAAS,CAAC0E,MAAM,CAACjI,IAAI,CAAC+F,OAAO,EAE/B,CAAC,CAAC,CACDY,IAAI,CAAC,UAAiB,CACtBpD,SAAS,CAAC0E,MAAM,GACjB,CAAC,CAAC,CACI1E,SAAS,CAACK,OAAO,EACzB,CAAC;AAEF;AACA,IACCoQ,WAAW,CAAE,SAAAA,aAAY,CACxB,OAAOvU,CAAC,CAAC,MAAM,CAAC,CAACO,IAAI,CAAC,UAAU,CACjC,CAAC;AAEF;AACA,IACCiU,YAAY,CAAE,SAAAA,YAAAA,EAAY,CACzB,OAAOnH,QAAQ,CAAC/F,KACjB,CAAC;AAEF;AACA;AACA,IACCmN,eAAe,UAAAA,eAAA,EAAG,QAEY,WAAW,EAAvC,OAAO9U,MAAM,CAAC+U,MAAM,CAAC,CAAC,CAAiB,EACP,WAAW,EAA3C,OAAO/U,MAAM,CAAC+U,MAAM,CAAC,CAAC,CAAC,CAACnS,GAAmB,EAC3C5C,MAAM,CAAC+U,MAAM,CAAC,CAAC,CAAC,CAACnS,GAAG,CAACsR,UAAU,CAExBlU,MAAM,CAAC+U,MAAM,CAAC,CAAC,CAAC,CAEhB/U,MAET,CAAC;AAEF;AACA,IACCgV,WAAW,CAAA,SAAAA,WAAA,EAAG,CACb,OAAOhV,MAAM,CAACiV,GAAG,GAAKjV,MAAM,CAACS,IAC9B,CAAC;AAEF;AACA;AACA,IACCyU,aAAa,CAAAA,SAAAA,aAAAA,EAAG,CACf,IAAIC,aAAa,CAAQ,CAAA,CAAA,CAezB,OAdI,cAAc,GAAInV,MAAM,CAE3BmV,aAAa,CAAO,CAAA,CAAA,CACVnV,MAAM,CAACoV,SAAS,CAACC,gBAAgB,CAE3CF,aAAa,GAAO,CACV,cAAc,GAAIzH,QAAQ,CAAC4H,eAAe,GAEpDH,aAAa,CAAO,CAAA,CAAA,CAAA,CAEjBA,aAAa,EAEhB9U,CAAC,CAAC,wEAAwE,CAAC,CAACkV,QAAQ,CAAC,MAAM,CAAC,CAEtFJ,aACR,CAAC;AAEF;AACA;AACA;AACA,IACCnG,YAAY,UAAAA,YAACwG,CAAAA,GAAG,CAAE,CACjB,GAAI,CACHvT,IAAI,CAACC,KAAK,CAACsT,GAAG,EACf,CAAE,MAAO9Z,CAAC,CAAE,CACX,OACD,CAAA,CAAA,CACA,OACD,CAAA,CAAA,CAAC;AAEF;AACA,IACC+Z,YAAY,CAAE,SAAAA,YAAAA,CAAU9N,KAAK,CAAE,CAC9B+F,QAAQ,CAAC/F,KAAK,CAAGA,MAClB,CAAC;AAEF;AACA;AACA,IACC+N,oBAAoB,CAAE,SAAAA,oBAAA,EAAY,CACjC,OAAOrV,CAAC,CAAC,eAAe,CACzB,CAAC,CACDsV,WAAW,CAAE,SAAAA,WAAUnT,CAAAA,OAAO,CAAE,CACR,WAAW,EAA9B,OAAOA,OAAuB,GACjCA,OAAO,CAAGnC,CAAC,CAAC,0BAA0B,CAAC,EAExCmC,OAAO,CAACoT,OAAO,CAAC,MAAM,EACvB,CAAC,CACDC,sBAAsB,CAAAA,SAAAA,sBAAAA,CAACC,aAAa,CAAE,CACrCA,aAAa,CAACpV,EAAE,CAAC,WAAW,CAAE,UAAO,CACpCmB,UAAU,CAAC,UAAM,CAChBiU,aAAa,CAACF,OAAO,CAAC,MAAM,EAC7B,CAAC,CAAE,GAAG,EACP,CAAC,EACF,CAAC,CACDG,4BAA4B,UAAAA,4BAACvT,CAAAA,OAAO,CAAEwT,kBAAkB,CAAE,CAAA,IAAAC,OAAA,CACnDC,IAAAA,CAAAA,SAAS,CAAG,GAAG,CACrB1T,OAAO,CAAC9B,EAAE,CAAC,YAAY,CAAE,UAAO,CAC/BmB,UAAU,CAAC,UAAM,CAChB,IAAIsU,cAAc,CAAGF,OAAI,CAACG,gBAAgB,CAAC5T,OAAO,CAAC,CAEjDnC,CAAC,CAAC,QAAQ,CAAC,CAACrE,MAAM,CAACma,cAAc,CAAC,CAAC5Z,MAAM,EACzC4Z,cAAc,CAAChU,IAAI,CAAC,+CAA+C,CAAC,CAAC5F,MAAM,EAE5E4Z,cAAc,CAACP,OAAO,CAAC,MAAM,EAE/B,CAAC,CAAEM,SAAS,EACb,CAAC,CAAC,CAEF1T,OAAO,CAAC9B,EAAE,CAAC,YAAY,CAAE,UAAM,CAC9BmB,UAAU,CAAC,UAAM,CAChB,GAAIW,OAAO,CAAC6T,EAAE,CAAC,QAAQ,CAAC,CAAE,CACzB7T,OAAO,CAACoT,OAAO,CAAC,MAAM,CAAC,CACvB,IAAIO,cAAc,CAAGF,OAAI,CAACG,gBAAgB,CAAC5T,OAAO,CAAC,CACnD2T,cAAc,CAACzV,EAAE,CAAC,YAAY,CAAE,UAAM,CACrCmB,UAAU,CAAC,UAAM,CAEdxB,CAAC,CAAC,QAAQ,CAAC,CAACrE,MAAM,CAACma,cAAc,CAAC,CAAC5Z,MAAM,EACzC4Z,cAAc,CAAChU,IAAI,CAAC,+CAA+C,CAAC,CAAC5F,MAAM,EAE5E4Z,cAAc,CAACP,OAAO,CAAC,MAAM,CAAC,CAE1BvV,CAAC,CAAC,QAAQ,CAAC,CAACrE,MAAM,CAACqE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC9D,MAAM,EAC5C8D,CAAC,CAAC,UAAU,CAAC,CAACuV,OAAO,CAAC,MAAM,EAE9B,CAAC,CAAEM,SAAS,EACb,CAAC,EACF,CACD,CAAC,CAAEF,kBAAkB,EACtB,CAAC,CAAC,CAEFpT,GAAG,CAACiT,sBAAsB,CAACrT,OAAO,EACnC,CAAC,CACD8T,gBAAgB,CAAA,SAAAA,iBAAC9T,OAAO,CAAE,CACzB,IAAI+T,KAAK,CAAG/T,OAAO,CACjB+T,KAAK,EAAE,CACPnO,QAAQ,CAAC,6BAA6B,CAAC,CACvC0C,GAAG,CAACtI,OAAO,CAACsI,GAAG,CAAC,CAAC,WAAW,CAAE,aAAa,CAAE,aAAa,CAAC,CAAC,CAAC,CAC7DyK,QAAQ,CAAC,MAAM,CAAC,CAAC,OACnBgB,CAAAA,KAAK,CAACpU,IAAI,CAAC,kBAAkB,CAAC,CAACqU,WAAW,CAAC,iBAAiB,CAAC,CAACpO,QAAQ,CAAC,6BAA6B,CAAC,CACjGmO,KAAK,CAACE,KAAK,EAAE,CAAG,CAAC,CAAGjU,OAAO,CAACiU,KAAK,EAAE,GACtCF,KAAK,CAACvO,MAAM,EAAE,MAGfuO,KAAK,CAACvO,MAAM,EAAE,CAAA,CAAA,CAAA,CAEf,CAAC,CACD0O,sBAAsB,CAAE,SAAAA,sBAAA,EAAiE,KAAvDC,aAAa,CAAAra,CAAAA,CAAAA,SAAA,CAAAC,MAAA,WAAAD,SAAA,CAAA,CAAA,CAAA,CAAAA,SAAA,CAAA,CAAA,CAAA,CAAG+D,CAAC,CAAC,qBAAqB,CAAC,CAAEyC,MAAM,CAAA,CAAA,CAAAxG,SAAA,CAAAC,MAAA,EAAAD,KAAAA,CAAAA,GAAAA,SAAA,CAAAA,CAAAA,CAAAA,CAAAA,SAAA,CAAG,CAAA,CAAA,CAAA,EAAE,CAClFsa,aAAa,CAAG,CACnBvQ,OAAO,CAAE,QAAQ,CACjB2P,kBAAkB,CAAE,GAAG,CACvBa,SAAS,CAAE,MAAM,CACjBlS,IAAI,CAAA,CAAA,CAAM,CACVmS,QAAQ,CAAE,6GAAqG,CAC/G1W,SAAS,CAAE,MAAM,CACjB2W,QAAQ,CAAE,UAAU,CACpBtK,KAAK,CAAE,CAAEuK,IAAI,CAAE,GAAG,CAAExK,IAAI,CAAE,GAAI,CAC/B,CAAC,CA0BD,OAzBAmK,aAAa,CAACzO,IAAI,CAAC,SAAU+O,MAAM,CAAEC,UAAU,CAAE,CAAA,IAC5C1U,OAAO,CAAGnC,CAAC,CAAC6W,UAAU,CAAC,CACvBC,aAAa,CAAG9W,CAAC,CAAC+W,MAAM,CAAA,CAAA,CAAA,CAAOR,aAAa,CAAE9T,MAAM,CAAEN,OAAO,CAAC5B,IAAI,EAAE,CAAC,CACrEyW,GAAG,CAAGF,aAAa,CAACL,QAAQ,CAC5BK,aAAa,CAACG,KAAK,GACtBD,GAAG,CAAGA,GAAG,CAACE,OAAO,CAAC,mBAAiB,oBAAAnH,MAAA,CAAoB+G,aAAa,CAACG,KAAK,CAAA,IAAA,CAAG,CAAC,CAE3EH,CAAAA,aAAa,CAACK,OAAO,GACxBH,GAAG,CAAGA,GAAG,CAACE,OAAO,CAAC,aAAa,CAAA,mCAAA,CAAAnH,MAAA,CAAoC+G,aAAa,CAACK,OAAO,CAAc,cAAA,CAAA,CAAC,EAExGL,aAAa,CAACL,QAAQ,CAAGO,GAAG,CACxB7U,OAAO,CAAC1B,QAAQ,CAAC,QAAQ,CAAC,GAC7BqW,aAAa,CAAC1K,KAAK,CAAG,CAAEuK,IAAI,CAAE,CAAC,CAAExK,IAAI,CAAE,CAAE,CAAC,CAAA,CAE3ChK,OAAO,CAACoT,OAAO,CAACuB,aAAa,CAAC,CAAA,CACA,QAAQ,GAAlCA,aAAa,CAAC9Q,OAAoB,EAAqC,WAAW,EAA5C,OAAO8Q,aAAa,CAAC9Q,OAAuB,GACrFzD,GAAG,CAACmT,4BAA4B,CAACvT,OAAO,CAAE2U,aAAa,CAACnB,kBAAkB,CAAC,CAExEmB,aAAa,CAACM,aAAa,EAC9BjV,OAAO,CAAC9B,EAAE,CAAC,kBAAkB,CAAE,SAAUhF,CAAC,CAAE,CAC3Cyb,aAAa,CAACM,aAAa,CAAC/b,CAAC,EAC9B,CAAC,CAAC,CAEH8G,OAAO,CAAC4F,QAAQ,CAAC,mBAAmB,EACrC,CAAC,CAAC,CACKuO,aACR,CAAC,CACDe,uBAAuB,CAAAA,SAAAA,uBAAAA,EAIf,CAAAC,IAAAA,IAAA,CAAArb,CAAAA,CAAAA,SAAA,CAAAC,MAAA,EAAAD,SAAA,CAAA,CAAA,CAAA,GAAA,KAAA,CAAA,CAAAA,SAAA,CAAA,CAAA,CAAA,CAAJ,EAAE,CAAAsb,YAAA,CAAAD,IAAA,CAHLnV,OAAO,CAAPA,OAAO,CAAAoV,KAAAA,CAAAA,GAAAA,YAAA,CAAGvX,CAAC,CAAC,+BAA+B,CAAC,CAAAuX,YAAA,CAAAC,WAAA,CAAAF,IAAA,CAC5C7U,MAAM,CAANA,MAAM,CAAA,KAAA,CAAA,GAAA+U,WAAA,CAAG,CAAExR,OAAO,CAAE,aAAc,CAAC,CAAAwR,WAAA,CAAAC,cAAA,CAAAH,IAAA,CACnCvX,SAAS,CAATA,SAAS,UAAA0X,cAAA,CAAGzX,CAAC,CAACL,MAAM,CAAC,CAAA8X,cAAA,CAEfrX,IAAI,CAAG,IAAI,CACjBqC,MAAM,CAAG,CACR2U,aAAa,CAAE,SAAAA,aAAAA,EAAM,CACpBhX,IAAI,CAACsX,kBAAkB,CAACvV,OAAO,CAAEpC,SAAS,EAC3C,CAAC,CACDiG,OAAO,CAAE,QAAQ,CACjBwQ,SAAS,CAAE,OAAO,CAClBS,KAAK,CAAE,+BACR,CAAC,CACD,IAAIU,WAAW,CAAGxV,OAAO,CAACL,IAAI,CAAC,kBAAkB,CAAC,CAAC5F,MAAM,CAAGiG,OAAO,CAACL,IAAI,CAAC,kBAAkB,CAAC,CAAGK,OAAO,CAAC,OAClGI,GAAG,CAAC0T,gBAAgB,CAAC0B,WAAW,CAAC,CAAA,KAItCpV,GAAG,CAAC8T,sBAAsB,CAAClU,OAAO,CAAEM,MAAM,CAAC,CAAA,KAH1CN,OAAO,CAAC4F,QAAQ,CAAC,mBAAmB,CAItC,CAAC,CACD6P,2BAA2B,CAAA,SAAAA,6BAGzB,CAAA,IAFDtB,aAAa,CAAAra,CAAAA,CAAAA,SAAA,CAAAC,MAAA,EAAAD,SAAA,CAAAA,CAAAA,CAAAA,GAAAA,KAAAA,CAAAA,CAAAA,SAAA,CAAG+D,CAAAA,CAAAA,CAAAA,CAAC,CAAC,oCAAoC,CAAC,CACvDyC,MAAM,CAAAxG,CAAAA,CAAAA,SAAA,CAAAC,MAAA,EAAAD,SAAA,CAAA,CAAA,CAAA,GAAA,KAAA,CAAA,CAAAA,SAAA,CAAA,CAAA,CAAA,CAAG,CAAE+J,OAAO,CAAE,aAAc,CAAC,CAEnCsQ,aAAa,CAACzO,IAAI,CAAC,SAAUK,KAAK,CAAE2O,UAAU,CAAE,CAC3C,IAAA1U,OAAO,CAAGnC,CAAC,CAAC6W,UAAU,CAAC,CACvBc,WAAW,CAAGxV,OAAO,CAACL,IAAI,CAAC,kBAAkB,CAAC,CAAC5F,MAAM,CAAGiG,OAAO,CAACL,IAAI,CAAC,kBAAkB,CAAC,CAAGK,OAAO,CACtG,GAAKI,GAAG,CAAC0T,gBAAgB,CAAC0B,WAAW,CAAC,CAAA,CAGtC,IAAIE,WAAW,CAAG1V,OAAO,CAACL,IAAI,CAAC,kBAAkB,CAAC,CAC9C+V,WAAW,CAAC3b,MAAM,GACrBiG,OAAO,CAACL,IAAI,CAAC,kBAAkB,CAAC,CAACqU,WAAW,CAAC,QAAQ,CAAC,CACtD1T,MAAM,CAACqV,QAAQ,CAAG,kBAAkB,EAErCvV,GAAG,CAAC8T,sBAAsB,CAAClU,OAAO,CAAEM,MAAM,EAAC,CAC5C,CAAC,EACF,CAAC;AAEF;AACA;AACA;AACA,IACCsV,qBAAqB,CAAE,SAAAA,uBAIrB,CAAA,IAHDzB,aAAa,CAAA,CAAA,CAAAra,SAAA,CAAAC,MAAA,EAAAD,SAAA,aAAAA,SAAA,CAAA,CAAA,CAAA,CAAG+D,CAAC,CAAC,6BAA6B,CAAC,CAChDgY,YAAY,CAAA/b,CAAAA,CAAAA,SAAA,CAAAC,MAAA,EAAAD,SAAA,CAAAA,CAAAA,CAAAA,GAAAA,KAAAA,CAAAA,CAAAA,SAAA,IAAG,EAAE,CACjB8D,SAAS,CAAA,CAAA,CAAA9D,SAAA,CAAAC,MAAA,EAAAD,SAAA,CAAA,CAAA,CAAA,GAAA,KAAA,CAAA,CAAAA,SAAA,CAAA,CAAA,CAAA,CAAG+D,CAAC,CAACqN,QAAQ,CAAC,CAEjBjN,IAAI,CAAG,IAAI,CACjBmC,GAAG,CAAC8T,sBAAsB,CAACC,aAAa,CAAE,CACzCG,QAAQ,CACP,gIAA0H,CAC3HU,OAAO,CAAE,8BAA4B,CACrCxB,kBAAkB,CAAEpT,GAAG,CAAC2R,aAAa,CAAC,oBAAoB,CAAC,CAC3DsC,SAAS,CAAE,OAAO,CAClBY,aAAa,CAAE,SAAAA,eAAM,CACpB,IAAIa,IAAI,CAIR,GAHK3B,aAAa,CAACnO,IAAI,CAAC,MAAM,CAAC,GAC9B8P,IAAI,CAAG3B,aAAa,CAACxU,IAAI,CAAC,GAAG,CAAC,CAACqG,IAAI,CAAC,MAAM,CAAC,CAG3C,CAAA,CAAC8P,IAAI,GACJ,CAAC3B,aAAa,CAACnO,IAAI,CAAC,MAAM,CAAC,EAAImO,aAAa,CAAC5P,OAAO,CAAC,qBAAqB,CAAC,CAACjG,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAE5G,UAEIwX,IAAI,GACRA,IAAI,CAAG3B,aAAa,CAAC4B,EAAE,CAAC,CAAC,CAAC,CAAC/P,IAAI,CAAC,MAAM,CAAC,CAAA,CAExC,IAAIgQ,IAAI,CAAG,IAAIC,GAAG,CAACH,IAAI,CAAEtY,MAAM,CAAC0Y,QAAQ,CAACC,MAAM,CAAC,CAChD,GAAI,CAACH,IAAI,CAACI,YAAY,CAACtL,GAAG,CAAC,QAAQ,CAAC,EAAI,CAACkL,IAAI,CAACI,YAAY,CAACtL,GAAG,CAAC,MAAM,CAAC,CACrE,OAAA,CAAA,CAAA,CAED,IAAI5K,GAAG,CAAG8V,IAAI,CAACF,IAAI,CACnB5V,GAAG,CAAGA,GAAG,CAAC6U,OAAO,CAAC,OAAO,CAAE,QAAQ,CAAC,CAAG,qBAAqB,KACxDpB,cAAc,CAAG1V,IAAI,CAAC2V,gBAAgB,CAACO,aAAa,CAAC,CACrDkC,WAAW,CAAG1C,cAAc,CAAChU,IAAI,CAAC,eAAe,CAAC,CACtD0W,WAAW,CAAC5V,iBAAiB,CAAC,EAAE,CAAC,CAAA,IAC7B6V,iBAAiB,CAAG,SAAClY,IAAI,CAAK,CACjCiY,WAAW,CAAC5V,iBAAiB,CAAC,CAAEK,IAAI,CAAE,MAAO,CAAC,CAAC,CAACqB,IAAI,CAAC/D,IAAI,CAAC,CACrB,UAAU,EAA3C,OAAOyX,YAAY,CAAChN,QAAuB,EAC9CgN,YAAY,CAAChN,QAAQ,CAACwN,WAAW,CAAC,CAEnCpY,IAAI,CAACsX,kBAAkB,CAACpB,aAAa,CAAEvW,SAAS,EACjD,CAAC,CACGuC,SAAS,CAAGC,GAAG,CAACC,kBAAkB,CAACH,GAAG,CAAC,CACvCqW,SAAS,CAAG/Y,MAAM,CAACkJ,YAAY,CAACvG,SAAS,CAAA0M,MAAU,CAAC,CAC/B,WAAW,EAAhC,OAAO0J,SAAyB,CAGnCtU,YAAY,CAACC,OAAO,CAAChC,GAAG,CAAC,CAAChF,IAAI,CAAC,SAACkD,IAAI,CAAK,CACxCZ,MAAM,CAACkJ,YAAY,CAACvG,SAAS,CAAA0M,MAAU,CAAC,CAAGzO,IAAI,CAC/CkY,iBAAiB,CAAClY,IAAI,EACvB,CAAC,CAAC,CALFkY,iBAAiB,CAACC,SAAS,EAO7B,CACD,CAAC,EACF,CAAC;AAEF;AACA;AACA;AACA,IACChB,kBAAkB,UAAAA,kBAACiB,CAAAA,cAAc,CAAyB,CAAvB,IAAA5Y,SAAS,CAAA9D,CAAAA,CAAAA,SAAA,CAAAC,MAAA,EAAAD,SAAA,CAAAA,CAAAA,CAAAA,GAAAA,KAAAA,CAAAA,CAAAA,SAAA,IAAG+D,CAAC,CAACL,MAAM,CAAC,CACnD4V,OAAO,CAAG,IAAI,CAACQ,gBAAgB,CAAC4C,cAAc,CAAC,CACnD,GAAKpD,OAAO,CAACrZ,MAAM,CAGb,CAAA,IAAA0c,YAAY,CAAG,IAAI,CAACC,0BAA0B,CAACF,cAAc,CAAC,CAChEG,YAAY,CAAG9Y,CAAC,CAACL,MAAM,CAAC,CAACoZ,MAAM,EAAE,CACpCC,WAAW,CAAGhZ,CAAC,CAACL,MAAM,CAAC,CAACyW,KAAK,EAAE,CAC/B6C,cAAc,CAAG,EAAE,CACnBT,WAAW,CAAGjD,OAAO,CAACzT,IAAI,CAAC,eAAe,CAAC,CAC3CoX,aAAa,CAAGV,WAAW,CAACO,MAAM,EAAE,CACpCI,YAAY,CAAGX,WAAW,CAACpC,KAAK,EAAE,CAClCgD,SAAS,CAAG7W,GAAG,CAACqR,aAAa,CAAChK,CAAC,CAAGgP,YAAY,CAAChE,GAAG,CAClDyE,UAAU,CAAG9W,GAAG,CAACqR,aAAa,CAACvJ,CAAC,CAAGuO,YAAY,CAACU,IAAI,CACjDJ,aAAa,CAAGE,SAAS,CAAGH,cAAc,CAAGH,YAAY,GAC5DM,SAAS,CAAGA,SAAS,CAAGF,aAAa,CAAGD,cAAc,EAEnDE,YAAY,CAAGE,UAAU,CAAGJ,cAAc,CAAGD,WAAW,GAC3DK,UAAU,CAAGL,WAAW,CAAGG,YAAY,CAExC5D,CAAAA,OAAO,CAAC9K,GAAG,CAAC,CACX8O,SAAS,CAAA,cAAA,CAAAxJ,MAAA,CAAiBsJ,UAAU,SAAAtJ,MAAA,CAAOqJ,SAAS,CACrD,QAAA,CAAA,CAAC,CAAC,CACF7D,OAAO,CAACY,WAAW,CAAC,+BAA+B,CAAC,CACpDwC,cAAc,CAAC3E,GAAG,CAAC,iBAAiB,CAAE,UAAM,CAC3CuB,OAAO,CAACxN,QAAQ,CAAC,+BAA+B,EACjD,CAAC,EAAC,CACH,CAAC;AAEF;AACA;AACA;AACA;AACA;AACA,IACC8Q,0BAA0B,CAAA,SAAAA,0BAACF,CAAAA,cAAc,CAAE,CAAA,IACtCa,eAAe,CAAG,CAAC,CACnBC,gBAAgB,CAAG,CAAC,CACxB,GAAI,CAACzZ,CAAC,CAACqN,QAAQ,CAAC,CAACvL,IAAI,CAAC6W,cAAc,CAAC,CAACzc,MAAM,CAAE,CAAA,IACzCwd,MAAM,CAAG1Z,CAAC,CAACqN,QAAQ,CAAC,CAACvL,IAAI,CAAC,QAAQ,CAAC,CACjC8W,YAAY,CAAGc,MAAM,CAACC,MAAM,EAAE,CAGpC,GAFAH,eAAe,EAAIZ,YAAY,CAAChE,GAAG,CACnC6E,gBAAgB,EAAIb,YAAY,CAACU,IAAI,CACjC,CAACI,MAAM,CAACE,QAAQ,EAAE,CAAC9X,IAAI,CAAC6W,cAAc,CAAC,CAACzc,MAAM,CAAE,CAC/C,IAAA2d,OAAO,CAAGH,MAAM,CAACE,QAAQ,EAAE,CAAC9X,IAAI,CAAC,QAAQ,CAAC,CACxCgY,aAAa,CAAGD,OAAO,CAACF,MAAM,EAAE,CACtCH,eAAe,EAAIM,aAAa,CAAClF,GAAG,CACpC6E,gBAAgB,EAAIK,aAAa,CAACR,KACnC,CACD,CACA,OAAO,CAAE1E,GAAG,CAAE4E,eAAe,CAAEF,IAAI,CAAEG,gBAAiB,CACvD,CAAC;AAEF;AACA;AACA;AACA,IACC1D,gBAAgB,UAAAA,gBAAC5T,CAAAA,OAAO,CAAE,CACzB,OAAOnC,CAAC,CAAA,GAAA,CAAA+P,MAAA,CAAK5N,OAAO,CAACgG,IAAI,CAAC,kBAAkB,CAAC,CAAE,CAChD,CAAC;AAEF;AACA;AACA;AACA,IACC4R,iCAAiC,CAAE,SAAAA,iCAAAA,CAAUzD,aAAa,CAAE7T,MAAM,CAAE,CACnE,GAA6B,WAAW,EAApC,OAAO6T,aAA6B,CAGpC,CAAA,IAAA9X,QAAQ,CAAG8X,aAAa,CAAC/V,IAAI,CAAC,SAAS,CAAC,CACxC+Q,KAAK,CAAG7O,MAAM,CAACuX,sBAAsB,CACzC1D,aAAa,CAACjW,EAAE,CAAC,QAAQ,CAAE,UAAa,CACvC,IAAIE,IAAI,CAAG/B,QAAQ,CAAC+B,IAAI,EAAE,CACtBP,CAAC,CAAC9E,OAAO,CAACqF,IAAI,CAAC,EAAIA,IAAI,CAACrE,MAAM,EAAIoV,KAAK,EAC1C9S,QAAQ,CAACyb,aAAa,GAExB,CAAC,EAAC,CACH,CAAC;AAEF;AACA;AACA;AACA;AACA,IACCC,iBAAiB,CAAE,SAAAA,iBAAUC,CAAAA,aAAa,CAAEC,YAAY,CAAE,CAC7B,WAAW,EAAnC,OAAOA,YAA4B,GACtCA,YAAY,CAAG,QAAQ,CAGxBD,CAAAA,aAAa,CAAGna,CAAC,CAACma,aAAa,CAAC,CAEhC,IAAIE,aAAa,CAAGF,aAAa,CAACG,QAAQ,EAAE,CAACC,SAAS,EAAE,CACxD,GAAoB,QAAQ,EAAxBH,YAAwB,CAC3B,OAAOC,aAAa,CACpB,IACGG,WAAW,CAAG,EAAE,CAChBC,SAAS,CAAGJ,aAAa,CAACK,KAAK,CAAC,GAAG,CAAC,CAExC,IAAK,IAAIxS,KAAK,IAAIuS,SAAS,CAAE,KACxBE,cAAc,CAAGF,SAAS,CAACvS,KAAK,CAAC,CACjC0S,WAAW,CAAGD,cAAc,CAACD,KAAK,CAAC,GAAG,CAAC,CACvCG,aAAa,CAAGD,WAAW,CAAC,CAAC,CAAC,CAC9BE,cAAc,CAAGF,WAAW,CAAC,CAAC,CAAC,CACnCJ,WAAW,CAACK,aAAa,CAAC,CAAGE,kBAAkB,CAACD,cAAc,EAC/D,CACA,OAAON,WACR,CAAC,CACDQ,aAAa,CAAA,SAAAA,aAACza,CAAAA,IAAI,CAAER,SAAS,CAAEkb,YAAY,CAAE5L,EAAE,CAAEhN,GAAG,CAAE6Y,YAAY,CAAE,CAC7D,IAAAC,YAAY,CAAG,IAAI,CACrB1Y,MAAM,CAAG,CACZkU,IAAI,CACL,CAAA,CAAA,CAAC,CACIpU,GAAG,CAAC2R,aAAa,CAAC,wBAAwB,CAAC,GAC/CzR,MAAM,CAAC2Y,QAAQ,CAAG,QAAQ,CAC1B3Y,MAAM,CAAC4Y,QAAQ,GAAQ,CAEI,CAAA,QAAQ,GAAAnhB,OAAA,CAAzB+gB,YAAY,CAAa,GACnClb,SAAS,CAAC0K,GAAG,CAACwQ,YAAY,CAAC,CAC3BxY,MAAM,CAAGzC,CAAC,CAAC+W,MAAM,CAACtU,MAAM,CAAEwY,YAAY,CAAC,CAExClb,CAAAA,SAAS,CAACuE,IAAI,CAAC/D,IAAI,CAAC,CAChBR,SAAS,CAAC+B,IAAI,CAAC,QAAQ,CAAC,CAACrB,QAAQ,CAAC,QAAQ,CAAC,GAC9CgC,MAAM,CAAC2Y,QAAQ,CAAG,QAAQ,CAAA,CAG3Bpb,CAAC,CAACsb,EAAE,CAAC1O,KAAK,CAACnO,WAAW,CAAClE,SAAS,CAACghB,aAAa,CAAG,UAAa,CAC7Dvb,CAAC,CAACqN,QAAQ,CAAC,CACT4G,GAAG,CAAC,kBAAkB,CAAE;AAAA,CACxB5T,EAAE,CACF,kBAAkB,CAClBL,CAAC,CAACwb,KAAK,CAAC,SAAUngB,CAAC,CAAE,CACpB,GAAI2E,CAAC,CAAC3E,CAAC,CAACsD,MAAM,CAAC,CAAC8B,QAAQ,CAAC,uBAAuB,CAAC,CAChD,OAAA,CAAA,CAEF,CAAC,CAAE,IAAI,CACR,EACF,CAAC,CACD,IAAMgG,cAAc,CAAG1G,SAAS,CAAC+B,IAAI,CAAC,cAAc,CAAC,CACrD2E,cAAc,CAACuN,GAAG,CAAC,gBAAgB,CAAE,UAAY,CAChDmH,YAAY,CAACM,kBAAkB,CAAChV,cAAc,CAAC3E,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAC5EuN,EAAE,CAAC5I,cAAc,CAAC,CAClB/G,GAAG,CAACgc,MAAM,CAACC,QAAQ,CAACC,uBAAuB,CAACnV,cAAc,CAAC,CAC3D/G,GAAG,CAACgc,MAAM,CAACG,IAAI,CAAC5Z,QAAQ,CAACwE,cAAc,CAAC,CACxC/G,GAAG,CAACgc,MAAM,CAACI,QAAQ,CAAC7Z,QAAQ,CAACwE,cAAc,CAAC,CAC5C/G,GAAG,CAACgc,MAAM,CAACK,IAAI,CAACC,MAAM,CAAC/Z,QAAQ,CAACwE,cAAc,CAAC3E,IAAI,CAAC,YAAY,CAAC,CAAE,CAClEiX,MAAM,CAAE,KAAK,CACbkD,OAAO,CAAE,KACV,CAAC,CAAC,CACFvc,GAAG,CAACgc,MAAM,CAACQ,eAAe,CAACja,QAAQ,CAACwE,cAAc,CAAC,CACnD/G,GAAG,CAACgc,MAAM,CAACS,IAAI,CAACla,QAAQ,CAACwE,cAAc,CAAC,CACxClE,GAAG,CAAC6Z,oBAAoB,CAAC3V,cAAc,CAAC,CACxClE,GAAG,CAAC8Z,oBAAoB,CAAC5V,cAAc,CAAC,CACxCA,cAAc,CAAC3E,IAAI,CAAC,gCAAgC,CAAC,CAACwa,SAAS,CAAC,CAC/DC,MAAM,CAAE,cACT,CAAC,CAAC,CACF9V,cAAc,CAAC3E,IAAI,CAAC,cAAc,CAAC,CAAC2I,GAAG,CAAC,QAAQ,CAAE,MAAM,EACzD,CAAC,CAAC,CACFzK,CAAC,CAAC,MAAM,CAAC,CAAC4H,MAAM,CAAC7H,SAAS,CAAC,CAC3B0G,cAAc,CAACmG,KAAK,CAACnK,MAAM,CAAC,CAC5BF,GAAG,CAACia,mBAAmB,CAAC/V,cAAc,CAAC,CACvC0U,YAAY,CAACsB,mBAAmB,CAAChW,cAAc,CAAEyU,YAAY,EAC9D,CAAC,CACD1W,eAAe,CAAE,SAAAA,eAAUjE,CAAAA,IAAI,CAAE8B,GAAG,CAAEgN,EAAE,CAAqB,CAAnB,IAAA4L,YAAY,CAAA,CAAA,CAAAhf,SAAA,CAAAC,MAAA,EAAA,KAAA,CAAA,GAAAD,SAAA,CAAAA,CAAAA,CAAAA,CAAAA,SAAA,CAAG,CAAA,CAAA,CAAA,EAAE,CAC1D,GAAI,CAACsG,GAAG,CAACma,qBAAqB,CAAC,qBAAqB,CAAEzgB,SAAS,CAAC,CAC/D,UACA,IAEGif,YAAY,CAAEyB,OAAO,CADnBxB,YAAY,CAAG,IAAI,CAGzB;AACA,GAFAwB,OAAO,CAAG,QAAQ,CAAGC,IAAI,CAACC,MAAM,EAAE,CAAC5e,QAAQ,CAAC,EAAE,CAAC,CAAC6e,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC,CAExC,QAAQ,GAAA5iB,OAAA,CAAjBqG,IAAI,CAAa,EAAY,IAAI,EAAZA,IAAY,EAAI,EAAEA,IAAI,YAAYP,CAAC,CAAC,CAC/D,IAAA,EAAAO,IAAI,CAACqG,EAAe,GACvB+V,OAAO,CAAGpc,IAAI,CAACqG,EAAE,CAElBqU,CAAAA,YAAY,CAAG1a,IAAI,CAACkK,GAAG,CACvB4E,EAAE,CAAG9O,IAAI,CAAC8O,EAAE,CACZhN,GAAG,CAAG9B,IAAI,CAAC8B,GAAG,CACY,WAAW,GAAjC9B,IAAI,CAAC2a,YAA4B,GACpCA,YAAY,CAAG3a,IAAI,CAAC2a,YAAY,CAEjC3a,CAAAA,IAAI,CAAGA,IAAI,CAACA,IAAI,CACV,KAAA,GAAoB,QAAQ,EAAxB,OAAOA,IAAiB,CAAE,CACpC,IAAIwc,SAAS,CAAG/c,CAAC,CAACO,IAAI,CAAC,CAACyc,IAAI,EAAE,CAC1BD,SAAS,CAACxc,IAAI,CAAC,SAAS,CAAC,GAC5Boc,OAAO,CAAGI,SAAS,CAACxc,IAAI,CAAC,SAAS,CAAC,EAErC,CACmB,UAAU,EAAzB,OAAO8B,GAAkB,EACV,QAAQ,GAAAnI,OAAA,CAAfmV,EAAE,CAAa,GACzB4L,YAAY,CAAG5L,EAAE,CAAA,CAElBA,EAAE,CAAGhN,GAAG,CACRA,GAAG,CAAQ,CAAA,CAAA,EACc,QAAQ,GAAAnI,OAAA,CAAhBmI,GAAG,CAAa,GACjCgN,EAAE,CAAG,UAAY,EAAE,CACnB4L,YAAY,CAAG5Y,GAAG,CAClBA,GAAG,CAAQ,CAAA,CAAA,CAAA,CAEM,UAAU,EAAxB,OAAOgN,EAAiB,GAC3BA,EAAE,CAAG,UAAY,EAAE,CAAA,CAEQ,UAAU,EAAlC,OAAO6L,YAA2B,GACrCA,YAAY,CAAG,UAAY,EAAE,CAE1B,CAAA,KAAA,CAAA,GAAAD,YAA0B,EAAI,KAAA,CAAA,GAAAA,YAAY,CAAC0B,OAAqB,GACnEA,OAAO,CAAG1B,YAAY,CAAC0B,OAAO,CAE/B,CAAA;AACA,IAAI5c,SAAS,CAAGC,CAAC,CAAC,GAAG,CAAG2c,OAAO,CAAC,CAwBhC,OAvBI5c,SAAS,CAAC7D,MAAM,EACnB6D,SAAS,CAAC4H,MAAM,EAAE,CAEnB5H,SAAS,CAAGC,CAAC,CAAC,aAAa,CAAC,CAC5BD,SAAS,CAACoI,IAAI,CAAC,IAAI,CAAEwU,OAAO,CAAC,CAAC5U,QAAQ,CAAC,mCAAmC,CAAC,CAC3EhI,SAAS,CAACiU,GAAG,CAAC,iBAAiB,CAAE,UAAY,CAC5CjU,SAAS,CAAC4H,MAAM,EAAE,CAClB,IAAIyT,QAAQ,CAAGpb,CAAC,CAAC,iBAAiB,CAAC,CAC9BA,CAAC,CAAC,aAAa,CAAC,CAAC9D,MAAM,EAC3Bkf,QAAQ,CAACzT,MAAM,EAAE,CAEI,CAAC,CAAnByT,QAAQ,CAAClf,MAAU,EACtB8D,CAAC,CAAC,MAAM,CAAC,CAAC+H,QAAQ,CAAC,YAAY,EAEjC,CAAC,CAAC,CACFkV,MAAM,CAACC,WAAW,CAAGP,OAAO,CACxBpc,IAAI,CACP4a,YAAY,CAACH,aAAa,CAACza,IAAI,CAAER,SAAS,CAAEkb,YAAY,CAAE5L,EAAE,CAAEhN,GAAG,CAAE6Y,YAAY,CAAC,CAEhFlb,CAAC,CAACiN,GAAG,CAAC5K,GAAG,CAAC,CAAChF,IAAI,CAAC,SAAUuR,QAAQ,CAAE,CACnCuM,YAAY,CAACH,aAAa,CAACpM,QAAQ,CAAE7O,SAAS,CAAEkb,YAAY,CAAE5L,EAAE,CAAEhN,GAAG,CAAE6Y,YAAY,EACpF,CAAC,CAAC,CAEInb,SACR,CAAC,CACDod,aAAa,CAAE,SAAAA,cAAU1a,MAAM,CAAE,KAAA2a,cAAA,CAC5B7c,IAAI,CAAG,EAAE,CACZ2L,IAAI,CAAG,EAAE,CACNmR,MAAM,SAAAD,cAAA,CAAG3a,MAAM,CAAA4a,MAAU,CAAAD,EAAAA,KAAAA,CAAAA,GAAAA,cAAA,CAAAA,cAAA,CAAI,EAAE,CAC/B3a,MAAM,CAAA6a,MAAU,GACnB7a,MAAM,CAAA6a,MAAU,CAAAvN,gBAAAA,CAAAA,MAAA,CAAmBtN,MAAM,CAAA8a,UAAc,CAAA,iBAAA,CAAA,CAAAxN,MAAA,CAAiBtN,MAAM,CAAA6a,MAAU,CAAE,EAEvF7a,MAAM,CAAA+a,aAAiB,EAC1Bxd,CAAC,CAAC6H,IAAI,CAACpF,MAAM,CAAA+a,aAAiB,CAAE,SAACvgB,CAAC,CAAEwgB,MAAM,CAAK,CAC9CvR,IAAI,CAAG3L,IAAI,CAAG,EAAE,CAChBP,CAAC,CAAC6H,IAAI,CAAC4V,MAAM,CAAAld,IAAQ,CAAE,SAAC9D,GAAG,CAAEiF,GAAG,CAAK,CACpCnB,IAAI,EAAAwP,QAAAA,CAAAA,MAAA,CAAatT,GAAG,CAAA,KAAA,CAAA,CAAAsT,MAAA,CAAKrO,GAAG,OAC7B,CAAC,CAAC,CACE+b,MAAM,CAAAvR,IAAQ,GACjBA,IAAI,mBAAA6D,MAAA,CAAoB0N,MAAM,CAAAvR,IAAQ,CAAgB,iBAAA,CAAA,CAAA,CAEvDmR,MAAM,EAAAtN,sCAAAA,CAAAA,MAAA,CAAwC0N,MAAM,CAAC,OAAO,CAAC,QAAA1N,MAAA,CAAKxP,IAAI,CAAAwP,GAAAA,CAAAA,CAAAA,MAAA,CAAI7D,IAAI,CAAA,CAAA6D,MAAA,CAAG0N,MAAM,CAAA1W,IAAQ,cAChG,CAAC,CAAC,CAECsW,MAAM,GACTA,MAAM,CAAAtN,8BAAAA,CAAAA,MAAA,CAAgCsN,MAAM,CAAA,QAAA,CAAQ,EAErD,IAAI/Y,IAAI,CAAAyL,iEAAAA,CAAAA,MAAA,CAAgEtN,MAAM,CAAC,OAAO,CAAC,wJAAAsN,MAAA,CACAtN,MAAM,CAAA6a,MAAU,gNAAAvN,MAAA,CAClDtN,MAAM,CAAAib,SAAa,8BAAA3N,MAAA,CAAyBtN,MAAM,CAAAkb,IAAQ,CAAA5N,QAAAA,CAAAA,CAAAA,MAAA,CAASsN,MAAM,CAAA,oBAAA,CAAoB,CAElJ,OADA5a,MAAM,CAAClC,IAAI,CAAG+D,IAAI,CACX/B,GAAG,CAACiC,eAAe,CAAC/B,MAAM,CAClC,CAAC;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,IACCia,qBAAqB,CAAAA,SAACkB,cAAc,CAAEC,IAAI,CAAE,CAC3C,IAAInB,qBAAqB,CAAO,CAAA,CAAA,CAShC,OAR2B,cAAc,GAArCpZ,MAAM,CAACC,WAA8B,GACxC,IAAI,CAACsQ,UAAU,CAAO,CAAA,CAAA,CACtB+J,cAAc,CAAGA,cAAc,CAAClD,KAAK,CAAC,GAAG,CAAC,CAC1CkD,cAAc,CAACE,OAAO,CAAC,QAAQ,CAAC,CAChCF,cAAc,CAAGA,cAAc,CAACG,MAAM,CAAC,SAAC5jB,CAAC,CAAE8C,CAAC,SAAK9C,CAAC,CAAC8C,CAAC,CAAC,EAAE0C,MAAM,CAAC,CAC9Die,cAAc,CAAC7hB,KAAK,CAAC4D,MAAM,CAAC6D,MAAM,CAACjB,GAAG,CAAEsb,IAAI,CAAC,CAC7CnB,qBAAqB,GAAQ,CAEvBA,CAAAA,qBACR,CAAC;AAEF;AACA;AACA,IACC/V,eAAe,CAAE,SAAAA,eAAAA,CAAUqE,QAAQ,CAAEpE,EAAE,CAAE,CACxC,GAAI,CAACrE,GAAG,CAACma,qBAAqB,CAAC,qBAAqB,CAAEzgB,SAAS,CAAC,CAC/D,OAAA,CAAA,CAAA,CAED,IAAI8D,SAAS,CAQb,GANCA,SAAS,CADNiL,QAAQ,EAAwB,QAAQ,GAAA9Q,OAAA,CAArB8Q,QAAQ,CAAa,CAC/BA,QAAQ,CACV,IAAA,EAAApE,EAAe,CACb5G,CAAC,CAAC,iBAAiB,CAAC,CAEpBA,CAAC,CAAC,GAAG,CAAG4G,EAAE,CAAC,CAEA,EAAA,CAAC,EAArB7G,SAAS,CAAC7D,MAAW,CAAA,CAAA,CAGD,UAAU,EAA9B,OAAO8O,QAAuB,GACjCA,QAAQ,CAAG,UAAY,EAAE,CAE1B,CAAA,IAAIvE,cAAc,CAAG1G,SAAS,CAAC+B,IAAI,CAAC,QAAQ,CAAC,CAC7C2E,cAAc,CAACmG,KAAK,CAAC,MAAM,CAAC,CAC5B,IAAIwO,QAAQ,CAAGpb,CAAC,CAAC,sBAAsB,CAAC,CACL,CAAC,EAAhCA,CAAC,CAAC,iBAAiB,CAAC,CAAC9D,MAAW,EAAIkf,QAAQ,CAAClf,MAAM,EACtDkf,QAAQ,CAACzT,MAAM,EAAE,CAElBlB,cAAc,CAACuN,GAAG,CAAC,iBAAiB,CAAEhJ,QAAQ,EAAC,CAChD,CAAC,CACDgT,uBAAuB,CAAE,SAAAA,uBAAUrB,CAAAA,OAAO,CAAElW,cAAc,CAAE4I,EAAE,CAAE,CAC/D,IAAI4O,YAAY,CAAG,IAAI,CAACpK,UAAU,CAAGlU,MAAM,CAAC6D,MAAM,CAAG7D,MAAM,CACtDgd,OAAO,GACXA,OAAO,CAAGM,MAAM,CAACC,WAAW,CAExBzW,CAAAA,cAAc,GAClBA,cAAc,CAAGzG,CAAC,CAAC,GAAG,CAAG2c,OAAO,CAAG,iBAAiB,CAAC,CAElD,CAAA,IAAAvZ,UAAU,CAAGqD,cAAc,CAAClG,IAAI,CAAC,QAAQ,CAAC,EAAI,MAAM,CACpD2d,UAAU,CAAG9a,UAAU,CAAC8T,OAAO,CAAC,GAAG,CAAE,GAAG,CAAC,CAAG,GAAG,CAAGzQ,cAAc,CAAClG,IAAI,CAAC,MAAM,CAAC,CAAG,KAAK,CAOzF,GANwC,WAAW,EAA/C,OAAO0d,YAAY,CAACC,UAAU,CAAiB,GAClDA,UAAU,CAAG,EAAA,CAAAnO,MAAA,CAAAvV,kBAAA,CAAI0jB,UAAU,CAACxD,KAAK,CAAC,GAAG,CAAC,CAACxc,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAA,CAAA,CAAE,IAAI,CAAA,CAAA,CAAEigB,IAAI,CAAC,GAAG,CAAC,CAE7B,CAAA,WAAW,EAA/C,OAAOF,YAAY,CAACC,UAAU,CAAiB,GAClDA,UAAU,CAAG,OAAO,CAAGzX,cAAc,CAAClG,IAAI,CAAC,MAAM,CAAC,CAAG,KAAK,EAEnB,WAAW,EAA/C,OAAO0d,YAAY,CAACC,UAAU,CAAiB,CAAE,CACpD,IAAI1f,QAAQ,CAAG,IAAIyf,YAAY,CAACC,UAAU,CAAG,CAC3B,UAAU,EAAxB,OAAO7O,EAAiB,EAC3BA,EAAE,CAAC5I,cAAc,CAAEjI,QAAQ,CAAC,CAE7BA,QAAQ,CAACyG,cAAc,CAACwB,cAAc,CAAC,CACnCkW,OAAO,EAAIpa,GAAG,CAACoR,WAAW,CAACgJ,OAAO,CAAC,EACtCpa,GAAG,CAACoR,WAAW,CAACgJ,OAAO,CAAC,CAAClW,cAAc,CAAEjI,QAAQ,EAEnD,CACD,CAAC,CACDie,mBAAmB,CAAE,SAAAA,mBAAAA,CAAU1c,SAAS,CAAEmb,YAAY,CAAE,CAAA,IACnD5V,IAAI,CAAGvF,SAAS,CAAC+B,IAAI,CAAC,MAAM,CAAC,CAC7Bsc,cAAc,CAAA,CAAA,CAAQ,EACtB9Y,IAAI,CAAC7E,QAAQ,CAAC,cAAc,CAAC,EAAI6E,IAAI,CAAC7E,QAAQ,CAAC,kBAAkB,CAAC,IACrE6E,IAAI,CAACJ,gBAAgB,CAAC3C,GAAG,CAAC8b,uBAAuB,CAAC,CAClDD,cAAc,CAAA,CAAA,CAAO,CAES,CAAA,kBAAkB,GAA7Cre,SAAS,CAACQ,IAAI,CAAC,MAAM,CAAwB,EAChD,IAAI,CAAC+d,2BAA2B,CAACve,SAAS,CAAC,CAAA,CAExCuF,IAAI,CAAC7E,QAAQ,CAAC,YAAY,CAAC,EAAI6E,IAAI,CAAC7E,QAAQ,CAAC,iBAAiB,CAAC,GAClE6E,IAAI,CAACjF,EAAE,CAAC,QAAQ,CAAE,SAAUhF,CAAC,CAAE,CAC9B,IAAIgL,IAAI,CAAO,CAAA,CAAA,CAMf,GALAhL,CAAC,CAAC6G,cAAc,EAAE,CACdkc,cAAc,EAA4C,CAAC,CAAzC9Y,IAAI,CAAC/E,IAAI,CAAC,KAAK,CAAC,CAACoF,aAAa,CAACzJ,MAAU,GAC9DqG,GAAG,CAACgc,4BAA4B,CAACjZ,IAAI,CAAC,CACtCe,IAAI,CAAA,CAAA,CAAQ,EAETA,IAAI,CAAE,CACL,IAAA6E,wBAAwB,CAAGlL,CAAC,CAAC4C,iBAAiB,CAAC,CAClDC,SAAS,CAAE,CAAEC,OAAO,CAAO,CAAA,CAAA,CAC5B,CAAC,CAAC,CACEkG,QAAQ,CAAG1D,IAAI,CAACgD,iBAAiB,EAAE,CACvClE,YAAY,CAACC,OAAO,CAAC2E,QAAQ,CAAC,CAC5B3L,IAAI,CAAC,SAAUmhB,YAAY,CAAE,CAAA,OAC7BtD,YAAY,CAAClS,QAAQ,CAAEwV,YAAY,CAAC,CAChCA,YAAY,CAAC3X,OAAO,EAAI2X,YAAY,CAAC1V,MAAM,GAC1C0V,YAAY,CAAC1V,MAAM,CAAC2V,MAAM,EAC7BC,gBAAgB,CAACC,WAAW,CAACH,YAAY,CAAC1V,MAAM,CAAC2V,MAAM,CAAC,CAErDD,YAAY,CAAC1V,MAAM,CAAC8V,WAAW,CAClC1T,EAAAA,wBAAwB,CAACtI,iBAAiB,CAAC,CAAEK,IAAI,CAAE,MAAO,CAAC,CAAC,CAI9DV,CAAAA,CAAAA,EAAAA,KAAAA,GAAG,CAACoE,eAAe,EAAE,CACrBuE,wBAAwB,CAACtI,iBAAiB,CAAC,CAAEK,IAAI,CAAE,MAAO,CAAC,CAAC,CAC7D,CAAC,CAAC,CACDiE,IAAI,CAAC,SAAUuE,KAAK,CAAE,CACtBlJ,GAAG,CAACuE,UAAU,CAAC,CACdE,IAAI,CAAE,OAAO,CACbM,KAAK,CAAE/E,GAAG,CAACgE,UAAU,CAAC,qBAAqB,CAAC,CAC5CQ,IAAI,CAAE0E,KACP,CAAC,CAAC,CACFP,wBAAwB,CAACtI,iBAAiB,CAAC,CAAEK,IAAI,CAAE,MAAO,CAAC,EAC5D,CAAC,EACH,CACD,CAAC,EAEH,CAAC,CACDuZ,mBAAmB,CAAE,SAAAA,mBAAUzc,CAAAA,SAAS,CAAE,CACzC,IAAI8e,KAAK,CAAG9e,SAAS,CAAC+B,IAAI,CAAC,mDAAmD,CAAC,CAC/E+c,KAAK,CAAChX,IAAI,CAAC,SAAC5K,CAAC,CAAEqI,IAAI,CAAK,CACvBA,IAAI,CAAGtF,CAAC,CAACsF,IAAI,CAAC,CACd,IAAI8Y,cAAc,CAAA,CAAA,CAAQ,CACtB9Y,IAAI,CAAC7E,QAAQ,CAAC,kBAAkB,CAAC,GACpC6E,IAAI,CAACJ,gBAAgB,CAAC3C,GAAG,CAAC8b,uBAAuB,CAAC,CAClDD,cAAc,CAAA,CAAA,CAAO,EAElB9Y,IAAI,CAAC7E,QAAQ,CAAC,qBAAqB,CAAC,EACvC6E,IAAI,CAACxD,IAAI,CAAC,cAAc,CAAC,CAACzB,EAAE,CAAC,QAAQ,CAAE,UAAY,CAClD,IAAI8B,OAAO,CAAGnC,CAAC,CAAC,IAAI,CAAC,CACrB,GAAA,EAAIoe,cAAc,EAAIjc,OAAO,CAAC+C,gBAAgB,CAAC,UAAU,CAAC,CAGtD,CAAA,CAAA,IAAAgG,wBAAwB,CAAGlL,CAAC,CAAC4C,iBAAiB,CAAC,CAClDC,SAAS,CAAE,CAAEC,OAAO,CAAO,CAAA,CAAA,CAC5B,CAAC,CAAC,CACEkG,QAAQ,CAAG1D,IAAI,CAACgD,iBAAiB,EAAE,CACnCnK,IAAI,CAAGgE,OAAO,CAACgG,IAAI,CAAC,MAAM,CAAC,CAAC+O,OAAO,CAAC,IAAI,CAAE,EAAE,CAAC,CACjDlO,QAAQ,CAAA8V,WAAe,CAAG3gB,IAAI,CAC9B6K,QAAQ,CAAA+V,WAAe,CAAG/V,QAAQ,CAAC7K,IAAI,CAAC,CACxCiG,YAAY,CAACC,OAAO,CAAC2E,QAAQ,CAAC,CAC5B3L,IAAI,CAAC,SAAUmhB,YAAY,CAAE,CACzBA,YAAY,CAAC3X,OAAO,EAAI2X,YAAY,CAAC1V,MAAM,EAC1C0V,YAAY,CAAC1V,MAAM,CAAC2V,MAAM,EAC7Blc,GAAG,CAACuE,UAAU,CAAC0X,YAAY,CAAC1V,MAAM,CAAC2V,MAAM,CAAC,CAG5CvT,wBAAwB,CAACtI,iBAAiB,CAAC,CAAEK,IAAI,CAAE,MAAO,CAAC,EAC5D,CAAC,CAAC,CACDiE,IAAI,CAAC,SAAUuE,KAAK,CAAE,CACtBlJ,GAAG,CAACuE,UAAU,CAAC,CACdQ,KAAK,CAAE/E,GAAG,CAACgE,UAAU,CAAC,qBAAqB,CAAC,CAC5CQ,IAAI,CAAE0E,KAAK,CACXzE,IAAI,CAAE,OACP,CAAC,CAAC,CACFkE,wBAAwB,CAACtI,iBAAiB,CAAC,CAAEK,IAAI,CAAE,MAAO,CAAC,EAC5D,CAAC,EAAC,CACJ,CAAC,CAAC,CAECqC,IAAI,CAAC7E,QAAQ,CAAC,qBAAqB,CAAC,EACvC6E,IAAI,CAACjF,EAAE,CAAC,QAAQ,CAAE,SAAUhF,CAAC,CAAE,CAC9B,IAAIgL,IAAI,CAAO,CAAA,CAAA,CAMf,GALAhL,CAAC,CAAC6G,cAAc,EAAE,CACdkc,cAAc,EAA4C,CAAC,CAAzC9Y,IAAI,CAAC/E,IAAI,CAAC,KAAK,CAAC,CAACoF,aAAa,CAACzJ,MAAU,GAC9DqG,GAAG,CAACgc,4BAA4B,CAACjZ,IAAI,CAAC,CACtCe,IAAI,CAAQ,CAAA,CAAA,CAAA,CAETA,IAAI,CAAE,CACT,IAAI6E,wBAAwB,CAAGlL,CAAC,CAAC4C,iBAAiB,CAAC,CAClDC,SAAS,CAAE,CAAEC,OAAO,CAAA,CAAA,CAAO,CAC5B,CAAC,CAAC,CACFsB,YAAY,CAACC,OAAO,CAACiB,IAAI,CAACgD,iBAAiB,EAAE,CAAC,CAC5CjL,IAAI,CAAC,SAAUmhB,YAAY,CAAE,CACzBA,YAAY,CAAC3X,OAAO,EAAI2X,YAAY,CAAC1V,MAAM,GAC1C0V,YAAY,CAAC1V,MAAM,CAAC2V,MAAM,EAC7BC,gBAAgB,CAACC,WAAW,CAACH,YAAY,CAAC1V,MAAM,CAAC2V,MAAM,CAAC,CAErDD,YAAY,CAAC1V,MAAM,CAACkW,UAAU,EACjCzc,GAAG,CAACoE,eAAe,CAAC,IAAI,CAAE5G,SAAS,CAAC2G,OAAO,CAAC,qBAAqB,CAAC,CAACyB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA,CAGhF+C,wBAAwB,CAACtI,iBAAiB,CAAC,CAAEK,IAAI,CAAE,MAAO,CAAC,EAC5D,CAAC,CAAC,CACDiE,IAAI,CAAC,UAAY,CACjB3E,GAAG,CAACuE,UAAU,CAAC,CACdC,IAAI,CAAExE,GAAG,CAACgE,UAAU,CAAC,qBAAqB,CAAC,CAC3CS,IAAI,CAAE,OACP,CAAC,CAAC,CACFkE,wBAAwB,CAACtI,iBAAiB,CAAC,CAAEK,IAAI,CAAE,MAAO,CAAC,EAC5D,CAAC,EACH,CACD,CAAC,EAEH,CAAC,EACF,CAAC,CACDgc,QAAQ,CAAE,SAAAA,QAAAA,CAAU9c,OAAO,CAAE,CAC5B,OAAiC,MAAM,EAAhCA,OAAO,CAACsI,GAAG,CAAC,SAAS,CAC7B,CAAC,CACDyU,WAAW,CAAE,SAAAA,WAAU/c,CAAAA,OAAO,CAAE,CAC/B,OAAoC,QAAQ,EAArCA,OAAO,CAACsI,GAAG,CAAC,YAAY,CAChC,CAAC;AAEF;AACA,IACC4T,uBAAuB,CAAE;AAExB;AACAc,MAAM,CAAO,CAAA,CAAA,CACbC,cAAc,CAAE,SAAS;AAEzBC,YAAY,GAAM,CAClBC,SAAS,CAAE,OACZ,CAAC,CACDna,gCAAgC,CAAE,CACjCga,MAAM,CAAO,CAAA,CAAA,CACbC,cAAc,CAAE,SAAS;AAEzBC,YAAY,CAAA,CAAA,CAAM,CAClBC,SAAS,CAAE,OAAO,CAClBC,kBAAkB,CAAE,SAAAA,kBAAUC,CAAAA,KAAK,CAAE,CACpC,IAAIC,KAAK,CAAGD,KAAK,CAAC9Y,OAAO,CAAC,kBAAkB,CAAC,CACzC+Y,KAAK,CAAC3d,IAAI,CAAC,eAAe,CAAC,CAACkU,EAAE,CAAC,SAAS,CAAC,EAC5CyJ,KAAK,CAAC3d,IAAI,CAAC,cAAc,CAAC,CAAC4d,KAAK,GAElC,CACD,CAAC;AAEF;AACA,IACCC,aAAa,CAAE,CACdC,UAAU,CAAE,EACb,CAAC;AAEF;AACA;AACA,IACCrB,4BAA4B,CAAE,SAAAA,4BAAUjZ,CAAAA,IAAI,CAAE;AAE7C,IAAIua,SAAS,CAAGva,IAAI,CAACxD,IAAI,CAAC,qCAAqC,CAAC,CAChE,GAAuB,CAAC,CAApB+d,SAAS,CAAC3jB,MAAU,CAAE,KACrB4jB,WAAW,CAAGD,SAAS,CAAClG,MAAM,EAAE,CAAC/E,GAAG,CAExC5U,CAAC,CAAC,MAAM,CAAC,CAAC+f,OAAO,CAChB,CACCC,SAAS,CAHaF,WAAW,CAAG,GAIrC,CAAC,CACD,MACD,EACD,CACD,CAAC;AAEF;AACA;AACA,IACCG,wBAAwB,CAAAA,SAAAA,wBAAAA,CAAClgB,SAAS,CAAE,CACnCA,SAAS,CAACM,EAAE,CAAC,OAAO,CAAE,kBAAkB,CAAE,SAAUhF,CAAC,CAAE,CACtD,IAAMsD,MAAM,CAAGqB,CAAC,CAAC3E,CAAC,CAACsD,MAAM,CAAC,CAC1B,GACCA,MAAM,CAACqX,EAAE,CAAC,OAAO,CAAC,EAClBrX,MAAM,CAACqX,EAAE,CAAC,QAAQ,CAAC,EACnBrX,MAAM,CAACuhB,OAAO,EAAE,CAAClK,EAAE,CAAC,QAAQ,CAAC,EAC7BrX,MAAM,CAAC8B,QAAQ,CAAC,qBAAqB,CAAC,EACtC9B,MAAM,CAACuhB,OAAO,EAAE,CAACzf,QAAQ,CAAC,qBAAqB,CAAC,CAEhD,UACA,IACK0f,WAAW,CAAGngB,CAAC,CAAC3E,CAAC,CAACkM,aAAa,CAAC,CAChC6Y,aAAa,CAAGD,WAAW,CAACtiB,IAAI,EAAE,CAClCwiB,UAAU,CAAGF,WAAW,CAACre,IAAI,CAAC,aAAa,CAAC,CAC9Cse,aAAa,CAAC3f,QAAQ,CAAC,QAAQ,CAAC,EACnC2f,aAAa,CAACjK,WAAW,CAAC,QAAQ,CAAC,CACnCkK,UAAU,CAAClK,WAAW,CAACkK,UAAU,CAAC9f,IAAI,CAAC,MAAM,CAAC,CAAC,CAACwH,QAAQ,CAACsY,UAAU,CAAC9f,IAAI,CAAC,MAAM,CAAC,CAAC,GAEjF6f,aAAa,CAACrY,QAAQ,CAAC,QAAQ,CAAC,CAChCsY,UAAU,CAAClK,WAAW,CAACkK,UAAU,CAAC9f,IAAI,CAAC,MAAM,CAAC,CAAC,CAACwH,QAAQ,CAACsY,UAAU,CAAC9f,IAAI,CAAC,MAAM,CAAC,CAAC,EAEnF,CAAC,EACF,CAAC,CACD+d,2BAA2B,CAAE,SAAAA,2BAAA,EAA6B,KAAnBve,SAAS,CAAA9D,CAAAA,EAAAA,CAAAA,CAAAA,SAAA,CAAAC,MAAA,EAAAD,SAAA,CAAAA,CAAAA,CAAAA,GAAAA,KAAAA,CAAAA,CAAAA,EAAAA,SAAA,IAC3CqkB,uBAAuB,CAAGtgB,CAAC,CAAC,0BAA0B,CAAC,CACvDmgB,WAAW,CAAGG,uBAAuB,CAACxe,IAAI,CAAC,cAAc,CAAC,CAC1D,CAAA/B,CAAAA,GAAAA,SAAmB,GACtBogB,WAAW,CAAGpgB,SAAS,CAAC+B,IAAI,CAAC,cAAc,CAAC,EAE7Cqe,WAAW,CAAC9f,EAAE,CAAC,OAAO,CAAE,SAAUhF,CAAC,CAAE,CACpC,IAAMsD,MAAM,CAAGqB,CAAC,CAAC3E,CAAC,CAACsD,MAAM,CAAC,CAC1B,GACCA,MAAM,CAACqX,EAAE,CAAC,OAAO,CAAC,EAClBrX,MAAM,CAACqX,EAAE,CAAC,QAAQ,CAAC,EACnBrX,MAAM,CAACuhB,OAAO,EAAE,CAAClK,EAAE,CAAC,QAAQ,CAAC,EAC7BrX,MAAM,CAAC8B,QAAQ,CAAC,qBAAqB,CAAC,EACtC9B,MAAM,CAACuhB,OAAO,EAAE,CAACzf,QAAQ,CAAC,qBAAqB,CAAC,CAEhD,OACA,CAAA,CAAA,CAAA,IACG8G,aAAa,CAAGvH,CAAC,CAAC,IAAI,CAAC,CAAC8B,IAAI,CAAC,kBAAkB,CAAC,CAACuG,GAAG,CAAC,SAAS,CAAC,CAC/DkY,OAAO,CAAGhZ,aAAa,CAAChH,IAAI,CAAC,IAAI,CAAC,CAClCigB,YAAY,CAAGjZ,aAAa,CAACb,OAAO,CAAC,kBAAkB,CAAC,CACxD+Z,YAAY,CAAGD,YAAY,CAAC1e,IAAI,CAAC,eAAe,CAAC,CACjDvB,IAAI,CAAGgH,aAAa,CAAChH,IAAI,EAAE,CAC3ByC,MAAM,CAAGT,GAAG,CAACqB,aAAa,EAAE,CACd,MAAM,GAApBrD,IAAI,CAAC0C,IAAe,EACvBwd,YAAY,CAAC1Y,QAAQ,CAAC,QAAQ,CAAC,CAC/BxF,GAAG,CAACme,QAAQ,CAAC1d,MAAM,CAAG,GAAG,CAAGud,OAAO,CAAE,CAAC,CAAC,CACvChZ,aAAa,CAACQ,QAAQ,CAAC,QAAQ,CAAC,CAChCyY,YAAY,CAAC1e,IAAI,CAAC,sBAAoB,CAAC,CAACqU,WAAW,CAAC,QAAQ,CAAC,GAE7DsK,YAAY,CAACtK,WAAW,CAAC,QAAQ,CAAC,CAClC5T,GAAG,CAACme,QAAQ,CAAC1d,MAAM,CAAG,GAAG,CAAGud,OAAO,CAAE,CAAC,CAAC,CACvChZ,aAAa,CAACQ,QAAQ,CAAC,QAAQ,CAAC,CAChCyY,YAAY,CAAC1e,IAAI,CAAC,sBAAoB,CAAC,CAACqU,WAAW,CAAC,QAAQ,CAAC,EAE/D,CAAC,EACF,CAAC,CAEDwK,0BAA0B,CAAE,SAAAA,0BAAUxG,CAAAA,aAAa,CAAE,CACvB,WAAW,EAApC,OAAOA,aAA6B,GACvCA,aAAa,CAAGna,CAAC,CAAC,MAAM,CAAC,CAAA,CAG1Bma,aAAa,CAAGna,CAAC,CAACma,aAAa,CAAC,CAChC,IAAIhY,OAAO,CAEVA,OAAO,CADJgY,aAAa,CAAC1Z,QAAQ,CAAC,WAAW,CAAC,CAC5B0Z,aAAa,CAEbna,CAAC,CAAC,YAAY,CAAEma,aAAa,CAAC,CAEzChY,OAAO,CAACye,UAAU,CAAC,CAAEC,SAAS,CAAA,CAAA,CAAO,CAAC,CAAC,CAACxgB,EAAE,CAAC,YAAY,CAAE,SAAUygB,EAAE,CAAE,CACtE,IAAIC,cAAc,CAAG/gB,CAAC,CAAC8gB,EAAE,CAACvZ,aAAa,CAAC,CACvCwG,UAAU,CAAGgT,cAAc,CAACxgB,IAAI,CAAC,YAAY,CAAC,CAACuN,WAAW,EAAE,CAC5DkT,IAAI,CAAGhhB,CAAC,CAAC4gB,UAAU,CAACK,UAAU,CAAChT,MAAM,CAAC6S,EAAE,CAACE,IAAI,CAAC,CAACrT,MAAM,CAACI,UAAU,CAAC,CAAE+S,EAAE,CAACE,IAAI,CAAC,CAC5ED,cAAc,CAACrf,GAAG,CAACsf,IAAI,EACxB,CAAC,CAAC,CACFthB,GAAG,CAACgc,MAAM,CAACwF,KAAK,CAACC,kBAAkB,CAAChf,OAAO,EAC5C,CAAC,CACDgB,2BAA2B,CAAE,SAAAA,2BAAAA,EAA0C,CAAhC,IAAAie,UAAU,CAAAnlB,CAAAA,CAAAA,SAAA,CAAAC,MAAA,EAAA,KAAA,CAAA,GAAAD,SAAA,CAAAA,CAAAA,CAAAA,CAAAA,SAAA,IAAG+D,CAAC,CAAC,cAAc,CAAC,CAIpE,GAHKohB,UAAU,CAAC3gB,QAAQ,CAAC,aAAa,CAAC,GACtC2gB,UAAU,CAAGA,UAAU,CAACtf,IAAI,CAAC,cAAc,CAAC,CAAA,CAAA,CAEzC,CAACsf,UAAU,CAACllB,MAAM,CAAA,CAGtB,IAAIuG,MAAM,CAAG,CACZ+T,SAAS,CAAE,QAAQ,CACnBqK,SAAS,CAAM,CAAA,CAAA,CACfQ,UAAU,CAAE,CACb,CAAC,CAEDrhB,CAAC,CAAC,gBAAgB,CAAC,CAACK,EAAE,CAAC,OAAO,CAAE,SAAChF,CAAC,CAAK,CACtCA,CAAC,CAACimB,eAAe,EAAE,CACnB,IAAIC,WAAW,CAAGvhB,CAAC,CAAC3E,CAAC,CAACkM,aAAa,CAAC,CAACb,OAAO,CAAC,OAAO,CAAC,CAAC5E,IAAI,CAAC,mBAAmB,CAAC,CAC1C,UAAU,GAA3Cyf,WAAW,CAACpZ,IAAI,CAAC,UAAU,CAAgB,EAAqC,UAAU,GAA3CoZ,WAAW,CAACpZ,IAAI,CAAC,UAAU,CAAgB,EAC7FoZ,WAAW,CAACC,WAAW,CAAC,MAAM,EAEhC,CAAC,CAAC,CAEF,IAAIC,gBAAgB,CAAG,SAACC,SAAS,CAAK,CACrC,GAAIjf,MAAM,CAACkf,UAAU,CAAE,CACtB,IAAIC,YAAY,CAAG,EAAE,CACrBnf,MAAM,CAACof,SAAS,CAAG,UAAM;AAExB,IAAIC,UAAU,CAAGJ,SAAS,CAAChgB,GAAG,EAAE,CAC/BqgB,mBAAmB,CAAGD,UAAU,CAAC5jB,KAAK,CAAC,CAAC,CAAE4jB,UAAU,CAAC5lB,MAAM,CAAG,CAAC,CAAC,CAAG,GAAG,CAAG0lB,YAAY,CACtFF,SAAS,CAAChgB,GAAG,CAACqgB,mBAAmB,CAAC,CAClCxf,GAAG,CAAC/B,KAAK,CAACwF,OAAO,CAAC,qBAAqB,CAAE0b,SAAS,EACnD,CAAC,CACDjf,MAAM,CAACuf,UAAU,CAAG,UAAM,CACzBJ,YAAY,CAAG5hB,CAAC,CAAC,oCAAoC,CAAC,CAAC8B,IAAI,CAAC,uBAAuB,CAAC,CAACiF,IAAI,GAC1F,EACD,CAAC,KACAtE,MAAM,CAACof,SAAS,CAAG,UAAM,CACxBtf,GAAG,CAAC/B,KAAK,CAACwF,OAAO,CAAC,qBAAqB,CAAE0b,SAAS,EACnD,EAEF,CAAC,CAEDN,UAAU,CAACvZ,IAAI,CAAC,SAAC5K,CAAC,CAAE5B,CAAC,CAAK,CACrB,IAAAqmB,SAAS,CAAG1hB,CAAC,CAAC3E,CAAC,CAAC,CAChB4mB,UAAU,CAAGb,UAAU,CAAC7gB,IAAI,CAAC,QAAQ,CAAC,EAAI+C,MAAM,CAACuK,UAAU,CAC/DpL,MAAM,CAACkf,UAAU,CAA4B,EAAE,GAA3BO,QAAQ,CAACD,UAAU,CAAuB,CAC9DR,gBAAgB,CAACC,SAAS,CAAC,CAC3BA,SAAS,CAACF,WAAW,CAAC/e,MAAM,EAC7B,CAAC,CAAC,CACF/C,GAAG,CAACgc,MAAM,CAACwF,KAAK,CAACC,kBAAkB,CAACC,UAAU,EAAC,CAChD,CAAC,CACD3F,kBAAkB,CAAE,SAAAA,kBAAAA,CAAU0G,KAAK,CAAgB,CAAA,IAAdnY,OAAO,CAAA,CAAA,CAAA/N,SAAA,CAAAC,MAAA,EAAA,KAAA,CAAA,GAAAD,SAAA,CAAAA,CAAAA,CAAAA,CAAAA,SAAA,IAAG,EAAE,QAC5C+D,IAAAA,EAAAA,CAAC,CAACsb,EAAE,CAAC8G,SAAsB,EAGX,CAAC,EAAjBD,KAAK,CAACjmB,MAAW,GAGrB8D,CAAC,CAAC+W,MAAM,CAAC/W,CAAC,CAACsb,EAAE,CAAC8G,SAAS,CAAC9Y,QAAQ,CAAE,CACjC+Y,QAAQ,CAAE,CACTC,WAAW,CAAE/f,GAAG,CAACgE,UAAU,CAAC,kBAAkB,CAAC,CAC/Cgc,YAAY,CAAEhgB,GAAG,CAACgE,UAAU,CAAC,qBAAqB,CAAC,CACnDic,KAAK,CAAEjgB,GAAG,CAACgE,UAAU,CAAC,WAAW,CAAC,CAClCkc,UAAU,CAAElgB,GAAG,CAACgE,UAAU,CAAC,iBAAiB,CAAC,CAC7Cmc,OAAO,CAAEngB,GAAG,CAACgE,UAAU,CAAC,WAAW,CAAC,CACpCoc,WAAW,CAAEpgB,GAAG,CAACgE,UAAU,CAAC,qBAAqB,CAAC,CAClDqc,aAAa,CAAErgB,GAAG,CAACgE,UAAU,CAAC,oBAAoB,CAAC,CACnDsc,eAAe,CAAEtgB,GAAG,CAACgE,UAAU,CAAC,uBAAuB,CAAC,CACxDuc,WAAW,CAAEvgB,GAAG,CAACgE,UAAU,CAAC,uBAAuB,CAAC,CACpDwc,SAAS,CAAE,CACVC,MAAM,CAAEzgB,GAAG,CAACgE,UAAU,CAAC,YAAY,CAAC,CACpC0c,SAAS,CAAE1gB,GAAG,CAACgE,UAAU,CAAC,eAAe,CAAC,CAC1C2c,KAAK,CAAE3gB,GAAG,CAACgE,UAAU,CAAC,WAAW,CAAC,CAClC4c,KAAK,CAAE5gB,GAAG,CAACgE,UAAU,CAAC,WAAW,CAClC,CAAC,CACD6c,KAAK,CAAE,CACNC,cAAc,CAAE9gB,GAAG,CAACgE,UAAU,CAAC,qBAAqB,CAAC,CACrD+c,eAAe,CAAE/gB,GAAG,CAACgE,UAAU,CAAC,sBAAsB,CACvD,CACD,CACD,CAAC,CAAC,CACG/K,MAAM,CAACC,IAAI,CAACuO,OAAO,CAAC,CAAC9N,MAAM,GAC/B8N,OAAO,CAAGxO,MAAM,CAAC2O,MAAM,CAAC,CAAEoZ,SAAS,CAAA,CAAA,CAAM,CAAEC,QAAQ,GAAM,CAAEC,MAAM,GAAM,CAAE7Q,IAAI,GAAO,CAAC,CAAEuP,KAAK,CAAC5hB,IAAI,EAAE,CAAC,CAAA,CAE9F4hB,KAAK,CAACuB,SAAS,CAAC1Z,OAAO,CAAC,CAChC,CAAC;AAEF;AACA;AACA;AACA,IACC2Z,2BAA2B,CAAE,SAAAA,2BAAUrN,CAAAA,aAAa,CAAE,CACjD,IAAAsN,QAAQ,CAAGtN,aAAa,CAACnO,IAAI,CAAC,IAAI,CAAC,CACvC;AAEA,OAAOnI,CAAC,CAAC,GAAG,EADO,UAAU,CAAG4jB,QAAQ,CAAG,YAAY,CAC5B,CAAC,CAACld,OAAO,CAAC,oBAAoB,CAC1D,CAAC;AAEF;AACA;AACA,IACCmd,eAAe,CAAE,SAAAA,eAAUC,CAAAA,QAAQ,CAAE,CACpC9jB,CAAC,CAAC8jB,QAAQ,CAAC,CAACjc,IAAI,CAAC,SAAUK,KAAK,CAAE/F,OAAO,CAAE,CAC1C,IAAI4hB,WAAW,CAAG/jB,CAAC,CAACmC,OAAO,CAAC,CAACqB,MAAM,EAAE,CAAC4S,KAAK,EAAE,CAC7CpW,CAAC,CAACmC,OAAO,CAAC,CAACiU,KAAK,CAAC2N,WAAW,EAC7B,CAAC,EACF,CAAC,CACDC,gBAAgB,CAAE,SAAAA,gBAAU7hB,CAAAA,OAAO,CAAwC,CAAtC,IAAA6H,OAAO,CAAA,CAAA,CAAA/N,SAAA,CAAAC,MAAA,EAAAD,SAAA,aAAAA,SAAA,CAAA,CAAA,CAAA,CAAG,CAAEgoB,gBAAgB,GAAO,CAAC,CAAA,OACjD,WAAW,EAA9B,OAAO9hB,OAAuB,EAAKA,OAAO,CAACjG,MAAM,CAC9C,IAAIgoB,gBAAgB,CAAC/hB,OAAO,CAAC,CAAC,CAAC,CAAE3G,MAAM,CAAC2O,MAAM,CAAC,IAAI,CAACwV,aAAa,CAAE3V,OAAO,CAAC,CAAC,CACpF,KAAA,CAAA,CAAC,CACDma,8BAA8B,CAAE,SAAAA,8BAAAA,CAAUhiB,OAAO,CAAgB,CAAA,IAAd6H,OAAO,GAAA/N,SAAA,CAAAC,MAAA,EAAAD,SAAA,CAAAA,CAAAA,CAAAA,GAAAA,KAAAA,CAAAA,CAAAA,SAAA,CAAG,CAAA,CAAA,CAAA,EAAE,CAC9D,GAAuB,WAAW,EAA9B,OAAOkG,OAAuB,EAAKA,OAAO,CAACjG,MAAM,CAAA,CACrD8N,OAAO,CAAGxO,MAAM,CAAC2O,MAAM,CAACH,OAAO,CAAE,IAAI,CAAC2V,aAAa,CAAC,KAChDyE,oBAAoB,CAAG,IAAIF,gBAAgB,CAAC/hB,OAAO,CAAC,CAAC,CAAC,CAAE6H,OAAO,CAAC,CAChEqa,mBAAmB,CAAGliB,OAAO,CAACL,IAAI,CAAC,aAAa,CAAC,CAACwiB,KAAK,EAAE,CAC7DD,mBAAmB,CAAC5Z,GAAG,CAAC,CACvBmK,GAAG,CAAE,CAAC,CACN2P,MAAM,CAAE,MACT,CAAC,CAAC,CACFF,mBAAmB,CAACviB,IAAI,CAAC,cAAc,CAAC,CAAC2I,GAAG,CAAC,CAC5CmK,GAAG,CAAE,CAAC,CACN2P,MAAM,CAAE,MACT,CAAC,CAAC,CACF,IAAIC,wBAAwB,CAAG,IAAIN,gBAAgB,CAAC/hB,OAAO,CAAC,CAAC,CAAC,CAAE6H,OAAO,CAAC,CACxE,OAAO,CAACoa,oBAAoB,CAAEI,wBAAwB,CAAE,CACzD,CAAC,CACDC,yBAAyB,CAAE,SAAAA,yBAAAA,CAAUtiB,OAAO,CAA+D,KAA7D6H,OAAO,CAAA/N,CAAAA,CAAAA,SAAA,CAAAC,MAAA,EAAAD,SAAA,CAAA,CAAA,CAAA,GAAA,KAAA,CAAA,CAAAA,SAAA,CAAG,CAAA,CAAA,CAAA,CAAEgoB,gBAAgB,CAAA,CAAA,CAAM,CAAES,eAAe,CAAA,CAAA,CAAO,CAAC,CACxG,GAAuB,WAAW,EAA9B,OAAOviB,OAAuB,EAAKA,OAAO,CAACjG,MAAM,EACrD8N,OAAO,CAAGxO,MAAM,CAAC2O,MAAM,CAACH,OAAO,CAAE,IAAI,CAAC2V,aAAa,CAAC,CACpD,IAAIuE,gBAAgB,CAAC/hB,OAAO,CAAC,CAAC,CAAC,CAAE6H,OAAO,CAAC,CACzC,IAAIka,gBAAgB,CAAC/hB,OAAO,CAAC,CAAC,CAAC,CAAE6H,OAAO,CAAC,CACzC,IAAIqa,mBAAmB,CAAGliB,OAAO,CAACL,IAAI,CAAC,aAAa,CAAC,CAACwiB,KAAK,EAAE,CAC7DD,mBAAmB,CAAC5Z,GAAG,CAAC,CACvBmK,GAAG,CAAE,CAAC,CACN2P,MAAM,CAAE,MACT,CAAC,CAAC,CACFF,mBAAmB,CAACviB,IAAI,CAAC,cAAc,CAAC,CAAC2I,GAAG,CAAC,CAC5CmK,GAAG,CAAE,CAAC,CACN2P,MAAM,CAAE,MACT,CAAC,EAAC,CACH,CAAC,CACDI,mBAAmB,CAAE,SAAAA,mBAAAA,CAAUxiB,OAAO,CAA+D,KAA7D6H,OAAO,CAAA/N,CAAAA,CAAAA,SAAA,CAAAC,MAAA,EAAAD,SAAA,CAAA,CAAA,CAAA,GAAA,KAAA,CAAA,CAAAA,SAAA,CAAG,CAAA,CAAA,CAAA,CAAEgoB,gBAAgB,CAAA,CAAA,CAAM,CAAES,eAAe,CAAA,CAAA,CAAO,CAAC,CAClG,GAAuB,WAAW,EAA9B,OAAOviB,OAAuB,EAAKA,OAAO,CAACjG,MAAM,EACrD8N,OAAO,CAAGxO,MAAM,CAAC2O,MAAM,CAAC,IAAI,CAACwV,aAAa,CAAE3V,OAAO,CAAC,CACpD,IAAIka,gBAAgB,CAAC/hB,OAAO,CAAC,CAAC,CAAC,CAAE6H,OAAO,CAAC,CACzC,IAAIqa,mBAAmB,CAAGliB,OAAO,CAACL,IAAI,CAAC,aAAa,CAAC,CAACwiB,KAAK,EAAE,CAC7DD,mBAAmB,CAAC5Z,GAAG,CAAC,CACvBmK,GAAG,CAAE,CAAC,CACN2P,MAAM,CAAE,MACT,CAAC,CAAC,CACFF,mBAAmB,CAACviB,IAAI,CAAC,cAAc,CAAC,CAAC2I,GAAG,CAAC,CAC5CmK,GAAG,CAAE,CAAC,CACN2P,MAAM,CAAE,MACT,CAAC,EAAC,CACH,CAAC,CACDK,oBAAoB,CAAE,SAAAA,oBAAUziB,CAAAA,OAAO,CAAwC,CAAA,IAAtC6H,OAAO,CAAA,CAAA,CAAA/N,SAAA,CAAAC,MAAA,EAAAD,SAAA,CAAAA,CAAAA,CAAAA,GAAAA,KAAAA,CAAAA,CAAAA,SAAA,IAAG,CAAEgoB,gBAAgB,CAAO,CAAA,CAAA,CAAC,CAC5E,GAAuB,WAAW,EAA9B,OAAO9hB,OAAuB,EAAKA,OAAO,CAACjG,MAAM,CACrD8N,CAAAA,OAAO,CAAGxO,MAAM,CAAC2O,MAAM,CAAC,IAAI,CAACwV,aAAa,CAAE3V,OAAO,CAAC,CACpD,IAAIka,gBAAgB,CAAC/hB,OAAO,CAAC,CAAC,CAAC,CAAE6H,OAAO,CAAC,CACzC,IAAI6a,oBAAoB,CAAG1iB,OAAO,CAACmY,QAAQ,CAAC,aAAa,CAAC,CAACgK,KAAK,EAAE,CAClEO,oBAAoB,CAACpa,GAAG,CAAC,CACxB6O,IAAI,CAAE,CAAC,CACPwL,KAAK,CAAE,MACR,CAAC,CAAC,CACFD,oBAAoB,CAAC/iB,IAAI,CAAC,cAAc,CAAC,CAAC2I,GAAG,CAAC,CAC7C6O,IAAI,CAAE,CAAC,CACPwL,KAAK,CAAE,MACR,CAAC,EAAC,CACH,CAAC,CACDC,aAAa,CAAE,SAAAA,aAAAA,CAAU5iB,OAAO,CAAgB,KAAd6H,OAAO,CAAA/N,CAAAA,CAAAA,SAAA,CAAAC,MAAA,EAAA,KAAA,CAAA,GAAAD,SAAA,CAAA,CAAA,CAAA,CAAAA,SAAA,CAAG,CAAA,CAAA,CAAA,EAAE,CAE7C,OAD8B,WAAW,EAArC,OAAO+N,OAAO,CAAC+O,MAAsB,GAAE/O,OAAO,CAAC+O,MAAM,CAAG5W,OAAO,CAACsI,GAAG,CAAC,QAAQ,CAAC,CAAA,CAC1EtI,OAAO,CAAC6iB,UAAU,CAAChb,OAAO,CAClC,CAAC;AAEF;AACA;AACA,IACCib,yBAAyB,CAAA,SAAAA,yBAACllB,CAAAA,SAAS,CAAE,CACpC,IAAImlB,YAAY,CAAA,CAAA,CAAQ,CACxBnlB,SAAS,CAACM,EAAE,CAAC,WAAW,CAAE,SAAChF,CAAC,CAAK,CAChC,IAAI8pB,kBAAkB,CAAG9pB,CAAC,CAAC+pB,KAAK,CAAE;AAClC,GAA0B,CAAC,EAAvBD,kBAAuB,EAAI,CAAAD,CAAAA,EAAAA,YAAqB,CAAE,CACrDA,YAAY,CAAA,CAAA,CAAO,CACnB,IAAIG,MAAM,CAAGhqB,CAAC,CAACiqB,KAAK,CACnBC,MAAM,CAAGlqB,CAAC,CAACmqB,KAAK,CACjBxlB,CAAC,CAACqN,QAAQ,CAAC,CAAChN,EAAE,CAAC,WAAW,CAAE,SAAChF,CAAC,CAAK,CAClC,GAAI,CAAA6pB,CAAAA,EAAAA,YAAoB,CAAE,CACzBllB,CAAC,CAAC,MAAM,CAAC,CAAC+H,QAAQ,CAAC,qBAAqB,CAAC,CACzC,IAAI0d,UAAU,CAAGJ,MAAM,CAAGhqB,CAAC,CAACiqB,KAAK;AAEhCI,cAAc,CAAG3lB,SAAS,CAACigB,SAAS,EAAE,CAEtC2F,UAAU,CAAGJ,MAAM,CAAGlqB,CAAC,CAACmqB,KAAK,CAC7BI,cAAc,CAAG7lB,SAAS,CAAC8lB,UAAU,EAAE,CAExC9lB,SAAS,CAACigB,SAAS,CAJN0F,cAAc,CAAGD,UAAU,CAAA,GAIX,CAAC,CAC9B1lB,SAAS,CAAC8lB,UAAU,CAFPD,cAAc,CAAGD,UAAU,CAEV,GAAA,EAC/B,CACD,CAAC,EACF,CACD,CAAC,CAAC,CACF5lB,SAAS,CAACM,EAAE,CAAC,SAAS,CAAE,UAAM,CAC7BL,CAAC,CAAC,MAAM,CAAC,CAACmW,WAAW,CAAC,qBAAqB,CAAC,CAC5C+O,YAAY,CAAA,CAAA,EACb,CAAC,EACF,CAAC;AAEF;AACA,IACC3e,UAAU,CAAE,SAAAA,UAAAA,CAAU9J,GAAG,CAAE,CAAA,OACtBA,GAAG,IAAIqpB,IAAI,CACPA,IAAI,CAACrpB,GAAG,CAAC,CAEVA,GACR,CAAC;AAEF;AACA,IACCspB,UAAU,CAAE,SAAAA,UAAUtpB,CAAAA,GAAG,CAAE;AAE1B,OAAO,KAAK,CAAGA,GAChB,CAAC,CACDupB,QAAQ,CAAE,SAAAA,QAAAA,CAAUvpB,GAAG,CAAE,CAExB,OADAA,GAAG,CAAG,IAAI,CAACspB,UAAU,CAACtpB,GAAG,CAAC,CACnBwpB,KAAK,CAAChZ,GAAG,CAACxQ,GAAG,CACrB,CAAC,CACDikB,QAAQ,CAAE,SAAAA,QAAUjkB,CAAAA,GAAG,CAAEC,KAAK,CAAE,CAC/BD,GAAG,CAAG,IAAI,CAACspB,UAAU,CAACtpB,GAAG,CAAC,CAC1BwpB,KAAK,CAACC,GAAG,CAACzpB,GAAG,CAAEC,KAAK,EACrB,CAAC,CACDypB,UAAU,CAAE,SAAAA,UAAAA,CAAU1pB,GAAG,CAAE,CAE1B,OADAA,GAAG,CAAG,IAAI,CAACspB,UAAU,CAACtpB,GAAG,CAAC,CACnBwpB,KAAK,CAACte,MAAM,CAAClL,GAAG,CACxB,CAAC,CACD2pB,cAAc,CAAE,SAAAA,cAAU3pB,CAAAA,GAAG,CAAEC,KAAK,CAAE,CACrC,IAAM2pB,MAAM,CAAG5pB,GAAG,CAClBA,GAAG,CAAG,IAAI,CAACmH,aAAa,EAAE,CAAG,GAAG,CAAGnH,GAAG,CACtC,IAAI,CAACikB,QAAQ,CAACjkB,GAAG,CAAEC,KAAK,CAAC,KAEnB4pB,QAAQ,CAAG,QAAQ,CAAG,IAAI,CAAC1iB,aAAa,EAAE,CAC5C5B,WAAW,CAAG,IAAI,CAACgkB,QAAQ,CAACM,QAAQ,CAAC,CAExCtkB,WAAW,CADO,IAAI,EAAnBA,WAAmB,CACR,EAAE,CAEFA,WAAW,CAAC0Y,KAAK,CAAC,GAAG,CAAC,CAErC1Y,WAAW,CAAClG,IAAI,CAACuqB,MAAM,CAAC,CACxB,IAAI,CAAC3F,QAAQ,CAAC4F,QAAQ,CAAE5H,gBAAgB,CAAC6H,MAAM,CAACvkB,WAAW,CAAC,CAACmc,IAAI,CAAC,GAAG,CAAC,EACvE,CAAC,CACDqI,cAAc,CAAE,SAAAA,eAAU/pB,GAAG,CAAE,CAC9B,OAAO,IAAI,CAACupB,QAAQ,CAAC,IAAI,CAACpiB,aAAa,EAAE,CAAG,GAAG,CAAGnH,GAAG,CACtD,CAAC,CACDgqB,eAAe,CAAE,SAAAA,iBAAY,CAC5B,IAAM5W,OAAO,CAAG,IAAI,CAACmW,QAAQ,CAAC,QAAQ,CAAG,IAAI,CAACpiB,aAAa,EAAE,CAAC,CAAC,OAC3DiM,OAAO,CACHA,OAAO,CAAC6K,KAAK,CAAC,GAAG,CAAC,CAEnB,EACR,CAAC,CACDgM,gBAAgB,CAAE,SAAAA,gBAAA,EAAe,KAC5BvL,YAAY,CAAG,IAAI,CACnB/X,UAAU,CAAG,IAAI,CAACQ,aAAa,EAAE,CACjC0iB,QAAQ,CAAG,QAAQ,CAAGljB,UAAU,CAChCpB,WAAW,CAAG,IAAI,CAACgkB,QAAQ,CAACM,QAAQ,CAAC,CAExCtkB,WAAW,CADO,IAAI,EAAnBA,WAAmB,CACR,EAAE,CAEFA,WAAW,CAAC0Y,KAAK,CAAC,GAAG,CAAC,CAErC1a,CAAC,CAAC6H,IAAI,CAAC7F,WAAW,CAAE,SAAUkG,KAAK,CAAExL,KAAK,CAAE,CAC3Cye,YAAY,CAACgL,UAAU,CAAC/iB,UAAU,CAAG,GAAG,CAAG1G,KAAK,EACjD,CAAC,CAAC,CACFye,YAAY,CAACgL,UAAU,CAACG,QAAQ,EACjC,CAAC,CACDK,UAAU,CAAE,SAAAA,UAAAA,CAAUjqB,KAAK,CAAE,CAAA,OACxBA,KAAK,CACDsD,CAAC,CAAC,SAAS,CAAC,CAAC+G,IAAI,CAACrK,KAAK,CAAC,CAAC4H,IAAI,EAAE,CAE/B,EAET,CAAC,CACDsiB,UAAU,CAAE,SAAAA,UAAAA,CAAUlqB,KAAK,CAAE,CAAA,OACxBA,KAAK,CACDsD,CAAC,CAAC,SAAS,CAAC,CAACsE,IAAI,CAAC5H,KAAK,CAAC,CAACqK,IAAI,EAAE,CAE/B,EAET,CAAC;AAEF;AACA;AACA,IACC8f,aAAa,CAAE,SAAAA,aAAU1kB,CAAAA,OAAO,CAAE,CACjCA,OAAO,CAACsI,GAAG,CAAC,UAAU,CAAE,UAAU,CAAC,CACnCtI,OAAO,CAACsI,GAAG,CAAC,KAAK,CAAE,CAACzK,CAAC,CAACL,MAAM,CAAC,CAACoZ,MAAM,EAAE,CAAG5W,OAAO,CAAC2kB,WAAW,EAAE,EAAI,CAAC,CAAG9mB,CAAC,CAACL,MAAM,CAAC,CAACqgB,SAAS,EAAE,CAAG,IAAI,CAAC,CACnG7d,OAAO,CAACsI,GAAG,CAAC,MAAM,CAAE,CAACzK,CAAC,CAACL,MAAM,CAAC,CAACyW,KAAK,EAAE,CAAGjU,OAAO,CAAC4kB,UAAU,EAAE,EAAI,CAAC,CAAG/mB,CAAC,CAACL,MAAM,CAAC,CAACkmB,UAAU,EAAE,CAAG,IAAI,EACnG,CAAC,CACDmB,0BAA0B,CAAE,SAAAA,0BAAA,EAAyB,CACpD,OAAOxrB,MAAM,CAAC2O,MAAM,CAAC,EAAE,CAAE5H,GAAG,CAAC8b,uBAAuB,CACrD,CAAC;AAEF;AACA;AACA,IACC4I,mBAAmB,CAAE,SAAAA,mBAAA,EAAY,CAChCjnB,CAAC,CAACqN,QAAQ,CAAC,CAACrH,OAAO,CAAC,eAAe,EACpC,CAAC;AAEF;AACA,IACCkhB,mBAAmB,CAAE,SAAAA,oBAAUlc,QAAQ,CAAE,CACxChL,CAAC,CAACqN,QAAQ,CAAC,CAAChN,EAAE,CAAC,eAAe,CAAE2K,QAAQ,EACzC,CAAC;AAEF;AACA,IACCmc,aAAa,CAAE,SAAAA,aAAAA,CAAUC,EAAE,CAAE,CAC5B,IAAK,IAAIC,CAAC,IAAID,EAAE,CACfpnB,CAAC,CAACqnB,CAAC,CAAC,CAAC3lB,GAAG,CAAC0lB,EAAE,CAACC,CAAC,CAAC,EAEhB,CAAC;AAEF;AACA,IACCC,iBAAiB,CAAE,SAAAA,iBAAAA,EAAY,CAC9B,GAAI3nB,MAAM,CAAC4nB,cAAc,CACxB,OAAO5nB,MAAM,CAAC4nB,cAAc,CAC5B,IACKnkB,UAAU,CAAGb,GAAG,CAACqB,aAAa,EAAE,CAChC8E,IAAI,CAAGnG,GAAG,CAACkB,WAAW,EAAE,CACxB+jB,YAAY,CAAGjlB,GAAG,CAACoB,mBAAmB,EAAE,CAC1CqB,eAAe,CAAGwiB,YAAY,CAAG,GAAG,CAAGpkB,UAAU,CAAG,GAAG,CAAGsF,IAAI,CAAG,KAAK,CACnC,WAAW,EAA9C,OAAO/I,MAAM,CAACqF,eAAe,CAAiB,GACjDA,eAAe,CAAGwiB,YAAY,CAAG,UAAU,CAAG9e,IAAI,CAAG,KAAK,CAAA,CAEpB,WAAW,EAA9C,OAAO/I,MAAM,CAACqF,eAAe,CAAiB,GACjDA,eAAe,CAAG5B,UAAU,CAAG,GAAG,CAAGsF,IAAI,CAAG,KAAK,CAAA,CAElD,IAAI+e,aAAa,CAAGznB,CAAC,CAAC,gBAAgB,CAAC,CAAC0B,GAAG,EAAE,CAO7C,GANuC,WAAW,EAA9C,OAAO/B,MAAM,CAACqF,eAAe,CAAiB,EAAI,IAAA,EAAAyiB,aAA0B,GAC/EziB,eAAe,CAAGyiB,aAAa,CAAG,GAAG,CAAG/e,IAAI,CAAG,KAAK,CAEd,CAAA,WAAW,EAA9C,OAAO/I,MAAM,CAACqF,eAAe,CAAiB,GACjDA,eAAe,CAAG,SAAS,CAAG0D,IAAI,CAAG,KAAK,CAEJ,CAAA,WAAW,EAA9C,OAAO/I,MAAM,CAACqF,eAAe,CAAiB,CAAE,CACnD,GAAuC,UAAU,EAA7C,OAAOrF,MAAM,CAACqF,eAAe,CAAgB,CAChD,OAAQrF,MAAM,CAAC4nB,cAAc,CAAG,IAAI5nB,MAAM,CAACqF,eAAe,CAAG,CAE9D,GAAuC,QAAQ,GAAA9K,OAAA,CAApCyF,MAAM,CAACqF,eAAe,CAAC,CAAa,CAC9C,OAAQrF,MAAM,CAAC4nB,cAAc,CAAG5nB,MAAM,CAACqF,eAAe,CAExD,CACA,IAAI0iB,mBAAmB,CAAGF,YAAY,CAAG,GAAG,CAAGpkB,UAAU,CAAmB,WAAA,CAC5E,GAA2C,WAAW,EAAlD,OAAOzD,MAAM,CAAC+nB,mBAAmB,CAAiB,CAAE,CACvD,GAA2C,UAAU,EAAjD,OAAO/nB,MAAM,CAAC+nB,mBAAmB,CAAgB,CACpD,OAAQ/nB,MAAM,CAAC4nB,cAAc,CAAG,IAAI5nB,MAAM,CAAC+nB,mBAAmB,CAAG,CAElE,GAA2C,QAAQ,GAAAxtB,OAAA,CAAxCyF,MAAM,CAAC+nB,mBAAmB,CAAC,CAAa,CAClD,OAAQ/nB,MAAM,CAAC4nB,cAAc,CAAG5nB,MAAM,CAAC+nB,mBAAmB,CAE5D,CACD,CAAC;AAEF;AACA,IACCC,eAAe,CAAE,SAAAA,eAAAA,CAAUjrB,KAAK,CAAE,CACjC,OAAOsD,CAAC,CAAC,aAAa,CAAC,CAACsE,IAAI,CAAC5H,KAAK,CAAC,CAACqK,IAAI,EACzC,CAAC,CACD6gB,SAAS,CAAE,SAAAA,SAAUC,CAAAA,MAAM,CAAE,CACxB,IAAAC,OAAO,CAAGza,QAAQ,CAAC0a,MAAM,CACzBC,OAAO,CAAGF,OAAO,CAACtV,OAAO,CAAC,GAAG,CAAGqV,MAAM,CAAG,GAAG,CAAC,CAIjD,GAHgB,CAAC,CAAC,GAAdG,OAAc,GACjBA,OAAO,CAAGF,OAAO,CAACtV,OAAO,CAACqV,MAAM,CAAG,GAAG,CAAC,CAExB,CAAA,CAAC,CAAC,GAAdG,OAAc,CACjBF,OAAO,CAAG,IAAI,MACR,CACNE,OAAO,CAAGF,OAAO,CAACtV,OAAO,CAAC,GAAG,CAAEwV,OAAO,CAAC,CAAG,CAAC,CAC3C,IAAIC,KAAK,CAAGH,OAAO,CAACtV,OAAO,CAAC,GAAG,CAAEwV,OAAO,CAAC,CAC3B,CAAC,CAAC,GAAZC,KAAY,GACfA,KAAK,CAAGH,OAAO,CAAC5rB,MAAM,CAEvB4rB,CAAAA,OAAO,CAAGI,QAAQ,CAACJ,OAAO,CAACK,SAAS,CAACH,OAAO,CAAEC,KAAK,CAAC,EACrD,CACA,OAAOH,OACR,CAAC,CACDM,SAAS,CAAE,SAAAA,SAAAA,CAAUP,MAAM,CAAEnrB,KAAK,CAAE2rB,MAAM,CAAE,CAC3C,IAAIC,MAAM,CAAG,IAAIzM,IAAM,CACvByM,MAAM,CAACC,OAAO,CAACD,MAAM,CAACE,OAAO,EAAE,CAAGH,MAAM,CAAC,CACzC,IAAIP,OAAO,CAAGW,MAAM,CAAC/rB,KAAK,CAAC,EAAc,IAAI,EAAd2rB,MAAc,CAAG,EAAE,CAAG,YAAY,CAAGC,MAAM,CAACI,WAAW,EAAE,CAAC,CACzFrb,QAAQ,CAAC0a,MAAM,CAAGF,MAAM,CAAG,GAAG,CAAGC,QAClC,CAAC,CACDa,SAAS,CAAE,SAAAA,UAAUC,OAAO,CAAE,CAS7B,OARa,SAATC,MAAMA,EAAe,CACxB,IAAIC,IAAI,CAAG,EAAE,CAIb,OAHAnpB,MAAM,CAAC0Y,QAAQ,CAAC1W,MAAM,CAACuV,OAAO,CAAC,yBAAyB,CAAE,SAAU6R,CAAC,CAAEtsB,GAAG,CAAEC,KAAK,CAAE,CAClFosB,IAAI,CAACrsB,GAAG,CAAC,CAAGC,MACb,CAAC,CAAC,CACKosB,IACR,CAAC,EAEc,CAACF,OAAO,CACxB,CAAC,CACDI,QAAQ,CAAE,SAAAA,SAAU/lB,IAAI,CAAEgmB,KAAK,CAAEC,WAAW,CAAE,CAAA,IACzCplB,SAAS,CAAG9D,CAAC,CAAC+D,QAAQ,EAAE,CACxBtB,MAAM,CAAG,EAAE,CAQf,GAPAA,MAAM,CAAAO,MAAU,CAAGT,GAAG,CAACqB,aAAa,EAAE,CACtCnB,MAAM,CAAAe,MAAU,CAAGjB,GAAG,CAACoB,mBAAmB,EAAE,CAC5ClB,MAAM,CAAA6R,MAAU,CAAG,UAAU,CACzBrR,IAAI,GACPR,MAAM,CAAAQ,IAAQ,CAAGA,IAAI,CAEtBR,CAAAA,MAAM,CAAAwmB,KAAS,CAAGA,KAAK,CACnB,MAAAC,WAAwB,CAC3B,IAAK,IAAIjsB,CAAC,IAAIisB,WAAW,CACxBzmB,MAAM,CAACxF,CAAC,CAAC,CAAGisB,WAAW,CAACjsB,CAAC,CAAC,CAU5B,OAPAmH,YAAY,CAACC,OAAO,CAAC5B,MAAM,CAAC,CAC1BpF,IAAI,CAAC,SAAUkD,IAAI,CAAE,CACrBuD,SAAS,CAACI,OAAO,CAAC3D,IAAI,EACvB,CAAC,CAAC,CACD2G,IAAI,CAAC,SAAUqB,UAAU,CAAEnB,WAAW,CAAE,CACxCtD,SAAS,CAAC0E,MAAM,CAACD,UAAU,CAAEnB,WAAW,EACzC,CAAC,CAAC,CACItD,SAAS,CAACK,OAAO,EACzB,CAAC;AAEF;AACA;AACA,IACCglB,qBAAqB,CAAA,SAAAA,qBAAC7jB,CAAAA,IAAI,CAAE,CAC3B,IAAK,IAAIrI,CAAC,CAAG,CAAC,CAAEA,CAAC,CAAGqI,IAAI,CAACwe,QAAQ,CAAC5nB,MAAM,CAAEe,CAAC,EAAE,CACd,MAAM,GAAhCqI,IAAI,CAACwe,QAAQ,CAAC7mB,CAAC,CAAC,CAAC+J,IAAe,EACJ,EAAE,GAA7B1B,IAAI,CAACwe,QAAQ,CAAC7mB,CAAC,CAAC,CAACP,KAAY,EAChC4I,IAAI,CAACwe,QAAQ,CAAC7mB,CAAC,CAAC,CAACmsB,UAAU,CAACC,WAAW,CAAC/jB,IAAI,CAACwe,QAAQ,CAAC7mB,CAAC,CAAC,EAI5D,CAAC,CACDiX,aAAa,CAAE,SAAAA,aAAU+U,CAAAA,KAAK,CAAEK,IAAI,CAAE,CACrC,GAAIL,KAAK,IAAI3lB,MAAM,CAClB,OAAOA,MAAM,CAAC2lB,KAAK,CAAC,CAEjB,KAAA,CAAA,GAAA1mB,GAAG,CAACmR,WAAW,CAACuV,KAAK,CAAe,GACvC1mB,GAAG,CAACmR,WAAW,CAACuV,KAAK,CAAC,CAAGjpB,CAAC,CAAC,GAAG,CAAGipB,KAAK,CAAC,CAACvnB,GAAG,EAAE,EAE9C,IAAIhF,KAAK,CAAG6F,GAAG,CAACmR,WAAW,CAACuV,KAAK,CAAC,CAQlC,OAPIK,IAAI,GACH5sB,KAAK,CACRA,KAAK,CAAGkF,IAAI,CAACC,KAAK,CAACnF,KAAK,CAAC,CAEzBA,KAAK,CAAG,EAAE,CAAA,CAGLA,KACR,CAAC,CACD6sB,aAAa,CAAE,SAAAA,cAAUN,KAAK,CAAEvsB,KAAK,CAAE,CACtC6F,GAAG,CAACmR,WAAW,CAACuV,KAAK,CAAC,CAAGvsB,KAAK,CAC9BsD,CAAC,CAAC,GAAG,CAAGipB,KAAK,CAAC,CAACvnB,GAAG,CAAChF,KAAK,EACzB,CAAC,CACDgP,QAAQ,CAAE,SAAAA,QAAAA,CAAUD,KAAK,CAAEjO,GAAG,CAAE4J,WAAW,CAAE,CACvC9D,MAAM,CAACkmB,KAAK,GAGjBC,OAAO,CAACC,IAAI,CACX,2BAA2B,CAC3B,wGACD,CAAC,CACoB,QAAQ,GAAAxvB,OAAA,CAAlBuR,KAAK,CAAa,EAAIA,KAAK,CAACke,YAAY,GAClDle,KAAK,CAAGA,KAAK,CAACke,YAAY,CAAA,CAEN,QAAQ,GAAAzvB,OAAA,CAAlBuR,KAAK,CAAa,EAAIA,KAAK,CAACme,UAAU,GAChDne,KAAK,CAAGA,KAAK,CAACme,UAAU,CAErBne,CAAAA,KAAK,EACRge,OAAO,CAAChe,KAAK,CAACA,KAAK,CAAC,CAEjBjO,GAAG,EAAY,OAAO,GAAfA,GAAe,EACzBisB,OAAO,CAAChe,KAAK,CAACjO,GAAG,CAAC,CAEf4J,WAAW,EACdqiB,OAAO,CAAChe,KAAK,CAACrE,WAAW,CAAC,EAE5B,CAAC,CACDyiB,sBAAsB,CAAE,SAAAA,sBAAAA,CAAU9pB,SAAS,CAAE,CACnB,WAAW,EAAhC,OAAOA,SAAyB,GACnCA,SAAS,CAAGC,CAAC,CAAC,MAAM,CAAC,CAEtBD,CAAAA,SAAS,CAACM,EAAE,CAAC,OAAO,CAAE,sBAAsB,CAAE,SAAUhF,CAAC,CAAE,CAC1DA,CAAC,CAAC6G,cAAc,EAAE,CACd,IAAAC,OAAO,CAAGnC,CAAC,CAAC,IAAI,CAAC,CACjBO,IAAI,CAAG,CACVyC,MAAM,CAAEb,OAAO,CAAC5B,IAAI,CAAC,QAAQ,CAAC,CAC9ByO,MAAM,CAAE7M,OAAO,CAAC5B,IAAI,CAAC,QAAQ,CAAC,CAC9BupB,aAAa,CAAE,MAChB,CAAC,CACG3nB,OAAO,CAAC5B,IAAI,CAAC,QAAQ,CAAC,EACzBP,CAAC,CAAC+W,MAAM,CAACxW,IAAI,CAAE4B,OAAO,CAAC5B,IAAI,CAAC,QAAQ,CAAC,CAAC,CAEvCP,CAAC,CAAC6H,IAAI,CAAC,CAAC,iBAAiB,CAAE,YAAY,CAAE,YAAY,CAAE,YAAY,CAAE,gBAAgB,CAAC,CAAE,SAAUK,KAAK,CAAExL,KAAK,CAAE,CAC3GyF,OAAO,CAAC5B,IAAI,CAAC7D,KAAK,CAAC,GACtB6D,IAAI,CAAC7D,KAAK,CAAC,CAAGyF,OAAO,CAAC5B,IAAI,CAAC7D,KAAK,CAAC,EAEnC,CAAC,CAAC,CACFgD,GAAG,CAACE,UAAU,CAAC6I,SAAS,CAACvF,SAAS,CAAC3C,IAAI,CAAE4B,OAAO,EACjD,CAAC,EACF,CAAC,CACD4nB,aAAa,CAAE,SAAAA,aAAAA,CAAUhqB,SAAS,CAAE,CACV,WAAW,EAAhC,OAAOA,SAAyB,GACnCA,SAAS,CAAGC,CAAC,CAAC,MAAM,CAAC,CAAA,CAEtBD,SAAS,CACPkU,GAAG,CAAC,OAAO,CAAE,+CAA+C,CAAC,CAC7D5T,EAAE,CAAC,OAAO,CAAE,+CAA+C,CAAE,SAAUhF,CAAC,CAAE,CAC1EA,CAAC,CAAC6G,cAAc,EAAE,CAAA,IACd6e,cAAc,CAAG/gB,CAAC,CAAC3E,CAAC,CAACkM,aAAa,CAAC,CACnClF,GAAG,CAAG0e,cAAc,CAACxgB,IAAI,CAAC,KAAK,CAAC,CAEpC,GAAmB,WAAW,EAA1B,OAAO8B,GAAmB,CAAE,CAC3B0e,cAAc,CAACtgB,QAAQ,CAAC,oBAAoB,CAAC,EAChDsgB,cAAc,CAACxL,OAAO,CAAC,MAAM,CAAC,CAE3BwL,cAAc,CAACtgB,QAAQ,CAAC,iBAAiB,CAAC,EAC7CsgB,cAAc,CAAC5Y,IAAI,CAAC,UAAU,CAAM,CAAA,CAAA,CAAC,CAEtC,IAAI6hB,iBAAiB,CAAG,CACvB3nB,GAAG,CAAEA,GAAG,CACRgN,EAAE,CAAE,SAAAA,EAAAA,CAAUtP,SAAS,CAAE,CACxB,IAAIpC,IAAI,CAAGojB,cAAc,CAACxgB,IAAI,CAAC,IAAI,CAAC,CACpC,GAAoB,WAAW,EAA3B,OAAO5C,IAAoB,CAC9B,GAA0B,CAAC,CAAC,GAAxBA,IAAI,CAAC6U,OAAO,CAAC,GAAG,CAAQ,CAAE,CAC7B,IAAIyX,WAAW,CAAGtsB,IAAI,CAAC+c,KAAK,CAAC,GAAG,CAAC,CAAC,CACI,QAAQ,GAAAxgB,OAAA,CAAnCyF,MAAM,CAACsqB,WAAW,CAAC,CAAC,CAAC,CAAC,CAAa,EAAsC,UAAU,EAA5C,OAAOtqB,MAAM,CAACsqB,WAAW,CAAC,CAAC,CAAC,CAAgB,GAC7FtqB,MAAM,CAACsqB,WAAW,CAAC,CAAC,CAAC,CAAC,CAACA,WAAW,CAAC,CAAC,CAAC,CAAC,CAAClqB,SAAS,CAAE1E,CAAC,EAErD,CAAC,KAC4B,UAAU,EAAlC,OAAOsE,MAAM,CAAChC,IAAI,CAAgB,EACrCgC,MAAM,CAAChC,IAAI,CAAC,CAACoC,SAAS,CAAE1E,CAAC,CAAC,CAI7B0lB,cAAc,CAACjZ,UAAU,CAAC,UAAU,EACrC,CACD,CAAC,CACGiZ,cAAc,CAACxgB,IAAI,CAAC,SAAS,CAAC,GACjCypB,iBAAiB,CAAApjB,EAAM,CAAGma,cAAc,CAACxgB,IAAI,CAAC,SAAS,CAAC,EAEzDgC,GAAG,CAACiC,eAAe,CAACwlB,iBAAiB,EACtC,CACA3uB,CAAC,CAACimB,eAAe,GAClB,CAAC,CAAC,CACHvhB,SAAS,CAACkU,GAAG,CAAC,OAAO,CAAE,wBAAwB,CAAC,CAAC5T,EAAE,CAAC,OAAO,CAAE,wBAAwB,CAAE,SAAUhF,CAAC,CAAE,CACnGA,CAAC,CAAC6G,cAAc,EAAE,CAAA,IACd6e,cAAc,CAAG/gB,CAAC,CAAC3E,CAAC,CAACkM,aAAa,CAAC,CACnC4P,OAAO,CAAG4J,cAAc,CAACxgB,IAAI,CAAC,SAAS,CAAC,CACxC+G,KAAK,CAAG,EAAE,CACb4W,UAAU,CAAG,EAAE,CACZ6C,cAAc,CAACxgB,IAAI,CAAC,OAAO,CAAC,GAC/B+G,KAAK,CAAGyZ,cAAc,CAACxgB,IAAI,CAAC,OAAO,CAAC,CAEjCwgB,CAAAA,cAAc,CAACxgB,IAAI,CAAC,OAAO,CAAC,GAC/B2d,UAAU,CAAG6C,cAAc,CAACxgB,IAAI,CAAC,OAAO,CAAC,CAAA,CAE1CgC,GAAG,CAAC4a,aAAa,CAAC,CACjBlG,KAAK,CAAEiH,UAAU,CACjBZ,MAAM,CAAEhW,KAAK,CACbqW,IAAI,CAAExG,OACP,CAAC,CAAC,CACF9b,CAAC,CAACimB,eAAe,GAClB,CAAC,EACF,CAAC,CACD4I,SAAS,CAAE,SAAAA,SAAU5V,CAAAA,MAAM,CAAE,CAC5B,IAAM6V,YAAY,CAAG5nB,GAAG,CAAC2R,aAAa,CAAC,QAAQ,CAAC,CAChD,GAAIiW,YAAY,CAAAC,UAAc,CAAE,CAC/B,IAAMC,KAAK,CAAG,IAAIC,KAAK,CAAC/nB,GAAG,CAAC2R,aAAa,CAAC,gBAAgB,CAAC,CAAGiW,YAAY,CAAC7V,MAAM,CAAC,CAAC,CACnF+V,KAAK,CAACE,MAAM,CAAG,EAAG,CAClBF,KAAK,CAACG,IAAI,GACX,CACD,CAAC,CACDC,4BAA4B,CAAAA,SAAAA,4BAAAA,EAA0B,CAAA,IAAzB1qB,SAAS,CAAA,CAAA,CAAA9D,SAAA,CAAAC,MAAA,EAAAD,SAAA,CAAAA,CAAAA,CAAAA,GAAAA,KAAAA,CAAAA,CAAAA,SAAA,IAAG+D,CAAC,CAACqN,QAAQ,CAAC,CACnDtN,SAAS,CAACM,EAAE,CAAC,OAAO,CAAE,UAAU,CAAE,SAAChF,CAAC,CAAK,CACxCA,CAAC,CAAC6G,cAAc,EAAE,CAClB7G,CAAC,CAACimB,eAAe,EAAE,CACnB,IAAMoJ,GAAG,CAAG1qB,CAAC,CAAC3E,CAAC,CAACkM,aAAa,CAAC,CAC9BhF,GAAG,CAAC4a,aAAa,CAAC,CACjBlG,KAAK,CAAEyT,GAAG,CAACnqB,IAAI,CAAC,WAAW,CAAC,CAAGmqB,GAAG,CAACnqB,IAAI,CAAC,WAAW,CAAC,CAAG,kBAAkB,CACzE+c,MAAM,CAAE/a,GAAG,CAACgE,UAAU,CAAC,cAAc,CAAC,CACtCgX,UAAU,CAAE,kBAAkB,CAC9BG,SAAS,CAAE,wBAAwB,CACnCF,aAAa,CAAE,CACd,CAAEzW,IAAI,CAAExE,GAAG,CAACgE,UAAU,CAAC,WAAW,CAAC,CAAE2F,IAAI,CAAE,cAAc,CAAE+K,KAAK,CAAE,YAAY,CAAE1W,IAAI,CAAE,CAAEoqB,OAAO,CAAE,OAAQ,CAAE,CAAC,CAC5G,CACDtb,EAAE,CAAE,SAAAA,EAAAA,CAACzC,KAAK,CAAK,CACd,GAAI8d,GAAG,CAACnqB,IAAI,CAAC,QAAQ,CAAC,CAAE,KACnBmZ,MAAM,CAAGgR,GAAG,CAACE,QAAQ,CAAC,QAAQ,CAAC,CAC/BtkB,OAAO,CAAGoT,MAAM,CAACxD,KAAK,EAAE,CACxB5P,OAAO,CAAC,CAAC,CAAC,CAACukB,YAAY,CAAC,YAAY,CAAC,EACxCvkB,OAAO,CAAC6B,IAAI,CAAC,QAAQ,CAAE7B,OAAO,CAAC6B,IAAI,CAAC,YAAY,CAAC,CAAC,CAE/C,IAAA8W,QAAQ,CAAGvF,MAAM,CAAC1D,EAAE,CAAC,SAAS,CAAC,CAC/B+C,MAAM,CAAG,CAAC,CACd,GAAIW,MAAM,CAACnZ,IAAI,CAAC,QAAQ,CAAC,CAEvBwY,MAAM,CADuB,MAAM,GAAhCW,MAAM,CAACnZ,IAAI,CAAC,QAAQ,CAAY,CAC1BP,CAAC,CAACL,MAAM,CAAC,CAACoZ,MAAM,EAAE,CAAG,GAAG,CAExBW,MAAM,CAACnZ,IAAI,CAAC,QAAQ,CAAC,CAEzB,KAAA,CAAA,IAAAuqB,qBAAA,CACF7L,QAAQ,GACX3Y,OAAO,CAACmE,GAAG,CAAC,SAAS,CAAE,EAAE,CAAC,CAC1BiP,MAAM,CAACjP,GAAG,CAAC,SAAS,CAAE,EAAE,CAAC,CAAA,CAE1BsO,MAAM,CAAA,IAAA,IAAA+R,qBAAA,CAAGpR,MAAM,CAACE,QAAQ,EAAE,CAACb,MAAM,EAAE,CAAA+R,EAAAA,KAAAA,CAAAA,GAAAA,qBAAA,CAAAA,qBAAA,CAAIpR,MAAM,CAACE,QAAQ,EAAE,CAAC9X,IAAI,CAAC,MAAM,CAAC,CAACiX,MAAM,GAC7E,CACIA,MAAM,EACTzS,OAAO,CAACyS,MAAM,CAACA,MAAM,CAAC,CAEnBkG,QAAQ,EACXvF,MAAM,CAACjP,GAAG,CAAC,SAAS,CAAE,MAAM,CAAC,CAE9BmC,KAAK,CAAC9K,IAAI,CAAC,mBAAmB,CAAC,CAACwC,IAAI,CAACgC,OAAO,EAC7C,CAAC,KACAsG,KAAK,CAAC9K,IAAI,CAAC,mBAAmB,CAAC,CAACwC,IAAI,CAAComB,GAAG,CAAChkB,OAAO,CAAC,kBAAkB,CAAC,CAAC5E,IAAI,CAAC,cAAc,CAAC,CAACwC,IAAI,EAAE,EAElG,CACD,CAAC,EACF,CAAC,EACF,CAAC,CACD+X,oBAAoB,CAAA,SAAAA,oBAAClF,CAAAA,OAAO,CAAE,CAC7BA,OAAO,CAACrV,IAAI,CAAC,wBAAwB,CAAC,CAAC+F,IAAI,CAAC,UAAY,CACvD,IAAI6R,MAAM,CAAG1Z,CAAC,CAAC,IAAI,CAAC,CACpB0Z,MAAM,CAACrZ,EAAE,CAAC,MAAM,CAAE,UAAO,CACxBqZ,MAAM,CAACX,MAAM,CAACW,MAAM,CAACE,QAAQ,EAAE,CAAC9X,IAAI,CAAC,MAAM,CAAC,CAACiX,MAAM,EAAE,CAAG,EAAE,EAC3D,CAAC,EACF,CAAC,CAAC,CACF5B,OAAO,CAACrV,IAAI,CAAC,kBAAkB,CAAC,CAAC+F,IAAI,CAAC,UAAY,CACjD,IAAI6R,MAAM,CAAG1Z,CAAC,CAAC,IAAI,CAAC,CACpB0Z,MAAM,CAACrZ,EAAE,CAAC,MAAM,CAAE,UAAO,CACxB,IAAI0Y,MAAM,CAAGW,MAAM,CAACE,QAAQ,EAAE,CAAC9X,IAAI,CAAC,MAAM,CAAC,CAACiX,MAAM,EAAE,CAChDA,MAAM,EAAIA,MAAM,CAAGW,MAAM,CAACX,MAAM,EAAE,EACrCW,MAAM,CAACX,MAAM,CAACA,MAAM,CAAG,EAAE,EAE3B,CAAC,EACF,CAAC,EACF,CAAC,CACDgS,YAAY,CAAE,SAAAA,YAAAA,EAAY,CACzB,IAAM3qB,IAAI,CAAG,IAAI,CACjBA,IAAI,CAACib,QAAQ,CAAG,CAAE2P,IAAI,CAAE,EAAE,CAAEC,MAAM,CAAE,EAAE,CAAEC,IAAI,CAAE,EAAE,CAAEC,KAAK,CAAE,EAAE,CAAEC,KAAK,CAAE,EAAE,CAAEC,EAAE,CAAE,EAAG,CAAC,CAChFjrB,IAAI,CAACkrB,UAAU,CAAGtrB,CAAC,CAAC,iBAAiB,CAAC,CAACskB,KAAK,EAAE,CAC9ClkB,IAAI,CAACmrB,OAAO,CAAGvrB,CAAC,CAAC,aAAa,CAAC,CAACskB,KAAK,EAAE,CACvClkB,IAAI,CAACkrB,UAAU,CAACjrB,EAAE,CAAC,OAAO,CAAED,IAAI,CAACorB,aAAa,CAAC5gB,IAAI,CAACxK,IAAI,CAAC,CAAC,CAC1DJ,CAAC,CAAC,oDAAoD,CAAC,CAACK,EAAE,CAAC,OAAO,CAAE,SAAChF,CAAC,CAAK,CACtE+E,IAAI,CAACkrB,UAAU,CAAC,CAAC,CAAC,EAAIjwB,CAAC,CAACsD,MAAM,EAAIyB,IAAI,CAACmrB,OAAO,CAACzpB,IAAI,CAACzG,CAAC,CAACsD,MAAM,CAAC,CAACzC,MAAM,GACpEkE,IAAI,CAACmrB,OAAO,CAACzpB,IAAI,CAAC,QAAQ,CAAC,CAAC5F,MAAM,CACrCkE,IAAI,CAACqrB,WAAW,EAAE,CACRrrB,IAAI,CAACmrB,OAAO,CAAC9qB,QAAQ,CAAC,WAAW,CAAC,EAC5CL,IAAI,CAACsrB,YAAY,EAAE,EAErB,CAAC,CAAC,CACFtrB,IAAI,CAACmrB,OAAO,CAAClrB,EAAE,CAAC,YAAY,CAAED,IAAI,CAACqrB,WAAW,CAAC7gB,IAAI,CAACxK,IAAI,CAAC,CAAC,CAACC,EAAE,CAAC,YAAY,CAAED,IAAI,CAACsrB,YAAY,CAAC9gB,IAAI,CAACxK,IAAI,CAAC,CAAC,CACzGA,IAAI,CAACmrB,OAAO,CAACzpB,IAAI,CAAC,mBAAmB,CAAC,CAACzB,EAAE,CAAC,SAAS,CAAED,IAAI,CAACurB,eAAe,CAAC/gB,IAAI,CAACxK,IAAI,CAAC,CAAC,CACrFA,IAAI,CAACmrB,OAAO,CAAClrB,EAAE,CAAC,SAAS,CAAE,SAAChF,CAAC,CAAK,CAC7BA,CAAC,CAAC+pB,KAAK,EAAIhlB,IAAI,CAACib,QAAQ,CAAC4P,MAAM,GAClC7qB,IAAI,CAACsrB,YAAY,EAAE,CACftrB,IAAI,CAACkrB,UAAU,CAACtV,EAAE,CAAC,WAAW,CAAC,CAAE5V,IAAI,CAACkrB,UAAU,CAACM,KAAK,EAAE,CAE3D5rB,CAAC,CAAC,WAAW,CAAC,CACZkY,EAAE,CAACgK,QAAQ,CAACliB,CAAC,CAAC,WAAW,CAAC,CAACkI,KAAK,CAAC9H,IAAI,CAACmrB,OAAO,CAACzpB,IAAI,CAAC,WAAW,CAAC,CAACkb,IAAI,EAAE,CAAC,CAAC,CAAG,CAAC,CAAC,CAC7E4O,KAAK,EAAE,EAEZ,CAAC,CAAC,CACF5rB,CAAC,CAAC,qBAAqB,CAAC,CAACK,EAAE,CAAC,OAAO,CAAE,SAAChF,CAAC,CAAK,CACtC2E,CAAC,CAAC3E,CAAC,CAACkM,aAAa,CAAC,CAAC9G,QAAQ,CAAC,WAAW,CAAC,EAAKT,CAAC,CAAC3E,CAAC,CAACsD,MAAM,CAAC,CAAC+H,OAAO,CAAC,UAAU,CAAC,CAACxK,MAAM,GACvFyD,MAAM,CAAC0Y,QAAQ,CAAGrY,CAAC,CAAC3E,CAAC,CAACkM,aAAa,CAAC,CAACY,IAAI,CAAC,MAAM,CAAC,EAEnD,CAAC,CAAC,CACF/H,IAAI,CAACyrB,gBAAgB,GACtB,CAAC,CACDJ,WAAW,CAAE,SAAAA,WAAAA,EAAY,CACxB,IAAI,CAACF,OAAO,CAACxjB,QAAQ,CAAC,WAAW,CAAC,CAClC,IAAI,CAACujB,UAAU,CAACnjB,IAAI,CAAC,eAAe,GAAM,EAC3C,CAAC,CACDujB,YAAY,CAAE,SAAAA,YAAA,EAAY,CACzB,IAAI,CAACH,OAAO,CAACpV,WAAW,CAAC,WAAW,CAAC,CACrC,IAAI,CAACmV,UAAU,CAACnjB,IAAI,CAAC,eAAe,CAAO,CAAA,CAAA,EAC5C,CAAC,CACDqjB,aAAa,CAAE,SAAAA,aAAA,EAAY,CACtB,IAAI,CAACD,OAAO,CAAC9qB,QAAQ,CAAC,WAAW,CAAC,CACrC,IAAI,CAACirB,YAAY,EAAE,EAEnB,IAAI,CAACD,WAAW,EAAE,CAClB,IAAI,CAACF,OAAO,CAACzpB,IAAI,CAAC,6BAA6B,CAAC,CAACwiB,KAAK,EAAE,CAACsH,KAAK,EAAE,EAElE,CAAC,CACDC,gBAAgB,CAAE,SAAAA,gBAAAA,EAAY,CAAA,IACvBzrB,IAAI,CAAG,IAAI,CACb0rB,SAAS,CAAG1rB,IAAI,CAACmrB,OAAO,CAACzpB,IAAI,CAAC,eAAe,CAAC,CAC9CiqB,aAAa,CAAG3rB,IAAI,CAACmrB,OAAO,CAAC7kB,OAAO,CAAC,oBAAoB,CAAC,CAC9DolB,SAAS,CAACzrB,EAAE,CAAC,OAAO,CAAE,UAAM,CAC3B,IAAI2rB,QAAQ,CAAG,CAAC,CAChBD,aAAa,CAAC5V,WAAW,CAAC,mBAAmB,CAAC,CACV,GAAG,GAAnC2V,SAAS,CAAC3jB,IAAI,CAAC,WAAW,CAAS,EACtC6jB,QAAQ,CAAG,IAAI,CACfF,SAAS,CAAC3V,WAAW,CAAC,iBAAiB,CAAC,CACxC4V,aAAa,CAAChkB,QAAQ,CAAC,cAAc,CAAC,CACtC3H,IAAI,CAACmrB,OAAO,CAACtX,GAAG,CAAC,uBAAuB,CAAC,GAEzC6X,SAAS,CAAC/jB,QAAQ,CAAC,iBAAiB,CAAC,CACrCgkB,aAAa,CAAC5V,WAAW,CAAC,cAAc,CAAC,CACzC/V,IAAI,CAACmrB,OAAO,CAAClrB,EAAE,CAAC,YAAY,CAAED,IAAI,CAACqrB,WAAW,CAAC7gB,IAAI,CAACxK,IAAI,CAAC,CAAC,CAACC,EAAE,CAAC,YAAY,CAAED,IAAI,CAACsrB,YAAY,CAAC9gB,IAAI,CAACxK,IAAI,CAAC,CAAC,CACzGA,IAAI,CAACsrB,YAAY,CAAC9gB,IAAI,CAACxK,IAAI,CAAC,CAE7BgE,CAAAA,YAAY,CAACC,OAAO,CAAC,CACpBrB,MAAM,CAAE,OAAO,CACfsR,MAAM,CAAE,UAAU,CAClBkL,KAAK,CAAE,eAAe,CACtBxQ,MAAM,CAAE1L,MAAM,CAAC2oB,MAAM,CACrBvvB,KAAK,CAAEsvB,QACR,CAAC,CAAC,CAAC3uB,IAAI,CAAC,SAAUmhB,YAAY,CAAE,CAC3BA,YAAY,CAAC3X,OAAO,EAAI2X,YAAY,CAAC1V,MAAM,EAC9CgjB,SAAS,CAAC3jB,IAAI,CAAC,WAAW,CAAE6jB,QAAQ,EAEtC,CAAC,CAAC,CACFxqB,UAAU,CAAC,UAAM,CAChBuqB,aAAa,CAAChkB,QAAQ,CAAC,mBAAmB,EAC3C,CAAC,CAAE,GAAG,EACP,CAAC,EACF,CAAC,CACD4jB,eAAe,CAAE,SAAAA,eAAUtwB,CAAAA,CAAC,CAAE,CAC7B,IAAIsD,MAAM,CAAGqB,CAAC,CAAC3E,CAAC,CAACsD,MAAM,CAAC,CACxB,GAAItD,CAAC,CAAC+pB,KAAK,EAAI,IAAI,CAAC/J,QAAQ,CAAC6P,IAAI,CAAE,CAClC,GAAIvsB,MAAM,CAAC8B,QAAQ,CAAC,oBAAoB,CAAC,EAAI,CAAC9B,MAAM,CAAC8B,QAAQ,CAAC,WAAW,CAAC,CAEzE,OADA9B,MAAM,CAAC+gB,KAAK,EAAE,CAGd,CAAA,CAAA,CAAA,IAAIwM,OAAO,CAAGlsB,CAAC,CAAC3E,CAAC,CAACsD,MAAM,CAAC,CAAC+H,OAAO,CAAC,aAAa,CAAC,CAACylB,IAAI,CAAC,qBAAqB,CAAC,CAC5E,GAAID,OAAO,CAAChwB,MAAM,EAAI,CAACgwB,OAAO,CAACzrB,QAAQ,CAAC,WAAW,CAAC,CAEnD,OADAyrB,OAAO,CAACxM,KAAK,EAAE,CAACkM,KAAK,EAAE,CAI1B,CAAA,CAAA,CAAC,MAAM,GACLjtB,MAAM,CAAC8B,QAAQ,CAAC,oBAAoB,CAAC,EAAIpF,CAAC,CAAC+pB,KAAK,EAAI,IAAI,CAAC/J,QAAQ,CAAC8P,KAAK,EAAIxsB,MAAM,CAAC8B,QAAQ,CAAC,WAAW,CAAC,EACvG9B,MAAM,CAAC8B,QAAQ,CAAC,oBAAoB,CAAC,EAAIpF,CAAC,CAAC+pB,KAAK,EAAI,IAAI,CAAC/J,QAAQ,CAAC+P,KAAM,CAGzE,OADAzsB,MAAM,CAAC+gB,KAAK,EAAE,CAER,CAAA,CAAA,CAAA,GAAIrkB,CAAC,CAAC+pB,KAAK,EAAI,IAAI,CAAC/J,QAAQ,CAACgQ,EAAE,CAKrC,OAJA,IAAI,CAACE,OAAO,CACVzpB,IAAI,CAAC,6BAA6B,CAAC,CACnCoW,EAAE,CAACgK,QAAQ,CAAC,IAAI,CAACqJ,OAAO,CAACzpB,IAAI,CAAC,6BAA6B,CAAC,CAACoG,KAAK,CAACvJ,MAAM,CAAC,CAAC,CAAG,CAAC,CAAC,CAChFitB,KAAK,EAAE,CAAA,CAAA,CAAA,CAEH,GAAIvwB,CAAC,CAAC+pB,KAAK,EAAI,IAAI,CAAC/J,QAAQ,CAAC2P,IAAI,CAKvC,OAJI,IAAA,CAACO,OAAO,CACVzpB,IAAI,CAAC,6BAA6B,CAAC,CACnCoW,EAAE,CAACgK,QAAQ,CAAC,IAAI,CAACqJ,OAAO,CAACzpB,IAAI,CAAC,6BAA6B,CAAC,CAACoG,KAAK,CAACvJ,MAAM,CAAC,CAAC,CAAG,CAAC,CAAC,CAChFitB,KAAK,EAAE,CAET,CAAA,CAAA,CACF,CAAC,CACDQ,eAAe,CAAE,SAAAA,eAAA,EAAY,CAC5B,IAAIC,IAAI,CAAGrsB,CAAC,CAAC,aAAa,CAAC,CAC3B,GAAKqsB,IAAI,CAACnwB,MAAM,CAChB,CAAA,IAAIowB,GAAG,CAAGD,IAAI,CAACvqB,IAAI,CAAC,MAAM,CAAC,CAC3BwqB,GAAG,CAACzkB,IAAI,CAAC,UAAY,CACpB7H,CAAC,CAAC,IAAI,CAAC,CAACmW,WAAW,CAAC,QAAQ,EAC7B,CAAC,CAAC,CACFkW,IAAI,CAACE,OAAO,CAAC,CACZxlB,IAAI,CAAExE,GAAG,CAACgE,UAAU,CAAC,SAAS,CAC/B,CAAC,CAAC,CACF;AACA,IAAIimB,QAAQ,CAAGH,IAAI,CAACvqB,IAAI,CAAC,eAAe,CAAC,CACzC0qB,QAAQ,CAACtX,QAAQ,CAACmX,IAAI,CAAC,CAEvBC,GAAG,CAACjsB,EAAE,CAAC,OAAO,CAAE,UAAa,CAC5BmB,UAAU,CAAC,UAAY,CACtBxB,CAAC,CAACL,MAAM,CAAC,CAACqG,OAAO,CAAC,QAAQ,EAC3B,CAAC,CAAE,GAAG,EACP,CAAC,CAAC,CACFhG,CAAC,CAACL,MAAM,CAAC,CAACqG,OAAO,CAAC,QAAQ,EAAC,CAC5B,CAAC,CACDymB,eAAe,CAAE,SAAAA,eAAUC,CAAAA,UAAU,CAAE,CAItC,OAH0B,WAAW,EAAjC,OAAOA,UAA0B,GACpCA,UAAU,CAAG,GAAG,CAAA,CAET1sB,CAAC,CAACL,MAAM,CAAC,CAACoZ,MAAM,EAAE,CAAG2T,UAAU,CAAI,GAC5C,CAAC,CACDC,oBAAoB,CAAE,SAAAA,oBAAA,EAAY,CACjCvoB,YAAY,CAACC,OAAO,CAAC,CACpBrB,MAAM,CAAE,MAAM,CACdsR,MAAM,CAAE,iBACT,CAAC,CAAC,CAACjX,IAAI,CAAC,UAAoB,CAC3B2C,CAAC,CAAC,cAAc,CAAC,CAACsE,IAAI,CAAAyL,+DAAAA,CAAAA,MAAA,CACqCxN,GAAG,CAACgE,UAAU,CAAC,eAAe,CAAC,CAC1F,MAAA,CAAA,EACD,CAAC,EACF,CAAC;AAEF;AACA;AACA,IACCqmB,OAAO,CAAA,SAAAA,OAACvqB,CAAAA,GAAG,CAAE,CACiB,cAAc,GAAvCiB,MAAM,CAACupB,aAAgC,CAC1CltB,MAAM,CAAC6D,MAAM,CAAC6U,QAAQ,CAACJ,IAAI,CAAG5V,GAAG,CAEjC1C,MAAM,CAAC0Y,QAAQ,CAACJ,IAAI,CAAG5V,IAEzB,CAAC;AAEF;AACA;AACA;AACA,IACCyqB,SAAS,CAAAA,SAAAA,SAAAA,CAACrqB,MAAM,CAAE,CACjB,IAAIsqB,OAAO,CAAG,EAAE,CAiBhB,GAhBItqB,MAAM,CAAClC,IAAI,EAAsC,WAAW,EAA7C,OAAOkC,MAAM,CAAClC,IAAI,CAACysB,UAA0B,GAC/DD,OAAO,CAAGtqB,MAAM,CAAClC,IAAI,CAACysB,UAAU,CAEjB,CAAA,EAAE,GAAdD,OAAc,CACbtqB,MAAM,CAAClC,IAAI,CACY,QAAQ,EAA9B,OAAOkC,MAAM,CAAClC,IAAgB,CACjCwsB,OAAO,CAAG,YAAY,CAAGtqB,MAAM,CAAClC,IAAI,CAEpCwsB,OAAO,CAAG,YAAY,CAAG/sB,CAAC,CAACipB,KAAK,CAACxmB,MAAM,CAAClC,IAAI,CAAC,CAElB,QAAQ,GAAArG,OAAA,CAAnBuI,MAAM,CAAa,GACpCsqB,OAAO,CAAG,YAAY,CAAG/sB,CAAC,CAACipB,KAAK,CAACxmB,MAAM,CAAC,CAEG,CAAA,CAAC,CAAC,GAApCsqB,OAAO,CAACva,OAAO,CAAC,YAAY,CAAQ,GAC9Cua,OAAO,CAAG,YAAY,CAAGA,OAAO,CAE7BxqB,CAAAA,GAAG,CAACoS,WAAW,EAAE,EAAIsY,OAAO,EAAIA,OAAO,CAACC,SAAS,EAAgB,EAAE,GAAdH,OAAc,CAAE,CACxE,GAAI,CAACE,OAAO,CAAC1e,KAAK,CAAE,CACnB,IAAI4e,WAAW,CAAGxtB,MAAM,CAAC0Y,QAAQ,CAACJ,IAAI,CACtCgV,OAAO,CAACG,YAAY,CAACD,WAAW,CAAE,SAAS,CAAEA,WAAW,EACzD,CACAF,OAAO,CAACC,SAAS,CAACH,OAAO,CAAE,SAAS,CAAEA,OAAO,EAC9C,CACD,CAAC;AAEF;AACA;AACA;AACA;AACA;AACA,IACCvqB,kBAAkB,CAAAA,SAAAA,kBAAAA,CAACH,GAAG,CAAE,CACvB,IAAIC,SAAS,CAAG,EAAE,CAUlB,OATkC,CAAC,CAAC,GAAhCD,GAAG,CAACmQ,OAAO,CAAC,YAAY,CAAQ,GACnCnQ,GAAG,CAAGA,GAAG,CAACqY,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAEjCrY,CAAAA,GAAG,CAACqY,KAAK,CAAC,GAAG,CAAC,CAACve,OAAO,CAAC,SAAC4X,EAAE,CAAK,CAC9B,GAAIA,EAAE,CAACsZ,QAAQ,CAAC,GAAG,CAAC,CAAE,CACrB,IAAIC,MAAM,CAAGvZ,EAAE,CAAC2G,KAAK,CAAC,GAAG,CAAC,CAC1BpY,SAAS,CAACgrB,MAAM,CAAC,CAAC,CAAC,CAAC,CAAGA,MAAM,CAAC,CAAC,EAChC,CACD,CAAC,CAAC,CACKhrB,SACR,CAAC;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,IACC6M,kBAAkB,UAAAA,kBAAA,EAAyC,KAAxCoe,OAAO,CAAAtxB,CAAAA,CAAAA,SAAA,CAAAC,MAAA,WAAAD,SAAA,CAAA,CAAA,CAAA,CAAAA,SAAA,CAAA,CAAA,CAAA,CAAG,EAAE,CAAEuxB,SAAS,CAAA,CAAA,CAAAvxB,SAAA,CAAAC,MAAA,EAAA,KAAA,CAAA,GAAAD,SAAA,CAAAA,CAAAA,CAAAA,CAAAA,SAAA,IAAG,YAAY,CACpDoG,GAAG,CAAGmrB,SAAS,CAYnB,OAXAhyB,MAAM,CAACC,IAAI,CAAC8xB,OAAO,CAAC,CAACpxB,OAAO,CAAC,SAACM,GAAG,CAAK,CACrC,IAAIC,KAAK,CAAG6wB,OAAO,CAAC9wB,GAAG,CAAC,CACH,QAAQ,GAAAvC,OAAA,CAAlBwC,KAAK,CAAa,EAAsB,QAAQ,EAAzB,OAAOA,KAAkB,EAAIA,KAAK,CAAC+wB,UAAU,CAAC,GAAG,CAAE,GAGjF,CAACprB,GAAG,CAACqrB,QAAQ,CAAC,GAAG,CAAC,EAAI,CAACrrB,GAAG,CAACqrB,QAAQ,CAAC,GAAG,CAAC,GAC3CrrB,GAAG,EAAI,GAAG,CAEXA,CAAAA,GAAG,EAAI5F,GAAG,CAAG,GAAG,CAAGkxB,kBAAkB,CAACjxB,KAAK,CAAC,EAC7C,CAAC,CAAC,CAEK2F,GACR,CAAC,CACDurB,gBAAgB,CAAE,SAAAA,gBAAAA,CAAUC,OAAO,CAA2D,CAAA,IAAzD7mB,IAAI,CAAA/K,CAAAA,CAAAA,SAAA,CAAAC,MAAA,EAAA,KAAA,CAAA,GAAAD,SAAA,CAAA,CAAA,CAAA,CAAAA,SAAA,CAAA,CAAA,CAAA,CAAG,OAAO,CAAE6xB,WAAW,CAAA7xB,CAAAA,EAAAA,CAAAA,CAAAA,SAAA,CAAAC,MAAA,WAAAD,SAAA,CAAA,CAAA,CAAA,CAAA,EAAAA,SAAA,CAAA,CAAA,CAAA,CAAU8xB,WAAW,CAAA,EAAA,CAAA,CAAA9xB,SAAA,CAAAC,MAAA,EAAAD,KAAAA,CAAAA,GAAAA,SAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAAA,SAAA,IAC9E+xB,KAAK,CAAY,OAAO,GAAhBhnB,IAAgB,CACxBinB,IAAI,CAAGrR,IAAI,CAACsR,KAAK,CAACL,OAAO,CAAC,CAC1BM,GAAG,CAAGvR,IAAI,CAACsR,KAAK,CAAoB,EAAE,EAApBL,OAAO,CAAGI,IAAI,CAAM,CAAC,CACvCG,GAAG,CAAGxR,IAAI,CAACyR,KAAK,CAAiC,EAAE,EAAd,EAAE,EAApBR,OAAO,CAAGI,IAAI,CAAM,CAAGE,GAAG,CAAM,CAAC,CACtDrlB,MAAM,CAAG,EAAE,CAgBf,OAfImlB,IAAI,GACPnlB,MAAM,EAAIklB,KAAK,CAAGC,IAAI,CAAG1rB,GAAG,CAACgE,UAAU,CAAC,MAAM,CAAC,CAAG,EAAA,CAAAwJ,MAAA,CAAGke,IAAI,CAAA,GAAA,CAAA,CAAM1rB,GAAG,CAACgE,UAAU,CAAC,WAAW,CAAC,CAAA,CAEvF,CAAC0nB,IAAI,EAAIE,GAAG,GAAKJ,WAAW,GAC/BjlB,MAAM,EAAIklB,KAAK,CAAG,GAAA,CAAAje,MAAA,CAAIoe,GAAG,CAAK5rB,CAAAA,GAAG,CAACgE,UAAU,CAAC,MAAM,CAAC,CAAG,GAAA,CAAAwJ,MAAA,CAAIoe,GAAG,CAAA,GAAA,CAAA,CAAM5rB,GAAG,CAACgE,UAAU,CAAC,WAAW,CAAC,CAAA,CAE5F,KAAAunB,WAAqB,GACxBhlB,MAAM,EAAIklB,KAAK,CAAG,GAAAje,CAAAA,MAAA,CAAIqe,GAAG,CAAK7rB,CAAAA,GAAG,CAACgE,UAAU,CAAC,MAAM,CAAC,CAAG,GAAA,CAAAwJ,MAAA,CAAIqe,GAAG,CAAM7rB,GAAAA,CAAAA,CAAAA,GAAG,CAACgE,UAAU,CAAC,WAAW,CAAC,CAE3F0nB,CAAAA,IAAI,EAAKE,GAAG,EAAI,CAAAL,CAAAA,GAAAA,WAAqB,EAAIC,CAAAA,WAAW,GACxDjlB,MAAM,EAAIklB,KAAK,CAAG,GAAG,CAAGzrB,GAAG,CAACgE,UAAU,CAAC,MAAM,CAAC,CAAG,IAAI,CAAGhE,GAAG,CAACgE,UAAU,CAAC,WAAW,CAAC,EAE/E0nB,IAAI,EAAKE,GAAG,EAAI,CAAAL,CAAAA,GAAAA,WAAqB,EAAKC,WAAW,GACzDjlB,MAAM,EAAIklB,KAAK,CAAG,GAAG,CAAGzrB,GAAG,CAACgE,UAAU,CAAC,MAAM,CAAC,CAAG,IAAI,CAAGhE,GAAG,CAACgE,UAAU,CAAC,WAAW,CAAC,CAE7EuC,CAAAA,MAAM,CAAC+F,IAAI,EACnB,CAAC,CACDyf,eAAe,CAAE,SAAAA,gBAAU7rB,MAAM,CAAE4M,EAAE,CAAEkf,cAAc,CAAE,CAChC,QAAQ,GAAAr0B,OAAA,CAAnBuI,MAAM,CAAa,EAAKA,MAAM,CAACiG,IAAI,GAC7CjG,MAAM,CAACiG,IAAI,CAAG,aAAa,CAAA,CAE5B,IAAI,CAAC8lB,oBAAoB,CAAC/rB,MAAM,CAAC,CAACpF,IAAI,CAAC,SAAUuP,KAAK,CAAE,CACzB,UAAU,EAApC,OAAO2hB,cAA6B,EACvCA,cAAc,CAAC3hB,KAAK,CAAC,CAEtBrK,GAAG,CAACyb,uBAAuB,CAAA,CAAA,CAAA,CAAQpR,KAAK,CAAEyC,EAAE,EAC7C,CAAC,EACF,CAAC;AAEF;AACA;AACA;AACA,IACCmf,oBAAoB,CAAE,SAAAA,oBAAU/rB,CAAAA,MAAM,CAAE,CACvC,IAAMqB,SAAS,CAAG9D,CAAC,CAAC+D,QAAQ,EAAE,CAU9B,OATAK,YAAY,CAACC,OAAO,CAAC5B,MAAM,CAAC,CAC1BpF,IAAI,CAAC,SAAUoxB,WAAW,CAAE,CAC5BlsB,GAAG,CAACiC,eAAe,CAACiqB,WAAW,CAAE,SAAU7hB,KAAK,CAAE,CACjD9I,SAAS,CAACI,OAAO,CAAC0I,KAAK,EACxB,CAAC,EACF,CAAC,CAAC,CACD1F,IAAI,CAAC,SAAUqB,UAAU,CAAEnB,WAAW,CAAE,CACxCtD,SAAS,CAAC0E,MAAM,CAACD,UAAU,CAAEnB,WAAW,EACzC,CAAC,CAAC,CACItD,SAAS,CAACK,OAAO,EACzB,CAAC;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IACCuqB,WAAW,CAAAA,SAAAA,WAAAA,CAACvsB,OAAO,CAAE6I,QAAQ,CAAwD,CAAA,IAAtDhB,OAAO,GAAA/N,SAAA,CAAAC,MAAA,EAAAD,KAAAA,CAAAA,GAAAA,SAAA,IAAAA,SAAA,CAAA,CAAA,CAAA,CAAG,CAAE0yB,SAAS,CAAE,WAAW,CAAEC,OAAO,CAAQ,CAAA,CAAA,CAAC,CAClFzsB,OAAO,CAAGnC,CAAC,CAACmC,OAAO,CAAC,CAAC8K,GAAG,CAAC,CAAC,CAAC,CAAE;AAC7B,IAAM0hB,SAAS,CAAG3kB,OAAO,CAAC2kB,SAAS,CAEnC,OADA,OAAO3kB,OAAO,CAAC2kB,SAAS,CACjBE,WAAW,CAAC1sB,OAAO,CAAE6H,OAAO,CAAC,CAACwG,IAAI,CAAC,SAACse,MAAM,CAAK,CACrD,IAAMC,WAAW,CAAGD,MAAM,CAACE,SAAS,CAACL,SAAS,CAAC,CAI/C,OAHwB,UAAU,EAA9B,OAAO3jB,QAAuB,EACjCA,QAAQ,CAAC+jB,WAAW,CAAC,CAEfA,WACR,CAAC,CACF,CAAC,CACDE,6BAA6B,CAAE,SAAAA,8BAAUlvB,SAAS,CAAE,CACnD,IAAMK,IAAI,CAAG,IAAI,CACjBL,SAAS,CAACM,EAAE,CAAC,OAAO,CAAE,mBAAmB,CAAE,UAAY,CAClD,IAAA8B,OAAO,CAAGnC,CAAC,CAAC,IAAI,CAAC,CACjBkvB,QAAQ,CAAG/sB,OAAO,CAAC5B,IAAI,CAAC,UAAU,CAAC,CACvCH,IAAI,CAACsuB,WAAW,CAAC1uB,CAAC,CAACmC,OAAO,CAAC5B,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAACiQ,IAAI,CAAC,SAAC2e,GAAG,CAAK,CACvDnvB,CAAC,CAAA+P,YAAAA,CAAAA,MAAA,CAAaof,GAAG,mBAAApf,MAAA,CAAemf,QAAQ,CAAA,aAAA,CAAY,CAAC,CAACjiB,GAAG,CAAC,CAAC,CAAC,CAACyS,KAAK,GACnE,CAAC,EACF,CAAC,EACF,CAAC,CACD0P,UAAU,CAAAA,SAAAA,UAAAA,CAAC9qB,IAAI,CAAE,CAChB,IAAI+qB,GAAG,CAAGhiB,QAAQ,CAACiiB,aAAa,CAAC,UAAU,CAAC,CAE5C,OADAD,GAAG,CAACE,SAAS,CAAGjrB,IAAI,CACb+qB,GAAG,CAAC3yB,KACZ,CAAC,CACD8yB,SAAS,CAAE,SAAAA,SAAAA,CAAUzoB,IAAI,CAAE,CAC1B,OAAO,IAAI,CAACD,UAAU,CAAC,CACtBQ,KAAK,CAAEP,IAAI,CACXC,IAAI,CAAE,OAAO,CACbyoB,MAAM,GAAO,CACbC,OAAO,CAAO,CAAA,CAAA,CACd7e,OAAO,CAAA,CAAA,CAAO,CACdhB,OAAO,CAAE,IAAIC,GAAG,CAAA,EAAA,CAAAC,MAAA,CAAAvV,kBAAA,CACZ8R,OAAO,CAAC0D,cAAc,CACzB,CAAA,CAAA,CACC2f,cAAc,CACd,CACCC,OAAO,GAAM,CACbC,OAAO,CAAE,CACR,CACC9oB,IAAI,CAAExE,GAAG,CAACgE,UAAU,CAAC,OAAO,CAAC,CAC7BupB,OAAO,CAAM,CAAA,CAAA,CACbpQ,KAAK,CAAE,SAAAA,KAACzT,CAAAA,MAAM,CAAK,CAAA,OAAAA,MAAM,CAAC8jB,KAAK,EAAE,CAClC,CAAC,CAEH,CAAC,CACD,CAAA,CACD,CAAC,CACF1jB,KAAK,CAAE,IAAIC,OAAO,CAACC,KAAK,CAAC,CACxBC,IAAI,CAAE,MAAM,CACZI,KAAK,CAAM,CAAA,CAAA,CACXF,SAAS,CAAE,EAAE,CACbsjB,YAAY,GACb,CAAC,CACF,CAAC,CACF,CAAC;AAEF;AACA;AACA;AACA,IACClpB,UAAU,CAAE,SAAAA,UAAUkR,CAAAA,YAAY,CAAE,CAC/B,IAAAvV,MAAM,CAAG,CACZ0J,IAAI,CAAA,CAAA,CACL,CAAC,CACG8jB,UAAU,CAAGjY,YAAY,CACzBhR,IAAI,CAAG,MAAM,CAYjB,OAX4B,QAAQ,EAAhC,OAAOgR,YAAyB,GACnCiY,UAAU,CAAG,CACZ3oB,KAAK,CAAE0Q,YACR,CAAC,CAAA,CAE+B,WAAW,EAAxC,OAAOA,YAAY,CAAChR,IAAoB,GAC3CA,IAAI,CAAGgR,YAAY,CAAChR,IAAI,CAEZ,CAAA,OAAO,GAAhBA,IAAgB,GACnBvE,MAAM,CAAC0J,IAAI,CAAA,CAAA,CAAO,EAEZG,OAAO,CAACtF,IAAI,CAAC,CAAChH,CAAC,CAAC+W,MAAM,CAACtU,MAAM,CAAEwtB,UAAU,CAAC,CAClD,CAAC;AAEF;AACA,IACCC,wBAAwB,CAAA,SAAAA,wBAAA,EAAG;AAC1B5jB,OAAO,CAAChD,QAAQ,CAACjC,WAAW,CAAO,CAAA,CAAA,CACnCiF,OAAO,CAAChD,QAAQ,CAAC6mB,YAAY,CAAA,CAAA,CAAO,CACpC7jB,OAAO,CAAChD,QAAQ,CAAComB,OAAO,CAAQ,CAAA,CAAA,CAChCpjB,OAAO,CAAChD,QAAQ,CAAC8mB,OAAO,CAAG,YAAY,CACvC9jB,OAAO,CAAChD,QAAQ,CAAC+mB,KAAK,CAAG,cAAc,CACvC/jB,OAAO,CAAChD,QAAQ,CAAC8C,KAAK,CAAG,GAAI,CAC7BE,OAAO,CAAChD,QAAQ,CAAC+C,KAAK,CAACQ,OAAO,CAAG,EAAE,CACnCP,OAAO,CAAChD,QAAQ,CAAC+C,KAAK,CAACikB,QAAQ,CAAG,CAAC,CACnChkB,OAAO,CAAChD,QAAQ,CAAC+C,KAAK,CAACkkB,QAAQ,CAAG,CAAC,CACnCjkB,OAAO,CAAChD,QAAQ,CAACknB,MAAM,CAACT,KAAK,CAAGxtB,GAAG,CAACgE,UAAU,CAAC,UAAU,CAAC,CAC1D+F,OAAO,CAAC0D,cAAc,CAACkW,GAAG,CAACuK,iBAAiB,CAAE,EAAE,CAAC,CACjDnkB,OAAO,CAAC0D,cAAc,CAACkW,GAAG,CAACwK,mBAAmB,CAAE,EAAE,CAAC,CACnDpkB,OAAO,CAAC0D,cAAc,CAACkW,GAAG,CAACyK,aAAa,CAAE,EAAE,EAC7C,CAAC;AAEF;AACA;AACA;AACA;AACA,IACChlB,gBAAgB,CAAE,SAAAA,gBAAAA,CAAUlJ,MAAM,CAAE,CAC/B,IAAAmuB,kBAAkB,CAAG,OAAO,CAC5BC,mBAAmB,CAAG,WAAW,CAOrC,OANyC,WAAW,EAAhD,OAAOpuB,MAAM,CAACmuB,kBAAkC,GACnDA,kBAAkB,CAAGnuB,MAAM,CAACmuB,kBAAkB,EAEL,WAAW,EAAjD,OAAOnuB,MAAM,CAACouB,mBAAmC,GACpDA,mBAAmB,CAAGpuB,MAAM,CAACouB,mBAAmB,CAAA,CAE1C,IAAI,CAAC/pB,UAAU,CACrB9G,CAAC,CAAC+W,MAAM,CACP,CACC7K,IAAI,CAAE,wBAAwB,CAC9BujB,MAAM,CAAO,CAAA,CAAA,CACbC,OAAO,CAAA,CAAA,CAAO,CACd7e,OAAO,GAAO,CACd1E,IAAI,CAAO,CAAA,CAAA,CACXiK,KAAK,CAAE,MAAM,CACb0a,YAAY,CAAE,MAAM,CACpBC,aAAa,CAAE,iBAAiB,CAChClhB,OAAO,CAAE,IAAIC,GAAG,CAAAC,EAAAA,CAAAA,MAAA,CAAAvV,kBAAA,CACZ8R,OAAO,CAAC0D,cAAc,CAAA,CAAA,CACzB,CACC2f,cAAc,CACd,CACCC,OAAO,CAAM,CAAA,CAAA,CACboB,MAAM,CAAA,CAAA,EAAE,YAAY,GAAIvuB,MAAM,CAAGA,EAAAA,MAAM,CAAAwuB,UAAsB,CAC7DC,eAAe,CAAE,CAAA,EAAA,iBAAiB,GAAIzuB,MAAM,CAAGA,EAAAA,MAAM,CAAA0uB,eAA2B,CAChFtB,OAAO,CAAE,CACR,CACC9oB,IAAI,CAAE,2CAAyC,CAAGxE,GAAG,CAACgE,UAAU,CAACqqB,kBAAkB,CAAC,CACpFvpB,WAAW,CAAA,CAAA,CAAM,CACjByoB,OAAO,CAAM,CAAA,CAAA,CACbsB,aAAa,CAAA,CAAA,CAAM,CACnB1R,KAAK,CAAE,SAAAA,MAAUzT,MAAM,CAAEvP,KAAK,CAAErB,CAAC,CAAE,CAC9BoH,MAAM,CAAAwuB,UAAc,EAAI,CAACv0B,KAAK,GAGM,WAAW,EAA/C,OAAO+F,MAAM,CAACmJ,iBAAiC,EAClDnJ,MAAM,CAACmJ,iBAAiB,CAACK,MAAM,CAAEvP,KAAK,CAAErB,CAAC,CAAC,CAE3C4Q,MAAM,CAAC8jB,KAAK,EAAE,EACf,CACD,CAAC,CACD,CACChpB,IAAI,CAAE,2CAAyC,CAAGxE,GAAG,CAACgE,UAAU,CAACsqB,mBAAmB,CAAC,CACrFxpB,WAAW,CAAM,CAAA,CAAA,CACjBqY,KAAK,CAAE,SAAAA,KAAAA,CAAUzT,MAAM,CAAE,CACe,WAAW,EAA9C,OAAOxJ,MAAM,CAAC4uB,gBAAgC,EACjD5uB,MAAM,CAAC4uB,gBAAgB,CAACplB,MAAM,CAAC,CAEhCA,MAAM,CAAC8jB,KAAK,GACb,CACD,CAAC,CAEH,CAAC,CACD,CAAA,CACD,CAAC,CACF1jB,KAAK,CAAE,IAAIC,OAAO,CAACC,KAAK,CAAC,CACxBC,IAAI,CAAE,MAAM,CACZE,SAAS,CAAE,EAAE,CACb4jB,QAAQ,CAAE,CAAC,CACXx0B,IAAI,CAAE,KAAK,CACX8Q,KAAK,CAAM,CAAA,CAAA,CACXojB,YAAY,CAAA,CAAA,CACb,CAAC,CACF,CAAC,CACDvtB,MACD,CACD,CACD,CAAC,CACD2Z,oBAAoB,CAAA,SAAAA,oBAACrc,CAAAA,SAAS,CAAE,CAC/BA,SAAS,CAAC+B,IAAI,CAAC,eAAe,CAAC,CAAC+F,IAAI,CAAC,UAAY,CAChD,IAAI1F,OAAO,CAAGnC,CAAC,CAAC,IAAI,CAAC,CACpBsxB,eAAe,CAAGnvB,OAAO,CAAC5B,IAAI,CAAC,iBAAiB,CAAC,CAEd,UAAU,EAA1C,OAAOgC,GAAG,CAAC+uB,eAAe,CAAgB,CAC7C/uB,GAAG,CAAC+uB,eAAe,CAAC,CAACnvB,OAAO,CAAC,CAE7BI,GAAG,CAACyhB,gBAAgB,CAAC7hB,OAAO,EAE9B,CAAC,EACF,CAAC,CACDovB,eAAe,CAAA,SAAAA,eAAA,EAA0B,CAAzB,IAAAxxB,SAAS,CAAA,CAAA,CAAA9D,SAAA,CAAAC,MAAA,EAAAD,SAAA,CAAA,CAAA,CAAA,GAAA,KAAA,CAAA,CAAAA,SAAA,CAAA,CAAA,CAAA,CAAG+D,CAAC,CAACqN,QAAQ,CAAC,CACtC1N,MAAM,CAACkJ,YAAY,CAAG,EAAE,CACxB9I,SAAS,CAACM,EAAE,CAAC,WAAW,CAAE,SAAChF,CAAC,CAAK,CAChCkH,GAAG,CAACqR,aAAa,CAAG,CAAEvJ,CAAC,CAAEhP,CAAC,CAACmqB,KAAK,CAAE5b,CAAC,CAAEvO,CAAC,CAACiqB,KAAM,EAC9C,CAAC,CAAC,CACFvlB,SAAS,CAACM,EAAE,CACX,YAAY,CACZ,wJAAoJ,CACpJ,SAAChF,CAAC,CAAK,CACN,IAAIkM,aAAa,CAAGvH,CAAC,CAAC3E,CAAC,CAACkM,aAAa,CAAC,CACjCA,aAAa,CAAC9G,QAAQ,CAAC,mBAAmB,CAAC,GAC3C8G,aAAa,CAAC9G,QAAQ,CAAC,4BAA4B,CAAC,EACvD8B,GAAG,CAACwV,qBAAqB,CAACxQ,aAAa,CAAE,EAAE,CAAExH,SAAS,CAAC,CACvDwH,aAAa,CAACvB,OAAO,CAAC,YAAY,CAAC,EACzB,CAACuB,aAAa,CAAC9G,QAAQ,CAAC,4BAA4B,CAAC,EAAI8G,aAAa,CAAChH,IAAI,CAAC,YAAY,CAAC,CACnGgC,GAAG,CAACwV,qBAAqB,CAACxQ,aAAa,CAAC+S,QAAQ,CAAC,GAAG,CAAC,CAAE,EAAE,CAAEva,SAAS,CAAC,CAErE,CAACwH,aAAa,CAAC9G,QAAQ,CAAC,4BAA4B,CAAC,EACrD,CAAC8G,aAAa,CAACzF,IAAI,CAAC,6BAA6B,CAAC,CAAC5F,MAAM,EACzD,CAACqL,aAAa,CAAChH,IAAI,CAAC,YAAY,CAAC,GAE7BgH,aAAa,CAAC9G,QAAQ,CAAC,8BAA8B,CAAC,CACzD8B,GAAG,CAAC8U,uBAAuB,CAAC,CAAElV,OAAO,CAAEoF,aAAa,CAAExH,SAAS,CAATA,SAAU,CAAC,CAAC,CAElEwC,GAAG,CAAC8T,sBAAsB,CAAC9O,aAAa,CAAC,CAE1CA,aAAa,CAACvB,OAAO,CAAC,YAAY,CAAC,CAAA,EAGtC,CACD,EACD,CAAC;AAEF;AACA,IACCwrB,oBAAoB,CAAA,SAAAA,oBAAA,EAAG,CACtBxxB,CAAC,CAACqN,QAAQ,CAAC,CAAChN,EAAE,CAAC,UAAU,CAAE,kBAAkB,CAAE,SAAChF,CAAC,CAAK,CACrD2E,CAAC,CAAC3E,CAAC,CAACkM,aAAa,CAAC,CAACkqB,YAAY,GAChC,CAAC,EACF,CAAC;AAEF;AACA;AACA,IACCC,uBAAuB,CAAAA,SAAAA,uBAAAA,CAAC3xB,SAAS,CAAE,CAClCA,SAAS,CAACM,EAAE,CAAC,OAAO,CAAE,6CAA6C,CAAE,SAAChF,CAAC,CAAK,CAC3E,IAAI6Q,IAAI,CAAGlM,CAAC,CAAC3E,CAAC,CAACsD,MAAM,CAAC,CAClBuN,IAAI,CAACzL,QAAQ,CAAC,2BAA2B,CAAC,GAC7CyL,IAAI,CAAGA,IAAI,CAACpK,IAAI,CAAC,iBAAiB,CAAC,CAAA,CAEpC,IAAI6vB,QAAQ,CAAGzlB,IAAI,CAAC3L,IAAI,EAAE,CAC1B2L,IAAI,CAAC0lB,WAAW,CAAA7hB,EAAAA,CAAAA,MAAA,CAAI4hB,QAAQ,CAACtoB,MAAM,CAAA0G,GAAAA,CAAAA,CAAAA,MAAA,CAAI4hB,QAAQ,CAACE,QAAQ,CAAE,CAAC,CAC3Dx2B,CAAC,CAACimB,eAAe,GAClB,CAAC,EACF,CAAC,CACDwQ,SAAS,UAAAA,SAACxtB,CAAAA,IAAI,CAAE,CACf,IAAMytB,WAAW,CAAG1kB,QAAQ,CAACiiB,aAAa,CAAC,KAAK,CAAC,CAEjD,OADAyC,WAAW,CAACxC,SAAS,CAAGjrB,IAAI,CACrBytB,WAAW,CAACC,WAAW,EAAID,WAAW,CAACE,SAAS,EAAI,EAC5D,CAAC,CACDC,qBAAqB,UAAAA,qBAACnyB,CAAAA,SAAS,CAAE,CAChCA,SAAS,CAACM,EAAE,CAAC,OAAO,CAAE,aAAa,CAAE,SAAChF,CAAC,CAAK,CAC3C2E,CAAC,CAAC3E,CAAC,CAACkM,aAAa,CAAC,CAACb,OAAO,CAAC,mBAAmB,CAAC,CAACkrB,WAAW,CAAC,wBAAwB,EACrF,CAAC,CAAC,CACF7xB,SAAS,CAAC+B,IAAI,CAAC,oBAAoB,CAAC,CAACzB,EAAE,CAAC,cAAc,CAAE,SAAChF,CAAC,CAAK,CAC9D2E,CAAC,CAAC3E,CAAC,CAACkM,aAAa,CAAC,CAAC4O,WAAW,CAAC,wBAAwB,EACxD,CAAC,EACF,CAAC,CACDgc,aAAa,CAAO,CAAA,CAAA,CACpBC,wBAAwB,CAAE,SAAAA,wBAAA,EAAY,CACrC,GAAI,CAAA,CAAA,GAAA,IAAI,CAACD,aAAuB,CAAE,CACjC,IAAIA,aAAa,CAAGnyB,CAAC,CAAC,gBAAgB,CAAC,CACvC,GAA6B,CAAC,GAA1BmyB,aAAa,CAACj2B,MAAY,CAC7B,OAED,IAAI,CAACi2B,aAAa,CAAGvwB,IAAI,CAACC,KAAK,CAACswB,aAAa,CAACzwB,GAAG,EAAE,EACpD,CACA,GAAkC,CAAC,GAA/B,IAAI,CAACywB,aAAa,CAACj2B,MAAY,CAGnC,CAAA,IAAIsE,KAAK,CAAG,IAAI,CAAC2xB,aAAa,CAACE,KAAK,EAAE,CACtC,OAAQ7xB,KAAK,CAACwG,IAAI,EACjB,IAAK,OAAO,CACX5C,YAAY,CAACC,OAAO,CAAC7D,KAAK,CAAC6B,GAAG,CAAC,CAC7BhF,IAAI,CAAC,SAAUoxB,WAAW,CAAE,CAC5BlsB,GAAG,CAACiC,eAAe,CAACiqB,WAAW,CAAC,CAACza,GAAG,CAAC,iBAAiB,CAAE,UAAY,CACnEzR,GAAG,CAAC6vB,wBAAwB,GAC7B,CAAC,EACF,CAAC,CAAC,CACDlrB,IAAI,CAAC,SAAUorB,WAAW,CAAElrB,WAAW,CAAE,CACzC7E,GAAG,CAACuE,UAAU,CAAC,CACdQ,KAAK,CAAE/E,GAAG,CAACgE,UAAU,CAAC,UAAU,CAAC,CACjCc,WAAW,CAAO,CAAA,CAAA,CAClBN,IAAI,CAAEK,WAAW,CACjBJ,IAAI,CAAE,OACP,CAAC,EACF,CAAC,CAAC,CACH,MACD,IAAK,QAAQ,CACZzE,GAAG,CAACuE,UAAU,CAACtG,KAAK,CAACie,MAAM,CAAC,CAC5Blc,GAAG,CAAC6vB,wBAAwB,EAAE,CAC9B,MACD,QAED,CAAC,CACF,CAAC;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,IACCnrB,eAAe,CAAE,SAAAA,eAAAA,CAAUuX,YAAY,CAAE/b,MAAM,CAAE6C,IAAI,CAAEnD,OAAO,CAAE,CAC/D,GAAA,CAAIqc,YAAY,CAAC+T,UAAU,CAGrB,CAAA,IAAAnvB,UAAU,CAAGX,MAAM,CAAAO,MAAU,CAC7BwvB,gBAAgB,CAAGjwB,GAAG,CAACqB,aAAa,EAAE,CACtC6uB,QAAQ,CAAGlwB,GAAG,CAACkB,WAAW,EAAE,CAClC,GAAI,MAAM,GAAKgvB,QAAQ,EAAI,OAAO,GAAKA,QAAQ,CAC1CrvB,UAAU,GAAKovB,gBAAgB,EAClCjwB,GAAG,CAACglB,cAAc,CAACmL,kBAAkB,EAAE,CAAA,KAE9B,GAAA,QAAQ,GAAKD,QAAQ,CAC/BlwB,GAAG,CAACglB,cAAc,CAACoL,UAAU,CAAM,CAAA,CAAA,CAAC,MAC1B,GAAA,QAAQ,GAAKF,QAAQ,CAC/B,GAAIntB,EAAAA,IAAI,EAAI/C,GAAG,CAACmB,WAAW,EAAE,GAAK4B,IAAI,CAACxD,IAAI,CAAC,mBAAiB,CAAC,CAACJ,GAAG,EAAE,EAc7D,CACN,IAAIkxB,MAAM,CAAEnT,KAAK,CACbjB,YAAY,CAAC1V,MAAM,EAAI0V,YAAY,CAAC1V,MAAM,CAAC+pB,OAAO,CACrDlzB,MAAM,CAAC0Y,QAAQ,CAACya,MAAM,EAAE,CACY,iBAAiB,GAA3CvwB,GAAG,CAAComB,SAAS,CAAC,MAAM,CAAuB,CACrDpmB,GAAG,CAACglB,cAAc,CAACwL,eAAe,EAAE,CAC1B5wB,OAAO,GAAKywB,MAAM,CAAGzwB,OAAO,CAACuE,OAAO,CAAC,qBAAqB,CAAC,CAAC,EAAsB,CAAC,GAAnBksB,MAAM,CAAC12B,MAAY,CAC7FqG,GAAG,CAACglB,cAAc,CAACyL,UAAU,CAACJ,MAAM,CAAC,CAC3BzwB,OAAO,GAAKsd,KAAK,CAAGtd,OAAO,CAACuE,OAAO,CAAC,sBAAsB,CAAC,CAAC,EAAqB,CAAC,GAAlB+Y,KAAK,CAACvjB,MAAY,CAC5FqG,GAAG,CAACglB,cAAc,CAAC0L,qBAAqB,CAACxT,KAAK,CAAC,CACrChd,MAAM,EAAIA,MAAM,CAAClC,IAAI,CAC/BZ,MAAM,CAAC0Y,QAAQ,CAACya,MAAM,EAAE,CAExBvwB,GAAG,CAACglB,cAAc,CAAC2L,gBAAgB,GAErC,CAAC,KA5BI,GAAA,CAAA,CAAA,EAAA1U,YAAY,CAAC1V,MAAM,CAACqqB,WAAoB,CACvCxzB,MAAM,GAAKA,MAAM,CAAC6D,MAAM,CAG3B7D,MAAM,CAAC0Y,QAAQ,CAACJ,IAAI,CAAG,mBAAmB,CAAG7U,UAAU,CAAG,YAAY,CAFtEzD,MAAM,CAAC6D,MAAM,CAAC6U,QAAQ,CAACJ,IAAI,CAAG,mBAAmB,CAAG7U,UAAU,CAAG,mBAAmB,MAI3EX,GAAAA,MAAM,EAAIA,MAAM,CAACqnB,aAAa,CAAE,CAC1C,IAAIvR,YAAY,CAAG,IAAI6a,eAAe,CAACzzB,MAAM,CAAC0Y,QAAQ,CAAC1W,MAAM,CAAC,CAC9D4W,YAAY,CAAC8a,MAAM,CAAC,MAAM,CAAC,CAC3B1zB,MAAM,CAAC0Y,QAAQ,CAACJ,IAAI,CAAG,YAAY,CAAGM,YAAY,CAACta,QAAQ,GAC5D,CAAC,KACA0B,MAAM,CAAC0Y,QAAQ,CAACya,MAAM,GAkBxB,CACF,CAAC;AAEF;AACA;AACA,IACCQ,2BAA2B,CAAE,SAAAA,2BAAAA,CAAUvzB,SAAS,CAAE,CACjDA,SAAS,CAACM,EAAE,CAAC,OAAO,CAAE,oBAAoB,CAAE,SAAUG,KAAK,CAAE,CAC5DA,KAAK,CAAC8gB,eAAe,EAAE,CACnB,IAAA3iB,MAAM,CAAGqB,CAAC,CAAC,IAAI,CAAC,CACnBuzB,UAAU,CAAG50B,MAAM,CAAC4B,IAAI,CAAC,YAAY,CAAC,CACtCizB,UAAU,CAAG70B,MAAM,CAAC4B,IAAI,CAAC,YAAY,CAAC,CACnCkC,MAAM,CAAG,CACZyJ,IAAI,CAAA,CAAA,CAAO,CACX5E,KAAK,CAAE3I,MAAM,CAAC4B,IAAI,CAAC,SAAS,CAAC,CAC7BqL,iBAAiB,CAAE,SAAAA,iBAAAA,EAAM,CAAA,IACpBV,wBAAwB,CAAGlL,CAAC,CAAC4C,iBAAiB,CAAC,CAClD4D,QAAQ,CAAE,MAAM,CAChB3D,SAAS,CAAE,CACVC,OAAO,CAAA,CAAA,CACR,CACD,CAAC,CAAC,CACET,GAAG,CAAG1D,MAAM,CAAC4B,IAAI,CAAC,KAAK,CAAC,CAAG,cAAc,CAAGgzB,UAAU,CAC1DnvB,YAAY,CAACC,OAAO,CAAChC,GAAG,CAAC,CAAChF,IAAI,CAAC,SAAUkD,IAAI,CAAE,CAC9C2K,wBAAwB,CAACtI,iBAAiB,CAAC,CAC1CK,IAAI,CAAE,MACP,CAAC,CAAC,CACE1C,IAAI,EAAIA,IAAI,CAACsG,OAAO,EACnBtG,IAAI,CAACuI,MAAM,CAAC2V,MAAM,EACrBlc,GAAG,CAACuE,UAAU,CAACvG,IAAI,CAACuI,MAAM,CAAC2V,MAAM,CAAC,CAEhB,MAAM,GAArB8U,UAAqB,CACxBhxB,GAAG,CAACqqB,OAAO,CAACrsB,IAAI,CAACuI,MAAM,CAAC,CAExBvG,GAAG,CAAC0E,eAAe,CAAC1G,IAAI,CAAEgC,GAAG,CAACC,kBAAkB,CAACH,GAAG,CAAC,CAAE,IAAI,CAAE1D,MAAM,CAAC,EAGrE4D,GAAG,CAACuE,UAAU,CAAC,CACdC,IAAI,CAAExE,GAAG,CAACgE,UAAU,CAAChG,IAAI,CAACkL,KAAK,CAACnF,OAAO,CAAC,CACxCgB,KAAK,CAAE/E,GAAG,CAACgE,UAAU,CAAC,mBAAmB,CAAC,CAC1CS,IAAI,CAAE,OACP,CAAC,EAEH,CAAC,EACF,CACD,CAAC,CACGrI,MAAM,CAAC4B,IAAI,CAAC,SAAS,CAAC,GACzBkC,MAAM,CAACsE,IAAI,CAAGpI,MAAM,CAAC4B,IAAI,CAAC,SAAS,CAAC,CACpCizB,UAAU,CAAG,CAAC,EAEG,CAAC,EAAfA,UAAe,GAClB/wB,MAAM,CAAC6E,KAAK,CAAG3I,MAAM,CAAC2F,IAAI,EAAE,EAAI7B,MAAM,CAAC6E,KAAK,CAAG,GAAG,CAAG7E,MAAM,CAAC6E,KAAK,CAAG,EAAE,CAAC,EAExE/E,GAAG,CAACoJ,gBAAgB,CAAClJ,MAAM,EAC5B,CAAC,EACF,CAAC;AAEF;AACA;AACA,IACCgxB,8BAA8B,CAAE,SAAAA,8BAAAA,EAAqB,CACpB,UAAU,GAAtClxB,GAAG,CAAComB,SAAS,CAAC,QAAQ,CAAgB,EACzCtb,QAAQ,CAACC,gBAAgB,CAAC,SAAS,CAAE,SAAC9M,KAAK,CAAK,CAC3C8C,MAAM,CAAAowB,cAAkB,EAAIlzB,KAAK,CAACmzB,QAAQ,EAAInzB,KAAK,CAACozB,OAAO,EAAmB,MAAM,GAArBpzB,KAAK,CAACqzB,IAAe,GACvFl0B,MAAM,CAAC0Y,QAAQ,CAACJ,IAAI,CAAG,mBAAmB,CAAG1V,GAAG,CAACqB,aAAa,EAAE,CAAG,YAAY,CAAA,CAE5EN,MAAM,CAAAwwB,sBAA0B,EAAItzB,KAAK,CAACmzB,QAAQ,EAAInzB,KAAK,CAACozB,OAAO,EAAmB,MAAM,GAArBpzB,KAAK,CAACqzB,IAAe,EAC/Fn0B,GAAG,CAACE,UAAU,CAACmC,WAAW,CAACK,YAAY,CAACG,GAAG,CAACqB,aAAa,EAAE,EAE7D,CAAC,EAEH,CAAC;AAEF;AACA;AACA,IACCmwB,uBAAuB,CAAE,SAAAA,uBAAUh0B,CAAAA,SAAS,CAAE,CAC7CA,SAAS,CAACM,EAAE,CAAC,OAAO,CAAE,iBAAiB,CAAE,SAAUhF,CAAC,CAAE,CACrDA,CAAC,CAAC6G,cAAc,EAAE,CAClB,IAAIC,OAAO,CAAGnC,CAAC,CAAC,IAAI,CAAC,CACjBmC,OAAO,CAACgG,IAAI,CAAC,MAAM,CAAC,EACvB/D,YAAY,CAAC4vB,WAAW,CAAC7xB,OAAO,CAACgG,IAAI,CAAC,MAAM,CAAC,EAE/C,CAAC,EACF,CAAC;AAEF;AACA;AACA,IACC8rB,UAAU,CAAE,SAAAA,UAAAA,CAAUl0B,SAAS,CAAE,CAAA,IAC1BuE,IAAI,CAAGvE,SAAS,CAACuE,IAAI,EAAE,CAAC4S,OAAO,CAAC,qDAAqD,CAAE,GAAG,CAAC,CAChGgd,IAAI,CAAGl0B,CAAC,CAAC,MAAM,CAAC,CACdsE,IAAI,EAAE,CACN4S,OAAO,CAAC,qDAAqD,CAAE,GAAG,CAAC,CAChEtK,KAAK,CAAGjN,MAAM,CAACw0B,IAAI,EAAE,CAC3BvnB,KAAK,CAACS,QAAQ,CAAC+mB,KAAK,CAAArkB,QAAAA,CAAAA,MAAA,CAAUmkB,IAAI,CAAA,SAAA,CAAS,CAAC,CAC5CtnB,KAAK,CAACS,QAAQ,CAAC+mB,KAAK,UAAArkB,MAAA,CAAUzL,IAAI,CAAS,SAAA,CAAA,CAAC,CAC5CsI,KAAK,CAACynB,YAAY,CAAG,UAAQ,CAC5BznB,KAAK,CAACmjB,KAAK,GACZ,CAAC,CACDvuB,UAAU,CAAC,UAAY,CACtBoL,KAAK,CAAC0nB,KAAK,GACZ,CAAC,CAAE,GAAG,EACP,CAAC;AAEF;AACA;AACA,IACCC,kBAAkB,CAAE,SAAAA,kBAAAA,CAAUx0B,SAAS,CAAE,CACxCA,SAAS,CAACM,EAAE,CAAC,OAAO,CAAE,qBAAqB,CAAE,UAAa,CACzDkC,GAAG,CAAC0xB,UAAU,CAACj0B,CAAC,CAACA,CAAC,CAAC,IAAI,CAAC,CAACO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC+Z,QAAQ,EAAE,EACvD,CAAC,EACF,CACD,CAAE,CACFta,CAAC,CAAC,UAAY,CACbw0B,MAAM,CAACC,OAAO,CAACvO,GAAG,CAACsO,MAAM,CAACC,OAAO,CAACC,KAAK,CAAC,CACxC,IAAIrnB,QAAQ,CAAGrN,CAAC,CAAC,IAAI,CAAC,CAkCtB;AAjCAuC,GAAG,CAACmvB,uBAAuB,CAACrkB,QAAQ,CAAC,CACrC9K,GAAG,CAACuR,WAAW,CAAGvR,GAAG,CAACsS,aAAa,EAAE,CACrCtS,GAAG,CAAC2tB,wBAAwB,EAAE,CAC9BxwB,GAAG,CAACgc,MAAM,CAACC,QAAQ,CAACC,uBAAuB,EAAE,CAC7CrZ,GAAG,CAACqV,2BAA2B,EAAE,CACjCrV,GAAG,CAACgvB,eAAe,EAAE,CACrBhvB,GAAG,CAACivB,oBAAoB,EAAE,CAC1BjvB,GAAG,CAACkoB,4BAA4B,EAAE,CAClCloB,GAAG,CAACwnB,aAAa,EAAE,CACnBxnB,GAAG,CAACsnB,sBAAsB,CAACxc,QAAQ,CAAC,CACpC9K,GAAG,CAACwoB,YAAY,EAAE,CAClBxoB,GAAG,CAAC6pB,eAAe,EAAE,CACrB7pB,GAAG,CAAC8Z,oBAAoB,CAAChP,QAAQ,CAAC,CAClC9K,GAAG,CAAC6Z,oBAAoB,CAAC/O,QAAQ,CAAC,CAClC9K,GAAG,CAAC0sB,6BAA6B,CAAC5hB,QAAQ,CAAC,CAC3C9K,GAAG,CAAC2vB,qBAAqB,CAAC7kB,QAAQ,CAAC,CACnC9K,GAAG,CAAC6vB,wBAAwB,CAAC/kB,QAAQ,CAAC,CACtC9K,GAAG,CAACia,mBAAmB,CAACnP,QAAQ,CAAC,CACjC9K,GAAG,CAAC+wB,2BAA2B,CAACjmB,QAAQ,CAAC,CACzC9K,GAAG,CAACgyB,kBAAkB,CAAClnB,QAAQ,CAAC,CAChC9K,GAAG,CAACkxB,8BAA8B,CAACpmB,QAAQ,CAAC,CAC5C9K,GAAG,CAACwxB,uBAAuB,CAAC1mB,QAAQ,CAAC,CACrC3N,GAAG,CAACE,UAAU,CAACmC,WAAW,CAACE,QAAQ,CAACoL,QAAQ,CAAC,CAC7C3N,GAAG,CAACE,UAAU,CAACwJ,SAAS,CAACM,QAAQ,EAAE,CACnChK,GAAG,CAACyQ,SAAS,CAAClO,QAAQ,CAACoL,QAAQ,CAAC,CAChClO,MAAM,CAAC5E,SAAS,CAACo6B,WAAW,CAAG,UAAY,CAC1C,IAAIj4B,KAAK,CAAG,IAAI,CAACk4B,OAAO,EAAE,CAC1B,OAAOl4B,KAAK,CAACm4B,MAAM,CAAC,CAAC,CAAC,CAAC/mB,WAAW,EAAE,CAAGpR,KAAK,CAACwB,KAAK,CAAC,CAAC,CAAC,CAAC42B,WAAW,EAClE,CAAC,EAEG,MAAM,CAAC12B,IAAI,CAAC2W,SAAS,CAACggB,SAAS,CAAC,EAAI,SAAS,CAAC32B,IAAI,CAAC2W,SAAS,CAACggB,SAAS,CAAC,GAC1E/0B,CAAC,CAAC,UAAU,CAAC,CAACg1B,SAAS,EAAE,CAG1BzyB,GAAG,CAACglB,cAAc,CAAGhlB,GAAG,CAAC+kB,iBAAiB,EAAE,CACxC/kB,GAAG,CAACglB,cAAc,EACrBhlB,GAAG,CAACglB,cAAc,CAACtiB,cAAc,GAEnC,CAAC,CAAC,CACD,SAAUjF,CAAC,CAAE;AACbA,CAAC,CAACsb,EAAE,CAAC2Z,kBAAkB,CAAG,UAAY,CACrC,OAAOv1B,GAAG,CAACgc,MAAM,CAACwZ,MAAM,CAACC,UAAU,CAACn1B,CAAC,CAAC,IAAI,CAAC,CAAC0B,GAAG,EAAE,CAClD,CAAC,CACD1B,CAAC,CAACsb,EAAE,CAAC8Z,iBAAiB,CAAG,UAAY,CACpC,OAAO11B,GAAG,CAACgc,MAAM,CAACwZ,MAAM,CAACC,UAAU,CAACn1B,CAAC,CAAC,IAAI,CAAC,CAAC+G,IAAI,EAAE,CACnD,CAAC,CACD/G,CAAC,CAACsb,EAAE,CAAC+Z,QAAQ,CAAG,SAAU34B,KAAK,CAAE+F,MAAM,CAAE,CACxC,OAAO/C,GAAG,CAACgc,MAAM,CAACwF,KAAK,CAACmU,QAAQ,CAACr1B,CAAC,CAAC,IAAI,CAAC,CAAEtD,KAAK,CAAE+F,MAAM,CACxD,CAAC,CACDzC,CAAC,CAACsb,EAAE,CAACmW,YAAY,CAAG,UAAY,CAC/B,IAAItvB,OAAO,CAAGnC,CAAC,CAAC,IAAI,CAAC,CACrBmC,OAAO,CAACT,GAAG,CAAChC,GAAG,CAACgc,MAAM,CAACwZ,MAAM,CAACI,eAAe,CAAC51B,GAAG,CAACgc,MAAM,CAACwZ,MAAM,CAACC,UAAU,CAAChzB,OAAO,CAACT,GAAG,EAAE,CAAC,CAAO,CAAA,CAAA,CAAC,EAClG,CAAC,CACD1B,CAAC,CAACsb,EAAE,CAACia,OAAO,CAAG,UAAY,CAC1B,IAAI,CAACptB,IAAI,CAAC,UAAU,CAAE,UAAU,EACjC,CAAC,CACDnI,CAAC,CAACsb,EAAE,CAACka,MAAM,CAAG,UAAY,CACzB,IAAI,CAAC1tB,UAAU,CAAC,UAAU,EAC3B,CAAC,CACD9H,CAAC,CAACsb,EAAE,CAAChT,iBAAiB,CAAG,UAAY,CACpC,IAAK,IAAI9J,QAAQ,IAAIi3B,QAAQ,CAAC3pB,SAAS,CACtC2pB,QAAQ,CAAC3pB,SAAS,CAACtN,QAAQ,CAAC,CAACk3B,aAAa,EAAE,CAC5C,IACKpwB,IAAI,CAAG,IAAI,CAChBgoB,MAAM,CAAGhoB,IAAI,CAACqwB,cAAc,EAAE,CAC3Bp1B,IAAI,CAAG,EAAE,CACT+sB,MAAM,EACTttB,CAAC,CAACstB,MAAM,CAAC,CAACzlB,IAAI,CAAC,SAAUwf,CAAC,CAAEuO,CAAC,CAAE,CAC9B,IAAIzzB,OAAO,CAAGmD,IAAI,CAACxD,IAAI,CAAC,UAAS,CAAG8zB,CAAC,CAACz3B,IAAI,CAAG,KAAI,CAAC,CAC9CgE,OAAO,CAAC6T,EAAE,CAAC,QAAQ,CAAC,EAAI,MAAA7T,OAAO,CAACgG,IAAI,CAAC,UAAU,CAAc,EAC5D,IAAA5H,EAAAA,IAAI,CAACq1B,CAAC,CAACz3B,IAAI,CAAc,GAC5BoC,IAAI,CAACq1B,CAAC,CAACz3B,IAAI,CAAC,CAAG,EAAE,CAAA,CAElBoC,IAAI,CAACq1B,CAAC,CAACz3B,IAAI,CAAC,CAACrC,IAAI,CAAC85B,CAAC,CAACl5B,KAAK,CAAC,EAE1B6D,IAAI,CAACq1B,CAAC,CAACz3B,IAAI,CAAC,CAAGy3B,CAAC,CAACl5B,MAEnB,CAAC,CAAC,CAEH;AACA,IAAIm5B,aAAa,CAAG71B,CAAC,CAAC,8BAA4B,CAAEA,CAAC,CAAC,IAAI,CAAC,CAAC,CAM5D,OALAA,CAAC,CAAC61B,aAAa,CAAC,CAAChuB,IAAI,CAAC,SAAU5K,CAAC,CAAE,CAClC,IAAI64B,EAAE,CAAG91B,CAAC,CAAC61B,aAAa,CAAC54B,CAAC,CAAC,CAAC,CAC5BsD,IAAI,CAACu1B,EAAE,CAAC3tB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAG2tB,EAAE,CAACv1B,IAAI,CAAC,OAAO,EACxC,CAAC,CAAC,CACF,OAAOA,IAAI,CAAAw1B,KAAS,CACbx1B,IACR,CAAC,CAEDP,CAAC,CAACg2B,IAAI,CAAC,GAAG,CAAC,CAACC,SAAS,CAAG,SAAUz5B,GAAG,CAAE0L,KAAK,CAAEguB,IAAI,CAAS,CAC1D,OAC4G,CAAC,CAAC,GAA7G,CAAC15B,GAAG,CAACw1B,WAAW,EAAIx1B,GAAG,CAACy1B,SAAS,EAAIjyB,CAAC,CAACxD,GAAG,CAAC,CAACuK,IAAI,EAAE,EAAI,EAAE,EAAE+tB,WAAW,EAAE,CAACtiB,OAAO,CAAC0jB,IAAI,CAAC,CAAC,CAAC,CAACpB,WAAW,EAAE,CAEvG,CAAC,CACD90B,CAAC,CAACsb,EAAE,CAAC6a,cAAc,CAAG,UAAY,CACjCn2B,CAAC,CAAC,IAAI,CAAC,CACL4Z,QAAQ,EAAE,CACVje,MAAM,CAAC,UAAY,CACnB,OAAyB,CAAA,EAAlB,IAAI,CAACy6B,QAAa,CAAE;AAC5B,CAAC,CAAC,CACDzuB,MAAM,GACT,EACD,CAAC,CAAE3H,CAAC,CAAC;;"}