qauMaWeb/node_modules/.cache/babel-loader/1803983b9e6f0aa6622e533b0f8...

1 line
48 KiB
JSON

{"ast":null,"code":"import \"core-js/modules/es.array.join.js\";\nimport \"core-js/modules/es.array.concat.js\";\nimport \"core-js/modules/es.function.name.js\";\nimport \"core-js/modules/es.regexp.exec.js\";\nimport \"core-js/modules/es.string.replace.js\";\nimport \"core-js/modules/es.array.slice.js\";\nimport \"core-js/modules/es.regexp.constructor.js\";\nimport \"core-js/modules/es.regexp.dot-all.js\";\nimport \"core-js/modules/es.regexp.sticky.js\";\nimport \"core-js/modules/es.regexp.to-string.js\";\nimport \"core-js/modules/es.string.split.js\";\nimport \"core-js/modules/es.error.cause.js\";\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { __extends } from \"tslib\";\n/* global document */\n\nimport * as echarts from '../../../core/echarts.js';\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport { ToolboxFeature } from '../featureManager.js';\nimport { addEventListener } from 'zrender/lib/core/event.js';\nimport { warn } from '../../../util/log.js';\n/* global document */\n\nvar BLOCK_SPLITER = new Array(60).join('-');\nvar ITEM_SPLITER = '\\t';\n/**\n * Group series into two types\n * 1. on category axis, like line, bar\n * 2. others, like scatter, pie\n */\n\nfunction groupSeries(ecModel) {\n var seriesGroupByCategoryAxis = {};\n var otherSeries = [];\n var meta = [];\n ecModel.eachRawSeries(function (seriesModel) {\n var coordSys = seriesModel.coordinateSystem;\n\n if (coordSys && (coordSys.type === 'cartesian2d' || coordSys.type === 'polar')) {\n // TODO: TYPE Consider polar? Include polar may increase unecessary bundle size.\n var baseAxis = coordSys.getBaseAxis();\n\n if (baseAxis.type === 'category') {\n var key = baseAxis.dim + '_' + baseAxis.index;\n\n if (!seriesGroupByCategoryAxis[key]) {\n seriesGroupByCategoryAxis[key] = {\n categoryAxis: baseAxis,\n valueAxis: coordSys.getOtherAxis(baseAxis),\n series: []\n };\n meta.push({\n axisDim: baseAxis.dim,\n axisIndex: baseAxis.index\n });\n }\n\n seriesGroupByCategoryAxis[key].series.push(seriesModel);\n } else {\n otherSeries.push(seriesModel);\n }\n } else {\n otherSeries.push(seriesModel);\n }\n });\n return {\n seriesGroupByCategoryAxis: seriesGroupByCategoryAxis,\n other: otherSeries,\n meta: meta\n };\n}\n/**\n * Assemble content of series on cateogory axis\n * @inner\n */\n\n\nfunction assembleSeriesWithCategoryAxis(groups) {\n var tables = [];\n zrUtil.each(groups, function (group, key) {\n var categoryAxis = group.categoryAxis;\n var valueAxis = group.valueAxis;\n var valueAxisDim = valueAxis.dim;\n var headers = [' '].concat(zrUtil.map(group.series, function (series) {\n return series.name;\n })); // @ts-ignore TODO Polar\n\n var columns = [categoryAxis.model.getCategories()];\n zrUtil.each(group.series, function (series) {\n var rawData = series.getRawData();\n columns.push(series.getRawData().mapArray(rawData.mapDimension(valueAxisDim), function (val) {\n return val;\n }));\n }); // Assemble table content\n\n var lines = [headers.join(ITEM_SPLITER)];\n\n for (var i = 0; i < columns[0].length; i++) {\n var items = [];\n\n for (var j = 0; j < columns.length; j++) {\n items.push(columns[j][i]);\n }\n\n lines.push(items.join(ITEM_SPLITER));\n }\n\n tables.push(lines.join('\\n'));\n });\n return tables.join('\\n\\n' + BLOCK_SPLITER + '\\n\\n');\n}\n/**\n * Assemble content of other series\n */\n\n\nfunction assembleOtherSeries(series) {\n return zrUtil.map(series, function (series) {\n var data = series.getRawData();\n var lines = [series.name];\n var vals = [];\n data.each(data.dimensions, function () {\n var argLen = arguments.length;\n var dataIndex = arguments[argLen - 1];\n var name = data.getName(dataIndex);\n\n for (var i = 0; i < argLen - 1; i++) {\n vals[i] = arguments[i];\n }\n\n lines.push((name ? name + ITEM_SPLITER : '') + vals.join(ITEM_SPLITER));\n });\n return lines.join('\\n');\n }).join('\\n\\n' + BLOCK_SPLITER + '\\n\\n');\n}\n\nfunction getContentFromModel(ecModel) {\n var result = groupSeries(ecModel);\n return {\n value: zrUtil.filter([assembleSeriesWithCategoryAxis(result.seriesGroupByCategoryAxis), assembleOtherSeries(result.other)], function (str) {\n return !!str.replace(/[\\n\\t\\s]/g, '');\n }).join('\\n\\n' + BLOCK_SPLITER + '\\n\\n'),\n meta: result.meta\n };\n}\n\nfunction trim(str) {\n return str.replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, '');\n}\n/**\n * If a block is tsv format\n */\n\n\nfunction isTSVFormat(block) {\n // Simple method to find out if a block is tsv format\n var firstLine = block.slice(0, block.indexOf('\\n'));\n\n if (firstLine.indexOf(ITEM_SPLITER) >= 0) {\n return true;\n }\n}\n\nvar itemSplitRegex = new RegExp('[' + ITEM_SPLITER + ']+', 'g');\n/**\n * @param {string} tsv\n * @return {Object}\n */\n\nfunction parseTSVContents(tsv) {\n var tsvLines = tsv.split(/\\n+/g);\n var headers = trim(tsvLines.shift()).split(itemSplitRegex);\n var categories = [];\n var series = zrUtil.map(headers, function (header) {\n return {\n name: header,\n data: []\n };\n });\n\n for (var i = 0; i < tsvLines.length; i++) {\n var items = trim(tsvLines[i]).split(itemSplitRegex);\n categories.push(items.shift());\n\n for (var j = 0; j < items.length; j++) {\n series[j] && (series[j].data[i] = items[j]);\n }\n }\n\n return {\n series: series,\n categories: categories\n };\n}\n\nfunction parseListContents(str) {\n var lines = str.split(/\\n+/g);\n var seriesName = trim(lines.shift());\n var data = [];\n\n for (var i = 0; i < lines.length; i++) {\n // if line is empty, ignore it.\n // there is a case that a user forgot to delete `\\n`.\n var line = trim(lines[i]);\n\n if (!line) {\n continue;\n }\n\n var items = line.split(itemSplitRegex);\n var name_1 = '';\n var value = void 0;\n var hasName = false;\n\n if (isNaN(items[0])) {\n // First item is name\n hasName = true;\n name_1 = items[0];\n items = items.slice(1);\n data[i] = {\n name: name_1,\n value: []\n };\n value = data[i].value;\n } else {\n value = data[i] = [];\n }\n\n for (var j = 0; j < items.length; j++) {\n value.push(+items[j]);\n }\n\n if (value.length === 1) {\n hasName ? data[i].value = value[0] : data[i] = value[0];\n }\n }\n\n return {\n name: seriesName,\n data: data\n };\n}\n\nfunction parseContents(str, blockMetaList) {\n var blocks = str.split(new RegExp('\\n*' + BLOCK_SPLITER + '\\n*', 'g'));\n var newOption = {\n series: []\n };\n zrUtil.each(blocks, function (block, idx) {\n if (isTSVFormat(block)) {\n var result = parseTSVContents(block);\n var blockMeta = blockMetaList[idx];\n var axisKey = blockMeta.axisDim + 'Axis';\n\n if (blockMeta) {\n newOption[axisKey] = newOption[axisKey] || [];\n newOption[axisKey][blockMeta.axisIndex] = {\n data: result.categories\n };\n newOption.series = newOption.series.concat(result.series);\n }\n } else {\n var result = parseListContents(block);\n newOption.series.push(result);\n }\n });\n return newOption;\n}\n\nvar DataView =\n/** @class */\nfunction (_super) {\n __extends(DataView, _super);\n\n function DataView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n\n DataView.prototype.onclick = function (ecModel, api) {\n // FIXME: better way?\n setTimeout(function () {\n api.dispatchAction({\n type: 'hideTip'\n });\n });\n var container = api.getDom();\n var model = this.model;\n\n if (this._dom) {\n container.removeChild(this._dom);\n }\n\n var root = document.createElement('div'); // use padding to avoid 5px whitespace\n\n root.style.cssText = 'position:absolute;top:0;bottom:0;left:0;right:0;padding:5px';\n root.style.backgroundColor = model.get('backgroundColor') || '#fff'; // Create elements\n\n var header = document.createElement('h4');\n var lang = model.get('lang') || [];\n header.innerHTML = lang[0] || model.get('title');\n header.style.cssText = 'margin:10px 20px';\n header.style.color = model.get('textColor');\n var viewMain = document.createElement('div');\n var textarea = document.createElement('textarea');\n viewMain.style.cssText = 'overflow:auto';\n var optionToContent = model.get('optionToContent');\n var contentToOption = model.get('contentToOption');\n var result = getContentFromModel(ecModel);\n\n if (zrUtil.isFunction(optionToContent)) {\n var htmlOrDom = optionToContent(api.getOption());\n\n if (zrUtil.isString(htmlOrDom)) {\n viewMain.innerHTML = htmlOrDom;\n } else if (zrUtil.isDom(htmlOrDom)) {\n viewMain.appendChild(htmlOrDom);\n }\n } else {\n // Use default textarea\n textarea.readOnly = model.get('readOnly');\n var style = textarea.style; // eslint-disable-next-line max-len\n\n style.cssText = 'display:block;width:100%;height:100%;font-family:monospace;font-size:14px;line-height:1.6rem;resize:none;box-sizing:border-box;outline:none';\n style.color = model.get('textColor');\n style.borderColor = model.get('textareaBorderColor');\n style.backgroundColor = model.get('textareaColor');\n textarea.value = result.value;\n viewMain.appendChild(textarea);\n }\n\n var blockMetaList = result.meta;\n var buttonContainer = document.createElement('div');\n buttonContainer.style.cssText = 'position:absolute;bottom:5px;left:0;right:0'; // eslint-disable-next-line max-len\n\n var buttonStyle = 'float:right;margin-right:20px;border:none;cursor:pointer;padding:2px 5px;font-size:12px;border-radius:3px';\n var closeButton = document.createElement('div');\n var refreshButton = document.createElement('div');\n buttonStyle += ';background-color:' + model.get('buttonColor');\n buttonStyle += ';color:' + model.get('buttonTextColor');\n var self = this;\n\n function close() {\n container.removeChild(root);\n self._dom = null;\n }\n\n addEventListener(closeButton, 'click', close);\n addEventListener(refreshButton, 'click', function () {\n if (contentToOption == null && optionToContent != null || contentToOption != null && optionToContent == null) {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line\n warn('It seems you have just provided one of `contentToOption` and `optionToContent` functions but missed the other one. Data change is ignored.');\n }\n\n close();\n return;\n }\n\n var newOption;\n\n try {\n if (zrUtil.isFunction(contentToOption)) {\n newOption = contentToOption(viewMain, api.getOption());\n } else {\n newOption = parseContents(textarea.value, blockMetaList);\n }\n } catch (e) {\n close();\n throw new Error('Data view format error ' + e);\n }\n\n if (newOption) {\n api.dispatchAction({\n type: 'changeDataView',\n newOption: newOption\n });\n }\n\n close();\n });\n closeButton.innerHTML = lang[1];\n refreshButton.innerHTML = lang[2];\n refreshButton.style.cssText = closeButton.style.cssText = buttonStyle;\n !model.get('readOnly') && buttonContainer.appendChild(refreshButton);\n buttonContainer.appendChild(closeButton);\n root.appendChild(header);\n root.appendChild(viewMain);\n root.appendChild(buttonContainer);\n viewMain.style.height = container.clientHeight - 80 + 'px';\n container.appendChild(root);\n this._dom = root;\n };\n\n DataView.prototype.remove = function (ecModel, api) {\n this._dom && api.getDom().removeChild(this._dom);\n };\n\n DataView.prototype.dispose = function (ecModel, api) {\n this.remove(ecModel, api);\n };\n\n DataView.getDefaultOption = function (ecModel) {\n var defaultOption = {\n show: true,\n readOnly: false,\n optionToContent: null,\n contentToOption: null,\n // eslint-disable-next-line\n icon: 'M17.5,17.3H33 M17.5,17.3H33 M45.4,29.5h-28 M11.5,2v56H51V14.8L38.4,2H11.5z M38.4,2.2v12.7H51 M45.4,41.7h-28',\n title: ecModel.getLocaleModel().get(['toolbox', 'dataView', 'title']),\n lang: ecModel.getLocaleModel().get(['toolbox', 'dataView', 'lang']),\n backgroundColor: '#fff',\n textColor: '#000',\n textareaColor: '#fff',\n textareaBorderColor: '#333',\n buttonColor: '#c23531',\n buttonTextColor: '#fff'\n };\n return defaultOption;\n };\n\n return DataView;\n}(ToolboxFeature);\n/**\n * @inner\n */\n\n\nfunction tryMergeDataOption(newData, originalData) {\n return zrUtil.map(newData, function (newVal, idx) {\n var original = originalData && originalData[idx];\n\n if (zrUtil.isObject(original) && !zrUtil.isArray(original)) {\n var newValIsObject = zrUtil.isObject(newVal) && !zrUtil.isArray(newVal);\n\n if (!newValIsObject) {\n newVal = {\n value: newVal\n };\n } // original data has name but new data has no name\n\n\n var shouldDeleteName = original.name != null && newVal.name == null; // Original data has option\n\n newVal = zrUtil.defaults(newVal, original);\n shouldDeleteName && delete newVal.name;\n return newVal;\n } else {\n return newVal;\n }\n });\n} // TODO: SELF REGISTERED.\n\n\necharts.registerAction({\n type: 'changeDataView',\n event: 'dataViewChanged',\n update: 'prepareAndUpdate'\n}, function (payload, ecModel) {\n var newSeriesOptList = [];\n zrUtil.each(payload.newOption.series, function (seriesOpt) {\n var seriesModel = ecModel.getSeriesByName(seriesOpt.name)[0];\n\n if (!seriesModel) {\n // New created series\n // Geuss the series type\n newSeriesOptList.push(zrUtil.extend({\n // Default is scatter\n type: 'scatter'\n }, seriesOpt));\n } else {\n var originalData = seriesModel.get('data');\n newSeriesOptList.push({\n name: seriesOpt.name,\n data: tryMergeDataOption(seriesOpt.data, originalData)\n });\n }\n });\n ecModel.mergeOption(zrUtil.defaults({\n series: newSeriesOptList\n }, payload.newOption));\n});\nexport default DataView;","map":{"version":3,"sources":["D:/Work/WorkSpace/GitWorkSpace/TenShop/resource/ElectronicMall/src啊/ElectronicMallVue/node_modules/echarts/lib/component/toolbox/feature/DataView.js"],"names":["__extends","echarts","zrUtil","ToolboxFeature","addEventListener","warn","BLOCK_SPLITER","Array","join","ITEM_SPLITER","groupSeries","ecModel","seriesGroupByCategoryAxis","otherSeries","meta","eachRawSeries","seriesModel","coordSys","coordinateSystem","type","baseAxis","getBaseAxis","key","dim","index","categoryAxis","valueAxis","getOtherAxis","series","push","axisDim","axisIndex","other","assembleSeriesWithCategoryAxis","groups","tables","each","group","valueAxisDim","headers","concat","map","name","columns","model","getCategories","rawData","getRawData","mapArray","mapDimension","val","lines","i","length","items","j","assembleOtherSeries","data","vals","dimensions","argLen","arguments","dataIndex","getName","getContentFromModel","result","value","filter","str","replace","trim","isTSVFormat","block","firstLine","slice","indexOf","itemSplitRegex","RegExp","parseTSVContents","tsv","tsvLines","split","shift","categories","header","parseListContents","seriesName","line","name_1","hasName","isNaN","parseContents","blockMetaList","blocks","newOption","idx","blockMeta","axisKey","DataView","_super","apply","prototype","onclick","api","setTimeout","dispatchAction","container","getDom","_dom","removeChild","root","document","createElement","style","cssText","backgroundColor","get","lang","innerHTML","color","viewMain","textarea","optionToContent","contentToOption","isFunction","htmlOrDom","getOption","isString","isDom","appendChild","readOnly","borderColor","buttonContainer","buttonStyle","closeButton","refreshButton","self","close","process","env","NODE_ENV","e","Error","height","clientHeight","remove","dispose","getDefaultOption","defaultOption","show","icon","title","getLocaleModel","textColor","textareaColor","textareaBorderColor","buttonColor","buttonTextColor","tryMergeDataOption","newData","originalData","newVal","original","isObject","isArray","newValIsObject","shouldDeleteName","defaults","registerAction","event","update","payload","newSeriesOptList","seriesOpt","getSeriesByName","extend","mergeOption"],"mappings":";;;;;;;;;;;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,OAA1B;AACA;;AAEA,OAAO,KAAKC,OAAZ,MAAyB,0BAAzB;AACA,OAAO,KAAKC,MAAZ,MAAwB,0BAAxB;AACA,SAASC,cAAT,QAA+B,sBAA/B;AACA,SAASC,gBAAT,QAAiC,2BAAjC;AACA,SAASC,IAAT,QAAqB,sBAArB;AACA;;AAEA,IAAIC,aAAa,GAAG,IAAIC,KAAJ,CAAU,EAAV,EAAcC,IAAd,CAAmB,GAAnB,CAApB;AACA,IAAIC,YAAY,GAAG,IAAnB;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASC,WAAT,CAAqBC,OAArB,EAA8B;AAC5B,MAAIC,yBAAyB,GAAG,EAAhC;AACA,MAAIC,WAAW,GAAG,EAAlB;AACA,MAAIC,IAAI,GAAG,EAAX;AACAH,EAAAA,OAAO,CAACI,aAAR,CAAsB,UAAUC,WAAV,EAAuB;AAC3C,QAAIC,QAAQ,GAAGD,WAAW,CAACE,gBAA3B;;AAEA,QAAID,QAAQ,KAAKA,QAAQ,CAACE,IAAT,KAAkB,aAAlB,IAAmCF,QAAQ,CAACE,IAAT,KAAkB,OAA1D,CAAZ,EAAgF;AAC9E;AACA,UAAIC,QAAQ,GAAGH,QAAQ,CAACI,WAAT,EAAf;;AAEA,UAAID,QAAQ,CAACD,IAAT,KAAkB,UAAtB,EAAkC;AAChC,YAAIG,GAAG,GAAGF,QAAQ,CAACG,GAAT,GAAe,GAAf,GAAqBH,QAAQ,CAACI,KAAxC;;AAEA,YAAI,CAACZ,yBAAyB,CAACU,GAAD,CAA9B,EAAqC;AACnCV,UAAAA,yBAAyB,CAACU,GAAD,CAAzB,GAAiC;AAC/BG,YAAAA,YAAY,EAAEL,QADiB;AAE/BM,YAAAA,SAAS,EAAET,QAAQ,CAACU,YAAT,CAAsBP,QAAtB,CAFoB;AAG/BQ,YAAAA,MAAM,EAAE;AAHuB,WAAjC;AAKAd,UAAAA,IAAI,CAACe,IAAL,CAAU;AACRC,YAAAA,OAAO,EAAEV,QAAQ,CAACG,GADV;AAERQ,YAAAA,SAAS,EAAEX,QAAQ,CAACI;AAFZ,WAAV;AAID;;AAEDZ,QAAAA,yBAAyB,CAACU,GAAD,CAAzB,CAA+BM,MAA/B,CAAsCC,IAAtC,CAA2Cb,WAA3C;AACD,OAhBD,MAgBO;AACLH,QAAAA,WAAW,CAACgB,IAAZ,CAAiBb,WAAjB;AACD;AACF,KAvBD,MAuBO;AACLH,MAAAA,WAAW,CAACgB,IAAZ,CAAiBb,WAAjB;AACD;AACF,GA7BD;AA8BA,SAAO;AACLJ,IAAAA,yBAAyB,EAAEA,yBADtB;AAELoB,IAAAA,KAAK,EAAEnB,WAFF;AAGLC,IAAAA,IAAI,EAAEA;AAHD,GAAP;AAKD;AACD;AACA;AACA;AACA;;;AAGA,SAASmB,8BAAT,CAAwCC,MAAxC,EAAgD;AAC9C,MAAIC,MAAM,GAAG,EAAb;AACAjC,EAAAA,MAAM,CAACkC,IAAP,CAAYF,MAAZ,EAAoB,UAAUG,KAAV,EAAiBf,GAAjB,EAAsB;AACxC,QAAIG,YAAY,GAAGY,KAAK,CAACZ,YAAzB;AACA,QAAIC,SAAS,GAAGW,KAAK,CAACX,SAAtB;AACA,QAAIY,YAAY,GAAGZ,SAAS,CAACH,GAA7B;AACA,QAAIgB,OAAO,GAAG,CAAC,GAAD,EAAMC,MAAN,CAAatC,MAAM,CAACuC,GAAP,CAAWJ,KAAK,CAACT,MAAjB,EAAyB,UAAUA,MAAV,EAAkB;AACpE,aAAOA,MAAM,CAACc,IAAd;AACD,KAF0B,CAAb,CAAd,CAJwC,CAMnC;;AAEL,QAAIC,OAAO,GAAG,CAAClB,YAAY,CAACmB,KAAb,CAAmBC,aAAnB,EAAD,CAAd;AACA3C,IAAAA,MAAM,CAACkC,IAAP,CAAYC,KAAK,CAACT,MAAlB,EAA0B,UAAUA,MAAV,EAAkB;AAC1C,UAAIkB,OAAO,GAAGlB,MAAM,CAACmB,UAAP,EAAd;AACAJ,MAAAA,OAAO,CAACd,IAAR,CAAaD,MAAM,CAACmB,UAAP,GAAoBC,QAApB,CAA6BF,OAAO,CAACG,YAAR,CAAqBX,YAArB,CAA7B,EAAiE,UAAUY,GAAV,EAAe;AAC3F,eAAOA,GAAP;AACD,OAFY,CAAb;AAGD,KALD,EATwC,CAcpC;;AAEJ,QAAIC,KAAK,GAAG,CAACZ,OAAO,CAAC/B,IAAR,CAAaC,YAAb,CAAD,CAAZ;;AAEA,SAAK,IAAI2C,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGT,OAAO,CAAC,CAAD,CAAP,CAAWU,MAA/B,EAAuCD,CAAC,EAAxC,EAA4C;AAC1C,UAAIE,KAAK,GAAG,EAAZ;;AAEA,WAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGZ,OAAO,CAACU,MAA5B,EAAoCE,CAAC,EAArC,EAAyC;AACvCD,QAAAA,KAAK,CAACzB,IAAN,CAAWc,OAAO,CAACY,CAAD,CAAP,CAAWH,CAAX,CAAX;AACD;;AAEDD,MAAAA,KAAK,CAACtB,IAAN,CAAWyB,KAAK,CAAC9C,IAAN,CAAWC,YAAX,CAAX;AACD;;AAED0B,IAAAA,MAAM,CAACN,IAAP,CAAYsB,KAAK,CAAC3C,IAAN,CAAW,IAAX,CAAZ;AACD,GA7BD;AA8BA,SAAO2B,MAAM,CAAC3B,IAAP,CAAY,SAASF,aAAT,GAAyB,MAArC,CAAP;AACD;AACD;AACA;AACA;;;AAGA,SAASkD,mBAAT,CAA6B5B,MAA7B,EAAqC;AACnC,SAAO1B,MAAM,CAACuC,GAAP,CAAWb,MAAX,EAAmB,UAAUA,MAAV,EAAkB;AAC1C,QAAI6B,IAAI,GAAG7B,MAAM,CAACmB,UAAP,EAAX;AACA,QAAII,KAAK,GAAG,CAACvB,MAAM,CAACc,IAAR,CAAZ;AACA,QAAIgB,IAAI,GAAG,EAAX;AACAD,IAAAA,IAAI,CAACrB,IAAL,CAAUqB,IAAI,CAACE,UAAf,EAA2B,YAAY;AACrC,UAAIC,MAAM,GAAGC,SAAS,CAACR,MAAvB;AACA,UAAIS,SAAS,GAAGD,SAAS,CAACD,MAAM,GAAG,CAAV,CAAzB;AACA,UAAIlB,IAAI,GAAGe,IAAI,CAACM,OAAL,CAAaD,SAAb,CAAX;;AAEA,WAAK,IAAIV,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGQ,MAAM,GAAG,CAA7B,EAAgCR,CAAC,EAAjC,EAAqC;AACnCM,QAAAA,IAAI,CAACN,CAAD,CAAJ,GAAUS,SAAS,CAACT,CAAD,CAAnB;AACD;;AAEDD,MAAAA,KAAK,CAACtB,IAAN,CAAW,CAACa,IAAI,GAAGA,IAAI,GAAGjC,YAAV,GAAyB,EAA9B,IAAoCiD,IAAI,CAAClD,IAAL,CAAUC,YAAV,CAA/C;AACD,KAVD;AAWA,WAAO0C,KAAK,CAAC3C,IAAN,CAAW,IAAX,CAAP;AACD,GAhBM,EAgBJA,IAhBI,CAgBC,SAASF,aAAT,GAAyB,MAhB1B,CAAP;AAiBD;;AAED,SAAS0D,mBAAT,CAA6BrD,OAA7B,EAAsC;AACpC,MAAIsD,MAAM,GAAGvD,WAAW,CAACC,OAAD,CAAxB;AACA,SAAO;AACLuD,IAAAA,KAAK,EAAEhE,MAAM,CAACiE,MAAP,CAAc,CAAClC,8BAA8B,CAACgC,MAAM,CAACrD,yBAAR,CAA/B,EAAmE4C,mBAAmB,CAACS,MAAM,CAACjC,KAAR,CAAtF,CAAd,EAAqH,UAAUoC,GAAV,EAAe;AACzI,aAAO,CAAC,CAACA,GAAG,CAACC,OAAJ,CAAY,WAAZ,EAAyB,EAAzB,CAAT;AACD,KAFM,EAEJ7D,IAFI,CAEC,SAASF,aAAT,GAAyB,MAF1B,CADF;AAILQ,IAAAA,IAAI,EAAEmD,MAAM,CAACnD;AAJR,GAAP;AAMD;;AAED,SAASwD,IAAT,CAAcF,GAAd,EAAmB;AACjB,SAAOA,GAAG,CAACC,OAAJ,CAAY,QAAZ,EAAsB,EAAtB,EAA0BA,OAA1B,CAAkC,QAAlC,EAA4C,EAA5C,CAAP;AACD;AACD;AACA;AACA;;;AAGA,SAASE,WAAT,CAAqBC,KAArB,EAA4B;AAC1B;AACA,MAAIC,SAAS,GAAGD,KAAK,CAACE,KAAN,CAAY,CAAZ,EAAeF,KAAK,CAACG,OAAN,CAAc,IAAd,CAAf,CAAhB;;AAEA,MAAIF,SAAS,CAACE,OAAV,CAAkBlE,YAAlB,KAAmC,CAAvC,EAA0C;AACxC,WAAO,IAAP;AACD;AACF;;AAED,IAAImE,cAAc,GAAG,IAAIC,MAAJ,CAAW,MAAMpE,YAAN,GAAqB,IAAhC,EAAsC,GAAtC,CAArB;AACA;AACA;AACA;AACA;;AAEA,SAASqE,gBAAT,CAA0BC,GAA1B,EAA+B;AAC7B,MAAIC,QAAQ,GAAGD,GAAG,CAACE,KAAJ,CAAU,MAAV,CAAf;AACA,MAAI1C,OAAO,GAAG+B,IAAI,CAACU,QAAQ,CAACE,KAAT,EAAD,CAAJ,CAAuBD,KAAvB,CAA6BL,cAA7B,CAAd;AACA,MAAIO,UAAU,GAAG,EAAjB;AACA,MAAIvD,MAAM,GAAG1B,MAAM,CAACuC,GAAP,CAAWF,OAAX,EAAoB,UAAU6C,MAAV,EAAkB;AACjD,WAAO;AACL1C,MAAAA,IAAI,EAAE0C,MADD;AAEL3B,MAAAA,IAAI,EAAE;AAFD,KAAP;AAID,GALY,CAAb;;AAOA,OAAK,IAAIL,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG4B,QAAQ,CAAC3B,MAA7B,EAAqCD,CAAC,EAAtC,EAA0C;AACxC,QAAIE,KAAK,GAAGgB,IAAI,CAACU,QAAQ,CAAC5B,CAAD,CAAT,CAAJ,CAAkB6B,KAAlB,CAAwBL,cAAxB,CAAZ;AACAO,IAAAA,UAAU,CAACtD,IAAX,CAAgByB,KAAK,CAAC4B,KAAN,EAAhB;;AAEA,SAAK,IAAI3B,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGD,KAAK,CAACD,MAA1B,EAAkCE,CAAC,EAAnC,EAAuC;AACrC3B,MAAAA,MAAM,CAAC2B,CAAD,CAAN,KAAc3B,MAAM,CAAC2B,CAAD,CAAN,CAAUE,IAAV,CAAeL,CAAf,IAAoBE,KAAK,CAACC,CAAD,CAAvC;AACD;AACF;;AAED,SAAO;AACL3B,IAAAA,MAAM,EAAEA,MADH;AAELuD,IAAAA,UAAU,EAAEA;AAFP,GAAP;AAID;;AAED,SAASE,iBAAT,CAA2BjB,GAA3B,EAAgC;AAC9B,MAAIjB,KAAK,GAAGiB,GAAG,CAACa,KAAJ,CAAU,MAAV,CAAZ;AACA,MAAIK,UAAU,GAAGhB,IAAI,CAACnB,KAAK,CAAC+B,KAAN,EAAD,CAArB;AACA,MAAIzB,IAAI,GAAG,EAAX;;AAEA,OAAK,IAAIL,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGD,KAAK,CAACE,MAA1B,EAAkCD,CAAC,EAAnC,EAAuC;AACrC;AACA;AACA,QAAImC,IAAI,GAAGjB,IAAI,CAACnB,KAAK,CAACC,CAAD,CAAN,CAAf;;AAEA,QAAI,CAACmC,IAAL,EAAW;AACT;AACD;;AAED,QAAIjC,KAAK,GAAGiC,IAAI,CAACN,KAAL,CAAWL,cAAX,CAAZ;AACA,QAAIY,MAAM,GAAG,EAAb;AACA,QAAItB,KAAK,GAAG,KAAK,CAAjB;AACA,QAAIuB,OAAO,GAAG,KAAd;;AAEA,QAAIC,KAAK,CAACpC,KAAK,CAAC,CAAD,CAAN,CAAT,EAAqB;AACnB;AACAmC,MAAAA,OAAO,GAAG,IAAV;AACAD,MAAAA,MAAM,GAAGlC,KAAK,CAAC,CAAD,CAAd;AACAA,MAAAA,KAAK,GAAGA,KAAK,CAACoB,KAAN,CAAY,CAAZ,CAAR;AACAjB,MAAAA,IAAI,CAACL,CAAD,CAAJ,GAAU;AACRV,QAAAA,IAAI,EAAE8C,MADE;AAERtB,QAAAA,KAAK,EAAE;AAFC,OAAV;AAIAA,MAAAA,KAAK,GAAGT,IAAI,CAACL,CAAD,CAAJ,CAAQc,KAAhB;AACD,KAVD,MAUO;AACLA,MAAAA,KAAK,GAAGT,IAAI,CAACL,CAAD,CAAJ,GAAU,EAAlB;AACD;;AAED,SAAK,IAAIG,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGD,KAAK,CAACD,MAA1B,EAAkCE,CAAC,EAAnC,EAAuC;AACrCW,MAAAA,KAAK,CAACrC,IAAN,CAAW,CAACyB,KAAK,CAACC,CAAD,CAAjB;AACD;;AAED,QAAIW,KAAK,CAACb,MAAN,KAAiB,CAArB,EAAwB;AACtBoC,MAAAA,OAAO,GAAGhC,IAAI,CAACL,CAAD,CAAJ,CAAQc,KAAR,GAAgBA,KAAK,CAAC,CAAD,CAAxB,GAA8BT,IAAI,CAACL,CAAD,CAAJ,GAAUc,KAAK,CAAC,CAAD,CAApD;AACD;AACF;;AAED,SAAO;AACLxB,IAAAA,IAAI,EAAE4C,UADD;AAEL7B,IAAAA,IAAI,EAAEA;AAFD,GAAP;AAID;;AAED,SAASkC,aAAT,CAAuBvB,GAAvB,EAA4BwB,aAA5B,EAA2C;AACzC,MAAIC,MAAM,GAAGzB,GAAG,CAACa,KAAJ,CAAU,IAAIJ,MAAJ,CAAW,QAAQvE,aAAR,GAAwB,KAAnC,EAA0C,GAA1C,CAAV,CAAb;AACA,MAAIwF,SAAS,GAAG;AACdlE,IAAAA,MAAM,EAAE;AADM,GAAhB;AAGA1B,EAAAA,MAAM,CAACkC,IAAP,CAAYyD,MAAZ,EAAoB,UAAUrB,KAAV,EAAiBuB,GAAjB,EAAsB;AACxC,QAAIxB,WAAW,CAACC,KAAD,CAAf,EAAwB;AACtB,UAAIP,MAAM,GAAGa,gBAAgB,CAACN,KAAD,CAA7B;AACA,UAAIwB,SAAS,GAAGJ,aAAa,CAACG,GAAD,CAA7B;AACA,UAAIE,OAAO,GAAGD,SAAS,CAAClE,OAAV,GAAoB,MAAlC;;AAEA,UAAIkE,SAAJ,EAAe;AACbF,QAAAA,SAAS,CAACG,OAAD,CAAT,GAAqBH,SAAS,CAACG,OAAD,CAAT,IAAsB,EAA3C;AACAH,QAAAA,SAAS,CAACG,OAAD,CAAT,CAAmBD,SAAS,CAACjE,SAA7B,IAA0C;AACxC0B,UAAAA,IAAI,EAAEQ,MAAM,CAACkB;AAD2B,SAA1C;AAGAW,QAAAA,SAAS,CAAClE,MAAV,GAAmBkE,SAAS,CAAClE,MAAV,CAAiBY,MAAjB,CAAwByB,MAAM,CAACrC,MAA/B,CAAnB;AACD;AACF,KAZD,MAYO;AACL,UAAIqC,MAAM,GAAGoB,iBAAiB,CAACb,KAAD,CAA9B;AACAsB,MAAAA,SAAS,CAAClE,MAAV,CAAiBC,IAAjB,CAAsBoC,MAAtB;AACD;AACF,GAjBD;AAkBA,SAAO6B,SAAP;AACD;;AAED,IAAII,QAAQ;AACZ;AACA,UAAUC,MAAV,EAAkB;AAChBnG,EAAAA,SAAS,CAACkG,QAAD,EAAWC,MAAX,CAAT;;AAEA,WAASD,QAAT,GAAoB;AAClB,WAAOC,MAAM,KAAK,IAAX,IAAmBA,MAAM,CAACC,KAAP,CAAa,IAAb,EAAmBvC,SAAnB,CAAnB,IAAoD,IAA3D;AACD;;AAEDqC,EAAAA,QAAQ,CAACG,SAAT,CAAmBC,OAAnB,GAA6B,UAAU3F,OAAV,EAAmB4F,GAAnB,EAAwB;AACnD;AACAC,IAAAA,UAAU,CAAC,YAAY;AACrBD,MAAAA,GAAG,CAACE,cAAJ,CAAmB;AACjBtF,QAAAA,IAAI,EAAE;AADW,OAAnB;AAGD,KAJS,CAAV;AAKA,QAAIuF,SAAS,GAAGH,GAAG,CAACI,MAAJ,EAAhB;AACA,QAAI/D,KAAK,GAAG,KAAKA,KAAjB;;AAEA,QAAI,KAAKgE,IAAT,EAAe;AACbF,MAAAA,SAAS,CAACG,WAAV,CAAsB,KAAKD,IAA3B;AACD;;AAED,QAAIE,IAAI,GAAGC,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAX,CAdmD,CAcT;;AAE1CF,IAAAA,IAAI,CAACG,KAAL,CAAWC,OAAX,GAAqB,6DAArB;AACAJ,IAAAA,IAAI,CAACG,KAAL,CAAWE,eAAX,GAA6BvE,KAAK,CAACwE,GAAN,CAAU,iBAAV,KAAgC,MAA7D,CAjBmD,CAiBkB;;AAErE,QAAIhC,MAAM,GAAG2B,QAAQ,CAACC,aAAT,CAAuB,IAAvB,CAAb;AACA,QAAIK,IAAI,GAAGzE,KAAK,CAACwE,GAAN,CAAU,MAAV,KAAqB,EAAhC;AACAhC,IAAAA,MAAM,CAACkC,SAAP,GAAmBD,IAAI,CAAC,CAAD,CAAJ,IAAWzE,KAAK,CAACwE,GAAN,CAAU,OAAV,CAA9B;AACAhC,IAAAA,MAAM,CAAC6B,KAAP,CAAaC,OAAb,GAAuB,kBAAvB;AACA9B,IAAAA,MAAM,CAAC6B,KAAP,CAAaM,KAAb,GAAqB3E,KAAK,CAACwE,GAAN,CAAU,WAAV,CAArB;AACA,QAAII,QAAQ,GAAGT,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAf;AACA,QAAIS,QAAQ,GAAGV,QAAQ,CAACC,aAAT,CAAuB,UAAvB,CAAf;AACAQ,IAAAA,QAAQ,CAACP,KAAT,CAAeC,OAAf,GAAyB,eAAzB;AACA,QAAIQ,eAAe,GAAG9E,KAAK,CAACwE,GAAN,CAAU,iBAAV,CAAtB;AACA,QAAIO,eAAe,GAAG/E,KAAK,CAACwE,GAAN,CAAU,iBAAV,CAAtB;AACA,QAAInD,MAAM,GAAGD,mBAAmB,CAACrD,OAAD,CAAhC;;AAEA,QAAIT,MAAM,CAAC0H,UAAP,CAAkBF,eAAlB,CAAJ,EAAwC;AACtC,UAAIG,SAAS,GAAGH,eAAe,CAACnB,GAAG,CAACuB,SAAJ,EAAD,CAA/B;;AAEA,UAAI5H,MAAM,CAAC6H,QAAP,CAAgBF,SAAhB,CAAJ,EAAgC;AAC9BL,QAAAA,QAAQ,CAACF,SAAT,GAAqBO,SAArB;AACD,OAFD,MAEO,IAAI3H,MAAM,CAAC8H,KAAP,CAAaH,SAAb,CAAJ,EAA6B;AAClCL,QAAAA,QAAQ,CAACS,WAAT,CAAqBJ,SAArB;AACD;AACF,KARD,MAQO;AACL;AACAJ,MAAAA,QAAQ,CAACS,QAAT,GAAoBtF,KAAK,CAACwE,GAAN,CAAU,UAAV,CAApB;AACA,UAAIH,KAAK,GAAGQ,QAAQ,CAACR,KAArB,CAHK,CAGuB;;AAE5BA,MAAAA,KAAK,CAACC,OAAN,GAAgB,6IAAhB;AACAD,MAAAA,KAAK,CAACM,KAAN,GAAc3E,KAAK,CAACwE,GAAN,CAAU,WAAV,CAAd;AACAH,MAAAA,KAAK,CAACkB,WAAN,GAAoBvF,KAAK,CAACwE,GAAN,CAAU,qBAAV,CAApB;AACAH,MAAAA,KAAK,CAACE,eAAN,GAAwBvE,KAAK,CAACwE,GAAN,CAAU,eAAV,CAAxB;AACAK,MAAAA,QAAQ,CAACvD,KAAT,GAAiBD,MAAM,CAACC,KAAxB;AACAsD,MAAAA,QAAQ,CAACS,WAAT,CAAqBR,QAArB;AACD;;AAED,QAAI7B,aAAa,GAAG3B,MAAM,CAACnD,IAA3B;AACA,QAAIsH,eAAe,GAAGrB,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAtB;AACAoB,IAAAA,eAAe,CAACnB,KAAhB,CAAsBC,OAAtB,GAAgC,6CAAhC,CAtDmD,CAsD4B;;AAE/E,QAAImB,WAAW,GAAG,2GAAlB;AACA,QAAIC,WAAW,GAAGvB,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAlB;AACA,QAAIuB,aAAa,GAAGxB,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAApB;AACAqB,IAAAA,WAAW,IAAI,uBAAuBzF,KAAK,CAACwE,GAAN,CAAU,aAAV,CAAtC;AACAiB,IAAAA,WAAW,IAAI,YAAYzF,KAAK,CAACwE,GAAN,CAAU,iBAAV,CAA3B;AACA,QAAIoB,IAAI,GAAG,IAAX;;AAEA,aAASC,KAAT,GAAiB;AACf/B,MAAAA,SAAS,CAACG,WAAV,CAAsBC,IAAtB;AACA0B,MAAAA,IAAI,CAAC5B,IAAL,GAAY,IAAZ;AACD;;AAEDxG,IAAAA,gBAAgB,CAACkI,WAAD,EAAc,OAAd,EAAuBG,KAAvB,CAAhB;AACArI,IAAAA,gBAAgB,CAACmI,aAAD,EAAgB,OAAhB,EAAyB,YAAY;AACnD,UAAIZ,eAAe,IAAI,IAAnB,IAA2BD,eAAe,IAAI,IAA9C,IAAsDC,eAAe,IAAI,IAAnB,IAA2BD,eAAe,IAAI,IAAxG,EAA8G;AAC5G,YAAIgB,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAA7B,EAA2C;AACzC;AACAvI,UAAAA,IAAI,CAAC,4IAAD,CAAJ;AACD;;AAEDoI,QAAAA,KAAK;AACL;AACD;;AAED,UAAI3C,SAAJ;;AAEA,UAAI;AACF,YAAI5F,MAAM,CAAC0H,UAAP,CAAkBD,eAAlB,CAAJ,EAAwC;AACtC7B,UAAAA,SAAS,GAAG6B,eAAe,CAACH,QAAD,EAAWjB,GAAG,CAACuB,SAAJ,EAAX,CAA3B;AACD,SAFD,MAEO;AACLhC,UAAAA,SAAS,GAAGH,aAAa,CAAC8B,QAAQ,CAACvD,KAAV,EAAiB0B,aAAjB,CAAzB;AACD;AACF,OAND,CAME,OAAOiD,CAAP,EAAU;AACVJ,QAAAA,KAAK;AACL,cAAM,IAAIK,KAAJ,CAAU,4BAA4BD,CAAtC,CAAN;AACD;;AAED,UAAI/C,SAAJ,EAAe;AACbS,QAAAA,GAAG,CAACE,cAAJ,CAAmB;AACjBtF,UAAAA,IAAI,EAAE,gBADW;AAEjB2E,UAAAA,SAAS,EAAEA;AAFM,SAAnB;AAID;;AAED2C,MAAAA,KAAK;AACN,KAhCe,CAAhB;AAiCAH,IAAAA,WAAW,CAAChB,SAAZ,GAAwBD,IAAI,CAAC,CAAD,CAA5B;AACAkB,IAAAA,aAAa,CAACjB,SAAd,GAA0BD,IAAI,CAAC,CAAD,CAA9B;AACAkB,IAAAA,aAAa,CAACtB,KAAd,CAAoBC,OAApB,GAA8BoB,WAAW,CAACrB,KAAZ,CAAkBC,OAAlB,GAA4BmB,WAA1D;AACA,KAACzF,KAAK,CAACwE,GAAN,CAAU,UAAV,CAAD,IAA0BgB,eAAe,CAACH,WAAhB,CAA4BM,aAA5B,CAA1B;AACAH,IAAAA,eAAe,CAACH,WAAhB,CAA4BK,WAA5B;AACAxB,IAAAA,IAAI,CAACmB,WAAL,CAAiB7C,MAAjB;AACA0B,IAAAA,IAAI,CAACmB,WAAL,CAAiBT,QAAjB;AACAV,IAAAA,IAAI,CAACmB,WAAL,CAAiBG,eAAjB;AACAZ,IAAAA,QAAQ,CAACP,KAAT,CAAe8B,MAAf,GAAwBrC,SAAS,CAACsC,YAAV,GAAyB,EAAzB,GAA8B,IAAtD;AACAtC,IAAAA,SAAS,CAACuB,WAAV,CAAsBnB,IAAtB;AACA,SAAKF,IAAL,GAAYE,IAAZ;AACD,GAjHD;;AAmHAZ,EAAAA,QAAQ,CAACG,SAAT,CAAmB4C,MAAnB,GAA4B,UAAUtI,OAAV,EAAmB4F,GAAnB,EAAwB;AAClD,SAAKK,IAAL,IAAaL,GAAG,CAACI,MAAJ,GAAaE,WAAb,CAAyB,KAAKD,IAA9B,CAAb;AACD,GAFD;;AAIAV,EAAAA,QAAQ,CAACG,SAAT,CAAmB6C,OAAnB,GAA6B,UAAUvI,OAAV,EAAmB4F,GAAnB,EAAwB;AACnD,SAAK0C,MAAL,CAAYtI,OAAZ,EAAqB4F,GAArB;AACD,GAFD;;AAIAL,EAAAA,QAAQ,CAACiD,gBAAT,GAA4B,UAAUxI,OAAV,EAAmB;AAC7C,QAAIyI,aAAa,GAAG;AAClBC,MAAAA,IAAI,EAAE,IADY;AAElBnB,MAAAA,QAAQ,EAAE,KAFQ;AAGlBR,MAAAA,eAAe,EAAE,IAHC;AAIlBC,MAAAA,eAAe,EAAE,IAJC;AAKlB;AACA2B,MAAAA,IAAI,EAAE,6GANY;AAOlBC,MAAAA,KAAK,EAAE5I,OAAO,CAAC6I,cAAR,GAAyBpC,GAAzB,CAA6B,CAAC,SAAD,EAAY,UAAZ,EAAwB,OAAxB,CAA7B,CAPW;AAQlBC,MAAAA,IAAI,EAAE1G,OAAO,CAAC6I,cAAR,GAAyBpC,GAAzB,CAA6B,CAAC,SAAD,EAAY,UAAZ,EAAwB,MAAxB,CAA7B,CARY;AASlBD,MAAAA,eAAe,EAAE,MATC;AAUlBsC,MAAAA,SAAS,EAAE,MAVO;AAWlBC,MAAAA,aAAa,EAAE,MAXG;AAYlBC,MAAAA,mBAAmB,EAAE,MAZH;AAalBC,MAAAA,WAAW,EAAE,SAbK;AAclBC,MAAAA,eAAe,EAAE;AAdC,KAApB;AAgBA,WAAOT,aAAP;AACD,GAlBD;;AAoBA,SAAOlD,QAAP;AACD,CAvJD,CAuJE/F,cAvJF,CAFA;AA0JA;AACA;AACA;;;AAGA,SAAS2J,kBAAT,CAA4BC,OAA5B,EAAqCC,YAArC,EAAmD;AACjD,SAAO9J,MAAM,CAACuC,GAAP,CAAWsH,OAAX,EAAoB,UAAUE,MAAV,EAAkBlE,GAAlB,EAAuB;AAChD,QAAImE,QAAQ,GAAGF,YAAY,IAAIA,YAAY,CAACjE,GAAD,CAA3C;;AAEA,QAAI7F,MAAM,CAACiK,QAAP,CAAgBD,QAAhB,KAA6B,CAAChK,MAAM,CAACkK,OAAP,CAAeF,QAAf,CAAlC,EAA4D;AAC1D,UAAIG,cAAc,GAAGnK,MAAM,CAACiK,QAAP,CAAgBF,MAAhB,KAA2B,CAAC/J,MAAM,CAACkK,OAAP,CAAeH,MAAf,CAAjD;;AAEA,UAAI,CAACI,cAAL,EAAqB;AACnBJ,QAAAA,MAAM,GAAG;AACP/F,UAAAA,KAAK,EAAE+F;AADA,SAAT;AAGD,OAPyD,CAOxD;;;AAGF,UAAIK,gBAAgB,GAAGJ,QAAQ,CAACxH,IAAT,IAAiB,IAAjB,IAAyBuH,MAAM,CAACvH,IAAP,IAAe,IAA/D,CAV0D,CAUW;;AAErEuH,MAAAA,MAAM,GAAG/J,MAAM,CAACqK,QAAP,CAAgBN,MAAhB,EAAwBC,QAAxB,CAAT;AACAI,MAAAA,gBAAgB,IAAI,OAAOL,MAAM,CAACvH,IAAlC;AACA,aAAOuH,MAAP;AACD,KAfD,MAeO;AACL,aAAOA,MAAP;AACD;AACF,GArBM,CAAP;AAsBD,C,CAAC;;;AAGFhK,OAAO,CAACuK,cAAR,CAAuB;AACrBrJ,EAAAA,IAAI,EAAE,gBADe;AAErBsJ,EAAAA,KAAK,EAAE,iBAFc;AAGrBC,EAAAA,MAAM,EAAE;AAHa,CAAvB,EAIG,UAAUC,OAAV,EAAmBhK,OAAnB,EAA4B;AAC7B,MAAIiK,gBAAgB,GAAG,EAAvB;AACA1K,EAAAA,MAAM,CAACkC,IAAP,CAAYuI,OAAO,CAAC7E,SAAR,CAAkBlE,MAA9B,EAAsC,UAAUiJ,SAAV,EAAqB;AACzD,QAAI7J,WAAW,GAAGL,OAAO,CAACmK,eAAR,CAAwBD,SAAS,CAACnI,IAAlC,EAAwC,CAAxC,CAAlB;;AAEA,QAAI,CAAC1B,WAAL,EAAkB;AAChB;AACA;AACA4J,MAAAA,gBAAgB,CAAC/I,IAAjB,CAAsB3B,MAAM,CAAC6K,MAAP,CAAc;AAClC;AACA5J,QAAAA,IAAI,EAAE;AAF4B,OAAd,EAGnB0J,SAHmB,CAAtB;AAID,KAPD,MAOO;AACL,UAAIb,YAAY,GAAGhJ,WAAW,CAACoG,GAAZ,CAAgB,MAAhB,CAAnB;AACAwD,MAAAA,gBAAgB,CAAC/I,IAAjB,CAAsB;AACpBa,QAAAA,IAAI,EAAEmI,SAAS,CAACnI,IADI;AAEpBe,QAAAA,IAAI,EAAEqG,kBAAkB,CAACe,SAAS,CAACpH,IAAX,EAAiBuG,YAAjB;AAFJ,OAAtB;AAID;AACF,GAjBD;AAkBArJ,EAAAA,OAAO,CAACqK,WAAR,CAAoB9K,MAAM,CAACqK,QAAP,CAAgB;AAClC3I,IAAAA,MAAM,EAAEgJ;AAD0B,GAAhB,EAEjBD,OAAO,CAAC7E,SAFS,CAApB;AAGD,CA3BD;AA4BA,eAAeI,QAAf","sourcesContent":["\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { __extends } from \"tslib\";\n/* global document */\n\nimport * as echarts from '../../../core/echarts.js';\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport { ToolboxFeature } from '../featureManager.js';\nimport { addEventListener } from 'zrender/lib/core/event.js';\nimport { warn } from '../../../util/log.js';\n/* global document */\n\nvar BLOCK_SPLITER = new Array(60).join('-');\nvar ITEM_SPLITER = '\\t';\n/**\n * Group series into two types\n * 1. on category axis, like line, bar\n * 2. others, like scatter, pie\n */\n\nfunction groupSeries(ecModel) {\n var seriesGroupByCategoryAxis = {};\n var otherSeries = [];\n var meta = [];\n ecModel.eachRawSeries(function (seriesModel) {\n var coordSys = seriesModel.coordinateSystem;\n\n if (coordSys && (coordSys.type === 'cartesian2d' || coordSys.type === 'polar')) {\n // TODO: TYPE Consider polar? Include polar may increase unecessary bundle size.\n var baseAxis = coordSys.getBaseAxis();\n\n if (baseAxis.type === 'category') {\n var key = baseAxis.dim + '_' + baseAxis.index;\n\n if (!seriesGroupByCategoryAxis[key]) {\n seriesGroupByCategoryAxis[key] = {\n categoryAxis: baseAxis,\n valueAxis: coordSys.getOtherAxis(baseAxis),\n series: []\n };\n meta.push({\n axisDim: baseAxis.dim,\n axisIndex: baseAxis.index\n });\n }\n\n seriesGroupByCategoryAxis[key].series.push(seriesModel);\n } else {\n otherSeries.push(seriesModel);\n }\n } else {\n otherSeries.push(seriesModel);\n }\n });\n return {\n seriesGroupByCategoryAxis: seriesGroupByCategoryAxis,\n other: otherSeries,\n meta: meta\n };\n}\n/**\n * Assemble content of series on cateogory axis\n * @inner\n */\n\n\nfunction assembleSeriesWithCategoryAxis(groups) {\n var tables = [];\n zrUtil.each(groups, function (group, key) {\n var categoryAxis = group.categoryAxis;\n var valueAxis = group.valueAxis;\n var valueAxisDim = valueAxis.dim;\n var headers = [' '].concat(zrUtil.map(group.series, function (series) {\n return series.name;\n })); // @ts-ignore TODO Polar\n\n var columns = [categoryAxis.model.getCategories()];\n zrUtil.each(group.series, function (series) {\n var rawData = series.getRawData();\n columns.push(series.getRawData().mapArray(rawData.mapDimension(valueAxisDim), function (val) {\n return val;\n }));\n }); // Assemble table content\n\n var lines = [headers.join(ITEM_SPLITER)];\n\n for (var i = 0; i < columns[0].length; i++) {\n var items = [];\n\n for (var j = 0; j < columns.length; j++) {\n items.push(columns[j][i]);\n }\n\n lines.push(items.join(ITEM_SPLITER));\n }\n\n tables.push(lines.join('\\n'));\n });\n return tables.join('\\n\\n' + BLOCK_SPLITER + '\\n\\n');\n}\n/**\n * Assemble content of other series\n */\n\n\nfunction assembleOtherSeries(series) {\n return zrUtil.map(series, function (series) {\n var data = series.getRawData();\n var lines = [series.name];\n var vals = [];\n data.each(data.dimensions, function () {\n var argLen = arguments.length;\n var dataIndex = arguments[argLen - 1];\n var name = data.getName(dataIndex);\n\n for (var i = 0; i < argLen - 1; i++) {\n vals[i] = arguments[i];\n }\n\n lines.push((name ? name + ITEM_SPLITER : '') + vals.join(ITEM_SPLITER));\n });\n return lines.join('\\n');\n }).join('\\n\\n' + BLOCK_SPLITER + '\\n\\n');\n}\n\nfunction getContentFromModel(ecModel) {\n var result = groupSeries(ecModel);\n return {\n value: zrUtil.filter([assembleSeriesWithCategoryAxis(result.seriesGroupByCategoryAxis), assembleOtherSeries(result.other)], function (str) {\n return !!str.replace(/[\\n\\t\\s]/g, '');\n }).join('\\n\\n' + BLOCK_SPLITER + '\\n\\n'),\n meta: result.meta\n };\n}\n\nfunction trim(str) {\n return str.replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, '');\n}\n/**\n * If a block is tsv format\n */\n\n\nfunction isTSVFormat(block) {\n // Simple method to find out if a block is tsv format\n var firstLine = block.slice(0, block.indexOf('\\n'));\n\n if (firstLine.indexOf(ITEM_SPLITER) >= 0) {\n return true;\n }\n}\n\nvar itemSplitRegex = new RegExp('[' + ITEM_SPLITER + ']+', 'g');\n/**\n * @param {string} tsv\n * @return {Object}\n */\n\nfunction parseTSVContents(tsv) {\n var tsvLines = tsv.split(/\\n+/g);\n var headers = trim(tsvLines.shift()).split(itemSplitRegex);\n var categories = [];\n var series = zrUtil.map(headers, function (header) {\n return {\n name: header,\n data: []\n };\n });\n\n for (var i = 0; i < tsvLines.length; i++) {\n var items = trim(tsvLines[i]).split(itemSplitRegex);\n categories.push(items.shift());\n\n for (var j = 0; j < items.length; j++) {\n series[j] && (series[j].data[i] = items[j]);\n }\n }\n\n return {\n series: series,\n categories: categories\n };\n}\n\nfunction parseListContents(str) {\n var lines = str.split(/\\n+/g);\n var seriesName = trim(lines.shift());\n var data = [];\n\n for (var i = 0; i < lines.length; i++) {\n // if line is empty, ignore it.\n // there is a case that a user forgot to delete `\\n`.\n var line = trim(lines[i]);\n\n if (!line) {\n continue;\n }\n\n var items = line.split(itemSplitRegex);\n var name_1 = '';\n var value = void 0;\n var hasName = false;\n\n if (isNaN(items[0])) {\n // First item is name\n hasName = true;\n name_1 = items[0];\n items = items.slice(1);\n data[i] = {\n name: name_1,\n value: []\n };\n value = data[i].value;\n } else {\n value = data[i] = [];\n }\n\n for (var j = 0; j < items.length; j++) {\n value.push(+items[j]);\n }\n\n if (value.length === 1) {\n hasName ? data[i].value = value[0] : data[i] = value[0];\n }\n }\n\n return {\n name: seriesName,\n data: data\n };\n}\n\nfunction parseContents(str, blockMetaList) {\n var blocks = str.split(new RegExp('\\n*' + BLOCK_SPLITER + '\\n*', 'g'));\n var newOption = {\n series: []\n };\n zrUtil.each(blocks, function (block, idx) {\n if (isTSVFormat(block)) {\n var result = parseTSVContents(block);\n var blockMeta = blockMetaList[idx];\n var axisKey = blockMeta.axisDim + 'Axis';\n\n if (blockMeta) {\n newOption[axisKey] = newOption[axisKey] || [];\n newOption[axisKey][blockMeta.axisIndex] = {\n data: result.categories\n };\n newOption.series = newOption.series.concat(result.series);\n }\n } else {\n var result = parseListContents(block);\n newOption.series.push(result);\n }\n });\n return newOption;\n}\n\nvar DataView =\n/** @class */\nfunction (_super) {\n __extends(DataView, _super);\n\n function DataView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n\n DataView.prototype.onclick = function (ecModel, api) {\n // FIXME: better way?\n setTimeout(function () {\n api.dispatchAction({\n type: 'hideTip'\n });\n });\n var container = api.getDom();\n var model = this.model;\n\n if (this._dom) {\n container.removeChild(this._dom);\n }\n\n var root = document.createElement('div'); // use padding to avoid 5px whitespace\n\n root.style.cssText = 'position:absolute;top:0;bottom:0;left:0;right:0;padding:5px';\n root.style.backgroundColor = model.get('backgroundColor') || '#fff'; // Create elements\n\n var header = document.createElement('h4');\n var lang = model.get('lang') || [];\n header.innerHTML = lang[0] || model.get('title');\n header.style.cssText = 'margin:10px 20px';\n header.style.color = model.get('textColor');\n var viewMain = document.createElement('div');\n var textarea = document.createElement('textarea');\n viewMain.style.cssText = 'overflow:auto';\n var optionToContent = model.get('optionToContent');\n var contentToOption = model.get('contentToOption');\n var result = getContentFromModel(ecModel);\n\n if (zrUtil.isFunction(optionToContent)) {\n var htmlOrDom = optionToContent(api.getOption());\n\n if (zrUtil.isString(htmlOrDom)) {\n viewMain.innerHTML = htmlOrDom;\n } else if (zrUtil.isDom(htmlOrDom)) {\n viewMain.appendChild(htmlOrDom);\n }\n } else {\n // Use default textarea\n textarea.readOnly = model.get('readOnly');\n var style = textarea.style; // eslint-disable-next-line max-len\n\n style.cssText = 'display:block;width:100%;height:100%;font-family:monospace;font-size:14px;line-height:1.6rem;resize:none;box-sizing:border-box;outline:none';\n style.color = model.get('textColor');\n style.borderColor = model.get('textareaBorderColor');\n style.backgroundColor = model.get('textareaColor');\n textarea.value = result.value;\n viewMain.appendChild(textarea);\n }\n\n var blockMetaList = result.meta;\n var buttonContainer = document.createElement('div');\n buttonContainer.style.cssText = 'position:absolute;bottom:5px;left:0;right:0'; // eslint-disable-next-line max-len\n\n var buttonStyle = 'float:right;margin-right:20px;border:none;cursor:pointer;padding:2px 5px;font-size:12px;border-radius:3px';\n var closeButton = document.createElement('div');\n var refreshButton = document.createElement('div');\n buttonStyle += ';background-color:' + model.get('buttonColor');\n buttonStyle += ';color:' + model.get('buttonTextColor');\n var self = this;\n\n function close() {\n container.removeChild(root);\n self._dom = null;\n }\n\n addEventListener(closeButton, 'click', close);\n addEventListener(refreshButton, 'click', function () {\n if (contentToOption == null && optionToContent != null || contentToOption != null && optionToContent == null) {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line\n warn('It seems you have just provided one of `contentToOption` and `optionToContent` functions but missed the other one. Data change is ignored.');\n }\n\n close();\n return;\n }\n\n var newOption;\n\n try {\n if (zrUtil.isFunction(contentToOption)) {\n newOption = contentToOption(viewMain, api.getOption());\n } else {\n newOption = parseContents(textarea.value, blockMetaList);\n }\n } catch (e) {\n close();\n throw new Error('Data view format error ' + e);\n }\n\n if (newOption) {\n api.dispatchAction({\n type: 'changeDataView',\n newOption: newOption\n });\n }\n\n close();\n });\n closeButton.innerHTML = lang[1];\n refreshButton.innerHTML = lang[2];\n refreshButton.style.cssText = closeButton.style.cssText = buttonStyle;\n !model.get('readOnly') && buttonContainer.appendChild(refreshButton);\n buttonContainer.appendChild(closeButton);\n root.appendChild(header);\n root.appendChild(viewMain);\n root.appendChild(buttonContainer);\n viewMain.style.height = container.clientHeight - 80 + 'px';\n container.appendChild(root);\n this._dom = root;\n };\n\n DataView.prototype.remove = function (ecModel, api) {\n this._dom && api.getDom().removeChild(this._dom);\n };\n\n DataView.prototype.dispose = function (ecModel, api) {\n this.remove(ecModel, api);\n };\n\n DataView.getDefaultOption = function (ecModel) {\n var defaultOption = {\n show: true,\n readOnly: false,\n optionToContent: null,\n contentToOption: null,\n // eslint-disable-next-line\n icon: 'M17.5,17.3H33 M17.5,17.3H33 M45.4,29.5h-28 M11.5,2v56H51V14.8L38.4,2H11.5z M38.4,2.2v12.7H51 M45.4,41.7h-28',\n title: ecModel.getLocaleModel().get(['toolbox', 'dataView', 'title']),\n lang: ecModel.getLocaleModel().get(['toolbox', 'dataView', 'lang']),\n backgroundColor: '#fff',\n textColor: '#000',\n textareaColor: '#fff',\n textareaBorderColor: '#333',\n buttonColor: '#c23531',\n buttonTextColor: '#fff'\n };\n return defaultOption;\n };\n\n return DataView;\n}(ToolboxFeature);\n/**\n * @inner\n */\n\n\nfunction tryMergeDataOption(newData, originalData) {\n return zrUtil.map(newData, function (newVal, idx) {\n var original = originalData && originalData[idx];\n\n if (zrUtil.isObject(original) && !zrUtil.isArray(original)) {\n var newValIsObject = zrUtil.isObject(newVal) && !zrUtil.isArray(newVal);\n\n if (!newValIsObject) {\n newVal = {\n value: newVal\n };\n } // original data has name but new data has no name\n\n\n var shouldDeleteName = original.name != null && newVal.name == null; // Original data has option\n\n newVal = zrUtil.defaults(newVal, original);\n shouldDeleteName && delete newVal.name;\n return newVal;\n } else {\n return newVal;\n }\n });\n} // TODO: SELF REGISTERED.\n\n\necharts.registerAction({\n type: 'changeDataView',\n event: 'dataViewChanged',\n update: 'prepareAndUpdate'\n}, function (payload, ecModel) {\n var newSeriesOptList = [];\n zrUtil.each(payload.newOption.series, function (seriesOpt) {\n var seriesModel = ecModel.getSeriesByName(seriesOpt.name)[0];\n\n if (!seriesModel) {\n // New created series\n // Geuss the series type\n newSeriesOptList.push(zrUtil.extend({\n // Default is scatter\n type: 'scatter'\n }, seriesOpt));\n } else {\n var originalData = seriesModel.get('data');\n newSeriesOptList.push({\n name: seriesOpt.name,\n data: tryMergeDataOption(seriesOpt.data, originalData)\n });\n }\n });\n ecModel.mergeOption(zrUtil.defaults({\n series: newSeriesOptList\n }, payload.newOption));\n});\nexport default DataView;"]},"metadata":{},"sourceType":"module"}