From 1111d8d11b71283bc7d70f02b9318857600b6893 Mon Sep 17 00:00:00 2001 From: machunyu Date: Wed, 12 Oct 2022 15:12:11 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=A3=80=E6=B5=8B=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E6=A8=A1=E5=9D=97=E5=8F=8A=E6=AD=BB=E9=94=81=E6=A3=80?= =?UTF-8?q?=E6=B5=8Bbug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/extensions.json | 5 + .vscode/launch.json | 35 + .vscode/settings.json | 13 + .vscode/tasks.json | 40 + build.sh | 11 + detect-plugin/README.md | 26 + detect-plugin/detect-tools/bincheck_loader.sh | 29 + detect-plugin/detect-tools/x86_64/binloader | Bin 0 -> 14464 bytes .../detect-tools/x86_64/deadlockcheck | Bin 0 -> 396208 bytes .../detect-tools/x86_64/deadlockcheck.b | Bin 0 -> 45296 bytes .../detect-tools/x86_64/detect_deadlock | Bin 0 -> 22032 bytes detect-plugin/package.json | 50 +- detect-plugin/package.nls.json | 7 + detect-plugin/src/detectTaskProvider.ts | 238 ++++++ detect-plugin/src/extension.ts | 197 ++++- detect-plugin/src/utils.ts | 421 +++++++++++ detect-plugin/static/echarts.min.js | 45 ++ detect-plugin/yarn.lock | 5 + view-ui/package-lock.json | 697 +++++++++++++++++- view-ui/package.json | 4 +- view-ui/src/App.vue | 566 ++++++++++---- view-ui/src/main.ts | 4 +- 22 files changed, 2233 insertions(+), 160 deletions(-) create mode 100644 .vscode/extensions.json create mode 100644 .vscode/launch.json create mode 100644 .vscode/settings.json create mode 100644 .vscode/tasks.json create mode 100755 build.sh create mode 100644 detect-plugin/README.md create mode 100755 detect-plugin/detect-tools/bincheck_loader.sh create mode 100755 detect-plugin/detect-tools/x86_64/binloader create mode 100755 detect-plugin/detect-tools/x86_64/deadlockcheck create mode 100644 detect-plugin/detect-tools/x86_64/deadlockcheck.b create mode 100755 detect-plugin/detect-tools/x86_64/detect_deadlock create mode 100644 detect-plugin/package.nls.json create mode 100644 detect-plugin/src/detectTaskProvider.ts create mode 100644 detect-plugin/src/utils.ts create mode 100644 detect-plugin/static/echarts.min.js diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 00000000..57dbdae4 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,5 @@ +{ + // See http://go.microsoft.com/fwlink/?LinkId=827846 + // for the documentation about the extensions.json format + "recommendations": ["dbaeumer.vscode-eslint", "amodio.tsl-problem-matcher"] +} diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 00000000..d4df9e96 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,35 @@ +// A launch configuration that compiles the extension and then opens it inside a new window +// Use IntelliSense to learn about possible attributes. +// Hover to view descriptions of existing attributes. +// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 +{ + "version": "0.2.0", + "configurations": [ + { + "name": "Run Extension", + "type": "extensionHost", + "request": "launch", + "args": [ + "--extensionDevelopmentPath=${workspaceFolder}" + ], + "outFiles": [ + "${workspaceFolder}/dist/**/*.js" + ], + "preLaunchTask": "${defaultBuildTask}" + }, + { + "name": "Extension Tests", + "type": "extensionHost", + "request": "launch", + "args": [ + "--extensionDevelopmentPath=${workspaceFolder}", + "--extensionTestsPath=${workspaceFolder}/out/test/suite/index" + ], + "outFiles": [ + "${workspaceFolder}/out/**/*.js", + "${workspaceFolder}/dist/**/*.js" + ], + "preLaunchTask": "tasks: watch-tests" + } + ] +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..5c5ac48c --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,13 @@ +// Place your settings in this file to overwrite default and user settings. +{ + "files.exclude": { + "out": false, // set this to true to hide the "out" folder with the compiled JS files + "dist": false // set this to true to hide the "dist" folder with the compiled JS files + }, + "search.exclude": { + "out": true, // set this to false to include "out" folder in search results + "dist": true // set this to false to include "dist" folder in search results + }, + // Turn off tsc task auto detection since we have the necessary tasks as npm scripts + "typescript.tsc.autoDetect": "off" +} \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 00000000..c2ab68ae --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,40 @@ +// See https://go.microsoft.com/fwlink/?LinkId=733558 +// for the documentation about the tasks.json format +{ + "version": "2.0.0", + "tasks": [ + { + "type": "npm", + "script": "watch", + "problemMatcher": "$ts-webpack-watch", + "isBackground": true, + "presentation": { + "reveal": "never", + "group": "watchers" + }, + "group": { + "kind": "build", + "isDefault": true + } + }, + { + "type": "npm", + "script": "watch-tests", + "problemMatcher": "$tsc-watch", + "isBackground": true, + "presentation": { + "reveal": "never", + "group": "watchers" + }, + "group": "build" + }, + { + "label": "tasks: watch-tests", + "dependsOn": [ + "npm: watch", + "npm: watch-tests" + ], + "problemMatcher": [] + } + ] +} diff --git a/build.sh b/build.sh new file mode 100755 index 00000000..d4737e3c --- /dev/null +++ b/build.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +# sudo apt install sshpass +cd view-ui +npm install +npm run build +rm -rf ../detect-plugin/dist/ +cp dist/ ../detect-plugin/ -r +cd ../detect-plugin +yarn +vsce package diff --git a/detect-plugin/README.md b/detect-plugin/README.md new file mode 100644 index 00000000..d34a26e7 --- /dev/null +++ b/detect-plugin/README.md @@ -0,0 +1,26 @@ +# C/C++ 程序锁分析 +#### [仓库](https://gitee.com/openkylin/deadlock-detect) + +## 介绍 + +deadlock-detect 是一款基于OpenKylin社区kylin-code的拓展插件,用于C/C++程序的死锁检测及锁状态分析,帮助开发者在Linux系统下识别多线程死锁状态、互斥锁自旋锁等状态异常问题,并对程序加锁位置分析。 + +--- + +## 功能 +- C/C++ 多线程序锁分析 + - 可视化观察临界区进入次数、耗时、条件变量等待时长 + - 线程退出未释放锁异常 + - 可执行程序死锁检测 +- 进程死锁检测 +- 远程环境进程死锁检测 + +## 使用方法 +1. C/C++ 多线程序锁分析 + + + +2. 进程死锁检测 + + +3. 远程进程死锁检测 diff --git a/detect-plugin/detect-tools/bincheck_loader.sh b/detect-plugin/detect-tools/bincheck_loader.sh new file mode 100755 index 00000000..5807b166 --- /dev/null +++ b/detect-plugin/detect-tools/bincheck_loader.sh @@ -0,0 +1,29 @@ +#!/usr/bin/bash +ARCH=`arch` + +DIR=`dirname $0` +BINLOADER=$DIR/${ARCH}/binloader + +if [ $# -lt 1 ];then + # echo "Error params" + exit 101 +fi + +BINPATH=$1 +if [ ! -e ${BINPATH} ] || [ "a" == "a${BINPATH}" ];then + # echo "No File" + exit 102 +fi + +if [ -z "`file ${BINPATH} | grep ELF`" ];then + # echo "Not ELF" + exit 103 +fi + +LIBPTHREAD_PATH=`ldd ${BINPATH} | grep pthread | awk '{print $3}'` +if [ -z "${LIBPTHREAD_PATH}" ];then + # echo "No pthread" + exit 104 +fi + +${BINLOADER} $@ diff --git a/detect-plugin/detect-tools/x86_64/binloader b/detect-plugin/detect-tools/x86_64/binloader new file mode 100755 index 0000000000000000000000000000000000000000..d15b18269fefb747acf83fc17212f1548acd0c26 GIT binary patch literal 14464 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 literal 0 HcmV?d00001 diff --git a/detect-plugin/detect-tools/x86_64/deadlockcheck b/detect-plugin/detect-tools/x86_64/deadlockcheck new file mode 100755 index 0000000000000000000000000000000000000000..e6c4323c4d94f6a3763f7af37cc82d6711faa8f8 GIT binary patch literal 396208 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∈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

`kli+=A6bRgw_aRHTg@AAZbCLEN(u3c^ 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 OT*rU8Em#rGmi<3S-_z0n literal 0 HcmV?d00001 diff --git a/detect-plugin/detect-tools/x86_64/deadlockcheck.b b/detect-plugin/detect-tools/x86_64/deadlockcheck.b new file mode 100644 index 0000000000000000000000000000000000000000..a756236b9f18d541b926b26e0326747df0784b36 GIT binary patch literal 45296 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 literal 0 HcmV?d00001 diff --git a/detect-plugin/detect-tools/x86_64/detect_deadlock b/detect-plugin/detect-tools/x86_64/detect_deadlock new file mode 100755 index 0000000000000000000000000000000000000000..4831faf4ea120597f1f287c9e84faba86d2ca9c7 GIT binary patch literal 22032 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 literal 0 HcmV?d00001 diff --git a/detect-plugin/package.json b/detect-plugin/package.json index aacedf1c..2f011623 100644 --- a/detect-plugin/package.json +++ b/detect-plugin/package.json @@ -16,15 +16,50 @@ "Other" ], "activationEvents": [ - "onCommand:deadlock-detect.detect" + "onCommand:deadlock-detect.open", + "onLanguage:c", + "onLanguage:cpp", + "onCommand:workbench.action.tasks.runTask" ], "main": "./out/extension.js", "contributes": { "commands": [ { - "command": "deadlock-detect.detect", + "command": "deadlock-detect.open", "title": "C/C++程序死锁检测" } + ], + "taskDefinitions": [ + { + "type": "deadlockdetect", + "required": [ + "command" + ], + "properties": { + "command": { + "type": "string", + "description": "%deadlockdetect.taskDefinitions.command.description%" + }, + "args": { + "type": "array", + "description": "%deadlockdetect.taskDefinitions.args.description%" + }, + "options": { + "type": "object", + "description": "%deadlockdetect.taskDefinitions.options.description%", + "properties": { + "cwd": { + "type": "string", + "description": "%deadlockdetect.taskDefinitions.options.cwd.description%" + }, + "env": { + "type": "array", + "description": "%deadlockdetect.taskDefinitions.options.env.description%" + } + } + } + } + } ] }, "scripts": { @@ -39,19 +74,22 @@ "test": "node ./out/test/runTest.js" }, "devDependencies": { - "@types/vscode": "^1.54.0", "@types/glob": "^7.2.0", "@types/mocha": "^9.1.1", "@types/node": "16.x", + "@types/vscode": "^1.54.0", "@typescript-eslint/eslint-plugin": "^5.31.0", "@typescript-eslint/parser": "^5.31.0", + "@vscode/test-electron": "^2.1.5", "eslint": "^8.20.0", "glob": "^8.0.3", "mocha": "^10.0.0", - "typescript": "^4.7.4", "ts-loader": "^9.3.1", + "typescript": "^4.7.4", "webpack": "^5.74.0", - "webpack-cli": "^4.10.0", - "@vscode/test-electron": "^2.1.5" + "webpack-cli": "^4.10.0" + }, + "dependencies": { + "yaml": "^2.1.3" } } diff --git a/detect-plugin/package.nls.json b/detect-plugin/package.nls.json new file mode 100644 index 00000000..60a04a4b --- /dev/null +++ b/detect-plugin/package.nls.json @@ -0,0 +1,7 @@ +{ + "deadlockdetect.taskDefinitions.command.description": "这里是要检测的可执行程序(必选) 相对路径或绝对路径", + "deadlockdetect.taskDefinitions.args.description": "这里是可执行程序的参数(可选)", + "deadlockdetect.taskDefinitions.options.description": "这里是一些可选型", + "deadlockdetect.taskDefinitions.options.cwd.description": "程序的运行目录", + "deadlockdetect.taskDefinitions.options.env.description": "程序的环境变量" +} \ No newline at end of file diff --git a/detect-plugin/src/detectTaskProvider.ts b/detect-plugin/src/detectTaskProvider.ts new file mode 100644 index 00000000..7040533e --- /dev/null +++ b/detect-plugin/src/detectTaskProvider.ts @@ -0,0 +1,238 @@ +import * as vscode from 'vscode'; +import * as child from 'child_process'; +import {execDetect, testPwd, prase_yaml2html} from './utils'; +import { dirname, join } from 'path'; +import { kill } from 'process'; +import * as fs from 'fs'; + +type Options = { + cwd?: string; + env?: string[]; +}; + + +const binLoader: string = join(dirname(__dirname), "detect-tools/bincheck_loader.sh"); + +interface DetectTaskDefinition extends vscode.TaskDefinition { + command: string; + args?: string[]; + options?: Options; +} + + +export class DetectTaskProvider implements vscode.TaskProvider { + static customBuildScriptType = 'deadlockdetect'; + private tasks: vscode.Task[] | undefined; + + private sharedState: string | undefined; + private cmd: child.ChildProcessWithoutNullStreams | undefined; + constructor(private workspaceRoot: string, private context: vscode.ExtensionContext) { } + + public async provideTasks(): Promise { + return this.getTasks(); + } + + public resolveTask(_task: vscode.Task): vscode.Task | undefined { + const command: string = _task.definition.command; + if (command) { + const definition: DetectTaskDefinition = _task.definition; + return this.getTask(definition.command, definition.args ? definition.args : [], definition.options ? definition.options : {}, definition); + } + return undefined; + } + + private getTasks(): vscode.Task[] { + if (this.tasks !== undefined) { + return this.tasks; + } + this.tasks = []; + var option: Options = { + env: ["程序执行所需额外环境变量:如 DISPALY=1"], + }; + this.tasks!.push(this.getTask("被检测可执行程序", ["可执行程序参数(可选)"], option)); + return this.tasks; + } + + private getTask(command: string, args: string[], option: Options, definition?: DetectTaskDefinition): vscode.Task { + if (definition === undefined) { + definition = { + type: DetectTaskProvider.customBuildScriptType, + command: command, + args: args, + options: option, + }; + } + return new vscode.Task(definition, vscode.TaskScope.Workspace, "可执行程序锁检测", + DetectTaskProvider.customBuildScriptType, new vscode.CustomExecution(async (): Promise => { + // When the task is executed, this callback will run. Here, we setup for running the task. + return new CustomBuildTaskTerminal(this.cmd, this.context, command, args, option, () => this.sharedState, (state: string) => this.sharedState = state); + })); + } +} + +class CustomBuildTaskTerminal implements vscode.Pseudoterminal { + private writeEmitter = new vscode.EventEmitter(); + onDidWrite: vscode.Event = this.writeEmitter.event; + private closeEmitter = new vscode.EventEmitter(); + onDidClose?: vscode.Event = this.closeEmitter.event; + private passwd: string | undefined; + private checkedPid: number = 0; + constructor(private cmd: child.ChildProcessWithoutNullStreams | undefined, private context: vscode.ExtensionContext, private command: string, private args: string[], private option: Options, private getSharedState: () => string | undefined, private setSharedState: (state: string) => void) { + } + + open(initialDimensions: vscode.TerminalDimensions | undefined): void { + // At this point we can start using the terminal. + if (this.command.length) { + let found = false; + vscode.workspace.workspaceFolders?.forEach((value)=>{ + // value.uri.fsPath + if(this.command[0] == '/' && !found){ + this.option.cwd = value.uri.fsPath; + found = true; + } + if(!found){ + let absPath = join(value.uri.fsPath, this.command); + if(fs.existsSync(absPath)){ + this.option.cwd = value.uri.fsPath; + this.command = absPath; + found = true; + } + } + }); + if(!found || !fs.existsSync(this.command)){ + vscode.window.showWarningMessage("未找到被检测二进制文件, 请输入相对路径或绝对路径"); + this.closeEmitter.fire(0); + return; + } + // vscode.workspace.workspaceFolders + vscode.window.showInputBox({ + password:true, // 输入内容是否是密码 + ignoreFocusOut:true, // 默认false,设置为true时鼠标点击别的地方输入框不会消失 + placeHolder:'请输入用户密码', // 在输入框内的提示信息 + prompt:'请输入当前用户的密码', + }).then((pwd)=>{ + if(pwd === undefined || pwd?.length === 0) + { + this.closeEmitter.fire(0); + return; + } + testPwd(pwd, (ok)=>{ + if(ok){ + this.passwd = pwd; + this.doExec(); + return; + } + vscode.window.showErrorMessage("用户密码不匹配"); + this.closeEmitter.fire(0); + }); + }); + }else{ + vscode.window.showWarningMessage("未发现被检测二进制文件"); + this.closeEmitter.fire(0); + } + } + close(): void { + if(this.cmd){ + kill(this.checkedPid, 9); + vscode.window.showWarningMessage("检测任务已退出"); + } + } + + // 开始执行待检测程序 + private async doExec(): Promise { + return new Promise((resolve) => { + this.writeEmitter.fire('正在检测 ...\r\n'); + this.option.env?.forEach(e =>{ + let kv = e.split('=', 2); + if(kv.length === 2){ + process.env[kv[0]] = kv[1]; + } + }); + let hadPid = false; + let coption: child.SpawnOptionsWithoutStdio = { + env: process.env + }; + if(this.option.cwd?.length){ + coption.cwd = this.option.cwd; + } + this.cmd = child.spawn(binLoader, [this.command, ...this.args], coption); + this.cmd.on('error', (err)=>{ + this.writeEmitter.fire('执行失败 ... ' + err.message); + }); + this.cmd.on('exit', (code) =>{ + let errmsg = ""; + switch (code) { + case 101: + errmsg = "待检测可执行程序不能为空 !"; + break; + case 102: + errmsg = "待检测可执行程序未找到,请确认可执行程序路径是否存在 !"; + break; + case 103: + errmsg = "待检测可执行程序不是二进制文件 !"; + break; + case 104: + errmsg = "待检测可执行程序未引用pthread动态库 !"; + break; + default: + break; + } + if(errmsg.length){ + vscode.window.showErrorMessage(errmsg); + } + this.writeEmitter.fire('被检测程序已终止 ... \r\n'); + const date = new Date(); + this.setSharedState(date.toTimeString() + ' ' + date.toDateString()); + this.closeEmitter.fire(0); + resolve(); + }); + + this.cmd.stdout.on('data', (data) =>{ + // childPid: 17558 + let buff: Buffer = data; + let str: string = buff.toString('utf8'); + let arrStr = str.split(/\r?\n/); + arrStr.forEach((s)=>{ + this.writeEmitter.fire(s+'\r\n'); + }); + }); + this.cmd.stderr.on('data', (data) =>{ + let buff: Buffer = data; + let str: string = buff.toString('utf8'); + if(!hadPid){ + let result = str.split("|"); + if(result.length >= 4){ + hadPid = true; + this.checkedPid = parseInt(result[3].trim()); + execDetect(this.passwd, result[1].trim(), this.checkedPid, (detectResult)=>{ + if(detectResult.match(/fatal/)?.length){ + vscode.window.showWarningMessage("被检测程序存在严重问题!") + }else if(detectResult.match(/deadlock/)?.length){ + vscode.window.showWarningMessage("被检测程序存在死锁!"); + } + if(detectResult.match(/normal|fatal|deadlock/)?.length){ + const webPanel = vscode.window.createWebviewPanel( + 'detectResultWebview', + "检测结果", + vscode.ViewColumn.One, + { + enableScripts: true, + retainContextWhenHidden: true, + } + ) + webPanel.webview.html = prase_yaml2html(this.command, this.context.extensionPath, webPanel.webview, detectResult); + }else{ + vscode.window.showInformationMessage("程序已退出,但未检测到相关锁信息"); + } + }); + } + return; + } + let arrStr = str.split(/\r?\n/); + arrStr.forEach((s)=>{ + this.writeEmitter.fire(s+'\r\n'); + }); + }); + }); + } +} diff --git a/detect-plugin/src/extension.ts b/detect-plugin/src/extension.ts index c3888131..e636e6db 100644 --- a/detect-plugin/src/extension.ts +++ b/detect-plugin/src/extension.ts @@ -3,9 +3,17 @@ import * as vscode from 'vscode'; import path = require('path'); import fs = require("fs"); +import {DetectTaskProvider} from './detectTaskProvider'; +import { homedir } from 'os'; + +// linux命令操作模块 +var child = require('child_process'); +const { pid } = require('process'); + +let detectTaskProvider: vscode.Disposable | undefined; function getWebViewContent(context: vscode.ExtensionContext, templatePath: string) { - const resourcePath = path.join(context.extensionPath, templatePath); + const resourcePath = path.join(path.dirname(__dirname), templatePath); const dirPath = path.dirname(resourcePath); let html = fs.readFileSync(resourcePath, 'utf-8'); // vscode不支持直接加载本地资源,需要替换成其专有路径格式,这里只是简单的将样式和JS的路径替换 @@ -18,6 +26,23 @@ function getWebViewContent(context: vscode.ExtensionContext, templatePath: strin return html; } +function is_pid_exist(pid: string) { + return new Promise(function(resolve, reject) { + child.exec(`ps -ef`, (e: any, x: string, c: any) => { + if(e){ + reject('ps命令执行错误!') + }else{ + let search=new RegExp("\\s+"+pid+"\\s+"); + let exist=search.test(x); + if(exist){ + resolve('1'); + }else{ + resolve('-1'); + } + } + }) + }); +} // this method is called when your extension is activated // your extension is activated the very first time the command is executed export function activate(context: vscode.ExtensionContext) { @@ -26,10 +51,155 @@ export function activate(context: vscode.ExtensionContext) { // This line of code will only be executed once when your extension is activated console.log('Congratulations, your extension "deadlock-detect" is now active!'); + let newFn={ + local_detect_deadlock:function (message: any ,panel: vscode.WebviewPanel){ + let form=message.form; + + if(form.CmdType==1){ + + child.exec(`echo '${form.pwd}' | sudo -S ps`, (e: any, x: string, c: any) => { + if(e){ + form.success='error-pwd'; + form.msg='您输入的密码错误!'; + if(e.message.indexOf('sudoers')!=-1){ + form.msg='当前用户无sudo权限,请在拥有sudo权限后重试!'; + } + panel.webview.postMessage({ + res: form + }) + return; + } + }) + + let pid_exist = is_pid_exist(form.pid); + pid_exist.then((result)=>{ + console.log(result); + if(result=='-1'){ + form.success='error-pid'; + form.msg='进程号不存在,请重新输入'; + panel.webview.postMessage({ + res: form + }) + return + }else if(result=='1'){ + child.exec(`echo '${form.pwd}' | sudo -S ${__dirname}/../detect-tools/x86_64/detect_deadlock ${form.pid}`, (e: any, x: string, c: any) => { + // console.log(`echo '${form.pwd}' | sudo ${__dirname}/../detect-tools/x86_64/detect_deadlock ${form.pid}`); + if(!e){ + form.data =x; + form.success='success'; + panel.webview.postMessage({ + res: form}); + } + else{ + form.success='error'; + panel.webview.postMessage({ + res: form}); + } + }); + } + }) + } + }, + + remote_detect_deadlock:function (message: any ,panel: vscode.WebviewPanel){ + let form=message.form; + + if(form.CmdType==3){ + // sudo apt install sshpass + child.exec(`sshpass -p '${form.pwd}' ssh -o StrictHostKeyChecking=no ${form.user}@${form.ip}`, (e: any, x: string, c: any) => { + if(e){ + form.success='error-ssh-login'; + form.msg='无法登录您指定的远端系统,请确保具有ssh登录权限!'; + panel.webview.postMessage({ + res: form + }) + return; + } + }) + child.exec(`sshpass -p '${form.pwd}' ssh -o StrictHostKeyChecking=no ${form.user}@${form.ip} 'echo "${form.pwd}" | sudo -S ps'`, (e: any, x: string, c: any) => { + if(e){ + form.success='error-not-sudoer'; + form.msg='user is not sudoer!'; + if(e.message.indexOf('sudoers')!=-1){ + form.msg='当前用户无sudo权限,请在拥有sudo权限后重试!'; + } + panel.webview.postMessage({ + res: form + }) + return; + } + }) + + let pid_exist = new Promise(function(resolve, reject) { + child.exec(`sshpass -p '${form.pwd}' ssh -o StrictHostKeyChecking=no ${form.user}@${form.ip} 'echo "${form.pwd}" | sudo -S ps -ef'`, (e: any, x: string, c: any) => { + if(e){ + reject('ps命令执行错误!') + }else{ + let search=new RegExp("\\s+"+form.pid+"\\s+"); + let exist=search.test(x); + if(exist){ + resolve('1'); + }else{ + resolve('-1'); + } + } + }) + }); + pid_exist.then((result)=>{ + console.log(result); + if(result=='-1'){ + form.success='error-pid'; + form.msg='进程号不存在,请重新输入'; + panel.webview.postMessage({ + res: form + }) + return; + }else if(result=='1'){ + child.exec(`sshpass -p '${form.pwd}' ssh -o StrictHostKeyChecking=no ${form.user}@${form.ip} '[ ! -d .deadlock-detect ] && mkdir .deadlock-detect || ls .deadlock-detect'`, (e: any, x: string, c: any) => { + // console.log(`echo '${form.pwd}' | sudo ${__dirname}/../detect-tools/x86_64/detect_deadlock ${form.pid}`); + if(e){ + form.success='error-mkdir'; + form.msg='创建目录.deadlock-detect失败!'; + panel.webview.postMessage({ + res: form}); + return; + } + }); + child.exec(`sshpass -p '${form.pwd}' scp -o StrictHostKeyChecking=no ${__dirname}/../detect-tools/x86_64/detect_deadlock ${form.user}@${form.ip}:./.deadlock-detect`, (e: any, x: string, c: any) => { + // console.log(`echo '${form.pwd}' | sudo ${__dirname}/../detect-tools/x86_64/detect_deadlock ${form.pid}`); + if(e){ + form.success='error-scp'; + form.msg='scp EXE failed!'; + panel.webview.postMessage({ + res: form}); + return; + } + }); + child.exec(`sshpass -p '${form.pwd}' ssh -o StrictHostKeyChecking=no ${form.user}@${form.ip} 'echo "${form.pwd}" | sudo -S ./.deadlock-detect/detect_deadlock ${form.pid}'`, (e: any, x: string, c: any) => { + // console.log(`echo '${form.pwd}' | sudo ${__dirname}/../detect-tools/x86_64/detect_deadlock ${form.pid}`); + if(!e){ + form.data =x; + console.log(x); + form.success='success'; + panel.webview.postMessage({ + res: form}); + } + else{ + form.success='error'; + panel.webview.postMessage({ + res: form}); + } + }); + } + }) + } + }, + + } // The command has been defined in the package.json file // Now provide the implementation of the command with registerCommand // The commandId parameter must match the command field in package.json - let disposable = vscode.commands.registerCommand('deadlock-detect.detect', () => { + let disposable = vscode.commands.registerCommand('deadlock-detect.open', () => { // The code you place here will be executed every time your command is executed // Display a message box to the user const panel = vscode.window.createWebviewPanel( @@ -38,14 +208,31 @@ export function activate(context: vscode.ExtensionContext) { vscode.ViewColumn.One, { enableScripts: true, - retainContextWhenHidden: false, + retainContextWhenHidden: true, } ); - panel.webview.html = getWebViewContent(context, "./dist/index.html"); + + panel.webview.onDidReceiveMessage(message => { + switch(message.form.CmdType) { + case 1://local pid dead-detect + newFn.local_detect_deadlock(message,panel); + break; + case 3://remote pid dead-detect + newFn.remote_detect_deadlock(message,panel); + break; + } + }); + panel.webview.html = getWebViewContent(context, 'dist/index.html'); }); + const workspaceRoot = (vscode.workspace.workspaceFolders && (vscode.workspace.workspaceFolders.length > 0)) ? vscode.workspace.workspaceFolders[0].uri.fsPath : homedir(); + detectTaskProvider = vscode.tasks.registerTaskProvider(DetectTaskProvider.customBuildScriptType, new DetectTaskProvider(workspaceRoot, context)); context.subscriptions.push(disposable); } // this method is called when your extension is deactivated -export function deactivate() {} +export function deactivate() { + if(detectTaskProvider){ + detectTaskProvider.dispose(); + } +} diff --git a/detect-plugin/src/utils.ts b/detect-plugin/src/utils.ts new file mode 100644 index 00000000..9a168da9 --- /dev/null +++ b/detect-plugin/src/utils.ts @@ -0,0 +1,421 @@ +import * as child from 'child_process'; +import * as vscode from 'vscode'; +import { dirname, join } from 'path'; +import * as YAML from 'yaml'; + +const archs = new Map([ + ["x86_64", "x86_64"], + ["x64", "x86_64"], + ["arm64", "arm64"] +]); + +const myArch = archs.get(process.arch); +const detectTool: string = join(dirname(__dirname), "detect-tools", myArch ? myArch: "x86_64", "deadlockcheck"); + +export function execDetect(pwd: string | undefined, libPthreadPath: string, checkedPid: number, cb: (da:string)=> void) { + var task = child.exec(`echo ${pwd} | sudo -S ${detectTool} --threadlib ${libPthreadPath} --pid ${checkedPid}`, (err, out, e)=>{ + if(err?.message){ + vscode.window.showErrorMessage('附加到被检测程序失败, '+err.message); + return; + } + if(out.length){ + cb(out); + } + child.exec(`sudo -k`); + }); +} + +export function testPwd(pwd:string, cb: (ok: boolean)=>void): void { + if(pwd?.length){ + child.exec(`echo ${pwd} | sudo -S echo okok`, (err, stdout, stderr)=>{ + if(stdout.includes('okok')){ + child.exec(`sudo -k`, (e1, stdout1, stderr3)=>{ + cb(true); + }); + return; + } + cb(false); + }); + } +} + +function circledNodesPosition(x:number, y: number, index: number, nodesLen: number) { + const avd = 360 / nodesLen; + const ahd = avd * Math.PI / 180; + return { + x: Math.sin((ahd * index)) * 15 + x, + y: Math.cos((ahd * index)) * 15 + y + } +} + +// warn: "process exit" +// normalInfo: +// mutex: +// - pid: 12619 +// details: +// 0x7f6a92f4c990: 5-7673-0 +// 0x7f6a92f4c968: 1-3764-0 +// 0x7ffc74e6ab98: 1-7411-0 +// totalTime: 18848 +// condWaitTime: 0 +// - pid: 12618 +// details: +// 0x7f6a92f4c990: 6-10005-0 +// 0x7f6a92f4c968: 1-95491-0 +// 0x7ffc74e6ab98: 2-43556-8000086897 +// totalTime: 149052 +// condWaitTime: 8000086897 +// - pid: 12560 +// details: +// 0x7f6a92f4c968: 2-36323-0 +// totalTime: 36323 +// condWaitTime: 0 + +// 输出死锁时的信息 +function product_deadlockinfo_to_html(cmd: string, echartsPath: string, deadlockDesc: string, nodesInfo: object[], linksInfo: object[]) { + let _nodesInfo = JSON.stringify(nodesInfo); + let _linksInfo = JSON.stringify(linksInfo); + return ` + + + + + + +

+

+
+ + + + + ` +} + +// 输入正常锁信息的html +function product_normalinfo_to_html(cmd: string, echartsPath: string, mutexInfo:string, dimensionsList: string[], sourceList: object[], seriesList: object[]) { + let _dimensionsList = JSON.stringify(dimensionsList); + let _sourceList = JSON.stringify(sourceList); + let _seriesList = JSON.stringify(seriesList); + return ` + + + + + + +

+
+

+ 被测程序 +

+

${cmd}

+

各线程锁信息

+
    + ${mutexInfo} +
+
+


+
+ + + + + ` +} + +// 线程退出但是未释放锁 +// fatal: +// - pid: 23773 +// mutexes: +// - 0x7ffd08d622d8 +// 输出线程退出但是未释放锁的html +function product_fatalinfo_to_html(cmd: string, fatalInfo:string) { + return ` + + + + + + +

+
+

+ 被测程序 +

+

${cmd}

+

严重问题

+
    + ${fatalInfo} +
+
+ + + ` +} + +// 发生死锁 +// deadlock: +// cycle: +// - 0x7ffdd4f33b50 +// - 0x7ffdd4f33b28 +// threadid: +// - 23446 +// - 23445 + +interface DetailInfo { + [key:string]: string +} + +interface MutexInfo{ + pid: number, + details: DetailInfo, + totalTime: number, + condWaitTime: number +} + +interface DeadlockInfo{ + cycle: number [], + threadid: number[] +} + +interface FatalInfo{ + pid: number, + mutexes: number[] +} + +interface SourceInfo { + [key:string]: any +}; + +function parse_mutexInfo(mutexObj:MutexInfo[], sinfoList:SourceInfo[], dimensionsList:string[], seriesList: object[]):string { + let miStr: string = ``; + let mutexSet = new Set(); + mutexObj.forEach(obj =>{ + let sinfo:SourceInfo = {}; + sinfo['product'] = `线程 ${obj.pid}`; + if(obj.condWaitTime){ + miStr += ` +
  • 线程 ${obj.pid} 临界区共耗时 ${obj.totalTime} 纳秒 其中条件变量等待时间 ${obj.condWaitTime} 纳秒. +
      + `; + }else{ + miStr += ` +
    • 线程 ${obj.pid} 临界区共耗时 ${obj.totalTime} 纳秒. +
        + `; + } + for (const key1 in obj.details) { + let info = obj.details[key1].split('-'); + if(info.length >= 3){ + let key = '互斥量 0x'+Number(key1).toString(16); + sinfo[key] = Number(info[1]); + mutexSet.add(key); + if(Number(info[2])){ + miStr += ` +
      • + 进入互斥量(${key})保护的临界区 ${info[0]} 次, 共耗时 ${info[1]} 纳秒, 条件变量等待 ${info[2]} 纳秒. +
      • + ` + }else{ + miStr += ` +
      • + 进入互斥量(${key})保护的临界区 ${info[0]} 次, 共耗时 ${info[1]} 纳秒. +
      • + ` + } + } + } + miStr += ` +
      +
    • + ` + sinfoList.push(sinfo); + }); + dimensionsList.push('product'); + mutexSet.forEach((mutex)=>{ + dimensionsList.push(mutex); + }); + for (let index = 0; index < sinfoList.length; index++) { + seriesList.push({type:'bar'}); + } + return miStr; +} + +function parse_fatalInfo(fatalInfoList:FatalInfo[]) { + let fatalStr =``; + fatalInfoList.forEach(fatal=>{ + fatalStr += ` +
    • 线程 ${fatal.pid} 已退出, 但以下互斥量锁并未释放 +
        + `; + let tmp = ''; + fatal.mutexes.forEach(m=>{ + tmp = '0x' + m.toString(16); + fatalStr += `
      • ${tmp}
      • `; + }) + fatalStr += ` +
      +
    • + `; + }) + return fatalStr; +} + +//
    • +// 线程 1005 已经拥有互斥量(0x2342fff), 继续申请互斥量(0x2342fffff) +//
    • +//
    • +// 线程 1002 已经拥有互斥量(0x2342fff), 继续申请互斥量(0x2342fffff) +//
    • +//
    • +// 线程 1001 已经拥有互斥量(0x2342fff), 继续申请互斥量(0x2342fffff) +//
    • +function parse_deadlockInfo(dlInfo:DeadlockInfo, dataList: object[], linksList: object[]) { + let miStr = ``; + if(dlInfo.cycle.length != dlInfo.threadid.length) + { + return miStr; + } + dlInfo.threadid.forEach((value, index)=>{ + if(dlInfo.cycle[index]){ + let tmp1 = '0x'+dlInfo.cycle[index].toString(16); + let tmp2 = '0x'+dlInfo.cycle[(index+1)%dlInfo.cycle.length].toString(16); + let val = `线程 ${value} 已经拥有互斥量(${tmp1}), 继续申请互斥量(${tmp2})`; + miStr += ` +
    • + ${val}. +
    • `; + let pos = circledNodesPosition(300, 300, index, dlInfo.cycle.length); + dataList.push({ + name: `互斥量 \n(${tmp1})`, + x: pos.x, + y: pos.y, + }); + linksList.push({ + source: index, + target: (index+1)%dlInfo.cycle.length, + value: `线程 ${value}`, + lineStyle: { + curveness: 0.2 + } + }); + } + }); + return miStr; +} + +export function prase_yaml2html(cmd: string, uri: string, webView: vscode.Webview, str: string) { + let ymlObj = YAML.parse(str); + const diskPath = vscode.Uri.file(join(uri, 'static', 'echarts.min.js')); + const scriptUri = diskPath.with({ scheme: 'vscode-resource' }).toString(); + if(ymlObj.warn){ + if(ymlObj.normalInfo?.mutex){ + let sinfoList:SourceInfo[] = []; + let dimensionsList:string[] = []; + let seriesList: object[] = []; + let miStr = parse_mutexInfo(ymlObj.normalInfo.mutex, sinfoList, dimensionsList, seriesList); + return product_normalinfo_to_html(cmd, scriptUri, miStr, dimensionsList, sinfoList, seriesList); + } + } + if(ymlObj.fatal){ + return product_fatalinfo_to_html(cmd, parse_fatalInfo(ymlObj.fatal)); + } + if(ymlObj.deadlock){ + let dataList: object[] = []; + let linksList: object[] = []; + let dlStr = parse_deadlockInfo(ymlObj.deadlock, dataList, linksList); + return product_deadlockinfo_to_html(cmd, scriptUri, dlStr, dataList, linksList); + } + return ``; +} diff --git a/detect-plugin/static/echarts.min.js b/detect-plugin/static/echarts.min.js new file mode 100644 index 00000000..9260d807 --- /dev/null +++ b/detect-plugin/static/echarts.min.js @@ -0,0 +1,45 @@ + +/* +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. See the License for the +* specific language governing permissions and limitations +* under the License. +*/ + +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).echarts={})}(this,(function(t){"use strict"; +/*! ***************************************************************************** + Copyright (c) Microsoft Corporation. + + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted. + + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + ***************************************************************************** */var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},e(t,n)};function n(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}var i=function(){this.firefox=!1,this.ie=!1,this.edge=!1,this.newEdge=!1,this.weChat=!1},r=new function(){this.browser=new i,this.node=!1,this.wxa=!1,this.worker=!1,this.svgSupported=!1,this.touchEventsSupported=!1,this.pointerEventsSupported=!1,this.domSupported=!1,this.transformSupported=!1,this.transform3dSupported=!1,this.hasGlobalWindow="undefined"!=typeof window};"object"==typeof wx&&"function"==typeof wx.getSystemInfoSync?(r.wxa=!0,r.touchEventsSupported=!0):"undefined"==typeof document&&"undefined"!=typeof self?r.worker=!0:"undefined"==typeof navigator?(r.node=!0,r.svgSupported=!0):function(t,e){var n=e.browser,i=t.match(/Firefox\/([\d.]+)/),r=t.match(/MSIE\s([\d.]+)/)||t.match(/Trident\/.+?rv:(([\d.]+))/),o=t.match(/Edge?\/([\d.]+)/),a=/micromessenger/i.test(t);i&&(n.firefox=!0,n.version=i[1]);r&&(n.ie=!0,n.version=r[1]);o&&(n.edge=!0,n.version=o[1],n.newEdge=+o[1].split(".")[0]>18);a&&(n.weChat=!0);e.svgSupported="undefined"!=typeof SVGRect,e.touchEventsSupported="ontouchstart"in window&&!n.ie&&!n.edge,e.pointerEventsSupported="onpointerdown"in window&&(n.edge||n.ie&&+n.version>=11),e.domSupported="undefined"!=typeof document;var s=document.documentElement.style;e.transform3dSupported=(n.ie&&"transition"in s||n.edge||"WebKitCSSMatrix"in window&&"m11"in new WebKitCSSMatrix||"MozPerspective"in s)&&!("OTransition"in s),e.transformSupported=e.transform3dSupported||n.ie&&+n.version>=9}(navigator.userAgent,r);var o="sans-serif",a="12px sans-serif";var s,l,u=function(t){var e={};if("undefined"==typeof JSON)return e;for(var n=0;n=0)o=r*t.length;else for(var c=0;c>1)%2;a.style.cssText=["position: absolute","visibility: hidden","padding: 0","margin: 0","border-width: 0","user-select: none","width:0","height:0",i[s]+":0",r[l]+":0",i[1-s]+":auto",r[1-l]+":auto",""].join("!important;"),t.appendChild(a),n.push(a)}return n}(e,a),l=function(t,e,n){for(var i=n?"invTrans":"trans",r=e[i],o=e.srcCoords,a=[],s=[],l=!0,u=0;u<4;u++){var h=t[u].getBoundingClientRect(),c=2*u,p=h.left,d=h.top;a.push(p,d),l=l&&o&&p===o[c]&&d===o[c+1],s.push(t[u].offsetLeft,t[u].offsetTop)}return l&&r?r:(e.srcCoords=a,e[i]=n?qt(s,a):qt(a,s))}(s,a,o);if(l)return l(t,n,i),!0}return!1}function Jt(t){return"CANVAS"===t.nodeName.toUpperCase()}var Qt=/([&<>"'])/g,te={"&":"&","<":"<",">":">",'"':""","'":"'"};function ee(t){return null==t?"":(t+"").replace(Qt,(function(t,e){return te[e]}))}var ne=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ie=[],re=r.browser.firefox&&+r.browser.version.split(".")[0]<39;function oe(t,e,n,i){return n=n||{},i?ae(t,e,n):re&&null!=e.layerX&&e.layerX!==e.offsetX?(n.zrX=e.layerX,n.zrY=e.layerY):null!=e.offsetX?(n.zrX=e.offsetX,n.zrY=e.offsetY):ae(t,e,n),n}function ae(t,e,n){if(r.domSupported&&t.getBoundingClientRect){var i=e.clientX,o=e.clientY;if(Jt(t)){var a=t.getBoundingClientRect();return n.zrX=i-a.left,void(n.zrY=o-a.top)}if($t(ie,t,i,o))return n.zrX=ie[0],void(n.zrY=ie[1])}n.zrX=n.zrY=0}function se(t){return t||window.event}function le(t,e,n){if(null!=(e=se(e)).zrX)return e;var i=e.type;if(i&&i.indexOf("touch")>=0){var r="touchend"!==i?e.targetTouches[0]:e.changedTouches[0];r&&oe(t,r,e,n)}else{oe(t,e,e,n);var o=function(t){var e=t.wheelDelta;if(e)return e;var n=t.deltaX,i=t.deltaY;if(null==n||null==i)return e;return 3*(0!==i?Math.abs(i):Math.abs(n))*(i>0?-1:i<0?1:n>0?-1:1)}(e);e.zrDelta=o?o/120:-(e.detail||0)/3}var a=e.button;return null==e.which&&void 0!==a&&ne.test(e.type)&&(e.which=1&a?1:2&a?3:4&a?2:0),e}function ue(t,e,n,i){t.addEventListener(e,n,i)}var he=function(t){t.preventDefault(),t.stopPropagation(),t.cancelBubble=!0};function ce(t){return 2===t.which||3===t.which}var pe=function(){function t(){this._track=[]}return t.prototype.recognize=function(t,e,n){return this._doTrack(t,e,n),this._recognize(t)},t.prototype.clear=function(){return this._track.length=0,this},t.prototype._doTrack=function(t,e,n){var i=t.touches;if(i){for(var r={points:[],touches:[],target:e,event:t},o=0,a=i.length;o1&&r&&r.length>1){var a=de(r)/de(o);!isFinite(a)&&(a=1),e.pinchScale=a;var s=[((i=r)[0][0]+i[1][0])/2,(i[0][1]+i[1][1])/2];return e.pinchX=s[0],e.pinchY=s[1],{type:"pinch",target:t[0].target,event:e}}}}};function ge(){return[1,0,0,1,0,0]}function ye(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t}function ve(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t}function me(t,e,n){var i=e[0]*n[0]+e[2]*n[1],r=e[1]*n[0]+e[3]*n[1],o=e[0]*n[2]+e[2]*n[3],a=e[1]*n[2]+e[3]*n[3],s=e[0]*n[4]+e[2]*n[5]+e[4],l=e[1]*n[4]+e[3]*n[5]+e[5];return t[0]=i,t[1]=r,t[2]=o,t[3]=a,t[4]=s,t[5]=l,t}function xe(t,e,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4]+n[0],t[5]=e[5]+n[1],t}function _e(t,e,n){var i=e[0],r=e[2],o=e[4],a=e[1],s=e[3],l=e[5],u=Math.sin(n),h=Math.cos(n);return t[0]=i*h+a*u,t[1]=-i*u+a*h,t[2]=r*h+s*u,t[3]=-r*u+h*s,t[4]=h*o+u*l,t[5]=h*l-u*o,t}function be(t,e,n){var i=n[0],r=n[1];return t[0]=e[0]*i,t[1]=e[1]*r,t[2]=e[2]*i,t[3]=e[3]*r,t[4]=e[4]*i,t[5]=e[5]*r,t}function we(t,e){var n=e[0],i=e[2],r=e[4],o=e[1],a=e[3],s=e[5],l=n*a-o*i;return l?(l=1/l,t[0]=a*l,t[1]=-o*l,t[2]=-i*l,t[3]=n*l,t[4]=(i*s-a*r)*l,t[5]=(o*r-n*s)*l,t):null}function Se(t){var e=[1,0,0,1,0,0];return ve(e,t),e}var Me=Object.freeze({__proto__:null,create:ge,identity:ye,copy:ve,mul:me,translate:xe,rotate:_e,scale:be,invert:we,clone:Se}),Ie=function(){function t(t,e){this.x=t||0,this.y=e||0}return t.prototype.copy=function(t){return this.x=t.x,this.y=t.y,this},t.prototype.clone=function(){return new t(this.x,this.y)},t.prototype.set=function(t,e){return this.x=t,this.y=e,this},t.prototype.equal=function(t){return t.x===this.x&&t.y===this.y},t.prototype.add=function(t){return this.x+=t.x,this.y+=t.y,this},t.prototype.scale=function(t){this.x*=t,this.y*=t},t.prototype.scaleAndAdd=function(t,e){this.x+=t.x*e,this.y+=t.y*e},t.prototype.sub=function(t){return this.x-=t.x,this.y-=t.y,this},t.prototype.dot=function(t){return this.x*t.x+this.y*t.y},t.prototype.len=function(){return Math.sqrt(this.x*this.x+this.y*this.y)},t.prototype.lenSquare=function(){return this.x*this.x+this.y*this.y},t.prototype.normalize=function(){var t=this.len();return this.x/=t,this.y/=t,this},t.prototype.distance=function(t){var e=this.x-t.x,n=this.y-t.y;return Math.sqrt(e*e+n*n)},t.prototype.distanceSquare=function(t){var e=this.x-t.x,n=this.y-t.y;return e*e+n*n},t.prototype.negate=function(){return this.x=-this.x,this.y=-this.y,this},t.prototype.transform=function(t){if(t){var e=this.x,n=this.y;return this.x=t[0]*e+t[2]*n+t[4],this.y=t[1]*e+t[3]*n+t[5],this}},t.prototype.toArray=function(t){return t[0]=this.x,t[1]=this.y,t},t.prototype.fromArray=function(t){this.x=t[0],this.y=t[1]},t.set=function(t,e,n){t.x=e,t.y=n},t.copy=function(t,e){t.x=e.x,t.y=e.y},t.len=function(t){return Math.sqrt(t.x*t.x+t.y*t.y)},t.lenSquare=function(t){return t.x*t.x+t.y*t.y},t.dot=function(t,e){return t.x*e.x+t.y*e.y},t.add=function(t,e,n){t.x=e.x+n.x,t.y=e.y+n.y},t.sub=function(t,e,n){t.x=e.x-n.x,t.y=e.y-n.y},t.scale=function(t,e,n){t.x=e.x*n,t.y=e.y*n},t.scaleAndAdd=function(t,e,n,i){t.x=e.x+n.x*i,t.y=e.y+n.y*i},t.lerp=function(t,e,n,i){var r=1-i;t.x=r*e.x+i*n.x,t.y=r*e.y+i*n.y},t}(),Te=Math.min,Ce=Math.max,De=new Ie,Ae=new Ie,ke=new Ie,Le=new Ie,Pe=new Ie,Oe=new Ie,Re=function(){function t(t,e,n,i){n<0&&(t+=n,n=-n),i<0&&(e+=i,i=-i),this.x=t,this.y=e,this.width=n,this.height=i}return t.prototype.union=function(t){var e=Te(t.x,this.x),n=Te(t.y,this.y);isFinite(this.x)&&isFinite(this.width)?this.width=Ce(t.x+t.width,this.x+this.width)-e:this.width=t.width,isFinite(this.y)&&isFinite(this.height)?this.height=Ce(t.y+t.height,this.y+this.height)-n:this.height=t.height,this.x=e,this.y=n},t.prototype.applyTransform=function(e){t.applyTransform(this,this,e)},t.prototype.calculateTransform=function(t){var e=this,n=t.width/e.width,i=t.height/e.height,r=[1,0,0,1,0,0];return xe(r,r,[-e.x,-e.y]),be(r,r,[n,i]),xe(r,r,[t.x,t.y]),r},t.prototype.intersect=function(e,n){if(!e)return!1;e instanceof t||(e=t.create(e));var i=this,r=i.x,o=i.x+i.width,a=i.y,s=i.y+i.height,l=e.x,u=e.x+e.width,h=e.y,c=e.y+e.height,p=!(of&&(f=x,gf&&(f=_,v=n.x&&t<=n.x+n.width&&e>=n.y&&e<=n.y+n.height},t.prototype.clone=function(){return new t(this.x,this.y,this.width,this.height)},t.prototype.copy=function(e){t.copy(this,e)},t.prototype.plain=function(){return{x:this.x,y:this.y,width:this.width,height:this.height}},t.prototype.isFinite=function(){return isFinite(this.x)&&isFinite(this.y)&&isFinite(this.width)&&isFinite(this.height)},t.prototype.isZero=function(){return 0===this.width||0===this.height},t.create=function(e){return new t(e.x,e.y,e.width,e.height)},t.copy=function(t,e){t.x=e.x,t.y=e.y,t.width=e.width,t.height=e.height},t.applyTransform=function(e,n,i){if(i){if(i[1]<1e-5&&i[1]>-1e-5&&i[2]<1e-5&&i[2]>-1e-5){var r=i[0],o=i[3],a=i[4],s=i[5];return e.x=n.x*r+a,e.y=n.y*o+s,e.width=n.width*r,e.height=n.height*o,e.width<0&&(e.x+=e.width,e.width=-e.width),void(e.height<0&&(e.y+=e.height,e.height=-e.height))}De.x=ke.x=n.x,De.y=Le.y=n.y,Ae.x=Le.x=n.x+n.width,Ae.y=ke.y=n.y+n.height,De.transform(i),Le.transform(i),Ae.transform(i),ke.transform(i),e.x=Te(De.x,Ae.x,ke.x,Le.x),e.y=Te(De.y,Ae.y,ke.y,Le.y);var l=Ce(De.x,Ae.x,ke.x,Le.x),u=Ce(De.y,Ae.y,ke.y,Le.y);e.width=l-e.x,e.height=u-e.y}else e!==n&&t.copy(e,n)},t}(),Ne="silent";function Ee(){he(this.event)}var ze=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.handler=null,e}return n(e,t),e.prototype.dispose=function(){},e.prototype.setCursor=function(){},e}(Xt),Ve=function(t,e){this.x=t,this.y=e},Be=["click","dblclick","mousewheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],Fe=new Re(0,0,0,0),Ge=function(t){function e(e,n,i,r,o){var a=t.call(this)||this;return a._hovered=new Ve(0,0),a.storage=e,a.painter=n,a.painterRoot=r,a._pointerSize=o,i=i||new ze,a.proxy=null,a.setHandlerProxy(i),a._draggingMgr=new Ut(a),a}return n(e,t),e.prototype.setHandlerProxy=function(t){this.proxy&&this.proxy.dispose(),t&&(E(Be,(function(e){t.on&&t.on(e,this[e],this)}),this),t.handler=this),this.proxy=t},e.prototype.mousemove=function(t){var e=t.zrX,n=t.zrY,i=Ye(this,e,n),r=this._hovered,o=r.target;o&&!o.__zr&&(o=(r=this.findHover(r.x,r.y)).target);var a=this._hovered=i?new Ve(e,n):this.findHover(e,n),s=a.target,l=this.proxy;l.setCursor&&l.setCursor(s?s.cursor:"default"),o&&s!==o&&this.dispatchToElement(r,"mouseout",t),this.dispatchToElement(a,"mousemove",t),s&&s!==o&&this.dispatchToElement(a,"mouseover",t)},e.prototype.mouseout=function(t){var e=t.zrEventControl;"only_globalout"!==e&&this.dispatchToElement(this._hovered,"mouseout",t),"no_globalout"!==e&&this.trigger("globalout",{type:"globalout",event:t})},e.prototype.resize=function(){this._hovered=new Ve(0,0)},e.prototype.dispatch=function(t,e){var n=this[t];n&&n.call(this,e)},e.prototype.dispose=function(){this.proxy.dispose(),this.storage=null,this.proxy=null,this.painter=null},e.prototype.setCursorStyle=function(t){var e=this.proxy;e.setCursor&&e.setCursor(t)},e.prototype.dispatchToElement=function(t,e,n){var i=(t=t||{}).target;if(!i||!i.silent){for(var r="on"+e,o=function(t,e,n){return{type:t,event:n,target:e.target,topTarget:e.topTarget,cancelBubble:!1,offsetX:n.zrX,offsetY:n.zrY,gestureEvent:n.gestureEvent,pinchX:n.pinchX,pinchY:n.pinchY,pinchScale:n.pinchScale,wheelDelta:n.zrDelta,zrByTouch:n.zrByTouch,which:n.which,stop:Ee}}(e,t,n);i&&(i[r]&&(o.cancelBubble=!!i[r].call(i,o)),i.trigger(e,o),i=i.__hostTarget?i.__hostTarget:i.parent,!o.cancelBubble););o.cancelBubble||(this.trigger(e,o),this.painter&&this.painter.eachOtherLayer&&this.painter.eachOtherLayer((function(t){"function"==typeof t[r]&&t[r].call(t,o),t.trigger&&t.trigger(e,o)})))}},e.prototype.findHover=function(t,e,n){var i=this.storage.getDisplayList(),r=new Ve(t,e);if(He(i,r,t,e,n),this._pointerSize&&!r.target){for(var o=[],a=this._pointerSize,s=a/2,l=new Re(t-s,e-s,a,a),u=i.length-1;u>=0;u--){var h=i[u];h===n||h.ignore||h.ignoreCoarsePointer||h.parent&&h.parent.ignoreCoarsePointer||(Fe.copy(h.getBoundingRect()),h.transform&&Fe.applyTransform(h.transform),Fe.intersect(l)&&o.push(h))}if(o.length)for(var c=Math.PI/12,p=2*Math.PI,d=0;d=0;o--){var a=t[o],s=void 0;if(a!==r&&!a.ignore&&(s=We(a,n,i))&&(!e.topTarget&&(e.topTarget=a),s!==Ne)){e.target=a;break}}}function Ye(t,e,n){var i=t.painter;return e<0||e>i.getWidth()||n<0||n>i.getHeight()}E(["click","mousedown","mouseup","mousewheel","dblclick","contextmenu"],(function(t){Ge.prototype[t]=function(e){var n,i,r=e.zrX,o=e.zrY,a=Ye(this,r,o);if("mouseup"===t&&a||(i=(n=this.findHover(r,o)).target),"mousedown"===t)this._downEl=i,this._downPoint=[e.zrX,e.zrY],this._upEl=i;else if("mouseup"===t)this._upEl=i;else if("click"===t){if(this._downEl!==this._upEl||!this._downPoint||Et(this._downPoint,[e.zrX,e.zrY])>4)return;this._downPoint=null}this.dispatchToElement(n,t,e)}}));function Ue(t,e,n,i){var r=e+1;if(r===n)return 1;if(i(t[r++],t[e])<0){for(;r=0;)r++;return r-e}function Xe(t,e,n,i,r){for(i===e&&i++;i>>1])<0?l=o:s=o+1;var u=i-s;switch(u){case 3:t[s+3]=t[s+2];case 2:t[s+2]=t[s+1];case 1:t[s+1]=t[s];break;default:for(;u>0;)t[s+u]=t[s+u-1],u--}t[s]=a}}function Ze(t,e,n,i,r,o){var a=0,s=0,l=1;if(o(t,e[n+r])>0){for(s=i-r;l0;)a=l,(l=1+(l<<1))<=0&&(l=s);l>s&&(l=s),a+=r,l+=r}else{for(s=r+1;ls&&(l=s);var u=a;a=r-l,l=r-u}for(a++;a>>1);o(t,e[n+h])>0?a=h+1:l=h}return l}function je(t,e,n,i,r,o){var a=0,s=0,l=1;if(o(t,e[n+r])<0){for(s=r+1;ls&&(l=s);var u=a;a=r-l,l=r-u}else{for(s=i-r;l=0;)a=l,(l=1+(l<<1))<=0&&(l=s);l>s&&(l=s),a+=r,l+=r}for(a++;a>>1);o(t,e[n+h])<0?l=h:a=h+1}return l}function qe(t,e){var n,i,r=7,o=0;t.length;var a=[];function s(s){var l=n[s],u=i[s],h=n[s+1],c=i[s+1];i[s]=u+c,s===o-3&&(n[s+1]=n[s+2],i[s+1]=i[s+2]),o--;var p=je(t[h],t,l,u,0,e);l+=p,0!==(u-=p)&&0!==(c=Ze(t[l+u-1],t,h,c,c-1,e))&&(u<=c?function(n,i,o,s){var l=0;for(l=0;l=7||d>=7);if(f)break;g<0&&(g=0),g+=2}if((r=g)<1&&(r=1),1===i){for(l=0;l=0;l--)t[d+l]=t[p+l];return void(t[c]=a[h])}var f=r;for(;;){var g=0,y=0,v=!1;do{if(e(a[h],t[u])<0){if(t[c--]=t[u--],g++,y=0,0==--i){v=!0;break}}else if(t[c--]=a[h--],y++,g=0,1==--s){v=!0;break}}while((g|y)=0;l--)t[d+l]=t[p+l];if(0===i){v=!0;break}}if(t[c--]=a[h--],1==--s){v=!0;break}if(0!==(y=s-Ze(t[u],a,0,s,s-1,e))){for(s-=y,d=(c-=y)+1,p=(h-=y)+1,l=0;l=7||y>=7);if(v)break;f<0&&(f=0),f+=2}(r=f)<1&&(r=1);if(1===s){for(d=(c-=i)+1,p=(u-=i)+1,l=i-1;l>=0;l--)t[d+l]=t[p+l];t[c]=a[h]}else{if(0===s)throw new Error;for(p=c-(s-1),l=0;l1;){var t=o-2;if(t>=1&&i[t-1]<=i[t]+i[t+1]||t>=2&&i[t-2]<=i[t]+i[t-1])i[t-1]i[t+1])break;s(t)}},forceMergeRuns:function(){for(;o>1;){var t=o-2;t>0&&i[t-1]=32;)e|=1&t,t>>=1;return t+e}(r);do{if((o=Ue(t,n,i,e))s&&(l=s),Xe(t,n,n+l,n+o,e),o=l}a.pushRun(n,o),a.mergeRuns(),r-=o,n+=o}while(0!==r);a.forceMergeRuns()}}}var $e=!1;function Je(){$e||($e=!0,console.warn("z / z2 / zlevel of displayable is invalid, which may cause unexpected errors"))}function Qe(t,e){return t.zlevel===e.zlevel?t.z===e.z?t.z2-e.z2:t.z-e.z:t.zlevel-e.zlevel}var tn=function(){function t(){this._roots=[],this._displayList=[],this._displayListLen=0,this.displayableSortFunc=Qe}return t.prototype.traverse=function(t,e){for(var n=0;n0&&(u.__clipPaths=[]),isNaN(u.z)&&(Je(),u.z=0),isNaN(u.z2)&&(Je(),u.z2=0),isNaN(u.zlevel)&&(Je(),u.zlevel=0),this._displayList[this._displayListLen++]=u}var h=t.getDecalElement&&t.getDecalElement();h&&this._updateAndAddDisplayable(h,e,n);var c=t.getTextGuideLine();c&&this._updateAndAddDisplayable(c,e,n);var p=t.getTextContent();p&&this._updateAndAddDisplayable(p,e,n)}},t.prototype.addRoot=function(t){t.__zr&&t.__zr.storage===this||this._roots.push(t)},t.prototype.delRoot=function(t){if(t instanceof Array)for(var e=0,n=t.length;e=0&&this._roots.splice(i,1)}},t.prototype.delAllRoots=function(){this._roots=[],this._displayList=[],this._displayListLen=0},t.prototype.getRoots=function(){return this._roots},t.prototype.dispose=function(){this._displayList=null,this._roots=null},t}(),en=r.hasGlobalWindow&&(window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.msRequestAnimationFrame&&window.msRequestAnimationFrame.bind(window)||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame)||function(t){return setTimeout(t,16)},nn={linear:function(t){return t},quadraticIn:function(t){return t*t},quadraticOut:function(t){return t*(2-t)},quadraticInOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)},cubicIn:function(t){return t*t*t},cubicOut:function(t){return--t*t*t+1},cubicInOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)},quarticIn:function(t){return t*t*t*t},quarticOut:function(t){return 1- --t*t*t*t},quarticInOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)},quinticIn:function(t){return t*t*t*t*t},quinticOut:function(t){return--t*t*t*t*t+1},quinticInOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)},sinusoidalIn:function(t){return 1-Math.cos(t*Math.PI/2)},sinusoidalOut:function(t){return Math.sin(t*Math.PI/2)},sinusoidalInOut:function(t){return.5*(1-Math.cos(Math.PI*t))},exponentialIn:function(t){return 0===t?0:Math.pow(1024,t-1)},exponentialOut:function(t){return 1===t?1:1-Math.pow(2,-10*t)},exponentialInOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))},circularIn:function(t){return 1-Math.sqrt(1-t*t)},circularOut:function(t){return Math.sqrt(1- --t*t)},circularInOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},elasticIn:function(t){var e,n=.1;return 0===t?0:1===t?1:(!n||n<1?(n=1,e=.1):e=.4*Math.asin(1/n)/(2*Math.PI),-n*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},elasticOut:function(t){var e,n=.1;return 0===t?0:1===t?1:(!n||n<1?(n=1,e=.1):e=.4*Math.asin(1/n)/(2*Math.PI),n*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},elasticInOut:function(t){var e,n=.1,i=.4;return 0===t?0:1===t?1:(!n||n<1?(n=1,e=.1):e=i*Math.asin(1/n)/(2*Math.PI),(t*=2)<1?n*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/i)*-.5:n*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/i)*.5+1)},backIn:function(t){var e=1.70158;return t*t*((e+1)*t-e)},backOut:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},backInOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)},bounceIn:function(t){return 1-nn.bounceOut(1-t)},bounceOut:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},bounceInOut:function(t){return t<.5?.5*nn.bounceIn(2*t):.5*nn.bounceOut(2*t-1)+.5}},rn=Math.pow,on=Math.sqrt,an=1e-8,sn=1e-4,ln=on(3),un=1/3,hn=wt(),cn=wt(),pn=wt();function dn(t){return t>-1e-8&&tan||t<-1e-8}function gn(t,e,n,i,r){var o=1-r;return o*o*(o*t+3*r*e)+r*r*(r*i+3*o*n)}function yn(t,e,n,i,r){var o=1-r;return 3*(((e-t)*o+2*(n-e)*r)*o+(i-n)*r*r)}function vn(t,e,n,i,r,o){var a=i+3*(e-n)-t,s=3*(n-2*e+t),l=3*(e-t),u=t-r,h=s*s-3*a*l,c=s*l-9*a*u,p=l*l-3*s*u,d=0;if(dn(h)&&dn(c)){if(dn(s))o[0]=0;else(M=-l/s)>=0&&M<=1&&(o[d++]=M)}else{var f=c*c-4*h*p;if(dn(f)){var g=c/h,y=-g/2;(M=-s/a+g)>=0&&M<=1&&(o[d++]=M),y>=0&&y<=1&&(o[d++]=y)}else if(f>0){var v=on(f),m=h*s+1.5*a*(-c+v),x=h*s+1.5*a*(-c-v);(M=(-s-((m=m<0?-rn(-m,un):rn(m,un))+(x=x<0?-rn(-x,un):rn(x,un))))/(3*a))>=0&&M<=1&&(o[d++]=M)}else{var _=(2*h*s-3*a*c)/(2*on(h*h*h)),b=Math.acos(_)/3,w=on(h),S=Math.cos(b),M=(-s-2*w*S)/(3*a),I=(y=(-s+w*(S+ln*Math.sin(b)))/(3*a),(-s+w*(S-ln*Math.sin(b)))/(3*a));M>=0&&M<=1&&(o[d++]=M),y>=0&&y<=1&&(o[d++]=y),I>=0&&I<=1&&(o[d++]=I)}}return d}function mn(t,e,n,i,r){var o=6*n-12*e+6*t,a=9*e+3*i-3*t-9*n,s=3*e-3*t,l=0;if(dn(a)){if(fn(o))(h=-s/o)>=0&&h<=1&&(r[l++]=h)}else{var u=o*o-4*a*s;if(dn(u))r[0]=-o/(2*a);else if(u>0){var h,c=on(u),p=(-o-c)/(2*a);(h=(-o+c)/(2*a))>=0&&h<=1&&(r[l++]=h),p>=0&&p<=1&&(r[l++]=p)}}return l}function xn(t,e,n,i,r,o){var a=(e-t)*r+t,s=(n-e)*r+e,l=(i-n)*r+n,u=(s-a)*r+a,h=(l-s)*r+s,c=(h-u)*r+u;o[0]=t,o[1]=a,o[2]=u,o[3]=c,o[4]=c,o[5]=h,o[6]=l,o[7]=i}function _n(t,e,n,i,r,o,a,s,l,u,h){var c,p,d,f,g,y=.005,v=1/0;hn[0]=l,hn[1]=u;for(var m=0;m<1;m+=.05)cn[0]=gn(t,n,r,a,m),cn[1]=gn(e,i,o,s,m),(f=Vt(hn,cn))=0&&f=0&&y=1?1:vn(0,i,o,1,t,s)&&gn(0,r,a,1,s[0])}}}var kn=function(){function t(t){this._inited=!1,this._startTime=0,this._pausedTime=0,this._paused=!1,this._life=t.life||1e3,this._delay=t.delay||0,this.loop=t.loop||!1,this.onframe=t.onframe||xt,this.ondestroy=t.ondestroy||xt,this.onrestart=t.onrestart||xt,t.easing&&this.setEasing(t.easing)}return t.prototype.step=function(t,e){if(this._inited||(this._startTime=t+this._delay,this._inited=!0),!this._paused){var n=this._life,i=t-this._startTime-this._pausedTime,r=i/n;r<0&&(r=0),r=Math.min(r,1);var o=this.easingFunc,a=o?o(r):r;if(this.onframe(a),1===r){if(!this.loop)return!0;var s=i%n;this._startTime=t-s,this._pausedTime=0,this.onrestart()}return!1}this._pausedTime+=e},t.prototype.pause=function(){this._paused=!0},t.prototype.resume=function(){this._paused=!1},t.prototype.setEasing=function(t){this.easing=t,this.easingFunc=U(t)?t:nn[t]||An(t)},t}(),Ln=function(t){this.value=t},Pn=function(){function t(){this._len=0}return t.prototype.insert=function(t){var e=new Ln(t);return this.insertEntry(e),e},t.prototype.insertEntry=function(t){this.head?(this.tail.next=t,t.prev=this.tail,t.next=null,this.tail=t):this.head=this.tail=t,this._len++},t.prototype.remove=function(t){var e=t.prev,n=t.next;e?e.next=n:this.head=n,n?n.prev=e:this.tail=e,t.next=t.prev=null,this._len--},t.prototype.len=function(){return this._len},t.prototype.clear=function(){this.head=this.tail=null,this._len=0},t}(),On=function(){function t(t){this._list=new Pn,this._maxSize=10,this._map={},this._maxSize=t}return t.prototype.put=function(t,e){var n=this._list,i=this._map,r=null;if(null==i[t]){var o=n.len(),a=this._lastRemovedEntry;if(o>=this._maxSize&&o>0){var s=n.head;n.remove(s),delete i[s.key],r=s.value,this._lastRemovedEntry=s}a?a.value=e:a=new Ln(e),a.key=t,n.insertEntry(a),i[t]=a}return r},t.prototype.get=function(t){var e=this._map[t],n=this._list;if(null!=e)return e!==n.tail&&(n.remove(e),n.insertEntry(e)),e.value},t.prototype.clear=function(){this._list.clear(),this._map={}},t.prototype.len=function(){return this._list.len()},t}(),Rn={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function Nn(t){return(t=Math.round(t))<0?0:t>255?255:t}function En(t){return t<0?0:t>1?1:t}function zn(t){var e=t;return e.length&&"%"===e.charAt(e.length-1)?Nn(parseFloat(e)/100*255):Nn(parseInt(e,10))}function Vn(t){var e=t;return e.length&&"%"===e.charAt(e.length-1)?En(parseFloat(e)/100):En(parseFloat(e))}function Bn(t,e,n){return n<0?n+=1:n>1&&(n-=1),6*n<1?t+(e-t)*n*6:2*n<1?e:3*n<2?t+(e-t)*(2/3-n)*6:t}function Fn(t,e,n){return t+(e-t)*n}function Gn(t,e,n,i,r){return t[0]=e,t[1]=n,t[2]=i,t[3]=r,t}function Wn(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}var Hn=new On(20),Yn=null;function Un(t,e){Yn&&Wn(Yn,e),Yn=Hn.put(t,Yn||e.slice())}function Xn(t,e){if(t){e=e||[];var n=Hn.get(t);if(n)return Wn(e,n);var i=(t+="").replace(/ /g,"").toLowerCase();if(i in Rn)return Wn(e,Rn[i]),Un(t,e),e;var r,o=i.length;if("#"===i.charAt(0))return 4===o||5===o?(r=parseInt(i.slice(1,4),16))>=0&&r<=4095?(Gn(e,(3840&r)>>4|(3840&r)>>8,240&r|(240&r)>>4,15&r|(15&r)<<4,5===o?parseInt(i.slice(4),16)/15:1),Un(t,e),e):void Gn(e,0,0,0,1):7===o||9===o?(r=parseInt(i.slice(1,7),16))>=0&&r<=16777215?(Gn(e,(16711680&r)>>16,(65280&r)>>8,255&r,9===o?parseInt(i.slice(7),16)/255:1),Un(t,e),e):void Gn(e,0,0,0,1):void 0;var a=i.indexOf("("),s=i.indexOf(")");if(-1!==a&&s+1===o){var l=i.substr(0,a),u=i.substr(a+1,s-(a+1)).split(","),h=1;switch(l){case"rgba":if(4!==u.length)return 3===u.length?Gn(e,+u[0],+u[1],+u[2],1):Gn(e,0,0,0,1);h=Vn(u.pop());case"rgb":return u.length>=3?(Gn(e,zn(u[0]),zn(u[1]),zn(u[2]),3===u.length?h:Vn(u[3])),Un(t,e),e):void Gn(e,0,0,0,1);case"hsla":return 4!==u.length?void Gn(e,0,0,0,1):(u[3]=Vn(u[3]),Zn(u,e),Un(t,e),e);case"hsl":return 3!==u.length?void Gn(e,0,0,0,1):(Zn(u,e),Un(t,e),e);default:return}}Gn(e,0,0,0,1)}}function Zn(t,e){var n=(parseFloat(t[0])%360+360)%360/360,i=Vn(t[1]),r=Vn(t[2]),o=r<=.5?r*(i+1):r+i-r*i,a=2*r-o;return Gn(e=e||[],Nn(255*Bn(a,o,n+1/3)),Nn(255*Bn(a,o,n)),Nn(255*Bn(a,o,n-1/3)),1),4===t.length&&(e[3]=t[3]),e}function jn(t,e){var n=Xn(t);if(n){for(var i=0;i<3;i++)n[i]=e<0?n[i]*(1-e)|0:(255-n[i])*e+n[i]|0,n[i]>255?n[i]=255:n[i]<0&&(n[i]=0);return ei(n,4===n.length?"rgba":"rgb")}}function qn(t,e,n){if(e&&e.length&&t>=0&&t<=1){n=n||[];var i=t*(e.length-1),r=Math.floor(i),o=Math.ceil(i),a=e[r],s=e[o],l=i-r;return n[0]=Nn(Fn(a[0],s[0],l)),n[1]=Nn(Fn(a[1],s[1],l)),n[2]=Nn(Fn(a[2],s[2],l)),n[3]=En(Fn(a[3],s[3],l)),n}}var Kn=qn;function $n(t,e,n){if(e&&e.length&&t>=0&&t<=1){var i=t*(e.length-1),r=Math.floor(i),o=Math.ceil(i),a=Xn(e[r]),s=Xn(e[o]),l=i-r,u=ei([Nn(Fn(a[0],s[0],l)),Nn(Fn(a[1],s[1],l)),Nn(Fn(a[2],s[2],l)),En(Fn(a[3],s[3],l))],"rgba");return n?{color:u,leftIndex:r,rightIndex:o,value:i}:u}}var Jn=$n;function Qn(t,e,n,i){var r=Xn(t);if(t)return r=function(t){if(t){var e,n,i=t[0]/255,r=t[1]/255,o=t[2]/255,a=Math.min(i,r,o),s=Math.max(i,r,o),l=s-a,u=(s+a)/2;if(0===l)e=0,n=0;else{n=u<.5?l/(s+a):l/(2-s-a);var h=((s-i)/6+l/2)/l,c=((s-r)/6+l/2)/l,p=((s-o)/6+l/2)/l;i===s?e=p-c:r===s?e=1/3+h-p:o===s&&(e=2/3+c-h),e<0&&(e+=1),e>1&&(e-=1)}var d=[360*e,n,u];return null!=t[3]&&d.push(t[3]),d}}(r),null!=e&&(r[0]=function(t){return(t=Math.round(t))<0?0:t>360?360:t}(e)),null!=n&&(r[1]=Vn(n)),null!=i&&(r[2]=Vn(i)),ei(Zn(r),"rgba")}function ti(t,e){var n=Xn(t);if(n&&null!=e)return n[3]=En(e),ei(n,"rgba")}function ei(t,e){if(t&&t.length){var n=t[0]+","+t[1]+","+t[2];return"rgba"!==e&&"hsva"!==e&&"hsla"!==e||(n+=","+t[3]),e+"("+n+")"}}function ni(t,e){var n=Xn(t);return n?(.299*n[0]+.587*n[1]+.114*n[2])*n[3]/255+(1-n[3])*e:0}var ii=Object.freeze({__proto__:null,parse:Xn,lift:jn,toHex:function(t){var e=Xn(t);if(e)return((1<<24)+(e[0]<<16)+(e[1]<<8)+ +e[2]).toString(16).slice(1)},fastLerp:qn,fastMapToColor:Kn,lerp:$n,mapToColor:Jn,modifyHSL:Qn,modifyAlpha:ti,stringify:ei,lum:ni,random:function(){return ei([Math.round(255*Math.random()),Math.round(255*Math.random()),Math.round(255*Math.random())],"rgb")}}),ri=Math.round;function oi(t){var e;if(t&&"transparent"!==t){if("string"==typeof t&&t.indexOf("rgba")>-1){var n=Xn(t);n&&(t="rgb("+n[0]+","+n[1]+","+n[2]+")",e=n[3])}}else t="none";return{color:t,opacity:null==e?1:e}}var ai=1e-4;function si(t){return t-1e-4}function li(t){return ri(1e3*t)/1e3}function ui(t){return ri(1e4*t)/1e4}var hi={left:"start",right:"end",center:"middle",middle:"middle"};function ci(t){return t&&!!t.image}function pi(t){return"linear"===t.type}function di(t){return"radial"===t.type}function fi(t){return"url(#"+t+")"}function gi(t){var e=t.getGlobalScale(),n=Math.max(e[0],e[1]);return Math.max(Math.ceil(Math.log(n)/Math.log(10)),1)}function yi(t){var e=t.x||0,n=t.y||0,i=(t.rotation||0)*_t,r=rt(t.scaleX,1),o=rt(t.scaleY,1),a=t.skewX||0,s=t.skewY||0,l=[];return(e||n)&&l.push("translate("+e+"px,"+n+"px)"),i&&l.push("rotate("+i+")"),1===r&&1===o||l.push("scale("+r+","+o+")"),(a||s)&&l.push("skew("+ri(a*_t)+"deg, "+ri(s*_t)+"deg)"),l.join(" ")}var vi=r.hasGlobalWindow&&U(window.btoa)?function(t){return window.btoa(unescape(t))}:"undefined"!=typeof Buffer?function(t){return Buffer.from(t).toString("base64")}:function(t){return null},mi=Array.prototype.slice;function xi(t,e,n){return(e-t)*n+t}function _i(t,e,n,i){for(var r=e.length,o=0;oi?e:t,o=Math.min(n,i),a=r[o-1]||{color:[0,0,0,0],offset:0},s=o;sa)i.length=a;else for(var s=o;s=1},t.prototype.getAdditiveTrack=function(){return this._additiveTrack},t.prototype.addKeyframe=function(t,e,n){this._needsSort=!0;var i=this.keyframes,r=i.length,o=!1,a=6,s=e;if(N(e)){var l=function(t){return N(t&&t[0])?2:1}(e);a=l,(1===l&&!j(e[0])||2===l&&!j(e[0][0]))&&(o=!0)}else if(j(e)&&!nt(e))a=0;else if(X(e))if(isNaN(+e)){var u=Xn(e);u&&(s=u,a=3)}else a=0;else if(Q(e)){var h=A({},s);h.colorStops=z(e.colorStops,(function(t){return{offset:t.offset,color:Xn(t.color)}})),pi(e)?a=4:di(e)&&(a=5),s=h}0===r?this.valType=a:a===this.valType&&6!==a||(o=!0),this.discrete=this.discrete||o;var c={time:t,value:s,rawValue:e,percent:0};return n&&(c.easing=n,c.easingFunc=U(n)?n:nn[n]||An(n)),i.push(c),c},t.prototype.prepare=function(t,e){var n=this.keyframes;this._needsSort&&n.sort((function(t,e){return t.time-e.time}));for(var i=this.valType,r=n.length,o=n[r-1],a=this.discrete,s=Di(i),l=Ci(i),u=0;u=0&&!(l[n].percent<=e);n--);n=d(n,u-2)}else{for(n=p;ne);n++);n=d(n-1,u-2)}r=l[n+1],i=l[n]}if(i&&r){this._lastFr=n,this._lastFrP=e;var f=r.percent-i.percent,g=0===f?1:d((e-i.percent)/f,1);r.easingFunc&&(g=r.easingFunc(g));var y=o?this._additiveValue:c?Ai:t[h];if(!Di(s)&&!c||y||(y=this._additiveValue=[]),this.discrete)t[h]=g<1?i.rawValue:r.rawValue;else if(Di(s))1===s?_i(y,i[a],r[a],g):function(t,e,n,i){for(var r=e.length,o=r&&e[0].length,a=0;a0&&s.addKeyframe(0,Ii(l),i),this._trackKeys.push(a)}s.addKeyframe(t,Ii(e[a]),i)}return this._maxTime=Math.max(this._maxTime,t),this},t.prototype.pause=function(){this._clip.pause(),this._paused=!0},t.prototype.resume=function(){this._clip.resume(),this._paused=!1},t.prototype.isPaused=function(){return!!this._paused},t.prototype.duration=function(t){return this._maxTime=t,this._force=!0,this},t.prototype._doneCallback=function(){this._setTracksFinished(),this._clip=null;var t=this._doneCbs;if(t)for(var e=t.length,n=0;n0)){this._started=1;for(var e=this,n=[],i=this._maxTime||0,r=0;r1){var a=o.pop();r.addKeyframe(a.time,t[i]),r.prepare(this._maxTime,r.getAdditiveTrack())}}}},t}();function Pi(){return(new Date).getTime()}var Oi,Ri,Ni=function(t){function e(e){var n=t.call(this)||this;return n._running=!1,n._time=0,n._pausedTime=0,n._pauseStart=0,n._paused=!1,e=e||{},n.stage=e.stage||{},n}return n(e,t),e.prototype.addClip=function(t){t.animation&&this.removeClip(t),this._head?(this._tail.next=t,t.prev=this._tail,t.next=null,this._tail=t):this._head=this._tail=t,t.animation=this},e.prototype.addAnimator=function(t){t.animation=this;var e=t.getClip();e&&this.addClip(e)},e.prototype.removeClip=function(t){if(t.animation){var e=t.prev,n=t.next;e?e.next=n:this._head=n,n?n.prev=e:this._tail=e,t.next=t.prev=t.animation=null}},e.prototype.removeAnimator=function(t){var e=t.getClip();e&&this.removeClip(e),t.animation=null},e.prototype.update=function(t){for(var e=Pi()-this._pausedTime,n=e-this._time,i=this._head;i;){var r=i.next;i.step(e,n)?(i.ondestroy(),this.removeClip(i),i=r):i=r}this._time=e,t||(this.trigger("frame",n),this.stage.update&&this.stage.update())},e.prototype._startLoop=function(){var t=this;this._running=!0,en((function e(){t._running&&(en(e),!t._paused&&t.update())}))},e.prototype.start=function(){this._running||(this._time=Pi(),this._pausedTime=0,this._startLoop())},e.prototype.stop=function(){this._running=!1},e.prototype.pause=function(){this._paused||(this._pauseStart=Pi(),this._paused=!0)},e.prototype.resume=function(){this._paused&&(this._pausedTime+=Pi()-this._pauseStart,this._paused=!1)},e.prototype.clear=function(){for(var t=this._head;t;){var e=t.next;t.prev=t.next=t.animation=null,t=e}this._head=this._tail=null},e.prototype.isFinished=function(){return null==this._head},e.prototype.animate=function(t,e){e=e||{},this.start();var n=new Li(t,e.loop);return this.addAnimator(n),n},e}(Xt),Ei=r.domSupported,zi=(Ri={pointerdown:1,pointerup:1,pointermove:1,pointerout:1},{mouse:Oi=["click","dblclick","mousewheel","wheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],touch:["touchstart","touchend","touchmove"],pointer:z(Oi,(function(t){var e=t.replace("mouse","pointer");return Ri.hasOwnProperty(e)?e:t}))}),Vi=["mousemove","mouseup"],Bi=["pointermove","pointerup"],Fi=!1;function Gi(t){var e=t.pointerType;return"pen"===e||"touch"===e}function Wi(t){t&&(t.zrByTouch=!0)}function Hi(t,e){for(var n=e,i=!1;n&&9!==n.nodeType&&!(i=n.domBelongToZr||n!==e&&n===t.painterRoot);)n=n.parentNode;return i}var Yi=function(t,e){this.stopPropagation=xt,this.stopImmediatePropagation=xt,this.preventDefault=xt,this.type=e.type,this.target=this.currentTarget=t.dom,this.pointerType=e.pointerType,this.clientX=e.clientX,this.clientY=e.clientY},Ui={mousedown:function(t){t=le(this.dom,t),this.__mayPointerCapture=[t.zrX,t.zrY],this.trigger("mousedown",t)},mousemove:function(t){t=le(this.dom,t);var e=this.__mayPointerCapture;!e||t.zrX===e[0]&&t.zrY===e[1]||this.__togglePointerCapture(!0),this.trigger("mousemove",t)},mouseup:function(t){t=le(this.dom,t),this.__togglePointerCapture(!1),this.trigger("mouseup",t)},mouseout:function(t){Hi(this,(t=le(this.dom,t)).toElement||t.relatedTarget)||(this.__pointerCapturing&&(t.zrEventControl="no_globalout"),this.trigger("mouseout",t))},wheel:function(t){Fi=!0,t=le(this.dom,t),this.trigger("mousewheel",t)},mousewheel:function(t){Fi||(t=le(this.dom,t),this.trigger("mousewheel",t))},touchstart:function(t){Wi(t=le(this.dom,t)),this.__lastTouchMoment=new Date,this.handler.processGesture(t,"start"),Ui.mousemove.call(this,t),Ui.mousedown.call(this,t)},touchmove:function(t){Wi(t=le(this.dom,t)),this.handler.processGesture(t,"change"),Ui.mousemove.call(this,t)},touchend:function(t){Wi(t=le(this.dom,t)),this.handler.processGesture(t,"end"),Ui.mouseup.call(this,t),+new Date-+this.__lastTouchMoment<300&&Ui.click.call(this,t)},pointerdown:function(t){Ui.mousedown.call(this,t)},pointermove:function(t){Gi(t)||Ui.mousemove.call(this,t)},pointerup:function(t){Ui.mouseup.call(this,t)},pointerout:function(t){Gi(t)||Ui.mouseout.call(this,t)}};E(["click","dblclick","contextmenu"],(function(t){Ui[t]=function(e){e=le(this.dom,e),this.trigger(t,e)}}));var Xi={pointermove:function(t){Gi(t)||Xi.mousemove.call(this,t)},pointerup:function(t){Xi.mouseup.call(this,t)},mousemove:function(t){this.trigger("mousemove",t)},mouseup:function(t){var e=this.__pointerCapturing;this.__togglePointerCapture(!1),this.trigger("mouseup",t),e&&(t.zrEventControl="only_globalout",this.trigger("mouseout",t))}};function Zi(t,e){var n=e.domHandlers;r.pointerEventsSupported?E(zi.pointer,(function(i){qi(e,i,(function(e){n[i].call(t,e)}))})):(r.touchEventsSupported&&E(zi.touch,(function(i){qi(e,i,(function(r){n[i].call(t,r),function(t){t.touching=!0,null!=t.touchTimer&&(clearTimeout(t.touchTimer),t.touchTimer=null),t.touchTimer=setTimeout((function(){t.touching=!1,t.touchTimer=null}),700)}(e)}))})),E(zi.mouse,(function(i){qi(e,i,(function(r){r=se(r),e.touching||n[i].call(t,r)}))})))}function ji(t,e){function n(n){qi(e,n,(function(i){i=se(i),Hi(t,i.target)||(i=function(t,e){return le(t.dom,new Yi(t,e),!0)}(t,i),e.domHandlers[n].call(t,i))}),{capture:!0})}r.pointerEventsSupported?E(Bi,n):r.touchEventsSupported||E(Vi,n)}function qi(t,e,n,i){t.mounted[e]=n,t.listenerOpts[e]=i,ue(t.domTarget,e,n,i)}function Ki(t){var e,n,i,r,o=t.mounted;for(var a in o)o.hasOwnProperty(a)&&(e=t.domTarget,n=a,i=o[a],r=t.listenerOpts[a],e.removeEventListener(n,i,r));t.mounted={}}var $i=function(t,e){this.mounted={},this.listenerOpts={},this.touching=!1,this.domTarget=t,this.domHandlers=e},Ji=function(t){function e(e,n){var i=t.call(this)||this;return i.__pointerCapturing=!1,i.dom=e,i.painterRoot=n,i._localHandlerScope=new $i(e,Ui),Ei&&(i._globalHandlerScope=new $i(document,Xi)),Zi(i,i._localHandlerScope),i}return n(e,t),e.prototype.dispose=function(){Ki(this._localHandlerScope),Ei&&Ki(this._globalHandlerScope)},e.prototype.setCursor=function(t){this.dom.style&&(this.dom.style.cursor=t||"default")},e.prototype.__togglePointerCapture=function(t){if(this.__mayPointerCapture=null,Ei&&+this.__pointerCapturing^+t){this.__pointerCapturing=t;var e=this._globalHandlerScope;t?ji(this,e):Ki(e)}},e}(Xt),Qi=1;r.hasGlobalWindow&&(Qi=Math.max(window.devicePixelRatio||window.screen&&window.screen.deviceXDPI/window.screen.logicalXDPI||1,1));var tr=Qi,er="#333",nr="#ccc",ir=ye,rr=5e-5;function or(t){return t>rr||t<-5e-5}var ar=[],sr=[],lr=[1,0,0,1,0,0],ur=Math.abs,hr=function(){function t(){}return t.prototype.getLocalTransform=function(e){return t.getLocalTransform(this,e)},t.prototype.setPosition=function(t){this.x=t[0],this.y=t[1]},t.prototype.setScale=function(t){this.scaleX=t[0],this.scaleY=t[1]},t.prototype.setSkew=function(t){this.skewX=t[0],this.skewY=t[1]},t.prototype.setOrigin=function(t){this.originX=t[0],this.originY=t[1]},t.prototype.needLocalTransform=function(){return or(this.rotation)||or(this.x)||or(this.y)||or(this.scaleX-1)||or(this.scaleY-1)||or(this.skewX)||or(this.skewY)},t.prototype.updateTransform=function(){var t=this.parent&&this.parent.transform,e=this.needLocalTransform(),n=this.transform;e||t?(n=n||[1,0,0,1,0,0],e?this.getLocalTransform(n):ir(n),t&&(e?me(n,t,n):ve(n,t)),this.transform=n,this._resolveGlobalScaleRatio(n)):n&&ir(n)},t.prototype._resolveGlobalScaleRatio=function(t){var e=this.globalScaleRatio;if(null!=e&&1!==e){this.getGlobalScale(ar);var n=ar[0]<0?-1:1,i=ar[1]<0?-1:1,r=((ar[0]-n)*e+n)/ar[0]||0,o=((ar[1]-i)*e+i)/ar[1]||0;t[0]*=r,t[1]*=r,t[2]*=o,t[3]*=o}this.invTransform=this.invTransform||[1,0,0,1,0,0],we(this.invTransform,t)},t.prototype.getComputedTransform=function(){for(var t=this,e=[];t;)e.push(t),t=t.parent;for(;t=e.pop();)t.updateTransform();return this.transform},t.prototype.setLocalTransform=function(t){if(t){var e=t[0]*t[0]+t[1]*t[1],n=t[2]*t[2]+t[3]*t[3],i=Math.atan2(t[1],t[0]),r=Math.PI/2+i-Math.atan2(t[3],t[2]);n=Math.sqrt(n)*Math.cos(r),e=Math.sqrt(e),this.skewX=r,this.skewY=0,this.rotation=-i,this.x=+t[4],this.y=+t[5],this.scaleX=e,this.scaleY=n,this.originX=0,this.originY=0}},t.prototype.decomposeTransform=function(){if(this.transform){var t=this.parent,e=this.transform;t&&t.transform&&(me(sr,t.invTransform,e),e=sr);var n=this.originX,i=this.originY;(n||i)&&(lr[4]=n,lr[5]=i,me(sr,e,lr),sr[4]-=n,sr[5]-=i,e=sr),this.setLocalTransform(e)}},t.prototype.getGlobalScale=function(t){var e=this.transform;return t=t||[],e?(t[0]=Math.sqrt(e[0]*e[0]+e[1]*e[1]),t[1]=Math.sqrt(e[2]*e[2]+e[3]*e[3]),e[0]<0&&(t[0]=-t[0]),e[3]<0&&(t[1]=-t[1]),t):(t[0]=1,t[1]=1,t)},t.prototype.transformCoordToLocal=function(t,e){var n=[t,e],i=this.invTransform;return i&&Ft(n,n,i),n},t.prototype.transformCoordToGlobal=function(t,e){var n=[t,e],i=this.transform;return i&&Ft(n,n,i),n},t.prototype.getLineScale=function(){var t=this.transform;return t&&ur(t[0]-1)>1e-10&&ur(t[3]-1)>1e-10?Math.sqrt(ur(t[0]*t[3]-t[2]*t[1])):1},t.prototype.copyTransform=function(t){pr(this,t)},t.getLocalTransform=function(t,e){e=e||[];var n=t.originX||0,i=t.originY||0,r=t.scaleX,o=t.scaleY,a=t.anchorX,s=t.anchorY,l=t.rotation||0,u=t.x,h=t.y,c=t.skewX?Math.tan(t.skewX):0,p=t.skewY?Math.tan(-t.skewY):0;if(n||i||a||s){var d=n+a,f=i+s;e[4]=-d*r-c*f*o,e[5]=-f*o-p*d*r}else e[4]=e[5]=0;return e[0]=r,e[3]=o,e[1]=p*r,e[2]=c*o,l&&_e(e,e,l),e[4]+=n+u,e[5]+=i+h,e},t.initDefaultProps=function(){var e=t.prototype;e.scaleX=e.scaleY=e.globalScaleRatio=1,e.x=e.y=e.originX=e.originY=e.skewX=e.skewY=e.rotation=e.anchorX=e.anchorY=0}(),t}(),cr=["x","y","originX","originY","anchorX","anchorY","rotation","scaleX","scaleY","skewX","skewY"];function pr(t,e){for(var n=0;n=0?parseFloat(t)/100*e:parseFloat(t):t}function br(t,e,n){var i=e.position||"inside",r=null!=e.distance?e.distance:5,o=n.height,a=n.width,s=o/2,l=n.x,u=n.y,h="left",c="top";if(i instanceof Array)l+=_r(i[0],n.width),u+=_r(i[1],n.height),h=null,c=null;else switch(i){case"left":l-=r,u+=s,h="right",c="middle";break;case"right":l+=r+a,u+=s,c="middle";break;case"top":l+=a/2,u-=r,h="center",c="bottom";break;case"bottom":l+=a/2,u+=o+r,h="center";break;case"inside":l+=a/2,u+=s,h="center",c="middle";break;case"insideLeft":l+=r,u+=s,c="middle";break;case"insideRight":l+=a-r,u+=s,h="right",c="middle";break;case"insideTop":l+=a/2,u+=r,h="center";break;case"insideBottom":l+=a/2,u+=o-r,h="center",c="bottom";break;case"insideTopLeft":l+=r,u+=r;break;case"insideTopRight":l+=a-r,u+=r,h="right";break;case"insideBottomLeft":l+=r,u+=o-r,c="bottom";break;case"insideBottomRight":l+=a-r,u+=o-r,h="right",c="bottom"}return(t=t||{}).x=l,t.y=u,t.align=h,t.verticalAlign=c,t}var wr="__zr_normal__",Sr=cr.concat(["ignore"]),Mr=V(cr,(function(t,e){return t[e]=!0,t}),{ignore:!1}),Ir={},Tr=new Re(0,0,0,0),Cr=function(){function t(t){this.id=M(),this.animators=[],this.currentStates=[],this.states={},this._init(t)}return t.prototype._init=function(t){this.attr(t)},t.prototype.drift=function(t,e,n){switch(this.draggable){case"horizontal":e=0;break;case"vertical":t=0}var i=this.transform;i||(i=this.transform=[1,0,0,1,0,0]),i[4]+=t,i[5]+=e,this.decomposeTransform(),this.markRedraw()},t.prototype.beforeUpdate=function(){},t.prototype.afterUpdate=function(){},t.prototype.update=function(){this.updateTransform(),this.__dirty&&this.updateInnerText()},t.prototype.updateInnerText=function(t){var e=this._textContent;if(e&&(!e.ignore||t)){this.textConfig||(this.textConfig={});var n=this.textConfig,i=n.local,r=e.innerTransformable,o=void 0,a=void 0,s=!1;r.parent=i?this:null;var l=!1;if(r.copyTransform(e),null!=n.position){var u=Tr;n.layoutRect?u.copy(n.layoutRect):u.copy(this.getBoundingRect()),i||u.applyTransform(this.transform),this.calculateTextPosition?this.calculateTextPosition(Ir,n,u):br(Ir,n,u),r.x=Ir.x,r.y=Ir.y,o=Ir.align,a=Ir.verticalAlign;var h=n.origin;if(h&&null!=n.rotation){var c=void 0,p=void 0;"center"===h?(c=.5*u.width,p=.5*u.height):(c=_r(h[0],u.width),p=_r(h[1],u.height)),l=!0,r.originX=-r.x+c+(i?0:u.x),r.originY=-r.y+p+(i?0:u.y)}}null!=n.rotation&&(r.rotation=n.rotation);var d=n.offset;d&&(r.x+=d[0],r.y+=d[1],l||(r.originX=-d[0],r.originY=-d[1]));var f=null==n.inside?"string"==typeof n.position&&n.position.indexOf("inside")>=0:n.inside,g=this._innerTextDefaultStyle||(this._innerTextDefaultStyle={}),y=void 0,v=void 0,m=void 0;f&&this.canBeInsideText()?(y=n.insideFill,v=n.insideStroke,null!=y&&"auto"!==y||(y=this.getInsideTextFill()),null!=v&&"auto"!==v||(v=this.getInsideTextStroke(y),m=!0)):(y=n.outsideFill,v=n.outsideStroke,null!=y&&"auto"!==y||(y=this.getOutsideFill()),null!=v&&"auto"!==v||(v=this.getOutsideStroke(y),m=!0)),(y=y||"#000")===g.fill&&v===g.stroke&&m===g.autoStroke&&o===g.align&&a===g.verticalAlign||(s=!0,g.fill=y,g.stroke=v,g.autoStroke=m,g.align=o,g.verticalAlign=a,e.setDefaultTextStyle(g)),e.__dirty|=1,s&&e.dirtyStyle(!0)}},t.prototype.canBeInsideText=function(){return!0},t.prototype.getInsideTextFill=function(){return"#fff"},t.prototype.getInsideTextStroke=function(t){return"#000"},t.prototype.getOutsideFill=function(){return this.__zr&&this.__zr.isDarkMode()?nr:er},t.prototype.getOutsideStroke=function(t){var e=this.__zr&&this.__zr.getBackgroundColor(),n="string"==typeof e&&Xn(e);n||(n=[255,255,255,1]);for(var i=n[3],r=this.__zr.isDarkMode(),o=0;o<3;o++)n[o]=n[o]*i+(r?0:255)*(1-i);return n[3]=1,ei(n,"rgba")},t.prototype.traverse=function(t,e){},t.prototype.attrKV=function(t,e){"textConfig"===t?this.setTextConfig(e):"textContent"===t?this.setTextContent(e):"clipPath"===t?this.setClipPath(e):"extra"===t?(this.extra=this.extra||{},A(this.extra,e)):this[t]=e},t.prototype.hide=function(){this.ignore=!0,this.markRedraw()},t.prototype.show=function(){this.ignore=!1,this.markRedraw()},t.prototype.attr=function(t,e){if("string"==typeof t)this.attrKV(t,e);else if(q(t))for(var n=G(t),i=0;i0},t.prototype.getState=function(t){return this.states[t]},t.prototype.ensureState=function(t){var e=this.states;return e[t]||(e[t]={}),e[t]},t.prototype.clearStates=function(t){this.useState(wr,!1,t)},t.prototype.useState=function(t,e,n,i){var r=t===wr;if(this.hasState()||!r){var o=this.currentStates,a=this.stateTransition;if(!(P(o,t)>=0)||!e&&1!==o.length){var s;if(this.stateProxy&&!r&&(s=this.stateProxy(t)),s||(s=this.states&&this.states[t]),s||r){r||this.saveCurrentToNormalState(s);var l=!!(s&&s.hoverLayer||i);l&&this._toggleHoverLayerFlag(!0),this._applyStateObj(t,s,this._normalState,e,!n&&!this.__inHover&&a&&a.duration>0,a);var u=this._textContent,h=this._textGuide;return u&&u.useState(t,e,n,l),h&&h.useState(t,e,n,l),r?(this.currentStates=[],this._normalState={}):e?this.currentStates.push(t):this.currentStates=[t],this._updateAnimationTargets(),this.markRedraw(),!l&&this.__inHover&&(this._toggleHoverLayerFlag(!1),this.__dirty&=-2),s}I("State "+t+" not exists.")}}},t.prototype.useStates=function(t,e,n){if(t.length){var i=[],r=this.currentStates,o=t.length,a=o===r.length;if(a)for(var s=0;s0,d);var f=this._textContent,g=this._textGuide;f&&f.useStates(t,e,c),g&&g.useStates(t,e,c),this._updateAnimationTargets(),this.currentStates=t.slice(),this.markRedraw(),!c&&this.__inHover&&(this._toggleHoverLayerFlag(!1),this.__dirty&=-2)}else this.clearStates()},t.prototype._updateAnimationTargets=function(){for(var t=0;t=0){var n=this.currentStates.slice();n.splice(e,1),this.useStates(n)}},t.prototype.replaceState=function(t,e,n){var i=this.currentStates.slice(),r=P(i,t),o=P(i,e)>=0;r>=0?o?i.splice(r,1):i[r]=e:n&&!o&&i.push(e),this.useStates(i)},t.prototype.toggleState=function(t,e){e?this.useState(t,!0):this.removeState(t)},t.prototype._mergeStates=function(t){for(var e,n={},i=0;i=0&&e.splice(n,1)})),this.animators.push(t),n&&n.animation.addAnimator(t),n&&n.wakeUp()},t.prototype.updateDuringAnimation=function(t){this.markRedraw()},t.prototype.stopAnimation=function(t,e){for(var n=this.animators,i=n.length,r=[],o=0;o0&&n.during&&o[0].during((function(t,e){n.during(e)}));for(var p=0;p0||r.force&&!a.length){var w,S=void 0,M=void 0,I=void 0;if(s){M={},p&&(S={});for(_=0;_=0&&(n.splice(i,0,t),this._doAdd(t))}return this},e.prototype.replace=function(t,e){var n=P(this._children,t);return n>=0&&this.replaceAt(e,n),this},e.prototype.replaceAt=function(t,e){var n=this._children,i=n[e];if(t&&t!==this&&t.parent!==this&&t!==i){n[e]=t,i.parent=null;var r=this.__zr;r&&i.removeSelfFromZr(r),this._doAdd(t)}return this},e.prototype._doAdd=function(t){t.parent&&t.parent.remove(t),t.parent=this;var e=this.__zr;e&&e!==t.__zr&&t.addSelfToZr(e),e&&e.refresh()},e.prototype.remove=function(t){var e=this.__zr,n=this._children,i=P(n,t);return i<0||(n.splice(i,1),t.parent=null,e&&t.removeSelfFromZr(e),e&&e.refresh()),this},e.prototype.removeAll=function(){for(var t=this._children,e=this.__zr,n=0;n0&&(this._stillFrameAccum++,this._stillFrameAccum>this._sleepAfterStill&&this.animation.stop())},t.prototype.setSleepAfterStill=function(t){this._sleepAfterStill=t},t.prototype.wakeUp=function(){this.animation.start(),this._stillFrameAccum=0},t.prototype.refreshHover=function(){this._needsRefreshHover=!0},t.prototype.refreshHoverImmediately=function(){this._needsRefreshHover=!1,this.painter.refreshHover&&"canvas"===this.painter.getType()&&this.painter.refreshHover()},t.prototype.resize=function(t){t=t||{},this.painter.resize(t.width,t.height),this.handler.resize()},t.prototype.clearAnimation=function(){this.animation.clear()},t.prototype.getWidth=function(){return this.painter.getWidth()},t.prototype.getHeight=function(){return this.painter.getHeight()},t.prototype.setCursorStyle=function(t){this.handler.setCursorStyle(t)},t.prototype.findHover=function(t,e){return this.handler.findHover(t,e)},t.prototype.on=function(t,e,n){return this.handler.on(t,e,n),this},t.prototype.off=function(t,e){this.handler.off(t,e)},t.prototype.trigger=function(t,e){this.handler.trigger(t,e)},t.prototype.clear=function(){for(var t=this.storage.getRoots(),e=0;e0){if(t<=r)return a;if(t>=o)return s}else{if(t>=r)return a;if(t<=o)return s}else{if(t===r)return a;if(t===o)return s}return(t-r)/l*u+a}function Gr(t,e){switch(t){case"center":case"middle":t="50%";break;case"left":case"top":t="0%";break;case"right":case"bottom":t="100%"}return X(t)?(n=t,n.replace(/^\s+|\s+$/g,"")).match(/%$/)?parseFloat(t)/100*e:parseFloat(t):null==t?NaN:+t;var n}function Wr(t,e,n){return null==e&&(e=10),e=Math.min(Math.max(0,e),20),t=(+t).toFixed(e),n?t:+t}function Hr(t){return t.sort((function(t,e){return t-e})),t}function Yr(t){if(t=+t,isNaN(t))return 0;if(t>1e-14)for(var e=1,n=0;n<15;n++,e*=10)if(Math.round(t*e)/e===t)return n;return Ur(t)}function Ur(t){var e=t.toString().toLowerCase(),n=e.indexOf("e"),i=n>0?+e.slice(n+1):0,r=n>0?n:e.length,o=e.indexOf("."),a=o<0?0:r-1-o;return Math.max(0,a-i)}function Xr(t,e){var n=Math.log,i=Math.LN10,r=Math.floor(n(t[1]-t[0])/i),o=Math.round(n(Math.abs(e[1]-e[0]))/i),a=Math.min(Math.max(-r+o,0),20);return isFinite(a)?a:20}function Zr(t,e){var n=V(t,(function(t,e){return t+(isNaN(e)?0:e)}),0);if(0===n)return[];for(var i=Math.pow(10,e),r=z(t,(function(t){return(isNaN(t)?0:t)/n*i*100})),o=100*i,a=z(r,(function(t){return Math.floor(t)})),s=V(a,(function(t,e){return t+e}),0),l=z(r,(function(t,e){return t-a[e]}));su&&(u=l[c],h=c);++a[h],l[h]=0,++s}return z(a,(function(t){return t/i}))}function jr(t,e){var n=Math.max(Yr(t),Yr(e)),i=t+e;return n>20?i:Wr(i,n)}var qr=9007199254740991;function Kr(t){var e=2*Math.PI;return(t%e+e)%e}function $r(t){return t>-1e-4&&t=10&&e++,e}function no(t,e){var n=eo(t),i=Math.pow(10,n),r=t/i;return t=(e?r<1.5?1:r<2.5?2:r<4?3:r<7?5:10:r<1?1:r<2?2:r<3?3:r<5?5:10)*i,n>=-20?+t.toFixed(n<0?-n:0):t}function io(t,e){var n=(t.length-1)*e+1,i=Math.floor(n),r=+t[i-1],o=n-i;return o?r+o*(t[i]-r):r}function ro(t){t.sort((function(t,e){return s(t,e,0)?-1:1}));for(var e=-1/0,n=1,i=0;i=0||r&&P(r,s)<0)){var l=n.getShallow(s,e);null!=l&&(o[t[a][0]]=l)}}return o}}var jo=Zo([["fill","color"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["opacity"],["shadowColor"]]),qo=function(){function t(){}return t.prototype.getAreaStyle=function(t,e){return jo(this,t,e)},t}(),Ko=new On(50);function $o(t){if("string"==typeof t){var e=Ko.get(t);return e&&e.image}return t}function Jo(t,e,n,i,r){if(t){if("string"==typeof t){if(e&&e.__zrImageSrc===t||!n)return e;var o=Ko.get(t),a={hostEl:n,cb:i,cbPayload:r};return o?!ta(e=o.image)&&o.pending.push(a):((e=h.loadImage(t,Qo,Qo)).__zrImageSrc=t,Ko.put(t,e.__cachedImgObj={image:e,pending:[a]})),e}return t}return e}function Qo(){var t=this.__cachedImgObj;this.onload=this.onerror=this.__cachedImgObj=null;for(var e=0;e=a;l++)s-=a;var u=fr(n,e);return u>s&&(n="",u=0),s=t-u,r.ellipsis=n,r.ellipsisWidth=u,r.contentWidth=s,r.containerWidth=t,r}function ra(t,e){var n=e.containerWidth,i=e.font,r=e.contentWidth;if(!n)return"";var o=fr(t,i);if(o<=n)return t;for(var a=0;;a++){if(o<=r||a>=e.maxIterations){t+=e.ellipsis;break}var s=0===a?oa(t,r,e.ascCharWidth,e.cnCharWidth):o>0?Math.floor(t.length*r/o):0;o=fr(t=t.substr(0,s),i)}return""===t&&(t=e.placeholder),t}function oa(t,e,n,i){for(var r=0,o=0,a=t.length;o0&&f+i.accumWidth>i.width&&(o=e.split("\n"),c=!0),i.accumWidth=f}else{var g=pa(e,h,i.width,i.breakAll,i.accumWidth);i.accumWidth=g.accumWidth+d,a=g.linesWidths,o=g.lines}}else o=e.split("\n");for(var y=0;y=33&&e<=383}(t)||!!ha[t]}function pa(t,e,n,i,r){for(var o=[],a=[],s="",l="",u=0,h=0,c=0;cn:r+h+d>n)?h?(s||l)&&(f?(s||(s=l,l="",h=u=0),o.push(s),a.push(h-u),l+=p,s="",h=u+=d):(l&&(s+=l,l="",u=0),o.push(s),a.push(h),s=p,h=d)):f?(o.push(l),a.push(u),l=p,u=d):(o.push(p),a.push(d)):(h+=d,f?(l+=p,u+=d):(l&&(s+=l,l="",u=0),s+=p))}else l&&(s+=l,h+=u),o.push(s),a.push(h),s="",l="",u=0,h=0}return o.length||s||(s=t,l="",u=0),l&&(s+=l),s&&(o.push(s),a.push(h)),1===o.length&&(h+=r),{accumWidth:h,lines:o,linesWidths:a}}var da="__zr_style_"+Math.round(10*Math.random()),fa={shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,shadowColor:"#000",opacity:1,blend:"source-over"},ga={style:{shadowBlur:!0,shadowOffsetX:!0,shadowOffsetY:!0,shadowColor:!0,opacity:!0}};fa[da]=!0;var ya=["z","z2","invisible"],va=["invisible"],ma=function(t){function e(e){return t.call(this,e)||this}var i;return n(e,t),e.prototype._init=function(e){for(var n=G(e),i=0;i1e-4)return s[0]=t-n,s[1]=e-i,l[0]=t+n,void(l[1]=e+i);if(Ta[0]=Ma(r)*n+t,Ta[1]=Sa(r)*i+e,Ca[0]=Ma(o)*n+t,Ca[1]=Sa(o)*i+e,u(s,Ta,Ca),h(l,Ta,Ca),(r%=Ia)<0&&(r+=Ia),(o%=Ia)<0&&(o+=Ia),r>o&&!a?o+=Ia:rr&&(Da[0]=Ma(d)*n+t,Da[1]=Sa(d)*i+e,u(s,Da,s),h(l,Da,l))}var Ea={M:1,L:2,C:3,Q:4,A:5,Z:6,R:7},za=[],Va=[],Ba=[],Fa=[],Ga=[],Wa=[],Ha=Math.min,Ya=Math.max,Ua=Math.cos,Xa=Math.sin,Za=Math.abs,ja=Math.PI,qa=2*ja,Ka="undefined"!=typeof Float32Array,$a=[];function Ja(t){return Math.round(t/ja*1e8)/1e8%2*ja}function Qa(t,e){var n=Ja(t[0]);n<0&&(n+=qa);var i=n-t[0],r=t[1];r+=i,!e&&r-n>=qa?r=n+qa:e&&n-r>=qa?r=n-qa:!e&&n>r?r=n+(qa-Ja(n-r)):e&&n0&&(this._ux=Za(n/tr/t)||0,this._uy=Za(n/tr/e)||0)},t.prototype.setDPR=function(t){this.dpr=t},t.prototype.setContext=function(t){this._ctx=t},t.prototype.getContext=function(){return this._ctx},t.prototype.beginPath=function(){return this._ctx&&this._ctx.beginPath(),this.reset(),this},t.prototype.reset=function(){this._saveData&&(this._len=0),this._pathSegLen&&(this._pathSegLen=null,this._pathLen=0),this._version++},t.prototype.moveTo=function(t,e){return this._drawPendingPt(),this.addData(Ea.M,t,e),this._ctx&&this._ctx.moveTo(t,e),this._x0=t,this._y0=e,this._xi=t,this._yi=e,this},t.prototype.lineTo=function(t,e){var n=Za(t-this._xi),i=Za(e-this._yi),r=n>this._ux||i>this._uy;if(this.addData(Ea.L,t,e),this._ctx&&r&&this._ctx.lineTo(t,e),r)this._xi=t,this._yi=e,this._pendingPtDist=0;else{var o=n*n+i*i;o>this._pendingPtDist&&(this._pendingPtX=t,this._pendingPtY=e,this._pendingPtDist=o)}return this},t.prototype.bezierCurveTo=function(t,e,n,i,r,o){return this._drawPendingPt(),this.addData(Ea.C,t,e,n,i,r,o),this._ctx&&this._ctx.bezierCurveTo(t,e,n,i,r,o),this._xi=r,this._yi=o,this},t.prototype.quadraticCurveTo=function(t,e,n,i){return this._drawPendingPt(),this.addData(Ea.Q,t,e,n,i),this._ctx&&this._ctx.quadraticCurveTo(t,e,n,i),this._xi=n,this._yi=i,this},t.prototype.arc=function(t,e,n,i,r,o){this._drawPendingPt(),$a[0]=i,$a[1]=r,Qa($a,o),i=$a[0];var a=(r=$a[1])-i;return this.addData(Ea.A,t,e,n,n,i,a,0,o?0:1),this._ctx&&this._ctx.arc(t,e,n,i,r,o),this._xi=Ua(r)*n+t,this._yi=Xa(r)*n+e,this},t.prototype.arcTo=function(t,e,n,i,r){return this._drawPendingPt(),this._ctx&&this._ctx.arcTo(t,e,n,i,r),this},t.prototype.rect=function(t,e,n,i){return this._drawPendingPt(),this._ctx&&this._ctx.rect(t,e,n,i),this.addData(Ea.R,t,e,n,i),this},t.prototype.closePath=function(){this._drawPendingPt(),this.addData(Ea.Z);var t=this._ctx,e=this._x0,n=this._y0;return t&&t.closePath(),this._xi=e,this._yi=n,this},t.prototype.fill=function(t){t&&t.fill(),this.toStatic()},t.prototype.stroke=function(t){t&&t.stroke(),this.toStatic()},t.prototype.len=function(){return this._len},t.prototype.setData=function(t){var e=t.length;this.data&&this.data.length===e||!Ka||(this.data=new Float32Array(e));for(var n=0;nu.length&&(this._expandData(),u=this.data);for(var h=0;h0&&(this._ctx&&this._ctx.lineTo(this._pendingPtX,this._pendingPtY),this._pendingPtDist=0)},t.prototype._expandData=function(){if(!(this.data instanceof Array)){for(var t=[],e=0;e11&&(this.data=new Float32Array(t)))}},t.prototype.getBoundingRect=function(){Ba[0]=Ba[1]=Ga[0]=Ga[1]=Number.MAX_VALUE,Fa[0]=Fa[1]=Wa[0]=Wa[1]=-Number.MAX_VALUE;var t,e=this.data,n=0,i=0,r=0,o=0;for(t=0;tn||Za(y)>i||c===e-1)&&(f=Math.sqrt(A*A+y*y),r=g,o=x);break;case Ea.C:var v=t[c++],m=t[c++],x=(g=t[c++],t[c++]),_=t[c++],b=t[c++];f=bn(r,o,v,m,g,x,_,b,10),r=_,o=b;break;case Ea.Q:f=Cn(r,o,v=t[c++],m=t[c++],g=t[c++],x=t[c++],10),r=g,o=x;break;case Ea.A:var w=t[c++],S=t[c++],M=t[c++],I=t[c++],T=t[c++],C=t[c++],D=C+T;c+=1;t[c++];d&&(a=Ua(T)*M+w,s=Xa(T)*I+S),f=Ya(M,I)*Ha(qa,Math.abs(C)),r=Ua(D)*M+w,o=Xa(D)*I+S;break;case Ea.R:a=r=t[c++],s=o=t[c++],f=2*t[c++]+2*t[c++];break;case Ea.Z:var A=a-r;y=s-o;f=Math.sqrt(A*A+y*y),r=a,o=s}f>=0&&(l[h++]=f,u+=f)}return this._pathLen=u,u},t.prototype.rebuildPath=function(t,e){var n,i,r,o,a,s,l,u,h,c,p=this.data,d=this._ux,f=this._uy,g=this._len,y=e<1,v=0,m=0,x=0;if(!y||(this._pathSegLen||this._calculateLength(),l=this._pathSegLen,u=e*this._pathLen))t:for(var _=0;_0&&(t.lineTo(h,c),x=0),b){case Ea.M:n=r=p[_++],i=o=p[_++],t.moveTo(r,o);break;case Ea.L:a=p[_++],s=p[_++];var S=Za(a-r),M=Za(s-o);if(S>d||M>f){if(y){if(v+(j=l[m++])>u){var I=(u-v)/j;t.lineTo(r*(1-I)+a*I,o*(1-I)+s*I);break t}v+=j}t.lineTo(a,s),r=a,o=s,x=0}else{var T=S*S+M*M;T>x&&(h=a,c=s,x=T)}break;case Ea.C:var C=p[_++],D=p[_++],A=p[_++],k=p[_++],L=p[_++],P=p[_++];if(y){if(v+(j=l[m++])>u){xn(r,C,A,L,I=(u-v)/j,za),xn(o,D,k,P,I,Va),t.bezierCurveTo(za[1],Va[1],za[2],Va[2],za[3],Va[3]);break t}v+=j}t.bezierCurveTo(C,D,A,k,L,P),r=L,o=P;break;case Ea.Q:C=p[_++],D=p[_++],A=p[_++],k=p[_++];if(y){if(v+(j=l[m++])>u){In(r,C,A,I=(u-v)/j,za),In(o,D,k,I,Va),t.quadraticCurveTo(za[1],Va[1],za[2],Va[2]);break t}v+=j}t.quadraticCurveTo(C,D,A,k),r=A,o=k;break;case Ea.A:var O=p[_++],R=p[_++],N=p[_++],E=p[_++],z=p[_++],V=p[_++],B=p[_++],F=!p[_++],G=N>E?N:E,W=Za(N-E)>.001,H=z+V,Y=!1;if(y)v+(j=l[m++])>u&&(H=z+V*(u-v)/j,Y=!0),v+=j;if(W&&t.ellipse?t.ellipse(O,R,N,E,B,z,H,F):t.arc(O,R,G,z,H,F),Y)break t;w&&(n=Ua(z)*N+O,i=Xa(z)*E+R),r=Ua(H)*N+O,o=Xa(H)*E+R;break;case Ea.R:n=r=p[_],i=o=p[_+1],a=p[_++],s=p[_++];var U=p[_++],X=p[_++];if(y){if(v+(j=l[m++])>u){var Z=u-v;t.moveTo(a,s),t.lineTo(a+Ha(Z,U),s),(Z-=U)>0&&t.lineTo(a+U,s+Ha(Z,X)),(Z-=X)>0&&t.lineTo(a+Ya(U-Z,0),s+X),(Z-=U)>0&&t.lineTo(a,s+Ya(X-Z,0));break t}v+=j}t.rect(a,s,U,X);break;case Ea.Z:if(y){var j;if(v+(j=l[m++])>u){I=(u-v)/j;t.lineTo(r*(1-I)+n*I,o*(1-I)+i*I);break t}v+=j}t.closePath(),r=n,o=i}}},t.prototype.clone=function(){var e=new t,n=this.data;return e.data=n.slice?n.slice():Array.prototype.slice.call(n),e._len=this._len,e},t.CMD=Ea,t.initDefaultProps=function(){var e=t.prototype;e._saveData=!0,e._ux=0,e._uy=0,e._pendingPtDist=0,e._version=0}(),t}();function es(t,e,n,i,r,o,a){if(0===r)return!1;var s=r,l=0;if(a>e+s&&a>i+s||at+s&&o>n+s||oe+c&&h>i+c&&h>o+c&&h>s+c||ht+c&&u>n+c&&u>r+c&&u>a+c||ue+u&&l>i+u&&l>o+u||lt+u&&s>n+u&&s>r+u||sn||h+ur&&(r+=as);var p=Math.atan2(l,s);return p<0&&(p+=as),p>=i&&p<=r||p+as>=i&&p+as<=r}function ls(t,e,n,i,r,o){if(o>e&&o>i||or?s:0}var us=ts.CMD,hs=2*Math.PI;var cs=[-1,-1,-1],ps=[-1,-1];function ds(t,e,n,i,r,o,a,s,l,u){if(u>e&&u>i&&u>o&&u>s||u1&&(h=void 0,h=ps[0],ps[0]=ps[1],ps[1]=h),f=gn(e,i,o,s,ps[0]),d>1&&(g=gn(e,i,o,s,ps[1]))),2===d?ve&&s>i&&s>o||s=0&&h<=1&&(r[l++]=h);else{var u=a*a-4*o*s;if(dn(u))(h=-a/(2*o))>=0&&h<=1&&(r[l++]=h);else if(u>0){var h,c=on(u),p=(-a-c)/(2*o);(h=(-a+c)/(2*o))>=0&&h<=1&&(r[l++]=h),p>=0&&p<=1&&(r[l++]=p)}}return l}(e,i,o,s,cs);if(0===l)return 0;var u=Mn(e,i,o);if(u>=0&&u<=1){for(var h=0,c=wn(e,i,o,u),p=0;pn||s<-n)return 0;var l=Math.sqrt(n*n-s*s);cs[0]=-l,cs[1]=l;var u=Math.abs(i-r);if(u<1e-4)return 0;if(u>=hs-1e-4){i=0,r=hs;var h=o?1:-1;return a>=cs[0]+t&&a<=cs[1]+t?h:0}if(i>r){var c=i;i=r,r=c}i<0&&(i+=hs,r+=hs);for(var p=0,d=0;d<2;d++){var f=cs[d];if(f+t>a){var g=Math.atan2(s,f);h=o?1:-1;g<0&&(g=hs+g),(g>=i&&g<=r||g+hs>=i&&g+hs<=r)&&(g>Math.PI/2&&g<1.5*Math.PI&&(h=-h),p+=h)}}return p}function ys(t,e,n,i,r){for(var o,a,s,l,u=t.data,h=t.len(),c=0,p=0,d=0,f=0,g=0,y=0;y1&&(n||(c+=ls(p,d,f,g,i,r))),m&&(f=p=u[y],g=d=u[y+1]),v){case us.M:p=f=u[y++],d=g=u[y++];break;case us.L:if(n){if(es(p,d,u[y],u[y+1],e,i,r))return!0}else c+=ls(p,d,u[y],u[y+1],i,r)||0;p=u[y++],d=u[y++];break;case us.C:if(n){if(ns(p,d,u[y++],u[y++],u[y++],u[y++],u[y],u[y+1],e,i,r))return!0}else c+=ds(p,d,u[y++],u[y++],u[y++],u[y++],u[y],u[y+1],i,r)||0;p=u[y++],d=u[y++];break;case us.Q:if(n){if(is(p,d,u[y++],u[y++],u[y],u[y+1],e,i,r))return!0}else c+=fs(p,d,u[y++],u[y++],u[y],u[y+1],i,r)||0;p=u[y++],d=u[y++];break;case us.A:var x=u[y++],_=u[y++],b=u[y++],w=u[y++],S=u[y++],M=u[y++];y+=1;var I=!!(1-u[y++]);o=Math.cos(S)*b+x,a=Math.sin(S)*w+_,m?(f=o,g=a):c+=ls(p,d,o,a,i,r);var T=(i-x)*w/b+x;if(n){if(ss(x,_,w,S,S+M,I,e,T,r))return!0}else c+=gs(x,_,w,S,S+M,I,T,r);p=Math.cos(S+M)*b+x,d=Math.sin(S+M)*w+_;break;case us.R:if(f=p=u[y++],g=d=u[y++],o=f+u[y++],a=g+u[y++],n){if(es(f,g,o,g,e,i,r)||es(o,g,o,a,e,i,r)||es(o,a,f,a,e,i,r)||es(f,a,f,g,e,i,r))return!0}else c+=ls(o,g,o,a,i,r),c+=ls(f,a,f,g,i,r);break;case us.Z:if(n){if(es(p,d,f,g,e,i,r))return!0}else c+=ls(p,d,f,g,i,r);p=f,d=g}}return n||(s=d,l=g,Math.abs(s-l)<1e-4)||(c+=ls(p,d,f,g,i,r)||0),0!==c}var vs=k({fill:"#000",stroke:null,strokePercent:1,fillOpacity:1,strokeOpacity:1,lineDashOffset:0,lineWidth:1,lineCap:"butt",miterLimit:10,strokeNoScale:!1,strokeFirst:!1},fa),ms={style:k({fill:!0,stroke:!0,strokePercent:!0,fillOpacity:!0,strokeOpacity:!0,lineDashOffset:!0,lineWidth:!0,miterLimit:!0},ga.style)},xs=cr.concat(["invisible","culling","z","z2","zlevel","parent"]),_s=function(t){function e(e){return t.call(this,e)||this}var i;return n(e,t),e.prototype.update=function(){var n=this;t.prototype.update.call(this);var i=this.style;if(i.decal){var r=this._decalEl=this._decalEl||new e;r.buildPath===e.prototype.buildPath&&(r.buildPath=function(t){n.buildPath(t,n.shape)}),r.silent=!0;var o=r.style;for(var a in i)o[a]!==i[a]&&(o[a]=i[a]);o.fill=i.fill?i.decal:null,o.decal=null,o.shadowColor=null,i.strokeFirst&&(o.stroke=null);for(var s=0;s.5?er:e>.2?"#eee":nr}if(t)return nr}return er},e.prototype.getInsideTextStroke=function(t){var e=this.style.fill;if(X(e)){var n=this.__zr;if(!(!n||!n.isDarkMode())===ni(t,0)<.4)return e}},e.prototype.buildPath=function(t,e,n){},e.prototype.pathUpdated=function(){this.__dirty&=-5},e.prototype.getUpdatedPathProxy=function(t){return!this.path&&this.createPathProxy(),this.path.beginPath(),this.buildPath(this.path,this.shape,t),this.path},e.prototype.createPathProxy=function(){this.path=new ts(!1)},e.prototype.hasStroke=function(){var t=this.style,e=t.stroke;return!(null==e||"none"===e||!(t.lineWidth>0))},e.prototype.hasFill=function(){var t=this.style.fill;return null!=t&&"none"!==t},e.prototype.getBoundingRect=function(){var t=this._rect,e=this.style,n=!t;if(n){var i=!1;this.path||(i=!0,this.createPathProxy());var r=this.path;(i||4&this.__dirty)&&(r.beginPath(),this.buildPath(r,this.shape,!1),this.pathUpdated()),t=r.getBoundingRect()}if(this._rect=t,this.hasStroke()&&this.path&&this.path.len()>0){var o=this._rectStroke||(this._rectStroke=t.clone());if(this.__dirty||n){o.copy(t);var a=e.strokeNoScale?this.getLineScale():1,s=e.lineWidth;if(!this.hasFill()){var l=this.strokeContainThreshold;s=Math.max(s,null==l?4:l)}a>1e-10&&(o.width+=s/a,o.height+=s/a,o.x-=s/a/2,o.y-=s/a/2)}return o}return t},e.prototype.contain=function(t,e){var n=this.transformCoordToLocal(t,e),i=this.getBoundingRect(),r=this.style;if(t=n[0],e=n[1],i.contain(t,e)){var o=this.path;if(this.hasStroke()){var a=r.lineWidth,s=r.strokeNoScale?this.getLineScale():1;if(s>1e-10&&(this.hasFill()||(a=Math.max(a,this.strokeContainThreshold)),function(t,e,n,i){return ys(t,e,!0,n,i)}(o,a/s,t,e)))return!0}if(this.hasFill())return function(t,e,n){return ys(t,0,!1,e,n)}(o,t,e)}return!1},e.prototype.dirtyShape=function(){this.__dirty|=4,this._rect&&(this._rect=null),this._decalEl&&this._decalEl.dirtyShape(),this.markRedraw()},e.prototype.dirty=function(){this.dirtyStyle(),this.dirtyShape()},e.prototype.animateShape=function(t){return this.animate("shape",t)},e.prototype.updateDuringAnimation=function(t){"style"===t?this.dirtyStyle():"shape"===t?this.dirtyShape():this.markRedraw()},e.prototype.attrKV=function(e,n){"shape"===e?this.setShape(n):t.prototype.attrKV.call(this,e,n)},e.prototype.setShape=function(t,e){var n=this.shape;return n||(n=this.shape={}),"string"==typeof t?n[t]=e:A(n,t),this.dirtyShape(),this},e.prototype.shapeChanged=function(){return!!(4&this.__dirty)},e.prototype.createStyle=function(t){return yt(vs,t)},e.prototype._innerSaveToNormal=function(e){t.prototype._innerSaveToNormal.call(this,e);var n=this._normalState;e.shape&&!n.shape&&(n.shape=A({},this.shape))},e.prototype._applyStateObj=function(e,n,i,r,o,a){t.prototype._applyStateObj.call(this,e,n,i,r,o,a);var s,l=!(n&&r);if(n&&n.shape?o?r?s=n.shape:(s=A({},i.shape),A(s,n.shape)):(s=A({},r?this.shape:i.shape),A(s,n.shape)):l&&(s=i.shape),s)if(o){this.shape=A({},this.shape);for(var u={},h=G(s),c=0;c0},e.prototype.hasFill=function(){var t=this.style.fill;return null!=t&&"none"!==t},e.prototype.createStyle=function(t){return yt(bs,t)},e.prototype.setBoundingRect=function(t){this._rect=t},e.prototype.getBoundingRect=function(){var t=this.style;if(!this._rect){var e=t.text;null!=e?e+="":e="";var n=yr(e,t.font,t.textAlign,t.textBaseline);if(n.x+=t.x||0,n.y+=t.y||0,this.hasStroke()){var i=t.lineWidth;n.x-=i/2,n.y-=i/2,n.width+=i,n.height+=i}this._rect=n}return this._rect},e.initDefaultProps=void(e.prototype.dirtyRectTolerance=10),e}(ma);ws.prototype.type="tspan";var Ss=k({x:0,y:0},fa),Ms={style:k({x:!0,y:!0,width:!0,height:!0,sx:!0,sy:!0,sWidth:!0,sHeight:!0},ga.style)};var Is=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.createStyle=function(t){return yt(Ss,t)},e.prototype._getSize=function(t){var e=this.style,n=e[t];if(null!=n)return n;var i,r=(i=e.image)&&"string"!=typeof i&&i.width&&i.height?e.image:this.__image;if(!r)return 0;var o="width"===t?"height":"width",a=e[o];return null==a?r[t]:r[t]/r[o]*a},e.prototype.getWidth=function(){return this._getSize("width")},e.prototype.getHeight=function(){return this._getSize("height")},e.prototype.getAnimationStyleProps=function(){return Ms},e.prototype.getBoundingRect=function(){var t=this.style;return this._rect||(this._rect=new Re(t.x||0,t.y||0,this.getWidth(),this.getHeight())),this._rect},e}(ma);Is.prototype.type="image";var Ts=Math.round;function Cs(t,e,n){if(e){var i=e.x1,r=e.x2,o=e.y1,a=e.y2;t.x1=i,t.x2=r,t.y1=o,t.y2=a;var s=n&&n.lineWidth;return s?(Ts(2*i)===Ts(2*r)&&(t.x1=t.x2=As(i,s,!0)),Ts(2*o)===Ts(2*a)&&(t.y1=t.y2=As(o,s,!0)),t):t}}function Ds(t,e,n){if(e){var i=e.x,r=e.y,o=e.width,a=e.height;t.x=i,t.y=r,t.width=o,t.height=a;var s=n&&n.lineWidth;return s?(t.x=As(i,s,!0),t.y=As(r,s,!0),t.width=Math.max(As(i+o,s,!1)-t.x,0===o?0:1),t.height=Math.max(As(r+a,s,!1)-t.y,0===a?0:1),t):t}}function As(t,e,n){if(!e)return t;var i=Ts(2*t);return(i+Ts(e))%2==0?i/2:(i+(n?1:-1))/2}var ks=function(){this.x=0,this.y=0,this.width=0,this.height=0},Ls={},Ps=function(t){function e(e){return t.call(this,e)||this}return n(e,t),e.prototype.getDefaultShape=function(){return new ks},e.prototype.buildPath=function(t,e){var n,i,r,o;if(this.subPixelOptimize){var a=Ds(Ls,e,this.style);n=a.x,i=a.y,r=a.width,o=a.height,a.r=e.r,e=a}else n=e.x,i=e.y,r=e.width,o=e.height;e.r?function(t,e){var n,i,r,o,a,s=e.x,l=e.y,u=e.width,h=e.height,c=e.r;u<0&&(s+=u,u=-u),h<0&&(l+=h,h=-h),"number"==typeof c?n=i=r=o=c:c instanceof Array?1===c.length?n=i=r=o=c[0]:2===c.length?(n=r=c[0],i=o=c[1]):3===c.length?(n=c[0],i=o=c[1],r=c[2]):(n=c[0],i=c[1],r=c[2],o=c[3]):n=i=r=o=0,n+i>u&&(n*=u/(a=n+i),i*=u/a),r+o>u&&(r*=u/(a=r+o),o*=u/a),i+r>h&&(i*=h/(a=i+r),r*=h/a),n+o>h&&(n*=h/(a=n+o),o*=h/a),t.moveTo(s+n,l),t.lineTo(s+u-i,l),0!==i&&t.arc(s+u-i,l+i,i,-Math.PI/2,0),t.lineTo(s+u,l+h-r),0!==r&&t.arc(s+u-r,l+h-r,r,0,Math.PI/2),t.lineTo(s+o,l+h),0!==o&&t.arc(s+o,l+h-o,o,Math.PI/2,Math.PI),t.lineTo(s,l+n),0!==n&&t.arc(s+n,l+n,n,Math.PI,1.5*Math.PI)}(t,e):t.rect(n,i,r,o)},e.prototype.isZeroArea=function(){return!this.shape.width||!this.shape.height},e}(_s);Ps.prototype.type="rect";var Os={fill:"#000"},Rs={style:k({fill:!0,stroke:!0,fillOpacity:!0,strokeOpacity:!0,lineWidth:!0,fontSize:!0,lineHeight:!0,width:!0,height:!0,textShadowColor:!0,textShadowBlur:!0,textShadowOffsetX:!0,textShadowOffsetY:!0,backgroundColor:!0,padding:!0,borderColor:!0,borderWidth:!0,borderRadius:!0},ga.style)},Ns=function(t){function e(e){var n=t.call(this)||this;return n.type="text",n._children=[],n._defaultStyle=Os,n.attr(e),n}return n(e,t),e.prototype.childrenRef=function(){return this._children},e.prototype.update=function(){t.prototype.update.call(this),this.styleChanged()&&this._updateSubTexts();for(var e=0;ed&&h){var f=Math.floor(d/l);n=n.slice(0,f)}if(t&&a&&null!=c)for(var g=ia(c,o,e.ellipsis,{minChar:e.truncateMinChar,placeholder:e.placeholder}),y=0;y0,T=null!=t.width&&("truncate"===t.overflow||"break"===t.overflow||"breakAll"===t.overflow),C=i.calculatedLineHeight,D=0;Dl&&ua(n,t.substring(l,u),e,s),ua(n,i[2],e,s,i[1]),l=ea.lastIndex}lo){b>0?(m.tokens=m.tokens.slice(0,b),y(m,_,x),n.lines=n.lines.slice(0,v+1)):n.lines=n.lines.slice(0,v);break t}var C=w.width,D=null==C||"auto"===C;if("string"==typeof C&&"%"===C.charAt(C.length-1))P.percentWidth=C,h.push(P),P.contentWidth=fr(P.text,I);else{if(D){var A=w.backgroundColor,k=A&&A.image;k&&ta(k=$o(k))&&(P.width=Math.max(P.width,k.width*T/k.height))}var L=f&&null!=r?r-_:null;null!=L&&L=0&&"right"===(C=x[T]).align;)this._placeToken(C,t,b,f,I,"right",y),w-=C.width,I-=C.width,T--;for(M+=(n-(M-d)-(g-I)-w)/2;S<=T;)C=x[S],this._placeToken(C,t,b,f,M+C.width/2,"center",y),M+=C.width,S++;f+=b}},e.prototype._placeToken=function(t,e,n,i,r,o,s){var l=e.rich[t.styleName]||{};l.text=t.text;var u=t.verticalAlign,h=i+n/2;"top"===u?h=i+t.height/2:"bottom"===u&&(h=i+n-t.height/2),!t.isLineHolder&&Zs(l)&&this._renderBackground(l,e,"right"===o?r-t.width:"center"===o?r-t.width/2:r,h-t.height/2,t.width,t.height);var c=!!l.backgroundColor,p=t.textPadding;p&&(r=Us(r,o,p),h-=t.height/2-p[0]-t.innerHeight/2);var d=this._getOrCreateChild(ws),f=d.createStyle();d.useStyle(f);var g=this._defaultStyle,y=!1,v=0,m=Ys("fill"in l?l.fill:"fill"in e?e.fill:(y=!0,g.fill)),x=Hs("stroke"in l?l.stroke:"stroke"in e?e.stroke:c||s||g.autoStroke&&!y?null:(v=2,g.stroke)),_=l.textShadowBlur>0||e.textShadowBlur>0;f.text=t.text,f.x=r,f.y=h,_&&(f.shadowBlur=l.textShadowBlur||e.textShadowBlur||0,f.shadowColor=l.textShadowColor||e.textShadowColor||"transparent",f.shadowOffsetX=l.textShadowOffsetX||e.textShadowOffsetX||0,f.shadowOffsetY=l.textShadowOffsetY||e.textShadowOffsetY||0),f.textAlign=o,f.textBaseline="middle",f.font=t.font||a,f.opacity=ot(l.opacity,e.opacity,1),Fs(f,l),x&&(f.lineWidth=ot(l.lineWidth,e.lineWidth,v),f.lineDash=rt(l.lineDash,e.lineDash),f.lineDashOffset=e.lineDashOffset||0,f.stroke=x),m&&(f.fill=m);var b=t.contentWidth,w=t.contentHeight;d.setBoundingRect(new Re(vr(f.x,b,f.textAlign),mr(f.y,w,f.textBaseline),b,w))},e.prototype._renderBackground=function(t,e,n,i,r,o){var a,s,l,u=t.backgroundColor,h=t.borderWidth,c=t.borderColor,p=u&&u.image,d=u&&!p,f=t.borderRadius,g=this;if(d||t.lineHeight||h&&c){(a=this._getOrCreateChild(Ps)).useStyle(a.createStyle()),a.style.fill=null;var y=a.shape;y.x=n,y.y=i,y.width=r,y.height=o,y.r=f,a.dirtyShape()}if(d)(l=a.style).fill=u||null,l.fillOpacity=rt(t.fillOpacity,1);else if(p){(s=this._getOrCreateChild(Is)).onload=function(){g.dirtyStyle()};var v=s.style;v.image=u.image,v.x=n,v.y=i,v.width=r,v.height=o}h&&c&&((l=a.style).lineWidth=h,l.stroke=c,l.strokeOpacity=rt(t.strokeOpacity,1),l.lineDash=t.borderDash,l.lineDashOffset=t.borderDashOffset||0,a.strokeContainThreshold=0,a.hasFill()&&a.hasStroke()&&(l.strokeFirst=!0,l.lineWidth*=2));var m=(a||s).style;m.shadowBlur=t.shadowBlur||0,m.shadowColor=t.shadowColor||"transparent",m.shadowOffsetX=t.shadowOffsetX||0,m.shadowOffsetY=t.shadowOffsetY||0,m.opacity=ot(t.opacity,e.opacity,1)},e.makeFont=function(t){var e="";return Gs(t)&&(e=[t.fontStyle,t.fontWeight,Bs(t.fontSize),t.fontFamily||"sans-serif"].join(" ")),e&&ut(e)||t.textFont||t.font},e}(ma),Es={left:!0,right:1,center:1},zs={top:1,bottom:1,middle:1},Vs=["fontStyle","fontWeight","fontSize","fontFamily"];function Bs(t){return"string"!=typeof t||-1===t.indexOf("px")&&-1===t.indexOf("rem")&&-1===t.indexOf("em")?isNaN(+t)?"12px":t+"px":t}function Fs(t,e){for(var n=0;n=0,o=!1;if(t instanceof _s){var a=Js(t),s=r&&a.selectFill||a.normalFill,l=r&&a.selectStroke||a.normalStroke;if(ll(s)||ll(l)){var u=(i=i||{}).style||{};"inherit"===u.fill?(o=!0,i=A({},i),(u=A({},u)).fill=s):!ll(u.fill)&&ll(s)?(o=!0,i=A({},i),(u=A({},u)).fill=hl(s)):!ll(u.stroke)&&ll(l)&&(o||(i=A({},i),u=A({},u)),u.stroke=hl(l)),i.style=u}}if(i&&null==i.z2){o||(i=A({},i));var h=t.z2EmphasisLift;i.z2=t.z2+(null!=h?h:nl)}return i}(this,0,e,n);if("blur"===t)return function(t,e,n){var i=P(t.currentStates,e)>=0,r=t.style.opacity,o=i?null:function(t,e,n,i){for(var r=t.style,o={},a=0;a0){var o={dataIndex:r,seriesIndex:t.seriesIndex};null!=i&&(o.dataType=i),e.push(o)}}))})),e}function Vl(t,e,n){Yl(t,!0),xl(t,wl),Fl(t,e,n)}function Bl(t,e,n,i){i?function(t){Yl(t,!1)}(t):Vl(t,e,n)}function Fl(t,e,n){var i=js(t);null!=e?(i.focus=e,i.blurScope=n):i.focus&&(i.focus=null)}var Gl=["emphasis","blur","select"],Wl={itemStyle:"getItemStyle",lineStyle:"getLineStyle",areaStyle:"getAreaStyle"};function Hl(t,e,n,i){n=n||"itemStyle";for(var r=0;r1&&(a*=Ql(f),s*=Ql(f));var g=(r===o?-1:1)*Ql((a*a*(s*s)-a*a*(d*d)-s*s*(p*p))/(a*a*(d*d)+s*s*(p*p)))||0,y=g*a*d/s,v=g*-s*p/a,m=(t+n)/2+eu(c)*y-tu(c)*v,x=(e+i)/2+tu(c)*y+eu(c)*v,_=ou([1,0],[(p-y)/a,(d-v)/s]),b=[(p-y)/a,(d-v)/s],w=[(-1*p-y)/a,(-1*d-v)/s],S=ou(b,w);if(ru(b,w)<=-1&&(S=nu),ru(b,w)>=1&&(S=0),S<0){var M=Math.round(S/nu*1e6)/1e6;S=2*nu+M%2*nu}h.addData(u,m,x,a,s,_,S,c,o)}var su=/([mlvhzcqtsa])([^mlvhzcqtsa]*)/gi,lu=/-?([0-9]*\.)?[0-9]+([eE]-?[0-9]+)?/g;var uu=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.applyTransform=function(t){},e}(_s);function hu(t){return null!=t.setData}function cu(t,e){var n=function(t){var e=new ts;if(!t)return e;var n,i=0,r=0,o=i,a=r,s=ts.CMD,l=t.match(su);if(!l)return e;for(var u=0;uk*k+L*L&&(M=T,I=C),{cx:M,cy:I,x0:-h,y0:-c,x1:M*(r/b-1),y1:I*(r/b-1)}}function ku(t,e){var n,i=Tu(e.r,0),r=Tu(e.r0||0,0),o=i>0;if(o||r>0){if(o||(i=r,r=0),r>i){var a=i;i=r,r=a}var s=e.startAngle,l=e.endAngle;if(!isNaN(s)&&!isNaN(l)){var u=e.cx,h=e.cy,c=!!e.clockwise,p=Mu(l-s),d=p>xu&&p%xu;if(d>Du&&(p=d),i>Du)if(p>xu-Du)t.moveTo(u+i*bu(s),h+i*_u(s)),t.arc(u,h,i,s,l,!c),r>Du&&(t.moveTo(u+r*bu(l),h+r*_u(l)),t.arc(u,h,r,l,s,c));else{var f=void 0,g=void 0,y=void 0,v=void 0,m=void 0,x=void 0,_=void 0,b=void 0,w=void 0,S=void 0,M=void 0,I=void 0,T=void 0,C=void 0,D=void 0,A=void 0,k=i*bu(s),L=i*_u(s),P=r*bu(l),O=r*_u(l),R=p>Du;if(R){var N=e.cornerRadius;N&&(n=function(t){var e;if(Y(t)){var n=t.length;if(!n)return t;e=1===n?[t[0],t[0],0,0]:2===n?[t[0],t[0],t[1],t[1]]:3===n?t.concat(t[2]):t}else e=[t,t,t,t];return e}(N),f=n[0],g=n[1],y=n[2],v=n[3]);var E=Mu(i-r)/2;if(m=Cu(E,y),x=Cu(E,v),_=Cu(E,f),b=Cu(E,g),M=w=Tu(m,x),I=S=Tu(_,b),(w>Du||S>Du)&&(T=i*bu(l),C=i*_u(l),D=r*bu(s),A=r*_u(s),pDu){var U=Cu(y,M),X=Cu(v,M),Z=Au(D,A,k,L,i,U,c),j=Au(T,C,P,O,i,X,c);t.moveTo(u+Z.cx+Z.x0,h+Z.cy+Z.y0),M0&&t.arc(u+Z.cx,h+Z.cy,U,Su(Z.y0,Z.x0),Su(Z.y1,Z.x1),!c),t.arc(u,h,i,Su(Z.cy+Z.y1,Z.cx+Z.x1),Su(j.cy+j.y1,j.cx+j.x1),!c),X>0&&t.arc(u+j.cx,h+j.cy,X,Su(j.y1,j.x1),Su(j.y0,j.x0),!c))}else t.moveTo(u+k,h+L),t.arc(u,h,i,s,l,!c);else t.moveTo(u+k,h+L);if(r>Du&&R)if(I>Du){U=Cu(f,I),Z=Au(P,O,T,C,r,-(X=Cu(g,I)),c),j=Au(k,L,D,A,r,-U,c);t.lineTo(u+Z.cx+Z.x0,h+Z.cy+Z.y0),I0&&t.arc(u+Z.cx,h+Z.cy,X,Su(Z.y0,Z.x0),Su(Z.y1,Z.x1),!c),t.arc(u,h,r,Su(Z.cy+Z.y1,Z.cx+Z.x1),Su(j.cy+j.y1,j.cx+j.x1),c),U>0&&t.arc(u+j.cx,h+j.cy,U,Su(j.y1,j.x1),Su(j.y0,j.x0),!c))}else t.lineTo(u+P,h+O),t.arc(u,h,r,l,s,c);else t.lineTo(u+P,h+O)}else t.moveTo(u,h);t.closePath()}}}var Lu=function(){this.cx=0,this.cy=0,this.r0=0,this.r=0,this.startAngle=0,this.endAngle=2*Math.PI,this.clockwise=!0,this.cornerRadius=0},Pu=function(t){function e(e){return t.call(this,e)||this}return n(e,t),e.prototype.getDefaultShape=function(){return new Lu},e.prototype.buildPath=function(t,e){ku(t,e)},e.prototype.isZeroArea=function(){return this.shape.startAngle===this.shape.endAngle||this.shape.r===this.shape.r0},e}(_s);Pu.prototype.type="sector";var Ou=function(){this.cx=0,this.cy=0,this.r=0,this.r0=0},Ru=function(t){function e(e){return t.call(this,e)||this}return n(e,t),e.prototype.getDefaultShape=function(){return new Ou},e.prototype.buildPath=function(t,e){var n=e.cx,i=e.cy,r=2*Math.PI;t.moveTo(n+e.r,i),t.arc(n,i,e.r,0,r,!1),t.moveTo(n+e.r0,i),t.arc(n,i,e.r0,0,r,!0)},e}(_s);function Nu(t,e,n){var i=e.smooth,r=e.points;if(r&&r.length>=2){if(i){var o=function(t,e,n,i){var r,o,a,s,l=[],u=[],h=[],c=[];if(i){a=[1/0,1/0],s=[-1/0,-1/0];for(var p=0,d=t.length;pth[1]){if(a=!1,r)return a;var u=Math.abs(th[0]-Qu[1]),h=Math.abs(Qu[0]-th[1]);Math.min(u,h)>i.len()&&(u0){var c={duration:h.duration,delay:h.delay||0,easing:h.easing,done:o,force:!!o||!!a,setToFinal:!u,scope:t,during:a};l?e.animateFrom(n,c):e.animateTo(n,c)}else e.stopAnimation(),!l&&e.attr(n),a&&a(1),o&&o()}function uh(t,e,n,i,r,o){lh("update",t,e,n,i,r,o)}function hh(t,e,n,i,r,o){lh("enter",t,e,n,i,r,o)}function ch(t){if(!t.__zr)return!0;for(var e=0;eMath.abs(o[1])?o[0]>0?"right":"left":o[1]>0?"bottom":"top"}function Rh(t){return!t.isGroup}function Nh(t,e,n){if(t&&e){var i,r=(i={},t.traverse((function(t){Rh(t)&&t.anid&&(i[t.anid]=t)})),i);e.traverse((function(t){if(Rh(t)&&t.anid){var e=r[t.anid];if(e){var i=o(t);t.attr(o(e)),uh(t,i,n,js(t).dataIndex)}}}))}function o(t){var e={x:t.x,y:t.y,rotation:t.rotation};return function(t){return null!=t.shape}(t)&&(e.shape=A({},t.shape)),e}}function Eh(t,e){return z(t,(function(t){var n=t[0];n=yh(n,e.x),n=vh(n,e.x+e.width);var i=t[1];return i=yh(i,e.y),[n,i=vh(i,e.y+e.height)]}))}function zh(t,e){var n=yh(t.x,e.x),i=vh(t.x+t.width,e.x+e.width),r=yh(t.y,e.y),o=vh(t.y+t.height,e.y+e.height);if(i>=n&&o>=r)return{x:n,y:r,width:i-n,height:o-r}}function Vh(t,e,n){var i=A({rectHover:!0},e),r=i.style={strokeNoScale:!0};if(n=n||{x:-1,y:-1,width:2,height:2},t)return 0===t.indexOf("image://")?(r.image=t.slice(8),k(r,n),new Is(i)):Mh(t.replace("path://",""),i,n,"center")}function Bh(t,e,n,i,r){for(var o=0,a=r[r.length-1];o=-1e-6)return!1;var f=t-r,g=e-o,y=Gh(f,g,u,h)/d;if(y<0||y>1)return!1;var v=Gh(f,g,c,p)/d;return!(v<0||v>1)}function Gh(t,e,n,i){return t*i-n*e}function Wh(t){var e=t.itemTooltipOption,n=t.componentModel,i=t.itemName,r=X(e)?{formatter:e}:e,o=n.mainType,a=n.componentIndex,s={componentType:o,name:i,$vars:["name"]};s[o+"Index"]=a;var l=t.formatterParamsExtra;l&&E(G(l),(function(t){mt(s,t)||(s[t]=l[t],s.$vars.push(t))}));var u=js(t.el);u.componentMainType=o,u.componentIndex=a,u.tooltipConfig={name:i,option:k({content:i,formatterParams:s},r)}}function Hh(t,e){var n;t.isGroup&&(n=e(t)),n||t.traverse(e)}function Yh(t,e){if(t)if(Y(t))for(var n=0;n-1?Sc:Ic;function Ac(t,e){t=t.toUpperCase(),Cc[t]=new xc(e),Tc[t]=e}function kc(t){return Cc[t]}Ac(Mc,{time:{month:["January","February","March","April","May","June","July","August","September","October","November","December"],monthAbbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayOfWeek:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayOfWeekAbbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]},legend:{selector:{all:"All",inverse:"Inv"}},toolbox:{brush:{title:{rect:"Box Select",polygon:"Lasso Select",lineX:"Horizontally Select",lineY:"Vertically Select",keep:"Keep Selections",clear:"Clear Selections"}},dataView:{title:"Data View",lang:["Data View","Close","Refresh"]},dataZoom:{title:{zoom:"Zoom",back:"Zoom Reset"}},magicType:{title:{line:"Switch to Line Chart",bar:"Switch to Bar Chart",stack:"Stack",tiled:"Tile"}},restore:{title:"Restore"},saveAsImage:{title:"Save as Image",lang:["Right Click to Save Image"]}},series:{typeNames:{pie:"Pie chart",bar:"Bar chart",line:"Line chart",scatter:"Scatter plot",effectScatter:"Ripple scatter plot",radar:"Radar chart",tree:"Tree",treemap:"Treemap",boxplot:"Boxplot",candlestick:"Candlestick",k:"K line chart",heatmap:"Heat map",map:"Map",parallel:"Parallel coordinate map",lines:"Line graph",graph:"Relationship graph",sankey:"Sankey diagram",funnel:"Funnel chart",gauge:"Gauge",pictorialBar:"Pictorial bar",themeRiver:"Theme River Map",sunburst:"Sunburst"}},aria:{general:{withTitle:'This is a chart about "{title}"',withoutTitle:"This is a chart"},series:{single:{prefix:"",withName:" with type {seriesType} named {seriesName}.",withoutName:" with type {seriesType}."},multiple:{prefix:". It consists of {seriesCount} series count.",withName:" The {seriesId} series is a {seriesType} representing {seriesName}.",withoutName:" The {seriesId} series is a {seriesType}.",separator:{middle:"",end:""}}},data:{allData:"The data is as follows: ",partialData:"The first {displayCnt} items are: ",withName:"the data for {name} is {value}",withoutName:"{value}",separator:{middle:", ",end:". "}}}}),Ac(Sc,{time:{month:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthAbbr:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dayOfWeek:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],dayOfWeekAbbr:["日","一","二","三","四","五","六"]},legend:{selector:{all:"全选",inverse:"反选"}},toolbox:{brush:{title:{rect:"矩形选择",polygon:"圈选",lineX:"横向选择",lineY:"纵向选择",keep:"保持选择",clear:"清除选择"}},dataView:{title:"数据视图",lang:["数据视图","关闭","刷新"]},dataZoom:{title:{zoom:"区域缩放",back:"区域缩放还原"}},magicType:{title:{line:"切换为折线图",bar:"切换为柱状图",stack:"切换为堆叠",tiled:"切换为平铺"}},restore:{title:"还原"},saveAsImage:{title:"保存为图片",lang:["右键另存为图片"]}},series:{typeNames:{pie:"饼图",bar:"柱状图",line:"折线图",scatter:"散点图",effectScatter:"涟漪散点图",radar:"雷达图",tree:"树图",treemap:"矩形树图",boxplot:"箱型图",candlestick:"K线图",k:"K线图",heatmap:"热力图",map:"地图",parallel:"平行坐标图",lines:"线图",graph:"关系图",sankey:"桑基图",funnel:"漏斗图",gauge:"仪表盘图",pictorialBar:"象形柱图",themeRiver:"主题河流图",sunburst:"旭日图"}},aria:{general:{withTitle:"这是一个关于“{title}”的图表。",withoutTitle:"这是一个图表,"},series:{single:{prefix:"",withName:"图表类型是{seriesType},表示{seriesName}。",withoutName:"图表类型是{seriesType}。"},multiple:{prefix:"它由{seriesCount}个图表系列组成。",withName:"第{seriesId}个系列是一个表示{seriesName}的{seriesType},",withoutName:"第{seriesId}个系列是一个{seriesType},",separator:{middle:";",end:"。"}}},data:{allData:"其数据是——",partialData:"其中,前{displayCnt}项是——",withName:"{name}的数据是{value}",withoutName:"{value}",separator:{middle:",",end:""}}}});var Lc=1e3,Pc=6e4,Oc=36e5,Rc=864e5,Nc=31536e6,Ec={year:"{yyyy}",month:"{MMM}",day:"{d}",hour:"{HH}:{mm}",minute:"{HH}:{mm}",second:"{HH}:{mm}:{ss}",millisecond:"{HH}:{mm}:{ss} {SSS}",none:"{yyyy}-{MM}-{dd} {HH}:{mm}:{ss} {SSS}"},zc="{yyyy}-{MM}-{dd}",Vc={year:"{yyyy}",month:"{yyyy}-{MM}",day:zc,hour:"{yyyy}-{MM}-{dd} "+Ec.hour,minute:"{yyyy}-{MM}-{dd} "+Ec.minute,second:"{yyyy}-{MM}-{dd} "+Ec.second,millisecond:Ec.none},Bc=["year","month","day","hour","minute","second","millisecond"],Fc=["year","half-year","quarter","month","week","half-week","day","half-day","quarter-day","hour","minute","second","millisecond"];function Gc(t,e){return"0000".substr(0,e-(t+="").length)+t}function Wc(t){switch(t){case"half-year":case"quarter":return"month";case"week":case"half-week":return"day";case"half-day":case"quarter-day":return"hour";default:return t}}function Hc(t){return t===Wc(t)}function Yc(t,e,n,i){var r=Qr(t),o=r[Zc(n)](),a=r[jc(n)]()+1,s=Math.floor((a-1)/3)+1,l=r[qc(n)](),u=r["get"+(n?"UTC":"")+"Day"](),h=r[Kc(n)](),c=(h-1)%12+1,p=r[$c(n)](),d=r[Jc(n)](),f=r[Qc(n)](),g=(i instanceof xc?i:kc(i||Dc)||Cc.EN).getModel("time"),y=g.get("month"),v=g.get("monthAbbr"),m=g.get("dayOfWeek"),x=g.get("dayOfWeekAbbr");return(e||"").replace(/{yyyy}/g,o+"").replace(/{yy}/g,o%100+"").replace(/{Q}/g,s+"").replace(/{MMMM}/g,y[a-1]).replace(/{MMM}/g,v[a-1]).replace(/{MM}/g,Gc(a,2)).replace(/{M}/g,a+"").replace(/{dd}/g,Gc(l,2)).replace(/{d}/g,l+"").replace(/{eeee}/g,m[u]).replace(/{ee}/g,x[u]).replace(/{e}/g,u+"").replace(/{HH}/g,Gc(h,2)).replace(/{H}/g,h+"").replace(/{hh}/g,Gc(c+"",2)).replace(/{h}/g,c+"").replace(/{mm}/g,Gc(p,2)).replace(/{m}/g,p+"").replace(/{ss}/g,Gc(d,2)).replace(/{s}/g,d+"").replace(/{SSS}/g,Gc(f,3)).replace(/{S}/g,f+"")}function Uc(t,e){var n=Qr(t),i=n[jc(e)]()+1,r=n[qc(e)](),o=n[Kc(e)](),a=n[$c(e)](),s=n[Jc(e)](),l=0===n[Qc(e)](),u=l&&0===s,h=u&&0===a,c=h&&0===o,p=c&&1===r;return p&&1===i?"year":p?"month":c?"day":h?"hour":u?"minute":l?"second":"millisecond"}function Xc(t,e,n){var i=j(t)?Qr(t):t;switch(e=e||Uc(t,n)){case"year":return i[Zc(n)]();case"half-year":return i[jc(n)]()>=6?1:0;case"quarter":return Math.floor((i[jc(n)]()+1)/4);case"month":return i[jc(n)]();case"day":return i[qc(n)]();case"half-day":return i[Kc(n)]()/24;case"hour":return i[Kc(n)]();case"minute":return i[$c(n)]();case"second":return i[Jc(n)]();case"millisecond":return i[Qc(n)]()}}function Zc(t){return t?"getUTCFullYear":"getFullYear"}function jc(t){return t?"getUTCMonth":"getMonth"}function qc(t){return t?"getUTCDate":"getDate"}function Kc(t){return t?"getUTCHours":"getHours"}function $c(t){return t?"getUTCMinutes":"getMinutes"}function Jc(t){return t?"getUTCSeconds":"getSeconds"}function Qc(t){return t?"getUTCMilliseconds":"getMilliseconds"}function tp(t){return t?"setUTCFullYear":"setFullYear"}function ep(t){return t?"setUTCMonth":"setMonth"}function np(t){return t?"setUTCDate":"setDate"}function ip(t){return t?"setUTCHours":"setHours"}function rp(t){return t?"setUTCMinutes":"setMinutes"}function op(t){return t?"setUTCSeconds":"setSeconds"}function ap(t){return t?"setUTCMilliseconds":"setMilliseconds"}function sp(t){if(!ao(t))return X(t)?t:"-";var e=(t+"").split(".");return e[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g,"$1,")+(e.length>1?"."+e[1]:"")}function lp(t,e){return t=(t||"").toLowerCase().replace(/-(.)/g,(function(t,e){return e.toUpperCase()})),e&&t&&(t=t.charAt(0).toUpperCase()+t.slice(1)),t}var up=st;function hp(t,e,n){function i(t){return t&&ut(t)?t:"-"}function r(t){return!(null==t||isNaN(t)||!isFinite(t))}var o="time"===e,a=t instanceof Date;if(o||a){var s=o?Qr(t):t;if(!isNaN(+s))return Yc(s,"{yyyy}-{MM}-{dd} {HH}:{mm}:{ss}",n);if(a)return"-"}if("ordinal"===e)return Z(t)?i(t):j(t)&&r(t)?t+"":"-";var l=oo(t);return r(l)?sp(l):Z(t)?i(t):"boolean"==typeof t?t+"":"-"}var cp=["a","b","c","d","e","f","g"],pp=function(t,e){return"{"+t+(null==e?"":e)+"}"};function dp(t,e,n){Y(e)||(e=[e]);var i=e.length;if(!i)return"";for(var r=e[0].$vars||[],o=0;o':'':{renderMode:o,content:"{"+(n.markerId||"markerX")+"|} ",style:"subItem"===r?{width:4,height:4,borderRadius:2,backgroundColor:i}:{width:10,height:10,borderRadius:5,backgroundColor:i}}:""}function gp(t,e){return e=e||"transparent",X(t)?t:q(t)&&t.colorStops&&(t.colorStops[0]||{}).color||e}function yp(t,e){if("_blank"===e||"blank"===e){var n=window.open();n.opener=null,n.location.href=t}else window.open(t,e)}var vp=E,mp=["left","right","top","bottom","width","height"],xp=[["width","left","right"],["height","top","bottom"]];function _p(t,e,n,i,r){var o=0,a=0;null==i&&(i=1/0),null==r&&(r=1/0);var s=0;e.eachChild((function(l,u){var h,c,p=l.getBoundingRect(),d=e.childAt(u+1),f=d&&d.getBoundingRect();if("horizontal"===t){var g=p.width+(f?-f.x+p.x:0);(h=o+g)>i||l.newline?(o=0,h=g,a+=s+n,s=p.height):s=Math.max(s,p.height)}else{var y=p.height+(f?-f.y+p.y:0);(c=a+y)>r||l.newline?(o+=s+n,a=0,c=y,s=p.width):s=Math.max(s,p.width)}l.newline||(l.x=o,l.y=a,l.markRedraw(),"horizontal"===t?o=h+n:a=c+n)}))}var bp=_p;H(_p,"vertical"),H(_p,"horizontal");function wp(t,e,n){n=up(n||0);var i=e.width,r=e.height,o=Gr(t.left,i),a=Gr(t.top,r),s=Gr(t.right,i),l=Gr(t.bottom,r),u=Gr(t.width,i),h=Gr(t.height,r),c=n[2]+n[0],p=n[1]+n[3],d=t.aspect;switch(isNaN(u)&&(u=i-s-p-o),isNaN(h)&&(h=r-l-c-a),null!=d&&(isNaN(u)&&isNaN(h)&&(d>i/r?u=.8*i:h=.8*r),isNaN(u)&&(u=d*h),isNaN(h)&&(h=u/d)),isNaN(o)&&(o=i-s-u-p),isNaN(a)&&(a=r-l-h-c),t.left||t.right){case"center":o=i/2-u/2-n[3];break;case"right":o=i-u-p}switch(t.top||t.bottom){case"middle":case"center":a=r/2-h/2-n[0];break;case"bottom":a=r-h-c}o=o||0,a=a||0,isNaN(u)&&(u=i-p-o-(s||0)),isNaN(h)&&(h=r-c-a-(l||0));var f=new Re(o+n[3],a+n[0],u,h);return f.margin=n,f}function Sp(t,e,n,i,r,o){var a,s=!r||!r.hv||r.hv[0],l=!r||!r.hv||r.hv[1],u=r&&r.boundingMode||"all";if((o=o||t).x=t.x,o.y=t.y,!s&&!l)return!1;if("raw"===u)a="group"===t.type?new Re(0,0,+e.width||0,+e.height||0):t.getBoundingRect();else if(a=t.getBoundingRect(),t.needLocalTransform()){var h=t.getLocalTransform();(a=a.clone()).applyTransform(h)}var c=wp(k({width:a.width,height:a.height},e),n,i),p=s?c.x-a.x:0,d=l?c.y-a.y:0;return"raw"===u?(o.x=p,o.y=d):(o.x+=p,o.y+=d),o===t&&t.markRedraw(),!0}function Mp(t){var e=t.layoutMode||t.constructor.layoutMode;return q(e)?e:e?{type:e}:null}function Ip(t,e,n){var i=n&&n.ignoreSize;!Y(i)&&(i=[i,i]);var r=a(xp[0],0),o=a(xp[1],1);function a(n,r){var o={},a=0,u={},h=0;if(vp(n,(function(e){u[e]=t[e]})),vp(n,(function(t){s(e,t)&&(o[t]=u[t]=e[t]),l(o,t)&&a++,l(u,t)&&h++})),i[r])return l(e,n[1])?u[n[2]]=null:l(e,n[2])&&(u[n[1]]=null),u;if(2!==h&&a){if(a>=2)return o;for(var c=0;c=0;a--)o=C(o,n[a],!0);e.defaultOption=o}return e.defaultOption},e.prototype.getReferringComponents=function(t,e){var n=t+"Index",i=t+"Id";return Ro(this.ecModel,t,{index:this.get(n,!0),id:this.get(i,!0)},e)},e.prototype.getBoxLayoutParams=function(){var t=this;return{left:t.get("left"),top:t.get("top"),right:t.get("right"),bottom:t.get("bottom"),width:t.get("width"),height:t.get("height")}},e.prototype.getZLevelKey=function(){return""},e.prototype.setZLevel=function(t){this.option.zlevel=t},e.protoInitialize=function(){var t=e.prototype;t.type="component",t.id="",t.name="",t.mainType="",t.subType="",t.componentIndex=0}(),e}(xc);Wo(Ap,xc),Xo(Ap),function(t){var e={};t.registerSubTypeDefaulter=function(t,n){var i=Fo(t);e[i.main]=n},t.determineSubType=function(n,i){var r=i.type;if(!r){var o=Fo(n).main;t.hasSubTypes(n)&&e[o]&&(r=e[o](i))}return r}}(Ap),function(t,e){function n(t,e){return t[e]||(t[e]={predecessor:[],successor:[]}),t[e]}t.topologicalTravel=function(t,i,r,o){if(t.length){var a=function(t){var i={},r=[];return E(t,(function(o){var a=n(i,o),s=function(t,e){var n=[];return E(t,(function(t){P(e,t)>=0&&n.push(t)})),n}(a.originalDeps=e(o),t);a.entryCount=s.length,0===a.entryCount&&r.push(o),E(s,(function(t){P(a.predecessor,t)<0&&a.predecessor.push(t);var e=n(i,t);P(e.successor,t)<0&&e.successor.push(o)}))})),{graph:i,noEntryList:r}}(i),s=a.graph,l=a.noEntryList,u={};for(E(t,(function(t){u[t]=!0}));l.length;){var h=l.pop(),c=s[h],p=!!u[h];p&&(r.call(o,h,c.originalDeps.slice()),delete u[h]),E(c.successor,p?f:d)}E(u,(function(){var t="";throw new Error(t)}))}function d(t){s[t].entryCount--,0===s[t].entryCount&&l.push(t)}function f(t){u[t]=!0,d(t)}}}(Ap,(function(t){var e=[];E(Ap.getClassesByMainType(t),(function(t){e=e.concat(t.dependencies||t.prototype.dependencies||[])})),e=z(e,(function(t){return Fo(t).main})),"dataset"!==t&&P(e,"dataset")<=0&&e.unshift("dataset");return e}));var kp="";"undefined"!=typeof navigator&&(kp=navigator.platform||"");var Lp="rgba(0, 0, 0, 0.2)",Pp={darkMode:"auto",colorBy:"series",color:["#5470c6","#91cc75","#fac858","#ee6666","#73c0de","#3ba272","#fc8452","#9a60b4","#ea7ccc"],gradientColor:["#f6efa6","#d88273","#bf444c"],aria:{decal:{decals:[{color:Lp,dashArrayX:[1,0],dashArrayY:[2,5],symbolSize:1,rotation:Math.PI/6},{color:Lp,symbol:"circle",dashArrayX:[[8,8],[0,8,8,0]],dashArrayY:[6,0],symbolSize:.8},{color:Lp,dashArrayX:[1,0],dashArrayY:[4,3],rotation:-Math.PI/4},{color:Lp,dashArrayX:[[6,6],[0,6,6,0]],dashArrayY:[6,0]},{color:Lp,dashArrayX:[[1,0],[1,6]],dashArrayY:[1,0,6,0],rotation:Math.PI/4},{color:Lp,symbol:"triangle",dashArrayX:[[9,9],[0,9,9,0]],dashArrayY:[7,2],symbolSize:.75}]}},textStyle:{fontFamily:kp.match(/^Win/)?"Microsoft YaHei":"sans-serif",fontSize:12,fontStyle:"normal",fontWeight:"normal"},blendMode:null,stateAnimation:{duration:300,easing:"cubicOut"},animation:"auto",animationDuration:1e3,animationDurationUpdate:500,animationEasing:"cubicInOut",animationEasingUpdate:"cubicInOut",animationThreshold:2e3,progressiveThreshold:3e3,progressive:400,hoverLayerThreshold:3e3,useUTC:!1},Op=ft(["tooltip","label","itemName","itemId","itemGroupId","seriesName"]),Rp="original",Np="arrayRows",Ep="objectRows",zp="keyedColumns",Vp="typedArray",Bp="unknown",Fp="column",Gp="row",Wp=1,Hp=2,Yp=3,Up=Do();function Xp(t,e,n){var i={},r=jp(e);if(!r||!t)return i;var o,a,s=[],l=[],u=e.ecModel,h=Up(u).datasetMap,c=r.uid+"_"+n.seriesLayoutBy;E(t=t.slice(),(function(e,n){var r=q(e)?e:t[n]={name:e};"ordinal"===r.type&&null==o&&(o=n,a=f(r)),i[r.name]=[]}));var p=h.get(c)||h.set(c,{categoryWayDim:a,valueWayDim:0});function d(t,e,n){for(var i=0;ie)return t[i];return t[n-1]}(i,a):n;if((h=h||n)&&h.length){var c=h[l];return r&&(u[r]=c),s.paletteIdx=(l+1)%h.length,c}}var ad=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.init=function(t,e,n,i,r,o){i=i||{},this.option=null,this._theme=new xc(i),this._locale=new xc(r),this._optionManager=o},e.prototype.setOption=function(t,e,n){var i=ud(e);this._optionManager.setOption(t,n,i),this._resetOption(null,i)},e.prototype.resetOption=function(t,e){return this._resetOption(t,ud(e))},e.prototype._resetOption=function(t,e){var n=!1,i=this._optionManager;if(!t||"recreate"===t){var r=i.mountOption("recreate"===t);0,this.option&&"recreate"!==t?(this.restoreData(),this._mergeOption(r,e)):td(this,r),n=!0}if("timeline"!==t&&"media"!==t||this.restoreData(),!t||"recreate"===t||"timeline"===t){var o=i.getTimelineOption(this);o&&(n=!0,this._mergeOption(o,e))}if(!t||"recreate"===t||"media"===t){var a=i.getMediaOption(this);a.length&&E(a,(function(t){n=!0,this._mergeOption(t,e)}),this)}return n},e.prototype.mergeOption=function(t){this._mergeOption(t,null)},e.prototype._mergeOption=function(t,e){var n=this.option,i=this._componentsMap,r=this._componentsCount,o=[],a=ft(),s=e&&e.replaceMergeMainTypeMap;Up(this).datasetMap=ft(),E(t,(function(t,e){null!=t&&(Ap.hasClass(e)?e&&(o.push(e),a.set(e,!0)):n[e]=null==n[e]?T(t):C(n[e],t,!0))})),s&&s.each((function(t,e){Ap.hasClass(e)&&!a.get(e)&&(o.push(e),a.set(e,!0))})),Ap.topologicalTravel(o,Ap.getAllClassMainTypes(),(function(e){var o=function(t,e,n){var i=$p.get(e);if(!i)return n;var r=i(t);return r?n.concat(r):n}(this,e,yo(t[e])),a=i.get(e),l=a?s&&s.get(e)?"replaceMerge":"normalMerge":"replaceAll",u=bo(a,o,l);(function(t,e,n){E(t,(function(t){var i=t.newOption;q(i)&&(t.keyInfo.mainType=e,t.keyInfo.subType=function(t,e,n,i){return e.type?e.type:n?n.subType:i.determineSubType(t,e)}(e,i,t.existing,n))}))})(u,e,Ap),n[e]=null,i.set(e,null),r.set(e,0);var h,c=[],p=[],d=0;E(u,(function(t,n){var i=t.existing,r=t.newOption;if(r){var o="series"===e,a=Ap.getClass(e,t.keyInfo.subType,!o);if(!a)return;if("tooltip"===e){if(h)return void 0;h=!0}if(i&&i.constructor===a)i.name=t.keyInfo.name,i.mergeOption(r,this),i.optionUpdated(r,!1);else{var s=A({componentIndex:n},t.keyInfo);A(i=new a(r,this,this,s),s),t.brandNew&&(i.__requireNewView=!0),i.init(r,this,this),i.optionUpdated(null,!0)}}else i&&(i.mergeOption({},this),i.optionUpdated({},!1));i?(c.push(i.option),p.push(i),d++):(c.push(void 0),p.push(void 0))}),this),n[e]=c,i.set(e,p),r.set(e,d),"series"===e&&Jp(this)}),this),this._seriesIndices||Jp(this)},e.prototype.getOption=function(){var t=T(this.option);return E(t,(function(e,n){if(Ap.hasClass(n)){for(var i=yo(e),r=i.length,o=!1,a=r-1;a>=0;a--)i[a]&&!To(i[a])?o=!0:(i[a]=null,!o&&r--);i.length=r,t[n]=i}})),delete t["\0_ec_inner"],t},e.prototype.getTheme=function(){return this._theme},e.prototype.getLocaleModel=function(){return this._locale},e.prototype.setUpdatePayload=function(t){this._payload=t},e.prototype.getUpdatePayload=function(){return this._payload},e.prototype.getComponent=function(t,e){var n=this._componentsMap.get(t);if(n){var i=n[e||0];if(i)return i;if(null==e)for(var r=0;r=e:"max"===n?t<=e:t===e})(i[a],t,o)||(r=!1)}})),r}var vd=E,md=q,xd=["areaStyle","lineStyle","nodeStyle","linkStyle","chordStyle","label","labelLine"];function _d(t){var e=t&&t.itemStyle;if(e)for(var n=0,i=xd.length;n=0;g--){var y=t[g];if(s||(p=y.data.rawIndexOf(y.stackedByDimension,c)),p>=0){var v=y.data.getByRawIndex(y.stackResultDimension,p);if("all"===l||"positive"===l&&v>0||"negative"===l&&v<0||"samesign"===l&&d>=0&&v>0||"samesign"===l&&d<=0&&v<0){d=jr(d,v),f=v;break}}}return i[0]=d,i[1]=f,i}))}))}var Vd,Bd,Fd,Gd,Wd,Hd=function(t){this.data=t.data||(t.sourceFormat===zp?{}:[]),this.sourceFormat=t.sourceFormat||Bp,this.seriesLayoutBy=t.seriesLayoutBy||Fp,this.startIndex=t.startIndex||0,this.dimensionsDetectedCount=t.dimensionsDetectedCount,this.metaRawOption=t.metaRawOption;var e=this.dimensionsDefine=t.dimensionsDefine;if(e)for(var n=0;nu&&(u=d)}s[0]=l,s[1]=u}},i=function(){return this._data?this._data.length/this._dimSize:0};function r(t){for(var e=0;e=0&&(s=o.interpolatedValue[l])}return null!=s?s+"":""})):void 0},t.prototype.getRawValue=function(t,e){return uf(this.getData(e),t)},t.prototype.formatTooltip=function(t,e,n){},t}();function pf(t){var e,n;return q(t)?t.type&&(n=t):e=t,{text:e,frag:n}}function df(t){return new ff(t)}var ff=function(){function t(t){t=t||{},this._reset=t.reset,this._plan=t.plan,this._count=t.count,this._onDirty=t.onDirty,this._dirty=!0}return t.prototype.perform=function(t){var e,n=this._upstream,i=t&&t.skip;if(this._dirty&&n){var r=this.context;r.data=r.outputData=n.context.outputData}this.__pipeline&&(this.__pipeline.currentTask=this),this._plan&&!i&&(e=this._plan(this.context));var o,a=h(this._modBy),s=this._modDataCount||0,l=h(t&&t.modBy),u=t&&t.modDataCount||0;function h(t){return!(t>=1)&&(t=1),t}a===l&&s===u||(e="reset"),(this._dirty||"reset"===e)&&(this._dirty=!1,o=this._doReset(i)),this._modBy=l,this._modDataCount=u;var c=t&&t.step;if(this._dueEnd=n?n._outputDueEnd:this._count?this._count(this.context):1/0,this._progress){var p=this._dueIndex,d=Math.min(null!=c?this._dueIndex+c:1/0,this._dueEnd);if(!i&&(o||p1&&i>0?s:a}};return o;function a(){return e=t?null:oe},gte:function(t,e){return t>=e}},_f=function(){function t(t,e){if(!j(e)){var n="";0,co(n)}this._opFn=xf[t],this._rvalFloat=oo(e)}return t.prototype.evaluate=function(t){return j(t)?this._opFn(t,this._rvalFloat):this._opFn(oo(t),this._rvalFloat)},t}(),bf=function(){function t(t,e){var n="desc"===t;this._resultLT=n?1:-1,null==e&&(e=n?"min":"max"),this._incomparable="min"===e?-1/0:1/0}return t.prototype.evaluate=function(t,e){var n=j(t)?t:oo(t),i=j(e)?e:oo(e),r=isNaN(n),o=isNaN(i);if(r&&(n=this._incomparable),o&&(i=this._incomparable),r&&o){var a=X(t),s=X(e);a&&(n=s?t:0),s&&(i=a?e:0)}return ni?-this._resultLT:0},t}(),wf=function(){function t(t,e){this._rval=e,this._isEQ=t,this._rvalTypeof=typeof e,this._rvalFloat=oo(e)}return t.prototype.evaluate=function(t){var e=t===this._rval;if(!e){var n=typeof t;n===this._rvalTypeof||"number"!==n&&"number"!==this._rvalTypeof||(e=oo(t)===this._rvalFloat)}return this._isEQ?e:!e},t}();function Sf(t,e){return"eq"===t||"ne"===t?new wf("eq"===t,e):mt(xf,t)?new _f(t,e):null}var Mf=function(){function t(){}return t.prototype.getRawData=function(){throw new Error("not supported")},t.prototype.getRawDataItem=function(t){throw new Error("not supported")},t.prototype.cloneRawData=function(){},t.prototype.getDimensionInfo=function(t){},t.prototype.cloneAllDimensionInfo=function(){},t.prototype.count=function(){},t.prototype.retrieveValue=function(t,e){},t.prototype.retrieveValueFromItem=function(t,e){},t.prototype.convertValue=function(t,e){return yf(t,e)},t}();function If(t){var e=t.sourceFormat;if(!Lf(e)){var n="";0,co(n)}return t.data}function Tf(t){var e=t.sourceFormat,n=t.data;if(!Lf(e)){var i="";0,co(i)}if(e===Np){for(var r=[],o=0,a=n.length;o65535?Rf:Nf}function Ff(t,e,n,i,r){var o=Vf[n||"float"];if(r){var a=t[e],s=a&&a.length;if(s!==i){for(var l=new o(i),u=0;ug[1]&&(g[1]=f)}return this._rawCount=this._count=s,{start:a,end:s}},t.prototype._initDataFromProvider=function(t,e,n){for(var i=this._provider,r=this._chunks,o=this._dimensions,a=o.length,s=this._rawExtent,l=z(o,(function(t){return t.property})),u=0;uy[1]&&(y[1]=g)}}!i.persistent&&i.clean&&i.clean(),this._rawCount=this._count=e,this._extent=[]},t.prototype.count=function(){return this._count},t.prototype.get=function(t,e){if(!(e>=0&&e=0&&e=this._rawCount||t<0)return-1;if(!this._indices)return t;var e=this._indices,n=e[t];if(null!=n&&nt))return o;r=o-1}}return-1},t.prototype.indicesOfNearest=function(t,e,n){var i=this._chunks[t],r=[];if(!i)return r;null==n&&(n=1/0);for(var o=1/0,a=-1,s=0,l=0,u=this.count();l=0&&a<0)&&(o=c,a=h,s=0),h===a&&(r[s++]=l))}return r.length=s,r},t.prototype.getIndices=function(){var t,e=this._indices;if(e){var n=e.constructor,i=this._count;if(n===Array){t=new n(i);for(var r=0;r=u&&x<=h||isNaN(x))&&(a[s++]=d),d++}p=!0}else if(2===r){f=c[i[0]];var y=c[i[1]],v=t[i[1]][0],m=t[i[1]][1];for(g=0;g=u&&x<=h||isNaN(x))&&(_>=v&&_<=m||isNaN(_))&&(a[s++]=d),d++}p=!0}}if(!p)if(1===r)for(g=0;g=u&&x<=h||isNaN(x))&&(a[s++]=b)}else for(g=0;gt[M][1])&&(w=!1)}w&&(a[s++]=e.getRawIndex(g))}return sy[1]&&(y[1]=g)}}}},t.prototype.lttbDownSample=function(t,e){var n,i,r,o=this.clone([t],!0),a=o._chunks[t],s=this.count(),l=0,u=Math.floor(1/e),h=this.getRawIndex(0),c=new(Bf(this._rawCount))(Math.min(2*(Math.ceil(s/u)+2),s));c[l++]=h;for(var p=1;pn&&(n=i,r=I)}M>0&&M<_-x&&(c[l++]=Math.min(S,r),r=Math.max(S,r)),c[l++]=r,h=r}return c[l++]=this.getRawIndex(s-1),o._count=l,o._indices=c,o.getRawIndex=this._getRawIdx,o},t.prototype.downSample=function(t,e,n,i){for(var r=this.clone([t],!0),o=r._chunks,a=[],s=Math.floor(1/e),l=o[t],u=this.count(),h=r._rawExtent[t]=[1/0,-1/0],c=new(Bf(this._rawCount))(Math.ceil(u/s)),p=0,d=0;du-d&&(s=u-d,a.length=s);for(var f=0;fh[1]&&(h[1]=y),c[p++]=v}return r._count=p,r._indices=c,r._updateGetRawIdx(),r},t.prototype.each=function(t,e){if(this._count)for(var n=t.length,i=this._chunks,r=0,o=this.count();ra&&(a=l)}return i=[o,a],this._extent[t]=i,i},t.prototype.getRawDataItem=function(t){var e=this.getRawIndex(t);if(this._provider.persistent)return this._provider.getItem(e);for(var n=[],i=this._chunks,r=0;r=0?this._indices[t]:-1},t.prototype._updateGetRawIdx=function(){this.getRawIndex=this._indices?this._getRawIdx:this._getRawIdxIdentity},t.internalField=function(){function t(t,e,n,i){return yf(t[i],this._dimensions[i])}Pf={arrayRows:t,objectRows:function(t,e,n,i){return yf(t[e],this._dimensions[i])},keyedColumns:t,original:function(t,e,n,i){var r=t&&(null==t.value?t:t.value);return yf(r instanceof Array?r[i]:r,this._dimensions[i])},typedArray:function(t,e,n,i){return t[i]}}}(),t}(),Wf=function(){function t(t){this._sourceList=[],this._storeList=[],this._upstreamSignList=[],this._versionSignBase=0,this._dirty=!0,this._sourceHost=t}return t.prototype.dirty=function(){this._setLocalSource([],[]),this._storeList=[],this._dirty=!0},t.prototype._setLocalSource=function(t,e){this._sourceList=t,this._upstreamSignList=e,this._versionSignBase++,this._versionSignBase>9e10&&(this._versionSignBase=0)},t.prototype._getVersionSign=function(){return this._sourceHost.uid+"_"+this._versionSignBase},t.prototype.prepareSource=function(){this._isDirty()&&(this._createSource(),this._dirty=!1)},t.prototype._createSource=function(){this._setLocalSource([],[]);var t,e,n=this._sourceHost,i=this._getUpstreamSourceManagers(),r=!!i.length;if(Yf(n)){var o=n,a=void 0,s=void 0,l=void 0;if(r){var u=i[0];u.prepareSource(),a=(l=u.getSource()).data,s=l.sourceFormat,e=[u._getVersionSign()]}else s=$(a=o.get("data",!0))?Vp:Rp,e=[];var h=this._getSourceMetaRawOption()||{},c=l&&l.metaRawOption||{},p=rt(h.seriesLayoutBy,c.seriesLayoutBy)||null,d=rt(h.sourceHeader,c.sourceHeader),f=rt(h.dimensions,c.dimensions);t=p!==c.seriesLayoutBy||!!d!=!!c.sourceHeader||f?[Ud(a,{seriesLayoutBy:p,sourceHeader:d,dimensions:f},s)]:[]}else{var g=n;if(r){var y=this._applyTransform(i);t=y.sourceList,e=y.upstreamSignList}else{t=[Ud(g.get("source",!0),this._getSourceMetaRawOption(),null)],e=[]}}this._setLocalSource(t,e)},t.prototype._applyTransform=function(t){var e,n=this._sourceHost,i=n.get("transform",!0),r=n.get("fromTransformResult",!0);if(null!=r){var o="";1!==t.length&&Uf(o)}var a,s=[],l=[];return E(t,(function(t){t.prepareSource();var e=t.getSource(r||0),n="";null==r||e||Uf(n),s.push(e),l.push(t._getVersionSign())})),i?e=function(t,e,n){var i=yo(t),r=i.length,o="";r||co(o);for(var a=0,s=r;a1||n>0&&!t.noHeader;return E(t.blocks,(function(t){var n=Jf(t);n>=e&&(e=n+ +(i&&(!n||Kf(t)&&!t.noHeader)))})),e}return 0}function Qf(t,e,n,i){var r,o=e.noHeader,a=(r=Jf(e),{html:Zf[r],richText:jf[r]}),s=[],l=e.blocks||[];lt(!l||Y(l)),l=l||[];var u=t.orderMode;if(e.sortBlocks&&u){l=l.slice();var h={valueAsc:"asc",valueDesc:"desc"};if(mt(h,u)){var c=new bf(h[u],null);l.sort((function(t,e){return c.evaluate(t.sortParam,e.sortParam)}))}else"seriesDesc"===u&&l.reverse()}E(l,(function(n,r){var o=e.valueFormatter,l=$f(n)(o?A(A({},t),{valueFormatter:o}):t,n,r>0?a.html:0,i);null!=l&&s.push(l)}));var p="richText"===t.renderMode?s.join(a.richText):ng(s.join(""),o?n:a.html);if(o)return p;var d=hp(e.header,"ordinal",t.useUTC),f=Xf(i,t.renderMode).nameStyle;return"richText"===t.renderMode?ig(t,d,f)+a.richText+p:ng('
      '+ee(d)+"
      "+p,n)}function tg(t,e,n,i){var r=t.renderMode,o=e.noName,a=e.noValue,s=!e.markerType,l=e.name,u=t.useUTC,h=e.valueFormatter||t.valueFormatter||function(t){return z(t=Y(t)?t:[t],(function(t,e){return hp(t,Y(d)?d[e]:d,u)}))};if(!o||!a){var c=s?"":t.markupStyleCreator.makeTooltipMarker(e.markerType,e.markerColor||"#333",r),p=o?"":hp(l,"ordinal",u),d=e.valueType,f=a?[]:h(e.value),g=!s||!o,y=!s&&o,v=Xf(i,r),m=v.nameStyle,x=v.valueStyle;return"richText"===r?(s?"":c)+(o?"":ig(t,p,m))+(a?"":function(t,e,n,i,r){var o=[r],a=i?10:20;return n&&o.push({padding:[0,0,0,a],align:"right"}),t.markupStyleCreator.wrapRichTextStyle(Y(e)?e.join(" "):e,o)}(t,f,g,y,x)):ng((s?"":c)+(o?"":function(t,e,n){return''+ee(t)+""}(p,!s,m))+(a?"":function(t,e,n,i){var r=n?"10px":"20px",o=e?"float:right;margin-left:"+r:"";return t=Y(t)?t:[t],''+z(t,(function(t){return ee(t)})).join("  ")+""}(f,g,y,x)),n)}}function eg(t,e,n,i,r,o){if(t)return $f(t)({useUTC:r,renderMode:n,orderMode:i,markupStyleCreator:e,valueFormatter:t.valueFormatter},t,0,o)}function ng(t,e){return'
      '+t+'
      '}function ig(t,e,n){return t.markupStyleCreator.wrapRichTextStyle(e,n)}function rg(t,e){return gp(t.getData().getItemVisual(e,"style")[t.visualDrawType])}function og(t,e){var n=t.get("padding");return null!=n?n:"richText"===e?[8,10]:10}var ag=function(){function t(){this.richTextStyles={},this._nextStyleNameId=so()}return t.prototype._generateStyleName=function(){return"__EC_aUTo_"+this._nextStyleNameId++},t.prototype.makeTooltipMarker=function(t,e,n){var i="richText"===n?this._generateStyleName():null,r=fp({color:e,type:t,renderMode:n,markerId:i});return X(r)?r:(this.richTextStyles[i]=r.style,r.content)},t.prototype.wrapRichTextStyle=function(t,e){var n={};Y(e)?E(e,(function(t){return A(n,t)})):A(n,e);var i=this._generateStyleName();return this.richTextStyles[i]=n,"{"+i+"|"+t+"}"},t}();function sg(t){var e,n,i,r,o=t.series,a=t.dataIndex,s=t.multipleSeries,l=o.getData(),u=l.mapDimensionsAll("defaultedTooltip"),h=u.length,c=o.getRawValue(a),p=Y(c),d=rg(o,a);if(h>1||p&&!h){var f=function(t,e,n,i,r){var o=e.getData(),a=V(t,(function(t,e,n){var i=o.getDimensionInfo(n);return t||i&&!1!==i.tooltip&&null!=i.displayName}),!1),s=[],l=[],u=[];function h(t,e){var n=o.getDimensionInfo(e);n&&!1!==n.otherDims.tooltip&&(a?u.push(qf("nameValue",{markerType:"subItem",markerColor:r,name:n.displayName,value:t,valueType:n.type})):(s.push(t),l.push(n.type)))}return i.length?E(i,(function(t){h(uf(o,n,t),t)})):E(t,h),{inlineValues:s,inlineValueTypes:l,blocks:u}}(c,o,a,u,d);e=f.inlineValues,n=f.inlineValueTypes,i=f.blocks,r=f.inlineValues[0]}else if(h){var g=l.getDimensionInfo(u[0]);r=e=uf(l,a,u[0]),n=g.type}else r=e=p?c[0]:c;var y=Io(o),v=y&&o.name||"",m=l.getName(a),x=s?v:m;return qf("section",{header:v,noHeader:s||!y,sortParam:r,blocks:[qf("nameValue",{markerType:"item",markerColor:d,name:x,noName:!ut(x),value:e,valueType:n})].concat(i||[])})}var lg=Do();function ug(t,e){return t.getName(e)||t.getId(e)}var hg=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._selectedDataIndicesMap={},e}return n(e,t),e.prototype.init=function(t,e,n){this.seriesIndex=this.componentIndex,this.dataTask=df({count:pg,reset:dg}),this.dataTask.context={model:this},this.mergeDefaultAndTheme(t,n),(lg(this).sourceManager=new Wf(this)).prepareSource();var i=this.getInitialData(t,n);gg(i,this),this.dataTask.context.data=i,lg(this).dataBeforeProcessed=i,cg(this),this._initSelectedMapFromData(i)},e.prototype.mergeDefaultAndTheme=function(t,e){var n=Mp(this),i=n?Tp(t):{},r=this.subType;Ap.hasClass(r)&&(r+="Series"),C(t,e.getTheme().get(this.subType)),C(t,this.getDefaultOption()),vo(t,"label",["show"]),this.fillDataTextStyle(t.data),n&&Ip(t,i,n)},e.prototype.mergeOption=function(t,e){t=C(this.option,t,!0),this.fillDataTextStyle(t.data);var n=Mp(this);n&&Ip(this.option,t,n);var i=lg(this).sourceManager;i.dirty(),i.prepareSource();var r=this.getInitialData(t,e);gg(r,this),this.dataTask.dirty(),this.dataTask.context.data=r,lg(this).dataBeforeProcessed=r,cg(this),this._initSelectedMapFromData(r)},e.prototype.fillDataTextStyle=function(t){if(t&&!$(t))for(var e=["show"],n=0;nthis.getShallow("animationThreshold")&&(e=!1),!!e},e.prototype.restoreData=function(){this.dataTask.dirty()},e.prototype.getColorFromPalette=function(t,e,n){var i=this.ecModel,r=id.prototype.getColorFromPalette.call(this,t,e,n);return r||(r=i.getColorFromPalette(t,e,n)),r},e.prototype.coordDimToDataDim=function(t){return this.getRawData().mapDimensionsAll(t)},e.prototype.getProgressive=function(){return this.get("progressive")},e.prototype.getProgressiveThreshold=function(){return this.get("progressiveThreshold")},e.prototype.select=function(t,e){this._innerSelect(this.getData(e),t)},e.prototype.unselect=function(t,e){var n=this.option.selectedMap;if(n){var i=this.option.selectedMode,r=this.getData(e);if("series"===i||"all"===n)return this.option.selectedMap={},void(this._selectedDataIndicesMap={});for(var o=0;o=0&&n.push(r)}return n},e.prototype.isSelected=function(t,e){var n=this.option.selectedMap;if(!n)return!1;var i=this.getData(e);return("all"===n||n[ug(i,t)])&&!i.getItemModel(t).get(["select","disabled"])},e.prototype.isUniversalTransitionEnabled=function(){if(this.__universalTransitionEnabled)return!0;var t=this.option.universalTransition;return!!t&&(!0===t||t&&t.enabled)},e.prototype._innerSelect=function(t,e){var n,i,r=this.option,o=r.selectedMode,a=e.length;if(o&&a)if("series"===o)r.selectedMap="all";else if("multiple"===o){q(r.selectedMap)||(r.selectedMap={});for(var s=r.selectedMap,l=0;l0&&this._innerSelect(t,e)}},e.registerClass=function(t){return Ap.registerClass(t)},e.protoInitialize=function(){var t=e.prototype;t.type="series.__base__",t.seriesIndex=0,t.ignoreStyleOnData=!1,t.hasSymbolVisual=!1,t.defaultSymbol="circle",t.visualStyleAccessPath="itemStyle",t.visualDrawType="fill"}(),e}(Ap);function cg(t){var e=t.name;Io(t)||(t.name=function(t){var e=t.getRawData(),n=e.mapDimensionsAll("seriesName"),i=[];return E(n,(function(t){var n=e.getDimensionInfo(t);n.displayName&&i.push(n.displayName)})),i.join(" ")}(t)||e)}function pg(t){return t.model.getRawData().count()}function dg(t){var e=t.model;return e.setData(e.getRawData().cloneShallow()),fg}function fg(t,e){e.outputData&&t.end>e.outputData.count()&&e.model.getRawData().cloneShallow(e.outputData)}function gg(t,e){E(gt(t.CHANGABLE_METHODS,t.DOWNSAMPLE_METHODS),(function(n){t.wrapMethod(n,H(yg,e))}))}function yg(t,e){var n=vg(t);return n&&n.setOutputEnd((e||this).count()),e}function vg(t){var e=(t.ecModel||{}).scheduler,n=e&&e.getPipeline(t.uid);if(n){var i=n.currentTask;if(i){var r=i.agentStubMap;r&&(i=r.get(t.uid))}return i}}R(hg,cf),R(hg,id),Wo(hg,Ap);var mg=function(){function t(){this.group=new Pr,this.uid=bc("viewComponent")}return t.prototype.init=function(t,e){},t.prototype.render=function(t,e,n,i){},t.prototype.dispose=function(t,e){},t.prototype.updateView=function(t,e,n,i){},t.prototype.updateLayout=function(t,e,n,i){},t.prototype.updateVisual=function(t,e,n,i){},t.prototype.toggleBlurSeries=function(t,e,n){},t.prototype.eachRendered=function(t){var e=this.group;e&&e.traverse(t)},t}();function xg(){var t=Do();return function(e){var n=t(e),i=e.pipelineContext,r=!!n.large,o=!!n.progressiveRender,a=n.large=!(!i||!i.large),s=n.progressiveRender=!(!i||!i.progressiveRender);return!(r===a&&o===s)&&"reset"}}Go(mg),Xo(mg);var _g=Do(),bg=xg(),wg=function(){function t(){this.group=new Pr,this.uid=bc("viewChart"),this.renderTask=df({plan:Ig,reset:Tg}),this.renderTask.context={view:this}}return t.prototype.init=function(t,e){},t.prototype.render=function(t,e,n,i){0},t.prototype.highlight=function(t,e,n,i){var r=t.getData(i&&i.dataType);r&&Mg(r,i,"emphasis")},t.prototype.downplay=function(t,e,n,i){var r=t.getData(i&&i.dataType);r&&Mg(r,i,"normal")},t.prototype.remove=function(t,e){this.group.removeAll()},t.prototype.dispose=function(t,e){},t.prototype.updateView=function(t,e,n,i){this.render(t,e,n,i)},t.prototype.updateLayout=function(t,e,n,i){this.render(t,e,n,i)},t.prototype.updateVisual=function(t,e,n,i){this.render(t,e,n,i)},t.prototype.eachRendered=function(t){Yh(this.group,t)},t.markUpdateMethod=function(t,e){_g(t).updateMethod=e},t.protoInitialize=void(t.prototype.type="chart"),t}();function Sg(t,e,n){t&&Ul(t)&&("emphasis"===e?Il:Tl)(t,n)}function Mg(t,e,n){var i=Co(t,e),r=e&&null!=e.highlightKey?function(t){var e=$s[t];return null==e&&Ks<=32&&(e=$s[t]=Ks++),e}(e.highlightKey):null;null!=i?E(yo(i),(function(e){Sg(t.getItemGraphicEl(e),n,r)})):t.eachItemGraphicEl((function(t){Sg(t,n,r)}))}function Ig(t){return bg(t.model)}function Tg(t){var e=t.model,n=t.ecModel,i=t.api,r=t.payload,o=e.pipelineContext.progressiveRender,a=t.view,s=r&&_g(r).updateMethod,l=o?"incrementalPrepareRender":s&&a[s]?s:"render";return"render"!==l&&a[l](e,n,i,r),Cg[l]}Go(wg),Xo(wg);var Cg={incrementalPrepareRender:{progress:function(t,e){e.view.incrementalRender(t,e.model,e.ecModel,e.api,e.payload)}},render:{forceFirstProgress:!0,progress:function(t,e){e.view.render(e.model,e.ecModel,e.api,e.payload)}}},Dg="\0__throttleOriginMethod",Ag="\0__throttleRate",kg="\0__throttleType";function Lg(t,e,n){var i,r,o,a,s,l=0,u=0,h=null;function c(){u=(new Date).getTime(),h=null,t.apply(o,a||[])}e=e||0;var p=function(){for(var t=[],p=0;p=0?c():h=setTimeout(c,-r),l=i};return p.clear=function(){h&&(clearTimeout(h),h=null)},p.debounceNextCall=function(t){s=t},p}function Pg(t,e,n,i){var r=t[e];if(r){var o=r[Dg]||r,a=r[kg];if(r[Ag]!==n||a!==i){if(null==n||!i)return t[e]=o;(r=t[e]=Lg(o,n,"debounce"===i))[Dg]=o,r[kg]=i,r[Ag]=n}return r}}function Og(t,e){var n=t[e];n&&n[Dg]&&(n.clear&&n.clear(),t[e]=n[Dg])}var Rg=Do(),Ng={itemStyle:Zo(yc,!0),lineStyle:Zo(dc,!0)},Eg={lineStyle:"stroke",itemStyle:"fill"};function zg(t,e){var n=t.visualStyleMapper||Ng[e];return n||(console.warn("Unkown style type '"+e+"'."),Ng.itemStyle)}function Vg(t,e){var n=t.visualDrawType||Eg[e];return n||(console.warn("Unkown style type '"+e+"'."),"fill")}var Bg={createOnAllSeries:!0,performRawSeries:!0,reset:function(t,e){var n=t.getData(),i=t.visualStyleAccessPath||"itemStyle",r=t.getModel(i),o=zg(t,i)(r),a=r.getShallow("decal");a&&(n.setVisual("decal",a),a.dirty=!0);var s=Vg(t,i),l=o[s],u=U(l)?l:null,h="auto"===o.fill||"auto"===o.stroke;if(!o[s]||u||h){var c=t.getColorFromPalette(t.name,null,e.getSeriesCount());o[s]||(o[s]=c,n.setVisual("colorFromPalette",!0)),o.fill="auto"===o.fill||U(o.fill)?c:o.fill,o.stroke="auto"===o.stroke||U(o.stroke)?c:o.stroke}if(n.setVisual("style",o),n.setVisual("drawType",s),!e.isSeriesFiltered(t)&&u)return n.setVisual("colorFromPalette",!1),{dataEach:function(e,n){var i=t.getDataParams(n),r=A({},o);r[s]=u(i),e.setItemVisual(n,"style",r)}}}},Fg=new xc,Gg={createOnAllSeries:!0,performRawSeries:!0,reset:function(t,e){if(!t.ignoreStyleOnData&&!e.isSeriesFiltered(t)){var n=t.getData(),i=t.visualStyleAccessPath||"itemStyle",r=zg(t,i),o=n.getVisual("drawType");return{dataEach:n.hasItemOption?function(t,e){var n=t.getRawDataItem(e);if(n&&n[i]){Fg.option=n[i];var a=r(Fg);A(t.ensureUniqueItemVisual(e,"style"),a),Fg.option.decal&&(t.setItemVisual(e,"decal",Fg.option.decal),Fg.option.decal.dirty=!0),o in a&&t.setItemVisual(e,"colorFromPalette",!1)}}:null}}}},Wg={performRawSeries:!0,overallReset:function(t){var e=ft();t.eachSeries((function(t){var n=t.getColorBy();if(!t.isColorBySeries()){var i=t.type+"-"+n,r=e.get(i);r||(r={},e.set(i,r)),Rg(t).scope=r}})),t.eachSeries((function(e){if(!e.isColorBySeries()&&!t.isSeriesFiltered(e)){var n=e.getRawData(),i={},r=e.getData(),o=Rg(e).scope,a=e.visualStyleAccessPath||"itemStyle",s=Vg(e,a);r.each((function(t){var e=r.getRawIndex(t);i[e]=t})),n.each((function(t){var a=i[t];if(r.getItemVisual(a,"colorFromPalette")){var l=r.ensureUniqueItemVisual(a,"style"),u=n.getName(t)||t+"",h=n.count();l[s]=e.getColorFromPalette(u,o,h)}}))}}))}},Hg=Math.PI;var Yg=function(){function t(t,e,n,i){this._stageTaskMap=ft(),this.ecInstance=t,this.api=e,n=this._dataProcessorHandlers=n.slice(),i=this._visualHandlers=i.slice(),this._allHandlers=n.concat(i)}return t.prototype.restoreData=function(t,e){t.restoreData(e),this._stageTaskMap.each((function(t){var e=t.overallTask;e&&e.dirty()}))},t.prototype.getPerformArgs=function(t,e){if(t.__pipeline){var n=this._pipelineMap.get(t.__pipeline.id),i=n.context,r=!e&&n.progressiveEnabled&&(!i||i.progressiveRender)&&t.__idxInPipeline>n.blockIndex?n.step:null,o=i&&i.modDataCount;return{step:r,modBy:null!=o?Math.ceil(o/r):null,modDataCount:o}}},t.prototype.getPipeline=function(t){return this._pipelineMap.get(t)},t.prototype.updateStreamModes=function(t,e){var n=this._pipelineMap.get(t.uid),i=t.getData().count(),r=n.progressiveEnabled&&e.incrementalPrepareRender&&i>=n.threshold,o=t.get("large")&&i>=t.get("largeThreshold"),a="mod"===t.get("progressiveChunkMode")?i:null;t.pipelineContext=n.context={progressiveRender:r,modDataCount:a,large:o}},t.prototype.restorePipelines=function(t){var e=this,n=e._pipelineMap=ft();t.eachSeries((function(t){var i=t.getProgressive(),r=t.uid;n.set(r,{id:r,head:null,tail:null,threshold:t.getProgressiveThreshold(),progressiveEnabled:i&&!(t.preventIncremental&&t.preventIncremental()),blockIndex:-1,step:Math.round(i||700),count:0}),e._pipe(t,t.dataTask)}))},t.prototype.prepareStageTasks=function(){var t=this._stageTaskMap,e=this.api.getModel(),n=this.api;E(this._allHandlers,(function(i){var r=t.get(i.uid)||t.set(i.uid,{}),o="";lt(!(i.reset&&i.overallReset),o),i.reset&&this._createSeriesStageTask(i,r,e,n),i.overallReset&&this._createOverallStageTask(i,r,e,n)}),this)},t.prototype.prepareView=function(t,e,n,i){var r=t.renderTask,o=r.context;o.model=e,o.ecModel=n,o.api=i,r.__block=!t.incrementalPrepareRender,this._pipe(e,r)},t.prototype.performDataProcessorTasks=function(t,e){this._performStageTasks(this._dataProcessorHandlers,t,e,{block:!0})},t.prototype.performVisualTasks=function(t,e,n){this._performStageTasks(this._visualHandlers,t,e,n)},t.prototype._performStageTasks=function(t,e,n,i){i=i||{};var r=!1,o=this;function a(t,e){return t.setDirty&&(!t.dirtyMap||t.dirtyMap.get(e.__pipeline.id))}E(t,(function(t,s){if(!i.visualType||i.visualType===t.visualType){var l=o._stageTaskMap.get(t.uid),u=l.seriesTaskMap,h=l.overallTask;if(h){var c,p=h.agentStubMap;p.each((function(t){a(i,t)&&(t.dirty(),c=!0)})),c&&h.dirty(),o.updatePayload(h,n);var d=o.getPerformArgs(h,i.block);p.each((function(t){t.perform(d)})),h.perform(d)&&(r=!0)}else u&&u.each((function(s,l){a(i,s)&&s.dirty();var u=o.getPerformArgs(s,i.block);u.skip=!t.performRawSeries&&e.isSeriesFiltered(s.context.model),o.updatePayload(s,n),s.perform(u)&&(r=!0)}))}})),this.unfinished=r||this.unfinished},t.prototype.performSeriesTasks=function(t){var e;t.eachSeries((function(t){e=t.dataTask.perform()||e})),this.unfinished=e||this.unfinished},t.prototype.plan=function(){this._pipelineMap.each((function(t){var e=t.tail;do{if(e.__block){t.blockIndex=e.__idxInPipeline;break}e=e.getUpstream()}while(e)}))},t.prototype.updatePayload=function(t,e){"remain"!==e&&(t.context.payload=e)},t.prototype._createSeriesStageTask=function(t,e,n,i){var r=this,o=e.seriesTaskMap,a=e.seriesTaskMap=ft(),s=t.seriesType,l=t.getTargetSeries;function u(e){var s=e.uid,l=a.set(s,o&&o.get(s)||df({plan:qg,reset:Kg,count:Qg}));l.context={model:e,ecModel:n,api:i,useClearVisual:t.isVisual&&!t.isLayout,plan:t.plan,reset:t.reset,scheduler:r},r._pipe(e,l)}t.createOnAllSeries?n.eachRawSeries(u):s?n.eachRawSeriesByType(s,u):l&&l(n,i).each(u)},t.prototype._createOverallStageTask=function(t,e,n,i){var r=this,o=e.overallTask=e.overallTask||df({reset:Ug});o.context={ecModel:n,api:i,overallReset:t.overallReset,scheduler:r};var a=o.agentStubMap,s=o.agentStubMap=ft(),l=t.seriesType,u=t.getTargetSeries,h=!0,c=!1,p="";function d(t){var e=t.uid,n=s.set(e,a&&a.get(e)||(c=!0,df({reset:Xg,onDirty:jg})));n.context={model:t,overallProgress:h},n.agent=o,n.__block=h,r._pipe(t,n)}lt(!t.createOnAllSeries,p),l?n.eachRawSeriesByType(l,d):u?u(n,i).each(d):(h=!1,E(n.getSeries(),d)),c&&o.dirty()},t.prototype._pipe=function(t,e){var n=t.uid,i=this._pipelineMap.get(n);!i.head&&(i.head=e),i.tail&&i.tail.pipe(e),i.tail=e,e.__idxInPipeline=i.count++,e.__pipeline=i},t.wrapStageHandler=function(t,e){return U(t)&&(t={overallReset:t,seriesType:ty(t)}),t.uid=bc("stageHandler"),e&&(t.visualType=e),t},t}();function Ug(t){t.overallReset(t.ecModel,t.api,t.payload)}function Xg(t){return t.overallProgress&&Zg}function Zg(){this.agent.dirty(),this.getDownstream().dirty()}function jg(){this.agent&&this.agent.dirty()}function qg(t){return t.plan?t.plan(t.model,t.ecModel,t.api,t.payload):null}function Kg(t){t.useClearVisual&&t.data.clearAllVisual();var e=t.resetDefines=yo(t.reset(t.model,t.ecModel,t.api,t.payload));return e.length>1?z(e,(function(t,e){return Jg(e)})):$g}var $g=Jg(0);function Jg(t){return function(e,n){var i=n.data,r=n.resetDefines[t];if(r&&r.dataEach)for(var o=e.start;o0&&h===r.length-u.length){var c=r.slice(0,h);"data"!==c&&(e.mainType=c,e[u.toLowerCase()]=t,s=!0)}}a.hasOwnProperty(r)&&(n[r]=t,s=!0),s||(i[r]=t)}))}return{cptQuery:e,dataQuery:n,otherQuery:i}},t.prototype.filter=function(t,e){var n=this.eventInfo;if(!n)return!0;var i=n.targetEl,r=n.packedEvent,o=n.model,a=n.view;if(!o||!a)return!0;var s=e.cptQuery,l=e.dataQuery;return u(s,o,"mainType")&&u(s,o,"subType")&&u(s,o,"index","componentIndex")&&u(s,o,"name")&&u(s,o,"id")&&u(l,r,"name")&&u(l,r,"dataIndex")&&u(l,r,"dataType")&&(!a.filterForExposedEvent||a.filterForExposedEvent(t,e.otherQuery,i,r));function u(t,e,n,i){return null==t[n]||e[i||n]===t[n]}},t.prototype.afterTrigger=function(){this.eventInfo=null},t}(),dy=["symbol","symbolSize","symbolRotate","symbolOffset"],fy=dy.concat(["symbolKeepAspect"]),gy={createOnAllSeries:!0,performRawSeries:!0,reset:function(t,e){var n=t.getData();if(t.legendIcon&&n.setVisual("legendIcon",t.legendIcon),t.hasSymbolVisual){for(var i={},r={},o=!1,a=0;a=0&&zy(l)?l:.5,t.createRadialGradient(a,s,0,a,s,l)}(t,e,n):function(t,e,n){var i=null==e.x?0:e.x,r=null==e.x2?1:e.x2,o=null==e.y?0:e.y,a=null==e.y2?0:e.y2;return e.global||(i=i*n.width+n.x,r=r*n.width+n.x,o=o*n.height+n.y,a=a*n.height+n.y),i=zy(i)?i:0,r=zy(r)?r:1,o=zy(o)?o:0,a=zy(a)?a:0,t.createLinearGradient(i,o,r,a)}(t,e,n),r=e.colorStops,o=0;o0&&(e=i.lineDash,n=i.lineWidth,e&&"solid"!==e&&n>0?"dashed"===e?[4*n,2*n]:"dotted"===e?[n]:j(e)?[e]:Y(e)?e:null:null),o=i.lineDashOffset;if(r){var a=i.strokeNoScale&&t.getLineScale?t.getLineScale():1;a&&1!==a&&(r=z(r,(function(t){return t/a})),o/=a)}return[r,o]}var Wy=new ts(!0);function Hy(t){var e=t.stroke;return!(null==e||"none"===e||!(t.lineWidth>0))}function Yy(t){return"string"==typeof t&&"none"!==t}function Uy(t){var e=t.fill;return null!=e&&"none"!==e}function Xy(t,e){if(null!=e.fillOpacity&&1!==e.fillOpacity){var n=t.globalAlpha;t.globalAlpha=e.fillOpacity*e.opacity,t.fill(),t.globalAlpha=n}else t.fill()}function Zy(t,e){if(null!=e.strokeOpacity&&1!==e.strokeOpacity){var n=t.globalAlpha;t.globalAlpha=e.strokeOpacity*e.opacity,t.stroke(),t.globalAlpha=n}else t.stroke()}function jy(t,e,n){var i=Jo(e.image,e.__image,n);if(ta(i)){var r=t.createPattern(i,e.repeat||"repeat");if("function"==typeof DOMMatrix&&r&&r.setTransform){var o=new DOMMatrix;o.translateSelf(e.x||0,e.y||0),o.rotateSelf(0,0,(e.rotation||0)*_t),o.scaleSelf(e.scaleX||1,e.scaleY||1),r.setTransform(o)}return r}}var qy=["shadowBlur","shadowOffsetX","shadowOffsetY"],Ky=[["lineCap","butt"],["lineJoin","miter"],["miterLimit",10]];function $y(t,e,n,i,r){var o=!1;if(!i&&e===(n=n||{}))return!1;if(i||e.opacity!==n.opacity){tv(t,r),o=!0;var a=Math.max(Math.min(e.opacity,1),0);t.globalAlpha=isNaN(a)?fa.opacity:a}(i||e.blend!==n.blend)&&(o||(tv(t,r),o=!0),t.globalCompositeOperation=e.blend||fa.blend);for(var s=0;s0&&t.unfinished);t.unfinished||this._zr.flush()}}},e.prototype.getDom=function(){return this._dom},e.prototype.getId=function(){return this.id},e.prototype.getZr=function(){return this._zr},e.prototype.isSSR=function(){return this._ssr},e.prototype.setOption=function(t,e,n){if(!this.__flagInMainProcess)if(this._disposed)Xv(this.id);else{var i,r,o;if(q(e)&&(n=e.lazyUpdate,i=e.silent,r=e.replaceMerge,o=e.transition,e=e.notMerge),this.__flagInMainProcess=!0,!this._model||e){var a=new gd(this._api),s=this._theme,l=this._model=new ad;l.scheduler=this._scheduler,l.ssr=this._ssr,l.init(null,null,null,s,this._locale,a)}this._model.setOption(t,{replaceMerge:r},Kv);var u={seriesTransition:o,optionChanged:!0};if(n)this.__pendingUpdate={silent:i,updateParams:u},this.__flagInMainProcess=!1,this.getZr().wakeUp();else{try{Sv(this),Tv.update.call(this,null,u)}catch(t){throw this.__pendingUpdate=null,this.__flagInMainProcess=!1,t}this._ssr||this._zr.flush(),this.__pendingUpdate=null,this.__flagInMainProcess=!1,kv.call(this,i),Lv.call(this,i)}}},e.prototype.setTheme=function(){ho()},e.prototype.getModel=function(){return this._model},e.prototype.getOption=function(){return this._model&&this._model.getOption()},e.prototype.getWidth=function(){return this._zr.getWidth()},e.prototype.getHeight=function(){return this._zr.getHeight()},e.prototype.getDevicePixelRatio=function(){return this._zr.painter.dpr||fv&&window.devicePixelRatio||1},e.prototype.getRenderedCanvas=function(t){return this.renderToCanvas(t)},e.prototype.renderToCanvas=function(t){t=t||{};var e=this._zr.painter;return e.getRenderedCanvas({backgroundColor:t.backgroundColor||this._model.get("backgroundColor"),pixelRatio:t.pixelRatio||this.getDevicePixelRatio()})},e.prototype.renderToSVGString=function(t){t=t||{};var e=this._zr.painter;return e.renderToString({useViewBox:t.useViewBox})},e.prototype.getSvgDataURL=function(){if(r.svgSupported){var t=this._zr;return E(t.storage.getDisplayList(),(function(t){t.stopAnimation(null,!0)})),t.painter.toDataURL()}},e.prototype.getDataURL=function(t){if(!this._disposed){var e=(t=t||{}).excludeComponents,n=this._model,i=[],r=this;E(e,(function(t){n.eachComponent({mainType:t},(function(t){var e=r._componentsMap[t.__viewId];e.group.ignore||(i.push(e),e.group.ignore=!0)}))}));var o="svg"===this._zr.painter.getType()?this.getSvgDataURL():this.renderToCanvas(t).toDataURL("image/"+(t&&t.type||"png"));return E(i,(function(t){t.group.ignore=!1})),o}Xv(this.id)},e.prototype.getConnectedDataURL=function(t){if(!this._disposed){var e="svg"===t.type,n=this.group,i=Math.min,r=Math.max,o=1/0;if(em[n]){var a=o,s=o,l=-1/0,u=-1/0,c=[],p=t&&t.pixelRatio||this.getDevicePixelRatio();E(tm,(function(o,h){if(o.group===n){var p=e?o.getZr().painter.getSvgDom().innerHTML:o.renderToCanvas(T(t)),d=o.getDom().getBoundingClientRect();a=i(d.left,a),s=i(d.top,s),l=r(d.right,l),u=r(d.bottom,u),c.push({dom:p,left:d.left,top:d.top})}}));var d=(l*=p)-(a*=p),f=(u*=p)-(s*=p),g=h.createCanvas(),y=Er(g,{renderer:e?"svg":"canvas"});if(y.resize({width:d,height:f}),e){var v="";return E(c,(function(t){var e=t.left-a,n=t.top-s;v+=''+t.dom+""})),y.painter.getSvgRoot().innerHTML=v,t.connectedBackgroundColor&&y.painter.setBackgroundColor(t.connectedBackgroundColor),y.refreshImmediately(),y.painter.toDataURL()}return t.connectedBackgroundColor&&y.add(new Ps({shape:{x:0,y:0,width:d,height:f},style:{fill:t.connectedBackgroundColor}})),E(c,(function(t){var e=new Is({style:{x:t.left*p-a,y:t.top*p-s,image:t.dom}});y.add(e)})),y.refreshImmediately(),g.toDataURL("image/"+(t&&t.type||"png"))}return this.getDataURL(t)}Xv(this.id)},e.prototype.convertToPixel=function(t,e){return Cv(this,"convertToPixel",t,e)},e.prototype.convertFromPixel=function(t,e){return Cv(this,"convertFromPixel",t,e)},e.prototype.containPixel=function(t,e){var n;if(!this._disposed)return E(ko(this._model,t),(function(t,i){i.indexOf("Models")>=0&&E(t,(function(t){var r=t.coordinateSystem;if(r&&r.containPoint)n=n||!!r.containPoint(e);else if("seriesModels"===i){var o=this._chartsMap[t.__viewId];o&&o.containPoint&&(n=n||o.containPoint(e,t))}else 0}),this)}),this),!!n;Xv(this.id)},e.prototype.getVisual=function(t,e){var n=ko(this._model,t,{defaultMainType:"series"}),i=n.seriesModel;var r=i.getData(),o=n.hasOwnProperty("dataIndexInside")?n.dataIndexInside:n.hasOwnProperty("dataIndex")?r.indexOfRawIndex(n.dataIndex):null;return null!=o?vy(r,o,e):my(r,e)},e.prototype.getViewOfComponentModel=function(t){return this._componentsMap[t.__viewId]},e.prototype.getViewOfSeriesModel=function(t){return this._chartsMap[t.__viewId]},e.prototype._initEvents=function(){var t,e,n,i=this;E(Uv,(function(t){var e=function(e){var n,r=i.getModel(),o=e.target,a="globalout"===t;if(a?n={}:o&&wy(o,(function(t){var e=js(t);if(e&&null!=e.dataIndex){var i=e.dataModel||r.getSeriesByIndex(e.seriesIndex);return n=i&&i.getDataParams(e.dataIndex,e.dataType)||{},!0}if(e.eventData)return n=A({},e.eventData),!0}),!0),n){var s=n.componentType,l=n.componentIndex;"markLine"!==s&&"markPoint"!==s&&"markArea"!==s||(s="series",l=n.seriesIndex);var u=s&&null!=l&&r.getComponent(s,l),h=u&&i["series"===u.mainType?"_chartsMap":"_componentsMap"][u.__viewId];0,n.event=e,n.type=t,i._$eventProcessor.eventInfo={targetEl:o,packedEvent:n,model:u,view:h},i.trigger(t,n)}};e.zrEventfulCallAtLast=!0,i._zr.on(t,e,i)})),E(jv,(function(t,e){i._messageCenter.on(e,(function(t){this.trigger(e,t)}),i)})),E(["selectchanged"],(function(t){i._messageCenter.on(t,(function(e){this.trigger(t,e)}),i)})),t=this._messageCenter,e=this,n=this._api,t.on("selectchanged",(function(t){var i=n.getModel();t.isFromClick?(by("map","selectchanged",e,i,t),by("pie","selectchanged",e,i,t)):"select"===t.fromAction?(by("map","selected",e,i,t),by("pie","selected",e,i,t)):"unselect"===t.fromAction&&(by("map","unselected",e,i,t),by("pie","unselected",e,i,t))}))},e.prototype.isDisposed=function(){return this._disposed},e.prototype.clear=function(){this._disposed?Xv(this.id):this.setOption({series:[]},!0)},e.prototype.dispose=function(){if(this._disposed)Xv(this.id);else{this._disposed=!0,this.getDom()&&No(this.getDom(),rm,"");var t=this,e=t._api,n=t._model;E(t._componentsViews,(function(t){t.dispose(n,e)})),E(t._chartsViews,(function(t){t.dispose(n,e)})),t._zr.dispose(),t._dom=t._model=t._chartsMap=t._componentsMap=t._chartsViews=t._componentsViews=t._scheduler=t._api=t._zr=t._throttledZrFlush=t._theme=t._coordSysMgr=t._messageCenter=null,delete tm[t.id]}},e.prototype.resize=function(t){if(!this.__flagInMainProcess)if(this._disposed)Xv(this.id);else{this._zr.resize(t);var e=this._model;if(this._loadingFX&&this._loadingFX.resize(),e){var n=e.resetOption("media"),i=t&&t.silent;this.__pendingUpdate&&(null==i&&(i=this.__pendingUpdate.silent),n=!0,this.__pendingUpdate=null),this.__flagInMainProcess=!0;try{n&&Sv(this),Tv.update.call(this,{type:"resize",animation:A({duration:0},t&&t.animation)})}catch(t){throw this.__flagInMainProcess=!1,t}this.__flagInMainProcess=!1,kv.call(this,i),Lv.call(this,i)}}},e.prototype.showLoading=function(t,e){if(this._disposed)Xv(this.id);else if(q(t)&&(e=t,t=""),t=t||"default",this.hideLoading(),Qv[t]){var n=Qv[t](this._api,e),i=this._zr;this._loadingFX=n,i.add(n)}},e.prototype.hideLoading=function(){this._disposed?Xv(this.id):(this._loadingFX&&this._zr.remove(this._loadingFX),this._loadingFX=null)},e.prototype.makeActionFromEvent=function(t){var e=A({},t);return e.type=jv[t.type],e},e.prototype.dispatchAction=function(t,e){if(this._disposed)Xv(this.id);else if(q(e)||(e={silent:!!e}),Zv[t.type]&&this._model)if(this.__flagInMainProcess)this._pendingActions.push(t);else{var n=e.silent;Av.call(this,t,n);var i=e.flush;i?this._zr.flush():!1!==i&&r.browser.weChat&&this._throttledZrFlush(),kv.call(this,n),Lv.call(this,n)}},e.prototype.updateLabelLayout=function(){cv.trigger("series:layoutlabels",this._model,this._api,{updatedSeries:[]})},e.prototype.appendData=function(t){if(this._disposed)Xv(this.id);else{var e=t.seriesIndex,n=this.getModel().getSeriesByIndex(e);0,n.appendData(t),this._scheduler.unfinished=!0,this.getZr().wakeUp()}},e.internalField=function(){function t(t){t.clearColorPalette(),t.eachSeries((function(t){t.clearColorPalette()}))}function e(t){for(var e=[],n=t.currentStates,i=0;i0?{duration:o,delay:i.get("delay"),easing:i.get("easing")}:null;n.eachRendered((function(t){if(t.states&&t.states.emphasis){if(ch(t))return;if(t instanceof _s&&function(t){var e=Js(t);e.normalFill=t.style.fill,e.normalStroke=t.style.stroke;var n=t.states.select||{};e.selectFill=n.style&&n.style.fill||null,e.selectStroke=n.style&&n.style.stroke||null}(t),t.__dirty){var n=t.prevStates;n&&t.useStates(n)}if(r){t.stateTransition=a;var i=t.getTextContent(),o=t.getTextGuideLine();i&&(i.stateTransition=a),o&&(o.stateTransition=a)}t.__dirty&&e(t)}}))}Sv=function(t){var e=t._scheduler;e.restorePipelines(t._model),e.prepareStageTasks(),Mv(t,!0),Mv(t,!1),e.plan()},Mv=function(t,e){for(var n=t._model,i=t._scheduler,r=e?t._componentsViews:t._chartsViews,o=e?t._componentsMap:t._chartsMap,a=t._zr,s=t._api,l=0;le.get("hoverLayerThreshold")&&!r.node&&!r.worker&&e.eachSeries((function(e){if(!e.preventUsingHoverLayer){var n=t._chartsMap[e.__viewId];n.__alive&&n.eachRendered((function(t){t.states.emphasis&&(t.states.emphasis.hoverLayer=!0)}))}}))}(t,e),cv.trigger("series:afterupdate",e,n,l)},Bv=function(t){t.__needsUpdateStatus=!0,t.getZr().wakeUp()},Fv=function(t){t.__needsUpdateStatus&&(t.getZr().storage.traverse((function(t){ch(t)||e(t)})),t.__needsUpdateStatus=!1)},zv=function(t){return new(function(e){function i(){return null!==e&&e.apply(this,arguments)||this}return n(i,e),i.prototype.getCoordinateSystems=function(){return t._coordSysMgr.getCoordinateSystems()},i.prototype.getComponentByElement=function(e){for(;e;){var n=e.__ecComponentInfo;if(null!=n)return t._model.getComponent(n.mainType,n.index);e=e.parent}},i.prototype.enterEmphasis=function(e,n){Il(e,n),Bv(t)},i.prototype.leaveEmphasis=function(e,n){Tl(e,n),Bv(t)},i.prototype.enterBlur=function(e){Cl(e),Bv(t)},i.prototype.leaveBlur=function(e){Dl(e),Bv(t)},i.prototype.enterSelect=function(e){Al(e),Bv(t)},i.prototype.leaveSelect=function(e){kl(e),Bv(t)},i.prototype.getModel=function(){return t.getModel()},i.prototype.getViewOfComponentModel=function(e){return t.getViewOfComponentModel(e)},i.prototype.getViewOfSeriesModel=function(e){return t.getViewOfSeriesModel(e)},i}(cd))(t)},Vv=function(t){function e(t,e){for(var n=0;n=0)){mm.push(n);var o=Yg.wrapStageHandler(n,r);o.__prio=e,o.__raw=n,t.push(o)}}function _m(t,e){Qv[t]=e}function bm(t,e,n){var i=dv("registerMap");i&&i(t,e,n)}var wm=function(t){var e=(t=T(t)).type,n="";e||co(n);var i=e.split(":");2!==i.length&&co(n);var r=!1;"echarts"===i[0]&&(e=i[1],r=!0),t.__isBuiltIn=r,Af.set(e,t)};vm(gv,Bg),vm(yv,Gg),vm(yv,Wg),vm(gv,gy),vm(yv,yy),vm(7e3,(function(t,e){t.eachRawSeries((function(n){if(!t.isSeriesFiltered(n)){var i=n.getData();i.hasItemVisual()&&i.each((function(t){var n=i.getItemVisual(t,"decal");n&&(i.ensureUniqueItemVisual(t,"style").decal=sv(n,e))}));var r=i.getVisual("decal");if(r)i.getVisual("style").decal=sv(r,e)}}))})),um(Ed),hm(900,(function(t){var e=ft();t.eachSeries((function(t){var n=t.get("stack");if(n){var i=e.get(n)||e.set(n,[]),r=t.getData(),o={stackResultDimension:r.getCalculationInfo("stackResultDimension"),stackedOverDimension:r.getCalculationInfo("stackedOverDimension"),stackedDimension:r.getCalculationInfo("stackedDimension"),stackedByDimension:r.getCalculationInfo("stackedByDimension"),isStackedByIndex:r.getCalculationInfo("isStackedByIndex"),data:r,seriesModel:t};if(!o.stackedDimension||!o.isStackedByIndex&&!o.stackedByDimension)return;i.length&&r.setCalculationInfo("stackedOnSeries",i[i.length-1].seriesModel),i.push(o)}})),e.each(zd)})),_m("default",(function(t,e){k(e=e||{},{text:"loading",textColor:"#000",fontSize:12,fontWeight:"normal",fontStyle:"normal",fontFamily:"sans-serif",maskColor:"rgba(255, 255, 255, 0.8)",showSpinner:!0,color:"#5470c6",spinnerRadius:10,lineWidth:5,zlevel:0});var n=new Pr,i=new Ps({style:{fill:e.maskColor},zlevel:e.zlevel,z:1e4});n.add(i);var r,o=new Ns({style:{text:e.text,fill:e.textColor,fontSize:e.fontSize,fontWeight:e.fontWeight,fontStyle:e.fontStyle,fontFamily:e.fontFamily},zlevel:e.zlevel,z:10001}),a=new Ps({style:{fill:"none"},textContent:o,textConfig:{position:"right",distance:10},zlevel:e.zlevel,z:10001});return n.add(a),e.showSpinner&&((r=new ju({shape:{startAngle:-Hg/2,endAngle:-Hg/2+.1,r:e.spinnerRadius},style:{stroke:e.color,lineCap:"round",lineWidth:e.lineWidth},zlevel:e.zlevel,z:10001})).animateShape(!0).when(1e3,{endAngle:3*Hg/2}).start("circularInOut"),r.animateShape(!0).when(1e3,{startAngle:3*Hg/2}).delay(300).start("circularInOut"),n.add(r)),n.resize=function(){var n=o.getBoundingRect().width,s=e.showSpinner?e.spinnerRadius:0,l=(t.getWidth()-2*s-(e.showSpinner&&n?10:0)-n)/2-(e.showSpinner&&n?0:5+n/2)+(e.showSpinner?0:n/2)+(n?0:s),u=t.getHeight()/2;e.showSpinner&&r.setShape({cx:l,cy:u}),a.setShape({x:l-s,y:u-s,width:2*s,height:2*s}),i.setShape({x:0,y:0,width:t.getWidth(),height:t.getHeight()})},n.resize(),n})),fm({type:il,event:il,update:il},xt),fm({type:rl,event:rl,update:rl},xt),fm({type:ol,event:ol,update:ol},xt),fm({type:al,event:al,update:al},xt),fm({type:sl,event:sl,update:sl},xt),lm("light",ay),lm("dark",cy);var Sm=[],Mm={registerPreprocessor:um,registerProcessor:hm,registerPostInit:cm,registerPostUpdate:pm,registerUpdateLifecycle:dm,registerAction:fm,registerCoordinateSystem:gm,registerLayout:ym,registerVisual:vm,registerTransform:wm,registerLoading:_m,registerMap:bm,registerImpl:function(t,e){pv[t]=e},PRIORITY:vv,ComponentModel:Ap,ComponentView:mg,SeriesModel:hg,ChartView:wg,registerComponentModel:function(t){Ap.registerClass(t)},registerComponentView:function(t){mg.registerClass(t)},registerSeriesModel:function(t){hg.registerClass(t)},registerChartView:function(t){wg.registerClass(t)},registerSubTypeDefaulter:function(t,e){Ap.registerSubTypeDefaulter(t,e)},registerPainter:function(t,e){zr(t,e)}};function Im(t){Y(t)?E(t,(function(t){Im(t)})):P(Sm,t)>=0||(Sm.push(t),U(t)&&(t={install:t}),t.install(Mm))}function Tm(t){return null==t?0:t.length||1}function Cm(t){return t}var Dm=function(){function t(t,e,n,i,r,o){this._old=t,this._new=e,this._oldKeyGetter=n||Cm,this._newKeyGetter=i||Cm,this.context=r,this._diffModeMultiple="multiple"===o}return t.prototype.add=function(t){return this._add=t,this},t.prototype.update=function(t){return this._update=t,this},t.prototype.updateManyToOne=function(t){return this._updateManyToOne=t,this},t.prototype.updateOneToMany=function(t){return this._updateOneToMany=t,this},t.prototype.updateManyToMany=function(t){return this._updateManyToMany=t,this},t.prototype.remove=function(t){return this._remove=t,this},t.prototype.execute=function(){this[this._diffModeMultiple?"_executeMultiple":"_executeOneToOne"]()},t.prototype._executeOneToOne=function(){var t=this._old,e=this._new,n={},i=new Array(t.length),r=new Array(e.length);this._initIndexMap(t,null,i,"_oldKeyGetter"),this._initIndexMap(e,n,r,"_newKeyGetter");for(var o=0;o1){var u=s.shift();1===s.length&&(n[a]=s[0]),this._update&&this._update(u,o)}else 1===l?(n[a]=null,this._update&&this._update(s,o)):this._remove&&this._remove(o)}this._performRestAdd(r,n)},t.prototype._executeMultiple=function(){var t=this._old,e=this._new,n={},i={},r=[],o=[];this._initIndexMap(t,n,r,"_oldKeyGetter"),this._initIndexMap(e,i,o,"_newKeyGetter");for(var a=0;a1&&1===c)this._updateManyToOne&&this._updateManyToOne(u,l),i[s]=null;else if(1===h&&c>1)this._updateOneToMany&&this._updateOneToMany(u,l),i[s]=null;else if(1===h&&1===c)this._update&&this._update(u,l),i[s]=null;else if(h>1&&c>1)this._updateManyToMany&&this._updateManyToMany(u,l),i[s]=null;else if(h>1)for(var p=0;p1)for(var a=0;a30}var Fm,Gm,Wm,Hm,Ym,Um,Xm,Zm=q,jm=z,qm="undefined"==typeof Int32Array?Array:Int32Array,Km=["hasItemOption","_nameList","_idList","_invertedIndicesMap","_dimSummary","userOutput","_rawData","_dimValueGetter","_nameDimIdx","_idDimIdx","_nameRepeatCount"],$m=["_approximateExtent"],Jm=function(){function t(t,e){var n;this.type="list",this._dimOmitted=!1,this._nameList=[],this._idList=[],this._visual={},this._layout={},this._itemVisuals=[],this._itemLayouts=[],this._graphicEls=[],this._approximateExtent={},this._calculationInfo={},this.hasItemOption=!1,this.TRANSFERABLE_METHODS=["cloneShallow","downSample","lttbDownSample","map"],this.CHANGABLE_METHODS=["filterSelf","selectRange"],this.DOWNSAMPLE_METHODS=["downSample","lttbDownSample"];var i=!1;Em(t)?(n=t.dimensions,this._dimOmitted=t.isDimensionOmitted(),this._schema=t):(i=!0,n=t),n=n||["x","y"];for(var r={},o=[],a={},s=!1,l={},u=0;u=e)){var n=this._store.getProvider();this._updateOrdinalMeta();var i=this._nameList,r=this._idList;if(n.getSource().sourceFormat===Rp&&!n.pure)for(var o=[],a=t;a0},t.prototype.ensureUniqueItemVisual=function(t,e){var n=this._itemVisuals,i=n[t];i||(i=n[t]={});var r=i[e];return null==r&&(Y(r=this.getVisual(e))?r=r.slice():Zm(r)&&(r=A({},r)),i[e]=r),r},t.prototype.setItemVisual=function(t,e,n){var i=this._itemVisuals[t]||{};this._itemVisuals[t]=i,Zm(e)?A(i,e):i[e]=n},t.prototype.clearAllVisual=function(){this._visual={},this._itemVisuals=[]},t.prototype.setLayout=function(t,e){Zm(t)?A(this._layout,t):this._layout[t]=e},t.prototype.getLayout=function(t){return this._layout[t]},t.prototype.getItemLayout=function(t){return this._itemLayouts[t]},t.prototype.setItemLayout=function(t,e,n){this._itemLayouts[t]=n?A(this._itemLayouts[t]||{},e):e},t.prototype.clearItemLayouts=function(){this._itemLayouts.length=0},t.prototype.setItemGraphicEl=function(t,e){var n=this.hostModel&&this.hostModel.seriesIndex;qs(n,this.dataType,t,e),this._graphicEls[t]=e},t.prototype.getItemGraphicEl=function(t){return this._graphicEls[t]},t.prototype.eachItemGraphicEl=function(t,e){E(this._graphicEls,(function(n,i){n&&t&&t.call(e,n,i)}))},t.prototype.cloneShallow=function(e){return e||(e=new t(this._schema?this._schema:jm(this.dimensions,this._getDimInfo,this),this.hostModel)),Ym(e,this),e._store=this._store,e},t.prototype.wrapMethod=function(t,e){var n=this[t];U(n)&&(this.__wrappedMethods=this.__wrappedMethods||[],this.__wrappedMethods.push(t),this[t]=function(){var t=n.apply(this,arguments);return e.apply(this,[t].concat(at(arguments)))})},t.internalField=(Fm=function(t){var e=t._invertedIndicesMap;E(e,(function(n,i){var r=t._dimInfos[i],o=r.ordinalMeta,a=t._store;if(o){n=e[i]=new qm(o.categories.length);for(var s=0;s1&&(s+="__ec__"+u),i[e]=s}})),t}();function Qm(t,e){Yd(t)||(t=Xd(t));var n=(e=e||{}).coordDimensions||[],i=e.dimensionsDefine||t.dimensionsDefine||[],r=ft(),o=[],a=function(t,e,n,i){var r=Math.max(t.dimensionsDetectedCount||1,e.length,n.length,i||0);return E(e,(function(t){var e;q(t)&&(e=t.dimsDef)&&(r=Math.max(r,e.length))})),r}(t,n,i,e.dimensionsCount),s=e.canOmitUnusedDimensions&&Bm(a),l=i===t.dimensionsDefine,u=l?Vm(t):zm(i),h=e.encodeDefine;!h&&e.encodeDefaulter&&(h=e.encodeDefaulter(t,a));for(var c=ft(h),p=new Ef(a),d=0;d0&&(i.name=r+(o-1)),o++,e.set(r,o)}}(o),new Nm({source:t,dimensions:o,fullDimensionCount:a,dimensionOmitted:s})}function tx(t,e,n){var i=e.data;if(n||i.hasOwnProperty(t)){for(var r=0;i.hasOwnProperty(t+r);)r++;t+=r}return e.set(t,!0),t}var ex=function(t){this.coordSysDims=[],this.axisMap=ft(),this.categoryAxisMap=ft(),this.coordSysName=t};var nx={cartesian2d:function(t,e,n,i){var r=t.getReferringComponents("xAxis",Po).models[0],o=t.getReferringComponents("yAxis",Po).models[0];e.coordSysDims=["x","y"],n.set("x",r),n.set("y",o),ix(r)&&(i.set("x",r),e.firstCategoryDimIndex=0),ix(o)&&(i.set("y",o),null==e.firstCategoryDimIndex&&(e.firstCategoryDimIndex=1))},singleAxis:function(t,e,n,i){var r=t.getReferringComponents("singleAxis",Po).models[0];e.coordSysDims=["single"],n.set("single",r),ix(r)&&(i.set("single",r),e.firstCategoryDimIndex=0)},polar:function(t,e,n,i){var r=t.getReferringComponents("polar",Po).models[0],o=r.findAxisModel("radiusAxis"),a=r.findAxisModel("angleAxis");e.coordSysDims=["radius","angle"],n.set("radius",o),n.set("angle",a),ix(o)&&(i.set("radius",o),e.firstCategoryDimIndex=0),ix(a)&&(i.set("angle",a),null==e.firstCategoryDimIndex&&(e.firstCategoryDimIndex=1))},geo:function(t,e,n,i){e.coordSysDims=["lng","lat"]},parallel:function(t,e,n,i){var r=t.ecModel,o=r.getComponent("parallel",t.get("parallelIndex")),a=e.coordSysDims=o.dimensions.slice();E(o.parallelAxisIndex,(function(t,o){var s=r.getComponent("parallelAxis",t),l=a[o];n.set(l,s),ix(s)&&(i.set(l,s),null==e.firstCategoryDimIndex&&(e.firstCategoryDimIndex=o))}))}};function ix(t){return"category"===t.get("type")}function rx(t,e,n){var i,r,o,a=(n=n||{}).byIndex,s=n.stackedCoordDimension;!function(t){return!Em(t.schema)}(e)?(r=e.schema,i=r.dimensions,o=e.store):i=e;var l,u,h,c,p=!(!t||!t.get("stack"));if(E(i,(function(t,e){X(t)&&(i[e]=t={name:t}),p&&!t.isExtraCoord&&(a||l||!t.ordinalMeta||(l=t),u||"ordinal"===t.type||"time"===t.type||s&&s!==t.coordDim||(u=t))})),!u||a||l||(a=!0),u){h="__\0ecstackresult_"+t.id,c="__\0ecstackedover_"+t.id,l&&(l.createInvertedIndices=!0);var d=u.coordDim,f=u.type,g=0;E(i,(function(t){t.coordDim===d&&g++}));var y={name:h,coordDim:d,coordDimIndex:g,type:f,isExtraCoord:!0,isCalculationCoord:!0,storeDimIndex:i.length},v={name:c,coordDim:c,coordDimIndex:g+1,type:f,isExtraCoord:!0,isCalculationCoord:!0,storeDimIndex:i.length+1};r?(o&&(y.storeDimIndex=o.ensureCalculationDimension(c,f),v.storeDimIndex=o.ensureCalculationDimension(h,f)),r.appendCalculationDimension(y),r.appendCalculationDimension(v)):(i.push(y),i.push(v))}return{stackedDimension:u&&u.name,stackedByDimension:l&&l.name,isStackedByIndex:a,stackedOverDimension:c,stackResultDimension:h}}function ox(t,e){return!!e&&e===t.getCalculationInfo("stackedDimension")}function ax(t,e){return ox(t,e)?t.getCalculationInfo("stackResultDimension"):e}function sx(t,e,n){n=n||{};var i,r=e.getSourceManager(),o=!1;t?(o=!0,i=Xd(t)):o=(i=r.getSource()).sourceFormat===Rp;var a=function(t){var e=t.get("coordinateSystem"),n=new ex(e),i=nx[e];if(i)return i(t,n,n.axisMap,n.categoryAxisMap),n}(e),s=function(t,e){var n,i=t.get("coordinateSystem"),r=dd.get(i);return e&&e.coordSysDims&&(n=z(e.coordSysDims,(function(t){var n={name:t},i=e.axisMap.get(t);if(i){var r=i.get("type");n.type=Lm(r)}return n}))),n||(n=r&&(r.getDimensionsInfo?r.getDimensionsInfo():r.dimensions.slice())||["x","y"]),n}(e,a),l=n.useEncodeDefaulter,u=U(l)?l:l?H(Xp,s,e):null,h=Qm(i,{coordDimensions:s,generateCoord:n.generateCoord,encodeDefine:e.getEncode(),encodeDefaulter:u,canOmitUnusedDimensions:!o}),c=function(t,e,n){var i,r;return n&&E(t,(function(t,o){var a=t.coordDim,s=n.categoryAxisMap.get(a);s&&(null==i&&(i=o),t.ordinalMeta=s.getOrdinalMeta(),e&&(t.createInvertedIndices=!0)),null!=t.otherDims.itemName&&(r=!0)})),r||null==i||(t[i].otherDims.itemName=0),i}(h.dimensions,n.createInvertedIndices,a),p=o?null:r.getSharedDataStore(h),d=rx(e,{schema:h,store:p}),f=new Jm(h,e);f.setCalculationInfo(d);var g=null!=c&&function(t){if(t.sourceFormat===Rp){var e=function(t){var e=0;for(;ee[1]&&(e[1]=t[1])},t.prototype.unionExtentFromData=function(t,e){this.unionExtent(t.getApproximateExtent(e))},t.prototype.getExtent=function(){return this._extent.slice()},t.prototype.setExtent=function(t,e){var n=this._extent;isNaN(t)||(n[0]=t),isNaN(e)||(n[1]=e)},t.prototype.isInExtentRange=function(t){return this._extent[0]<=t&&this._extent[1]>=t},t.prototype.isBlank=function(){return this._isBlank},t.prototype.setBlank=function(t){this._isBlank=t},t}();Xo(lx);var ux=0,hx=function(){function t(t){this.categories=t.categories||[],this._needCollect=t.needCollect,this._deduplication=t.deduplication,this.uid=++ux}return t.createByAxisModel=function(e){var n=e.option,i=n.data,r=i&&z(i,cx);return new t({categories:r,needCollect:!r,deduplication:!1!==n.dedplication})},t.prototype.getOrdinal=function(t){return this._getOrCreateMap().get(t)},t.prototype.parseAndCollect=function(t){var e,n=this._needCollect;if(!X(t)&&!n)return t;if(n&&!this._deduplication)return e=this.categories.length,this.categories[e]=t,e;var i=this._getOrCreateMap();return null==(e=i.get(t))&&(n?(e=this.categories.length,this.categories[e]=t,i.set(t,e)):e=NaN),e},t.prototype._getOrCreateMap=function(){return this._map||(this._map=ft(this.categories))},t}();function cx(t){return q(t)&&null!=t.value?t.value:t+""}function px(t){return"interval"===t.type||"log"===t.type}function dx(t,e,n,i){var r={},o=t[1]-t[0],a=r.interval=no(o/e,!0);null!=n&&ai&&(a=r.interval=i);var s=r.intervalPrecision=gx(a);return function(t,e){!isFinite(t[0])&&(t[0]=e[0]),!isFinite(t[1])&&(t[1]=e[1]),yx(t,0,e),yx(t,1,e),t[0]>t[1]&&(t[0]=t[1])}(r.niceTickExtent=[Wr(Math.ceil(t[0]/a)*a,s),Wr(Math.floor(t[1]/a)*a,s)],t),r}function fx(t){var e=Math.pow(10,eo(t)),n=t/e;return n?2===n?n=3:3===n?n=5:n*=2:n=1,Wr(n*e)}function gx(t){return Yr(t)+2}function yx(t,e,n){t[e]=Math.max(Math.min(t[e],n[1]),n[0])}function vx(t,e){return t>=e[0]&&t<=e[1]}function mx(t,e){return e[1]===e[0]?.5:(t-e[0])/(e[1]-e[0])}function xx(t,e){return t*(e[1]-e[0])+e[0]}var _x=function(t){function e(e){var n=t.call(this,e)||this;n.type="ordinal";var i=n.getSetting("ordinalMeta");return i||(i=new hx({})),Y(i)&&(i=new hx({categories:z(i,(function(t){return q(t)?t.value:t}))})),n._ordinalMeta=i,n._extent=n.getSetting("extent")||[0,i.categories.length-1],n}return n(e,t),e.prototype.parse=function(t){return null==t?NaN:X(t)?this._ordinalMeta.getOrdinal(t):Math.round(t)},e.prototype.contain=function(t){return vx(t=this.parse(t),this._extent)&&null!=this._ordinalMeta.categories[t]},e.prototype.normalize=function(t){return mx(t=this._getTickNumber(this.parse(t)),this._extent)},e.prototype.scale=function(t){return t=Math.round(xx(t,this._extent)),this.getRawOrdinalNumber(t)},e.prototype.getTicks=function(){for(var t=[],e=this._extent,n=e[0];n<=e[1];)t.push({value:n}),n++;return t},e.prototype.getMinorTicks=function(t){},e.prototype.setSortInfo=function(t){if(null!=t){for(var e=t.ordinalNumbers,n=this._ordinalNumbersByTick=[],i=this._ticksByOrdinalNumber=[],r=0,o=this._ordinalMeta.categories.length,a=Math.min(o,e.length);r=0&&t=0&&t=t},e.prototype.getOrdinalMeta=function(){return this._ordinalMeta},e.prototype.calcNiceTicks=function(){},e.prototype.calcNiceExtent=function(){},e.type="ordinal",e}(lx);lx.registerClass(_x);var bx=Wr,Sx=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="interval",e._interval=0,e._intervalPrecision=2,e}return n(e,t),e.prototype.parse=function(t){return t},e.prototype.contain=function(t){return vx(t,this._extent)},e.prototype.normalize=function(t){return mx(t,this._extent)},e.prototype.scale=function(t){return xx(t,this._extent)},e.prototype.setExtent=function(t,e){var n=this._extent;isNaN(t)||(n[0]=parseFloat(t)),isNaN(e)||(n[1]=parseFloat(e))},e.prototype.unionExtent=function(t){var e=this._extent;t[0]e[1]&&(e[1]=t[1]),this.setExtent(e[0],e[1])},e.prototype.getInterval=function(){return this._interval},e.prototype.setInterval=function(t){this._interval=t,this._niceExtent=this._extent.slice(),this._intervalPrecision=gx(t)},e.prototype.getTicks=function(t){var e=this._interval,n=this._extent,i=this._niceExtent,r=this._intervalPrecision,o=[];if(!e)return o;n[0]1e4)return[];var s=o.length?o[o.length-1].value:i[1];return n[1]>s&&(t?o.push({value:bx(s+e,r)}):o.push({value:n[1]})),o},e.prototype.getMinorTicks=function(t){for(var e=this.getTicks(!0),n=[],i=this.getExtent(),r=1;ri[0]&&h0&&(o=null===o?s:Math.min(o,s))}n[i]=o}}return n}(t),n=[];return E(t,(function(t){var i,r=t.coordinateSystem.getBaseAxis(),o=r.getExtent();if("category"===r.type)i=r.getBandWidth();else if("value"===r.type||"time"===r.type){var a=r.dim+"_"+r.index,s=e[a],l=Math.abs(o[1]-o[0]),u=r.scale.getExtent(),h=Math.abs(u[1]-u[0]);i=s?l/h*s:l}else{var c=t.getData();i=Math.abs(o[1]-o[0])/c.count()}var p=Gr(t.get("barWidth"),i),d=Gr(t.get("barMaxWidth"),i),f=Gr(t.get("barMinWidth")||(Ex(t)?.5:1),i),g=t.get("barGap"),y=t.get("barCategoryGap");n.push({bandWidth:i,barWidth:p,barMaxWidth:d,barMinWidth:f,barGap:g,barCategoryGap:y,axisKey:Ax(r),stackId:Dx(t)})})),Px(n)}function Px(t){var e={};E(t,(function(t,n){var i=t.axisKey,r=t.bandWidth,o=e[i]||{bandWidth:r,remainedWidth:r,autoWidthCount:0,categoryGap:null,gap:"20%",stacks:{}},a=o.stacks;e[i]=o;var s=t.stackId;a[s]||o.autoWidthCount++,a[s]=a[s]||{width:0,maxWidth:0};var l=t.barWidth;l&&!a[s].width&&(a[s].width=l,l=Math.min(o.remainedWidth,l),o.remainedWidth-=l);var u=t.barMaxWidth;u&&(a[s].maxWidth=u);var h=t.barMinWidth;h&&(a[s].minWidth=h);var c=t.barGap;null!=c&&(o.gap=c);var p=t.barCategoryGap;null!=p&&(o.categoryGap=p)}));var n={};return E(e,(function(t,e){n[e]={};var i=t.stacks,r=t.bandWidth,o=t.categoryGap;if(null==o){var a=G(i).length;o=Math.max(35-4*a,15)+"%"}var s=Gr(o,r),l=Gr(t.gap,1),u=t.remainedWidth,h=t.autoWidthCount,c=(u-s)/(h+(h-1)*l);c=Math.max(c,0),E(i,(function(t){var e=t.maxWidth,n=t.minWidth;if(t.width){i=t.width;e&&(i=Math.min(i,e)),n&&(i=Math.max(i,n)),t.width=i,u-=i+l*i,h--}else{var i=c;e&&ei&&(i=n),i!==c&&(t.width=i,u-=i+l*i,h--)}})),c=(u-s)/(h+(h-1)*l),c=Math.max(c,0);var p,d=0;E(i,(function(t,e){t.width||(t.width=c),p=t,d+=t.width*(1+l)})),p&&(d-=p.width*l);var f=-d/2;E(i,(function(t,i){n[e][i]=n[e][i]||{bandWidth:r,offset:f,width:t.width},f+=t.width*(1+l)}))})),n}function Ox(t,e){var n=kx(t,e),i=Lx(n);E(n,(function(t){var e=t.getData(),n=t.coordinateSystem.getBaseAxis(),r=Dx(t),o=i[Ax(n)][r],a=o.offset,s=o.width;e.setLayout({bandWidth:o.bandWidth,offset:a,size:s})}))}function Rx(t){return{seriesType:t,plan:xg(),reset:function(t){if(Nx(t)){var e=t.getData(),n=t.coordinateSystem,i=n.getBaseAxis(),r=n.getOtherAxis(i),o=e.getDimensionIndex(e.mapDimension(r.dim)),a=e.getDimensionIndex(e.mapDimension(i.dim)),s=t.get("showBackground",!0),l=e.mapDimension(r.dim),u=e.getCalculationInfo("stackResultDimension"),h=ox(e,l)&&!!e.getCalculationInfo("stackedOnSeries"),c=r.isHorizontal(),p=function(t,e){return e.toGlobalCoord(e.dataToCoord("log"===e.type?1:0))}(0,r),d=Ex(t),f=t.get("barMinHeight")||0,g=u&&e.getDimensionIndex(u),y=e.getLayout("size"),v=e.getLayout("offset");return{progress:function(t,e){for(var i,r=t.count,l=d&&Tx(3*r),u=d&&s&&Tx(3*r),m=d&&Tx(r),x=n.master.getRect(),_=c?x.width:x.height,b=e.getStore(),w=0;null!=(i=t.next());){var S=b.get(h?g:o,i),M=b.get(a,i),I=p,T=void 0;h&&(T=+S-b.get(o,i));var C=void 0,D=void 0,A=void 0,k=void 0;if(c){var L=n.dataToPoint([S,M]);if(h)I=n.dataToPoint([T,M])[0];C=I,D=L[1]+v,A=L[0]-I,k=y,Math.abs(A)0)for(var s=0;s=0;--s)if(l[u]){o=l[u];break}o=o||a.none}if(Y(o)){var h=null==t.level?0:t.level>=0?t.level:o.length+t.level;o=o[h=Math.min(h,o.length-1)]}}return Yc(new Date(t.value),o,r,i)}(t,e,n,this.getSetting("locale"),i)},e.prototype.getTicks=function(){var t=this._interval,e=this._extent,n=[];if(!t)return n;n.push({value:e[0],level:0});var i=this.getSetting("useUTC"),r=function(t,e,n,i){var r=1e4,o=Fc,a=0;function s(t,e,n,r,o,a,s){for(var l=new Date(e),u=e,h=l[r]();u1&&0===u&&o.unshift({value:o[0].value-p})}}for(u=0;u=i[0]&&v<=i[1]&&c++)}var m=(i[1]-i[0])/e;if(c>1.5*m&&p>m/1.5)break;if(u.push(g),c>m||t===o[d])break}h=[]}}0;var x=B(z(u,(function(t){return B(t,(function(t){return t.value>=i[0]&&t.value<=i[1]&&!t.notAdd}))})),(function(t){return t.length>0})),_=[],b=x.length-1;for(d=0;dn&&(this._approxInterval=n);var o=Vx.length,a=Math.min(function(t,e,n,i){for(;n>>1;t[r][1]16?16:t>7.5?7:t>3.5?4:t>1.5?2:1}function Fx(t){return(t/=2592e6)>6?6:t>3?3:t>2?2:1}function Gx(t){return(t/=Oc)>12?12:t>6?6:t>3.5?4:t>2?2:1}function Wx(t,e){return(t/=e?Pc:Lc)>30?30:t>20?20:t>15?15:t>10?10:t>5?5:t>2?2:1}function Hx(t){return no(t,!0)}function Yx(t,e,n){var i=new Date(t);switch(Wc(e)){case"year":case"month":i[ep(n)](0);case"day":i[np(n)](1);case"hour":i[ip(n)](0);case"minute":i[rp(n)](0);case"second":i[op(n)](0),i[ap(n)](0)}return i.getTime()}lx.registerClass(zx);var Ux=lx.prototype,Xx=Sx.prototype,Zx=Wr,jx=Math.floor,qx=Math.ceil,Kx=Math.pow,$x=Math.log,Jx=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="log",e.base=10,e._originalScale=new Sx,e._interval=0,e}return n(e,t),e.prototype.getTicks=function(t){var e=this._originalScale,n=this._extent,i=e.getExtent();return z(Xx.getTicks.call(this,t),(function(t){var e=t.value,r=Wr(Kx(this.base,e));return r=e===n[0]&&this._fixMin?t_(r,i[0]):r,{value:r=e===n[1]&&this._fixMax?t_(r,i[1]):r}}),this)},e.prototype.setExtent=function(t,e){var n=$x(this.base);t=$x(Math.max(0,t))/n,e=$x(Math.max(0,e))/n,Xx.setExtent.call(this,t,e)},e.prototype.getExtent=function(){var t=this.base,e=Ux.getExtent.call(this);e[0]=Kx(t,e[0]),e[1]=Kx(t,e[1]);var n=this._originalScale.getExtent();return this._fixMin&&(e[0]=t_(e[0],n[0])),this._fixMax&&(e[1]=t_(e[1],n[1])),e},e.prototype.unionExtent=function(t){this._originalScale.unionExtent(t);var e=this.base;t[0]=$x(t[0])/$x(e),t[1]=$x(t[1])/$x(e),Ux.unionExtent.call(this,t)},e.prototype.unionExtentFromData=function(t,e){this.unionExtent(t.getApproximateExtent(e))},e.prototype.calcNiceTicks=function(t){t=t||10;var e=this._extent,n=e[1]-e[0];if(!(n===1/0||n<=0)){var i=to(n);for(t/n*i<=.5&&(i*=10);!isNaN(i)&&Math.abs(i)<1&&Math.abs(i)>0;)i*=10;var r=[Wr(qx(e[0]/i)*i),Wr(jx(e[1]/i)*i)];this._interval=i,this._niceExtent=r}},e.prototype.calcNiceExtent=function(t){Xx.calcNiceExtent.call(this,t),this._fixMin=t.fixMin,this._fixMax=t.fixMax},e.prototype.parse=function(t){return t},e.prototype.contain=function(t){return vx(t=$x(t)/$x(this.base),this._extent)},e.prototype.normalize=function(t){return mx(t=$x(t)/$x(this.base),this._extent)},e.prototype.scale=function(t){return t=xx(t,this._extent),Kx(this.base,t)},e.type="log",e}(lx),Qx=Jx.prototype;function t_(t,e){return Zx(t,Yr(e))}Qx.getMinorTicks=Xx.getMinorTicks,Qx.getLabel=Xx.getLabel,lx.registerClass(Jx);var e_=function(){function t(t,e,n){this._prepareParams(t,e,n)}return t.prototype._prepareParams=function(t,e,n){n[1]0&&s>0&&!l&&(a=0),a<0&&s<0&&!u&&(s=0));var c=this._determinedMin,p=this._determinedMax;return null!=c&&(a=c,l=!0),null!=p&&(s=p,u=!0),{min:a,max:s,minFixed:l,maxFixed:u,isBlank:h}},t.prototype.modifyDataMinMax=function(t,e){this[i_[t]]=e},t.prototype.setDeterminedMinMax=function(t,e){var n=n_[t];this[n]=e},t.prototype.freeze=function(){this.frozen=!0},t}(),n_={min:"_determinedMin",max:"_determinedMax"},i_={min:"_dataMin",max:"_dataMax"};function r_(t,e,n){var i=t.rawExtentInfo;return i||(i=new e_(t,e,n),t.rawExtentInfo=i,i)}function o_(t,e){return null==e?null:nt(e)?NaN:t.parse(e)}function a_(t,e){var n=t.type,i=r_(t,e,t.getExtent()).calculate();t.setBlank(i.isBlank);var r=i.min,o=i.max,a=e.ecModel;if(a&&"time"===n){var s=kx("bar",a),l=!1;if(E(s,(function(t){l=l||t.getBaseAxis()===e.axis})),l){var u=Lx(s),h=function(t,e,n,i){var r=n.axis.getExtent(),o=r[1]-r[0],a=function(t,e,n){if(t&&e){var i=t[Ax(e)];return null!=i&&null!=n?i[Dx(n)]:i}}(i,n.axis);if(void 0===a)return{min:t,max:e};var s=1/0;E(a,(function(t){s=Math.min(t.offset,s)}));var l=-1/0;E(a,(function(t){l=Math.max(t.offset+t.width,l)})),s=Math.abs(s),l=Math.abs(l);var u=s+l,h=e-t,c=h/(1-(s+l)/o)-h;return{min:t-=c*(s/u),max:e+=c*(l/u)}}(r,o,e,u);r=h.min,o=h.max}}return{extent:[r,o],fixMin:i.minFixed,fixMax:i.maxFixed}}function s_(t,e){var n=e,i=a_(t,n),r=i.extent,o=n.get("splitNumber");t instanceof Jx&&(t.base=n.get("logBase"));var a=t.type,s=n.get("interval"),l="interval"===a||"time"===a;t.setExtent(r[0],r[1]),t.calcNiceExtent({splitNumber:o,fixMin:i.fixMin,fixMax:i.fixMax,minInterval:l?n.get("minInterval"):null,maxInterval:l?n.get("maxInterval"):null}),null!=s&&t.setInterval&&t.setInterval(s)}function l_(t,e){if(e=e||t.get("type"))switch(e){case"category":return new _x({ordinalMeta:t.getOrdinalMeta?t.getOrdinalMeta():t.getCategories(),extent:[1/0,-1/0]});case"time":return new zx({locale:t.ecModel.getLocaleModel(),useUTC:t.ecModel.get("useUTC")});default:return new(lx.getClass(e)||Sx)}}function u_(t){var e,n,i=t.getLabelModel().get("formatter"),r="category"===t.type?t.scale.getExtent()[0]:null;return"time"===t.scale.type?(n=i,function(e,i){return t.scale.getFormattedLabel(e,i,n)}):X(i)?function(e){return function(n){var i=t.scale.getLabel(n);return e.replace("{value}",null!=i?i:"")}}(i):U(i)?(e=i,function(n,i){return null!=r&&(i=n.value-r),e(h_(t,n),i,null!=n.level?{level:n.level}:null)}):function(e){return t.scale.getLabel(e)}}function h_(t,e){return"category"===t.type?t.scale.getLabel(e):e.value}function c_(t,e){var n=e*Math.PI/180,i=t.width,r=t.height,o=i*Math.abs(Math.cos(n))+Math.abs(r*Math.sin(n)),a=i*Math.abs(Math.sin(n))+Math.abs(r*Math.cos(n));return new Re(t.x,t.y,o,a)}function p_(t){var e=t.get("interval");return null==e?"auto":e}function d_(t){return"category"===t.type&&0===p_(t.getLabelModel())}function f_(t,e){var n={};return E(t.mapDimensionsAll(e),(function(e){n[ax(t,e)]=!0})),G(n)}var g_=function(){function t(){}return t.prototype.getNeedCrossZero=function(){return!this.option.scale},t.prototype.getCoordSysModel=function(){},t}();var y_={isDimensionStacked:ox,enableDataStack:rx,getStackedDimension:ax};var v_=Object.freeze({__proto__:null,createList:function(t){return sx(null,t)},getLayoutRect:wp,dataStack:y_,createScale:function(t,e){var n=e;e instanceof xc||(n=new xc(e));var i=l_(n);return i.setExtent(t[0],t[1]),s_(i,n),i},mixinAxisModelCommonMethods:function(t){R(t,g_)},getECData:js,createTextStyle:function(t,e){return $h(t,null,null,"normal"!==(e=e||{}).state)},createDimensions:function(t,e){return Qm(t,e).dimensions},createSymbol:Ry,enableHoverEmphasis:Vl});function m_(t,e){return Math.abs(t-e)<1e-8}function x_(t,e,n){var i=0,r=t[0];if(!r)return!1;for(var o=1;on&&(t=r,n=a)}if(t)return function(t){for(var e=0,n=0,i=0,r=t.length,o=t[r-1][0],a=t[r-1][1],s=0;s>1^-(1&s),l=l>>1^-(1&l),r=s+=r,o=l+=o,i.push([s/n,l/n])}return i}function k_(t,e){return z(B((t=function(t){if(!t.UTF8Encoding)return t;var e=t,n=e.UTF8Scale;return null==n&&(n=1024),E(e.features,(function(t){var e=t.geometry,i=e.encodeOffsets,r=e.coordinates;if(i)switch(e.type){case"LineString":e.coordinates=A_(r,i,n);break;case"Polygon":case"MultiLineString":D_(r,i,n);break;case"MultiPolygon":E(r,(function(t,e){return D_(t,i[e],n)}))}})),e.UTF8Encoding=!1,e}(t)).features,(function(t){return t.geometry&&t.properties&&t.geometry.coordinates.length>0})),(function(t){var n=t.properties,i=t.geometry,r=[];switch(i.type){case"Polygon":var o=i.coordinates;r.push(new M_(o[0],o.slice(1)));break;case"MultiPolygon":E(i.coordinates,(function(t){t[0]&&r.push(new M_(t[0],t.slice(1)))}));break;case"LineString":r.push(new I_([i.coordinates]));break;case"MultiLineString":r.push(new I_(i.coordinates))}var a=new T_(n[e||"name"],r,n.cp);return a.properties=n,a}))}var L_=Object.freeze({__proto__:null,linearMap:Fr,round:Wr,asc:Hr,getPrecision:Yr,getPrecisionSafe:Ur,getPixelPrecision:Xr,getPercentWithPrecision:function(t,e,n){return t[e]&&Zr(t,n)[e]||0},MAX_SAFE_INTEGER:qr,remRadian:Kr,isRadianAroundZero:$r,parseDate:Qr,quantity:to,quantityExponent:eo,nice:no,quantile:io,reformIntervals:ro,isNumeric:ao,numericToNumber:oo}),P_=Object.freeze({__proto__:null,parse:Qr,format:Yc}),O_=Object.freeze({__proto__:null,extendShape:xh,extendPath:bh,makePath:Mh,makeImage:Ih,mergePath:Ch,resizePath:Dh,createIcon:Vh,updateProps:uh,initProps:hh,getTransform:Lh,clipPointsByRect:Eh,clipRectByRect:zh,registerShape:wh,getShapeClass:Sh,Group:Pr,Image:Is,Text:Ns,Circle:gu,Ellipse:vu,Sector:Pu,Ring:Ru,Polygon:zu,Polyline:Bu,Rect:Ps,Line:Wu,BezierCurve:Xu,Arc:ju,IncrementalDisplayable:oh,CompoundPath:qu,LinearGradient:$u,RadialGradient:Ju,BoundingRect:Re}),R_=Object.freeze({__proto__:null,addCommas:sp,toCamelCase:lp,normalizeCssArray:up,encodeHTML:ee,formatTpl:dp,getTooltipMarker:fp,formatTime:function(t,e,n){"week"!==t&&"month"!==t&&"quarter"!==t&&"half-year"!==t&&"year"!==t||(t="MM-dd\nyyyy");var i=Qr(e),r=n?"getUTC":"get",o=i[r+"FullYear"](),a=i[r+"Month"]()+1,s=i[r+"Date"](),l=i[r+"Hours"](),u=i[r+"Minutes"](),h=i[r+"Seconds"](),c=i[r+"Milliseconds"]();return t=t.replace("MM",Gc(a,2)).replace("M",a).replace("yyyy",o).replace("yy",Gc(o%100+"",2)).replace("dd",Gc(s,2)).replace("d",s).replace("hh",Gc(l,2)).replace("h",l).replace("mm",Gc(u,2)).replace("m",u).replace("ss",Gc(h,2)).replace("s",h).replace("SSS",Gc(c,3))},capitalFirst:function(t){return t?t.charAt(0).toUpperCase()+t.substr(1):t},truncateText:na,getTextRect:function(t,e,n,i,r,o,a,s){return new Ns({style:{text:t,font:e,align:n,verticalAlign:i,padding:r,rich:o,overflow:a?"truncate":null,lineHeight:s}}).getBoundingRect()}}),N_=Object.freeze({__proto__:null,map:z,each:E,indexOf:P,inherits:O,reduce:V,filter:B,bind:W,curry:H,isArray:Y,isString:X,isObject:q,isFunction:U,extend:A,defaults:k,clone:T,merge:C}),E_=Do();function z_(t){return"category"===t.type?function(t){var e=t.getLabelModel(),n=B_(t,e);return!e.get("show")||t.scale.isBlank()?{labels:[],labelCategoryInterval:n.labelCategoryInterval}:n}(t):function(t){var e=t.scale.getTicks(),n=u_(t);return{labels:z(e,(function(e,i){return{level:e.level,formattedLabel:n(e,i),rawLabel:t.scale.getLabel(e),tickValue:e.value}}))}}(t)}function V_(t,e){return"category"===t.type?function(t,e){var n,i,r=F_(t,"ticks"),o=p_(e),a=G_(r,o);if(a)return a;e.get("show")&&!t.scale.isBlank()||(n=[]);if(U(o))n=Y_(t,o,!0);else if("auto"===o){var s=B_(t,t.getLabelModel());i=s.labelCategoryInterval,n=z(s.labels,(function(t){return t.tickValue}))}else n=H_(t,i=o,!0);return W_(r,o,{ticks:n,tickCategoryInterval:i})}(t,e):{ticks:z(t.scale.getTicks(),(function(t){return t.value}))}}function B_(t,e){var n,i,r=F_(t,"labels"),o=p_(e),a=G_(r,o);return a||(U(o)?n=Y_(t,o):(i="auto"===o?function(t){var e=E_(t).autoInterval;return null!=e?e:E_(t).autoInterval=t.calculateCategoryInterval()}(t):o,n=H_(t,i)),W_(r,o,{labels:n,labelCategoryInterval:i}))}function F_(t,e){return E_(t)[e]||(E_(t)[e]=[])}function G_(t,e){for(var n=0;n1&&h/l>2&&(u=Math.round(Math.ceil(u/l)*l));var c=d_(t),p=a.get("showMinLabel")||c,d=a.get("showMaxLabel")||c;p&&u!==o[0]&&g(o[0]);for(var f=u;f<=o[1];f+=l)g(f);function g(t){var e={value:t};s.push(n?t:{formattedLabel:i(e),rawLabel:r.getLabel(e),tickValue:t})}return d&&f-l!==o[1]&&g(o[1]),s}function Y_(t,e,n){var i=t.scale,r=u_(t),o=[];return E(i.getTicks(),(function(t){var a=i.getLabel(t),s=t.value;e(t.value,a)&&o.push(n?s:{formattedLabel:r(t),rawLabel:a,tickValue:s})})),o}var U_=[0,1],X_=function(){function t(t,e,n){this.onBand=!1,this.inverse=!1,this.dim=t,this.scale=e,this._extent=n||[0,0]}return t.prototype.contain=function(t){var e=this._extent,n=Math.min(e[0],e[1]),i=Math.max(e[0],e[1]);return t>=n&&t<=i},t.prototype.containData=function(t){return this.scale.contain(t)},t.prototype.getExtent=function(){return this._extent.slice()},t.prototype.getPixelPrecision=function(t){return Xr(t||this.scale.getExtent(),this._extent)},t.prototype.setExtent=function(t,e){var n=this._extent;n[0]=t,n[1]=e},t.prototype.dataToCoord=function(t,e){var n=this._extent,i=this.scale;return t=i.normalize(t),this.onBand&&"ordinal"===i.type&&Z_(n=n.slice(),i.count()),Fr(t,U_,n,e)},t.prototype.coordToData=function(t,e){var n=this._extent,i=this.scale;this.onBand&&"ordinal"===i.type&&Z_(n=n.slice(),i.count());var r=Fr(t,n,U_,e);return this.scale.scale(r)},t.prototype.pointToData=function(t,e){},t.prototype.getTicksCoords=function(t){var e=(t=t||{}).tickModel||this.getTickModel(),n=z(V_(this,e).ticks,(function(t){return{coord:this.dataToCoord("ordinal"===this.scale.type?this.scale.getRawOrdinalNumber(t):t),tickValue:t}}),this);return function(t,e,n,i){var r=e.length;if(!t.onBand||n||!r)return;var o,a,s=t.getExtent();if(1===r)e[0].coord=s[0],o=e[1]={coord:s[0]};else{var l=e[r-1].tickValue-e[0].tickValue,u=(e[r-1].coord-e[0].coord)/l;E(e,(function(t){t.coord-=u/2})),a=1+t.scale.getExtent()[1]-e[r-1].tickValue,o={coord:e[r-1].coord+u*a},e.push(o)}var h=s[0]>s[1];c(e[0].coord,s[0])&&(i?e[0].coord=s[0]:e.shift());i&&c(s[0],e[0].coord)&&e.unshift({coord:s[0]});c(s[1],o.coord)&&(i?o.coord=s[1]:e.pop());i&&c(o.coord,s[1])&&e.push({coord:s[1]});function c(t,e){return t=Wr(t),e=Wr(e),h?t>e:t0&&t<100||(t=5),z(this.scale.getMinorTicks(t),(function(t){return z(t,(function(t){return{coord:this.dataToCoord(t),tickValue:t}}),this)}),this)},t.prototype.getViewLabels=function(){return z_(this).labels},t.prototype.getLabelModel=function(){return this.model.getModel("axisLabel")},t.prototype.getTickModel=function(){return this.model.getModel("axisTick")},t.prototype.getBandWidth=function(){var t=this._extent,e=this.scale.getExtent(),n=e[1]-e[0]+(this.onBand?1:0);0===n&&(n=1);var i=Math.abs(t[1]-t[0]);return Math.abs(i)/n},t.prototype.calculateCategoryInterval=function(){return function(t){var e=function(t){var e=t.getLabelModel();return{axisRotate:t.getRotate?t.getRotate():t.isHorizontal&&!t.isHorizontal()?90:0,labelRotate:e.get("rotate")||0,font:e.getFont()}}(t),n=u_(t),i=(e.axisRotate-e.labelRotate)/180*Math.PI,r=t.scale,o=r.getExtent(),a=r.count();if(o[1]-o[0]<1)return 0;var s=1;a>40&&(s=Math.max(1,Math.floor(a/40)));for(var l=o[0],u=t.dataToCoord(l+1)-t.dataToCoord(l),h=Math.abs(u*Math.cos(i)),c=Math.abs(u*Math.sin(i)),p=0,d=0;l<=o[1];l+=s){var f,g,y=yr(n({value:l}),e.font,"center","top");f=1.3*y.width,g=1.3*y.height,p=Math.max(p,f,7),d=Math.max(d,g,7)}var v=p/h,m=d/c;isNaN(v)&&(v=1/0),isNaN(m)&&(m=1/0);var x=Math.max(0,Math.floor(Math.min(v,m))),_=E_(t.model),b=t.getExtent(),w=_.lastAutoInterval,S=_.lastTickCount;return null!=w&&null!=S&&Math.abs(w-x)<=1&&Math.abs(S-a)<=1&&w>x&&_.axisExtent0===b[0]&&_.axisExtent1===b[1]?x=w:(_.lastTickCount=a,_.lastAutoInterval=x,_.axisExtent0=b[0],_.axisExtent1=b[1]),x}(this)},t}();function Z_(t,e){var n=(t[1]-t[0])/e/2;t[0]+=n,t[1]-=n}var j_=2*Math.PI,q_=ts.CMD,K_=["top","right","bottom","left"];function $_(t,e,n,i,r){var o=n.width,a=n.height;switch(t){case"top":i.set(n.x+o/2,n.y-e),r.set(0,-1);break;case"bottom":i.set(n.x+o/2,n.y+a+e),r.set(0,1);break;case"left":i.set(n.x-e,n.y+a/2),r.set(-1,0);break;case"right":i.set(n.x+o+e,n.y+a/2),r.set(1,0)}}function J_(t,e,n,i,r,o,a,s,l){a-=t,s-=e;var u=Math.sqrt(a*a+s*s),h=(a/=u)*n+t,c=(s/=u)*n+e;if(Math.abs(i-r)%j_<1e-4)return l[0]=h,l[1]=c,u-n;if(o){var p=i;i=os(r),r=os(p)}else i=os(i),r=os(r);i>r&&(r+=j_);var d=Math.atan2(s,a);if(d<0&&(d+=j_),d>=i&&d<=r||d+j_>=i&&d+j_<=r)return l[0]=h,l[1]=c,u-n;var f=n*Math.cos(i)+t,g=n*Math.sin(i)+e,y=n*Math.cos(r)+t,v=n*Math.sin(r)+e,m=(f-a)*(f-a)+(g-s)*(g-s),x=(y-a)*(y-a)+(v-s)*(v-s);return m0){e=e/180*Math.PI,rb.fromArray(t[0]),ob.fromArray(t[1]),ab.fromArray(t[2]),Ie.sub(sb,rb,ob),Ie.sub(lb,ab,ob);var n=sb.len(),i=lb.len();if(!(n<.001||i<.001)){sb.scale(1/n),lb.scale(1/i);var r=sb.dot(lb);if(Math.cos(e)1&&Ie.copy(cb,ab),cb.toArray(t[1])}}}}function db(t,e,n){if(n<=180&&n>0){n=n/180*Math.PI,rb.fromArray(t[0]),ob.fromArray(t[1]),ab.fromArray(t[2]),Ie.sub(sb,ob,rb),Ie.sub(lb,ab,ob);var i=sb.len(),r=lb.len();if(!(i<.001||r<.001))if(sb.scale(1/i),lb.scale(1/r),sb.dot(e)=a)Ie.copy(cb,ab);else{cb.scaleAndAdd(lb,o/Math.tan(Math.PI/2-s));var l=ab.x!==ob.x?(cb.x-ob.x)/(ab.x-ob.x):(cb.y-ob.y)/(ab.y-ob.y);if(isNaN(l))return;l<0?Ie.copy(cb,ob):l>1&&Ie.copy(cb,ab)}cb.toArray(t[1])}}}function fb(t,e,n,i){var r="normal"===n,o=r?t:t.ensureState(n);o.ignore=e;var a=i.get("smooth");a&&!0===a&&(a=.3),o.shape=o.shape||{},a>0&&(o.shape.smooth=a);var s=i.getModel("lineStyle").getLineStyle();r?t.useStyle(s):o.style=s}function gb(t,e){var n=e.smooth,i=e.points;if(i)if(t.moveTo(i[0][0],i[0][1]),n>0&&i.length>=3){var r=Et(i[0],i[1]),o=Et(i[1],i[2]);if(!r||!o)return t.lineTo(i[1][0],i[1][1]),void t.lineTo(i[2][0],i[2][1]);var a=Math.min(r,o)*n,s=Bt([],i[1],i[0],a/r),l=Bt([],i[1],i[2],a/o),u=Bt([],s,l,.5);t.bezierCurveTo(s[0],s[1],s[0],s[1],u[0],u[1]),t.bezierCurveTo(l[0],l[1],l[0],l[1],i[2][0],i[2][1])}else for(var h=1;h0&&o&&_(-h/a,0,a);var f,g,y=t[0],v=t[a-1];return m(),f<0&&b(-f,.8),g<0&&b(g,.8),m(),x(f,g,1),x(g,f,-1),m(),f<0&&w(-f),g<0&&w(g),u}function m(){f=y.rect[e]-i,g=r-v.rect[e]-v.rect[n]}function x(t,e,n){if(t<0){var i=Math.min(e,-t);if(i>0){_(i*n,0,a);var r=i+t;r<0&&b(-r*n,1)}else b(-t*n,1)}}function _(n,i,r){0!==n&&(u=!0);for(var o=i;o0)for(l=0;l0;l--){_(-(o[l-1]*c),l,a)}}}function w(t){var e=t<0?-1:1;t=Math.abs(t);for(var n=Math.ceil(t/(a-1)),i=0;i0?_(n,0,i+1):_(-n,a-i-1,a),(t-=n)<=0)return}}function _b(t,e,n,i){return xb(t,"y","height",e,n,i)}function bb(t){var e=[];t.sort((function(t,e){return e.priority-t.priority}));var n=new Re(0,0,0,0);function i(t){if(!t.ignore){var e=t.ensureState("emphasis");null==e.ignore&&(e.ignore=!1)}t.ignore=!0}for(var r=0;r=0&&n.attr(d.oldLayoutSelect),P(u,"emphasis")>=0&&n.attr(d.oldLayoutEmphasis)),uh(n,s,e,a)}else if(n.attr(s),!rc(n).valueAnimation){var h=rt(n.style.opacity,1);n.style.opacity=0,hh(n,{style:{opacity:h}},e,a)}if(d.oldLayout=s,n.states.select){var c=d.oldLayoutSelect={};Db(c,s,Ab),Db(c,n.states.select,Ab)}if(n.states.emphasis){var p=d.oldLayoutEmphasis={};Db(p,s,Ab),Db(p,n.states.emphasis,Ab)}ac(n,a,l,e,e)}if(i&&!i.ignore&&!i.invisible){r=(d=Cb(i)).oldLayout;var d,f={points:i.shape.points};r?(i.attr({shape:r}),uh(i,{shape:f},e)):(i.setShape(f),i.style.strokePercent=0,hh(i,{style:{strokePercent:1}},e)),d.oldLayout=f}},t}(),Lb=Do();var Pb=Math.sin,Ob=Math.cos,Rb=Math.PI,Nb=2*Math.PI,Eb=180/Rb,zb=function(){function t(){}return t.prototype.reset=function(t){this._start=!0,this._d=[],this._str="",this._p=Math.pow(10,t||4)},t.prototype.moveTo=function(t,e){this._add("M",t,e)},t.prototype.lineTo=function(t,e){this._add("L",t,e)},t.prototype.bezierCurveTo=function(t,e,n,i,r,o){this._add("C",t,e,n,i,r,o)},t.prototype.quadraticCurveTo=function(t,e,n,i){this._add("Q",t,e,n,i)},t.prototype.arc=function(t,e,n,i,r,o){this.ellipse(t,e,n,n,0,i,r,o)},t.prototype.ellipse=function(t,e,n,i,r,o,a,s){var l=a-o,u=!s,h=Math.abs(l),c=si(h-Nb)||(u?l>=Nb:-l>=Nb),p=l>0?l%Nb:l%Nb+Nb,d=!1;d=!!c||!si(h)&&p>=Rb==!!u;var f=t+n*Ob(o),g=e+i*Pb(o);this._start&&this._add("M",f,g);var y=Math.round(r*Eb);if(c){var v=1/this._p,m=(u?1:-1)*(Nb-v);this._add("A",n,i,y,1,+u,t+n*Ob(o+m),e+i*Pb(o+m)),v>.01&&this._add("A",n,i,y,0,+u,f,g)}else{var x=t+n*Ob(a),_=e+i*Pb(a);this._add("A",n,i,y,+d,+u,x,_)}},t.prototype.rect=function(t,e,n,i){this._add("M",t,e),this._add("l",n,0),this._add("l",0,i),this._add("l",-n,0),this._add("Z")},t.prototype.closePath=function(){this._d.length>0&&this._add("Z")},t.prototype._add=function(t,e,n,i,r,o,a,s,l){for(var u=[],h=this._p,c=1;c"}(r,e.attrs)+ee(e.text)+(i?""+n+z(i,(function(e){return t(e)})).join(n)+n:"")+("")}(t)}function jb(t){return{zrId:t,shadowCache:{},patternCache:{},gradientCache:{},clipPathCache:{},defs:{},cssNodes:{},cssAnims:{},cssClassIdx:0,cssAnimIdx:0,shadowIdx:0,gradientIdx:0,patternIdx:0,clipPathIdx:0}}function qb(t,e,n,i){return Xb("svg","root",{width:t,height:e,xmlns:Hb,"xmlns:xlink":Yb,version:"1.1",baseProfile:"full",viewBox:!!i&&"0 0 "+t+" "+e},n)}var Kb={cubicIn:"0.32,0,0.67,0",cubicOut:"0.33,1,0.68,1",cubicInOut:"0.65,0,0.35,1",quadraticIn:"0.11,0,0.5,0",quadraticOut:"0.5,1,0.89,1",quadraticInOut:"0.45,0,0.55,1",quarticIn:"0.5,0,0.75,0",quarticOut:"0.25,1,0.5,1",quarticInOut:"0.76,0,0.24,1",quinticIn:"0.64,0,0.78,0",quinticOut:"0.22,1,0.36,1",quinticInOut:"0.83,0,0.17,1",sinusoidalIn:"0.12,0,0.39,0",sinusoidalOut:"0.61,1,0.88,1",sinusoidalInOut:"0.37,0,0.63,1",exponentialIn:"0.7,0,0.84,0",exponentialOut:"0.16,1,0.3,1",exponentialInOut:"0.87,0,0.13,1",circularIn:"0.55,0,1,0.45",circularOut:"0,0.55,0.45,1",circularInOut:"0.85,0,0.15,1"},$b="transform-origin";function Jb(t,e,n){var i=A({},t.shape);A(i,e),t.buildPath(n,i);var r=new zb;return r.reset(gi(t)),n.rebuildPath(r,1),r.generateStr(),r.getStr()}function Qb(t,e){var n=e.originX,i=e.originY;(n||i)&&(t[$b]=n+"px "+i+"px")}var tw={fill:"fill",opacity:"opacity",lineWidth:"stroke-width",lineDashOffset:"stroke-dashoffset"};function ew(t,e){var n=e.zrId+"-ani-"+e.cssAnimIdx++;return e.cssAnims[n]=t,n}function nw(t){return X(t)?Kb[t]?"cubic-bezier("+Kb[t]+")":An(t)?t:"":""}function iw(t,e,n,i){var r=t.animators,o=r.length,a=[];if(t instanceof qu){var s=function(t,e,n){var i,r,o=t.shape.paths,a={};if(E(o,(function(t){var e=jb(n.zrId);e.animation=!0,iw(t,{},e,!0);var o=e.cssAnims,s=e.cssNodes,l=G(o),u=l.length;if(u){var h=o[r=l[u-1]];for(var c in h){var p=h[c];a[c]=a[c]||{d:""},a[c].d+=p.d||""}for(var d in s){var f=s[d].animation;f.indexOf(r)>=0&&(i=f)}}})),i){e.d=!1;var s=ew(a,n);return i.replace(r,s)}}(t,e,n);if(s)a.push(s);else if(!o)return}else if(!o)return;for(var l={},u=0;u0})).length)return ew(h,n)+" "+r[0]+" both"}for(var y in l){(s=g(l[y]))&&a.push(s)}if(a.length){var v=n.zrId+"-cls-"+n.cssClassIdx++;n.cssNodes["."+v]={animation:a.join(",")},e.class=v}}var rw=Math.round;function ow(t){return t&&X(t.src)}function aw(t){return t&&U(t.toDataURL)}function sw(t,e,n,i){Wb((function(r,o){var a="fill"===r||"stroke"===r;a&&function(t){return t&&("linear"===t.type||"radial"===t.type)}(o)?function(t,e,n,i){var r,o=t[n],a={gradientUnits:o.global?"userSpaceOnUse":"objectBoundingBox"};if(pi(o))r="linearGradient",a.x1=o.x,a.y1=o.y,a.x2=o.x2,a.y2=o.y2;else{if(!di(o))return void 0;r="radialGradient",a.cx=rt(o.x,.5),a.cy=rt(o.y,.5),a.r=rt(o.r,.5)}for(var s=o.colorStops,l=[],u=0,h=s.length;ul?Lw(t,null==n[c+1]?null:n[c+1].elm,n,s,c):Pw(t,e,a,l))}(n,i,r):Cw(r)?(Cw(t.text)&&Mw(n,""),Lw(n,null,r,0,r.length-1)):Cw(i)?Pw(n,i,0,i.length-1):Cw(t.text)&&Mw(n,""):t.text!==e.text&&(Cw(i)&&Pw(n,i,0,i.length-1),Mw(n,e.text)))}var Nw=0,Ew=function(){function t(t,e,n){if(this.type="svg",this.refreshHover=zw("refreshHover"),this.configLayer=zw("configLayer"),this.storage=e,this._opts=n=A({},n),this.root=t,this._id="zr"+Nw++,this._oldVNode=qb(n.width,n.height),t&&!n.ssr){var i=this._viewport=document.createElement("div");i.style.cssText="position:relative;overflow:hidden";var r=this._svgDom=this._oldVNode.elm=Ub("svg");Ow(null,this._oldVNode),i.appendChild(r),t.appendChild(i)}this.resize(n.width,n.height)}return t.prototype.getType=function(){return this.type},t.prototype.getViewportRoot=function(){return this._viewport},t.prototype.getViewportRootOffset=function(){var t=this.getViewportRoot();if(t)return{offsetLeft:t.offsetLeft||0,offsetTop:t.offsetTop||0}},t.prototype.getSvgDom=function(){return this._svgDom},t.prototype.refresh=function(){if(this.root){var t=this.renderToVNode({willUpdate:!0});t.attrs.style="position:absolute;left:0;top:0;user-select:none",function(t,e){if(Aw(t,e))Rw(t,e);else{var n=t.elm,i=ww(n);kw(e),null!==i&&(xw(i,e.elm,Sw(n)),Pw(i,[t],0,0))}}(this._oldVNode,t),this._oldVNode=t}},t.prototype.renderOneToVNode=function(t){return yw(t,jb(this._id))},t.prototype.renderToVNode=function(t){t=t||{};var e=this.storage.getDisplayList(!0),n=this._backgroundColor,i=this._width,r=this._height,o=jb(this._id);o.animation=t.animation,o.willUpdate=t.willUpdate,o.compress=t.compress;var a=[];if(n&&"none"!==n){var s=oi(n),l=s.color,u=s.opacity;this._bgVNode=Xb("rect","bg",{width:i,height:r,x:"0",y:"0",id:"0",fill:l,"fill-opacity":u}),a.push(this._bgVNode)}else this._bgVNode=null;var h=t.compress?null:this._mainVNode=Xb("g","main",{},[]);this._paintList(e,o,h?h.children:a),h&&a.push(h);var c=z(G(o.defs),(function(t){return o.defs[t]}));if(c.length&&a.push(Xb("defs","defs",{},c)),t.animation){var p=function(t,e,n){var i=(n=n||{}).newline?"\n":"",r=" {"+i,o=i+"}",a=z(G(t),(function(e){return e+r+z(G(t[e]),(function(n){return n+":"+t[e][n]+";"})).join(i)+o})).join(i),s=z(G(e),(function(t){return"@keyframes "+t+r+z(G(e[t]),(function(n){return n+r+z(G(e[t][n]),(function(i){var r=e[t][n][i];return"d"===i&&(r='path("'+r+'")'),i+":"+r+";"})).join(i)+o})).join(i)+o})).join(i);return a||s?[""].join(i):""}(o.cssNodes,o.cssAnims,{newline:!0});if(p){var d=Xb("style","stl",{},[],p);a.push(d)}}return qb(i,r,a,t.useViewBox)},t.prototype.renderToString=function(t){return t=t||{},Zb(this.renderToVNode({animation:rt(t.cssAnimation,!0),willUpdate:!1,compress:!0,useViewBox:rt(t.useViewBox,!0)}),{newline:!0})},t.prototype.setBackgroundColor=function(t){this._backgroundColor=t;var e=this._bgVNode;if(e&&e.elm){var n=oi(t),i=n.color,r=n.opacity;e.elm.setAttribute("fill",i),r<1&&e.elm.setAttribute("fill-opacity",r)}},t.prototype.getSvgRoot=function(){return this._mainVNode&&this._mainVNode.elm},t.prototype._paintList=function(t,e,n){for(var i,r,o=t.length,a=[],s=0,l=0,u=0;u=0&&(!c||!r||c[f]!==r[f]);f--);for(var g=d-1;g>f;g--)i=a[--s-1];for(var y=f+1;y=a)}}for(var h=this.__startIndex;h15)break}n.prevElClipPaths&&u.restore()};if(p)if(0===p.length)s=l.__endIndex;else for(var _=d.dpr,b=0;b0&&t>i[0]){for(s=0;st);s++);a=n[i[s]]}if(i.splice(s+1,0,t),n[t]=e,!e.virtual)if(a){var l=a.dom;l.nextSibling?o.insertBefore(e.dom,l.nextSibling):o.appendChild(e.dom)}else o.firstChild?o.insertBefore(e.dom,o.firstChild):o.appendChild(e.dom);e.__painter=this}},t.prototype.eachLayer=function(t,e){for(var n=this._zlevelList,i=0;i0?Ww:0),this._needsManuallyCompositing),u.__builtin__||I("ZLevel "+l+" has been used by unkown layer "+u.id),u!==o&&(u.__used=!0,u.__startIndex!==r&&(u.__dirty=!0),u.__startIndex=r,u.incremental?u.__drawIndex=-1:u.__drawIndex=r,e(r),o=u),1&s.__dirty&&!s.__inHover&&(u.__dirty=!0,u.incremental&&u.__drawIndex<0&&(u.__drawIndex=r))}e(r),this.eachBuiltinLayer((function(t,e){!t.__used&&t.getElementCount()>0&&(t.__dirty=!0,t.__startIndex=t.__endIndex=t.__drawIndex=0),t.__dirty&&t.__drawIndex<0&&(t.__drawIndex=t.__startIndex)}))},t.prototype.clear=function(){return this.eachBuiltinLayer(this._clearLayer),this},t.prototype._clearLayer=function(t){t.clear()},t.prototype.setBackgroundColor=function(t){this._backgroundColor=t,E(this._layers,(function(t){t.setUnpainted()}))},t.prototype.configLayer=function(t,e){if(e){var n=this._layerConfig;n[t]?C(n[t],e,!0):n[t]=e;for(var i=0;i-1&&(s.style.stroke=s.style.fill,s.style.fill="#fff",s.style.lineWidth=2),e},e.type="series.line",e.dependencies=["grid","polar"],e.defaultOption={z:3,coordinateSystem:"cartesian2d",legendHoverLink:!0,clip:!0,label:{position:"top"},endLabel:{show:!1,valueAnimation:!0,distance:8},lineStyle:{width:2,type:"solid"},emphasis:{scale:!0},step:!1,smooth:!1,smoothMonotone:null,symbol:"emptyCircle",symbolSize:4,symbolRotate:null,showSymbol:!0,showAllSymbol:"auto",connectNulls:!1,sampling:"none",animationEasing:"linear",progressive:0,hoverLayerThreshold:1/0,universalTransition:{divideShape:"clone"},triggerLineEvent:!1},e}(hg);function Uw(t,e){var n=t.mapDimensionsAll("defaultedLabel"),i=n.length;if(1===i){var r=uf(t,e,n[0]);return null!=r?r+"":null}if(i){for(var o=[],a=0;a=0&&i.push(e[o])}return i.join(" ")}var Zw=function(t){function e(e,n,i,r){var o=t.call(this)||this;return o.updateData(e,n,i,r),o}return n(e,t),e.prototype._createSymbol=function(t,e,n,i,r){this.removeAll();var o=Ry(t,-1,-1,2,2,null,r);o.attr({z2:100,culling:!0,scaleX:i[0]/2,scaleY:i[1]/2}),o.drift=jw,this._symbolType=t,this.add(o)},e.prototype.stopSymbolAnimation=function(t){this.childAt(0).stopAnimation(null,t)},e.prototype.getSymbolType=function(){return this._symbolType},e.prototype.getSymbolPath=function(){return this.childAt(0)},e.prototype.highlight=function(){Il(this.childAt(0))},e.prototype.downplay=function(){Tl(this.childAt(0))},e.prototype.setZ=function(t,e){var n=this.childAt(0);n.zlevel=t,n.z=e},e.prototype.setDraggable=function(t,e){var n=this.childAt(0);n.draggable=t,n.cursor=!e&&t?"move":n.cursor},e.prototype.updateData=function(t,n,i,r){this.silent=!1;var o=t.getItemVisual(n,"symbol")||"circle",a=t.hostModel,s=e.getSymbolSize(t,n),l=o!==this._symbolType,u=r&&r.disableAnimation;if(l){var h=t.getItemVisual(n,"symbolKeepAspect");this._createSymbol(o,t,n,s,h)}else{(p=this.childAt(0)).silent=!1;var c={scaleX:s[0]/2,scaleY:s[1]/2};u?p.attr(c):uh(p,c,a,n),gh(p)}if(this._updateCommon(t,n,s,i,r),l){var p=this.childAt(0);if(!u){c={scaleX:this._sizeX,scaleY:this._sizeY,style:{opacity:p.style.opacity}};p.scaleX=p.scaleY=0,p.style.opacity=0,hh(p,c,a,n)}}u&&this.childAt(0).stopAnimation("leave")},e.prototype._updateCommon=function(t,e,n,i,r){var o,a,s,l,u,h,c,p,d,f=this.childAt(0),g=t.hostModel;if(i&&(o=i.emphasisItemStyle,a=i.blurItemStyle,s=i.selectItemStyle,l=i.focus,u=i.blurScope,c=i.labelStatesModels,p=i.hoverScale,d=i.cursorStyle,h=i.emphasisDisabled),!i||t.hasItemOption){var y=i&&i.itemModel?i.itemModel:t.getItemModel(e),v=y.getModel("emphasis");o=v.getModel("itemStyle").getItemStyle(),s=y.getModel(["select","itemStyle"]).getItemStyle(),a=y.getModel(["blur","itemStyle"]).getItemStyle(),l=v.get("focus"),u=v.get("blurScope"),h=v.get("disabled"),c=Kh(y),p=v.getShallow("scale"),d=y.getShallow("cursor")}var m=t.getItemVisual(e,"symbolRotate");f.attr("rotation",(m||0)*Math.PI/180||0);var x=Ey(t.getItemVisual(e,"symbolOffset"),n);x&&(f.x=x[0],f.y=x[1]),d&&f.attr("cursor",d);var _=t.getItemVisual(e,"style"),b=_.fill;if(f instanceof Is){var w=f.style;f.useStyle(A({image:w.image,x:w.x,y:w.y,width:w.width,height:w.height},_))}else f.__isEmptyBrush?f.useStyle(A({},_)):f.useStyle(_),f.style.decal=null,f.setColor(b,r&&r.symbolInnerColor),f.style.strokeNoScale=!0;var S=t.getItemVisual(e,"liftZ"),M=this._z2;null!=S?null==M&&(this._z2=f.z2,f.z2+=S):null!=M&&(f.z2=M,this._z2=null);var I=r&&r.useNameLabel;qh(f,c,{labelFetcher:g,labelDataIndex:e,defaultText:function(e){return I?t.getName(e):Uw(t,e)},inheritColor:b,defaultOpacity:_.opacity}),this._sizeX=n[0]/2,this._sizeY=n[1]/2;var T=f.ensureState("emphasis");T.style=o,f.ensureState("select").style=s,f.ensureState("blur").style=a;var C=null==p||!0===p?Math.max(1.1,3/this._sizeY):isFinite(p)&&p>0?+p:1;T.scaleX=this._sizeX*C,T.scaleY=this._sizeY*C,this.setSymbolScale(1),Bl(this,l,u,h)},e.prototype.setSymbolScale=function(t){this.scaleX=this.scaleY=t},e.prototype.fadeOut=function(t,e,n){var i=this.childAt(0),r=js(this).dataIndex,o=n&&n.animation;if(this.silent=i.silent=!0,n&&n.fadeLabel){var a=i.getTextContent();a&&ph(a,{style:{opacity:0}},e,{dataIndex:r,removeOpt:o,cb:function(){i.removeTextContent()}})}else i.removeTextContent();ph(i,{style:{opacity:0},scaleX:0,scaleY:0},e,{dataIndex:r,cb:t,removeOpt:o})},e.getSymbolSize=function(t,e){return Ny(t.getItemVisual(e,"symbolSize"))},e}(Pr);function jw(t,e){this.parent.drift(t,e)}function qw(t,e,n,i){return e&&!isNaN(e[0])&&!isNaN(e[1])&&!(i.isIgnore&&i.isIgnore(n))&&!(i.clipShape&&!i.clipShape.contain(e[0],e[1]))&&"none"!==t.getItemVisual(n,"symbol")}function Kw(t){return null==t||q(t)||(t={isIgnore:t}),t||{}}function $w(t){var e=t.hostModel,n=e.getModel("emphasis");return{emphasisItemStyle:n.getModel("itemStyle").getItemStyle(),blurItemStyle:e.getModel(["blur","itemStyle"]).getItemStyle(),selectItemStyle:e.getModel(["select","itemStyle"]).getItemStyle(),focus:n.get("focus"),blurScope:n.get("blurScope"),emphasisDisabled:n.get("disabled"),hoverScale:n.get("scale"),labelStatesModels:Kh(e),cursorStyle:e.get("cursor")}}var Jw=function(){function t(t){this.group=new Pr,this._SymbolCtor=t||Zw}return t.prototype.updateData=function(t,e){this._progressiveEls=null,e=Kw(e);var n=this.group,i=t.hostModel,r=this._data,o=this._SymbolCtor,a=e.disableAnimation,s=$w(t),l={disableAnimation:a},u=e.getSymbolPoint||function(e){return t.getItemLayout(e)};r||n.removeAll(),t.diff(r).add((function(i){var r=u(i);if(qw(t,r,i,e)){var a=new o(t,i,s,l);a.setPosition(r),t.setItemGraphicEl(i,a),n.add(a)}})).update((function(h,c){var p=r.getItemGraphicEl(c),d=u(h);if(qw(t,d,h,e)){var f=t.getItemVisual(h,"symbol")||"circle",g=p&&p.getSymbolType&&p.getSymbolType();if(!p||g&&g!==f)n.remove(p),(p=new o(t,h,s,l)).setPosition(d);else{p.updateData(t,h,s,l);var y={x:d[0],y:d[1]};a?p.attr(y):uh(p,y,i)}n.add(p),t.setItemGraphicEl(h,p)}else n.remove(p)})).remove((function(t){var e=r.getItemGraphicEl(t);e&&e.fadeOut((function(){n.remove(e)}),i)})).execute(),this._getSymbolPoint=u,this._data=t},t.prototype.updateLayout=function(){var t=this,e=this._data;e&&e.eachItemGraphicEl((function(e,n){var i=t._getSymbolPoint(n);e.setPosition(i),e.markRedraw()}))},t.prototype.incrementalPrepareUpdate=function(t){this._seriesScope=$w(t),this._data=null,this.group.removeAll()},t.prototype.incrementalUpdate=function(t,e,n){function i(t){t.isGroup||(t.incremental=!0,t.ensureState("emphasis").hoverLayer=!0)}this._progressiveEls=[],n=Kw(n);for(var r=t.start;r0?n=i[0]:i[1]<0&&(n=i[1]);return n}(r,n),a=i.dim,s=r.dim,l=e.mapDimension(s),u=e.mapDimension(a),h="x"===s||"radius"===s?1:0,c=z(t.dimensions,(function(t){return e.mapDimension(t)})),p=!1,d=e.getCalculationInfo("stackResultDimension");return ox(e,c[0])&&(p=!0,c[0]=d),ox(e,c[1])&&(p=!0,c[1]=d),{dataDimsForPoint:c,valueStart:o,valueAxisDim:s,baseAxisDim:a,stacked:!!p,valueDim:l,baseDim:u,baseDataOffset:h,stackedOverDimension:e.getCalculationInfo("stackedOverDimension")}}function tS(t,e,n,i){var r=NaN;t.stacked&&(r=n.get(n.getCalculationInfo("stackedOverDimension"),i)),isNaN(r)&&(r=t.valueStart);var o=t.baseDataOffset,a=[];return a[o]=n.get(t.baseDim,i),a[1-o]=r,e.dataToPoint(a)}var eS=Math.min,nS=Math.max;function iS(t,e){return isNaN(t)||isNaN(e)}function rS(t,e,n,i,r,o,a,s,l){for(var u,h,c,p,d,f,g=n,y=0;y=r||g<0)break;if(iS(v,m)){if(l){g+=o;continue}break}if(g===n)t[o>0?"moveTo":"lineTo"](v,m),c=v,p=m;else{var x=v-u,_=m-h;if(x*x+_*_<.5){g+=o;continue}if(a>0){for(var b=g+o,w=e[2*b],S=e[2*b+1];w===v&&S===m&&y=i||iS(w,S))d=v,f=m;else{T=w-u,C=S-h;var k=v-u,L=w-v,P=m-h,O=S-m,R=void 0,N=void 0;if("x"===s){var E=T>0?1:-1;d=v-E*(R=Math.abs(k))*a,f=m,D=v+E*(N=Math.abs(L))*a,A=m}else if("y"===s){var z=C>0?1:-1;d=v,f=m-z*(R=Math.abs(P))*a,D=v,A=m+z*(N=Math.abs(O))*a}else R=Math.sqrt(k*k+P*P),d=v-T*a*(1-(I=(N=Math.sqrt(L*L+O*O))/(N+R))),f=m-C*a*(1-I),A=m+C*a*I,D=eS(D=v+T*a*I,nS(w,v)),A=eS(A,nS(S,m)),D=nS(D,eS(w,v)),f=m-(C=(A=nS(A,eS(S,m)))-m)*R/N,d=eS(d=v-(T=D-v)*R/N,nS(u,v)),f=eS(f,nS(h,m)),D=v+(T=v-(d=nS(d,eS(u,v))))*N/R,A=m+(C=m-(f=nS(f,eS(h,m))))*N/R}t.bezierCurveTo(c,p,d,f,v,m),c=D,p=A}else t.lineTo(v,m)}u=v,h=m,g+=o}return y}var oS=function(){this.smooth=0,this.smoothConstraint=!0},aS=function(t){function e(e){var n=t.call(this,e)||this;return n.type="ec-polyline",n}return n(e,t),e.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},e.prototype.getDefaultShape=function(){return new oS},e.prototype.buildPath=function(t,e){var n=e.points,i=0,r=n.length/2;if(e.connectNulls){for(;r>0&&iS(n[2*r-2],n[2*r-1]);r--);for(;i=0){var y=a?(h-i)*g+i:(u-n)*g+n;return a?[t,y]:[y,t]}n=u,i=h;break;case o.C:u=r[l++],h=r[l++],c=r[l++],p=r[l++],d=r[l++],f=r[l++];var v=a?vn(n,u,c,d,t,s):vn(i,h,p,f,t,s);if(v>0)for(var m=0;m=0){y=a?gn(i,h,p,f,x):gn(n,u,c,d,x);return a?[t,y]:[y,t]}}n=d,i=f}}},e}(_s),sS=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e}(oS),lS=function(t){function e(e){var n=t.call(this,e)||this;return n.type="ec-polygon",n}return n(e,t),e.prototype.getDefaultShape=function(){return new sS},e.prototype.buildPath=function(t,e){var n=e.points,i=e.stackedOnPoints,r=0,o=n.length/2,a=e.smoothMonotone;if(e.connectNulls){for(;o>0&&iS(n[2*o-2],n[2*o-1]);o--);for(;r=0;a--){var s=t.getDimensionInfo(i[a].dimension);if("x"===(r=s&&s.coordDim)||"y"===r){o=i[a];break}}if(o){var l=e.getAxis(r),u=z(o.stops,(function(t){return{coord:l.toGlobalCoord(l.dataToCoord(t.value)),color:t.color}})),h=u.length,c=o.outerColors.slice();h&&u[0].coord>u[h-1].coord&&(u.reverse(),c.reverse());var p=function(t,e){var n,i,r=[],o=t.length;function a(t,e,n){var i=t.coord;return{coord:n,color:$n((n-i)/(e.coord-i),[t.color,e.color])}}for(var s=0;se){i?r.push(a(i,l,e)):n&&r.push(a(n,l,0),a(n,l,e));break}n&&(r.push(a(n,l,0)),n=null),r.push(l),i=l}}return r}(u,"x"===r?n.getWidth():n.getHeight()),d=p.length;if(!d&&h)return u[0].coord<0?c[1]?c[1]:u[h-1].color:c[0]?c[0]:u[0].color;var f=p[0].coord-10,g=p[d-1].coord+10,y=g-f;if(y<.001)return"transparent";E(p,(function(t){t.offset=(t.coord-f)/y})),p.push({offset:d?p[d-1].offset:.5,color:c[1]||"transparent"}),p.unshift({offset:d?p[0].offset:.5,color:c[0]||"transparent"});var v=new $u(0,0,0,0,p,!0);return v[r]=f,v[r+"2"]=g,v}}}function xS(t,e,n){var i=t.get("showAllSymbol"),r="auto"===i;if(!i||r){var o=n.getAxesByScale("ordinal")[0];if(o&&(!r||!function(t,e){var n=t.getExtent(),i=Math.abs(n[1]-n[0])/t.scale.count();isNaN(i)&&(i=0);for(var r=e.count(),o=Math.max(1,Math.round(r/5)),a=0;ai)return!1;return!0}(o,e))){var a=e.mapDimension(o.dim),s={};return E(o.getViewLabels(),(function(t){var e=o.scale.getRawOrdinalNumber(t.tickValue);s[e]=1})),function(t){return!s.hasOwnProperty(e.get(a,t))}}}}function _S(t,e){return[t[2*e],t[2*e+1]]}function bS(t){if(t.get(["endLabel","show"]))return!0;for(var e=0;e0&&"bolder"===t.get(["emphasis","lineStyle","width"]))&&(d.getState("emphasis").style.lineWidth=+d.style.lineWidth+1);js(d).seriesIndex=t.seriesIndex,Bl(d,L,P,O);var R=yS(t.get("smooth")),N=t.get("smoothMonotone");if(d.setShape({smooth:R,smoothMonotone:N,connectNulls:w}),f){var E=a.getCalculationInfo("stackedOnSeries"),z=0;f.useStyle(k(l.getAreaStyle(),{fill:C,opacity:.7,lineJoin:"bevel",decal:a.getVisual("style").decal})),E&&(z=yS(E.get("smooth"))),f.setShape({smooth:R,stackedOnSmooth:z,smoothMonotone:N,connectNulls:w}),Hl(f,t,"areaStyle"),js(f).seriesIndex=t.seriesIndex,Bl(f,L,P,O)}var V=function(t){i._changePolyState(t)};a.eachItemGraphicEl((function(t){t&&(t.onHoverStateChange=V)})),this._polyline.onHoverStateChange=V,this._data=a,this._coordSys=r,this._stackedOnPoints=_,this._points=u,this._step=T,this._valueOrigin=m,t.get("triggerLineEvent")&&(this.packEventData(t,d),f&&this.packEventData(t,f))},e.prototype.packEventData=function(t,e){js(e).eventData={componentType:"series",componentSubType:"line",componentIndex:t.componentIndex,seriesIndex:t.seriesIndex,seriesName:t.name,seriesType:"line"}},e.prototype.highlight=function(t,e,n,i){var r=t.getData(),o=Co(r,i);if(this._changePolyState("emphasis"),!(o instanceof Array)&&null!=o&&o>=0){var a=r.getLayout("points"),s=r.getItemGraphicEl(o);if(!s){var l=a[2*o],u=a[2*o+1];if(isNaN(l)||isNaN(u))return;if(this._clipShapeForSymbol&&!this._clipShapeForSymbol.contain(l,u))return;var h=t.get("zlevel")||0,c=t.get("z")||0;(s=new Zw(r,o)).x=l,s.y=u,s.setZ(h,c);var p=s.getSymbolPath().getTextContent();p&&(p.zlevel=h,p.z=c,p.z2=this._polyline.z2+1),s.__temp=!0,r.setItemGraphicEl(o,s),s.stopSymbolAnimation(!0),this.group.add(s)}s.highlight()}else wg.prototype.highlight.call(this,t,e,n,i)},e.prototype.downplay=function(t,e,n,i){var r=t.getData(),o=Co(r,i);if(this._changePolyState("normal"),null!=o&&o>=0){var a=r.getItemGraphicEl(o);a&&(a.__temp?(r.setItemGraphicEl(o,null),this.group.remove(a)):a.downplay())}else wg.prototype.downplay.call(this,t,e,n,i)},e.prototype._changePolyState=function(t){var e=this._polygon;_l(this._polyline,t),e&&_l(e,t)},e.prototype._newPolyline=function(t){var e=this._polyline;return e&&this._lineGroup.remove(e),e=new aS({shape:{points:t},segmentIgnoreThreshold:2,z2:10}),this._lineGroup.add(e),this._polyline=e,e},e.prototype._newPolygon=function(t,e){var n=this._polygon;return n&&this._lineGroup.remove(n),n=new lS({shape:{points:t,stackedOnPoints:e},segmentIgnoreThreshold:2}),this._lineGroup.add(n),this._polygon=n,n},e.prototype._initSymbolLabelAnimation=function(t,e,n){var i,r,o=e.getBaseAxis(),a=o.inverse;"cartesian2d"===e.type?(i=o.isHorizontal(),r=!1):"polar"===e.type&&(i="angle"===o.dim,r=!0);var s=t.hostModel,l=s.get("animationDuration");U(l)&&(l=l(null));var u=s.get("animationDelay")||0,h=U(u)?u(null):u;t.eachItemGraphicEl((function(t,o){var s=t;if(s){var c=[t.x,t.y],p=void 0,d=void 0,f=void 0;if(n)if(r){var g=n,y=e.pointToCoord(c);i?(p=g.startAngle,d=g.endAngle,f=-y[1]/180*Math.PI):(p=g.r0,d=g.r,f=y[0])}else{var v=n;i?(p=v.x,d=v.x+v.width,f=t.x):(p=v.y+v.height,d=v.y,f=t.y)}var m=d===p?0:(f-p)/(d-p);a&&(m=1-m);var x=U(u)?u(o):l*m+h,_=s.getSymbolPath(),b=_.getTextContent();s.attr({scaleX:0,scaleY:0}),s.animateTo({scaleX:1,scaleY:1},{duration:200,setToFinal:!0,delay:x}),b&&b.animateFrom({style:{opacity:0}},{duration:300,delay:x}),_.disableLabelAnimation=!0}}))},e.prototype._initOrUpdateEndLabel=function(t,e,n){var i=t.getModel("endLabel");if(bS(t)){var r=t.getData(),o=this._polyline,a=r.getLayout("points");if(!a)return o.removeTextContent(),void(this._endLabel=null);var s=this._endLabel;s||((s=this._endLabel=new Ns({z2:200})).ignoreClip=!0,o.setTextContent(this._endLabel),o.disableLabelAnimation=!0);var l=function(t){for(var e,n,i=t.length/2;i>0&&(e=t[2*i-2],n=t[2*i-1],isNaN(e)||isNaN(n));i--);return i-1}(a);l>=0&&(qh(o,Kh(t,"endLabel"),{inheritColor:n,labelFetcher:t,labelDataIndex:l,defaultText:function(t,e,n){return null!=n?Xw(r,n):Uw(r,t)},enableTextSetter:!0},function(t,e){var n=e.getBaseAxis(),i=n.isHorizontal(),r=n.inverse,o=i?r?"right":"left":"center",a=i?"middle":r?"top":"bottom";return{normal:{align:t.get("align")||o,verticalAlign:t.get("verticalAlign")||a}}}(i,e)),o.textConfig.position=null)}else this._endLabel&&(this._polyline.removeTextContent(),this._endLabel=null)},e.prototype._endLabelOnDuring=function(t,e,n,i,r,o,a){var s=this._endLabel,l=this._polyline;if(s){t<1&&null==i.originalX&&(i.originalX=s.x,i.originalY=s.y);var u=n.getLayout("points"),h=n.hostModel,c=h.get("connectNulls"),p=o.get("precision"),d=o.get("distance")||0,f=a.getBaseAxis(),g=f.isHorizontal(),y=f.inverse,v=e.shape,m=y?g?v.x:v.y+v.height:g?v.x+v.width:v.y,x=(g?d:0)*(y?-1:1),_=(g?0:-d)*(y?-1:1),b=g?"x":"y",w=function(t,e,n){for(var i,r,o=t.length/2,a="x"===n?0:1,s=0,l=-1,u=0;u=e||i>=e&&r<=e){l=u;break}s=u,i=r}else i=r;return{range:[s,l],t:(e-i)/(r-i)}}(u,m,b),S=w.range,M=S[1]-S[0],I=void 0;if(M>=1){if(M>1&&!c){var T=_S(u,S[0]);s.attr({x:T[0]+x,y:T[1]+_}),r&&(I=h.getRawValue(S[0]))}else{(T=l.getPointOn(m,b))&&s.attr({x:T[0]+x,y:T[1]+_});var C=h.getRawValue(S[0]),D=h.getRawValue(S[1]);r&&(I=zo(n,p,C,D,w.t))}i.lastFrameIndex=S[0]}else{var A=1===t||i.lastFrameIndex>0?S[0]:0;T=_S(u,A);r&&(I=h.getRawValue(A)),s.attr({x:T[0]+x,y:T[1]+_})}r&&rc(s).setLabelText(I)}},e.prototype._doUpdateAnimation=function(t,e,n,i,r,o,a){var s=this._polyline,l=this._polygon,u=t.hostModel,h=function(t,e,n,i,r,o,a,s){for(var l=function(t,e){var n=[];return e.diff(t).add((function(t){n.push({cmd:"+",idx:t})})).update((function(t,e){n.push({cmd:"=",idx:e,idx1:t})})).remove((function(t){n.push({cmd:"-",idx:t})})).execute(),n}(t,e),u=[],h=[],c=[],p=[],d=[],f=[],g=[],y=Qw(r,e,a),v=t.getLayout("points")||[],m=e.getLayout("points")||[],x=0;x3e3||l&&gS(p,f)>3e3)return s.stopAnimation(),s.setShape({points:d}),void(l&&(l.stopAnimation(),l.setShape({points:d,stackedOnPoints:f})));s.shape.__points=h.current,s.shape.points=c;var g={shape:{points:d}};h.current!==c&&(g.shape.__points=h.next),s.stopAnimation(),uh(s,g,u),l&&(l.setShape({points:c,stackedOnPoints:p}),l.stopAnimation(),uh(l,{shape:{stackedOnPoints:f}},u),s.shape.points!==l.shape.points&&(l.shape.points=s.shape.points));for(var y=[],v=h.status,m=0;me&&(e=t[n]);return isFinite(e)?e:NaN},min:function(t){for(var e=1/0,n=0;n10&&"cartesian2d"===o.type&&r){var s=o.getBaseAxis(),l=o.getOtherAxis(s),u=s.getExtent(),h=n.getDevicePixelRatio(),c=Math.abs(u[1]-u[0])*(h||1),p=Math.round(a/c);if(isFinite(p)&&p>1){"lttb"===r&&t.setData(i.lttbDownSample(i.mapDimension(l.dim),1/p));var d=void 0;X(r)?d=IS[r]:U(r)&&(d=r),d&&t.setData(i.downSample(i.mapDimension(l.dim),1/p,d,TS))}}}}}var DS=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.getInitialData=function(t,e){return sx(null,this,{useEncodeDefaulter:!0})},e.prototype.getMarkerPosition=function(t){var e=this.coordinateSystem;if(e&&e.clampData){var n=e.dataToPoint(e.clampData(t)),i=this.getData(),r=i.getLayout("offset"),o=i.getLayout("size");return n[e.getBaseAxis().isHorizontal()?0:1]+=r+o/2,n}return[NaN,NaN]},e.type="series.__base_bar__",e.defaultOption={z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,barMinHeight:0,barMinAngle:0,large:!1,largeThreshold:400,progressive:3e3,progressiveChunkMode:"mod"},e}(hg);hg.registerClass(DS);var AS=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.getInitialData=function(){return sx(null,this,{useEncodeDefaulter:!0,createInvertedIndices:!!this.get("realtimeSort",!0)||null})},e.prototype.getProgressive=function(){return!!this.get("large")&&this.get("progressive")},e.prototype.getProgressiveThreshold=function(){var t=this.get("progressiveThreshold"),e=this.get("largeThreshold");return e>t&&(t=e),t},e.prototype.brushSelector=function(t,e,n){return n.rect(e.getItemLayout(t))},e.type="series.bar",e.dependencies=["grid","polar"],e.defaultOption=wc(DS.defaultOption,{clip:!0,roundCap:!1,showBackground:!1,backgroundStyle:{color:"rgba(180, 180, 180, 0.2)",borderColor:null,borderWidth:0,borderType:"solid",borderRadius:0,shadowBlur:0,shadowColor:null,shadowOffsetX:0,shadowOffsetY:0,opacity:1},select:{itemStyle:{borderColor:"#212121"}},realtimeSort:!1}),e}(DS),kS=function(){this.cx=0,this.cy=0,this.r0=0,this.r=0,this.startAngle=0,this.endAngle=2*Math.PI,this.clockwise=!0},LS=function(t){function e(e){var n=t.call(this,e)||this;return n.type="sausage",n}return n(e,t),e.prototype.getDefaultShape=function(){return new kS},e.prototype.buildPath=function(t,e){var n=e.cx,i=e.cy,r=Math.max(e.r0||0,0),o=Math.max(e.r,0),a=.5*(o-r),s=r+a,l=e.startAngle,u=e.endAngle,h=e.clockwise,c=2*Math.PI,p=h?u-lo)return!0;o=u}return!1},e.prototype._isOrderDifferentInView=function(t,e){for(var n=e.scale,i=n.getExtent(),r=Math.max(0,i[0]),o=Math.min(i[1],n.getOrdinalMeta().categories.length-1);r<=o;++r)if(t.ordinalNumbers[r]!==n.getRawOrdinalNumber(r))return!0},e.prototype._updateSortWithinSameData=function(t,e,n,i){if(this._isOrderChangedWithinSameData(t,e,n)){var r=this._dataSort(t,n,e);this._isOrderDifferentInView(r,n)&&(this._removeOnRenderedListener(i),i.dispatchAction({type:"changeAxisOrder",componentType:n.dim+"Axis",axisId:n.index,sortInfo:r}))}},e.prototype._dispatchInitSort=function(t,e,n){var i=e.baseAxis,r=this._dataSort(t,i,(function(n){return t.get(t.mapDimension(e.otherAxis.dim),n)}));n.dispatchAction({type:"changeAxisOrder",componentType:i.dim+"Axis",isInitSort:!0,axisId:i.index,sortInfo:r})},e.prototype.remove=function(t,e){this._clear(this._model),this._removeOnRenderedListener(e)},e.prototype.dispose=function(t,e){this._removeOnRenderedListener(e)},e.prototype._removeOnRenderedListener=function(t){this._onRendered&&(t.getZr().off("rendered",this._onRendered),this._onRendered=null)},e.prototype._clear=function(t){var e=this.group,n=this._data;t&&t.isAnimationEnabled()&&n&&!this._isLargeDraw?(this._removeBackground(),this._backgroundEls=[],n.eachItemGraphicEl((function(e){fh(e,t,js(e).dataIndex)}))):e.removeAll(),this._data=null,this._isFirstFrame=!0},e.prototype._removeBackground=function(){this.group.remove(this._backgroundGroup),this._backgroundGroup=null},e.type="bar",e}(wg),zS={cartesian2d:function(t,e){var n=e.width<0?-1:1,i=e.height<0?-1:1;n<0&&(e.x+=e.width,e.width=-e.width),i<0&&(e.y+=e.height,e.height=-e.height);var r=t.x+t.width,o=t.y+t.height,a=RS(e.x,t.x),s=NS(e.x+e.width,r),l=RS(e.y,t.y),u=NS(e.y+e.height,o),h=sr?s:a,e.y=c&&l>o?u:l,e.width=h?0:s-a,e.height=c?0:u-l,n<0&&(e.x+=e.width,e.width=-e.width),i<0&&(e.y+=e.height,e.height=-e.height),h||c},polar:function(t,e){var n=e.r0<=e.r?1:-1;if(n<0){var i=e.r;e.r=e.r0,e.r0=i}var r=NS(e.r,t.r),o=RS(e.r0,t.r0);e.r=r,e.r0=o;var a=r-o<0;if(n<0){i=e.r;e.r=e.r0,e.r0=i}return a}},VS={cartesian2d:function(t,e,n,i,r,o,a,s,l){var u=new Ps({shape:A({},i),z2:1});(u.__dataIndex=n,u.name="item",o)&&(u.shape[r?"height":"width"]=0);return u},polar:function(t,e,n,i,r,o,a,s,l){var u=!r&&l?LS:Pu,h=new u({shape:i,z2:1});h.name="item";var c,p,d=US(r);if(h.calculateTextPosition=(c=d,p=({isRoundCap:u===LS}||{}).isRoundCap,function(t,e,n){var i=e.position;if(!i||i instanceof Array)return br(t,e,n);var r=c(i),o=null!=e.distance?e.distance:5,a=this.shape,s=a.cx,l=a.cy,u=a.r,h=a.r0,d=(u+h)/2,f=a.startAngle,g=a.endAngle,y=(f+g)/2,v=p?Math.abs(u-h)/2:0,m=Math.cos,x=Math.sin,_=s+u*m(f),b=l+u*x(f),w="left",S="top";switch(r){case"startArc":_=s+(h-o)*m(y),b=l+(h-o)*x(y),w="center",S="top";break;case"insideStartArc":_=s+(h+o)*m(y),b=l+(h+o)*x(y),w="center",S="bottom";break;case"startAngle":_=s+d*m(f)+PS(f,o+v,!1),b=l+d*x(f)+OS(f,o+v,!1),w="right",S="middle";break;case"insideStartAngle":_=s+d*m(f)+PS(f,-o+v,!1),b=l+d*x(f)+OS(f,-o+v,!1),w="left",S="middle";break;case"middle":_=s+d*m(y),b=l+d*x(y),w="center",S="middle";break;case"endArc":_=s+(u+o)*m(y),b=l+(u+o)*x(y),w="center",S="bottom";break;case"insideEndArc":_=s+(u-o)*m(y),b=l+(u-o)*x(y),w="center",S="top";break;case"endAngle":_=s+d*m(g)+PS(g,o+v,!0),b=l+d*x(g)+OS(g,o+v,!0),w="left",S="middle";break;case"insideEndAngle":_=s+d*m(g)+PS(g,-o+v,!0),b=l+d*x(g)+OS(g,-o+v,!0),w="right",S="middle";break;default:return br(t,e,n)}return(t=t||{}).x=_,t.y=b,t.align=w,t.verticalAlign=S,t}),o){var f=r?"r":"endAngle",g={};h.shape[f]=r?0:i.startAngle,g[f]=i[f],(s?uh:hh)(h,{shape:g},o)}return h}};function BS(t,e,n,i,r,o,a,s){var l,u;o?(u={x:i.x,width:i.width},l={y:i.y,height:i.height}):(u={y:i.y,height:i.height},l={x:i.x,width:i.width}),s||(a?uh:hh)(n,{shape:l},e,r,null),(a?uh:hh)(n,{shape:u},e?t.baseAxis.model:null,r)}function FS(t,e){for(var n=0;n0?1:-1,a=i.height>0?1:-1;return{x:i.x+o*r/2,y:i.y+a*r/2,width:i.width-o*r,height:i.height-a*r}},polar:function(t,e,n){var i=t.getItemLayout(e);return{cx:i.cx,cy:i.cy,r0:i.r0,r:i.r,startAngle:i.startAngle,endAngle:i.endAngle,clockwise:i.clockwise}}};function US(t){return function(t){var e=t?"Arc":"Angle";return function(t){switch(t){case"start":case"insideStart":case"end":case"insideEnd":return t+e;default:return t}}}(t)}function XS(t,e,n,i,r,o,a,s){var l=e.getItemVisual(n,"style");s||t.setShape("r",i.get(["itemStyle","borderRadius"])||0),t.useStyle(l);var u=i.getShallow("cursor");u&&t.attr("cursor",u);var h=s?a?r.r>=r.r0?"endArc":"startArc":r.endAngle>=r.startAngle?"endAngle":"startAngle":a?r.height>=0?"bottom":"top":r.width>=0?"right":"left",c=Kh(i);qh(t,c,{labelFetcher:o,labelDataIndex:n,defaultText:Uw(o.getData(),n),inheritColor:l.fill,defaultOpacity:l.opacity,defaultOutsidePosition:h});var p=t.getTextContent();if(s&&p){var d=i.get(["label","position"]);t.textConfig.inside="middle"===d||null,function(t,e,n,i){if(j(i))t.setTextConfig({rotation:i});else if(Y(e))t.setTextConfig({rotation:0});else{var r,o=t.shape,a=o.clockwise?o.startAngle:o.endAngle,s=o.clockwise?o.endAngle:o.startAngle,l=(a+s)/2,u=n(e);switch(u){case"startArc":case"insideStartArc":case"middle":case"insideEndArc":case"endArc":r=l;break;case"startAngle":case"insideStartAngle":r=a;break;case"endAngle":case"insideEndAngle":r=s;break;default:return void t.setTextConfig({rotation:0})}var h=1.5*Math.PI-r;"middle"===u&&h>Math.PI/2&&h<1.5*Math.PI&&(h-=Math.PI),t.setTextConfig({rotation:h})}}(t,"outside"===d?h:d,US(a),i.get(["label","rotate"]))}oc(p,c,o.getRawValue(n),(function(t){return Xw(e,t)}));var f=i.getModel(["emphasis"]);Bl(t,f.get("focus"),f.get("blurScope"),f.get("disabled")),Hl(t,i),function(t){return null!=t.startAngle&&null!=t.endAngle&&t.startAngle===t.endAngle}(r)&&(t.style.fill="none",t.style.stroke="none",E(t.states,(function(t){t.style&&(t.style.fill=t.style.stroke="none")})))}var ZS=function(){},jS=function(t){function e(e){var n=t.call(this,e)||this;return n.type="largeBar",n}return n(e,t),e.prototype.getDefaultShape=function(){return new ZS},e.prototype.buildPath=function(t,e){for(var n=e.points,i=this.baseDimIdx,r=1-this.baseDimIdx,o=[],a=[],s=this.barWidth,l=0;l=s[0]&&e<=s[0]+l[0]&&n>=s[1]&&n<=s[1]+l[1])return a[h]}return-1}(this,t.offsetX,t.offsetY);js(this).dataIndex=e>=0?e:null}),30,!1);function $S(t,e,n){if(pS(n,"cartesian2d")){var i=e,r=n.getArea();return{x:t?i.x:r.x,y:t?r.y:i.y,width:t?i.width:r.width,height:t?r.height:i.height}}var o=e;return{cx:(r=n.getArea()).cx,cy:r.cy,r0:t?r.r0:o.r0,r:t?r.r:o.r,startAngle:t?o.startAngle:0,endAngle:t?o.endAngle:2*Math.PI}}var JS=2*Math.PI,QS=Math.PI/180;function tM(t,e){return wp(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}function eM(t,e){var n=tM(t,e),i=t.get("center"),r=t.get("radius");Y(r)||(r=[0,r]),Y(i)||(i=[i,i]);var o,a,s=Gr(n.width,e.getWidth()),l=Gr(n.height,e.getHeight()),u=Math.min(s,l),h=Gr(r[0],u/2),c=Gr(r[1],u/2),p=t.coordinateSystem;if(p){var d=p.dataToPoint(i);o=d[0]||0,a=d[1]||0}else o=Gr(i[0],s)+n.x,a=Gr(i[1],l)+n.y;return{cx:o,cy:a,r0:h,r:c}}function nM(t,e,n){e.eachSeriesByType(t,(function(t){var e=t.getData(),i=e.mapDimension("value"),r=tM(t,n),o=eM(t,n),a=o.cx,s=o.cy,l=o.r,u=o.r0,h=-t.get("startAngle")*QS,c=t.get("minAngle")*QS,p=0;e.each(i,(function(t){!isNaN(t)&&p++}));var d=e.getSum(i),f=Math.PI/(d||p)*2,g=t.get("clockwise"),y=t.get("roseType"),v=t.get("stillShowZeroSum"),m=e.getDataExtent(i);m[0]=0;var x=JS,_=0,b=h,w=g?1:-1;if(e.setLayout({viewRect:r,r:l}),e.each(i,(function(t,n){var i;if(isNaN(t))e.setItemLayout(n,{angle:NaN,startAngle:NaN,endAngle:NaN,clockwise:g,cx:a,cy:s,r0:u,r:y?NaN:l});else{(i="area"!==y?0===d&&v?f:t*f:JS/p)n?a:o,h=Math.abs(l.label.y-n);if(h>=u.maxY){var c=l.label.x-e-l.len2*r,p=i+l.len,f=Math.abs(c)t.unconstrainedWidth?null:d:null;i.setStyle("width",f)}var g=i.getBoundingRect();o.width=g.width;var y=(i.style.margin||0)+2.1;o.height=g.height+y,o.y-=(o.height-c)/2}}}function sM(t){return"center"===t.position}function lM(t){var e,n,i=t.getData(),r=[],o=!1,a=(t.get("minShowLabelAngle")||0)*rM,s=i.getLayout("viewRect"),l=i.getLayout("r"),u=s.width,h=s.x,c=s.y,p=s.height;function d(t){t.ignore=!0}i.each((function(t){var s=i.getItemGraphicEl(t),c=s.shape,p=s.getTextContent(),f=s.getTextGuideLine(),g=i.getItemModel(t),y=g.getModel("label"),v=y.get("position")||g.get(["emphasis","label","position"]),m=y.get("distanceToLabelLine"),x=y.get("alignTo"),_=Gr(y.get("edgeDistance"),u),b=y.get("bleedMargin"),w=g.getModel("labelLine"),S=w.get("length");S=Gr(S,u);var M=w.get("length2");if(M=Gr(M,u),Math.abs(c.endAngle-c.startAngle)0?"right":"left":k>0?"left":"right"}var B=Math.PI,F=0,G=y.get("rotate");if(j(G))F=G*(B/180);else if("center"===v)F=0;else if("radial"===G||!0===G){F=k<0?-A+B:-A}else if("tangential"===G&&"outside"!==v&&"outer"!==v){var W=Math.atan2(k,L);W<0&&(W=2*B+W),L>0&&(W=B+W),F=W-B}if(o=!!F,p.x=I,p.y=T,p.rotation=F,p.setStyle({verticalAlign:"middle"}),P){p.setStyle({align:D});var H=p.states.select;H&&(H.x+=p.x,H.y+=p.y)}else{var Y=p.getBoundingRect().clone();Y.applyTransform(p.getComputedTransform());var U=(p.style.margin||0)+2.1;Y.y-=U/2,Y.height+=U,r.push({label:p,labelLine:f,position:v,len:S,len2:M,minTurnAngle:w.get("minTurnAngle"),maxSurfaceAngle:w.get("maxSurfaceAngle"),surfaceNormal:new Ie(k,L),linePoints:C,textAlign:D,labelDistance:m,labelAlignTo:x,edgeDistance:_,bleedMargin:b,rect:Y,unconstrainedWidth:Y.width,labelStyleWidth:p.style.width})}s.setTextConfig({inside:P})}})),!o&&t.get("avoidLabelOverlap")&&function(t,e,n,i,r,o,a,s){for(var l=[],u=[],h=Number.MAX_VALUE,c=-Number.MAX_VALUE,p=0;p0){for(var l=o.getItemLayout(0),u=1;isNaN(l&&l.startAngle)&&u=n.r0}},e.type="pie",e}(wg);function pM(t,e,n){e=Y(e)&&{coordDimensions:e}||A({encodeDefine:t.getEncode()},e);var i=t.getSource(),r=Qm(i,e).dimensions,o=new Jm(r,t);return o.initData(i,n),o}var dM=function(){function t(t,e){this._getDataWithEncodedVisual=t,this._getRawData=e}return t.prototype.getAllNames=function(){var t=this._getRawData();return t.mapArray(t.getName)},t.prototype.containName=function(t){return this._getRawData().indexOfName(t)>=0},t.prototype.indexOfName=function(t){return this._getDataWithEncodedVisual().indexOfName(t)},t.prototype.getItemVisual=function(t,e){return this._getDataWithEncodedVisual().getItemVisual(t,e)},t}(),fM=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.init=function(e){t.prototype.init.apply(this,arguments),this.legendVisualProvider=new dM(W(this.getData,this),W(this.getRawData,this)),this._defaultLabelLine(e)},e.prototype.mergeOption=function(){t.prototype.mergeOption.apply(this,arguments)},e.prototype.getInitialData=function(){var t=pM(this,{coordDimensions:["value"],encodeDefaulter:H(Zp,this)}),e=[];return t.each(t.mapDimension("value"),(function(t){e.push(t)})),this.seats=Zr(e,t.hostModel.get("percentPrecision")),t},e.prototype.getDataParams=function(e){var n=t.prototype.getDataParams.call(this,e);return n.percent=this.seats[e],n.$vars.push("percent"),n},e.prototype._defaultLabelLine=function(t){vo(t,"labelLine",["show"]);var e=t.labelLine,n=t.emphasis.labelLine;e.show=e.show&&t.label.show,n.show=n.show&&t.emphasis.label.show},e.type="series.pie",e.defaultOption={z:2,legendHoverLink:!0,colorBy:"data",center:["50%","50%"],radius:[0,"75%"],clockwise:!0,startAngle:90,minAngle:0,minShowLabelAngle:0,selectedOffset:10,percentPrecision:2,stillShowZeroSum:!0,left:0,top:0,right:0,bottom:0,width:null,height:null,label:{rotate:0,show:!0,overflow:"truncate",position:"outer",alignTo:"none",edgeDistance:"25%",bleedMargin:10,distanceToLabelLine:5},labelLine:{show:!0,length:15,length2:15,smooth:!1,minTurnAngle:90,maxSurfaceAngle:90,lineStyle:{width:1,type:"solid"}},itemStyle:{borderWidth:1,borderJoin:"round"},showEmptyCircle:!0,emptyCircleStyle:{color:"lightgray",opacity:1},labelLayout:{hideOverlap:!0},emphasis:{scale:!0,scaleSize:5},avoidLabelOverlap:!0,animationType:"expansion",animationDuration:1e3,animationTypeUpdate:"transition",animationEasingUpdate:"cubicInOut",animationDurationUpdate:500,animationEasing:"cubicInOut"},e}(hg);var gM=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.hasSymbolVisual=!0,n}return n(e,t),e.prototype.getInitialData=function(t,e){return sx(null,this,{useEncodeDefaulter:!0})},e.prototype.getProgressive=function(){var t=this.option.progressive;return null==t?this.option.large?5e3:this.get("progressive"):t},e.prototype.getProgressiveThreshold=function(){var t=this.option.progressiveThreshold;return null==t?this.option.large?1e4:this.get("progressiveThreshold"):t},e.prototype.brushSelector=function(t,e,n){return n.point(e.getItemLayout(t))},e.prototype.getZLevelKey=function(){return this.getData().count()>this.getProgressiveThreshold()?this.id:""},e.type="series.scatter",e.dependencies=["grid","polar","geo","singleAxis","calendar"],e.defaultOption={coordinateSystem:"cartesian2d",z:2,legendHoverLink:!0,symbolSize:10,large:!1,largeThreshold:2e3,itemStyle:{opacity:.8},emphasis:{scale:!0},clip:!0,select:{itemStyle:{borderColor:"#212121"}},universalTransition:{divideShape:"clone"}},e}(hg),yM=function(){},vM=function(t){function e(e){var n=t.call(this,e)||this;return n._off=0,n.hoverDataIdx=-1,n}return n(e,t),e.prototype.getDefaultShape=function(){return new yM},e.prototype.reset=function(){this.notClear=!1,this._off=0},e.prototype.buildPath=function(t,e){var n,i=e.points,r=e.size,o=this.symbolProxy,a=o.shape,s=t.getContext?t.getContext():t,l=s&&r[0]<4,u=this.softClipShape;if(l)this._ctx=s;else{for(this._ctx=null,n=this._off;n=0;s--){var l=2*s,u=i[l]-o/2,h=i[l+1]-a/2;if(t>=u&&e>=h&&t<=u+o&&e<=h+a)return s}return-1},e.prototype.contain=function(t,e){var n=this.transformCoordToLocal(t,e),i=this.getBoundingRect();return t=n[0],e=n[1],i.contain(t,e)?(this.hoverDataIdx=this.findDataIndex(t,e))>=0:(this.hoverDataIdx=-1,!1)},e.prototype.getBoundingRect=function(){var t=this._rect;if(!t){for(var e=this.shape,n=e.points,i=e.size,r=i[0],o=i[1],a=1/0,s=1/0,l=-1/0,u=-1/0,h=0;h=0&&(l.dataIndex=n+(t.startIndex||0))}))},t.prototype.remove=function(){this._clear()},t.prototype._clear=function(){this._newAdded=[],this.group.removeAll()},t}(),xM=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.render=function(t,e,n){var i=t.getData();this._updateSymbolDraw(i,t).updateData(i,{clipShape:this._getClipShape(t)}),this._finished=!0},e.prototype.incrementalPrepareRender=function(t,e,n){var i=t.getData();this._updateSymbolDraw(i,t).incrementalPrepareUpdate(i),this._finished=!1},e.prototype.incrementalRender=function(t,e,n){this._symbolDraw.incrementalUpdate(t,e.getData(),{clipShape:this._getClipShape(e)}),this._finished=t.end===e.getData().count()},e.prototype.updateTransform=function(t,e,n){var i=t.getData();if(this.group.dirty(),!this._finished||i.count()>1e4)return{update:!0};var r=MS("").reset(t,e,n);r.progress&&r.progress({start:0,end:i.count(),count:i.count()},i),this._symbolDraw.updateLayout(i)},e.prototype.eachRendered=function(t){this._symbolDraw&&this._symbolDraw.eachRendered(t)},e.prototype._getClipShape=function(t){var e=t.coordinateSystem,n=e&&e.getArea&&e.getArea();return t.get("clip",!0)?n:null},e.prototype._updateSymbolDraw=function(t,e){var n=this._symbolDraw,i=e.pipelineContext.large;return n&&i===this._isLargeDraw||(n&&n.remove(),n=this._symbolDraw=i?new mM:new Jw,this._isLargeDraw=i,this.group.removeAll()),this.group.add(n.group),n},e.prototype.remove=function(t,e){this._symbolDraw&&this._symbolDraw.remove(!0),this._symbolDraw=null},e.prototype.dispose=function(){},e.type="scatter",e}(wg),_M=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.type="grid",e.dependencies=["xAxis","yAxis"],e.layoutMode="box",e.defaultOption={show:!1,z:0,left:"10%",top:60,right:"10%",bottom:70,containLabel:!1,backgroundColor:"rgba(0,0,0,0)",borderWidth:1,borderColor:"#ccc"},e}(Ap),bM=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.getCoordSysModel=function(){return this.getReferringComponents("grid",Po).models[0]},e.type="cartesian2dAxis",e}(Ap);R(bM,g_);var wM={show:!0,z:0,inverse:!1,name:"",nameLocation:"end",nameRotate:null,nameTruncate:{maxWidth:null,ellipsis:"...",placeholder:"."},nameTextStyle:{},nameGap:15,silent:!1,triggerEvent:!1,tooltip:{show:!1},axisPointer:{},axisLine:{show:!0,onZero:!0,onZeroAxisIndex:null,lineStyle:{color:"#6E7079",width:1,type:"solid"},symbol:["none","none"],symbolSize:[10,15]},axisTick:{show:!0,inside:!1,length:5,lineStyle:{width:1}},axisLabel:{show:!0,inside:!1,rotate:0,showMinLabel:null,showMaxLabel:null,margin:8,fontSize:12},splitLine:{show:!0,lineStyle:{color:["#E0E6F1"],width:1,type:"solid"}},splitArea:{show:!1,areaStyle:{color:["rgba(250,250,250,0.2)","rgba(210,219,238,0.2)"]}}},SM=C({boundaryGap:!0,deduplication:null,splitLine:{show:!1},axisTick:{alignWithLabel:!1,interval:"auto"},axisLabel:{interval:"auto"}},wM),MM=C({boundaryGap:[0,0],axisLine:{show:"auto"},axisTick:{show:"auto"},splitNumber:5,minorTick:{show:!1,splitNumber:5,length:3,lineStyle:{}},minorSplitLine:{show:!1,lineStyle:{color:"#F4F7FD",width:1}}},wM),IM={category:SM,value:MM,time:C({splitNumber:6,axisLabel:{showMinLabel:!1,showMaxLabel:!1,rich:{primary:{fontWeight:"bold"}}},splitLine:{show:!1}},MM),log:k({logBase:10},MM)},TM={value:1,category:1,time:1,log:1};function CM(t,e,i,r){E(TM,(function(o,a){var s=C(C({},IM[a],!0),r,!0),l=function(t){function i(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e+"Axis."+a,n}return n(i,t),i.prototype.mergeDefaultAndTheme=function(t,e){var n=Mp(this),i=n?Tp(t):{};C(t,e.getTheme().get(a+"Axis")),C(t,this.getDefaultOption()),t.type=DM(t),n&&Ip(t,i,n)},i.prototype.optionUpdated=function(){"category"===this.option.type&&(this.__ordinalMeta=hx.createByAxisModel(this))},i.prototype.getCategories=function(t){var e=this.option;if("category"===e.type)return t?e.data:this.__ordinalMeta.categories},i.prototype.getOrdinalMeta=function(){return this.__ordinalMeta},i.type=e+"Axis."+a,i.defaultOption=s,i}(i);t.registerComponentModel(l)})),t.registerSubTypeDefaulter(e+"Axis",DM)}function DM(t){return t.type||(t.data?"category":"value")}var AM=function(){function t(t){this.type="cartesian",this._dimList=[],this._axes={},this.name=t||""}return t.prototype.getAxis=function(t){return this._axes[t]},t.prototype.getAxes=function(){return z(this._dimList,(function(t){return this._axes[t]}),this)},t.prototype.getAxesByScale=function(t){return t=t.toLowerCase(),B(this.getAxes(),(function(e){return e.scale.type===t}))},t.prototype.addAxis=function(t){var e=t.dim;this._axes[e]=t,this._dimList.push(e)},t}(),kM=["x","y"];function LM(t){return"interval"===t.type||"time"===t.type}var PM=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="cartesian2d",e.dimensions=kM,e}return n(e,t),e.prototype.calcAffineTransform=function(){this._transform=this._invTransform=null;var t=this.getAxis("x").scale,e=this.getAxis("y").scale;if(LM(t)&&LM(e)){var n=t.getExtent(),i=e.getExtent(),r=this.dataToPoint([n[0],i[0]]),o=this.dataToPoint([n[1],i[1]]),a=n[1]-n[0],s=i[1]-i[0];if(a&&s){var l=(o[0]-r[0])/a,u=(o[1]-r[1])/s,h=r[0]-n[0]*l,c=r[1]-i[0]*u,p=this._transform=[l,0,0,u,h,c];this._invTransform=we([],p)}}},e.prototype.getBaseAxis=function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAxis("x")},e.prototype.containPoint=function(t){var e=this.getAxis("x"),n=this.getAxis("y");return e.contain(e.toLocalCoord(t[0]))&&n.contain(n.toLocalCoord(t[1]))},e.prototype.containData=function(t){return this.getAxis("x").containData(t[0])&&this.getAxis("y").containData(t[1])},e.prototype.containZone=function(t,e){var n=this.dataToPoint(t),i=this.dataToPoint(e),r=this.getArea(),o=new Re(n[0],n[1],i[0]-n[0],i[1]-n[1]);return r.intersect(o)},e.prototype.dataToPoint=function(t,e,n){n=n||[];var i=t[0],r=t[1];if(this._transform&&null!=i&&isFinite(i)&&null!=r&&isFinite(r))return Ft(n,t,this._transform);var o=this.getAxis("x"),a=this.getAxis("y");return n[0]=o.toGlobalCoord(o.dataToCoord(i,e)),n[1]=a.toGlobalCoord(a.dataToCoord(r,e)),n},e.prototype.clampData=function(t,e){var n=this.getAxis("x").scale,i=this.getAxis("y").scale,r=n.getExtent(),o=i.getExtent(),a=n.parse(t[0]),s=i.parse(t[1]);return(e=e||[])[0]=Math.min(Math.max(Math.min(r[0],r[1]),a),Math.max(r[0],r[1])),e[1]=Math.min(Math.max(Math.min(o[0],o[1]),s),Math.max(o[0],o[1])),e},e.prototype.pointToData=function(t,e){var n=[];if(this._invTransform)return Ft(n,t,this._invTransform);var i=this.getAxis("x"),r=this.getAxis("y");return n[0]=i.coordToData(i.toLocalCoord(t[0]),e),n[1]=r.coordToData(r.toLocalCoord(t[1]),e),n},e.prototype.getOtherAxis=function(t){return this.getAxis("x"===t.dim?"y":"x")},e.prototype.getArea=function(){var t=this.getAxis("x").getGlobalExtent(),e=this.getAxis("y").getGlobalExtent(),n=Math.min(t[0],t[1]),i=Math.min(e[0],e[1]),r=Math.max(t[0],t[1])-n,o=Math.max(e[0],e[1])-i;return new Re(n,i,r,o)},e}(AM),OM=function(t){function e(e,n,i,r,o){var a=t.call(this,e,n,i)||this;return a.index=0,a.type=r||"value",a.position=o||"bottom",a}return n(e,t),e.prototype.isHorizontal=function(){var t=this.position;return"top"===t||"bottom"===t},e.prototype.getGlobalExtent=function(t){var e=this.getExtent();return e[0]=this.toGlobalCoord(e[0]),e[1]=this.toGlobalCoord(e[1]),t&&e[0]>e[1]&&e.reverse(),e},e.prototype.pointToData=function(t,e){return this.coordToData(this.toLocalCoord(t["x"===this.dim?0:1]),e)},e.prototype.setCategorySortInfo=function(t){if("category"!==this.type)return!1;this.model.option.categorySortInfo=t,this.scale.setSortInfo(t)},e}(X_);function RM(t,e,n){n=n||{};var i=t.coordinateSystem,r=e.axis,o={},a=r.getAxesOnZeroOf()[0],s=r.position,l=a?"onZero":s,u=r.dim,h=i.getRect(),c=[h.x,h.x+h.width,h.y,h.y+h.height],p={left:0,right:1,top:0,bottom:1,onZero:2},d=e.get("offset")||0,f="x"===u?[c[2]-d,c[3]+d]:[c[0]-d,c[1]+d];if(a){var g=a.toGlobalCoord(a.dataToCoord(0));f[p.onZero]=Math.max(Math.min(g,f[1]),f[0])}o.position=["y"===u?f[p[l]]:c[0],"x"===u?f[p[l]]:c[3]],o.rotation=Math.PI/2*("x"===u?0:1);o.labelDirection=o.tickDirection=o.nameDirection={top:-1,bottom:1,left:-1,right:1}[s],o.labelOffset=a?f[p[s]]-f[p.onZero]:0,e.get(["axisTick","inside"])&&(o.tickDirection=-o.tickDirection),it(n.labelInside,e.get(["axisLabel","inside"]))&&(o.labelDirection=-o.labelDirection);var y=e.get(["axisLabel","rotate"]);return o.labelRotate="top"===l?-y:y,o.z2=1,o}function NM(t){return"cartesian2d"===t.get("coordinateSystem")}function EM(t){var e={xAxisModel:null,yAxisModel:null};return E(e,(function(n,i){var r=i.replace(/Model$/,""),o=t.getReferringComponents(r,Po).models[0];e[i]=o})),e}var zM=Math.log;function VM(t,e,n){var i=Sx.prototype,r=i.getTicks.call(n),o=i.getTicks.call(n,!0),a=r.length-1,s=i.getInterval.call(n),l=a_(t,e),u=l.extent,h=l.fixMin,c=l.fixMax;if("log"===t.type){var p=zM(t.base);u=[zM(u[0])/p,zM(u[1])/p]}t.setExtent(u[0],u[1]),t.calcNiceExtent({splitNumber:a,fixMin:h,fixMax:c});var d=i.getExtent.call(t);h&&(u[0]=d[0]),c&&(u[1]=d[1]);var f=i.getInterval.call(t),g=u[0],y=u[1];if(h&&c)f=(y-g)/a;else if(h)for(y=u[0]+f*a;yu[0]&&isFinite(g)&&isFinite(u[0]);)f=fx(f),g=u[1]-f*a;else{t.getTicks().length-1>a&&(f=fx(f));var v=f*a;(g=Wr((y=Math.ceil(u[1]/f)*f)-v))<0&&u[0]>=0?(g=0,y=Wr(v)):y>0&&u[1]<=0&&(y=0,g=-Wr(v))}var m=(r[0].value-o[0].value)/s,x=(r[a].value-o[a].value)/s;i.setExtent.call(t,g+f*m,y+f*x),i.setInterval.call(t,f),(m||x)&&i.setNiceExtent.call(t,g+f,y-f)}var BM=function(){function t(t,e,n){this.type="grid",this._coordsMap={},this._coordsList=[],this._axesMap={},this._axesList=[],this.axisPointerEnabled=!0,this.dimensions=kM,this._initCartesian(t,e,n),this.model=t}return t.prototype.getRect=function(){return this._rect},t.prototype.update=function(t,e){var n=this._axesMap;function i(t){var e,n=G(t),i=n.length;if(i){for(var r=[],o=i-1;o>=0;o--){var a=t[+n[o]],s=a.model,l=a.scale;px(l)&&s.get("alignTicks")&&null==s.get("interval")?r.push(a):(s_(l,s),px(l)&&(e=a))}r.length&&(e||s_((e=r.pop()).scale,e.model),E(r,(function(t){VM(t.scale,t.model,e.scale)})))}}this._updateScale(t,this.model),i(n.x),i(n.y);var r={};E(n.x,(function(t){GM(n,"y",t,r)})),E(n.y,(function(t){GM(n,"x",t,r)})),this.resize(this.model,e)},t.prototype.resize=function(t,e,n){var i=t.getBoxLayoutParams(),r=!n&&t.get("containLabel"),o=wp(i,{width:e.getWidth(),height:e.getHeight()});this._rect=o;var a=this._axesList;function s(){E(a,(function(t){var e=t.isHorizontal(),n=e?[0,o.width]:[0,o.height],i=t.inverse?1:0;t.setExtent(n[i],n[1-i]),function(t,e){var n=t.getExtent(),i=n[0]+n[1];t.toGlobalCoord="x"===t.dim?function(t){return t+e}:function(t){return i-t+e},t.toLocalCoord="x"===t.dim?function(t){return t-e}:function(t){return i-t+e}}(t,e?o.x:o.y)}))}s(),r&&(E(a,(function(t){if(!t.model.get(["axisLabel","inside"])){var e=function(t){var e=t.model,n=t.scale;if(e.get(["axisLabel","show"])&&!n.isBlank()){var i,r,o=n.getExtent();r=n instanceof _x?n.count():(i=n.getTicks()).length;var a,s=t.getLabelModel(),l=u_(t),u=1;r>40&&(u=Math.ceil(r/40));for(var h=0;h0&&i>0||n<0&&i<0)}(t)}var HM=Math.PI,YM=function(){function t(t,e){this.group=new Pr,this.opt=e,this.axisModel=t,k(e,{labelOffset:0,nameDirection:1,tickDirection:1,labelDirection:1,silent:!0,handleAutoShown:function(){return!0}});var n=new Pr({x:e.position[0],y:e.position[1],rotation:e.rotation});n.updateTransform(),this._transformGroup=n}return t.prototype.hasBuilder=function(t){return!!UM[t]},t.prototype.add=function(t){UM[t](this.opt,this.axisModel,this.group,this._transformGroup)},t.prototype.getGroup=function(){return this.group},t.innerTextLayout=function(t,e,n){var i,r,o=Kr(e-t);return $r(o)?(r=n>0?"top":"bottom",i="center"):$r(o-HM)?(r=n>0?"bottom":"top",i="center"):(r="middle",i=o>0&&o0?"right":"left":n>0?"left":"right"),{rotation:o,textAlign:i,textVerticalAlign:r}},t.makeAxisEventDataBase=function(t){var e={componentType:t.mainType,componentIndex:t.componentIndex};return e[t.mainType+"Index"]=t.componentIndex,e},t.isLabelSilent=function(t){var e=t.get("tooltip");return t.get("silent")||!(t.get("triggerEvent")||e&&e.show)},t}(),UM={axisLine:function(t,e,n,i){var r=e.get(["axisLine","show"]);if("auto"===r&&t.handleAutoShown&&(r=t.handleAutoShown("axisLine")),r){var o=e.axis.getExtent(),a=i.transform,s=[o[0],0],l=[o[1],0],u=s[0]>l[0];a&&(Ft(s,s,a),Ft(l,l,a));var h=A({lineCap:"round"},e.getModel(["axisLine","lineStyle"]).getLineStyle()),c=new Wu({shape:{x1:s[0],y1:s[1],x2:l[0],y2:l[1]},style:h,strokeContainThreshold:t.strokeContainThreshold||5,silent:!0,z2:1});Ah(c.shape,c.style.lineWidth),c.anid="line",n.add(c);var p=e.get(["axisLine","symbol"]);if(null!=p){var d=e.get(["axisLine","symbolSize"]);X(p)&&(p=[p,p]),(X(d)||j(d))&&(d=[d,d]);var f=Ey(e.get(["axisLine","symbolOffset"])||0,d),g=d[0],y=d[1];E([{rotate:t.rotation+Math.PI/2,offset:f[0],r:0},{rotate:t.rotation-Math.PI/2,offset:f[1],r:Math.sqrt((s[0]-l[0])*(s[0]-l[0])+(s[1]-l[1])*(s[1]-l[1]))}],(function(e,i){if("none"!==p[i]&&null!=p[i]){var r=Ry(p[i],-g/2,-y/2,g,y,h.stroke,!0),o=e.r+e.offset,a=u?l:s;r.attr({rotation:e.rotate,x:a[0]+o*Math.cos(t.rotation),y:a[1]-o*Math.sin(t.rotation),silent:!0,z2:11}),n.add(r)}}))}}},axisTickLabel:function(t,e,n,i){var r=function(t,e,n,i){var r=n.axis,o=n.getModel("axisTick"),a=o.get("show");"auto"===a&&i.handleAutoShown&&(a=i.handleAutoShown("axisTick"));if(!a||r.scale.isBlank())return;for(var s=o.getModel("lineStyle"),l=i.tickDirection*o.get("length"),u=qM(r.getTicksCoords(),e.transform,l,k(s.getLineStyle(),{stroke:n.get(["axisLine","lineStyle","color"])}),"ticks"),h=0;hc[1]?-1:1,d=["start"===s?c[0]-p*h:"end"===s?c[1]+p*h:(c[0]+c[1])/2,jM(s)?t.labelOffset+l*h:0],f=e.get("nameRotate");null!=f&&(f=f*HM/180),jM(s)?o=YM.innerTextLayout(t.rotation,null!=f?f:t.rotation,l):(o=function(t,e,n,i){var r,o,a=Kr(n-t),s=i[0]>i[1],l="start"===e&&!s||"start"!==e&&s;$r(a-HM/2)?(o=l?"bottom":"top",r="center"):$r(a-1.5*HM)?(o=l?"top":"bottom",r="center"):(o="middle",r=a<1.5*HM&&a>HM/2?l?"left":"right":l?"right":"left");return{rotation:a,textAlign:r,textVerticalAlign:o}}(t.rotation,s,f||0,c),null!=(a=t.axisNameAvailableWidth)&&(a=Math.abs(a/Math.sin(o.rotation)),!isFinite(a)&&(a=null)));var g=u.getFont(),y=e.get("nameTruncate",!0)||{},v=y.ellipsis,m=it(t.nameTruncateMaxWidth,y.maxWidth,a),x=new Ns({x:d[0],y:d[1],rotation:o.rotation,silent:YM.isLabelSilent(e),style:$h(u,{text:r,font:g,overflow:"truncate",width:m,ellipsis:v,fill:u.getTextColor()||e.get(["axisLine","lineStyle","color"]),align:u.get("align")||o.textAlign,verticalAlign:u.get("verticalAlign")||o.textVerticalAlign}),z2:1});if(Wh({el:x,componentModel:e,itemName:r}),x.__fullText=r,x.anid="name",e.get("triggerEvent")){var _=YM.makeAxisEventDataBase(e);_.targetType="axisName",_.name=r,js(x).eventData=_}i.add(x),x.updateTransform(),n.add(x),x.decomposeTransform()}}};function XM(t){t&&(t.ignore=!0)}function ZM(t,e){var n=t&&t.getBoundingRect().clone(),i=e&&e.getBoundingRect().clone();if(n&&i){var r=ye([]);return _e(r,r,-t.rotation),n.applyTransform(me([],r,t.getLocalTransform())),i.applyTransform(me([],r,e.getLocalTransform())),n.intersect(i)}}function jM(t){return"middle"===t||"center"===t}function qM(t,e,n,i,r){for(var o=[],a=[],s=[],l=0;l=0||t===e}function JM(t){var e=QM(t);if(e){var n=e.axisPointerModel,i=e.axis.scale,r=n.option,o=n.get("status"),a=n.get("value");null!=a&&(a=i.parse(a));var s=tI(n);null==o&&(r.status=s?"show":"hide");var l=i.getExtent().slice();l[0]>l[1]&&l.reverse(),(null==a||a>l[1])&&(a=l[1]),a0&&!c.min?c.min=0:null!=c.min&&c.min<0&&!c.max&&(c.max=0);var p=a;null!=c.color&&(p=k({color:c.color},a));var d=C(T(c),{boundaryGap:t,splitNumber:e,scale:n,axisLine:i,axisTick:r,axisLabel:o,name:c.text,showName:s,nameLocation:"end",nameGap:u,nameTextStyle:p,triggerEvent:h},!1);if(X(l)){var f=d.name;d.name=l.replace("{value}",null!=f?f:"")}else U(l)&&(d.name=l(d.name,d));var g=new xc(d,null,this.ecModel);return R(g,g_.prototype),g.mainType="radar",g.componentIndex=this.componentIndex,g}),this);this._indicatorModels=c},e.prototype.getIndicatorModels=function(){return this._indicatorModels},e.type="radar",e.defaultOption={z:0,center:["50%","50%"],radius:"75%",startAngle:90,axisName:{show:!0},boundaryGap:[0,0],splitNumber:5,axisNameGap:15,scale:!1,shape:"polygon",axisLine:C({lineStyle:{color:"#bbb"}},wI.axisLine),axisLabel:SI(wI.axisLabel,!1),axisTick:SI(wI.axisTick,!1),splitLine:SI(wI.splitLine,!0),splitArea:SI(wI.splitArea,!0),indicator:[]},e}(Ap),II=["axisLine","axisTickLabel","axisName"],TI=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.render=function(t,e,n){this.group.removeAll(),this._buildAxes(t),this._buildSplitLineAndArea(t)},e.prototype._buildAxes=function(t){var e=t.coordinateSystem;E(z(e.getIndicatorAxes(),(function(t){var n=t.model.get("showName")?t.name:"";return new YM(t.model,{axisName:n,position:[e.cx,e.cy],rotation:t.angle,labelDirection:-1,tickDirection:-1,nameDirection:1})})),(function(t){E(II,t.add,t),this.group.add(t.getGroup())}),this)},e.prototype._buildSplitLineAndArea=function(t){var e=t.coordinateSystem,n=e.getIndicatorAxes();if(n.length){var i=t.get("shape"),r=t.getModel("splitLine"),o=t.getModel("splitArea"),a=r.getModel("lineStyle"),s=o.getModel("areaStyle"),l=r.get("show"),u=o.get("show"),h=a.get("color"),c=s.get("color"),p=Y(h)?h:[h],d=Y(c)?c:[c],f=[],g=[];if("circle"===i)for(var y=n[0].getTicksCoords(),v=e.cx,m=e.cy,x=0;x3?1.4:r>1?1.2:1.1;RI(this,"zoom","zoomOnMouseWheel",t,{scale:i>0?s:1/s,originX:o,originY:a,isAvailableBehavior:null})}if(n){var l=Math.abs(i);RI(this,"scrollMove","moveOnMouseWheel",t,{scrollDelta:(i>0?1:-1)*(l>3?.4:l>1?.15:.05),originX:o,originY:a,isAvailableBehavior:null})}}},e.prototype._pinchHandler=function(t){LI(this._zr,"globalPan")||RI(this,"zoom",null,t,{scale:t.pinchScale>1?1.1:1/1.1,originX:t.pinchX,originY:t.pinchY,isAvailableBehavior:null})},e}(Xt);function RI(t,e,n,i,r){t.pointerChecker&&t.pointerChecker(i,r.originX,r.originY)&&(he(i.event),NI(t,e,n,i,r))}function NI(t,e,n,i,r){r.isAvailableBehavior=W(EI,null,n,i),t.trigger(e,r)}function EI(t,e,n){var i=n[t];return!t||i&&(!X(i)||e.event[i+"Key"])}function zI(t,e,n){var i=t.target;i.x+=e,i.y+=n,i.dirty()}function VI(t,e,n,i){var r=t.target,o=t.zoomLimit,a=t.zoom=t.zoom||1;if(a*=e,o){var s=o.min||0,l=o.max||1/0;a=Math.max(Math.min(l,a),s)}var u=a/t.zoom;t.zoom=a,r.x-=(n-r.x)*(u-1),r.y-=(i-r.y)*(u-1),r.scaleX*=u,r.scaleY*=u,r.dirty()}var BI,FI={axisPointer:1,tooltip:1,brush:1};function GI(t,e,n){var i=e.getComponentByElement(t.topTarget),r=i&&i.coordinateSystem;return i&&i!==n&&!FI.hasOwnProperty(i.mainType)&&r&&r.model!==n}function WI(t){X(t)&&(t=(new DOMParser).parseFromString(t,"text/xml"));var e=t;for(9===e.nodeType&&(e=e.firstChild);"svg"!==e.nodeName.toLowerCase()||1!==e.nodeType;)e=e.nextSibling;return e}var HI={fill:"fill",stroke:"stroke","stroke-width":"lineWidth",opacity:"opacity","fill-opacity":"fillOpacity","stroke-opacity":"strokeOpacity","stroke-dasharray":"lineDash","stroke-dashoffset":"lineDashOffset","stroke-linecap":"lineCap","stroke-linejoin":"lineJoin","stroke-miterlimit":"miterLimit","font-family":"fontFamily","font-size":"fontSize","font-style":"fontStyle","font-weight":"fontWeight","text-anchor":"textAlign",visibility:"visibility",display:"display"},YI=G(HI),UI={"alignment-baseline":"textBaseline","stop-color":"stopColor"},XI=G(UI),ZI=function(){function t(){this._defs={},this._root=null}return t.prototype.parse=function(t,e){e=e||{};var n=WI(t);this._defsUsePending=[];var i=new Pr;this._root=i;var r=[],o=n.getAttribute("viewBox")||"",a=parseFloat(n.getAttribute("width")||e.width),s=parseFloat(n.getAttribute("height")||e.height);isNaN(a)&&(a=null),isNaN(s)&&(s=null),QI(n,i,null,!0,!1);for(var l,u,h=n.firstChild;h;)this._parseNode(h,i,r,null,!1,!1),h=h.nextSibling;if(function(t,e){for(var n=0;n=4&&(l={x:parseFloat(c[0]||0),y:parseFloat(c[1]||0),width:parseFloat(c[2]),height:parseFloat(c[3])})}if(l&&null!=a&&null!=s&&(u=lT(l,{x:0,y:0,width:a,height:s}),!e.ignoreViewBox)){var p=i;(i=new Pr).add(p),p.scaleX=p.scaleY=u.scale,p.x=u.x,p.y=u.y}return e.ignoreRootClip||null==a||null==s||i.setClipPath(new Ps({shape:{x:0,y:0,width:a,height:s}})),{root:i,width:a,height:s,viewBoxRect:l,viewBoxTransform:u,named:r}},t.prototype._parseNode=function(t,e,n,i,r,o){var a,s=t.nodeName.toLowerCase(),l=i;if("defs"===s&&(r=!0),"text"===s&&(o=!0),"defs"===s||"switch"===s)a=e;else{if(!r){var u=BI[s];if(u&&mt(BI,s)){a=u.call(this,t,e);var h=t.getAttribute("name");if(h){var c={name:h,namedFrom:null,svgNodeTagLower:s,el:a};n.push(c),"g"===s&&(l=c)}else i&&n.push({name:i.name,namedFrom:i,svgNodeTagLower:s,el:a});e.add(a)}}var p=jI[s];if(p&&mt(jI,s)){var d=p.call(this,t),f=t.getAttribute("id");f&&(this._defs[f]=d)}}if(a&&a.isGroup)for(var g=t.firstChild;g;)1===g.nodeType?this._parseNode(g,a,n,l,r,o):3===g.nodeType&&o&&this._parseText(g,a),g=g.nextSibling},t.prototype._parseText=function(t,e){var n=new ws({style:{text:t.textContent},silent:!0,x:this._textX||0,y:this._textY||0});$I(e,n),QI(t,n,this._defsUsePending,!1,!1),function(t,e){var n=e.__selfStyle;if(n){var i=n.textBaseline,r=i;i&&"auto"!==i?"baseline"===i?r="alphabetic":"before-edge"===i||"text-before-edge"===i?r="top":"after-edge"===i||"text-after-edge"===i?r="bottom":"central"!==i&&"mathematical"!==i||(r="middle"):r="alphabetic",t.style.textBaseline=r}var o=e.__inheritedStyle;if(o){var a=o.textAlign,s=a;a&&("middle"===a&&(s="center"),t.style.textAlign=s)}}(n,e);var i=n.style,r=i.fontSize;r&&r<9&&(i.fontSize=9,n.scaleX*=r/9,n.scaleY*=r/9);var o=(i.fontSize||i.fontFamily)&&[i.fontStyle,i.fontWeight,(i.fontSize||12)+"px",i.fontFamily||"sans-serif"].join(" ");i.font=o;var a=n.getBoundingRect();return this._textX+=a.width,e.add(n),n},t.internalField=void(BI={g:function(t,e){var n=new Pr;return $I(e,n),QI(t,n,this._defsUsePending,!1,!1),n},rect:function(t,e){var n=new Ps;return $I(e,n),QI(t,n,this._defsUsePending,!1,!1),n.setShape({x:parseFloat(t.getAttribute("x")||"0"),y:parseFloat(t.getAttribute("y")||"0"),width:parseFloat(t.getAttribute("width")||"0"),height:parseFloat(t.getAttribute("height")||"0")}),n.silent=!0,n},circle:function(t,e){var n=new gu;return $I(e,n),QI(t,n,this._defsUsePending,!1,!1),n.setShape({cx:parseFloat(t.getAttribute("cx")||"0"),cy:parseFloat(t.getAttribute("cy")||"0"),r:parseFloat(t.getAttribute("r")||"0")}),n.silent=!0,n},line:function(t,e){var n=new Wu;return $I(e,n),QI(t,n,this._defsUsePending,!1,!1),n.setShape({x1:parseFloat(t.getAttribute("x1")||"0"),y1:parseFloat(t.getAttribute("y1")||"0"),x2:parseFloat(t.getAttribute("x2")||"0"),y2:parseFloat(t.getAttribute("y2")||"0")}),n.silent=!0,n},ellipse:function(t,e){var n=new vu;return $I(e,n),QI(t,n,this._defsUsePending,!1,!1),n.setShape({cx:parseFloat(t.getAttribute("cx")||"0"),cy:parseFloat(t.getAttribute("cy")||"0"),rx:parseFloat(t.getAttribute("rx")||"0"),ry:parseFloat(t.getAttribute("ry")||"0")}),n.silent=!0,n},polygon:function(t,e){var n,i=t.getAttribute("points");i&&(n=JI(i));var r=new zu({shape:{points:n||[]},silent:!0});return $I(e,r),QI(t,r,this._defsUsePending,!1,!1),r},polyline:function(t,e){var n,i=t.getAttribute("points");i&&(n=JI(i));var r=new Bu({shape:{points:n||[]},silent:!0});return $I(e,r),QI(t,r,this._defsUsePending,!1,!1),r},image:function(t,e){var n=new Is;return $I(e,n),QI(t,n,this._defsUsePending,!1,!1),n.setStyle({image:t.getAttribute("xlink:href")||t.getAttribute("href"),x:+t.getAttribute("x"),y:+t.getAttribute("y"),width:+t.getAttribute("width"),height:+t.getAttribute("height")}),n.silent=!0,n},text:function(t,e){var n=t.getAttribute("x")||"0",i=t.getAttribute("y")||"0",r=t.getAttribute("dx")||"0",o=t.getAttribute("dy")||"0";this._textX=parseFloat(n)+parseFloat(r),this._textY=parseFloat(i)+parseFloat(o);var a=new Pr;return $I(e,a),QI(t,a,this._defsUsePending,!1,!0),a},tspan:function(t,e){var n=t.getAttribute("x"),i=t.getAttribute("y");null!=n&&(this._textX=parseFloat(n)),null!=i&&(this._textY=parseFloat(i));var r=t.getAttribute("dx")||"0",o=t.getAttribute("dy")||"0",a=new Pr;return $I(e,a),QI(t,a,this._defsUsePending,!1,!0),this._textX+=parseFloat(r),this._textY+=parseFloat(o),a},path:function(t,e){var n=pu(t.getAttribute("d")||"");return $I(e,n),QI(t,n,this._defsUsePending,!1,!1),n.silent=!0,n}}),t}(),jI={lineargradient:function(t){var e=parseInt(t.getAttribute("x1")||"0",10),n=parseInt(t.getAttribute("y1")||"0",10),i=parseInt(t.getAttribute("x2")||"10",10),r=parseInt(t.getAttribute("y2")||"0",10),o=new $u(e,n,i,r);return qI(t,o),KI(t,o),o},radialgradient:function(t){var e=parseInt(t.getAttribute("cx")||"0",10),n=parseInt(t.getAttribute("cy")||"0",10),i=parseInt(t.getAttribute("r")||"0",10),r=new Ju(e,n,i);return qI(t,r),KI(t,r),r}};function qI(t,e){"userSpaceOnUse"===t.getAttribute("gradientUnits")&&(e.global=!0)}function KI(t,e){for(var n=t.firstChild;n;){if(1===n.nodeType&&"stop"===n.nodeName.toLocaleLowerCase()){var i=n.getAttribute("offset"),r=void 0;r=i&&i.indexOf("%")>0?parseInt(i,10)/100:i?parseFloat(i):0;var o={};sT(n,o,o);var a=o.stopColor||n.getAttribute("stop-color")||"#000000";e.colorStops.push({offset:r,color:a})}n=n.nextSibling}}function $I(t,e){t&&t.__inheritedStyle&&(e.__inheritedStyle||(e.__inheritedStyle={}),k(e.__inheritedStyle,t.__inheritedStyle))}function JI(t){for(var e=iT(t),n=[],i=0;i0;o-=2){var a=i[o],s=i[o-1],l=iT(a);switch(r=r||[1,0,0,1,0,0],s){case"translate":xe(r,r,[parseFloat(l[0]),parseFloat(l[1]||"0")]);break;case"scale":be(r,r,[parseFloat(l[0]),parseFloat(l[1]||l[0])]);break;case"rotate":_e(r,r,-parseFloat(l[0])*oT);break;case"skewX":me(r,[1,0,Math.tan(parseFloat(l[0])*oT),1,0,0],r);break;case"skewY":me(r,[1,Math.tan(parseFloat(l[0])*oT),0,1,0,0],r);break;case"matrix":r[0]=parseFloat(l[0]),r[1]=parseFloat(l[1]),r[2]=parseFloat(l[2]),r[3]=parseFloat(l[3]),r[4]=parseFloat(l[4]),r[5]=parseFloat(l[5])}}e.setLocalTransform(r)}}(t,e),sT(t,a,s),i||function(t,e,n){for(var i=0;i0,f={api:n,geo:s,mapOrGeoModel:t,data:a,isVisualEncodedByVisualMap:d,isGeo:o,transformInfoRaw:c};"geoJSON"===s.resourceType?this._buildGeoJSON(f):"geoSVG"===s.resourceType&&this._buildSVG(f),this._updateController(t,e,n),this._updateMapSelectHandler(t,l,n,i)},t.prototype._buildGeoJSON=function(t){var e=this._regionsGroupByName=ft(),n=ft(),i=this._regionsGroup,r=t.transformInfoRaw,o=t.mapOrGeoModel,a=t.data,s=t.geo.projection,l=s&&s.stream;function u(t,e){return e&&(t=e(t)),t&&[t[0]*r.scaleX+r.x,t[1]*r.scaleY+r.y]}function h(t){for(var e=[],n=!l&&s&&s.project,i=0;i=0)&&(p=r);var d=a?{normal:{align:"center",verticalAlign:"middle"}}:null;qh(e,Kh(i),{labelFetcher:p,labelDataIndex:c,defaultText:n},d);var f=e.getTextContent();if(f&&(AT(f).ignore=f.ignore,e.textConfig&&a)){var g=e.getBoundingRect().clone();e.textConfig.layoutRect=g,e.textConfig.position=[(a[0]-g.x)/g.width*100+"%",(a[1]-g.y)/g.height*100+"%"]}e.disableLabelAnimation=!0}else e.removeTextContent(),e.removeTextConfig(),e.disableLabelAnimation=null}function NT(t,e,n,i,r,o){t.data?t.data.setItemGraphicEl(o,e):js(e).eventData={componentType:"geo",componentIndex:r.componentIndex,geoIndex:r.componentIndex,name:n,region:i&&i.option||{}}}function ET(t,e,n,i,r){t.data||Wh({el:e,componentModel:r,itemName:n,itemTooltipOption:i.get("tooltip")})}function zT(t,e,n,i,r){e.highDownSilentOnTouch=!!r.get("selectedMode");var o=i.getModel("emphasis"),a=o.get("focus");return Bl(e,a,o.get("blurScope"),o.get("disabled")),t.isGeo&&function(t,e,n){var i=js(t);i.componentMainType=e.mainType,i.componentIndex=e.componentIndex,i.componentHighDownName=n}(e,r,n),a}function VT(t,e,n){var i,r=[];function o(){i=[]}function a(){i.length&&(r.push(i),i=[])}var s=e({polygonStart:o,polygonEnd:a,lineStart:o,lineEnd:a,point:function(t,e){isFinite(t)&&isFinite(e)&&i.push([t,e])},sphere:function(){}});return!n&&s.polygonStart(),E(t,(function(t){s.lineStart();for(var e=0;e-1&&(n.style.stroke=n.style.fill,n.style.fill="#fff",n.style.lineWidth=2),n},e.type="series.map",e.dependencies=["geo"],e.layoutMode="box",e.defaultOption={z:2,coordinateSystem:"geo",map:"",left:"center",top:"center",aspectScale:null,showLegendSymbol:!0,boundingCoords:null,center:null,zoom:1,scaleLimit:null,selectedMode:!0,label:{show:!1,color:"#000"},itemStyle:{borderWidth:.5,borderColor:"#444",areaColor:"#eee"},emphasis:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{areaColor:"rgba(255,215,0,0.8)"}},select:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{color:"rgba(255,215,0,0.8)"}},nameProperty:"name"},e}(hg);function GT(t){var e={};t.eachSeriesByType("map",(function(t){var n=t.getHostGeoModel(),i=n?"o"+n.id:"i"+t.getMapType();(e[i]=e[i]||[]).push(t)})),E(e,(function(t,e){for(var n,i,r,o=(n=z(t,(function(t){return t.getData()})),i=t[0].get("mapValueCalculation"),r={},E(n,(function(t){t.each(t.mapDimension("value"),(function(e,n){var i="ec-"+t.getName(n);r[i]=r[i]||[],isNaN(e)||r[i].push(e)}))})),n[0].map(n[0].mapDimension("value"),(function(t,e){for(var o="ec-"+n[0].getName(e),a=0,s=1/0,l=-1/0,u=r[o].length,h=0;h1?(d.width=p,d.height=p/x):(d.height=p,d.width=p*x),d.y=c[1]-d.height/2,d.x=c[0]-d.width/2;else{var b=t.getBoxLayoutParams();b.aspect=x,d=wp(b,{width:v,height:m})}this.setViewRect(d.x,d.y,d.width,d.height),this.setCenter(t.get("center"),e),this.setZoom(t.get("zoom"))}R(jT,YT);var $T=function(){function t(){this.dimensions=ZT}return t.prototype.create=function(t,e){var n=[];function i(t){return{nameProperty:t.get("nameProperty"),aspectScale:t.get("aspectScale"),projection:t.get("projection")}}t.eachComponent("geo",(function(t,r){var o=t.get("map"),a=new jT(o+r,o,A({nameMap:t.get("nameMap")},i(t)));a.zoomLimit=t.get("scaleLimit"),n.push(a),t.coordinateSystem=a,a.model=t,a.resize=KT,a.resize(t,e)})),t.eachSeries((function(t){if("geo"===t.get("coordinateSystem")){var e=t.get("geoIndex")||0;t.coordinateSystem=n[e]}}));var r={};return t.eachSeriesByType("map",(function(t){if(!t.getHostGeoModel()){var e=t.getMapType();r[e]=r[e]||[],r[e].push(t)}})),E(r,(function(t,r){var o=z(t,(function(t){return t.get("nameMap")})),a=new jT(r,r,A({nameMap:D(o)},i(t[0])));a.zoomLimit=it.apply(null,z(t,(function(t){return t.get("scaleLimit")}))),n.push(a),a.resize=KT,a.resize(t[0],e),E(t,(function(t){t.coordinateSystem=a,function(t,e){E(e.get("geoCoord"),(function(e,n){t.addGeoCoord(n,e)}))}(a,t)}))})),n},t.prototype.getFilledRegions=function(t,e,n,i){for(var r=(t||[]).slice(),o=ft(),a=0;a=0;){var o=e[n];o.hierNode.prelim+=i,o.hierNode.modifier+=i,r+=o.hierNode.change,i+=o.hierNode.shift+r}}(t);var o=(n[0].hierNode.prelim+n[n.length-1].hierNode.prelim)/2;r?(t.hierNode.prelim=r.hierNode.prelim+e(t,r),t.hierNode.modifier=t.hierNode.prelim-o):t.hierNode.prelim=o}else r&&(t.hierNode.prelim=r.hierNode.prelim+e(t,r));t.parentNode.hierNode.defaultAncestor=function(t,e,n,i){if(e){for(var r=t,o=t,a=o.parentNode.children[0],s=e,l=r.hierNode.modifier,u=o.hierNode.modifier,h=a.hierNode.modifier,c=s.hierNode.modifier;s=uC(s),o=hC(o),s&&o;){r=uC(r),a=hC(a),r.hierNode.ancestor=t;var p=s.hierNode.prelim+c-o.hierNode.prelim-u+i(s,o);p>0&&(pC(cC(s,t,n),t,p),u+=p,l+=p),c+=s.hierNode.modifier,u+=o.hierNode.modifier,l+=r.hierNode.modifier,h+=a.hierNode.modifier}s&&!uC(r)&&(r.hierNode.thread=s,r.hierNode.modifier+=c-l),o&&!hC(a)&&(a.hierNode.thread=o,a.hierNode.modifier+=u-h,n=t)}return n}(t,r,t.parentNode.hierNode.defaultAncestor||i[0],e)}function aC(t){var e=t.hierNode.prelim+t.parentNode.hierNode.modifier;t.setLayout({x:e},!0),t.hierNode.modifier+=t.parentNode.hierNode.modifier}function sC(t){return arguments.length?t:dC}function lC(t,e){return t-=Math.PI/2,{x:e*Math.cos(t),y:e*Math.sin(t)}}function uC(t){var e=t.children;return e.length&&t.isExpand?e[e.length-1]:t.hierNode.thread}function hC(t){var e=t.children;return e.length&&t.isExpand?e[0]:t.hierNode.thread}function cC(t,e,n){return t.hierNode.ancestor.parentNode===e.parentNode?t.hierNode.ancestor:n}function pC(t,e,n){var i=n/(e.hierNode.i-t.hierNode.i);e.hierNode.change-=i,e.hierNode.shift+=n,e.hierNode.modifier+=n,e.hierNode.prelim+=n,t.hierNode.change+=i}function dC(t,e){return t.parentNode===e.parentNode?1:2}var fC=function(){this.parentPoint=[],this.childPoints=[]},gC=function(t){function e(e){return t.call(this,e)||this}return n(e,t),e.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},e.prototype.getDefaultShape=function(){return new fC},e.prototype.buildPath=function(t,e){var n=e.childPoints,i=n.length,r=e.parentPoint,o=n[0],a=n[i-1];if(1===i)return t.moveTo(r[0],r[1]),void t.lineTo(o[0],o[1]);var s=e.orient,l="TB"===s||"BT"===s?0:1,u=1-l,h=Gr(e.forkPosition,1),c=[];c[l]=r[l],c[u]=r[u]+(a[u]-r[u])*h,t.moveTo(r[0],r[1]),t.lineTo(c[0],c[1]),t.moveTo(o[0],o[1]),c[l]=o[l],t.lineTo(c[0],c[1]),c[l]=a[l],t.lineTo(c[0],c[1]),t.lineTo(a[0],a[1]);for(var p=1;pm.x)||(_-=Math.PI);var S=b?"left":"right",M=s.getModel("label"),I=M.get("rotate"),T=I*(Math.PI/180),C=y.getTextContent();C&&(y.setTextConfig({position:M.get("position")||S,rotation:null==I?-_:T,origin:"center"}),C.setStyle("verticalAlign","middle"))}var D=s.get(["emphasis","focus"]),A="relative"===D?gt(a.getAncestorsIndices(),a.getDescendantIndices()):"ancestor"===D?a.getAncestorsIndices():"descendant"===D?a.getDescendantIndices():null;A&&(js(n).focus=A),function(t,e,n,i,r,o,a,s){var l=e.getModel(),u=t.get("edgeShape"),h=t.get("layout"),c=t.getOrient(),p=t.get(["lineStyle","curveness"]),d=t.get("edgeForkPosition"),f=l.getModel("lineStyle").getLineStyle(),g=i.__edge;if("curve"===u)e.parentNode&&e.parentNode!==n&&(g||(g=i.__edge=new Xu({shape:wC(h,c,p,r,r)})),uh(g,{shape:wC(h,c,p,o,a)},t));else if("polyline"===u)if("orthogonal"===h){if(e!==n&&e.children&&0!==e.children.length&&!0===e.isExpand){for(var y=e.children,v=[],m=0;me&&(e=i.height)}this.height=e+1},t.prototype.getNodeById=function(t){if(this.getId()===t)return this;for(var e=0,n=this.children,i=n.length;e=0&&this.hostTree.data.setItemLayout(this.dataIndex,t,e)},t.prototype.getLayout=function(){return this.hostTree.data.getItemLayout(this.dataIndex)},t.prototype.getModel=function(t){if(!(this.dataIndex<0))return this.hostTree.data.getItemModel(this.dataIndex).getModel(t)},t.prototype.getLevelModel=function(){return(this.hostTree.levelModels||[])[this.depth]},t.prototype.setVisual=function(t,e){this.dataIndex>=0&&this.hostTree.data.setItemVisual(this.dataIndex,t,e)},t.prototype.getVisual=function(t){return this.hostTree.data.getItemVisual(this.dataIndex,t)},t.prototype.getRawIndex=function(){return this.hostTree.data.getRawIndex(this.dataIndex)},t.prototype.getId=function(){return this.hostTree.data.getId(this.dataIndex)},t.prototype.getChildIndex=function(){if(this.parentNode){for(var t=this.parentNode.children,e=0;e=0){var i=n.getData().tree.root,r=t.targetNode;if(X(r)&&(r=i.getNodeById(r)),r&&i.contains(r))return{node:r};var o=t.targetNodeId;if(null!=o&&(r=i.getNodeById(o)))return{node:r}}}function NC(t){for(var e=[];t;)(t=t.parentNode)&&e.push(t);return e.reverse()}function EC(t,e){return P(NC(t),e)>=0}function zC(t,e){for(var n=[];t;){var i=t.dataIndex;n.push({name:t.name,dataIndex:i,value:e.getRawValue(i)}),t=t.parentNode}return n.reverse(),n}var VC=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.hasSymbolVisual=!0,e.ignoreStyleOnData=!0,e}return n(e,t),e.prototype.getInitialData=function(t){var e={name:t.name,children:t.data},n=t.leaves||{},i=new xc(n,this,this.ecModel),r=OC.createTree(e,this,(function(t){t.wrapMethod("getItemModel",(function(t,e){var n=r.getNodeByDataIndex(e);return n&&n.children.length&&n.isExpand||(t.parentModel=i),t}))}));var o=0;r.eachNode("preorder",(function(t){t.depth>o&&(o=t.depth)}));var a=t.expandAndCollapse&&t.initialTreeDepth>=0?t.initialTreeDepth:o;return r.root.eachNode("preorder",(function(t){var e=t.hostTree.data.getRawDataItem(t.dataIndex);t.isExpand=e&&null!=e.collapsed?!e.collapsed:t.depth<=a})),r.data},e.prototype.getOrient=function(){var t=this.get("orient");return"horizontal"===t?t="LR":"vertical"===t&&(t="TB"),t},e.prototype.setZoom=function(t){this.option.zoom=t},e.prototype.setCenter=function(t){this.option.center=t},e.prototype.formatTooltip=function(t,e,n){for(var i=this.getData().tree,r=i.root.children[0],o=i.getNodeByDataIndex(t),a=o.getValue(),s=o.name;o&&o!==r;)s=o.parentNode.name+"."+s,o=o.parentNode;return qf("nameValue",{name:s,value:a,noValue:isNaN(a)||null==a})},e.prototype.getDataParams=function(e){var n=t.prototype.getDataParams.apply(this,arguments),i=this.getData().tree.getNodeByDataIndex(e);return n.treeAncestors=zC(i,this),n.collapsed=!i.isExpand,n},e.type="series.tree",e.layoutMode="box",e.defaultOption={z:2,coordinateSystem:"view",left:"12%",top:"12%",right:"12%",bottom:"12%",layout:"orthogonal",edgeShape:"curve",edgeForkPosition:"50%",roam:!1,nodeScaleRatio:.4,center:null,zoom:1,orient:"LR",symbol:"emptyCircle",symbolSize:7,expandAndCollapse:!0,initialTreeDepth:2,lineStyle:{color:"#ccc",width:1.5,curveness:.5},itemStyle:{color:"lightsteelblue",borderWidth:1.5},label:{show:!0},animationEasing:"linear",animationDuration:700,animationDurationUpdate:500},e}(hg);function BC(t,e){for(var n,i=[t];n=i.pop();)if(e(n),n.isExpand){var r=n.children;if(r.length)for(var o=r.length-1;o>=0;o--)i.push(r[o])}}function FC(t,e){t.eachSeriesByType("tree",(function(t){!function(t,e){var n=function(t,e){return wp(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}(t,e);t.layoutInfo=n;var i=t.get("layout"),r=0,o=0,a=null;"radial"===i?(r=2*Math.PI,o=Math.min(n.height,n.width)/2,a=sC((function(t,e){return(t.parentNode===e.parentNode?1:2)/t.depth}))):(r=n.width,o=n.height,a=sC());var s=t.getData().tree.root,l=s.children[0];if(l){!function(t){var e=t;e.hierNode={defaultAncestor:null,ancestor:e,prelim:0,modifier:0,change:0,shift:0,i:0,thread:null};for(var n,i,r=[e];n=r.pop();)if(i=n.children,n.isExpand&&i.length)for(var o=i.length-1;o>=0;o--){var a=i[o];a.hierNode={defaultAncestor:null,ancestor:a,prelim:0,modifier:0,change:0,shift:0,i:o,thread:null},r.push(a)}}(s),function(t,e,n){for(var i,r=[t],o=[];i=r.pop();)if(o.push(i),i.isExpand){var a=i.children;if(a.length)for(var s=0;sh.getLayout().x&&(h=t),t.depth>c.depth&&(c=t)}));var p=u===h?1:a(u,h)/2,d=p-u.getLayout().x,f=0,g=0,y=0,v=0;if("radial"===i)f=r/(h.getLayout().x+p+d),g=o/(c.depth-1||1),BC(l,(function(t){y=(t.getLayout().x+d)*f,v=(t.depth-1)*g;var e=lC(y,v);t.setLayout({x:e.x,y:e.y,rawX:y,rawY:v},!0)}));else{var m=t.getOrient();"RL"===m||"LR"===m?(g=o/(h.getLayout().x+p+d),f=r/(c.depth-1||1),BC(l,(function(t){v=(t.getLayout().x+d)*g,y="LR"===m?(t.depth-1)*f:r-(t.depth-1)*f,t.setLayout({x:y,y:v},!0)}))):"TB"!==m&&"BT"!==m||(f=r/(h.getLayout().x+p+d),g=o/(c.depth-1||1),BC(l,(function(t){y=(t.getLayout().x+d)*f,v="TB"===m?(t.depth-1)*g:o-(t.depth-1)*g,t.setLayout({x:y,y:v},!0)})))}}}(t,e)}))}function GC(t){t.eachSeriesByType("tree",(function(t){var e=t.getData();e.tree.eachNode((function(t){var n=t.getModel().getModel("itemStyle").getItemStyle();A(e.ensureUniqueItemVisual(t.dataIndex,"style"),n)}))}))}var WC=["treemapZoomToNode","treemapRender","treemapMove"];function HC(t){var e=t.getData().tree,n={};e.eachNode((function(e){for(var i=e;i&&i.depth>1;)i=i.parentNode;var r=rd(t.ecModel,i.name||i.dataIndex+"",n);e.setVisual("decal",r)}))}var YC=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.preventUsingHoverLayer=!0,n}return n(e,t),e.prototype.getInitialData=function(t,e){var n={name:t.name,children:t.data};UC(n);var i=t.levels||[],r=this.designatedVisualItemStyle={},o=new xc({itemStyle:r},this,e);i=t.levels=function(t,e){var n,i,r=yo(e.get("color")),o=yo(e.get(["aria","decal","decals"]));if(!r)return;E(t=t||[],(function(t){var e=new xc(t),r=e.get("color"),o=e.get("decal");(e.get(["itemStyle","color"])||r&&"none"!==r)&&(n=!0),(e.get(["itemStyle","decal"])||o&&"none"!==o)&&(i=!0)}));var a=t[0]||(t[0]={});n||(a.color=r.slice());!i&&o&&(a.decal=o.slice());return t}(i,e);var a=z(i||[],(function(t){return new xc(t,o,e)}),this),s=OC.createTree(n,this,(function(t){t.wrapMethod("getItemModel",(function(t,e){var n=s.getNodeByDataIndex(e),i=n?a[n.depth]:null;return t.parentModel=i||o,t}))}));return s.data},e.prototype.optionUpdated=function(){this.resetViewRoot()},e.prototype.formatTooltip=function(t,e,n){var i=this.getData(),r=this.getRawValue(t);return qf("nameValue",{name:i.getName(t),value:r})},e.prototype.getDataParams=function(e){var n=t.prototype.getDataParams.apply(this,arguments),i=this.getData().tree.getNodeByDataIndex(e);return n.treeAncestors=zC(i,this),n.treePathInfo=n.treeAncestors,n},e.prototype.setLayoutInfo=function(t){this.layoutInfo=this.layoutInfo||{},A(this.layoutInfo,t)},e.prototype.mapIdToIndex=function(t){var e=this._idIndexMap;e||(e=this._idIndexMap=ft(),this._idIndexMapCount=0);var n=e.get(t);return null==n&&e.set(t,n=this._idIndexMapCount++),n},e.prototype.getViewRoot=function(){return this._viewRoot},e.prototype.resetViewRoot=function(t){t?this._viewRoot=t:t=this._viewRoot;var e=this.getRawData().tree.root;t&&(t===e||e.contains(t))||(this._viewRoot=e)},e.prototype.enableAriaDecal=function(){HC(this)},e.type="series.treemap",e.layoutMode="box",e.defaultOption={progressive:0,left:"center",top:"middle",width:"80%",height:"80%",sort:!0,clipWindow:"origin",squareRatio:.5*(1+Math.sqrt(5)),leafDepth:null,drillDownIcon:"▶",zoomToNodeRatio:.1024,roam:!0,nodeClick:"zoomToNode",animation:!0,animationDurationUpdate:900,animationEasing:"quinticInOut",breadcrumb:{show:!0,height:22,left:"center",top:"bottom",emptyItemWidth:25,itemStyle:{color:"rgba(0,0,0,0.7)",textStyle:{color:"#fff"}},emphasis:{itemStyle:{color:"rgba(0,0,0,0.9)"}}},label:{show:!0,distance:0,padding:5,position:"inside",color:"#fff",overflow:"truncate"},upperLabel:{show:!1,position:[0,"50%"],height:20,overflow:"truncate",verticalAlign:"middle"},itemStyle:{color:null,colorAlpha:null,colorSaturation:null,borderWidth:0,gapWidth:0,borderColor:"#fff",borderColorSaturation:null},emphasis:{upperLabel:{show:!0,position:[0,"50%"],overflow:"truncate",verticalAlign:"middle"}},visualDimension:0,visualMin:null,visualMax:null,color:[],colorAlpha:null,colorSaturation:null,colorMappingBy:"index",visibleMin:10,childrenVisibleMin:null,levels:[]},e}(hg);function UC(t){var e=0;E(t.children,(function(t){UC(t);var n=t.value;Y(n)&&(n=n[0]),e+=n}));var n=t.value;Y(n)&&(n=n[0]),(null==n||isNaN(n))&&(n=e),n<0&&(n=0),Y(t.value)?t.value[0]=n:t.value=n}var XC=function(){function t(t){this.group=new Pr,t.add(this.group)}return t.prototype.render=function(t,e,n,i){var r=t.getModel("breadcrumb"),o=this.group;if(o.removeAll(),r.get("show")&&n){var a=r.getModel("itemStyle"),s=r.getModel("emphasis"),l=a.getModel("textStyle"),u=s.getModel(["itemStyle","textStyle"]),h={pos:{left:r.get("left"),right:r.get("right"),top:r.get("top"),bottom:r.get("bottom")},box:{width:e.getWidth(),height:e.getHeight()},emptyItemWidth:r.get("emptyItemWidth"),totalWidth:0,renderList:[]};this._prepare(n,h,l),this._renderContent(t,h,a,s,l,u,i),Sp(o,h.pos,h.box)}},t.prototype._prepare=function(t,e,n){for(var i=t;i;i=i.parentNode){var r=Mo(i.getModel().get("name"),""),o=n.getTextRect(r),a=Math.max(o.width+16,e.emptyItemWidth);e.totalWidth+=a+8,e.renderList.push({node:i,text:r,width:a})}},t.prototype._renderContent=function(t,e,n,i,r,o,a){for(var s,l,u,h,c,p,d,f,g,y=0,v=e.emptyItemWidth,m=t.get(["breadcrumb","height"]),x=(s=e.pos,l=e.box,h=l.width,c=l.height,p=Gr(s.left,h),d=Gr(s.top,c),f=Gr(s.right,h),g=Gr(s.bottom,c),(isNaN(p)||isNaN(parseFloat(s.left)))&&(p=0),(isNaN(f)||isNaN(parseFloat(s.right)))&&(f=h),(isNaN(d)||isNaN(parseFloat(s.top)))&&(d=0),(isNaN(g)||isNaN(parseFloat(s.bottom)))&&(g=c),u=up(u||0),{width:Math.max(f-p-u[1]-u[3],0),height:Math.max(g-d-u[0]-u[2],0)}),_=e.totalWidth,b=e.renderList,w=i.getModel("itemStyle").getItemStyle(),S=b.length-1;S>=0;S--){var M=b[S],I=M.node,T=M.width,C=M.text;_>x.width&&(_-=T-v,T=v,C=null);var D=new zu({shape:{points:ZC(y,0,T,m,S===b.length-1,0===S)},style:k(n.getItemStyle(),{lineJoin:"bevel"}),textContent:new Ns({style:$h(r,{text:C})}),textConfig:{position:"inside"},z2:1e5,onclick:H(a,I)});D.disableLabelAnimation=!0,D.getTextContent().ensureState("emphasis").style=$h(o,{text:C}),D.ensureState("emphasis").style=w,Bl(D,i.get("focus"),i.get("blurScope"),i.get("disabled")),this.group.add(D),jC(D,t,I),y+=T+8}},t.prototype.remove=function(){this.group.removeAll()},t}();function ZC(t,e,n,i,r,o){var a=[[r?t:t-5,e],[t+n,e],[t+n,e+i],[r?t:t-5,e+i]];return!o&&a.splice(2,0,[t+n+5,e+i/2]),!r&&a.push([t,e+i/2]),a}function jC(t,e,n){js(t).eventData={componentType:"series",componentSubType:"treemap",componentIndex:e.componentIndex,seriesIndex:e.seriesIndex,seriesName:e.name,seriesType:"treemap",selfType:"breadcrumb",nodeData:{dataIndex:n&&n.dataIndex,name:n&&n.name},treePathInfo:n&&zC(n,e)}}var qC=function(){function t(){this._storage=[],this._elExistsMap={}}return t.prototype.add=function(t,e,n,i,r){return!this._elExistsMap[t.id]&&(this._elExistsMap[t.id]=!0,this._storage.push({el:t,target:e,duration:n,delay:i,easing:r}),!0)},t.prototype.finished=function(t){return this._finishedCallback=t,this},t.prototype.start=function(){for(var t=this,e=this._storage.length,n=function(){--e<=0&&(t._storage.length=0,t._elExistsMap={},t._finishedCallback&&t._finishedCallback())},i=0,r=this._storage.length;i3||Math.abs(t.dy)>3)){var e=this.seriesModel.getData().tree.root;if(!e)return;var n=e.getLayout();if(!n)return;this.api.dispatchAction({type:"treemapMove",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:n.x+t.dx,y:n.y+t.dy,width:n.width,height:n.height}})}},e.prototype._onZoom=function(t){var e=t.originX,n=t.originY;if("animating"!==this._state){var i=this.seriesModel.getData().tree.root;if(!i)return;var r=i.getLayout();if(!r)return;var o=new Re(r.x,r.y,r.width,r.height),a=this.seriesModel.layoutInfo,s=[1,0,0,1,0,0];xe(s,s,[-(e-=a.x),-(n-=a.y)]),be(s,s,[t.scale,t.scale]),xe(s,s,[e,n]),o.applyTransform(s),this.api.dispatchAction({type:"treemapRender",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:o.x,y:o.y,width:o.width,height:o.height}})}},e.prototype._initEvents=function(t){var e=this;t.on("click",(function(t){if("ready"===e._state){var n=e.seriesModel.get("nodeClick",!0);if(n){var i=e.findTarget(t.offsetX,t.offsetY);if(i){var r=i.node;if(r.getLayout().isLeafRoot)e._rootToNode(i);else if("zoomToNode"===n)e._zoomToNode(i);else if("link"===n){var o=r.hostTree.data.getItemModel(r.dataIndex),a=o.get("link",!0),s=o.get("target",!0)||"blank";a&&yp(a,s)}}}}}),this)},e.prototype._renderBreadcrumb=function(t,e,n){var i=this;n||(n=null!=t.get("leafDepth",!0)?{node:t.getViewRoot()}:this.findTarget(e.getWidth()/2,e.getHeight()/2))||(n={node:t.getData().tree.root}),(this._breadcrumb||(this._breadcrumb=new XC(this.group))).render(t,e,n.node,(function(e){"animating"!==i._state&&(EC(t.getViewRoot(),e)?i._rootToNode({node:e}):i._zoomToNode({node:e}))}))},e.prototype.remove=function(){this._clearController(),this._containerGroup&&this._containerGroup.removeAll(),this._storage={nodeGroup:[],background:[],content:[]},this._state="ready",this._breadcrumb&&this._breadcrumb.remove()},e.prototype.dispose=function(){this._clearController()},e.prototype._zoomToNode=function(t){this.api.dispatchAction({type:"treemapZoomToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:t.node})},e.prototype._rootToNode=function(t){this.api.dispatchAction({type:"treemapRootToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:t.node})},e.prototype.findTarget=function(t,e){var n;return this.seriesModel.getViewRoot().eachNode({attr:"viewChildren",order:"preorder"},(function(i){var r=this._storage.background[i.getRawIndex()];if(r){var o=r.transformCoordToLocal(t,e),a=r.shape;if(!(a.x<=o[0]&&o[0]<=a.x+a.width&&a.y<=o[1]&&o[1]<=a.y+a.height))return!1;n={node:i,offsetX:o[0],offsetY:o[1]}}}),this),n},e.type="treemap",e}(wg);var rD=E,oD=q,aD=-1,sD=function(){function t(e){var n=e.mappingMethod,i=e.type,r=this.option=T(e);this.type=i,this.mappingMethod=n,this._normalizeData=vD[n];var o=t.visualHandlers[i];this.applyVisual=o.applyVisual,this.getColorMapper=o.getColorMapper,this._normalizedToVisual=o._normalizedToVisual[n],"piecewise"===n?(lD(r),function(t){var e=t.pieceList;t.hasSpecialVisual=!1,E(e,(function(e,n){e.originIndex=n,null!=e.visual&&(t.hasSpecialVisual=!0)}))}(r)):"category"===n?r.categories?function(t){var e=t.categories,n=t.categoryMap={},i=t.visual;if(rD(e,(function(t,e){n[t]=e})),!Y(i)){var r=[];q(i)?rD(i,(function(t,e){var i=n[e];r[null!=i?i:aD]=t})):r[-1]=i,i=yD(t,r)}for(var o=e.length-1;o>=0;o--)null==i[o]&&(delete n[e[o]],e.pop())}(r):lD(r,!0):(lt("linear"!==n||r.dataExtent),lD(r))}return t.prototype.mapValueToVisual=function(t){var e=this._normalizeData(t);return this._normalizedToVisual(e,t)},t.prototype.getNormalizer=function(){return W(this._normalizeData,this)},t.listVisualTypes=function(){return G(t.visualHandlers)},t.isValidType=function(e){return t.visualHandlers.hasOwnProperty(e)},t.eachVisual=function(t,e,n){q(t)?E(t,e,n):e.call(n,t)},t.mapVisual=function(e,n,i){var r,o=Y(e)?[]:q(e)?{}:(r=!0,null);return t.eachVisual(e,(function(t,e){var a=n.call(i,t,e);r?o=a:o[e]=a})),o},t.retrieveVisuals=function(e){var n,i={};return e&&rD(t.visualHandlers,(function(t,r){e.hasOwnProperty(r)&&(i[r]=e[r],n=!0)})),n?i:null},t.prepareVisualTypes=function(t){if(Y(t))t=t.slice();else{if(!oD(t))return[];var e=[];rD(t,(function(t,n){e.push(n)})),t=e}return t.sort((function(t,e){return"color"===e&&"color"!==t&&0===t.indexOf("color")?1:-1})),t},t.dependsOn=function(t,e){return"color"===e?!(!t||0!==t.indexOf(e)):t===e},t.findPieceIndex=function(t,e,n){for(var i,r=1/0,o=0,a=e.length;ou[1]&&(u[1]=l);var h=e.get("colorMappingBy"),c={type:a.name,dataExtent:u,visual:a.range};"color"!==c.type||"index"!==h&&"id"!==h?c.mappingMethod="linear":(c.mappingMethod="category",c.loop=!0);var p=new sD(c);return xD(p).drColorMappingBy=h,p}(0,r,o,0,u,d);E(d,(function(t,e){if(t.depth>=n.length||t===n[t.depth]){var o=function(t,e,n,i,r,o){var a=A({},e);if(r){var s=r.type,l="color"===s&&xD(r).drColorMappingBy,u="index"===l?i:"id"===l?o.mapIdToIndex(n.getId()):n.getValue(t.get("visualDimension"));a[s]=r.mapValueToVisual(u)}return a}(r,u,t,e,f,i);bD(t,o,n,i)}}))}else s=wD(u),h.fill=s}}function wD(t){var e=SD(t,"color");if(e){var n=SD(t,"colorAlpha"),i=SD(t,"colorSaturation");return i&&(e=Qn(e,null,null,i)),n&&(e=ti(e,n)),e}}function SD(t,e){var n=t[e];if(null!=n&&"none"!==n)return n}function MD(t,e){var n=t.get(e);return Y(n)&&n.length?{name:e,range:n}:null}var ID=Math.max,TD=Math.min,CD=it,DD=E,AD=["itemStyle","borderWidth"],kD=["itemStyle","gapWidth"],LD=["upperLabel","show"],PD=["upperLabel","height"],OD={seriesType:"treemap",reset:function(t,e,n,i){var r=n.getWidth(),o=n.getHeight(),a=t.option,s=wp(t.getBoxLayoutParams(),{width:n.getWidth(),height:n.getHeight()}),l=a.size||[],u=Gr(CD(s.width,l[0]),r),h=Gr(CD(s.height,l[1]),o),c=i&&i.type,p=RC(i,["treemapZoomToNode","treemapRootToNode"],t),d="treemapRender"===c||"treemapMove"===c?i.rootRect:null,f=t.getViewRoot(),g=NC(f);if("treemapMove"!==c){var y="treemapZoomToNode"===c?function(t,e,n,i,r){var o,a=(e||{}).node,s=[i,r];if(!a||a===n)return s;var l=i*r,u=l*t.option.zoomToNodeRatio;for(;o=a.parentNode;){for(var h=0,c=o.children,p=0,d=c.length;pqr&&(u=qr),a=o}ua[1]&&(a[1]=e)}))):a=[NaN,NaN];return{sum:i,dataExtent:a}}(e,a,s);if(0===u.sum)return t.viewChildren=[];if(u.sum=function(t,e,n,i,r){if(!i)return n;for(var o=t.get("visibleMin"),a=r.length,s=a,l=a-1;l>=0;l--){var u=r["asc"===i?a-l-1:l].getValue();u/n*ei&&(i=a));var l=t.area*t.area,u=e*e*n;return l?ID(u*i/l,l/(u*r)):1/0}function ED(t,e,n,i,r){var o=e===n.width?0:1,a=1-o,s=["x","y"],l=["width","height"],u=n[s[o]],h=e?t.area/e:0;(r||h>n[l[a]])&&(h=n[l[a]]);for(var c=0,p=t.length;ci&&(i=e);var o=i%2?i+2:i+3;r=[];for(var a=0;a0&&(m[0]=-m[0],m[1]=-m[1]);var _=v[0]<0?-1:1;if("start"!==i.__position&&"end"!==i.__position){var b=-Math.atan2(v[1],v[0]);u[0].8?"left":h[0]<-.8?"right":"center",p=h[1]>.8?"top":h[1]<-.8?"bottom":"middle";break;case"start":i.x=-h[0]*f+l[0],i.y=-h[1]*g+l[1],c=h[0]>.8?"right":h[0]<-.8?"left":"center",p=h[1]>.8?"bottom":h[1]<-.8?"top":"middle";break;case"insideStartTop":case"insideStart":case"insideStartBottom":i.x=f*_+l[0],i.y=l[1]+w,c=v[0]<0?"right":"left",i.originX=-f*_,i.originY=-w;break;case"insideMiddleTop":case"insideMiddle":case"insideMiddleBottom":case"middle":i.x=x[0],i.y=x[1]+w,c="center",i.originY=-w;break;case"insideEndTop":case"insideEnd":case"insideEndBottom":i.x=-f*_+u[0],i.y=u[1]+w,c=v[0]>=0?"right":"left",i.originX=f*_,i.originY=-w}i.scaleX=i.scaleY=r,i.setStyle({verticalAlign:i.__verticalAlign||p,align:i.__align||c})}}}function S(t,e){var n=t.__specifiedRotation;if(null==n){var i=a.tangentAt(e);t.attr("rotation",(1===e?-1:1)*Math.PI/2-Math.atan2(i[1],i[0]))}else t.attr("rotation",n)}},e}(Pr),_A=function(){function t(t){this.group=new Pr,this._LineCtor=t||xA}return t.prototype.updateData=function(t){var e=this;this._progressiveEls=null;var n=this,i=n.group,r=n._lineData;n._lineData=t,r||i.removeAll();var o=bA(t);t.diff(r).add((function(n){e._doAdd(t,n,o)})).update((function(n,i){e._doUpdate(r,t,i,n,o)})).remove((function(t){i.remove(r.getItemGraphicEl(t))})).execute()},t.prototype.updateLayout=function(){var t=this._lineData;t&&t.eachItemGraphicEl((function(e,n){e.updateLayout(t,n)}),this)},t.prototype.incrementalPrepareUpdate=function(t){this._seriesScope=bA(t),this._lineData=null,this.group.removeAll()},t.prototype.incrementalUpdate=function(t,e){function n(t){t.isGroup||function(t){return t.animators&&t.animators.length>0}(t)||(t.incremental=!0,t.ensureState("emphasis").hoverLayer=!0)}this._progressiveEls=[];for(var i=t.start;i=0?i+=u:i-=u:f>=0?i-=u:i+=u}return i}function LA(t,e){var n=[],i=In,r=[[],[],[]],o=[[],[]],a=[];e/=2,t.eachEdge((function(t,s){var l=t.getLayout(),u=t.getVisual("fromSymbol"),h=t.getVisual("toSymbol");l.__original||(l.__original=[Mt(l[0]),Mt(l[1])],l[2]&&l.__original.push(Mt(l[2])));var c=l.__original;if(null!=l[2]){if(St(r[0],c[0]),St(r[1],c[2]),St(r[2],c[1]),u&&"none"!==u){var p=tA(t.node1),d=kA(r,c[0],p*e);i(r[0][0],r[1][0],r[2][0],d,n),r[0][0]=n[3],r[1][0]=n[4],i(r[0][1],r[1][1],r[2][1],d,n),r[0][1]=n[3],r[1][1]=n[4]}if(h&&"none"!==h){p=tA(t.node2),d=kA(r,c[1],p*e);i(r[0][0],r[1][0],r[2][0],d,n),r[1][0]=n[1],r[2][0]=n[2],i(r[0][1],r[1][1],r[2][1],d,n),r[1][1]=n[1],r[2][1]=n[2]}St(l[0],r[0]),St(l[1],r[2]),St(l[2],r[1])}else{if(St(o[0],c[0]),St(o[1],c[1]),Dt(a,o[1],o[0]),Rt(a,a),u&&"none"!==u){p=tA(t.node1);Ct(o[0],o[0],a,p*e)}if(h&&"none"!==h){p=tA(t.node2);Ct(o[1],o[1],a,-p*e)}St(l[0],o[0]),St(l[1],o[1])}}))}function PA(t){return"view"===t.type}var OA=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.init=function(t,e){var n=new Jw,i=new _A,r=this.group;this._controller=new OI(e.getZr()),this._controllerHost={target:r},r.add(n.group),r.add(i.group),this._symbolDraw=n,this._lineDraw=i,this._firstRender=!0},e.prototype.render=function(t,e,n){var i=this,r=t.coordinateSystem;this._model=t;var o=this._symbolDraw,a=this._lineDraw,s=this.group;if(PA(r)){var l={x:r.x,y:r.y,scaleX:r.scaleX,scaleY:r.scaleY};this._firstRender?s.attr(l):uh(s,l,t)}LA(t.getGraph(),QD(t));var u=t.getData();o.updateData(u);var h=t.getEdgeData();a.updateData(h),this._updateNodeAndLinkScale(),this._updateController(t,e,n),clearTimeout(this._layoutTimeout);var c=t.forceLayout,p=t.get(["force","layoutAnimation"]);c&&this._startForceLayoutIteration(c,p);var d=t.get("layout");u.graph.eachNode((function(e){var n=e.dataIndex,r=e.getGraphicEl(),o=e.getModel();if(r){r.off("drag").off("dragend");var a=o.get("draggable");a&&r.on("drag",(function(o){switch(d){case"force":c.warmUp(),!i._layouting&&i._startForceLayoutIteration(c,p),c.setFixed(n),u.setItemLayout(n,[r.x,r.y]);break;case"circular":u.setItemLayout(n,[r.x,r.y]),e.setLayout({fixed:!0},!0),iA(t,"symbolSize",e,[o.offsetX,o.offsetY]),i.updateLayout(t);break;default:u.setItemLayout(n,[r.x,r.y]),$D(t.getGraph(),t),i.updateLayout(t)}})).on("dragend",(function(){c&&c.setUnfixed(n)})),r.setDraggable(a&&!!c,!!o.get("cursor")),"adjacency"===o.get(["emphasis","focus"])&&(js(r).focus=e.getAdjacentDataIndices())}})),u.graph.eachEdge((function(t){var e=t.getGraphicEl(),n=t.getModel().get(["emphasis","focus"]);e&&"adjacency"===n&&(js(e).focus={edge:[t.dataIndex],node:[t.node1.dataIndex,t.node2.dataIndex]})}));var f="circular"===t.get("layout")&&t.get(["circular","rotateLabel"]),g=u.getLayout("cx"),y=u.getLayout("cy");u.graph.eachNode((function(t){oA(t,f,g,y)})),this._firstRender=!1},e.prototype.dispose=function(){this._controller&&this._controller.dispose(),this._controllerHost=null},e.prototype._startForceLayoutIteration=function(t,e){var n=this;!function i(){t.step((function(t){n.updateLayout(n._model),(n._layouting=!t)&&(e?n._layoutTimeout=setTimeout(i,16):i())}))}()},e.prototype._updateController=function(t,e,n){var i=this,r=this._controller,o=this._controllerHost,a=this.group;r.setPointerChecker((function(e,i,r){var o=a.getBoundingRect();return o.applyTransform(a.transform),o.contain(i,r)&&!GI(e,n,t)})),PA(t.coordinateSystem)?(r.enable(t.get("roam")),o.zoomLimit=t.get("scaleLimit"),o.zoom=t.coordinateSystem.getZoom(),r.off("pan").off("zoom").on("pan",(function(e){zI(o,e.dx,e.dy),n.dispatchAction({seriesId:t.id,type:"graphRoam",dx:e.dx,dy:e.dy})})).on("zoom",(function(e){VI(o,e.scale,e.originX,e.originY),n.dispatchAction({seriesId:t.id,type:"graphRoam",zoom:e.scale,originX:e.originX,originY:e.originY}),i._updateNodeAndLinkScale(),LA(t.getGraph(),QD(t)),i._lineDraw.updateLayout(),n.updateLabelLayout()}))):r.disable()},e.prototype._updateNodeAndLinkScale=function(){var t=this._model,e=t.getData(),n=QD(t);e.eachItemGraphicEl((function(t,e){t&&t.setSymbolScale(n)}))},e.prototype.updateLayout=function(t){LA(t.getGraph(),QD(t)),this._symbolDraw.updateLayout(),this._lineDraw.updateLayout()},e.prototype.remove=function(t,e){this._symbolDraw&&this._symbolDraw.remove(),this._lineDraw&&this._lineDraw.remove()},e.type="graph",e}(wg);function RA(t){return"_EC_"+t}var NA=function(){function t(t){this.type="graph",this.nodes=[],this.edges=[],this._nodesMap={},this._edgesMap={},this._directed=t||!1}return t.prototype.isDirected=function(){return this._directed},t.prototype.addNode=function(t,e){t=null==t?""+e:""+t;var n=this._nodesMap;if(!n[RA(t)]){var i=new EA(t,e);return i.hostGraph=this,this.nodes.push(i),n[RA(t)]=i,i}},t.prototype.getNodeByIndex=function(t){var e=this.data.getRawIndex(t);return this.nodes[e]},t.prototype.getNodeById=function(t){return this._nodesMap[RA(t)]},t.prototype.addEdge=function(t,e,n){var i=this._nodesMap,r=this._edgesMap;if(j(t)&&(t=this.nodes[t]),j(e)&&(e=this.nodes[e]),t instanceof EA||(t=i[RA(t)]),e instanceof EA||(e=i[RA(e)]),t&&e){var o=t.id+"-"+e.id,a=new zA(t,e,n);return a.hostGraph=this,this._directed&&(t.outEdges.push(a),e.inEdges.push(a)),t.edges.push(a),t!==e&&e.edges.push(a),this.edges.push(a),r[o]=a,a}},t.prototype.getEdgeByIndex=function(t){var e=this.edgeData.getRawIndex(t);return this.edges[e]},t.prototype.getEdge=function(t,e){t instanceof EA&&(t=t.id),e instanceof EA&&(e=e.id);var n=this._edgesMap;return this._directed?n[t+"-"+e]:n[t+"-"+e]||n[e+"-"+t]},t.prototype.eachNode=function(t,e){for(var n=this.nodes,i=n.length,r=0;r=0&&t.call(e,n[r],r)},t.prototype.eachEdge=function(t,e){for(var n=this.edges,i=n.length,r=0;r=0&&n[r].node1.dataIndex>=0&&n[r].node2.dataIndex>=0&&t.call(e,n[r],r)},t.prototype.breadthFirstTraverse=function(t,e,n,i){if(e instanceof EA||(e=this._nodesMap[RA(e)]),e){for(var r="out"===n?"outEdges":"in"===n?"inEdges":"edges",o=0;o=0&&n.node2.dataIndex>=0}));for(r=0,o=i.length;r=0&&this[t][e].setItemVisual(this.dataIndex,n,i)},getVisual:function(n){return this[t][e].getItemVisual(this.dataIndex,n)},setLayout:function(n,i){this.dataIndex>=0&&this[t][e].setItemLayout(this.dataIndex,n,i)},getLayout:function(){return this[t][e].getItemLayout(this.dataIndex)},getGraphicEl:function(){return this[t][e].getItemGraphicEl(this.dataIndex)},getRawIndex:function(){return this[t][e].getRawIndex(this.dataIndex)}}}function BA(t,e,n,i,r){for(var o=new NA(i),a=0;a "+p)),u++)}var d,f=n.get("coordinateSystem");if("cartesian2d"===f||"polar"===f)d=sx(t,n);else{var g=dd.get(f),y=g&&g.dimensions||[];P(y,"value")<0&&y.concat(["value"]);var v=Qm(t,{coordDimensions:y,encodeDefine:n.getEncode()}).dimensions;(d=new Jm(v,n)).initData(t)}var m=new Jm(["value"],n);return m.initData(l,s),r&&r(d,m),MC({mainData:d,struct:o,structAttr:"graph",datas:{node:d,edge:m},datasAttr:{node:"data",edge:"edgeData"}}),o.update(),o}R(EA,VA("hostGraph","data")),R(zA,VA("hostGraph","edgeData"));var FA=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.hasSymbolVisual=!0,n}return n(e,t),e.prototype.init=function(e){t.prototype.init.apply(this,arguments);var n=this;function i(){return n._categoriesData}this.legendVisualProvider=new dM(i,i),this.fillDataTextStyle(e.edges||e.links),this._updateCategoriesData()},e.prototype.mergeOption=function(e){t.prototype.mergeOption.apply(this,arguments),this.fillDataTextStyle(e.edges||e.links),this._updateCategoriesData()},e.prototype.mergeDefaultAndTheme=function(e){t.prototype.mergeDefaultAndTheme.apply(this,arguments),vo(e,"edgeLabel",["show"])},e.prototype.getInitialData=function(t,e){var n,i=t.edges||t.links||[],r=t.data||t.nodes||[],o=this;if(r&&i){YD(n=this)&&(n.__curvenessList=[],n.__edgeMap={},UD(n));var a=BA(r,i,this,!0,(function(t,e){t.wrapMethod("getItemModel",(function(t){var e=o._categoriesModels[t.getShallow("category")];return e&&(e.parentModel=t.parentModel,t.parentModel=e),t}));var n=xc.prototype.getModel;function i(t,e){var i=n.call(this,t,e);return i.resolveParentPath=r,i}function r(t){if(t&&("label"===t[0]||"label"===t[1])){var e=t.slice();return"label"===t[0]?e[0]="edgeLabel":"label"===t[1]&&(e[1]="edgeLabel"),e}return t}e.wrapMethod("getItemModel",(function(t){return t.resolveParentPath=r,t.getModel=i,t}))}));return E(a.edges,(function(t){!function(t,e,n,i){if(YD(n)){var r=XD(t,e,n),o=n.__edgeMap,a=o[ZD(r)];o[r]&&!a?o[r].isForward=!0:a&&o[r]&&(a.isForward=!0,o[r].isForward=!1),o[r]=o[r]||[],o[r].push(i)}}(t.node1,t.node2,this,t.dataIndex)}),this),a.data}},e.prototype.getGraph=function(){return this.getData().graph},e.prototype.getEdgeData=function(){return this.getGraph().edgeData},e.prototype.getCategoriesData=function(){return this._categoriesData},e.prototype.formatTooltip=function(t,e,n){if("edge"===n){var i=this.getData(),r=this.getDataParams(t,n),o=i.graph.getEdgeByIndex(t),a=i.getName(o.node1.dataIndex),s=i.getName(o.node2.dataIndex),l=[];return null!=a&&l.push(a),null!=s&&l.push(s),qf("nameValue",{name:l.join(" > "),value:r.value,noValue:null==r.value})}return sg({series:this,dataIndex:t,multipleSeries:e})},e.prototype._updateCategoriesData=function(){var t=z(this.option.categories||[],(function(t){return null!=t.value?t:A({value:0},t)})),e=new Jm(["value"],this);e.initData(t),this._categoriesData=e,this._categoriesModels=e.mapArray((function(t){return e.getItemModel(t)}))},e.prototype.setZoom=function(t){this.option.zoom=t},e.prototype.setCenter=function(t){this.option.center=t},e.prototype.isAnimationEnabled=function(){return t.prototype.isAnimationEnabled.call(this)&&!("force"===this.get("layout")&&this.get(["force","layoutAnimation"]))},e.type="series.graph",e.dependencies=["grid","polar","geo","singleAxis","calendar"],e.defaultOption={z:2,coordinateSystem:"view",legendHoverLink:!0,layout:null,circular:{rotateLabel:!1},force:{initLayout:null,repulsion:[0,50],gravity:.1,friction:.6,edgeLength:30,layoutAnimation:!0},left:"center",top:"center",symbol:"circle",symbolSize:10,edgeSymbol:["none","none"],edgeSymbolSize:10,edgeLabel:{position:"middle",distance:5},draggable:!1,roam:!1,center:null,zoom:1,nodeScaleRatio:.6,label:{show:!1,formatter:"{b}"},itemStyle:{},lineStyle:{color:"#aaa",width:1,opacity:.5},emphasis:{scale:!0,label:{show:!0}},select:{itemStyle:{borderColor:"#212121"}}},e}(hg),GA={type:"graphRoam",event:"graphRoam",update:"none"};var WA=function(){this.angle=0,this.width=10,this.r=10,this.x=0,this.y=0},HA=function(t){function e(e){var n=t.call(this,e)||this;return n.type="pointer",n}return n(e,t),e.prototype.getDefaultShape=function(){return new WA},e.prototype.buildPath=function(t,e){var n=Math.cos,i=Math.sin,r=e.r,o=e.width,a=e.angle,s=e.x-n(a)*o*(o>=r/3?1:2),l=e.y-i(a)*o*(o>=r/3?1:2);a=e.angle-Math.PI/2,t.moveTo(s,l),t.lineTo(e.x+n(a)*o,e.y+i(a)*o),t.lineTo(e.x+n(e.angle)*r,e.y+i(e.angle)*r),t.lineTo(e.x-n(a)*o,e.y-i(a)*o),t.lineTo(s,l)},e}(_s);function YA(t,e){var n=null==t?"":t+"";return e&&(X(e)?n=e.replace("{value}",n):U(e)&&(n=e(t))),n}var UA=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.render=function(t,e,n){this.group.removeAll();var i=t.get(["axisLine","lineStyle","color"]),r=function(t,e){var n=t.get("center"),i=e.getWidth(),r=e.getHeight(),o=Math.min(i,r);return{cx:Gr(n[0],e.getWidth()),cy:Gr(n[1],e.getHeight()),r:Gr(t.get("radius"),o/2)}}(t,n);this._renderMain(t,e,n,i,r),this._data=t.getData()},e.prototype.dispose=function(){},e.prototype._renderMain=function(t,e,n,i,r){var o=this.group,a=t.get("clockwise"),s=-t.get("startAngle")/180*Math.PI,l=-t.get("endAngle")/180*Math.PI,u=t.getModel("axisLine"),h=u.get("roundCap")?LS:Pu,c=u.get("show"),p=u.getModel("lineStyle"),d=p.get("width"),f=[s,l];Qa(f,!a);for(var g=(l=f[1])-(s=f[0]),y=s,v=0;c&&v=t&&(0===e?0:i[e-1][0])Math.PI/2&&(V+=Math.PI):"tangential"===z?V=-M-Math.PI/2:j(z)&&(V=z*Math.PI/180),0===V?c.add(new Ns({style:$h(x,{text:O,x:N,y:E,verticalAlign:h<-.8?"top":h>.8?"bottom":"middle",align:u<-.4?"left":u>.4?"right":"center"},{inheritColor:R}),silent:!0})):c.add(new Ns({style:$h(x,{text:O,x:N,y:E,verticalAlign:"middle",align:"center"},{inheritColor:R}),silent:!0,originX:N,originY:E,rotation:V}))}if(m.get("show")&&k!==_){P=(P=m.get("distance"))?P+l:l;for(var B=0;B<=b;B++){u=Math.cos(M),h=Math.sin(M);var F=new Wu({shape:{x1:u*(f-P)+p,y1:h*(f-P)+d,x2:u*(f-S-P)+p,y2:h*(f-S-P)+d},silent:!0,style:D});"auto"===D.stroke&&F.setStyle({stroke:i((k+B/b)/_)}),c.add(F),M+=T}M-=T}else M+=I}},e.prototype._renderPointer=function(t,e,n,i,r,o,a,s,l){var u=this.group,h=this._data,c=this._progressEls,p=[],d=t.get(["pointer","show"]),f=t.getModel("progress"),g=f.get("show"),y=t.getData(),v=y.mapDimension("value"),m=+t.get("min"),x=+t.get("max"),_=[m,x],b=[o,a];function w(e,n){var i,o=y.getItemModel(e).getModel("pointer"),a=Gr(o.get("width"),r.r),s=Gr(o.get("length"),r.r),l=t.get(["pointer","icon"]),u=o.get("offsetCenter"),h=Gr(u[0],r.r),c=Gr(u[1],r.r),p=o.get("keepAspect");return(i=l?Ry(l,h-a/2,c-s,a,s,null,p):new HA({shape:{angle:-Math.PI/2,width:a,r:s,x:h,y:c}})).rotation=-(n+Math.PI/2),i.x=r.cx,i.y=r.cy,i}function S(t,e){var n=f.get("roundCap")?LS:Pu,i=f.get("overlap"),a=i?f.get("width"):l/y.count(),u=i?r.r-a:r.r-(t+1)*a,h=i?r.r:r.r-t*a,c=new n({shape:{startAngle:o,endAngle:e,cx:r.cx,cy:r.cy,clockwise:s,r0:u,r:h}});return i&&(c.z2=x-y.get(v,t)%x),c}(g||d)&&(y.diff(h).add((function(e){var n=y.get(v,e);if(d){var i=w(e,o);hh(i,{rotation:-((isNaN(+n)?b[0]:Fr(n,_,b,!0))+Math.PI/2)},t),u.add(i),y.setItemGraphicEl(e,i)}if(g){var r=S(e,o),a=f.get("clip");hh(r,{shape:{endAngle:Fr(n,_,b,a)}},t),u.add(r),qs(t.seriesIndex,y.dataType,e,r),p[e]=r}})).update((function(e,n){var i=y.get(v,e);if(d){var r=h.getItemGraphicEl(n),a=r?r.rotation:o,s=w(e,a);s.rotation=a,uh(s,{rotation:-((isNaN(+i)?b[0]:Fr(i,_,b,!0))+Math.PI/2)},t),u.add(s),y.setItemGraphicEl(e,s)}if(g){var l=c[n],m=S(e,l?l.shape.endAngle:o),x=f.get("clip");uh(m,{shape:{endAngle:Fr(i,_,b,x)}},t),u.add(m),qs(t.seriesIndex,y.dataType,e,m),p[e]=m}})).execute(),y.each((function(t){var e=y.getItemModel(t),n=e.getModel("emphasis"),r=n.get("focus"),o=n.get("blurScope"),a=n.get("disabled");if(d){var s=y.getItemGraphicEl(t),l=y.getItemVisual(t,"style"),u=l.fill;if(s instanceof Is){var h=s.style;s.useStyle(A({image:h.image,x:h.x,y:h.y,width:h.width,height:h.height},l))}else s.useStyle(l),"pointer"!==s.type&&s.setColor(u);s.setStyle(e.getModel(["pointer","itemStyle"]).getItemStyle()),"auto"===s.style.fill&&s.setStyle("fill",i(Fr(y.get(v,t),_,[0,1],!0))),s.z2EmphasisLift=0,Hl(s,e),Bl(s,r,o,a)}if(g){var c=p[t];c.useStyle(y.getItemVisual(t,"style")),c.setStyle(e.getModel(["progress","itemStyle"]).getItemStyle()),c.z2EmphasisLift=0,Hl(c,e),Bl(c,r,o,a)}})),this._progressEls=p)},e.prototype._renderAnchor=function(t,e){var n=t.getModel("anchor");if(n.get("show")){var i=n.get("size"),r=n.get("icon"),o=n.get("offsetCenter"),a=n.get("keepAspect"),s=Ry(r,e.cx-i/2+Gr(o[0],e.r),e.cy-i/2+Gr(o[1],e.r),i,i,null,a);s.z2=n.get("showAbove")?1:0,s.setStyle(n.getModel("itemStyle").getItemStyle()),this.group.add(s)}},e.prototype._renderTitleAndDetail=function(t,e,n,i,r){var o=this,a=t.getData(),s=a.mapDimension("value"),l=+t.get("min"),u=+t.get("max"),h=new Pr,c=[],p=[],d=t.isAnimationEnabled(),f=t.get(["pointer","showAbove"]);a.diff(this._data).add((function(t){c[t]=new Ns({silent:!0}),p[t]=new Ns({silent:!0})})).update((function(t,e){c[t]=o._titleEls[e],p[t]=o._detailEls[e]})).execute(),a.each((function(e){var n=a.getItemModel(e),o=a.get(s,e),g=new Pr,y=i(Fr(o,[l,u],[0,1],!0)),v=n.getModel("title");if(v.get("show")){var m=v.get("offsetCenter"),x=r.cx+Gr(m[0],r.r),_=r.cy+Gr(m[1],r.r);(D=c[e]).attr({z2:f?0:2,style:$h(v,{x:x,y:_,text:a.getName(e),align:"center",verticalAlign:"middle"},{inheritColor:y})}),g.add(D)}var b=n.getModel("detail");if(b.get("show")){var w=b.get("offsetCenter"),S=r.cx+Gr(w[0],r.r),M=r.cy+Gr(w[1],r.r),I=Gr(b.get("width"),r.r),T=Gr(b.get("height"),r.r),C=t.get(["progress","show"])?a.getItemVisual(e,"style").fill:y,D=p[e],A=b.get("formatter");D.attr({z2:f?0:2,style:$h(b,{x:S,y:M,text:YA(o,A),width:isNaN(I)?null:I,height:isNaN(T)?null:T,align:"center",verticalAlign:"middle"},{inheritColor:C})}),oc(D,{normal:b},o,(function(t){return YA(t,A)})),d&&ac(D,e,a,t,{getFormattedLabel:function(t,e,n,i,r,a){return YA(a?a.interpolatedValue:o,A)}}),g.add(D)}h.add(g)})),this.group.add(h),this._titleEls=c,this._detailEls=p},e.type="gauge",e}(wg),XA=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.visualStyleAccessPath="itemStyle",n}return n(e,t),e.prototype.getInitialData=function(t,e){return pM(this,["value"])},e.type="series.gauge",e.defaultOption={z:2,colorBy:"data",center:["50%","50%"],legendHoverLink:!0,radius:"75%",startAngle:225,endAngle:-45,clockwise:!0,min:0,max:100,splitNumber:10,axisLine:{show:!0,roundCap:!1,lineStyle:{color:[[1,"#E6EBF8"]],width:10}},progress:{show:!1,overlap:!0,width:10,roundCap:!1,clip:!0},splitLine:{show:!0,length:10,distance:10,lineStyle:{color:"#63677A",width:3,type:"solid"}},axisTick:{show:!0,splitNumber:5,length:6,distance:10,lineStyle:{color:"#63677A",width:1,type:"solid"}},axisLabel:{show:!0,distance:15,color:"#464646",fontSize:12,rotate:0},pointer:{icon:null,offsetCenter:[0,0],show:!0,showAbove:!0,length:"60%",width:6,keepAspect:!1},anchor:{show:!1,showAbove:!1,size:6,icon:"circle",offsetCenter:[0,0],keepAspect:!1,itemStyle:{color:"#fff",borderWidth:0,borderColor:"#5470c6"}},title:{show:!0,offsetCenter:[0,"20%"],color:"#464646",fontSize:16,valueAnimation:!1},detail:{show:!0,backgroundColor:"rgba(0,0,0,0)",borderWidth:0,borderColor:"#ccc",width:100,height:null,padding:[5,10],offsetCenter:[0,"40%"],color:"#464646",fontSize:30,fontWeight:"bold",lineHeight:30,valueAnimation:!1}},e}(hg);var ZA=["itemStyle","opacity"],jA=function(t){function e(e,n){var i=t.call(this)||this,r=i,o=new Bu,a=new Ns;return r.setTextContent(a),i.setTextGuideLine(o),i.updateData(e,n,!0),i}return n(e,t),e.prototype.updateData=function(t,e,n){var i=this,r=t.hostModel,o=t.getItemModel(e),a=t.getItemLayout(e),s=o.getModel("emphasis"),l=o.get(ZA);l=null==l?1:l,n||gh(i),i.useStyle(t.getItemVisual(e,"style")),i.style.lineJoin="round",n?(i.setShape({points:a.points}),i.style.opacity=0,hh(i,{style:{opacity:l}},r,e)):uh(i,{style:{opacity:l},shape:{points:a.points}},r,e),Hl(i,o),this._updateLabel(t,e),Bl(this,s.get("focus"),s.get("blurScope"),s.get("disabled"))},e.prototype._updateLabel=function(t,e){var n=this,i=this.getTextGuideLine(),r=n.getTextContent(),o=t.hostModel,a=t.getItemModel(e),s=t.getItemLayout(e).label,l=t.getItemVisual(e,"style"),u=l.fill;qh(r,Kh(a),{labelFetcher:t.hostModel,labelDataIndex:e,defaultOpacity:l.opacity,defaultText:t.getName(e)},{normal:{align:s.textAlign,verticalAlign:s.verticalAlign}}),n.setTextConfig({local:!0,inside:!!s.inside,insideStroke:u,outsideFill:u});var h=s.linePoints;i.setShape({points:h}),n.textGuideLineConfig={anchor:h?new Ie(h[0][0],h[0][1]):null},uh(r,{style:{x:s.x,y:s.y}},o,e),r.attr({rotation:s.rotation,originX:s.x,originY:s.y,z2:10}),yb(n,vb(a),{stroke:u})},e}(zu),qA=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.ignoreLabelLineUpdate=!0,n}return n(e,t),e.prototype.render=function(t,e,n){var i=t.getData(),r=this._data,o=this.group;i.diff(r).add((function(t){var e=new jA(i,t);i.setItemGraphicEl(t,e),o.add(e)})).update((function(t,e){var n=r.getItemGraphicEl(e);n.updateData(i,t),o.add(n),i.setItemGraphicEl(t,n)})).remove((function(e){fh(r.getItemGraphicEl(e),t,e)})).execute(),this._data=i},e.prototype.remove=function(){this.group.removeAll(),this._data=null},e.prototype.dispose=function(){},e.type="funnel",e}(wg),KA=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.init=function(e){t.prototype.init.apply(this,arguments),this.legendVisualProvider=new dM(W(this.getData,this),W(this.getRawData,this)),this._defaultLabelLine(e)},e.prototype.getInitialData=function(t,e){return pM(this,{coordDimensions:["value"],encodeDefaulter:H(Zp,this)})},e.prototype._defaultLabelLine=function(t){vo(t,"labelLine",["show"]);var e=t.labelLine,n=t.emphasis.labelLine;e.show=e.show&&t.label.show,n.show=n.show&&t.emphasis.label.show},e.prototype.getDataParams=function(e){var n=this.getData(),i=t.prototype.getDataParams.call(this,e),r=n.mapDimension("value"),o=n.getSum(r);return i.percent=o?+(n.get(r,e)/o*100).toFixed(2):0,i.$vars.push("percent"),i},e.type="series.funnel",e.defaultOption={z:2,legendHoverLink:!0,colorBy:"data",left:80,top:60,right:80,bottom:60,minSize:"0%",maxSize:"100%",sort:"descending",orient:"vertical",gap:0,funnelAlign:"center",label:{show:!0,position:"outer"},labelLine:{show:!0,length:20,lineStyle:{width:1}},itemStyle:{borderColor:"#fff",borderWidth:1},emphasis:{label:{show:!0}},select:{itemStyle:{borderColor:"#212121"}}},e}(hg);function $A(t,e){t.eachSeriesByType("funnel",(function(t){var n=t.getData(),i=n.mapDimension("value"),r=t.get("sort"),o=function(t,e){return wp(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}(t,e),a=t.get("orient"),s=o.width,l=o.height,u=function(t,e){for(var n=t.mapDimension("value"),i=t.mapArray(n,(function(t){return t})),r=[],o="ascending"===e,a=0,s=t.count();a5)return;var i=this._model.coordinateSystem.getSlidedAxisExpandWindow([t.offsetX,t.offsetY]);"none"!==i.behavior&&this._dispatchExpand({axisExpandWindow:i.axisExpandWindow})}this._mouseDownPoint=null},mousemove:function(t){if(!this._mouseDownPoint&&hk(this,"mousemove")){var e=this._model,n=e.coordinateSystem.getSlidedAxisExpandWindow([t.offsetX,t.offsetY]),i=n.behavior;"jump"===i&&this._throttledDispatchExpand.debounceNextCall(e.get("axisExpandDebounce")),this._throttledDispatchExpand("none"===i?null:{axisExpandWindow:n.axisExpandWindow,animation:"jump"===i?null:{duration:0}})}}};function hk(t,e){var n=t._model;return n.get("axisExpandable")&&n.get("axisExpandTriggerOn")===e}var ck=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.init=function(){t.prototype.init.apply(this,arguments),this.mergeOption({})},e.prototype.mergeOption=function(t){var e=this.option;t&&C(e,t,!0),this._initDimensions()},e.prototype.contains=function(t,e){var n=t.get("parallelIndex");return null!=n&&e.getComponent("parallel",n)===this},e.prototype.setAxisExpand=function(t){E(["axisExpandable","axisExpandCenter","axisExpandCount","axisExpandWidth","axisExpandWindow"],(function(e){t.hasOwnProperty(e)&&(this.option[e]=t[e])}),this)},e.prototype._initDimensions=function(){var t=this.dimensions=[],e=this.parallelAxisIndex=[];E(B(this.ecModel.queryComponents({mainType:"parallelAxis"}),(function(t){return(t.get("parallelIndex")||0)===this.componentIndex}),this),(function(n){t.push("dim"+n.get("dim")),e.push(n.componentIndex)}))},e.type="parallel",e.dependencies=["parallelAxis"],e.layoutMode="box",e.defaultOption={z:0,left:80,top:60,right:80,bottom:60,layout:"horizontal",axisExpandable:!1,axisExpandCenter:null,axisExpandCount:0,axisExpandWidth:50,axisExpandRate:17,axisExpandDebounce:50,axisExpandSlideTriggerArea:[-.15,.05,.4],axisExpandTriggerOn:"click",parallelAxisDefault:null},e}(Ap),pk=function(t){function e(e,n,i,r,o){var a=t.call(this,e,n,i)||this;return a.type=r||"value",a.axisIndex=o,a}return n(e,t),e.prototype.isHorizontal=function(){return"horizontal"!==this.coordinateSystem.getModel().get("layout")},e}(X_);function dk(t,e,n,i,r,o){t=t||0;var a=n[1]-n[0];if(null!=r&&(r=gk(r,[0,a])),null!=o&&(o=Math.max(o,null!=r?r:0)),"all"===i){var s=Math.abs(e[1]-e[0]);s=gk(s,[0,a]),r=o=gk(s,[r,o]),i=0}e[0]=gk(e[0],n),e[1]=gk(e[1],n);var l=fk(e,i);e[i]+=t;var u,h=r||0,c=n.slice();return l.sign<0?c[0]+=h:c[1]-=h,e[i]=gk(e[i],c),u=fk(e,i),null!=r&&(u.sign!==l.sign||u.spano&&(e[1-i]=e[i]+u.sign*o),e}function fk(t,e){var n=t[e]-t[1-e];return{span:Math.abs(n),sign:n>0?-1:n<0?1:e?-1:1}}function gk(t,e){return Math.min(null!=e[1]?e[1]:1/0,Math.max(null!=e[0]?e[0]:-1/0,t))}var yk=E,vk=Math.min,mk=Math.max,xk=Math.floor,_k=Math.ceil,bk=Wr,wk=Math.PI,Sk=function(){function t(t,e,n){this.type="parallel",this._axesMap=ft(),this._axesLayout={},this.dimensions=t.dimensions,this._model=t,this._init(t,e,n)}return t.prototype._init=function(t,e,n){var i=t.dimensions,r=t.parallelAxisIndex;yk(i,(function(t,n){var i=r[n],o=e.getComponent("parallelAxis",i),a=this._axesMap.set(t,new pk(t,l_(o),[0,0],o.get("type"),i)),s="category"===a.type;a.onBand=s&&o.get("boundaryGap"),a.inverse=o.get("inverse"),o.axis=a,a.model=o,a.coordinateSystem=o.coordinateSystem=this}),this)},t.prototype.update=function(t,e){this._updateAxesFromSeries(this._model,t)},t.prototype.containPoint=function(t){var e=this._makeLayoutInfo(),n=e.axisBase,i=e.layoutBase,r=e.pixelDimIndex,o=t[1-r],a=t[r];return o>=n&&o<=n+e.axisLength&&a>=i&&a<=i+e.layoutLength},t.prototype.getModel=function(){return this._model},t.prototype._updateAxesFromSeries=function(t,e){e.eachSeries((function(n){if(t.contains(n,e)){var i=n.getData();yk(this.dimensions,(function(t){var e=this._axesMap.get(t);e.scale.unionExtentFromData(i,i.mapDimension(t)),s_(e.scale,e.model)}),this)}}),this)},t.prototype.resize=function(t,e){this._rect=wp(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()}),this._layoutAxes()},t.prototype.getRect=function(){return this._rect},t.prototype._makeLayoutInfo=function(){var t,e=this._model,n=this._rect,i=["x","y"],r=["width","height"],o=e.get("layout"),a="horizontal"===o?0:1,s=n[r[a]],l=[0,s],u=this.dimensions.length,h=Mk(e.get("axisExpandWidth"),l),c=Mk(e.get("axisExpandCount")||0,[0,u]),p=e.get("axisExpandable")&&u>3&&u>c&&c>1&&h>0&&s>0,d=e.get("axisExpandWindow");d?(t=Mk(d[1]-d[0],l),d[1]=d[0]+t):(t=Mk(h*(c-1),l),(d=[h*(e.get("axisExpandCenter")||xk(u/2))-t/2])[1]=d[0]+t);var f=(s-t)/(u-c);f<3&&(f=0);var g=[xk(bk(d[0]/h,1))+1,_k(bk(d[1]/h,1))-1],y=f/h*d[0];return{layout:o,pixelDimIndex:a,layoutBase:n[i[a]],layoutLength:s,axisBase:n[i[1-a]],axisLength:n[r[1-a]],axisExpandable:p,axisExpandWidth:h,axisCollapseWidth:f,axisExpandWindow:d,axisCount:u,winInnerIndices:g,axisExpandWindow0Pos:y}},t.prototype._layoutAxes=function(){var t=this._rect,e=this._axesMap,n=this.dimensions,i=this._makeLayoutInfo(),r=i.layout;e.each((function(t){var e=[0,i.axisLength],n=t.inverse?1:0;t.setExtent(e[n],e[1-n])})),yk(n,(function(e,n){var o=(i.axisExpandable?Tk:Ik)(n,i),a={horizontal:{x:o.position,y:i.axisLength},vertical:{x:0,y:o.position}},s={horizontal:wk/2,vertical:0},l=[a[r].x+t.x,a[r].y+t.y],u=s[r],h=[1,0,0,1,0,0];_e(h,h,u),xe(h,h,l),this._axesLayout[e]={position:l,rotation:u,transform:h,axisNameAvailableWidth:o.axisNameAvailableWidth,axisLabelShow:o.axisLabelShow,nameTruncateMaxWidth:o.nameTruncateMaxWidth,tickDirection:1,labelDirection:1}}),this)},t.prototype.getAxis=function(t){return this._axesMap.get(t)},t.prototype.dataToPoint=function(t,e){return this.axisCoordToPoint(this._axesMap.get(e).dataToCoord(t),e)},t.prototype.eachActiveState=function(t,e,n,i){null==n&&(n=0),null==i&&(i=t.count());var r=this._axesMap,o=this.dimensions,a=[],s=[];E(o,(function(e){a.push(t.mapDimension(e)),s.push(r.get(e).model)}));for(var l=this.hasAxisBrushed(),u=n;ur*(1-h[0])?(l="jump",a=s-r*(1-h[2])):(a=s-r*h[1])>=0&&(a=s-r*(1-h[1]))<=0&&(a=0),(a*=e.axisExpandWidth/u)?dk(a,i,o,"all"):l="none";else{var p=i[1]-i[0];(i=[mk(0,o[1]*s/p-p/2)])[1]=vk(o[1],i[0]+p),i[0]=i[1]-p}return{axisExpandWindow:i,behavior:l}},t}();function Mk(t,e){return vk(mk(t,e[0]),e[1])}function Ik(t,e){var n=e.layoutLength/(e.axisCount-1);return{position:n*t,axisNameAvailableWidth:n,axisLabelShow:!0}}function Tk(t,e){var n,i,r=e.layoutLength,o=e.axisExpandWidth,a=e.axisCount,s=e.axisCollapseWidth,l=e.winInnerIndices,u=s,h=!1;return t=0;n--)Hr(e[n])},e.prototype.getActiveState=function(t){var e=this.activeIntervals;if(!e.length)return"normal";if(null==t||isNaN(+t))return"inactive";if(1===e.length){var n=e[0];if(n[0]<=t&&t<=n[1])return"active"}else for(var i=0,r=e.length;i6}(t)||o){if(a&&!o){"single"===s.brushMode&&Zk(t);var l=T(s);l.brushType=hL(l.brushType,a),l.panelId=a===Ak?null:a.panelId,o=t._creatingCover=Bk(t,l),t._covers.push(o)}if(o){var u=dL[hL(t._brushType,a)];o.__brushOption.range=u.getCreatingRange(aL(t,o,t._track)),i&&(Fk(t,o),u.updateCommon(t,o)),Gk(t,o),r={isEnd:i}}}else i&&"single"===s.brushMode&&s.removeOnClick&&Uk(t,e,n)&&Zk(t)&&(r={isEnd:i,removeOnClick:!0});return r}function hL(t,e){return"auto"===t?e.defaultBrushType:t}var cL={mousedown:function(t){if(this._dragging)pL(this,t);else if(!t.target||!t.target.draggable){sL(t);var e=this.group.transformCoordToLocal(t.offsetX,t.offsetY);this._creatingCover=null,(this._creatingPanel=Uk(this,t,e))&&(this._dragging=!0,this._track=[e.slice()])}},mousemove:function(t){var e=t.offsetX,n=t.offsetY,i=this.group.transformCoordToLocal(e,n);if(function(t,e,n){if(t._brushType&&!function(t,e,n){var i=t._zr;return e<0||e>i.getWidth()||n<0||n>i.getHeight()}(t,e.offsetX,e.offsetY)){var i=t._zr,r=t._covers,o=Uk(t,e,n);if(!t._dragging)for(var a=0;a=0&&(o[r[a].depth]=new xc(r[a],this,e));if(i&&n){var s=BA(i,n,this,!0,(function(t,e){t.wrapMethod("getItemModel",(function(t,e){var n=t.parentModel,i=n.getData().getItemLayout(e);if(i){var r=i.depth,o=n.levelModels[r];o&&(t.parentModel=o)}return t})),e.wrapMethod("getItemModel",(function(t,e){var n=t.parentModel,i=n.getGraph().getEdgeByIndex(e).node1.getLayout();if(i){var r=i.depth,o=n.levelModels[r];o&&(t.parentModel=o)}return t}))}));return s.data}},e.prototype.setNodePosition=function(t,e){var n=(this.option.data||this.option.nodes)[t];n.localX=e[0],n.localY=e[1]},e.prototype.getGraph=function(){return this.getData().graph},e.prototype.getEdgeData=function(){return this.getGraph().edgeData},e.prototype.formatTooltip=function(t,e,n){function i(t){return isNaN(t)||null==t}if("edge"===n){var r=this.getDataParams(t,n),o=r.data,a=r.value;return qf("nameValue",{name:o.source+" -- "+o.target,value:a,noValue:i(a)})}var s=this.getGraph().getNodeByIndex(t).getLayout().value,l=this.getDataParams(t,n).data.name;return qf("nameValue",{name:null!=l?l+"":null,value:s,noValue:i(s)})},e.prototype.optionUpdated=function(){},e.prototype.getDataParams=function(e,n){var i=t.prototype.getDataParams.call(this,e,n);if(null==i.value&&"node"===n){var r=this.getGraph().getNodeByIndex(e).getLayout().value;i.value=r}return i},e.type="series.sankey",e.defaultOption={z:2,coordinateSystem:"view",left:"5%",top:"5%",right:"20%",bottom:"5%",orient:"horizontal",nodeWidth:20,nodeGap:8,draggable:!0,layoutIterations:32,label:{show:!0,position:"right",fontSize:12},levels:[],nodeAlign:"justify",lineStyle:{color:"#314656",opacity:.2,curveness:.5},emphasis:{label:{show:!0},lineStyle:{opacity:.5}},select:{itemStyle:{borderColor:"#212121"}},animationEasing:"linear",animationDuration:1e3},e}(hg);function DL(t,e){t.eachSeriesByType("sankey",(function(t){var n=t.get("nodeWidth"),i=t.get("nodeGap"),r=function(t,e){return wp(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}(t,e);t.layoutInfo=r;var o=r.width,a=r.height,s=t.getGraph(),l=s.nodes,u=s.edges;!function(t){E(t,(function(t){var e=VL(t.outEdges,zL),n=VL(t.inEdges,zL),i=t.getValue()||0,r=Math.max(e,n,i);t.setLayout({value:r},!0)}))}(l),function(t,e,n,i,r,o,a,s,l){(function(t,e,n,i,r,o,a){for(var s=[],l=[],u=[],h=[],c=0,p=0;p=0;v&&y.depth>d&&(d=y.depth),g.setLayout({depth:v?y.depth:c},!0),"vertical"===o?g.setLayout({dy:n},!0):g.setLayout({dx:n},!0);for(var m=0;mc-1?d:c-1;a&&"left"!==a&&function(t,e,n,i){if("right"===e){for(var r=[],o=t,a=0;o.length;){for(var s=0;s0;o--)LL(s,l*=.99,a),kL(s,r,n,i,a),BL(s,l,a),kL(s,r,n,i,a)}(t,e,o,r,i,a,s),function(t,e){var n="vertical"===e?"x":"y";E(t,(function(t){t.outEdges.sort((function(t,e){return t.node2.getLayout()[n]-e.node2.getLayout()[n]})),t.inEdges.sort((function(t,e){return t.node1.getLayout()[n]-e.node1.getLayout()[n]}))})),E(t,(function(t){var e=0,n=0;E(t.outEdges,(function(t){t.setLayout({sy:e},!0),e+=t.getLayout().dy})),E(t.inEdges,(function(t){t.setLayout({ty:n},!0),n+=t.getLayout().dy}))}))}(t,s)}(l,u,n,i,o,a,0!==B(l,(function(t){return 0===t.getLayout().value})).length?0:t.get("layoutIterations"),t.get("orient"),t.get("nodeAlign"))}))}function AL(t){var e=t.hostGraph.data.getRawDataItem(t.dataIndex);return null!=e.depth&&e.depth>=0}function kL(t,e,n,i,r){var o="vertical"===r?"x":"y";E(t,(function(t){var a,s,l;t.sort((function(t,e){return t.getLayout()[o]-e.getLayout()[o]}));for(var u=0,h=t.length,c="vertical"===r?"dx":"dy",p=0;p0&&(a=s.getLayout()[o]+l,"vertical"===r?s.setLayout({x:a},!0):s.setLayout({y:a},!0)),u=s.getLayout()[o]+s.getLayout()[c]+e;if((l=u-e-("vertical"===r?i:n))>0){a=s.getLayout()[o]-l,"vertical"===r?s.setLayout({x:a},!0):s.setLayout({y:a},!0),u=a;for(p=h-2;p>=0;--p)(l=(s=t[p]).getLayout()[o]+s.getLayout()[c]+e-u)>0&&(a=s.getLayout()[o]-l,"vertical"===r?s.setLayout({x:a},!0):s.setLayout({y:a},!0)),u=s.getLayout()[o]}}))}function LL(t,e,n){E(t.slice().reverse(),(function(t){E(t,(function(t){if(t.outEdges.length){var i=VL(t.outEdges,PL,n)/VL(t.outEdges,zL);if(isNaN(i)){var r=t.outEdges.length;i=r?VL(t.outEdges,OL,n)/r:0}if("vertical"===n){var o=t.getLayout().x+(i-EL(t,n))*e;t.setLayout({x:o},!0)}else{var a=t.getLayout().y+(i-EL(t,n))*e;t.setLayout({y:a},!0)}}}))}))}function PL(t,e){return EL(t.node2,e)*t.getValue()}function OL(t,e){return EL(t.node2,e)}function RL(t,e){return EL(t.node1,e)*t.getValue()}function NL(t,e){return EL(t.node1,e)}function EL(t,e){return"vertical"===e?t.getLayout().x+t.getLayout().dx/2:t.getLayout().y+t.getLayout().dy/2}function zL(t){return t.getValue()}function VL(t,e,n){for(var i=0,r=t.length,o=-1;++oi&&(i=e)})),E(e,(function(e){var r=new sD({type:"color",mappingMethod:"linear",dataExtent:[n,i],visual:t.get("color")}).mapValueToVisual(e.getLayout().value),o=e.getModel().get(["itemStyle","color"]);null!=o?(e.setVisual("color",o),e.setVisual("style",{fill:o})):(e.setVisual("color",r),e.setVisual("style",{fill:r}))}))}}))}var GL=function(){function t(){}return t.prototype.getInitialData=function(t,e){var n,i,r=e.getComponent("xAxis",this.get("xAxisIndex")),o=e.getComponent("yAxis",this.get("yAxisIndex")),a=r.get("type"),s=o.get("type");"category"===a?(t.layout="horizontal",n=r.getOrdinalMeta(),i=!0):"category"===s?(t.layout="vertical",n=o.getOrdinalMeta(),i=!0):t.layout=t.layout||"horizontal";var l=["x","y"],u="horizontal"===t.layout?0:1,h=this._baseAxisDim=l[u],c=l[1-u],p=[r,o],d=p[u].get("type"),f=p[1-u].get("type"),g=t.data;if(g&&i){var y=[];E(g,(function(t,e){var n;Y(t)?(n=t.slice(),t.unshift(e)):Y(t.value)?((n=A({},t)).value=n.value.slice(),t.value.unshift(e)):n=t,y.push(n)})),t.data=y}var v=this.defaultValueDimensions,m=[{name:h,type:Lm(d),ordinalMeta:n,otherDims:{tooltip:!1,itemName:0},dimsDef:["base"]},{name:c,type:Lm(f),dimsDef:v.slice()}];return pM(this,{coordDimensions:m,dimensionsCount:v.length+1,encodeDefaulter:H(Xp,m,this)})},t.prototype.getBaseAxis=function(){var t=this._baseAxisDim;return this.ecModel.getComponent(t+"Axis",this.get(t+"AxisIndex")).axis},t}(),WL=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.defaultValueDimensions=[{name:"min",defaultTooltip:!0},{name:"Q1",defaultTooltip:!0},{name:"median",defaultTooltip:!0},{name:"Q3",defaultTooltip:!0},{name:"max",defaultTooltip:!0}],n.visualDrawType="stroke",n}return n(e,t),e.type="series.boxplot",e.dependencies=["xAxis","yAxis","grid"],e.defaultOption={z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,layout:null,boxWidth:[7,50],itemStyle:{color:"#fff",borderWidth:1},emphasis:{scale:!0,itemStyle:{borderWidth:2,shadowBlur:5,shadowOffsetX:1,shadowOffsetY:1,shadowColor:"rgba(0,0,0,0.2)"}},animationDuration:800},e}(hg);R(WL,GL,!0);var HL=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.render=function(t,e,n){var i=t.getData(),r=this.group,o=this._data;this._data||r.removeAll();var a="horizontal"===t.get("layout")?1:0;i.diff(o).add((function(t){if(i.hasValue(t)){var e=XL(i.getItemLayout(t),i,t,a,!0);i.setItemGraphicEl(t,e),r.add(e)}})).update((function(t,e){var n=o.getItemGraphicEl(e);if(i.hasValue(t)){var s=i.getItemLayout(t);n?(gh(n),ZL(s,n,i,t)):n=XL(s,i,t,a),r.add(n),i.setItemGraphicEl(t,n)}else r.remove(n)})).remove((function(t){var e=o.getItemGraphicEl(t);e&&r.remove(e)})).execute(),this._data=i},e.prototype.remove=function(t){var e=this.group,n=this._data;this._data=null,n&&n.eachItemGraphicEl((function(t){t&&e.remove(t)}))},e.type="boxplot",e}(wg),YL=function(){},UL=function(t){function e(e){var n=t.call(this,e)||this;return n.type="boxplotBoxPath",n}return n(e,t),e.prototype.getDefaultShape=function(){return new YL},e.prototype.buildPath=function(t,e){var n=e.points,i=0;for(t.moveTo(n[i][0],n[i][1]),i++;i<4;i++)t.lineTo(n[i][0],n[i][1]);for(t.closePath();ig){var _=[v,x];i.push(_)}}}return{boxData:n,outliers:i}}(e.getRawData(),t.config);return[{dimensions:["ItemName","Low","Q1","Q2","Q3","High"],data:i.boxData},{data:i.outliers}]}};var QL=["color","borderColor"],tP=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.render=function(t,e,n){this.group.removeClipPath(),this._progressiveEls=null,this._updateDrawMode(t),this._isLargeDraw?this._renderLarge(t):this._renderNormal(t)},e.prototype.incrementalPrepareRender=function(t,e,n){this._clear(),this._updateDrawMode(t)},e.prototype.incrementalRender=function(t,e,n,i){this._progressiveEls=[],this._isLargeDraw?this._incrementalRenderLarge(t,e):this._incrementalRenderNormal(t,e)},e.prototype.eachRendered=function(t){Yh(this._progressiveEls||this.group,t)},e.prototype._updateDrawMode=function(t){var e=t.pipelineContext.large;null!=this._isLargeDraw&&e===this._isLargeDraw||(this._isLargeDraw=e,this._clear())},e.prototype._renderNormal=function(t){var e=t.getData(),n=this._data,i=this.group,r=e.getLayout("isSimpleBox"),o=t.get("clip",!0),a=t.coordinateSystem,s=a.getArea&&a.getArea();this._data||i.removeAll(),e.diff(n).add((function(n){if(e.hasValue(n)){var a=e.getItemLayout(n);if(o&&rP(s,a))return;var l=iP(a,n,!0);hh(l,{shape:{points:a.ends}},t,n),oP(l,e,n,r),i.add(l),e.setItemGraphicEl(n,l)}})).update((function(a,l){var u=n.getItemGraphicEl(l);if(e.hasValue(a)){var h=e.getItemLayout(a);o&&rP(s,h)?i.remove(u):(u?(uh(u,{shape:{points:h.ends}},t,a),gh(u)):u=iP(h),oP(u,e,a,r),i.add(u),e.setItemGraphicEl(a,u))}else i.remove(u)})).remove((function(t){var e=n.getItemGraphicEl(t);e&&i.remove(e)})).execute(),this._data=e},e.prototype._renderLarge=function(t){this._clear(),uP(t,this.group);var e=t.get("clip",!0)?cS(t.coordinateSystem,!1,t):null;e?this.group.setClipPath(e):this.group.removeClipPath()},e.prototype._incrementalRenderNormal=function(t,e){for(var n,i=e.getData(),r=i.getLayout("isSimpleBox");null!=(n=t.next());){var o=iP(i.getItemLayout(n));oP(o,i,n,r),o.incremental=!0,this.group.add(o),this._progressiveEls.push(o)}},e.prototype._incrementalRenderLarge=function(t,e){uP(e,this.group,this._progressiveEls,!0)},e.prototype.remove=function(t){this._clear()},e.prototype._clear=function(){this.group.removeAll(),this._data=null},e.type="candlestick",e}(wg),eP=function(){},nP=function(t){function e(e){var n=t.call(this,e)||this;return n.type="normalCandlestickBox",n}return n(e,t),e.prototype.getDefaultShape=function(){return new eP},e.prototype.buildPath=function(t,e){var n=e.points;this.__simpleBox?(t.moveTo(n[4][0],n[4][1]),t.lineTo(n[6][0],n[6][1])):(t.moveTo(n[0][0],n[0][1]),t.lineTo(n[1][0],n[1][1]),t.lineTo(n[2][0],n[2][1]),t.lineTo(n[3][0],n[3][1]),t.closePath(),t.moveTo(n[4][0],n[4][1]),t.lineTo(n[5][0],n[5][1]),t.moveTo(n[6][0],n[6][1]),t.lineTo(n[7][0],n[7][1]))},e}(_s);function iP(t,e,n){var i=t.ends;return new nP({shape:{points:n?aP(i,t):i},z2:100})}function rP(t,e){for(var n=!0,i=0;i0?"borderColor":"borderColor0"])||n.get(["itemStyle",t>0?"color":"color0"]),o=n.getModel("itemStyle").getItemStyle(QL);e.useStyle(o),e.style.fill=null,e.style.stroke=r}var cP=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.defaultValueDimensions=[{name:"open",defaultTooltip:!0},{name:"close",defaultTooltip:!0},{name:"lowest",defaultTooltip:!0},{name:"highest",defaultTooltip:!0}],n}return n(e,t),e.prototype.getShadowDim=function(){return"open"},e.prototype.brushSelector=function(t,e,n){var i=e.getItemLayout(t);return i&&n.rect(i.brushRect)},e.type="series.candlestick",e.dependencies=["xAxis","yAxis","grid"],e.defaultOption={z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,layout:null,clip:!0,itemStyle:{color:"#eb5454",color0:"#47b262",borderColor:"#eb5454",borderColor0:"#47b262",borderWidth:1},emphasis:{scale:!0,itemStyle:{borderWidth:2}},barMaxWidth:null,barMinWidth:null,barWidth:null,large:!0,largeThreshold:600,progressive:3e3,progressiveThreshold:1e4,progressiveChunkMode:"mod",animationEasing:"linear",animationDuration:300},e}(hg);function pP(t){t&&Y(t.series)&&E(t.series,(function(t){q(t)&&"k"===t.type&&(t.type="candlestick")}))}R(cP,GL,!0);var dP=["itemStyle","borderColor"],fP=["itemStyle","borderColor0"],gP=["itemStyle","color"],yP=["itemStyle","color0"],vP={seriesType:"candlestick",plan:xg(),performRawSeries:!0,reset:function(t,e){function n(t,e){return e.get(t>0?gP:yP)}function i(t,e){return e.get(t>0?dP:fP)}if(!e.isSeriesFiltered(t))return!t.pipelineContext.large&&{progress:function(t,e){for(var r;null!=(r=t.next());){var o=e.getItemModel(r),a=e.getItemLayout(r).sign,s=o.getItemStyle();s.fill=n(a,o),s.stroke=i(a,o)||s.fill,A(e.ensureUniqueItemVisual(r,"style"),s)}}}}},mP={seriesType:"candlestick",plan:xg(),reset:function(t){var e=t.coordinateSystem,n=t.getData(),i=function(t,e){var n,i=t.getBaseAxis(),r="category"===i.type?i.getBandWidth():(n=i.getExtent(),Math.abs(n[1]-n[0])/e.count()),o=Gr(rt(t.get("barMaxWidth"),r),r),a=Gr(rt(t.get("barMinWidth"),1),r),s=t.get("barWidth");return null!=s?Gr(s,r):Math.max(Math.min(r/2,o),a)}(t,n),r=["x","y"],o=n.getDimensionIndex(n.mapDimension(r[0])),a=z(n.mapDimensionsAll(r[1]),n.getDimensionIndex,n),s=a[0],l=a[1],u=a[2],h=a[3];if(n.setLayout({candleWidth:i,isSimpleBox:i<=1.3}),!(o<0||a.length<4))return{progress:t.pipelineContext.large?function(t,n){var i,r,a=Tx(4*t.count),c=0,p=[],d=[],f=n.getStore();for(;null!=(r=t.next());){var g=f.get(o,r),y=f.get(s,r),v=f.get(l,r),m=f.get(u,r),x=f.get(h,r);isNaN(g)||isNaN(m)||isNaN(x)?(a[c++]=NaN,c+=3):(a[c++]=xP(f,r,y,v,l),p[0]=g,p[1]=m,i=e.dataToPoint(p,null,d),a[c++]=i?i[0]:NaN,a[c++]=i?i[1]:NaN,p[1]=x,i=e.dataToPoint(p,null,d),a[c++]=i?i[1]:NaN)}n.setLayout("largePoints",a)}:function(t,n){var r,a=n.getStore();for(;null!=(r=t.next());){var c=a.get(o,r),p=a.get(s,r),d=a.get(l,r),f=a.get(u,r),g=a.get(h,r),y=Math.min(p,d),v=Math.max(p,d),m=S(y,c),x=S(v,c),_=S(f,c),b=S(g,c),w=[];M(w,x,0),M(w,m,1),w.push(T(b),T(x),T(_),T(m)),n.setItemLayout(r,{sign:xP(a,r,p,d,l),initBaseline:p>d?x[1]:m[1],ends:w,brushRect:I(f,g,c)})}function S(t,n){var i=[];return i[0]=n,i[1]=t,isNaN(n)||isNaN(t)?[NaN,NaN]:e.dataToPoint(i)}function M(t,e,n){var r=e.slice(),o=e.slice();r[0]=kh(r[0]+i/2,1,!1),o[0]=kh(o[0]-i/2,1,!0),n?t.push(r,o):t.push(o,r)}function I(t,e,n){var r=S(t,n),o=S(e,n);return r[0]-=i/2,o[0]-=i/2,{x:r[0],y:r[1],width:i,height:o[1]-r[1]}}function T(t){return t[0]=kh(t[0],1),t}}}}};function xP(t,e,n,i,r){return n>i?-1:n0?t.get(r,e-1)<=i?1:-1:1}function _P(t,e){var n=e.rippleEffectColor||e.color;t.eachChild((function(t){t.attr({z:e.z,zlevel:e.zlevel,style:{stroke:"stroke"===e.brushType?n:null,fill:"fill"===e.brushType?n:null}})}))}var bP=function(t){function e(e,n){var i=t.call(this)||this,r=new Zw(e,n),o=new Pr;return i.add(r),i.add(o),i.updateData(e,n),i}return n(e,t),e.prototype.stopEffectAnimation=function(){this.childAt(1).removeAll()},e.prototype.startEffectAnimation=function(t){for(var e=t.symbolType,n=t.color,i=t.rippleNumber,r=this.childAt(1),o=0;o0&&(o=this._getLineLength(i)/l*1e3),o!==this._period||a!==this._loop||s!==this._roundTrip){i.stopAnimation();var h=void 0;h=U(u)?u(n):u,i.__t>0&&(h=-o*i.__t),this._animateSymbol(i,o,h,a,s)}this._period=o,this._loop=a,this._roundTrip=s}},e.prototype._animateSymbol=function(t,e,n,i,r){if(e>0){t.__t=0;var o=this,a=t.animate("",i).when(r?2*e:e,{__t:r?2:1}).delay(n).during((function(){o._updateSymbolPosition(t)}));i||a.done((function(){o.remove(t)})),a.start()}},e.prototype._getLineLength=function(t){return Et(t.__p1,t.__cp1)+Et(t.__cp1,t.__p2)},e.prototype._updateAnimationPoints=function(t,e){t.__p1=e[0],t.__p2=e[1],t.__cp1=e[2]||[(e[0][0]+e[1][0])/2,(e[0][1]+e[1][1])/2]},e.prototype.updateData=function(t,e,n){this.childAt(0).updateData(t,e,n),this._updateEffectSymbol(t,e)},e.prototype._updateSymbolPosition=function(t){var e=t.__p1,n=t.__p2,i=t.__cp1,r=t.__t<1?t.__t:2-t.__t,o=[t.x,t.y],a=o.slice(),s=wn,l=Sn;o[0]=s(e[0],i[0],n[0],r),o[1]=s(e[1],i[1],n[1],r);var u=t.__t<1?l(e[0],i[0],n[0],r):l(n[0],i[0],e[0],1-r),h=t.__t<1?l(e[1],i[1],n[1],r):l(n[1],i[1],e[1],1-r);t.rotation=-Math.atan2(h,u)-Math.PI/2,"line"!==this._symbolType&&"rect"!==this._symbolType&&"roundRect"!==this._symbolType||(void 0!==t.__lastT&&t.__lastT=0&&!(i[o]<=e);o--);o=Math.min(o,r-2)}else{for(o=a;oe);o++);o=Math.min(o-1,r-2)}var s=(e-i[o])/(i[o+1]-i[o]),l=n[o],u=n[o+1];t.x=l[0]*(1-s)+s*u[0],t.y=l[1]*(1-s)+s*u[1];var h=t.__t<1?u[0]-l[0]:l[0]-u[0],c=t.__t<1?u[1]-l[1]:l[1]-u[1];t.rotation=-Math.atan2(c,h)-Math.PI/2,this._lastFrame=o,this._lastFramePercent=e,t.ignore=!1}},e}(MP),CP=function(){this.polyline=!1,this.curveness=0,this.segs=[]},DP=function(t){function e(e){var n=t.call(this,e)||this;return n._off=0,n.hoverDataIdx=-1,n}return n(e,t),e.prototype.reset=function(){this.notClear=!1,this._off=0},e.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},e.prototype.getDefaultShape=function(){return new CP},e.prototype.buildPath=function(t,e){var n,i=e.segs,r=e.curveness;if(e.polyline)for(n=this._off;n0){t.moveTo(i[n++],i[n++]);for(var a=1;a0){var c=(s+u)/2-(l-h)*r,p=(l+h)/2-(u-s)*r;t.quadraticCurveTo(c,p,u,h)}else t.lineTo(u,h)}this.incremental&&(this._off=n,this.notClear=!0)},e.prototype.findDataIndex=function(t,e){var n=this.shape,i=n.segs,r=n.curveness,o=this.style.lineWidth;if(n.polyline)for(var a=0,s=0;s0)for(var u=i[s++],h=i[s++],c=1;c0){if(is(u,h,(u+p)/2-(h-d)*r,(h+d)/2-(p-u)*r,p,d,o,t,e))return a}else if(es(u,h,p,d,o,t,e))return a;a++}return-1},e.prototype.contain=function(t,e){var n=this.transformCoordToLocal(t,e),i=this.getBoundingRect();return t=n[0],e=n[1],i.contain(t,e)?(this.hoverDataIdx=this.findDataIndex(t,e))>=0:(this.hoverDataIdx=-1,!1)},e.prototype.getBoundingRect=function(){var t=this._rect;if(!t){for(var e=this.shape.segs,n=1/0,i=1/0,r=-1/0,o=-1/0,a=0;a0&&(o.dataIndex=n+t.__startIndex)}))},t.prototype._clear=function(){this._newAdded=[],this.group.removeAll()},t}(),kP={seriesType:"lines",plan:xg(),reset:function(t){var e=t.coordinateSystem;if(e){var n=t.get("polyline"),i=t.pipelineContext.large;return{progress:function(r,o){var a=[];if(i){var s=void 0,l=r.end-r.start;if(n){for(var u=0,h=r.start;h0&&(l||s.configLayer(o,{motionBlur:!0,lastFrameAlpha:Math.max(Math.min(a/10+.9,1),0)})),r.updateData(i);var u=t.get("clip",!0)&&cS(t.coordinateSystem,!1,t);u?this.group.setClipPath(u):this.group.removeClipPath(),this._lastZlevel=o,this._finished=!0},e.prototype.incrementalPrepareRender=function(t,e,n){var i=t.getData();this._updateLineDraw(i,t).incrementalPrepareUpdate(i),this._clearLayer(n),this._finished=!1},e.prototype.incrementalRender=function(t,e,n){this._lineDraw.incrementalUpdate(t,e.getData()),this._finished=t.end===e.getData().count()},e.prototype.eachRendered=function(t){this._lineDraw&&this._lineDraw.eachRendered(t)},e.prototype.updateTransform=function(t,e,n){var i=t.getData(),r=t.pipelineContext;if(!this._finished||r.large||r.progressiveRender)return{update:!0};var o=kP.reset(t,e,n);o.progress&&o.progress({start:0,end:i.count(),count:i.count()},i),this._lineDraw.updateLayout(),this._clearLayer(n)},e.prototype._updateLineDraw=function(t,e){var n=this._lineDraw,i=this._showEffect(e),r=!!e.get("polyline"),o=e.pipelineContext.large;return n&&i===this._hasEffet&&r===this._isPolyline&&o===this._isLargeDraw||(n&&n.remove(),n=this._lineDraw=o?new AP:new _A(r?i?TP:IP:i?MP:xA),this._hasEffet=i,this._isPolyline=r,this._isLargeDraw=o),this.group.add(n.group),n},e.prototype._showEffect=function(t){return!!t.get(["effect","show"])},e.prototype._clearLayer=function(t){var e=t.getZr();"svg"===e.painter.getType()||null==this._lastZlevel||e.painter.getLayer(this._lastZlevel).clear(!0)},e.prototype.remove=function(t,e){this._lineDraw&&this._lineDraw.remove(),this._lineDraw=null,this._clearLayer(e)},e.prototype.dispose=function(t,e){this.remove(t,e)},e.type="lines",e}(wg),PP="undefined"==typeof Uint32Array?Array:Uint32Array,OP="undefined"==typeof Float64Array?Array:Float64Array;function RP(t){var e=t.data;e&&e[0]&&e[0][0]&&e[0][0].coord&&(t.data=z(e,(function(t){var e={coords:[t[0].coord,t[1].coord]};return t[0].name&&(e.fromName=t[0].name),t[1].name&&(e.toName=t[1].name),D([e,t[0],t[1]])})))}var NP=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.visualStyleAccessPath="lineStyle",n.visualDrawType="stroke",n}return n(e,t),e.prototype.init=function(e){e.data=e.data||[],RP(e);var n=this._processFlatCoordsArray(e.data);this._flatCoords=n.flatCoords,this._flatCoordsOffset=n.flatCoordsOffset,n.flatCoords&&(e.data=new Float32Array(n.count)),t.prototype.init.apply(this,arguments)},e.prototype.mergeOption=function(e){if(RP(e),e.data){var n=this._processFlatCoordsArray(e.data);this._flatCoords=n.flatCoords,this._flatCoordsOffset=n.flatCoordsOffset,n.flatCoords&&(e.data=new Float32Array(n.count))}t.prototype.mergeOption.apply(this,arguments)},e.prototype.appendData=function(t){var e=this._processFlatCoordsArray(t.data);e.flatCoords&&(this._flatCoords?(this._flatCoords=gt(this._flatCoords,e.flatCoords),this._flatCoordsOffset=gt(this._flatCoordsOffset,e.flatCoordsOffset)):(this._flatCoords=e.flatCoords,this._flatCoordsOffset=e.flatCoordsOffset),t.data=new Float32Array(e.count)),this.getRawData().appendData(t.data)},e.prototype._getCoordsFromItemModel=function(t){var e=this.getData().getItemModel(t),n=e.option instanceof Array?e.option:e.getShallow("coords");return n},e.prototype.getLineCoordsCount=function(t){return this._flatCoordsOffset?this._flatCoordsOffset[2*t+1]:this._getCoordsFromItemModel(t).length},e.prototype.getLineCoords=function(t,e){if(this._flatCoordsOffset){for(var n=this._flatCoordsOffset[2*t],i=this._flatCoordsOffset[2*t+1],r=0;r ")})},e.prototype.preventIncremental=function(){return!!this.get(["effect","show"])},e.prototype.getProgressive=function(){var t=this.option.progressive;return null==t?this.option.large?1e4:this.get("progressive"):t},e.prototype.getProgressiveThreshold=function(){var t=this.option.progressiveThreshold;return null==t?this.option.large?2e4:this.get("progressiveThreshold"):t},e.prototype.getZLevelKey=function(){var t=this.getModel("effect"),e=t.get("trailLength");return this.getData().count()>this.getProgressiveThreshold()?this.id:t.get("show")&&e>0?e+"":""},e.type="series.lines",e.dependencies=["grid","polar","geo","calendar"],e.defaultOption={coordinateSystem:"geo",z:2,legendHoverLink:!0,xAxisIndex:0,yAxisIndex:0,symbol:["none","none"],symbolSize:[10,10],geoIndex:0,effect:{show:!1,period:4,constantSpeed:0,symbol:"circle",symbolSize:3,loop:!0,trailLength:.2},large:!1,largeThreshold:2e3,polyline:!1,clip:!0,label:{show:!1,position:"end"},lineStyle:{opacity:.5}},e}(hg);function EP(t){return t instanceof Array||(t=[t,t]),t}var zP={seriesType:"lines",reset:function(t){var e=EP(t.get("symbol")),n=EP(t.get("symbolSize")),i=t.getData();return i.setVisual("fromSymbol",e&&e[0]),i.setVisual("toSymbol",e&&e[1]),i.setVisual("fromSymbolSize",n&&n[0]),i.setVisual("toSymbolSize",n&&n[1]),{dataEach:i.hasItemOption?function(t,e){var n=t.getItemModel(e),i=EP(n.getShallow("symbol",!0)),r=EP(n.getShallow("symbolSize",!0));i[0]&&t.setItemVisual(e,"fromSymbol",i[0]),i[1]&&t.setItemVisual(e,"toSymbol",i[1]),r[0]&&t.setItemVisual(e,"fromSymbolSize",r[0]),r[1]&&t.setItemVisual(e,"toSymbolSize",r[1])}:null}}};var VP=function(){function t(){this.blurSize=30,this.pointSize=20,this.maxOpacity=1,this.minOpacity=0,this._gradientPixels={inRange:null,outOfRange:null};var t=h.createCanvas();this.canvas=t}return t.prototype.update=function(t,e,n,i,r,o){var a=this._getBrush(),s=this._getGradient(r,"inRange"),l=this._getGradient(r,"outOfRange"),u=this.pointSize+this.blurSize,h=this.canvas,c=h.getContext("2d"),p=t.length;h.width=e,h.height=n;for(var d=0;d0){var I=o(v)?s:l;v>0&&(v=v*S+w),x[_++]=I[M],x[_++]=I[M+1],x[_++]=I[M+2],x[_++]=I[M+3]*v*256}else _+=4}return c.putImageData(m,0,0),h},t.prototype._getBrush=function(){var t=this._brushCanvas||(this._brushCanvas=h.createCanvas()),e=this.pointSize+this.blurSize,n=2*e;t.width=n,t.height=n;var i=t.getContext("2d");return i.clearRect(0,0,n,n),i.shadowOffsetX=n,i.shadowBlur=this.blurSize,i.shadowColor="#000",i.beginPath(),i.arc(-e,e,this.pointSize,0,2*Math.PI,!0),i.closePath(),i.fill(),t},t.prototype._getGradient=function(t,e){for(var n=this._gradientPixels,i=n[e]||(n[e]=new Uint8ClampedArray(1024)),r=[0,0,0,0],o=0,a=0;a<256;a++)t[e](a/255,!0,r),i[o++]=r[0],i[o++]=r[1],i[o++]=r[2],i[o++]=r[3];return i},t}();function BP(t){var e=t.dimensions;return"lng"===e[0]&&"lat"===e[1]}var FP=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.render=function(t,e,n){var i;e.eachComponent("visualMap",(function(e){e.eachTargetSeries((function(n){n===t&&(i=e)}))})),this._progressiveEls=null,this.group.removeAll();var r=t.coordinateSystem;"cartesian2d"===r.type||"calendar"===r.type?this._renderOnCartesianAndCalendar(t,n,0,t.getData().count()):BP(r)&&this._renderOnGeo(r,t,i,n)},e.prototype.incrementalPrepareRender=function(t,e,n){this.group.removeAll()},e.prototype.incrementalRender=function(t,e,n,i){var r=e.coordinateSystem;r&&(BP(r)?this.render(e,n,i):(this._progressiveEls=[],this._renderOnCartesianAndCalendar(e,i,t.start,t.end,!0)))},e.prototype.eachRendered=function(t){Yh(this._progressiveEls||this.group,t)},e.prototype._renderOnCartesianAndCalendar=function(t,e,n,i,r){var o,a,s,l,u=t.coordinateSystem,h=pS(u,"cartesian2d");if(h){var c=u.getAxis("x"),p=u.getAxis("y");0,o=c.getBandWidth()+.5,a=p.getBandWidth()+.5,s=c.scale.getExtent(),l=p.scale.getExtent()}for(var d=this.group,f=t.getData(),g=t.getModel(["emphasis","itemStyle"]).getItemStyle(),y=t.getModel(["blur","itemStyle"]).getItemStyle(),v=t.getModel(["select","itemStyle"]).getItemStyle(),m=t.get(["itemStyle","borderRadius"]),x=Kh(t),_=t.getModel("emphasis"),b=_.get("focus"),w=_.get("blurScope"),S=_.get("disabled"),M=h?[f.mapDimension("x"),f.mapDimension("y"),f.mapDimension("value")]:[f.mapDimension("time"),f.mapDimension("value")],I=n;Is[1]||Al[1])continue;var k=u.dataToPoint([D,A]);T=new Ps({shape:{x:k[0]-o/2,y:k[1]-a/2,width:o,height:a},style:C})}else{if(isNaN(f.get(M[1],I)))continue;T=new Ps({z2:1,shape:u.dataToRect([f.get(M[0],I)]).contentShape,style:C})}if(f.hasItemOption){var L=f.getItemModel(I),P=L.getModel("emphasis");g=P.getModel("itemStyle").getItemStyle(),y=L.getModel(["blur","itemStyle"]).getItemStyle(),v=L.getModel(["select","itemStyle"]).getItemStyle(),m=L.get(["itemStyle","borderRadius"]),b=P.get("focus"),w=P.get("blurScope"),S=P.get("disabled"),x=Kh(L)}T.shape.r=m;var O=t.getRawValue(I),R="-";O&&null!=O[2]&&(R=O[2]+""),qh(T,x,{labelFetcher:t,labelDataIndex:I,defaultOpacity:C.opacity,defaultText:R}),T.ensureState("emphasis").style=g,T.ensureState("blur").style=y,T.ensureState("select").style=v,Bl(T,b,w,S),T.incremental=r,r&&(T.states.emphasis.hoverLayer=!0),d.add(T),f.setItemGraphicEl(I,T),this._progressiveEls&&this._progressiveEls.push(T)}},e.prototype._renderOnGeo=function(t,e,n,i){var r=n.targetVisuals.inRange,o=n.targetVisuals.outOfRange,a=e.getData(),s=this._hmLayer||this._hmLayer||new VP;s.blurSize=e.get("blurSize"),s.pointSize=e.get("pointSize"),s.minOpacity=e.get("minOpacity"),s.maxOpacity=e.get("maxOpacity");var l=t.getViewRect().clone(),u=t.getRoamTransform();l.applyTransform(u);var h=Math.max(l.x,0),c=Math.max(l.y,0),p=Math.min(l.width+l.x,i.getWidth()),d=Math.min(l.height+l.y,i.getHeight()),f=p-h,g=d-c,y=[a.mapDimension("lng"),a.mapDimension("lat"),a.mapDimension("value")],v=a.mapArray(y,(function(e,n,i){var r=t.dataToPoint([e,n]);return r[0]-=h,r[1]-=c,r.push(i),r})),m=n.getExtent(),x="visualMap.continuous"===n.type?function(t,e){var n=t[1]-t[0];return e=[(e[0]-t[0])/n,(e[1]-t[0])/n],function(t){return t>=e[0]&&t<=e[1]}}(m,n.option.range):function(t,e,n){var i=t[1]-t[0],r=(e=z(e,(function(e){return{interval:[(e.interval[0]-t[0])/i,(e.interval[1]-t[0])/i]}}))).length,o=0;return function(t){var i;for(i=o;i=0;i--){var a;if((a=e[i].interval)[0]<=t&&t<=a[1]){o=i;break}}return i>=0&&i0?1:-1}(n,o,r,i,c),function(t,e,n,i,r,o,a,s,l,u){var h,c=l.valueDim,p=l.categoryDim,d=Math.abs(n[p.wh]),f=t.getItemVisual(e,"symbolSize");h=Y(f)?f.slice():null==f?["100%","100%"]:[f,f];h[p.index]=Gr(h[p.index],d),h[c.index]=Gr(h[c.index],i?d:Math.abs(o)),u.symbolSize=h,(u.symbolScale=[h[0]/s,h[1]/s])[c.index]*=(l.isHorizontal?-1:1)*a}(t,e,r,o,0,c.boundingLength,c.pxSign,u,i,c),function(t,e,n,i,r){var o=t.get(WP)||0;o&&(YP.attr({scaleX:e[0],scaleY:e[1],rotation:n}),YP.updateTransform(),o/=YP.getLineScale(),o*=e[i.valueDim.index]);r.valueLineWidth=o||0}(n,c.symbolScale,l,i,c);var p=c.symbolSize,d=Ey(n.get("symbolOffset"),p);return function(t,e,n,i,r,o,a,s,l,u,h,c){var p=h.categoryDim,d=h.valueDim,f=c.pxSign,g=Math.max(e[d.index]+s,0),y=g;if(i){var v=Math.abs(l),m=it(t.get("symbolMargin"),"15%")+"",x=!1;m.lastIndexOf("!")===m.length-1&&(x=!0,m=m.slice(0,m.length-1));var _=Gr(m,e[d.index]),b=Math.max(g+2*_,0),w=x?0:2*_,S=ao(i),M=S?i:lO((v+w)/b);b=g+2*(_=(v-M*g)/2/(x?M:Math.max(M-1,1))),w=x?0:2*_,S||"fixed"===i||(M=u?lO((Math.abs(u)+w)/b):0),y=M*b-w,c.repeatTimes=M,c.symbolMargin=_}var I=f*(y/2),T=c.pathPosition=[];T[p.index]=n[p.wh]/2,T[d.index]="start"===a?I:"end"===a?l-I:l/2,o&&(T[0]+=o[0],T[1]+=o[1]);var C=c.bundlePosition=[];C[p.index]=n[p.xy],C[d.index]=n[d.xy];var D=c.barRectShape=A({},n);D[d.wh]=f*Math.max(Math.abs(n[d.wh]),Math.abs(T[d.index]+I)),D[p.wh]=n[p.wh];var k=c.clipShape={};k[p.xy]=-n[p.xy],k[p.wh]=h.ecSize[p.wh],k[d.xy]=0,k[d.wh]=n[d.wh]}(n,p,r,o,0,d,s,c.valueLineWidth,c.boundingLength,c.repeatCutLength,i,c),c}function ZP(t,e){return t.toGlobalCoord(t.dataToCoord(t.scale.parse(e)))}function jP(t){var e=t.symbolPatternSize,n=Ry(t.symbolType,-e/2,-e/2,e,e);return n.attr({culling:!0}),"image"!==n.type&&n.setStyle({strokeNoScale:!0}),n}function qP(t,e,n,i){var r=t.__pictorialBundle,o=n.symbolSize,a=n.valueLineWidth,s=n.pathPosition,l=e.valueDim,u=n.repeatTimes||0,h=0,c=o[e.valueDim.index]+a+2*n.symbolMargin;for(oO(t,(function(t){t.__pictorialAnimationIndex=h,t.__pictorialRepeatTimes=u,h0:i<0)&&(r=u-1-t),e[l.index]=c*(r-u/2+.5)+s[l.index],{x:e[0],y:e[1],scaleX:n.symbolScale[0],scaleY:n.symbolScale[1],rotation:n.rotation}}}function KP(t,e,n,i){var r=t.__pictorialBundle,o=t.__pictorialMainPath;o?aO(o,null,{x:n.pathPosition[0],y:n.pathPosition[1],scaleX:n.symbolScale[0],scaleY:n.symbolScale[1],rotation:n.rotation},n,i):(o=t.__pictorialMainPath=jP(n),r.add(o),aO(o,{x:n.pathPosition[0],y:n.pathPosition[1],scaleX:0,scaleY:0,rotation:n.rotation},{scaleX:n.symbolScale[0],scaleY:n.symbolScale[1]},n,i))}function $P(t,e,n){var i=A({},e.barRectShape),r=t.__pictorialBarRect;r?aO(r,null,{shape:i},e,n):((r=t.__pictorialBarRect=new Ps({z2:2,shape:i,silent:!0,style:{stroke:"transparent",fill:"transparent",lineWidth:0}})).disableMorphing=!0,t.add(r))}function JP(t,e,n,i){if(n.symbolClip){var r=t.__pictorialClipPath,o=A({},n.clipShape),a=e.valueDim,s=n.animationModel,l=n.dataIndex;if(r)uh(r,{shape:o},s,l);else{o[a.wh]=0,r=new Ps({shape:o}),t.__pictorialBundle.setClipPath(r),t.__pictorialClipPath=r;var u={};u[a.wh]=n.clipShape[a.wh],Uh[i?"updateProps":"initProps"](r,{shape:u},s,l)}}}function QP(t,e){var n=t.getItemModel(e);return n.getAnimationDelayParams=tO,n.isAnimationEnabled=eO,n}function tO(t){return{index:t.__pictorialAnimationIndex,count:t.__pictorialRepeatTimes}}function eO(){return this.parentModel.isAnimationEnabled()&&!!this.getShallow("animation")}function nO(t,e,n,i){var r=new Pr,o=new Pr;return r.add(o),r.__pictorialBundle=o,o.x=n.bundlePosition[0],o.y=n.bundlePosition[1],n.symbolRepeat?qP(r,e,n):KP(r,0,n),$P(r,n,i),JP(r,e,n,i),r.__pictorialShapeStr=rO(t,n),r.__pictorialSymbolMeta=n,r}function iO(t,e,n,i){var r=i.__pictorialBarRect;r&&r.removeTextContent();var o=[];oO(i,(function(t){o.push(t)})),i.__pictorialMainPath&&o.push(i.__pictorialMainPath),i.__pictorialClipPath&&(n=null),E(o,(function(t){ph(t,{scaleX:0,scaleY:0},n,e,(function(){i.parent&&i.parent.remove(i)}))})),t.setItemGraphicEl(e,null)}function rO(t,e){return[t.getItemVisual(e.dataIndex,"symbol")||"none",!!e.symbolRepeat,!!e.symbolClip].join(":")}function oO(t,e,n){E(t.__pictorialBundle.children(),(function(i){i!==t.__pictorialBarRect&&e.call(n,i)}))}function aO(t,e,n,i,r,o){e&&t.attr(e),i.symbolClip&&!r?n&&t.attr(n):n&&Uh[r?"updateProps":"initProps"](t,n,i.animationModel,i.dataIndex,o)}function sO(t,e,n){var i=n.dataIndex,r=n.itemModel,o=r.getModel("emphasis"),a=o.getModel("itemStyle").getItemStyle(),s=r.getModel(["blur","itemStyle"]).getItemStyle(),l=r.getModel(["select","itemStyle"]).getItemStyle(),u=r.getShallow("cursor"),h=o.get("focus"),c=o.get("blurScope"),p=o.get("scale");oO(t,(function(t){if(t instanceof Is){var e=t.style;t.useStyle(A({image:e.image,x:e.x,y:e.y,width:e.width,height:e.height},n.style))}else t.useStyle(n.style);var i=t.ensureState("emphasis");i.style=a,p&&(i.scaleX=1.1*t.scaleX,i.scaleY=1.1*t.scaleY),t.ensureState("blur").style=s,t.ensureState("select").style=l,u&&(t.cursor=u),t.z2=n.z2}));var d=e.valueDim.posDesc[+(n.boundingLength>0)];qh(t.__pictorialBarRect,Kh(r),{labelFetcher:e.seriesModel,labelDataIndex:i,defaultText:Uw(e.seriesModel.getData(),i),inheritColor:n.style.fill,defaultOpacity:n.style.opacity,defaultOutsidePosition:d}),Bl(t,h,c,o.get("disabled"))}function lO(t){var e=Math.round(t);return Math.abs(t-e)<1e-4?e:Math.ceil(t)}var uO=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.hasSymbolVisual=!0,n.defaultSymbol="roundRect",n}return n(e,t),e.prototype.getInitialData=function(e){return e.stack=null,t.prototype.getInitialData.apply(this,arguments)},e.type="series.pictorialBar",e.dependencies=["grid"],e.defaultOption=wc(DS.defaultOption,{symbol:"circle",symbolSize:null,symbolRotate:null,symbolPosition:null,symbolOffset:null,symbolMargin:null,symbolRepeat:!1,symbolRepeatDirection:"end",symbolClip:!1,symbolBoundingData:null,symbolPatternSize:400,barGap:"-100%",progressive:0,emphasis:{scale:!1},select:{itemStyle:{borderColor:"#212121"}}}),e}(DS);var hO=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n._layers=[],n}return n(e,t),e.prototype.render=function(t,e,n){var i=t.getData(),r=this,o=this.group,a=t.getLayerSeries(),s=i.getLayout("layoutInfo"),l=s.rect,u=s.boundaryGap;function h(t){return t.name}o.x=0,o.y=l.y+u[0];var c=new Dm(this._layersSeries||[],a,h,h),p=[];function d(e,n,s){var l=r._layers;if("remove"!==e){for(var u,h,c=[],d=[],f=a[n].indices,g=0;go&&(o=s),i.push(s)}for(var u=0;uo&&(o=c)}return{y0:r,max:o}}(l),h=u.y0,c=n/u.max,p=o.length,d=o[0].indices.length,f=0;fMath.PI/2?"right":"left"):S&&"center"!==S?"left"===S?(m=r.r0+w,a>Math.PI/2&&(S="right")):"right"===S&&(m=r.r-w,a>Math.PI/2&&(S="left")):(m=o===2*Math.PI&&0===r.r0?0:(r.r+r.r0)/2,S="center"),g.style.align=S,g.style.verticalAlign=f(p,"verticalAlign")||"middle",g.x=m*s+r.cx,g.y=m*l+r.cy;var M=f(p,"rotate"),I=0;"radial"===M?(I=-a)<-Math.PI/2&&(I+=Math.PI):"tangential"===M?(I=Math.PI/2-a)>Math.PI/2?I-=Math.PI:I<-Math.PI/2&&(I+=Math.PI):j(M)&&(I=M*Math.PI/180),g.rotation=I})),h.dirtyStyle()},e}(Pu),gO="sunburstRootToNode",yO="sunburstHighlight";var vO=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.render=function(t,e,n,i){var r=this;this.seriesModel=t,this.api=n,this.ecModel=e;var o=t.getData(),a=o.tree.root,s=t.getViewRoot(),l=this.group,u=t.get("renderLabelForZeroData"),h=[];s.eachNode((function(t){h.push(t)}));var c=this._oldChildren||[];!function(i,r){if(0===i.length&&0===r.length)return;function s(t){return t.getId()}function h(s,h){!function(i,r){u||!i||i.getValue()||(i=null);if(i!==a&&r!==a)if(r&&r.piece)i?(r.piece.updateData(!1,i,t,e,n),o.setItemGraphicEl(i.dataIndex,r.piece)):function(t){if(!t)return;t.piece&&(l.remove(t.piece),t.piece=null)}(r);else if(i){var s=new fO(i,t,e,n);l.add(s),o.setItemGraphicEl(i.dataIndex,s)}}(null==s?null:i[s],null==h?null:r[h])}new Dm(r,i,s,s).add(h).update(h).remove(H(h,null)).execute()}(h,c),function(i,o){o.depth>0?(r.virtualPiece?r.virtualPiece.updateData(!1,i,t,e,n):(r.virtualPiece=new fO(i,t,e,n),l.add(r.virtualPiece)),o.piece.off("click"),r.virtualPiece.on("click",(function(t){r._rootToNode(o.parentNode)}))):r.virtualPiece&&(l.remove(r.virtualPiece),r.virtualPiece=null)}(a,s),this._initEvents(),this._oldChildren=h},e.prototype._initEvents=function(){var t=this;this.group.off("click"),this.group.on("click",(function(e){var n=!1;t.seriesModel.getViewRoot().eachNode((function(i){if(!n&&i.piece&&i.piece===e.target){var r=i.getModel().get("nodeClick");if("rootToNode"===r)t._rootToNode(i);else if("link"===r){var o=i.getModel(),a=o.get("link");if(a)yp(a,o.get("target",!0)||"_blank")}n=!0}}))}))},e.prototype._rootToNode=function(t){t!==this.seriesModel.getViewRoot()&&this.api.dispatchAction({type:gO,from:this.uid,seriesId:this.seriesModel.id,targetNode:t})},e.prototype.containPoint=function(t,e){var n=e.getData().getItemLayout(0);if(n){var i=t[0]-n.cx,r=t[1]-n.cy,o=Math.sqrt(i*i+r*r);return o<=n.r&&o>=n.r0}},e.type="sunburst",e}(wg),mO=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.ignoreStyleOnData=!0,n}return n(e,t),e.prototype.getInitialData=function(t,e){var n={name:t.name,children:t.data};xO(n);var i=this._levelModels=z(t.levels||[],(function(t){return new xc(t,this,e)}),this),r=OC.createTree(n,this,(function(t){t.wrapMethod("getItemModel",(function(t,e){var n=r.getNodeByDataIndex(e),o=i[n.depth];return o&&(t.parentModel=o),t}))}));return r.data},e.prototype.optionUpdated=function(){this.resetViewRoot()},e.prototype.getDataParams=function(e){var n=t.prototype.getDataParams.apply(this,arguments),i=this.getData().tree.getNodeByDataIndex(e);return n.treePathInfo=zC(i,this),n},e.prototype.getLevelModel=function(t){return this._levelModels&&this._levelModels[t.depth]},e.prototype.getViewRoot=function(){return this._viewRoot},e.prototype.resetViewRoot=function(t){t?this._viewRoot=t:t=this._viewRoot;var e=this.getRawData().tree.root;t&&(t===e||e.contains(t))||(this._viewRoot=e)},e.prototype.enableAriaDecal=function(){HC(this)},e.type="series.sunburst",e.defaultOption={z:2,center:["50%","50%"],radius:[0,"75%"],clockwise:!0,startAngle:90,minAngle:0,stillShowZeroSum:!0,nodeClick:"rootToNode",renderLabelForZeroData:!1,label:{rotate:"radial",show:!0,opacity:1,align:"center",position:"inside",distance:5,silent:!0},itemStyle:{borderWidth:1,borderColor:"white",borderType:"solid",shadowBlur:0,shadowColor:"rgba(0, 0, 0, 0.2)",shadowOffsetX:0,shadowOffsetY:0,opacity:1},emphasis:{focus:"descendant"},blur:{itemStyle:{opacity:.2},label:{opacity:.1}},animationType:"expansion",animationDuration:1e3,animationDurationUpdate:500,data:[],sort:"desc"},e}(hg);function xO(t){var e=0;E(t.children,(function(t){xO(t);var n=t.value;Y(n)&&(n=n[0]),e+=n}));var n=t.value;Y(n)&&(n=n[0]),(null==n||isNaN(n))&&(n=e),n<0&&(n=0),Y(t.value)?t.value[0]=n:t.value=n}var _O=Math.PI/180;function bO(t,e,n){e.eachSeriesByType(t,(function(t){var e=t.get("center"),i=t.get("radius");Y(i)||(i=[0,i]),Y(e)||(e=[e,e]);var r=n.getWidth(),o=n.getHeight(),a=Math.min(r,o),s=Gr(e[0],r),l=Gr(e[1],o),u=Gr(i[0],a/2),h=Gr(i[1],a/2),c=-t.get("startAngle")*_O,p=t.get("minAngle")*_O,d=t.getData().tree.root,f=t.getViewRoot(),g=f.depth,y=t.get("sort");null!=y&&wO(f,y);var v=0;E(f.children,(function(t){!isNaN(t.getValue())&&v++}));var m=f.getValue(),x=Math.PI/(m||v)*2,_=f.depth>0,b=f.height-(_?-1:1),w=(h-u)/(b||1),S=t.get("clockwise"),M=t.get("stillShowZeroSum"),I=S?1:-1,T=function(e,n){if(e){var i=n;if(e!==d){var r=e.getValue(),o=0===m&&M?x:r*x;o1;)r=r.parentNode;var o=n.getColorFromPalette(r.name||r.dataIndex+"",e);return t.depth>1&&X(o)&&(o=jn(o,(t.depth-1)/(i-1)*.5)),o}(r,t,i.root.height)),A(n.ensureUniqueItemVisual(r.dataIndex,"style"),o)}))}))}var MO={color:"fill",borderColor:"stroke"},IO={symbol:1,symbolSize:1,symbolKeepAspect:1,legendIcon:1,visualMeta:1,liftZ:1,decal:1},TO=Do(),CO=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.optionUpdated=function(){this.currentZLevel=this.get("zlevel",!0),this.currentZ=this.get("z",!0)},e.prototype.getInitialData=function(t,e){return sx(null,this)},e.prototype.getDataParams=function(e,n,i){var r=t.prototype.getDataParams.call(this,e,n);return i&&(r.info=TO(i).info),r},e.type="series.custom",e.dependencies=["grid","polar","geo","singleAxis","calendar"],e.defaultOption={coordinateSystem:"cartesian2d",z:2,legendHoverLink:!0,clip:!1},e}(hg);function DO(t,e){return e=e||[0,0],z(["x","y"],(function(n,i){var r=this.getAxis(n),o=e[i],a=t[i]/2;return"category"===r.type?r.getBandWidth():Math.abs(r.dataToCoord(o-a)-r.dataToCoord(o+a))}),this)}function AO(t,e){return e=e||[0,0],z([0,1],(function(n){var i=e[n],r=t[n]/2,o=[],a=[];return o[n]=i-r,a[n]=i+r,o[1-n]=a[1-n]=e[1-n],Math.abs(this.dataToPoint(o)[n]-this.dataToPoint(a)[n])}),this)}function kO(t,e){var n=this.getAxis(),i=e instanceof Array?e[0]:e,r=(t instanceof Array?t[0]:t)/2;return"category"===n.type?n.getBandWidth():Math.abs(n.dataToCoord(i-r)-n.dataToCoord(i+r))}function LO(t,e){return e=e||[0,0],z(["Radius","Angle"],(function(n,i){var r=this["get"+n+"Axis"](),o=e[i],a=t[i]/2,s="category"===r.type?r.getBandWidth():Math.abs(r.dataToCoord(o-a)-r.dataToCoord(o+a));return"Angle"===n&&(s=s*Math.PI/180),s}),this)}function PO(t,e,n,i){return t&&(t.legacy||!1!==t.legacy&&!n&&!i&&"tspan"!==e&&("text"===e||mt(t,"text")))}function OO(t,e,n){var i,r,o,a=t;if("text"===e)o=a;else{o={},mt(a,"text")&&(o.text=a.text),mt(a,"rich")&&(o.rich=a.rich),mt(a,"textFill")&&(o.fill=a.textFill),mt(a,"textStroke")&&(o.stroke=a.textStroke),mt(a,"fontFamily")&&(o.fontFamily=a.fontFamily),mt(a,"fontSize")&&(o.fontSize=a.fontSize),mt(a,"fontStyle")&&(o.fontStyle=a.fontStyle),mt(a,"fontWeight")&&(o.fontWeight=a.fontWeight),r={type:"text",style:o,silent:!0},i={};var s=mt(a,"textPosition");n?i.position=s?a.textPosition:"inside":s&&(i.position=a.textPosition),mt(a,"textPosition")&&(i.position=a.textPosition),mt(a,"textOffset")&&(i.offset=a.textOffset),mt(a,"textRotation")&&(i.rotation=a.textRotation),mt(a,"textDistance")&&(i.distance=a.textDistance)}return RO(o,t),E(o.rich,(function(t){RO(t,t)})),{textConfig:i,textContent:r}}function RO(t,e){e&&(e.font=e.textFont||e.font,mt(e,"textStrokeWidth")&&(t.lineWidth=e.textStrokeWidth),mt(e,"textAlign")&&(t.align=e.textAlign),mt(e,"textVerticalAlign")&&(t.verticalAlign=e.textVerticalAlign),mt(e,"textLineHeight")&&(t.lineHeight=e.textLineHeight),mt(e,"textWidth")&&(t.width=e.textWidth),mt(e,"textHeight")&&(t.height=e.textHeight),mt(e,"textBackgroundColor")&&(t.backgroundColor=e.textBackgroundColor),mt(e,"textPadding")&&(t.padding=e.textPadding),mt(e,"textBorderColor")&&(t.borderColor=e.textBorderColor),mt(e,"textBorderWidth")&&(t.borderWidth=e.textBorderWidth),mt(e,"textBorderRadius")&&(t.borderRadius=e.textBorderRadius),mt(e,"textBoxShadowColor")&&(t.shadowColor=e.textBoxShadowColor),mt(e,"textBoxShadowBlur")&&(t.shadowBlur=e.textBoxShadowBlur),mt(e,"textBoxShadowOffsetX")&&(t.shadowOffsetX=e.textBoxShadowOffsetX),mt(e,"textBoxShadowOffsetY")&&(t.shadowOffsetY=e.textBoxShadowOffsetY))}function NO(t,e,n){var i=t;i.textPosition=i.textPosition||n.position||"inside",null!=n.offset&&(i.textOffset=n.offset),null!=n.rotation&&(i.textRotation=n.rotation),null!=n.distance&&(i.textDistance=n.distance);var r=i.textPosition.indexOf("inside")>=0,o=t.fill||"#000";EO(i,e);var a=null==i.textFill;return r?a&&(i.textFill=n.insideFill||"#fff",!i.textStroke&&n.insideStroke&&(i.textStroke=n.insideStroke),!i.textStroke&&(i.textStroke=o),null==i.textStrokeWidth&&(i.textStrokeWidth=2)):(a&&(i.textFill=t.fill||n.outsideFill||"#000"),!i.textStroke&&n.outsideStroke&&(i.textStroke=n.outsideStroke)),i.text=e.text,i.rich=e.rich,E(e.rich,(function(t){EO(t,t)})),i}function EO(t,e){e&&(mt(e,"fill")&&(t.textFill=e.fill),mt(e,"stroke")&&(t.textStroke=e.fill),mt(e,"lineWidth")&&(t.textStrokeWidth=e.lineWidth),mt(e,"font")&&(t.font=e.font),mt(e,"fontStyle")&&(t.fontStyle=e.fontStyle),mt(e,"fontWeight")&&(t.fontWeight=e.fontWeight),mt(e,"fontSize")&&(t.fontSize=e.fontSize),mt(e,"fontFamily")&&(t.fontFamily=e.fontFamily),mt(e,"align")&&(t.textAlign=e.align),mt(e,"verticalAlign")&&(t.textVerticalAlign=e.verticalAlign),mt(e,"lineHeight")&&(t.textLineHeight=e.lineHeight),mt(e,"width")&&(t.textWidth=e.width),mt(e,"height")&&(t.textHeight=e.height),mt(e,"backgroundColor")&&(t.textBackgroundColor=e.backgroundColor),mt(e,"padding")&&(t.textPadding=e.padding),mt(e,"borderColor")&&(t.textBorderColor=e.borderColor),mt(e,"borderWidth")&&(t.textBorderWidth=e.borderWidth),mt(e,"borderRadius")&&(t.textBorderRadius=e.borderRadius),mt(e,"shadowColor")&&(t.textBoxShadowColor=e.shadowColor),mt(e,"shadowBlur")&&(t.textBoxShadowBlur=e.shadowBlur),mt(e,"shadowOffsetX")&&(t.textBoxShadowOffsetX=e.shadowOffsetX),mt(e,"shadowOffsetY")&&(t.textBoxShadowOffsetY=e.shadowOffsetY),mt(e,"textShadowColor")&&(t.textShadowColor=e.textShadowColor),mt(e,"textShadowBlur")&&(t.textShadowBlur=e.textShadowBlur),mt(e,"textShadowOffsetX")&&(t.textShadowOffsetX=e.textShadowOffsetX),mt(e,"textShadowOffsetY")&&(t.textShadowOffsetY=e.textShadowOffsetY))}var zO={position:["x","y"],scale:["scaleX","scaleY"],origin:["originX","originY"]},VO=G(zO),BO=(V(cr,(function(t,e){return t[e]=1,t}),{}),cr.join(", "),["","style","shape","extra"]),FO=Do();function GO(t,e,n,i,r){var o=t+"Animation",a=sh(t,i,r)||{},s=FO(e).userDuring;return a.duration>0&&(a.during=s?W(jO,{el:e,userDuring:s}):null,a.setToFinal=!0,a.scope=t),A(a,n[o]),a}function WO(t,e,n,i){var r=(i=i||{}).dataIndex,o=i.isInit,a=i.clearStyle,s=n.isAnimationEnabled(),l=FO(t),u=e.style;l.userDuring=e.during;var h={},c={};if(function(t,e,n){for(var i=0;i=0)){var c=t.getAnimationStyleProps(),p=c?c.style:null;if(p){!r&&(r=i.style={});var d=G(n);for(u=0;u0&&t.animateFrom(p,d)}else!function(t,e,n,i,r){if(r){var o=GO("update",t,e,i,n);o.duration>0&&t.animateFrom(r,o)}}(t,e,r||0,n,h);HO(t,e),u?t.dirty():t.markRedraw()}function HO(t,e){for(var n=FO(t).leaveToProps,i=0;i=0){!o&&(o=i[t]={});var p=G(a);for(h=0;hi[1]&&i.reverse(),{coordSys:{type:"polar",cx:t.cx,cy:t.cy,r:i[1],r0:i[0]},api:{coord:function(i){var r=e.dataToRadius(i[0]),o=n.dataToAngle(i[1]),a=t.coordToPoint([r,o]);return a.push(r,o*Math.PI/180),a},size:W(LO,t)}}},calendar:function(t){var e=t.getRect(),n=t.getRangeInfo();return{coordSys:{type:"calendar",x:e.x,y:e.y,width:e.width,height:e.height,cellWidth:t.getCellWidth(),cellHeight:t.getCellHeight(),rangeInfo:{start:n.start,end:n.end,weeks:n.weeks,dayCount:n.allDay}},api:{coord:function(e,n){return t.dataToPoint(e,n)}}}}};function pR(t){return t instanceof _s}function dR(t){return t instanceof ma}var fR=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.render=function(t,e,n,i){this._progressiveEls=null;var r=this._data,o=t.getData(),a=this.group,s=xR(t,o,e,n);r||a.removeAll(),o.diff(r).add((function(e){bR(n,null,e,s(e,i),t,a,o)})).remove((function(e){var n=r.getItemGraphicEl(e);n&&YO(n,TO(n).option,t)})).update((function(e,l){var u=r.getItemGraphicEl(l);bR(n,u,e,s(e,i),t,a,o)})).execute();var l=t.get("clip",!0)?cS(t.coordinateSystem,!1,t):null;l?a.setClipPath(l):a.removeClipPath(),this._data=o},e.prototype.incrementalPrepareRender=function(t,e,n){this.group.removeAll(),this._data=null},e.prototype.incrementalRender=function(t,e,n,i,r){var o=e.getData(),a=xR(e,o,n,i),s=this._progressiveEls=[];function l(t){t.isGroup||(t.incremental=!0,t.ensureState("emphasis").hoverLayer=!0)}for(var u=t.start;u=0?e.getStore().get(r,n):void 0}var o=e.get(i.name,n),a=i&&i.ordinalMeta;return a?a.categories[o]:o},styleEmphasis:function(n,i){0;null==i&&(i=s);var r=m(i,nR).getItemStyle(),o=x(i,nR),a=$h(o,null,null,!0,!0);a.text=o.getShallow("show")?ot(t.getFormattedLabel(i,nR),t.getFormattedLabel(i,iR),Uw(e,i)):null;var l=Jh(o,null,!0);return b(n,r),r=NO(r,a,l),n&&_(r,n),r.legacy=!0,r},visual:function(t,n){if(null==n&&(n=s),mt(MO,t)){var i=e.getItemVisual(n,"style");return i?i[MO[t]]:null}if(mt(IO,t))return e.getItemVisual(n,t)},barLayout:function(t){if("cartesian2d"===o.type){return function(t){var e=[],n=t.axis,i="axis0";if("category"===n.type){for(var r=n.getBandWidth(),o=0;o=c;f--){var g=e.childAt(f);CR(e,g,r)}}(t,c,n,i,r),a>=0?o.replaceAt(c,a):o.add(c),c}function SR(t,e,n){var i,r=TO(t),o=e.type,a=e.shape,s=e.style;return n.isUniversalTransitionEnabled()||null!=o&&o!==r.customGraphicType||"path"===o&&((i=a)&&(mt(i,"pathData")||mt(i,"d")))&&LR(a)!==r.customPathData||"image"===o&&mt(s,"image")&&s.image!==r.customImagePath}function MR(t,e,n){var i=e?IR(t,e):t,r=e?TR(t,i,nR):t.style,o=t.type,a=i?i.textConfig:null,s=t.textContent,l=s?e?IR(s,e):s:null;if(r&&(n.isLegacy||PO(r,o,!!a,!!l))){n.isLegacy=!0;var u=OO(r,o,!e);!a&&u.textConfig&&(a=u.textConfig),!l&&u.textContent&&(l=u.textContent)}if(!e&&l){var h=l;!h.type&&(h.type="text")}var c=e?n[e]:n.normal;c.cfg=a,c.conOpt=l}function IR(t,e){return e?t?t[e]:null:t}function TR(t,e,n){var i=e&&e.style;return null==i&&n===nR&&t&&(i=t.styleEmphasis),i}function CR(t,e,n){e&&YO(e,TO(t).option,n)}function DR(t,e){var n=t&&t.name;return null!=n?n:"e\0\0"+e}function AR(t,e){var n=this.context,i=null!=t?n.newChildren[t]:null,r=null!=e?n.oldChildren[e]:null;wR(n.api,r,n.dataIndex,i,n.seriesModel,n.group)}function kR(t){var e=this.context,n=e.oldChildren[t];n&&YO(n,TO(n).option,e.seriesModel)}function LR(t){return t&&(t.pathData||t.d)}var PR=Do(),OR=T,RR=W,NR=function(){function t(){this._dragging=!1,this.animationThreshold=15}return t.prototype.render=function(t,e,n,i){var r=e.get("value"),o=e.get("status");if(this._axisModel=t,this._axisPointerModel=e,this._api=n,i||this._lastValue!==r||this._lastStatus!==o){this._lastValue=r,this._lastStatus=o;var a=this._group,s=this._handle;if(!o||"hide"===o)return a&&a.hide(),void(s&&s.hide());a&&a.show(),s&&s.show();var l={};this.makeElOption(l,r,t,e,n);var u=l.graphicKey;u!==this._lastGraphicKey&&this.clear(n),this._lastGraphicKey=u;var h=this._moveAnimation=this.determineAnimation(t,e);if(a){var c=H(ER,e,h);this.updatePointerEl(a,l,c),this.updateLabelEl(a,l,c,e)}else a=this._group=new Pr,this.createPointerEl(a,l,t,e),this.createLabelEl(a,l,t,e),n.getZr().add(a);FR(a,e,!0),this._renderHandle(r)}},t.prototype.remove=function(t){this.clear(t)},t.prototype.dispose=function(t){this.clear(t)},t.prototype.determineAnimation=function(t,e){var n=e.get("animation"),i=t.axis,r="category"===i.type,o=e.get("snap");if(!o&&!r)return!1;if("auto"===n||null==n){var a=this.animationThreshold;if(r&&i.getBandWidth()>a)return!0;if(o){var s=QM(t).seriesDataCount,l=i.getExtent();return Math.abs(l[0]-l[1])/s>a}return!1}return!0===n},t.prototype.makeElOption=function(t,e,n,i,r){},t.prototype.createPointerEl=function(t,e,n,i){var r=e.pointer;if(r){var o=PR(t).pointerEl=new Uh[r.type](OR(e.pointer));t.add(o)}},t.prototype.createLabelEl=function(t,e,n,i){if(e.label){var r=PR(t).labelEl=new Ns(OR(e.label));t.add(r),VR(r,i)}},t.prototype.updatePointerEl=function(t,e,n){var i=PR(t).pointerEl;i&&e.pointer&&(i.setStyle(e.pointer.style),n(i,{shape:e.pointer.shape}))},t.prototype.updateLabelEl=function(t,e,n,i){var r=PR(t).labelEl;r&&(r.setStyle(e.label.style),n(r,{x:e.label.x,y:e.label.y}),VR(r,i))},t.prototype._renderHandle=function(t){if(!this._dragging&&this.updateHandleTransform){var e,n=this._axisPointerModel,i=this._api.getZr(),r=this._handle,o=n.getModel("handle"),a=n.get("status");if(!o.get("show")||!a||"hide"===a)return r&&i.remove(r),void(this._handle=null);this._handle||(e=!0,r=this._handle=Vh(o.get("icon"),{cursor:"move",draggable:!0,onmousemove:function(t){he(t.event)},onmousedown:RR(this._onHandleDragMove,this,0,0),drift:RR(this._onHandleDragMove,this),ondragend:RR(this._onHandleDragEnd,this)}),i.add(r)),FR(r,n,!1),r.setStyle(o.getItemStyle(null,["color","borderColor","borderWidth","opacity","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY"]));var s=o.get("size");Y(s)||(s=[s,s]),r.scaleX=s[0]/2,r.scaleY=s[1]/2,Pg(this,"_doDispatchAxisPointer",o.get("throttle")||0,"fixRate"),this._moveHandleToValue(t,e)}},t.prototype._moveHandleToValue=function(t,e){ER(this._axisPointerModel,!e&&this._moveAnimation,this._handle,BR(this.getHandleTransform(t,this._axisModel,this._axisPointerModel)))},t.prototype._onHandleDragMove=function(t,e){var n=this._handle;if(n){this._dragging=!0;var i=this.updateHandleTransform(BR(n),[t,e],this._axisModel,this._axisPointerModel);this._payloadInfo=i,n.stopAnimation(),n.attr(BR(i)),PR(n).lastProp=null,this._doDispatchAxisPointer()}},t.prototype._doDispatchAxisPointer=function(){if(this._handle){var t=this._payloadInfo,e=this._axisModel;this._api.dispatchAction({type:"updateAxisPointer",x:t.cursorPoint[0],y:t.cursorPoint[1],tooltipOption:t.tooltipOption,axesInfo:[{axisDim:e.axis.dim,axisIndex:e.componentIndex}]})}},t.prototype._onHandleDragEnd=function(){if(this._dragging=!1,this._handle){var t=this._axisPointerModel.get("value");this._moveHandleToValue(t),this._api.dispatchAction({type:"hideTip"})}},t.prototype.clear=function(t){this._lastValue=null,this._lastStatus=null;var e=t.getZr(),n=this._group,i=this._handle;e&&n&&(this._lastGraphicKey=null,n&&e.remove(n),i&&e.remove(i),this._group=null,this._handle=null,this._payloadInfo=null),Og(this,"_doDispatchAxisPointer")},t.prototype.doClear=function(){},t.prototype.buildLabel=function(t,e,n){return{x:t[n=n||0],y:t[1-n],width:e[n],height:e[1-n]}},t}();function ER(t,e,n,i){zR(PR(n).lastProp,i)||(PR(n).lastProp=i,e?uh(n,i,t):(n.stopAnimation(),n.attr(i)))}function zR(t,e){if(q(t)&&q(e)){var n=!0;return E(e,(function(e,i){n=n&&zR(t[i],e)})),!!n}return t===e}function VR(t,e){t[e.get(["label","show"])?"show":"hide"]()}function BR(t){return{x:t.x||0,y:t.y||0,rotation:t.rotation||0}}function FR(t,e,n){var i=e.get("z"),r=e.get("zlevel");t&&t.traverse((function(t){"group"!==t.type&&(null!=i&&(t.z=i),null!=r&&(t.zlevel=r),t.silent=n)}))}function GR(t){var e,n=t.get("type"),i=t.getModel(n+"Style");return"line"===n?(e=i.getLineStyle()).fill=null:"shadow"===n&&((e=i.getAreaStyle()).stroke=null),e}function WR(t,e,n,i,r){var o=HR(n.get("value"),e.axis,e.ecModel,n.get("seriesDataIndices"),{precision:n.get(["label","precision"]),formatter:n.get(["label","formatter"])}),a=n.getModel("label"),s=up(a.get("padding")||0),l=a.getFont(),u=yr(o,l),h=r.position,c=u.width+s[1]+s[3],p=u.height+s[0]+s[2],d=r.align;"right"===d&&(h[0]-=c),"center"===d&&(h[0]-=c/2);var f=r.verticalAlign;"bottom"===f&&(h[1]-=p),"middle"===f&&(h[1]-=p/2),function(t,e,n,i){var r=i.getWidth(),o=i.getHeight();t[0]=Math.min(t[0]+e,r)-e,t[1]=Math.min(t[1]+n,o)-n,t[0]=Math.max(t[0],0),t[1]=Math.max(t[1],0)}(h,c,p,i);var g=a.get("backgroundColor");g&&"auto"!==g||(g=e.get(["axisLine","lineStyle","color"])),t.label={x:h[0],y:h[1],style:$h(a,{text:o,font:l,fill:a.getTextColor(),padding:s,backgroundColor:g}),z2:10}}function HR(t,e,n,i,r){t=e.scale.parse(t);var o=e.scale.getLabel({value:t},{precision:r.precision}),a=r.formatter;if(a){var s={value:h_(e,{value:t}),axisDimension:e.dim,axisIndex:e.index,seriesData:[]};E(i,(function(t){var e=n.getSeriesByIndex(t.seriesIndex),i=t.dataIndexInside,r=e&&e.getDataParams(i);r&&s.seriesData.push(r)})),X(a)?o=a.replace("{value}",o):U(a)&&(o=a(s))}return o}function YR(t,e,n){var i=[1,0,0,1,0,0];return _e(i,i,n.rotation),xe(i,i,n.position),Ph([t.dataToCoord(e),(n.labelOffset||0)+(n.labelDirection||1)*(n.labelMargin||0)],i)}function UR(t,e,n,i,r,o){var a=YM.innerTextLayout(n.rotation,0,n.labelDirection);n.labelMargin=r.get(["label","margin"]),WR(e,i,r,o,{position:YR(i.axis,t,n),align:a.textAlign,verticalAlign:a.textVerticalAlign})}function XR(t,e,n){return{x1:t[n=n||0],y1:t[1-n],x2:e[n],y2:e[1-n]}}function ZR(t,e,n){return{x:t[n=n||0],y:t[1-n],width:e[n],height:e[1-n]}}function jR(t,e,n,i,r,o){return{cx:t,cy:e,r0:n,r:i,startAngle:r,endAngle:o,clockwise:!0}}var qR=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.makeElOption=function(t,e,n,i,r){var o=n.axis,a=o.grid,s=i.get("type"),l=KR(a,o).getOtherAxis(o).getGlobalExtent(),u=o.toGlobalCoord(o.dataToCoord(e,!0));if(s&&"none"!==s){var h=GR(i),c=$R[s](o,u,l);c.style=h,t.graphicKey=c.type,t.pointer=c}UR(e,t,RM(a.model,n),n,i,r)},e.prototype.getHandleTransform=function(t,e,n){var i=RM(e.axis.grid.model,e,{labelInside:!1});i.labelMargin=n.get(["handle","margin"]);var r=YR(e.axis,t,i);return{x:r[0],y:r[1],rotation:i.rotation+(i.labelDirection<0?Math.PI:0)}},e.prototype.updateHandleTransform=function(t,e,n,i){var r=n.axis,o=r.grid,a=r.getGlobalExtent(!0),s=KR(o,r).getOtherAxis(r).getGlobalExtent(),l="x"===r.dim?0:1,u=[t.x,t.y];u[l]+=e[l],u[l]=Math.min(a[1],u[l]),u[l]=Math.max(a[0],u[l]);var h=(s[1]+s[0])/2,c=[h,h];c[l]=u[l];return{x:u[0],y:u[1],rotation:t.rotation,cursorPoint:c,tooltipOption:[{verticalAlign:"middle"},{align:"center"}][l]}},e}(NR);function KR(t,e){var n={};return n[e.dim+"AxisIndex"]=e.index,t.getCartesian(n)}var $R={line:function(t,e,n){return{type:"Line",subPixelOptimize:!0,shape:XR([e,n[0]],[e,n[1]],JR(t))}},shadow:function(t,e,n){var i=Math.max(1,t.getBandWidth()),r=n[1]-n[0];return{type:"Rect",shape:ZR([e-i/2,n[0]],[i,r],JR(t))}}};function JR(t){return"x"===t.dim?0:1}var QR=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.type="axisPointer",e.defaultOption={show:"auto",z:50,type:"line",snap:!1,triggerTooltip:!0,value:null,status:null,link:[],animation:null,animationDurationUpdate:200,lineStyle:{color:"#B9BEC9",width:1,type:"dashed"},shadowStyle:{color:"rgba(210,219,238,0.2)"},label:{show:!0,formatter:null,precision:"auto",margin:3,color:"#fff",padding:[5,7,5,7],backgroundColor:"auto",borderColor:null,borderWidth:0,borderRadius:3},handle:{show:!1,icon:"M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4h1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7v-1.2h6.6z M13.3,22H6.7v-1.2h6.6z M13.3,19.6H6.7v-1.2h6.6z",size:45,margin:50,color:"#333",shadowBlur:3,shadowColor:"#aaa",shadowOffsetX:0,shadowOffsetY:2,throttle:40}},e}(Ap),tN=Do(),eN=E;function nN(t,e,n){if(!r.node){var i=e.getZr();tN(i).records||(tN(i).records={}),function(t,e){if(tN(t).initialized)return;function n(n,i){t.on(n,(function(n){var r=function(t){var e={showTip:[],hideTip:[]},n=function(i){var r=e[i.type];r?r.push(i):(i.dispatchAction=n,t.dispatchAction(i))};return{dispatchAction:n,pendings:e}}(e);eN(tN(t).records,(function(t){t&&i(t,n,r.dispatchAction)})),function(t,e){var n,i=t.showTip.length,r=t.hideTip.length;i?n=t.showTip[i-1]:r&&(n=t.hideTip[r-1]);n&&(n.dispatchAction=null,e.dispatchAction(n))}(r.pendings,e)}))}tN(t).initialized=!0,n("click",H(rN,"click")),n("mousemove",H(rN,"mousemove")),n("globalout",iN)}(i,e),(tN(i).records[t]||(tN(i).records[t]={})).handler=n}}function iN(t,e,n){t.handler("leave",null,n)}function rN(t,e,n,i){e.handler(t,n,i)}function oN(t,e){if(!r.node){var n=e.getZr();(tN(n).records||{})[t]&&(tN(n).records[t]=null)}}var aN=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.render=function(t,e,n){var i=e.getComponent("tooltip"),r=t.get("triggerOn")||i&&i.get("triggerOn")||"mousemove|click";nN("axisPointer",n,(function(t,e,n){"none"!==r&&("leave"===t||r.indexOf(t)>=0)&&n({type:"updateAxisPointer",currTrigger:t,x:e&&e.offsetX,y:e&&e.offsetY})}))},e.prototype.remove=function(t,e){oN("axisPointer",e)},e.prototype.dispose=function(t,e){oN("axisPointer",e)},e.type="axisPointer",e}(mg);function sN(t,e){var n,i=[],r=t.seriesIndex;if(null==r||!(n=e.getSeriesByIndex(r)))return{point:[]};var o=n.getData(),a=Co(o,t);if(null==a||a<0||Y(a))return{point:[]};var s=o.getItemGraphicEl(a),l=n.coordinateSystem;if(n.getTooltipPosition)i=n.getTooltipPosition(a)||[];else if(l&&l.dataToPoint)if(t.isStacked){var u=l.getBaseAxis(),h=l.getOtherAxis(u).dim,c=u.dim,p="x"===h||"radius"===h?1:0,d=o.mapDimension(c),f=[];f[p]=o.get(d,a),f[1-p]=o.get(o.getCalculationInfo("stackResultDimension"),a),i=l.dataToPoint(f)||[]}else i=l.dataToPoint(o.getValues(z(l.dimensions,(function(t){return o.mapDimension(t)})),a))||[];else if(s){var g=s.getBoundingRect().clone();g.applyTransform(s.transform),i=[g.x+g.width/2,g.y+g.height/2]}return{point:i,el:s}}var lN=Do();function uN(t,e,n){var i=t.currTrigger,r=[t.x,t.y],o=t,a=t.dispatchAction||W(n.dispatchAction,n),s=e.getComponent("axisPointer").coordSysAxesInfo;if(s){fN(r)&&(r=sN({seriesIndex:o.seriesIndex,dataIndex:o.dataIndex},e).point);var l=fN(r),u=o.axesInfo,h=s.axesInfo,c="leave"===i||fN(r),p={},d={},f={list:[],map:{}},g={showPointer:H(cN,d),showTooltip:H(pN,f)};E(s.coordSysMap,(function(t,e){var n=l||t.containPoint(r);E(s.coordSysAxesInfo[e],(function(t,e){var i=t.axis,o=function(t,e){for(var n=0;n<(t||[]).length;n++){var i=t[n];if(e.axis.dim===i.axisDim&&e.axis.model.componentIndex===i.axisIndex)return i}}(u,t);if(!c&&n&&(!u||o)){var a=o&&o.value;null!=a||l||(a=i.pointToData(r)),null!=a&&hN(t,a,g,!1,p)}}))}));var y={};return E(h,(function(t,e){var n=t.linkGroup;n&&!d[e]&&E(n.axesInfo,(function(e,i){var r=d[i];if(e!==t&&r){var o=r.value;n.mapper&&(o=t.axis.scale.parse(n.mapper(o,dN(e),dN(t)))),y[t.key]=o}}))})),E(y,(function(t,e){hN(h[e],t,g,!0,p)})),function(t,e,n){var i=n.axesInfo=[];E(e,(function(e,n){var r=e.axisPointerModel.option,o=t[n];o?(!e.useHandle&&(r.status="show"),r.value=o.value,r.seriesDataIndices=(o.payloadBatch||[]).slice()):!e.useHandle&&(r.status="hide"),"show"===r.status&&i.push({axisDim:e.axis.dim,axisIndex:e.axis.model.componentIndex,value:r.value})}))}(d,h,p),function(t,e,n,i){if(fN(e)||!t.list.length)return void i({type:"hideTip"});var r=((t.list[0].dataByAxis[0]||{}).seriesDataIndices||[])[0]||{};i({type:"showTip",escapeConnect:!0,x:e[0],y:e[1],tooltipOption:n.tooltipOption,position:n.position,dataIndexInside:r.dataIndexInside,dataIndex:r.dataIndex,seriesIndex:r.seriesIndex,dataByCoordSys:t.list})}(f,r,t,a),function(t,e,n){var i=n.getZr(),r="axisPointerLastHighlights",o=lN(i)[r]||{},a=lN(i)[r]={};E(t,(function(t,e){var n=t.axisPointerModel.option;"show"===n.status&&E(n.seriesDataIndices,(function(t){var e=t.seriesIndex+" | "+t.dataIndex;a[e]=t}))}));var s=[],l=[];E(o,(function(t,e){!a[e]&&l.push(t)})),E(a,(function(t,e){!o[e]&&s.push(t)})),l.length&&n.dispatchAction({type:"downplay",escapeConnect:!0,notBlur:!0,batch:l}),s.length&&n.dispatchAction({type:"highlight",escapeConnect:!0,notBlur:!0,batch:s})}(h,0,n),p}}function hN(t,e,n,i,r){var o=t.axis;if(!o.scale.isBlank()&&o.containData(e))if(t.involveSeries){var a=function(t,e){var n=e.axis,i=n.dim,r=t,o=[],a=Number.MAX_VALUE,s=-1;return E(e.seriesModels,(function(e,l){var u,h,c=e.getData().mapDimensionsAll(i);if(e.getAxisTooltipData){var p=e.getAxisTooltipData(c,t,n);h=p.dataIndices,u=p.nestestValue}else{if(!(h=e.getData().indicesOfNearest(c[0],t,"category"===n.type?.5:null)).length)return;u=e.getData().get(c[0],h[0])}if(null!=u&&isFinite(u)){var d=t-u,f=Math.abs(d);f<=a&&((f=0&&s<0)&&(a=f,s=d,r=u,o.length=0),E(h,(function(t){o.push({seriesIndex:e.seriesIndex,dataIndexInside:t,dataIndex:e.getData().getRawIndex(t)})})))}})),{payloadBatch:o,snapToValue:r}}(e,t),s=a.payloadBatch,l=a.snapToValue;s[0]&&null==r.seriesIndex&&A(r,s[0]),!i&&t.snap&&o.containData(l)&&null!=l&&(e=l),n.showPointer(t,e,s),n.showTooltip(t,a,l)}else n.showPointer(t,e)}function cN(t,e,n,i){t[e.key]={value:n,payloadBatch:i}}function pN(t,e,n,i){var r=n.payloadBatch,o=e.axis,a=o.model,s=e.axisPointerModel;if(e.triggerTooltip&&r.length){var l=e.coordSys.model,u=eI(l),h=t.map[u];h||(h=t.map[u]={coordSysId:l.id,coordSysIndex:l.componentIndex,coordSysType:l.type,coordSysMainType:l.mainType,dataByAxis:[]},t.list.push(h)),h.dataByAxis.push({axisDim:o.dim,axisIndex:a.componentIndex,axisType:a.type,axisId:a.id,value:i,valueLabelOpt:{precision:s.get(["label","precision"]),formatter:s.get(["label","formatter"])},seriesDataIndices:r.slice()})}}function dN(t){var e=t.axis.model,n={},i=n.axisDim=t.axis.dim;return n.axisIndex=n[i+"AxisIndex"]=e.componentIndex,n.axisName=n[i+"AxisName"]=e.name,n.axisId=n[i+"AxisId"]=e.id,n}function fN(t){return!t||null==t[0]||isNaN(t[0])||null==t[1]||isNaN(t[1])}function gN(t){iI.registerAxisPointerClass("CartesianAxisPointer",qR),t.registerComponentModel(QR),t.registerComponentView(aN),t.registerPreprocessor((function(t){if(t){(!t.axisPointer||0===t.axisPointer.length)&&(t.axisPointer={});var e=t.axisPointer.link;e&&!Y(e)&&(t.axisPointer.link=[e])}})),t.registerProcessor(t.PRIORITY.PROCESSOR.STATISTIC,(function(t,e){t.getComponent("axisPointer").coordSysAxesInfo=KM(t,e)})),t.registerAction({type:"updateAxisPointer",event:"updateAxisPointer",update:":updateAxisPointer"},uN)}var yN=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.makeElOption=function(t,e,n,i,r){var o=n.axis;"angle"===o.dim&&(this.animationThreshold=Math.PI/18);var a=o.polar,s=a.getOtherAxis(o).getExtent(),l=o.dataToCoord(e),u=i.get("type");if(u&&"none"!==u){var h=GR(i),c=vN[u](o,a,l,s);c.style=h,t.graphicKey=c.type,t.pointer=c}var p=function(t,e,n,i,r){var o=e.axis,a=o.dataToCoord(t),s=i.getAngleAxis().getExtent()[0];s=s/180*Math.PI;var l,u,h,c=i.getRadiusAxis().getExtent();if("radius"===o.dim){var p=[1,0,0,1,0,0];_e(p,p,s),xe(p,p,[i.cx,i.cy]),l=Ph([a,-r],p);var d=e.getModel("axisLabel").get("rotate")||0,f=YM.innerTextLayout(s,d*Math.PI/180,-1);u=f.textAlign,h=f.textVerticalAlign}else{var g=c[1];l=i.coordToPoint([g+r,a]);var y=i.cx,v=i.cy;u=Math.abs(l[0]-y)/g<.3?"center":l[0]>y?"left":"right",h=Math.abs(l[1]-v)/g<.3?"middle":l[1]>v?"top":"bottom"}return{position:l,align:u,verticalAlign:h}}(e,n,0,a,i.get(["label","margin"]));WR(t,n,i,r,p)},e}(NR);var vN={line:function(t,e,n,i){return"angle"===t.dim?{type:"Line",shape:XR(e.coordToPoint([i[0],n]),e.coordToPoint([i[1],n]))}:{type:"Circle",shape:{cx:e.cx,cy:e.cy,r:n}}},shadow:function(t,e,n,i){var r=Math.max(1,t.getBandWidth()),o=Math.PI/180;return"angle"===t.dim?{type:"Sector",shape:jR(e.cx,e.cy,i[0],i[1],(-n-r/2)*o,(r/2-n)*o)}:{type:"Sector",shape:jR(e.cx,e.cy,n-r/2,n+r/2,0,2*Math.PI)}}},mN=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.findAxisModel=function(t){var e;return this.ecModel.eachComponent(t,(function(t){t.getCoordSysModel()===this&&(e=t)}),this),e},e.type="polar",e.dependencies=["radiusAxis","angleAxis"],e.defaultOption={z:0,center:["50%","50%"],radius:"80%"},e}(Ap),xN=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.getCoordSysModel=function(){return this.getReferringComponents("polar",Po).models[0]},e.type="polarAxis",e}(Ap);R(xN,g_);var _N=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.type="angleAxis",e}(xN),bN=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.type="radiusAxis",e}(xN),wN=function(t){function e(e,n){return t.call(this,"radius",e,n)||this}return n(e,t),e.prototype.pointToData=function(t,e){return this.polar.pointToData(t,e)["radius"===this.dim?0:1]},e}(X_);wN.prototype.dataToRadius=X_.prototype.dataToCoord,wN.prototype.radiusToData=X_.prototype.coordToData;var SN=Do(),MN=function(t){function e(e,n){return t.call(this,"angle",e,n||[0,360])||this}return n(e,t),e.prototype.pointToData=function(t,e){return this.polar.pointToData(t,e)["radius"===this.dim?0:1]},e.prototype.calculateCategoryInterval=function(){var t=this,e=t.getLabelModel(),n=t.scale,i=n.getExtent(),r=n.count();if(i[1]-i[0]<1)return 0;var o=i[0],a=t.dataToCoord(o+1)-t.dataToCoord(o),s=Math.abs(a),l=yr(null==o?"":o+"",e.getFont(),"center","top"),u=Math.max(l.height,7)/s;isNaN(u)&&(u=1/0);var h=Math.max(0,Math.floor(u)),c=SN(t.model),p=c.lastAutoInterval,d=c.lastTickCount;return null!=p&&null!=d&&Math.abs(p-h)<=1&&Math.abs(d-r)<=1&&p>h?h=p:(c.lastTickCount=r,c.lastAutoInterval=h),h},e}(X_);MN.prototype.dataToAngle=X_.prototype.dataToCoord,MN.prototype.angleToData=X_.prototype.coordToData;var IN=["radius","angle"],TN=function(){function t(t){this.dimensions=IN,this.type="polar",this.cx=0,this.cy=0,this._radiusAxis=new wN,this._angleAxis=new MN,this.axisPointerEnabled=!0,this.name=t||"",this._radiusAxis.polar=this._angleAxis.polar=this}return t.prototype.containPoint=function(t){var e=this.pointToCoord(t);return this._radiusAxis.contain(e[0])&&this._angleAxis.contain(e[1])},t.prototype.containData=function(t){return this._radiusAxis.containData(t[0])&&this._angleAxis.containData(t[1])},t.prototype.getAxis=function(t){return this["_"+t+"Axis"]},t.prototype.getAxes=function(){return[this._radiusAxis,this._angleAxis]},t.prototype.getAxesByScale=function(t){var e=[],n=this._angleAxis,i=this._radiusAxis;return n.scale.type===t&&e.push(n),i.scale.type===t&&e.push(i),e},t.prototype.getAngleAxis=function(){return this._angleAxis},t.prototype.getRadiusAxis=function(){return this._radiusAxis},t.prototype.getOtherAxis=function(t){var e=this._angleAxis;return t===e?this._radiusAxis:e},t.prototype.getBaseAxis=function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAngleAxis()},t.prototype.getTooltipAxes=function(t){var e=null!=t&&"auto"!==t?this.getAxis(t):this.getBaseAxis();return{baseAxes:[e],otherAxes:[this.getOtherAxis(e)]}},t.prototype.dataToPoint=function(t,e){return this.coordToPoint([this._radiusAxis.dataToRadius(t[0],e),this._angleAxis.dataToAngle(t[1],e)])},t.prototype.pointToData=function(t,e){var n=this.pointToCoord(t);return[this._radiusAxis.radiusToData(n[0],e),this._angleAxis.angleToData(n[1],e)]},t.prototype.pointToCoord=function(t){var e=t[0]-this.cx,n=t[1]-this.cy,i=this.getAngleAxis(),r=i.getExtent(),o=Math.min(r[0],r[1]),a=Math.max(r[0],r[1]);i.inverse?o=a-360:a=o+360;var s=Math.sqrt(e*e+n*n);e/=s,n/=s;for(var l=Math.atan2(-n,e)/Math.PI*180,u=la;)l+=360*u;return[s,l]},t.prototype.coordToPoint=function(t){var e=t[0],n=t[1]/180*Math.PI;return[Math.cos(n)*e+this.cx,-Math.sin(n)*e+this.cy]},t.prototype.getArea=function(){var t=this.getAngleAxis(),e=this.getRadiusAxis().getExtent().slice();e[0]>e[1]&&e.reverse();var n=t.getExtent(),i=Math.PI/180;return{cx:this.cx,cy:this.cy,r0:e[0],r:e[1],startAngle:-n[0]*i,endAngle:-n[1]*i,clockwise:t.inverse,contain:function(t,e){var n=t-this.cx,i=e-this.cy,r=n*n+i*i-1e-4,o=this.r,a=this.r0;return r<=o*o&&r>=a*a}}},t.prototype.convertToPixel=function(t,e,n){return CN(e)===this?this.dataToPoint(n):null},t.prototype.convertFromPixel=function(t,e,n){return CN(e)===this?this.pointToData(n):null},t}();function CN(t){var e=t.seriesModel,n=t.polarModel;return n&&n.coordinateSystem||e&&e.coordinateSystem}function DN(t,e){var n=this,i=n.getAngleAxis(),r=n.getRadiusAxis();if(i.scale.setExtent(1/0,-1/0),r.scale.setExtent(1/0,-1/0),t.eachSeries((function(t){if(t.coordinateSystem===n){var e=t.getData();E(f_(e,"radius"),(function(t){r.scale.unionExtentFromData(e,t)})),E(f_(e,"angle"),(function(t){i.scale.unionExtentFromData(e,t)}))}})),s_(i.scale,i.model),s_(r.scale,r.model),"category"===i.type&&!i.onBand){var o=i.getExtent(),a=360/i.scale.count();i.inverse?o[1]+=a:o[1]-=a,i.setExtent(o[0],o[1])}}function AN(t,e){if(t.type=e.get("type"),t.scale=l_(e),t.onBand=e.get("boundaryGap")&&"category"===t.type,t.inverse=e.get("inverse"),function(t){return"angleAxis"===t.mainType}(e)){t.inverse=t.inverse!==e.get("clockwise");var n=e.get("startAngle");t.setExtent(n,n+(t.inverse?-360:360))}e.axis=t,t.model=e}var kN={dimensions:IN,create:function(t,e){var n=[];return t.eachComponent("polar",(function(t,i){var r=new TN(i+"");r.update=DN;var o=r.getRadiusAxis(),a=r.getAngleAxis(),s=t.findAxisModel("radiusAxis"),l=t.findAxisModel("angleAxis");AN(o,s),AN(a,l),function(t,e,n){var i=e.get("center"),r=n.getWidth(),o=n.getHeight();t.cx=Gr(i[0],r),t.cy=Gr(i[1],o);var a=t.getRadiusAxis(),s=Math.min(r,o)/2,l=e.get("radius");null==l?l=[0,"100%"]:Y(l)||(l=[0,l]);var u=[Gr(l[0],s),Gr(l[1],s)];a.inverse?a.setExtent(u[1],u[0]):a.setExtent(u[0],u[1])}(r,t,e),n.push(r),t.coordinateSystem=r,r.model=t})),t.eachSeries((function(t){if("polar"===t.get("coordinateSystem")){var e=t.getReferringComponents("polar",Po).models[0];0,t.coordinateSystem=e.coordinateSystem}})),n}},LN=["axisLine","axisLabel","axisTick","minorTick","splitLine","minorSplitLine","splitArea"];function PN(t,e,n){e[1]>e[0]&&(e=e.slice().reverse());var i=t.coordToPoint([e[0],n]),r=t.coordToPoint([e[1],n]);return{x1:i[0],y1:i[1],x2:r[0],y2:r[1]}}function ON(t){return t.getRadiusAxis().inverse?0:1}function RN(t){var e=t[0],n=t[t.length-1];e&&n&&Math.abs(Math.abs(e.coord-n.coord)-360)<1e-4&&t.pop()}var NN=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.axisPointerClass="PolarAxisPointer",n}return n(e,t),e.prototype.render=function(t,e){if(this.group.removeAll(),t.get("show")){var n=t.axis,i=n.polar,r=i.getRadiusAxis().getExtent(),o=n.getTicksCoords(),a=n.getMinorTicksCoords(),s=z(n.getViewLabels(),(function(t){t=T(t);var e=n.scale,i="ordinal"===e.type?e.getRawOrdinalNumber(t.tickValue):t.tickValue;return t.coord=n.dataToCoord(i),t}));RN(s),RN(o),E(LN,(function(e){!t.get([e,"show"])||n.scale.isBlank()&&"axisLine"!==e||EN[e](this.group,t,i,o,a,r,s)}),this)}},e.type="angleAxis",e}(iI),EN={axisLine:function(t,e,n,i,r,o){var a,s=e.getModel(["axisLine","lineStyle"]),l=ON(n),u=l?0:1;(a=0===o[u]?new gu({shape:{cx:n.cx,cy:n.cy,r:o[l]},style:s.getLineStyle(),z2:1,silent:!0}):new Ru({shape:{cx:n.cx,cy:n.cy,r:o[l],r0:o[u]},style:s.getLineStyle(),z2:1,silent:!0})).style.fill=null,t.add(a)},axisTick:function(t,e,n,i,r,o){var a=e.getModel("axisTick"),s=(a.get("inside")?-1:1)*a.get("length"),l=o[ON(n)],u=z(i,(function(t){return new Wu({shape:PN(n,[l,l+s],t.coord)})}));t.add(Ch(u,{style:k(a.getModel("lineStyle").getLineStyle(),{stroke:e.get(["axisLine","lineStyle","color"])})}))},minorTick:function(t,e,n,i,r,o){if(r.length){for(var a=e.getModel("axisTick"),s=e.getModel("minorTick"),l=(a.get("inside")?-1:1)*s.get("length"),u=o[ON(n)],h=[],c=0;cf?"left":"right",v=Math.abs(d[1]-g)/p<.3?"middle":d[1]>g?"top":"bottom";if(s&&s[c]){var m=s[c];q(m)&&m.textStyle&&(a=new xc(m.textStyle,l,l.ecModel))}var x=new Ns({silent:YM.isLabelSilent(e),style:$h(a,{x:d[0],y:d[1],fill:a.getTextColor()||e.get(["axisLine","lineStyle","color"]),text:i.formattedLabel,align:y,verticalAlign:v})});if(t.add(x),h){var _=YM.makeAxisEventDataBase(e);_.targetType="axisLabel",_.value=i.rawLabel,js(x).eventData=_}}),this)},splitLine:function(t,e,n,i,r,o){var a=e.getModel("splitLine").getModel("lineStyle"),s=a.get("color"),l=0;s=s instanceof Array?s:[s];for(var u=[],h=0;h=0?"p":"n",T=_;m&&(i[s][M]||(i[s][M]={p:_,n:_}),T=i[s][M][I]);var C=void 0,D=void 0,A=void 0,k=void 0;if("radius"===c.dim){var L=c.dataToCoord(S)-_,P=o.dataToCoord(M);Math.abs(L)=k})}}}))}var YN={startAngle:90,clockwise:!0,splitNumber:12,axisLabel:{rotate:0}},UN={splitNumber:5},XN=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.type="polar",e}(mg);function ZN(t,e){e=e||{};var n=t.coordinateSystem,i=t.axis,r={},o=i.position,a=i.orient,s=n.getRect(),l=[s.x,s.x+s.width,s.y,s.y+s.height],u={horizontal:{top:l[2],bottom:l[3]},vertical:{left:l[0],right:l[1]}};r.position=["vertical"===a?u.vertical[o]:l[0],"horizontal"===a?u.horizontal[o]:l[3]];r.rotation=Math.PI/2*{horizontal:0,vertical:1}[a];r.labelDirection=r.tickDirection=r.nameDirection={top:-1,bottom:1,right:1,left:-1}[o],t.get(["axisTick","inside"])&&(r.tickDirection=-r.tickDirection),it(e.labelInside,t.get(["axisLabel","inside"]))&&(r.labelDirection=-r.labelDirection);var h=e.rotate;return null==h&&(h=t.get(["axisLabel","rotate"])),r.labelRotation="top"===o?-h:h,r.z2=1,r}var jN=["axisLine","axisTickLabel","axisName"],qN=["splitArea","splitLine"],KN=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.axisPointerClass="SingleAxisPointer",n}return n(e,t),e.prototype.render=function(e,n,i,r){var o=this.group;o.removeAll();var a=this._axisGroup;this._axisGroup=new Pr;var s=ZN(e),l=new YM(e,s);E(jN,l.add,l),o.add(this._axisGroup),o.add(l.getGroup()),E(qN,(function(t){e.get([t,"show"])&&$N[t](this,this.group,this._axisGroup,e)}),this),Nh(a,this._axisGroup,e),t.prototype.render.call(this,e,n,i,r)},e.prototype.remove=function(){aI(this)},e.type="singleAxis",e}(iI),$N={splitLine:function(t,e,n,i){var r=i.axis;if(!r.scale.isBlank()){var o=i.getModel("splitLine"),a=o.getModel("lineStyle"),s=a.get("color");s=s instanceof Array?s:[s];for(var l=a.get("width"),u=i.coordinateSystem.getRect(),h=r.isHorizontal(),c=[],p=0,d=r.getTicksCoords({tickModel:o}),f=[],g=[],y=0;y=e.y&&t[1]<=e.y+e.height:n.contain(n.toLocalCoord(t[1]))&&t[0]>=e.y&&t[0]<=e.y+e.height},t.prototype.pointToData=function(t){var e=this.getAxis();return[e.coordToData(e.toLocalCoord(t["horizontal"===e.orient?0:1]))]},t.prototype.dataToPoint=function(t){var e=this.getAxis(),n=this.getRect(),i=[],r="horizontal"===e.orient?0:1;return t instanceof Array&&(t=t[0]),i[r]=e.toGlobalCoord(e.dataToCoord(+t)),i[1-r]=0===r?n.y+n.height/2:n.x+n.width/2,i},t.prototype.convertToPixel=function(t,e,n){return nE(e)===this?this.dataToPoint(n):null},t.prototype.convertFromPixel=function(t,e,n){return nE(e)===this?this.pointToData(n):null},t}();function nE(t){var e=t.seriesModel,n=t.singleAxisModel;return n&&n.coordinateSystem||e&&e.coordinateSystem}var iE={create:function(t,e){var n=[];return t.eachComponent("singleAxis",(function(i,r){var o=new eE(i,t,e);o.name="single_"+r,o.resize(i,e),i.coordinateSystem=o,n.push(o)})),t.eachSeries((function(t){if("singleAxis"===t.get("coordinateSystem")){var e=t.getReferringComponents("singleAxis",Po).models[0];t.coordinateSystem=e&&e.coordinateSystem}})),n},dimensions:tE},rE=["x","y"],oE=["width","height"],aE=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.makeElOption=function(t,e,n,i,r){var o=n.axis,a=o.coordinateSystem,s=uE(a,1-lE(o)),l=a.dataToPoint(e)[0],u=i.get("type");if(u&&"none"!==u){var h=GR(i),c=sE[u](o,l,s);c.style=h,t.graphicKey=c.type,t.pointer=c}UR(e,t,ZN(n),n,i,r)},e.prototype.getHandleTransform=function(t,e,n){var i=ZN(e,{labelInside:!1});i.labelMargin=n.get(["handle","margin"]);var r=YR(e.axis,t,i);return{x:r[0],y:r[1],rotation:i.rotation+(i.labelDirection<0?Math.PI:0)}},e.prototype.updateHandleTransform=function(t,e,n,i){var r=n.axis,o=r.coordinateSystem,a=lE(r),s=uE(o,a),l=[t.x,t.y];l[a]+=e[a],l[a]=Math.min(s[1],l[a]),l[a]=Math.max(s[0],l[a]);var u=uE(o,1-a),h=(u[1]+u[0])/2,c=[h,h];return c[a]=l[a],{x:l[0],y:l[1],rotation:t.rotation,cursorPoint:c,tooltipOption:{verticalAlign:"middle"}}},e}(NR),sE={line:function(t,e,n){return{type:"Line",subPixelOptimize:!0,shape:XR([e,n[0]],[e,n[1]],lE(t))}},shadow:function(t,e,n){var i=t.getBandWidth(),r=n[1]-n[0];return{type:"Rect",shape:ZR([e-i/2,n[0]],[i,r],lE(t))}}};function lE(t){return t.isHorizontal()?0:1}function uE(t,e){var n=t.getRect();return[n[rE[e]],n[rE[e]]+n[oE[e]]]}var hE=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.type="single",e}(mg);var cE=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.init=function(e,n,i){var r=Tp(e);t.prototype.init.apply(this,arguments),pE(e,r)},e.prototype.mergeOption=function(e){t.prototype.mergeOption.apply(this,arguments),pE(this.option,e)},e.prototype.getCellSize=function(){return this.option.cellSize},e.type="calendar",e.defaultOption={z:2,left:80,top:60,cellSize:20,orient:"horizontal",splitLine:{show:!0,lineStyle:{color:"#000",width:1,type:"solid"}},itemStyle:{color:"#fff",borderWidth:1,borderColor:"#ccc"},dayLabel:{show:!0,firstDay:0,position:"start",margin:"50%",color:"#000"},monthLabel:{show:!0,position:"start",margin:5,align:"center",formatter:null,color:"#000"},yearLabel:{show:!0,position:null,margin:30,formatter:null,color:"#ccc",fontFamily:"sans-serif",fontWeight:"bolder",fontSize:20}},e}(Ap);function pE(t,e){var n,i=t.cellSize;1===(n=Y(i)?i:t.cellSize=[i,i]).length&&(n[1]=n[0]);var r=z([0,1],(function(t){return function(t,e){return null!=t[xp[e][0]]||null!=t[xp[e][1]]&&null!=t[xp[e][2]]}(e,t)&&(n[t]="auto"),null!=n[t]&&"auto"!==n[t]}));Ip(t,e,{type:"box",ignoreSize:r})}var dE=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.render=function(t,e,n){var i=this.group;i.removeAll();var r=t.coordinateSystem,o=r.getRangeInfo(),a=r.getOrient(),s=e.getLocaleModel();this._renderDayRect(t,o,i),this._renderLines(t,o,a,i),this._renderYearText(t,o,a,i),this._renderMonthText(t,s,a,i),this._renderWeekText(t,s,o,a,i)},e.prototype._renderDayRect=function(t,e,n){for(var i=t.coordinateSystem,r=t.getModel("itemStyle").getItemStyle(),o=i.getCellWidth(),a=i.getCellHeight(),s=e.start.time;s<=e.end.time;s=i.getNextNDay(s,1).time){var l=i.dataToRect([s],!1).tl,u=new Ps({shape:{x:l[0],y:l[1],width:o,height:a},cursor:"default",style:r});n.add(u)}},e.prototype._renderLines=function(t,e,n,i){var r=this,o=t.coordinateSystem,a=t.getModel(["splitLine","lineStyle"]).getLineStyle(),s=t.get(["splitLine","show"]),l=a.lineWidth;this._tlpoints=[],this._blpoints=[],this._firstDayOfMonth=[],this._firstDayPoints=[];for(var u=e.start,h=0;u.time<=e.end.time;h++){p(u.formatedDate),0===h&&(u=o.getDateInfo(e.start.y+"-"+e.start.m));var c=u.date;c.setMonth(c.getMonth()+1),u=o.getDateInfo(c)}function p(e){r._firstDayOfMonth.push(o.getDateInfo(e)),r._firstDayPoints.push(o.dataToRect([e],!1).tl);var l=r._getLinePointsOfOneWeek(t,e,n);r._tlpoints.push(l[0]),r._blpoints.push(l[l.length-1]),s&&r._drawSplitline(l,a,i)}p(o.getNextNDay(e.end.time,1).formatedDate),s&&this._drawSplitline(r._getEdgesPoints(r._tlpoints,l,n),a,i),s&&this._drawSplitline(r._getEdgesPoints(r._blpoints,l,n),a,i)},e.prototype._getEdgesPoints=function(t,e,n){var i=[t[0].slice(),t[t.length-1].slice()],r="horizontal"===n?0:1;return i[0][r]=i[0][r]-e/2,i[1][r]=i[1][r]+e/2,i},e.prototype._drawSplitline=function(t,e,n){var i=new Bu({z2:20,shape:{points:t},style:e});n.add(i)},e.prototype._getLinePointsOfOneWeek=function(t,e,n){for(var i=t.coordinateSystem,r=i.getDateInfo(e),o=[],a=0;a<7;a++){var s=i.getNextNDay(r.time,a),l=i.dataToRect([s.time],!1);o[2*s.day]=l.tl,o[2*s.day+1]=l["horizontal"===n?"bl":"tr"]}return o},e.prototype._formatterLabel=function(t,e){return X(t)&&t?(n=t,E(e,(function(t,e){n=n.replace("{"+e+"}",i?ee(t):t)})),n):U(t)?t(e):e.nameMap;var n,i},e.prototype._yearTextPositionControl=function(t,e,n,i,r){var o=e[0],a=e[1],s=["center","bottom"];"bottom"===i?(a+=r,s=["center","top"]):"left"===i?o-=r:"right"===i?(o+=r,s=["center","top"]):a-=r;var l=0;return"left"!==i&&"right"!==i||(l=Math.PI/2),{rotation:l,x:o,y:a,style:{align:s[0],verticalAlign:s[1]}}},e.prototype._renderYearText=function(t,e,n,i){var r=t.getModel("yearLabel");if(r.get("show")){var o=r.get("margin"),a=r.get("position");a||(a="horizontal"!==n?"top":"left");var s=[this._tlpoints[this._tlpoints.length-1],this._blpoints[0]],l=(s[0][0]+s[1][0])/2,u=(s[0][1]+s[1][1])/2,h="horizontal"===n?0:1,c={top:[l,s[h][1]],bottom:[l,s[1-h][1]],left:[s[1-h][0],u],right:[s[h][0],u]},p=e.start.y;+e.end.y>+e.start.y&&(p=p+"-"+e.end.y);var d=r.get("formatter"),f={start:e.start.y,end:e.end.y,nameMap:p},g=this._formatterLabel(d,f),y=new Ns({z2:30,style:$h(r,{text:g})});y.attr(this._yearTextPositionControl(y,c[a],n,a,o)),i.add(y)}},e.prototype._monthTextPositionControl=function(t,e,n,i,r){var o="left",a="top",s=t[0],l=t[1];return"horizontal"===n?(l+=r,e&&(o="center"),"start"===i&&(a="bottom")):(s+=r,e&&(a="middle"),"start"===i&&(o="right")),{x:s,y:l,align:o,verticalAlign:a}},e.prototype._renderMonthText=function(t,e,n,i){var r=t.getModel("monthLabel");if(r.get("show")){var o=r.get("nameMap"),a=r.get("margin"),s=r.get("position"),l=r.get("align"),u=[this._tlpoints,this._blpoints];o&&!X(o)||(o&&(e=kc(o)||e),o=e.get(["time","monthAbbr"])||[]);var h="start"===s?0:1,c="horizontal"===n?0:1;a="start"===s?-a:a;for(var p="center"===l,d=0;d=i.start.time&&n.timea.end.time&&t.reverse(),t},t.prototype._getRangeInfo=function(t){var e,n=[this.getDateInfo(t[0]),this.getDateInfo(t[1])];n[0].time>n[1].time&&(e=!0,n.reverse());var i=Math.floor(n[1].time/fE)-Math.floor(n[0].time/fE)+1,r=new Date(n[0].time),o=r.getDate(),a=n[1].date.getDate();r.setDate(o+i-1);var s=r.getDate();if(s!==a)for(var l=r.getTime()-n[1].time>0?1:-1;(s=r.getDate())!==a&&(r.getTime()-n[1].time)*l>0;)i-=l,r.setDate(s-l);var u=Math.floor((i+n[0].day+6)/7),h=e?1-u:u-1;return e&&n.reverse(),{range:[n[0].formatedDate,n[1].formatedDate],start:n[0],end:n[1],allDay:i,weeks:u,nthWeek:h,fweek:n[0].day,lweek:n[1].day}},t.prototype._getDateByWeeksAndDay=function(t,e,n){var i=this._getRangeInfo(n);if(t>i.weeks||0===t&&ei.lweek)return null;var r=7*(t-1)-i.fweek+e,o=new Date(i.start.time);return o.setDate(+i.start.d+r),this.getDateInfo(o)},t.create=function(e,n){var i=[];return e.eachComponent("calendar",(function(r){var o=new t(r,e,n);i.push(o),r.coordinateSystem=o})),e.eachSeries((function(t){"calendar"===t.get("coordinateSystem")&&(t.coordinateSystem=i[t.get("calendarIndex")||0])})),i},t.dimensions=["time","value"],t}();function yE(t){var e=t.calendarModel,n=t.seriesModel;return e?e.coordinateSystem:n?n.coordinateSystem:null}function vE(t,e){var n;return E(e,(function(e){null!=t[e]&&"auto"!==t[e]&&(n=!0)})),n}var mE=["transition","enterFrom","leaveTo"],xE=mE.concat(["enterAnimation","updateAnimation","leaveAnimation"]);function _E(t,e,n){if(n&&(!t[n]&&e[n]&&(t[n]={}),t=t[n],e=e[n]),t&&e)for(var i=n?mE:xE,r=0;r=0;l--){var p,d,f;if(f=null!=(d=Mo((p=n[l]).id,null))?r.get(d):null){var g=f.parent,y=(c=SE(g),{}),v=Sp(f,p,g===i?{width:o,height:a}:{width:c.width,height:c.height},null,{hv:p.hv,boundingMode:p.bounding},y);if(!SE(f).isNew&&v){for(var m=p.transition,x={},_=0;_=0)?x[b]=w:f[b]=w}uh(f,x,t,0)}else f.attr(y)}}},e.prototype._clear=function(){var t=this,e=this._elMap;e.each((function(n){CE(n,SE(n).option,e,t._lastGraphicModel)})),this._elMap=ft()},e.prototype.dispose=function(){this._clear()},e.type="graphic",e}(mg);function IE(t){var e=mt(wE,t)?wE[t]:Sh(t);var n=new e({});return SE(n).type=t,n}function TE(t,e,n,i){var r=IE(n);return e.add(r),i.set(t,r),SE(r).id=t,SE(r).isNew=!0,r}function CE(t,e,n,i){t&&t.parent&&("group"===t.type&&t.traverse((function(t){CE(t,e,n,i)})),YO(t,e,i),n.removeKey(SE(t).id))}function DE(t,e,n,i){t.isGroup||E([["cursor",ma.prototype.cursor],["zlevel",i||0],["z",n||0],["z2",0]],(function(n){var i=n[0];mt(e,i)?t[i]=rt(e[i],n[1]):null==t[i]&&(t[i]=n[1])})),E(G(e),(function(n){if(0===n.indexOf("on")){var i=e[n];t[n]=U(i)?i:null}})),mt(e,"draggable")&&(t.draggable=e.draggable),null!=e.name&&(t.name=e.name),null!=e.id&&(t.id=e.id)}var AE=["x","y","radius","angle","single"],kE=["cartesian2d","polar","singleAxis"];function LE(t){return t+"Axis"}function PE(t,e){var n,i=ft(),r=[],o=ft();t.eachComponent({mainType:"dataZoom",query:e},(function(t){o.get(t.uid)||s(t)}));do{n=!1,t.eachComponent("dataZoom",a)}while(n);function a(t){!o.get(t.uid)&&function(t){var e=!1;return t.eachTargetAxis((function(t,n){var r=i.get(t);r&&r[n]&&(e=!0)})),e}(t)&&(s(t),n=!0)}function s(t){o.set(t.uid,!0),r.push(t),t.eachTargetAxis((function(t,e){(i.get(t)||i.set(t,[]))[e]=!0}))}return r}function OE(t){var e=t.ecModel,n={infoList:[],infoMap:ft()};return t.eachTargetAxis((function(t,i){var r=e.getComponent(LE(t),i);if(r){var o=r.getCoordSysModel();if(o){var a=o.uid,s=n.infoMap.get(a);s||(s={model:o,axisModels:[]},n.infoList.push(s),n.infoMap.set(a,s)),s.axisModels.push(r)}}})),n}var RE=function(){function t(){this.indexList=[],this.indexMap=[]}return t.prototype.add=function(t){this.indexMap[t]||(this.indexList.push(t),this.indexMap[t]=!0)},t}(),NE=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n._autoThrottle=!0,n._noTarget=!0,n._rangePropMode=["percent","percent"],n}return n(e,t),e.prototype.init=function(t,e,n){var i=EE(t);this.settledOption=i,this.mergeDefaultAndTheme(t,n),this._doInit(i)},e.prototype.mergeOption=function(t){var e=EE(t);C(this.option,t,!0),C(this.settledOption,e,!0),this._doInit(e)},e.prototype._doInit=function(t){var e=this.option;this._setDefaultThrottle(t),this._updateRangeUse(t);var n=this.settledOption;E([["start","startValue"],["end","endValue"]],(function(t,i){"value"===this._rangePropMode[i]&&(e[t[0]]=n[t[0]]=null)}),this),this._resetTarget()},e.prototype._resetTarget=function(){var t=this.get("orient",!0),e=this._targetAxisInfoMap=ft();this._fillSpecifiedTargetAxis(e)?this._orient=t||this._makeAutoOrientByTargetAxis():(this._orient=t||"horizontal",this._fillAutoTargetAxisByOrient(e,this._orient)),this._noTarget=!0,e.each((function(t){t.indexList.length&&(this._noTarget=!1)}),this)},e.prototype._fillSpecifiedTargetAxis=function(t){var e=!1;return E(AE,(function(n){var i=this.getReferringComponents(LE(n),Oo);if(i.specified){e=!0;var r=new RE;E(i.models,(function(t){r.add(t.componentIndex)})),t.set(n,r)}}),this),e},e.prototype._fillAutoTargetAxisByOrient=function(t,e){var n=this.ecModel,i=!0;if(i){var r="vertical"===e?"y":"x";o(n.findComponents({mainType:r+"Axis"}),r)}i&&o(n.findComponents({mainType:"singleAxis",filter:function(t){return t.get("orient",!0)===e}}),"single");function o(e,n){var r=e[0];if(r){var o=new RE;if(o.add(r.componentIndex),t.set(n,o),i=!1,"x"===n||"y"===n){var a=r.getReferringComponents("grid",Po).models[0];a&&E(e,(function(t){r.componentIndex!==t.componentIndex&&a===t.getReferringComponents("grid",Po).models[0]&&o.add(t.componentIndex)}))}}}i&&E(AE,(function(e){if(i){var r=n.findComponents({mainType:LE(e),filter:function(t){return"category"===t.get("type",!0)}});if(r[0]){var o=new RE;o.add(r[0].componentIndex),t.set(e,o),i=!1}}}),this)},e.prototype._makeAutoOrientByTargetAxis=function(){var t;return this.eachTargetAxis((function(e){!t&&(t=e)}),this),"y"===t?"vertical":"horizontal"},e.prototype._setDefaultThrottle=function(t){if(t.hasOwnProperty("throttle")&&(this._autoThrottle=!1),this._autoThrottle){var e=this.ecModel.option;this.option.throttle=e.animation&&e.animationDurationUpdate>0?100:20}},e.prototype._updateRangeUse=function(t){var e=this._rangePropMode,n=this.get("rangeMode");E([["start","startValue"],["end","endValue"]],(function(i,r){var o=null!=t[i[0]],a=null!=t[i[1]];o&&!a?e[r]="percent":!o&&a?e[r]="value":n?e[r]=n[r]:o&&(e[r]="percent")}))},e.prototype.noTarget=function(){return this._noTarget},e.prototype.getFirstTargetAxisModel=function(){var t;return this.eachTargetAxis((function(e,n){null==t&&(t=this.ecModel.getComponent(LE(e),n))}),this),t},e.prototype.eachTargetAxis=function(t,e){this._targetAxisInfoMap.each((function(n,i){E(n.indexList,(function(n){t.call(e,i,n)}))}))},e.prototype.getAxisProxy=function(t,e){var n=this.getAxisModel(t,e);if(n)return n.__dzAxisProxy},e.prototype.getAxisModel=function(t,e){var n=this._targetAxisInfoMap.get(t);if(n&&n.indexMap[e])return this.ecModel.getComponent(LE(t),e)},e.prototype.setRawRange=function(t){var e=this.option,n=this.settledOption;E([["start","startValue"],["end","endValue"]],(function(i){null==t[i[0]]&&null==t[i[1]]||(e[i[0]]=n[i[0]]=t[i[0]],e[i[1]]=n[i[1]]=t[i[1]])}),this),this._updateRangeUse(t)},e.prototype.setCalculatedRange=function(t){var e=this.option;E(["start","startValue","end","endValue"],(function(n){e[n]=t[n]}))},e.prototype.getPercentRange=function(){var t=this.findRepresentativeAxisProxy();if(t)return t.getDataPercentWindow()},e.prototype.getValueRange=function(t,e){if(null!=t||null!=e)return this.getAxisProxy(t,e).getDataValueWindow();var n=this.findRepresentativeAxisProxy();return n?n.getDataValueWindow():void 0},e.prototype.findRepresentativeAxisProxy=function(t){if(t)return t.__dzAxisProxy;for(var e,n=this._targetAxisInfoMap.keys(),i=0;i=0}(e)){var n=LE(this._dimName),i=e.getReferringComponents(n,Po).models[0];i&&this._axisIndex===i.componentIndex&&t.push(e)}}),this),t},t.prototype.getAxisModel=function(){return this.ecModel.getComponent(this._dimName+"Axis",this._axisIndex)},t.prototype.getMinMaxSpan=function(){return T(this._minMaxSpan)},t.prototype.calculateDataWindow=function(t){var e,n=this._dataExtent,i=this.getAxisModel().axis.scale,r=this._dataZoomModel.getRangePropMode(),o=[0,100],a=[],s=[];FE(["start","end"],(function(l,u){var h=t[l],c=t[l+"Value"];"percent"===r[u]?(null==h&&(h=o[u]),c=i.parse(Fr(h,o,n))):(e=!0,h=Fr(c=null==c?n[u]:i.parse(c),n,o)),s[u]=c,a[u]=h})),GE(s),GE(a);var l=this._minMaxSpan;function u(t,e,n,r,o){var a=o?"Span":"ValueSpan";dk(0,t,n,"all",l["min"+a],l["max"+a]);for(var s=0;s<2;s++)e[s]=Fr(t[s],n,r,!0),o&&(e[s]=i.parse(e[s]))}return e?u(s,a,n,o,!1):u(a,s,o,n,!0),{valueWindow:s,percentWindow:a}},t.prototype.reset=function(t){if(t===this._dataZoomModel){var e=this.getTargetSeriesModels();this._dataExtent=function(t,e,n){var i=[1/0,-1/0];FE(n,(function(t){!function(t,e,n){e&&E(f_(e,n),(function(n){var i=e.getApproximateExtent(n);i[0]t[1]&&(t[1]=i[1])}))}(i,t.getData(),e)}));var r=t.getAxisModel(),o=r_(r.axis.scale,r,i).calculate();return[o.min,o.max]}(this,this._dimName,e),this._updateMinMaxSpan();var n=this.calculateDataWindow(t.settledOption);this._valueWindow=n.valueWindow,this._percentWindow=n.percentWindow,this._setAxisModel()}},t.prototype.filterData=function(t,e){if(t===this._dataZoomModel){var n=this._dimName,i=this.getTargetSeriesModels(),r=t.get("filterMode"),o=this._valueWindow;"none"!==r&&FE(i,(function(t){var e=t.getData(),i=e.mapDimensionsAll(n);if(i.length){if("weakFilter"===r){var a=e.getStore(),s=z(i,(function(t){return e.getDimensionIndex(t)}),e);e.filterSelf((function(t){for(var e,n,r,l=0;lo[1];if(h&&!c&&!p)return!0;h&&(r=!0),c&&(e=!0),p&&(n=!0)}return r&&e&&n}))}else FE(i,(function(n){if("empty"===r)t.setData(e=e.map(n,(function(t){return function(t){return t>=o[0]&&t<=o[1]}(t)?t:NaN})));else{var i={};i[n]=o,e.selectRange(i)}}));FE(i,(function(t){e.setApproximateExtent(o,t)}))}}))}},t.prototype._updateMinMaxSpan=function(){var t=this._minMaxSpan={},e=this._dataZoomModel,n=this._dataExtent;FE(["min","max"],(function(i){var r=e.get(i+"Span"),o=e.get(i+"ValueSpan");null!=o&&(o=this.getAxisModel().axis.scale.parse(o)),null!=o?r=Fr(n[0]+o,n,[0,100],!0):null!=r&&(o=Fr(r,[0,100],n,!0)-n[0]),t[i+"Span"]=r,t[i+"ValueSpan"]=o}),this)},t.prototype._setAxisModel=function(){var t=this.getAxisModel(),e=this._percentWindow,n=this._valueWindow;if(e){var i=Xr(n,[0,500]);i=Math.min(i,20);var r=t.axis.scale.rawExtentInfo;0!==e[0]&&r.setDeterminedMinMax("min",+n[0].toFixed(i)),100!==e[1]&&r.setDeterminedMinMax("max",+n[1].toFixed(i)),r.freeze()}},t}();var HE={getTargetSeries:function(t){function e(e){t.eachComponent("dataZoom",(function(n){n.eachTargetAxis((function(i,r){var o=t.getComponent(LE(i),r);e(i,r,o,n)}))}))}e((function(t,e,n,i){n.__dzAxisProxy=null}));var n=[];e((function(e,i,r,o){r.__dzAxisProxy||(r.__dzAxisProxy=new WE(e,i,o,t),n.push(r.__dzAxisProxy))}));var i=ft();return E(n,(function(t){E(t.getTargetSeriesModels(),(function(t){i.set(t.uid,t)}))})),i},overallReset:function(t,e){t.eachComponent("dataZoom",(function(t){t.eachTargetAxis((function(e,n){t.getAxisProxy(e,n).reset(t)})),t.eachTargetAxis((function(n,i){t.getAxisProxy(n,i).filterData(t,e)}))})),t.eachComponent("dataZoom",(function(t){var e=t.findRepresentativeAxisProxy();if(e){var n=e.getDataPercentWindow(),i=e.getDataValueWindow();t.setCalculatedRange({start:n[0],end:n[1],startValue:i[0],endValue:i[1]})}}))}};var YE=!1;function UE(t){YE||(YE=!0,t.registerProcessor(t.PRIORITY.PROCESSOR.FILTER,HE),function(t){t.registerAction("dataZoom",(function(t,e){E(PE(e,t),(function(e){e.setRawRange({start:t.start,end:t.end,startValue:t.startValue,endValue:t.endValue})}))}))}(t),t.registerSubTypeDefaulter("dataZoom",(function(){return"slider"})))}function XE(t){t.registerComponentModel(zE),t.registerComponentView(BE),UE(t)}var ZE=function(){},jE={};function qE(t,e){jE[t]=e}function KE(t){return jE[t]}var $E=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.optionUpdated=function(){t.prototype.optionUpdated.apply(this,arguments);var e=this.ecModel;E(this.option.feature,(function(t,n){var i=KE(n);i&&(i.getDefaultOption&&(i.defaultOption=i.getDefaultOption(e)),C(t,i.defaultOption))}))},e.type="toolbox",e.layoutMode={type:"box",ignoreSize:!0},e.defaultOption={show:!0,z:6,orient:"horizontal",left:"right",top:"top",backgroundColor:"transparent",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemSize:15,itemGap:8,showTitle:!0,iconStyle:{borderColor:"#666",color:"none"},emphasis:{iconStyle:{borderColor:"#3E98C5"}},tooltip:{show:!1,position:"bottom"}},e}(Ap);function JE(t,e){var n=up(e.get("padding")),i=e.getItemStyle(["color","opacity"]);return i.fill=e.get("backgroundColor"),t=new Ps({shape:{x:t.x-n[3],y:t.y-n[0],width:t.width+n[1]+n[3],height:t.height+n[0]+n[2],r:e.get("borderRadius")},style:i,silent:!0,z2:-1})}var QE=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.render=function(t,e,n,i){var r=this.group;if(r.removeAll(),t.get("show")){var o=+t.get("itemSize"),a="vertical"===t.get("orient"),s=t.get("feature")||{},l=this._features||(this._features={}),u=[];E(s,(function(t,e){u.push(e)})),new Dm(this._featureNames||[],u).add(h).update(h).remove(H(h,null)).execute(),this._featureNames=u,function(t,e,n){var i=e.getBoxLayoutParams(),r=e.get("padding"),o={width:n.getWidth(),height:n.getHeight()},a=wp(i,o,r);bp(e.get("orient"),t,e.get("itemGap"),a.width,a.height),Sp(t,i,o,r)}(r,t,n),r.add(JE(r.getBoundingRect(),t)),a||r.eachChild((function(t){var e=t.__title,i=t.ensureState("emphasis"),a=i.textConfig||(i.textConfig={}),s=t.getTextContent(),l=s&&s.ensureState("emphasis");if(l&&!U(l)&&e){var u=l.style||(l.style={}),h=yr(e,Ns.makeFont(u)),c=t.x+r.x,p=!1;t.y+r.y+o+h.height>n.getHeight()&&(a.position="top",p=!0);var d=p?-5-h.height:o+10;c+h.width/2>n.getWidth()?(a.position=["100%",d],u.align="right"):c-h.width/2<0&&(a.position=[0,d],u.align="left")}}))}function h(h,c){var p,d=u[h],f=u[c],g=s[d],y=new xc(g,t,t.ecModel);if(i&&null!=i.newTitle&&i.featureName===d&&(g.title=i.newTitle),d&&!f){if(function(t){return 0===t.indexOf("my")}(d))p={onclick:y.option.onclick,featureName:d};else{var v=KE(d);if(!v)return;p=new v}l[d]=p}else if(!(p=l[f]))return;p.uid=bc("toolbox-feature"),p.model=y,p.ecModel=e,p.api=n;var m=p instanceof ZE;d||!f?!y.get("show")||m&&p.unusable?m&&p.remove&&p.remove(e,n):(!function(i,s,l){var u,h,c=i.getModel("iconStyle"),p=i.getModel(["emphasis","iconStyle"]),d=s instanceof ZE&&s.getIcons?s.getIcons():i.get("icon"),f=i.get("title")||{};X(d)?(u={})[l]=d:u=d;X(f)?(h={})[l]=f:h=f;var g=i.iconPaths={};E(u,(function(l,u){var d=Vh(l,{},{x:-o/2,y:-o/2,width:o,height:o});d.setStyle(c.getItemStyle()),d.ensureState("emphasis").style=p.getItemStyle();var f=new Ns({style:{text:h[u],align:p.get("textAlign"),borderRadius:p.get("textBorderRadius"),padding:p.get("textPadding"),fill:null},ignore:!0});d.setTextContent(f),Wh({el:d,componentModel:t,itemName:u,formatterParamsExtra:{title:h[u]}}),d.__title=h[u],d.on("mouseover",(function(){var e=p.getItemStyle(),i=a?null==t.get("right")&&"right"!==t.get("left")?"right":"left":null==t.get("bottom")&&"bottom"!==t.get("top")?"bottom":"top";f.setStyle({fill:p.get("textFill")||e.fill||e.stroke||"#000",backgroundColor:p.get("textBackgroundColor")}),d.setTextConfig({position:p.get("textPosition")||i}),f.ignore=!t.get("showTitle"),n.enterEmphasis(this)})).on("mouseout",(function(){"emphasis"!==i.get(["iconStatus",u])&&n.leaveEmphasis(this),f.hide()})),("emphasis"===i.get(["iconStatus",u])?Il:Tl)(d),r.add(d),d.on("click",W(s.onclick,s,e,n,u)),g[u]=d}))}(y,p,d),y.setIconStatus=function(t,e){var n=this.option,i=this.iconPaths;n.iconStatus=n.iconStatus||{},n.iconStatus[t]=e,i[t]&&("emphasis"===e?Il:Tl)(i[t])},p instanceof ZE&&p.render&&p.render(y,e,n,i)):m&&p.dispose&&p.dispose(e,n)}},e.prototype.updateView=function(t,e,n,i){E(this._features,(function(t){t instanceof ZE&&t.updateView&&t.updateView(t.model,e,n,i)}))},e.prototype.remove=function(t,e){E(this._features,(function(n){n instanceof ZE&&n.remove&&n.remove(t,e)})),this.group.removeAll()},e.prototype.dispose=function(t,e){E(this._features,(function(n){n instanceof ZE&&n.dispose&&n.dispose(t,e)}))},e.type="toolbox",e}(mg);var tz=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.onclick=function(t,e){var n=this.model,i=n.get("name")||t.get("title.0.text")||"echarts",o="svg"===e.getZr().painter.getType(),a=o?"svg":n.get("type",!0)||"png",s=e.getConnectedDataURL({type:a,backgroundColor:n.get("backgroundColor",!0)||t.get("backgroundColor")||"#fff",connectedBackgroundColor:n.get("connectedBackgroundColor"),excludeComponents:n.get("excludeComponents"),pixelRatio:n.get("pixelRatio")}),l=r.browser;if(U(MouseEvent)&&(l.newEdge||!l.ie&&!l.edge)){var u=document.createElement("a");u.download=i+"."+a,u.target="_blank",u.href=s;var h=new MouseEvent("click",{view:document.defaultView,bubbles:!0,cancelable:!1});u.dispatchEvent(h)}else if(window.navigator.msSaveOrOpenBlob||o){var c=s.split(","),p=c[0].indexOf("base64")>-1,d=o?decodeURIComponent(c[1]):c[1];p&&(d=window.atob(d));var f=i+"."+a;if(window.navigator.msSaveOrOpenBlob){for(var g=d.length,y=new Uint8Array(g);g--;)y[g]=d.charCodeAt(g);var v=new Blob([y]);window.navigator.msSaveOrOpenBlob(v,f)}else{var m=document.createElement("iframe");document.body.appendChild(m);var x=m.contentWindow,_=x.document;_.open("image/svg+xml","replace"),_.write(d),_.close(),x.focus(),_.execCommand("SaveAs",!0,f),document.body.removeChild(m)}}else{var b=n.get("lang"),w='',S=window.open();S.document.write(w),S.document.title=i}},e.getDefaultOption=function(t){return{show:!0,icon:"M4.7,22.9L29.3,45.5L54.7,23.4M4.6,43.6L4.6,58L53.8,58L53.8,43.6M29.2,45.1L29.2,0",title:t.getLocaleModel().get(["toolbox","saveAsImage","title"]),type:"png",connectedBackgroundColor:"#fff",name:"",excludeComponents:["toolbox"],lang:t.getLocaleModel().get(["toolbox","saveAsImage","lang"])}},e}(ZE),ez="__ec_magicType_stack__",nz=[["line","bar"],["stack"]],iz=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.getIcons=function(){var t=this.model,e=t.get("icon"),n={};return E(t.get("type"),(function(t){e[t]&&(n[t]=e[t])})),n},e.getDefaultOption=function(t){return{show:!0,type:[],icon:{line:"M4.1,28.9h7.1l9.3-22l7.4,38l9.7-19.7l3,12.8h14.9M4.1,58h51.4",bar:"M6.7,22.9h10V48h-10V22.9zM24.9,13h10v35h-10V13zM43.2,2h10v46h-10V2zM3.1,58h53.7",stack:"M8.2,38.4l-8.4,4.1l30.6,15.3L60,42.5l-8.1-4.1l-21.5,11L8.2,38.4z M51.9,30l-8.1,4.2l-13.4,6.9l-13.9-6.9L8.2,30l-8.4,4.2l8.4,4.2l22.2,11l21.5-11l8.1-4.2L51.9,30z M51.9,21.7l-8.1,4.2L35.7,30l-5.3,2.8L24.9,30l-8.4-4.1l-8.3-4.2l-8.4,4.2L8.2,30l8.3,4.2l13.9,6.9l13.4-6.9l8.1-4.2l8.1-4.1L51.9,21.7zM30.4,2.2L-0.2,17.5l8.4,4.1l8.3,4.2l8.4,4.2l5.5,2.7l5.3-2.7l8.1-4.2l8.1-4.2l8.1-4.1L30.4,2.2z"},title:t.getLocaleModel().get(["toolbox","magicType","title"]),option:{},seriesIndex:{}}},e.prototype.onclick=function(t,e,n){var i=this.model,r=i.get(["seriesIndex",n]);if(rz[n]){var o,a={series:[]};E(nz,(function(t){P(t,n)>=0&&E(t,(function(t){i.setIconStatus(t,"normal")}))})),i.setIconStatus(n,"emphasis"),t.eachComponent({mainType:"series",query:null==r?null:{seriesIndex:r}},(function(t){var e=t.subType,r=t.id,o=rz[n](e,r,t,i);o&&(k(o,t.option),a.series.push(o));var s=t.coordinateSystem;if(s&&"cartesian2d"===s.type&&("line"===n||"bar"===n)){var l=s.getAxesByScale("ordinal")[0];if(l){var u=l.dim+"Axis",h=t.getReferringComponents(u,Po).models[0].componentIndex;a[u]=a[u]||[];for(var c=0;c<=h;c++)a[u][h]=a[u][h]||{};a[u][h].boundaryGap="bar"===n}}}));var s=n;"stack"===n&&(o=C({stack:i.option.title.tiled,tiled:i.option.title.stack},i.option.title),"emphasis"!==i.get(["iconStatus",n])&&(s="tiled")),e.dispatchAction({type:"changeMagicType",currentType:s,newOption:a,newTitle:o,featureName:"magicType"})}},e}(ZE),rz={line:function(t,e,n,i){if("bar"===t)return C({id:e,type:"line",data:n.get("data"),stack:n.get("stack"),markPoint:n.get("markPoint"),markLine:n.get("markLine")},i.get(["option","line"])||{},!0)},bar:function(t,e,n,i){if("line"===t)return C({id:e,type:"bar",data:n.get("data"),stack:n.get("stack"),markPoint:n.get("markPoint"),markLine:n.get("markLine")},i.get(["option","bar"])||{},!0)},stack:function(t,e,n,i){var r=n.get("stack")===ez;if("line"===t||"bar"===t)return i.setIconStatus("stack",r?"normal":"emphasis"),C({id:e,stack:r?"":ez},i.get(["option","stack"])||{},!0)}};fm({type:"changeMagicType",event:"magicTypeChanged",update:"prepareAndUpdate"},(function(t,e){e.mergeOption(t.newOption)}));var oz=new Array(60).join("-"),az="\t";function sz(t){return t.replace(/^\s\s*/,"").replace(/\s\s*$/,"")}var lz=new RegExp("[\t]+","g");function uz(t,e){var n=t.split(new RegExp("\n*"+oz+"\n*","g")),i={series:[]};return E(n,(function(t,n){if(function(t){if(t.slice(0,t.indexOf("\n")).indexOf(az)>=0)return!0}(t)){var r=function(t){for(var e=t.split(/\n+/g),n=[],i=z(sz(e.shift()).split(lz),(function(t){return{name:t,data:[]}})),r=0;r=0)&&t(r,i._targetInfoList)}))}return t.prototype.setOutputRanges=function(t,e){return this.matchOutputRanges(t,e,(function(t,e,n){if((t.coordRanges||(t.coordRanges=[])).push(e),!t.coordRange){t.coordRange=e;var i=Sz[t.brushType](0,n,e);t.__rangeOffset={offset:Iz[t.brushType](i.values,t.range,[1,1]),xyMinMax:i.xyMinMax}}})),t},t.prototype.matchOutputRanges=function(t,e,n){E(t,(function(t){var i=this.findTargetInfo(t,e);i&&!0!==i&&E(i.coordSyses,(function(i){var r=Sz[t.brushType](1,i,t.range,!0);n(t,r.values,i,e)}))}),this)},t.prototype.setInputRanges=function(t,e){E(t,(function(t){var n,i,r,o,a,s=this.findTargetInfo(t,e);if(t.range=t.range||[],s&&!0!==s){t.panelId=s.panelId;var l=Sz[t.brushType](0,s.coordSys,t.coordRange),u=t.__rangeOffset;t.range=u?Iz[t.brushType](l.values,u.offset,(n=l.xyMinMax,i=u.xyMinMax,r=Cz(n),o=Cz(i),a=[r[0]/o[0],r[1]/o[1]],isNaN(a[0])&&(a[0]=1),isNaN(a[1])&&(a[1]=1),a)):l.values}}),this)},t.prototype.makePanelOpts=function(t,e){return z(this._targetInfoList,(function(n){var i=n.getPanelRect();return{panelId:n.panelId,defaultBrushType:e?e(n):null,clipPath:gL(i),isTargetByCursor:vL(i,t,n.coordSysModel),getLinearBrushOtherExtent:yL(i)}}))},t.prototype.controlSeries=function(t,e,n){var i=this.findTargetInfo(t,n);return!0===i||i&&P(i.coordSyses,e.coordinateSystem)>=0},t.prototype.findTargetInfo=function(t,e){for(var n=this._targetInfoList,i=xz(e,t),r=0;rt[1]&&t.reverse(),t}function xz(t,e){return ko(t,e,{includeMainTypes:yz})}var _z={grid:function(t,e){var n=t.xAxisModels,i=t.yAxisModels,r=t.gridModels,o=ft(),a={},s={};(n||i||r)&&(E(n,(function(t){var e=t.axis.grid.model;o.set(e.id,e),a[e.id]=!0})),E(i,(function(t){var e=t.axis.grid.model;o.set(e.id,e),s[e.id]=!0})),E(r,(function(t){o.set(t.id,t),a[t.id]=!0,s[t.id]=!0})),o.each((function(t){var r=t.coordinateSystem,o=[];E(r.getCartesians(),(function(t,e){(P(n,t.getAxis("x").model)>=0||P(i,t.getAxis("y").model)>=0)&&o.push(t)})),e.push({panelId:"grid--"+t.id,gridModel:t,coordSysModel:t,coordSys:o[0],coordSyses:o,getPanelRect:wz.grid,xAxisDeclared:a[t.id],yAxisDeclared:s[t.id]})})))},geo:function(t,e){E(t.geoModels,(function(t){var n=t.coordinateSystem;e.push({panelId:"geo--"+t.id,geoModel:t,coordSysModel:t,coordSys:n,coordSyses:[n],getPanelRect:wz.geo})}))}},bz=[function(t,e){var n=t.xAxisModel,i=t.yAxisModel,r=t.gridModel;return!r&&n&&(r=n.axis.grid.model),!r&&i&&(r=i.axis.grid.model),r&&r===e.gridModel},function(t,e){var n=t.geoModel;return n&&n===e.geoModel}],wz={grid:function(){return this.coordSys.master.getRect().clone()},geo:function(){var t=this.coordSys,e=t.getBoundingRect().clone();return e.applyTransform(Lh(t)),e}},Sz={lineX:H(Mz,0),lineY:H(Mz,1),rect:function(t,e,n,i){var r=t?e.pointToData([n[0][0],n[1][0]],i):e.dataToPoint([n[0][0],n[1][0]],i),o=t?e.pointToData([n[0][1],n[1][1]],i):e.dataToPoint([n[0][1],n[1][1]],i),a=[mz([r[0],o[0]]),mz([r[1],o[1]])];return{values:a,xyMinMax:a}},polygon:function(t,e,n,i){var r=[[1/0,-1/0],[1/0,-1/0]];return{values:z(n,(function(n){var o=t?e.pointToData(n,i):e.dataToPoint(n,i);return r[0][0]=Math.min(r[0][0],o[0]),r[1][0]=Math.min(r[1][0],o[1]),r[0][1]=Math.max(r[0][1],o[0]),r[1][1]=Math.max(r[1][1],o[1]),o})),xyMinMax:r}}};function Mz(t,e,n,i){var r=n.getAxis(["x","y"][t]),o=mz(z([0,1],(function(t){return e?r.coordToData(r.toLocalCoord(i[t]),!0):r.toGlobalCoord(r.dataToCoord(i[t]))}))),a=[];return a[t]=o,a[1-t]=[NaN,NaN],{values:o,xyMinMax:a}}var Iz={lineX:H(Tz,0),lineY:H(Tz,1),rect:function(t,e,n){return[[t[0][0]-n[0]*e[0][0],t[0][1]-n[0]*e[0][1]],[t[1][0]-n[1]*e[1][0],t[1][1]-n[1]*e[1][1]]]},polygon:function(t,e,n){return z(t,(function(t,i){return[t[0]-n[0]*e[i][0],t[1]-n[1]*e[i][1]]}))}};function Tz(t,e,n,i){return[e[0]-i[t]*n[0],e[1]-i[t]*n[1]]}function Cz(t){return t?[t[0][1]-t[0][0],t[1][1]-t[1][0]]:[NaN,NaN]}var Dz,Az,kz=E,Lz=go+"toolbox-dataZoom_",Pz=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.render=function(t,e,n,i){this._brushController||(this._brushController=new Vk(n.getZr()),this._brushController.on("brush",W(this._onBrush,this)).mount()),function(t,e,n,i,r){var o=n._isZoomActive;i&&"takeGlobalCursor"===i.type&&(o="dataZoomSelect"===i.key&&i.dataZoomSelectActive);n._isZoomActive=o,t.setIconStatus("zoom",o?"emphasis":"normal");var a=new vz(Rz(t),e,{include:["grid"]}).makePanelOpts(r,(function(t){return t.xAxisDeclared&&!t.yAxisDeclared?"lineX":!t.xAxisDeclared&&t.yAxisDeclared?"lineY":"rect"}));n._brushController.setPanels(a).enableBrush(!(!o||!a.length)&&{brushType:"auto",brushStyle:t.getModel("brushStyle").getItemStyle()})}(t,e,this,i,n),function(t,e){t.setIconStatus("back",function(t){return fz(t).length}(e)>1?"emphasis":"normal")}(t,e)},e.prototype.onclick=function(t,e,n){Oz[n].call(this)},e.prototype.remove=function(t,e){this._brushController&&this._brushController.unmount()},e.prototype.dispose=function(t,e){this._brushController&&this._brushController.dispose()},e.prototype._onBrush=function(t){var e=t.areas;if(t.isEnd&&e.length){var n={},i=this.ecModel;this._brushController.updateCovers([]),new vz(Rz(this.model),i,{include:["grid"]}).matchOutputRanges(e,i,(function(t,e,n){if("cartesian2d"===n.type){var i=t.brushType;"rect"===i?(r("x",n,e[0]),r("y",n,e[1])):r({lineX:"x",lineY:"y"}[i],n,e)}})),function(t,e){var n=fz(t);pz(e,(function(e,i){for(var r=n.length-1;r>=0&&!n[r][i];r--);if(r<0){var o=t.queryComponents({mainType:"dataZoom",subType:"select",id:i})[0];if(o){var a=o.getPercentRange();n[0][i]={dataZoomId:i,start:a[0],end:a[1]}}}})),n.push(e)}(i,n),this._dispatchZoomAction(n)}function r(t,e,r){var o=e.getAxis(t),a=o.model,s=function(t,e,n){var i;return n.eachComponent({mainType:"dataZoom",subType:"select"},(function(n){n.getAxisModel(t,e.componentIndex)&&(i=n)})),i}(t,a,i),l=s.findRepresentativeAxisProxy(a).getMinMaxSpan();null==l.minValueSpan&&null==l.maxValueSpan||(r=dk(0,r.slice(),o.scale.getExtent(),0,l.minValueSpan,l.maxValueSpan)),s&&(n[s.id]={dataZoomId:s.id,startValue:r[0],endValue:r[1]})}},e.prototype._dispatchZoomAction=function(t){var e=[];kz(t,(function(t,n){e.push(T(t))})),e.length&&this.api.dispatchAction({type:"dataZoom",from:this.uid,batch:e})},e.getDefaultOption=function(t){return{show:!0,filterMode:"filter",icon:{zoom:"M0,13.5h26.9 M13.5,26.9V0 M32.1,13.5H58V58H13.5 V32.1",back:"M22,1.4L9.9,13.5l12.3,12.3 M10.3,13.5H54.9v44.6 H10.3v-26"},title:t.getLocaleModel().get(["toolbox","dataZoom","title"]),brushStyle:{borderWidth:0,color:"rgba(210,219,238,0.2)"}}},e}(ZE),Oz={zoom:function(){var t=!this._isZoomActive;this.api.dispatchAction({type:"takeGlobalCursor",key:"dataZoomSelect",dataZoomSelectActive:t})},back:function(){this._dispatchZoomAction(function(t){var e=fz(t),n=e[e.length-1];e.length>1&&e.pop();var i={};return pz(n,(function(t,n){for(var r=e.length-1;r>=0;r--)if(t=e[r][n]){i[n]=t;break}})),i}(this.ecModel))}};function Rz(t){var e={xAxisIndex:t.get("xAxisIndex",!0),yAxisIndex:t.get("yAxisIndex",!0),xAxisId:t.get("xAxisId",!0),yAxisId:t.get("yAxisId",!0)};return null==e.xAxisIndex&&null==e.xAxisId&&(e.xAxisIndex="all"),null==e.yAxisIndex&&null==e.yAxisId&&(e.yAxisIndex="all"),e}Dz="dataZoom",Az=function(t){var e=t.getComponent("toolbox",0),n=["feature","dataZoom"];if(e&&null!=e.get(n)){var i=e.getModel(n),r=[],o=ko(t,Rz(i));return kz(o.xAxisModels,(function(t){return a(t,"xAxis","xAxisIndex")})),kz(o.yAxisModels,(function(t){return a(t,"yAxis","yAxisIndex")})),r}function a(t,e,n){var o=t.componentIndex,a={type:"select",$fromToolbox:!0,filterMode:i.get("filterMode",!0)||"filter",id:Lz+e+o};a[n]=o,r.push(a)}},lt(null==$p.get(Dz)&&Az),$p.set(Dz,Az);var Nz=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.type="tooltip",e.dependencies=["axisPointer"],e.defaultOption={z:60,show:!0,showContent:!0,trigger:"item",triggerOn:"mousemove|click",alwaysShowContent:!1,displayMode:"single",renderMode:"auto",confine:null,showDelay:0,hideDelay:100,transitionDuration:.4,enterable:!1,backgroundColor:"#fff",shadowBlur:10,shadowColor:"rgba(0, 0, 0, .2)",shadowOffsetX:1,shadowOffsetY:2,borderRadius:4,borderWidth:1,padding:null,extraCssText:"",axisPointer:{type:"line",axis:"auto",animation:"auto",animationDurationUpdate:200,animationEasingUpdate:"exponentialOut",crossStyle:{color:"#999",width:1,type:"dashed",textStyle:{}}},textStyle:{color:"#666",fontSize:14}},e}(Ap);function Ez(t){var e=t.get("confine");return null!=e?!!e:"richText"===t.get("renderMode")}function zz(t){if(r.domSupported)for(var e=document.documentElement.style,n=0,i=t.length;n-1?(u+="top:50%",h+="translateY(-50%) rotate("+(a="left"===s?-225:-45)+"deg)"):(u+="left:50%",h+="translateX(-50%) rotate("+(a="top"===s?225:45)+"deg)");var c=a*Math.PI/180,p=l+r,d=p*Math.abs(Math.cos(c))+p*Math.abs(Math.sin(c)),f=e+" solid "+r+"px;";return'
      '}(n,i,r)),X(t))o.innerHTML=t+a;else if(t){o.innerHTML="",Y(t)||(t=[t]);for(var s=0;s=0?this._tryShow(n,i):"leave"===e&&this._hide(i))}),this))},e.prototype._keepShow=function(){var t=this._tooltipModel,e=this._ecModel,n=this._api,i=t.get("triggerOn");if(null!=this._lastX&&null!=this._lastY&&"none"!==i&&"click"!==i){var r=this;clearTimeout(this._refreshUpdateTimeout),this._refreshUpdateTimeout=setTimeout((function(){!n.isDisposed()&&r.manuallyShowTip(t,e,n,{x:r._lastX,y:r._lastY,dataByCoordSys:r._lastDataByCoordSys})}))}},e.prototype.manuallyShowTip=function(t,e,n,i){if(i.from!==this.uid&&!r.node&&n.getDom()){var o=tV(i,n);this._ticket="";var a=i.dataByCoordSys,s=function(t,e,n){var i=Lo(t).queryOptionMap,r=i.keys()[0];if(!r||"series"===r)return;var o,a=Ro(e,r,i.get(r),{useDefault:!1,enableAll:!1,enableNone:!1}).models[0];if(!a)return;if(n.getViewOfComponentModel(a).group.traverse((function(e){var n=js(e).tooltipConfig;if(n&&n.name===t.name)return o=e,!0})),o)return{componentMainType:r,componentIndex:a.componentIndex,el:o}}(i,e,n);if(s){var l=s.el.getBoundingRect().clone();l.applyTransform(s.el.transform),this._tryShow({offsetX:l.x+l.width/2,offsetY:l.y+l.height/2,target:s.el,position:i.position,positionDefault:"bottom"},o)}else if(i.tooltip&&null!=i.x&&null!=i.y){var u=$z;u.x=i.x,u.y=i.y,u.update(),js(u).tooltipConfig={name:null,option:i.tooltip},this._tryShow({offsetX:i.x,offsetY:i.y,target:u},o)}else if(a)this._tryShow({offsetX:i.x,offsetY:i.y,position:i.position,dataByCoordSys:a,tooltipOption:i.tooltipOption},o);else if(null!=i.seriesIndex){if(this._manuallyAxisShowTip(t,e,n,i))return;var h=sN(i,e),c=h.point[0],p=h.point[1];null!=c&&null!=p&&this._tryShow({offsetX:c,offsetY:p,target:h.el,position:i.position,positionDefault:"bottom"},o)}else null!=i.x&&null!=i.y&&(n.dispatchAction({type:"updateAxisPointer",x:i.x,y:i.y}),this._tryShow({offsetX:i.x,offsetY:i.y,position:i.position,target:n.getZr().findHover(i.x,i.y).target},o))}},e.prototype.manuallyHideTip=function(t,e,n,i){var r=this._tooltipContent;!this._alwaysShowContent&&this._tooltipModel&&r.hideLater(this._tooltipModel.get("hideDelay")),this._lastX=this._lastY=this._lastDataByCoordSys=null,i.from!==this.uid&&this._hide(tV(i,n))},e.prototype._manuallyAxisShowTip=function(t,e,n,i){var r=i.seriesIndex,o=i.dataIndex,a=e.getComponent("axisPointer").coordSysAxesInfo;if(null!=r&&null!=o&&null!=a){var s=e.getSeriesByIndex(r);if(s)if("axis"===Qz([s.getData().getItemModel(o),s,(s.coordinateSystem||{}).model],this._tooltipModel).get("trigger"))return n.dispatchAction({type:"updateAxisPointer",seriesIndex:r,dataIndex:o,position:i.position}),!0}},e.prototype._tryShow=function(t,e){var n=t.target;if(this._tooltipModel){this._lastX=t.offsetX,this._lastY=t.offsetY;var i=t.dataByCoordSys;if(i&&i.length)this._showAxisTooltip(i,t);else if(n){var r,o;this._lastDataByCoordSys=null,wy(n,(function(t){return null!=js(t).dataIndex?(r=t,!0):null!=js(t).tooltipConfig?(o=t,!0):void 0}),!0),r?this._showSeriesItemTooltip(t,r,e):o?this._showComponentItemTooltip(t,o,e):this._hide(e)}else this._lastDataByCoordSys=null,this._hide(e)}},e.prototype._showOrMove=function(t,e){var n=t.get("showDelay");e=W(e,this),clearTimeout(this._showTimout),n>0?this._showTimout=setTimeout(e,n):e()},e.prototype._showAxisTooltip=function(t,e){var n=this._ecModel,i=this._tooltipModel,r=[e.offsetX,e.offsetY],o=Qz([e.tooltipOption],i),a=this._renderMode,s=[],l=qf("section",{blocks:[],noHeader:!0}),u=[],h=new ag;E(t,(function(t){E(t.dataByAxis,(function(t){var e=n.getComponent(t.axisDim+"Axis",t.axisIndex),r=t.value;if(e&&null!=r){var o=HR(r,e.axis,n,t.seriesDataIndices,t.valueLabelOpt),c=qf("section",{header:o,noHeader:!ut(o),sortBlocks:!0,blocks:[]});l.blocks.push(c),E(t.seriesDataIndices,(function(l){var p=n.getSeriesByIndex(l.seriesIndex),d=l.dataIndexInside,f=p.getDataParams(d);if(!(f.dataIndex<0)){f.axisDim=t.axisDim,f.axisIndex=t.axisIndex,f.axisType=t.axisType,f.axisId=t.axisId,f.axisValue=h_(e.axis,{value:r}),f.axisValueLabel=o,f.marker=h.makeTooltipMarker("item",gp(f.color),a);var g=pf(p.formatTooltip(d,!0,null)),y=g.frag;if(y){var v=Qz([p],i).get("valueFormatter");c.blocks.push(v?A({valueFormatter:v},y):y)}g.text&&u.push(g.text),s.push(f)}}))}}))})),l.blocks.reverse(),u.reverse();var c=e.position,p=o.get("order"),d=eg(l,h,a,p,n.get("useUTC"),o.get("textStyle"));d&&u.unshift(d);var f="richText"===a?"\n\n":"
      ",g=u.join(f);this._showOrMove(o,(function(){this._updateContentNotChangedOnAxis(t,s)?this._updatePosition(o,c,r[0],r[1],this._tooltipContent,s):this._showTooltipContent(o,g,s,Math.random()+"",r[0],r[1],c,null,h)}))},e.prototype._showSeriesItemTooltip=function(t,e,n){var i=this._ecModel,r=js(e),o=r.seriesIndex,a=i.getSeriesByIndex(o),s=r.dataModel||a,l=r.dataIndex,u=r.dataType,h=s.getData(u),c=this._renderMode,p=t.positionDefault,d=Qz([h.getItemModel(l),s,a&&(a.coordinateSystem||{}).model],this._tooltipModel,p?{position:p}:null),f=d.get("trigger");if(null==f||"item"===f){var g=s.getDataParams(l,u),y=new ag;g.marker=y.makeTooltipMarker("item",gp(g.color),c);var v=pf(s.formatTooltip(l,!1,u)),m=d.get("order"),x=d.get("valueFormatter"),_=v.frag,b=_?eg(x?A({valueFormatter:x},_):_,y,c,m,i.get("useUTC"),d.get("textStyle")):v.text,w="item_"+s.name+"_"+l;this._showOrMove(d,(function(){this._showTooltipContent(d,b,g,w,t.offsetX,t.offsetY,t.position,t.target,y)})),n({type:"showTip",dataIndexInside:l,dataIndex:h.getRawIndex(l),seriesIndex:o,from:this.uid})}},e.prototype._showComponentItemTooltip=function(t,e,n){var i=js(e),r=i.tooltipConfig.option||{};if(X(r)){r={content:r,formatter:r}}var o=[r],a=this._ecModel.getComponent(i.componentMainType,i.componentIndex);a&&o.push(a),o.push({formatter:r.content});var s=t.positionDefault,l=Qz(o,this._tooltipModel,s?{position:s}:null),u=l.get("content"),h=Math.random()+"",c=new ag;this._showOrMove(l,(function(){var n=T(l.get("formatterParams")||{});this._showTooltipContent(l,u,n,h,t.offsetX,t.offsetY,t.position,e,c)})),n({type:"showTip",from:this.uid})},e.prototype._showTooltipContent=function(t,e,n,i,r,o,a,s,l){if(this._ticket="",t.get("showContent")&&t.get("show")){var u=this._tooltipContent;u.setEnterable(t.get("enterable"));var h=t.get("formatter");a=a||t.get("position");var c=e,p=this._getNearestPoint([r,o],n,t.get("trigger"),t.get("borderColor")).color;if(h)if(X(h)){var d=t.ecModel.get("useUTC"),f=Y(n)?n[0]:n;c=h,f&&f.axisType&&f.axisType.indexOf("time")>=0&&(c=Yc(f.axisValue,c,d)),c=dp(c,n,!0)}else if(U(h)){var g=W((function(e,i){e===this._ticket&&(u.setContent(i,l,t,p,a),this._updatePosition(t,a,r,o,u,n,s))}),this);this._ticket=i,c=h(n,i,g)}else c=h;u.setContent(c,l,t,p,a),u.show(t,p),this._updatePosition(t,a,r,o,u,n,s)}},e.prototype._getNearestPoint=function(t,e,n,i){return"axis"===n||Y(e)?{color:i||("html"===this._renderMode?"#fff":"none")}:Y(e)?void 0:{color:i||e.color||e.borderColor}},e.prototype._updatePosition=function(t,e,n,i,r,o,a){var s=this._api.getWidth(),l=this._api.getHeight();e=e||t.get("position");var u=r.getSize(),h=t.get("align"),c=t.get("verticalAlign"),p=a&&a.getBoundingRect().clone();if(a&&p.applyTransform(a.transform),U(e)&&(e=e([n,i],o,r.el,p,{viewSize:[s,l],contentSize:u.slice()})),Y(e))n=Gr(e[0],s),i=Gr(e[1],l);else if(q(e)){var d=e;d.width=u[0],d.height=u[1];var f=wp(d,{width:s,height:l});n=f.x,i=f.y,h=null,c=null}else if(X(e)&&a){var g=function(t,e,n,i){var r=n[0],o=n[1],a=Math.ceil(Math.SQRT2*i)+8,s=0,l=0,u=e.width,h=e.height;switch(t){case"inside":s=e.x+u/2-r/2,l=e.y+h/2-o/2;break;case"top":s=e.x+u/2-r/2,l=e.y-o-a;break;case"bottom":s=e.x+u/2-r/2,l=e.y+h+a;break;case"left":s=e.x-r-a,l=e.y+h/2-o/2;break;case"right":s=e.x+u+a,l=e.y+h/2-o/2}return[s,l]}(e,p,u,t.get("borderWidth"));n=g[0],i=g[1]}else{g=function(t,e,n,i,r,o,a){var s=n.getSize(),l=s[0],u=s[1];null!=o&&(t+l+o+2>i?t-=l+o:t+=o);null!=a&&(e+u+a>r?e-=u+a:e+=a);return[t,e]}(n,i,r,s,l,h?null:20,c?null:20);n=g[0],i=g[1]}if(h&&(n-=eV(h)?u[0]/2:"right"===h?u[0]:0),c&&(i-=eV(c)?u[1]/2:"bottom"===c?u[1]:0),Ez(t)){g=function(t,e,n,i,r){var o=n.getSize(),a=o[0],s=o[1];return t=Math.min(t+a,i)-a,e=Math.min(e+s,r)-s,t=Math.max(t,0),e=Math.max(e,0),[t,e]}(n,i,r,s,l);n=g[0],i=g[1]}r.moveTo(n,i)},e.prototype._updateContentNotChangedOnAxis=function(t,e){var n=this._lastDataByCoordSys,i=this._cbParamsList,r=!!n&&n.length===t.length;return r&&E(n,(function(n,o){var a=n.dataByAxis||[],s=(t[o]||{}).dataByAxis||[];(r=r&&a.length===s.length)&&E(a,(function(t,n){var o=s[n]||{},a=t.seriesDataIndices||[],l=o.seriesDataIndices||[];(r=r&&t.value===o.value&&t.axisType===o.axisType&&t.axisId===o.axisId&&a.length===l.length)&&E(a,(function(t,e){var n=l[e];r=r&&t.seriesIndex===n.seriesIndex&&t.dataIndex===n.dataIndex})),i&&E(t.seriesDataIndices,(function(t){var n=t.seriesIndex,o=e[n],a=i[n];o&&a&&a.data!==o.data&&(r=!1)}))}))})),this._lastDataByCoordSys=t,this._cbParamsList=e,!!r},e.prototype._hide=function(t){this._lastDataByCoordSys=null,t({type:"hideTip",from:this.uid})},e.prototype.dispose=function(t,e){!r.node&&e.getDom()&&(Og(this,"_updatePosition"),this._tooltipContent.dispose(),oN("itemTooltip",e))},e.type="tooltip",e}(mg);function Qz(t,e,n){var i,r=e.ecModel;n?(i=new xc(n,r,r),i=new xc(e.option,i,r)):i=e;for(var o=t.length-1;o>=0;o--){var a=t[o];a&&(a instanceof xc&&(a=a.get("tooltip",!0)),X(a)&&(a={formatter:a}),a&&(i=new xc(a,i,r)))}return i}function tV(t,e){return t.dispatchAction||W(e.dispatchAction,e)}function eV(t){return"center"===t||"middle"===t}var nV=["rect","polygon","keep","clear"];function iV(t,e){var n=yo(t?t.brush:[]);if(n.length){var i=[];E(n,(function(t){var e=t.hasOwnProperty("toolbox")?t.toolbox:[];e instanceof Array&&(i=i.concat(e))}));var r=t&&t.toolbox;Y(r)&&(r=r[0]),r||(r={feature:{}},t.toolbox=[r]);var o=r.feature||(r.feature={}),a=o.brush||(o.brush={}),s=a.type||(a.type=[]);s.push.apply(s,i),function(t){var e={};E(t,(function(t){e[t]=1})),t.length=0,E(e,(function(e,n){t.push(n)}))}(s),e&&!s.length&&s.push.apply(s,nV)}}var rV=E;function oV(t){if(t)for(var e in t)if(t.hasOwnProperty(e))return!0}function aV(t,e,n){var i={};return rV(e,(function(e){var r,o=i[e]=((r=function(){}).prototype.__hidden=r.prototype,new r);rV(t[e],(function(t,i){if(sD.isValidType(i)){var r={type:i,visual:t};n&&n(r,e),o[i]=new sD(r),"opacity"===i&&((r=T(r)).type="colorAlpha",o.__hidden.__alphaForOpacity=new sD(r))}}))})),i}function sV(t,e,n){var i;E(n,(function(t){e.hasOwnProperty(t)&&oV(e[t])&&(i=!0)})),i&&E(n,(function(n){e.hasOwnProperty(n)&&oV(e[n])?t[n]=T(e[n]):delete t[n]}))}var lV={lineX:uV(0),lineY:uV(1),rect:{point:function(t,e,n){return t&&n.boundingRect.contain(t[0],t[1])},rect:function(t,e,n){return t&&n.boundingRect.intersect(t)}},polygon:{point:function(t,e,n){return t&&n.boundingRect.contain(t[0],t[1])&&x_(n.range,t[0],t[1])},rect:function(t,e,n){var i=n.range;if(!t||i.length<=1)return!1;var r=t.x,o=t.y,a=t.width,s=t.height,l=i[0];return!!(x_(i,r,o)||x_(i,r+a,o)||x_(i,r,o+s)||x_(i,r+a,o+s)||Re.create(t).contain(l[0],l[1])||Bh(r,o,r+a,o,i)||Bh(r,o,r,o+s,i)||Bh(r+a,o,r+a,o+s,i)||Bh(r,o+s,r+a,o+s,i))||void 0}}};function uV(t){var e=["x","y"],n=["width","height"];return{point:function(e,n,i){if(e){var r=i.range;return hV(e[t],r)}},rect:function(i,r,o){if(i){var a=o.range,s=[i[e[t]],i[e[t]]+i[n[t]]];return s[1]e[0][1]&&(e[0][1]=o[0]),o[1]e[1][1]&&(e[1][1]=o[1])}return e&&xV(e)}};function xV(t){return new Re(t[0][0],t[1][0],t[0][1]-t[0][0],t[1][1]-t[1][0])}var _V=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.init=function(t,e){this.ecModel=t,this.api=e,this.model,(this._brushController=new Vk(e.getZr())).on("brush",W(this._onBrush,this)).mount()},e.prototype.render=function(t,e,n,i){this.model=t,this._updateController(t,e,n,i)},e.prototype.updateTransform=function(t,e,n,i){fV(e),this._updateController(t,e,n,i)},e.prototype.updateVisual=function(t,e,n,i){this.updateTransform(t,e,n,i)},e.prototype.updateView=function(t,e,n,i){this._updateController(t,e,n,i)},e.prototype._updateController=function(t,e,n,i){(!i||i.$from!==t.id)&&this._brushController.setPanels(t.brushTargetManager.makePanelOpts(n)).enableBrush(t.brushOption).updateCovers(t.areas.slice())},e.prototype.dispose=function(){this._brushController.dispose()},e.prototype._onBrush=function(t){var e=this.model.id,n=this.model.brushTargetManager.setOutputRanges(t.areas,this.ecModel);(!t.isEnd||t.removeOnClick)&&this.api.dispatchAction({type:"brush",brushId:e,areas:T(n),$from:e}),t.isEnd&&this.api.dispatchAction({type:"brushEnd",brushId:e,areas:T(n),$from:e})},e.type="brush",e}(mg),bV=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.areas=[],n.brushOption={},n}return n(e,t),e.prototype.optionUpdated=function(t,e){var n=this.option;!e&&sV(n,t,["inBrush","outOfBrush"]);var i=n.inBrush=n.inBrush||{};n.outOfBrush=n.outOfBrush||{color:"#ddd"},i.hasOwnProperty("liftZ")||(i.liftZ=5)},e.prototype.setAreas=function(t){t&&(this.areas=z(t,(function(t){return wV(this.option,t)}),this))},e.prototype.setBrushOption=function(t){this.brushOption=wV(this.option,t),this.brushType=this.brushOption.brushType},e.type="brush",e.dependencies=["geo","grid","xAxis","yAxis","parallel","series"],e.defaultOption={seriesIndex:"all",brushType:"rect",brushMode:"single",transformable:!0,brushStyle:{borderWidth:1,color:"rgba(210,219,238,0.3)",borderColor:"#D2DBEE"},throttleType:"fixRate",throttleDelay:0,removeOnClick:!0,z:1e4},e}(Ap);function wV(t,e){return C({brushType:t.brushType,brushMode:t.brushMode,transformable:t.transformable,brushStyle:new xc(t.brushStyle).getItemStyle(),removeOnClick:t.removeOnClick,z:t.z},e,!0)}var SV=["rect","polygon","lineX","lineY","keep","clear"],MV=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.render=function(t,e,n){var i,r,o;e.eachComponent({mainType:"brush"},(function(t){i=t.brushType,r=t.brushOption.brushMode||"single",o=o||!!t.areas.length})),this._brushType=i,this._brushMode=r,E(t.get("type",!0),(function(e){t.setIconStatus(e,("keep"===e?"multiple"===r:"clear"===e?o:e===i)?"emphasis":"normal")}))},e.prototype.updateView=function(t,e,n){this.render(t,e,n)},e.prototype.getIcons=function(){var t=this.model,e=t.get("icon",!0),n={};return E(t.get("type",!0),(function(t){e[t]&&(n[t]=e[t])})),n},e.prototype.onclick=function(t,e,n){var i=this._brushType,r=this._brushMode;"clear"===n?(e.dispatchAction({type:"axisAreaSelect",intervals:[]}),e.dispatchAction({type:"brush",command:"clear",areas:[]})):e.dispatchAction({type:"takeGlobalCursor",key:"brush",brushOption:{brushType:"keep"===n?i:i!==n&&n,brushMode:"keep"===n?"multiple"===r?"single":"multiple":r}})},e.getDefaultOption=function(t){return{show:!0,type:SV.slice(),icon:{rect:"M7.3,34.7 M0.4,10V-0.2h9.8 M89.6,10V-0.2h-9.8 M0.4,60v10.2h9.8 M89.6,60v10.2h-9.8 M12.3,22.4V10.5h13.1 M33.6,10.5h7.8 M49.1,10.5h7.8 M77.5,22.4V10.5h-13 M12.3,31.1v8.2 M77.7,31.1v8.2 M12.3,47.6v11.9h13.1 M33.6,59.5h7.6 M49.1,59.5 h7.7 M77.5,47.6v11.9h-13",polygon:"M55.2,34.9c1.7,0,3.1,1.4,3.1,3.1s-1.4,3.1-3.1,3.1 s-3.1-1.4-3.1-3.1S53.5,34.9,55.2,34.9z M50.4,51c1.7,0,3.1,1.4,3.1,3.1c0,1.7-1.4,3.1-3.1,3.1c-1.7,0-3.1-1.4-3.1-3.1 C47.3,52.4,48.7,51,50.4,51z M55.6,37.1l1.5-7.8 M60.1,13.5l1.6-8.7l-7.8,4 M59,19l-1,5.3 M24,16.1l6.4,4.9l6.4-3.3 M48.5,11.6 l-5.9,3.1 M19.1,12.8L9.7,5.1l1.1,7.7 M13.4,29.8l1,7.3l6.6,1.6 M11.6,18.4l1,6.1 M32.8,41.9 M26.6,40.4 M27.3,40.2l6.1,1.6 M49.9,52.1l-5.6-7.6l-4.9-1.2",lineX:"M15.2,30 M19.7,15.6V1.9H29 M34.8,1.9H40.4 M55.3,15.6V1.9H45.9 M19.7,44.4V58.1H29 M34.8,58.1H40.4 M55.3,44.4 V58.1H45.9 M12.5,20.3l-9.4,9.6l9.6,9.8 M3.1,29.9h16.5 M62.5,20.3l9.4,9.6L62.3,39.7 M71.9,29.9H55.4",lineY:"M38.8,7.7 M52.7,12h13.2v9 M65.9,26.6V32 M52.7,46.3h13.2v-9 M24.9,12H11.8v9 M11.8,26.6V32 M24.9,46.3H11.8v-9 M48.2,5.1l-9.3-9l-9.4,9.2 M38.9-3.9V12 M48.2,53.3l-9.3,9l-9.4-9.2 M38.9,62.3V46.4",keep:"M4,10.5V1h10.3 M20.7,1h6.1 M33,1h6.1 M55.4,10.5V1H45.2 M4,17.3v6.6 M55.6,17.3v6.6 M4,30.5V40h10.3 M20.7,40 h6.1 M33,40h6.1 M55.4,30.5V40H45.2 M21,18.9h62.9v48.6H21V18.9z",clear:"M22,14.7l30.9,31 M52.9,14.7L22,45.7 M4.7,16.8V4.2h13.1 M26,4.2h7.8 M41.6,4.2h7.8 M70.3,16.8V4.2H57.2 M4.7,25.9v8.6 M70.3,25.9v8.6 M4.7,43.2v12.6h13.1 M26,55.8h7.8 M41.6,55.8h7.8 M70.3,43.2v12.6H57.2"},title:t.getLocaleModel().get(["toolbox","brush","title"])}},e}(ZE);var IV=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.layoutMode={type:"box",ignoreSize:!0},n}return n(e,t),e.type="title",e.defaultOption={z:6,show:!0,text:"",target:"blank",subtext:"",subtarget:"blank",left:0,top:0,backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,padding:5,itemGap:10,textStyle:{fontSize:18,fontWeight:"bold",color:"#464646"},subtextStyle:{fontSize:12,color:"#6E7079"}},e}(Ap),TV=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.render=function(t,e,n){if(this.group.removeAll(),t.get("show")){var i=this.group,r=t.getModel("textStyle"),o=t.getModel("subtextStyle"),a=t.get("textAlign"),s=rt(t.get("textBaseline"),t.get("textVerticalAlign")),l=new Ns({style:$h(r,{text:t.get("text"),fill:r.getTextColor()},{disableBox:!0}),z2:10}),u=l.getBoundingRect(),h=t.get("subtext"),c=new Ns({style:$h(o,{text:h,fill:o.getTextColor(),y:u.height+t.get("itemGap"),verticalAlign:"top"},{disableBox:!0}),z2:10}),p=t.get("link"),d=t.get("sublink"),f=t.get("triggerEvent",!0);l.silent=!p&&!f,c.silent=!d&&!f,p&&l.on("click",(function(){yp(p,"_"+t.get("target"))})),d&&c.on("click",(function(){yp(d,"_"+t.get("subtarget"))})),js(l).eventData=js(c).eventData=f?{componentType:"title",componentIndex:t.componentIndex}:null,i.add(l),h&&i.add(c);var g=i.getBoundingRect(),y=t.getBoxLayoutParams();y.width=g.width,y.height=g.height;var v=wp(y,{width:n.getWidth(),height:n.getHeight()},t.get("padding"));a||("middle"===(a=t.get("left")||t.get("right"))&&(a="center"),"right"===a?v.x+=v.width:"center"===a&&(v.x+=v.width/2)),s||("center"===(s=t.get("top")||t.get("bottom"))&&(s="middle"),"bottom"===s?v.y+=v.height:"middle"===s&&(v.y+=v.height/2),s=s||"top"),i.x=v.x,i.y=v.y,i.markRedraw();var m={align:a,verticalAlign:s};l.setStyle(m),c.setStyle(m),g=i.getBoundingRect();var x=v.margin,_=t.getItemStyle(["color","opacity"]);_.fill=t.get("backgroundColor");var b=new Ps({shape:{x:g.x-x[3],y:g.y-x[0],width:g.width+x[1]+x[3],height:g.height+x[0]+x[2],r:t.get("borderRadius")},style:_,subPixelOptimize:!0,silent:!0});i.add(b)}},e.type="title",e}(mg);var CV=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.layoutMode="box",n}return n(e,t),e.prototype.init=function(t,e,n){this.mergeDefaultAndTheme(t,n),this._initData()},e.prototype.mergeOption=function(e){t.prototype.mergeOption.apply(this,arguments),this._initData()},e.prototype.setCurrentIndex=function(t){null==t&&(t=this.option.currentIndex);var e=this._data.count();this.option.loop?t=(t%e+e)%e:(t>=e&&(t=e-1),t<0&&(t=0)),this.option.currentIndex=t},e.prototype.getCurrentIndex=function(){return this.option.currentIndex},e.prototype.isIndexMax=function(){return this.getCurrentIndex()>=this._data.count()-1},e.prototype.setPlayState=function(t){this.option.autoPlay=!!t},e.prototype.getPlayState=function(){return!!this.option.autoPlay},e.prototype._initData=function(){var t,e=this.option,n=e.data||[],i=e.axisType,r=this._names=[];"category"===i?(t=[],E(n,(function(e,n){var i,o=Mo(xo(e),"");q(e)?(i=T(e)).value=n:i=n,t.push(i),r.push(o)}))):t=n;var o={category:"ordinal",time:"time",value:"number"}[i]||"number";(this._data=new Jm([{name:"value",type:o}],this)).initData(t,r)},e.prototype.getData=function(){return this._data},e.prototype.getCategories=function(){if("category"===this.get("axisType"))return this._names.slice()},e.type="timeline",e.defaultOption={z:4,show:!0,axisType:"time",realtime:!0,left:"20%",top:null,right:"20%",bottom:0,width:null,height:40,padding:5,controlPosition:"left",autoPlay:!1,rewind:!1,loop:!0,playInterval:2e3,currentIndex:0,itemStyle:{},label:{color:"#000"},data:[]},e}(Ap),DV=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.type="timeline.slider",e.defaultOption=wc(CV.defaultOption,{backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,orient:"horizontal",inverse:!1,tooltip:{trigger:"item"},symbol:"circle",symbolSize:12,lineStyle:{show:!0,width:2,color:"#DAE1F5"},label:{position:"auto",show:!0,interval:"auto",rotate:0,color:"#A4B1D7"},itemStyle:{color:"#A4B1D7",borderWidth:1},checkpointStyle:{symbol:"circle",symbolSize:15,color:"#316bf3",borderColor:"#fff",borderWidth:2,shadowBlur:2,shadowOffsetX:1,shadowOffsetY:1,shadowColor:"rgba(0, 0, 0, 0.3)",animation:!0,animationDuration:300,animationEasing:"quinticInOut"},controlStyle:{show:!0,showPlayBtn:!0,showPrevBtn:!0,showNextBtn:!0,itemSize:24,itemGap:12,position:"left",playIcon:"path://M31.6,53C17.5,53,6,41.5,6,27.4S17.5,1.8,31.6,1.8C45.7,1.8,57.2,13.3,57.2,27.4S45.7,53,31.6,53z M31.6,3.3 C18.4,3.3,7.5,14.1,7.5,27.4c0,13.3,10.8,24.1,24.1,24.1C44.9,51.5,55.7,40.7,55.7,27.4C55.7,14.1,44.9,3.3,31.6,3.3z M24.9,21.3 c0-2.2,1.6-3.1,3.5-2l10.5,6.1c1.899,1.1,1.899,2.9,0,4l-10.5,6.1c-1.9,1.1-3.5,0.2-3.5-2V21.3z",stopIcon:"path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5C17.6,3.5,6.8,14.4,6.8,27.6c0,13.3,10.8,24.1,24.101,24.1C44.2,51.7,55,40.9,55,27.6C54.9,14.4,44.1,3.5,30.9,3.5z M36.9,35.8c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H36c0.5,0,0.9,0.4,0.9,1V35.8z M27.8,35.8 c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H27c0.5,0,0.9,0.4,0.9,1L27.8,35.8L27.8,35.8z",nextIcon:"M2,18.5A1.52,1.52,0,0,1,.92,18a1.49,1.49,0,0,1,0-2.12L7.81,9.36,1,3.11A1.5,1.5,0,1,1,3,.89l8,7.34a1.48,1.48,0,0,1,.49,1.09,1.51,1.51,0,0,1-.46,1.1L3,18.08A1.5,1.5,0,0,1,2,18.5Z",prevIcon:"M10,.5A1.52,1.52,0,0,1,11.08,1a1.49,1.49,0,0,1,0,2.12L4.19,9.64,11,15.89a1.5,1.5,0,1,1-2,2.22L1,10.77A1.48,1.48,0,0,1,.5,9.68,1.51,1.51,0,0,1,1,8.58L9,.92A1.5,1.5,0,0,1,10,.5Z",prevBtnSize:18,nextBtnSize:18,color:"#A4B1D7",borderColor:"#A4B1D7",borderWidth:1},emphasis:{label:{show:!0,color:"#6f778d"},itemStyle:{color:"#316BF3"},controlStyle:{color:"#316BF3",borderColor:"#316BF3",borderWidth:2}},progress:{lineStyle:{color:"#316BF3"},itemStyle:{color:"#316BF3"},label:{color:"#6f778d"}},data:[]}),e}(CV);R(DV,cf.prototype);var AV=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.type="timeline",e}(mg),kV=function(t){function e(e,n,i,r){var o=t.call(this,e,n,i)||this;return o.type=r||"value",o}return n(e,t),e.prototype.getLabelModel=function(){return this.model.getModel("label")},e.prototype.isHorizontal=function(){return"horizontal"===this.model.get("orient")},e}(X_),LV=Math.PI,PV=Do(),OV=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.init=function(t,e){this.api=e},e.prototype.render=function(t,e,n){if(this.model=t,this.api=n,this.ecModel=e,this.group.removeAll(),t.get("show",!0)){var i=this._layout(t,n),r=this._createGroup("_mainGroup"),o=this._createGroup("_labelGroup"),a=this._axis=this._createAxis(i,t);t.formatTooltip=function(t){return qf("nameValue",{noName:!0,value:a.scale.getLabel({value:t})})},E(["AxisLine","AxisTick","Control","CurrentPointer"],(function(e){this["_render"+e](i,r,a,t)}),this),this._renderAxisLabel(i,o,a,t),this._position(i,t)}this._doPlayStop(),this._updateTicksStatus()},e.prototype.remove=function(){this._clearTimer(),this.group.removeAll()},e.prototype.dispose=function(){this._clearTimer()},e.prototype._layout=function(t,e){var n,i,r,o,a=t.get(["label","position"]),s=t.get("orient"),l=function(t,e){return wp(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()},t.get("padding"))}(t,e),u={horizontal:"center",vertical:(n=null==a||"auto"===a?"horizontal"===s?l.y+l.height/2=0||"+"===n?"left":"right"},h={horizontal:n>=0||"+"===n?"top":"bottom",vertical:"middle"},c={horizontal:0,vertical:LV/2},p="vertical"===s?l.height:l.width,d=t.getModel("controlStyle"),f=d.get("show",!0),g=f?d.get("itemSize"):0,y=f?d.get("itemGap"):0,v=g+y,m=t.get(["label","rotate"])||0;m=m*LV/180;var x=d.get("position",!0),_=f&&d.get("showPlayBtn",!0),b=f&&d.get("showPrevBtn",!0),w=f&&d.get("showNextBtn",!0),S=0,M=p;"left"===x||"bottom"===x?(_&&(i=[0,0],S+=v),b&&(r=[S,0],S+=v),w&&(o=[M-g,0],M-=v)):(_&&(i=[M-g,0],M-=v),b&&(r=[0,0],S+=v),w&&(o=[M-g,0],M-=v));var I=[S,M];return t.get("inverse")&&I.reverse(),{viewRect:l,mainLength:p,orient:s,rotation:c[s],labelRotation:m,labelPosOpt:n,labelAlign:t.get(["label","align"])||u[s],labelBaseline:t.get(["label","verticalAlign"])||t.get(["label","baseline"])||h[s],playPosition:i,prevBtnPosition:r,nextBtnPosition:o,axisExtent:I,controlSize:g,controlGap:y}},e.prototype._position=function(t,e){var n=this._mainGroup,i=this._labelGroup,r=t.viewRect;if("vertical"===t.orient){var o=[1,0,0,1,0,0],a=r.x,s=r.y+r.height;xe(o,o,[-a,-s]),_e(o,o,-LV/2),xe(o,o,[a,s]),(r=r.clone()).applyTransform(o)}var l=y(r),u=y(n.getBoundingRect()),h=y(i.getBoundingRect()),c=[n.x,n.y],p=[i.x,i.y];p[0]=c[0]=l[0][0];var d,f=t.labelPosOpt;null==f||X(f)?(v(c,u,l,1,d="+"===f?0:1),v(p,h,l,1,1-d)):(v(c,u,l,1,d=f>=0?0:1),p[1]=c[1]+f);function g(t){t.originX=l[0][0]-t.x,t.originY=l[1][0]-t.y}function y(t){return[[t.x,t.x+t.width],[t.y,t.y+t.height]]}function v(t,e,n,i,r){t[i]+=n[i][r]-e[i][r]}n.setPosition(c),i.setPosition(p),n.rotation=i.rotation=t.rotation,g(n),g(i)},e.prototype._createAxis=function(t,e){var n=e.getData(),i=e.get("axisType"),r=function(t,e){if(e=e||t.get("type"))switch(e){case"category":return new _x({ordinalMeta:t.getCategories(),extent:[1/0,-1/0]});case"time":return new zx({locale:t.ecModel.getLocaleModel(),useUTC:t.ecModel.get("useUTC")});default:return new Sx}}(e,i);r.getTicks=function(){return n.mapArray(["value"],(function(t){return{value:t}}))};var o=n.getDataExtent("value");r.setExtent(o[0],o[1]),r.calcNiceTicks();var a=new kV("value",r,t.axisExtent,i);return a.model=e,a},e.prototype._createGroup=function(t){var e=this[t]=new Pr;return this.group.add(e),e},e.prototype._renderAxisLine=function(t,e,n,i){var r=n.getExtent();if(i.get(["lineStyle","show"])){var o=new Wu({shape:{x1:r[0],y1:0,x2:r[1],y2:0},style:A({lineCap:"round"},i.getModel("lineStyle").getLineStyle()),silent:!0,z2:1});e.add(o);var a=this._progressLine=new Wu({shape:{x1:r[0],x2:this._currentPointer?this._currentPointer.x:r[0],y1:0,y2:0},style:k({lineCap:"round",lineWidth:o.style.lineWidth},i.getModel(["progress","lineStyle"]).getLineStyle()),silent:!0,z2:1});e.add(a)}},e.prototype._renderAxisTick=function(t,e,n,i){var r=this,o=i.getData(),a=n.scale.getTicks();this._tickSymbols=[],E(a,(function(t){var a=n.dataToCoord(t.value),s=o.getItemModel(t.value),l=s.getModel("itemStyle"),u=s.getModel(["emphasis","itemStyle"]),h=s.getModel(["progress","itemStyle"]),c={x:a,y:0,onclick:W(r._changeTimeline,r,t.value)},p=RV(s,l,e,c);p.ensureState("emphasis").style=u.getItemStyle(),p.ensureState("progress").style=h.getItemStyle(),Vl(p);var d=js(p);s.get("tooltip")?(d.dataIndex=t.value,d.dataModel=i):d.dataIndex=d.dataModel=null,r._tickSymbols.push(p)}))},e.prototype._renderAxisLabel=function(t,e,n,i){var r=this;if(n.getLabelModel().get("show")){var o=i.getData(),a=n.getViewLabels();this._tickLabels=[],E(a,(function(i){var a=i.tickValue,s=o.getItemModel(a),l=s.getModel("label"),u=s.getModel(["emphasis","label"]),h=s.getModel(["progress","label"]),c=n.dataToCoord(i.tickValue),p=new Ns({x:c,y:0,rotation:t.labelRotation-t.rotation,onclick:W(r._changeTimeline,r,a),silent:!1,style:$h(l,{text:i.formattedLabel,align:t.labelAlign,verticalAlign:t.labelBaseline})});p.ensureState("emphasis").style=$h(u),p.ensureState("progress").style=$h(h),e.add(p),Vl(p),PV(p).dataIndex=a,r._tickLabels.push(p)}))}},e.prototype._renderControl=function(t,e,n,i){var r=t.controlSize,o=t.rotation,a=i.getModel("controlStyle").getItemStyle(),s=i.getModel(["emphasis","controlStyle"]).getItemStyle(),l=i.getPlayState(),u=i.get("inverse",!0);function h(t,n,l,u){if(t){var h=_r(rt(i.get(["controlStyle",n+"BtnSize"]),r),r),c=function(t,e,n,i){var r=i.style,o=Vh(t.get(["controlStyle",e]),i||{},new Re(n[0],n[1],n[2],n[3]));r&&o.setStyle(r);return o}(i,n+"Icon",[0,-h/2,h,h],{x:t[0],y:t[1],originX:r/2,originY:0,rotation:u?-o:0,rectHover:!0,style:a,onclick:l});c.ensureState("emphasis").style=s,e.add(c),Vl(c)}}h(t.nextBtnPosition,"next",W(this._changeTimeline,this,u?"-":"+")),h(t.prevBtnPosition,"prev",W(this._changeTimeline,this,u?"+":"-")),h(t.playPosition,l?"stop":"play",W(this._handlePlayClick,this,!l),!0)},e.prototype._renderCurrentPointer=function(t,e,n,i){var r=i.getData(),o=i.getCurrentIndex(),a=r.getItemModel(o).getModel("checkpointStyle"),s=this,l={onCreate:function(t){t.draggable=!0,t.drift=W(s._handlePointerDrag,s),t.ondragend=W(s._handlePointerDragend,s),NV(t,s._progressLine,o,n,i,!0)},onUpdate:function(t){NV(t,s._progressLine,o,n,i)}};this._currentPointer=RV(a,a,this._mainGroup,{},this._currentPointer,l)},e.prototype._handlePlayClick=function(t){this._clearTimer(),this.api.dispatchAction({type:"timelinePlayChange",playState:t,from:this.uid})},e.prototype._handlePointerDrag=function(t,e,n){this._clearTimer(),this._pointerChangeTimeline([n.offsetX,n.offsetY])},e.prototype._handlePointerDragend=function(t){this._pointerChangeTimeline([t.offsetX,t.offsetY],!0)},e.prototype._pointerChangeTimeline=function(t,e){var n=this._toAxisCoord(t)[0],i=Hr(this._axis.getExtent().slice());n>i[1]&&(n=i[1]),n=0&&(a[o]=+a[o].toFixed(c)),[a,h]}var XV={min:H(UV,"min"),max:H(UV,"max"),average:H(UV,"average"),median:H(UV,"median")};function ZV(t,e){var n=t.getData(),i=t.coordinateSystem;if(e&&!function(t){return!isNaN(parseFloat(t.x))&&!isNaN(parseFloat(t.y))}(e)&&!Y(e.coord)&&i){var r=i.dimensions,o=jV(e,n,i,t);if((e=T(e)).type&&XV[e.type]&&o.baseAxis&&o.valueAxis){var a=P(r,o.baseAxis.dim),s=P(r,o.valueAxis.dim),l=XV[e.type](n,o.baseDataDim,o.valueDataDim,a,s);e.coord=l[0],e.value=l[1]}else{for(var u=[null!=e.xAxis?e.xAxis:e.radiusAxis,null!=e.yAxis?e.yAxis:e.angleAxis],h=0;h<2;h++)XV[u[h]]&&(u[h]=$V(n,n.mapDimension(r[h]),u[h]));e.coord=u}}return e}function jV(t,e,n,i){var r={};return null!=t.valueIndex||null!=t.valueDim?(r.valueDataDim=null!=t.valueIndex?e.getDimension(t.valueIndex):t.valueDim,r.valueAxis=n.getAxis(function(t,e){var n=t.getData().getDimensionInfo(e);return n&&n.coordDim}(i,r.valueDataDim)),r.baseAxis=n.getOtherAxis(r.valueAxis),r.baseDataDim=e.mapDimension(r.baseAxis.dim)):(r.baseAxis=i.getBaseAxis(),r.valueAxis=n.getOtherAxis(r.baseAxis),r.baseDataDim=e.mapDimension(r.baseAxis.dim),r.valueDataDim=e.mapDimension(r.valueAxis.dim)),r}function qV(t,e){return!(t&&t.containData&&e.coord&&!YV(e))||t.containData(e.coord)}function KV(t,e){return t?function(t,n,i,r){return yf(r<2?t.coord&&t.coord[r]:t.value,e[r])}:function(t,n,i,r){return yf(t.value,e[r])}}function $V(t,e,n){if("average"===n){var i=0,r=0;return t.each(e,(function(t,e){isNaN(t)||(i+=t,r++)})),i/r}return"median"===n?t.getMedian(e):t.getDataExtent(e)["max"===n?1:0]}var JV=Do(),QV=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.init=function(){this.markerGroupMap=ft()},e.prototype.render=function(t,e,n){var i=this,r=this.markerGroupMap;r.each((function(t){JV(t).keep=!1})),e.eachSeries((function(t){var r=WV.getMarkerModelFromSeries(t,i.type);r&&i.renderSeries(t,r,e,n)})),r.each((function(t){!JV(t).keep&&i.group.remove(t.group)}))},e.prototype.markKeep=function(t){JV(t).keep=!0},e.prototype.toggleBlurSeries=function(t,e){var n=this;E(t,(function(t){var i=WV.getMarkerModelFromSeries(t,n.type);i&&i.getData().eachItemGraphicEl((function(t){t&&(e?Cl(t):Dl(t))}))}))},e.type="marker",e}(mg);function tB(t,e,n){var i=e.coordinateSystem;t.each((function(r){var o,a=t.getItemModel(r),s=Gr(a.get("x"),n.getWidth()),l=Gr(a.get("y"),n.getHeight());if(isNaN(s)||isNaN(l)){if(e.getMarkerPosition)o=e.getMarkerPosition(t.getValues(t.dimensions,r));else if(i){var u=t.get(i.dimensions[0],r),h=t.get(i.dimensions[1],r);o=i.dataToPoint([u,h])}}else o=[s,l];isNaN(s)||(o[0]=s),isNaN(l)||(o[1]=l),t.setItemLayout(r,o)}))}var eB=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.updateTransform=function(t,e,n){e.eachSeries((function(t){var e=WV.getMarkerModelFromSeries(t,"markPoint");e&&(tB(e.getData(),t,n),this.markerGroupMap.get(t.id).updateLayout())}),this)},e.prototype.renderSeries=function(t,e,n,i){var r=t.coordinateSystem,o=t.id,a=t.getData(),s=this.markerGroupMap,l=s.get(o)||s.set(o,new Jw),u=function(t,e,n){var i;i=t?z(t&&t.dimensions,(function(t){return A(A({},e.getData().getDimensionInfo(e.getData().mapDimension(t))||{}),{name:t,ordinalMeta:null})})):[{name:"value",type:"float"}];var r=new Jm(i,n),o=z(n.get("data"),H(ZV,e));t&&(o=B(o,H(qV,t)));var a=KV(!!t,i);return r.initData(o,null,a),r}(r,t,e);e.setData(u),tB(e.getData(),t,i),u.each((function(t){var n=u.getItemModel(t),i=n.getShallow("symbol"),r=n.getShallow("symbolSize"),o=n.getShallow("symbolRotate"),s=n.getShallow("symbolOffset"),l=n.getShallow("symbolKeepAspect");if(U(i)||U(r)||U(o)||U(s)){var h=e.getRawValue(t),c=e.getDataParams(t);U(i)&&(i=i(h,c)),U(r)&&(r=r(h,c)),U(o)&&(o=o(h,c)),U(s)&&(s=s(h,c))}var p=n.getModel("itemStyle").getItemStyle(),d=my(a,"color");p.fill||(p.fill=d),u.setItemVisual(t,{symbol:i,symbolSize:r,symbolRotate:o,symbolOffset:s,symbolKeepAspect:l,style:p})})),l.updateData(u),this.group.add(l.group),u.eachItemGraphicEl((function(t){t.traverse((function(t){js(t).dataModel=e}))})),this.markKeep(l),l.group.silent=e.get("silent")||t.get("silent")},e.type="markPoint",e}(QV);var nB=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.createMarkerModelFromSeries=function(t,n,i){return new e(t,n,i)},e.type="markLine",e.defaultOption={z:5,symbol:["circle","arrow"],symbolSize:[8,16],symbolOffset:0,precision:2,tooltip:{trigger:"item"},label:{show:!0,position:"end",distance:5},lineStyle:{type:"dashed"},emphasis:{label:{show:!0},lineStyle:{width:3}},animationEasing:"linear"},e}(WV),iB=Do(),rB=function(t,e,n,i){var r,o=t.getData();if(Y(i))r=i;else{var a=i.type;if("min"===a||"max"===a||"average"===a||"median"===a||null!=i.xAxis||null!=i.yAxis){var s=void 0,l=void 0;if(null!=i.yAxis||null!=i.xAxis)s=e.getAxis(null!=i.yAxis?"y":"x"),l=it(i.yAxis,i.xAxis);else{var u=jV(i,o,e,t);s=u.valueAxis,l=$V(o,ax(o,u.valueDataDim),a)}var h="x"===s.dim?0:1,c=1-h,p=T(i),d={coord:[]};p.type=null,p.coord=[],p.coord[c]=-1/0,d.coord[c]=1/0;var f=n.get("precision");f>=0&&j(l)&&(l=+l.toFixed(Math.min(f,20))),p.coord[h]=d.coord[h]=l,r=[p,d,{type:a,valueIndex:i.valueIndex,value:l}]}else r=[]}var g=[ZV(t,r[0]),ZV(t,r[1]),A({},r[2])];return g[2].type=g[2].type||null,C(g[2],g[0]),C(g[2],g[1]),g};function oB(t){return!isNaN(t)&&!isFinite(t)}function aB(t,e,n,i){var r=1-t,o=i.dimensions[t];return oB(e[r])&&oB(n[r])&&e[t]===n[t]&&i.getAxis(o).containData(e[t])}function sB(t,e){if("cartesian2d"===t.type){var n=e[0].coord,i=e[1].coord;if(n&&i&&(aB(1,n,i,t)||aB(0,n,i,t)))return!0}return qV(t,e[0])&&qV(t,e[1])}function lB(t,e,n,i,r){var o,a=i.coordinateSystem,s=t.getItemModel(e),l=Gr(s.get("x"),r.getWidth()),u=Gr(s.get("y"),r.getHeight());if(isNaN(l)||isNaN(u)){if(i.getMarkerPosition)o=i.getMarkerPosition(t.getValues(t.dimensions,e));else{var h=a.dimensions,c=t.get(h[0],e),p=t.get(h[1],e);o=a.dataToPoint([c,p])}if(pS(a,"cartesian2d")){var d=a.getAxis("x"),f=a.getAxis("y");h=a.dimensions;oB(t.get(h[0],e))?o[0]=d.toGlobalCoord(d.getExtent()[n?0:1]):oB(t.get(h[1],e))&&(o[1]=f.toGlobalCoord(f.getExtent()[n?0:1]))}isNaN(l)||(o[0]=l),isNaN(u)||(o[1]=u)}else o=[l,u];t.setItemLayout(e,o)}var uB=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.updateTransform=function(t,e,n){e.eachSeries((function(t){var e=WV.getMarkerModelFromSeries(t,"markLine");if(e){var i=e.getData(),r=iB(e).from,o=iB(e).to;r.each((function(e){lB(r,e,!0,t,n),lB(o,e,!1,t,n)})),i.each((function(t){i.setItemLayout(t,[r.getItemLayout(t),o.getItemLayout(t)])})),this.markerGroupMap.get(t.id).updateLayout()}}),this)},e.prototype.renderSeries=function(t,e,n,i){var r=t.coordinateSystem,o=t.id,a=t.getData(),s=this.markerGroupMap,l=s.get(o)||s.set(o,new _A);this.group.add(l.group);var u=function(t,e,n){var i;i=t?z(t&&t.dimensions,(function(t){return A(A({},e.getData().getDimensionInfo(e.getData().mapDimension(t))||{}),{name:t,ordinalMeta:null})})):[{name:"value",type:"float"}];var r=new Jm(i,n),o=new Jm(i,n),a=new Jm([],n),s=z(n.get("data"),H(rB,e,t,n));t&&(s=B(s,H(sB,t)));var l=KV(!!t,i);return r.initData(z(s,(function(t){return t[0]})),null,l),o.initData(z(s,(function(t){return t[1]})),null,l),a.initData(z(s,(function(t){return t[2]}))),a.hasItemOption=!0,{from:r,to:o,line:a}}(r,t,e),h=u.from,c=u.to,p=u.line;iB(e).from=h,iB(e).to=c,e.setData(p);var d=e.get("symbol"),f=e.get("symbolSize"),g=e.get("symbolRotate"),y=e.get("symbolOffset");function v(e,n,r){var o=e.getItemModel(n);lB(e,n,r,t,i);var s=o.getModel("itemStyle").getItemStyle();null==s.fill&&(s.fill=my(a,"color")),e.setItemVisual(n,{symbolKeepAspect:o.get("symbolKeepAspect"),symbolOffset:rt(o.get("symbolOffset",!0),y[r?0:1]),symbolRotate:rt(o.get("symbolRotate",!0),g[r?0:1]),symbolSize:rt(o.get("symbolSize"),f[r?0:1]),symbol:rt(o.get("symbol",!0),d[r?0:1]),style:s})}Y(d)||(d=[d,d]),Y(f)||(f=[f,f]),Y(g)||(g=[g,g]),Y(y)||(y=[y,y]),u.from.each((function(t){v(h,t,!0),v(c,t,!1)})),p.each((function(t){var e=p.getItemModel(t).getModel("lineStyle").getLineStyle();p.setItemLayout(t,[h.getItemLayout(t),c.getItemLayout(t)]),null==e.stroke&&(e.stroke=h.getItemVisual(t,"style").fill),p.setItemVisual(t,{fromSymbolKeepAspect:h.getItemVisual(t,"symbolKeepAspect"),fromSymbolOffset:h.getItemVisual(t,"symbolOffset"),fromSymbolRotate:h.getItemVisual(t,"symbolRotate"),fromSymbolSize:h.getItemVisual(t,"symbolSize"),fromSymbol:h.getItemVisual(t,"symbol"),toSymbolKeepAspect:c.getItemVisual(t,"symbolKeepAspect"),toSymbolOffset:c.getItemVisual(t,"symbolOffset"),toSymbolRotate:c.getItemVisual(t,"symbolRotate"),toSymbolSize:c.getItemVisual(t,"symbolSize"),toSymbol:c.getItemVisual(t,"symbol"),style:e})})),l.updateData(p),u.line.eachItemGraphicEl((function(t){js(t).dataModel=e,t.traverse((function(t){js(t).dataModel=e}))})),this.markKeep(l),l.group.silent=e.get("silent")||t.get("silent")},e.type="markLine",e}(QV);var hB=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.createMarkerModelFromSeries=function(t,n,i){return new e(t,n,i)},e.type="markArea",e.defaultOption={z:1,tooltip:{trigger:"item"},animation:!1,label:{show:!0,position:"top"},itemStyle:{borderWidth:0},emphasis:{label:{show:!0,position:"top"}}},e}(WV),cB=Do(),pB=function(t,e,n,i){var r=ZV(t,i[0]),o=ZV(t,i[1]),a=r.coord,s=o.coord;a[0]=it(a[0],-1/0),a[1]=it(a[1],-1/0),s[0]=it(s[0],1/0),s[1]=it(s[1],1/0);var l=D([{},r,o]);return l.coord=[r.coord,o.coord],l.x0=r.x,l.y0=r.y,l.x1=o.x,l.y1=o.y,l};function dB(t){return!isNaN(t)&&!isFinite(t)}function fB(t,e,n,i){var r=1-t;return dB(e[r])&&dB(n[r])}function gB(t,e){var n=e.coord[0],i=e.coord[1],r={coord:n,x:e.x0,y:e.y0},o={coord:i,x:e.x1,y:e.y1};return pS(t,"cartesian2d")?!(!n||!i||!fB(1,n,i)&&!fB(0,n,i))||function(t,e,n){return!(t&&t.containZone&&e.coord&&n.coord&&!YV(e)&&!YV(n))||t.containZone(e.coord,n.coord)}(t,r,o):qV(t,r)||qV(t,o)}function yB(t,e,n,i,r){var o,a=i.coordinateSystem,s=t.getItemModel(e),l=Gr(s.get(n[0]),r.getWidth()),u=Gr(s.get(n[1]),r.getHeight());if(isNaN(l)||isNaN(u)){if(i.getMarkerPosition)o=i.getMarkerPosition(t.getValues(n,e));else{var h=[d=t.get(n[0],e),f=t.get(n[1],e)];a.clampData&&a.clampData(h,h),o=a.dataToPoint(h,!0)}if(pS(a,"cartesian2d")){var c=a.getAxis("x"),p=a.getAxis("y"),d=t.get(n[0],e),f=t.get(n[1],e);dB(d)?o[0]=c.toGlobalCoord(c.getExtent()["x0"===n[0]?0:1]):dB(f)&&(o[1]=p.toGlobalCoord(p.getExtent()["y0"===n[1]?0:1]))}isNaN(l)||(o[0]=l),isNaN(u)||(o[1]=u)}else o=[l,u];return o}var vB=[["x0","y0"],["x1","y0"],["x1","y1"],["x0","y1"]],mB=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.updateTransform=function(t,e,n){e.eachSeries((function(t){var e=WV.getMarkerModelFromSeries(t,"markArea");if(e){var i=e.getData();i.each((function(e){var r=z(vB,(function(r){return yB(i,e,r,t,n)}));i.setItemLayout(e,r),i.getItemGraphicEl(e).setShape("points",r)}))}}),this)},e.prototype.renderSeries=function(t,e,n,i){var r=t.coordinateSystem,o=t.id,a=t.getData(),s=this.markerGroupMap,l=s.get(o)||s.set(o,{group:new Pr});this.group.add(l.group),this.markKeep(l);var u=function(t,e,n){var i,r,o=["x0","y0","x1","y1"];if(t){var a=z(t&&t.dimensions,(function(t){var n=e.getData();return A(A({},n.getDimensionInfo(n.mapDimension(t))||{}),{name:t,ordinalMeta:null})}));r=z(o,(function(t,e){return{name:t,type:a[e%2].type}})),i=new Jm(r,n)}else i=new Jm(r=[{name:"value",type:"float"}],n);var s=z(n.get("data"),H(pB,e,t,n));t&&(s=B(s,H(gB,t)));var l=t?function(t,e,n,i){return yf(t.coord[Math.floor(i/2)][i%2],r[i])}:function(t,e,n,i){return yf(t.value,r[i])};return i.initData(s,null,l),i.hasItemOption=!0,i}(r,t,e);e.setData(u),u.each((function(e){var n=z(vB,(function(n){return yB(u,e,n,t,i)})),o=r.getAxis("x").scale,s=r.getAxis("y").scale,l=o.getExtent(),h=s.getExtent(),c=[o.parse(u.get("x0",e)),o.parse(u.get("x1",e))],p=[s.parse(u.get("y0",e)),s.parse(u.get("y1",e))];Hr(c),Hr(p);var d=!!(l[0]>c[1]||l[1]p[1]||h[1]=0},e.prototype.getOrient=function(){return"vertical"===this.get("orient")?{index:1,name:"vertical"}:{index:0,name:"horizontal"}},e.type="legend.plain",e.dependencies=["series"],e.defaultOption={z:4,show:!0,orient:"horizontal",left:"center",top:0,align:"auto",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemGap:10,itemWidth:25,itemHeight:14,symbolRotate:"inherit",symbolKeepAspect:!0,inactiveColor:"#ccc",inactiveBorderColor:"#ccc",inactiveBorderWidth:"auto",itemStyle:{color:"inherit",opacity:"inherit",borderColor:"inherit",borderWidth:"auto",borderCap:"inherit",borderJoin:"inherit",borderDashOffset:"inherit",borderMiterLimit:"inherit"},lineStyle:{width:"auto",color:"inherit",inactiveColor:"#ccc",inactiveWidth:2,opacity:"inherit",type:"inherit",cap:"inherit",join:"inherit",dashOffset:"inherit",miterLimit:"inherit"},textStyle:{color:"#333"},selectedMode:!0,selector:!1,selectorLabel:{show:!0,borderRadius:10,padding:[3,5,3,5],fontSize:12,fontFamily:"sans-serif",color:"#666",borderWidth:1,borderColor:"#666"},emphasis:{selectorLabel:{show:!0,color:"#eee",backgroundColor:"#666"}},selectorPosition:"auto",selectorItemGap:7,selectorButtonGap:10,tooltip:{show:!1}},e}(Ap),_B=H,bB=E,wB=Pr,SB=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.newlineDisabled=!1,n}return n(e,t),e.prototype.init=function(){this.group.add(this._contentGroup=new wB),this.group.add(this._selectorGroup=new wB),this._isFirstRender=!0},e.prototype.getContentGroup=function(){return this._contentGroup},e.prototype.getSelectorGroup=function(){return this._selectorGroup},e.prototype.render=function(t,e,n){var i=this._isFirstRender;if(this._isFirstRender=!1,this.resetInner(),t.get("show",!0)){var r=t.get("align"),o=t.get("orient");r&&"auto"!==r||(r="right"===t.get("left")&&"vertical"===o?"right":"left");var a=t.get("selector",!0),s=t.get("selectorPosition",!0);!a||s&&"auto"!==s||(s="horizontal"===o?"end":"start"),this.renderInner(r,t,e,n,a,o,s);var l=t.getBoxLayoutParams(),u={width:n.getWidth(),height:n.getHeight()},h=t.get("padding"),c=wp(l,u,h),p=this.layoutInner(t,r,c,i,a,s),d=wp(k({width:p.width,height:p.height},l),u,h);this.group.x=d.x-p.x,this.group.y=d.y-p.y,this.group.markRedraw(),this.group.add(this._backgroundEl=JE(p,t))}},e.prototype.resetInner=function(){this.getContentGroup().removeAll(),this._backgroundEl&&this.group.remove(this._backgroundEl),this.getSelectorGroup().removeAll()},e.prototype.renderInner=function(t,e,n,i,r,o,a){var s=this.getContentGroup(),l=ft(),u=e.get("selectedMode"),h=[];n.eachRawSeries((function(t){!t.get("legendHoverLink")&&h.push(t.id)})),bB(e.getData(),(function(r,o){var a=r.get("name");if(!this.newlineDisabled&&(""===a||"\n"===a)){var c=new wB;return c.newline=!0,void s.add(c)}var p=n.getSeriesByName(a)[0];if(!l.get(a)){if(p){var d=p.getData(),f=d.getVisual("legendLineStyle")||{},g=d.getVisual("legendIcon"),y=d.getVisual("style");this._createItem(p,a,o,r,e,t,f,y,g,u,i).on("click",_B(MB,a,null,i,h)).on("mouseover",_B(TB,p.name,null,i,h)).on("mouseout",_B(CB,p.name,null,i,h)),l.set(a,!0)}else n.eachRawSeries((function(n){if(!l.get(a)&&n.legendVisualProvider){var s=n.legendVisualProvider;if(!s.containName(a))return;var c=s.indexOfName(a),p=s.getItemVisual(c,"style"),d=s.getItemVisual(c,"legendIcon"),f=Xn(p.fill);f&&0===f[3]&&(f[3]=.2,p=A(A({},p),{fill:ei(f,"rgba")})),this._createItem(n,a,o,r,e,t,{},p,d,u,i).on("click",_B(MB,null,a,i,h)).on("mouseover",_B(TB,null,a,i,h)).on("mouseout",_B(CB,null,a,i,h)),l.set(a,!0)}}),this);0}}),this),r&&this._createSelector(r,e,i,o,a)},e.prototype._createSelector=function(t,e,n,i,r){var o=this.getSelectorGroup();bB(t,(function(t){var i=t.type,r=new Ns({style:{x:0,y:0,align:"center",verticalAlign:"middle"},onclick:function(){n.dispatchAction({type:"all"===i?"legendAllSelect":"legendInverseSelect"})}});o.add(r),qh(r,{normal:e.getModel("selectorLabel"),emphasis:e.getModel(["emphasis","selectorLabel"])},{defaultText:t.title}),Vl(r)}))},e.prototype._createItem=function(t,e,n,i,r,o,a,s,l,u,h){var c=t.visualDrawType,p=r.get("itemWidth"),d=r.get("itemHeight"),f=r.isSelected(e),g=i.get("symbolRotate"),y=i.get("symbolKeepAspect"),v=i.get("icon"),m=function(t,e,n,i,r,o,a){function s(t,e){"auto"===t.lineWidth&&(t.lineWidth=e.lineWidth>0?2:0),bB(t,(function(n,i){"inherit"===t[i]&&(t[i]=e[i])}))}var l=e.getModel("itemStyle"),u=l.getItemStyle(),h=0===t.lastIndexOf("empty",0)?"fill":"stroke",c=l.getShallow("decal");u.decal=c&&"inherit"!==c?sv(c,a):i.decal,"inherit"===u.fill&&(u.fill=i[r]);"inherit"===u.stroke&&(u.stroke=i[h]);"inherit"===u.opacity&&(u.opacity=("fill"===r?i:n).opacity);s(u,i);var p=e.getModel("lineStyle"),d=p.getLineStyle();if(s(d,n),"auto"===u.fill&&(u.fill=i.fill),"auto"===u.stroke&&(u.stroke=i.fill),"auto"===d.stroke&&(d.stroke=i.fill),!o){var f=e.get("inactiveBorderWidth"),g=u[h];u.lineWidth="auto"===f?i.lineWidth>0&&g?2:0:u.lineWidth,u.fill=e.get("inactiveColor"),u.stroke=e.get("inactiveBorderColor"),d.stroke=p.get("inactiveColor"),d.lineWidth=p.get("inactiveWidth")}return{itemStyle:u,lineStyle:d}}(l=v||l||"roundRect",i,a,s,c,f,h),x=new wB,_=i.getModel("textStyle");if(!U(t.getLegendIcon)||v&&"inherit"!==v){var b="inherit"===v&&t.getData().getVisual("symbol")?"inherit"===g?t.getData().getVisual("symbolRotate"):g:0;x.add(function(t){var e=t.icon||"roundRect",n=Ry(e,0,0,t.itemWidth,t.itemHeight,t.itemStyle.fill,t.symbolKeepAspect);n.setStyle(t.itemStyle),n.rotation=(t.iconRotate||0)*Math.PI/180,n.setOrigin([t.itemWidth/2,t.itemHeight/2]),e.indexOf("empty")>-1&&(n.style.stroke=n.style.fill,n.style.fill="#fff",n.style.lineWidth=2);return n}({itemWidth:p,itemHeight:d,icon:l,iconRotate:b,itemStyle:m.itemStyle,lineStyle:m.lineStyle,symbolKeepAspect:y}))}else x.add(t.getLegendIcon({itemWidth:p,itemHeight:d,icon:l,iconRotate:g,itemStyle:m.itemStyle,lineStyle:m.lineStyle,symbolKeepAspect:y}));var w="left"===o?p+5:-5,S=o,M=r.get("formatter"),I=e;X(M)&&M?I=M.replace("{name}",null!=e?e:""):U(M)&&(I=M(e));var T=i.get("inactiveColor");x.add(new Ns({style:$h(_,{text:I,x:w,y:d/2,fill:f?_.getTextColor():T,align:S,verticalAlign:"middle"})}));var C=new Ps({shape:x.getBoundingRect(),invisible:!0}),D=i.getModel("tooltip");return D.get("show")&&Wh({el:C,componentModel:r,itemName:e,itemTooltipOption:D.option}),x.add(C),x.eachChild((function(t){t.silent=!0})),C.silent=!u,this.getContentGroup().add(x),Vl(x),x.__legendDataIndex=n,x},e.prototype.layoutInner=function(t,e,n,i,r,o){var a=this.getContentGroup(),s=this.getSelectorGroup();bp(t.get("orient"),a,t.get("itemGap"),n.width,n.height);var l=a.getBoundingRect(),u=[-l.x,-l.y];if(s.markRedraw(),a.markRedraw(),r){bp("horizontal",s,t.get("selectorItemGap",!0));var h=s.getBoundingRect(),c=[-h.x,-h.y],p=t.get("selectorButtonGap",!0),d=t.getOrient().index,f=0===d?"width":"height",g=0===d?"height":"width",y=0===d?"y":"x";"end"===o?c[d]+=l[f]+p:u[d]+=h[f]+p,c[1-d]+=l[g]/2-h[g]/2,s.x=c[0],s.y=c[1],a.x=u[0],a.y=u[1];var v={x:0,y:0};return v[f]=l[f]+p+h[f],v[g]=Math.max(l[g],h[g]),v[y]=Math.min(0,h[y]+c[1-d]),v}return a.x=u[0],a.y=u[1],this.group.getBoundingRect()},e.prototype.remove=function(){this.getContentGroup().removeAll(),this._isFirstRender=!0},e.type="legend.plain",e}(mg);function MB(t,e,n,i){CB(t,e,n,i),n.dispatchAction({type:"legendToggleSelect",name:null!=t?t:e}),TB(t,e,n,i)}function IB(t){for(var e,n=t.getZr().storage.getDisplayList(),i=0,r=n.length;in[r],f=[-c.x,-c.y];e||(f[i]=l[s]);var g=[0,0],y=[-p.x,-p.y],v=rt(t.get("pageButtonGap",!0),t.get("itemGap",!0));d&&("end"===t.get("pageButtonPosition",!0)?y[i]+=n[r]-p[r]:g[i]+=p[r]+v);y[1-i]+=c[o]/2-p[o]/2,l.setPosition(f),u.setPosition(g),h.setPosition(y);var m={x:0,y:0};if(m[r]=d?n[r]:c[r],m[o]=Math.max(c[o],p[o]),m[a]=Math.min(0,p[a]+y[1-i]),u.__rectSize=n[r],d){var x={x:0,y:0};x[r]=Math.max(n[r]-p[r]-v,0),x[o]=m[o],u.setClipPath(new Ps({shape:x})),u.__rectSize=x[r]}else h.eachChild((function(t){t.attr({invisible:!0,silent:!0})}));var _=this._getPageInfo(t);return null!=_.pageIndex&&uh(l,{x:_.contentPosition[0],y:_.contentPosition[1]},d?t:null),this._updatePageInfoView(t,_),m},e.prototype._pageGo=function(t,e,n){var i=this._getPageInfo(e)[t];null!=i&&n.dispatchAction({type:"legendScroll",scrollDataIndex:i,legendId:e.id})},e.prototype._updatePageInfoView=function(t,e){var n=this._controllerGroup;E(["pagePrev","pageNext"],(function(i){var r=null!=e[i+"DataIndex"],o=n.childOfName(i);o&&(o.setStyle("fill",r?t.get("pageIconColor",!0):t.get("pageIconInactiveColor",!0)),o.cursor=r?"pointer":"default")}));var i=n.childOfName("pageText"),r=t.get("pageFormatter"),o=e.pageIndex,a=null!=o?o+1:0,s=e.pageCount;i&&r&&i.setStyle("text",X(r)?r.replace("{current}",null==a?"":a+"").replace("{total}",null==s?"":s+""):r({current:a,total:s}))},e.prototype._getPageInfo=function(t){var e=t.get("scrollDataIndex",!0),n=this.getContentGroup(),i=this._containerGroup.__rectSize,r=t.getOrient().index,o=RB[r],a=NB[r],s=this._findTargetItemIndex(e),l=n.children(),u=l[s],h=l.length,c=h?1:0,p={contentPosition:[n.x,n.y],pageCount:c,pageIndex:c-1,pagePrevDataIndex:null,pageNextDataIndex:null};if(!u)return p;var d=m(u);p.contentPosition[r]=-d.s;for(var f=s+1,g=d,y=d,v=null;f<=h;++f)(!(v=m(l[f]))&&y.e>g.s+i||v&&!x(v,g.s))&&(g=y.i>g.i?y:v)&&(null==p.pageNextDataIndex&&(p.pageNextDataIndex=g.i),++p.pageCount),y=v;for(f=s-1,g=d,y=d,v=null;f>=-1;--f)(v=m(l[f]))&&x(y,v.s)||!(g.i=e&&t.s<=e+i}},e.prototype._findTargetItemIndex=function(t){return this._showController?(this.getContentGroup().eachChild((function(i,r){var o=i.__legendDataIndex;null==n&&null!=o&&(n=r),o===t&&(e=r)})),null!=e?e:n):0;var e,n},e.type="legend.scroll",e}(SB);function zB(t){Im(kB),t.registerComponentModel(LB),t.registerComponentView(EB),function(t){t.registerAction("legendScroll","legendscroll",(function(t,e){var n=t.scrollDataIndex;null!=n&&e.eachComponent({mainType:"legend",subType:"scroll",query:t},(function(t){t.setScrollDataIndex(n)}))}))}(t)}var VB=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.type="dataZoom.inside",e.defaultOption=wc(NE.defaultOption,{disabled:!1,zoomLock:!1,zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0}),e}(NE),BB=Do();function FB(t,e,n){BB(t).coordSysRecordMap.each((function(t){var i=t.dataZoomInfoMap.get(e.uid);i&&(i.getRange=n)}))}function GB(t,e){if(e){t.removeKey(e.model.uid);var n=e.controller;n&&n.dispose()}}function WB(t,e){t.isDisposed()||t.dispatchAction({type:"dataZoom",animation:{easing:"cubicOut",duration:100},batch:e})}function HB(t,e,n,i){return t.coordinateSystem.containPoint([n,i])}function YB(t){t.registerProcessor(t.PRIORITY.PROCESSOR.FILTER,(function(t,e){var n=BB(e),i=n.coordSysRecordMap||(n.coordSysRecordMap=ft());i.each((function(t){t.dataZoomInfoMap=null})),t.eachComponent({mainType:"dataZoom",subType:"inside"},(function(t){E(OE(t).infoList,(function(n){var r=n.model.uid,o=i.get(r)||i.set(r,function(t,e){var n={model:e,containsPoint:H(HB,e),dispatchAction:H(WB,t),dataZoomInfoMap:null,controller:null},i=n.controller=new OI(t.getZr());return E(["pan","zoom","scrollMove"],(function(t){i.on(t,(function(e){var i=[];n.dataZoomInfoMap.each((function(r){if(e.isAvailableBehavior(r.model.option)){var o=(r.getRange||{})[t],a=o&&o(r.dzReferCoordSysInfo,n.model.mainType,n.controller,e);!r.model.get("disabled",!0)&&a&&i.push({dataZoomId:r.model.id,start:a[0],end:a[1]})}})),i.length&&n.dispatchAction(i)}))})),n}(e,n.model));(o.dataZoomInfoMap||(o.dataZoomInfoMap=ft())).set(t.uid,{dzReferCoordSysInfo:n,model:t,getRange:null})}))})),i.each((function(t){var e,n=t.controller,r=t.dataZoomInfoMap;if(r){var o=r.keys()[0];null!=o&&(e=r.get(o))}if(e){var a=function(t){var e,n="type_",i={type_true:2,type_move:1,type_false:0,type_undefined:-1},r=!0;return t.each((function(t){var o=t.model,a=!o.get("disabled",!0)&&(!o.get("zoomLock",!0)||"move");i[n+a]>i[n+e]&&(e=a),r=r&&o.get("preventDefaultMouseMove",!0)})),{controlType:e,opt:{zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!0,preventDefaultMouseMove:!!r}}}(r);n.enable(a.controlType,a.opt),n.setPointerChecker(t.containsPoint),Pg(t,"dispatchAction",e.model.get("throttle",!0),"fixRate")}else GB(i,t)}))}))}var UB=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="dataZoom.inside",e}return n(e,t),e.prototype.render=function(e,n,i){t.prototype.render.apply(this,arguments),e.noTarget()?this._clear():(this.range=e.getPercentRange(),FB(i,e,{pan:W(XB.pan,this),zoom:W(XB.zoom,this),scrollMove:W(XB.scrollMove,this)}))},e.prototype.dispose=function(){this._clear(),t.prototype.dispose.apply(this,arguments)},e.prototype._clear=function(){!function(t,e){for(var n=BB(t).coordSysRecordMap,i=n.keys(),r=0;r0?s.pixelStart+s.pixelLength-s.pixel:s.pixel-s.pixelStart)/s.pixelLength*(o[1]-o[0])+o[0],u=Math.max(1/i.scale,0);o[0]=(o[0]-l)*u+l,o[1]=(o[1]-l)*u+l;var h=this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();return dk(0,o,[0,100],0,h.minSpan,h.maxSpan),this.range=o,r[0]!==o[0]||r[1]!==o[1]?o:void 0}},pan:ZB((function(t,e,n,i,r,o){var a=jB[i]([o.oldX,o.oldY],[o.newX,o.newY],e,r,n);return a.signal*(t[1]-t[0])*a.pixel/a.pixelLength})),scrollMove:ZB((function(t,e,n,i,r,o){return jB[i]([0,0],[o.scrollDelta,o.scrollDelta],e,r,n).signal*(t[1]-t[0])*o.scrollDelta}))};function ZB(t){return function(e,n,i,r){var o=this.range,a=o.slice(),s=e.axisModels[0];if(s)return dk(t(a,s,e,n,i,r),a,[0,100],"all"),this.range=a,o[0]!==a[0]||o[1]!==a[1]?a:void 0}}var jB={grid:function(t,e,n,i,r){var o=n.axis,a={},s=r.model.coordinateSystem.getRect();return t=t||[0,0],"x"===o.dim?(a.pixel=e[0]-t[0],a.pixelLength=s.width,a.pixelStart=s.x,a.signal=o.inverse?1:-1):(a.pixel=e[1]-t[1],a.pixelLength=s.height,a.pixelStart=s.y,a.signal=o.inverse?-1:1),a},polar:function(t,e,n,i,r){var o=n.axis,a={},s=r.model.coordinateSystem,l=s.getRadiusAxis().getExtent(),u=s.getAngleAxis().getExtent();return t=t?s.pointToCoord(t):[0,0],e=s.pointToCoord(e),"radiusAxis"===n.mainType?(a.pixel=e[0]-t[0],a.pixelLength=l[1]-l[0],a.pixelStart=l[0],a.signal=o.inverse?1:-1):(a.pixel=e[1]-t[1],a.pixelLength=u[1]-u[0],a.pixelStart=u[0],a.signal=o.inverse?-1:1),a},singleAxis:function(t,e,n,i,r){var o=n.axis,a=r.model.coordinateSystem.getRect(),s={};return t=t||[0,0],"horizontal"===o.orient?(s.pixel=e[0]-t[0],s.pixelLength=a.width,s.pixelStart=a.x,s.signal=o.inverse?1:-1):(s.pixel=e[1]-t[1],s.pixelLength=a.height,s.pixelStart=a.y,s.signal=o.inverse?-1:1),s}};function qB(t){UE(t),t.registerComponentModel(VB),t.registerComponentView(UB),YB(t)}var KB=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.type="dataZoom.slider",e.layoutMode="box",e.defaultOption=wc(NE.defaultOption,{show:!0,right:"ph",top:"ph",width:"ph",height:"ph",left:null,bottom:null,borderColor:"#d2dbee",borderRadius:3,backgroundColor:"rgba(47,69,84,0)",dataBackground:{lineStyle:{color:"#d2dbee",width:.5},areaStyle:{color:"#d2dbee",opacity:.2}},selectedDataBackground:{lineStyle:{color:"#8fb0f7",width:.5},areaStyle:{color:"#8fb0f7",opacity:.2}},fillerColor:"rgba(135,175,274,0.2)",handleIcon:"path://M-9.35,34.56V42m0-40V9.5m-2,0h4a2,2,0,0,1,2,2v21a2,2,0,0,1-2,2h-4a2,2,0,0,1-2-2v-21A2,2,0,0,1-11.35,9.5Z",handleSize:"100%",handleStyle:{color:"#fff",borderColor:"#ACB8D1"},moveHandleSize:7,moveHandleIcon:"path://M-320.9-50L-320.9-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-348-41-339-50-320.9-50z M-212.3-50L-212.3-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-239.4-41-230.4-50-212.3-50z M-103.7-50L-103.7-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-130.9-41-121.8-50-103.7-50z",moveHandleStyle:{color:"#D2DBEE",opacity:.7},showDetail:!0,showDataShadow:"auto",realtime:!0,zoomLock:!1,textStyle:{color:"#6E7079"},brushSelect:!0,brushStyle:{color:"rgba(135,175,274,0.15)"},emphasis:{handleStyle:{borderColor:"#8FB0F7"},moveHandleStyle:{color:"#8FB0F7"}}}),e}(NE),$B=Ps,JB="horizontal",QB="vertical",tF=["line","bar","candlestick","scatter"],eF={easing:"cubicOut",duration:100,delay:0},nF=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n._displayables={},n}return n(e,t),e.prototype.init=function(t,e){this.api=e,this._onBrush=W(this._onBrush,this),this._onBrushEnd=W(this._onBrushEnd,this)},e.prototype.render=function(e,n,i,r){if(t.prototype.render.apply(this,arguments),Pg(this,"_dispatchZoomAction",e.get("throttle"),"fixRate"),this._orient=e.getOrient(),!1!==e.get("show")){if(e.noTarget())return this._clear(),void this.group.removeAll();r&&"dataZoom"===r.type&&r.from===this.uid||this._buildView(),this._updateView()}else this.group.removeAll()},e.prototype.dispose=function(){this._clear(),t.prototype.dispose.apply(this,arguments)},e.prototype._clear=function(){Og(this,"_dispatchZoomAction");var t=this.api.getZr();t.off("mousemove",this._onBrush),t.off("mouseup",this._onBrushEnd)},e.prototype._buildView=function(){var t=this.group;t.removeAll(),this._brushing=!1,this._displayables.brushRect=null,this._resetLocation(),this._resetInterval();var e=this._displayables.sliderGroup=new Pr;this._renderBackground(),this._renderHandle(),this._renderDataShadow(),t.add(e),this._positionGroup()},e.prototype._resetLocation=function(){var t=this.dataZoomModel,e=this.api,n=t.get("brushSelect")?7:0,i=this._findCoordRect(),r={width:e.getWidth(),height:e.getHeight()},o=this._orient===JB?{right:r.width-i.x-i.width,top:r.height-30-7-n,width:i.width,height:30}:{right:7,top:i.y,width:30,height:i.height},a=Tp(t.option);E(["right","top","width","height"],(function(t){"ph"===a[t]&&(a[t]=o[t])}));var s=wp(a,r);this._location={x:s.x,y:s.y},this._size=[s.width,s.height],this._orient===QB&&this._size.reverse()},e.prototype._positionGroup=function(){var t=this.group,e=this._location,n=this._orient,i=this.dataZoomModel.getFirstTargetAxisModel(),r=i&&i.get("inverse"),o=this._displayables.sliderGroup,a=(this._dataShadowInfo||{}).otherAxisInverse;o.attr(n!==JB||r?n===JB&&r?{scaleY:a?1:-1,scaleX:-1}:n!==QB||r?{scaleY:a?-1:1,scaleX:-1,rotation:Math.PI/2}:{scaleY:a?-1:1,scaleX:1,rotation:Math.PI/2}:{scaleY:a?1:-1,scaleX:1});var s=t.getBoundingRect([o]);t.x=e.x-s.x,t.y=e.y-s.y,t.markRedraw()},e.prototype._getViewExtent=function(){return[0,this._size[0]]},e.prototype._renderBackground=function(){var t=this.dataZoomModel,e=this._size,n=this._displayables.sliderGroup,i=t.get("brushSelect");n.add(new $B({silent:!0,shape:{x:0,y:0,width:e[0],height:e[1]},style:{fill:t.get("backgroundColor")},z2:-40}));var r=new $B({shape:{x:0,y:0,width:e[0],height:e[1]},style:{fill:"transparent"},z2:0,onclick:W(this._onClickPanel,this)}),o=this.api.getZr();i?(r.on("mousedown",this._onBrushStart,this),r.cursor="crosshair",o.on("mousemove",this._onBrush),o.on("mouseup",this._onBrushEnd)):(o.off("mousemove",this._onBrush),o.off("mouseup",this._onBrushEnd)),n.add(r)},e.prototype._renderDataShadow=function(){var t=this._dataShadowInfo=this._prepareDataShadowInfo();if(this._displayables.dataShadowSegs=[],t){var e=this._size,n=this._shadowSize||[],i=t.series,r=i.getRawData(),o=i.getShadowDim&&i.getShadowDim(),a=o&&r.getDimensionInfo(o)?i.getShadowDim():t.otherDim;if(null!=a){var s=this._shadowPolygonPts,l=this._shadowPolylinePts;if(r!==this._shadowData||a!==this._shadowDim||e[0]!==n[0]||e[1]!==n[1]){var u=r.getDataExtent(a),h=.3*(u[1]-u[0]);u=[u[0]-h,u[1]+h];var c,p=[0,e[1]],d=[0,e[0]],f=[[e[0],0],[0,0]],g=[],y=d[1]/(r.count()-1),v=0,m=Math.round(r.count()/e[0]);r.each([a],(function(t,e){if(m>0&&e%m)v+=y;else{var n=null==t||isNaN(t)||""===t,i=n?0:Fr(t,u,p,!0);n&&!c&&e?(f.push([f[f.length-1][0],0]),g.push([g[g.length-1][0],0])):!n&&c&&(f.push([v,0]),g.push([v,0])),f.push([v,i]),g.push([v,i]),v+=y,c=n}})),s=this._shadowPolygonPts=f,l=this._shadowPolylinePts=g}this._shadowData=r,this._shadowDim=a,this._shadowSize=[e[0],e[1]];for(var x=this.dataZoomModel,_=0;_<3;_++){var b=w(1===_);this._displayables.sliderGroup.add(b),this._displayables.dataShadowSegs.push(b)}}}function w(t){var e=x.getModel(t?"selectedDataBackground":"dataBackground"),n=new Pr,i=new zu({shape:{points:s},segmentIgnoreThreshold:1,style:e.getModel("areaStyle").getAreaStyle(),silent:!0,z2:-20}),r=new Bu({shape:{points:l},segmentIgnoreThreshold:1,style:e.getModel("lineStyle").getLineStyle(),silent:!0,z2:-19});return n.add(i),n.add(r),n}},e.prototype._prepareDataShadowInfo=function(){var t=this.dataZoomModel,e=t.get("showDataShadow");if(!1!==e){var n,i=this.ecModel;return t.eachTargetAxis((function(r,o){E(t.getAxisProxy(r,o).getTargetSeriesModels(),(function(t){if(!(n||!0!==e&&P(tF,t.get("type"))<0)){var a,s=i.getComponent(LE(r),o).axis,l={x:"y",y:"x",radius:"angle",angle:"radius"}[r],u=t.coordinateSystem;null!=l&&u.getOtherAxis&&(a=u.getOtherAxis(s).inverse),l=t.getData().mapDimension(l),n={thisAxis:s,series:t,thisDim:r,otherDim:l,otherAxisInverse:a}}}),this)}),this),n}},e.prototype._renderHandle=function(){var t=this.group,e=this._displayables,n=e.handles=[null,null],i=e.handleLabels=[null,null],r=this._displayables.sliderGroup,o=this._size,a=this.dataZoomModel,s=this.api,l=a.get("borderRadius")||0,u=a.get("brushSelect"),h=e.filler=new $B({silent:u,style:{fill:a.get("fillerColor")},textConfig:{position:"inside"}});r.add(h),r.add(new $B({silent:!0,subPixelOptimize:!0,shape:{x:0,y:0,width:o[0],height:o[1],r:l},style:{stroke:a.get("dataBackgroundColor")||a.get("borderColor"),lineWidth:1,fill:"rgba(0,0,0,0)"}})),E([0,1],(function(e){var o=a.get("handleIcon");!Ly[o]&&o.indexOf("path://")<0&&o.indexOf("image://")<0&&(o="path://"+o);var s=Ry(o,-1,0,2,2,null,!0);s.attr({cursor:iF(this._orient),draggable:!0,drift:W(this._onDragMove,this,e),ondragend:W(this._onDragEnd,this),onmouseover:W(this._showDataInfo,this,!0),onmouseout:W(this._showDataInfo,this,!1),z2:5});var l=s.getBoundingRect(),u=a.get("handleSize");this._handleHeight=Gr(u,this._size[1]),this._handleWidth=l.width/l.height*this._handleHeight,s.setStyle(a.getModel("handleStyle").getItemStyle()),s.style.strokeNoScale=!0,s.rectHover=!0,s.ensureState("emphasis").style=a.getModel(["emphasis","handleStyle"]).getItemStyle(),Vl(s);var h=a.get("handleColor");null!=h&&(s.style.fill=h),r.add(n[e]=s);var c=a.getModel("textStyle");t.add(i[e]=new Ns({silent:!0,invisible:!0,style:$h(c,{x:0,y:0,text:"",verticalAlign:"middle",align:"center",fill:c.getTextColor(),font:c.getFont()}),z2:10}))}),this);var c=h;if(u){var p=Gr(a.get("moveHandleSize"),o[1]),d=e.moveHandle=new Ps({style:a.getModel("moveHandleStyle").getItemStyle(),silent:!0,shape:{r:[0,0,2,2],y:o[1]-.5,height:p}}),f=.8*p,g=e.moveHandleIcon=Ry(a.get("moveHandleIcon"),-f/2,-f/2,f,f,"#fff",!0);g.silent=!0,g.y=o[1]+p/2-.5,d.ensureState("emphasis").style=a.getModel(["emphasis","moveHandleStyle"]).getItemStyle();var y=Math.min(o[1]/2,Math.max(p,10));(c=e.moveZone=new Ps({invisible:!0,shape:{y:o[1]-y,height:p+y}})).on("mouseover",(function(){s.enterEmphasis(d)})).on("mouseout",(function(){s.leaveEmphasis(d)})),r.add(d),r.add(g),r.add(c)}c.attr({draggable:!0,cursor:iF(this._orient),drift:W(this._onDragMove,this,"all"),ondragstart:W(this._showDataInfo,this,!0),ondragend:W(this._onDragEnd,this),onmouseover:W(this._showDataInfo,this,!0),onmouseout:W(this._showDataInfo,this,!1)})},e.prototype._resetInterval=function(){var t=this._range=this.dataZoomModel.getPercentRange(),e=this._getViewExtent();this._handleEnds=[Fr(t[0],[0,100],e,!0),Fr(t[1],[0,100],e,!0)]},e.prototype._updateInterval=function(t,e){var n=this.dataZoomModel,i=this._handleEnds,r=this._getViewExtent(),o=n.findRepresentativeAxisProxy().getMinMaxSpan(),a=[0,100];dk(e,i,r,n.get("zoomLock")?"all":t,null!=o.minSpan?Fr(o.minSpan,a,r,!0):null,null!=o.maxSpan?Fr(o.maxSpan,a,r,!0):null);var s=this._range,l=this._range=Hr([Fr(i[0],r,a,!0),Fr(i[1],r,a,!0)]);return!s||s[0]!==l[0]||s[1]!==l[1]},e.prototype._updateView=function(t){var e=this._displayables,n=this._handleEnds,i=Hr(n.slice()),r=this._size;E([0,1],(function(t){var i=e.handles[t],o=this._handleHeight;i.attr({scaleX:o/2,scaleY:o/2,x:n[t]+(t?-1:1),y:r[1]/2-o/2})}),this),e.filler.setShape({x:i[0],y:0,width:i[1]-i[0],height:r[1]});var o={x:i[0],width:i[1]-i[0]};e.moveHandle&&(e.moveHandle.setShape(o),e.moveZone.setShape(o),e.moveZone.getBoundingRect(),e.moveHandleIcon&&e.moveHandleIcon.attr("x",o.x+o.width/2));for(var a=e.dataShadowSegs,s=[0,i[0],i[1],r[0]],l=0;le[0]||n[1]<0||n[1]>e[1])){var i=this._handleEnds,r=(i[0]+i[1])/2,o=this._updateInterval("all",n[0]-r);this._updateView(),o&&this._dispatchZoomAction(!1)}},e.prototype._onBrushStart=function(t){var e=t.offsetX,n=t.offsetY;this._brushStart=new Ie(e,n),this._brushing=!0,this._brushStartTime=+new Date},e.prototype._onBrushEnd=function(t){if(this._brushing){var e=this._displayables.brushRect;if(this._brushing=!1,e){e.attr("ignore",!0);var n=e.shape;if(!(+new Date-this._brushStartTime<200&&Math.abs(n.width)<5)){var i=this._getViewExtent(),r=[0,100];this._range=Hr([Fr(n.x,i,r,!0),Fr(n.x+n.width,i,r,!0)]),this._handleEnds=[n.x,n.x+n.width],this._updateView(),this._dispatchZoomAction(!1)}}}},e.prototype._onBrush=function(t){this._brushing&&(he(t.event),this._updateBrushRect(t.offsetX,t.offsetY))},e.prototype._updateBrushRect=function(t,e){var n=this._displayables,i=this.dataZoomModel,r=n.brushRect;r||(r=n.brushRect=new $B({silent:!0,style:i.getModel("brushStyle").getItemStyle()}),n.sliderGroup.add(r)),r.attr("ignore",!1);var o=this._brushStart,a=this._displayables.sliderGroup,s=a.transformCoordToLocal(t,e),l=a.transformCoordToLocal(o.x,o.y),u=this._size;s[0]=Math.max(Math.min(u[0],s[0]),0),r.setShape({x:l[0],y:0,width:s[0]-l[0],height:u[1]})},e.prototype._dispatchZoomAction=function(t){var e=this._range;this.api.dispatchAction({type:"dataZoom",from:this.uid,dataZoomId:this.dataZoomModel.id,animation:t?eF:null,start:e[0],end:e[1]})},e.prototype._findCoordRect=function(){var t,e=OE(this.dataZoomModel).infoList;if(!t&&e.length){var n=e[0].model.coordinateSystem;t=n.getRect&&n.getRect()}if(!t){var i=this.api.getWidth(),r=this.api.getHeight();t={x:.2*i,y:.2*r,width:.6*i,height:.6*r}}return t},e.type="dataZoom.slider",e}(VE);function iF(t){return"vertical"===t?"ns-resize":"ew-resize"}function rF(t){t.registerComponentModel(KB),t.registerComponentView(nF),UE(t)}var oF=function(t,e,n){var i=T((aF[t]||{})[e]);return n&&Y(i)?i[i.length-1]:i},aF={color:{active:["#006edd","#e0ffff"],inactive:["rgba(0,0,0,0)"]},colorHue:{active:[0,360],inactive:[0,0]},colorSaturation:{active:[.3,1],inactive:[0,0]},colorLightness:{active:[.9,.5],inactive:[0,0]},colorAlpha:{active:[.3,1],inactive:[0,0]},opacity:{active:[.3,1],inactive:[0,0]},symbol:{active:["circle","roundRect","diamond"],inactive:["none"]},symbolSize:{active:[10,50],inactive:[0,0]}},sF=sD.mapVisual,lF=sD.eachVisual,uF=Y,hF=E,cF=Hr,pF=Fr,dF=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.stateList=["inRange","outOfRange"],n.replacableOptionKeys=["inRange","outOfRange","target","controller","color"],n.layoutMode={type:"box",ignoreSize:!0},n.dataBound=[-1/0,1/0],n.targetVisuals={},n.controllerVisuals={},n}return n(e,t),e.prototype.init=function(t,e,n){this.mergeDefaultAndTheme(t,n)},e.prototype.optionUpdated=function(t,e){var n=this.option;!e&&sV(n,t,this.replacableOptionKeys),this.textStyleModel=this.getModel("textStyle"),this.resetItemSize(),this.completeVisualOption()},e.prototype.resetVisual=function(t){var e=this.stateList;t=W(t,this),this.controllerVisuals=aV(this.option.controller,e,t),this.targetVisuals=aV(this.option.target,e,t)},e.prototype.getItemSymbol=function(){return null},e.prototype.getTargetSeriesIndices=function(){var t=this.option.seriesIndex,e=[];return null==t||"all"===t?this.ecModel.eachSeries((function(t,n){e.push(n)})):e=yo(t),e},e.prototype.eachTargetSeries=function(t,e){E(this.getTargetSeriesIndices(),(function(n){var i=this.ecModel.getSeriesByIndex(n);i&&t.call(e,i)}),this)},e.prototype.isTargetSeries=function(t){var e=!1;return this.eachTargetSeries((function(n){n===t&&(e=!0)})),e},e.prototype.formatValueText=function(t,e,n){var i,r=this.option,o=r.precision,a=this.dataBound,s=r.formatter;n=n||["<",">"],Y(t)&&(t=t.slice(),i=!0);var l=e?t:i?[u(t[0]),u(t[1])]:u(t);return X(s)?s.replace("{value}",i?l[0]:l).replace("{value2}",i?l[1]:l):U(s)?i?s(t[0],t[1]):s(t):i?t[0]===a[0]?n[0]+" "+l[1]:t[1]===a[1]?n[1]+" "+l[0]:l[0]+" - "+l[1]:l;function u(t){return t===a[0]?"min":t===a[1]?"max":(+t).toFixed(Math.min(o,20))}},e.prototype.resetExtent=function(){var t=this.option,e=cF([t.min,t.max]);this._dataExtent=e},e.prototype.getDataDimensionIndex=function(t){var e=this.option.dimension;if(null!=e)return t.getDimensionIndex(e);for(var n=t.dimensions,i=n.length-1;i>=0;i--){var r=n[i],o=t.getDimensionInfo(r);if(!o.isCalculationCoord)return o.storeDimIndex}},e.prototype.getExtent=function(){return this._dataExtent.slice()},e.prototype.completeVisualOption=function(){var t=this.ecModel,e=this.option,n={inRange:e.inRange,outOfRange:e.outOfRange},i=e.target||(e.target={}),r=e.controller||(e.controller={});C(i,n),C(r,n);var o=this.isCategory();function a(n){uF(e.color)&&!n.inRange&&(n.inRange={color:e.color.slice().reverse()}),n.inRange=n.inRange||{color:t.get("gradientColor")}}a.call(this,i),a.call(this,r),function(t,e,n){var i=t[e],r=t[n];i&&!r&&(r=t[n]={},hF(i,(function(t,e){if(sD.isValidType(e)){var n=oF(e,"inactive",o);null!=n&&(r[e]=n,"color"!==e||r.hasOwnProperty("opacity")||r.hasOwnProperty("colorAlpha")||(r.opacity=[0,0]))}})))}.call(this,i,"inRange","outOfRange"),function(t){var e=(t.inRange||{}).symbol||(t.outOfRange||{}).symbol,n=(t.inRange||{}).symbolSize||(t.outOfRange||{}).symbolSize,i=this.get("inactiveColor"),r=this.getItemSymbol()||"roundRect";hF(this.stateList,(function(a){var s=this.itemSize,l=t[a];l||(l=t[a]={color:o?i:[i]}),null==l.symbol&&(l.symbol=e&&T(e)||(o?r:[r])),null==l.symbolSize&&(l.symbolSize=n&&T(n)||(o?s[0]:[s[0],s[0]])),l.symbol=sF(l.symbol,(function(t){return"none"===t?r:t}));var u=l.symbolSize;if(null!=u){var h=-1/0;lF(u,(function(t){t>h&&(h=t)})),l.symbolSize=sF(u,(function(t){return pF(t,[0,h],[0,s[0]],!0)}))}}),this)}.call(this,r)},e.prototype.resetItemSize=function(){this.itemSize=[parseFloat(this.get("itemWidth")),parseFloat(this.get("itemHeight"))]},e.prototype.isCategory=function(){return!!this.option.categories},e.prototype.setSelected=function(t){},e.prototype.getSelected=function(){return null},e.prototype.getValueState=function(t){return null},e.prototype.getVisualMeta=function(t){return null},e.type="visualMap",e.dependencies=["series"],e.defaultOption={show:!0,z:4,seriesIndex:"all",min:0,max:200,left:0,right:null,top:null,bottom:0,itemWidth:null,itemHeight:null,inverse:!1,orient:"vertical",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",contentColor:"#5793f3",inactiveColor:"#aaa",borderWidth:0,padding:5,textGap:10,precision:0,textStyle:{color:"#333"}},e}(Ap),fF=[20,140],gF=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.optionUpdated=function(e,n){t.prototype.optionUpdated.apply(this,arguments),this.resetExtent(),this.resetVisual((function(t){t.mappingMethod="linear",t.dataExtent=this.getExtent()})),this._resetRange()},e.prototype.resetItemSize=function(){t.prototype.resetItemSize.apply(this,arguments);var e=this.itemSize;(null==e[0]||isNaN(e[0]))&&(e[0]=fF[0]),(null==e[1]||isNaN(e[1]))&&(e[1]=fF[1])},e.prototype._resetRange=function(){var t=this.getExtent(),e=this.option.range;!e||e.auto?(t.auto=1,this.option.range=t):Y(e)&&(e[0]>e[1]&&e.reverse(),e[0]=Math.max(e[0],t[0]),e[1]=Math.min(e[1],t[1]))},e.prototype.completeVisualOption=function(){t.prototype.completeVisualOption.apply(this,arguments),E(this.stateList,(function(t){var e=this.option.controller[t].symbolSize;e&&e[0]!==e[1]&&(e[0]=e[1]/3)}),this)},e.prototype.setSelected=function(t){this.option.range=t.slice(),this._resetRange()},e.prototype.getSelected=function(){var t=this.getExtent(),e=Hr((this.get("range")||[]).slice());return e[0]>t[1]&&(e[0]=t[1]),e[1]>t[1]&&(e[1]=t[1]),e[0]=n[1]||t<=e[1])?"inRange":"outOfRange"},e.prototype.findTargetDataIndices=function(t){var e=[];return this.eachTargetSeries((function(n){var i=[],r=n.getData();r.each(this.getDataDimensionIndex(r),(function(e,n){t[0]<=e&&e<=t[1]&&i.push(n)}),this),e.push({seriesId:n.id,dataIndex:i})}),this),e},e.prototype.getVisualMeta=function(t){var e=yF(this,"outOfRange",this.getExtent()),n=yF(this,"inRange",this.option.range.slice()),i=[];function r(e,n){i.push({value:e,color:t(e,n)})}for(var o=0,a=0,s=n.length,l=e.length;at[1])break;n.push({color:this.getControllerVisual(o,"color",e),offset:r/100})}return n.push({color:this.getControllerVisual(t[1],"color",e),offset:1}),n},e.prototype._createBarPoints=function(t,e){var n=this.visualMapModel.itemSize;return[[n[0]-e[0],t[0]],[n[0],t[0]],[n[0],t[1]],[n[0]-e[1],t[1]]]},e.prototype._createBarGroup=function(t){var e=this._orient,n=this.visualMapModel.get("inverse");return new Pr("horizontal"!==e||n?"horizontal"===e&&n?{scaleX:"bottom"===t?-1:1,rotation:-Math.PI/2}:"vertical"!==e||n?{scaleX:"left"===t?1:-1}:{scaleX:"left"===t?1:-1,scaleY:-1}:{scaleX:"bottom"===t?1:-1,rotation:Math.PI/2})},e.prototype._updateHandle=function(t,e){if(this._useHandle){var n=this._shapes,i=this.visualMapModel,r=n.handleThumbs,o=n.handleLabels,a=i.itemSize,s=i.getExtent();wF([0,1],(function(l){var u=r[l];u.setStyle("fill",e.handlesColor[l]),u.y=t[l];var h=bF(t[l],[0,a[1]],s,!0),c=this.getControllerVisual(h,"symbolSize");u.scaleX=u.scaleY=c/a[0],u.x=a[0]-c/2;var p=Ph(n.handleLabelPoints[l],Lh(u,this.group));o[l].setStyle({x:p[0],y:p[1],text:i.formatValueText(this._dataInterval[l]),verticalAlign:"middle",align:"vertical"===this._orient?this._applyTransform("left",n.mainGroup):"center"})}),this)}},e.prototype._showIndicator=function(t,e,n,i){var r=this.visualMapModel,o=r.getExtent(),a=r.itemSize,s=[0,a[1]],l=this._shapes,u=l.indicator;if(u){u.attr("invisible",!1);var h=this.getControllerVisual(t,"color",{convertOpacityToAlpha:!0}),c=this.getControllerVisual(t,"symbolSize"),p=bF(t,o,s,!0),d=a[0]-c/2,f={x:u.x,y:u.y};u.y=p,u.x=d;var g=Ph(l.indicatorLabelPoint,Lh(u,this.group)),y=l.indicatorLabel;y.attr("invisible",!1);var v=this._applyTransform("left",l.mainGroup),m="horizontal"===this._orient;y.setStyle({text:(n||"")+r.formatValueText(e),verticalAlign:m?v:"middle",align:m?"center":v});var x={x:d,y:p,style:{fill:h}},_={style:{x:g[0],y:g[1]}};if(r.ecModel.isAnimationEnabled()&&!this._firstShowIndicator){var b={duration:100,easing:"cubicInOut",additive:!0};u.x=f.x,u.y=f.y,u.animateTo(x,b),y.animateTo(_,b)}else u.attr(x),y.attr(_);this._firstShowIndicator=!1;var w=this._shapes.handleLabels;if(w)for(var S=0;Sr[1]&&(u[1]=1/0),e&&(u[0]===-1/0?this._showIndicator(l,u[1],"< ",a):u[1]===1/0?this._showIndicator(l,u[0],"> ",a):this._showIndicator(l,l,"≈ ",a));var h=this._hoverLinkDataIndices,c=[];(e||CF(n))&&(c=this._hoverLinkDataIndices=n.findTargetDataIndices(u));var p=function(t,e){var n={},i={};return r(t||[],n),r(e||[],i,n),[o(n),o(i)];function r(t,e,n){for(var i=0,r=t.length;i=0&&(r.dimension=o,i.push(r))}})),t.getData().setVisual("visualMeta",i)}}];function PF(t,e,n,i){for(var r=e.targetVisuals[i],o=sD.prepareVisualTypes(r),a={color:my(t.getData(),"color")},s=0,l=o.length;s0:t.splitNumber>0)&&!t.calculable?"piecewise":"continuous"})),t.registerAction(AF,kF),E(LF,(function(e){t.registerVisual(t.PRIORITY.VISUAL.COMPONENT,e)})),t.registerPreprocessor(RF))}function VF(t){t.registerComponentModel(gF),t.registerComponentView(IF),zF(t)}var BF=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n._pieceList=[],n}return n(e,t),e.prototype.optionUpdated=function(e,n){t.prototype.optionUpdated.apply(this,arguments),this.resetExtent();var i=this._mode=this._determineMode();this._pieceList=[],FF[this._mode].call(this,this._pieceList),this._resetSelected(e,n);var r=this.option.categories;this.resetVisual((function(t,e){"categories"===i?(t.mappingMethod="category",t.categories=T(r)):(t.dataExtent=this.getExtent(),t.mappingMethod="piecewise",t.pieceList=z(this._pieceList,(function(t){return t=T(t),"inRange"!==e&&(t.visual=null),t})))}))},e.prototype.completeVisualOption=function(){var e=this.option,n={},i=sD.listVisualTypes(),r=this.isCategory();function o(t,e,n){return t&&t[e]&&t[e].hasOwnProperty(n)}E(e.pieces,(function(t){E(i,(function(e){t.hasOwnProperty(e)&&(n[e]=1)}))})),E(n,(function(t,n){var i=!1;E(this.stateList,(function(t){i=i||o(e,t,n)||o(e.target,t,n)}),this),!i&&E(this.stateList,(function(t){(e[t]||(e[t]={}))[n]=oF(n,"inRange"===t?"active":"inactive",r)}))}),this),t.prototype.completeVisualOption.apply(this,arguments)},e.prototype._resetSelected=function(t,e){var n=this.option,i=this._pieceList,r=(e?n:t).selected||{};if(n.selected=r,E(i,(function(t,e){var n=this.getSelectedMapKey(t);r.hasOwnProperty(n)||(r[n]=!0)}),this),"single"===n.selectedMode){var o=!1;E(i,(function(t,e){var n=this.getSelectedMapKey(t);r[n]&&(o?r[n]=!1:o=!0)}),this)}},e.prototype.getItemSymbol=function(){return this.get("itemSymbol")},e.prototype.getSelectedMapKey=function(t){return"categories"===this._mode?t.value+"":t.index+""},e.prototype.getPieceList=function(){return this._pieceList},e.prototype._determineMode=function(){var t=this.option;return t.pieces&&t.pieces.length>0?"pieces":this.option.categories?"categories":"splitNumber"},e.prototype.setSelected=function(t){this.option.selected=T(t)},e.prototype.getValueState=function(t){var e=sD.findPieceIndex(t,this._pieceList);return null!=e&&this.option.selected[this.getSelectedMapKey(this._pieceList[e])]?"inRange":"outOfRange"},e.prototype.findTargetDataIndices=function(t){var e=[],n=this._pieceList;return this.eachTargetSeries((function(i){var r=[],o=i.getData();o.each(this.getDataDimensionIndex(o),(function(e,i){sD.findPieceIndex(e,n)===t&&r.push(i)}),this),e.push({seriesId:i.id,dataIndex:r})}),this),e},e.prototype.getRepresentValue=function(t){var e;if(this.isCategory())e=t.value;else if(null!=t.value)e=t.value;else{var n=t.interval||[];e=n[0]===-1/0&&n[1]===1/0?0:(n[0]+n[1])/2}return e},e.prototype.getVisualMeta=function(t){if(!this.isCategory()){var e=[],n=["",""],i=this,r=this._pieceList.slice();if(r.length){var o=r[0].interval[0];o!==-1/0&&r.unshift({interval:[-1/0,o]}),(o=r[r.length-1].interval[1])!==1/0&&r.push({interval:[o,1/0]})}else r.push({interval:[-1/0,1/0]});var a=-1/0;return E(r,(function(t){var e=t.interval;e&&(e[0]>a&&s([a,e[0]],"outOfRange"),s(e.slice()),a=e[1])}),this),{stops:e,outerColors:n}}function s(r,o){var a=i.getRepresentValue({interval:r});o||(o=i.getValueState(a));var s=t(a,o);r[0]===-1/0?n[0]=s:r[1]===1/0?n[1]=s:e.push({value:r[0],color:s},{value:r[1],color:s})}},e.type="visualMap.piecewise",e.defaultOption=wc(dF.defaultOption,{selected:null,minOpen:!1,maxOpen:!1,align:"auto",itemWidth:20,itemHeight:14,itemSymbol:"roundRect",pieces:null,categories:null,splitNumber:5,selectedMode:"multiple",itemGap:10,hoverLink:!0}),e}(dF),FF={splitNumber:function(t){var e=this.option,n=Math.min(e.precision,20),i=this.getExtent(),r=e.splitNumber;r=Math.max(parseInt(r,10),1),e.splitNumber=r;for(var o=(i[1]-i[0])/r;+o.toFixed(n)!==o&&n<5;)n++;e.precision=n,o=+o.toFixed(n),e.minOpen&&t.push({interval:[-1/0,i[0]],close:[0,0]});for(var a=0,s=i[0];a","≥"][e[0]]];t.text=t.text||this.formatValueText(null!=t.value?t.value:t.interval,!1,n)}),this)}};function GF(t,e){var n=t.inverse;("vertical"===t.orient?!n:n)&&e.reverse()}var WF=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.doRender=function(){var t=this.group;t.removeAll();var e=this.visualMapModel,n=e.get("textGap"),i=e.textStyleModel,r=i.getFont(),o=i.getTextColor(),a=this._getItemAlign(),s=e.itemSize,l=this._getViewData(),u=l.endsText,h=it(e.get("showLabel",!0),!u);u&&this._renderEndsText(t,u[0],s,h,a),E(l.viewPieceList,(function(i){var l=i.piece,u=new Pr;u.onclick=W(this._onItemClick,this,l),this._enableHoverLink(u,i.indexInModelPieceList);var c=e.getRepresentValue(l);if(this._createItemSymbol(u,c,[0,0,s[0],s[1]]),h){var p=this.visualMapModel.getValueState(c);u.add(new Ns({style:{x:"right"===a?-n:s[0]+n,y:s[1]/2,text:l.text,verticalAlign:"middle",align:a,font:r,fill:o,opacity:"outOfRange"===p?.5:1}}))}t.add(u)}),this),u&&this._renderEndsText(t,u[1],s,h,a),bp(e.get("orient"),t,e.get("itemGap")),this.renderBackground(t),this.positionGroup(t)},e.prototype._enableHoverLink=function(t,e){var n=this;t.on("mouseover",(function(){return i("highlight")})).on("mouseout",(function(){return i("downplay")}));var i=function(t){var i=n.visualMapModel;i.option.hoverLink&&n.api.dispatchAction({type:t,batch:_F(i.findTargetDataIndices(e),i)})}},e.prototype._getItemAlign=function(){var t=this.visualMapModel,e=t.option;if("vertical"===e.orient)return xF(t,this.api,t.itemSize);var n=e.align;return n&&"auto"!==n||(n="left"),n},e.prototype._renderEndsText=function(t,e,n,i,r){if(e){var o=new Pr,a=this.visualMapModel.textStyleModel;o.add(new Ns({style:$h(a,{x:i?"right"===r?n[0]:0:n[0]/2,y:n[1]/2,verticalAlign:"middle",align:i?r:"center",text:e})})),t.add(o)}},e.prototype._getViewData=function(){var t=this.visualMapModel,e=z(t.getPieceList(),(function(t,e){return{piece:t,indexInModelPieceList:e}})),n=t.get("text"),i=t.get("orient"),r=t.get("inverse");return("horizontal"===i?r:!r)?e.reverse():n&&(n=n.slice().reverse()),{viewPieceList:e,endsText:n}},e.prototype._createItemSymbol=function(t,e,n){t.add(Ry(this.getControllerVisual(e,"symbol"),n[0],n[1],n[2],n[3],this.getControllerVisual(e,"color")))},e.prototype._onItemClick=function(t){var e=this.visualMapModel,n=e.option,i=n.selectedMode;if(i){var r=T(n.selected),o=e.getSelectedMapKey(t);"single"===i||!0===i?(r[o]=!0,E(r,(function(t,e){r[e]=e===o}))):r[o]=!r[o],this.api.dispatchAction({type:"selectDataRange",from:this.uid,visualMapId:this.visualMapModel.id,selected:r})}},e.type="visualMap.piecewise",e}(vF);function HF(t){t.registerComponentModel(BF),t.registerComponentView(WF),zF(t)}var YF={label:{enabled:!0},decal:{show:!1}},UF=Do(),XF={};function ZF(t,e){var n=t.getModel("aria");if(n.get("enabled")){var i=T(YF);C(i.label,t.getLocaleModel().get("aria"),!1),C(n.option,i,!1),function(){if(n.getModel("decal").get("show")){var e=ft();t.eachSeries((function(t){if(!t.isColorBySeries()){var n=e.get(t.type);n||(n={},e.set(t.type,n)),UF(t).scope=n}})),t.eachRawSeries((function(e){if(!t.isSeriesFiltered(e))if(U(e.enableAriaDecal))e.enableAriaDecal();else{var n=e.getData();if(e.isColorBySeries()){var i=rd(e.ecModel,e.name,XF,t.getSeriesCount()),r=n.getVisual("decal");n.setVisual("decal",u(r,i))}else{var o=e.getRawData(),a={},s=UF(e).scope;n.each((function(t){var e=n.getRawIndex(t);a[e]=t}));var l=o.count();o.each((function(t){var i=a[t],r=o.getName(t)||t+"",h=rd(e.ecModel,r,s,l),c=n.getItemVisual(i,"decal");n.setItemVisual(i,"decal",u(c,h))}))}}function u(t,e){var n=t?A(A({},e),t):e;return n.dirty=!0,n}}))}}(),function(){var i=t.getLocaleModel().get("aria"),o=n.getModel("label");if(o.option=k(o.option,i),!o.get("enabled"))return;var a=e.getZr().dom;if(o.get("description"))return void a.setAttribute("aria-label",o.get("description"));var s,l=t.getSeriesCount(),u=o.get(["data","maxCount"])||10,h=o.get(["series","maxCount"])||10,c=Math.min(l,h);if(l<1)return;var p=function(){var e=t.get("title");e&&e.length&&(e=e[0]);return e&&e.text}();if(p){var d=o.get(["general","withTitle"]);s=r(d,{title:p})}else s=o.get(["general","withoutTitle"]);var f=[],g=l>1?o.get(["series","multiple","prefix"]):o.get(["series","single","prefix"]);s+=r(g,{seriesCount:l}),t.eachSeries((function(e,n){if(n1?o.get(["series","multiple",a]):o.get(["series","single",a]),{seriesId:e.seriesIndex,seriesName:e.get("name"),seriesType:(x=e.subType,t.getLocaleModel().get(["series","typeNames"])[x]||"自定义图")});var s=e.getData();if(s.count()>u)i+=r(o.get(["data","partialData"]),{displayCnt:u});else i+=o.get(["data","allData"]);for(var h=o.get(["data","separator","middle"]),p=o.get(["data","separator","end"]),d=[],g=0;g":"gt",">=":"gte","=":"eq","!=":"ne","<>":"ne"},KF=function(){function t(t){if(null==(this._condVal=X(t)?new RegExp(t):et(t)?t:null)){var e="";0,co(e)}}return t.prototype.evaluate=function(t){var e=typeof t;return X(e)?this._condVal.test(t):!!j(e)&&this._condVal.test(t+"")},t}(),$F=function(){function t(){}return t.prototype.evaluate=function(){return this.value},t}(),JF=function(){function t(){}return t.prototype.evaluate=function(){for(var t=this.children,e=0;e2&&l.push(e),e=[t,n]}function f(t,n,i,r){cG(t,i)&&cG(n,r)||e.push(t,n,i,r,i,r)}function g(t,n,i,r,o,a){var s=Math.abs(n-t),l=4*Math.tan(s/4)/3,u=nM:C2&&l.push(e),l}function dG(t,e,n,i,r,o,a,s,l,u){if(cG(t,n)&&cG(e,i)&&cG(r,a)&&cG(o,s))l.push(a,s);else{var h=2/u,c=h*h,p=a-t,d=s-e,f=Math.sqrt(p*p+d*d);p/=f,d/=f;var g=n-t,y=i-e,v=r-a,m=o-s,x=g*g+y*y,_=v*v+m*m;if(x=0&&_-w*w=0)l.push(a,s);else{var S=[],M=[];xn(t,n,r,a,.5,S),xn(e,i,o,s,.5,M),dG(S[0],M[0],S[1],M[1],S[2],M[2],S[3],M[3],l,u),dG(S[4],M[4],S[5],M[5],S[6],M[6],S[7],M[7],l,u)}}}}function fG(t,e,n){var i=t[e],r=t[1-e],o=Math.abs(i/r),a=Math.ceil(Math.sqrt(o*n)),s=Math.floor(n/a);0===s&&(s=1,a=n);for(var l=[],u=0;u0)for(u=0;uMath.abs(u),c=fG([l,u],h?0:1,e),p=(h?s:u)/c.length,d=0;d1?null:new Ie(d*l+t,d*u+e)}function mG(t,e,n){var i=new Ie;Ie.sub(i,n,e),i.normalize();var r=new Ie;return Ie.sub(r,t,e),r.dot(i)}function xG(t,e){var n=t[t.length-1];n&&n[0]===e[0]&&n[1]===e[1]||t.push(e)}function _G(t){var e=t.points,n=[],i=[];Aa(e,n,i);var r=new Re(n[0],n[1],i[0]-n[0],i[1]-n[1]),o=r.width,a=r.height,s=r.x,l=r.y,u=new Ie,h=new Ie;return o>a?(u.x=h.x=s+o/2,u.y=l,h.y=l+a):(u.y=h.y=l+a/2,u.x=s,h.x=s+o),function(t,e,n){for(var i=t.length,r=[],o=0;or,a=fG([i,r],o?0:1,e),s=o?"width":"height",l=o?"height":"width",u=o?"x":"y",h=o?"y":"x",c=t[s]/a.length,p=0;p0)for(var b=i/n,w=-i/2;w<=i/2;w+=b){var S=Math.sin(w),M=Math.cos(w),I=0;for(x=0;x0;l/=2){var u=0,h=0;(t&l)>0&&(u=1),(e&l)>0&&(h=1),s+=l*l*(3*u^h),0===h&&(1===u&&(t=l-1-t,e=l-1-e),a=t,t=e,e=a)}return s}function zG(t){var e=1/0,n=1/0,i=-1/0,r=-1/0,o=z(t,(function(t){var o=t.getBoundingRect(),a=t.getComputedTransform(),s=o.x+o.width/2+(a?a[4]:0),l=o.y+o.height/2+(a?a[5]:0);return e=Math.min(s,e),n=Math.min(l,n),i=Math.max(s,i),r=Math.max(l,r),[s,l]}));return z(o,(function(o,a){return{cp:o,z:EG(o[0],o[1],e,n,i,r),path:t[a]}})).sort((function(t,e){return t.z-e.z})).map((function(t){return t.path}))}function VG(t){return SG(t.path,t.count)}function BG(t){return Y(t[0])}function FG(t,e){for(var n=[],i=t.length,r=0;r=0;r--)if(!n[r].many.length){var l=n[s].many;if(l.length<=1){if(!s)return n;s=0}o=l.length;var u=Math.ceil(o/2);n[r].many=l.slice(u,o),n[s].many=l.slice(0,u),s++}return n}var GG={clone:function(t){for(var e=[],n=1-Math.pow(1-t.path.style.opacity,1/t.count),i=0;i0){var s,l,u=i.getModel("universalTransition").get("delay"),h=Object.assign({setToFinal:!0},a);BG(t)&&(s=t,l=e),BG(e)&&(s=e,l=t);for(var c=s?s===t:t.length>e.length,p=s?FG(l,s):FG(c?e:t,[c?t:e]),d=0,f=0;f1e4))for(var i=n.getIndices(),r=function(t){for(var e=t.dimensions,n=0;n0&&i.group.traverse((function(t){t instanceof _s&&!t.animators.length&&t.animateFrom({style:{opacity:0}},r)}))}))}function $G(t){var e=t.getModel("universalTransition").get("seriesKey");return e||t.id}function JG(t){return Y(t)?t.sort().join(","):t}function QG(t){if(t.hostModel)return t.hostModel.getModel("universalTransition").get("divideShape")}function tW(t,e){for(var n=0;n=0&&r.push({data:e.oldData[n],divide:QG(e.oldData[n]),dim:t.dimension})})),E(yo(t.to),(function(t){var e=tW(n.updatedSeries,t);if(e>=0){var i=n.updatedSeries[e].getData();o.push({data:i,divide:QG(i),dim:t.dimension})}})),r.length>0&&o.length>0&&KG(r,o,i)}(t,i,n,e)}));else{var o=function(t,e){var n=ft(),i=ft(),r=ft();return E(t.oldSeries,(function(e,n){var o=t.oldData[n],a=$G(e),s=JG(a);i.set(s,o),Y(a)&&E(a,(function(t){r.set(t,{data:o,key:s})}))})),E(e.updatedSeries,(function(t){if(t.isUniversalTransitionEnabled()&&t.isAnimationEnabled()){var e=t.getData(),o=$G(t),a=JG(o),s=i.get(a);if(s)n.set(a,{oldSeries:[{divide:QG(s),data:s}],newSeries:[{divide:QG(e),data:e}]});else if(Y(o)){var l=[];E(o,(function(t){var e=i.get(t);e&&l.push({divide:QG(e),data:e})})),l.length&&n.set(a,{oldSeries:l,newSeries:[{data:e,divide:QG(e)}]})}else{var u=r.get(o);if(u){var h=n.get(u.key);h||(h={oldSeries:[{data:u.data,divide:QG(u.data)}],newSeries:[]},n.set(u.key,h)),h.newSeries.push({data:e,divide:QG(e)})}}}})),n}(i,n);E(o.keys(),(function(t){var n=o.get(t);KG(n.oldSeries,n.newSeries,e)}))}E(n.updatedSeries,(function(t){t.__universalTransitionEnabled&&(t.__universalTransitionEnabled=!1)}))}for(var a=t.getSeries(),s=i.oldSeries=[],l=i.oldData=[],u=0;u= 8.0.0" } }, + "node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "engines": { + "node": ">= 6" + } + }, "node_modules/@types/node": { "version": "16.11.56", "resolved": "https://registry.npmmirror.com/@types/node/-/node-16.11.56.tgz", @@ -814,6 +824,12 @@ "integrity": "sha512-5eQEtSCoESnh2FsiLTxE121IiE60hnMqcb435fShf4bpLRjEu1Eoekht23y6zXS9Ts3l+Szu3TARnTsA0GkOkQ==", "dev": true }, + "node_modules/@types/vscode-webview": { + "version": "1.57.0", + "resolved": "https://registry.npmmirror.com/@types/vscode-webview/-/vscode-webview-1.57.0.tgz", + "integrity": "sha512-x3Cb/SMa1IwRHfSvKaZDZOTh4cNoG505c3NjTqGlMC082m++x/ETUmtYniDsw6SSmYzZXO8KBNhYxR0+VqymqA==", + "dev": true + }, "node_modules/@vitejs/plugin-legacy": { "version": "1.8.2", "resolved": "https://registry.npmmirror.com/@vitejs/plugin-legacy/-/plugin-legacy-1.8.2.tgz", @@ -1194,6 +1210,17 @@ "node": ">= 0.6" } }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, "node_modules/ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz", @@ -1254,12 +1281,31 @@ "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, "node_modules/bluebird": { "version": "3.7.2", "resolved": "https://registry.npmmirror.com/bluebird/-/bluebird-3.7.2.tgz", "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", "dev": true }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" + }, "node_modules/browserslist": { "version": "4.21.3", "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.21.3.tgz", @@ -1278,6 +1324,11 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, "node_modules/cache-content-type": { "version": "1.0.1", "resolved": "https://registry.npmmirror.com/cache-content-type/-/cache-content-type-1.0.1.tgz", @@ -1343,6 +1394,16 @@ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, + "node_modules/commander": { + "version": "2.15.1", + "resolved": "https://registry.npmmirror.com/commander/-/commander-2.15.1.tgz", + "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, "node_modules/consolidate": { "version": "0.16.0", "resolved": "https://registry.npmmirror.com/consolidate/-/consolidate-0.16.0.tgz", @@ -1489,6 +1550,14 @@ "npm": "1.2.8000 || >= 1.4.16" } }, + "node_modules/diff": { + "version": "3.5.0", + "resolved": "https://registry.npmmirror.com/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "engines": { + "node": ">=0.3.1" + } + }, "node_modules/dom-serializer": { "version": "1.4.1", "resolved": "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-1.4.1.tgz", @@ -1628,6 +1697,19 @@ "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", "dev": true }, + "node_modules/es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmmirror.com/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" + }, + "node_modules/es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==", + "dependencies": { + "es6-promise": "^4.0.3" + } + }, "node_modules/esbuild": { "version": "0.14.54", "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.14.54.tgz", @@ -2002,7 +2084,6 @@ "version": "1.0.5", "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, "engines": { "node": ">=0.8.0" } @@ -2036,6 +2117,11 @@ "node": ">=10" } }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, "node_modules/fsevents": { "version": "2.3.2", "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.2.tgz", @@ -2065,6 +2151,22 @@ "node": ">=6.9.0" } }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, "node_modules/globals": { "version": "11.12.0", "resolved": "https://registry.npmmirror.com/globals/-/globals-11.12.0.tgz", @@ -2080,6 +2182,14 @@ "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", "dev": true }, + "node_modules/growl": { + "version": "1.10.5", + "resolved": "https://registry.npmmirror.com/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", + "engines": { + "node": ">=4.x" + } + }, "node_modules/has": { "version": "1.0.3", "resolved": "https://registry.npmmirror.com/has/-/has-1.0.3.tgz", @@ -2096,7 +2206,6 @@ "version": "3.0.0", "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, "engines": { "node": ">=4" } @@ -2191,6 +2300,40 @@ "node": ">= 0.6" } }, + "node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz", @@ -2428,6 +2571,118 @@ "node": ">= 0.6" } }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmmirror.com/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha512-miQKw5Hv4NS1Psg2517mV4e4dYNaO3++hjAvLOAzKqZ61rH8NS1SK+vbfBWZ5PY/Me/bEWhUwqMghEW5Fb9T7Q==" + }, + "node_modules/mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha512-SknJC52obPfGQPnjIkXbmA6+5H15E+fR+E4iR2oQ3zzCLbd7/ONua69R/Gw7AgkTLsRG+r5fzksYwWe1AgTyWA==", + "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)", + "dependencies": { + "minimist": "0.0.8" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mocha": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/mocha/-/mocha-5.2.0.tgz", + "integrity": "sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ==", + "dependencies": { + "browser-stdout": "1.3.1", + "commander": "2.15.1", + "debug": "3.1.0", + "diff": "3.5.0", + "escape-string-regexp": "1.0.5", + "glob": "7.1.2", + "growl": "1.10.5", + "he": "1.1.1", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "supports-color": "5.4.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/mocha/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/mocha/node_modules/glob": { + "version": "7.1.2", + "resolved": "https://registry.npmmirror.com/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mocha/node_modules/he": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/he/-/he-1.1.1.tgz", + "integrity": "sha512-z/GDPjlRMNOa2XJiB4em8wJpuuBfrFOlYKTZxtpkdr1uPdibHI8rYA3MY0KDObpVyaes0e/aunid/t88ZI2EKA==", + "bin": { + "he": "bin/he" + } + }, + "node_modules/mocha/node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mocha/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/mocha/node_modules/supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz", @@ -2475,6 +2730,14 @@ "node": ">= 0.8" } }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, "node_modules/only": { "version": "0.0.2", "resolved": "https://registry.npmmirror.com/only/-/only-0.0.2.tgz", @@ -2488,6 +2751,14 @@ "node": ">= 0.8" } }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz", @@ -2645,7 +2916,6 @@ "version": "0.6.1", "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -2659,6 +2929,15 @@ "node": ">=0.10.0" } }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmmirror.com/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, "node_modules/sourcemap-codec": { "version": "1.4.8", "resolved": "https://registry.npmmirror.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", @@ -2973,6 +3252,96 @@ "node": ">= 8" } }, + "node_modules/vscode": { + "version": "1.1.37", + "resolved": "https://registry.npmmirror.com/vscode/-/vscode-1.1.37.tgz", + "integrity": "sha512-vJNj6IlN7IJPdMavlQa1KoFB3Ihn06q1AiN3ZFI/HfzPNzbKZWPPuiU+XkpNOfGU5k15m4r80nxNPlM7wcc0wg==", + "deprecated": "This package is deprecated in favor of @types/vscode and vscode-test. For more information please read: https://code.visualstudio.com/updates/v1_36#_splitting-vscode-package-into-typesvscode-and-vscodetest", + "dependencies": { + "glob": "^7.1.2", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "mocha": "^5.2.0", + "semver": "^5.4.1", + "source-map-support": "^0.5.0", + "vscode-test": "^0.4.1" + }, + "bin": { + "vscode-install": "bin/install" + }, + "engines": { + "node": ">=8.9.3" + } + }, + "node_modules/vscode-test": { + "version": "0.4.3", + "resolved": "https://registry.npmmirror.com/vscode-test/-/vscode-test-0.4.3.tgz", + "integrity": "sha512-EkMGqBSefZH2MgW65nY05rdRSko15uvzq4VAPM5jVmwYuFQKE7eikKXNJDRxL+OITXHB6pI+a3XqqD32Y3KC5w==", + "deprecated": "This package has been renamed to @vscode/test-electron, please update to the new name", + "dependencies": { + "http-proxy-agent": "^2.1.0", + "https-proxy-agent": "^2.2.1" + }, + "engines": { + "node": ">=8.9.3" + } + }, + "node_modules/vscode-test/node_modules/agent-base": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/agent-base/-/agent-base-4.3.0.tgz", + "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "dependencies": { + "es6-promisify": "^5.0.0" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/vscode-test/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/vscode-test/node_modules/http-proxy-agent": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz", + "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==", + "dependencies": { + "agent-base": "4", + "debug": "3.1.0" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/vscode-test/node_modules/https-proxy-agent": { + "version": "2.2.4", + "resolved": "https://registry.npmmirror.com/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", + "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", + "dependencies": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/vscode-test/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/vscode/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, "node_modules/vue": { "version": "2.6.14", "resolved": "https://registry.npmmirror.com/vue/-/vue-2.6.14.tgz", @@ -3041,6 +3410,11 @@ "integrity": "sha512-h9atBP/bsZohWpHnr+2sic8Iecb60GxftXsWNLLLSqewgIsGzByd2gcIID4nXcG+3tNe4GQG3dLcff3kXupdRA==", "dev": true }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, "node_modules/yallist": { "version": "2.1.2", "resolved": "https://registry.npmmirror.com/yallist/-/yallist-2.1.2.tgz", @@ -3625,6 +3999,11 @@ "picomatch": "^2.2.2" } }, + "@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==" + }, "@types/node": { "version": "16.11.56", "resolved": "https://registry.npmmirror.com/@types/node/-/node-16.11.56.tgz", @@ -3637,6 +4016,12 @@ "integrity": "sha512-5eQEtSCoESnh2FsiLTxE121IiE60hnMqcb435fShf4bpLRjEu1Eoekht23y6zXS9Ts3l+Szu3TARnTsA0GkOkQ==", "dev": true }, + "@types/vscode-webview": { + "version": "1.57.0", + "resolved": "https://registry.npmmirror.com/@types/vscode-webview/-/vscode-webview-1.57.0.tgz", + "integrity": "sha512-x3Cb/SMa1IwRHfSvKaZDZOTh4cNoG505c3NjTqGlMC082m++x/ETUmtYniDsw6SSmYzZXO8KBNhYxR0+VqymqA==", + "dev": true + }, "@vitejs/plugin-legacy": { "version": "1.8.2", "resolved": "https://registry.npmmirror.com/@vitejs/plugin-legacy/-/plugin-legacy-1.8.2.tgz", @@ -3974,6 +4359,14 @@ "negotiator": "0.6.3" } }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "requires": { + "debug": "4" + } + }, "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz", @@ -4028,12 +4421,31 @@ } } }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, "bluebird": { "version": "3.7.2", "resolved": "https://registry.npmmirror.com/bluebird/-/bluebird-3.7.2.tgz", "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", "dev": true }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" + }, "browserslist": { "version": "4.21.3", "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.21.3.tgz", @@ -4046,6 +4458,11 @@ "update-browserslist-db": "^1.0.5" } }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, "cache-content-type": { "version": "1.0.1", "resolved": "https://registry.npmmirror.com/cache-content-type/-/cache-content-type-1.0.1.tgz", @@ -4098,6 +4515,16 @@ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, + "commander": { + "version": "2.15.1", + "resolved": "https://registry.npmmirror.com/commander/-/commander-2.15.1.tgz", + "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, "consolidate": { "version": "0.16.0", "resolved": "https://registry.npmmirror.com/consolidate/-/consolidate-0.16.0.tgz", @@ -4209,6 +4636,11 @@ "resolved": "https://registry.npmmirror.com/destroy/-/destroy-1.2.0.tgz", "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" }, + "diff": { + "version": "3.5.0", + "resolved": "https://registry.npmmirror.com/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==" + }, "dom-serializer": { "version": "1.4.1", "resolved": "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-1.4.1.tgz", @@ -4335,6 +4767,19 @@ "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", "dev": true }, + "es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmmirror.com/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" + }, + "es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==", + "requires": { + "es6-promise": "^4.0.3" + } + }, "esbuild": { "version": "0.14.54", "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.14.54.tgz", @@ -4518,8 +4963,7 @@ "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" }, "estree-walker": { "version": "2.0.2", @@ -4544,6 +4988,11 @@ "universalify": "^2.0.0" } }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, "fsevents": { "version": "2.3.2", "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.2.tgz", @@ -4563,6 +5012,19 @@ "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, "globals": { "version": "11.12.0", "resolved": "https://registry.npmmirror.com/globals/-/globals-11.12.0.tgz", @@ -4575,6 +5037,11 @@ "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", "dev": true }, + "growl": { + "version": "1.10.5", + "resolved": "https://registry.npmmirror.com/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==" + }, "has": { "version": "1.0.3", "resolved": "https://registry.npmmirror.com/has/-/has-1.0.3.tgz", @@ -4587,8 +5054,7 @@ "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" }, "has-symbols": { "version": "1.0.3", @@ -4661,6 +5127,34 @@ } } }, + "http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "requires": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + } + }, + "https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, "inherits": { "version": "2.0.4", "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz", @@ -4856,6 +5350,94 @@ "mime-db": "1.52.0" } }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmmirror.com/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha512-miQKw5Hv4NS1Psg2517mV4e4dYNaO3++hjAvLOAzKqZ61rH8NS1SK+vbfBWZ5PY/Me/bEWhUwqMghEW5Fb9T7Q==" + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha512-SknJC52obPfGQPnjIkXbmA6+5H15E+fR+E4iR2oQ3zzCLbd7/ONua69R/Gw7AgkTLsRG+r5fzksYwWe1AgTyWA==", + "requires": { + "minimist": "0.0.8" + } + }, + "mocha": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/mocha/-/mocha-5.2.0.tgz", + "integrity": "sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ==", + "requires": { + "browser-stdout": "1.3.1", + "commander": "2.15.1", + "debug": "3.1.0", + "diff": "3.5.0", + "escape-string-regexp": "1.0.5", + "glob": "7.1.2", + "growl": "1.10.5", + "he": "1.1.1", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "supports-color": "5.4.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmmirror.com/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "he": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/he/-/he-1.1.1.tgz", + "integrity": "sha512-z/GDPjlRMNOa2XJiB4em8wJpuuBfrFOlYKTZxtpkdr1uPdibHI8rYA3MY0KDObpVyaes0e/aunid/t88ZI2EKA==" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz", @@ -4891,6 +5473,14 @@ "ee-first": "1.1.1" } }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "requires": { + "wrappy": "1" + } + }, "only": { "version": "0.0.2", "resolved": "https://registry.npmmirror.com/only/-/only-0.0.2.tgz", @@ -4901,6 +5491,11 @@ "resolved": "https://registry.npmmirror.com/parseurl/-/parseurl-1.3.3.tgz", "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" + }, "path-parse": { "version": "1.0.7", "resolved": "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz", @@ -5023,8 +5618,7 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "source-map-js": { "version": "1.0.2", @@ -5032,6 +5626,15 @@ "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", "dev": true }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmmirror.com/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, "sourcemap-codec": { "version": "1.4.8", "resolved": "https://registry.npmmirror.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", @@ -5246,6 +5849,77 @@ } } }, + "vscode": { + "version": "1.1.37", + "resolved": "https://registry.npmmirror.com/vscode/-/vscode-1.1.37.tgz", + "integrity": "sha512-vJNj6IlN7IJPdMavlQa1KoFB3Ihn06q1AiN3ZFI/HfzPNzbKZWPPuiU+XkpNOfGU5k15m4r80nxNPlM7wcc0wg==", + "requires": { + "glob": "^7.1.2", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "mocha": "^5.2.0", + "semver": "^5.4.1", + "source-map-support": "^0.5.0", + "vscode-test": "^0.4.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "vscode-test": { + "version": "0.4.3", + "resolved": "https://registry.npmmirror.com/vscode-test/-/vscode-test-0.4.3.tgz", + "integrity": "sha512-EkMGqBSefZH2MgW65nY05rdRSko15uvzq4VAPM5jVmwYuFQKE7eikKXNJDRxL+OITXHB6pI+a3XqqD32Y3KC5w==", + "requires": { + "http-proxy-agent": "^2.1.0", + "https-proxy-agent": "^2.2.1" + }, + "dependencies": { + "agent-base": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/agent-base/-/agent-base-4.3.0.tgz", + "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "requires": { + "es6-promisify": "^5.0.0" + } + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "http-proxy-agent": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz", + "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==", + "requires": { + "agent-base": "4", + "debug": "3.1.0" + } + }, + "https-proxy-agent": { + "version": "2.2.4", + "resolved": "https://registry.npmmirror.com/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", + "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", + "requires": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, "vue": { "version": "2.6.14", "resolved": "https://registry.npmmirror.com/vue/-/vue-2.6.14.tgz", @@ -5302,6 +5976,11 @@ "integrity": "sha512-h9atBP/bsZohWpHnr+2sic8Iecb60GxftXsWNLLLSqewgIsGzByd2gcIID4nXcG+3tNe4GQG3dLcff3kXupdRA==", "dev": true }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, "yallist": { "version": "2.1.2", "resolved": "https://registry.npmmirror.com/yallist/-/yallist-2.1.2.tgz", diff --git a/view-ui/package.json b/view-ui/package.json index 03471963..42622026 100644 --- a/view-ui/package.json +++ b/view-ui/package.json @@ -12,6 +12,7 @@ "echart": "^0.1.3", "echarts": "^5.3.3", "element-ui": "^2.15.9", + "vscode": "^1.1.37", "vue": "2.6.14" }, "devDependencies": { @@ -24,6 +25,7 @@ "vite-plugin-vue2": "^1.9.3", "vue-template-babel-compiler": "^1.2.0", "vue-template-compiler": "2.6.14", - "vue-tsc": "^0.37.3" + "vue-tsc": "^0.37.3", + "@types/vscode-webview": "^1.57.0" } } diff --git a/view-ui/src/App.vue b/view-ui/src/App.vue index d768b6e2..b0c5f96c 100644 --- a/view-ui/src/App.vue +++ b/view-ui/src/App.vue @@ -1,28 +1,29 @@ @@ -101,137 +99,429 @@ function TableData () { export default { data() { return { - local_pid_input: -1, + local_pid_input: '', local_passwd_input: '', local_cmd_input: '', local_env_input: '', remote_account_input: '', remote_passwd_input: '', remote_addr_input: '', - remote_pid_input: -1, - radio: '1', + remote_pid_input: '', loading: true, + pid: false, afterchecked: false, deadlockgraph: {}, deadlockinfo: [], - lockinfo:[] + lockinfo:[], + activeName: "first", + local_thread_data: '', + remote_thread_data: '', + thread_info: [] }; }, mounted() { - this.chartDraw(); - this.listener(); + this.messageListen(); }, methods:{ - begin_local_check(isLocal, isPid){ - let td = new TableData(); - if(isLocal){ - - }else if(!isLocal){ - td.CmdType = cmd_type.REMOTE_PID; - td.Pid = remote_pid_input; - td.Addr = remote_addr_input; - td.User = remote_ - } - this.$vscode.postMessage(data); + messageListen() { + window.addEventListener("message", (event) => { + if (event.data.res.CmdType == 1) { + if(event.data.res.success=='success') { + this.drawDeadGraph(event.data.res.data); + } + // else if (event.data.res.success=='error') { + // this.$message({ + // showClose: true, + // message:"local-deadlock-detect command exec failed!", + // type: event.data.res.success=='success'?'success':'error' + // }); + // } + // else { + // this.$message({ + // showClose: true, + // message: event.data.res.msg, + // type: event.data.res.success=='success'?'success':'error' + // }); + // } + } + else if (event.data.res.CmdType == 3) { + if(event.data.res.success=='success'){ + this.drawDeadGraph(event.data.res.data); + } + // else if (event.data.res.success=='error') { + // this.$message({ + // showClose: true, + // message:"local-deadlock-detect command exec failed!", + // type: event.data.res.success=='success'?'success':'error' + // }); + // } + // else { + // this.$message({ + // showClose: true, + // message: event.data.res.msg, + // type: event.data.res.success=='success'?'success':'error' + // }); + // } + } + }) }, - chartDraw() { - var myChart = echarts.init(document.getElementById('main')); - var option; - option = { - title: { - text: '死锁关系图' - }, - tooltip: {}, - animationDurationUpdate: 1500, - animationEasingUpdate: 'quinticInOut', - series: [ - { - type: 'graph', - layout: 'none', - symbolSize: 50, - roam: false, - label: { - show: true - }, - edgeSymbol: ['circle', 'arrow'], - edgeSymbolSize: [4, 10], - edgeLabel: { - fontSize: 20 - }, - data: [ - { - name: 'Node 1', - x: 300, - y: 300 - }, - { - name: 'Node 2', - x: 800, - y: 300 - }, - { - name: 'Node 3', - x: 550, - y: 100 - }, - { - name: 'Node 4', - x: 550, - y: 500 - } - ], - // links: [], - links: [ - { - source: 0, - target: 1, - symbolSize: [5, 20], - label: { - show: true - }, - lineStyle: { - width: 5, - curveness: 0.2 - } - }, - { - source: 'Node 2', - target: 'Node 1', - label: { - show: true - }, - lineStyle: { - curveness: 0.2 - } - }, - { - source: 'Node 1', - target: 'Node 3' - }, - { - source: 'Node 2', - target: 'Node 3' - }, - { - source: 'Node 2', - target: 'Node 4' - }, - { - source: 'Node 1', - target: 'Node 4' - } - ], - lineStyle: { - opacity: 0.9, - width: 2, - curveness: 0 + + begin_local_check(){ + let td = new TableData(); + let local_form = {}; + + let re = this.local_info_verify(this.local_pid_input, this.local_passwd_input); + if(re == '-1') + return; + local_form.pid = this.local_pid_input; + local_form.pwd = this.local_passwd_input; + local_form.CmdType = cmd_type.LOCAL_PID; + this.$vscode.postMessage({form: local_form}); + }, + + begin_remote_check(){ + let remote_form = {}; + let re = this.remote_info_verify(this.remote_pid_input, this.remote_passwd_input, this.remote_account_input, this.remote_addr_input); + if(re == '-1') + return; + remote_form.pid = this.remote_pid_input; + remote_form.pwd = this.remote_passwd_input; + remote_form.CmdType = cmd_type.REMOTE_PID; + remote_form.user = this.remote_account_input; + remote_form.ip = this.remote_addr_input; + this.$vscode.postMessage({form: remote_form}); + }, + + local_info_verify(pid, pwd) { + if(!pid){ + this.$message({ + showClose: true, + message:'请输入pid', + type:'warning', + }); + return '-1'; + } + if(!pwd){ + this.$message({ + showClose: true, + message:'请输入用户密码', + type:'warning', + }); + return '-1'; + } + return '0'; + }, + + remote_info_verify(pid, pwd, user, ip) { + if(!pid){ + this.$message({ + showClose: true, + message:'请输入pid', + type:'warning', + }); + return '-1'; + } + if(!pwd){ + this.$message({ + showClose: true, + message:'请输入用户密码', + type:'warning', + }); + return '-1'; + } + if(!user){ + this.$message({ + showClose: true, + message:'请输入远程用户账号!', + type:'warning', + }); + return '-1'; + } + if(!ip){ + this.$message({ + showClose: true, + message:'请输入远程IP地址!', + type:'warning', + }); + return '-1'; + } + return '0'; + }, + + lockInfoInit(data){ + if (this.activeName == "first") + this.local_thread_data = ''; + if (this.activeName == "second") + this.remote_thread_data = ''; + this.thread_info = []; + + let sub=data.split(/\n/); + console.log(sub); + this.pid = true; + this.loading = false; + sub.forEach(item=>{ + if(/LWP/g.test(item)){ + let obj={}; + obj.threadID=item.split(/LWP /)[1].split(/\)/)[0]; + obj.lockID=item.split(/\{/)[1].split(/\}/)[0]; + obj.ownID=item.split(/LWP /)[2].split(/\)/)[0]; + this.thread_info.push(obj); + if (this.activeName == "first") { + this.local_thread_data = `${this.local_thread_data}线程${obj.threadID}等待锁${obj.lockID},锁${obj.lockID}被线程${obj.ownID}拥有;\n`; + console.log(this.local_thread_data); + } else { + this.remote_thread_data = `${this.remote_thread_data}线程${obj.threadID}等待锁${obj.lockID},锁${obj.lockID}被线程${obj.ownID}拥有;`; + console.log(this.remote_thread_data); } } - ] - }; - option && myChart.setOption(option); - } + }); + }, + + drawDeadGraph(data){ + if(/没有发现死锁/g.test(data)){ + let myChart = echarts.init(document.getElementById(this.activeName == "first" ? "main_local" : "main_remote")); + myChart.setOption({}, true); + myChart.clear(); + if (this.activeName == "first") { + this.local_thread_data = ''; + } else { + this.remote_thread_data = ''; + } + this.$message({ + showClose: true, + message:'没有发现死锁!', + type:'warning', + }); + return '-1'; + } + this.lockInfoInit(data); + let echartsData=this.getdeadgraphData(this.thread_info); + this.deadgraph(echartsData); + }, + + getdeadgraphData(lockInfo){ + let data=[]; + let createdNodeArr=[]; + let threadPos={}; + let lockPos={}; + let thPosX=0; + let thPosY=0 + let linkDataArr=[]; + lockInfo.forEach((item,index)=>{ + + thPosX+=50; + let obj={ + name: item.threadID, + // x: threadPos[item.threadID], + x: thPosX, + y: thPosY, + symbol:'rect', + }; + data.push(obj); + createdNodeArr.push(item.threadID); + + if(index==lockInfo.length-1){ + thPosY=0; + }else{ + thPosY+=50; + } + if(!lockPos[item.ownID]){ + lockPos[item.ownID]=thPosY; + }else{ + lockPos[item.ownID]+=50; + lockPos[item.ownID]+=thPosY; + + } + + obj={ + name: '锁'+item.lockID, + // x: threadPos[item.threadID], + x:thPosX, + // y: lockPos[item.ownID], + y:thPosY, + symbol:'circle', + }; + data.push(obj); + createdNodeArr.push('锁'+item.lockID); + + let linkObj={ + source: item.threadID, + target: '锁'+item.lockID, + label: { + show: true, + formatter:'等待' + }, + lineStyle: { + curveness: 0.2 + } + } + let linkObj1={ + source: item.ownID, + target: '锁'+item.lockID, + label: { + show: true, + formatter:'拥有' + }, + lineStyle: { + curveness: 0.2 + } + } + linkDataArr.push(linkObj,linkObj1); + }) + let returnData={ + data:data, + linkDataArr:linkDataArr + }; + return returnData; + } + , + deadgraph(echartsData) { + // var myChart = echarts.init(document.getElementById(this.activeName == "first" ? "main_local" : "main_remote")); + // var myChart = echarts.init(document.getElementById("main_local")); + // myChart.setOption({}, true); + // myChart = echarts.init(document.getElementById("main_remote")); + // myChart.setOption({}, true); + let myChart = echarts.init(document.getElementById(this.activeName == "first" ? "main_local" : "main_remote")); + // var op = myChart.getOption(); + // console.log(op); + let option = { + title: { + text: '死锁关系图' + }, + tooltip: {}, + animationDurationUpdate: 1500, + animationEasingUpdate: 'quinticInOut', + series: [ + { + type: 'graph', + layout: 'none', + symbolSize: 50, + roam: true, + label: { + show: true + }, + edgeSymbol: ['circle', 'arrow'], + edgeSymbolSize: [4, 10], + itemStyle: { + color: '#bbb', + show: true + }, + edgeLabel: { + fontSize: 20 + }, + data: echartsData.data, + + links: echartsData.linkDataArr, + + lineStyle: { + opacity: 0.9, + width: 1, + curveness: 0.2 + } + } + ] + }; + console.log("打印option数据"); + myChart.setOption(option, true); + }, + // chartDraw() { + // var myChart = echarts.init(document.getElementById('main')); + // var option; + // option = { + // title: { + // text: '死锁关系图' + // }, + // tooltip: {}, + // animationDurationUpdate: 1500, + // animationEasingUpdate: 'quinticInOut', + // series: [ + // { + // type: 'graph', + // layout: 'none', + // symbolSize: 50, + // roam: false, + // label: { + // show: true + // }, + // edgeSymbol: ['circle', 'arrow'], + // edgeSymbolSize: [4, 10], + // edgeLabel: { + // fontSize: 20 + // }, + // data: [ + // { + // name: 'Node 1', + // x: 300, + // y: 300 + // }, + // { + // name: 'Node 2', + // x: 800, + // y: 300 + // }, + // { + // name: 'Node 3', + // x: 550, + // y: 100 + // }, + // { + // name: 'Node 4', + // x: 550, + // y: 500 + // } + // ], + // // links: [], + // links: [ + // { + // source: 0, + // target: 1, + // symbolSize: [5, 20], + // label: { + // show: true + // }, + // lineStyle: { + // width: 5, + // curveness: 0.2 + // } + // }, + // { + // source: 'Node 2', + // target: 'Node 1', + // label: { + // show: true + // }, + // lineStyle: { + // curveness: 0.2 + // } + // }, + // { + // source: 'Node 1', + // target: 'Node 3' + // }, + // { + // source: 'Node 2', + // target: 'Node 3' + // }, + // { + // source: 'Node 2', + // target: 'Node 4' + // }, + // { + // source: 'Node 1', + // target: 'Node 4' + // } + // ], + // lineStyle: { + // opacity: 0.9, + // width: 2, + // curveness: 0 + // } + // } + // ] + // }; + // option && myChart.setOption(option); + // } } }; - \ No newline at end of file + diff --git a/view-ui/src/main.ts b/view-ui/src/main.ts index f9ba54b1..7f992183 100644 --- a/view-ui/src/main.ts +++ b/view-ui/src/main.ts @@ -4,9 +4,11 @@ import 'element-ui/lib/theme-chalk/index.css'; import App from './App.vue'; - Vue.use(ElementUI); +const vscode = acquireVsCodeApi() + Vue.prototype.$vscode = vscode + new Vue({ el: '#app', render: h => h(App)