Your IP : 3.141.201.200


Current Path : /var/www/www-root/data/www/monolith-realty.ru/bitrix/js/landing/provider/map/dist/
Upload File :
Current File : /var/www/www-root/data/www/monolith-realty.ru/bitrix/js/landing/provider/map/dist/map.bundle.js.map

{"version":3,"file":"map.bundle.js","sources":["../src/base_provider.js","../src/google_map/theme/aubergine.js","../src/google_map/theme/dark.js","../src/google_map/theme/night.js","../src/google_map/theme/retro.js","../src/google_map/theme/silver.js","../src/google_map/theme/themes.js","../src/google_map/settings.js","../src/google_map.js","../src/yandex_map.js","../src/map.js"],"sourcesContent":["import {Type, Tag, Loc, Cache, Runtime} from 'main.core';\nimport {EventEmitter} from 'main.core.events';\nimport {BaseCollection} from 'landing.collection.basecollection';\n\nexport class BaseProvider extends EventEmitter\n{\n\t/**\n\t * Implements base interface for works with any map providers\n\t * @param {object} options\n\t * @param {function} [options.onChange]\n\t * @param {function} [options.onMapClick]\n\t * @param {function} [options.onAddMarker]\n\t * @param {function} [options.onApiLoaded]\n\t * @param {HTMLElement|Element} [options.mapContainer]\n\t * @param {Object} [options.mapOptions]\n\t * @param {Number|String} [options.mapOptions.zoom]\n\t * @param {{lat: String|Number, lng: String|Number}} [options.mapOptions.center]\n\t * @param {{\n\t * \t\tlatLng: {lat: String|Number, lng: String|Number},\n\t * \t\ttitle: String,\n\t * \t\tdescription: String,\n\t * \t\tshowByDefault: String,\n\t * \t}[]} [options.mapOptions.markers]\n\t * @constructor\n\t */\n\tconstructor(options: {})\n\t{\n\t\tsuper();\n\t\t/**\n\t\t * Must be implemented by subclass\n\t\t * @type {string}\n\t\t */\n\t\tthis.code = '';\n\n\t\tthis.onChangeHandler = Type.isFunction(options.onChange) ? options.onChange : (() => {});\n\t\tthis.onMapClickHandler = Type.isFunction(options.onMapClick) ? options.onMapClick : (() => {});\n\t\tthis.onAddMarkerHandler = Type.isFunction(options.onAddMarker) ? options.onAddMarker : (() => {});\n\t\tthis.onApiLoadedHandler = Type.isFunction(options.onApiLoaded) ? options.onApiLoaded : (() => {});\n\t\tthis.onInitHandler = Type.isFunction(options.onProviderInit) ? options.onProviderInit : (() => {});\n\t\tthis.options = options;\n\t\tthis.mapOptions = this.prepareMapOptions(options.mapOptions);\n\t\tthis.mapContainer = options.mapContainer;\n\t\tthis.markers = new BaseCollection();\n\t\tthis.mapInstance = null;\n\n\t\tthis.cache = new Cache.MemoryCache();\n\n\t\tthis.handleApiLoad();\n\n\t\tthis.onChange = Runtime.debounce(this.onChange.bind(this), 666);\n\t}\n\n\n\n\t/**\n\t * Default options for map\n\t * @type {{}}\n\t */\n\tgetDefaultMapOptions()\n\t{\n\t\treturn {\n\t\t\tcenter: this.getDefaultCenter(),\n\t\t\tzoom: 17,\n\t\t\tmarkers: [\n\t\t\t\t{\n\t\t\t\t\tlatLng: this.getDefaultCenter(),\n\t\t\t\t\t// todo: desc to lang message\n\t\t\t\t\ttitle: \"Bitrix24\",\n\t\t\t\t\tdescription: \"Bitrix24 - Your company. United.\",\n\t\t\t\t},\n\t\t\t],\n\t\t};\n\t}\n\n\t/**\n\t * Check if map options have required fields\n\t * @param mapOptions\n\t * @return {{center: ([]|{lng: number, lat: number}), zoom: number, markers: [{description: string, title: string, latLng: (*|{lng: number, lat: number})}]}|*}\n\t */\n\tprepareMapOptions(mapOptions: {}): {}\n\t{\n\t\tif (!Type.isPlainObject(mapOptions))\n\t\t{\n\t\t\treturn this.getDefaultMapOptions();\n\t\t}\n\n\t\tlet preparedOptions = mapOptions;\n\t\tif (!this.isPoint(preparedOptions.center))\n\t\t{\n\t\t\tpreparedOptions.center = this.getDefaultCenter();\n\n\t\t\tif (\n\t\t\t\tType.isArray(mapOptions.markers)\n\t\t\t\t&& mapOptions.markers.length > 0\n\t\t\t)\n\t\t\t{\n\t\t\t\tconst firstMarker = mapOptions.markers[0];\n\n\t\t\t\tif (\n\t\t\t\t\tType.isPlainObject(firstMarker)\n\t\t\t\t\t&& this.isPoint(firstMarker.latLng)\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\tpreparedOptions.center = firstMarker.latLng;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn preparedOptions;\n\t}\n\n\t/**\n\t * Return a default center point by language\n\t * @return {{lng: number, lat: number}}\n\t */\n\tgetDefaultCenter(): {lat: number, lng: number}\n\t{\n\t\tlet point;\n\t\tswitch (Loc.getMessage('LANGUAGE_ID'))\n\t\t{\n\t\t\tcase 'ru':\n\t\t\t\tpoint = {\n\t\t\t\t\tlat: 54.71916849999999,\n\t\t\t\t\tlng: 20.48854240000003,\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tcase 'ua':\n\t\t\t\tpoint = {\n\t\t\t\t\tlat: 50.440333,\n\t\t\t\t\tlng: 30.526835,\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\t//default - en\n\t\t\t\tpoint = {\n\t\t\t\t\tlat: 38.814089,\n\t\t\t\t\tlng: -77.042356,\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn point;\n\t}\n\n\t/**\n\t * Check is current variable is a geo point\n\t * @param point\n\t * @return {boolean}\n\t */\n\tisPoint(point): boolean\n\t{\n\t\treturn Type.isObjectLike(point) && Object.keys(point).length === 2;\n\t}\n\n\t/**\n\t * Extract coords from map events (f.e. click)\n\t * @param event\n\t */\n\tgetPointByEvent(event): {lat: number, lng: number}\n\t{\n\t\tthrow new Error(\"Must be implemented by subclass\");\n\t}\n\n\tgetCode(): string\n\t{\n\t\treturn this.code;\n\t}\n\n\t/**\n\t * Check is provider API was loaded\n\t * @return {boolean}\n\t */\n\tisApiLoaded(): boolean\n\t{\n\t\tthrow new Error(\"Must be implemented by subclass\");\n\t}\n\n\t/**\n\t * Initializes map\n\t * Must be implemented by subclass\n\t * @abstract\n\t */\n\tinit()\n\t{\n\t\tthis.onInitHandler();\n\t\tthis.emit('onInit');\n\t}\n\n\t/**\n\t * Pass new options and reinit map\n\t * @param options\n\t */\n\treinit(options: {})\n\t{\n\t\t// todo: add options type and validation\n\t\tthis.options = options;\n\t\tthis.emit('onInit');\n\t}\n\n\t/**\n\t * Set api load handle function\n\t * @abstract\n\t */\n\thandleApiLoad(): void\n\t{\n\t\tthrow new Error(\"Must be implemented by subclass\");\n\t}\n\n\t/**\n\t *\n\t */\n\tonChange()\n\t{\n\t\tthis.onChangeHandler(this.preventChangeEvent);\n\t\tthis.preventChangeEvent = false;\n\t}\n\n\t/**\n\t * Adds marker on map\n\t * @abstract\n\t * @param {Object} options\n\t * @param {Object} options.latLng\n\t * @param {Object} options.latLng\n\t * @param {String|Number} options.latLng.lat\n\t * @param {String|Number} options.latLng.lng\n\t * @param {String} [options.title]\n\t * @param {String} [options.description]\n\t * @param {boolean} [options.showByDefault = false]\n\t * @param {boolean} [options.editable = false]\n\t * @param {boolean} [options.draggable = false]\n\t * @return {void}\n\t */\n\taddMarker(options): void\n\t{\n\t\tthrow new Error(\"Must be implemented by subclass\");\n\t}\n\n\t/**\n\t * When marker clicked\n\t * @param item\n\t */\n\tonMarkerClick(item): void\n\t{\n\t\tthrow new Error(\"Must be implemented by subclass\");\n\t}\n\n\t/**\n\t * Removes marker from map\n\t * @abstract\n\t * @param options\n\t */\n\tremoveMarker(options): void\n\t{\n\t\tthrow new Error(\"Must be implemented by subclass\");\n\t}\n\n\t/**\n\t * Removes all markers from map\n\t * @abstract\n\t * @param options\n\t */\n\tclearMarkers(): void\n\t{\n\t\tthrow new Error(\"Must be implemented by subclass\");\n\t}\n\n\t/**\n\t * Gets map value\n\t * @abstract\n\t */\n\tgetValue(): {}\n\t{\n\t\tthrow new Error(\"Must be implemented by subclass\");\n\t}\n\n\t/**\n\t * Set values\n\t * @param value\n\t * @param preventChangeEvent\n\t */\n\tsetValue(value, preventChangeEvent): void\n\t{\n\t\tthis.preventChangeEvent = preventChangeEvent;\n\n\t\tthis.clearMarkers();\n\n\t\tif (Type.isPlainObject(value))\n\t\t{\n\t\t\tif (Type.isArray(value.markers))\n\t\t\t{\n\t\t\t\tvalue.markers.forEach(this.addMarker, this);\n\t\t\t}\n\n\t\t\tif (!BX.Landing.Utils.isEmpty(value.center))\n\t\t\t{\n\t\t\t\tthis.setCenter(value.center);\n\t\t\t}\n\n\t\t\tif (value.zoom && Type.isNumber(value.zoom))\n\t\t\t{\n\t\t\t\tthis.setZoom(value.zoom);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @abstract\n\t */\n\tonEditFormApplyClick(event): void\n\t{\n\t\tthrow new Error(\"Must be implemented by subclass\");\n\t}\n\n\t/**\n\t * @abstract\n\t * @param event\n\t */\n\tonEditFormRemoveClick(event): void\n\t{\n\t\tthrow new Error(\"Must be implemented by subclass\");\n\t}\n\n\t/**\n\t * Creates balloon edit forms\n\t * @param options\n\t * @param [event]\n\t * @return {BX.Landing.UI.Form.BalloonForm}\n\t */\n\tcreateBalloonEditForm(options, event)\n\t{\n\t\tconst form = new BX.Landing.UI.Form.BalloonForm({\n\t\t\ttitle: Loc.getMessage(\"LANDING_NODE_MAP_FORM_HEADER\"),\n\t\t});\n\n\t\tconst applyButton = new BX.Landing.UI.Button.BaseButton({\n\t\t\ttext: Loc.getMessage(\"LANDING_NODE_MAP_FORM_SHOW_BUTTON_APPLY\"),\n\t\t\tclassName: [\"ui-btn\", \"ui-btn-success\", \"ui-btn-sm\"],\n\t\t\tonClick: this.onEditFormApplyClick.bind(this, event),\n\t\t});\n\n\t\tconst removeButton = new BX.Landing.UI.Button.BaseButton({\n\t\t\ttext: Loc.getMessage(\"LANDING_NODE_MAP_FORM_SHOW_BUTTON_REMOVE\"),\n\t\t\tclassName: [\"ui-btn\", \"ui-btn-danger\", \"ui-btn-sm\"],\n\t\t\tonClick: this.onEditFormRemoveClick.bind(this, event),\n\t\t});\n\n\t\tapplyButton.layout.classList.remove(\"landing-ui-button\");\n\t\tremoveButton.layout.classList.remove(\"landing-ui-button\");\n\n\t\tconst footer = Tag.render`\n\t\t\t<div class=\"ui-btn-container ui-btn-container-center\">\n\t\t\t\t${applyButton.layout}\n\t\t\t\t${removeButton.layout}\n\t\t\t</div>\n\t\t`;\n\n\t\tform.addField(\n\t\t\tnew BX.Landing.UI.Field.Text({\n\t\t\t\ttitle: Loc.getMessage(\"LANDING_NODE_MAP_FORM_TITLE\"),\n\t\t\t\ttextOnly: true,\n\t\t\t\tcontent: options.title,\n\t\t\t}),\n\t\t);\n\n\t\tform.addField(\n\t\t\tnew BX.Landing.UI.Field.Text({\n\t\t\t\ttitle: Loc.getMessage(\"LANDING_NODE_MAP_FORM_DESCRIPTION\"),\n\t\t\t\tclassName: \"landing-ui-field-map-description\",\n\t\t\t\tcontent: options.description,\n\t\t\t}),\n\t\t);\n\n\t\tform.addField(\n\t\t\tnew BX.Landing.UI.Field.Checkbox({\n\t\t\t\tclassName: \"landing-ui-field-map-show-by-default\",\n\t\t\t\tcompact: true,\n\t\t\t\titems: [\n\t\t\t\t\t{name: Loc.getMessage(\"LANDING_NODE_MAP_FORM_SHOW_BY_DEFAULT\"), \"value\": true},\n\t\t\t\t],\n\t\t\t\tvalue: [options.showByDefault],\n\t\t\t}),\n\t\t);\n\n\t\tform.layout.appendChild(footer);\n\n\t\treturn form;\n\t}\n\n\t/**\n\t * Creates balloon content\n\t * @param {{title: string, description: string}} options\n\t * @return {HTMLElement}\n\t */\n\tcreateBalloonContent(options): HTMLDivElement\n\t{\n\t\treturn Tag.render`\n\t\t\t<div class=\"landing-map-balloon-content\">\n\t\t\t\t<div class=\"landing-map-balloon-content-header\">${options.title}</div>\t\n\t\t\t\t<div class=\"landing-map-balloon-content-description\">${options.description}</div>\t\n\t\t\t</div>\n\t\t`;\n\t}\n}","export const AUBERGINE = [\n\t{\n\t\t\"elementType\": \"geometry\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#1d2c4d\"},\n\t\t],\n\t},\n\t{\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#8ec3b9\"},\n\t\t],\n\t},\n\t{\n\t\t\"elementType\": \"labels.text.stroke\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#1a3646\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"administrative.country\",\n\t\t\"elementType\": \"geometry.stroke\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#4b6878\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"administrative.land_parcel\",\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#64779e\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"administrative.province\",\n\t\t\"elementType\": \"geometry.stroke\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#4b6878\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"landscape.man_made\",\n\t\t\"elementType\": \"geometry.stroke\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#334e87\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"landscape.natural\",\n\t\t\"elementType\": \"geometry\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#023e58\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"poi\",\n\t\t\"elementType\": \"geometry\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#283d6a\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"poi\",\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#6f9ba5\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"poi\",\n\t\t\"elementType\": \"labels.text.stroke\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#1d2c4d\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"poi.park\",\n\t\t\"elementType\": \"geometry.fill\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#023e58\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"poi.park\",\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#3c7680\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"road\",\n\t\t\"elementType\": \"geometry\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#304a7d\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"road\",\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#98a5be\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"road\",\n\t\t\"elementType\": \"labels.text.stroke\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#1d2c4d\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"road.highway\",\n\t\t\"elementType\": \"geometry\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#2c6675\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"road.highway\",\n\t\t\"elementType\": \"geometry.stroke\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#255763\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"road.highway\",\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#b0d5ce\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"road.highway\",\n\t\t\"elementType\": \"labels.text.stroke\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#023e58\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"transit\",\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#98a5be\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"transit\",\n\t\t\"elementType\": \"labels.text.stroke\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#1d2c4d\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"transit.line\",\n\t\t\"elementType\": \"geometry.fill\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#283d6a\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"transit.station\",\n\t\t\"elementType\": \"geometry\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#3a4762\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"water\",\n\t\t\"elementType\": \"geometry\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#0e1626\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"water\",\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#4e6d70\"},\n\t\t],\n\t},\n];\n","export const DARK = [\n\t{\n\t\t\"elementType\": \"geometry\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#212121\"},\n\t\t],\n\t},\n\t{\n\t\t\"elementType\": \"labels.icon\",\n\t\t\"stylers\": [\n\t\t\t{\"visibility\": \"off\"},\n\t\t],\n\t},\n\t{\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#757575\"},\n\t\t],\n\t},\n\t{\n\t\t\"elementType\": \"labels.text.stroke\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#212121\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"administrative\",\n\t\t\"elementType\": \"geometry\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#757575\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"administrative.country\",\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#9e9e9e\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"administrative.land_parcel\",\n\t\t\"stylers\": [\n\t\t\t{\"visibility\": \"off\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"administrative.locality\",\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#bdbdbd\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"poi\",\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#757575\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"poi.park\",\n\t\t\"elementType\": \"geometry\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#181818\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"poi.park\",\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#616161\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"poi.park\",\n\t\t\"elementType\": \"labels.text.stroke\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#1b1b1b\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"road\",\n\t\t\"elementType\": \"geometry.fill\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#2c2c2c\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"road\",\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#8a8a8a\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"road.arterial\",\n\t\t\"elementType\": \"geometry\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#373737\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"road.highway\",\n\t\t\"elementType\": \"geometry\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#3c3c3c\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"road.highway.controlled_access\",\n\t\t\"elementType\": \"geometry\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#4e4e4e\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"road.local\",\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#616161\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"transit\",\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#757575\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"water\",\n\t\t\"elementType\": \"geometry\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#000000\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"water\",\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#3d3d3d\"},\n\t\t],\n\t},\n];\n","export const NIGHT = [\n\t{\n\t\t\"elementType\": \"geometry\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#242f3e\"},\n\t\t],\n\t},\n\t{\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#746855\"},\n\t\t],\n\t},\n\t{\n\t\t\"elementType\": \"labels.text.stroke\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#242f3e\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"administrative.locality\",\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#d59563\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"poi\",\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#d59563\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"poi.park\",\n\t\t\"elementType\": \"geometry\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#263c3f\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"poi.park\",\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#6b9a76\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"road\",\n\t\t\"elementType\": \"geometry\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#38414e\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"road\",\n\t\t\"elementType\": \"geometry.stroke\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#212a37\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"road\",\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#9ca5b3\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"road.highway\",\n\t\t\"elementType\": \"geometry\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#746855\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"road.highway\",\n\t\t\"elementType\": \"geometry.stroke\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#1f2835\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"road.highway\",\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#f3d19c\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"transit\",\n\t\t\"elementType\": \"geometry\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#2f3948\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"transit.station\",\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#d59563\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"water\",\n\t\t\"elementType\": \"geometry\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#17263c\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"water\",\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#515c6d\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"water\",\n\t\t\"elementType\": \"labels.text.stroke\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#17263c\"},\n\t\t],\n\t},\n];\n","export const RETRO = [\n\t{\n\t\t\"elementType\": \"geometry\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#ebe3cd\"},\n\t\t],\n\t},\n\t{\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#523735\"},\n\t\t],\n\t},\n\t{\n\t\t\"elementType\": \"labels.text.stroke\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#f5f1e6\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"administrative\",\n\t\t\"elementType\": \"geometry.stroke\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#c9b2a6\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"administrative.land_parcel\",\n\t\t\"elementType\": \"geometry.stroke\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#dcd2be\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"administrative.land_parcel\",\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#ae9e90\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"landscape.natural\",\n\t\t\"elementType\": \"geometry\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#dfd2ae\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"poi\",\n\t\t\"elementType\": \"geometry\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#dfd2ae\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"poi\",\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#93817c\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"poi.park\",\n\t\t\"elementType\": \"geometry.fill\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#a5b076\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"poi.park\",\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#447530\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"road\",\n\t\t\"elementType\": \"geometry\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#f5f1e6\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"road.arterial\",\n\t\t\"elementType\": \"geometry\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#fdfcf8\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"road.highway\",\n\t\t\"elementType\": \"geometry\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#f8c967\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"road.highway\",\n\t\t\"elementType\": \"geometry.stroke\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#e9bc62\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"road.highway.controlled_access\",\n\t\t\"elementType\": \"geometry\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#e98d58\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"road.highway.controlled_access\",\n\t\t\"elementType\": \"geometry.stroke\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#db8555\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"road.local\",\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#806b63\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"transit.line\",\n\t\t\"elementType\": \"geometry\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#dfd2ae\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"transit.line\",\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#8f7d77\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"transit.line\",\n\t\t\"elementType\": \"labels.text.stroke\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#ebe3cd\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"transit.station\",\n\t\t\"elementType\": \"geometry\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#dfd2ae\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"water\",\n\t\t\"elementType\": \"geometry.fill\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#b9d3c2\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"water\",\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#92998d\"},\n\t\t],\n\t},\n];\n","export const SILVER = [\n\t{\n\t\t\"elementType\": \"geometry\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#f5f5f5\"},\n\t\t],\n\t},\n\t{\n\t\t\"elementType\": \"labels.icon\",\n\t\t\"stylers\": [\n\t\t\t{\"visibility\": \"off\"},\n\t\t],\n\t},\n\t{\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#616161\"},\n\t\t],\n\t},\n\t{\n\t\t\"elementType\": \"labels.text.stroke\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#f5f5f5\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"administrative.land_parcel\",\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#bdbdbd\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"poi\",\n\t\t\"elementType\": \"geometry\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#eeeeee\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"poi\",\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#757575\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"poi.park\",\n\t\t\"elementType\": \"geometry\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#e5e5e5\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"poi.park\",\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#9e9e9e\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"road\",\n\t\t\"elementType\": \"geometry\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#ffffff\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"road.arterial\",\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#757575\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"road.highway\",\n\t\t\"elementType\": \"geometry\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#dadada\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"road.highway\",\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#616161\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"road.local\",\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#9e9e9e\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"transit.line\",\n\t\t\"elementType\": \"geometry\",\n\t\t\"stylers\": [\n\t\t\t{\n\t\t\t\t\"color\": \"#e5e5e5\",\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"transit.station\",\n\t\t\"elementType\": \"geometry\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#eeeeee\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"water\",\n\t\t\"elementType\": \"geometry\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#c9c9c9\"},\n\t\t],\n\t},\n\t{\n\t\t\"featureType\": \"water\",\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\"color\": \"#9e9e9e\"},\n\t\t],\n\t},\n];\n","import {AUBERGINE} from './aubergine';\nimport {DARK} from './dark';\nimport {NIGHT} from './night';\nimport {RETRO} from './retro';\nimport {SILVER} from './silver';\n\nexport const themes = {\n\tAUBERGINE: AUBERGINE,\n\tDARK: DARK,\n\tNIGHT: NIGHT,\n\tRETRO: RETRO,\n\tSILVER: SILVER,\n};","export const roads = {\n\t'': [],\n\t'off': [\n\t\t{\n\t\t\t\"featureType\": \"road\",\n\t\t\t\"stylers\": [\n\t\t\t\t{\"visibility\": \"off\" }\n\t\t\t]\n\t\t}\n\t]\n};\n\nexport const landmarks = {\n\t'': [],\n\t'off': [\n\t\t{\n\t\t\t\"featureType\": \"administrative\",\n\t\t\t\"elementType\": \"geometry\",\n\t\t\t\"stylers\": [{\"visibility\": \"off\"}]\n\t\t},\n\t\t{\n\t\t\t\"featureType\": \"poi\",\n\t\t\t\"stylers\": [{\"visibility\": \"off\"}]},\n\t\t{\n\t\t\t\"featureType\": \"road\",\n\t\t\t\"elementType\": \"labels.icon\",\n\t\t\t\"stylers\": [{\"visibility\": \"off\"}]\n\t\t},\n\t\t{\n\t\t\t\"featureType\": \"transit\",\n\t\t\t\"stylers\": [{\"visibility\": \"off\"}]\n\t\t}\n\t]\n};\n\nexport const labels = {\n\t'': [],\n\t'off': [\n\t\t{\n\t\t\t\"elementType\": \"labels\",\n\t\t\t\"stylers\": [{\"visibility\": \"off\"}]\n\t\t},\n\t\t{\n\t\t\t\"featureType\": \"administrative.land_parcel\",\n\t\t\t\"stylers\": [{\"visibility\": \"off\"}]\n\t\t},\n\t\t{\n\t\t\t\"featureType\": \"administrative.neighborhood\",\n\t\t\t\"stylers\": [{\"visibility\": \"off\"}]\n\t\t}\n\t]\n};","import {Type} from 'main.core';\nimport {BaseProvider} from './base_provider';\nimport {themes} from './google_map/theme/themes';\nimport {roads, landmarks, labels} from './google_map/settings';\n\nexport class GoogleMap extends BaseProvider\n{\n\tconstructor(options: {})\n\t{\n\t\tsuper(options);\n\t\tthis.setEventNamespace('BX.Landing.Provider.Map.GoogleMap');\n\t\tthis.code = 'google';\n\t\tthis.themes = themes;\n\t}\n\n\t/**\n\t * Extract coords from map events (f.e. click)\n\t * @param event\n\t */\n\tgetPointByEvent(event): {lat: number, lng: number}\n\t{\n\t\tconst point = event.latLng;\n\t\treturn this.isPoint(point) ? point : {};\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tinit()\n\t{\n\t\tthis.preventChangeEvent = true;\n\n\t\tlet opts = this.options;\n\n\t\tthis.mapInstance = new google.maps.Map(this.mapContainer, {\n\t\t\tzoom: this.mapOptions.zoom,\n\t\t\tcenter: this.mapOptions.center,\n\t\t\tzoomControl: Type.isBoolean(opts.zoomControl) ? opts.zoomControl : true,\n\t\t\tmapTypeControl: Type.isBoolean(opts.mapTypeControl) ? opts.mapTypeControl : true,\n\t\t\tmapTypeControlOptions: Type.isPlainObject(opts.mapTypeControlOptions) ? opts.mapTypeControlOptions : null,\n\t\t\tscaleControl: Type.isBoolean(opts.scaleControl) ? opts.scaleControl : true,\n\t\t\tstreetViewControl: Type.isBoolean(opts.streetViewControl) ? opts.streetViewControl : true,\n\t\t\trotateControl: Type.isBoolean(opts.rotateControl) ? opts.rotateControl : true,\n\t\t\tfullscreenControl: Type.isBoolean(opts.fullscreenControl) ? opts.fullscreenControl : true,\n\t\t\tstyles: this.getStylesFromOptions(opts),\n\t\t});\n\n\t\tif (this.mapOptions.markers)\n\t\t{\n\t\t\tthis.mapOptions.markers.forEach(function (markerItem)\n\t\t\t{\n\t\t\t\tmarkerItem.editable = BX.Landing.getMode() === \"edit\";\n\t\t\t\tmarkerItem.draggable = BX.Landing.getMode() === \"edit\";\n\t\t\t\tthis.addMarker(markerItem);\n\t\t\t}, this);\n\t\t}\n\n\t\tthis.mapInstance.addListener(\"bounds_changed\", this.onChange);\n\t\tthis.mapInstance.addListener(\"center_changed\", this.onChange);\n\t\tthis.mapInstance.addListener(\"zoom_changed\", this.onChange);\n\t\tthis.mapInstance.addListener(\"click\", this.onMapClickHandler);\n\n\t\tsuper.init();\n\t}\n\n\treinit(options: {})\n\t{\n\t\tthis.preventChangeEvent = true;\n\t\tif (this.mapInstance)\n\t\t{\n\t\t\tthis.mapInstance.setOptions({\n\t\t\t\tstyles: this.getStylesFromOptions(options),\n\t\t\t});\n\t\t}\n\t\tsuper.reinit();\n\t}\n\n\tgetStylesFromOptions(options)\n\t{\n\t\treturn (options.theme && options.theme in this.themes ? this.themes[options.theme] : [])\n\t\t\t.concat(roads[options.roads] || [], landmarks[options.landmarks] || [], labels[options.labels] || []);\n\t}\n\n\t/**\n\t * Check is provider API was loaded\n\t * @return {boolean}\n\t */\n\tisApiLoaded()\n\t{\n\t\treturn (typeof google !== \"undefined\");\n\t}\n\n\t/**\n\t * Set api load handle function\n\t * @abstract\n\t */\n\thandleApiLoad()\n\t{\n\t\twindow.onGoogleMapApiLoaded = () =>\n\t\t{\n\t\t\tthis.onApiLoadedHandler(this.getCode());\n\t\t};\n\t}\n\n\t/**\n\t * @inheritDoc\n\t * @param options\n\t */\n\taddMarker(options): void\n\t{\n\t\tlet item = {};\n\t\titem.marker = new google.maps.Marker({\n\t\t\tposition: options.latLng,\n\t\t\tmap: this.mapInstance,\n\t\t\tdraggable: options.draggable,\n\t\t});\n\n\t\titem.form = BX.Landing.getMode() === \"edit\" ? this.createBalloonEditForm(options, item) : null;\n\t\titem.content = this.createBalloonContent(options);\n\n\t\titem.infoWindow = new google.maps.InfoWindow({\n\t\t\tcontent: options.editable && BX.Landing.getMode() === \"edit\" ? item.form.layout : item.content,\n\t\t});\n\n\t\tif (options.showByDefault && BX.Landing.getMode() !== \"edit\")\n\t\t{\n\t\t\titem.infoWindow.open(this.mapInstance, item.marker);\n\t\t\tthis.activeMarker = item;\n\t\t}\n\n\t\tthis.markers.add(item);\n\n\t\t// in editor - always, in public - only if not empty\n\t\tif (\n\t\t\tBX.Landing.getMode() === \"edit\"\n\t\t\t|| (options.title || options.description)\n\t\t)\n\t\t{\n\t\t\titem.marker.addListener(\"click\", this.onMarkerClick.bind(this, item));\n\t\t}\n\t\tthis.onChange();\n\t}\n\n\tonMarkerClick(item): void\n\t{\n\t\tvoid (this.activeMarker && this.activeMarker.infoWindow.close());\n\t\titem.infoWindow.open(this.mapInstance, item.marker);\n\t\tthis.activeMarker = item;\n\t}\n\n\tonEditFormRemoveClick(event): void\n\t{\n\t\tif (event)\n\t\t{\n\t\t\tevent.infoWindow.close();\n\t\t\tthis.removeMarker(event);\n\t\t}\n\n\t\tthis.markers.remove(event);\n\t\tthis.onChange();\n\t}\n\n\tonEditFormApplyClick(event): void\n\t{\n\t\tevent.infoWindow.close();\n\t\tthis.onChange();\n\t}\n\n\tremoveMarker(event): void\n\t{\n\t\tevent.marker.setMap(null);\n\t\tthis.markers.remove(event);\n\t}\n\n\tclearMarkers(): void\n\t{\n\t\tthis.markers.forEach(marker => {\n\t\t\tmarker.marker.setMap(null);\n\t\t});\n\t\tthis.markers.clear();\n\t}\n\n\tsetZoom(zoom): void\n\t{\n\t\tthis.preventChangeEvent = true;\n\t\tthis.mapInstance.setZoom(zoom);\n\t}\n\n\tsetCenter(center): void\n\t{\n\t\tthis.preventChangeEvent = true;\n\t\tthis.mapInstance.setCenter(center);\n\t}\n\n\tgetMarkersValue(): {}\n\t{\n\t\treturn this.markers.map(function (item)\n\t\t{\n\t\t\treturn {\n\t\t\t\ttitle: item.form ? item.form.fields[0].getValue() : \"\",\n\t\t\t\tdescription: item.form ? item.form.fields[1].getValue() : \"\",\n\t\t\t\tshowByDefault: item.form ? !!item.form.fields[2].getValue()[0] : \"\",\n\t\t\t\tlatLng: item.marker.position.toJSON(),\n\t\t\t};\n\t\t});\n\t}\n\n\tgetValue(): {}\n\t{\n\t\treturn {\n\t\t\tcenter: this.mapInstance.getCenter() ? this.mapInstance.getCenter().toJSON() : {},\n\t\t\tzoom: this.mapInstance.getZoom(),\n\t\t\tmarkers: this.getMarkersValue(),\n\t\t};\n\t}\n}","import {Text, Dom, Runtime} from 'main.core';\nimport {BaseProvider} from './base_provider';\n\nexport class YandexMap extends BaseProvider\n{\n\tconstructor(options: {})\n\t{\n\t\tsuper(options);\n\t\tthis.setEventNamespace('BX.Landing.Provider.Map.YandexMap');\n\t\tthis.code = 'yandex';\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tinit()\n\t{\n\t\tthis.preventChangeEvent = true;\n\n\t\tconst controls = ['zoomControl', 'fullscreenControl', 'typeSelector', 'routeButtonControl'];\n\t\tif (this.options.fullscreenControl === false)\n\t\t{\n\t\t\tcontrols.splice(controls.indexOf('fullscreenControl'), 1);\n\t\t}\n\t\tif (this.options.mapTypeControl === false)\n\t\t{\n\t\t\tcontrols.splice(controls.indexOf('typeSelector'), 1);\n\t\t\tcontrols.splice(controls.indexOf('routeButtonControl'), 1);\n\t\t}\n\n\t\tthis.mapInstance = new ymaps.Map(this.mapContainer, {\n\t\t\tcenter: this.convertPointIn(this.mapOptions.center),\n\t\t\tzoom: this.mapOptions.zoom,\n\t\t\tbehaviors: this.options.zoomControl === false ? ['drag'] : ['default'],\n\t\t\tcontrols: controls,\n\t\t});\n\n\t\tthis.mapInstance.events.add('actionend', this.onChange);\n\t\tthis.mapInstance.events.add('click', event =>\n\t\t{\n\t\t\tthis.cache.delete('value');\n\t\t\tthis.onMapClickHandler(event);\n\t\t\tif (BX.Landing.getMode() === \"edit\")\n\t\t\t{\n\t\t\t\tthis.markers[this.markers.length - 1].marker.balloon.open();\n\t\t\t}\n\t\t});\n\n\t\tif (this.mapOptions.markers)\n\t\t{\n\t\t\tthis.mapOptions.markers.forEach(markerItem => {\n\t\t\t\tmarkerItem.editable = BX.Landing.getMode() === \"edit\";\n\t\t\t\tmarkerItem.draggable = BX.Landing.getMode() === \"edit\";\n\t\t\t\tthis.addMarker(markerItem);\n\t\t\t});\n\t\t}\n\n\t\tsuper.init();\n\t}\n\n\treinit(options: {})\n\t{\n\t\t// Yandex has't changes yet. If some settings will be added later - need implement reinit\n\t\tthis.preventChangeEvent = true;\n\t\tsuper.reinit();\n\t}\n\n\t/**\n\t * Check is provider API was loaded\n\t * @return {boolean}\n\t */\n\tisApiLoaded()\n\t{\n\t\treturn (\n\t\t\ttypeof ymaps !== \"undefined\"\n\t\t\t&& typeof ymaps.Map !== \"undefined\"\n\t\t);\n\t}\n\n\t/**\n\t * Convert point from Google format to Yandex\n\t * @param point\n\t * @return {[number,number]}\n\t */\n\tconvertPointIn(point: {lat: number, lng: number}): [number, number]\n\t{\n\t\treturn [point.lat, point.lng];\n\t}\n\n\t/**\n\t * Convert point from Yandex for export\n\t * @param point\n\t * @return {{lng: number, lat: number}}\n\t */\n\tconvertPointOut(point: [number, number]): {lat: number, lng: number}\n\t{\n\t\treturn {lat: point[0], lng: point[1]};\n\t}\n\n\t/**\n\t * Extract coords from map events (f.e. click)\n\t * @param event\n\t */\n\tgetPointByEvent(event): {lat: number, lng: number}\n\t{\n\t\treturn this.convertPointOut(event.get('coords'));\n\t}\n\n\t/**\n\t * Set api load handle function\n\t * @abstract\n\t */\n\thandleApiLoad()\n\t{\n\t\twindow.onYandexMapApiLoaded = () =>\n\t\t{\n\t\t\tthis.onApiLoadedHandler(this.getCode());\n\t\t};\n\t}\n\n\t/**\n\t * @inheritDoc\n\t * @param options\n\t */\n\taddMarker(options): void\n\t{\n\t\tconst item = {};\n\t\titem.form = BX.Landing.getMode() === \"edit\" ? this.createBalloonEditForm(options, item) : null;\n\t\titem.content = this.createBalloonContent(options);\n\t\titem.ballonId = 'ballonContent_' + Text.getRandom('6');\n\n\t\tconst isNoNeedBalloon = BX.Landing.getMode() !== \"edit\" && !options.title && !options.description;\n\n\t\tconst balloonTemplate = ymaps.templateLayoutFactory.createClass(\n\t\t\t'<div id=\"' + item.ballonId + '\"></div>',\n\t\t\t{\n\t\t\t\tbuild: function ()\n\t\t\t\t{\n\t\t\t\t\tballoonTemplate.superclass.build.call(this);\n\t\t\t\t\tconst container = document.querySelector('#' + item.ballonId);\n\t\t\t\t\tconst content = (options.editable && BX.Landing.getMode() === \"edit\")\n\t\t\t\t\t\t? item.form.layout\n\t\t\t\t\t\t: item.content;\n\t\t\t\t\tDom.append(content, container);\n\t\t\t\t},\n\t\t\t},\n\t\t);\n\t\titem.marker = new ymaps.Placemark(\n\t\t\tthis.convertPointIn(options.latLng),\n\t\t\t{},\n\t\t\t{\n\t\t\t\tballoonContentLayout: isNoNeedBalloon ? null: balloonTemplate,\n\t\t\t\tballoonPanelMaxMapArea: 0,\n\t\t\t\tdraggable: options.draggable,\n\t\t\t},\n\t\t);\n\t\tthis.mapInstance.geoObjects.add(item.marker);\n\n\t\tif (options.showByDefault)\n\t\t{\n\t\t\titem.marker.balloon.open();\n\t\t}\n\n\t\tthis.markers.add(item);\n\t\tthis.onChange();\n\t}\n\n\tonMarkerClick(item): void\n\t{\n\t\t// Yandex will do everything himself\n\t}\n\n\tonEditFormRemoveClick(event): void\n\t{\n\t\tif (event)\n\t\t{\n\t\t\tevent.marker.balloon.close();\n\t\t\tthis.removeMarker(event);\n\t\t}\n\n\t\tthis.markers.remove(event);\n\t\tthis.onChange();\n\t}\n\n\tonEditFormApplyClick(event): void\n\t{\n\t\tevent.marker.balloon.close();\n\t\tthis.onChange();\n\t}\n\n\tremoveMarker(event): void\n\t{\n\t\tthis.mapInstance.geoObjects.remove(event.marker);\n\n\t}\n\n\tclearMarkers(): void\n\t{\n\t\tthis.markers.forEach(marker => {\n\t\t\tthis.mapInstance.geoObjects.remove(marker.marker);\n\t\t});\n\t\tthis.markers.clear();\n\t}\n\n\tsetZoom(zoom: number): void\n\t{\n\t\tthis.mapInstance.setZoom(zoom);\n\t}\n\n\tsetCenter(center): void\n\t{\n\t\tthis.mapInstance.setCenter(this.convertPointIn(center));\n\t}\n\n\tgetMarkersValue(): {}\n\t{\n\t\treturn this.markers.map((item) => {\n\t\t\treturn {\n\t\t\t\ttitle: item.form ? item.form.fields[0].getValue() : \"\",\n\t\t\t\tdescription: item.form ? item.form.fields[1].getValue() : \"\",\n\t\t\t\tshowByDefault: item.form ? !!item.form.fields[2].getValue()[0] : \"\",\n\t\t\t\tlatLng: this.convertPointOut(item.marker.geometry.getCoordinates()),\n\t\t\t};\n\t\t});\n\t}\n\n\tgetValue(): {}\n\t{\n\t\treturn this.cache.remember('value', () =>\n\t\t{\n\t\t\treturn {\n\t\t\t\tcenter: this.mapInstance.getCenter() ? this.convertPointOut(this.mapInstance.getCenter()) : {},\n\t\t\t\tzoom: this.mapInstance.getZoom(),\n\t\t\t\tmarkers: this.getMarkersValue(),\n\t\t\t};\n\t\t});\n\t}\n\n\tonChange()\n\t{\n\t\tthis.cache.delete('value');\n\t\tsuper.onChange();\n\t}\n}","import {Type} from 'main.core';\nimport {BaseProvider} from './base_provider';\nimport {GoogleMap} from './google_map';\nimport {YandexMap} from './yandex_map';\n\nimport 'ui.fonts.opensans';\nimport './css/style.css'\n\n\nexport class Map\n{\n\tstatic +PROVIDERS = {\n\t\tgoogle: GoogleMap,\n\t\tyandex: YandexMap,\n\t};\n\tstatic +DEFAULT_PROVIDER = 'google';\n\tstatic +DATA_ATTRIBUTE = 'mapProvider';\n\n\t/**\n\t * If API not loaded already - create schedule\n\t * @type {{}}\n\t */\n\tstatic scheduled = {};\n\n\tconstructor()\n\t{\n\t}\n\n\t/**\n\t * Create map provider for current node\n\t * @param node\n\t * @param options\n\t * @return {*}\n\t */\n\tstatic create(node: HTMLElement, options: {}): BaseProvider\n\t{\n\t\t// handler for load api\n\t\toptions.onApiLoaded = Map.onApiLoaded;\n\n\t\t// get provider code\n\t\tlet providerCode = node.dataset[Map.DATA_ATTRIBUTE];\n\t\tif (\n\t\t\t!providerCode\n\t\t\t|| Object.keys(Map.PROVIDERS).indexOf(providerCode) === -1\n\t\t)\n\t\t{\n\t\t\tproviderCode = Map.DEFAULT_PROVIDER;\n\t\t}\n\n\t\t// init or set to schedule\n\t\tconst provider = new (Map.PROVIDERS[providerCode])(options);\n\t\tif (provider.isApiLoaded())\n\t\t{\n\t\t\tprovider.init();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif (!Type.isArray(Map.scheduled[provider.getCode()]))\n\t\t\t{\n\t\t\t\tMap.scheduled[provider.getCode()] = [];\n\t\t\t}\n\n\t\t\tMap.scheduled[provider.getCode()].push(provider);\n\t\t}\n\n\t\treturn provider;\n\t}\n\n\tstatic onApiLoaded(providerCode: string)\n\t{\n\t\tif (Type.isArray(Map.scheduled[providerCode]))\n\t\t{\n\t\t\tMap.scheduled[providerCode].forEach(provider =>\n\t\t\t{\n\t\t\t\tprovider.init();\n\t\t\t});\n\t\t}\n\t}\n}"],"names":["BaseProvider","EventEmitter","constructor","options","code","onChangeHandler","Type","isFunction","onChange","onMapClickHandler","onMapClick","onAddMarkerHandler","onAddMarker","onApiLoadedHandler","onApiLoaded","onInitHandler","onProviderInit","mapOptions","prepareMapOptions","mapContainer","markers","BaseCollection","mapInstance","cache","Cache","MemoryCache","handleApiLoad","Runtime","debounce","bind","getDefaultMapOptions","center","getDefaultCenter","zoom","latLng","title","description","isPlainObject","preparedOptions","isPoint","isArray","length","firstMarker","point","Loc","getMessage","lat","lng","isObjectLike","Object","keys","getPointByEvent","event","Error","getCode","isApiLoaded","init","emit","reinit","preventChangeEvent","addMarker","onMarkerClick","item","removeMarker","clearMarkers","getValue","setValue","value","forEach","BX","Landing","Utils","isEmpty","setCenter","isNumber","setZoom","onEditFormApplyClick","onEditFormRemoveClick","createBalloonEditForm","form","UI","Form","BalloonForm","applyButton","Button","BaseButton","text","className","onClick","removeButton","layout","classList","remove","footer","Tag","render","addField","Field","Text","textOnly","content","Checkbox","compact","items","name","showByDefault","appendChild","createBalloonContent","AUBERGINE","DARK","NIGHT","RETRO","SILVER","themes","roads","landmarks","labels","GoogleMap","setEventNamespace","opts","google","maps","Map","zoomControl","isBoolean","mapTypeControl","mapTypeControlOptions","scaleControl","streetViewControl","rotateControl","fullscreenControl","styles","getStylesFromOptions","markerItem","editable","getMode","draggable","addListener","setOptions","theme","concat","window","onGoogleMapApiLoaded","marker","Marker","position","map","infoWindow","InfoWindow","open","activeMarker","add","close","setMap","clear","getMarkersValue","fields","toJSON","getCenter","getZoom","YandexMap","controls","splice","indexOf","ymaps","convertPointIn","behaviors","events","delete","balloon","convertPointOut","get","onYandexMapApiLoaded","ballonId","getRandom","isNoNeedBalloon","balloonTemplate","templateLayoutFactory","createClass","build","superclass","call","container","document","querySelector","Dom","append","Placemark","balloonContentLayout","balloonPanelMaxMapArea","geoObjects","geometry","getCoordinates","remember","create","node","providerCode","dataset","DATA_ATTRIBUTE","PROVIDERS","DEFAULT_PROVIDER","provider","scheduled","push","yandex"],"mappings":";;;;;;;;AAAA,CAIO,MAAMA,YAAY,SAASC,6BAAY,CAC9C;;CAEA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;GACCC,WAAW,CAACC,OAAW,EACvB;KACC,KAAK,EAAE;;CAET;CACA;CACA;KACE,IAAI,CAACC,IAAI,GAAG,EAAE;KAEd,IAAI,CAACC,eAAe,GAAGC,cAAI,CAACC,UAAU,CAACJ,OAAO,CAACK,QAAQ,CAAC,GAAGL,OAAO,CAACK,QAAQ,GAAI,MAAM,EAAG;KACxF,IAAI,CAACC,iBAAiB,GAAGH,cAAI,CAACC,UAAU,CAACJ,OAAO,CAACO,UAAU,CAAC,GAAGP,OAAO,CAACO,UAAU,GAAI,MAAM,EAAG;KAC9F,IAAI,CAACC,kBAAkB,GAAGL,cAAI,CAACC,UAAU,CAACJ,OAAO,CAACS,WAAW,CAAC,GAAGT,OAAO,CAACS,WAAW,GAAI,MAAM,EAAG;KACjG,IAAI,CAACC,kBAAkB,GAAGP,cAAI,CAACC,UAAU,CAACJ,OAAO,CAACW,WAAW,CAAC,GAAGX,OAAO,CAACW,WAAW,GAAI,MAAM,EAAG;KACjG,IAAI,CAACC,aAAa,GAAGT,cAAI,CAACC,UAAU,CAACJ,OAAO,CAACa,cAAc,CAAC,GAAGb,OAAO,CAACa,cAAc,GAAI,MAAM,EAAG;KAClG,IAAI,CAACb,OAAO,GAAGA,OAAO;KACtB,IAAI,CAACc,UAAU,GAAG,IAAI,CAACC,iBAAiB,CAACf,OAAO,CAACc,UAAU,CAAC;KAC5D,IAAI,CAACE,YAAY,GAAGhB,OAAO,CAACgB,YAAY;KACxC,IAAI,CAACC,OAAO,GAAG,IAAIC,gDAAc,EAAE;KACnC,IAAI,CAACC,WAAW,GAAG,IAAI;KAEvB,IAAI,CAACC,KAAK,GAAG,IAAIC,eAAK,CAACC,WAAW,EAAE;KAEpC,IAAI,CAACC,aAAa,EAAE;KAEpB,IAAI,CAAClB,QAAQ,GAAGmB,iBAAO,CAACC,QAAQ,CAAC,IAAI,CAACpB,QAAQ,CAACqB,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC;;;;CAMjE;CACA;CACA;GACCC,oBAAoB,GACpB;KACC,OAAO;OACNC,MAAM,EAAE,IAAI,CAACC,gBAAgB,EAAE;OAC/BC,IAAI,EAAE,EAAE;OACRb,OAAO,EAAE,CACR;SACCc,MAAM,EAAE,IAAI,CAACF,gBAAgB,EAAE;;SAE/BG,KAAK,EAAE,UAAU;SACjBC,WAAW,EAAE;QACb;MAEF;;;;CAIH;CACA;CACA;CACA;GACClB,iBAAiB,CAACD,UAAc,EAChC;KACC,IAAI,CAACX,cAAI,CAAC+B,aAAa,CAACpB,UAAU,CAAC,EACnC;OACC,OAAO,IAAI,CAACa,oBAAoB,EAAE;;KAGnC,IAAIQ,eAAe,GAAGrB,UAAU;KAChC,IAAI,CAAC,IAAI,CAACsB,OAAO,CAACD,eAAe,CAACP,MAAM,CAAC,EACzC;OACCO,eAAe,CAACP,MAAM,GAAG,IAAI,CAACC,gBAAgB,EAAE;OAEhD,IACC1B,cAAI,CAACkC,OAAO,CAACvB,UAAU,CAACG,OAAO,CAAC,IAC7BH,UAAU,CAACG,OAAO,CAACqB,MAAM,GAAG,CAAC,EAEjC;SACC,MAAMC,WAAW,GAAGzB,UAAU,CAACG,OAAO,CAAC,CAAC,CAAC;SAEzC,IACCd,cAAI,CAAC+B,aAAa,CAACK,WAAW,CAAC,IAC5B,IAAI,CAACH,OAAO,CAACG,WAAW,CAACR,MAAM,CAAC,EAEpC;WACCI,eAAe,CAACP,MAAM,GAAGW,WAAW,CAACR,MAAM;;;;KAK9C,OAAOI,eAAe;;;;CAIxB;CACA;CACA;GACCN,gBAAgB,GAChB;KACC,IAAIW,KAAK;KACT,QAAQC,aAAG,CAACC,UAAU,CAAC,aAAa,CAAC;OAEpC,KAAK,IAAI;SACRF,KAAK,GAAG;WACPG,GAAG,EAAE,iBAAiB;WACtBC,GAAG,EAAE;UACL;SACD;OACD,KAAK,IAAI;SACRJ,KAAK,GAAG;WACPG,GAAG,EAAE,SAAS;WACdC,GAAG,EAAE;UACL;SACD;OACD;;SAECJ,KAAK,GAAG;WACPG,GAAG,EAAE,SAAS;WACdC,GAAG,EAAE,CAAC;UACN;SACD;;KAGF,OAAOJ,KAAK;;;;CAId;CACA;CACA;CACA;GACCJ,OAAO,CAACI,KAAK,EACb;KACC,OAAOrC,cAAI,CAAC0C,YAAY,CAACL,KAAK,CAAC,IAAIM,MAAM,CAACC,IAAI,CAACP,KAAK,CAAC,CAACF,MAAM,KAAK,CAAC;;;;CAIpE;CACA;CACA;GACCU,eAAe,CAACC,KAAK,EACrB;KACC,MAAM,IAAIC,KAAK,CAAC,iCAAiC,CAAC;;GAGnDC,OAAO,GACP;KACC,OAAO,IAAI,CAAClD,IAAI;;;;CAIlB;CACA;CACA;GACCmD,WAAW,GACX;KACC,MAAM,IAAIF,KAAK,CAAC,iCAAiC,CAAC;;;;CAIpD;CACA;CACA;CACA;GACCG,IAAI,GACJ;KACC,IAAI,CAACzC,aAAa,EAAE;KACpB,IAAI,CAAC0C,IAAI,CAAC,QAAQ,CAAC;;;;CAIrB;CACA;CACA;GACCC,MAAM,CAACvD,OAAW,EAClB;;KAEC,IAAI,CAACA,OAAO,GAAGA,OAAO;KACtB,IAAI,CAACsD,IAAI,CAAC,QAAQ,CAAC;;;;CAIrB;CACA;CACA;GACC/B,aAAa,GACb;KACC,MAAM,IAAI2B,KAAK,CAAC,iCAAiC,CAAC;;;;CAIpD;CACA;GACC7C,QAAQ,GACR;KACC,IAAI,CAACH,eAAe,CAAC,IAAI,CAACsD,kBAAkB,CAAC;KAC7C,IAAI,CAACA,kBAAkB,GAAG,KAAK;;;;CAIjC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;GACCC,SAAS,CAACzD,OAAO,EACjB;KACC,MAAM,IAAIkD,KAAK,CAAC,iCAAiC,CAAC;;;;CAIpD;CACA;CACA;GACCQ,aAAa,CAACC,IAAI,EAClB;KACC,MAAM,IAAIT,KAAK,CAAC,iCAAiC,CAAC;;;;CAIpD;CACA;CACA;CACA;GACCU,YAAY,CAAC5D,OAAO,EACpB;KACC,MAAM,IAAIkD,KAAK,CAAC,iCAAiC,CAAC;;;;CAIpD;CACA;CACA;CACA;GACCW,YAAY,GACZ;KACC,MAAM,IAAIX,KAAK,CAAC,iCAAiC,CAAC;;;;CAIpD;CACA;CACA;GACCY,QAAQ,GACR;KACC,MAAM,IAAIZ,KAAK,CAAC,iCAAiC,CAAC;;;;CAIpD;CACA;CACA;CACA;GACCa,QAAQ,CAACC,KAAK,EAAER,kBAAkB,EAClC;KACC,IAAI,CAACA,kBAAkB,GAAGA,kBAAkB;KAE5C,IAAI,CAACK,YAAY,EAAE;KAEnB,IAAI1D,cAAI,CAAC+B,aAAa,CAAC8B,KAAK,CAAC,EAC7B;OACC,IAAI7D,cAAI,CAACkC,OAAO,CAAC2B,KAAK,CAAC/C,OAAO,CAAC,EAC/B;SACC+C,KAAK,CAAC/C,OAAO,CAACgD,OAAO,CAAC,IAAI,CAACR,SAAS,EAAE,IAAI,CAAC;;OAG5C,IAAI,CAACS,EAAE,CAACC,OAAO,CAACC,KAAK,CAACC,OAAO,CAACL,KAAK,CAACpC,MAAM,CAAC,EAC3C;SACC,IAAI,CAAC0C,SAAS,CAACN,KAAK,CAACpC,MAAM,CAAC;;OAG7B,IAAIoC,KAAK,CAAClC,IAAI,IAAI3B,cAAI,CAACoE,QAAQ,CAACP,KAAK,CAAClC,IAAI,CAAC,EAC3C;SACC,IAAI,CAAC0C,OAAO,CAACR,KAAK,CAAClC,IAAI,CAAC;;;;;;CAM5B;CACA;GACC2C,oBAAoB,CAACxB,KAAK,EAC1B;KACC,MAAM,IAAIC,KAAK,CAAC,iCAAiC,CAAC;;;;CAIpD;CACA;CACA;GACCwB,qBAAqB,CAACzB,KAAK,EAC3B;KACC,MAAM,IAAIC,KAAK,CAAC,iCAAiC,CAAC;;;;CAIpD;CACA;CACA;CACA;CACA;GACCyB,qBAAqB,CAAC3E,OAAO,EAAEiD,KAAK,EACpC;KACC,MAAM2B,IAAI,GAAG,IAAIV,EAAE,CAACC,OAAO,CAACU,EAAE,CAACC,IAAI,CAACC,WAAW,CAAC;OAC/C/C,KAAK,EAAES,aAAG,CAACC,UAAU,CAAC,8BAA8B;MACpD,CAAC;KAEF,MAAMsC,WAAW,GAAG,IAAId,EAAE,CAACC,OAAO,CAACU,EAAE,CAACI,MAAM,CAACC,UAAU,CAAC;OACvDC,IAAI,EAAE1C,aAAG,CAACC,UAAU,CAAC,yCAAyC,CAAC;OAC/D0C,SAAS,EAAE,CAAC,QAAQ,EAAE,gBAAgB,EAAE,WAAW,CAAC;OACpDC,OAAO,EAAE,IAAI,CAACZ,oBAAoB,CAAC/C,IAAI,CAAC,IAAI,EAAEuB,KAAK;MACnD,CAAC;KAEF,MAAMqC,YAAY,GAAG,IAAIpB,EAAE,CAACC,OAAO,CAACU,EAAE,CAACI,MAAM,CAACC,UAAU,CAAC;OACxDC,IAAI,EAAE1C,aAAG,CAACC,UAAU,CAAC,0CAA0C,CAAC;OAChE0C,SAAS,EAAE,CAAC,QAAQ,EAAE,eAAe,EAAE,WAAW,CAAC;OACnDC,OAAO,EAAE,IAAI,CAACX,qBAAqB,CAAChD,IAAI,CAAC,IAAI,EAAEuB,KAAK;MACpD,CAAC;KAEF+B,WAAW,CAACO,MAAM,CAACC,SAAS,CAACC,MAAM,CAAC,mBAAmB,CAAC;KACxDH,YAAY,CAACC,MAAM,CAACC,SAAS,CAACC,MAAM,CAAC,mBAAmB,CAAC;KAEzD,MAAMC,MAAM,GAAGC,aAAG,CAACC,MAAM,cAAC;;MAExB,CAAqB;MACrB,CAAsB;;GAExB,GAHIZ,WAAW,CAACO,MAAM,EAClBD,YAAY,CAACC,MAAM,CAEtB;KAEDX,IAAI,CAACiB,QAAQ,CACZ,IAAI3B,EAAE,CAACC,OAAO,CAACU,EAAE,CAACiB,KAAK,CAACC,IAAI,CAAC;OAC5B/D,KAAK,EAAES,aAAG,CAACC,UAAU,CAAC,6BAA6B,CAAC;OACpDsD,QAAQ,EAAE,IAAI;OACdC,OAAO,EAAEjG,OAAO,CAACgC;MACjB,CAAC,CACF;KAED4C,IAAI,CAACiB,QAAQ,CACZ,IAAI3B,EAAE,CAACC,OAAO,CAACU,EAAE,CAACiB,KAAK,CAACC,IAAI,CAAC;OAC5B/D,KAAK,EAAES,aAAG,CAACC,UAAU,CAAC,mCAAmC,CAAC;OAC1D0C,SAAS,EAAE,kCAAkC;OAC7Ca,OAAO,EAAEjG,OAAO,CAACiC;MACjB,CAAC,CACF;KAED2C,IAAI,CAACiB,QAAQ,CACZ,IAAI3B,EAAE,CAACC,OAAO,CAACU,EAAE,CAACiB,KAAK,CAACI,QAAQ,CAAC;OAChCd,SAAS,EAAE,sCAAsC;OACjDe,OAAO,EAAE,IAAI;OACbC,KAAK,EAAE,CACN;SAACC,IAAI,EAAE5D,aAAG,CAACC,UAAU,CAAC,uCAAuC,CAAC;SAAE,OAAO,EAAE;QAAK,CAC9E;OACDsB,KAAK,EAAE,CAAChE,OAAO,CAACsG,aAAa;MAC7B,CAAC,CACF;KAED1B,IAAI,CAACW,MAAM,CAACgB,WAAW,CAACb,MAAM,CAAC;KAE/B,OAAOd,IAAI;;;;CAIb;CACA;CACA;CACA;GACC4B,oBAAoB,CAACxG,OAAO,EAC5B;KACC,OAAO2F,aAAG,CAACC,MAAM,gBAAC;;sDAEgC,CAAgB;2DACX,CAAsB;;GAE7E,GAHoD5F,OAAO,CAACgC,KAAK,EACRhC,OAAO,CAACiC,WAAW;;CAI9E;;CClZO,MAAMwE,SAAS,GAAG,CACxB;GACC,aAAa,EAAE,UAAU;GACzB,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,kBAAkB;GACjC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,oBAAoB;GACnC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,wBAAwB;GACvC,aAAa,EAAE,iBAAiB;GAChC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,4BAA4B;GAC3C,aAAa,EAAE,kBAAkB;GACjC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,yBAAyB;GACxC,aAAa,EAAE,iBAAiB;GAChC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,oBAAoB;GACnC,aAAa,EAAE,iBAAiB;GAChC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,mBAAmB;GAClC,aAAa,EAAE,UAAU;GACzB,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,KAAK;GACpB,aAAa,EAAE,UAAU;GACzB,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,KAAK;GACpB,aAAa,EAAE,kBAAkB;GACjC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,KAAK;GACpB,aAAa,EAAE,oBAAoB;GACnC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,UAAU;GACzB,aAAa,EAAE,eAAe;GAC9B,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,UAAU;GACzB,aAAa,EAAE,kBAAkB;GACjC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,MAAM;GACrB,aAAa,EAAE,UAAU;GACzB,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,MAAM;GACrB,aAAa,EAAE,kBAAkB;GACjC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,MAAM;GACrB,aAAa,EAAE,oBAAoB;GACnC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,cAAc;GAC7B,aAAa,EAAE,UAAU;GACzB,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,cAAc;GAC7B,aAAa,EAAE,iBAAiB;GAChC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,cAAc;GAC7B,aAAa,EAAE,kBAAkB;GACjC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,cAAc;GAC7B,aAAa,EAAE,oBAAoB;GACnC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,SAAS;GACxB,aAAa,EAAE,kBAAkB;GACjC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,SAAS;GACxB,aAAa,EAAE,oBAAoB;GACnC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,cAAc;GAC7B,aAAa,EAAE,eAAe;GAC9B,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,iBAAiB;GAChC,aAAa,EAAE,UAAU;GACzB,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,OAAO;GACtB,aAAa,EAAE,UAAU;GACzB,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,OAAO;GACtB,aAAa,EAAE,kBAAkB;GACjC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,CACD;;CCpLM,MAAMC,IAAI,GAAG,CACnB;GACC,aAAa,EAAE,UAAU;GACzB,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,aAAa;GAC5B,SAAS,EAAE,CACV;KAAC,YAAY,EAAE;IAAM;CAEvB,CAAC,EACD;GACC,aAAa,EAAE,kBAAkB;GACjC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,oBAAoB;GACnC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,gBAAgB;GAC/B,aAAa,EAAE,UAAU;GACzB,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,wBAAwB;GACvC,aAAa,EAAE,kBAAkB;GACjC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,4BAA4B;GAC3C,SAAS,EAAE,CACV;KAAC,YAAY,EAAE;IAAM;CAEvB,CAAC,EACD;GACC,aAAa,EAAE,yBAAyB;GACxC,aAAa,EAAE,kBAAkB;GACjC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,KAAK;GACpB,aAAa,EAAE,kBAAkB;GACjC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,UAAU;GACzB,aAAa,EAAE,UAAU;GACzB,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,UAAU;GACzB,aAAa,EAAE,kBAAkB;GACjC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,UAAU;GACzB,aAAa,EAAE,oBAAoB;GACnC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,MAAM;GACrB,aAAa,EAAE,eAAe;GAC9B,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,MAAM;GACrB,aAAa,EAAE,kBAAkB;GACjC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,eAAe;GAC9B,aAAa,EAAE,UAAU;GACzB,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,cAAc;GAC7B,aAAa,EAAE,UAAU;GACzB,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,gCAAgC;GAC/C,aAAa,EAAE,UAAU;GACzB,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,YAAY;GAC3B,aAAa,EAAE,kBAAkB;GACjC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,SAAS;GACxB,aAAa,EAAE,kBAAkB;GACjC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,OAAO;GACtB,aAAa,EAAE,UAAU;GACzB,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,OAAO;GACtB,aAAa,EAAE,kBAAkB;GACjC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,CACD;;CC/IM,MAAMC,KAAK,GAAG,CACpB;GACC,aAAa,EAAE,UAAU;GACzB,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,kBAAkB;GACjC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,oBAAoB;GACnC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,yBAAyB;GACxC,aAAa,EAAE,kBAAkB;GACjC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,KAAK;GACpB,aAAa,EAAE,kBAAkB;GACjC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,UAAU;GACzB,aAAa,EAAE,UAAU;GACzB,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,UAAU;GACzB,aAAa,EAAE,kBAAkB;GACjC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,MAAM;GACrB,aAAa,EAAE,UAAU;GACzB,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,MAAM;GACrB,aAAa,EAAE,iBAAiB;GAChC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,MAAM;GACrB,aAAa,EAAE,kBAAkB;GACjC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,cAAc;GAC7B,aAAa,EAAE,UAAU;GACzB,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,cAAc;GAC7B,aAAa,EAAE,iBAAiB;GAChC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,cAAc;GAC7B,aAAa,EAAE,kBAAkB;GACjC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,SAAS;GACxB,aAAa,EAAE,UAAU;GACzB,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,iBAAiB;GAChC,aAAa,EAAE,kBAAkB;GACjC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,OAAO;GACtB,aAAa,EAAE,UAAU;GACzB,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,OAAO;GACtB,aAAa,EAAE,kBAAkB;GACjC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,OAAO;GACtB,aAAa,EAAE,oBAAoB;GACnC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,CACD;;CC5HM,MAAMC,KAAK,GAAG,CACpB;GACC,aAAa,EAAE,UAAU;GACzB,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,kBAAkB;GACjC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,oBAAoB;GACnC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,gBAAgB;GAC/B,aAAa,EAAE,iBAAiB;GAChC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,4BAA4B;GAC3C,aAAa,EAAE,iBAAiB;GAChC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,4BAA4B;GAC3C,aAAa,EAAE,kBAAkB;GACjC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,mBAAmB;GAClC,aAAa,EAAE,UAAU;GACzB,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,KAAK;GACpB,aAAa,EAAE,UAAU;GACzB,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,KAAK;GACpB,aAAa,EAAE,kBAAkB;GACjC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,UAAU;GACzB,aAAa,EAAE,eAAe;GAC9B,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,UAAU;GACzB,aAAa,EAAE,kBAAkB;GACjC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,MAAM;GACrB,aAAa,EAAE,UAAU;GACzB,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,eAAe;GAC9B,aAAa,EAAE,UAAU;GACzB,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,cAAc;GAC7B,aAAa,EAAE,UAAU;GACzB,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,cAAc;GAC7B,aAAa,EAAE,iBAAiB;GAChC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,gCAAgC;GAC/C,aAAa,EAAE,UAAU;GACzB,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,gCAAgC;GAC/C,aAAa,EAAE,iBAAiB;GAChC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,YAAY;GAC3B,aAAa,EAAE,kBAAkB;GACjC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,cAAc;GAC7B,aAAa,EAAE,UAAU;GACzB,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,cAAc;GAC7B,aAAa,EAAE,kBAAkB;GACjC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,cAAc;GAC7B,aAAa,EAAE,oBAAoB;GACnC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,iBAAiB;GAChC,aAAa,EAAE,UAAU;GACzB,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,OAAO;GACtB,aAAa,EAAE,eAAe;GAC9B,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,OAAO;GACtB,aAAa,EAAE,kBAAkB;GACjC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,CACD;;CCtKM,MAAMC,MAAM,GAAG,CACrB;GACC,aAAa,EAAE,UAAU;GACzB,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,aAAa;GAC5B,SAAS,EAAE,CACV;KAAC,YAAY,EAAE;IAAM;CAEvB,CAAC,EACD;GACC,aAAa,EAAE,kBAAkB;GACjC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,oBAAoB;GACnC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,4BAA4B;GAC3C,aAAa,EAAE,kBAAkB;GACjC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,KAAK;GACpB,aAAa,EAAE,UAAU;GACzB,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,KAAK;GACpB,aAAa,EAAE,kBAAkB;GACjC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,UAAU;GACzB,aAAa,EAAE,UAAU;GACzB,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,UAAU;GACzB,aAAa,EAAE,kBAAkB;GACjC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,MAAM;GACrB,aAAa,EAAE,UAAU;GACzB,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,eAAe;GAC9B,aAAa,EAAE,kBAAkB;GACjC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,cAAc;GAC7B,aAAa,EAAE,UAAU;GACzB,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,cAAc;GAC7B,aAAa,EAAE,kBAAkB;GACjC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,YAAY;GAC3B,aAAa,EAAE,kBAAkB;GACjC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,cAAc;GAC7B,aAAa,EAAE,UAAU;GACzB,SAAS,EAAE,CACV;KACC,OAAO,EAAE;IACT;CAEH,CAAC,EACD;GACC,aAAa,EAAE,iBAAiB;GAChC,aAAa,EAAE,UAAU;GACzB,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,OAAO;GACtB,aAAa,EAAE,UAAU;GACzB,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,EACD;GACC,aAAa,EAAE,OAAO;GACtB,aAAa,EAAE,kBAAkB;GACjC,SAAS,EAAE,CACV;KAAC,OAAO,EAAE;IAAU;CAEtB,CAAC,CACD;;CCvHM,MAAMC,MAAM,GAAG;GACrBL,SAAS,EAAEA,SAAS;GACpBC,IAAI,EAAEA,IAAI;GACVC,KAAK,EAAEA,KAAK;GACZC,KAAK,EAAEA,KAAK;GACZC,MAAM,EAAEA;CACT,CAAC;;CCZM,MAAME,KAAK,GAAG;GACpB,EAAE,EAAE,EAAE;GACN,KAAK,EAAE,CACN;KACC,aAAa,EAAE,MAAM;KACrB,SAAS,EAAE,CACV;OAAC,YAAY,EAAE;MAAO;IAEvB;CAEH,CAAC;AAED,CAAO,MAAMC,SAAS,GAAG;GACxB,EAAE,EAAE,EAAE;GACN,KAAK,EAAE,CACN;KACC,aAAa,EAAE,gBAAgB;KAC/B,aAAa,EAAE,UAAU;KACzB,SAAS,EAAE,CAAC;OAAC,YAAY,EAAE;MAAM;IACjC,EACD;KACC,aAAa,EAAE,KAAK;KACpB,SAAS,EAAE,CAAC;OAAC,YAAY,EAAE;MAAM;IAAE,EACpC;KACC,aAAa,EAAE,MAAM;KACrB,aAAa,EAAE,aAAa;KAC5B,SAAS,EAAE,CAAC;OAAC,YAAY,EAAE;MAAM;IACjC,EACD;KACC,aAAa,EAAE,SAAS;KACxB,SAAS,EAAE,CAAC;OAAC,YAAY,EAAE;MAAM;IACjC;CAEH,CAAC;AAED,CAAO,MAAMC,MAAM,GAAG;GACrB,EAAE,EAAE,EAAE;GACN,KAAK,EAAE,CACN;KACC,aAAa,EAAE,QAAQ;KACvB,SAAS,EAAE,CAAC;OAAC,YAAY,EAAE;MAAM;IACjC,EACD;KACC,aAAa,EAAE,4BAA4B;KAC3C,SAAS,EAAE,CAAC;OAAC,YAAY,EAAE;MAAM;IACjC,EACD;KACC,aAAa,EAAE,6BAA6B;KAC5C,SAAS,EAAE,CAAC;OAAC,YAAY,EAAE;MAAM;IACjC;CAEH,CAAC;;CC9CM,MAAMC,SAAS,SAASrH,YAAY,CAC3C;GACCE,WAAW,CAACC,OAAW,EACvB;KACC,KAAK,CAACA,OAAO,CAAC;KACd,IAAI,CAACmH,iBAAiB,CAAC,mCAAmC,CAAC;KAC3D,IAAI,CAAClH,IAAI,GAAG,QAAQ;KACpB,IAAI,CAAC6G,MAAM,GAAGA,MAAM;;;;CAItB;CACA;CACA;GACC9D,eAAe,CAACC,KAAK,EACrB;KACC,MAAMT,KAAK,GAAGS,KAAK,CAAClB,MAAM;KAC1B,OAAO,IAAI,CAACK,OAAO,CAACI,KAAK,CAAC,GAAGA,KAAK,GAAG,EAAE;;;;CAIzC;CACA;GACCa,IAAI,GACJ;KACC,IAAI,CAACG,kBAAkB,GAAG,IAAI;KAE9B,IAAI4D,IAAI,GAAG,IAAI,CAACpH,OAAO;KAEvB,IAAI,CAACmB,WAAW,GAAG,IAAIkG,MAAM,CAACC,IAAI,CAACC,GAAG,CAAC,IAAI,CAACvG,YAAY,EAAE;OACzDc,IAAI,EAAE,IAAI,CAAChB,UAAU,CAACgB,IAAI;OAC1BF,MAAM,EAAE,IAAI,CAACd,UAAU,CAACc,MAAM;OAC9B4F,WAAW,EAAErH,cAAI,CAACsH,SAAS,CAACL,IAAI,CAACI,WAAW,CAAC,GAAGJ,IAAI,CAACI,WAAW,GAAG,IAAI;OACvEE,cAAc,EAAEvH,cAAI,CAACsH,SAAS,CAACL,IAAI,CAACM,cAAc,CAAC,GAAGN,IAAI,CAACM,cAAc,GAAG,IAAI;OAChFC,qBAAqB,EAAExH,cAAI,CAAC+B,aAAa,CAACkF,IAAI,CAACO,qBAAqB,CAAC,GAAGP,IAAI,CAACO,qBAAqB,GAAG,IAAI;OACzGC,YAAY,EAAEzH,cAAI,CAACsH,SAAS,CAACL,IAAI,CAACQ,YAAY,CAAC,GAAGR,IAAI,CAACQ,YAAY,GAAG,IAAI;OAC1EC,iBAAiB,EAAE1H,cAAI,CAACsH,SAAS,CAACL,IAAI,CAACS,iBAAiB,CAAC,GAAGT,IAAI,CAACS,iBAAiB,GAAG,IAAI;OACzFC,aAAa,EAAE3H,cAAI,CAACsH,SAAS,CAACL,IAAI,CAACU,aAAa,CAAC,GAAGV,IAAI,CAACU,aAAa,GAAG,IAAI;OAC7EC,iBAAiB,EAAE5H,cAAI,CAACsH,SAAS,CAACL,IAAI,CAACW,iBAAiB,CAAC,GAAGX,IAAI,CAACW,iBAAiB,GAAG,IAAI;OACzFC,MAAM,EAAE,IAAI,CAACC,oBAAoB,CAACb,IAAI;MACtC,CAAC;KAEF,IAAI,IAAI,CAACtG,UAAU,CAACG,OAAO,EAC3B;OACC,IAAI,CAACH,UAAU,CAACG,OAAO,CAACgD,OAAO,CAAC,UAAUiE,UAAU,EACpD;SACCA,UAAU,CAACC,QAAQ,GAAGjE,EAAE,CAACC,OAAO,CAACiE,OAAO,EAAE,KAAK,MAAM;SACrDF,UAAU,CAACG,SAAS,GAAGnE,EAAE,CAACC,OAAO,CAACiE,OAAO,EAAE,KAAK,MAAM;SACtD,IAAI,CAAC3E,SAAS,CAACyE,UAAU,CAAC;QAC1B,EAAE,IAAI,CAAC;;KAGT,IAAI,CAAC/G,WAAW,CAACmH,WAAW,CAAC,gBAAgB,EAAE,IAAI,CAACjI,QAAQ,CAAC;KAC7D,IAAI,CAACc,WAAW,CAACmH,WAAW,CAAC,gBAAgB,EAAE,IAAI,CAACjI,QAAQ,CAAC;KAC7D,IAAI,CAACc,WAAW,CAACmH,WAAW,CAAC,cAAc,EAAE,IAAI,CAACjI,QAAQ,CAAC;KAC3D,IAAI,CAACc,WAAW,CAACmH,WAAW,CAAC,OAAO,EAAE,IAAI,CAAChI,iBAAiB,CAAC;KAE7D,KAAK,CAAC+C,IAAI,EAAE;;GAGbE,MAAM,CAACvD,OAAW,EAClB;KACC,IAAI,CAACwD,kBAAkB,GAAG,IAAI;KAC9B,IAAI,IAAI,CAACrC,WAAW,EACpB;OACC,IAAI,CAACA,WAAW,CAACoH,UAAU,CAAC;SAC3BP,MAAM,EAAE,IAAI,CAACC,oBAAoB,CAACjI,OAAO;QACzC,CAAC;;KAEH,KAAK,CAACuD,MAAM,EAAE;;GAGf0E,oBAAoB,CAACjI,OAAO,EAC5B;KACC,OAAO,CAACA,OAAO,CAACwI,KAAK,IAAIxI,OAAO,CAACwI,KAAK,IAAI,IAAI,CAAC1B,MAAM,GAAG,IAAI,CAACA,MAAM,CAAC9G,OAAO,CAACwI,KAAK,CAAC,GAAG,EAAE,EACrFC,MAAM,CAAC1B,KAAK,CAAC/G,OAAO,CAAC+G,KAAK,CAAC,IAAI,EAAE,EAAEC,SAAS,CAAChH,OAAO,CAACgH,SAAS,CAAC,IAAI,EAAE,EAAEC,MAAM,CAACjH,OAAO,CAACiH,MAAM,CAAC,IAAI,EAAE,CAAC;;;;CAIxG;CACA;CACA;GACC7D,WAAW,GACX;KACC,OAAQ,OAAOiE,MAAM,KAAK,WAAW;;;;CAIvC;CACA;CACA;GACC9F,aAAa,GACb;KACCmH,MAAM,CAACC,oBAAoB,GAAG,MAC9B;OACC,IAAI,CAACjI,kBAAkB,CAAC,IAAI,CAACyC,OAAO,EAAE,CAAC;MACvC;;;;CAIH;CACA;CACA;GACCM,SAAS,CAACzD,OAAO,EACjB;KACC,IAAI2D,IAAI,GAAG,EAAE;KACbA,IAAI,CAACiF,MAAM,GAAG,IAAIvB,MAAM,CAACC,IAAI,CAACuB,MAAM,CAAC;OACpCC,QAAQ,EAAE9I,OAAO,CAAC+B,MAAM;OACxBgH,GAAG,EAAE,IAAI,CAAC5H,WAAW;OACrBkH,SAAS,EAAErI,OAAO,CAACqI;MACnB,CAAC;KAEF1E,IAAI,CAACiB,IAAI,GAAGV,EAAE,CAACC,OAAO,CAACiE,OAAO,EAAE,KAAK,MAAM,GAAG,IAAI,CAACzD,qBAAqB,CAAC3E,OAAO,EAAE2D,IAAI,CAAC,GAAG,IAAI;KAC9FA,IAAI,CAACsC,OAAO,GAAG,IAAI,CAACO,oBAAoB,CAACxG,OAAO,CAAC;KAEjD2D,IAAI,CAACqF,UAAU,GAAG,IAAI3B,MAAM,CAACC,IAAI,CAAC2B,UAAU,CAAC;OAC5ChD,OAAO,EAAEjG,OAAO,CAACmI,QAAQ,IAAIjE,EAAE,CAACC,OAAO,CAACiE,OAAO,EAAE,KAAK,MAAM,GAAGzE,IAAI,CAACiB,IAAI,CAACW,MAAM,GAAG5B,IAAI,CAACsC;MACvF,CAAC;KAEF,IAAIjG,OAAO,CAACsG,aAAa,IAAIpC,EAAE,CAACC,OAAO,CAACiE,OAAO,EAAE,KAAK,MAAM,EAC5D;OACCzE,IAAI,CAACqF,UAAU,CAACE,IAAI,CAAC,IAAI,CAAC/H,WAAW,EAAEwC,IAAI,CAACiF,MAAM,CAAC;OACnD,IAAI,CAACO,YAAY,GAAGxF,IAAI;;KAGzB,IAAI,CAAC1C,OAAO,CAACmI,GAAG,CAACzF,IAAI,CAAC;;;KAGtB,IACCO,EAAE,CAACC,OAAO,CAACiE,OAAO,EAAE,KAAK,MAAM,IAC3BpI,OAAO,CAACgC,KAAK,IAAIhC,OAAO,CAACiC,WAAY,EAE1C;OACC0B,IAAI,CAACiF,MAAM,CAACN,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC5E,aAAa,CAAChC,IAAI,CAAC,IAAI,EAAEiC,IAAI,CAAC,CAAC;;KAEtE,IAAI,CAACtD,QAAQ,EAAE;;GAGhBqD,aAAa,CAACC,IAAI,EAClB;KACC,MAAM,IAAI,CAACwF,YAAY,IAAI,IAAI,CAACA,YAAY,CAACH,UAAU,CAACK,KAAK,EAAE,CAAC;KAChE1F,IAAI,CAACqF,UAAU,CAACE,IAAI,CAAC,IAAI,CAAC/H,WAAW,EAAEwC,IAAI,CAACiF,MAAM,CAAC;KACnD,IAAI,CAACO,YAAY,GAAGxF,IAAI;;GAGzBe,qBAAqB,CAACzB,KAAK,EAC3B;KACC,IAAIA,KAAK,EACT;OACCA,KAAK,CAAC+F,UAAU,CAACK,KAAK,EAAE;OACxB,IAAI,CAACzF,YAAY,CAACX,KAAK,CAAC;;KAGzB,IAAI,CAAChC,OAAO,CAACwE,MAAM,CAACxC,KAAK,CAAC;KAC1B,IAAI,CAAC5C,QAAQ,EAAE;;GAGhBoE,oBAAoB,CAACxB,KAAK,EAC1B;KACCA,KAAK,CAAC+F,UAAU,CAACK,KAAK,EAAE;KACxB,IAAI,CAAChJ,QAAQ,EAAE;;GAGhBuD,YAAY,CAACX,KAAK,EAClB;KACCA,KAAK,CAAC2F,MAAM,CAACU,MAAM,CAAC,IAAI,CAAC;KACzB,IAAI,CAACrI,OAAO,CAACwE,MAAM,CAACxC,KAAK,CAAC;;GAG3BY,YAAY,GACZ;KACC,IAAI,CAAC5C,OAAO,CAACgD,OAAO,CAAC2E,MAAM,IAAI;OAC9BA,MAAM,CAACA,MAAM,CAACU,MAAM,CAAC,IAAI,CAAC;MAC1B,CAAC;KACF,IAAI,CAACrI,OAAO,CAACsI,KAAK,EAAE;;GAGrB/E,OAAO,CAAC1C,IAAI,EACZ;KACC,IAAI,CAAC0B,kBAAkB,GAAG,IAAI;KAC9B,IAAI,CAACrC,WAAW,CAACqD,OAAO,CAAC1C,IAAI,CAAC;;GAG/BwC,SAAS,CAAC1C,MAAM,EAChB;KACC,IAAI,CAAC4B,kBAAkB,GAAG,IAAI;KAC9B,IAAI,CAACrC,WAAW,CAACmD,SAAS,CAAC1C,MAAM,CAAC;;GAGnC4H,eAAe,GACf;KACC,OAAO,IAAI,CAACvI,OAAO,CAAC8H,GAAG,CAAC,UAAUpF,IAAI,EACtC;OACC,OAAO;SACN3B,KAAK,EAAE2B,IAAI,CAACiB,IAAI,GAAGjB,IAAI,CAACiB,IAAI,CAAC6E,MAAM,CAAC,CAAC,CAAC,CAAC3F,QAAQ,EAAE,GAAG,EAAE;SACtD7B,WAAW,EAAE0B,IAAI,CAACiB,IAAI,GAAGjB,IAAI,CAACiB,IAAI,CAAC6E,MAAM,CAAC,CAAC,CAAC,CAAC3F,QAAQ,EAAE,GAAG,EAAE;SAC5DwC,aAAa,EAAE3C,IAAI,CAACiB,IAAI,GAAG,CAAC,CAACjB,IAAI,CAACiB,IAAI,CAAC6E,MAAM,CAAC,CAAC,CAAC,CAAC3F,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE;SACnE/B,MAAM,EAAE4B,IAAI,CAACiF,MAAM,CAACE,QAAQ,CAACY,MAAM;QACnC;MACD,CAAC;;GAGH5F,QAAQ,GACR;KACC,OAAO;OACNlC,MAAM,EAAE,IAAI,CAACT,WAAW,CAACwI,SAAS,EAAE,GAAG,IAAI,CAACxI,WAAW,CAACwI,SAAS,EAAE,CAACD,MAAM,EAAE,GAAG,EAAE;OACjF5H,IAAI,EAAE,IAAI,CAACX,WAAW,CAACyI,OAAO,EAAE;OAChC3I,OAAO,EAAE,IAAI,CAACuI,eAAe;MAC7B;;CAEH;;CCpNO,MAAMK,SAAS,SAAShK,YAAY,CAC3C;GACCE,WAAW,CAACC,OAAW,EACvB;KACC,KAAK,CAACA,OAAO,CAAC;KACd,IAAI,CAACmH,iBAAiB,CAAC,mCAAmC,CAAC;KAC3D,IAAI,CAAClH,IAAI,GAAG,QAAQ;;;;CAItB;CACA;GACCoD,IAAI,GACJ;KACC,IAAI,CAACG,kBAAkB,GAAG,IAAI;KAE9B,MAAMsG,QAAQ,GAAG,CAAC,aAAa,EAAE,mBAAmB,EAAE,cAAc,EAAE,oBAAoB,CAAC;KAC3F,IAAI,IAAI,CAAC9J,OAAO,CAAC+H,iBAAiB,KAAK,KAAK,EAC5C;OACC+B,QAAQ,CAACC,MAAM,CAACD,QAAQ,CAACE,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;;KAE1D,IAAI,IAAI,CAAChK,OAAO,CAAC0H,cAAc,KAAK,KAAK,EACzC;OACCoC,QAAQ,CAACC,MAAM,CAACD,QAAQ,CAACE,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;OACpDF,QAAQ,CAACC,MAAM,CAACD,QAAQ,CAACE,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;;KAG3D,IAAI,CAAC7I,WAAW,GAAG,IAAI8I,KAAK,CAAC1C,GAAG,CAAC,IAAI,CAACvG,YAAY,EAAE;OACnDY,MAAM,EAAE,IAAI,CAACsI,cAAc,CAAC,IAAI,CAACpJ,UAAU,CAACc,MAAM,CAAC;OACnDE,IAAI,EAAE,IAAI,CAAChB,UAAU,CAACgB,IAAI;OAC1BqI,SAAS,EAAE,IAAI,CAACnK,OAAO,CAACwH,WAAW,KAAK,KAAK,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC;OACtEsC,QAAQ,EAAEA;MACV,CAAC;KAEF,IAAI,CAAC3I,WAAW,CAACiJ,MAAM,CAAChB,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC/I,QAAQ,CAAC;KACvD,IAAI,CAACc,WAAW,CAACiJ,MAAM,CAAChB,GAAG,CAAC,OAAO,EAAEnG,KAAK,IAC1C;OACC,IAAI,CAAC7B,KAAK,CAACiJ,MAAM,CAAC,OAAO,CAAC;OAC1B,IAAI,CAAC/J,iBAAiB,CAAC2C,KAAK,CAAC;OAC7B,IAAIiB,EAAE,CAACC,OAAO,CAACiE,OAAO,EAAE,KAAK,MAAM,EACnC;SACC,IAAI,CAACnH,OAAO,CAAC,IAAI,CAACA,OAAO,CAACqB,MAAM,GAAG,CAAC,CAAC,CAACsG,MAAM,CAAC0B,OAAO,CAACpB,IAAI,EAAE;;MAE5D,CAAC;KAEF,IAAI,IAAI,CAACpI,UAAU,CAACG,OAAO,EAC3B;OACC,IAAI,CAACH,UAAU,CAACG,OAAO,CAACgD,OAAO,CAACiE,UAAU,IAAI;SAC7CA,UAAU,CAACC,QAAQ,GAAGjE,EAAE,CAACC,OAAO,CAACiE,OAAO,EAAE,KAAK,MAAM;SACrDF,UAAU,CAACG,SAAS,GAAGnE,EAAE,CAACC,OAAO,CAACiE,OAAO,EAAE,KAAK,MAAM;SACtD,IAAI,CAAC3E,SAAS,CAACyE,UAAU,CAAC;QAC1B,CAAC;;KAGH,KAAK,CAAC7E,IAAI,EAAE;;GAGbE,MAAM,CAACvD,OAAW,EAClB;;KAEC,IAAI,CAACwD,kBAAkB,GAAG,IAAI;KAC9B,KAAK,CAACD,MAAM,EAAE;;;;CAIhB;CACA;CACA;GACCH,WAAW,GACX;KACC,OACC,OAAO6G,KAAK,KAAK,WAAW,IACzB,OAAOA,KAAK,CAAC1C,GAAG,KAAK,WAAW;;;;CAKtC;CACA;CACA;CACA;GACC2C,cAAc,CAAC1H,KAAiC,EAChD;KACC,OAAO,CAACA,KAAK,CAACG,GAAG,EAAEH,KAAK,CAACI,GAAG,CAAC;;;;CAI/B;CACA;CACA;CACA;GACC2H,eAAe,CAAC/H,KAAuB,EACvC;KACC,OAAO;OAACG,GAAG,EAAEH,KAAK,CAAC,CAAC,CAAC;OAAEI,GAAG,EAAEJ,KAAK,CAAC,CAAC;MAAE;;;;CAIvC;CACA;CACA;GACCQ,eAAe,CAACC,KAAK,EACrB;KACC,OAAO,IAAI,CAACsH,eAAe,CAACtH,KAAK,CAACuH,GAAG,CAAC,QAAQ,CAAC,CAAC;;;;CAIlD;CACA;CACA;GACCjJ,aAAa,GACb;KACCmH,MAAM,CAAC+B,oBAAoB,GAAG,MAC9B;OACC,IAAI,CAAC/J,kBAAkB,CAAC,IAAI,CAACyC,OAAO,EAAE,CAAC;MACvC;;;;CAIH;CACA;CACA;GACCM,SAAS,CAACzD,OAAO,EACjB;KACC,MAAM2D,IAAI,GAAG,EAAE;KACfA,IAAI,CAACiB,IAAI,GAAGV,EAAE,CAACC,OAAO,CAACiE,OAAO,EAAE,KAAK,MAAM,GAAG,IAAI,CAACzD,qBAAqB,CAAC3E,OAAO,EAAE2D,IAAI,CAAC,GAAG,IAAI;KAC9FA,IAAI,CAACsC,OAAO,GAAG,IAAI,CAACO,oBAAoB,CAACxG,OAAO,CAAC;KACjD2D,IAAI,CAAC+G,QAAQ,GAAG,gBAAgB,GAAG3E,cAAI,CAAC4E,SAAS,CAAC,GAAG,CAAC;KAEtD,MAAMC,eAAe,GAAG1G,EAAE,CAACC,OAAO,CAACiE,OAAO,EAAE,KAAK,MAAM,IAAI,CAACpI,OAAO,CAACgC,KAAK,IAAI,CAAChC,OAAO,CAACiC,WAAW;KAEjG,MAAM4I,eAAe,GAAGZ,KAAK,CAACa,qBAAqB,CAACC,WAAW,CAC9D,WAAW,GAAGpH,IAAI,CAAC+G,QAAQ,GAAG,UAAU,EACxC;OACCM,KAAK,EAAE,YACP;SACCH,eAAe,CAACI,UAAU,CAACD,KAAK,CAACE,IAAI,CAAC,IAAI,CAAC;SAC3C,MAAMC,SAAS,GAAGC,QAAQ,CAACC,aAAa,CAAC,GAAG,GAAG1H,IAAI,CAAC+G,QAAQ,CAAC;SAC7D,MAAMzE,OAAO,GAAIjG,OAAO,CAACmI,QAAQ,IAAIjE,EAAE,CAACC,OAAO,CAACiE,OAAO,EAAE,KAAK,MAAM,GACjEzE,IAAI,CAACiB,IAAI,CAACW,MAAM,GAChB5B,IAAI,CAACsC,OAAO;SACfqF,aAAG,CAACC,MAAM,CAACtF,OAAO,EAAEkF,SAAS,CAAC;;MAE/B,CACD;KACDxH,IAAI,CAACiF,MAAM,GAAG,IAAIqB,KAAK,CAACuB,SAAS,CAChC,IAAI,CAACtB,cAAc,CAAClK,OAAO,CAAC+B,MAAM,CAAC,EACnC,EAAE,EACF;OACC0J,oBAAoB,EAAEb,eAAe,GAAG,IAAI,GAAEC,eAAe;OAC7Da,sBAAsB,EAAE,CAAC;OACzBrD,SAAS,EAAErI,OAAO,CAACqI;MACnB,CACD;KACD,IAAI,CAAClH,WAAW,CAACwK,UAAU,CAACvC,GAAG,CAACzF,IAAI,CAACiF,MAAM,CAAC;KAE5C,IAAI5I,OAAO,CAACsG,aAAa,EACzB;OACC3C,IAAI,CAACiF,MAAM,CAAC0B,OAAO,CAACpB,IAAI,EAAE;;KAG3B,IAAI,CAACjI,OAAO,CAACmI,GAAG,CAACzF,IAAI,CAAC;KACtB,IAAI,CAACtD,QAAQ,EAAE;;GAGhBqD,aAAa,CAACC,IAAI,EAClB;;;GAIAe,qBAAqB,CAACzB,KAAK,EAC3B;KACC,IAAIA,KAAK,EACT;OACCA,KAAK,CAAC2F,MAAM,CAAC0B,OAAO,CAACjB,KAAK,EAAE;OAC5B,IAAI,CAACzF,YAAY,CAACX,KAAK,CAAC;;KAGzB,IAAI,CAAChC,OAAO,CAACwE,MAAM,CAACxC,KAAK,CAAC;KAC1B,IAAI,CAAC5C,QAAQ,EAAE;;GAGhBoE,oBAAoB,CAACxB,KAAK,EAC1B;KACCA,KAAK,CAAC2F,MAAM,CAAC0B,OAAO,CAACjB,KAAK,EAAE;KAC5B,IAAI,CAAChJ,QAAQ,EAAE;;GAGhBuD,YAAY,CAACX,KAAK,EAClB;KACC,IAAI,CAAC9B,WAAW,CAACwK,UAAU,CAAClG,MAAM,CAACxC,KAAK,CAAC2F,MAAM,CAAC;;GAIjD/E,YAAY,GACZ;KACC,IAAI,CAAC5C,OAAO,CAACgD,OAAO,CAAC2E,MAAM,IAAI;OAC9B,IAAI,CAACzH,WAAW,CAACwK,UAAU,CAAClG,MAAM,CAACmD,MAAM,CAACA,MAAM,CAAC;MACjD,CAAC;KACF,IAAI,CAAC3H,OAAO,CAACsI,KAAK,EAAE;;GAGrB/E,OAAO,CAAC1C,IAAY,EACpB;KACC,IAAI,CAACX,WAAW,CAACqD,OAAO,CAAC1C,IAAI,CAAC;;GAG/BwC,SAAS,CAAC1C,MAAM,EAChB;KACC,IAAI,CAACT,WAAW,CAACmD,SAAS,CAAC,IAAI,CAAC4F,cAAc,CAACtI,MAAM,CAAC,CAAC;;GAGxD4H,eAAe,GACf;KACC,OAAO,IAAI,CAACvI,OAAO,CAAC8H,GAAG,CAAEpF,IAAI,IAAK;OACjC,OAAO;SACN3B,KAAK,EAAE2B,IAAI,CAACiB,IAAI,GAAGjB,IAAI,CAACiB,IAAI,CAAC6E,MAAM,CAAC,CAAC,CAAC,CAAC3F,QAAQ,EAAE,GAAG,EAAE;SACtD7B,WAAW,EAAE0B,IAAI,CAACiB,IAAI,GAAGjB,IAAI,CAACiB,IAAI,CAAC6E,MAAM,CAAC,CAAC,CAAC,CAAC3F,QAAQ,EAAE,GAAG,EAAE;SAC5DwC,aAAa,EAAE3C,IAAI,CAACiB,IAAI,GAAG,CAAC,CAACjB,IAAI,CAACiB,IAAI,CAAC6E,MAAM,CAAC,CAAC,CAAC,CAAC3F,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE;SACnE/B,MAAM,EAAE,IAAI,CAACwI,eAAe,CAAC5G,IAAI,CAACiF,MAAM,CAACgD,QAAQ,CAACC,cAAc,EAAE;QAClE;MACD,CAAC;;GAGH/H,QAAQ,GACR;KACC,OAAO,IAAI,CAAC1C,KAAK,CAAC0K,QAAQ,CAAC,OAAO,EAAE,MACpC;OACC,OAAO;SACNlK,MAAM,EAAE,IAAI,CAACT,WAAW,CAACwI,SAAS,EAAE,GAAG,IAAI,CAACY,eAAe,CAAC,IAAI,CAACpJ,WAAW,CAACwI,SAAS,EAAE,CAAC,GAAG,EAAE;SAC9F7H,IAAI,EAAE,IAAI,CAACX,WAAW,CAACyI,OAAO,EAAE;SAChC3I,OAAO,EAAE,IAAI,CAACuI,eAAe;QAC7B;MACD,CAAC;;GAGHnJ,QAAQ,GACR;KACC,IAAI,CAACe,KAAK,CAACiJ,MAAM,CAAC,OAAO,CAAC;KAC1B,KAAK,CAAChK,QAAQ,EAAE;;CAElB;;CC1OO,MAAMkH,GAAG,CAChB;;CASA;CACA;CACA;;GAGCxH,WAAW,GACX;;;CAID;CACA;CACA;CACA;CACA;GACC,OAAOgM,MAAM,CAACC,IAAiB,EAAEhM,OAAW,EAC5C;;KAECA,OAAO,CAACW,WAAW,GAAG4G,GAAG,CAAC5G,WAAW;;;KAGrC,IAAIsL,YAAY,GAAGD,IAAI,CAACE,OAAO,CAAC3E,GAAG,CAAC4E,cAAc,CAAC;KACnD,IACC,CAACF,YAAY,IACVnJ,MAAM,CAACC,IAAI,CAACwE,GAAG,CAAC6E,SAAS,CAAC,CAACpC,OAAO,CAACiC,YAAY,CAAC,KAAK,CAAC,CAAC,EAE3D;OACCA,YAAY,GAAG1E,GAAG,CAAC8E,gBAAgB;;;;KAIpC,MAAMC,QAAQ,GAAG,IAAK/E,GAAG,CAAC6E,SAAS,CAACH,YAAY,CAAC,CAAEjM,OAAO,CAAC;KAC3D,IAAIsM,QAAQ,CAAClJ,WAAW,EAAE,EAC1B;OACCkJ,QAAQ,CAACjJ,IAAI,EAAE;MACf,MAED;OACC,IAAI,CAAClD,cAAI,CAACkC,OAAO,CAACkF,GAAG,CAACgF,SAAS,CAACD,QAAQ,CAACnJ,OAAO,EAAE,CAAC,CAAC,EACpD;SACCoE,GAAG,CAACgF,SAAS,CAACD,QAAQ,CAACnJ,OAAO,EAAE,CAAC,GAAG,EAAE;;OAGvCoE,GAAG,CAACgF,SAAS,CAACD,QAAQ,CAACnJ,OAAO,EAAE,CAAC,CAACqJ,IAAI,CAACF,QAAQ,CAAC;;KAGjD,OAAOA,QAAQ;;GAGhB,OAAO3L,WAAW,CAACsL,YAAoB,EACvC;KACC,IAAI9L,cAAI,CAACkC,OAAO,CAACkF,GAAG,CAACgF,SAAS,CAACN,YAAY,CAAC,CAAC,EAC7C;OACC1E,GAAG,CAACgF,SAAS,CAACN,YAAY,CAAC,CAAChI,OAAO,CAACqI,QAAQ,IAC5C;SACCA,QAAQ,CAACjJ,IAAI,EAAE;QACf,CAAC;;;CAGL;CArEakE,GAAG,CAEP6E,SAAS,GAAG;GACnB/E,MAAM,EAAEH,SAAS;GACjBuF,MAAM,EAAE5C;CACT,CAAC;CALWtC,GAAG,CAMP8E,gBAAgB,GAAG,QAAQ;CANvB9E,GAAG,CAOP4E,cAAc,GAAG,aAAa;CAP1B5E,GAAG,CAaRgF,SAAS,GAAG,EAAE;;;;;;;;"}