From 1039a5a43cba8458996b2d053e82b767d48aaf6b Mon Sep 17 00:00:00 2001 From: luoyang Date: Thu, 4 Apr 2019 10:35:59 +0800 Subject: [PATCH 01/59] =?UTF-8?q?fix=20=E6=B8=85=E7=AE=97=E6=96=87?= =?UTF-8?q?=E4=BB=B6excel=E4=B8=8B=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manage/tradelog/core/impls/TradeLogServiceImpl.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/tradelog/core/impls/TradeLogServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/tradelog/core/impls/TradeLogServiceImpl.java index 5683c4782..3bf72ea5f 100644 --- a/src/main/java/au/com/royalpay/payment/manage/tradelog/core/impls/TradeLogServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/tradelog/core/impls/TradeLogServiceImpl.java @@ -1209,6 +1209,9 @@ public class TradeLogServiceImpl implements TradeLogService { String end = query.getDateto() == null ?"":query.getDateto(); String timezone = partner.getJSONObject("client").getString("timezone"); JSONObject params = query.toParams(timezone); + if (params.get("client_ids") == null) { + params.put("client_id",partner.getJSONObject("client").getString("client_id")); + } List clientOrderList = transactionMapper.getClientOrderByTransactionTime(params); List clientOrders = new ArrayList<>(clientOrderList.size()); clientOrderList.parallelStream().forEach(p->{ @@ -1302,7 +1305,9 @@ public class TradeLogServiceImpl implements TradeLogService { JSONObject client = partner.getJSONObject("client"); String timezone = client.getString("timezone"); JSONObject params = query.toParams(timezone); - params.put("client_id",client.getString("client_id")); + if (params.get("client_ids") == null) { + params.put("client_id",client.getString("client_id")); + } List clientOrderList = transactionMapper.getClientOrderByTransactionTime(params); List clientOrders = new ArrayList<>(clientOrderList.size()); clientOrderList.parallelStream().forEach(p->{ From da31664b9b8c27237dfc0e5956efaedc5b0c70de Mon Sep 17 00:00:00 2001 From: luoyang Date: Thu, 4 Apr 2019 11:58:35 +0800 Subject: [PATCH 02/59] fix add_sub_partner --- .../partner/templates/add_partner.html | 3 +- .../templates/add_sub_partner_dialog.html | 105 ++++++++++++++++++ 2 files changed, 107 insertions(+), 1 deletion(-) diff --git a/src/main/ui/static/payment/partner/templates/add_partner.html b/src/main/ui/static/payment/partner/templates/add_partner.html index d55bb9ffc..bfc64215e 100644 --- a/src/main/ui/static/payment/partner/templates/add_partner.html +++ b/src/main/ui/static/payment/partner/templates/add_partner.html @@ -495,6 +495,7 @@ +
Alipay Information  (Optional) @@ -1046,7 +1047,7 @@
-
+ diff --git a/src/main/ui/static/payment/partner/templates/add_sub_partner_dialog.html b/src/main/ui/static/payment/partner/templates/add_sub_partner_dialog.html index e3a4650d3..95b7aa9d0 100644 --- a/src/main/ui/static/payment/partner/templates/add_sub_partner_dialog.html +++ b/src/main/ui/static/payment/partner/templates/add_sub_partner_dialog.html @@ -317,6 +317,111 @@ +
+
Merchant Payment Scenario
+
+
+
+ +
+ +
+

Required + Field

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +

+ 例如:线下场景:门店(立牌、POS)、收银系统(选择品牌名称【ipos、银豹、aupos、其他】)、无门店

+
+

Required + Field

+

Less + Than 200 + Characters(including symbols and spaces)

+
+
+
+
+
+
+
Alipay Information  (Optional)
From 95a13ac5d63f0a2f971c51440d0270f1a3327e61 Mon Sep 17 00:00:00 2001 From: "taylor.dang" Date: Thu, 4 Apr 2019 11:59:48 +0800 Subject: [PATCH 03/59] =?UTF-8?q?[Y]=20api=E6=96=87=E6=A1=A3=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E6=B8=A0=E9=81=93=E6=96=B9=E4=BA=A4=E6=98=93=E6=B5=81?= =?UTF-8?q?=E6=B0=B4=E5=8F=B7(channel=5Forder=5Fid)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/document/cn/apis.js | 2 ++ src/document/en/apis.js | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/document/cn/apis.js b/src/document/cn/apis.js index b00da0de6..ea8976109 100644 --- a/src/document/cn/apis.js +++ b/src/document/cn/apis.js @@ -341,6 +341,7 @@ * 如果需要可以用相同订单号再次发起支付单,支付成功或支付中的无法重复发起订单 * @apiSuccess {String} order_id RoyalPay订单ID,同时也是微信订单ID,最终支付成功的订单ID可能不同 * @apiSuccess {String} partner_order_id 商户订单ID + * @apiSuccess {String} channel_order_id 渠道方(支付宝、微信)交易流水号 * @apiSuccess {int} total_fee 订单金额,单位是货币最小面值单位 * @apiSuccess {int} real_fee 实际支付金额,单位是货币最小面值单位(目前等于订单金额,为卡券预留) * @apiSuccess {Double} rate 交易时使用的汇率,1AUD=?CNY @@ -636,6 +637,7 @@ * @apiParam (JSON) {String} nonce_str 随机字符串 * @apiParam (JSON) {String} sign 签名 * @apiParam (JSON) {String} partner_order_id 商户订单ID + * @apiParam (JSON) {String} channel_order_id 渠道方(支付宝、微信)交易流水号 * @apiParam (JSON) {String} order_id RoyalPay订单ID * @apiParam (JSON) {int} total_fee 订单金额,单位是最小货币单位 * @apiParam (JSON) {int} real_fee 支付金额,单位是最小货币单位 diff --git a/src/document/en/apis.js b/src/document/en/apis.js index f89c12af4..b759a76ea 100644 --- a/src/document/en/apis.js +++ b/src/document/en/apis.js @@ -352,6 +352,7 @@ * Use the same order id to call create order API can renew the order. PAYING, PAY_SUCCESS orders cannot be renewed. * @apiSuccess {String} order_id Order id in RoyalPay, which is also WeChat order id. The final order id which is paid may be different from this one * @apiSuccess {String} partner_order_id Partner order id + * @apiSuccess {String} channel_order_id PayChannel(Alipay、Wechat) Transaction Trade No * @apiSuccess {int} total_fee Order amount, which uses the base unit of current currency * @apiSuccess {int} real_fee Actual paid amount.(Equal to total fee at the moment. After coupon feature is finished, this value may be different. ) * @apiSuccess {Double} rate Exchange Rate used while trading. 1AUD=?CNY @@ -646,6 +647,7 @@ * @apiParam (JSON) {String} nonce_str Random string * @apiParam (JSON) {String} sign Sign * @apiParam (JSON) {String} partner_order_id Partner order id + * @apiParam (JSON) {String} channel_order_id PayChannel(Alipay、Wechat) Transaction Trade No * @apiParam (JSON) {String} order_id RoyalPay order id * @apiParam (JSON) {int} total_fee Order amount * @apiParam (JSON) {int} real_fee Actual paid amount From d8703ad7faece0c8d349bebe4900e50063258067 Mon Sep 17 00:00:00 2001 From: luoyang Date: Thu, 4 Apr 2019 12:00:46 +0800 Subject: [PATCH 04/59] fix add_sub_partner --- src/main/ui/static/payment/partner/partner-manage.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/ui/static/payment/partner/partner-manage.js b/src/main/ui/static/payment/partner/partner-manage.js index e1a328b7c..bc32e68d6 100644 --- a/src/main/ui/static/payment/partner/partner-manage.js +++ b/src/main/ui/static/payment/partner/partner-manage.js @@ -2708,6 +2708,9 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter // alert("Please Locate Merchant Location!"); // return; // } + if ($scope.partner.client_pay_type==''){ + alert('请选择商户支付场景') + } $http.post('/sys/partners/' + clientMoniker + '/sub_clients', $scope.partner).then(function () { $scope.updateMerchantLocation(); $scope.$close(); From 2ad3ba5e7302e2e0556d8c3b283fc9dfbaed248f Mon Sep 17 00:00:00 2001 From: luoyang Date: Thu, 4 Apr 2019 17:54:01 +0800 Subject: [PATCH 05/59] commit tmp --- ...FinancialSurchargeAccountDetailMapper.java | 9 ++-- .../core/SurchargeAccountService.java | 2 + .../impl/SurchargeAccountServiceImpl.java | 48 ++++++++++++++++++- .../web/SurchargeAccountController.java | 6 ++- .../task/SurchargeAccountMonthTask.java | 3 -- .../ClearingDistributedSurchargeMapper.xml | 3 +- .../partner-surcharge-account.js | 34 ++++++++++++- .../templates/account_month_logs.html | 18 +++++-- 8 files changed, 108 insertions(+), 15 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/mappers/system/FinancialSurchargeAccountDetailMapper.java b/src/main/java/au/com/royalpay/payment/manage/mappers/system/FinancialSurchargeAccountDetailMapper.java index 627d47cbe..0652c16ff 100644 --- a/src/main/java/au/com/royalpay/payment/manage/mappers/system/FinancialSurchargeAccountDetailMapper.java +++ b/src/main/java/au/com/royalpay/payment/manage/mappers/system/FinancialSurchargeAccountDetailMapper.java @@ -13,6 +13,9 @@ import java.util.List; @AutoMapper(tablename = "financial_surcharge_account_detail", pkName = "detail_id") public interface FinancialSurchargeAccountDetailMapper { + @AutoSql(type = SqlType.SELECT) + JSONObject findByDetailId(@Param("detail_id") String detail_id); + List findDetailsByMonth(@Param("settle_month") String settle_month); List findDetailsByClientId(@Param("client_id") int client_id); @@ -20,9 +23,9 @@ public interface FinancialSurchargeAccountDetailMapper { @AutoSql(type = SqlType.INSERT) void save(JSONObject detail); - List listSettlementDatesInMonth(@Param("month") String month); - - + @AutoSql(type = SqlType.UPDATE) + void update(JSONObject detail); + List listSettlementDatesInMonth(@Param("month") String month); } diff --git a/src/main/java/au/com/royalpay/payment/manage/surchargeAccount/core/SurchargeAccountService.java b/src/main/java/au/com/royalpay/payment/manage/surchargeAccount/core/SurchargeAccountService.java index 1b86f2c97..fb86eaf0a 100644 --- a/src/main/java/au/com/royalpay/payment/manage/surchargeAccount/core/SurchargeAccountService.java +++ b/src/main/java/au/com/royalpay/payment/manage/surchargeAccount/core/SurchargeAccountService.java @@ -11,4 +11,6 @@ public interface SurchargeAccountService { List listSettledDatesInMonth(String mon); + void fillMothsSurcharge(JSONObject manager, String detail_id); + } diff --git a/src/main/java/au/com/royalpay/payment/manage/surchargeAccount/core/impl/SurchargeAccountServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/surchargeAccount/core/impl/SurchargeAccountServiceImpl.java index cf83bdac9..24f7b9c92 100644 --- a/src/main/java/au/com/royalpay/payment/manage/surchargeAccount/core/impl/SurchargeAccountServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/surchargeAccount/core/impl/SurchargeAccountServiceImpl.java @@ -1,9 +1,14 @@ package au.com.royalpay.payment.manage.surchargeAccount.core.impl; import au.com.royalpay.payment.manage.mappers.system.ClearingDistributedSurchargeMapper; +import au.com.royalpay.payment.manage.mappers.system.ClientsSurchargeAccountsMapper; import au.com.royalpay.payment.manage.mappers.system.FinancialSurchargeAccountDetailMapper; import au.com.royalpay.payment.manage.surchargeAccount.core.SurchargeAccountService; import au.com.royalpay.payment.manage.system.core.impl.ClientContractServiceImpl; +import au.com.royalpay.payment.tools.exceptions.ForbiddenException; +import au.com.royalpay.payment.tools.exceptions.ServerErrorException; +import au.com.royalpay.payment.tools.lock.Locker; +import au.com.royalpay.payment.tools.permission.enums.ManagerRole; import com.alibaba.fastjson.JSONObject; import org.apache.commons.lang3.time.DateFormatUtils; import org.slf4j.Logger; @@ -12,6 +17,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; @@ -24,6 +30,10 @@ public class SurchargeAccountServiceImpl implements SurchargeAccountService{ private ClearingDistributedSurchargeMapper clearingDistributedSurchargeMapper; @Resource private FinancialSurchargeAccountDetailMapper financialSurchargeAccountDetailMapper; + @Resource + private Locker locker; + @Resource + private ClientsSurchargeAccountsMapper clientsSurchargeAccountsMapper; Logger logger = LoggerFactory.getLogger(ClientContractServiceImpl.class); @@ -50,6 +60,7 @@ public class SurchargeAccountServiceImpl implements SurchargeAccountService{ detail.put("wx_send", 0); detail.put("settle_month", DateFormatUtils.format(datefrom, "yyyy-MM")); detail.put("create_time", new Date()); + detail.put("is_valid", 0); financialSurchargeAccountDetailMapper.save(detail); } @@ -59,8 +70,41 @@ public class SurchargeAccountServiceImpl implements SurchargeAccountService{ @Override public List listSettledDatesInMonth(String mon) { - List settledDates = financialSurchargeAccountDetailMapper.listSettlementDatesInMonth(mon); + return financialSurchargeAccountDetailMapper.listSettlementDatesInMonth(mon); + } - return settledDates; + @Override + public void fillMothsSurcharge(JSONObject manager, String detail_id) { + if (!(ManagerRole.ADMIN.hasRole(manager.getIntValue("role")) || ManagerRole.OPERATOR.hasRole(manager.getIntValue("role")) || ManagerRole.FINANCIAL_STAFF.hasRole(manager.getIntValue("role")))) { + throw new ForbiddenException("无法执行平账操作,权限不足"); + } + JSONObject detail = financialSurchargeAccountDetailMapper.findByDetailId(detail_id); + if (!locker.lock(detail.getIntValue("client_id") + "_" + detail.getString("settle_month") + "_fill", 120_000)) { + throw new ServerErrorException("Processing task, wait for a moment"); + } + try { + JSONObject surcharge_account = clientsSurchargeAccountsMapper.find(detail.getIntValue("client_id")); + JSONObject transaction = new JSONObject(); + transaction.put("client_id", detail.getIntValue("client_id")); + transaction.put("settle_date", detail.getString("settle_date")); + transaction.put("type", "Credit"); + transaction.put("total_surcharge", BigDecimal.ZERO); + transaction.put("tax_amount", BigDecimal.ZERO); + transaction.put("amount", detail.getBigDecimal("debit_amount")); + transaction.put("post_balance", surcharge_account.getBigDecimal("balance").add(transaction.getBigDecimal("amount"))); + transaction.put("operation", manager.getString("manager_id")); + transaction.put("create_time", new Date()); + transaction.put("remark", detail.getString("settle_date")+"冲正"); + clearingDistributedSurchargeMapper.save(transaction); + + surcharge_account.put("balance", surcharge_account.getBigDecimal("balance").add(transaction.getBigDecimal("amount"))); + clientsSurchargeAccountsMapper.update(surcharge_account); + + detail.put("is_valid", 1); + detail.put("operator_id", manager.getString("manager_id")); + financialSurchargeAccountDetailMapper.update(detail); + } finally { + locker.unlock(detail.getIntValue("client_id") + "_" + detail.getString("settle_month") + "_fill"); + } } } diff --git a/src/main/java/au/com/royalpay/payment/manage/surchargeAccount/web/SurchargeAccountController.java b/src/main/java/au/com/royalpay/payment/manage/surchargeAccount/web/SurchargeAccountController.java index 114f4ba4e..ca7729a21 100644 --- a/src/main/java/au/com/royalpay/payment/manage/surchargeAccount/web/SurchargeAccountController.java +++ b/src/main/java/au/com/royalpay/payment/manage/surchargeAccount/web/SurchargeAccountController.java @@ -19,7 +19,6 @@ import java.util.List; @RestController public class SurchargeAccountController { - @Resource private SurchargeAccountService surchargeAccountService; @@ -27,4 +26,9 @@ public class SurchargeAccountController { public List surchargeAccountSettledDates(@ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager, @PathVariable String month) { return surchargeAccountService.listSettledDatesInMonth(month); } + + @ManagerMapping(value = "/fill/{detail_id}", role = {ManagerRole.ADMIN, ManagerRole.OPERATOR, ManagerRole.FINANCIAL_STAFF}, method = RequestMethod.PUT) + public void fillMothsSurcharge(@ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager, @PathVariable String detail_id) { + surchargeAccountService.fillMothsSurcharge(manager, detail_id); + } } diff --git a/src/main/java/au/com/royalpay/payment/manage/task/SurchargeAccountMonthTask.java b/src/main/java/au/com/royalpay/payment/manage/task/SurchargeAccountMonthTask.java index 4897b1e2b..9abb2d8ad 100644 --- a/src/main/java/au/com/royalpay/payment/manage/task/SurchargeAccountMonthTask.java +++ b/src/main/java/au/com/royalpay/payment/manage/task/SurchargeAccountMonthTask.java @@ -16,9 +16,6 @@ public class SurchargeAccountMonthTask { @Resource private SurchargeAccountService surchargeAccountService; - - - @Scheduled(cron = "0 30 6 1 * ?") public void generateSurchargeAccountDetail() { synchronizedScheduler.executeProcess("manage_task:generateSurchargeAccountMonth", 120_000, () -> diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClearingDistributedSurchargeMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClearingDistributedSurchargeMapper.xml index 99897a8f2..cf134f79b 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClearingDistributedSurchargeMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClearingDistributedSurchargeMapper.xml @@ -5,7 +5,8 @@ =#{datefrom} AND d.create_time < #{dateto} AND c.is_valid= 1 diff --git a/src/main/ui/static/payment/surchargeaccount/partner-surcharge-account.js b/src/main/ui/static/payment/surchargeaccount/partner-surcharge-account.js index 161f419fc..ded9f5836 100644 --- a/src/main/ui/static/payment/surchargeaccount/partner-surcharge-account.js +++ b/src/main/ui/static/payment/surchargeaccount/partner-surcharge-account.js @@ -67,7 +67,6 @@ define(['angular', 'decimal', 'uiBootstrap', 'uiRouter', 'angularEcharts'], func return start <= mon && end >= mon }; $scope.loadReport = function (mon) { - $http.get('/sys/surcharge_account/month/' + mon + '/settled_dates').then(function (resp) { $scope.report = { month: mon, @@ -97,6 +96,39 @@ define(['angular', 'decimal', 'uiBootstrap', 'uiRouter', 'angularEcharts'], func $scope.loadReport($scope.report.month); }); }; + $scope.openClientBoard = function (client) { + $uibModal.open({ + templateUrl: '/static/analysis/templates/partner_card.html', + controller: 'partnerCardCtrl', + resolve: { + clientMoniker: function () { + return client.client_moniker + } + }, + size: 'lg' + }) + + }; + $scope.fillMonthsSurcharge = function (details) { + var contentHtml = $sce.trustAsHtml('即将为[' + $scope.details.short_name + '],冲正,请确认商户信息'); + + commonDialog.confirm({ + title: '后付费账户冲正', + content: '', + choises: [{label: 'OK', className: 'btn-success', key: '1'}, + {label: 'Cancel', className: 'btn-danger', key: '2', dismiss: true}], + contentHtml: contentHtml + }).then(function () { + $http.post('/sys/settlement/settlement_notice').then(function () { + commonDialog.alert({title: 'Success', content: '发送成功', type: 'success'}); + $scope.noticeResend = false; + }, function (resp) { + commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}); + $scope.noticeResend = false; + }); + }) + + }; diff --git a/src/main/ui/static/payment/surchargeaccount/templates/account_month_logs.html b/src/main/ui/static/payment/surchargeaccount/templates/account_month_logs.html index 2b2a39c8b..663aa6ca9 100644 --- a/src/main/ui/static/payment/surchargeaccount/templates/account_month_logs.html +++ b/src/main/ui/static/payment/surchargeaccount/templates/account_month_logs.html @@ -48,24 +48,34 @@ Short Name 充值总额 支出总额 - 余额 + 已结清 + 操作 - + + + + - {{details.balance|currency:'$'}} - {{details.balance|currency:'$'}} + 已结清 + 未付款 + + + + + From 652c076016ba924681a382cea51e99480cfb28cd Mon Sep 17 00:00:00 2001 From: luoyang Date: Mon, 8 Apr 2019 10:31:26 +0800 Subject: [PATCH 06/59] tmp commit fix getClearDetailTotal --- .../merchants/core/impls/ClientManagerImpl.java | 1 - .../core/impl/SurchargeAccountServiceImpl.java | 15 +++++++-------- .../manage/task/SurchargeAccountMonthTask.java | 2 +- .../manage/mappers/payment/TransactionMapper.xml | 5 +++++ .../surchargeaccount/partner-surcharge-account.js | 13 ++++++------- .../templates/account_month_logs.html | 14 +++++++------- 6 files changed, 26 insertions(+), 24 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java b/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java index e2e783400..f82b820e5 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java @@ -3446,7 +3446,6 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid if (client == null) { throw new InvalidShortIdException(); } - JSONObject params = new JSONObject(); params.put("client_id", client.getIntValue("client_id")); params.put("year", date.substring(0, 4)); diff --git a/src/main/java/au/com/royalpay/payment/manage/surchargeAccount/core/impl/SurchargeAccountServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/surchargeAccount/core/impl/SurchargeAccountServiceImpl.java index 24f7b9c92..ccc0a6064 100644 --- a/src/main/java/au/com/royalpay/payment/manage/surchargeAccount/core/impl/SurchargeAccountServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/surchargeAccount/core/impl/SurchargeAccountServiceImpl.java @@ -5,6 +5,7 @@ import au.com.royalpay.payment.manage.mappers.system.ClientsSurchargeAccountsMap import au.com.royalpay.payment.manage.mappers.system.FinancialSurchargeAccountDetailMapper; import au.com.royalpay.payment.manage.surchargeAccount.core.SurchargeAccountService; import au.com.royalpay.payment.manage.system.core.impl.ClientContractServiceImpl; +import au.com.royalpay.payment.tools.exceptions.BadRequestException; import au.com.royalpay.payment.tools.exceptions.ForbiddenException; import au.com.royalpay.payment.tools.exceptions.ServerErrorException; import au.com.royalpay.payment.tools.lock.Locker; @@ -50,11 +51,9 @@ public class SurchargeAccountServiceImpl implements SurchargeAccountService{ Date dateto = monthCal.getTime(); monthCal.set(Calendar.MONTH, (monthCal.get(Calendar.MONTH) - 1)); Date datefrom = monthCal.getTime(); - logger.info("===============Start generator surcharge account month detail===============" + new Date()); List thisMonthDetail = clearingDistributedSurchargeMapper.getMonthDetailByClientId(datefrom, dateto); logger.info("this month details : " + thisMonthDetail.toString()); - for (JSONObject detail : thisMonthDetail) { detail.put("send_mail", 0); detail.put("wx_send", 0); @@ -63,9 +62,7 @@ public class SurchargeAccountServiceImpl implements SurchargeAccountService{ detail.put("is_valid", 0); financialSurchargeAccountDetailMapper.save(detail); } - logger.info("===============generator OVER===============" + new Date()); - } @Override @@ -79,6 +76,9 @@ public class SurchargeAccountServiceImpl implements SurchargeAccountService{ throw new ForbiddenException("无法执行平账操作,权限不足"); } JSONObject detail = financialSurchargeAccountDetailMapper.findByDetailId(detail_id); + if (detail.getBooleanValue("is_valid")) { + throw new BadRequestException("该记录已结清"); + } if (!locker.lock(detail.getIntValue("client_id") + "_" + detail.getString("settle_month") + "_fill", 120_000)) { throw new ServerErrorException("Processing task, wait for a moment"); } @@ -86,20 +86,19 @@ public class SurchargeAccountServiceImpl implements SurchargeAccountService{ JSONObject surcharge_account = clientsSurchargeAccountsMapper.find(detail.getIntValue("client_id")); JSONObject transaction = new JSONObject(); transaction.put("client_id", detail.getIntValue("client_id")); - transaction.put("settle_date", detail.getString("settle_date")); +// transaction.put("settle_date", detail.getString("settle_month")); transaction.put("type", "Credit"); transaction.put("total_surcharge", BigDecimal.ZERO); transaction.put("tax_amount", BigDecimal.ZERO); - transaction.put("amount", detail.getBigDecimal("debit_amount")); + transaction.put("amount", detail.getBigDecimal("debit_amount").negate()); transaction.put("post_balance", surcharge_account.getBigDecimal("balance").add(transaction.getBigDecimal("amount"))); transaction.put("operation", manager.getString("manager_id")); transaction.put("create_time", new Date()); - transaction.put("remark", detail.getString("settle_date")+"冲正"); + transaction.put("remark", detail.getString("settle_month")+"冲正"); clearingDistributedSurchargeMapper.save(transaction); surcharge_account.put("balance", surcharge_account.getBigDecimal("balance").add(transaction.getBigDecimal("amount"))); clientsSurchargeAccountsMapper.update(surcharge_account); - detail.put("is_valid", 1); detail.put("operator_id", manager.getString("manager_id")); financialSurchargeAccountDetailMapper.update(detail); diff --git a/src/main/java/au/com/royalpay/payment/manage/task/SurchargeAccountMonthTask.java b/src/main/java/au/com/royalpay/payment/manage/task/SurchargeAccountMonthTask.java index 9abb2d8ad..eaa7e9031 100644 --- a/src/main/java/au/com/royalpay/payment/manage/task/SurchargeAccountMonthTask.java +++ b/src/main/java/au/com/royalpay/payment/manage/task/SurchargeAccountMonthTask.java @@ -16,7 +16,7 @@ public class SurchargeAccountMonthTask { @Resource private SurchargeAccountService surchargeAccountService; - @Scheduled(cron = "0 30 6 1 * ?") + @Scheduled(cron = "0 30 23 1 * ?") public void generateSurchargeAccountDetail() { synchronizedScheduler.executeProcess("manage_task:generateSurchargeAccountMonth", 120_000, () -> surchargeAccountService.generatorMonthDetail()); diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/TransactionMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/TransactionMapper.xml index 9ad45c620..62d7ec5c2 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/TransactionMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/TransactionMapper.xml @@ -1074,10 +1074,15 @@ WHERE t.channel = 'Settlement' ]]> + AND t.client_id IN #{clientId} + + + and t.client_id=#{client_id} + and t.transaction_time >= #{from} and t.transaction_time < #{to} GROUP BY diff --git a/src/main/ui/static/payment/surchargeaccount/partner-surcharge-account.js b/src/main/ui/static/payment/surchargeaccount/partner-surcharge-account.js index ded9f5836..f117705df 100644 --- a/src/main/ui/static/payment/surchargeaccount/partner-surcharge-account.js +++ b/src/main/ui/static/payment/surchargeaccount/partner-surcharge-account.js @@ -47,8 +47,8 @@ define(['angular', 'decimal', 'uiBootstrap', 'uiRouter', 'angularEcharts'], func }]); - app.controller('surchargeAccountMonthCtrl', ['$scope', '$http', '$filter', '$timeout', '$uibModal', 'commonDialog', 'chartParser', - function ($scope, $http, $filter, $timeout, $uibModal, commonDialog, chartParser) { + app.controller('surchargeAccountMonthCtrl', ['$scope', '$http', '$filter', '$timeout', '$uibModal', 'commonDialog', 'chartParser','$sce', + function ($scope, $http, $filter, $timeout, $uibModal, commonDialog, chartParser, $sce) { $scope.params = {year: new Date().getFullYear()}; $scope.availableYears = [new Date().getFullYear() - 1, new Date().getFullYear()]; $scope.initMonth = function (year) { @@ -110,7 +110,7 @@ define(['angular', 'decimal', 'uiBootstrap', 'uiRouter', 'angularEcharts'], func }; $scope.fillMonthsSurcharge = function (details) { - var contentHtml = $sce.trustAsHtml('即将为[' + $scope.details.short_name + '],冲正,请确认商户信息'); + var contentHtml = $sce.trustAsHtml('即将为[' + details.short_name + ']冲正,请确认商户信息'); commonDialog.confirm({ title: '后付费账户冲正', @@ -119,12 +119,11 @@ define(['angular', 'decimal', 'uiBootstrap', 'uiRouter', 'angularEcharts'], func {label: 'Cancel', className: 'btn-danger', key: '2', dismiss: true}], contentHtml: contentHtml }).then(function () { - $http.post('/sys/settlement/settlement_notice').then(function () { - commonDialog.alert({title: 'Success', content: '发送成功', type: 'success'}); - $scope.noticeResend = false; + $http.put('/sys/surcharge_account/fill/' + details.detail_id).then(function () { + commonDialog.alert({title: 'Success', content: '冲正成功', type: 'success'}); + $scope.loadReport($scope.report.month); }, function (resp) { commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}); - $scope.noticeResend = false; }); }) diff --git a/src/main/ui/static/payment/surchargeaccount/templates/account_month_logs.html b/src/main/ui/static/payment/surchargeaccount/templates/account_month_logs.html index 663aa6ca9..729de8427 100644 --- a/src/main/ui/static/payment/surchargeaccount/templates/account_month_logs.html +++ b/src/main/ui/static/payment/surchargeaccount/templates/account_month_logs.html @@ -55,15 +55,15 @@ - + - - - - + + + + 已结清 未付款 @@ -71,11 +71,11 @@ - + - + From ebaf8efc680260be7583dd3d65545fe99b975825 Mon Sep 17 00:00:00 2001 From: luoyang Date: Mon, 8 Apr 2019 10:32:15 +0800 Subject: [PATCH 07/59] fix getClearDetailTotal --- .../payment/manage/mappers/payment/TransactionMapper.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/TransactionMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/TransactionMapper.xml index 9ad45c620..62d7ec5c2 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/TransactionMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/TransactionMapper.xml @@ -1074,10 +1074,15 @@ WHERE t.channel = 'Settlement' ]]> + AND t.client_id IN #{clientId} + + + and t.client_id=#{client_id} + and t.transaction_time >= #{from} and t.transaction_time < #{to} GROUP BY From f777b4cee46ca29de4c33dfd3985362e9b07c3f6 Mon Sep 17 00:00:00 2001 From: luoyang Date: Mon, 8 Apr 2019 14:52:26 +0800 Subject: [PATCH 08/59] =?UTF-8?q?commit=20=E7=AD=89=E5=BE=85invoice?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../clearing/core/impl/CleanServiceImpl.java | 8 +- .../web/CleanLogManagementController.java | 13 ++- .../ClearingDistributedSurchargeMapper.java | 2 - ...FinancialSurchargeAccountDetailMapper.java | 2 + .../manage/merchants/core/ClientManager.java | 2 + .../core/impls/ClientManagerImpl.java | 9 +++ .../merchants/web/PartnerViewController.java | 12 +++ .../ClearingDistributedSurchargeMapper.xml | 1 + .../FinancialSurchargeAccountDetailMapper.xml | 13 ++- src/main/ui/manage.html | 5 ++ .../ui/static/menu/templates/main_menu.html | 10 +++ .../partner-surcharge-account.js | 43 ++++++---- .../templates/account_month_logs.html | 6 +- .../templates/client_surcharge_account.html | 79 +++++++++++++------ .../client_surcharge_account_dialog.html | 39 +++++++++ .../partner_surcharge_account_dialog.html | 7 +- 16 files changed, 198 insertions(+), 53 deletions(-) create mode 100644 src/main/ui/static/payment/surchargeaccount/templates/client_surcharge_account_dialog.html diff --git a/src/main/java/au/com/royalpay/payment/manage/management/clearing/core/impl/CleanServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/management/clearing/core/impl/CleanServiceImpl.java index b225324dc..4f7b43440 100644 --- a/src/main/java/au/com/royalpay/payment/manage/management/clearing/core/impl/CleanServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/management/clearing/core/impl/CleanServiceImpl.java @@ -734,11 +734,11 @@ public class CleanServiceImpl implements CleanService, ManagerTodoNoticeProvider JSONObject client = clientManager.getClientInfo(client_id); Assert.notNull(client, "Client not exists"); int parent_client_id = client.getIntValue("parent_client_id"); - - if (client_id != partner.getIntValue("client_id") && parent_client_id != partner.getIntValue("client_id")) { - throw new ForbiddenException("No Permission"); + if (partner.get("client_id") != null) { + if (client_id != partner.getIntValue("client_id") && parent_client_id != partner.getIntValue("client_id")) { + throw new ForbiddenException("No Permission"); + } } - JSONObject clearClient = clearingDetailMapper.listReport(clearingDetailId, client_id); if (clearClient == null) { throw new NotFoundException(); diff --git a/src/main/java/au/com/royalpay/payment/manage/management/clearing/web/CleanLogManagementController.java b/src/main/java/au/com/royalpay/payment/manage/management/clearing/web/CleanLogManagementController.java index 23a43c2b3..3d196aaa0 100644 --- a/src/main/java/au/com/royalpay/payment/manage/management/clearing/web/CleanLogManagementController.java +++ b/src/main/java/au/com/royalpay/payment/manage/management/clearing/web/CleanLogManagementController.java @@ -1,17 +1,16 @@ package au.com.royalpay.payment.manage.management.clearing.web; import au.com.royalpay.payment.manage.management.clearing.core.CleanService; +import au.com.royalpay.payment.manage.permission.manager.PartnerMapping; import au.com.royalpay.payment.tools.permission.enums.ManagerRole; import au.com.royalpay.payment.manage.permission.manager.RequireManager; import au.com.royalpay.payment.manage.tradelog.beans.ClearingLogQuery; import au.com.royalpay.payment.tools.CommonConsts; import com.alibaba.fastjson.JSONObject; -import org.springframework.web.bind.annotation.ModelAttribute; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; import java.util.List; /** @@ -44,4 +43,10 @@ public class CleanLogManagementController { return cleanService.getSettlementLogs(query, manager); } + @PartnerMapping("/{client_id}/settlement_logs/{clearingDetailId}/export") + public void exportListClearingTransactions(@PathVariable int client_id, @PathVariable String clearingDetailId, + @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject partner, HttpServletResponse resp) { + cleanService.exportListClearingTransactions(client_id, clearingDetailId, partner, resp); + } + } diff --git a/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClearingDistributedSurchargeMapper.java b/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClearingDistributedSurchargeMapper.java index 9ee7f24e5..02e44f2c3 100644 --- a/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClearingDistributedSurchargeMapper.java +++ b/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClearingDistributedSurchargeMapper.java @@ -22,6 +22,4 @@ public interface ClearingDistributedSurchargeMapper { List getMonthDetailByClientId(@Param("datefrom") Date datefrom, @Param("dateto") Date dateto); List findTransactionsByDate(JSONObject params); - - } diff --git a/src/main/java/au/com/royalpay/payment/manage/mappers/system/FinancialSurchargeAccountDetailMapper.java b/src/main/java/au/com/royalpay/payment/manage/mappers/system/FinancialSurchargeAccountDetailMapper.java index 0652c16ff..eb598b9b4 100644 --- a/src/main/java/au/com/royalpay/payment/manage/mappers/system/FinancialSurchargeAccountDetailMapper.java +++ b/src/main/java/au/com/royalpay/payment/manage/mappers/system/FinancialSurchargeAccountDetailMapper.java @@ -27,5 +27,7 @@ public interface FinancialSurchargeAccountDetailMapper { void update(JSONObject detail); List listSettlementDatesInMonth(@Param("month") String month); + + List listSettlementDatesByClientId(@Param("client_id") int client_id); } diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientManager.java b/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientManager.java index 4c6106903..a8b73985e 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientManager.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientManager.java @@ -287,6 +287,8 @@ public interface ClientManager { List getAccountTransactions(JSONObject account,String clientMoniker); + List getAccountDetailByMonths(JSONObject account,String clientMoniker); + List getAccountTransactionsByDate(JSONObject account,String clientMoniker, String date); List getAccountMonthDetails(JSONObject account,String clientMoniker); diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java b/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java index f82b820e5..851f1fe89 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java @@ -3440,6 +3440,15 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid return transactions; } + @Override + public List getAccountDetailByMonths(JSONObject account, String clientMoniker) { + JSONObject client = getClientInfoByMoniker(clientMoniker); + if (client == null) { + throw new InvalidShortIdException(); + } + return financialSurchargeAccountDetailMapper.listSettlementDatesByClientId(client.getIntValue("client_id")); + } + @Override public List getAccountTransactionsByDate(JSONObject account, String clientMoniker, String date) { JSONObject client = getClientInfoByMoniker(clientMoniker); diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerViewController.java b/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerViewController.java index 25e7ae85d..64058ab27 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerViewController.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerViewController.java @@ -195,6 +195,18 @@ public class PartnerViewController { return clientManager.getAccountTransactions(manager, clientMoniker); } + @PartnerMapping(value = "/{clientMoniker}/account/transactions/date", method = RequestMethod.GET, roles = {PartnerRole.ADMIN, PartnerRole.MANAGER}) + @ResponseBody + public List accountTransactionsByDate(@ModelAttribute(CommonConsts.PARTNER_STATUS) JSONObject manager, @PathVariable String clientMoniker,@RequestParam String date) { + return clientManager.getAccountTransactionsByDate(manager, clientMoniker, date); + } + + @PartnerMapping(value = "/{clientMoniker}/account/months", method = RequestMethod.GET, roles = {PartnerRole.ADMIN, PartnerRole.MANAGER}) + @ResponseBody + public List getAccountDetailByMonths(@ModelAttribute(CommonConsts.PARTNER_STATUS) JSONObject manager, @PathVariable String clientMoniker){ + return clientManager.getAccountDetailByMonths(manager, clientMoniker); + } + @PartnerMapping(value = "/accounts/{accountId}/audit_refund", method = RequestMethod.PUT, roles = PartnerRole.ADMIN) @ResponseBody public void toggleAccountAuditRefund(@PathVariable String accountId, @ModelAttribute(CommonConsts.PARTNER_STATUS) JSONObject account, @RequestBody JSONObject enable) { diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClearingDistributedSurchargeMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClearingDistributedSurchargeMapper.xml index cf134f79b..5632543bf 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClearingDistributedSurchargeMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClearingDistributedSurchargeMapper.xml @@ -4,6 +4,7 @@ + \ No newline at end of file diff --git a/src/main/ui/manage.html b/src/main/ui/manage.html index 38d1a8ee3..250e8c82b 100644 --- a/src/main/ui/manage.html +++ b/src/main/ui/manage.html @@ -608,6 +608,11 @@ margin-bottom: 10%;"/> 商户欠款|Pre Refund +
  • + + 后付费收款 + +
  • diff --git a/src/main/ui/static/menu/templates/main_menu.html b/src/main/ui/static/menu/templates/main_menu.html index cccf149df..30a9608b8 100644 --- a/src/main/ui/static/menu/templates/main_menu.html +++ b/src/main/ui/static/menu/templates/main_menu.html @@ -821,6 +821,16 @@
    +
    diff --git a/src/main/ui/static/payment/surchargeaccount/partner-surcharge-account.js b/src/main/ui/static/payment/surchargeaccount/partner-surcharge-account.js index f117705df..c122470b7 100644 --- a/src/main/ui/static/payment/surchargeaccount/partner-surcharge-account.js +++ b/src/main/ui/static/payment/surchargeaccount/partner-surcharge-account.js @@ -21,18 +21,16 @@ define(['angular', 'decimal', 'uiBootstrap', 'uiRouter', 'angularEcharts'], func controller: 'surchargeAccountMonthCtrl' }) }]); - app.controller('clientSurchargeAccountCtrl', ['$scope', '$http','$state','$filter', 'commonDialog','partner', function ($scope, $http,$state,$filter, commonDialog, partner) { + app.controller('clientSurchargeAccountCtrl', ['$scope', '$http','$state','$filter', 'commonDialog','partner','$uibModal', function ($scope, $http,$state,$filter, commonDialog, partner,$uibModal) { $scope.partner = angular.copy(partner.data); $scope.getBalance = function () { $scope.surcharge = {}; - if ($scope.partner.surcharge_mode != undefined && $scope.partner.surcharge_mode == "distributed") { $http.get('/client/partner_info/' + $scope.partner.client_moniker + '/surcharge_account').then(function (resp) { $scope.surcharge = resp.data; }) - } }; @@ -45,6 +43,32 @@ define(['angular', 'decimal', 'uiBootstrap', 'uiRouter', 'angularEcharts'], func $scope.getBalance(); $scope.getTransactions(); + $scope.getDetailByMonths = function () { + $http.get('/client/partner_info/' + $scope.partner.client_moniker + '/account/months').then(function (resp) { + $scope.report = resp.data; + }) + }; + $scope.getDetailByMonths(); + $scope.surchargeAccountDetail = function (client_moniker,mon) { + $uibModal.open({ + templateUrl: '/static/payment/surchargeaccount/templates/client_surcharge_account_dialog.html', + controller: 'accountDetailCtrl', + size: 'lg', + resolve: { + client_moniker: function () { + return client_moniker; + }, + month: function () { + return mon; + }, + transactions: ['$http', function ($http) { + return $http.get('/client/partner_info/' + client_moniker + '/account/transactions/date?date=' + mon); + }] + } + }); + }; + + }]); app.controller('surchargeAccountMonthCtrl', ['$scope', '$http', '$filter', '$timeout', '$uibModal', 'commonDialog', 'chartParser','$sce', @@ -96,19 +120,6 @@ define(['angular', 'decimal', 'uiBootstrap', 'uiRouter', 'angularEcharts'], func $scope.loadReport($scope.report.month); }); }; - $scope.openClientBoard = function (client) { - $uibModal.open({ - templateUrl: '/static/analysis/templates/partner_card.html', - controller: 'partnerCardCtrl', - resolve: { - clientMoniker: function () { - return client.client_moniker - } - }, - size: 'lg' - }) - - }; $scope.fillMonthsSurcharge = function (details) { var contentHtml = $sce.trustAsHtml('即将为[' + details.short_name + ']冲正,请确认商户信息'); diff --git a/src/main/ui/static/payment/surchargeaccount/templates/account_month_logs.html b/src/main/ui/static/payment/surchargeaccount/templates/account_month_logs.html index 729de8427..acc93428d 100644 --- a/src/main/ui/static/payment/surchargeaccount/templates/account_month_logs.html +++ b/src/main/ui/static/payment/surchargeaccount/templates/account_month_logs.html @@ -46,9 +46,10 @@ 商户编号 Short Name + Total Surcharge 充值总额 支出总额 - 已结清 + 是否结清 操作 @@ -57,10 +58,11 @@ + ui-sref="partners.detail({clientMoniker:details.client_moniker})"> + diff --git a/src/main/ui/static/payment/surchargeaccount/templates/client_surcharge_account.html b/src/main/ui/static/payment/surchargeaccount/templates/client_surcharge_account.html index 184c4becb..43e3e0e12 100644 --- a/src/main/ui/static/payment/surchargeaccount/templates/client_surcharge_account.html +++ b/src/main/ui/static/payment/surchargeaccount/templates/client_surcharge_account.html @@ -1,4 +1,3 @@ -

    Client Surcharge Account @@ -14,40 +13,31 @@
    -
    +

    {{surcharge.balance|currency:'AUD'}}

    - - - - - + + + + + - - - - - - - + + + + + + +
    -
    @@ -112,3 +102,46 @@

    +
    +

    + 每月手续费 +

    +
    +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + +
    清算月份Total Surcharge支出总额是否结清操作
    + 已结清 + 未付款 + + +
    +
    +
    +
    +
    +
    \ No newline at end of file diff --git a/src/main/ui/static/payment/surchargeaccount/templates/client_surcharge_account_dialog.html b/src/main/ui/static/payment/surchargeaccount/templates/client_surcharge_account_dialog.html new file mode 100644 index 000000000..acf867ea1 --- /dev/null +++ b/src/main/ui/static/payment/surchargeaccount/templates/client_surcharge_account_dialog.html @@ -0,0 +1,39 @@ + + diff --git a/src/main/ui/static/payment/surchargeaccount/templates/partner_surcharge_account_dialog.html b/src/main/ui/static/payment/surchargeaccount/templates/partner_surcharge_account_dialog.html index 43d081316..8ebfc3457 100644 --- a/src/main/ui/static/payment/surchargeaccount/templates/partner_surcharge_account_dialog.html +++ b/src/main/ui/static/payment/surchargeaccount/templates/partner_surcharge_account_dialog.html @@ -78,7 +78,12 @@ - + + {{tr.remark}} + + + + From a7920ffa897f88f95373bb0cae1b2fca6a3e2ee7 Mon Sep 17 00:00:00 2001 From: luoyang Date: Mon, 8 Apr 2019 16:55:27 +0800 Subject: [PATCH 09/59] =?UTF-8?q?add=20=E5=90=8E=E6=89=8B=E7=BB=AD?= =?UTF-8?q?=E8=B4=B9=E5=8A=9F=E8=83=BD=E5=AE=8C=E5=96=84=EF=BC=8C=E7=AD=89?= =?UTF-8?q?invoice=E6=A8=A1=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/impl/SurchargeAccountServiceImpl.java | 1 - src/main/ui/static/payment/partner/templates/add_partner.html | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/surchargeAccount/core/impl/SurchargeAccountServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/surchargeAccount/core/impl/SurchargeAccountServiceImpl.java index ccc0a6064..9d4834288 100644 --- a/src/main/java/au/com/royalpay/payment/manage/surchargeAccount/core/impl/SurchargeAccountServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/surchargeAccount/core/impl/SurchargeAccountServiceImpl.java @@ -86,7 +86,6 @@ public class SurchargeAccountServiceImpl implements SurchargeAccountService{ JSONObject surcharge_account = clientsSurchargeAccountsMapper.find(detail.getIntValue("client_id")); JSONObject transaction = new JSONObject(); transaction.put("client_id", detail.getIntValue("client_id")); -// transaction.put("settle_date", detail.getString("settle_month")); transaction.put("type", "Credit"); transaction.put("total_surcharge", BigDecimal.ZERO); transaction.put("tax_amount", BigDecimal.ZERO); diff --git a/src/main/ui/static/payment/partner/templates/add_partner.html b/src/main/ui/static/payment/partner/templates/add_partner.html index bfc64215e..28e414196 100644 --- a/src/main/ui/static/payment/partner/templates/add_partner.html +++ b/src/main/ui/static/payment/partner/templates/add_partner.html @@ -1048,6 +1048,6 @@ + - - + From a108cc15d3848d9f4b21842a5eafee20b3bc8373 Mon Sep 17 00:00:00 2001 From: "james.zhao" Date: Mon, 8 Apr 2019 17:35:34 +0800 Subject: [PATCH 10/59] yeepay css --- .../templates/cbpay/css/gateway_test.css | 228 +++++++++++++++++ .../cbpay/yeepay/v1/gateway_jsapi_test.js | 239 ++++++++++++++++++ 2 files changed, 467 insertions(+) create mode 100644 src/main/ui/static/templates/cbpay/css/gateway_test.css create mode 100644 src/main/ui/static/templates/cbpay/yeepay/v1/gateway_jsapi_test.js diff --git a/src/main/ui/static/templates/cbpay/css/gateway_test.css b/src/main/ui/static/templates/cbpay/css/gateway_test.css new file mode 100644 index 000000000..6782735ae --- /dev/null +++ b/src/main/ui/static/templates/cbpay/css/gateway_test.css @@ -0,0 +1,228 @@ +.gateway-background { + width:100%; + height:100%; + /*position: fixed;*/ + background: url("../img/gateway_bg.png"); + top: 0; + bottom: 0; + right: 0; + left: 0; + z-index: -1; + overflow-y: auto; + background-size:100% 100%; + display: flex; + justify-content: center; + align-items: center; + align-content: center; + flex-direction: column; +} + +.head-bar{ + display: inline; + text-align: center; +} +.head-bar img{ + width: 500px; + height: 40px; + top: 60px; + margin-top: 40px; +} + +.order-box{ + height: 650px; + width: 800px; + margin: 2% auto; + /*box-shadow: 0px 0px 25px 0px rgba(0,0,0,0.21);*/ +} + +.order-box-bank{ + height: 900px; + width: 800px; + margin: 2% auto; + /*box-shadow: 0px 0px 25px 0px rgba(0,0,0,0.21);*/ +} + +.order-box:after{ + content:''; + display:block; + clear:both; +} +.order-box .left{ + display: inline; + opacity: 0.84; + background: #f06010; + width:40%; + float: left; + height: 100%; + text-align: center; +} +/*.order-box .left .m-logo{*/ +/*background: #FFFFFF;*/ +/*border-radius: 100px;*/ +/*width: 120px;*/ +/*height: 120px;*/ +/*margin-top: 15%;*/ +/*display: inline-block;*/ +/*}*/ +.m-logo{ + line-height: 100px; +} +.m-logo img{ + width: 100px; + padding: 10px; +} +.short-name{ + margin-top: 40px; + font-family: MicrosoftYaHei; + font-size: 18px; +} +.intro{ + margin: 100px 0 50px; + color: #FFFFFF; +} +.order-box .right{ + display: inline; + background: #FFFFFF; + width:60%; + float: right; + height: 80%; + padding: 20px 40px; +} +.order-box .right-bank{ + display: inline; + background: #FFFFFF; + width:60%; + float: right; + height: 90%; + padding: 20px 40px; +} +.order-box .brand{ + display: inline; + background: #f06010 ; + width:60%; + float: right; + height: 20%; + vertical-align: middle; + text-align: center; +} + +.order-box .brand-bank{ + display: inline; + background: #f06010 ; + width:60%; + float: right; + height: 10%; + vertical-align: middle; + text-align: center; +} + +.order-box .brand img{ + width: 246px; + height: 51px; + margin-top: 7% +} + +.order-box .brand-bank img{ + width: 246px; + height: 51px; + margin-top: 3% +} + +.order-box .right .title { + font-family: PingFang-SC-Medium; + font-size: 20px; + color: #434343; + letter-spacing: 0px; + padding-bottom: 10px; + padding-top: 20px; +} +.order-box .right input { + background-color: #EEEEEE; + border: none; + outline: none; + height: 45px; +} +.order-box .right .form_margin { + +} +.order-box .right .form_input { + height: 45px; +} +.footer-bottom{ + font-family: PingFangSC-Regular; + color: #FFFFFF; + letter-spacing: 0px; + margin-top: 50px; +} + +.footer-bottom-success{ + margin-top: 60px; + color: #444444; +} + +.warning{ + font-size: x-small; + color: #f06010; +} +.submit{ + color: #fff; + background-color: #f06010; + border-color: #f06010; +} +/*成功页*/ +.order-box .success-logo{ + text-align: center; + height: 150px; + background: #F0F3FA; + line-height: 150px; + font-family: PingFangSC-Regular; + font-size: 22px; + color: #444444; + letter-spacing: 0px; + +} + +.order-info{ + padding: 50px 100px; + font-family: PingFangSC-Regular; + font-size: 17px; + color: #444444; + letter-spacing: 0px; +} + +@media(max-width:800px){ + .order-box{ + width:100%; + } + .order-info{ + padding:50px 10px; + } +} + +.gateway-background .modal { + background-color: rgba(0,0,0,.8); +} + +.gateway-background .modal-dialog { + height: 100vh; + display: flex; + justify-content: center; + align-items: center; + align-content: center; +} +.surcharge{ + font-size: 0.8em; + color: #909090; +} +.exchange{ + font-size: 0.8em; + color: #909090; +} +.div-inline { + display: inline; + width: 50%; +} +.div-inline-select { + text-align: center; + text-align-last: center; +} diff --git a/src/main/ui/static/templates/cbpay/yeepay/v1/gateway_jsapi_test.js b/src/main/ui/static/templates/cbpay/yeepay/v1/gateway_jsapi_test.js new file mode 100644 index 000000000..d935cf9df --- /dev/null +++ b/src/main/ui/static/templates/cbpay/yeepay/v1/gateway_jsapi_test.js @@ -0,0 +1,239 @@ +var num = function(obj){ + obj.value = obj.value.replace(/[^\d.]/g,""); //清除"数字"和"."以外的字符 + obj.value = obj.value.replace(/^\./g,""); //验证第一个字符是数字 + obj.value = obj.value.replace(/\.{2,}/g,"."); //只保留第一个, 清除多余的 + obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$","."); + obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3'); //只能输入两个小数 + + var surchargeData = calculateSurcharge(obj.value-0); + var surchargeAmount = Decimal.add(surchargeData.surcharge,surchargeData.tax); + $('#surchargeAmount').html(surchargeAmount+''); + $('#totalAmount').html(surchargeData.newPrice+''); + if(surchargeAmount+0==0 || !window.c4surcharge){ + $('.surcharge').hide(); + }else { + $('.surcharge').show(); + } + +}; +var bankList = [ + {label:'邮政储蓄银行',value:'BANK_CARD-B2C-POST-P2P'}, + {label:'深圳发展银行',value:'BANK_CARD-B2C-SDB-P2P'}, + {label:'民生银行',value:'BANK_CARD-B2C-CMBC-P2P'}, + {label:'北京银行',value:'BANK_CARD-B2C-BCCB-P2P'}, + {label:'上海银行',value:'BANK_CARD-B2C-SHB-P2P'}, + {label:'招商银行',value:'BANK_CARD-B2C-CMBCHINA-P2P'}, + {label:'中信银行',value:'BANK_CARD-B2C-ECITIC-P2P'}, + {label:'浦发银行',value:'BANK_CARD-B2C-SPDB-P2P'}, + {label:'兴业银行',value:'BANK_CARD-B2C-CIB-P2P'}, + {label:'华夏银行',value:'BANK_CARD-B2C-HXB-P2P'}, + {label:'农业银行',value:'BANK_CARD-B2C-ABC-P2P'}, + {label:'广发银行',value:'BANK_CARD-B2C-GDB-P2P'}, + {label:'工商银行',value:'BANK_CARD-B2C-ICBC-P2P'}, + {label:'中国银行',value:'BANK_CARD-B2C-BOC-P2P'}, + {label:'交通银行',value:'BANK_CARD-B2C-BOCO-P2P'}, + {label:'建设银行',value:'BANK_CARD-B2C-CCB-P2P'}, + {label:'平安银行',value:'BANK_CARD-B2C-PINGANBANK-P2P'}, + {label:'光大银行',value:'BANK_CARD-B2C-CEB-P2P'} +]; +var select = $("select#bank-select"); +if (select.val() != "") + select.prev().hide(); +select.bind("change", function () { + if ($(this).val() != "") { + $(this).prev().hide(); + } +}); +function loadBankSelect() { + var bankId = document.getElementById("bank-select"); + for (var i = 0; i < bankList.length; i++) { + var bank = bankList[i]; + var op = document.createElement("option"); + op.setAttribute("value", bank.value); + op.setAttribute("label", bank.label); + bankId.appendChild(op); + } +} +var bank = function (obj) { + obj.value = obj.value.replace(/\s/g, '').replace(/(.{4})/g, "$1 "); +}; + +var reg = /^[0-9]{14,19}$/i; +function checkNum() { + var bankNum = document.getElementById("bank-num").value; + bankNum = bankNum.replace(/\s+/g,""); + if (!(reg.test(bankNum))) { + alert("银行号有误"); + document.getElementById('bank-num').focus(); + document.getElementById('bank-num').style.border = "1px solid #CDC28D"; + return false; + } + document.getElementById('bank-num').style.border = ""; + + return true; + +}; + +function onChange(str,num) { + if (str.length == num) { + return true; + } + return false; +} + + + +$(document).ready(function () { + $('.surcharge').hide(); + var payUrl = window.location.href; + $.cookie("payURL",payUrl,{ expires: 1,path:'/' }); + loadBankSelect(); + + $('#bank-num').bind('keydown', function (e) { + var key = e.which; + var bankNum = $('#bank-num').val(); + + if (bankNum.substring(bankNum.length-1,bankNum.length)==' ' && key == 8) { + $('#bank-num').val(bankNum.substring(0,bankNum.length-2)); + } + + }); + + $('#gateway').click(function() { + if($(this).prop("checked")==true){ + $('.gateway').removeClass("hidden"); + $('#yeepay-order').addClass("order-box-bank"); + $('#yeepay-brand').addClass("brand-bank"); + $('#yeepay-right').addClass("right-bank"); + }else{ + $('.gateway').addClass("hidden"); + $('#yeepay-order').removeClass("order-box-bank"); + $('#yeepay-brand').removeClass("brand-bank"); + $('#yeepay-right').removeClass("right-bank"); + } + + }); + + var customer_id = ""||$.cookie("CustomerID"); + if (customer_id==null||customer_id == ""){ + getQrcode(); + } + function getQrcode(){ + $.ajax({ + url: '/global/userstatus/customer_wechat_qrcode', + method: 'get', + dataType: 'json', + success: function (data) { + $('#qrmodal').find('img#qrimg').attr('src', data.code_img); + $('#qrmodal').show(); + setTimeout(function () { + checkQRStatus(data.code_id) + }, 2000); + }, + error: function (jqXHR) { + alert(jqXHR.responseJSON.message); + } + }) + } + function checkQRStatus(codeId) { + $.ajax({ + url: '/global/userstatus/customer_wechat_qrcode/' + codeId + '/check', + method: 'get', + success: function (data) { + $('#qrmodal').hide(); + customer_id = $.cookie("CustomerID"); + }, + error: function () { + setTimeout(function () { + checkQRStatus(codeId) + }, 2000) + } + }) + } + $('input').keypress(function (evt) { + if (evt.keyCode == 13) { + $('#login-btn').click(); + } + }); + $('#commit-btn').click(function () { + + var price = $('#price').val(); + if (price == null || price.length == 0) { + alert('请填写订单金额'); + return; + } + var product = $('#product').val(); + if (product == null || product.length == 0) { + alert('请填写真实的商品名称'); + return; + } + + var select_currency = $('#select_currency').val(); + var remark = $('#remark').val(); + + var payName = $('#name').val(); + + var cardNum = $('#card-num').val(); + + var bankNum = ($('#bank-num').val()).replace(/\s+/g,""); + + var bankSelect = $('#bank-select').val(); + + var phone = $('#phone').val(); + var jsonData = {user_id:customer_id,price:price,product_name:product,description:remark,currency: select_currency}; + if($('#gateway').prop('checked') == true){ + if (payName == null || onChange(payName,0)) { + alert('请填写支付人姓名'); + return; + } + if (cardNum == null || onChange(cardNum,0) || !onChange(cardNum,18)) { + alert('身份证号有误'); + return; + } + if (bankNum == null || onChange(bankNum,0)) { + alert('请填写银行卡号'); + return; + } + if (bankSelect == null || onChange(bankSelect,0)) { + alert('请选择支付银行'); + return; + } + if (phone == null || !onChange(phone,11)) { + alert('手机号码有误'); + return; + } + jsonData = {user_id:customer_id,price:price,product_name:product,description:remark,currency: select_currency, + payer_name: payName,payer_identity_card: cardNum,card_number: bankNum,bank_id: bankSelect,phone:phone}; + } + + var commit = confirm("是否确认提交支付"); + if (commit){ + $('#commit-btn').addClass('hidden'); + $('#commit-btn-loading').removeClass('hidden'); + $.ajax({ + url: '/api/v1.0/yeepay/partners/'+window.client_moniker+'/share', + method: 'put', + data: JSON.stringify(jsonData), + contentType: 'application/json', + dataType: 'json', + success: function (res) { + if(res.return_code != 'SUCCESS'){ + alert(res.message); + $('#commit-btn').removeClass('hidden'); + $('#commit-btn-loading').addClass('hidden'); + }else { + location.href = res.pay_url+'?'+res.sign_url; + } + }, + error: function (jqXHR) { + alert(JSON.parse(jqXHR.responseText).message); + $('#commit-btn').removeClass('hidden'); + $('#commit-btn-loading').addClass('hidden'); + } + }) + } else { + $('#commit-btn').removeClass('hidden'); + $('#commit-btn-loading').addClass('hidden'); + } + }); +}) From 537a4f5b3c98ff6d3485d733e8cd2d29d7c27f97 Mon Sep 17 00:00:00 2001 From: "james.zhao" Date: Mon, 8 Apr 2019 18:43:00 +0800 Subject: [PATCH 11/59] update css --- .../static/templates/cbpay/css/gateway_test.css | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/main/ui/static/templates/cbpay/css/gateway_test.css b/src/main/ui/static/templates/cbpay/css/gateway_test.css index 6782735ae..c47e011fb 100644 --- a/src/main/ui/static/templates/cbpay/css/gateway_test.css +++ b/src/main/ui/static/templates/cbpay/css/gateway_test.css @@ -2,19 +2,20 @@ width:100%; height:100%; /*position: fixed;*/ - background: url("../img/gateway_bg.png"); + background: url("../img/gateway_bg.png") no-repeat center center fixed;; top: 0; bottom: 0; right: 0; left: 0; z-index: -1; overflow-y: auto; - background-size:100% 100%; + /*background-size:100% 100%;*/ display: flex; justify-content: center; align-items: center; align-content: center; flex-direction: column; + background-size: cover; } .head-bar{ @@ -29,16 +30,16 @@ } .order-box{ - height: 650px; + height: 620px; width: 800px; - margin: 2% auto; + /*margin: 2% auto;*/ /*box-shadow: 0px 0px 25px 0px rgba(0,0,0,0.21);*/ } .order-box-bank{ - height: 900px; + height: 600px; width: 800px; - margin: 2% auto; + /*margin: 2% auto;*/ /*box-shadow: 0px 0px 25px 0px rgba(0,0,0,0.21);*/ } @@ -93,7 +94,7 @@ background: #FFFFFF; width:60%; float: right; - height: 90%; + height: 130%; padding: 20px 40px; } .order-box .brand{ @@ -125,7 +126,7 @@ .order-box .brand-bank img{ width: 246px; height: 51px; - margin-top: 3% + margin-top: 2% } .order-box .right .title { From afee1234a3452a5b5757ece61cc5bfd58f1b4556 Mon Sep 17 00:00:00 2001 From: "james.zhao" Date: Tue, 9 Apr 2019 11:35:43 +0800 Subject: [PATCH 12/59] =?UTF-8?q?lakala=E6=89=8B=E7=BB=AD=E8=B4=B9?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/ui/static/templates/cbpay/css/gateway.css | 2 +- .../ui/static/templates/cbpay/lakala/v1/gateway_jsapi.js | 8 ++++++-- .../templates/cbpay/lakala/v1/gateway_jsapi_phone.js | 8 ++++++-- .../ui/static/templates/cbpay/yeepay/v1/gateway_jsapi.js | 8 ++++++-- .../templates/cbpay/yeepay/v1/gateway_jsapi_phone.js | 8 ++++++-- .../templates/cbpay/yeepay/v1/gateway_jsapi_test.js | 8 ++++++-- 6 files changed, 31 insertions(+), 11 deletions(-) diff --git a/src/main/ui/static/templates/cbpay/css/gateway.css b/src/main/ui/static/templates/cbpay/css/gateway.css index 0aa92d66d..e853d0c1c 100644 --- a/src/main/ui/static/templates/cbpay/css/gateway.css +++ b/src/main/ui/static/templates/cbpay/css/gateway.css @@ -29,7 +29,7 @@ } .order-box{ - height: 550px; + height: 580px; width: 800px; margin: 2% auto; /*box-shadow: 0px 0px 25px 0px rgba(0,0,0,0.21);*/ diff --git a/src/main/ui/static/templates/cbpay/lakala/v1/gateway_jsapi.js b/src/main/ui/static/templates/cbpay/lakala/v1/gateway_jsapi.js index 196687505..7b2efdd6a 100644 --- a/src/main/ui/static/templates/cbpay/lakala/v1/gateway_jsapi.js +++ b/src/main/ui/static/templates/cbpay/lakala/v1/gateway_jsapi.js @@ -7,8 +7,12 @@ var num = function(obj){ var surchargeData = calculateSurcharge(obj.value-0); var surchargeAmount = Decimal.add(surchargeData.surcharge,surchargeData.tax); - $('#surchargeAmount').html(surchargeAmount+''); - $('#totalAmount').html(surchargeData.newPrice+''); + var currency = '$'; + if($('#select_currency').val()=='CNY'){ + currency = '¥'; + } + $('#surchargeAmount').html(currency+surchargeAmount+''); + $('#totalAmount').html(currency+surchargeData.newPrice+''); if(surchargeAmount+0===0 || !window.c4surcharge){ $('.surcharge').hide(); }else { diff --git a/src/main/ui/static/templates/cbpay/lakala/v1/gateway_jsapi_phone.js b/src/main/ui/static/templates/cbpay/lakala/v1/gateway_jsapi_phone.js index 16cf505d9..d669567a0 100644 --- a/src/main/ui/static/templates/cbpay/lakala/v1/gateway_jsapi_phone.js +++ b/src/main/ui/static/templates/cbpay/lakala/v1/gateway_jsapi_phone.js @@ -10,8 +10,12 @@ var num = function (obj) { var surchargeData = calculateSurcharge(obj.value - 0); var surchargeAmount = Decimal.add(surchargeData.surcharge, surchargeData.tax); - $('#surchargeAmount').html(surchargeAmount + ''); - $('#totalAmount').html(surchargeData.newPrice + ''); + var currency = '$'; + if($('#select_currency').val()=='CNY'){ + currency = '¥'; + } + $('#surchargeAmount').html(currency+surchargeAmount+''); + $('#totalAmount').html(currency+surchargeData.newPrice+''); if (surchargeAmount - 0 === 0 || !window.c4surcharge) { $('.surcharge').hide(); } else { diff --git a/src/main/ui/static/templates/cbpay/yeepay/v1/gateway_jsapi.js b/src/main/ui/static/templates/cbpay/yeepay/v1/gateway_jsapi.js index 6395a538e..67285f2a0 100644 --- a/src/main/ui/static/templates/cbpay/yeepay/v1/gateway_jsapi.js +++ b/src/main/ui/static/templates/cbpay/yeepay/v1/gateway_jsapi.js @@ -7,8 +7,12 @@ var num = function(obj){ var surchargeData = calculateSurcharge(obj.value-0); var surchargeAmount = Decimal.add(surchargeData.surcharge,surchargeData.tax); - $('#surchargeAmount').html(surchargeAmount+''); - $('#totalAmount').html(surchargeData.newPrice+''); + var currency = '$'; + if($('#select_currency').val()=='CNY'){ + currency = '¥'; + } + $('#surchargeAmount').html(currency+surchargeAmount+''); + $('#totalAmount').html(currency+surchargeData.newPrice+''); if(surchargeAmount+0==0 || !window.c4surcharge){ $('.surcharge').hide(); }else { diff --git a/src/main/ui/static/templates/cbpay/yeepay/v1/gateway_jsapi_phone.js b/src/main/ui/static/templates/cbpay/yeepay/v1/gateway_jsapi_phone.js index 2ded142e6..5da9823f0 100644 --- a/src/main/ui/static/templates/cbpay/yeepay/v1/gateway_jsapi_phone.js +++ b/src/main/ui/static/templates/cbpay/yeepay/v1/gateway_jsapi_phone.js @@ -10,8 +10,12 @@ var num = function (obj) { var surchargeData = calculateSurcharge(obj.value - 0); var surchargeAmount = Decimal.add(surchargeData.surcharge, surchargeData.tax); - $('#surchargeAmount').html(surchargeAmount + ''); - $('#totalAmount').html(surchargeData.newPrice + ''); + var currency = '$'; + if($('#select_currency').val()=='CNY'){ + currency = '¥'; + } + $('#surchargeAmount').html(currency+surchargeAmount+''); + $('#totalAmount').html(currency+surchargeData.newPrice+''); if (surchargeAmount - 0 == 0 || !window.c4surcharge) { $('.surcharge').hide(); } else { diff --git a/src/main/ui/static/templates/cbpay/yeepay/v1/gateway_jsapi_test.js b/src/main/ui/static/templates/cbpay/yeepay/v1/gateway_jsapi_test.js index d935cf9df..87c615860 100644 --- a/src/main/ui/static/templates/cbpay/yeepay/v1/gateway_jsapi_test.js +++ b/src/main/ui/static/templates/cbpay/yeepay/v1/gateway_jsapi_test.js @@ -7,8 +7,12 @@ var num = function(obj){ var surchargeData = calculateSurcharge(obj.value-0); var surchargeAmount = Decimal.add(surchargeData.surcharge,surchargeData.tax); - $('#surchargeAmount').html(surchargeAmount+''); - $('#totalAmount').html(surchargeData.newPrice+''); + var currency = '$'; + if($('#select_currency').val()=='CNY'){ + currency = '¥'; + } + $('#surchargeAmount').html(currency+surchargeAmount+''); + $('#totalAmount').html(currency+surchargeData.newPrice+''); if(surchargeAmount+0==0 || !window.c4surcharge){ $('.surcharge').hide(); }else { From baee192105d2d403876f3acfd4ace652b70ee67f Mon Sep 17 00:00:00 2001 From: luoyang Date: Tue, 9 Apr 2019 14:15:04 +0800 Subject: [PATCH 13/59] =?UTF-8?q?fix=20format=E5=A4=8F=E6=99=82=E4=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../payment/manage/appclient/beans/AppQueryBean.java | 12 +++++------- .../payment/manage/tradelog/beans/TradeLogQuery.java | 8 +++----- 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/appclient/beans/AppQueryBean.java b/src/main/java/au/com/royalpay/payment/manage/appclient/beans/AppQueryBean.java index 74fe9b474..3b6f89515 100644 --- a/src/main/java/au/com/royalpay/payment/manage/appclient/beans/AppQueryBean.java +++ b/src/main/java/au/com/royalpay/payment/manage/appclient/beans/AppQueryBean.java @@ -4,6 +4,7 @@ import au.com.royalpay.payment.core.beans.OrderStatus; import au.com.royalpay.payment.core.exceptions.ParamInvalidException; import au.com.royalpay.payment.core.beans.PayChannel; import au.com.royalpay.payment.tools.defines.TradeType; +import au.com.royalpay.payment.tools.utils.TimeZoneUtils; import com.alibaba.fastjson.JSONObject; import org.apache.commons.lang3.time.DateUtils; @@ -34,21 +35,18 @@ public class AppQueryBean { public JSONObject toParams() { JSONObject params = new JSONObject(); - if (timezone != null) { - format.setTimeZone(TimeZone.getTimeZone(timezone)); - } if (begin != null) { try { - params.put("begin", format.parse(begin)); - params.put("from", format.parse(begin)); + params.put("begin", TimeZoneUtils.formatTime(format.parse(begin),"yyyy-MM-dd HH:mm:ss",timezone!=null?timezone:"")); + params.put("from", TimeZoneUtils.formatTime(format.parse(begin),"yyyy-MM-dd HH:mm:ss",timezone!=null?timezone:"")); } catch (ParseException e) { throw new ParamInvalidException("begin", "error.payment.valid.invalid_date_format"); } } if (end != null) { try { - params.put("end", DateUtils.addDays(format.parse(end), 1)); - params.put("to", DateUtils.addDays(format.parse(end), 1)); + params.put("end", TimeZoneUtils.formatTime(DateUtils.addDays(format.parse(end), 1),"yyyy-MM-dd HH:mm:ss",timezone!=null?timezone:"")); + params.put("to", TimeZoneUtils.formatTime(DateUtils.addDays(format.parse(end), 1),"yyyy-MM-dd HH:mm:ss",timezone!=null?timezone:"")); } catch (ParseException e) { throw new ParamInvalidException("end", "error.payment.valid.invalid_date_format"); } diff --git a/src/main/java/au/com/royalpay/payment/manage/tradelog/beans/TradeLogQuery.java b/src/main/java/au/com/royalpay/payment/manage/tradelog/beans/TradeLogQuery.java index 24dc602ed..c7715780c 100644 --- a/src/main/java/au/com/royalpay/payment/manage/tradelog/beans/TradeLogQuery.java +++ b/src/main/java/au/com/royalpay/payment/manage/tradelog/beans/TradeLogQuery.java @@ -4,6 +4,7 @@ import au.com.royalpay.payment.core.beans.OrderStatus; import au.com.royalpay.payment.core.beans.PayChannel; import au.com.royalpay.payment.core.exceptions.ParamInvalidException; import au.com.royalpay.payment.tools.defines.TradeType; +import au.com.royalpay.payment.tools.utils.TimeZoneUtils; import com.alibaba.fastjson.JSONObject; import org.apache.commons.lang3.StringUtils; @@ -41,19 +42,16 @@ public class TradeLogQuery { public JSONObject toParams(String timezone) { JSONObject params = new JSONObject(); - if (timezone != null) { - format.setTimeZone(TimeZone.getTimeZone(timezone)); - } if (datefrom != null) { try { - params.put("from", format.parse(datefrom)); + params.put("from", TimeZoneUtils.formatTime(format.parse(datefrom),"yyyy-MM-dd HH:mm:ss",timezone!=null?timezone:"")); } catch (ParseException e) { throw new ParamInvalidException("datefrom", "error.payment.valid.invalid_date_format"); } } if (dateto != null) { try { - params.put("to", DateUtils.addDays(format.parse(dateto), 1)); + params.put("to", TimeZoneUtils.formatTime(DateUtils.addDays(format.parse(dateto), 1),"yyyy-MM-dd HH:mm:ss",timezone!=null?timezone:"")); } catch (ParseException e) { throw new ParamInvalidException("dateto", "error.payment.valid.invalid_date_format"); } From a47b4ff76320ed9de45ec9fd2ec3aefe6e09bea0 Mon Sep 17 00:00:00 2001 From: luoyang Date: Tue, 9 Apr 2019 16:27:25 +0800 Subject: [PATCH 14/59] fix TradeLogQuery --- .../royalpay/payment/manage/tradelog/beans/TradeLogQuery.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/tradelog/beans/TradeLogQuery.java b/src/main/java/au/com/royalpay/payment/manage/tradelog/beans/TradeLogQuery.java index c7715780c..827cb9ec2 100644 --- a/src/main/java/au/com/royalpay/payment/manage/tradelog/beans/TradeLogQuery.java +++ b/src/main/java/au/com/royalpay/payment/manage/tradelog/beans/TradeLogQuery.java @@ -44,14 +44,14 @@ public class TradeLogQuery { JSONObject params = new JSONObject(); if (datefrom != null) { try { - params.put("from", TimeZoneUtils.formatTime(format.parse(datefrom),"yyyy-MM-dd HH:mm:ss",timezone!=null?timezone:"")); + params.put("from", TimeZoneUtils.formatTime(format.parse(datefrom),"yyyy-MM-dd HH:mm:ss",timezone!=null?timezone:"Australia/Melbourne")); } catch (ParseException e) { throw new ParamInvalidException("datefrom", "error.payment.valid.invalid_date_format"); } } if (dateto != null) { try { - params.put("to", TimeZoneUtils.formatTime(DateUtils.addDays(format.parse(dateto), 1),"yyyy-MM-dd HH:mm:ss",timezone!=null?timezone:"")); + params.put("to", TimeZoneUtils.formatTime(DateUtils.addDays(format.parse(dateto), 1),"yyyy-MM-dd HH:mm:ss",timezone!=null?timezone:"Australia/Melbourne")); } catch (ParseException e) { throw new ParamInvalidException("dateto", "error.payment.valid.invalid_date_format"); } From 55db943c76d6f7636aa525cdeb35abf3d919a17c Mon Sep 17 00:00:00 2001 From: "james.zhao" Date: Tue, 9 Apr 2019 20:03:54 +0800 Subject: [PATCH 15/59] FIX --- .../manage/tradelog/core/impls/TradeLogServiceImpl.java | 5 ++++- .../payment/manage/mappers/payment/TransactionMapper.xml | 6 +++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/tradelog/core/impls/TradeLogServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/tradelog/core/impls/TradeLogServiceImpl.java index 3bf72ea5f..3109161be 100644 --- a/src/main/java/au/com/royalpay/payment/manage/tradelog/core/impls/TradeLogServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/tradelog/core/impls/TradeLogServiceImpl.java @@ -1236,7 +1236,7 @@ public class TradeLogServiceImpl implements TradeLogService { int rowNum = 0; Row row = sheet.createRow(rowNum); String[] title = {"order Id", "Client Order Id", "Transaction Time", "Channel", "Gateway", "Exchange Rate", "Transaction Type", "Currency", - "Input Amount", "Total Amount", "Clearing Amount", "Sruchange Rate", "Settle Amount", "Remark", "Dev No"}; + "Input Amount", "Total Amount", "Clearing Amount", "Sruchange Rate", "Settle Amount", "Remark", "Dev No","Company Name","Short Name","Settment Date"}; String[] analysis = {"Total Credit", "Total Debit", "Gross Amount", "Total Charge", "Net Amount"}; for (int i = 0; i < title.length; i++) { row.createCell(i, Cell.CELL_TYPE_STRING).setCellValue(title[i]); @@ -1275,6 +1275,9 @@ public class TradeLogServiceImpl implements TradeLogService { if (device != null) clientDevId = device.getString("client_dev_id"); row.createCell(14, Cell.CELL_TYPE_STRING).setCellValue(clientDevId); + row.createCell(15,Cell.CELL_TYPE_STRING).setCellValue(settle.getString("company_name")); + row.createCell(16,Cell.CELL_TYPE_STRING).setCellValue(settle.getString("short_name")); + row.createCell(17,Cell.CELL_TYPE_STRING).setCellValue(settle.getString("settle_date")); } row = sheet.createRow(++rowNum); for (int i = 0; i < analysis.length; i++) { diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/TransactionMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/TransactionMapper.xml index 62d7ec5c2..b45ef4028 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/TransactionMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/TransactionMapper.xml @@ -1099,12 +1099,16 @@ r.client_refund_id, o.order_detail, o.dev_id, - a.rate + a.rate, + c.company_name, + c.short_name, + date_format(t.clearing_time,'%Y-%m-%d') settle_date FROM pmt_transactions t LEFT JOIN pmt_orders o ON o.order_id = t.order_id LEFT JOIN pmt_refunds r ON r.refund_id = t.refund_id LEFT JOIN log_clearing_detail_analysis a ON a.clearing_detail_id = t.clearing_order + LEFT JOIN sys_clients c ON c.client_id = t.client_id AND t.channel = a.channel WHERE t.channel != 'Settlement' ]]> From f337be55fc7da54647cb513aa845504651074f31 Mon Sep 17 00:00:00 2001 From: "james.zhao" Date: Wed, 10 Apr 2019 09:28:01 +0800 Subject: [PATCH 16/59] FIX BUG --- .../payment/manage/mappers/payment/TransactionMapper.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/TransactionMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/TransactionMapper.xml index b45ef4028..d062bd58c 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/TransactionMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/TransactionMapper.xml @@ -1107,9 +1107,8 @@ pmt_transactions t LEFT JOIN pmt_orders o ON o.order_id = t.order_id LEFT JOIN pmt_refunds r ON r.refund_id = t.refund_id - LEFT JOIN log_clearing_detail_analysis a ON a.clearing_detail_id = t.clearing_order + LEFT JOIN log_clearing_detail_analysis a ON a.clearing_detail_id = t.clearing_order AND t.channel = a.channel LEFT JOIN sys_clients c ON c.client_id = t.client_id - AND t.channel = a.channel WHERE t.channel != 'Settlement' ]]> From fb959f87151c8e3a464cdfc8edc06ffc7c4c0b7d Mon Sep 17 00:00:00 2001 From: "taylor.dang" Date: Wed, 10 Apr 2019 09:50:43 +0800 Subject: [PATCH 17/59] =?UTF-8?q?[Y]=20=E5=BC=80=E5=8F=91=E5=B7=A5?= =?UTF-8?q?=E5=85=B7=E6=9F=A5=E8=AF=A2=E8=AE=A2=E5=8D=95=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E5=8F=96order=5Fchannel?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../au/com/royalpay/payment/manage/dev/web/TestController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/dev/web/TestController.java b/src/main/java/au/com/royalpay/payment/manage/dev/web/TestController.java index bfc731595..b2a5dcaba 100644 --- a/src/main/java/au/com/royalpay/payment/manage/dev/web/TestController.java +++ b/src/main/java/au/com/royalpay/payment/manage/dev/web/TestController.java @@ -335,7 +335,7 @@ public class TestController implements ApplicationEventPublisherAware { } JSONObject order = orderMapper.find(refundOrder.getString("order_id")); Assert.notNull(order); - String channel = order.getString("channel"); + String channel = order.getString("order_channel"); JSONObject res = new JSONObject(); TradeType type = TradeType.fromGatewayNumber(order.getIntValue("gateway")); switch (channel) { From 545946d9429e8df07b8e89fdade6150fed12f096 Mon Sep 17 00:00:00 2001 From: luoyang Date: Wed, 10 Apr 2019 12:05:07 +0800 Subject: [PATCH 18/59] fix url --- .../manage/appclient/core/impls/ManageAppServiceImp.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/appclient/core/impls/ManageAppServiceImp.java b/src/main/java/au/com/royalpay/payment/manage/appclient/core/impls/ManageAppServiceImp.java index 502c16c48..e490dc2e1 100644 --- a/src/main/java/au/com/royalpay/payment/manage/appclient/core/impls/ManageAppServiceImp.java +++ b/src/main/java/au/com/royalpay/payment/manage/appclient/core/impls/ManageAppServiceImp.java @@ -391,9 +391,9 @@ public class ManageAppServiceImp implements ManageAppService { JSONObject manager = managerMapper.findById(device.getString("manager_id")); JSONObject result = new JSONObject(); if (manager.getIntValue("org_id") == 1) { - result.put("url", "http://192.168.0.49:9002/app/rules/bd"); + result.put("url", "https://mpay.royalpay.com.au/app/rules/bd"); } else { - result.put("url", "http://192.168.0.49:9002/app/rules/org"); + result.put("url", "https://mpay.royalpay.com.au/app/rules/org"); } return result; } From c46cd372788a95ff4bdbf764e14a359d5a8d6c8f Mon Sep 17 00:00:00 2001 From: "taylor.dang" Date: Wed, 10 Apr 2019 14:47:10 +0800 Subject: [PATCH 19/59] =?UTF-8?q?[Y]=20=E4=BF=AE=E5=A4=8D=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E6=B1=87=E6=80=BB=E7=BC=BA=E5=B0=91=E9=80=80=E6=AC=BE?= =?UTF-8?q?=E8=B4=A6=E5=8A=A1,=E6=B8=85=E7=90=86=E9=83=A8=E5=88=86?= =?UTF-8?q?=E7=A1=AC=E7=BC=96=E7=A0=81url?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../appclient/core/impls/ManageAppServiceImp.java | 4 ++-- .../payment/manage/ofei/core/impl/OfeiClientImpl.java | 7 ++++--- .../redpack/core/impls/ActRedPackServiceImpl.java | 3 ++- .../manage/redpack/core/impls/PartnerLMServiceImp.java | 3 ++- .../manage/redpack/core/impls/RedpackServiceImpl.java | 3 ++- .../analysis/mappers/TransactionAnalysisMapper.xml | 10 +++++----- 6 files changed, 17 insertions(+), 13 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/appclient/core/impls/ManageAppServiceImp.java b/src/main/java/au/com/royalpay/payment/manage/appclient/core/impls/ManageAppServiceImp.java index e490dc2e1..c8ee16770 100644 --- a/src/main/java/au/com/royalpay/payment/manage/appclient/core/impls/ManageAppServiceImp.java +++ b/src/main/java/au/com/royalpay/payment/manage/appclient/core/impls/ManageAppServiceImp.java @@ -391,9 +391,9 @@ public class ManageAppServiceImp implements ManageAppService { JSONObject manager = managerMapper.findById(device.getString("manager_id")); JSONObject result = new JSONObject(); if (manager.getIntValue("org_id") == 1) { - result.put("url", "https://mpay.royalpay.com.au/app/rules/bd"); + result.put("url", PlatformEnvironment.getEnv().concatUrl("/app/rules/bd")); } else { - result.put("url", "https://mpay.royalpay.com.au/app/rules/org"); + result.put("url", PlatformEnvironment.getEnv().concatUrl("/app/rules/org")); } return result; } diff --git a/src/main/java/au/com/royalpay/payment/manage/ofei/core/impl/OfeiClientImpl.java b/src/main/java/au/com/royalpay/payment/manage/ofei/core/impl/OfeiClientImpl.java index 4935aedf5..645afdd93 100644 --- a/src/main/java/au/com/royalpay/payment/manage/ofei/core/impl/OfeiClientImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/ofei/core/impl/OfeiClientImpl.java @@ -5,6 +5,7 @@ import au.com.royalpay.payment.manage.mappers.ofei.TopUpOrderMapper; import au.com.royalpay.payment.manage.ofei.core.OfeiClient; import au.com.royalpay.payment.manage.ofei.enums.OfeiType; import au.com.royalpay.payment.tools.codec.MD5Hash; +import au.com.royalpay.payment.tools.env.PlatformEnvironment; import au.com.royalpay.payment.tools.exceptions.BadRequestException; import au.com.royalpay.payment.tools.exceptions.ServerErrorException; import au.com.royalpay.payment.tools.fixing.FixedDocumentHelper; @@ -84,7 +85,7 @@ public class OfeiClientImpl implements OfeiClient { params.add(new BasicNameValuePair("sporder_id", orderId)); params.add(new BasicNameValuePair("sporder_time", DateFormatUtils.format(now, "yyyyMMddHHmmss"))); params.add(new BasicNameValuePair("game_userid", phoneNumber)); - params.add(new BasicNameValuePair("ret_url", "https://mpay.royalpay.com.au/ofei/notice/"+orderId)); + params.add(new BasicNameValuePair("ret_url", PlatformEnvironment.getEnv().concatUrl("/ofei/notice/"+orderId))); saveOrder(orderId, now, OfeiType.PHONE.getMask(), price, phoneNumber); HttpRequestGenerator req = initRequest(topUPUrl, signAndEncryptForm(params), RequestMethod.GET); @@ -220,11 +221,11 @@ public class OfeiClientImpl implements OfeiClient { params.add(new BasicNameValuePair("sporder_id", orderId)); params.add(new BasicNameValuePair("sporder_time", DateFormatUtils.format(now, "yyyyMMddHHmmss"))); params.add(new BasicNameValuePair("game_userid", qqNumber)); - params.add(new BasicNameValuePair("ret_url", "https://mpay.royalpay.com.au/ofei/notice/"+orderId)); + params.add(new BasicNameValuePair("ret_url", PlatformEnvironment.getEnv().concatUrl("/ofei/notice/" + orderId))); saveOrder(orderId, now, OfeiType.QB.getMask(), price, qqNumber); HttpRequestGenerator req = initRequest(qbTopUpUrl, signAndEncryptForm(params), RequestMethod.POST); Element respXml = executeRequestXML(req, "ofei QB top up fail"); - handleResponse(orderId, respXml,qqNumber); + handleResponse(orderId, respXml, qqNumber); } diff --git a/src/main/java/au/com/royalpay/payment/manage/redpack/core/impls/ActRedPackServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/redpack/core/impls/ActRedPackServiceImpl.java index 85346e19e..833728814 100644 --- a/src/main/java/au/com/royalpay/payment/manage/redpack/core/impls/ActRedPackServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/redpack/core/impls/ActRedPackServiceImpl.java @@ -13,6 +13,7 @@ import au.com.royalpay.payment.tools.CommonConsts; import au.com.royalpay.payment.tools.connections.mpsupport.MpWechatApi; import au.com.royalpay.payment.tools.connections.mpsupport.MpWechatApiProvider; import au.com.royalpay.payment.tools.connections.mpsupport.beans.WechatRedpack; +import au.com.royalpay.payment.tools.env.PlatformEnvironment; import au.com.royalpay.payment.tools.exceptions.ForbiddenException; import au.com.royalpay.payment.tools.exceptions.NotFoundException; import au.com.royalpay.payment.tools.utils.PageListUtils; @@ -190,7 +191,7 @@ public class ActRedPackServiceImpl implements ActRedPackService { JSONObject prizeDetail = actRedPacketsCustomerOrdersMapper.findLockedPrize(lock, paymentOpenId); BigDecimal luckyMoeny = prizeDetail.getBigDecimal("red_packet_amount"); String redPackOrderId = prizeDetail.getString("red_packet_order_id"); - String notifyUrl = "https://mpay.royalpay.com.au/sys/lucky_money/customer/redpacks/" + redPackOrderId + "/notify"; + String notifyUrl = PlatformEnvironment.getEnv().concatUrl("/sys/lucky_money/customer/redpacks/" + redPackOrderId + "/notify"); JSONObject customerRelation = customerMapper.findCustomerByOpenId(paymentOpenId); if (customerRelation == null) { customerRelation = customerMapper.findCustomerGlobalpayByOpenId(paymentOpenId); diff --git a/src/main/java/au/com/royalpay/payment/manage/redpack/core/impls/PartnerLMServiceImp.java b/src/main/java/au/com/royalpay/payment/manage/redpack/core/impls/PartnerLMServiceImp.java index 79aa60964..61d123b89 100644 --- a/src/main/java/au/com/royalpay/payment/manage/redpack/core/impls/PartnerLMServiceImp.java +++ b/src/main/java/au/com/royalpay/payment/manage/redpack/core/impls/PartnerLMServiceImp.java @@ -8,6 +8,7 @@ import au.com.royalpay.payment.manage.mappers.system.CustomerMapper; import au.com.royalpay.payment.manage.merchants.beans.PartnerQuery; import au.com.royalpay.payment.manage.merchants.core.ClientManager; import au.com.royalpay.payment.tools.connections.mpsupport.MpWechatApiProvider; +import au.com.royalpay.payment.tools.env.PlatformEnvironment; import au.com.royalpay.payment.tools.permission.enums.ManagerRole; import au.com.royalpay.payment.manage.redpack.beans.ActTypeEnum; import au.com.royalpay.payment.manage.redpack.beans.RedpackQuery; @@ -263,7 +264,7 @@ public class PartnerLMServiceImp implements PartnerLMService { String sendName = "RoyalPay"; String actName = act.getString("act_name"); String wishing = "恭喜获得ROYALPAY红包奖励"; - String notifyUrl = "https://mpay.royalpay.com.au/sys/lucky_money/partner/" + red_packet_order_id + "notify"; + String notifyUrl = PlatformEnvironment.getEnv().concatUrl("/sys/lucky_money/partner/" + red_packet_order_id + "notify"); WechatRedpack wechatRedpack = new WechatRedpack(); JSONObject customerRelation = customerMapper.findCustomerByOpenId(open_id); diff --git a/src/main/java/au/com/royalpay/payment/manage/redpack/core/impls/RedpackServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/redpack/core/impls/RedpackServiceImpl.java index 0d8c28481..2b2be2755 100644 --- a/src/main/java/au/com/royalpay/payment/manage/redpack/core/impls/RedpackServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/redpack/core/impls/RedpackServiceImpl.java @@ -13,6 +13,7 @@ import au.com.royalpay.payment.tools.connections.mpsupport.MpWechatApi; import au.com.royalpay.payment.tools.connections.mpsupport.MpWechatApiProvider; import au.com.royalpay.payment.tools.connections.mpsupport.beans.AlipayRedpack; import au.com.royalpay.payment.tools.connections.mpsupport.beans.WechatRedpack; +import au.com.royalpay.payment.tools.env.PlatformEnvironment; import au.com.royalpay.payment.tools.exceptions.BadRequestException; import au.com.royalpay.payment.tools.utils.CurrencyAmountUtils; import au.com.royalpay.payment.tools.utils.PageListUtils; @@ -410,7 +411,7 @@ public class RedpackServiceImpl implements RedpackService { String red_packet_order_id = prizeDetail.getString("red_packet_order_id"); String sendName = "RoyalPay皇家支付"; String wishing = "恭喜获得ROYALPAY店长福利红包"; - String notifyUrl = "https://mpay.royalpay.com.au/sys/lucky_money/partner/" + red_packet_order_id + "notify"; + String notifyUrl = PlatformEnvironment.getEnv().concatUrl("/sys/lucky_money/partner/" + red_packet_order_id + "notify"); WechatRedpack wechatRedpack = new WechatRedpack(); JSONObject customerRelation = customerMapper.findCustomerByOpenId(open_id); diff --git a/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/TransactionAnalysisMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/TransactionAnalysisMapper.xml index 4d2ce0961..58fd889e6 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/TransactionAnalysisMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/TransactionAnalysisMapper.xml @@ -804,11 +804,11 @@ + + +
    +

    Required + Field

    +

    Less + Than 3 Characters

    +
    + +
    + +
    +

    contact phone is required

    +
    +
    + + + +
    + + +
    +

    contact email is required

    +
    +
    +
    + + +
    \ No newline at end of file + diff --git a/src/main/ui/static/payment/partner/templates/client_accounts.html b/src/main/ui/static/payment/partner/templates/client_accounts.html index 4937ebc80..bed27833f 100644 --- a/src/main/ui/static/payment/partner/templates/client_accounts.html +++ b/src/main/ui/static/payment/partner/templates/client_accounts.html @@ -31,6 +31,9 @@ Display Name Role WeChat + Email + Country Code + Phone Payment Notice Refund Approver Operations @@ -38,7 +41,10 @@ - + {{account.username}} + + @@ -50,6 +56,9 @@ + + + @@ -77,4 +86,4 @@ - \ No newline at end of file + diff --git a/src/main/ui/static/payment/partner/templates/client_payment_info.html b/src/main/ui/static/payment/partner/templates/client_payment_info.html index 1eff787e8..c9b266d21 100644 --- a/src/main/ui/static/payment/partner/templates/client_payment_info.html +++ b/src/main/ui/static/payment/partner/templates/client_payment_info.html @@ -385,6 +385,13 @@ switch-change="toggleRequireRemark()"> + diff --git a/src/main/ui/static/payment/partner/templates/partner_payment_info.html b/src/main/ui/static/payment/partner/templates/partner_payment_info.html index 4058906d1..874056b74 100644 --- a/src/main/ui/static/payment/partner/templates/partner_payment_info.html +++ b/src/main/ui/static/payment/partner/templates/partner_payment_info.html @@ -184,6 +184,12 @@ +
    + +
    + +
    +
    @@ -488,6 +494,30 @@ switch-change="togglePreRefund()"> + +
    + +
    +

    + +

    +
    + +
    + +
    +
    + +
    +
    +
    +
    diff --git a/src/main/ui/static/payment/partner/templates/partner_reset_refund_pwd_dialog.html b/src/main/ui/static/payment/partner/templates/partner_reset_refund_pwd_dialog.html new file mode 100644 index 000000000..7d62d3386 --- /dev/null +++ b/src/main/ui/static/payment/partner/templates/partner_reset_refund_pwd_dialog.html @@ -0,0 +1,25 @@ + + + diff --git a/src/main/ui/static/payment/tradelog/templates/partner_trade_logs.html b/src/main/ui/static/payment/tradelog/templates/partner_trade_logs.html index cfa701647..6911aedda 100644 --- a/src/main/ui/static/payment/tradelog/templates/partner_trade_logs.html +++ b/src/main/ui/static/payment/tradelog/templates/partner_trade_logs.html @@ -361,7 +361,7 @@ ng-click="releasePreAuth(trade.order_id)" title="Release Pre-Authorization"> - From 36f22ebabb23af1580d91855bc7b4a1d79900b4c Mon Sep 17 00:00:00 2001 From: "james.zhao" Date: Mon, 15 Apr 2019 10:19:09 +0800 Subject: [PATCH 27/59] manager update --- .../manage/signin/beans/ManagerInfo.java | 11 ++++++++ .../manage/mappers/system/ManagerMapper.xml | 3 +- src/main/ui/static/config/managers/manager.js | 3 +- .../config/managers/templates/modify.html | 28 +++++++++++++++++-- .../managers/templates/new_manager.html | 28 +++++++++++++++++-- .../static/payment/partner/partner-manage.js | 1 + 6 files changed, 66 insertions(+), 8 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/signin/beans/ManagerInfo.java b/src/main/java/au/com/royalpay/payment/manage/signin/beans/ManagerInfo.java index fafd02ee3..602fbfab5 100644 --- a/src/main/java/au/com/royalpay/payment/manage/signin/beans/ManagerInfo.java +++ b/src/main/java/au/com/royalpay/payment/manage/signin/beans/ManagerInfo.java @@ -24,6 +24,8 @@ public class ManagerInfo { @Email private String email; private String phone; + @JSONField(name = "nation_code") + private String nationCode; private String wechat; private boolean admin; private boolean operator; @@ -58,6 +60,7 @@ public class ManagerInfo { } account.put("email", email); account.put("phone", phone); + account.put("nation_code", "+"+nationCode); account.put("wechat", wechat); int role = 0; if (admin) { @@ -296,4 +299,12 @@ public class ManagerInfo { public void setSalesmanager(boolean salesmanager) { this.salesmanager = salesmanager; } + + public String getNationCode() { + return nationCode; + } + + public void setNationCode(String nationCode) { + this.nationCode = nationCode; + } } diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ManagerMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ManagerMapper.xml index ca1174a32..c6d046fd4 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ManagerMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ManagerMapper.xml @@ -14,6 +14,7 @@ SELECT m.manager_id, m.org_id, m.display_name, + SUBSTRING(m.nation_code,2) nation_code, m.username,m.role,m.is_valid,m.create_time,m.last_login,o.name org_name, m.email,m.phone,m.wechat,m.wx_openid, co.headimg, @@ -102,4 +103,4 @@ - \ No newline at end of file + diff --git a/src/main/ui/static/config/managers/manager.js b/src/main/ui/static/config/managers/manager.js index 882412321..34f2cb4e3 100644 --- a/src/main/ui/static/config/managers/manager.js +++ b/src/main/ui/static/config/managers/manager.js @@ -141,6 +141,7 @@ define(['angular', 'uiRouter', 'uiBootstrap'], function (angular) { app.controller('newManagerDialogCtrl', ['$scope', '$http', function ($scope, $http) { $scope.params = {}; $scope.manager = {}; + $scope.manager.nation_code = 61; if(($scope.currentUser.role & parseInt('1000000000000', 2)) > 0 && $scope.currentUser.org_id){ var params = angular.copy($scope.params); params.org_id = $scope.currentUser.org_id; @@ -208,4 +209,4 @@ define(['angular', 'uiRouter', 'uiBootstrap'], function (angular) { } }]); return app; -}); \ No newline at end of file +}); diff --git a/src/main/ui/static/config/managers/templates/modify.html b/src/main/ui/static/config/managers/templates/modify.html index 46b4a356a..26741b752 100644 --- a/src/main/ui/static/config/managers/templates/modify.html +++ b/src/main/ui/static/config/managers/templates/modify.html @@ -37,8 +37,30 @@
    - +
    +
    +
    +
    +
    + +
    + +
    +

    Required + Field

    +

    Less + Than 3 Characters

    +
    +
    +
    + +
    +
    @@ -130,4 +152,4 @@
    -
    \ No newline at end of file + diff --git a/src/main/ui/static/config/managers/templates/new_manager.html b/src/main/ui/static/config/managers/templates/new_manager.html index 9c8ca94d7..706c5cb38 100644 --- a/src/main/ui/static/config/managers/templates/new_manager.html +++ b/src/main/ui/static/config/managers/templates/new_manager.html @@ -43,8 +43,30 @@
    - +
    +
    +
    +
    +
    + +
    + +
    +

    Required + Field

    +

    Less + Than 3 Characters

    +
    +
    +
    + +
    +
    @@ -140,4 +162,4 @@
    -
    \ No newline at end of file + diff --git a/src/main/ui/static/payment/partner/partner-manage.js b/src/main/ui/static/payment/partner/partner-manage.js index 4a1d41223..a31f477fb 100644 --- a/src/main/ui/static/payment/partner/partner-manage.js +++ b/src/main/ui/static/payment/partner/partner-manage.js @@ -2528,6 +2528,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter app.controller('partnerAddAccountDialogCtrl', ['$scope', '$http', 'partner', function ($scope, $http, partner) { $scope.account = {role: 1}; $scope.partnerRoles = partnerRoles; + $scope.account.nation_code = 61; $scope.saveAccount = function (form) { if (form.$invalid) { angular.forEach(form, function (item, key) { From ddd8318f4d7f261d452f2b8b07348cf41b2f9db8 Mon Sep 17 00:00:00 2001 From: todking Date: Mon, 15 Apr 2019 16:14:01 +0800 Subject: [PATCH 28/59] =?UTF-8?q?tod=202019/4/15=20=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E6=89=80=E6=9C=89=E7=9A=84=E9=A1=B5=E9=9D=A2=E5=BC=B9=E6=A1=86?= =?UTF-8?q?=E5=B1=9E=E6=80=A7=20=E4=BD=BF=E6=89=80=E6=9C=89=E7=9A=84?= =?UTF-8?q?=E5=BC=B9=E6=A1=86=E4=B8=8D=E8=83=BD=E7=82=B9=E5=87=BB=E7=A9=BA?= =?UTF-8?q?=E7=99=BD=E5=A4=84=E5=85=B3=E9=97=AD=EF=BC=8C=E6=97=A0=E5=85=B3?= =?UTF-8?q?=E9=97=AD=E6=8C=89=E9=92=AE=E7=9A=84=E5=BC=B9=E6=A1=86=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=85=B3=E9=97=AD=E6=8C=89=E9=92=AE=20=E5=85=B1?= =?UTF-8?q?=E4=BF=AE=E6=94=B924=E5=A4=84=EF=BC=88=E4=B8=80=E5=A4=84?= =?UTF-8?q?=E5=8F=AF=E6=9C=89=E5=A4=9A=E4=B8=AA=E5=BC=B9=E6=A1=86=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/ui/static/activity/encourage/encourage.js | 2 ++ src/main/ui/static/commons/services/commonDialog.js | 1 + src/main/ui/static/commons/services/orderService.js | 1 + .../ui/static/commons/templates/order_detail.html | 3 +++ src/main/ui/static/config/bdprize/bdprize.js | 3 +++ src/main/ui/static/config/managers/manager.js | 1 + src/main/ui/static/config/notice/notice.js | 1 + .../ui/static/config/organizations/organizations.js | 2 ++ src/main/ui/static/config/sysconfigs/sysconfigs.js | 10 ++++++++++ .../config/sysconfigs/templates/add_mail_unsub.html | 6 ++++++ src/main/ui/static/menu/managerMenu.js | 2 ++ .../payment/merchantid/merchant_id_manager.js | 1 + .../templates/new_common_sub_merchant_id.html | 4 ++++ .../ui/static/payment/product/product_manager.js | 2 ++ .../payment/product/templates/add_product.html | 13 +++++++++---- src/main/ui/static/risk/risk.js | 3 +++ .../risk/templates/new_customer_blacklist.html | 3 +++ 17 files changed, 54 insertions(+), 4 deletions(-) diff --git a/src/main/ui/static/activity/encourage/encourage.js b/src/main/ui/static/activity/encourage/encourage.js index aa5d19358..40addabc7 100644 --- a/src/main/ui/static/activity/encourage/encourage.js +++ b/src/main/ui/static/activity/encourage/encourage.js @@ -29,6 +29,7 @@ define(['angular', 'uiRouter'], function (angular) { $scope.loadEvents(); $scope.newEvent = function () { $uibModal.open({ + backdrop: 'static', keyboard: false, templateUrl: '/static/activity/encourage/templates/encourage_modify.html', controller: 'newEncourageEventCtrl' }).result.then(function () { @@ -145,6 +146,7 @@ define(['angular', 'uiRouter'], function (angular) { $scope.loadUseLogs(1); $scope.modifyEvent = function () { $uibModal.open({ + backdrop: 'static', keyboard: false, templateUrl: '/static/activity/encourage/templates/encourage_modify.html', controller: 'modifyEventCtrl', resolve: { diff --git a/src/main/ui/static/commons/services/commonDialog.js b/src/main/ui/static/commons/services/commonDialog.js index e69b39019..66c85d8af 100644 --- a/src/main/ui/static/commons/services/commonDialog.js +++ b/src/main/ui/static/commons/services/commonDialog.js @@ -73,6 +73,7 @@ define(['../app', 'angular'], function (app, angular) { }, inputText:function (cfg) { return $uibModal.open({ + backdrop: 'static', keyboard: false, templateUrl:'/static/commons/templates/text_input.html', size: cfg.size || 'sm', resolve:{ diff --git a/src/main/ui/static/commons/services/orderService.js b/src/main/ui/static/commons/services/orderService.js index 1c628772a..c500dfaf1 100644 --- a/src/main/ui/static/commons/services/orderService.js +++ b/src/main/ui/static/commons/services/orderService.js @@ -6,6 +6,7 @@ define(['../app'], function (app) { app.factory('orderService', ['$uibModal', function ($uibModal) { function openDetail(url) { $uibModal.open({ + backdrop: 'static', keyboard: false, templateUrl: '/static/commons/templates/order_detail.html', controller: 'orderDetailDialogCtrl', resolve: { diff --git a/src/main/ui/static/commons/templates/order_detail.html b/src/main/ui/static/commons/templates/order_detail.html index 14185b979..db32af8c2 100644 --- a/src/main/ui/static/commons/templates/order_detail.html +++ b/src/main/ui/static/commons/templates/order_detail.html @@ -215,4 +215,7 @@ +
    + +
    diff --git a/src/main/ui/static/config/bdprize/bdprize.js b/src/main/ui/static/config/bdprize/bdprize.js index d24ad86d6..46acd352f 100644 --- a/src/main/ui/static/config/bdprize/bdprize.js +++ b/src/main/ui/static/config/bdprize/bdprize.js @@ -113,6 +113,7 @@ define(['angular', '../../analysis/bd/analysis-bd'], function (angular) { $scope.loadRateConfigs(); $scope.editRateConfig = function () { $uibModal.open({ + backdrop: 'static', keyboard: false, templateUrl: '/static/config/bdprize/templates/rate_config_dialog.html', controller: 'bdRateConfigCtrl', resolve: { @@ -126,6 +127,7 @@ define(['angular', '../../analysis/bd/analysis-bd'], function (angular) { }; $scope.editBDLevels = function () { $uibModal.open({ + backdrop: 'static', keyboard: false, templateUrl: '/static/config/bdprize/templates/bd_level_config_dialog.html', size: 'lg', controller: 'bdLevelConfigCtrl' @@ -133,6 +135,7 @@ define(['angular', '../../analysis/bd/analysis-bd'], function (angular) { }; $scope.editCommissionConfig = function (monModal) { $uibModal.open({ + backdrop: 'static', keyboard: false, templateUrl: '/static/config/bdprize/templates/bd_commission_config_dialog.html', controller: 'bdCommissionConfigCtrl', size: 'lg', diff --git a/src/main/ui/static/config/managers/manager.js b/src/main/ui/static/config/managers/manager.js index 882412321..e9dac8f34 100644 --- a/src/main/ui/static/config/managers/manager.js +++ b/src/main/ui/static/config/managers/manager.js @@ -41,6 +41,7 @@ define(['angular', 'uiRouter', 'uiBootstrap'], function (angular) { $scope.listManagers(); $scope.modifyManager = function (manager) { $uibModal.open({ + backdrop: 'static', keyboard: false, templateUrl: '/static/config/managers/templates/modify.html', controller: 'modifyManagerDialogCtrl', resolve: { diff --git a/src/main/ui/static/config/notice/notice.js b/src/main/ui/static/config/notice/notice.js index 49f8d8aae..a200062d6 100644 --- a/src/main/ui/static/config/notice/notice.js +++ b/src/main/ui/static/config/notice/notice.js @@ -61,6 +61,7 @@ define(['angular', 'static/commons/commons', 'static/commons/angular-ueditor', ' $scope.showNotice = function (notice) { $uibModal.open({ + backdrop: 'static', keyboard: false, templateUrl: '/static/commons/templates/notice_detail.html', controller: 'noticePreviewCtrl', resolve: { diff --git a/src/main/ui/static/config/organizations/organizations.js b/src/main/ui/static/config/organizations/organizations.js index aeb07c09b..5a09e8e70 100644 --- a/src/main/ui/static/config/organizations/organizations.js +++ b/src/main/ui/static/config/organizations/organizations.js @@ -506,6 +506,7 @@ define(['angular', 'uiRouter', 'uiBootstrap'], function (angular) { $scope.listManagers(); $scope.modifyManager = function (manager) { $uibModal.open({ + backdrop: 'static', keyboard: false, templateUrl: '/static/config/managers/templates/modify.html', controller: 'modifyManagerCtrl', resolve: { @@ -531,6 +532,7 @@ define(['angular', 'uiRouter', 'uiBootstrap'], function (angular) { }; $scope.newManager = function () { $uibModal.open({ + backdrop: 'static', keyboard: false, templateUrl: '/static/config/managers/templates/new_manager.html', controller: 'newManagerCtrl', resolve: { diff --git a/src/main/ui/static/config/sysconfigs/sysconfigs.js b/src/main/ui/static/config/sysconfigs/sysconfigs.js index a8a32ea2a..c8b600861 100644 --- a/src/main/ui/static/config/sysconfigs/sysconfigs.js +++ b/src/main/ui/static/config/sysconfigs/sysconfigs.js @@ -275,6 +275,7 @@ define(['angular', 'uiRouter'], function (angular) { }; $scope.moveFunction = function (func) { $uibModal.open({ + backdrop: 'static', keyboard: false, templateUrl: '/static/config/sysconfigs/templates/permission_choose_module.html', controller: 'permissionChooseModuleDialogCtrl', resolve: { @@ -292,6 +293,7 @@ define(['angular', 'uiRouter'], function (angular) { }; $scope.editFunctionInfo = function (func) { $uibModal.open({ + backdrop: 'static', keyboard: false, templateUrl: '/static/config/sysconfigs/templates/func_info_edit.html', controller: 'permissionFuncEditDialogCtrl', resolve: { @@ -334,6 +336,7 @@ define(['angular', 'uiRouter'], function (angular) { $scope.modules = modules.data; $scope.newModule = function () { $uibModal.open({ + backdrop: 'static', keyboard: false, templateUrl: '/static/config/sysconfigs/templates/permission_module_dialog.html', controller: 'moduleNewCtrl', resolve: { @@ -347,6 +350,7 @@ define(['angular', 'uiRouter'], function (angular) { }; $scope.editModule = function (mod) { $uibModal.open({ + backdrop: 'static', keyboard: false, templateUrl: '/static/config/sysconfigs/templates/permission_module_dialog.html', controller: 'moduleEditCtrl', resolve: { @@ -422,6 +426,7 @@ define(['angular', 'uiRouter'], function (angular) { }; $scope.addUnSub = function () { $uibModal.open({ + backdrop: 'static', keyboard: false, templateUrl: '/static/config/sysconfigs/templates/add_mail_unsub.html', controller: 'addUnSubDialogCtrl', size: 'sm' @@ -464,6 +469,7 @@ define(['angular', 'uiRouter'], function (angular) { app.controller('permissionPartnerConfigRootCtrl', ['$scope', '$http', '$uibModal', function ($scope, $http, $uibModal) { $scope.authorizeRole = function (roleMask) { $uibModal.open({ + backdrop: 'static', keyboard: false, templateUrl: '/static/config/sysconfigs/templates/permissionPartner_authorize_dialog.html', controller: 'permissionPartnerAuthorizeDialogCtrl', size: 'lg', @@ -528,6 +534,7 @@ define(['angular', 'uiRouter'], function (angular) { }; $scope.moveFunction = function (func) { $uibModal.open({ + backdrop: 'static', keyboard: false, templateUrl: '/static/config/sysconfigs/templates/permissionPartner_choose_module.html', controller: 'permissionPartnerChooseModuleDialogCtrl', resolve: { @@ -545,6 +552,7 @@ define(['angular', 'uiRouter'], function (angular) { }; $scope.editFunctionInfo = function (func) { $uibModal.open({ + backdrop: 'static', keyboard: false, templateUrl: '/static/config/sysconfigs/templates/PartnerFunc_info_edit.html', controller: 'permissionPartnerFuncEditDialogCtrl', resolve: { @@ -580,6 +588,7 @@ define(['angular', 'uiRouter'], function (angular) { $scope.modules = modules.data; $scope.newPartnerModule = function () { $uibModal.open({ + backdrop: 'static', keyboard: false, templateUrl: '/static/config/sysconfigs/templates/permissionPartner_module_dialog.html', controller: 'partnerModuleNewCtrl', resolve: { @@ -596,6 +605,7 @@ define(['angular', 'uiRouter'], function (angular) { }; $scope.editPartnerModule = function (mod) { $uibModal.open({ + backdrop: 'static', keyboard: false, templateUrl: '/static/config/sysconfigs/templates/permissionPartner_module_dialog.html', controller: 'partnerModuleEditCtrl', resolve: { diff --git a/src/main/ui/static/config/sysconfigs/templates/add_mail_unsub.html b/src/main/ui/static/config/sysconfigs/templates/add_mail_unsub.html index 6d24869d2..0c29c2c02 100644 --- a/src/main/ui/static/config/sysconfigs/templates/add_mail_unsub.html +++ b/src/main/ui/static/config/sysconfigs/templates/add_mail_unsub.html @@ -8,6 +8,12 @@
    +
    +
    +
    +
    + +
    diff --git a/src/main/ui/static/menu/managerMenu.js b/src/main/ui/static/menu/managerMenu.js index 9cf84e966..06ce0a528 100644 --- a/src/main/ui/static/menu/managerMenu.js +++ b/src/main/ui/static/menu/managerMenu.js @@ -64,6 +64,7 @@ define(['angular', 'uiRouter', 'uiBootstrap'], function (angular) { $scope.editRateConfig = function () { $uibModal.open({ + backdrop: 'static', keyboard: false, templateUrl: '/static/config/bdprize/templates/rate_config_dialog.html', controller: 'bdRateConfigCtrl', resolve: { @@ -77,6 +78,7 @@ define(['angular', 'uiRouter', 'uiBootstrap'], function (angular) { }; $scope.editBDLevels = function () { $uibModal.open({ + backdrop: 'static', keyboard: false, templateUrl: '/static/config/bdprize/templates/bd_level_config_dialog.html', controller: 'bdLevelConfigCtrl' }) diff --git a/src/main/ui/static/payment/merchantid/merchant_id_manager.js b/src/main/ui/static/payment/merchantid/merchant_id_manager.js index e8605865b..03cdaad63 100644 --- a/src/main/ui/static/payment/merchantid/merchant_id_manager.js +++ b/src/main/ui/static/payment/merchantid/merchant_id_manager.js @@ -182,6 +182,7 @@ define(['angular', 'static/commons/commons', 'uiBootstrap', 'uiRouter', 'ngBootS $scope.loadTempSubMerchantId(1); $scope.save = function () { $uibModal.open({ + backdrop: 'static', keyboard: false, templateUrl: '/static/payment/merchantid/templates/new_common_sub_merchant_id.html', controller: 'newCommonSubMerchantIdCtrl' }).result.then(function () { diff --git a/src/main/ui/static/payment/merchantid/templates/new_common_sub_merchant_id.html b/src/main/ui/static/payment/merchantid/templates/new_common_sub_merchant_id.html index 3e432fffe..83d4fea2b 100644 --- a/src/main/ui/static/payment/merchantid/templates/new_common_sub_merchant_id.html +++ b/src/main/ui/static/payment/merchantid/templates/new_common_sub_merchant_id.html @@ -15,10 +15,14 @@
    +
    + +
    + diff --git a/src/main/ui/static/payment/product/product_manager.js b/src/main/ui/static/payment/product/product_manager.js index 861877603..71726d47a 100644 --- a/src/main/ui/static/payment/product/product_manager.js +++ b/src/main/ui/static/payment/product/product_manager.js @@ -68,6 +68,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter }; $scope.addProduct = function () { $uibModal.open({ + backdrop: 'static', keyboard: false, templateUrl: '/static/payment/product/templates/add_product.html', controller: 'managerAddProductDialogCtrl', resolve: { @@ -81,6 +82,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter }; $scope.editProduct = function (product) { $uibModal.open({ + backdrop: 'static', keyboard: false, templateUrl: '/static/payment/product/templates/add_product.html', controller: 'managerAddProductDialogCtrl', resolve: { diff --git a/src/main/ui/static/payment/product/templates/add_product.html b/src/main/ui/static/payment/product/templates/add_product.html index 55aac6437..2d3f08502 100644 --- a/src/main/ui/static/payment/product/templates/add_product.html +++ b/src/main/ui/static/payment/product/templates/add_product.html @@ -111,10 +111,15 @@ -
    - +
    diff --git a/src/main/ui/static/risk/risk.js b/src/main/ui/static/risk/risk.js index 8bfe25bf8..8d84298cd 100644 --- a/src/main/ui/static/risk/risk.js +++ b/src/main/ui/static/risk/risk.js @@ -262,6 +262,7 @@ define(['angular', 'static/commons/commons', 'uiBootstrap', 'uiRouter', 'ngBootS }; $scope.addAttention = function () { $uibModal.open({ + backdrop: 'static', keyboard: false, templateUrl: '/static/risk/templates/risk_add.html', controller: 'newRiskCtrl' }).result.then(function () { @@ -271,6 +272,7 @@ define(['angular', 'static/commons/commons', 'uiBootstrap', 'uiRouter', 'ngBootS $scope.editAttention = function (attention) { $uibModal.open({ + backdrop: 'static', keyboard: false, templateUrl: '/static/risk/templates/risk_merchant_edit.html', controller: 'editRiskCtrl', resolve:{ @@ -331,6 +333,7 @@ define(['angular', 'static/commons/commons', 'uiBootstrap', 'uiRouter', 'ngBootS }; $scope.save = function () { $uibModal.open({ + backdrop: 'static', keyboard: false, templateUrl: '/static/risk/templates/new_customer_blacklist.html', controller: 'newCustomerBlackListCtrl' }).result.then(function () { diff --git a/src/main/ui/static/risk/templates/new_customer_blacklist.html b/src/main/ui/static/risk/templates/new_customer_blacklist.html index 02e032830..2933fb637 100644 --- a/src/main/ui/static/risk/templates/new_customer_blacklist.html +++ b/src/main/ui/static/risk/templates/new_customer_blacklist.html @@ -19,6 +19,9 @@
    +
    + +
    From b7aa93ba4683cb512ce8e487caf091e539a07954 Mon Sep 17 00:00:00 2001 From: yangkai Date: Mon, 15 Apr 2019 21:58:23 +0800 Subject: [PATCH 29/59] =?UTF-8?q?BD=E6=8F=90=E6=88=90=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=88=86=E6=9E=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manage/bdprize/core/BDPrizeService.java | 6 + .../core/impls/BDPrizeServiceImpl.java | 40 ++ .../manage/bdprize/web/BDPrizeController.java | 24 ++ .../FinancialBDCommissionConfigMapper.java | 3 + .../financial/FinancialBDConfigMapper.java | 2 + .../financial/FinancialBDPrizeLogMapper.java | 9 +- .../FinancialBDCommissionConfigMapper.xml | 7 + .../financial/FinancialBDConfigMapper.xml | 43 +++ src/main/ui/manage.html | 5 + .../ui/static/analysis/bd-prize-analysis.js | 364 ++++++++++++++++++ .../bdprize/templates/bd_data_analysis.html | 78 ++++ src/main/ui/static/lib/echarts/echarts.min.js | 32 +- 12 files changed, 599 insertions(+), 14 deletions(-) create mode 100644 src/main/ui/static/analysis/bd-prize-analysis.js create mode 100644 src/main/ui/static/config/bdprize/templates/bd_data_analysis.html diff --git a/src/main/java/au/com/royalpay/payment/manage/bdprize/core/BDPrizeService.java b/src/main/java/au/com/royalpay/payment/manage/bdprize/core/BDPrizeService.java index 55fa181a1..bf5cac476 100644 --- a/src/main/java/au/com/royalpay/payment/manage/bdprize/core/BDPrizeService.java +++ b/src/main/java/au/com/royalpay/payment/manage/bdprize/core/BDPrizeService.java @@ -48,4 +48,10 @@ public interface BDPrizeService { void exportCommissionDetail(String month, String managerId, HttpServletResponse response); List findCommissionList(JSONObject manager); + + List getBDTeamKpiCompletionDegree(String month); + + List getBDProportionByTeamType(String month, String teamType); + + JSONObject getBDKpiByManagerId(String month, String manager_id); } diff --git a/src/main/java/au/com/royalpay/payment/manage/bdprize/core/impls/BDPrizeServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/bdprize/core/impls/BDPrizeServiceImpl.java index 139547af5..96983fe27 100644 --- a/src/main/java/au/com/royalpay/payment/manage/bdprize/core/impls/BDPrizeServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/bdprize/core/impls/BDPrizeServiceImpl.java @@ -46,6 +46,7 @@ import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.util.List; +import java.util.stream.Collectors; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; @@ -690,6 +691,45 @@ public class BDPrizeServiceImpl implements BDPrizeService { return null; } + @Override + public List getBDTeamKpiCompletionDegree(String month) { + List prizeAmountAndBdTypeList = financialBDPrizeLogMapper.findBdPrizeAmountAndBdType(getReportByMonth(month)); + for (JSONObject prize : prizeAmountAndBdTypeList) { + BigDecimal kpi = financialBDCommissionConfigMapper.findCurrentCommissionMaxAmount(month, prize.getIntValue("bd_type")); + prize.put("kpi", kpi); + prize.put("completionDegree", prize.getBigDecimal("total_amount").divide(kpi,2)); + } + List prizeSort = prizeAmountAndBdTypeList.stream() + .sorted((prize1, prize2) -> prize2.getBigDecimal("completionDegree").compareTo(prize1.getBigDecimal("completionDegree"))) + .collect(Collectors.toList()); + return prizeSort; + } + + @Override + public List getBDProportionByTeamType(String month, String teamType) { + return financialBDConfigMapper.findManagerByTeamType(teamType, getReportByMonth(month)); + } + + @Override + public JSONObject getBDKpiByManagerId(String month, String manager_id) { + return financialBDPrizeLogMapper.findByReportAndBDTotal(getReportByMonth(month), manager_id); + } + + public String getReportByMonth(String month) { + try { + Date mon = DateUtils.parseDate(month, new String[]{"yyyy-MM"}); + month = DateFormatUtils.format(mon, "yyyy-MM"); + } catch (ParseException e) { + throw new BadRequestException("Invalid Month"); + } + + JSONObject report = financialBDPrizeRecordMapper.findByMonth(month); + if (report == null) { + throw new BadRequestException("Report not created"); + } + return report.getString("record_id"); + } + private String financialBdLevel (int level) { switch (level) { case 0: diff --git a/src/main/java/au/com/royalpay/payment/manage/bdprize/web/BDPrizeController.java b/src/main/java/au/com/royalpay/payment/manage/bdprize/web/BDPrizeController.java index 58d8b47ab..b15cedd84 100644 --- a/src/main/java/au/com/royalpay/payment/manage/bdprize/web/BDPrizeController.java +++ b/src/main/java/au/com/royalpay/payment/manage/bdprize/web/BDPrizeController.java @@ -119,4 +119,28 @@ public class BDPrizeController { public void exportCommissionBdUserDetail(@PathVariable String month, @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager, HttpServletResponse response) { bdPrizeService.exportCommissionDetail(month, manager.getString("manager_id"), response); } + + /** + * 获取BD团队KPI完成度 + */ + @ManagerMapping(value = "/commission/{month}/completion_degree", method = RequestMethod.GET, role = {ManagerRole.DIRECTOR, ManagerRole.ADMIN}) + public List getBDTeamKpiCompletionDegree(@PathVariable String month) { + return bdPrizeService.getBDTeamKpiCompletionDegree(month); + } + + /** + * 团队每个BD的占比 + */ + @ManagerMapping(value = "/commission/{month}/bd_proportion/{teamType}", method = RequestMethod.GET, role = {ManagerRole.DIRECTOR, ManagerRole.ADMIN}) + public List getBDProportionByTeamType(@PathVariable String month, @PathVariable String teamType) { + return bdPrizeService.getBDProportionByTeamType(month, teamType); + } + + /** + * 查询BD KPI + */ + @ManagerMapping(value = "/commission/{month}/bd_user_kpi/{manager_id}", method = RequestMethod.GET, role = {ManagerRole.DIRECTOR, ManagerRole.ADMIN}) + public JSONObject getBDKpiByManagerId(@PathVariable String month, @PathVariable String manager_id) { + return bdPrizeService.getBDKpiByManagerId(month, manager_id); + } } diff --git a/src/main/java/au/com/royalpay/payment/manage/mappers/financial/FinancialBDCommissionConfigMapper.java b/src/main/java/au/com/royalpay/payment/manage/mappers/financial/FinancialBDCommissionConfigMapper.java index 4fde4832a..ffb064e72 100644 --- a/src/main/java/au/com/royalpay/payment/manage/mappers/financial/FinancialBDCommissionConfigMapper.java +++ b/src/main/java/au/com/royalpay/payment/manage/mappers/financial/FinancialBDCommissionConfigMapper.java @@ -6,6 +6,7 @@ import cn.yixblog.support.mybatis.autosql.annotations.SqlType; import com.alibaba.fastjson.JSONObject; import org.apache.ibatis.annotations.Param; +import java.math.BigDecimal; import java.util.List; /** @@ -31,4 +32,6 @@ public interface FinancialBDCommissionConfigMapper { void deleteConfig(@Param("bc_config_id") String configInfo); JSONObject findCurrentCommissionRate(@Param("month") String month, @Param("amount") String amount, @Param("bd_type") int bd_type); + + BigDecimal findCurrentCommissionMaxAmount(@Param("month") String month, @Param("bd_type") int bd_type); } diff --git a/src/main/java/au/com/royalpay/payment/manage/mappers/financial/FinancialBDConfigMapper.java b/src/main/java/au/com/royalpay/payment/manage/mappers/financial/FinancialBDConfigMapper.java index 8b4c76832..9037c1afc 100644 --- a/src/main/java/au/com/royalpay/payment/manage/mappers/financial/FinancialBDConfigMapper.java +++ b/src/main/java/au/com/royalpay/payment/manage/mappers/financial/FinancialBDConfigMapper.java @@ -37,4 +37,6 @@ public interface FinancialBDConfigMapper { List listBDCity(); JSONObject listCityCommission(@Param("city") String city, @Param("record_id") String record_id); + + List findManagerByTeamType(@Param("bd_type") String bdType, @Param("record_id") String record_id); } diff --git a/src/main/java/au/com/royalpay/payment/manage/mappers/financial/FinancialBDPrizeLogMapper.java b/src/main/java/au/com/royalpay/payment/manage/mappers/financial/FinancialBDPrizeLogMapper.java index c49a8cedf..2342a4a73 100644 --- a/src/main/java/au/com/royalpay/payment/manage/mappers/financial/FinancialBDPrizeLogMapper.java +++ b/src/main/java/au/com/royalpay/payment/manage/mappers/financial/FinancialBDPrizeLogMapper.java @@ -32,7 +32,7 @@ public interface FinancialBDPrizeLogMapper { @AdvanceSelect(addonWhereClause = "prize_type=0") List findByReportAndBD(@Param("record_id") String recordId, @Param("manager_id") String managerId); - @Select("SELECT prize_log_id,record_id,manager_id,bd_name,bd_level,SUM(total_amount) total_amount, " + + @Select("SELECT prize_log_id,record_id,kpi_amount,manager_id,bd_name,bd_level,SUM(total_amount) total_amount, " + "SUM(total_prize) total_prize,SUM(total_donation) total_donation, SUM(send_prize) send_prize, " + "SUM(hold_prize) hold_prize,last_punish,prize_type FROM financial_bd_prize_log fbpl " + "where fbpl.prize_type = 0 and fbpl.record_id = #{record_id} and fbpl.manager_id = #{manager_id} " + @@ -60,4 +60,11 @@ public interface FinancialBDPrizeLogMapper { @AutoSql(type = SqlType.SELECT) List findReportByOne(@Param("record_id") String recordId, @Param("manager_id") String managerId); + + @Select("SELECT c.manager_id, SUM(total_amount) total_amount, c.bd_type\n" + + "FROM financial_bd_prize_log l\n" + + "INNER JOIN financial_bd_config c ON l.manager_id = c.manager_id\n" + + "WHERE prize_type = 1 AND record_id = #{record_id}\n" + + "GROUP BY l.manager_id") + List findBdPrizeAmountAndBdType(@Param("record_id") String recordId); } diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/financial/FinancialBDCommissionConfigMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/financial/FinancialBDCommissionConfigMapper.xml index fc0ffac44..7c0dabf26 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/mappers/financial/FinancialBDCommissionConfigMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/financial/FinancialBDCommissionConfigMapper.xml @@ -23,4 +23,11 @@ AND #{amount} >= COMMISSION_START_AMOUNT AND #{bd_type} = BD_TYPE + \ No newline at end of file diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/financial/FinancialBDConfigMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/financial/FinancialBDConfigMapper.xml index 637cd471f..214a67c88 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/mappers/financial/FinancialBDConfigMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/financial/FinancialBDConfigMapper.xml @@ -82,4 +82,47 @@ AND fbpl.prize_type <> 1 ]]> + + \ No newline at end of file diff --git a/src/main/ui/manage.html b/src/main/ui/manage.html index 250e8c82b..b48bb960b 100644 --- a/src/main/ui/manage.html +++ b/src/main/ui/manage.html @@ -776,6 +776,11 @@ margin-bottom: 10%;"/> BD提成|BD Commissions
    +
  • + + BD数据分析|BD Data Analysis + +
  • BD绩效设置 diff --git a/src/main/ui/static/analysis/bd-prize-analysis.js b/src/main/ui/static/analysis/bd-prize-analysis.js new file mode 100644 index 000000000..b14e9fc47 --- /dev/null +++ b/src/main/ui/static/analysis/bd-prize-analysis.js @@ -0,0 +1,364 @@ +define(['angular', 'uiBootstrap', 'uiRouter'], function (angular) { + 'use strict'; + var app = angular.module('bdPrizeDataAnalysis', ['ui.bootstrap', 'ui.router']); + + app.config(['$stateProvider', function ($stateProvider) { + $stateProvider.state('analysis_bd.bd_data_analysis', { + url: '/bd_data_analysis', + templateUrl: '/static/config/bdprize/templates/bd_data_analysis.html', + controller: 'bdPrizeDataAnalysisCtrl' + }) + }]); + app.controller('bdPrizeDataAnalysisCtrl', ['$scope', '$filter', '$http', function ($scope, $filter, $http) { + $scope.bdprize = {}; + $scope.getBDTeamKpi = function (month) { + $http.get('/sys/bd_prize/commission/'+ month +'/completion_degree').then(function (resp) { + $scope.BDTeamKpi = $scope.getBDTeamKpiEcharts(resp.data); + if (resp.data) { + $scope.getBdProportion(resp.data[0].bd_type); + } + }); + }; + + $scope.getBdProportion = function (teamType) { + $http.get('/sys/bd_prize/commission/'+ $scope.month +'/bd_proportion/' + teamType).then(function (resp) { + $scope.bdProportion = $scope.getBdAmountProportion(resp.data, teamType); + $scope.bdProportionData = resp.data; + if (resp.data) { + $scope.getBdKpiCompletionDegree(resp.data[0].manager_id); + } + }) + }; + $scope.getBdKpiCompletionDegree = function(manager_id) { + $http.get('/sys/bd_prize/commission/'+ $scope.month +'/bd_user_kpi/' + manager_id).then(function (resp) { + $scope.bdKpi = $scope.getBdKpi(resp.data); + $scope.bdKpiData = resp.data; + }) + }; + $scope.bdTeamKpiEcharts = function (chart) { + chart.on('click', function (params) { + $scope.getBdProportion($scope.BDTeamKpiData[params.seriesIndex].bd_type); + }) + }; + $scope.bdProportionEcharts = function(chart) { + chart.on('click', function (params) { + var managerId = $scope.bdProportionData[params.dataIndex].manager_id; + $scope.getBdKpiCompletionDegree(managerId); + }) + }; + + $scope.selectBdPrizeAnalysis = function () { + var month = $filter('date')(new Date(), 'yyyy-MM'); + if ($scope.bdprize.month) { + month = $filter('date')($scope.bdprize.month, 'yyyy-MM'); + } + $scope.month = month; + $scope.getBDTeamKpi(month); + }; + $scope.selectBdPrizeAnalysis(); + $scope.getBDTeamKpiEcharts = function(data){ + var BDTeamKpi = { + tooltip : { + formatter: "{a}
    {c} {b}" + }, + toolbox: { + show : true, + feature : { + mark : {show: true}, + restore : {show: true}, + saveAsImage : {show: true} + } + }, + series : [ + { + name:'KPI', + type:'gauge', + z: 3, + min:0, + max:100, + splitNumber:10, + axisLine: { // 坐标轴线 + lineStyle: { // 属性lineStyle控制线条样式 + width: 10 + } + }, + axisTick: { // 坐标轴小标记 + length :15, // 属性length控制线长 + lineStyle: { // 属性lineStyle控制线条样式 + color: 'auto' + } + }, + splitLine: { // 分隔线 + length :20, // 属性length控制线长 + lineStyle: { // 属性lineStyle(详见lineStyle)控制线条样式 + color: 'auto' + } + }, + title : { + textStyle: { // 其余属性默认使用全局文本样式,详见TEXTSTYLE + fontWeight: 'bolder', + fontSize: 20, + fontStyle: 'italic' + } + }, + detail : { + textStyle: { // 其余属性默认使用全局文本样式,详见TEXTSTYLE + fontWeight: 'bolder' + } + }, + data:[{value: 0, name: '完成度'}] + }, + { + name:'KPI', + type:'gauge', + center : ['25%', '55%'], // 默认全局居中 + radius : '50%', + min:0, + max:100, + endAngle:45, + splitNumber:10, + axisLine: { // 坐标轴线 + lineStyle: { // 属性lineStyle控制线条样式 + width: 8 + } + }, + axisTick: { // 坐标轴小标记 + length :12, // 属性length控制线长 + lineStyle: { // 属性lineStyle控制线条样式 + color: 'auto' + } + }, + splitLine: { // 分隔线 + length :20, // 属性length控制线长 + lineStyle: { // 属性lineStyle(详见lineStyle)控制线条样式 + color: 'auto' + } + }, + pointer: { + width:5 + }, + title : { + offsetCenter: [0, '-30%'], // x, y,单位px + }, + detail : { + textStyle: { // 其余属性默认使用全局文本样式,详见TEXTSTYLE + fontWeight: 'bolder' + } + }, + data:[{value: 0, name: ''}] + }, + { + name:'KPI', + type:'gauge', + center : ['75%', '55%'], // 默认全局居中 + radius : '50%', + min:0, + max:100, + startAngle:135, + endAngle:-45, + splitNumber:10, + axisLine: { // 坐标轴线 + lineStyle: { // 属性lineStyle控制线条样式 + width: 8 + } + }, + axisTick: { // 坐标轴小标记 + length :12, // 属性length控制线长 + lineStyle: { // 属性lineStyle控制线条样式 + color: 'auto' + } + }, + splitLine: { // 分隔线 + length :20, // 属性length控制线长 + lineStyle: { // 属性lineStyle(详见lineStyle)控制线条样式 + color: 'auto' + } + }, + pointer: { + width:5 + }, + title : { + offsetCenter: [0, '-30%'], // x, y,单位px + }, + detail : { + textStyle: { // 其余属性默认使用全局文本样式,详见TEXTSTYLE + fontWeight: 'bolder' + } + }, + data:[{value: 0, name: ''}] + } + ] + }; + angular.forEach(data, function(data, index){ + data["team_name"] = $scope.filterBdType(data.bd_type); + BDTeamKpi.series[index].data[0] = {"value":(data.completionDegree*100).toFixed(2), + "name":$scope.filterBdType(data.bd_type)} + }); + $scope.BDTeamKpiData = data; + return BDTeamKpi; + }; + $scope.getBdAmountProportion = function(data, teamType) { + var bdProportion = { + title : { + text: 'BD总金额分布', + x:'center' + }, + tooltip : { + trigger: 'item', + formatter: "{a}
    {b} : {c} ({d}%)" + }, + legend: { + orient : 'vertical', + x : 'left', + data:[] + }, + toolbox: { + show : true, + feature : { + mark : {show: true}, + dataView : {show: true, readOnly: false}, + magicType : { + show: true, + type: ['pie', 'funnel'], + option: { + funnel: { + x: '25%', + width: '50%', + funnelAlign: 'left', + max: 1548 + } + } + }, + restore : {show: true}, + saveAsImage : {show: true} + } + }, + calculable : true, + series : [ + { + type:'pie', + radius : '55%', + center: ['50%', '60%'], + data:[ + + ] + } + ] + }; + angular.forEach(data, function(data, index){ + bdProportion.legend.data.push(data.bd_name); + bdProportion.series[0].data.push({"value": data.total_amount, "name": data.bd_name}) + }); + bdProportion.title.text = $scope.filterBdType(teamType) + " BD总金额分布"; + return bdProportion; + }; + $scope.getBdKpi = function(data) { + var bdKpi = { + tooltip : { + formatter: "{a}
    {b} : {c}%" + }, + toolbox: { + show : true, + feature : { + mark : {show: true}, + restore : {show: true}, + saveAsImage : {show: true} + } + }, + series : [ + { + name:'业务指标', + type:'gauge', + startAngle: 180, + endAngle: 0, + center : ['50%', '90%'], // 默认全局居中 + radius : 320, + axisLine: { // 坐标轴线 + lineStyle: { // 属性lineStyle控制线条样式 + width: 200 + } + }, + axisTick: { // 坐标轴小标记 + splitNumber: 10, // 每份split细分多少段 + length :12, // 属性length控制线长 + }, + axisLabel: { // 坐标轴文本标签,详见axis.axisLabel + formatter: function(v){ + switch (v+''){ + case '10': return '低'; + case '50': return '中'; + case '90': return '高'; + default: return ''; + } + }, + textStyle: { // 其余属性默认使用全局文本样式,详见TEXTSTYLE + color: '#fff', + fontSize: 15, + fontWeight: 'bolder' + } + }, + pointer: { + width:10, + length: '80%', + color: 'rgba(0, 0, 0, 0.8)' + }, + title : { + show : true, + offsetCenter: [0, '-60%'], // x, y,单位px + textStyle: { // 其余属性默认使用全局文本样式,详见TEXTSTYLE + color: '#fff', + fontSize: 30 + } + }, + detail : { + show : true, + backgroundColor: 'rgba(0,0,0,0)', + borderWidth: 0, + borderColor: '#ccc', + width: 100, + height: 40, + offsetCenter: [0, -40], // x, y,单位px + formatter:'{value}%', + textStyle: { // 其余属性默认使用全局文本样式,详见TEXTSTYLE + fontSize : 50 + } + }, + data:[{value: 0, name: '完成率'}] + } + ] + }; + bdKpi.series[0].data[0] = {"value":(data.total_amount/data.kpi_amount*100).toFixed(2),"name":data.bd_name + "完成度"}; + return bdKpi; + } + $scope.filterBdType = function (type) { + switch (type) { + case 1: + return 'Sydney'; + case 2: + return 'KA Manager'; + case 6: + return 'Melbourne'; + case 7: + return 'KA Manager'; + } + } + }]); + app.filter('financialBdLevel', function () { + return function (level) { + switch (level) { + case 0: + return 'Leader'; + case 1: + return 'Junior'; + case 2: + return 'Intermediate'; + case 3: + return 'Senior'; + default: + return 'Unknown'; + } + } + }); + + return app; +}); \ No newline at end of file diff --git a/src/main/ui/static/config/bdprize/templates/bd_data_analysis.html b/src/main/ui/static/config/bdprize/templates/bd_data_analysis.html new file mode 100644 index 000000000..d8f6d10d5 --- /dev/null +++ b/src/main/ui/static/config/bdprize/templates/bd_data_analysis.html @@ -0,0 +1,78 @@ +
    +
    +

    BD Data Analysis

    + +
    +
    +
    +
    +
    +
    + +
    + +
    +
    +
    +
    +
    + 团队总KPI完成度 +
    +
    +
    + + + + + + + + + + + + + +
    teamNamekpiAmounttotalAmount
    +
    +
    +
    +
    BD占比
    +
    +
    + + + + + + + + + + + + + +
    bdNamekpiAmounttotalAmount
    +
    +
    +
    +
    BD KPI完成度
    +
    +
    +
    +
    +
    +
    \ No newline at end of file diff --git a/src/main/ui/static/lib/echarts/echarts.min.js b/src/main/ui/static/lib/echarts/echarts.min.js index 0fde34793..d75b89e13 100644 --- a/src/main/ui/static/lib/echarts/echarts.min.js +++ b/src/main/ui/static/lib/echarts/echarts.min.js @@ -1,13 +1,19 @@ -!function(t,e){"function"==typeof define&&define.amd?define([],e):"object"==typeof module&&module.exports?module.exports=e():t.echarts=e()}(this,function(){var t,e;!function(){function i(t,e){if(!e)return t;if(0===t.indexOf(".")){var i=e.split("/"),n=t.split("/"),r=i.length-1,a=n.length,o=0,s=0;t:for(var l=0;a>l;l++)switch(n[l]){case"..":if(!(r>o))break t;o++,s++;break;case".":s++;break;default:break t}return i.length=r-o,n=n.slice(s),i.concat(n).join("/")}return t}function n(t){function e(e,o){if("string"==typeof e){var s=n[e];return s||(s=a(i(e,t)),n[e]=s),s}e instanceof Array&&(o=o||function(){},o.apply(this,r(e,o,t)))}var n={};return e}function r(e,n,r){for(var s=[],l=o[r],u=0,c=Math.min(e.length,n.length);c>u;u++){var h,d=i(e[u],r);switch(d){case"require":h=l&&l.require||t;break;case"exports":h=l.exports;break;case"module":h=l;break;default:h=a(d)}s.push(h)}return s}function a(t){var e=o[t];if(!e)throw new Error("No "+t);if(!e.defined){var i=e.factory,n=i.apply(this,r(e.deps||[],i,t));"undefined"!=typeof n&&(e.exports=n),e.defined=1}return e.exports}var o={};e=function(t,e,i){o[t]={id:t,deps:e,factory:i,defined:0,exports:{},require:n(t)}},t=n("")}();var i="reverse",n="offsetY",r="offsetX",a="../../util/format",o="createSymbol",s="../../util/symbol",l="rotate",u="horizontal",c="vertical",h="orient",d="../../util/number",f="superApply",p="execute",v="coordDimToDataDim",m="getFormattedLabels",g="../../util/layout",y="selected",_="transform",x="getFormattedLabel",b="label.emphasis",w="label.normal",M="category",S="../../echarts",T="symbolSize",C="symbol",A="points",P="getLineStyle",L="updateData",k="dataToCoord",I="toGlobalCoord",D="interval",z="cartesian2d",O="inverse",V="isHorizontal",R="getAxis",E="dataToPoint",B="radius",N="getOtherAxis",H="../../util/model",Z="../../util/graphic",G="toFixed",F="parsePercent",q="linearMap",W="setItemGraphicEl",U="getItemLayout",X="mapArray",j="getDataExtent",Y="hostModel",$="dimensions",K="hasItemOption",Q="setShape",J="setItemVisual",te="getItemModel",ee="retrieve",ie="rotation",ne="parent",re="updateProps",ae="inside",oe="setHoverStyle",se="hoverStyle",le="stroke",ue="lineWidth",ce="applyTransform",he="Polygon",de="zrender/core/BoundingRect",fe="eachItemGraphicEl",pe="getItemGraphicEl",ve="normal",me="emphasis",ge="getShallow",ye="getName",_e="getRawValue",xe="ordinal",be="getBaseAxis",we="ecModel",Me="mergeDefaultAndTheme",Se="concat",Te="componentIndex",Ce="queryComponents",Ae="mergeOption",Pe="option",Le="getContext",ke="undefined",Ie="contain",De="getLabel",ze="getTicks",Oe="getExtent",Ve="../util/number",Re="opacity",Ee="position",Be="center",Ne="middle",He="getLayoutRect",Ze="getBoundingRect",Ge="getTextColor",Fe="getFont",qe="textAlign",We="textStyle",Ue="getItemStyle",Xe="getRect",je="removeAll",Ye="isString",$e="inherits",Ke="filter",Qe="number",Je="extendComponentView",ti="extendComponentModel",ei="register",ii="registerAction",ni="function",ri="isArray",ai="replace",oi="zlevel",si="setStyle",li="traverse",ui="getDataParams",ci="seriesIndex",hi="target",di="mousemove",fi="mouseout",pi="mouseover",vi="silent",mi="splice",gi="dispose",yi="series",_i="trigger",xi="defaults",bi="dispatchAction",wi="extend",Mi="remove",Si="isObject",Ti="downplay",Ci="highlight",Ai="updateLayout",Pi="eachSeries",Li="update",ki="create",Ii="getItemVisual",Di="dataIndex",zi="getData",Oi="getVisual",Vi="coordinateSystem",Ri="indexOf",Ei="length",Bi="bottom",Ni="ignore",Hi="eachComponent",Zi="stopAnimation",Gi="backgroundColor",Fi="canvasSupported",qi="getHeight",Wi="getWidth",Ui="getModel",Xi="animation",ji="resize",Yi="height",$i="canvas",Ki="string",Qi="prototype",Ji="toLowerCase",tn="zrender/core/vector",en="zrender/tool/color",nn="zrender/core/util",rn="zrender/core/env",an="require";e("echarts/echarts",[an,rn,"./model/Global","./ExtensionAPI","./CoordinateSystem","./model/OptionManager","./model/Component","./model/Series","./view/Component","./view/Chart","./util/graphic","./util/model","zrender",nn,en,"zrender/mixin/Eventful","zrender/core/timsort","./visual/seriesColor","./preprocessor/backwardCompat","./loading/default","./data/List","./model/Model","./util/number","./util/format","zrender/core/matrix",tn],function(t){function e(t){return function(e,i,n){e=e&&e[Ji](),I[Qi][t].call(this,e,i,n)}}function i(){I.call(this)}function n(t,e,n){function r(t,e){return t.prio-e.prio}n=n||{},typeof e===Ki&&(e=Q[e]),this.id,this.group,this._dom=t,this._zr=P.init(t,{renderer:n.renderer||$i,devicePixelRatio:n.devicePixelRatio,width:n.width,height:n[Yi]}),this._theme=L.clone(e),this._chartsViews=[],this._chartsMap={},this._componentsViews=[],this._componentsMap={},this._api=new _(this),this._coordSysMgr=new x,I.call(this),this._messageCenter=new i,this._initEvents(),this[ji]=L.bind(this[ji],this),this._pendingActions=[],D(K,r),D(Y,r),this._zr[Xi].on("frame",this._onframe,this)}function r(t,e,i){var n,r=this._model,a=this._coordSysMgr.getCoordinateSystems();e=A.parseFinder(r,e);for(var o=0;oe.get("hoverLayerThreshold")&&!g.node&&i[li](function(t){t.isGroup||(t.useHoverLayer=!0)})}function p(t,e){var i=0;e.group[li](function(t){"group"===t.type||t[Ni]||i++});var n=+t.get("progressive"),r=i>t.get("progressiveThreshold")&&n&&!g.node;r&&e.group[li](function(t){t.isGroup||(t.progressive=r?Math.floor(i++/n):-1,r&&t[Zi](!0))});var a=t.get("blendMode")||null;e.group[li](function(t){t.isGroup||t[si]("blend",a)})}function v(t,e){var i=t.get("z"),n=t.get(oi);e.group[li](function(t){"group"!==t.type&&(null!=i&&(t.z=i),null!=n&&(t[oi]=n))})}function m(t){function e(t,e){for(var i=0;i=0&&L.each(t,function(t){var r=t[Vi];if(r&&r.containPoint)i|=!!r.containPoint(e);else if("seriesModels"===n){var a=this._chartsMap[t.__viewId];a&&a.containPoint&&(i|=a.containPoint(e,t))}},this)},this),!!i},q[Oi]=function(t,e){var i=this._model;t=A.parseFinder(i,t,{defaultMainType:"series"});var n=t.seriesModel,r=n[zi](),a=t.hasOwnProperty("dataIndexInside")?t.dataIndexInside:t.hasOwnProperty(Di)?r.indexOfRawIndex(t[Di]):null;return null!=a?r[Ii](a,e):r[Oi](e)};var W={update:function(t){var e=this._model,i=this._api,n=this._coordSysMgr,r=this._zr;if(e){e.restoreData(),n[ki](this._model,this._api),l.call(this,e,i),u.call(this,e),n[Li](e,i),h.call(this,e,t),d.call(this,e,t);var a=e.get(Gi)||"transparent",o=r.painter;if(o.isSingleCanvas&&o.isSingleCanvas())r.configLayer(0,{clearColor:a});else{if(!g[Fi]){var s=k.parse(a);a=k.stringify(s,"rgb"),0===s[3]&&(a="transparent")}a.colorStops||a.image?(r.configLayer(0,{clearColor:a}),this[G]=!0,this._dom.style.background="transparent"):(this[G]&&r.configLayer(0,{clearColor:null}),this[G]=!1,this._dom.style.background=a)}}},updateView:function(t){var e=this._model;e&&(e[Pi](function(t){t[zi]().clearAllVisual()}),h.call(this,e,t),o.call(this,"updateView",e,t))},updateVisual:function(t){var e=this._model;e&&(e[Pi](function(t){t[zi]().clearAllVisual()}),h.call(this,e,t),o.call(this,"updateVisual",e,t))},updateLayout:function(t){var e=this._model;e&&(c.call(this,e,t),o.call(this,Ai,e,t))},highlight:function(t){a.call(this,Ci,t)},downplay:function(t){a.call(this,Ti,t)},prepareAndUpdate:function(t){var e=this._model;s.call(this,"component",e),s.call(this,"chart",e),W[Li].call(this,t)}};q[ji]=function(t){this[Z]=!0,this._zr[ji](t);var e=this._model&&this._model.resetOption("media");W[e?"prepareAndUpdate":Li].call(this),this._loadingFX&&this._loadingFX[ji](),this[Z]=!1,this._flushPendingActions()},q.showLoading=function(t,e){if(L[Si](t)&&(e=t,t=""),t=t||"default",this.hideLoading(),J[t]){var i=J[t](this._api,e),n=this._zr;this._loadingFX=i,n.add(i)}},q.hideLoading=function(){this._loadingFX&&this._zr[Mi](this._loadingFX),this._loadingFX=null},q.makeActionFromEvent=function(t){var e=L[wi]({},t);return e.type=j[t.type],e},q[bi]=function(t,e){var i=X[t.type];if(i){var n=i.actionInfo,r=n[Li]||Li;if(this[Z])return void this._pendingActions.push(t);this[Z]=!0;var a=[t],o=!1;t.batch&&(o=!0,a=L.map(t.batch,function(e){return e=L[xi](L[wi]({},e),t),e.batch=null,e}));for(var s,l=[],u=t.type===Ci||t.type===Ti,c=0;c=i)){var n=r.quantity(i),a=t/i*n;for(.5>=a&&(n*=10);!isNaN(n)&&Math.abs(n)<1&&Math.abs(n)>0;)n*=10;var o=[r.round(h(e[0]/n)*n),r.round(c(e[1]/n)*n)];this._interval=n,this._niceExtent=o}},niceExtent:function(t,e,i){s.niceExtent.call(this,t,e,i);var n=this._originalScale;n.__fixMin=e,n.__fixMax=i}});return i.each([Ie,"normalize"],function(t){p[Qi][t]=function(e){return e=f(e)/f(this.base),o[t].call(this,e)}}),p[ki]=function(){return new p},p}),e("echarts/scale/Time",[an,nn,Ve,"../util/format","./Interval"],function(t){var e=t(nn),i=t(Ve),n=t("../util/format"),r=t("./Interval"),a=r[Qi],o=Math.ceil,s=Math.floor,l=1e3,u=60*l,c=60*u,h=24*c,d=function(t,e,i,n){for(;n>i;){var r=i+n>>>1;t[r][2]=10)}}var e={};return e=typeof navigator===ke?{browser:{},os:{},node:!0,canvasSupported:!0}:t(navigator.userAgent)}),e("echarts/model/Global",[an,nn,"../util/model","./Model","./Component","./globalDefault","./mixin/colorPalette"],function(t){function e(t,e){u.each(e,function(e,i){y.hasClass(i)||("object"==typeof e?t[i]=t[i]?u.merge(t[i],e,!1):u.clone(e):null==t[i]&&(t[i]=e))})}function i(t){t=t,this[Pe]={},this[Pe][x]=1,this._componentsMap={},this._seriesIndices=null,e(t,this._theme[Pe]),u.merge(t,_,!1),this[Ae](t)}function n(t,e){u[ri](e)||(e=e?[e]:[]);var i={};return d(e,function(e){i[e]=(t[e]||[]).slice()}),i}function r(t,e){var i={};d(e,function(t){var e=t.exist;e&&(i[e.id]=t)}),d(e,function(e){var n=e[Pe];if(u.assert(!n||null==n.id||!i[n.id]||i[n.id]===e,"id duplicates: "+(n&&n.id)),n&&null!=n.id&&(i[n.id]=e),g(n)){var r=a(t,n,e.exist);e.keyInfo={mainType:t,subType:r}}}),d(e,function(t){var e=t.exist,n=t[Pe],r=t.keyInfo;if(g(n)){if(r.name=null!=n.name?n.name+"":e?e.name:"\x00-",e)r.id=e.id;else if(null!=n.id)r.id=n.id+"";else{var a=0;do r.id="\x00"+r.name+"\x00"+a++;while(i[r.id])}i[r.id]=t}})}function a(t,e,i){var n=e.type?e.type:i?i.subType:y.determineSubType(t,e);return n}function o(t){return p(t,function(t){return t[Te]})||[]}function s(t,e){return e.hasOwnProperty("subType")?f(t,function(t){return t.subType===e.subType}):t}function l(t){}var u=t(nn),c=t("../util/model"),h=t("./Model"),d=u.each,f=u[Ke],p=u.map,v=u[ri],m=u[Ri],g=u[Si],y=t("./Component"),_=t("./globalDefault"),x="\x00_ec_inner",b=h[wi]({constructor:b,init:function(t,e,i,n){i=i||{},this[Pe]=null,this._theme=new h(i),this._optionManager=n},setOption:function(t,e){u.assert(!(x in t),"please use chart.getOption()"),this._optionManager.setOption(t,e),this.resetOption()},resetOption:function(t){var e=!1,n=this._optionManager;if(!t||"recreate"===t){var r=n.mountOption("recreate"===t);this[Pe]&&"recreate"!==t?(this.restoreData(),this[Ae](r)):i.call(this,r),e=!0}if(("timeline"===t||"media"===t)&&this.restoreData(),!t||"recreate"===t||"timeline"===t){var a=n.getTimelineOption(this);a&&(this[Ae](a),e=!0)}if(!t||"recreate"===t||"media"===t){var o=n.getMediaOption(this,this._api);o[Ei]&&d(o,function(t){this[Ae](t,e=!0)},this)}return e},mergeOption:function(t){function e(e,s){var l=c.normalizeToArray(t[e]),h=c.mappingToExists(a[e],l);r(e,h);var f=n(a,s);i[e]=[],a[e]=[],d(h,function(t,n){var r=t.exist,o=t[Pe];if(u.assert(g(o)||r,"Empty component definition"),o){var s=y.getClass(e,t.keyInfo.subType,!0);if(r&&r instanceof s)r.name=t.keyInfo.name,r[Ae](o,this),r.optionUpdated(o,!1);else{var l=u[wi]({dependentModels:f,componentIndex:n},t.keyInfo);r=new s(o,this,this,l),u[wi](r,l),r.init(o,this,this,l),r.optionUpdated(null,!0)}}else r[Ae]({},this),r.optionUpdated({},!1);a[e][n]=r,i[e][n]=r[Pe]},this),e===yi&&(this._seriesIndices=o(a[yi]))}var i=this[Pe],a=this._componentsMap,s=[];d(t,function(t,e){null!=t&&(y.hasClass(e)?s.push(e):i[e]=null==i[e]?u.clone(t):u.merge(i[e],t,!0))}),y.topologicalTravel(s,y.getAllClassMainTypes(),e,this),this._seriesIndices=this._seriesIndices||[]},getOption:function(){var t=u.clone(this[Pe]); -return d(t,function(e,i){if(y.hasClass(i)){for(var e=c.normalizeToArray(e),n=e[Ei]-1;n>=0;n--)c.isIdInner(e[n])&&e[mi](n,1);t[i]=e}}),delete t[x],t},getTheme:function(){return this._theme},getComponent:function(t,e){var i=this._componentsMap[t];return i?i[e||0]:void 0},queryComponents:function(t){var e=t.mainType;if(!e)return[];var i=t.index,n=t.id,r=t.name,a=this._componentsMap[e];if(!a||!a[Ei])return[];var o;if(null!=i)v(i)||(i=[i]),o=f(p(i,function(t){return a[t]}),function(t){return!!t});else if(null!=n){var l=v(n);o=f(a,function(t){return l&&m(n,t.id)>=0||!l&&t.id===n})}else if(null!=r){var u=v(r);o=f(a,function(t){return u&&m(r,t.name)>=0||!u&&t.name===r})}else o=a;return s(o,t)},findComponents:function(t){function e(t){var e=r+"Index",i=r+"Id",n=r+"Name";return t&&(t.hasOwnProperty(e)||t.hasOwnProperty(i)||t.hasOwnProperty(n))?{mainType:r,index:t[e],id:t[i],name:t[n]}:null}function i(e){return t[Ke]?f(e,t[Ke]):e}var n=t.query,r=t.mainType,a=e(n),o=a?this[Ce](a):this._componentsMap[r];return i(s(o,t))},eachComponent:function(t,e,i){var n=this._componentsMap;if(typeof t===ni)i=e,e=t,d(n,function(t,n){d(t,function(t,r){e.call(i,n,t,r)})});else if(u[Ye](t))d(n[t],e,i);else if(g(t)){var r=this.findComponents(t);d(r,e,i)}},getSeriesByName:function(t){var e=this._componentsMap[yi];return f(e,function(e){return e.name===t})},getSeriesByIndex:function(t){return this._componentsMap[yi][t]},getSeriesByType:function(t){var e=this._componentsMap[yi];return f(e,function(e){return e.subType===t})},getSeries:function(){return this._componentsMap[yi].slice()},eachSeries:function(t,e){l(this),d(this._seriesIndices,function(i){var n=this._componentsMap[yi][i];t.call(e,n,i)},this)},eachRawSeries:function(t,e){d(this._componentsMap[yi],t,e)},eachSeriesByType:function(t,e,i){l(this),d(this._seriesIndices,function(n){var r=this._componentsMap[yi][n];r.subType===t&&e.call(i,r,n)},this)},eachRawSeriesByType:function(t,e,i){return d(this.getSeriesByType(t),e,i)},isSeriesFiltered:function(t){return l(this),u[Ri](this._seriesIndices,t[Te])<0},filterSeries:function(t,e){l(this);var i=f(this._componentsMap[yi],t,e);this._seriesIndices=o(i)},restoreData:function(){var t=this._componentsMap;this._seriesIndices=o(t[yi]);var e=[];d(t,function(t,i){e.push(i)}),y.topologicalTravel(e,y.getAllClassMainTypes(),function(e){d(t[e],function(t){t.restoreData()})})}});return u.mixin(b,t("./mixin/colorPalette")),b}),e("echarts/ExtensionAPI",[an,nn],function(t){function e(t){i.each(n,function(e){this[e]=i.bind(t[e],t)},this)}var i=t(nn),n=["getDom","getZr",Wi,qi,bi,"isDisposed","on","off","getDataURL","getConnectedDataURL",Ui,"getOption"];return e}),e("echarts/CoordinateSystem",[an,nn],function(t){function e(){this._coordinateSystems=[]}var i=t(nn),n={};return e[Qi]={constructor:e,create:function(t,e){var r=[];i.each(n,function(i){var n=i[ki](t,e);r=r[Se](n||[])}),this._coordinateSystems=r},update:function(t,e){i.each(this._coordinateSystems,function(i){i[Li]&&i[Li](t,e)})},getCoordinateSystems:function(){return this._coordinateSystems.slice()}},e[ei]=function(t,e){n[t]=e},e.get=function(t){return n[t]},e}),e("echarts/model/Component",[an,"./Model",nn,"../util/component","../util/clazz","../util/layout","./mixin/boxLayout"],function(t){function e(t){var e=[];return n.each(l.getClassesByMainType(t),function(t){r.apply(e,t[Qi].dependencies||[])}),n.map(e,function(t){return o.parseClassType(t).main})}var i=t("./Model"),n=t(nn),r=Array[Qi].push,a=t("../util/component"),o=t("../util/clazz"),s=t("../util/layout"),l=i[wi]({type:"component",id:"",name:"",mainType:"",subType:"",componentIndex:0,defaultOption:null,ecModel:null,dependentModels:[],uid:null,layoutMode:null,$constructor:function(t,e,n,r){i.call(this,t,e,n,r),this.uid=a.getUID("componentModel")},init:function(t,e,i){this[Me](t,i)},mergeDefaultAndTheme:function(t,e){var i=this.layoutMode,r=i?s.getLayoutParams(t):{},a=e.getTheme();n.merge(t,a.get(this.mainType)),n.merge(t,this.getDefaultOption()),i&&s.mergeLayoutParam(t,r,i)},mergeOption:function(t){n.merge(this[Pe],t,!0);var e=this.layoutMode;e&&s.mergeLayoutParam(this[Pe],t,e)},optionUpdated:function(){},getDefaultOption:function(){if(!this.hasOwnProperty("__defaultOption")){for(var t=[],e=this.constructor;e;){var i=e[Qi].defaultOption;i&&t.push(i),e=e.superClass}for(var r={},a=t[Ei]-1;a>=0;a--)r=n.merge(r,t[a],!0);this.__defaultOption=r}return this.__defaultOption},getReferringComponents:function(t){return this[we][Ce]({mainType:t,index:this.get(t+"Index",!0),id:this.get(t+"Id",!0)})}});return o.enableClassManagement(l,{registerWhenExtend:!0}),a.enableSubTypeDefaulter(l),a.enableTopologicalTravel(l,e),n.mixin(l,t("./mixin/boxLayout")),l}),e("echarts/view/Component",[an,"zrender/container/Group","../util/component","../util/clazz"],function(t){var e=t("zrender/container/Group"),i=t("../util/component"),n=t("../util/clazz"),r=function(){this.group=new e,this.uid=i.getUID("viewComponent")};r[Qi]={constructor:r,init:function(){},render:function(){},dispose:function(){}};var a=r[Qi];return a.updateView=a[Ai]=a.updateVisual=function(){},n.enableClassExtend(r),n.enableClassManagement(r,{registerWhenExtend:!0}),r}),e("echarts/model/OptionManager",[an,nn,"../util/model","./Component"],function(t){function e(t){this._api=t,this._timelineOptions=[],this._mediaList=[],this._mediaDefault,this._currentMediaIndices=[],this._optionBackup,this._newBaseOption}function i(t,e,i){var n,r,a=[],o=[],l=t.timeline;if(t.baseOption&&(r=t.baseOption),(l||t.options)&&(r=r||{},a=(t.options||[]).slice()),t.media){r=r||{};var u=t.media;c(u,function(t){t&&t[Pe]&&(t.query?o.push(t):n||(n=t))})}return r||(r=t),r.timeline||(r.timeline=l),c([r][Se](a)[Se](s.map(o,function(t){return t[Pe]})),function(t){c(e,function(e){e(t,i)})}),{baseOption:r,timelineOptions:a,mediaDefault:n,mediaList:o}}function n(t,e,i){var n={width:e,height:i,aspectratio:e/i},a=!0;return s.each(t,function(t,e){var i=e.match(p);if(i&&i[1]&&i[2]){var o=i[1],s=i[2][Ji]();r(n[s],t,o)||(a=!1)}}),a}function r(t,e,i){return"min"===i?t>=e:"max"===i?e>=t:t===e}function a(t,e){return t.join(",")===e.join(",")}function o(t,e){e=e||{},c(e,function(e,i){if(null!=e){var n=t[i];if(u.hasClass(i)){e=l.normalizeToArray(e),n=l.normalizeToArray(n);var r=l.mappingToExists(n,e);t[i]=d(r,function(t){return t[Pe]&&t.exist?f(t.exist,t[Pe],!0):t.exist||t[Pe]})}else t[i]=f(n,e,!0)}})}var s=t(nn),l=t("../util/model"),u=t("./Component"),c=s.each,h=s.clone,d=s.map,f=s.merge,p=/^(min|max)?(.+)$/;return e[Qi]={constructor:e,setOption:function(t,e){t=h(t,!0);var n=this._optionBackup,r=i.call(this,t,e,!n);this._newBaseOption=r.baseOption,n?(o(n.baseOption,r.baseOption),r.timelineOptions[Ei]&&(n.timelineOptions=r.timelineOptions),r.mediaList[Ei]&&(n.mediaList=r.mediaList),r.mediaDefault&&(n.mediaDefault=r.mediaDefault)):this._optionBackup=r},mountOption:function(t){var e=this._optionBackup;return this._timelineOptions=d(e.timelineOptions,h),this._mediaList=d(e.mediaList,h),this._mediaDefault=h(e.mediaDefault),this._currentMediaIndices=[],h(t?e.baseOption:this._newBaseOption)},getTimelineOption:function(t){var e,i=this._timelineOptions;if(i[Ei]){var n=t.getComponent("timeline");n&&(e=h(i[n.getCurrentIndex()],!0))}return e},getMediaOption:function(){var t=this._api[Wi](),e=this._api[qi](),i=this._mediaList,r=this._mediaDefault,o=[],s=[];if(!i[Ei]&&!r)return s;for(var l=0,u=i[Ei];u>l;l++)n(i[l].query,t,e)&&o.push(l);return!o[Ei]&&r&&(o=[-1]),o[Ei]&&!a(o,this._currentMediaIndices)&&(s=d(o,function(t){return h(-1===t?r[Pe]:i[t][Pe])})),this._currentMediaIndices=o,s}},e}),e("echarts/model/Series",[an,nn,"../util/format","../util/model","./Component","./mixin/colorPalette",rn],function(t){var e=t(nn),i=t("../util/format"),n=t("../util/model"),r=t("./Component"),a=t("./mixin/colorPalette"),o=t(rn),s=i.encodeHTML,l=i.addCommas,u=r[wi]({type:"series.__base__",seriesIndex:0,coordinateSystem:null,defaultOption:null,legendDataProvider:null,visualColorAccessPath:"itemStyle.normal.color",init:function(t,e,i){this[ci]=this[Te],this[Me](t,i),this._dataBeforeProcessed=this.getInitialData(t,i),this._data=this._dataBeforeProcessed.cloneShallow()},mergeDefaultAndTheme:function(t,i){e.merge(t,i.getTheme().get(this.subType)),e.merge(t,this.getDefaultOption()),n.defaultEmphasis(t.label,n.LABEL_OPTIONS),this.fillDataTextStyle(t.data)},mergeOption:function(t,i){t=e.merge(this[Pe],t,!0),this.fillDataTextStyle(t.data);var n=this.getInitialData(t,i);n&&(this._data=n,this._dataBeforeProcessed=n.cloneShallow())},fillDataTextStyle:function(t){if(t)for(var e=0;e',f=this.name;return"\x00-"===f&&(f=""),n?d+s(this.name)+" : "+u:(f&&s(f)+"
    ")+d+(c?s(c)+" : "+u:u)},ifEnableAnimation:function(){if(o.node)return!1;var t=this[ge](Xi);return t&&this[zi]().count()>this[ge]("animationThreshold")&&(t=!1),t},restoreData:function(){this._data=this._dataBeforeProcessed.cloneShallow()},getColorFromPalette:function(t,e){var i=this[we],n=a.getColorFromPalette.call(this,t,e);return n||(n=i.getColorFromPalette(t,e)),n},getAxisTooltipDataIndex:null,getTooltipPosition:null});return e.mixin(u,n.dataFormatMixin),e.mixin(u,a),u}),e("echarts/view/Chart",[an,"zrender/container/Group","../util/component","../util/clazz","../util/model",nn],function(t){function e(){this.group=new r,this.uid=a.getUID("viewChart")}function i(t,e){if(t&&(t[_i](e),"group"===t.type))for(var n=0;n0?e.animateTo(i,l,c||0,u,a):(e.attr(i),a&&a())}else e.attr(i),a&&a()}var p=t(nn),v=t("zrender/tool/path"),m=Math.round,g=t("zrender/graphic/Path"),y=t(en),_=t("zrender/core/matrix"),x=t(tn),b=(t("zrender/graphic/Gradient"),{});return b.Group=t("zrender/container/Group"),b.Image=t("zrender/graphic/Image"),b.Text=t("zrender/graphic/Text"),b.Circle=t("zrender/graphic/shape/Circle"),b.Sector=t("zrender/graphic/shape/Sector"),b.Ring=t("zrender/graphic/shape/Ring"),b[he]=t("zrender/graphic/shape/Polygon"),b.Polyline=t("zrender/graphic/shape/Polyline"),b.Rect=t("zrender/graphic/shape/Rect"),b.Line=t("zrender/graphic/shape/Line"),b.BezierCurve=t("zrender/graphic/shape/BezierCurve"),b.Arc=t("zrender/graphic/shape/Arc"),b.CompoundPath=t("zrender/graphic/CompoundPath"),b.LinearGradient=t("zrender/graphic/LinearGradient"),b.RadialGradient=t("zrender/graphic/RadialGradient"),b.BoundingRect=t(de),b.extendShape=function(t){return g[wi](t)},b.extendPath=function(t,e){return v.extendFromString(t,e)},b.makePath=function(t,e,i,n){var r=v.createFromString(t,e),a=r[Ze]();if(i){var o=a.width/a[Yi];if(n===Be){var s,l=i[Yi]*o;l<=i.width?s=i[Yi]:(l=i.width,s=l/o);var u=i.x+i.width/2,c=i.y+i[Yi]/2;i.x=u-l/2,i.y=c-s/2,i.width=l,i[Yi]=s}this.resizePath(r,i)}return r},b.mergePath=v.mergePath,b.resizePath=function(t,e){if(t[ce]){var i=t[Ze](),n=i.calculateTransform(e);t[ce](n)}},b.subPixelOptimizeLine=function(t){var e=b.subPixelOptimize,i=t.shape,n=t.style[ue];return m(2*i.x1)===m(2*i.x2)&&(i.x1=i.x2=e(i.x1,n,!0)),m(2*i.y1)===m(2*i.y2)&&(i.y1=i.y2=e(i.y1,n,!0)),t},b.subPixelOptimizeRect=function(t){var e=b.subPixelOptimize,i=t.shape,n=t.style[ue],r=i.x,a=i.y,o=i.width,s=i[Yi];return i.x=e(i.x,n,!0),i.y=e(i.y,n,!0),i.width=Math.max(e(r+o,n,!1)-i.x,0===o?0:1),i[Yi]=Math.max(e(a+s,n,!1)-i.y,0===s?0:1),t},b.subPixelOptimize=function(t,e,i){var n=m(2*t);return(n+m(e))%2===0?n/2:(n+(i?1:-1))/2},b[oe]=function(t,e){"group"===t.type?t[li](function(t){"group"!==t.type&&l(t,e)}):l(t,e),t.on(pi,u).on(fi,c),t.on(me,h).on(ve,d)},b.setText=function(t,e,i){var n=e[ge](Ee)||ae,r=n[Ri](ae)>=0?"white":i,a=e[Ui](We);p[wi](t,{textDistance:e[ge]("distance")||5,textFont:a[Fe](),textPosition:n,textFill:a[Ge]()||r})},b[re]=function(t,e,i,n,r){f(!0,t,e,i,n,r)},b.initProps=function(t,e,i,n,r){f(!1,t,e,i,n,r)},b.getTransform=function(t,e){for(var i=_.identity([]);t&&t!==e;)_.mul(i,t.getLocalTransform(),i),t=t[ne];return i},b[ce]=function(t,e,i){return i&&(e=_.invert([],e)),x[ce]([],t,e)},b.transformDirection=function(t,e,i){var n=0===e[4]||0===e[5]||0===e[0]?1:Math.abs(2*e[4]/e[0]),r=0===e[4]||0===e[5]||0===e[2]?1:Math.abs(2*e[4]/e[2]),a=["left"===t?-n:"right"===t?n:0,"top"===t?-r:t===Bi?r:0];return a=b[ce](a,e,i),Math.abs(a[0])>Math.abs(a[1])?a[0]>0?"right":"left":a[1]>0?Bi:"top"},b.groupTransition=function(t,e,i){function n(t){var e={};return t[li](function(t){!t.isGroup&&t.anid&&(e[t.anid]=t)}),e}function r(t){var e={position:x.clone(t[Ee]),rotation:t[ie]};return t.shape&&(e.shape=p[wi]({},t.shape)),e}if(t&&e){var a=n(t);e[li](function(t){if(!t.isGroup&&t.anid){var e=a[t.anid];if(e){var n=r(t);t.attr(r(e)),b[re](t,n,i,t[Di])}}})}},b}),e("zrender/zrender",[an,"./core/guid","./core/env","./Handler","./Storage","./animation/Animation","./dom/HandlerProxy","./Painter"],function(t){function e(t){delete c[t]}var i=t("./core/guid"),n=t("./core/env"),r=t("./Handler"),a=t("./Storage"),o=t("./animation/Animation"),s=t("./dom/HandlerProxy"),l=!n[Fi],u={canvas:t("./Painter")},c={},h={};h.version="3.2.1",h.init=function(t,e){var n=new d(i(),t,e);return c[n.id]=n,n},h[gi]=function(t){if(t)t[gi]();else{for(var e in c)c.hasOwnProperty(e)&&c[e][gi]();c={}}return h},h.getInstance=function(t){return c[t]},h.registerPainter=function(t,e){u[t]=e};var d=function(t,e,i){i=i||{},this.dom=e,this.id=t;var c=this,h=new a,d=i.renderer;if(l){if(!u.vml)throw new Error("You need to require 'zrender/vml/vml' to support IE8");d="vml"}else d&&u[d]||(d=$i);var f=new u[d](e,h,i);this.storage=h,this.painter=f;var p=n.node?null:new s(f.getViewportRoot());this.handler=new r(h,f,p,f.root),this[Xi]=new o({stage:{update:function(){c._needsRefresh&&c.refreshImmediately(),c._needsRefreshHover&&c.refreshHoverImmediately()}}}),this[Xi].start(),this._needsRefresh;var v=h.delFromMap,m=h.addToMap;h.delFromMap=function(t){var e=h.get(t);v.call(h,t),e&&e.removeSelfFromZr(c)},h.addToMap=function(t){m.call(h,t),t.addSelfToZr(c)}};return d[Qi]={constructor:d,getId:function(){return this.id},add:function(t){this.storage.addRoot(t),this._needsRefresh=!0},remove:function(t){this.storage.delRoot(t),this._needsRefresh=!0},configLayer:function(t,e){this.painter.configLayer(t,e),this._needsRefresh=!0},refreshImmediately:function(){this._needsRefresh=!1,this.painter.refresh(),this._needsRefresh=!1},refresh:function(){this._needsRefresh=!0},addHover:function(t,e){this.painter.addHover&&(this.painter.addHover(t,e),this.refreshHover())},removeHover:function(t){this.painter.removeHover&&(this.painter.removeHover(t),this.refreshHover())},clearHover:function(){this.painter.clearHover&&(this.painter.clearHover(),this.refreshHover())},refreshHover:function(){this._needsRefreshHover=!0},refreshHoverImmediately:function(){this._needsRefreshHover=!1,this.painter.refreshHover&&this.painter.refreshHover()},resize:function(t){t=t||{},this.painter[ji](t.width,t[Yi]),this.handler[ji]()},clearAnimation:function(){this[Xi].clear()},getWidth:function(){return this.painter[Wi]()},getHeight:function(){return this.painter[qi]()},pathToImage:function(t,e,n){var r=i();return this.painter.pathToImage(r,t,e,n)},setCursorStyle:function(t){this.handler.setCursorStyle(t)},on:function(t,e,i){this.handler.on(t,e,i)},off:function(t,e){this.handler.off(t,e)},trigger:function(t,e){this.handler[_i](t,e)},clear:function(){this.storage.delRoot(),this.painter.clear()},dispose:function(){this[Xi].stop(),this.clear(),this.storage[gi](),this.painter[gi](),this.handler[gi](),this[Xi]=this.storage=this.painter=this.handler=null,e(this.id)}},h}),e("echarts/util/model",[an,"./format","./number","../model/Model",nn],function(t){function e(t,e){return t&&t.hasOwnProperty(e)}var i=t("./format"),n=t("./number"),r=t("../model/Model"),a=t(nn),o={};return o.normalizeToArray=function(t){return t instanceof Array?t:null==t?[]:[t]},o.defaultEmphasis=function(t,e){if(t){var i=t[me]=t[me]||{},n=t[ve]=t[ve]||{};a.each(e,function(t){var e=a[ee](i[t],n[t]);null!=e&&(i[t]=e)})}},o.LABEL_OPTIONS=[Ee,"show",We,"distance","formatter"],o.getDataItemValue=function(t){return t&&(null==t.value?t:t.value)},o.isDataItemOption=function(t){return a[Si](t)&&!(t instanceof Array)},o.converDataValue=function(t,e){var i=e&&e.type;return i===xe?t:("time"!==i||isFinite(t)||null==t||"-"===t||(t=+n.parseDate(t)),null==t||""===t?0/0:+t)},o.createDataFormatModel=function(t,e){var i=new r;return a.mixin(i,o.dataFormatMixin),i[ci]=e[ci],i.name=e.name||"",i.mainType=e.mainType,i.subType=e.subType,i[zi]=function(){return t},i},o.dataFormatMixin={getDataParams:function(t,e){var i=this[zi](e),n=this[ci],r=this.name,a=this[_e](t,e),o=i.getRawIndex(t),s=i[ye](t,!0),l=i.getRawDataItem(t);return{componentType:this.mainType,componentSubType:this.subType,seriesType:this.mainType===yi?this.subType:null,seriesIndex:n,seriesName:r,name:s,dataIndex:o,data:l,dataType:e,value:a,color:i[Ii](t,"color"),$vars:["seriesName","name","value"]}},getFormattedLabel:function(t,e,n,r){e=e||ve;var a=this[zi](n),o=a[te](t),s=this[ui](t,n);null!=r&&s.value instanceof Array&&(s.value=s.value[r]);var l=o.get(["label",e,"formatter"]);return typeof l===ni?(s.status=e,l(s)):typeof l===Ki?i.formatTpl(l,s):void 0},getRawValue:function(t,e){var i=this[zi](e),n=i.getRawDataItem(t);return null!=n?!a[Si](n)||n instanceof Array?n:n.value:void 0},formatTooltip:a.noop},o.mappingToExists=function(t,e){e=(e||[]).slice();var i=a.map(t||[],function(t){return{exist:t}});return a.each(e,function(t,n){if(a[Si](t)){for(var r=0;r=i[Ei]&&i.push({option:t})}}),i},o.isIdInner=function(t){return a[Si](t)&&t.id&&0===(t.id+"")[Ri]("\x00_ec_\x00")},o.compressBatches=function(t,e){function i(t,e,i){for(var n=0,r=t[Ei];r>n;n++)for(var a=t[n].seriesId,s=o.normalizeToArray(t[n][Di]),l=i&&i[a],u=0,c=s[Ei];c>u;u++){var h=s[u];l&&l[h]?l[h]=null:(e[a]||(e[a]={}))[h]=1}}function n(t,e){var i=[];for(var r in t)if(t.hasOwnProperty(r)&&null!=t[r])if(e)i.push(+r);else{var a=n(t[r],!0);a[Ei]&&i.push({seriesId:r,dataIndex:a})}return i}var r={},a={};return i(t||[],r),i(e||[],a,r),[n(r),n(a)]},o.queryDataIndex=function(t,e){return null!=e.dataIndexInside?e.dataIndexInside:null!=e[Di]?a[ri](e[Di])?a.map(e[Di],function(e){return t.indexOfRawIndex(e)}):t.indexOfRawIndex(e[Di]):null!=e.name?a[ri](e.name)?a.map(e.name,function(e){return t.indexOfName(e)}):t.indexOfName(e.name):void 0},o.parseFinder=function(t,i,n){if(a[Ye](i)){var r={};r[i+"Index"]=0,i=r}var o=n&&n.defaultMainType;!o||e(i,o+"Index")||e(i,o+"Id")||e(i,o+"Name")||(i[o+"Index"]=0);var s={};return a.each(i,function(e,n){var e=i[n];if(n===Di||"dataIndexInside"===n)return void(s[n]=e);var r=n.match(/^(\w+)(Index|Id|Name)$/)||[],a=r[1],o=r[2];if(a&&o){var l={mainType:a};l[o[Ji]()]=e;var u=t[Ce](l);s[a+"Models"]=u,s[a+"Model"]=u[0]}}),s},o}),e(nn,[an],function(){function t(e){if("object"==typeof e&&null!==e){var i=e;if(e instanceof Array){i=[];for(var n=0,r=e[Ei];r>n;n++)i[n]=t(e[n])}else if(!w(e)&&!M(e)){i={};for(var a in e)e.hasOwnProperty(a)&&(i[a]=t(e[a]))}return i}return e}function e(i,n,r){if(!b(n)||!b(i))return r?t(n):i;for(var a in n)if(n.hasOwnProperty(a)){var o=i[a],s=n[a];!b(s)||!b(o)||y(s)||y(o)||M(s)||M(o)||w(s)||w(o)?!r&&a in i||(i[a]=t(n[a],!0)):e(o,s,r)}return i}function i(t,i){for(var n=t[0],r=1,a=t[Ei];a>r;r++)n=e(n,t[r],i);return n}function n(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);return t}function r(t,e,i){for(var n in e)e.hasOwnProperty(n)&&(i?null!=e[n]:null==t[n])&&(t[n]=e[n]);return t}function a(){return document.createElement($i)}function o(){return A||(A=R.createCanvas()[Le]("2d")),A}function s(t,e){if(t){if(t[Ri])return t[Ri](e);for(var i=0,n=t[Ei];n>i;i++)if(t[i]===e)return i}return-1}function l(t,e){function i(){}var n=t[Qi];i[Qi]=e[Qi],t[Qi]=new i;for(var r in n)t[Qi][r]=n[r];t[Qi].constructor=t,t.superClass=e}function u(t,e,i){t=Qi in t?t[Qi]:t,e=Qi in e?e[Qi]:e,r(t,e,i)}function c(t){return t?typeof t==Ki?!1:typeof t[Ei]==Qe:void 0}function h(t,e,i){if(t&&e)if(t.forEach&&t.forEach===I)t.forEach(e,i);else if(t[Ei]===+t[Ei])for(var n=0,r=t[Ei];r>n;n++)e.call(i,t[n],n,t);else for(var a in t)t.hasOwnProperty(a)&&e.call(i,t[a],a,t)}function d(t,e,i){if(t&&e){if(t.map&&t.map===O)return t.map(e,i);for(var n=[],r=0,a=t[Ei];a>r;r++)n.push(e.call(i,t[r],r,t));return n}}function f(t,e,i,n){if(t&&e){if(t.reduce&&t.reduce===V)return t.reduce(e,i,n);for(var r=0,a=t[Ei];a>r;r++)i=e.call(n,i,t[r],r,t);return i}}function p(t,e,i){if(t&&e){if(t[Ke]&&t[Ke]===D)return t[Ke](e,i);for(var n=[],r=0,a=t[Ei];a>r;r++)e.call(i,t[r],r,t)&&n.push(t[r]);return n}}function v(t,e,i){if(t&&e)for(var n=0,r=t[Ei];r>n;n++)if(e.call(i,t[n],n,t))return t[n]}function m(t,e){var i=z.call(arguments,2);return function(){return t.apply(e,i[Se](z.call(arguments)))}}function g(t){var e=z.call(arguments,1);return function(){return t.apply(this,e[Se](z.call(arguments)))}}function y(t){return"[object Array]"===L.call(t)}function _(t){return typeof t===ni}function x(t){return"[object String]"===L.call(t)}function b(t){var e=typeof t;return e===ni||!!t&&"object"==e}function w(t){return!!P[L.call(t)]}function M(t){return t&&1===t.nodeType&&typeof t.nodeName==Ki}function S(){for(var t=0,e=arguments[Ei];e>t;t++)if(null!=arguments[t])return arguments[t]}function T(){return Function.call.apply(z,arguments)}function C(t,e){if(!t)throw new Error(e)}var A,P={"[object Function]":1,"[object RegExp]":1,"[object Date]":1,"[object Error]":1,"[object CanvasGradient]":1,"[object CanvasPattern]":1,"[object Image]":1},L=Object[Qi].toString,k=Array[Qi],I=k.forEach,D=k[Ke],z=k.slice,O=k.map,V=k.reduce,R={inherits:l,mixin:u,clone:t,merge:e,mergeAll:i,extend:n,defaults:r,getContext:o,createCanvas:a,indexOf:s,slice:T,find:v,isArrayLike:c,each:h,map:d,reduce:f,filter:p,bind:m,curry:g,isArray:y,isString:x,isObject:b,isFunction:_,isBuildInObject:w,isDom:M,retrieve:S,assert:C,noop:function(){}};return R}),e(en,[an],function(){function t(t){return t=Math.round(t),0>t?0:t>255?255:t}function e(t){return t=Math.round(t),0>t?0:t>360?360:t}function i(t){return 0>t?0:t>1?1:t}function n(e){return t(e[Ei]&&"%"===e.charAt(e[Ei]-1)?parseFloat(e)/100*255:parseInt(e,10))}function r(t){return i(t[Ei]&&"%"===t.charAt(t[Ei]-1)?parseFloat(t)/100:parseFloat(t))}function a(t,e,i){return 0>i?i+=1:i>1&&(i-=1),1>6*i?t+(e-t)*i*6:1>2*i?e:2>3*i?t+(e-t)*(2/3-i)*6:t}function o(t,e,i){return t+(e-t)*i}function s(t){if(t){t+="";var e=t[ai](/ /g,"")[Ji]();if(e in g)return g[e].slice();if("#"!==e.charAt(0)){var i=e[Ri]("("),a=e[Ri](")");if(-1!==i&&a+1===e[Ei]){var o=e.substr(0,i),s=e.substr(i+1,a-(i+1)).split(","),u=1;switch(o){case"rgba":if(4!==s[Ei])return;u=r(s.pop());case"rgb":if(3!==s[Ei])return;return[n(s[0]),n(s[1]),n(s[2]),u];case"hsla":if(4!==s[Ei])return;return s[3]=r(s[3]),l(s);case"hsl":if(3!==s[Ei])return;return l(s);default:return}}}else{if(4===e[Ei]){var c=parseInt(e.substr(1),16);if(!(c>=0&&4095>=c))return;return[(3840&c)>>4|(3840&c)>>8,240&c|(240&c)>>4,15&c|(15&c)<<4,1]}if(7===e[Ei]){var c=parseInt(e.substr(1),16);if(!(c>=0&&16777215>=c))return;return[(16711680&c)>>16,(65280&c)>>8,255&c,1]}}}}function l(e){var i=(parseFloat(e[0])%360+360)%360/360,n=r(e[1]),o=r(e[2]),s=.5>=o?o*(n+1):o+n-o*n,l=2*o-s,u=[t(255*a(l,s,i+1/3)),t(255*a(l,s,i)),t(255*a(l,s,i-1/3))];return 4===e[Ei]&&(u[3]=e[3]),u}function u(t){if(t){var e,i,n=t[0]/255,r=t[1]/255,a=t[2]/255,o=Math.min(n,r,a),s=Math.max(n,r,a),l=s-o,u=(s+o)/2;if(0===l)e=0,i=0;else{i=.5>u?l/(s+o):l/(2-s-o);var c=((s-n)/6+l/2)/l,h=((s-r)/6+l/2)/l,d=((s-a)/6+l/2)/l;n===s?e=d-h:r===s?e=1/3+c-d:a===s&&(e=2/3+h-c),0>e&&(e+=1),e>1&&(e-=1)}var f=[360*e,i,u];return null!=t[3]&&f.push(t[3]),f}}function c(t,e){var i=s(t);if(i){for(var n=0;3>n;n++)i[n]=0>e?i[n]*(1-e)|0:(255-i[n])*e+i[n]|0;return m(i,4===i[Ei]?"rgba":"rgb")}}function h(t){var e=s(t);return e?((1<<24)+(e[0]<<16)+(e[1]<<8)+ +e[2]).toString(16).slice(1):void 0}function d(e,i,n){if(i&&i[Ei]&&e>=0&&1>=e){n=n||[0,0,0,0];var r=e*(i[Ei]-1),a=Math.floor(r),s=Math.ceil(r),l=i[a],u=i[s],c=r-a;return n[0]=t(o(l[0],u[0],c)),n[1]=t(o(l[1],u[1],c)),n[2]=t(o(l[2],u[2],c)),n[3]=t(o(l[3],u[3],c)),n}}function f(e,n,r){if(n&&n[Ei]&&e>=0&&1>=e){var a=e*(n[Ei]-1),l=Math.floor(a),u=Math.ceil(a),c=s(n[l]),h=s(n[u]),d=a-l,f=m([t(o(c[0],h[0],d)),t(o(c[1],h[1],d)),t(o(c[2],h[2],d)),i(o(c[3],h[3],d))],"rgba");return r?{color:f,leftIndex:l,rightIndex:u,value:a}:f}}function p(t,i,n,a){return t=s(t),t?(t=u(t),null!=i&&(t[0]=e(i)),null!=n&&(t[1]=r(n)),null!=a&&(t[2]=r(a)),m(l(t),"rgba")):void 0}function v(t,e){return t=s(t),t&&null!=e?(t[3]=i(e),m(t,"rgba")):void 0}function m(t,e){var i=t[0]+","+t[1]+","+t[2];return("rgba"===e||"hsva"===e||"hsla"===e)&&(i+=","+t[3]),e+"("+i+")"}var g={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]};return{parse:s,lift:c,toHex:h,fastMapToColor:d,mapToColor:f,modifyHSL:p,modifyAlpha:v,stringify:m} -}),e("zrender/mixin/Eventful",[an],function(){var t=Array[Qi].slice,e=function(){this._$handlers={}};return e[Qi]={constructor:e,one:function(t,e,i){var n=this._$handlers;if(!e||!t)return this;n[t]||(n[t]=[]);for(var r=0;rr;r++)i[t][r].h!=e&&n.push(i[t][r]);i[t]=n}i[t]&&0===i[t][Ei]&&delete i[t]}else delete i[t];return this},trigger:function(e){if(this._$handlers[e]){var i=arguments,n=i[Ei];n>3&&(i=t.call(i,1));for(var r=this._$handlers[e],a=r[Ei],o=0;a>o;){switch(n){case 1:r[o].h.call(r[o].ctx);break;case 2:r[o].h.call(r[o].ctx,i[1]);break;case 3:r[o].h.call(r[o].ctx,i[1],i[2]);break;default:r[o].h.apply(r[o].ctx,i)}r[o].one?(r[mi](o,1),a--):o++}}return this},triggerWithContext:function(e){if(this._$handlers[e]){var i=arguments,n=i[Ei];n>4&&(i=t.call(i,1,i[Ei]-1));for(var r=i[i[Ei]-1],a=this._$handlers[e],o=a[Ei],s=0;o>s;){switch(n){case 1:a[s].h.call(r);break;case 2:a[s].h.call(r,i[1]);break;case 3:a[s].h.call(r,i[1],i[2]);break;default:a[s].h.apply(r,i)}a[s].one?(a[mi](s,1),o--):s++}}return this}},e}),e("zrender/core/timsort",[],function(){function t(t){for(var e=0;t>=l;)e|=1&t,t>>=1;return t+e}function e(t,e,n,r){var a=e+1;if(a===n)return 1;if(r(t[a++],t[e])<0){for(;n>a&&r(t[a],t[a-1])<0;)a++;i(t,e,a)}else for(;n>a&&r(t[a],t[a-1])>=0;)a++;return a-e}function i(t,e,i){for(i--;i>e;){var n=t[e];t[e++]=t[i],t[i--]=n}}function n(t,e,i,n,r){for(n===e&&n++;i>n;n++){for(var a,o=t[n],s=e,l=n;l>s;)a=s+l>>>1,r(o,t[a])<0?l=a:s=a+1;var u=n-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]=o}}function r(t,e,i,n,r,a){var o=0,s=0,l=1;if(a(t,e[i+r])>0){for(s=n-r;s>l&&a(t,e[i+r+l])>0;)o=l,l=(l<<1)+1,0>=l&&(l=s);l>s&&(l=s),o+=r,l+=r}else{for(s=r+1;s>l&&a(t,e[i+r-l])<=0;)o=l,l=(l<<1)+1,0>=l&&(l=s);l>s&&(l=s);var u=o;o=r-l,l=r-u}for(o++;l>o;){var c=o+(l-o>>>1);a(t,e[i+c])>0?o=c+1:l=c}return l}function a(t,e,i,n,r,a){var o=0,s=0,l=1;if(a(t,e[i+r])<0){for(s=r+1;s>l&&a(t,e[i+r-l])<0;)o=l,l=(l<<1)+1,0>=l&&(l=s);l>s&&(l=s);var u=o;o=r-l,l=r-u}else{for(s=n-r;s>l&&a(t,e[i+r+l])>=0;)o=l,l=(l<<1)+1,0>=l&&(l=s);l>s&&(l=s),o+=r,l+=r}for(o++;l>o;){var c=o+(l-o>>>1);a(t,e[i+c])<0?l=c:o=c+1}return l}function o(t,e){function i(t,e){d[y]=t,f[y]=e,y+=1}function n(){for(;y>1;){var t=y-2;if(t>=1&&f[t-1]<=f[t]+f[t+1]||t>=2&&f[t-2]<=f[t]+f[t-1])f[t-1]f[t+1])break;s(t)}}function o(){for(;y>1;){var t=y-2;t>0&&f[t-1]=o?l(n,o,s,u):h(n,o,s,u)))}function l(i,n,o,s){var l=0;for(l=0;n>l;l++)_[l]=t[i+l];var c=0,h=o,d=i;if(t[d++]=t[h++],0!==--s){if(1===n){for(l=0;s>l;l++)t[d+l]=t[h+l];return void(t[d+s]=_[c])}for(var f,v,m,g=p;;){f=0,v=0,m=!1;do if(e(t[h],_[c])<0){if(t[d++]=t[h++],v++,f=0,0===--s){m=!0;break}}else if(t[d++]=_[c++],f++,v=0,1===--n){m=!0;break}while(g>(f|v));if(m)break;do{if(f=a(t[h],_,c,n,0,e),0!==f){for(l=0;f>l;l++)t[d+l]=_[c+l];if(d+=f,c+=f,n-=f,1>=n){m=!0;break}}if(t[d++]=t[h++],0===--s){m=!0;break}if(v=r(_[c],t,h,s,0,e),0!==v){for(l=0;v>l;l++)t[d+l]=t[h+l];if(d+=v,h+=v,s-=v,0===s){m=!0;break}}if(t[d++]=_[c++],1===--n){m=!0;break}g--}while(f>=u||v>=u);if(m)break;0>g&&(g=0),g+=2}if(p=g,1>p&&(p=1),1===n){for(l=0;s>l;l++)t[d+l]=t[h+l];t[d+s]=_[c]}else{if(0===n)throw new Error;for(l=0;n>l;l++)t[d+l]=_[c+l]}}else for(l=0;n>l;l++)t[d+l]=_[c+l]}function h(i,n,o,s){var l=0;for(l=0;s>l;l++)_[l]=t[o+l];var c=i+n-1,h=s-1,d=o+s-1,f=0,v=0;if(t[d--]=t[c--],0!==--n){if(1===s){for(d-=n,c-=n,v=d+1,f=c+1,l=n-1;l>=0;l--)t[v+l]=t[f+l];return void(t[d]=_[h])}for(var m=p;;){var g=0,y=0,x=!1;do if(e(_[h],t[c])<0){if(t[d--]=t[c--],g++,y=0,0===--n){x=!0;break}}else if(t[d--]=_[h--],y++,g=0,1===--s){x=!0;break}while(m>(g|y));if(x)break;do{if(g=n-a(_[h],t,i,n,n-1,e),0!==g){for(d-=g,c-=g,n-=g,v=d+1,f=c+1,l=g-1;l>=0;l--)t[v+l]=t[f+l];if(0===n){x=!0;break}}if(t[d--]=_[h--],1===--s){x=!0;break}if(y=s-r(t[c],_,0,s,s-1,e),0!==y){for(d-=y,h-=y,s-=y,v=d+1,f=h+1,l=0;y>l;l++)t[v+l]=_[f+l];if(1>=s){x=!0;break}}if(t[d--]=t[c--],0===--n){x=!0;break}m--}while(g>=u||y>=u);if(x)break;0>m&&(m=0),m+=2}if(p=m,1>p&&(p=1),1===s){for(d-=n,c-=n,v=d+1,f=c+1,l=n-1;l>=0;l--)t[v+l]=t[f+l];t[d]=_[h]}else{if(0===s)throw new Error;for(f=d-(s-1),l=0;s>l;l++)t[f+l]=_[l]}}else for(f=d-(s-1),l=0;s>l;l++)t[f+l]=_[l]}var d,f,p=u,v=0,m=c,g=0,y=0;v=t[Ei],2*c>v&&(m=v>>>1);var _=[];g=120>v?5:1542>v?10:119151>v?19:40,d=[],f=[],this.mergeRuns=n,this.forceMergeRuns=o,this.pushRun=i}function s(i,r,a,s){a||(a=0),s||(s=i[Ei]);var u=s-a;if(!(2>u)){var c=0;if(l>u)return c=e(i,a,s,r),void n(i,a,s,a+c,r);var h=new o(i,r),d=t(u);do{if(c=e(i,a,s,r),d>c){var f=u;f>d&&(f=d),n(i,a,a+f,a+c,r),c=f}h.pushRun(a,c),h.mergeRuns(),u-=c,a+=c}while(0!==u);h.forceMergeRuns()}}var l=32,u=7,c=256;return s}),e("echarts/visual/seriesColor",[an,"zrender/graphic/Gradient"],function(t){var e=t("zrender/graphic/Gradient");return function(t){function i(i){var n=(i.visualColorAccessPath||"itemStyle.normal.color").split("."),r=i[zi](),a=i.get(n)||i.getColorFromPalette(i.get("name"));r.setVisual("color",a),t.isSeriesFiltered(i)||(typeof a!==ni||a instanceof e||r.each(function(t){r[J](t,"color",a(i[ui](t)))}),r.each(function(t){var e=r[te](t),i=e.get(n,!0);null!=i&&r[J](t,"color",i)}))}t.eachRawSeries(i)}}),e("echarts/preprocessor/backwardCompat",[an,nn,"./helper/compatStyle"],function(t){function e(t,e){e=e.split(",");for(var i=t,n=0;n=0?new l.constructor(a[s][Ei]):a[s]}return n}var n=ke,r=typeof window===ke?global:window,a=typeof r.Float64Array===n?Array:r.Float64Array,o=typeof r.Int32Array===n?Array:r.Int32Array,s={"float":a,"int":o,ordinal:Array,number:Array,time:Array},l=t("../model/Model"),u=t("./DataDiffer"),c=t(nn),h=t("../util/model"),d=c[Si],f=["stackedOn",K,"_nameList","_idList","_rawData"],p=function(t,e){c.each(f[Se](e.__wrappedMethods||[]),function(i){e.hasOwnProperty(i)&&(t[i]=e[i])}),t.__wrappedMethods=e.__wrappedMethods},v=function(t,e){t=t||["x","y"];for(var i={},n=[],r=0;r0&&(w+="__ec__"+c[b]),c[b]++),w&&(u[d]=w)}this._nameList=e,this._idList=u},m.count=function(){return this.indices[Ei]},m.get=function(t,e,i){var n=this._storage,r=this.indices[e];if(null==r)return 0/0;var a=n[t]&&n[t][r];if(i){var o=this._dimensionInfos[t];if(o&&o.stackable)for(var s=this.stackedOn;s;){var l=s.get(t,e);(a>=0&&l>0||0>=a&&0>l)&&(a+=l),s=s.stackedOn}}return a},m.getValues=function(t,e,i){var n=[];c[ri](t)||(i=e,e=t,t=this[$]);for(var r=0,a=t[Ei];a>r;r++)n.push(this.get(t[r],e,i));return n},m.hasValue=function(t){for(var e=this[$],i=this._dimensionInfos,n=0,r=e[Ei];r>n;n++)if(i[e[n]].type!==xe&&isNaN(this.get(e[n],t)))return!1;return!0},m[j]=function(t,e){t=this.getDimension(t);var i=this._storage[t],n=this.getDimensionInfo(t);e=n&&n.stackable&&e;var r,a=(this._extent||(this._extent={}))[t+!!e];if(a)return a;if(i){for(var o=1/0,s=-1/0,l=0,u=this.count();u>l;l++)r=this.get(t,l,e),o>r&&(o=r),r>s&&(s=r);return this._extent[t+!!e]=[o,s]}return[1/0,-1/0]},m.getSum=function(t,e){var i=this._storage[t],n=0;if(i)for(var r=0,a=this.count();a>r;r++){var o=this.get(t,r,e);isNaN(o)||(n+=o)}return n},m[Ri]=function(t,e){var i=this._storage,n=i[t],r=this.indices;if(n)for(var a=0,o=r[Ei];o>a;a++){var s=r[a];if(n[s]===e)return a}return-1},m.indexOfName=function(t){for(var e=this.indices,i=this._nameList,n=0,r=e[Ei];r>n;n++){var a=e[n];if(i[a]===t)return n}return-1},m.indexOfRawIndex=function(t){var e=this.indices,i=e[t];if(null!=i&&i===t)return t;for(var n=0,r=e[Ei]-1;r>=n;){var a=(n+r)/2|0;if(e[a]t))return a;r=a-1}}return-1},m.indexOfNearest=function(t,e,i,n){var r=this._storage,a=r[t];null==n&&(n=1/0);var o=-1;if(a)for(var s=Number.MAX_VALUE,l=0,u=this.count();u>l;l++){var c=e-this.get(t,l,i),h=Math.abs(c);n>=c&&(s>h||h===s&&c>0)&&(s=h,o=l)}return o},m.getRawIndex=function(t){var e=this.indices[t];return null==e?-1:e},m.getRawDataItem=function(t){return this._rawData[this.getRawIndex(t)]},m[ye]=function(t){return this._nameList[this.indices[t]]||""},m.getId=function(t){return this._idList[this.indices[t]]||this.getRawIndex(t)+""},m.each=function(t,i,n,r){typeof t===ni&&(r=n,n=i,i=t,t=[]),t=c.map(e(t),this.getDimension,this);var a=[],o=t[Ei],s=this.indices;r=r||this;for(var l=0;lu;u++)a[u]=this.get(t[u],l,n);a[u]=l,i.apply(r,a)}},m.filterSelf=function(t,i,n,r){typeof t===ni&&(r=n,n=i,i=t,t=[]),t=c.map(e(t),this.getDimension,this);var a=[],o=[],s=t[Ei],l=this.indices;r=r||this;for(var u=0;ud;d++)o[d]=this.get(t[d],u,n);o[d]=u,h=i.apply(r,o)}h&&a.push(l[u])}return this.indices=a,this._extent={},this},m[X]=function(t,e,i,n){typeof t===ni&&(n=i,i=e,e=t,t=[]);var r=[];return this.each(t,function(){r.push(e&&e.apply(this,arguments))},i,n),r},m.map=function(t,n,r,a){t=c.map(e(t),this.getDimension,this);var o=i(this,t),s=o.indices=this.indices,l=o._storage,u=[];return this.each(t,function(){var e=arguments[arguments[Ei]-1],i=n&&n.apply(this,arguments);if(null!=i){typeof i===Qe&&(u[0]=i,i=u);for(var r=0;rv;v+=d){d>p-v&&(d=p-v,c[Ei]=d);for(var m=0;d>m;m++){var g=l[v+m];c[m]=f[g],h[m]=g}var y=n(c),g=h[r(c,y)||0];f[g]=y,u.push(g)}return a},m[te]=function(t){var e=this[Y];return t=this.indices[t],new l(this._rawData[t],e,e&&e[we])},m.diff=function(t){var e=this._idList,i=t&&t._idList;return new u(t?t.indices:[],this.indices,function(t){return i[t]||t+""},function(t){return e[t]||t+""})},m[Oi]=function(t){var e=this._visual;return e&&e[t]},m.setVisual=function(t,e){if(d(t))for(var i in t)t.hasOwnProperty(i)&&this.setVisual(i,t[i]);else this._visual=this._visual||{},this._visual[t]=e},m.setLayout=function(t,e){if(d(t))for(var i in t)t.hasOwnProperty(i)&&this.setLayout(i,t[i]);else this._layout[t]=e},m.getLayout=function(t){return this._layout[t]},m[U]=function(t){return this._itemLayouts[t]},m.setItemLayout=function(t,e,i){this._itemLayouts[t]=i?c[wi](this._itemLayouts[t]||{},e):e},m.clearItemLayouts=function(){this._itemLayouts[Ei]=0},m[Ii]=function(t,e,i){var n=this._itemVisuals[t],r=n&&n[e];return null!=r||i?r:this[Oi](e)},m[J]=function(t,e,i){var n=this._itemVisuals[t]||{};if(this._itemVisuals[t]=n,d(e))for(var r in e)e.hasOwnProperty(r)&&(n[r]=e[r]);else n[e]=i},m.clearAllVisual=function(){this._visual={},this._itemVisuals=[]};var g=function(t){t[ci]=this[ci],t[Di]=this[Di],t.dataType=this.dataType};return m[W]=function(t,e){var i=this[Y];e&&(e[Di]=t,e.dataType=this.dataType,e[ci]=i&&i[ci],"group"===e.type&&e[li](g,e)),this._graphicEls[t]=e},m[pe]=function(t){return this._graphicEls[t]},m[fe]=function(t,e){c.each(this._graphicEls,function(i,n){i&&t&&t.call(e,i,n)})},m.cloneShallow=function(){var t=c.map(this[$],this.getDimensionInfo,this),e=new v(t,this[Y]);return e._storage=this._storage,p(e,this),e.indices=this.indices.slice(),this._extent&&(e._extent=c[wi]({},this._extent)),e},m.wrapMethod=function(t,e){var i=this[t];typeof i===ni&&(this.__wrappedMethods=this.__wrappedMethods||[],this.__wrappedMethods.push(t),this[t]=function(){var t=i.apply(this,arguments);return e.apply(this,[t][Se](c.slice(arguments)))})},m.TRANSFERABLE_METHODS=["cloneShallow","downSample","map"],m.CHANGABLE_METHODS=["filterSelf"],v}),e("echarts/model/Model",[an,nn,"../util/clazz","./mixin/lineStyle","./mixin/areaStyle","./mixin/textStyle","./mixin/itemStyle"],function(t){function e(t,e,i){this.parentModel=e,this[we]=i,this[Pe]=t}var i=t(nn),n=t("../util/clazz");e[Qi]={constructor:e,init:null,mergeOption:function(t){i.merge(this[Pe],t,!0)},get:function(t,e){if(!t)return this[Pe];typeof t===Ki&&(t=t.split("."));for(var i=this[Pe],n=this.parentModel,r=0;r0){if(t<=e[0])return i[0];if(t>=e[1])return i[1]}else{if(t>=e[0])return i[0];if(t<=e[1])return i[1]}else{if(t===e[0])return i[0];if(t===e[1])return i[1]}return(t-e[0])/r*a+i[0]},e[F]=function(e,i){switch(e){case Be:case Ne:e="50%";break;case"left":case"top":e="0%";break;case"right":case Bi:e="100%"}return typeof e===Ki?t(e).match(/%$/)?parseFloat(e)/100*i:parseFloat(e):null==e?0/0:+e},e.round=function(t,e){return null==e&&(e=10),e=Math.min(Math.max(0,e),20),+(+t)[G](e)},e.asc=function(t){return t.sort(function(t,e){return t-e}),t},e.getPrecision=function(t){if(t=+t,isNaN(t))return 0;for(var e=1,i=0;Math.round(t*e)/e!==t;)e*=10,i++;return i},e.getPrecisionSafe=function(t){var e=t.toString(),i=e[Ri](".");return 0>i?0:e[Ei]-1-i},e.getPixelPrecision=function(t,e){var i=Math.log,n=Math.LN10,r=Math.floor(i(t[1]-t[0])/n),a=Math.round(i(Math.abs(e[1]-e[0]))/n);return Math.max(-r+a,0)},e.MAX_SAFE_INTEGER=9007199254740991,e.remRadian=function(t){var e=2*Math.PI;return(t%e+e)%e},e.isRadianAroundZero=function(t){return t>-i&&i>t},e.parseDate=function(t){if(t instanceof Date)return t;if(typeof t===Ki){var e=new Date(t);return isNaN(+e)&&(e=new Date(new Date(t[ai](/-/g,"/"))-new Date("1970/01/01"))),e}return new Date(Math.round(t))},e.quantity=function(t){return Math.pow(10,Math.floor(Math.log(t)/Math.LN10))},e.nice=function(t,i){var n,r=e.quantity(t),a=t/r;return n=i?1.5>a?1:2.5>a?2:4>a?3:7>a?5:10:1>a?1:2>a?2:3>a?3:5>a?5:10,n*r},e}),e("echarts/util/format",[an,nn,"./number","zrender/contain/text"],function(t){var e=t(nn),i=t("./number"),n=t("zrender/contain/text"),r={};r.addCommas=function(t){return isNaN(t)?"-":(t=(t+"").split("."),t[0][ai](/(\d{1,3})(?=(?:\d{3})+(?!\d))/g,"$1,")+(t[Ei]>1?"."+t[1]:""))},r.toCamelCase=function(t){return t[Ji]()[ai](/-(.)/g,function(t,e){return e.toUpperCase()})},r.normalizeCssArray=function(t){var e=t[Ei];return typeof t===Qe?[t,t,t,t]:2===e?[t[0],t[1],t[0],t[1]]:3===e?[t[0],t[1],t[2],t[1]]:t},r.encodeHTML=function(t){return String(t)[ai](/&/g,"&")[ai](//g,">")[ai](/"/g,""")[ai](/'/g,"'")};var a=["a","b","c","d","e","f","g"],o=function(t,e){return"{"+t+(null==e?"":e)+"}"};r.formatTpl=function(t,i){e[ri](i)||(i=[i]);var n=i[Ei];if(!n)return"";for(var r=i[0].$vars||[],s=0;su;u++)for(var c=0;ct?"0"+t:t};return r.formatTime=function(t,e){("week"===t||"month"===t||"quarter"===t||"half-year"===t||"year"===t)&&(t="MM-dd\nyyyy");var n=i.parseDate(e),r=n.getFullYear(),a=n.getMonth()+1,o=n.getDate(),l=n.getHours(),u=n.getMinutes(),c=n.getSeconds();return t=t[ai]("MM",s(a))[Ji]()[ai]("yyyy",r)[ai]("yy",r%100)[ai]("dd",s(o))[ai]("d",o)[ai]("hh",s(l))[ai]("h",l)[ai]("mm",s(u))[ai]("m",u)[ai]("ss",s(c))[ai]("s",c)},r.capitalFirst=function(t){return t?t.charAt(0).toUpperCase()+t.substr(1):t},r.truncateText=n.truncateText,r}),e("zrender/core/matrix",[],function(){var t=typeof Float32Array===ke?Array:Float32Array,e={create:function(){var i=new t(6);return e.identity(i),i},identity:function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t},copy:function(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},mul:function(t,e,i){var n=e[0]*i[0]+e[2]*i[1],r=e[1]*i[0]+e[3]*i[1],a=e[0]*i[2]+e[2]*i[3],o=e[1]*i[2]+e[3]*i[3],s=e[0]*i[4]+e[2]*i[5]+e[4],l=e[1]*i[4]+e[3]*i[5]+e[5];return t[0]=n,t[1]=r,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t},translate:function(t,e,i){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4]+i[0],t[5]=e[5]+i[1],t},rotate:function(t,e,i){var n=e[0],r=e[2],a=e[4],o=e[1],s=e[3],l=e[5],u=Math.sin(i),c=Math.cos(i);return t[0]=n*c+o*u,t[1]=-n*u+o*c,t[2]=r*c+s*u,t[3]=-r*u+c*s,t[4]=c*a+u*l,t[5]=c*l-u*a,t},scale:function(t,e,i){var n=i[0],r=i[1];return t[0]=e[0]*n,t[1]=e[1]*r,t[2]=e[2]*n,t[3]=e[3]*r,t[4]=e[4]*n,t[5]=e[5]*r,t},invert:function(t,e){var i=e[0],n=e[2],r=e[4],a=e[1],o=e[3],s=e[5],l=i*o-a*n;return l?(l=1/l,t[0]=o*l,t[1]=-a*l,t[2]=-n*l,t[3]=i*l,t[4]=(n*s-o*r)*l,t[5]=(a*r-i*s)*l,t):null}};return e}),e(tn,[],function(){var t=typeof Float32Array===ke?Array:Float32Array,e={create:function(e,i){var n=new t(2);return null==e&&(e=0),null==i&&(i=0),n[0]=e,n[1]=i,n},copy:function(t,e){return t[0]=e[0],t[1]=e[1],t},clone:function(e){var i=new t(2);return i[0]=e[0],i[1]=e[1],i},set:function(t,e,i){return t[0]=e,t[1]=i,t},add:function(t,e,i){return t[0]=e[0]+i[0],t[1]=e[1]+i[1],t},scaleAndAdd:function(t,e,i,n){return t[0]=e[0]+i[0]*n,t[1]=e[1]+i[1]*n,t},sub:function(t,e,i){return t[0]=e[0]-i[0],t[1]=e[1]-i[1],t},len:function(t){return Math.sqrt(this.lenSquare(t))},lenSquare:function(t){return t[0]*t[0]+t[1]*t[1]},mul:function(t,e,i){return t[0]=e[0]*i[0],t[1]=e[1]*i[1],t},div:function(t,e,i){return t[0]=e[0]/i[0],t[1]=e[1]/i[1],t},dot:function(t,e){return t[0]*e[0]+t[1]*e[1]},scale:function(t,e,i){return t[0]=e[0]*i,t[1]=e[1]*i,t},normalize:function(t,i){var n=e.len(i);return 0===n?(t[0]=0,t[1]=0):(t[0]=i[0]/n,t[1]=i[1]/n),t},distance:function(t,e){return Math.sqrt((t[0]-e[0])*(t[0]-e[0])+(t[1]-e[1])*(t[1]-e[1]))},distanceSquare:function(t,e){return(t[0]-e[0])*(t[0]-e[0])+(t[1]-e[1])*(t[1]-e[1])},negate:function(t,e){return t[0]=-e[0],t[1]=-e[1],t},lerp:function(t,e,i,n){return t[0]=e[0]+n*(i[0]-e[0]),t[1]=e[1]+n*(i[1]-e[1]),t},applyTransform:function(t,e,i){var n=e[0],r=e[1];return t[0]=i[0]*n+i[2]*r+i[4],t[1]=i[1]*n+i[3]*r+i[5],t},min:function(t,e,i){return t[0]=Math.min(e[0],i[0]),t[1]=Math.min(e[1],i[1]),t},max:function(t,e,i){return t[0]=Math.max(e[0],i[0]),t[1]=Math.max(e[1],i[1]),t}};return e[Ei]=e.len,e.lengthSquare=e.lenSquare,e.dist=e.distance,e.distSquare=e.distanceSquare,e}),e("echarts/chart/line/LineView",[an,nn,"../helper/SymbolDraw","../helper/Symbol","./lineAnimationDiff",Z,H,"./poly","../../view/Chart"],function(t){function e(t,e){if(t[Ei]===e[Ei]){for(var i=0;ie[0]?1:-1;e[0]+=n*i,e[1]-=n*i}return e}function r(t){return t>=0?1:-1}function a(t,e){var i=t[be](),n=t[N](i),a=i.onZero?0:n.scale[Oe]()[0],o=n.dim,s="x"===o||o===B?1:0;return e[X]([o],function(n,l){for(var u,c=e.stackedOn;c&&r(c.get(o,l))===r(n);){u=c;break}var h=[];return h[s]=e.get(i.dim,l),h[1-s]=u?u.get(o,l,!0):a,t[E](h)},!0)}function o(t,e,i){var r=n(t[R]("x")),a=n(t[R]("y")),o=t[be]()[V](),s=Math.min(r[0],r[1]),l=Math.min(a[0],a[1]),u=Math.max(r[0],r[1])-s,c=Math.max(a[0],a[1])-l,h=i.get("lineStyle.normal.width")||2,d=i.get("clipOverflow")?h/2:Math.max(u,c);o?(l-=d,c+=2*d):(s-=d,u+=2*d);var f=new m.Rect({shape:{x:s,y:l,width:u,height:c}});return e&&(f.shape[o?"width":Yi]=0,m.initProps(f,{shape:{width:u,height:c}},i)),f}function s(t,e,i){var n=t.getAngleAxis(),r=t.getRadiusAxis(),a=r[Oe](),o=n[Oe](),s=Math.PI/180,l=new m.Sector({shape:{cx:t.cx,cy:t.cy,r0:a[0],r:a[1],startAngle:-o[0]*s,endAngle:-o[1]*s,clockwise:n[O]}});return e&&(l.shape.endAngle=-o[0]*s,m.initProps(l,{shape:{endAngle:-o[1]*s}},i)),l}function l(t,e,i){return"polar"===t.type?s(t,e,i):o(t,e,i)}function u(t,e,i){for(var n=e[be](),r="x"===n.dim||n.dim===B?0:1,a=[],o=0;o=0;r--)if(i[r].dimension<2){n=i[r];break}if(n&&e.type===z){var a=n.dimension,o=t[$][a],s=t[j](o),l=n.stops,u=[];l[0][D]&&l.sort(function(t,e){return t[D][0]-e[D][0]});var h=l[0],d=l[l[Ei]-1],f=h[D]?c(h[D][0],s):h.value,p=d[D]?c(d[D][1],s):d.value,v=p-f;if(0===v)return t[Ii](0,"color");for(var r=0;r=0){var o=r[pe](a);if(!o){var s=r[U](a);o=new p(r,a),o[Ee]=s,o.setZ(t.get(oi),t.get("z")),o[Ni]=isNaN(s[0])||isNaN(s[1]),o.__temp=!0,r[W](a,o),o.stopSymbolAnimation(!0),this.group.add(o)}o[Ci]()}else _[Qi][Ci].call(this,t,e,i,n)},downplay:function(t,e,i,n){var r=t[zi](),a=g.queryDataIndex(r,n);if(null!=a&&a>=0){var o=r[pe](a);o&&(o.__temp?(r[W](a,null),this.group[Mi](o)):o[Ti]())}else _[Qi][Ti].call(this,t,e,i,n)},_newPolyline:function(t){var e=this._polyline;return e&&this._lineGroup[Mi](e),e=new y.Polyline({shape:{points:t},silent:!0,z2:10}),this._lineGroup.add(e),this._polyline=e,e},_newPolygon:function(t,e){var i=this._polygon;return i&&this._lineGroup[Mi](i),i=new y[he]({shape:{points:t,stackedOnPoints:e},silent:!0}),this._lineGroup.add(i),this._polygon=i,i},_getSymbolIgnoreFunc:function(t,e){var i=e.getAxesByScale(xe)[0];return i&&i.isLabelIgnored?d.bind(i.isLabelIgnored,i):void 0},_updateAnimation:function(t,e,i,n,r){var a=this._polyline,o=this._polygon,s=t[Y],l=v(this._data,t,this._stackedOnPoints,e,this._coordSys,i),c=l.current,h=l.stackedOnCurrent,d=l.next,f=l.stackedOnNext;r&&(c=u(l.current,i,r),h=u(l.stackedOnCurrent,i,r),d=u(l.next,i,r),f=u(l.stackedOnNext,i,r)),a.shape.__points=l.current,a.shape[A]=c,m[re](a,{shape:{points:d}},s),o&&(o[Q]({points:c,stackedOnPoints:h}),m[re](o,{shape:{points:d,stackedOnPoints:f}},s));for(var p=[],g=l.status,y=0;ye&&(e=t[i]);return e},min:function(t){for(var e=1/0,i=0;i1){var h;typeof r===Ki?h=t[r]:typeof r===ni&&(h=r),h&&(n=n.downSample(s.dim,1/c,h,e),i.setData(n))}}},this)}}),e("echarts/chart/scatter/ScatterSeries",[an,"../helper/createListFromArray","../../model/Series"],function(t){var e=t("../helper/createListFromArray"),i=t("../../model/Series");return i[wi]({type:"series.scatter",dependencies:["grid","polar"],getInitialData:function(t,i){var n=e(t.data,this,i);return n},brushSelector:"point",defaultOption:{coordinateSystem:"cartesian2d",zlevel:0,z:2,legendHoverLink:!0,hoverAnimation:!0,symbolSize:10,large:!1,largeThreshold:2e3,itemStyle:{normal:{opacity:.8}}}})}),e("echarts/chart/heatmap/HeatmapSeries",[an,"../../model/Series","../helper/createListFromArray"],function(t){var e=t("../../model/Series"),i=t("../helper/createListFromArray");return e[wi]({type:"series.heatmap",getInitialData:function(t,e){return i(t.data,this,e) -},defaultOption:{coordinateSystem:"cartesian2d",zlevel:0,z:2,geoIndex:0,blurSize:30,pointSize:20,maxOpacity:1,minOpacity:0}})}),e("echarts/chart/scatter/ScatterView",[an,"../helper/SymbolDraw","../helper/LargeSymbolDraw",S],function(t){var e=t("../helper/SymbolDraw"),i=t("../helper/LargeSymbolDraw");t(S).extendChartView({type:"scatter",init:function(){this._normalSymbolDraw=new e,this._largeSymbolDraw=new i},render:function(t){var e=t[zi](),i=this._largeSymbolDraw,n=this._normalSymbolDraw,r=this.group,a=t.get("large")&&e.count()>t.get("largeThreshold")?i:n;this._symbolDraw=a,a[L](e),r.add(a.group),r[Mi](a===i?n.group:i.group)},updateLayout:function(t){this._symbolDraw[Ai](t)},remove:function(t,e){this._symbolDraw&&this._symbolDraw[Mi](e,!0)},dispose:function(){}})}),e("echarts/chart/heatmap/HeatmapView",[an,Z,"./HeatmapLayer",nn,S],function(t){function e(t,e,i){var n=t[1]-t[0];e=o.map(e,function(e){return{interval:[(e[D][0]-t[0])/n,(e[D][1]-t[0])/n]}});var r=e[Ei],a=0;return function(t){for(var n=a;r>n;n++){var o=e[n][D];if(o[0]<=t&&t<=o[1]){a=n;break}}if(n===r)for(var n=a-1;n>=0;n--){var o=e[n][D];if(o[0]<=t&&t<=o[1]){a=n;break}}return n>=0&&r>n&&i[n]}}function i(t,e){var i=t[1]-t[0];return e=[(e[0]-t[0])/i,(e[1]-t[0])/i],function(t){return t>=e[0]&&t<=e[1]}}function n(t){var e=t[$];return"lng"===e[0]&&"lat"===e[1]}var r=t(Z),a=t("./HeatmapLayer"),o=t(nn);return t(S).extendChartView({type:"heatmap",render:function(t,e,i){var r;e[Hi]("visualMap",function(e){e.eachTargetSeries(function(i){i===t&&(r=e)})}),this.group[je]();var a=t[Vi];a.type===z?this._renderOnCartesian(a,t,i):n(a)&&this._renderOnGeo(a,t,r,i)},dispose:function(){},_renderOnCartesian:function(t,e){var i=t[R]("x"),n=t[R]("y"),a=this.group,s=i.getBandWidth(),l=n.getBandWidth(),u=e[zi](),c="itemStyle.normal",h="itemStyle.emphasis",d=w,f=b,p=e[Ui](c)[Ue](["color"]),v=e[Ui](h)[Ue](),m=e[Ui](w),g=e[Ui](b);u.each(["x","y","z"],function(i,n,y,_){var b=u[te](_),w=t[E]([i,n]);if(!isNaN(y)){var M=new r.Rect({shape:{x:w[0]-s/2,y:w[1]-l/2,width:s,height:l},style:{fill:u[Ii](_,"color"),opacity:u[Ii](_,Re)}});u[K]&&(p=b[Ui](c)[Ue](["color"]),v=b[Ui](h)[Ue](),m=b[Ui](d),g=b[Ui](f));var S=e[_e](_),T="-";S&&null!=S[2]&&(T=S[2]),m[ge]("show")&&(r.setText(p,m),p.text=e[x](_,ve)||T),g[ge]("show")&&(r.setText(v,g),v.text=e[x](_,me)||T),M[si](p),r[oe](M,u[K]?v:o[wi]({},v)),a.add(M),u[W](_,M)}})},_renderOnGeo:function(t,n,o,s){var l=o.targetVisuals.inRange,u=o.targetVisuals.outOfRange,c=n[zi](),h=this._hmLayer||this._hmLayer||new a;h.blurSize=n.get("blurSize"),h.pointSize=n.get("pointSize"),h.minOpacity=n.get("minOpacity"),h.maxOpacity=n.get("maxOpacity");var d=t.getViewRect().clone(),f=t.getRoamTransform()[_];d[ce](f);var p=Math.max(d.x,0),v=Math.max(d.y,0),m=Math.min(d.width+d.x,s[Wi]()),g=Math.min(d[Yi]+d.y,s[qi]()),x=m-p,b=g-v,w=c[X](["lng","lat","value"],function(e,i,n){var r=t[E]([e,i]);return r[0]-=p,r[1]-=v,r.push(n),r}),M=o[Oe](),S="visualMap.continuous"===o.type?i(M,o[Pe].range):e(M,o.getPieceList(),o[Pe][y]);h[Li](w,x,b,l.color.getNormalizer(),{inRange:l.color.getColorMapper(),outOfRange:u.color.getColorMapper()},S);var T=new r.Image({style:{width:x,height:b,x:p,y:v,image:h[$i]},silent:!0});this.group.add(T)}})}),e("echarts/coord/cartesian/Grid",[an,"exports",g,"../../coord/axisHelper",nn,"./Cartesian2D","./Axis2D","./GridModel","../../CoordinateSystem"],function(t){function e(t,e){return t.findGridModel()===e}function i(t){var e,i=t.model,n=i[m](),r=1,a=n[Ei];a>40&&(r=Math.ceil(a/40));for(var o=0;a>o;o+=r)if(!t.isLabelIgnored(o)){var s=i.getTextRect(n[o]);e?e.union(s):e=s}return e}function n(t,e,i){this._coordsMap={},this._coordsList=[],this._axesMap={},this._axesList=[],this._initCartesian(t,e,i),this._model=t}function r(t,e){var i=t[Oe](),n=i[0]+i[1];t[I]="x"===t.dim?function(t){return t+e}:function(t){return n-t+e},t.toLocalCoord="x"===t.dim?function(t){return t-e}:function(t){return n-t+e}}function a(t){return u.map(_,function(e){var i=t.getReferringComponents(e)[0];return i})}function o(t){return t.get(Vi)===z}var s=t(g),l=t("../../coord/axisHelper"),u=t(nn),c=t("./Cartesian2D"),h=t("./Axis2D"),d=u.each,f=l.ifAxisCrossZero,p=l.niceScaleExtent;t("./GridModel");var y=n[Qi];y.type="grid",y[Xe]=function(){return this._rect},y[Li]=function(t,e){function i(t){var e=n[t];for(var i in e)if(e.hasOwnProperty(i)){var r=e[i];if(r&&(r.type===M||!f(r)))return!0}return!1}var n=this._axesMap;this._updateScale(t,this._model),d(n.x,function(t){p(t,t.model)}),d(n.y,function(t){p(t,t.model)}),d(n.x,function(t){i("y")&&(t.onZero=!1)}),d(n.y,function(t){i("x")&&(t.onZero=!1)}),this[ji](this._model,e)},y[ji]=function(t,e){function n(){d(o,function(t){var e=t[V](),i=e?[0,a.width]:[0,a[Yi]],n=t[O]?1:0;t.setExtent(i[n],i[1-n]),r(t,e?a.x:a.y)})}var a=s[He](t.getBoxLayoutParams(),{width:e[Wi](),height:e[qi]()});this._rect=a;var o=this._axesList;n(),t.get("containLabel")&&(d(o,function(t){if(!t.model.get("axisLabel.inside")){var e=i(t);if(e){var n=t[V]()?Yi:"width",r=t.model.get("axisLabel.margin");a[n]-=e[n]+r,"top"===t[Ee]?a.y+=e[Yi]+r:"left"===t[Ee]&&(a.x+=e.width+r)}}}),n())},y[R]=function(t,e){var i=this._axesMap[t];if(null!=i){if(null==e)for(var n in i)if(i.hasOwnProperty(n))return i[n];return i[e]}},y.getCartesian=function(t,e){if(null!=t&&null!=e){var i="x"+t+"y"+e;return this._coordsMap[i]}for(var n=0,r=this._coordsList;ne&&(e=Math.min(e,u),u-=e,t.width=e,c--)}),h=(u-o)/(c+(c-1)*l),h=Math.max(h,0);var d,f=0;a.each(i,function(t){t.width||(t.width=h),d=t,f+=t.width*(1+l)}),d&&(f-=d.width*l);var p=-f/2;a.each(i,function(t,i){r[e][i]=r[e][i]||{offset:p,width:t.width},p+=t.width*(1+l)})}),r}function r(t,r){var o=n(a[Ke](r.getSeriesByType(t),function(t){return!r.isSeriesFiltered(t)&&t[Vi]&&t[Vi].type===z})),s={},l={};r.eachSeriesByType(t,function(t){var n=t[zi](),r=t[Vi],a=r[be](),u=e(t),c=o[i(a)][u],h=c.offset,d=c.width,f=r[N](a),p=t.get("barMinHeight")||0,v=a.onZero?f[I](f[k](0)):f.getGlobalExtent()[0],m=r.dataToPoints(n,!0);s[u]=s[u]||[],l[u]=l[u]||[],n.setLayout({offset:h,size:d}),n.each(f.dim,function(t,e){if(!isNaN(t)){s[u][e]||(s[u][e]={p:v,n:v},l[u][e]={p:v,n:v});var i,r,a,o,c=t>=0?"p":"n",g=m[e],y=s[u][e][c],_=l[u][e][c];f[V]()?(i=y,r=g[1]+h,a=g[0]-_,o=d,l[u][e][c]+=a,Math.abs(a)a?-1:1)*p),s[u][e][c]+=a):(i=g[0]+h,r=y,a=d,o=g[1]-_,l[u][e][c]+=o,Math.abs(o)=o?-1:1)*p),s[u][e][c]+=o),n.setItemLayout(e,{x:i,y:r,width:a,height:o})}},!0)},this)}var a=t(nn),o=t(Ve),s=o[F];return r}),e("echarts/chart/bar/BarView",[an,nn,Z,"../../model/Model","./barItemStyle",S],function(t){function e(t,e){var i=t.width>0?1:-1,n=t[Yi]>0?1:-1;e=Math.min(e,Math.abs(t.width),Math.abs(t[Yi])),t.x+=i*e/2,t.y+=n*e/2,t.width-=i*e,t[Yi]-=n*e}var i=t(nn),n=t(Z);return i[wi](t("../../model/Model")[Qi],t("./barItemStyle")),t(S).extendChartView({type:"bar",render:function(t,e,i){var n=t.get(Vi);return n===z&&this._renderOnCartesian(t,e,i),this.group},dispose:i.noop,_renderOnCartesian:function(t){function r(r,a){var s=o[U](r),l=o[te](r).get(d)||0;e(s,l);var u=new n.Rect({shape:i[wi]({},s)});if(h){var f=u.shape,p=c?Yi:"width",v={};f[p]=0,v[p]=s[p],n[a?re:"initProps"](u,{shape:v},t,r)}return u}var a=this.group,o=t[zi](),s=this._data,l=t[Vi],u=l[be](),c=u[V](),h=t.get(Xi),d=["itemStyle",ve,"barBorderWidth"];o.diff(s).add(function(t){if(o.hasValue(t)){var e=r(t);o[W](t,e),a.add(e)}})[Li](function(i,l){var u=s[pe](l);if(!o.hasValue(i))return void a[Mi](u);u||(u=r(i,!0));var c=o[U](i),h=o[te](i).get(d)||0;e(c,h),n[re](u,{shape:c},t,i),o[W](i,u),a.add(u)})[Mi](function(e){var i=s[pe](e);i&&(i.style.text="",n[re](i,{shape:{width:0}},t,e,function(){a[Mi](i)}))})[p](),this._updateStyle(t,o,c),this._data=o},_updateStyle:function(t,e,r){function a(t,e,i,r,a){n.setText(t,e,i),t.text=r,"outside"===t.textPosition&&(t.textPosition=a)}e[fe](function(o,s){var l=e[te](s),u=e[Ii](s,"color"),c=e[Ii](s,Re),h=e[U](s),d=l[Ui]("itemStyle.normal"),f=l[Ui]("itemStyle.emphasis").getBarItemStyle();o[Q]("r",d.get("barBorderRadius")||0),o.useStyle(i[xi]({fill:u,opacity:c},d.getBarItemStyle()));var p=r?h[Yi]>0?Bi:"top":h.width>0?"left":"right",v=l[Ui](w),m=l[Ui](b),g=o.style;v.get("show")?a(g,v,u,i[ee](t[x](s,ve),t[_e](s)),p):g.text="",m.get("show")?a(f,m,u,i[ee](t[x](s,me),t[_e](s)),p):f.text="",n[oe](o,f)})},remove:function(t){var e=this.group;t.get(Xi)?this._data&&this._data[fe](function(i){i.style.text="",n[re](i,{shape:{width:0}},t,i[Di],function(){e[Mi](i)})}):e[je]()}})}),e("echarts/chart/pie/PieSeries",[an,"../../data/List",nn,H,"../../data/helper/completeDimensions","../../component/helper/selectableMixin",S],function(t){var e=t("../../data/List"),i=t(nn),n=t(H),r=t("../../data/helper/completeDimensions"),a=t("../../component/helper/selectableMixin"),o=t(S).extendSeriesModel({type:"series.pie",init:function(t){o[f](this,"init",arguments),this.legendDataProvider=function(){return this._dataBeforeProcessed},this.updateSelectedMap(t.data),this._defaultLabelLine(t)},mergeOption:function(t){o.superCall(this,Ae,t),this.updateSelectedMap(this[Pe].data)},getInitialData:function(t){var i=r(["value"],t.data),n=new e(i,this);return n.initData(t.data),n},getDataParams:function(t){var e=this._data,i=o.superCall(this,ui,t),n=e.getSum("value");return i.percent=n?+(e.get("value",t)/n*100)[G](2):0,i.$vars.push("percent"),i},_defaultLabelLine:function(t){n.defaultEmphasis(t.labelLine,["show"]);var e=t.labelLine[ve],i=t.labelLine[me];e.show=e.show&&t.label[ve].show,i.show=i.show&&t.label[me].show},defaultOption:{zlevel:0,z:2,legendHoverLink:!0,hoverAnimation:!0,center:["50%","50%"],radius:[0,"75%"],clockwise:!0,startAngle:90,minAngle:0,selectedOffset:10,avoidLabelOverlap:!0,label:{normal:{rotate:!1,show:!0,position:"outer"},emphasis:{}},labelLine:{normal:{show:!0,length:15,length2:15,smooth:!1,lineStyle:{width:1,type:"solid"}}},itemStyle:{normal:{borderWidth:1},emphasis:{}},animationEasing:"cubicOut",data:[]}});return i.mixin(o,a),o}),e("echarts/chart/pie/PieView",[an,Z,nn,"../../view/Chart"],function(t){function e(t,e,n,r){var a=e[zi](),o=this[Di],s=a[ye](o),l=e.get("selectedOffset");r[bi]({type:"pieToggleSelect",from:t,name:s,seriesId:e.id}),a.each(function(t){i(a[pe](t),a[U](t),e.isSelected(a[ye](t)),l,n)})}function i(t,e,i,n,r){var a=(e.startAngle+e.endAngle)/2,o=Math.cos(a),s=Math.sin(a),l=i?n:0,u=[o*l,s*l];r?t.animate().when(200,{position:u}).start("bounceOut"):t.attr(Ee,u)}function n(t,e){function i(){o[Ni]=o.hoverIgnore,s[Ni]=s.hoverIgnore}function n(){o[Ni]=o.normalIgnore,s[Ni]=s.normalIgnore}a.Group.call(this);var r=new a.Sector({z2:2}),o=new a.Polyline,s=new a.Text;this.add(r),this.add(o),this.add(s),this[L](t,e,!0),this.on(me,i).on(ve,n).on(pi,i).on(fi,n)}function r(t,e,i,n,r){var a=n[Ui](We),s=r===ae||"inner"===r;return{fill:a[Ge]()||(s?"#fff":t[Ii](e,"color")),opacity:t[Ii](e,Re),textFont:a[Fe](),text:o[ee](t[Y][x](e,i),t[ye](e))}}var a=t(Z),o=t(nn),s=n[Qi];s[L]=function(t,e,n){function r(){l[Zi](!0),l.animateTo({shape:{r:h.r+10}},300,"elasticOut")}function s(){l[Zi](!0),l.animateTo({shape:{r:h.r}},300,"elasticOut")}var l=this.childAt(0),u=t[Y],c=t[te](e),h=t[U](e),d=o[wi]({},h);d.label=null,n?(l[Q](d),l.shape.endAngle=h.startAngle,a[re](l,{shape:{endAngle:h.endAngle}},u,e)):a[re](l,{shape:d},u,e);var f=c[Ui]("itemStyle"),p=t[Ii](e,"color");l.useStyle(o[xi]({lineJoin:"bevel",fill:p},f[Ui](ve)[Ue]())),l[se]=f[Ui](me)[Ue](),i(this,t[U](e),c.get(y),u.get("selectedOffset"),u.get(Xi)),l.off(pi).off(fi).off(me).off(ve),c.get("hoverAnimation")&&u.ifEnableAnimation()&&l.on(pi,r).on(fi,s).on(me,r).on(ve,s),this._updateLabel(t,e),a[oe](this)},s._updateLabel=function(t,e){var i=this.childAt(1),n=this.childAt(2),o=t[Y],s=t[te](e),l=t[U](e),u=l.label,c=t[Ii](e,"color");a[re](i,{shape:{points:u.linePoints||[[u.x,u.y],[u.x,u.y],[u.x,u.y]]}},o,e),a[re](n,{style:{x:u.x,y:u.y}},o,e),n.attr({style:{textVerticalAlign:u.verticalAlign,textAlign:u[qe],textFont:u.font},rotation:u[ie],origin:[u.x,u.y],z2:10});var h=s[Ui](w),d=s[Ui](b),f=s[Ui]("labelLine.normal"),p=s[Ui]("labelLine.emphasis"),v=h.get(Ee)||d.get(Ee);n[si](r(t,e,ve,h,v)),n[Ni]=n.normalIgnore=!h.get("show"),n.hoverIgnore=!d.get("show"),i[Ni]=i.normalIgnore=!f.get("show"),i.hoverIgnore=!p.get("show"),i[si]({stroke:c,opacity:t[Ii](e,Re)}),i[si](f[Ui]("lineStyle")[P]()),n[se]=r(t,e,me,d,v),i[se]=p[Ui]("lineStyle")[P]();var m=f.get("smooth");m&&m===!0&&(m=.4),i[Q]({smooth:m})},o[$e](n,a.Group);var l=t("../../view/Chart")[wi]({type:"pie",init:function(){var t=new a.Group;this._sectorGroup=t},render:function(t,i,r,a){if(!a||a.from!==this.uid){var s=t[zi](),l=this._data,u=this.group,c=i.get(Xi),h=!l,d=o.curry(e,this.uid,t,c,r),f=t.get("selectedMode");if(s.diff(l).add(function(t){var e=new n(s,t);h&&e.eachChild(function(t){t[Zi](!0)}),f&&e.on("click",d),s[W](t,e),u.add(e)})[Li](function(t,e){var i=l[pe](e);i[L](s,t),i.off("click"),f&&i.on("click",d),u.add(i),s[W](t,i)})[Mi](function(t){var e=l[pe](t);u[Mi](e)})[p](),c&&h&&s.count()>0){var v=s[U](0),m=Math.max(r[Wi](),r[qi]())/2,g=o.bind(u.removeClipPath,u);u.setClipPath(this._createClipPath(v.cx,v.cy,m,v.startAngle,v.clockwise,g,t))}this._data=s}},dispose:function(){},_createClipPath:function(t,e,i,n,r,o,s){var l=new a.Sector({shape:{cx:t,cy:e,r0:0,r:i,startAngle:n,endAngle:n,clockwise:r}});return a.initProps(l,{shape:{endAngle:n+(r?1:-1)*Math.PI*2}},s,o),l},containPoint:function(t,e){var i=e[zi](),n=i[U](0);if(n){var r=t[0]-n.cx,a=t[1]-n.cy,o=Math.sqrt(r*r+a*a);return o<=n.r&&o>=n.r0}}});return l}),e("echarts/action/createDataSelectAction",[an,"../echarts",nn],function(t){var e=t("../echarts"),i=t(nn);return function(t,n){i.each(n,function(i){i[Li]="updateView",e[ii](i,function(e,n){var r={};return n[Hi]({mainType:"series",subType:t,query:e},function(t){t[i.method]&&t[i.method](e.name);var n=t[zi]();n.each(function(e){var i=n[ye](e);r[i]=t.isSelected(i)||!1})}),{name:e.name,selected:r}})})}}),e("echarts/visual/dataColor",[an],function(){return function(t,e){var i={};e.eachRawSeriesByType(t,function(t){var n=t.getRawData(),r={};if(!e.isSeriesFiltered(t)){var a=t[zi]();a.each(function(t){var e=a.getRawIndex(t);r[e]=t}),n.each(function(e){var o=n[te](e),s=r[e],l=null!=s&&a[Ii](s,"color",!0);if(l)n[J](e,"color",l);else{var u=o.get("itemStyle.normal.color")||t.getColorFromPalette(n[ye](e),i);n[J](e,"color",u),null!=s&&a[J](s,"color",u)}})}})}}),e("echarts/chart/pie/pieLayout",[an,d,"./labelLayout",nn],function(t){var e=t(d),i=e[F],n=t("./labelLayout"),r=t(nn),a=2*Math.PI,o=Math.PI/180;return function(t,s,l){s.eachSeriesByType(t,function(t){var s=t.get(Be),u=t.get(B);r[ri](u)||(u=[0,u]),r[ri](s)||(s=[s,s]);var c=l[Wi](),h=l[qi](),d=Math.min(c,h),f=i(s[0],c),p=i(s[1],h),v=i(u[0],d/2),m=i(u[1],d/2),g=t[zi](),y=-t.get("startAngle")*o,_=t.get("minAngle")*o,x=g.getSum("value"),b=Math.PI/(x||g.count())*2,w=t.get("clockwise"),M=t.get("roseType"),S=g[j]("value");S[0]=0;var T=a,C=0,A=y,P=w?1:-1;if(g.each("value",function(t,i){var n;n="area"!==M?0===x?b:t*b:a/(g.count()||1),_>n?(n=_,T-=_):C+=t;var r=A+P*n;g.setItemLayout(i,{angle:n,startAngle:A,endAngle:r,clockwise:w,cx:f,cy:p,r0:v,r:M?e[q](t,S,[v,m]):m}),A=r},!0),a>T)if(.001>=T){var L=a/g.count();g.each(function(t){var e=g[U](t);e.startAngle=y+P*t*L,e.endAngle=y+P*(t+1)*L})}else b=T/C,A=y,g.each("value",function(t,e){var i=g[U](e),n=i.angle===_?_:t*b;i.startAngle=A,i.endAngle=A+P*n,A+=n});n(t,m,c,h)})}}),e("echarts/chart/effectScatter/EffectScatterSeries",[an,"../helper/createListFromArray","../../model/Series"],function(t){var e=t("../helper/createListFromArray"),i=t("../../model/Series");return i[wi]({type:"series.effectScatter",dependencies:["grid","polar"],getInitialData:function(t,i){var n=e(t.data,this,i);return n},brushSelector:"point",defaultOption:{coordinateSystem:"cartesian2d",zlevel:0,z:2,legendHoverLink:!0,effectType:"ripple",progressive:0,showEffectOn:"render",rippleEffect:{period:4,scale:2.5,brushType:"fill"},symbolSize:10}})}),e("echarts/processor/dataFilter",[],function(){return function(t,e){var i=e.findComponents({mainType:"legend"});i&&i[Ei]&&e.eachSeriesByType(t,function(t){var e=t[zi]();e.filterSelf(function(t){for(var n=e[ye](t),r=0;rn||l.newline?(a=0,h=g,o+=s+i,s=p[Yi]):s=Math.max(s,p[Yi])}else{var y=p[Yi]+(m?-m.y+p.y:0);d=o+y,d>r||l.newline?(a+=s+i,o=0,d=y,s=p.width):s=Math.max(s,p.width)}l.newline||(f[0]=a,f[1]=o,t===u?a=h+i:o=d+i)})}var i=t(nn),n=t(de),r=t("./number"),a=t("./format"),o=r[F],s=i.each,l={},h=["left","right","top",Bi,"width",Yi];return l.box=e,l.vbox=i.curry(e,c),l.hbox=i.curry(e,u),l.getAvailableSize=function(t,e,i){var n=e.width,r=e[Yi],s=o(t.x,n),l=o(t.y,r),u=o(t.x2,n),c=o(t.y2,r);return(isNaN(s)||isNaN(parseFloat(t.x)))&&(s=0),(isNaN(u)||isNaN(parseFloat(t.x2)))&&(u=n),(isNaN(l)||isNaN(parseFloat(t.y)))&&(l=0),(isNaN(c)||isNaN(parseFloat(t.y2)))&&(c=r),i=a.normalizeCssArray(i||0),{width:Math.max(u-s-i[1]-i[3],0),height:Math.max(c-l-i[0]-i[2],0)}},l[He]=function(t,e,i){i=a.normalizeCssArray(i||0);var r=e.width,s=e[Yi],l=o(t.left,r),u=o(t.top,s),c=o(t.right,r),h=o(t[Bi],s),d=o(t.width,r),f=o(t[Yi],s),p=i[2]+i[0],v=i[1]+i[3],m=t.aspect;switch(isNaN(d)&&(d=r-c-v-l),isNaN(f)&&(f=s-h-p-u),isNaN(d)&&isNaN(f)&&(m>r/s?d=.8*r:f=.8*s),null!=m&&(isNaN(d)&&(d=m*f),isNaN(f)&&(f=d/m)),isNaN(l)&&(l=r-c-d-v),isNaN(u)&&(u=s-h-f-p),t.left||t.right){case Be:l=r/2-d/2-i[3];break;case"right":l=r-d-v}switch(t.top||t[Bi]){case Ne:case Be:u=s/2-f/2-i[0];break;case Bi:u=s-f-p}l=l||0,u=u||0,isNaN(d)&&(d=r-l-(c||0)),isNaN(f)&&(f=s-u-(h||0));var g=new n(l+i[3],u+i[0],d,f);return g.margin=i,g},l.positionGroup=function(t,e,n,r){var a=t[Ze]();e=i[wi](i.clone(e),{width:a.width,height:a[Yi]}),e=l[He](e,n,r),t.attr(Ee,[e.x-a.x,e.y-a.y])},l.mergeLayoutParam=function(t,e,n){function r(i){var r={},l=0,u={},c=0,h=n.ignoreSize?1:2;if(s(i,function(e){u[e]=t[e]}),s(i,function(t){a(e,t)&&(r[t]=u[t]=e[t]),o(r,t)&&l++,o(u,t)&&c++}),c!==h&&l){if(l>=h)return r;for(var d=0;d=0},defaultOption:{zlevel:0,z:4,show:!0,orient:"horizontal",left:"center",top:"top",align:"auto",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,padding:5,itemGap:10,itemWidth:25,itemHeight:14,inactiveColor:"#ccc",textStyle:{color:"#333"},selectedMode:!0,tooltip:{show:!1}}});return n}),e("echarts/component/legend/legendAction",[an,S,nn],function(t){function e(t,e,i){var r,a={},o="toggleSelected"===t;return i[Hi]("legend",function(i){o&&null!=r?i[r?"select":"unSelect"](e.name):(i[t](e.name),r=i.isSelected(e.name));var s=i[zi]();n.each(s,function(t){var e=t.get("name");if("\n"!==e&&""!==e){var n=i.isSelected(e);a[e]=e in a?a[e]&&n:n}})}),{name:e.name,selected:a}}var i=t(S),n=t(nn);i[ii]("legendToggleSelect","legendselectchanged",n.curry(e,"toggleSelected")),i[ii]("legendSelect","legendselected",n.curry(e,"select")),i[ii]("legendUnSelect","legendunselected",n.curry(e,"unSelect"))}),e("echarts/component/legend/LegendView",[an,nn,s,Z,"../helper/listComponent",S],function(t){function e(t,e){e[bi]({type:"legendToggleSelect",name:t})}function i(t,e,i){var n=i.getZr().storage.getDisplayList()[0];n&&n.useHoverLayer||t.get("legendHoverLink")&&i[bi]({type:"highlight",seriesName:t.name,name:e})}function n(t,e,i){var n=i.getZr().storage.getDisplayList()[0];n&&n.useHoverLayer||t.get("legendHoverLink")&&i[bi]({type:"downplay",seriesName:t.name,name:e})}var r=t(nn),a=t(s),l=t(Z),u=t("../helper/listComponent"),d=r.curry;return t(S)[Je]({type:"legend",init:function(){this._symbolTypeStore={}},render:function(t,a,o){var s=this.group;if(s[je](),t.get("show")){var f=t.get("selectedMode"),p=t.get("align");"auto"===p&&(p="right"===t.get("left")&&t.get(h)===c?"right":"left");var v={};r.each(t[zi](),function(r){var u=r.get("name");if(""===u||"\n"===u)return void s.add(new l.Group({newline:!0}));var c=a.getSeriesByName(u)[0];if(!v[u])if(c){var h=c[zi](),m=h[Oi]("color");typeof m===ni&&(m=m(c[ui](0)));var g=h[Oi]("legendSymbol")||"roundRect",y=h[Oi](C),_=this._createItem(u,r,t,g,y,p,m,f);_.on("click",d(e,u,o)).on(pi,d(i,c,null,o)).on(fi,d(n,c,null,o)),v[u]=!0}else a.eachRawSeries(function(a){if(!v[u]&&a.legendDataProvider){var s=a.legendDataProvider(),l=s.indexOfName(u);if(0>l)return;var c=s[Ii](l,"color"),h="roundRect",m=this._createItem(u,r,t,h,null,p,c,f);m.on("click",d(e,u,o)).on(pi,d(i,a,u,o)).on(fi,d(n,a,u,o)),v[u]=!0}},this)},this),u.layout(s,t,o),u.addBackground(s,t)}},_createItem:function(t,e,i,n,s,u,c,h){var d=i.get("itemWidth"),f=i.get("itemHeight"),p=i.get("inactiveColor"),v=i.isSelected(t),m=new l.Group,g=e[Ui](We),y=e.get("icon"),_=e[Ui]("tooltip"),x=_.parentModel;if(n=y||n,m.add(a[o](n,0,0,d,f,v?c:p)),!y&&s&&(s!==n||"none"==s)){var b=.8*f;"none"===s&&(s="circle"),m.add(a[o](s,(d-b)/2,(f-b)/2,b,b,v?c:p))}var w="left"===u?d+5:-5,M=u,S=i.get("formatter"),T=t;typeof S===Ki&&S?T=S[ai]("{name}",t):typeof S===ni&&(T=S(t));var C=new l.Text({style:{text:T,x:w,y:f/2,fill:v?g[Ge]():p,textFont:g[Fe](),textAlign:M,textVerticalAlign:"middle"}});m.add(C);var A=new l.Rect({shape:m[Ze](),invisible:!0,tooltip:_.get("show")?r[wi]({content:t,formatter:x.get("formatter",!0)||function(){return t},formatterParams:{componentType:"legend",legendIndex:i[Te],name:t,$vars:["name"]}},_[Pe]):null});return m.add(A),m.eachChild(function(t){t[vi]=!0}),A[vi]=!h,this.group.add(m),l[oe](m),m}})}),e("echarts/component/legend/legendFilter",[],function(){return function(t){var e=t.findComponents({mainType:"legend"});e&&e[Ei]&&t.filterSeries(function(t){for(var i=0;in?t-=a+s:t+=s,e+o+s>r?e-=o+s:e+=s,[t,e]}function c(t,e,i){var n=i.clientWidth,r=i.clientHeight,a=5,o=0,s=0,l=e.width,u=e[Yi];switch(t){case ae:o=e.x+l/2-n/2,s=e.y+u/2-r/2;break;case"top":o=e.x+l/2-n/2,s=e.y-r-a;break;case Bi:o=e.x+l/2-n/2,s=e.y+u+a;break;case"left":o=e.x-n-a,s=e.y+u/2-r/2;break;case"right":o=e.x+l+a,s=e.y+u/2-r/2}return[o,s]}function f(t,e,i,n,r,a,o){var s=o[Wi](),u=o[qi](),h=a&&a[Ze]().clone();if(a&&h[ce](a[_]),typeof t===ni&&(t=t([e,i],r,n.el,h)),y[ri](t))e=T(t[0],s),i=T(t[1],u);else if(typeof t===Ki&&a){var d=c(t,h,n.el);e=d[0],i=d[1]}else{var d=l(e,i,n.el,s,u);e=d[0],i=d[1]}n.moveTo(e,i)}function p(t){var e=t[Vi],i=t.get("tooltip.trigger",!0);return!(!e||e.type!==z&&"polar"!==e.type&&"singleAxis"!==e.type||"item"===i)}var m=t("./TooltipContent"),g=t(Z),y=t(nn),x=t(a),b=t(d),w=t(H),T=b[F],C=t(rn),A=t("../../model/Model");t(S)[Je]({type:"tooltip",_axisPointers:{},init:function(t,e){if(!C.node){var i=new m(e.getDom(),e);this._tooltipContent=i,e.on("showTip",this._manuallyShowTip,this),e.on("hideTip",this._manuallyHideTip,this)}},render:function(t,e,i){if(!C.node){this.group[je](),this._axisPointers={},this._tooltipModel=t,this._ecModel=e,this._api=i,this._lastHover={};var n=this._tooltipContent;n[Li](),n.enterable=t.get("enterable"),this._alwaysShowContent=t.get("alwaysShowContent"),this._seriesGroupByAxis=this._prepareAxisTriggerData(t,e);var r=this._crossText;r&&this.group.add(r);var a=t.get("triggerOn");if(null!=this._lastX&&null!=this._lastY&&"none"!==a){var o=this;clearTimeout(this._refreshUpdateTimeout),this._refreshUpdateTimeout=setTimeout(function(){o._manuallyShowTip({x:o._lastX,y:o._lastY})})}var s=this._api.getZr();s.off("click",this._tryShow),s.off(di,this._mousemove),s.off(fi,this._hide),s.off("globalout",this._hide),"click"===a?s.on("click",this._tryShow,this):a===di&&(s.on(di,this._mousemove,this),s.on(fi,this._hide,this),s.on("globalout",this._hide,this))}},_mousemove:function(t){var e=this._tooltipModel.get("showDelay"),i=this;clearTimeout(this._showTimeout),e>0?this._showTimeout=setTimeout(function(){i._tryShow(t)},e):this._tryShow(t)},_manuallyShowTip:function(t){if(t.from!==this.uid){var e=this._ecModel,i=t[ci],n=e.getSeriesByIndex(i),r=this._api;if(null==t.x||null==t.y){if(n||e[Pi](function(t){p(t)&&!n&&(n=t)}),n){var a=n[zi](),o=w.queryDataIndex(a,t);if(null==o||y[ri](o))return;var s,l,u=a[pe](o),c=n[Vi];if(n.getTooltipPosition){var h=n.getTooltipPosition(o)||[];s=h[0],l=h[1]}else if(c&&c[E]){var h=c[E](a.getValues(y.map(c[$],function(t){return n[v](t)[0]}),o,!0));s=h&&h[0],l=h&&h[1]}else if(u){var d=u[Ze]().clone();d[ce](u[_]),s=d.x+d.width/2,l=d.y+d[Yi]/2}null!=s&&null!=l&&this._tryShow({offsetX:s,offsetY:l,position:t[Ee],target:u,event:{}})}}else{var u=r.getZr().handler.findHover(t.x,t.y);this._tryShow({offsetX:t.x,offsetY:t.y,position:t[Ee],target:u,event:{}})}}},_manuallyHideTip:function(t){t.from!==this.uid&&this._hide()},_prepareAxisTriggerData:function(t,e){var i={};return e[Pi](function(t){if(p(t)){var e,n,r=t[Vi];r.type===z?(e=r[be](),n=e.dim+e.index):"singleAxis"===r.type?(e=r[R](),n=e.dim+e.type):(e=r[be](),n=e.dim+r.name),i[n]=i[n]||{coordSys:[],series:[]},i[n].coordSys.push(r),i[n][yi].push(t)}},this),i},_tryShow:function(t){var e=t[hi],i=this._tooltipModel,a=i.get(_i),o=this._ecModel,s=this._api;if(i)if(this._lastX=t[r],this._lastY=t[n],e&&null!=e[Di]){var l=e.dataModel||o.getSeriesByIndex(e[ci]),u=e[Di],c=l[zi]()[te](u);"axis"===(c.get("tooltip.trigger")||a)?this._showAxisTooltip(i,o,t):(this._ticket="",this._hideAxisPointer(),this._resetLastHover(),this._showItemTooltipContent(l,u,e.dataType,t)),s[bi]({type:"showTip",from:this.uid,dataIndexInside:e[Di],seriesIndex:e[ci]})}else if(e&&e.tooltip){var h=e.tooltip;if(typeof h===Ki){var d=h;h={content:d,formatter:d}}var f=new A(h,i),p=f.get("content"),v=Math.random();this._showTooltipContent(f,p,f.get("formatterParams")||{},v,t[r],t[n],t[Ee],e,s)}else"item"===a?this._hide():this._showAxisTooltip(i,o,t),"cross"===i.get("axisPointer.type")&&s[bi]({type:"showTip",from:this.uid,x:t[r],y:t[n]})},_showAxisTooltip:function(t,i,a){var o=t[Ui]("axisPointer"),s=o.get("type");if("cross"===s){var l=a[hi];if(l&&null!=l[Di]){var u=i.getSeriesByIndex(l[ci]),c=l[Di];this._showItemTooltipContent(u,c,l.dataType,a)}}this._showAxisPointer();var h=!0;y.each(this._seriesGroupByAxis,function(t){var i=t.coordSys,l=i[0],u=[a[r],a[n]];if(!l.containPoint(u))return void this._hideAxisPointer(l.name);h=!1;var c=l[$],d=l.pointToData(u,!0);u=l[E](d);var f=l[be](),p=o.get("axis");"auto"===p&&(p=f.dim);var v=!1,m=this._lastHover;if("cross"===s)e(m.data,d)&&(v=!0),m.data=d;else{var g=y[Ri](c,p);m.data===d[g]&&(v=!0),m.data=d[g]}l.type!==z||v?"polar"!==l.type||v?"singleAxis"!==l.type||v||this._showSinglePointer(o,l,p,u):this._showPolarPointer(o,l,p,u):this._showCartesianPointer(o,l,p,u),"cross"!==s&&this._dispatchAndShowSeriesTooltipContent(l,t[yi],u,d,v,a[Ee])},this),this._tooltipModel.get("show")||this._hideAxisPointer(),h&&this._hide()},_showCartesianPointer:function(t,e,n,r){function a(n,r,a){var o="x"===n?i(r[0],a[0],r[0],a[1]):i(a[0],r[1],a[1],r[1]),s=l._getPointerElement(e,t,n,o);g.subPixelOptimizeLine({shape:o,style:s.style}),h?g[re](s,{shape:o},t):s.attr({shape:o})}function s(i,n,r){var a=e[R](i),s=a.getBandWidth(),u=r[1]-r[0],c="x"===i?o(n[0]-s/2,r[0],s,u):o(r[0],n[1]-s/2,u,s),d=l._getPointerElement(e,t,i,c);h?g[re](d,{shape:c},t):d.attr({shape:c})}var l=this,u=t.get("type"),c=e[be](),h="cross"!==u&&c.type===M&&c.getBandWidth()>20;if("cross"===u)a("x",r,e[R]("y").getGlobalExtent()),a("y",r,e[R]("x").getGlobalExtent()),this._updateCrossText(e,r,t);else{var d=e[R]("x"===n?"y":"x"),f=d.getGlobalExtent();e.type===z&&("line"===u?a:s)(n,r,f)}},_showSinglePointer:function(t,e,n,r){function a(n,r,a){var s=e[R](),c=s[h],d=c===u?i(r[0],a[0],r[0],a[1]):i(a[0],r[1],a[1],r[1]),f=o._getPointerElement(e,t,n,d);l?g[re](f,{shape:d},t):f.attr({shape:d})}var o=this,s=t.get("type"),l="cross"!==s&&e[be]().type===M,c=e[Xe](),d=[c.y,c.y+c[Yi]];a(n,r,d)},_showPolarPointer:function(t,e,n,r){function a(n,r,a){var o,s=e.pointToCoord(r);if("angle"===n){var u=e.coordToPoint([a[0],s[1]]),c=e.coordToPoint([a[1],s[1]]);o=i(u[0],u[1],c[0],c[1])}else o={cx:e.cx,cy:e.cy,r:s[0]};var h=l._getPointerElement(e,t,n,o);d?g[re](h,{shape:o},t):h.attr({shape:o})}function o(i,n,r){var a,o=e[R](i),u=o.getBandWidth(),c=e.pointToCoord(n),h=Math.PI/180;a="angle"===i?s(e.cx,e.cy,r[0],r[1],(-c[1]-u/2)*h,(-c[1]+u/2)*h):s(e.cx,e.cy,c[0]-u/2,c[0]+u/2,0,2*Math.PI);var f=l._getPointerElement(e,t,i,a);d?g[re](f,{shape:a},t):f.attr({shape:a})}var l=this,u=t.get("type"),c=e.getAngleAxis(),h=e.getRadiusAxis(),d="cross"!==u&&e[be]().type===M;if("cross"===u)a("angle",r,h[Oe]()),a(B,r,c[Oe]()),this._updateCrossText(e,r,t);else{var f=e[R](n===B?"angle":B),p=f[Oe]();("line"===u?a:o)(n,r,p)}},_updateCrossText:function(t,e,i){var n=i[Ui]("crossStyle"),r=n[Ui](We),a=this._tooltipModel,o=this._crossText;o||(o=this._crossText=new g.Text({style:{textAlign:"left",textVerticalAlign:"bottom"}}),this.group.add(o));var s=t.pointToData(e),l=t[$];s=y.map(s,function(e,i){var n=t[R](l[i]);return e=n.type===M||"time"===n.type?n.scale[De](e):x.addCommas(e[G](n.getPixelPrecision()))}),o[si]({fill:r[Ge]()||n.get("color"),textFont:r[Fe](),text:s.join(", "),x:e[0]+5,y:e[1]-5}),o.z=a.get("z"),o[oi]=a.get(oi)},_getPointerElement:function(t,e,i,n){var r=this._tooltipModel,a=r.get("z"),o=r.get(oi),s=this._axisPointers,l=t.name;if(s[l]=s[l]||{},s[l][i])return s[l][i];var u=e.get("type"),c=e[Ui](u+"Style"),h="shadow"===u,d=c[h?"getAreaStyle":P](),f="polar"===t.type?h?"Sector":i===B?"Circle":"Line":h?"Rect":"Line";h?d[le]=null:d.fill=null;var p=s[l][i]=new g[f]({style:d,z:a,zlevel:o,silent:!0,shape:n});return this.group.add(p),p},_dispatchAndShowSeriesTooltipContent:function(t,e,i,n,r,a){var o=this._tooltipModel,s=t[be](),l="x"===s.dim||s.dim===B?0:1,u=y.map(e,function(t){return{seriesIndex:t[ci],dataIndexInside:t.getAxisTooltipDataIndex?t.getAxisTooltipDataIndex(t[v](s.dim),n,s):t[zi]().indexOfNearest(t[v](s.dim)[0],n[l],!1,s.type===M?.5:null)}}),c=this._lastHover,h=this._api;if(c.payloadBatch&&!r&&h[bi]({type:"downplay",batch:c.payloadBatch}),r||(h[bi]({type:"highlight",batch:u}),c.payloadBatch=u),h[bi]({type:"showTip",dataIndexInside:u[0].dataIndexInside,seriesIndex:u[0][ci],from:this.uid}),s&&o.get("showContent")&&o.get("show")){var d=y.map(e,function(t,e){return t[ui](u[e].dataIndexInside)});if(r)f(a||o.get(Ee),i[0],i[1],this._tooltipContent,d,null,h);else{var p=u[0].dataIndexInside,m="time"===s.type?s.scale[De](n[l]):e[0][zi]()[ye](p),g=(m?m+"
    ":"")+y.map(e,function(t,e){return t.formatTooltip(u[e].dataIndexInside,!0)}).join("
    "),_="axis_"+t.name+"_"+p;this._showTooltipContent(o,g,d,_,i[0],i[1],a,null,h)}}},_showItemTooltipContent:function(t,e,i,a){var o=this._api,s=t[zi](i),l=s[te](e),u=l.get("tooltip",!0);if(typeof u===Ki){var c=u;u={formatter:c}}var h=this._tooltipModel,d=t[Ui]("tooltip",h),f=new A(u,d,d[we]),p=t[ui](e,i),v=t.formatTooltip(e,!1,i),m="item_"+t.name+"_"+e;this._showTooltipContent(f,v,p,m,a[r],a[n],a[Ee],a[hi],o)},_showTooltipContent:function(t,e,i,n,r,a,o,s,l){if(this._ticket="",t.get("showContent")&&t.get("show")){var u=this._tooltipContent,c=t.get("formatter");o=o||t.get(Ee);var h=e;if(c)if(typeof c===Ki)h=x.formatTpl(c,i);else if(typeof c===ni){var d=this,p=n,v=function(t,e){t===d._ticket&&(u.setContent(e),f(o,r,a,u,i,s,l))};d._ticket=p,h=c(i,p,v)}u.show(t),u.setContent(h),f(o,r,a,u,i,s,l)}},_showAxisPointer:function(t){if(t){var e=this._axisPointers[t];e&&y.each(e,function(t){t.show()})}else this.group.eachChild(function(t){t.show()}),this.group.show()},_resetLastHover:function(){var t=this._lastHover;t.payloadBatch&&this._api[bi]({type:"downplay",batch:t.payloadBatch}),this._lastHover={}},_hideAxisPointer:function(t){if(t){var e=this._axisPointers[t];e&&y.each(e,function(t){t.hide()})}else this.group.children()[Ei]&&this.group.hide()},_hide:function(){clearTimeout(this._showTimeout),this._hideAxisPointer(),this._resetLastHover(),this._alwaysShowContent||this._tooltipContent.hideLater(this._tooltipModel.get("hideDelay")),this._api[bi]({type:"hideTip",from:this.uid}),this._lastX=this._lastY=null},dispose:function(t,e){if(!C.node){var i=e.getZr();this._tooltipContent.hide(),i.off("click",this._tryShow),i.off(di,this._mousemove),i.off(fi,this._hide),i.off("globalout",this._hide),e.off("showTip",this._manuallyShowTip),e.off("hideTip",this._manuallyHideTip)}}})}),e("echarts/component/marker/MarkPointModel",[an,"./MarkerModel"],function(t){return t("./MarkerModel")[wi]({type:"markPoint",defaultOption:{zlevel:0,z:5,symbol:"pin",symbolSize:50,tooltip:{trigger:"item"},label:{normal:{show:!0,position:"inside"},emphasis:{show:!0}},itemStyle:{normal:{borderWidth:2}}}})}),e("echarts/component/marker/MarkLineView",[an,nn,"../../data/List",d,"./markerHelper","../../chart/helper/LineDraw","./MarkerView"],function(t){function e(t){return!isNaN(t)&&!isFinite(t)}function i(t,i,n,r){var a=1-t,o=r[$][t];return e(i[a])&&e(n[a])&&i[t]===n[t]&&r[R](o).containData(i[t])}function n(t,e){if(t.type===z){var n=e[0].coord,r=e[1].coord;if(n&&r&&(i(1,n,r,t)||i(0,n,r,t)))return!0}return u.dataFilter(t,e[0])&&u.dataFilter(t,e[1])}function r(t,i,n,r,a){var o,s=r[Vi],u=t[te](i),c=l[F](u.get("x"),a[Wi]()),h=l[F](u.get("y"),a[qi]());if(isNaN(c)||isNaN(h)){if(r.getMarkerPosition)o=r.getMarkerPosition(t.getValues(t[$],i));else{var d=s[$],f=t.get(d[0],i),p=t.get(d[1],i);o=s[E]([f,p])}if(s.type===z){var v=s[R]("x"),m=s[R]("y"),d=s[$];e(t.get(d[0],i))?o[0]=v[I](v[Oe]()[n?0:1]):e(t.get(d[1],i))&&(o[1]=m[I](m[Oe]()[n?0:1]))}isNaN(c)||(o[0]=c),isNaN(h)||(o[1]=h)}else o=[c,h];t.setItemLayout(i,o)}function a(t,e,i){var r;r=t?o.map(t&&t[$],function(t){var i=e[zi]().getDimensionInfo(e[v](t)[0])||{};return i.name=t,i}):[{name:"value",type:"float"}];var a=new s(r,i),l=new s(r,i),c=new s([],i),d=o.map(i.get("data"),o.curry(h,e,t,i));t&&(d=o[Ke](d,o.curry(n,t)));var f=t?u.dimValueGetter:function(t){return t.value};return a.initData(o.map(d,function(t){return t[0]}),null,f),l.initData(o.map(d,function(t){return t[1]}),null,f),c.initData(o.map(d,function(t){return t[2]})),c[K]=!0,{from:a,to:l,line:c}}var o=t(nn),s=t("../../data/List"),l=t(d),u=t("./markerHelper"),c=t("../../chart/helper/LineDraw"),h=function(t,e,i,n){var r=t[zi](),a=n.type;if(!o[ri](n)&&("min"===a||"max"===a||"average"===a||null!=n.xAxis||null!=n.yAxis)){var s,l,c;if(null!=n.yAxis||null!=n.xAxis)l=null!=n.yAxis?"y":"x",s=e[R](l),c=o[ee](n.yAxis,n.xAxis);else{var h=u.getAxisInfo(n,r,e,t);l=h.valueDataDim,s=h.valueAxis,c=u.numCalculate(r,l,a)}var d="x"===l?0:1,f=1-d,p=o.clone(n),v={};p.type=null,p.coord=[],v.coord=[],p.coord[f]=-1/0,v.coord[f]=1/0;var m=i.get("precision");m>=0&&typeof c===Qe&&(c=+c[G](m)),p.coord[d]=v.coord[d]=c,n=[p,v,{type:a,valueIndex:n.valueIndex,value:c}]}return n=[u.dataTransform(t,n[0]),u.dataTransform(t,n[1]),o[wi]({},n[2])],n[2].type=n[2].type||"",o.merge(n[2],n[0]),o.merge(n[2],n[1]),n};t("./MarkerView")[wi]({type:"markLine",updateLayout:function(t,e,i){e[Pi](function(t){var e=t.markLineModel;if(e){var n=e[zi](),a=e.__from,o=e.__to;a.each(function(e){r(a,e,!0,t,i),r(o,e,!1,t,i)}),n.each(function(t){n.setItemLayout(t,[a[U](t),o[U](t)])}),this.markerGroupMap[t.name][Ai]()}},this)},renderSeries:function(t,e,i,n){function s(e,i,a){var o=e[te](i);r(e,i,a,t,n),e[J](i,{symbolSize:o.get(T)||_[a?0:1],symbol:o.get(C,!0)||y[a?0:1],color:o.get("itemStyle.normal.color")||h[Oi]("color")})}var l=t[Vi],u=t.name,h=t[zi](),d=this.markerGroupMap,f=d[u];f||(f=d[u]=new c),this.group.add(f.group);var p=a(l,t,e),v=p.from,m=p.to,g=p.line;e.__from=v,e.__to=m,e.setData(g);var y=e.get(C),_=e.get(T);o[ri](y)||(y=[y,y]),typeof _===Qe&&(_=[_,_]),p.from.each(function(t){s(v,t,!0),s(m,t,!1)}),g.each(function(t){var e=g[te](t).get("lineStyle.normal.color");g[J](t,{color:e||v[Ii](t,"color")}),g.setItemLayout(t,[v[U](t),m[U](t)]),g[J](t,{fromSymbolSize:v[Ii](t,T),fromSymbol:v[Ii](t,C),toSymbolSize:m[Ii](t,T),toSymbol:m[Ii](t,C)})}),f[L](g),p.line[fe](function(t){t[li](function(t){t.dataModel=e})}),f.__keep=!0,f.group[vi]=e.get(vi)||t.get(vi)}})}),e("echarts/component/marker/MarkAreaModel",[an,"./MarkerModel"],function(t){return t("./MarkerModel")[wi]({type:"markArea",defaultOption:{zlevel:0,z:1,tooltip:{trigger:"item"},animation:!1,label:{normal:{show:!0,position:"top"},emphasis:{show:!0,position:"top"}},itemStyle:{normal:{borderWidth:0}}}})}),e("echarts/component/marker/MarkPointView",[an,"../../chart/helper/SymbolDraw",nn,d,"../../data/List","./markerHelper","./MarkerView"],function(t){function e(t,e,i){var n=e[Vi];t.each(function(r){var o,s=t[te](r),l=a[F](s.get("x"),i[Wi]()),u=a[F](s.get("y"),i[qi]());if(isNaN(l)||isNaN(u)){if(e.getMarkerPosition)o=e.getMarkerPosition(t.getValues(t[$],r));else if(n){var c=t.get(n[$][0],r),h=t.get(n[$][1],r);o=n[E]([c,h])}}else o=[l,u];isNaN(l)||(o[0]=l),isNaN(u)||(o[1]=u),t.setItemLayout(r,o)})}function i(t,e,i){var n;n=t?r.map(t&&t[$],function(t){var i=e[zi]().getDimensionInfo(e[v](t)[0])||{};return i.name=t,i}):[{name:"value",type:"float"}];var a=new o(n,i),l=r.map(i.get("data"),r.curry(s.dataTransform,e));return t&&(l=r[Ke](l,r.curry(s.dataFilter,t))),a.initData(l,null,t?s.dimValueGetter:function(t){return t.value}),a}var n=t("../../chart/helper/SymbolDraw"),r=t(nn),a=t(d),o=t("../../data/List"),s=t("./markerHelper");t("./MarkerView")[wi]({type:"markPoint",updateLayout:function(t,i,n){i[Pi](function(t){var i=t.markPointModel;i&&(e(i[zi](),t,n),this.markerGroupMap[t.name][Ai](i))},this)},renderSeries:function(t,r,a,o){var s=t[Vi],l=t.name,u=t[zi](),c=this.markerGroupMap,h=c[l];h||(h=c[l]=new n);var d=i(s,t,r);r.setData(d),e(r[zi](),t,o),d.each(function(t){var e=d[te](t),i=e[ge](T);typeof i===ni&&(i=i(r[_e](t),r[ui](t))),d[J](t,{symbolSize:i,color:e.get("itemStyle.normal.color")||u[Oi]("color"),symbol:e[ge](C)})}),h[L](d),this.group.add(h.group),d[fe](function(t){t[li](function(t){t.dataModel=r})}),h.__keep=!0,h.group[vi]=r.get(vi)||t.get(vi)}})}),e("echarts/component/marker/MarkAreaView",[an,nn,"../../data/List",d,Z,en,"./markerHelper","./MarkerView"],function(t){function e(t){return!isNaN(t)&&!isFinite(t)}function i(t,i,n){var r=1-t;return e(i[r])&&e(n[r])}function n(t,e){var n=e.coord[0],r=e.coord[1];return t.type===z&&n&&r&&(i(1,n,r,t)||i(0,n,r,t))?!0:h.dataFilter(t,{coord:n,x:e.x0,y:e.y0})||h.dataFilter(t,{coord:r,x:e.x1,y:e.y1})}function r(t,i,n,r,a){var o,s=r[Vi],u=t[te](i),c=l[F](u.get(n[0]),a[Wi]()),h=l[F](u.get(n[1]),a[qi]());if(isNaN(c)||isNaN(h)){if(r.getMarkerPosition)o=r.getMarkerPosition(t.getValues(n,i));else{var d=t.get(n[0],i),f=t.get(n[1],i);o=s[E]([d,f],!0)}if(s.type===z){var p=s[R]("x"),v=s[R]("y"),d=t.get(n[0],i),f=t.get(n[1],i);e(d)?o[0]=p[I](p[Oe]()["x0"===n[0]?0:1]):e(f)&&(o[1]=v[I](v[Oe]()["y0"===n[1]?0:1]))}isNaN(c)||(o[0]=c),isNaN(h)||(o[1]=h)}else o=[c,h];return o}function a(t,e,i){var r,a,l=["x0","y0","x1","y1"];t?(r=o.map(t&&t[$],function(t){var i=e[zi]().getDimensionInfo(e[v](t)[0])||{};return i.name=t,i}),a=new s(o.map(l,function(t,e){return{name:t,type:r[e%2].type}}),i)):(r=[{name:"value",type:"float"}],a=new s(r,i));var u=o.map(i.get("data"),o.curry(f,e,t,i));t&&(u=o[Ke](u,o.curry(n,t)));var c=t?function(t,e,i,n){return t.coord[Math.floor(n/2)][n%2]}:function(t){return t.value};return a.initData(u,null,c),a[K]=!0,a}var o=t(nn),s=t("../../data/List"),l=t(d),u=t(Z),c=t(en),h=t("./markerHelper"),f=function(t,e,i,n){var r=h.dataTransform(t,n[0]),a=h.dataTransform(t,n[1]),s=o[ee],l=r.coord,u=a.coord;l[0]=s(l[0],-1/0),l[1]=s(l[1],-1/0),u[0]=s(u[0],1/0),u[1]=s(u[1],1/0);var c=o.mergeAll([{},r,a]);return c.coord=[r.coord,a.coord],c.x0=r.x,c.y0=r.y,c.x1=a.x,c.y1=a.y,c},m=[["x0","y0"],["x1","y0"],["x1","y1"],["x0","y1"]];t("./MarkerView")[wi]({type:"markArea",updateLayout:function(t,e,i){e[Pi](function(t){var e=t.markAreaModel;if(e){var n=e[zi]();n.each(function(e){var a=o.map(m,function(a){return r(n,e,a,t,i)});n.setItemLayout(e,a);var s=n[pe](e);s[Q](A,a)})}},this)},renderSeries:function(t,e,i,n){var s=t[Vi],l=t.name,h=t[zi](),d=this.markerGroupMap,f=d[l];f||(f=d[l]={group:new u.Group}),this.group.add(f.group),f.__keep=!0;var v=a(s,t,e);e.setData(v),v.each(function(e){v.setItemLayout(e,o.map(m,function(i){return r(v,e,i,t,n)})),v[J](e,{color:h[Oi]("color")})}),v.diff(f.__data).add(function(t){var e=new u[he]({shape:{points:v[U](t)}});v[W](t,e),f.group.add(e)})[Li](function(t,i){var n=f.__data[pe](i);u[re](n,{shape:{points:v[U](t)}},e,t),f.group.add(n),v[W](t,n)})[Mi](function(t){var e=f.__data[pe](t);f.group[Mi](e)})[p](),v[fe](function(t,i){var n=v[te](i),r=n[Ui](w),a=n[Ui](b),s=v[Ii](i,"color");t.useStyle(o[xi](n[Ui]("itemStyle.normal")[Ue](),{fill:c.modifyAlpha(s,.4),stroke:s})),t[se]=n[Ui]("itemStyle.normal")[Ue]();var l=v[ye](i)||"",h=s||t.style.fill;u.setText(t.style,r,h),t.style.text=o[ee](e[x](i,ve),l),u.setText(t[se],a,h),t[se].text=o[ee](e[x](i,me),l),u[oe](t,{}),t.dataModel=e}),f.__data=v,f.group[vi]=e.get(vi)||t.get(vi)}})}),e("echarts/component/timeline/preprocessor",[an,nn],function(t){function e(t){var e=t.type,a={number:"value",time:"time"};if(a[e]&&(t.axisType=a[e],delete t.type),i(t),n(t,"controlPosition")){var o=t.controlStyle||(t.controlStyle={});n(o,Ee)||(o[Ee]=t.controlPosition),"none"!==o[Ee]||n(o,"show")||(o.show=!1,delete o[Ee]),delete t.controlPosition}r.each(t.data||[],function(t){r[Si](t)&&!r[ri](t)&&(!n(t,"value")&&n(t,"name")&&(t.value=t.name),i(t))})}function i(t){var e=t.itemStyle||(t.itemStyle={}),i=e[me]||(e[me]={}),a=t.label||t.label||{},o=a[ve]||(a[ve]={}),s={normal:1,emphasis:1};r.each(a,function(t,e){s[e]||n(o,e)||(o[e]=t)}),i.label&&!n(a,me)&&(a[me]=i.label,delete i.label)}function n(t,e){return t.hasOwnProperty(e)}var r=t(nn);return function(t){var i=t&&t.timeline;r[ri](i)||(i=i?[i]:[]),r.each(i,function(t){t&&e(t)})}}),e("echarts/component/timeline/SliderTimelineModel",[an,"./TimelineModel",nn,H],function(t){var e=t("./TimelineModel"),i=t(nn),n=t(H),r=e[wi]({type:"timeline.slider",defaultOption:{backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,orient:"horizontal",inverse:!1,tooltip:{trigger:"item"},symbol:"emptyCircle",symbolSize:10,lineStyle:{show:!0,width:2,color:"#304654"},label:{position:"auto",normal:{show:!0,interval:"auto",rotate:0,textStyle:{color:"#304654"}},emphasis:{show:!0,textStyle:{color:"#c23531"}}},itemStyle:{normal:{color:"#304654",borderWidth:1},emphasis:{color:"#c23531"}},checkpointStyle:{symbol:"circle",symbolSize:13,color:"#c23531",borderWidth:5,borderColor:"rgba(194,53,49, 0.5)",animation:!0,animationDuration:300,animationEasing:"quinticInOut"},controlStyle:{show:!0,showPlayBtn:!0,showPrevBtn:!0,showNextBtn:!0,itemSize:22,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:"path://M18.6,50.8l22.5-22.5c0.2-0.2,0.3-0.4,0.3-0.7c0-0.3-0.1-0.5-0.3-0.7L18.7,4.4c-0.1-0.1-0.2-0.3-0.2-0.5 c0-0.4,0.3-0.8,0.8-0.8c0.2,0,0.5,0.1,0.6,0.3l23.5,23.5l0,0c0.2,0.2,0.3,0.4,0.3,0.7c0,0.3-0.1,0.5-0.3,0.7l-0.1,0.1L19.7,52 c-0.1,0.1-0.3,0.2-0.5,0.2c-0.4,0-0.8-0.3-0.8-0.8C18.4,51.2,18.5,51,18.6,50.8z",prevIcon:"path://M43,52.8L20.4,30.3c-0.2-0.2-0.3-0.4-0.3-0.7c0-0.3,0.1-0.5,0.3-0.7L42.9,6.4c0.1-0.1,0.2-0.3,0.2-0.5 c0-0.4-0.3-0.8-0.8-0.8c-0.2,0-0.5,0.1-0.6,0.3L18.3,28.8l0,0c-0.2,0.2-0.3,0.4-0.3,0.7c0,0.3,0.1,0.5,0.3,0.7l0.1,0.1L41.9,54 c0.1,0.1,0.3,0.2,0.5,0.2c0.4,0,0.8-0.3,0.8-0.8C43.2,53.2,43.1,53,43,52.8z",normal:{color:"#304654",borderColor:"#304654",borderWidth:1},emphasis:{color:"#c23531",borderColor:"#c23531",borderWidth:2}},data:[]}});return i.mixin(r,n.dataFormatMixin),r}),e("echarts/component/timeline/typeDefaulter",[an,"../../model/Component"],function(t){t("../../model/Component").registerSubTypeDefaulter("timeline",function(){return"slider"})}),e("echarts/component/timeline/timelineAction",[an,S,nn],function(t){var e=t(S),i=t(nn);e[ii]({type:"timelineChange",event:"timelineChanged",update:"prepareAndUpdate"},function(t,e){var n=e.getComponent("timeline");return n&&null!=t.currentIndex&&(n.setCurrentIndex(t.currentIndex),!n.get("loop",!0)&&n.isIndexMax()&&n.setPlayState(!1)),e.resetOption("timeline"),i[xi]({currentIndex:n[Pe].currentIndex},t)}),e[ii]({type:"timelinePlayChange",event:"timelinePlayChanged",update:"update"},function(t,e){var i=e.getComponent("timeline");i&&null!=t.playState&&i.setPlayState(t.playState)})}),e("echarts/component/dataZoom/typeDefaulter",[an,"../../model/Component"],function(t){t("../../model/Component").registerSubTypeDefaulter("dataZoom",function(){return"slider"})}),e("echarts/component/timeline/SliderTimelineView",[an,nn,Z,g,"./TimelineView","./TimelineAxis",s,"../../coord/axisHelper",de,"zrender/core/matrix",d,a],function(t){function e(t,e){return x[He](t.getBoxLayoutParams(),{width:e[Wi](),height:e[qi]()},t.get("padding"))}function f(t,e,i,n){var r=_.makePath(t.get(e)[ai](/^path:\/\//,""),y.clone(n||{}),new L(i[0],i[1],i[2],i[3]),Be);return r}function p(t,e,i,n,r,a){var s=e.get("color");if(r)r.setColor(s),i.add(r),a&&a.onUpdate(r);else{var l=t.get(C);r=S[o](l,-1,-1,2,2,s),r[si]("strokeNoScale",!0),i.add(r),a&&a.onCreate(r)}var u=e[Ue](["color",C,T]);r[si](u),n=y.merge({rectHover:!0,z2:100},n,!0);var c=t.get(T);c=c instanceof Array?c.slice():[+c,+c],c[0]/=2,c[1]/=2,n.scale=c;var h=t.get("symbolOffset");if(h){var d=n[Ee]=n[Ee]||[0,0];d[0]+=D[F](h[0],c[0]),d[1]+=D[F](h[1],c[1])}var f=t.get("symbolRotate");return n[ie]=(f||0)*Math.PI/180||0,r.attr(n),r.updateTransform(),r}function v(t,e,i,n,r){if(!t.dragging){var a=n[Ui]("checkpointStyle"),o=i[k](n[zi]().get(["value"],e));r||!a.get(Xi,!0)?t.attr({position:[o,0]}):(t[Zi](!0),t.animateTo({position:[o,0]},a.get("animationDuration",!0),a.get("animationEasing",!0)))}}var y=t(nn),_=t(Z),x=t(g),b=t("./TimelineView"),M=t("./TimelineAxis"),S=t(s),A=t("../../coord/axisHelper"),L=t(de),I=t("zrender/core/matrix"),D=t(d),z=t(a),V=z.encodeHTML,R=y.bind,E=y.each,B=Math.PI;return b[wi]({type:"timeline.slider",init:function(t,e){this.api=e,this._axis,this._viewRect,this._timer,this._currentPointer,this._mainGroup,this._labelGroup},render:function(t,e,i){if(this.model=t,this.api=i,this[we]=e,this.group[je](),t.get("show",!0)){var n=this._layout(t,i),r=this._createGroup("mainGroup"),a=this._createGroup("labelGroup"),o=this._axis=this._createAxis(n,t);t.formatTooltip=function(t){return V(o.scale[De](t))},E(["AxisLine","AxisTick","Control","CurrentPointer"],function(e){this["_render"+e](n,r,o,t)},this),this._renderAxisLabel(n,a,o,t),this._position(n,t)}this._doPlayStop()},remove:function(){this._clearTimer(),this.group[je]()},dispose:function(){this._clearTimer()},_layout:function(t,n){var r=t.get("label.normal.position"),a=t.get(h),o=e(t,n);null==r||"auto"===r?r=a===u?o.y+o[Yi]/2=0||"+"===r?"left":"right"},l={horizontal:r>=0||"+"===r?"top":Bi,vertical:"middle"},d={horizontal:0,vertical:B/2},f=a===c?o[Yi]:o.width,p=t[Ui]("controlStyle"),v=p.get("show"),m=v?p.get("itemSize"):0,g=v?p.get("itemGap"):0,y=m+g,_=t.get("label.normal.rotate")||0;_=_*B/180;var x,b,w,M,S=p.get(Ee,!0),v=p.get("show",!0),T=v&&p.get("showPlayBtn",!0),C=v&&p.get("showPrevBtn",!0),A=v&&p.get("showNextBtn",!0),P=0,L=f;return"left"===S||S===Bi?(T&&(x=[0,0],P+=y),C&&(b=[P,0],P+=y),A&&(w=[L-m,0],L-=y)):(T&&(x=[L-m,0],L-=y),C&&(b=[0,0],P+=y),A&&(w=[L-m,0],L-=y)),M=[P,L],t.get(O)&&M[i](),{viewRect:o,mainLength:f,orient:a,rotation:d[a],labelRotation:_,labelPosOpt:r,labelAlign:s[a],labelBaseline:l[a],playPosition:x,prevBtnPosition:b,nextBtnPosition:w,axisExtent:M,controlSize:m,controlGap:g}},_position:function(t){function e(t){var e=t[Ee];t.origin=[f[0][0]-e[0],f[1][0]-e[1]]}function i(t){return[[t.x,t.x+t.width],[t.y,t.y+t[Yi]]]}function n(t,e,i,n,r){t[n]+=i[n][r]-e[n][r]}var r=this._mainGroup,a=this._labelGroup,o=t.viewRect;if(t[h]===c){var s=I[ki](),u=o.x,d=o.y+o[Yi];I.translate(s,s,[-u,-d]),I[l](s,s,-B/2),I.translate(s,s,[u,d]),o=o.clone(),o[ce](s)}var f=i(o),p=i(r[Ze]()),v=i(a[Ze]()),m=r[Ee],g=a[Ee];g[0]=m[0]=f[0][0];var y=t.labelPosOpt;if(isNaN(y)){var _="+"===y?0:1;n(m,p,f,1,_),n(g,v,f,1,1-_)}else{var _=y>=0?0:1;n(m,p,f,1,_),g[1]=m[1]+y}r.attr(Ee,m),a.attr(Ee,g),r[ie]=a[ie]=t[ie],e(r),e(a)},_createAxis:function(t,e){var i=e[zi](),n=e.get("axisType"),r=A.createScaleByModel(e,n),a=i[j]("value");r.setExtent(a[0],a[1]),this._customizeScale(r,i),r.niceTicks();var o=new M("value",r,t.axisExtent,n);return o.model=e,o},_customizeScale:function(t,e){t[ze]=function(){return e[X](["value"],function(t){return t})},t.getTicksLabels=function(){return y.map(this[ze](),t[De],t)}},_createGroup:function(t){var e=this["_"+t]=new _.Group;return this.group.add(e),e},_renderAxisLine:function(t,e,i,n){var r=i[Oe]();n.get("lineStyle.show")&&e.add(new _.Line({shape:{x1:r[0],y1:0,x2:r[1],y2:0},style:y[wi]({lineCap:"round"},n[Ui]("lineStyle")[P]()),silent:!0,z2:1}))},_renderAxisTick:function(t,e,i,n){var r=n[zi](),a=i.scale[ze]();E(a,function(t,a){var o=i[k](t),s=r[te](a),l=s[Ui]("itemStyle.normal"),u=s[Ui]("itemStyle.emphasis"),c={position:[o,0],onclick:R(this._changeTimeline,this,a)},h=p(s,l,e,c);_[oe](h,u[Ue]()),s.get("tooltip")?(h[Di]=a,h.dataModel=n):h[Di]=h.dataModel=null},this)},_renderAxisLabel:function(t,e,i,n){var r=n[Ui](w);if(r.get("show")){var a=n[zi](),o=i.scale[ze](),s=A[m](i,r.get("formatter")),l=i.getLabelInterval();E(o,function(n,r){if(!i.isLabelIgnored(r,l)){var o=a[te](r),u=o[Ui]("label.normal.textStyle"),c=o[Ui]("label.emphasis.textStyle"),h=i[k](n),d=new _.Text({style:{text:s[r],textAlign:t.labelAlign,textVerticalAlign:t.labelBaseline,textFont:u[Fe](),fill:u[Ge]()},position:[h,0],rotation:t.labelRotation-t[ie],onclick:R(this._changeTimeline,this,r),silent:!1});e.add(d),_[oe](d,c[Ue]())}},this)}},_renderControl:function(t,e,i,n){function r(t,i,r,c){if(t){var h={position:t,origin:[a/2,0],rotation:c?-o:0,rectHover:!0,style:s,onclick:r},d=f(n,i,u,h);e.add(d),_[oe](d,l)}}var a=t.controlSize,o=t[ie],s=n[Ui]("controlStyle.normal")[Ue](),l=n[Ui]("controlStyle.emphasis")[Ue](),u=[0,-a/2,a,a],c=n.getPlayState(),h=n.get(O,!0);r(t.nextBtnPosition,"controlStyle.nextIcon",R(this._changeTimeline,this,h?"-":"+")),r(t.prevBtnPosition,"controlStyle.prevIcon",R(this._changeTimeline,this,h?"+":"-")),r(t.playPosition,"controlStyle."+(c?"stopIcon":"playIcon"),R(this._handlePlayClick,this,!c),!0)},_renderCurrentPointer:function(t,e,i,n){var r=n[zi](),a=n.getCurrentIndex(),o=r[te](a)[Ui]("checkpointStyle"),s=this,l={onCreate:function(t){t.draggable=!0,t.drift=R(s._handlePointerDrag,s),t.ondragend=R(s._handlePointerDragend,s),v(t,a,i,n,!0)},onUpdate:function(t){v(t,a,i,n)}};this._currentPointer=p(o,o,this._mainGroup,{},this._currentPointer,l)},_handlePlayClick:function(t){this._clearTimer(),this.api[bi]({type:"timelinePlayChange",playState:t,from:this.uid})},_handlePointerDrag:function(t,e,i){this._clearTimer(),this._pointerChangeTimeline([i[r],i[n]])},_handlePointerDragend:function(t){this._pointerChangeTimeline([t[r],t[n]],!0)},_pointerChangeTimeline:function(t,e){var i=this._toAxisCoord(t)[0],n=this._axis,r=D.asc(n[Oe]().slice());i>r[1]&&(i=r[1]),is&&(n=s,e=a)}),e},_clearTimer:function(){this._timer&&(clearTimeout(this._timer),this._timer=null)},_changeTimeline:function(t){var e=this.model.getCurrentIndex();"+"===t?t=e+1:"-"===t&&(t=e-1),this.api[bi]({type:"timelineChange",currentIndex:t,from:this.uid})}})}),e("echarts/component/dataZoom/DataZoomModel",[an,nn,rn,S,H,"./helper","./AxisProxy"],function(t){function e(t){var e={};return d(["start","end","startValue","endValue","throttle"],function(i){t.hasOwnProperty(i)&&(e[i]=t[i])}),e}function i(t,e,i,n){null!=i[e]&&null==i[t]&&(n[t]=null)}var n=t(nn),r=t(rn),a=t(S),o=t(H),s=t("./helper"),l=t("./AxisProxy"),d=n.each,f=s.eachAxisDim,p=a[ti]({type:"dataZoom",dependencies:["xAxis","yAxis","zAxis","radiusAxis","angleAxis",yi],defaultOption:{zlevel:0,z:4,orient:null,xAxisIndex:null,yAxisIndex:null,filterMode:"filter",throttle:null,start:0,end:100,startValue:null,endValue:null},init:function(t,i,n){this._dataIntervalByAxis={},this._dataInfo={},this._axisProxies={},this.textStyleModel,this._autoThrottle=!0; -var r=e(t);this[Me](t,n),this.doInit(r)},mergeOption:function(t){var i=e(t);n.merge(this[Pe],t,!0),this.doInit(i)},doInit:function(t){var e=this[Pe];r[Fi]||(e.realtime=!1),this._setDefaultThrottle(t),i("start","startValue",t,e),i("end","endValue",t,e),this.textStyleModel=this[Ui](We),this._resetTarget(),this._giveAxisProxies()},_giveAxisProxies:function(){var t=this._axisProxies;this.eachTargetAxis(function(e,i,n,r){var a=this.dependentModels[e.axis][i],o=a.__dzAxisProxy||(a.__dzAxisProxy=new l(e.name,i,this,r));t[e.name+"_"+i]=o},this)},_resetTarget:function(){var t=this[Pe],e=this._judgeAutoMode();f(function(e){var i=e.axisIndex;t[i]=o.normalizeToArray(t[i])},this),"axisIndex"===e?this._autoSetAxisIndex():e===h&&this._autoSetOrient()},_judgeAutoMode:function(){var t=this[Pe],e=!1;f(function(i){null!=t[i.axisIndex]&&(e=!0)},this);var i=t[h];return null==i&&e?h:e?void 0:(null==i&&(t[h]=u),"axisIndex")},_autoSetAxisIndex:function(){var t=!0,e=this.get(h,!0),i=this[Pe];if(t){var r=e===c?{dim:"y",axisIndex:"yAxisIndex",axis:"yAxis"}:{dim:"x",axisIndex:"xAxisIndex",axis:"xAxis"};this.dependentModels[r.axis][Ei]&&(i[r.axisIndex]=[0],t=!1)}t&&f(function(e){if(t){var n=[],r=this.dependentModels[e.axis];if(r[Ei]&&!n[Ei])for(var a=0,o=r[Ei];o>a;a++)r[a].get("type")===M&&n.push(a);i[e.axisIndex]=n,n[Ei]&&(t=!1)}},this),t&&this[we][Pi](function(t){this._isSeriesHasAllAxesTypeOf(t,"value")&&f(function(e){var r=i[e.axisIndex],a=t.get(e.axisIndex),o=t.get(e.axisId),s=t[we][Ce]({mainType:e.axis,index:a,id:o})[0];a=s[Te],n[Ri](r,a)<0&&r.push(a)})},this)},_autoSetOrient:function(){var t;this.eachTargetAxis(function(e){!t&&(t=e.name)},this),this[Pe][h]="y"===t?c:u},_isSeriesHasAllAxesTypeOf:function(t,e){var i=!0;return f(function(n){var r=t.get(n.axisIndex),a=this.dependentModels[n.axis][r];a&&a.get("type")===e||(i=!1)},this),i},_setDefaultThrottle:function(t){if(t.hasOwnProperty("throttle")&&(this._autoThrottle=!1),this._autoThrottle){var e=this[we][Pe];this[Pe].throttle=e[Xi]&&e.animationDurationUpdate>0?100:20}},getFirstTargetAxisModel:function(){var t;return f(function(e){if(null==t){var i=this.get(e.axisIndex);i[Ei]&&(t=this.dependentModels[e.axis][i[0]])}},this),t},eachTargetAxis:function(t,e){var i=this[we];f(function(n){d(this.get(n.axisIndex),function(r){t.call(e,n,r,this,i)},this)},this)},getAxisProxy:function(t,e){return this._axisProxies[t+"_"+e]},setRawRange:function(t){d(["start","end","startValue","endValue"],function(e){this[Pe][e]=t[e]},this)},getPercentRange:function(){var t=this.findRepresentativeAxisProxy();return t?t.getDataPercentWindow():void 0},getValueRange:function(t,e){if(null!=t||null!=e)return this.getAxisProxy(t,e).getDataValueWindow();var i=this.findRepresentativeAxisProxy();return i?i.getDataValueWindow():void 0},findRepresentativeAxisProxy:function(){var t=this._axisProxies;for(var e in t)if(t.hasOwnProperty(e)&&t[e].hostedBy(this))return t[e];for(var e in t)if(t.hasOwnProperty(e)&&!t[e].hostedBy(this))return t[e]}});return p}),e("echarts/component/dataZoom/DataZoomView",[an,"../../view/Component"],function(t){var e=t("../../view/Component");return e[wi]({type:"dataZoom",render:function(t,e,i){this.dataZoomModel=t,this[we]=e,this.api=i},getTargetInfo:function(){function t(t,e,i,n){for(var r,a=0;a0&&e%g)return void(m+=v);var i=null==t||isNaN(t)||""===t,n=i?0:p(t,s,c,!0);i&&!u&&e?(d.push([d[d[Ei]-1][0],0]),f.push([f[f[Ei]-1][0],0])):!i&&u&&(d.push([m,0]),f.push([m,0])),d.push([m,n]),f.push([m,n]),m+=v,u=i});var y=this.dataZoomModel;this._displayables.barGroup.add(new r[he]({shape:{points:d},style:n[xi]({fill:y.get("dataBackgroundColor")},y[Ui]("dataBackground.areaStyle").getAreaStyle()),silent:!0,z2:-20})),this._displayables.barGroup.add(new r.Polyline({shape:{points:f},style:y[Ui]("dataBackground.lineStyle")[P](),silent:!0,z2:-19}))}},_prepareDataShadowInfo:function(){var t=this.dataZoomModel,i=t.get("showDataShadow");if(i!==!1){var r,a=this[we];return t.eachTargetAxis(function(o,s){var l=t.getAxisProxy(o.name,s).getTargetSeriesModels();n.each(l,function(t){if(!(r||i!==!0&&n[Ri](L,t.get("type"))<0)){var l=e(o.name),u=a.getComponent(o.axis,s).axis;r={thisAxis:u,series:t,thisDim:o.name,otherDim:l,otherAxisInverse:t[Vi][N](u)[O]}}},this)},this),r}},_renderHandle:function(){var t=this._displayables,e=t.handles=[],i=t.handleLabels=[],n=this._displayables.barGroup,a=this._size,o=this.dataZoomModel;n.add(t.filler=new s({draggable:!0,cursor:"move",drift:_(this._onDragMove,this,"all"),ondragstart:_(this._showDataInfo,this,!0),ondragend:_(this._onDragEnd,this),onmouseover:_(this._showDataInfo,this,!0),onmouseout:_(this._showDataInfo,this,!1),style:{fill:o.get("fillerColor"),textPosition:"inside"}})),n.add(new s(r.subPixelOptimizeRect({silent:!0,shape:{x:0,y:0,width:a[0],height:a[1]},style:{stroke:o.get("dataBackgroundColor")||o.get("borderColor"),lineWidth:w,fill:"rgba(0,0,0,0)"}})));var u=o.get("handleIcon");x([0,1],function(t){var a=r.makePath(u,{style:{strokeNoScale:!0},rectHover:!0,cursor:this._orient===c?"ns-resize":"ew-resize",draggable:!0,drift:_(this._onDragMove,this,t),ondragend:_(this._onDragEnd,this),onmouseover:_(this._showDataInfo,this,!0),onmouseout:_(this._showDataInfo,this,!1)},{x:-.5,y:0,width:1,height:1},Be),s=a[Ze]();this._handleHeight=l[F](o.get("handleSize"),this._size[1]),this._handleWidth=s.width/s[Yi]*this._handleHeight,a[si](o[Ui]("handleStyle")[Ue]());var h=o.get("handleColor");null!=h&&(a.style.fill=h),n.add(e[t]=a);var d=o.textStyleModel;this.group.add(i[t]=new r.Text({silent:!0,invisible:!0,style:{x:0,y:0,text:"",textVerticalAlign:"middle",textAlign:"center",fill:d[Ge](),textFont:d[Fe]()},z2:10}))},this)},_resetInterval:function(){var t=this._range=this.dataZoomModel.getPercentRange(),e=this._getViewExtent();this._handleEnds=[p(t[0],[0,100],e,!0),p(t[1],[0,100],e,!0)]},_updateInterval:function(t,e){var i=this._handleEnds,n=this._getViewExtent();m(e,i,n,"all"===t||this.dataZoomModel.get("zoomLock")?"rigid":"cross",t),this._range=y([p(i[0],n,[0,100],!0),p(i[1],n,[0,100],!0)])},_updateView:function(){var t=this._displayables,e=this._handleEnds,i=y(e.slice()),n=this._size;x([0,1],function(i){var r=t.handles[i],a=this._handleHeight;r.attr({scale:[a,a],position:[e[i],n[1]/2-a/2]})},this),t.filler[Q]({x:i[0],y:0,width:i[1]-i[0],height:n[1]}),this._updateDataInfo()},_updateDataInfo:function(){function t(t){var e=r.getTransform(i.handles[t][ne],this.group),s=r.transformDirection(0===t?"right":"left",e),l=this._handleWidth/2+A,c=r[ce]([u[t]+(0===t?-l:l),this._size[1]/2],e);n[t][si]({x:c[0],y:c[1],textVerticalAlign:a===T?Ne:s,textAlign:a===T?s:Be,text:o[t]})}var e=this.dataZoomModel,i=this._displayables,n=i.handleLabels,a=this._orient,o=["",""];if(e.get("showDetail")){var s,l;e.eachTargetAxis(function(t,i){s||(s=e.getAxisProxy(t.name,i).getDataValueWindow(),l=this[we].getComponent(t.axis,i).axis)},this),s&&(o=[this._formatLabel(s[0],l),this._formatLabel(s[1],l)])}var u=y(this._handleEnds.slice());t.call(this,0),t.call(this,1)},_formatLabel:function(t,e){var i=this.dataZoomModel,r=i.get("labelFormatter"),a=i.get("labelPrecision");(null==a||"auto"===a)&&(a=e.getPixelPrecision());var o=null==t&&isNaN(t)?"":e.type===M||"time"===e.type?e.scale[De](Math.round(t)):t[G](Math.min(a,20));return n.isFunction(r)?r(t,o):n[Ye](r)?r[ai]("{value}",o):o},_showDataInfo:function(t){t=this._dragging||t;var e=this._displayables.handleLabels;e[0].attr("invisible",!t),e[1].attr("invisible",!t)},_onDragMove:function(t,e,i){this._dragging=!0;var n=this._applyBarTransform([e,i],!0);this._updateInterval(t,n[0]),this._updateView(),this.dataZoomModel.get("realtime")&&this._dispatchZoomAction()},_onDragEnd:function(){this._dragging=!1,this._showDataInfo(!1),this._dispatchZoomAction()},_dispatchZoomAction:function(){var t=this._range;this.api[bi]({type:"dataZoom",from:this.uid,dataZoomId:this.dataZoomModel.id,start:t[0],end:t[1]})},_applyBarTransform:function(t,e){var i=this._displayables.barGroup.getLocalTransform();return r[ce](t,i,e)},_findCoordRect:function(){var t,e=this.getTargetInfo();if(e.cartesians[Ei])t=e.cartesians[0].model[Vi][Xe]();else{var i=this.api[Wi](),n=this.api[qi]();t={x:.2*i,y:.2*n,width:.6*i,height:.6*n}}return t}});return k}),e("echarts/component/dataZoom/InsideZoomView",[an,"./DataZoomView",nn,"../helper/sliderMove","./roams"],function(t){function e(t){var e=[0,100];return!(t[0]<=e[1])&&(t[0]=e[1]),!(t[1]<=e[1])&&(t[1]=e[1]),!(t[0]>=e[0])&&(t[0]=e[0]),!(t[1]>=e[0])&&(t[1]=e[0]),t}var i=t("./DataZoomView"),n=t(nn),r=t("../helper/sliderMove"),a=t("./roams"),o=n.bind,s=i[wi]({type:"dataZoom.inside",init:function(){this._range},render:function(t,e,i,r){s[f](this,"render",arguments),a.shouldRecordRange(r,t.id)&&(this._range=t.getPercentRange());var u=this.getTargetInfo();n.each(["cartesians","polars"],function(e){var r=u[e],s=n.map(r,function(t){return a.generateCoordId(t.model)});n.each(r,function(n){var r=n.model,u=r[Vi];a[ei](i,{coordId:a.generateCoordId(r),allCoordIds:s,coordinateSystem:u,containsPoint:o(l[e].containsPoint,this,u),dataZoomId:t.id,throttleRate:t.get("throttle",!0),panGetRange:o(this._onPan,this,n,e),zoomGetRange:o(this._onZoom,this,n,e)})},this)},this)},dispose:function(){a.unregister(this.api,this.dataZoomModel.id),s[f](this,gi,arguments),this._range=null},_onPan:function(t,e,i,n,a,o,s,u,c){if(this.dataZoomModel[Pe][vi])return this._range;var h=this._range.slice(),d=t.axisModels[0];if(d){var f=l[e].getDirectionInfo([o,s],[u,c],d,i,t),p=f.signal*(h[1]-h[0])*f.pixel/f.pixelLength;return r(p,h,[0,100],"rigid"),this._range=h}},_onZoom:function(t,i,n,r,a,o){var s=this.dataZoomModel[Pe];if(s[vi]||s.zoomLock)return this._range;var u=this._range.slice(),c=t.axisModels[0];if(c){var h=l[i].getDirectionInfo(null,[a,o],c,n,t),d=(h.pixel-h.pixelStart)/h.pixelLength*(u[1]-u[0])+u[0];return r=Math.max(1/r,0),u[0]=(u[0]-d)*r+d,u[1]=(u[1]-d)*r+d,this._range=e(u)}}}),l={cartesians:{getDirectionInfo:function(t,e,i,n,r){var a=i.axis,o={},s=r.model[Vi][Xe]();return t=t||[0,0],"x"===a.dim?(o.pixel=e[0]-t[0],o.pixelLength=s.width,o.pixelStart=s.x,o.signal=a[O]?1:-1):(o.pixel=e[1]-t[1],o.pixelLength=s[Yi],o.pixelStart=s.y,o.signal=a[O]?-1:1),o},containsPoint:function(t,e,i){return t[Xe]()[Ie](e,i)}},polars:{getDirectionInfo:function(t,e,i,n,r){var a=i.axis,o={},s=r.model[Vi],l=s.getRadiusAxis()[Oe](),u=s.getAngleAxis()[Oe]();return t=t?s.pointToCoord(t):[0,0],e=s.pointToCoord(e),"radiusAxis"===i.mainType?(o.pixel=e[0]-t[0],o.pixelLength=l[1]-l[0],o.pixelStart=l[0],o.signal=a[O]?1:-1):(o.pixel=e[1]-t[1],o.pixelLength=u[1]-u[0],o.pixelStart=u[0],o.signal=a[O]?-1:1),o},containsPoint:function(t,e,i){var n=t.getRadiusAxis()[Oe]()[1],r=t.cx,a=t.cy;return Math.pow(e-r,2)+Math.pow(i-a,2)<=Math.pow(n,2)}}};return s}),e("echarts/component/dataZoom/dataZoomProcessor",[an,S],function(t){function e(t,e,i){i.getAxisProxy(t.name,e).reset(i)}function i(t,e,i){i.getAxisProxy(t.name,e).filterData(i)}var n=t(S);n.registerProcessor(function(t){t[Hi]("dataZoom",function(t){t.eachTargetAxis(e),t.eachTargetAxis(i)}),t[Hi]("dataZoom",function(t){var e=t.findRepresentativeAxisProxy(),i=e.getDataPercentWindow(),n=e.getDataValueWindow();t.setRawRange({start:i[0],end:i[1],startValue:n[0],endValue:n[1]})})})}),e("echarts/component/dataZoom/dataZoomAction",[an,nn,"./helper",S],function(t){var e=t(nn),i=t("./helper"),n=t(S);n[ii]("dataZoom",function(t,n){var r=i.createLinkedNodesFinder(e.bind(n[Hi],n,"dataZoom"),i.eachAxisDim,function(t,e){return t.get(e.axisIndex)}),a=[];n[Hi]({mainType:"dataZoom",query:t},function(t){a.push.apply(a,r(t).nodes)}),e.each(a,function(e){e.setRawRange({start:t.start,end:t.end,startValue:t.startValue,endValue:t.endValue})})})}),e("echarts/component/brush/preprocessor",[an,nn],function(t){function e(t){var e={};i.each(t,function(t){e[t]=1}),t[Ei]=0,i.each(e,function(e,i){t.push(i)})}var i=t(nn),n=["rect","polygon","keep","clear"];return function(t,r){var a=t&&t.brush;if(i[ri](a)||(a=a?[a]:[]),a[Ei]){var o=[];i.each(a,function(t){var e=t.hasOwnProperty("toolbox")?t.toolbox:[];e instanceof Array&&(o=o[Se](e))});var s=t&&t.toolbox;i[ri](s)&&(s=s[0]),s||(s={feature:{}},t.toolbox=[s]);var l=s.feature||(s.feature={}),u=l.brush||(l.brush={}),c=u.type||(u.type=[]);c.push.apply(c,o),e(c),r&&!c[Ei]&&c.push.apply(c,n)}}}),e("echarts/component/brush/BrushModel",[an,S,nn,"../../visual/visualSolution","../../model/Model"],function(t){var e=t(S),i=t(nn),n=t("../../visual/visualSolution"),r=t("../../model/Model"),a=["#ddd"],o=e[ti]({type:"brush",dependencies:["geo","grid","xAxis","yAxis","parallel",yi],defaultOption:{toolbox:null,brushLink:null,seriesIndex:"all",geoIndex:null,xAxisIndex:null,yAxisIndex:null,brushType:"rect",brushMode:"single",transformable:!0,brushStyle:{borderWidth:1,color:"rgba(120,140,180,0.3)",borderColor:"rgba(120,140,180,0.8)",width:null},throttleType:"fixRate",throttleDelay:0,removeOnClick:!0},areas:[],brushType:null,brushOption:{},coordInfoList:[],optionUpdated:function(t,e){var i=this[Pe];!e&&n.replaceVisualOption(i,t,["inBrush","outOfBrush"]),i.inBrush=i.inBrush||{},i.outOfBrush=i.outOfBrush||{color:a}},setAreas:function(t){t&&(this.areas=i.map(t,function(t){return this._mergeBrushOption(t)},this))},setBrushOption:function(t){this.brushOption=this._mergeBrushOption(t),this.brushType=this.brushOption.brushType},_mergeBrushOption:function(t){var e=this[Pe];return i.merge({brushType:e.brushType,brushMode:e.brushMode,transformable:e.transformable,brushStyle:new r(e.brushStyle)[Ue](),removeOnClick:e.removeOnClick},t,!0)}});return o}),e("echarts/component/brush/visualEncoding",[an,S,"../../visual/visualSolution",nn,de,"./selector","../../util/throttle","../helper/brushHelper"],function(t){function e(t,e,n,r,a){if(a){var o=t.getZr();if(!o[g]){o[m]||(o[m]=i);var s=f.createOrUpdate(o,m,n,e);s(t,r)}}}function i(t,e){if(!t.isDisposed()){var i=t.getZr();i[g]=!0,t[bi]({type:"brushSelect",batch:e}),i[g]=!1}}function n(t,e,i,n){for(var r=i[U](n),a=0,o=e[Ei];o>a;a++){var s=e[a];if(t[s.brushType](r,s.selectors,s))return!0}}function r(t){var e=t.brushSelector;if(c[Ye](e)){var i=[];return c.each(d,function(t,n){i[n]=t[e]}),i}if(c.isFunction(e)){var n={};return c.each(d,function(t,i){n[i]=e}),n}return e}function a(t,e){var i=t[Pe][ci];return null!=i&&"all"!==i&&(c[ri](i)?c[Ri](i,e)<0:e!==i)}function o(t){var e=t.selectors={};return c.each(d[t.brushType],function(i,n){e[n]=function(n){return i(n,e,t)}}),t}function s(t){return new h(t[0][0],t[1][0],t[0][1]-t[0][0],t[1][1]-t[1][0])}var l=t(S),u=t("../../visual/visualSolution"),c=t(nn),h=t(de),d=t("./selector"),f=t("../../util/throttle"),p=t("../helper/brushHelper"),v=["inBrush","outOfBrush"],m="__ecBrushSelect",g="__ecInBrushSelectEvent",_=l.PRIORITY.VISUAL.BRUSH;l.registerLayout(_,function(t,e,i){t[Hi]({mainType:"brush"},function(e){i&&"takeGlobalCursor"===i.type&&e.setBrushOption("brush"===i.key?i.brushOption:{brushType:!1}),e.coordInfoList=p.makeCoordInfoList(e[Pe],t),p.parseInputRanges(e,t)})}),l.registerVisual(_,function(t,i,s){var l,h,d=[];t[Hi]({mainType:"brush"},function(e,i){function s(t){return"all"===w||M[t]}function f(t){return!!t[Ei]}function m(t,e){var i=t[Vi];C|=i.hasAxisbrushed(),s(e)&&i.eachActiveState(t[zi](),function(t,e){"active"===t&&(S[e]=1)})}function g(t,i,o){var l=r(t);if(l&&!a(e,i)&&(c.each(A,function(i){l[i.brushType]&&p.controlSeries(i,e,t)&&o.push(i),C|=f(o)}),s(i)&&f(o))){var u=t[zi]();u.each(function(t){n(l,o,u,t)&&(S[t]=1)})}}var _={brushId:e.id,brushIndex:i,brushName:e.name,areas:c.clone(e.areas),selected:[]};d.push(_);var b=e[Pe],w=b.brushLink,M=[],S=[],T=[],C=0;i||(l=b.throttleType,h=b.throttleDelay);var A=c.map(e.areas,function(t){return o(c[xi]({boundingRect:x[t.brushType](t)},t))}),P=u.createVisualMappings(e[Pe],v,function(t){t.mappingMethod="fixed"});c[ri](w)&&c.each(w,function(t){M[t]=1}),t[Pi](function(t,e){var i=T[e]=[];"parallel"===t.subType?m(t,e,i):g(t,e,i)}),t[Pi](function(t,e){var i={seriesId:t.id,seriesIndex:e,seriesName:t.name,dataIndex:[]};_[y].push(i);var a=r(t),o=T[e],l=t[zi](),c=s(e)?function(t){return S[t]?(i[Di].push(l.getRawIndex(t)),"inBrush"):"outOfBrush"}:function(t){return n(a,o,l,t)?(i[Di].push(l.getRawIndex(t)),"inBrush"):"outOfBrush"};(s(e)?C:f(o))&&u.applyVisual(v,P,l,c)})}),e(i,l,h,d,s)});var x={lineX:c.noop,lineY:c.noop,rect:function(t){return s(t.range)},polygon:function(t){for(var e,i=t.range,n=0,r=i[Ei];r>n;n++){e=e||[[1/0,-1/0],[1/0,-1/0]];var a=i[n];a[0]e[0][1]&&(e[0][1]=a[0]),a[1]e[1][1]&&(e[1][1]=a[1])}return e&&s(e)}}}),e("echarts/component/brush/BrushView",[an,nn,"../helper/BrushController",S,"../helper/brushHelper"],function(t){function e(t,e,i,n){(!n||n.$from!==t.id)&&this._brushController.setPanels(a.makePanelOpts(t.coordInfoList)).enableBrush(t.brushOption).updateCovers(t.areas.slice())}var i=t(nn),n=t("../helper/BrushController"),r=t(S),a=t("../helper/brushHelper");return r[Je]({type:"brush",init:function(t,e){this[we]=t,this.api=e,this.model,(this._brushController=new n(e.getZr())).on("brush",i.bind(this._onBrush,this)).mount()},render:function(t){return this.model=t,e.apply(this,arguments)},updateView:e,updateLayout:e,updateVisual:e,dispose:function(){this._brushController[gi]()},_onBrush:function(t,e){var n=this.model.id;a.parseOutputRanges(t,this.model.coordInfoList,this[we]),(!e.isEnd||e.removeOnClick)&&this.api[bi]({type:"brush",brushId:n,areas:i.clone(t),$from:n})}})}),e("echarts/component/brush/brushAction",[an,S],function(t){var e=t(S);e[ii]({type:"brush",event:"brush",update:"updateView"},function(t,e){e[Hi]({mainType:"brush",query:t},function(e){e.setAreas(t.areas)})}),e[ii]({type:"brushSelect",event:"brushSelected",update:"none"},function(){})}),e("echarts/component/toolbox/feature/Brush",[an,"../featureManager",nn],function(t){function e(t,e,i){this.model=t,this[we]=e,this.api=i,this._brushType,this._brushMode}var i=t("../featureManager"),n=t(nn);e.defaultOption={show:!0,type:["rect","polygon","lineX","lineY","keep","clear"],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:{rect:"矩形选择",polygon:"圈选",lineX:"横向选择",lineY:"纵向选择",keep:"保持选择",clear:"清除选择"}};var r=e[Qi];return r.render=r.updateView=r[Ai]=function(t,e){var i,r,a;e[Hi]({mainType:"brush"},function(t){i=t.brushType,r=t.brushOption.brushMode||"single",a|=t.areas[Ei]}),this._brushType=i,this._brushMode=r,n.each(t.get("type",!0),function(e){t.setIconStatus(e,("keep"===e?"multiple"===r:"clear"===e?a:e===i)?me:ve)})},r.getIcons=function(){var t=this.model,e=t.get("icon",!0),i={};return n.each(t.get("type",!0),function(t){e[t]&&(i[t]=e[t])}),i},r.onclick=function(t,e,i){var e=this.api,n=this._brushType,r=this._brushMode;e[bi]("clear"===i?{type:"brush",areas:[]}:{type:"takeGlobalCursor",key:"brush",brushOption:{brushType:"keep"===i?n:n===i?!1:i,brushMode:"keep"===i?"multiple"===r?"single":"multiple":r}})},i[ei]("brush",e),e}),e("echarts/component/visualMapContinuous",[an,"../echarts","./visualMap/preprocessor","./visualMap/typeDefaulter","./visualMap/visualEncoding","./visualMap/ContinuousModel","./visualMap/ContinuousView","./visualMap/visualMapAction"],function(t){t("../echarts").registerPreprocessor(t("./visualMap/preprocessor")),t("./visualMap/typeDefaulter"),t("./visualMap/visualEncoding"),t("./visualMap/ContinuousModel"),t("./visualMap/ContinuousView"),t("./visualMap/visualMapAction")}),e("echarts/component/visualMapPiecewise",[an,"../echarts","./visualMap/preprocessor","./visualMap/typeDefaulter","./visualMap/visualEncoding","./visualMap/PiecewiseModel","./visualMap/PiecewiseView","./visualMap/visualMapAction"],function(t){t("../echarts").registerPreprocessor(t("./visualMap/preprocessor")),t("./visualMap/typeDefaulter"),t("./visualMap/visualEncoding"),t("./visualMap/PiecewiseModel"),t("./visualMap/PiecewiseView"),t("./visualMap/visualMapAction")}),e("echarts/component/toolbox/ToolboxView",[an,"./featureManager",nn,Z,"../../model/Model","../../data/DataDiffer","../helper/listComponent","zrender/contain/text",S],function(t){function e(t){return 0===t[Ri]("my")}var i=t("./featureManager"),n=t(nn),r=t(Z),a=t("../../model/Model"),o=t("../../data/DataDiffer"),s=t("../helper/listComponent"),l=t("zrender/contain/text");return t(S)[Je]({type:"toolbox",render:function(t,u,c,h){function d(n,r){var o,s=_[n],l=_[r],d=g[s],p=new a(d,t,t[we]);if(s&&!l){if(e(s))o={model:p,onclick:p[Pe].onclick,featureName:s};else{var v=i.get(s);if(!v)return;o=new v(p,u,c)}y[s]=o}else{if(o=y[l],!o)return;o.model=p,o[we]=u,o.api=c}return!s&&l?void(o[gi]&&o[gi](u,c)):!p.get("show")||o.unusable?void(o[Mi]&&o[Mi](u,c)):(f(p,o,s),p.setIconStatus=function(t,e){var i=this[Pe],n=this.iconPaths;i.iconStatus=i.iconStatus||{},i.iconStatus[t]=e,n[t]&&n[t][_i](e)},void(o.render&&o.render(p,u,c,h)))}function f(e,i,a){var o=e[Ui]("iconStyle"),s=i.getIcons?i.getIcons():e.get("icon"),l=e.get("title")||{};if(typeof s===Ki){var h=s,d=l;s={},l={},s[a]=h,l[a]=d}var f=e.iconPaths={};n.each(s,function(a,s){var h=o[Ui](ve)[Ue](),d=o[Ui](me)[Ue](),p={x:-m/2,y:-m/2,width:m,height:m},g=0===a[Ri]("image://")?(p.image=a.slice(8),new r.Image({style:p})):r.makePath(a[ai]("path://",""),{style:h,hoverStyle:d,rectHover:!0},p,Be);r[oe](g),t.get("showTitle")&&(g.__title=l[s],g.on(pi,function(){var t=o[Ui](me)[Ue]();g[si]({text:l[s],textPosition:t.textPosition||Bi,textFill:t.fill||t[le]||"#000",textAlign:t[qe]||Be})}).on(fi,function(){g[si]({textFill:null})})),g[_i](e.get("iconStatus."+s)||ve),v.add(g),g.on("click",n.bind(i.onclick,i,u,c,s)),f[s]=g})}var v=this.group;if(v[je](),t.get("show")){var m=+t.get("itemSize"),g=t.get("feature")||{},y=this._features||(this._features={}),_=[];n.each(g,function(t,e){_.push(e)}),new o(this._featureNames||[],_).add(d)[Li](d)[Mi](n.curry(d,null))[p](),this._featureNames=_,s.layout(v,t,c),s.addBackground(v,t),v.eachChild(function(t){var e=t.__title,i=t[se];if(i&&e){var n=l[Ze](e,i.font),r=t[Ee][0]+v[Ee][0],a=t[Ee][1]+v[Ee][1]+m,o=!1;a+n[Yi]>c[qi]()&&(i.textPosition="top",o=!0);var s=o?-5-n[Yi]:m+8;r+n.width/2>c[Wi]()?(i.textPosition=["100%",s],i[qe]="right"):r-n.width/2<0&&(i.textPosition=[0,s],i[qe]="left")}})}},updateView:function(t,e,i,r){n.each(this._features,function(t){t.updateView&&t.updateView(t.model,e,i,r)})},updateLayout:function(t,e,i,r){n.each(this._features,function(t){t[Ai]&&t[Ai](t.model,e,i,r)})},remove:function(t,e){n.each(this._features,function(i){i[Mi]&&i[Mi](t,e)}),this.group[je]()},dispose:function(t,e){n.each(this._features,function(i){i[gi]&&i[gi](t,e)})}})}),e("echarts/component/toolbox/ToolboxModel",[an,"./featureManager",nn,S],function(t){var e=t("./featureManager"),i=t(nn),n=t(S)[ti]({type:"toolbox",layoutMode:{type:"box",ignoreSize:!0},mergeDefaultAndTheme:function(){n[f](this,Me,arguments),i.each(this[Pe].feature,function(t,n){var r=e.get(n);r&&i.merge(t,r.defaultOption)})},defaultOption:{show:!0,z:6,zlevel:0,orient:"horizontal",left:"right",top:"top",backgroundColor:"transparent",borderColor:"#ccc",borderWidth:0,padding:5,itemSize:15,itemGap:8,showTitle:!0,iconStyle:{normal:{borderColor:"#666",color:"none"},emphasis:{borderColor:"#3E98C5"}}}});return n}),e("echarts/component/toolbox/feature/SaveAsImage",[an,rn,"../featureManager"],function(t){function e(t){this.model=t}var i=t(rn);e.defaultOption={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:"保存为图片",type:"png",name:"",excludeComponents:["toolbox"],pixelRatio:1,lang:["右键另存为图片"]},e[Qi].unusable=!i[Fi];var n=e[Qi];return n.onclick=function(t,e){var i=this.model,n=i.get("name")||t.get("title.0.text")||"echarts",r=document.createElement("a"),a=i.get("type",!0)||"png";r.download=n+"."+a,r[hi]="_blank";var o=e.getConnectedDataURL({type:a,backgroundColor:i.get(Gi,!0)||t.get(Gi)||"#fff",excludeComponents:i.get("excludeComponents"),pixelRatio:i.get("pixelRatio")});if(r.href=o,typeof MouseEvent===ni){var s=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!1});r.dispatchEvent(s)}else{var l=i.get("lang"),u='',c=window.open();c.document.write(u)}},t("../featureManager")[ei]("saveAsImage",e),e}),e("echarts/component/toolbox/feature/MagicType",[an,nn,"../../../echarts","../featureManager"],function(t){function e(t){this.model=t}var i=t(nn);e.defaultOption={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",tiled:"M2.3,2.2h22.8V25H2.3V2.2z M35,2.2h22.8V25H35V2.2zM2.3,35h22.8v22.8H2.3V35z M35,35h22.8v22.8H35V35z"},title:{line:"切换为折线图",bar:"切换为柱状图",stack:"切换为堆叠",tiled:"切换为平铺"},option:{},seriesIndex:{}};var n=e[Qi];n.getIcons=function(){var t=this.model,e=t.get("icon"),n={};return i.each(t.get("type"),function(t){e[t]&&(n[t]=e[t])}),n};var r={line:function(t,e,n,r){return"bar"===t?i.merge({id:e,type:"line",data:n.get("data"),stack:n.get("stack"),markPoint:n.get("markPoint"),markLine:n.get("markLine")},r.get("option.line")||{},!0):void 0},bar:function(t,e,n,r){return"line"===t?i.merge({id:e,type:"bar",data:n.get("data"),stack:n.get("stack"),markPoint:n.get("markPoint"),markLine:n.get("markLine")},r.get("option.bar")||{},!0):void 0},stack:function(t,e,n,r){return"line"===t||"bar"===t?i.merge({id:e,stack:"__ec_magicType_stack__"},r.get("option.stack")||{},!0):void 0},tiled:function(t,e,n,r){return"line"===t||"bar"===t?i.merge({id:e,stack:""},r.get("option.tiled")||{},!0):void 0}},a=[["line","bar"],["stack","tiled"]];n.onclick=function(t,e,n){var o=this.model,s=o.get("seriesIndex."+n);if(r[n]){var l={series:[]},u=function(e){var a=e.subType,s=e.id,u=r[n](a,s,e,o);u&&(i[xi](u,e[Pe]),l[yi].push(u));var c=e[Vi];if(c&&c.type===z&&("line"===n||"bar"===n)){var h=c.getAxesByScale(xe)[0];if(h){var d=h.dim,f=d+"Axis",p=t[Ce]({mainType:f,index:e.get(name+"Index"),id:e.get(name+"Id")})[0],v=p[Te];l[f]=l[f]||[]; -for(var m=0;v>=m;m++)l[f][v]=l[f][v]||{};l[f][v].boundaryGap="bar"===n?!0:!1}}};i.each(a,function(t){i[Ri](t,n)>=0&&i.each(t,function(t){o.setIconStatus(t,ve)})}),o.setIconStatus(n,me),t[Hi]({mainType:"series",query:null==s?null:{seriesIndex:s}},u),e[bi]({type:"changeMagicType",currentType:n,newOption:l})}};var o=t("../../../echarts");return o[ii]({type:"changeMagicType",event:"magicTypeChanged",update:"prepareAndUpdate"},function(t,e){e[Ae](t.newOption)}),t("../featureManager")[ei]("magicType",e),e}),e("echarts/component/toolbox/feature/DataView",[an,nn,"zrender/core/event","../featureManager","../../../echarts"],function(t){function e(t){var e={},i=[],n=[];return t.eachRawSeries(function(t){var r=t[Vi];if(!r||r.type!==z&&"polar"!==r.type)i.push(t);else{var a=r[be]();if(a.type===M){var o=a.dim+"_"+a.index;e[o]||(e[o]={categoryAxis:a,valueAxis:r[N](a),series:[]},n.push({axisDim:a.dim,axisIndex:a.index})),e[o][yi].push(t)}else i.push(t)}}),{seriesGroupByCategoryAxis:e,other:i,meta:n}}function i(t){var e=[];return d.each(t,function(t){var i=t.categoryAxis,n=t.valueAxis,r=n.dim,a=[" "][Se](d.map(t[yi],function(t){return t.name})),o=[i.model.getCategories()];d.each(t[yi],function(t){o.push(t.getRawData()[X](r,function(t){return t}))});for(var s=[a.join(v)],l=0;lo;o++)n[o]=arguments[o];i.push((a?a+v:"")+n.join(v))}),i.join("\n")}).join("\n\n"+p+"\n\n")}function r(t){var r=e(t);return{value:d[Ke]([i(r.seriesGroupByCategoryAxis),n(r.other)],function(t){return t[ai](/[\n\t\s]/g,"")}).join("\n\n"+p+"\n\n"),meta:r.meta}}function a(t){return t[ai](/^\s\s*/,"")[ai](/\s\s*$/,"")}function o(t){var e=t.slice(0,t[Ri]("\n"));return e[Ri](v)>=0?!0:void 0}function s(t){for(var e=t.split(/\n+/g),i=a(e.shift()).split(m),n=[],r=d.map(i,function(t){return{name:t,data:[]}}),o=0;o1?me:ve)}function r(t,e,n,r){var a=n._isZoomActive;r&&"takeGlobalCursor"===r.type&&(a="dataZoomSelect"===r.key?r.dataZoomSelectActive:!1),n._isZoomActive=a,t.setIconStatus("zoom",a?me:ve);var o=s.makeCoordInfoList(i(t[Pe]),e),l=o.xAxisHas&&!o.yAxisHas?"lineX":!o.xAxisHas&&o.yAxisHas?"lineY":"rect";n._brushController.setPanels(s.makePanelOpts(o)).enableBrush(a?{brushType:l,brushStyle:{lineWidth:0,fill:"rgba(0,0,0,0.2)"}}:!1)}var a=t(nn),o=t("../../helper/BrushController"),s=t("../../helper/brushHelper"),l=t("../../dataZoom/history"),u=a.each;t("../../dataZoomSelect");var c="\x00_ec_\x00toolbox-dataZoom_";e.defaultOption={show:!0,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:{zoom:"区域缩放",back:"区域缩放还原"}};var h=e[Qi];h.render=function(t,e,i,a){this.model=t,this[we]=e,this.api=i,r(t,e,this,a),n(t,e)},h.onclick=function(t,e,i){d[i].call(this)},h[Mi]=function(){this._brushController.unmount()},h[gi]=function(){this._brushController[gi]()};var d={zoom:function(){var t=!this._isZoomActive;this.api[bi]({type:"takeGlobalCursor",key:"dataZoomSelect",dataZoomSelectActive:t})},back:function(){this._dispatchZoomAction(l.pop(this[we]))}};return h._onBrush=function(t,e){function n(t,e,i){var n=r(t,i[t],o);n&&(a[n.id]={dataZoomId:n.id,startValue:e[0],endValue:e[1]})}function r(t,e,i){var n;return i[Hi]({mainType:"dataZoom",subType:"select"},function(r){var a=r.get(t+"Index");null!=a&&i.getComponent(t,a)===e&&(n=r)}),n}if(e.isEnd&&t[Ei]){var a={},o=this[we];this._brushController.updateCovers([]);var u=s.makeCoordInfoList(i(this.model[Pe]),o),c=[];s.parseOutputRanges(t,u,o,c);var h=t[0],d=c[0],f=h.coordRange,p=h.brushType;if(d&&f)if("rect"===p)n("xAxis",f[0],d),n("yAxis",f[1],d);else{var v={lineX:"xAxis",lineY:"yAxis"};n(v[p],f,d)}l.push(o,a),this._dispatchZoomAction(a)}},h._dispatchZoomAction=function(t){var e=[];u(t,function(t){e.push(a.clone(t))}),e[Ei]&&this.api[bi]({type:"dataZoom",from:this.uid,batch:e})},t("../featureManager")[ei]("dataZoom",e),t("../../../echarts").registerPreprocessor(function(t){function e(t,e){if(e){var r=t+"Index",o=e[r];null==o||"all"==o||a[ri](o)||(o=o===!1||"none"===o?[]:[o]),i(t,function(e,i){if(null==o||"all"==o||-1!==a[Ri](o,i)){var s={type:"select",$fromToolbox:!0,id:c+t+i};s[r]=i,n.push(s)}})}}function i(e,i){var n=t[e];a[ri](n)||(n=n?[n]:[]),u(n,i)}if(t){var n=t.dataZoom||(t.dataZoom=[]);a[ri](n)||(t.dataZoom=n=[n]);var r=t.toolbox;if(r&&(a[ri](r)&&(r=r[0]),r&&r.feature)){var o=r.feature.dataZoom;e("xAxis",o),e("yAxis",o)}}}),e}),e("echarts/scale/Scale",[an,"../util/clazz"],function(t){function e(){this._extent=[1/0,-1/0],this._interval=0,this.init&&this.init.apply(this,arguments)}var i=t("../util/clazz"),n=e[Qi];return n.parse=function(t){return t},n[Ie]=function(t){var e=this._extent;return t>=e[0]&&t<=e[1]},n.normalize=function(t){var e=this._extent;return e[1]===e[0]?.5:(t-e[0])/(e[1]-e[0])},n.scale=function(t){var e=this._extent;return t*(e[1]-e[0])+e[0]},n.unionExtent=function(t){var e=this._extent;t[0]e[1]&&(e[1]=t[1])},n[Oe]=function(){return this._extent.slice()},n.setExtent=function(t,e){var i=this._extent;isNaN(t)||(i[0]=t),isNaN(e)||(i[1]=e)},n.getTicksLabels=function(){for(var t=[],e=this[ze](),i=0;ie[1]&&(e[1]=t[1]),u[Qi].setExtent.call(this,e[0],e[1])},getInterval:function(){return this._interval||this.niceTicks(),this._interval},setInterval:function(t){this._interval=t,this._niceExtent=this._extent.slice()},getTicks:function(){this._interval||this.niceTicks();var t=this._interval,e=this._extent,i=[],n=1e4;if(t){var r=this._niceExtent,a=s(t)+2;e[0]n)return[];e[1]>(i[Ei]?i[i[Ei]-1]:r[1])&&i.push(e[1])}return i},getTicksLabels:function(){for(var t=[],e=this[ze](),i=0;ir&&(r=-r,n[i]());var u=l(e.nice(r/t,!0),Math.max(s(n[0]),s(n[1]))+2),c=s(u)+2,h=[l(o(n[0]/u)*u,c),l(a(n[1]/u)*u,c)];this._interval=u,this._niceExtent=h}},niceExtent:function(t,e,i){var n=this._extent;if(n[0]===n[1])if(0!==n[0]){var r=n[0];i?n[0]-=r/2:(n[1]+=r/2,n[0]-=r/2)}else n[1]=1;var s=n[1]-n[0];isFinite(s)||(n[0]=0,n[1]=1),this.niceTicks(t);var u=this._interval;e||(n[0]=l(a(n[0]/u)*u)),i||(n[1]=l(o(n[1]/u)*u))}});return u[ki]=function(){return new u},u}),e("echarts/model/globalDefault",[],function(){var t="";return typeof navigator!==ke&&(t=navigator.platform||""),{color:["#c23531","#2f4554","#61a0a8","#d48265","#91c7ae","#749f83","#ca8622","#bda29a","#6e7074","#546570","#c4ccd3"],textStyle:{fontFamily:t.match(/^Win/)?"Microsoft YaHei":"sans-serif",fontSize:12,fontStyle:"normal",fontWeight:"normal"},blendMode:null,animation:!0,animationDuration:1e3,animationDurationUpdate:300,animationEasing:"exponentialOut",animationEasingUpdate:"cubicOut",animationThreshold:2e3,progressiveThreshold:3e3,progressive:400,hoverLayerThreshold:3e3}}),e("echarts/model/mixin/colorPalette",[],function(){return{clearColorPalette:function(){this._colorIdx=0,this._colorNameMap={}},getColorFromPalette:function(t,e){e=e||this;var i=e._colorIdx||0,n=e._colorNameMap||(e._colorNameMap={});if(n[t])return n[t];var r=this.get("color",!0)||[];if(r[Ei]){var a=r[i];return t&&(n[t]=a),e._colorIdx=(i+1)%r[Ei],a}}}}),e("zrender/graphic/Path",[an,"./Displayable","../core/util","../core/PathProxy","../contain/path","./Pattern"],function(t){function e(t){i.call(this,t),this.path=new r}var i=t("./Displayable"),n=t("../core/util"),r=t("../core/PathProxy"),a=t("../contain/path"),o=t("./Pattern"),s=o[Qi].getCanvasPattern,l=Math.abs;return e[Qi]={constructor:e,type:"path",__dirtyPath:!0,strokeContainThreshold:5,brush:function(t,e){var i=this.style,n=this.path,r=i.hasStroke(),a=i.hasFill(),o=i.fill,l=i[le],u=a&&!!o.colorStops,c=r&&!!l.colorStops,h=a&&!!o.image,d=r&&!!l.image;if(i.bind(t,this,e),this.setTransform(t),this.__dirty){var f=this[Ze]();u&&(this._fillGradient=i.getGradient(t,o,f)),c&&(this._strokeGradient=i.getGradient(t,l,f))}u?t.fillStyle=this._fillGradient:h&&(t.fillStyle=s.call(o,t)),c?t.strokeStyle=this._strokeGradient:d&&(t.strokeStyle=s.call(l,t));var p=i.lineDash,v=i.lineDashOffset,m=!!t.setLineDash,g=this.getGlobalScale();n.setScale(g[0],g[1]),this.__dirtyPath||p&&!m&&r?(n=this.path.beginPath(t),p&&!m&&(n.setLineDash(p),n.setLineDashOffset(v)),this.buildPath(n,this.shape,!1),this.__dirtyPath=!1):(t.beginPath(),this.path.rebuildPath(t)),a&&n.fill(t),p&&m&&(t.setLineDash(p),t.lineDashOffset=v),r&&n[le](t),p&&m&&t.setLineDash([]),this.restoreTransform(t),(i.text||0===i.text)&&this.drawRectText(t,this[Ze]())},buildPath:function(){},getBoundingRect:function(){var t=this._rect,e=this.style,i=!t;if(i){var n=this.path;this.__dirtyPath&&(n.beginPath(),this.buildPath(n,this.shape,!1)),t=n[Ze]()}if(this._rect=t,e.hasStroke()){var r=this._rectWithStroke||(this._rectWithStroke=t.clone());if(this.__dirty||i){r.copy(t);var a=e[ue],o=e.strokeNoScale?this.getLineScale():1;e.hasFill()||(a=Math.max(a,this.strokeContainThreshold||4)),o>1e-10&&(r.width+=a/o,r[Yi]+=a/o,r.x-=a/o/2,r.y-=a/o/2)}return r}return t},contain:function(t,e){var i=this.transformCoordToLocal(t,e),n=this[Ze](),r=this.style;if(t=i[0],e=i[1],n[Ie](t,e)){var o=this.path.data;if(r.hasStroke()){var s=r[ue],l=r.strokeNoScale?this.getLineScale():1;if(l>1e-10&&(r.hasFill()||(s=Math.max(s,this.strokeContainThreshold)),a.containStroke(o,s/l,t,e)))return!0}if(r.hasFill())return a[Ie](o,t,e)}return!1},dirty:function(t){null==t&&(t=!0),t&&(this.__dirtyPath=t,this._rect=null),this.__dirty=!0,this.__zr&&this.__zr.refresh(),this.__clipTarget&&this.__clipTarget.dirty()},animateShape:function(t){return this.animate("shape",t)},attrKV:function(t,e){"shape"===t?(this[Q](e),this.__dirtyPath=!0,this._rect=null):i[Qi].attrKV.call(this,t,e)},setShape:function(t,e){var i=this.shape;if(i){if(n[Si](t))for(var r in t)t.hasOwnProperty(r)&&(i[r]=t[r]);else i[t]=e;this.dirty(!0)}return this},getLineScale:function(){var t=this[_];return t&&l(t[0]-1)>1e-10&&l(t[3]-1)>1e-10?Math.sqrt(l(t[0]*t[3]-t[2]*t[1])):1}},e[wi]=function(t){var i=function(i){e.call(this,i),t.style&&this.style.extendFrom(t.style,!1);var n=t.shape;if(n){this.shape=this.shape||{};var r=this.shape;for(var a in n)!r.hasOwnProperty(a)&&n.hasOwnProperty(a)&&(r[a]=n[a])}t.init&&t.init.call(this,i)};n[$e](i,e);for(var r in t)"style"!==r&&"shape"!==r&&(i[Qi][r]=t[r]);return i},n[$e](e,i),e}),e("zrender/tool/path",[an,"../graphic/Path","../core/PathProxy","./transformPath","../core/matrix"],function(t){function e(t,e,i,n,r,a,o,s,l,f,m){var g=l*(d/180),y=h(g)*(t-i)/2+c(g)*(e-n)/2,_=-1*c(g)*(t-i)/2+h(g)*(e-n)/2,x=y*y/(o*o)+_*_/(s*s);x>1&&(o*=u(x),s*=u(x));var b=(r===a?-1:1)*u((o*o*s*s-o*o*_*_-s*s*y*y)/(o*o*_*_+s*s*y*y))||0,w=b*o*_/s,M=b*-s*y/o,S=(t+i)/2+h(g)*w-c(g)*M,T=(e+n)/2+c(g)*w+h(g)*M,C=v([1,0],[(y-w)/o,(_-M)/s]),A=[(y-w)/o,(_-M)/s],P=[(-1*y-w)/o,(-1*_-M)/s],L=v(A,P);p(A,P)<=-1&&(L=d),p(A,P)>=1&&(L=0),0===a&&L>0&&(L-=2*d),1===a&&0>L&&(L+=2*d),m.addData(f,S,T,o,s,C,L,g,a)}function i(t){if(!t)return[];var i,n=t[ai](/-/g," -")[ai](/ /g," ")[ai](/ /g,",")[ai](/,,/g,",");for(i=0;i0&&""===m[0]&&m.shift();for(var g=0;ga;a++){var o=t[a];o.__dirty&&o.buildPath(o.path,o.shape,!0),i.push(o.path)}var s=new r(e);return s.buildPath=function(t){t.appendPath(i);var e=t[Le]();e&&t.rebuildPath(e)},s}}}),e("zrender/graphic/Gradient",[an],function(){var t=function(t){this.colorStops=t||[]};return t[Qi]={constructor:t,addColorStop:function(t,e){this.colorStops.push({offset:t,color:e})}},t}),e("zrender/container/Group",[an,"../core/util","../Element","../core/BoundingRect"],function(t){var e=t("../core/util"),i=t("../Element"),n=t("../core/BoundingRect"),r=function(t){t=t||{},i.call(this,t);for(var e in t)t.hasOwnProperty(e)&&(this[e]=t[e]);this._children=[],this.__storage=null,this.__dirty=!0};return r[Qi]={constructor:r,isGroup:!0,type:"group",silent:!1,children:function(){return this._children.slice()},childAt:function(t){return this._children[t]},childOfName:function(t){for(var e=this._children,i=0;i=0&&(i[mi](n,0,t),this._doAdd(t))}return this},_doAdd:function(t){t[ne]&&t[ne][Mi](t),t[ne]=this;var e=this.__storage,i=this.__zr;e&&e!==t.__storage&&(e.addToMap(t),t instanceof r&&t.addChildrenToStorage(e)),i&&i.refresh()},remove:function(t){var i=this.__zr,n=this.__storage,a=this._children,o=e[Ri](a,t);return 0>o?this:(a[mi](o,1),t[ne]=null,n&&(n.delFromMap(t.id),t instanceof r&&t.delChildrenFromStorage(n)),i&&i.refresh(),this)},removeAll:function(){var t,e,i=this._children,n=this.__storage;for(e=0;eo&&(r=i*(1-o)+r*o,a=n*(1-o)+a*o),t.lineTo(r,a))},pointAt:function(t){var e=this.shape;return[e.x1*(1-t)+e.x2*t,e.y1*(1-t)+e.y2*t]}})}),e("zrender/graphic/shape/Arc",[an,"../Path"],function(t){return t("../Path")[wi]({type:"arc",shape:{cx:0,cy:0,r:0,startAngle:0,endAngle:2*Math.PI,clockwise:!0},style:{stroke:"#000",fill:null},buildPath:function(t,e){var i=e.cx,n=e.cy,r=Math.max(e.r,0),a=e.startAngle,o=e.endAngle,s=e.clockwise,l=Math.cos(a),u=Math.sin(a);t.moveTo(l*r+i,u*r+n),t.arc(i,n,r,a,o,!s)}})}),e("zrender/graphic/shape/BezierCurve",[an,"../../core/curve","../../core/vector","../Path"],function(t){function e(t,e,i){var n=t.cpx2,r=t.cpy2;return null===n||null===r?[(i?u:s)(t.x1,t.cpx1,t.cpx2,t.x2,e),(i?u:s)(t.y1,t.cpy1,t.cpy2,t.y2,e)]:[(i?l:o)(t.x1,t.cpx1,t.x2,e),(i?l:o)(t.y1,t.cpy1,t.y2,e)]}var i=t("../../core/curve"),n=t("../../core/vector"),r=i.quadraticSubdivide,a=i.cubicSubdivide,o=i.quadraticAt,s=i.cubicAt,l=i.quadraticDerivativeAt,u=i.cubicDerivativeAt,c=[];return t("../Path")[wi]({type:"bezier-curve",shape:{x1:0,y1:0,x2:0,y2:0,cpx1:0,cpy1:0,percent:1},style:{stroke:"#000",fill:null},buildPath:function(t,e){var i=e.x1,n=e.y1,o=e.x2,s=e.y2,l=e.cpx1,u=e.cpy1,h=e.cpx2,d=e.cpy2,f=e.percent;0!==f&&(t.moveTo(i,n),null==h||null==d?(1>f&&(r(i,l,o,f,c),l=c[1],o=c[2],r(n,u,s,f,c),u=c[1],s=c[2]),t.quadraticCurveTo(l,u,o,s)):(1>f&&(a(i,l,h,o,f,c),l=c[1],h=c[2],o=c[3],a(n,u,d,s,f,c),u=c[1],d=c[2],s=c[3]),t.bezierCurveTo(l,u,h,d,o,s)))},pointAt:function(t){return e(this.shape,t,!1)},tangentAt:function(t){var i=e(this.shape,t,!0);return n.normalize(i,i)}})}),e("zrender/graphic/CompoundPath",[an,"./Path"],function(t){var e=t("./Path");return e[wi]({type:"compound",shape:{paths:null},_updatePathDirty:function(){for(var t=this.__dirtyPath,e=this.shape.paths,i=0;ii&&(t+=i,i=-i),0>n&&(e+=n,n=-n),this.x=t,this.y=e,this.width=i,this[Yi]=n}var i=t("./vector"),n=t("./matrix"),r=i[ce],a=Math.min,o=Math.abs,s=Math.max;return e[Qi]={constructor:e,union:function(t){var e=a(t.x,this.x),i=a(t.y,this.y);this.width=s(t.x+t.width,this.x+this.width)-e,this[Yi]=s(t.y+t[Yi],this.y+this[Yi])-i,this.x=e,this.y=i},applyTransform:function(){var t=[],e=[];return function(i){i&&(t[0]=this.x,t[1]=this.y,e[0]=this.x+this.width,e[1]=this.y+this[Yi],r(t,t,i),r(e,e,i),this.x=a(t[0],e[0]),this.y=a(t[1],e[1]),this.width=o(e[0]-t[0]),this[Yi]=o(e[1]-t[1]))}}(),calculateTransform:function(t){var e=this,i=t.width/e.width,r=t[Yi]/e[Yi],a=n[ki]();return n.translate(a,a,[-e.x,-e.y]),n.scale(a,a,[i,r]),n.translate(a,a,[t.x,t.y]),a},intersect:function(t){t instanceof e||(t=e[ki](t));var i=this,n=i.x,r=i.x+i.width,a=i.y,o=i.y+i[Yi],s=t.x,l=t.x+t.width,u=t.y,c=t.y+t[Yi];return!(s>r||n>l||u>o||a>c)},contain:function(t,e){var i=this;return t>=i.x&&t<=i.x+i.width&&e>=i.y&&e<=i.y+i[Yi]},clone:function(){return new e(this.x,this.y,this.width,this[Yi])},copy:function(t){this.x=t.x,this.y=t.y,this.width=t.width,this[Yi]=t[Yi]},plain:function(){return{x:this.x,y:this.y,width:this.width,height:this[Yi]}}},e[ki]=function(t){return new e(t.x,t.y,t.width,t[Yi])},e}),e("zrender/contain/text",[an,"../core/util","../core/BoundingRect"],function(t){function e(t,e){var i=t+":"+e;if(o[i])return o[i];for(var n=(t+"").split("\n"),r=0,a=0,u=n[Ei];u>a;a++)r=Math.max(d.measureText(n[a],e).width,r);return s>l&&(s=0,o={}),s++,o[i]=r,r}function i(t,i,n,r){var a=((t||"")+"").split("\n")[Ei],o=e(t,i),s=e("国",i),l=a*s,u=new c(0,0,o,l);switch(u.lineHeight=s,r){case Bi:case"alphabetic":u.y-=s;break;case Ne:u.y-=s/2}switch(n){case"end":case"right":u.x-=u.width;break;case Be:u.x-=u.width/2}return u}function n(t,e,i,n){var r=e.x,a=e.y,o=e[Yi],s=e.width,l=i[Yi],u=o/2-l/2,c="left";switch(t){case"left":r-=n,a+=u,c="right";break;case"right":r+=n+s,a+=u,c="left";break;case"top":r+=s/2,a-=n+l,c=Be;break;case Bi:r+=s/2,a+=o+n,c=Be;break;case ae:r+=s/2,a+=u,c=Be;break;case"insideLeft":r+=n,a+=u,c="left"; -break;case"insideRight":r+=s-n,a+=u,c="right";break;case"insideTop":r+=s/2,a+=n,c=Be;break;case"insideBottom":r+=s/2,a+=o-l-n,c=Be;break;case"insideTopLeft":r+=n,a+=n,c="left";break;case"insideTopRight":r+=s-n,a+=n,c="right";break;case"insideBottomLeft":r+=n,a+=o-l-n;break;case"insideBottomRight":r+=s-n,a+=o-l-n,c="right"}return{x:r,y:a,textAlign:c,textBaseline:"top"}}function r(t,i,n,r,o){if(!i)return"";o=o||{},r=h(r,"...");for(var s=h(o.maxIterations,2),l=h(o.minChar,0),u=e("国",n),c=e("a",n),d=h(o.placeholder,""),f=i=Math.max(0,i-1),p=0;l>p&&f>=c;p++)f-=c;var v=e(r);v>f&&(r="",v=0),f=i-v;for(var m=(t+"").split("\n"),p=0,g=m[Ei];g>p;p++){var y=m[p],_=e(y,n);if(!(i>=_)){for(var x=0;;x++){if(f>=_||x>=s){y+=r;break}var b=0===x?a(y,f,c,u):_>0?Math.floor(y[Ei]*f/_):0;y=y.substr(0,b),_=e(y,n)}""===y&&(y=d),m[p]=y}}return m.join("\n")}function a(t,e,i,n){for(var r=0,a=0,o=t[Ei];o>a&&e>r;a++){var s=t.charCodeAt(a);r+=s>=0&&127>=s?i:n}return a}var o={},s=0,l=5e3,u=t("../core/util"),c=t("../core/BoundingRect"),h=u[ee],d={getWidth:e,getBoundingRect:i,adjustTextPositionOnRect:n,truncateText:r,measureText:function(t,e){var i=u[Le]();return i.font=e||"12px sans-serif",i.measureText(t)}};return d}),e("echarts/chart/helper/createListFromArray",[an,"../../data/List","../../data/helper/completeDimensions",nn,H,"../../CoordinateSystem"],function(t){function e(t){for(var e=0;e=0&&i(t)?function(t,e,i,n){return c.isDataItemOption(t)&&(_[K]=!0),n===y?i:f(d(t),g[n])}:function(t,e,i,n){var r=d(t),a=f(r&&r[n],g[n]);c.isDataItemOption(t)&&(_[K]=!0);var o=m&&m.categoryAxesModels;return o&&o[e]&&typeof a===Ki&&(b[e]=b[e]||o[e].getCategories(),a=u[Ri](b[e],a),0>a&&!isNaN(a)&&(a=+a)),a};return _[K]=!1,_.initData(t,x,w),_}function r(t){return t!==M&&"time"!==t}function a(t){return t===M?xe:"time"===t?"time":"float"}function o(t,e){var i,n=[],r=t&&t[$][t.categoryIndex];if(r&&(i=t.categoryAxesModels[r.name]),i){var a=i.getCategories();if(a){var o=e[Ei];if(u[ri](e[0])&&e[0][Ei]>1){n=[];for(var s=0;o>s;s++)n[s]=a[e[s][t.categoryIndex||0]]}else n=a.slice(0)}}return n}var s=t("../../data/List"),l=t("../../data/helper/completeDimensions"),u=t(nn),c=t(H),h=t("../../CoordinateSystem"),d=c.getDataItemValue,f=c.converDataValue,p={cartesian2d:function(t,e,i){var n=u.map(["xAxis","yAxis"],function(t){return i[Ce]({mainType:t,index:e.get(t+"Index"),id:e.get(t+"Id")})[0]}),o=n[0],s=n[1],c=o.get("type"),h=s.get("type"),d=[{name:"x",type:a(c),stackable:r(c)},{name:"y",type:a(h),stackable:r(h)}],f=c===M,p=h===M;l(d,t,["x","y","z"]);var v={};return f&&(v.x=o),p&&(v.y=s),{dimensions:d,categoryIndex:f?0:p?1:-1,categoryAxesModels:v}},polar:function(t,e,i){var n=i[Ce]({mainType:"polar",index:e.get("polarIndex"),id:e.get("polarId")})[0],o=n.findAxisModel("angleAxis"),s=n.findAxisModel("radiusAxis"),u=s.get("type"),c=o.get("type"),h=[{name:"radius",type:a(u),stackable:r(u)},{name:"angle",type:a(c),stackable:r(c)}],d=c===M,f=u===M;l(h,t,[B,"angle","value"]);var p={};return f&&(p[B]=s),d&&(p.angle=o),{dimensions:h,categoryIndex:d?1:f?0:-1,categoryAxesModels:p}},geo:function(t){return{dimensions:l([{name:"lng"},{name:"lat"}],t,["lng","lat","value"])}}};return n}),e("echarts/coord/axisHelper",[an,"../scale/Ordinal","../scale/Interval","../scale/Time","../scale/Log","../scale/Scale",Ve,nn,"zrender/contain/text"],function(t){var e=t("../scale/Ordinal"),i=t("../scale/Interval");t("../scale/Time"),t("../scale/Log");var n=t("../scale/Scale"),r=t(Ve),a=t(nn),o=t("zrender/contain/text"),s={};return s.getScaleExtent=function(t,e){var i=t.scale,n=i[Oe](),o=n[1]-n[0];if(i.type===xe)return isFinite(o)?n:[0,0];var s=e.getMin?e.getMin():e.get("min"),l=e.getMax?e.getMax():e.get("max"),u=e.getNeedCrossZero?e.getNeedCrossZero():!e.get("scale"),c=e.get("boundaryGap");a[ri](c)||(c=[c||0,c||0]),c[0]=r[F](c[0],1),c[1]=r[F](c[1],1);var h=!0,d=!0;return null==s&&(s=n[0]-c[0]*o,h=!1),null==l&&(l=n[1]+c[1]*o,d=!1),"dataMin"===s&&(s=n[0]),"dataMax"===l&&(l=n[1]),u&&(s>0&&l>0&&!h&&(s=0),0>s&&0>l&&!d&&(l=0)),[s,l]},s.niceScaleExtent=function(t,e){var i=t.scale,n=s.getScaleExtent(t,e),r=null!=(e.getMin?e.getMin():e.get("min")),a=null!=(e.getMax?e.getMax():e.get("max")),o=e.get("splitNumber");"log"===i.type&&(i.base=e.get("logBase")),i.setExtent(n[0],n[1]),i.niceExtent(o,r,a);var l=e.get("minInterval");if(isFinite(l)&&!r&&!a&&i.type===D){var u=i.getInterval(),c=Math.max(Math.abs(u),l)/u;n=i[Oe]();var h=(n[1]+n[0])/2;i.setExtent(c*(n[0]-h)+h,c*(n[1]-h)+h),i.niceExtent(o)}var u=e.get(D);null!=u&&i.setInterval&&i.setInterval(u)},s.createScaleByModel=function(t,r){if(r=r||t.get("type"))switch(r){case M:return new e(t.getCategories(),[1/0,-1/0]);case"value":return new i;default:return(n.getClass(r)||i)[ki](t)}},s.ifAxisCrossZero=function(t){var e=t.scale[Oe](),i=e[0],n=e[1];return!(i>0&&n>0||0>i&&0>n)},s.getAxisLabelInterval=function(t,e,i,n){var r,a=0,s=0,l=1;e[Ei]>40&&(l=Math.floor(e[Ei]/40));for(var u=0;u1?l:(a+1)*l-1},s[m]=function(t,e){var i=t.scale,n=i.getTicksLabels(),r=i[ze]();return typeof e===Ki?(e=function(t){return function(e){return t[ai]("{value}",e)}}(e),a.map(n,e)):typeof e===ni?a.map(r,function(n,r){return e(t.type===M?i[De](n):n,r)},this):n},s}),e("echarts/coord/cartesian/Cartesian2D",[an,nn,"./Cartesian"],function(t){function e(t){n.call(this,t)}var i=t(nn),n=t("./Cartesian");return e[Qi]={constructor:e,type:"cartesian2d",dimensions:["x","y"],getBaseAxis:function(){return this.getAxesByScale(xe)[0]||this.getAxesByScale("time")[0]||this[R]("x")},containPoint:function(t){var e=this[R]("x"),i=this[R]("y");return e[Ie](e.toLocalCoord(t[0]))&&i[Ie](i.toLocalCoord(t[1]))},containData:function(t){return this[R]("x").containData(t[0])&&this[R]("y").containData(t[1])},dataToPoints:function(t,e){return t[X](["x","y"],function(t,e){return this[E]([t,e])},e,this)},dataToPoint:function(t,e){var i=this[R]("x"),n=this[R]("y");return[i[I](i[k](t[0],e)),n[I](n[k](t[1],e))]},pointToData:function(t,e){var i=this[R]("x"),n=this[R]("y");return[i.coordToData(i.toLocalCoord(t[0]),e),n.coordToData(n.toLocalCoord(t[1]),e)]},getOtherAxis:function(t){return this[R]("x"===t.dim?"y":"x")}},i[$e](e,n),e}),e("echarts/coord/cartesian/Axis2D",[an,nn,"../Axis","./axisLabelInterval"],function(t){var e=t(nn),i=t("../Axis"),n=t("./axisLabelInterval"),r=function(t,e,n,r,a){i.call(this,t,e,n),this.type=r||"value",this[Ee]=a||Bi};return r[Qi]={constructor:r,index:0,onZero:!1,model:null,isHorizontal:function(){var t=this[Ee];return"top"===t||t===Bi},getGlobalExtent:function(){var t=this[Oe]();return t[0]=this[I](t[0]),t[1]=this[I](t[1]),t},getLabelInterval:function(){var t=this._labelInterval;return t||(t=this._labelInterval=n(this)),t},isLabelIgnored:function(t){if(this.type===M){var e=this.getLabelInterval();return typeof e===ni&&!e(t,this.scale[De](t))||t%(e+1)}},toLocalCoord:null,toGlobalCoord:null},e[$e](r,i),r}),e("echarts/coord/cartesian/GridModel",[an,"./AxisModel","../../model/Component"],function(t){t("./AxisModel");var e=t("../../model/Component");return e[wi]({type:"grid",dependencies:["xAxis","yAxis"],layoutMode:"box",coordinateSystem:null,defaultOption:{show:!1,zlevel:0,z:0,left:"10%",top:60,right:"10%",bottom:60,containLabel:!1,backgroundColor:"rgba(0,0,0,0)",borderWidth:1,borderColor:"#ccc"}})}),e("echarts/coord/single/Single",[an,"./SingleAxis","../axisHelper",g],function(t){function e(t,e,i){this.dimension="x",this[$]=["x"],this._axis=null,this._rect,this._init(t,e,i),this._model=t}var n=t("./SingleAxis"),r=t("../axisHelper"),a=t(g);return e[Qi]={type:"singleAxis",constructor:e,_init:function(t){var e=this.dimension,i=new n(e,r.createScaleByModel(t),[0,0],t.get("type"),t.get(Ee)),a=i.type===M;i.onBand=a&&t.get("boundaryGap"),i[O]=t.get(O),i[h]=t.get(h),t.axis=i,i.model=t,this._axis=i},update:function(t){this._updateAxisFromSeries(t)},_updateAxisFromSeries:function(t){t[Pi](function(t){var e=t[zi](),i=this.dimension;this._axis.scale.unionExtent(e[j](t[v](i))),r.niceScaleExtent(this._axis,this._axis.model)},this)},resize:function(t,e){this._rect=a[He]({left:t.get("left"),top:t.get("top"),right:t.get("right"),bottom:t.get(Bi),width:t.get("width"),height:t.get(Yi)},{width:e[Wi](),height:e[qi]()}),this._adjustAxis()},getRect:function(){return this._rect},_adjustAxis:function(){var t=this._rect,e=this._axis,n=e[V](),r=n?[0,t.width]:[0,t[Yi]],a=e[i]?1:0;e.setExtent(r[a],r[1-a]),this._updateAxisTransform(e,n?t.x:t.y)},_updateAxisTransform:function(t,e){var i=t[Oe](),n=i[0]+i[1],r=t[V]();t[I]=r?function(t){return t+e}:function(t){return n-t+e},t.toLocalCoord=r?function(t){return t-e}:function(t){return n-t+e}},getAxis:function(){return this._axis},getBaseAxis:function(){return this._axis},containPoint:function(t){var e=this[Xe](),i=this[R](),n=i[h];return n===u?i[Ie](i.toLocalCoord(t[0]))&&t[1]>=e.y&&t[1]<=e.y+e[Yi]:i[Ie](i.toLocalCoord(t[1]))&&t[0]>=e.y&&t[0]<=e.y+e[Yi]},pointToData:function(t){var e=this[R]();return[e.coordToData(e.toLocalCoord(t[e[h]===u?0:1]))]},dataToPoint:function(t){var e=this[R](),i=this[Xe](),n=[],r=e[h]===u?0:1;return n[r]=e[I](e[k](+t)),n[1-r]=0===r?i.y+i[Yi]/2:i.x+i.width/2,n}},e}),e("echarts/util/clazz",[an,nn],function(t){function e(t,e){var i=n.slice(arguments,2);return this.superClass[Qi][e].apply(t,i)}function i(t,e,i){return this.superClass[Qi][e].apply(t,i)}var n=t(nn),r={},a=".",o="___EC__COMPONENT__CONTAINER___",s=r.parseClassType=function(t){var e={main:"",sub:""};return t&&(t=t.split(a),e.main=t[0]||"",e.sub=t[1]||""),e};return r.enableClassExtend=function(t,r){t.$constructor=t,t[wi]=function(t){var r=this,a=function(){t.$constructor?t.$constructor.apply(this,arguments):r.apply(this,arguments)};return n[wi](a[Qi],t),a[wi]=this[wi],a.superCall=e,a[f]=i,n[$e](a,this),a.superClass=r,a}},r.enableClassManagement=function(t,e){function i(t){var e=r[t.main];return e&&e[o]||(e=r[t.main]={},e[o]=!0),e}e=e||{};var r={};if(t.registerClass=function(t,e){if(e)if(e=s(e),e.sub){if(e.sub!==o){var n=i(e);n[e.sub]=t}}else r[e.main]=t;return t},t.getClass=function(t,e,i){var n=r[t];if(n&&n[o]&&(n=e?n[e]:null),i&&!n)throw new Error("Component "+t+"."+(e||"")+" not exists. Load it first.");return n},t.getClassesByMainType=function(t){t=s(t);var e=[],i=r[t.main];return i&&i[o]?n.each(i,function(t,i){i!==o&&e.push(t)}):e.push(i),e},t.hasClass=function(t){return t=s(t),!!r[t.main]},t.getAllClassMainTypes=function(){var t=[];return n.each(r,function(e,i){t.push(i)}),t},t.hasSubTypes=function(t){t=s(t);var e=r[t.main];return e&&e[o]},t.parseClassType=s,e.registerWhenExtend){var a=t[wi];a&&(t[wi]=function(e){var i=a.call(this,e);return t.registerClass(i,e.type)})}return t},r.setReadOnly=function(){},r}),e("echarts/model/mixin/lineStyle",[an,"./makeStyleMapper"],function(t){var e=t("./makeStyleMapper")([[ue,"width"],[le,"color"],[Re],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]);return{getLineStyle:function(t){var i=e.call(this,t),n=this.getLineDash(i[ue]);return n&&(i.lineDash=n),i},getLineDash:function(t){null==t&&(t=1);var e=this.get("type"),i=Math.max(t,2),n=4*t;return"solid"===e||null==e?null:"dashed"===e?[n,n]:[i,i]}}}),e("echarts/model/mixin/areaStyle",[an,"./makeStyleMapper"],function(t){return{getAreaStyle:t("./makeStyleMapper")([["fill","color"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],[Re],["shadowColor"]])}}),e("echarts/model/mixin/textStyle",[an,"zrender/contain/text"],function(t){function e(t,e){return t&&t[ge](e)}var i=t("zrender/contain/text");return{getTextColor:function(){var t=this[we];return this[ge]("color")||t&&t.get("textStyle.color")},getFont:function(){var t=this[we],i=t&&t[Ui](We);return[this[ge]("fontStyle")||e(i,"fontStyle"),this[ge]("fontWeight")||e(i,"fontWeight"),(this[ge]("fontSize")||e(i,"fontSize")||12)+"px",this[ge]("fontFamily")||e(i,"fontFamily")||"sans-serif"].join(" ")},getTextRect:function(t){var e=this.get(We)||{};return i[Ze](t,this[Fe](),e.align,e.baseline)},truncateText:function(t,e,n,r){return i.truncateText(t,e,this[Fe](),n,r)}}}),e("echarts/model/mixin/itemStyle",[an,"./makeStyleMapper"],function(t){var e=t("./makeStyleMapper")([["fill","color"],[le,"borderColor"],[ue,"borderWidth"],[Re],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"],["textPosition"],[qe]]);return{getItemStyle:function(t){var i=e.call(this,t),n=this.getBorderLineDash();return n&&(i.lineDash=n),i},getBorderLineDash:function(){var t=this.get("borderType");return"solid"===t||null==t?null:"dashed"===t?[5,5]:[1,1]}}}),e("echarts/component/marker/MarkerModel",[an,H,nn,rn,a,S],function(t){function e(t){i.defaultEmphasis(t.label,i.LABEL_OPTIONS)}var i=t(H),n=t(nn),r=t(rn),o=t(a),s=o.addCommas,l=o.encodeHTML,u=t(S)[ti]({type:"marker",dependencies:[yi,"grid","polar","geo"],init:function(t,e,i,n){this[Me](t,i),this[Ae](t,i,n.createdBySelf,!0)},ifEnableAnimation:function(){if(r.node)return!1;var t=this.__hostSeries;return this[ge](Xi)&&t&&t.ifEnableAnimation()},mergeOption:function(t,i,r,a){var o=this.constructor,s=this.mainType+"Model";r||i[Pi](function(t){var r=t.get(this.mainType),l=t[s];return r&&r.data?(l?l[Ae](r,i,!0):(a&&e(r),n.each(r.data,function(t){t instanceof Array?(e(t[0]),e(t[1])):e(t)}),l=new o(r,this,i),n[wi](l,{mainType:this.mainType,seriesIndex:t[ci],name:t.name,createdBySelf:!0}),l.__hostSeries=t),void(t[s]=l)):void(t[s]=null)},this)},formatTooltip:function(t){var e=this[zi](),i=this[_e](t),r=n[ri](i)?n.map(i,s).join(", "):s(i),a=e[ye](t),o=this.name;return(null!=i||a)&&(o+="
    "),a&&(o+=l(a),null!=i&&(o+=" : ")),null!=i&&(o+=r),o},getData:function(){return this._data},setData:function(t){this._data=t}});return n.mixin(u,i.dataFormatMixin),u}),e("echarts/util/component",[an,nn,"./clazz"],function(t){var e=t(nn),i=t("./clazz"),n=i.parseClassType,r=0,a={},o="_";return a.getUID=function(t){return[t||"",r++,Math.random()].join(o)},a.enableSubTypeDefaulter=function(t){var e={};return t.registerSubTypeDefaulter=function(t,i){t=n(t),e[t.main]=i},t.determineSubType=function(i,r){var a=r.type;if(!a){var o=n(i).main;t.hasSubTypes(i)&&e[o]&&(a=e[o](r))}return a},t},a.enableTopologicalTravel=function(t,i){function n(t){var n={},o=[];return e.each(t,function(s){var l=r(n,s),u=l.originalDeps=i(s),c=a(u,t);l.entryCount=c[Ei],0===l.entryCount&&o.push(s),e.each(c,function(t){e[Ri](l.predecessor,t)<0&&l.predecessor.push(t);var i=r(n,t);e[Ri](i.successor,t)<0&&i.successor.push(s)})}),{graph:n,noEntryList:o}}function r(t,e){return t[e]||(t[e]={predecessor:[],successor:[]}),t[e]}function a(t,i){var n=[];return e.each(t,function(t){e[Ri](i,t)>=0&&n.push(t)}),n}t.topologicalTravel=function(t,i,r,a){function o(t){u[t].entryCount--,0===u[t].entryCount&&c.push(t)}function s(t){h[t]=!0,o(t)}if(t[Ei]){var l=n(i),u=l.graph,c=l.noEntryList,h={};for(e.each(t,function(t){h[t]=!0});c[Ei];){var d=c.pop(),f=u[d],p=!!h[d];p&&(r.call(a,d,f.originalDeps.slice()),delete h[d]),e.each(f.successor,p?s:o)}e.each(h,function(){throw new Error("Circle dependency may exists")})}}},a}),e("echarts/model/mixin/boxLayout",[an],function(){return{getBoxLayoutParams:function(){return{left:this.get("left"),top:this.get("top"),right:this.get("right"),bottom:this.get(Bi),width:this.get("width"),height:this.get(Yi)}}}}),e("echarts/component/visualMap/preprocessor",[an,nn],function(t){function e(t,e){return t&&t.hasOwnProperty&&t.hasOwnProperty(e)}var i=t(nn),n=i.each;return function(t){var r=t&&t.visualMap;i[ri](r)||(r=r?[r]:[]),n(r,function(t){if(t){e(t,"splitList")&&!e(t,"pieces")&&(t.pieces=t.splitList,delete t.splitList);var r=t.pieces;r&&i[ri](r)&&n(r,function(t){i[Si](t)&&(e(t,"start")&&!e(t,"min")&&(t.min=t.start),e(t,"end")&&!e(t,"max")&&(t.max=t.end))})}})}}),e("echarts/component/visualMap/typeDefaulter",[an,"../../model/Component"],function(t){t("../../model/Component").registerSubTypeDefaulter("visualMap",function(t){return t.categories||(t.pieces?t.pieces[Ei]>0:t.splitNumber>0)&&!t.calculable?"piecewise":"continuous"})}),e("echarts/component/visualMap/visualEncoding",[an,S,"../../visual/visualSolution","../../visual/VisualMapping"],function(t){function e(t){t.eachTargetSeries(function(e){var i=e[zi]();a.applyVisual(t.stateList,t.targetVisuals,i,t.getValueState,t,t.getDataDimension(i))})}function i(t){t[Pi](function(e){var i=e[zi](),r=[];t[Hi]("visualMap",function(t){if(t.isTargetSeries(e)){var a={};r.push(a),a.stops=t.getStops(e,n),a.dimension=t.getDataDimension(i)}}),e[zi]().setVisual("visualMeta",r)})}function n(t,e,i){function n(t){return l[t]}function r(t,e){l[t]=e}for(var a=t.targetVisuals[i],s=o.prepareVisualTypes(a),l={},u=0,c=s[Ei];c>u;u++){var h=s[u],d=a["colorAlpha"===h?"__alphaForOpacity":h];d&&d.applyVisual(e,n,r)}return l.color}var r=t(S),a=t("../../visual/visualSolution"),o=t("../../visual/VisualMapping");r.registerVisual(r.PRIORITY.VISUAL.COMPONENT,function(t){t[Hi]("visualMap",function(i){e(i,t)}),i(t)})}),e("echarts/component/visualMap/ContinuousModel",[an,"./VisualMapModel",nn,d],function(t){function e(t,e,i){var n=t.targetVisuals[e].color;if(!n)return i.slice();var r=n[Pe].visual[Ei];if(1>=r||i[0]===i[1])return i.slice();for(var a=(i[1]-i[0])/(r-1),o=i[0],s=[],l=0;r>l&&oe[1]&&e[i](),e[0]=Math.max(e[0],t[0]),e[1]=Math.min(e[1],t[1]))},completeVisualOption:function(){r[Qi].completeVisualOption.apply(this,arguments),a.each(this.stateList,function(t){var e=this[Pe].controller[t][T];e&&e[0]!==e[1]&&(e[0]=0)},this)},setSelected:function(t){this[Pe].range=t.slice(),this._resetRange()},getSelected:function(){var t=this[Oe](),e=o.asc((this.get("range")||[]).slice());return e[0]>t[1]&&(e[0]=t[1]),e[1]>t[1]&&(e[1]=t[1]),e[0]=i[1]||t<=e[1])?"inRange":"outOfRange"},findTargetDataIndices:function(t){var e=[];return this.eachTargetSeries(function(i){var n=[],r=i[zi]();r.each(this.getDataDimension(r),function(e,i){t[0]<=e&&e<=t[1]&&n.push(i)},!0,this),e.push({seriesId:i.id,dataIndex:n})},this),e},getStops:function(t,e){var i=[];return n(this,"outOfRange",this[Oe](),i),n(this,"inRange",this[Pe].range.slice(),i),a.each(i,function(t){t.color=e(this,t.value,t.valueState)},this),i}});return l}),e("echarts/component/visualMap/ContinuousView",[an,"./VisualMapView",Z,nn,d,"../helper/sliderMove","zrender/graphic/LinearGradient","./helper",H],function(t){function e(t,e,i,n){return new p[he]({shape:{points:t},draggable:!!i,cursor:e,drift:i,ondragend:n})}function i(t,e){return 0===t?[[0,0],[e,0],[e,-e]]:[[0,0],[e,0],[e,e]]}function a(t,e,i,n){return t?[[0,-M(e,S(i,0))],[P,0],[0,M(e,S(n-i,0))]]:[[0,0],[5,-5],[5,5]]}function o(t,e,i){var n=C/2,r=t.get("hoverLinkDataSize");return r&&(n=b(r,e,i,!0)/2),n}function s(t){return!t.get("realtime")&&t.get("hoverLinkOnHandle")}var l=t("./VisualMapView"),p=t(Z),v=t(nn),m=t(d),g=t("../helper/sliderMove"),y=t("zrender/graphic/LinearGradient"),_=t("./helper"),x=t(H),b=m[q],w=v.each,M=Math.min,S=Math.max,C=12,P=6,L=l[wi]({type:"visualMap.continuous",init:function(){L[f](this,"init",arguments),this._shapes={},this._dataInterval=[],this._handleEnds=[],this._orient,this._useHandle,this._hoverLinkDataIndices=[],this._dragging,this._hovering},doRender:function(t,e,i,n){n&&"selectDataRange"===n.type&&n.from===this.uid||this._buildView()},_buildView:function(){this.group[je]();var t=this.visualMapModel,e=this.group;this._orient=t.get(h),this._useHandle=t.get("calculable"),this._resetInterval(),this._renderBar(e);var i=t.get("text");this._renderEndsText(e,i,0),this._renderEndsText(e,i,1),this._updateView(!0),this.renderBackground(e),this._updateView(),this._enableHoverLinkToSeries(),this._enableHoverLinkFromSeries(),this.positionGroup(e)},_renderEndsText:function(t,e,i){if(e){var n=e[1-i];n=null!=n?n+"":"";var r=this.visualMapModel,a=r.get("textGap"),o=r.itemSize,s=this._shapes.barGroup,l=this._applyTransform([o[0]/2,0===i?-a:o[1]+a],s),c=this._applyTransform(0===i?Bi:"top",s),h=this._orient,d=this.visualMapModel.textStyleModel;this.group.add(new p.Text({style:{x:l[0],y:l[1],textVerticalAlign:h===u?Ne:c,textAlign:h===u?c:Be,text:n,textFont:d[Fe](),fill:d[Ge]()}}))}},_renderBar:function(t){var i=this.visualMapModel,n=this._shapes,r=i.itemSize,a=this._orient,o=this._useHandle,s=_.getItemAlign(i,this.api,r),l=n.barGroup=this._createBarGroup(s);l.add(n.outOfRange=e()),l.add(n.inRange=e(null,o?"move":null,v.bind(this._dragHandle,this,"all",!1),v.bind(this._dragHandle,this,"all",!0)));var u=i.textStyleModel.getTextRect("国"),c=S(u.width,u[Yi]);o&&(n.handleThumbs=[],n.handleLabels=[],n.handleLabelPoints=[],this._createHandle(l,0,r,c,a,s),this._createHandle(l,1,r,c,a,s)),this._createIndicator(l,r,c,a),t.add(l)},_createHandle:function(t,n,r,a,o){var s=v.bind(this._dragHandle,this,n,!1),l=v.bind(this._dragHandle,this,n,!0),c=e(i(n,a),"move",s,l);c[Ee][0]=r[0],t.add(c);var h=this.visualMapModel.textStyleModel,d=new p.Text({draggable:!0,drift:s,ondragend:l,style:{x:0,y:0,text:"",textFont:h[Fe](),fill:h[Ge]()}});this.group.add(d);var f=[o===u?a/2:1.5*a,o===u?0===n?-(1.5*a):1.5*a:0===n?-a/2:a/2],m=this._shapes;m.handleThumbs[n]=c,m.handleLabelPoints[n]=f,m.handleLabels[n]=d},_createIndicator:function(t,i,n,r){var a=e([[0,0]],"move");a[Ee][0]=i[0],a.attr({invisible:!0,silent:!0}),t.add(a);var o=this.visualMapModel.textStyleModel,s=new p.Text({silent:!0,invisible:!0,style:{x:0,y:0,text:"",textFont:o[Fe](),fill:o[Ge]()}});this.group.add(s);var l=[r===u?n/2:P+3,0],c=this._shapes;c.indicator=a,c.indicatorLabel=s,c.indicatorLabelPoint=l},_dragHandle:function(t,e,i,n){if(this._useHandle){if(this._dragging=!e,!e){var r=this._applyTransform([i,n],this._shapes.barGroup,!0);this._updateInterval(t,r[1]),this._updateView()}e===!this.visualMapModel.get("realtime")&&this.api[bi]({type:"selectDataRange",from:this.uid,visualMapId:this.visualMapModel.id,selected:this._dataInterval.slice()}),e?!this._hovering&&this._clearHoverLinkToSeries():s(this.visualMapModel)&&this._doHoverLinkToSeries(this._handleEnds[t],!1)}},_resetInterval:function(){var t=this.visualMapModel,e=this._dataInterval=t.getSelected(),i=t[Oe](),n=[0,t.itemSize[1]];this._handleEnds=[b(e[0],i,n,!0),b(e[1],i,n,!0)]},_updateInterval:function(t,e){e=e||0;var i=this.visualMapModel,n=this._handleEnds;g(e,n,[0,i.itemSize[1]],"all"===t?"rigid":"push",t);var r=i[Oe](),a=[0,i.itemSize[1]];this._dataInterval=[b(n[0],a,r,!0),b(n[1],a,r,!0)]},_updateView:function(t){var e=this.visualMapModel,i=e[Oe](),n=this._shapes,r=[0,e.itemSize[1]],a=t?r:this._handleEnds,o=this._createBarVisual(this._dataInterval,i,a,"inRange"),s=this._createBarVisual(i,i,r,"outOfRange");n.inRange[si]({fill:o.barColor,opacity:o[Re]})[Q](A,o.barPoints),n.outOfRange[si]({fill:s.barColor,opacity:s[Re]})[Q](A,s.barPoints),this._updateHandle(a,o)},_createBarVisual:function(t,e,i,n){var r={forceState:n,convertOpacityToAlpha:!0},a=this._makeColorGradient(t,r),o=[this.getControllerVisual(t[0],T,r),this.getControllerVisual(t[1],T,r)],s=this._createBarPoints(i,o);return{barColor:new y(0,0,0,1,a),barPoints:s,handlesColor:[a[0].color,a[a[Ei]-1].color]}},_makeColorGradient:function(t,e){var i=100,n=[],r=(t[1]-t[0])/i;n.push({color:this.getControllerVisual(t[0],"color",e),offset:0});for(var a=1;i>a;a++){var o=t[0]+r*a;if(o>t[1])break;n.push({color:this.getControllerVisual(o,"color",e),offset:a/i})}return n.push({color:this.getControllerVisual(t[1],"color",e),offset:1}),n},_createBarPoints:function(t,e){var i=this.visualMapModel.itemSize;return[[i[0]-e[0],t[0]],[i[0],t[0]],[i[0],t[1]],[i[0]-e[1],t[1]]]},_createBarGroup:function(t){var e=this._orient,i=this.visualMapModel.get(O);return new p.Group(e!==u||i?e===u&&i?{scale:t===Bi?[-1,1]:[1,1],rotation:-Math.PI/2}:e!==c||i?{scale:"left"===t?[1,1]:[-1,1]}:{scale:"left"===t?[1,-1]:[-1,-1]}:{scale:t===Bi?[1,1]:[-1,1],rotation:Math.PI/2})},_updateHandle:function(t,e){if(this._useHandle){var i=this._shapes,n=this.visualMapModel,r=i.handleThumbs,a=i.handleLabels;w([0,1],function(o){var s=r[o];s[si]("fill",e.handlesColor[o]),s[Ee][1]=t[o];var l=p[ce](i.handleLabelPoints[o],p.getTransform(s,this.group));a[o][si]({x:l[0],y:l[1],text:n.formatValueText(this._dataInterval[o]),textVerticalAlign:"middle",textAlign:this._applyTransform(this._orient===u?0===o?Bi:"top":"left",i.barGroup)})},this)}},_showIndicator:function(t,e,i,n){var r=this.visualMapModel,o=r[Oe](),s=r.itemSize,l=[0,s[1]],c=b(t,o,l,!0),h=this._shapes,d=h.indicator;if(d){d[Ee][1]=c,d.attr("invisible",!1),d[Q](A,a(!!i,n,c,s[1]));var f={convertOpacityToAlpha:!0},v=this.getControllerVisual(t,"color",f);d[si]("fill",v);var m=p[ce](h.indicatorLabelPoint,p.getTransform(d,this.group)),g=h.indicatorLabel;g.attr("invisible",!1);var y=this._applyTransform("left",h.barGroup),_=this._orient;g[si]({text:(i?i:"")+r.formatValueText(e),textVerticalAlign:_===u?y:Ne,textAlign:_===u?Be:y,x:m[0],y:m[1]})}},_enableHoverLinkToSeries:function(){var t=this;this._shapes.barGroup.on(di,function(e){if(t._hovering=!0,!t._dragging){var i=t.visualMapModel.itemSize,a=t._applyTransform([e[r],e[n]],t._shapes.barGroup,!0,!0);a[1]=M(S(0,a[1]),i[1]),t._doHoverLinkToSeries(a[1],0<=a[0]&&a[0]<=i[0])}}).on(fi,function(){t._hovering=!1,!t._dragging&&t._clearHoverLinkToSeries()})},_enableHoverLinkFromSeries:function(){var t=this.api.getZr();this.visualMapModel[Pe].hoverLink?(t.on(pi,this._hoverLinkFromSeriesMouseOver,this),t.on(fi,this._hideIndicator,this)):this._clearHoverLinkFromSeries()},_doHoverLinkToSeries:function(t,e){var i=this.visualMapModel,n=i.itemSize;if(i[Pe].hoverLink){var r=[0,n[1]],a=i[Oe]();t=M(S(r[0],t),r[1]);var l=o(i,a,r),u=[t-l,t+l],c=b(t,r,a,!0),h=[b(u[0],r,a,!0),b(u[1],r,a,!0)];u[0]r[1]&&(h[1]=1/0),e&&(h[0]===-1/0?this._showIndicator(c,h[1],"< ",l):1/0===h[1]?this._showIndicator(c,h[0],"> ",l):this._showIndicator(c,c,"≈ ",l));var d=this._hoverLinkDataIndices,f=[];(e||s(i))&&(f=this._hoverLinkDataIndices=i.findTargetDataIndices(h));var p=x.compressBatches(d,f);this._dispatchHighDown(Ti,_.convertDataIndex(p[0])),this._dispatchHighDown(Ci,_.convertDataIndex(p[1]))}},_hoverLinkFromSeriesMouseOver:function(t){var e=t[hi];if(e&&null!=e[Di]){var i=e.dataModel||this[we].getSeriesByIndex(e[ci]),n=i[zi](e.dataType),r=n.getDimension(this.visualMapModel.getDataDimension(n)),a=n.get(r,e[Di],!0);isNaN(a)||this._showIndicator(a,a)}},_hideIndicator:function(){var t=this._shapes;t.indicator&&t.indicator.attr("invisible",!0),t.indicatorLabel&&t.indicatorLabel.attr("invisible",!0)},_clearHoverLinkToSeries:function(){this._hideIndicator();var t=this._hoverLinkDataIndices;this._dispatchHighDown(Ti,_.convertDataIndex(t)),t[Ei]=0},_clearHoverLinkFromSeries:function(){this._hideIndicator();var t=this.api.getZr();t.off(pi,this._hoverLinkFromSeriesMouseOver),t.off(fi,this._hideIndicator)},_applyTransform:function(t,e,i,n){var r=p.getTransform(e,n?null:this.group);return p[v[ri](t)?ce:"transformDirection"](t,r,i)},_dispatchHighDown:function(t,e){e&&e[Ei]&&this.api[bi]({type:t,batch:e})},dispose:function(){this._clearHoverLinkFromSeries(),this._clearHoverLinkToSeries()},remove:function(){this._clearHoverLinkFromSeries(),this._clearHoverLinkToSeries()}});return L}),e("echarts/component/visualMap/visualMapAction",[an,S],function(t){var e=t(S),i={type:"selectDataRange",event:"dataRangeSelected",update:"update"};e[ii](i,function(t,e){e[Hi]({mainType:"visualMap",query:t},function(e){e.setSelected(t[y])})})}),e("echarts/component/toolbox/featureManager",[an],function(){var t={};return{register:function(e,i){t[e]=i},get:function(e){return t[e]}}}),e("zrender/core/PathProxy",[an,"./curve","./vector","./bbox","./BoundingRect","../config"],function(t){var e=t("./curve"),i=t("./vector"),n=t("./bbox"),r=t("./BoundingRect"),a=t("../config").devicePixelRatio,o={M:1,L:2,C:3,Q:4,A:5,Z:6,R:7},s=[],u=[],c=[],h=[],d=Math.min,f=Math.max,p=Math.cos,v=Math.sin,m=Math.sqrt,g=Math.abs,y=typeof Float32Array!=ke,_=function(){this.data=[],this._len=0,this._ctx=null,this._xi=0,this._yi=0,this._x0=0,this._y0=0,this._ux=0,this._uy=0};return _[Qi]={constructor:_,_lineDash:null,_dashOffset:0,_dashIdx:0,_dashSum:0,setScale:function(t,e){this._ux=g(1/a/t)||0,this._uy=g(1/a/e)||0},getContext:function(){return this._ctx},beginPath:function(t){return this._ctx=t,t&&t.beginPath(),t&&(this.dpr=t.dpr),this._len=0,this._lineDash&&(this._lineDash=null,this._dashOffset=0),this},moveTo:function(t,e){return this.addData(o.M,t,e),this._ctx&&this._ctx.moveTo(t,e),this._x0=t,this._y0=e,this._xi=t,this._yi=e,this},lineTo:function(t,e){var i=g(t-this._xi)>this._ux||g(e-this._yi)>this._uy||this._len<5;return this.addData(o.L,t,e),this._ctx&&i&&(this._needsDash()?this._dashedLineTo(t,e):this._ctx.lineTo(t,e)),i&&(this._xi=t,this._yi=e),this},bezierCurveTo:function(t,e,i,n,r,a){return this.addData(o.C,t,e,i,n,r,a),this._ctx&&(this._needsDash()?this._dashedBezierTo(t,e,i,n,r,a):this._ctx.bezierCurveTo(t,e,i,n,r,a)),this._xi=r,this._yi=a,this},quadraticCurveTo:function(t,e,i,n){return this.addData(o.Q,t,e,i,n),this._ctx&&(this._needsDash()?this._dashedQuadraticTo(t,e,i,n):this._ctx.quadraticCurveTo(t,e,i,n)),this._xi=i,this._yi=n,this},arc:function(t,e,i,n,r,a){return this.addData(o.A,t,e,i,i,n,r-n,0,a?0:1),this._ctx&&this._ctx.arc(t,e,i,n,r,a),this._xi=p(r)*i+t,this._xi=v(r)*i+t,this},arcTo:function(t,e,i,n,r){return this._ctx&&this._ctx.arcTo(t,e,i,n,r),this},rect:function(t,e,i,n){return this._ctx&&this._ctx.rect(t,e,i,n),this.addData(o.R,t,e,i,n),this},closePath:function(){this.addData(o.Z);var t=this._ctx,e=this._x0,i=this._y0;return t&&(this._needsDash()&&this._dashedLineTo(e,i),t.closePath()),this._xi=e,this._yi=i,this},fill:function(t){t&&t.fill(),this.toStatic()},stroke:function(t){t&&t[le](),this.toStatic()},setLineDash:function(t){if(t instanceof Array){this._lineDash=t,this._dashIdx=0;for(var e=0,i=0;ii;i++)this.data[i]=t[i];this._len=e},appendPath:function(t){t instanceof Array||(t=[t]);for(var e=t[Ei],i=0,n=this._len,r=0;e>r;r++)i+=t[r].len();y&&this.data instanceof Float32Array&&(this.data=new Float32Array(n+i));for(var r=0;e>r;r++)for(var a=t[r].data,o=0;oe[Ei]&&(this._expandData(),e=this.data);for(var i=0;ia&&(a=r+a),a%=r,v-=a*c,g-=a*h;c>0&&t>=v||0>c&&v>=t||0==c&&(h>0&&e>=g||0>h&&g>=e);)n=this._dashIdx,i=o[n],v+=c*i,g+=h*i,this._dashIdx=(n+1)%y,c>0&&l>v||0>c&&v>l||h>0&&u>g||0>h&&g>u||s[n%2?"moveTo":"lineTo"](c>=0?d(v,t):f(v,t),h>=0?d(g,e):f(g,e));c=v-t,h=g-e,this._dashOffset=-m(c*c+h*h)},_dashedBezierTo:function(t,i,n,r,a,o){var s,l,u,c,h,d=this._dashSum,f=this._dashOffset,p=this._lineDash,v=this._ctx,g=this._xi,y=this._yi,_=e.cubicAt,x=0,b=this._dashIdx,w=p[Ei],M=0;for(0>f&&(f=d+f),f%=d,s=0;1>s;s+=.1)l=_(g,t,n,a,s+.1)-_(g,t,n,a,s),u=_(y,i,r,o,s+.1)-_(y,i,r,o,s),x+=m(l*l+u*u);for(;w>b&&(M+=p[b],!(M>f));b++);for(s=(M-f)/x;1>=s;)c=_(g,t,n,a,s),h=_(y,i,r,o,s),b%2?v.moveTo(c,h):v.lineTo(c,h),s+=p[b]/x,b=(b+1)%w;b%2!==0&&v.lineTo(a,o),l=a-c,u=o-h,this._dashOffset=-m(l*l+u*u)},_dashedQuadraticTo:function(t,e,i,n){var r=i,a=n;i=(i+2*t)/3,n=(n+2*e)/3,t=(this._xi+2*t)/3,e=(this._yi+2*e)/3,this._dashedBezierTo(t,e,i,n,r,a)},toStatic:function(){var t=this.data;t instanceof Array&&(t[Ei]=this._len,y&&(this.data=new Float32Array(t)))},getBoundingRect:function(){s[0]=s[1]=c[0]=c[1]=Number.MAX_VALUE,u[0]=u[1]=h[0]=h[1]=-Number.MAX_VALUE;for(var t=this.data,e=0,a=0,l=0,d=0,f=0;ff;){var m=u[f++];switch(1==f&&(n=u[f],r=u[f+1],e=n,i=r),m){case o.M:e=n=u[f++],i=r=u[f++],t.moveTo(n,r);break;case o.L:a=u[f++],s=u[f++],(g(a-n)>c||g(s-r)>h||f===d-1)&&(t.lineTo(a,s),n=a,r=s);break;case o.C:t.bezierCurveTo(u[f++],u[f++],u[f++],u[f++],u[f++],u[f++]),n=u[f-2],r=u[f-1];break;case o.Q:t.quadraticCurveTo(u[f++],u[f++],u[f++],u[f++]),n=u[f-2],r=u[f-1];break;case o.A:var y=u[f++],_=u[f++],x=u[f++],b=u[f++],w=u[f++],M=u[f++],S=u[f++],T=u[f++],C=x>b?x:b,A=x>b?1:x/b,P=x>b?b/x:1,L=Math.abs(x-b)>.001,k=w+M;L?(t.translate(y,_),t[l](S),t.scale(A,P),t.arc(0,0,C,w,k,1-T),t.scale(1/A,1/P),t[l](-S),t.translate(-y,-_)):t.arc(y,_,C,w,k,1-T),1==f&&(e=p(w)*x+y,i=v(w)*b+_),n=p(k)*x+y,r=v(k)*b+_;break;case o.R:e=n=u[f],i=r=u[f+1],t.rect(u[f++],u[f++],u[f++],u[f++]);break;case o.Z:t.closePath(),n=e,r=i}}}},_.CMD=o,_}),e("zrender/tool/transformPath",[an,"../core/PathProxy","../core/vector"],function(t){function e(t,e){var n,l,u,c,h,d,f=t.data,p=i.M,v=i.C,m=i.L,g=i.R,y=i.A,_=i.Q;for(u=0,c=0;uh;h++){var d=a[h];d[0]=f[u++],d[1]=f[u++],r(d,d,e),f[c++]=d[0],f[c++]=d[1]}}}var i=t("../core/PathProxy").CMD,n=t("../core/vector"),r=n[ce],a=[[],[],[]],o=Math.sqrt,s=Math.atan2;return e}),e("zrender/graphic/Displayable",[an,"../core/util","./Style","../Element","./mixin/RectText"],function(t){function e(t){t=t||{},r.call(this,t);for(var e in t)t.hasOwnProperty(e)&&"style"!==e&&(this[e]=t[e]);this.style=new n(t.style),this._rect=null,this.__clipPaths=[]}var i=t("../core/util"),n=t("./Style"),r=t("../Element"),a=t("./mixin/RectText");return e[Qi]={constructor:e,type:"displayable",__dirty:!0,invisible:!1,z:0,z2:0,zlevel:0,draggable:!1,dragging:!1,silent:!1,culling:!1,cursor:"pointer",rectHover:!1,progressive:-1,beforeBrush:function(){},afterBrush:function(){},brush:function(){},getBoundingRect:function(){},contain:function(t,e){return this.rectContain(t,e)},traverse:function(t,e){t.call(e,this)},rectContain:function(t,e){var i=this.transformCoordToLocal(t,e),n=this[Ze]();return n[Ie](i[0],i[1])},dirty:function(){this.__dirty=!0,this._rect=null,this.__zr&&this.__zr.refresh()},animateStyle:function(t){return this.animate("style",t)},attrKV:function(t,e){"style"!==t?r[Qi].attrKV.call(this,t,e):this.style.set(e)},setStyle:function(t,e){return this.style.set(t,e),this.dirty(!1),this},useStyle:function(t){return this.style=new n(t),this.dirty(!1),this}},i[$e](e,r),i.mixin(e,a),e}),e("zrender/contain/path",[an,"../core/PathProxy","./line","./cubic","./quadratic","./arc","./util","../core/curve","./windingLine"],function(t){function e(t,e){return Math.abs(t-e)e&&c>r&&c>o&&c>l||e>c&&r>c&&o>c&&l>c)return 0;var h=f.cubicRootAt(e,r,o,l,c,y);if(0===h)return 0;for(var d,p,v=0,m=-1,g=0;h>g;g++){var x=y[g],b=0===x||1===x?.5:1,w=f.cubicAt(t,n,a,s,x);u>w||(0>m&&(m=f.cubicExtrema(e,r,o,l,_),_[1]<_[0]&&m>1&&i(),d=f.cubicAt(e,r,o,l,_[0]),m>1&&(p=f.cubicAt(e,r,o,l,_[1]))),v+=2==m?x<_[0]?e>d?b:-b:x<_[1]?d>p?b:-b:p>l?b:-b:x<_[0]?e>d?b:-b:d>l?b:-b)}return v}function r(t,e,i,n,r,a,o,s){if(s>e&&s>n&&s>a||e>s&&n>s&&a>s)return 0;var l=f.quadraticRootAt(e,n,a,s,y);if(0===l)return 0;var u=f.quadraticExtremum(e,n,a);if(u>=0&&1>=u){for(var c=0,h=f.quadraticAt(e,n,a,u),d=0;l>d;d++){var p=0===y[d]||1===y[d]?.5:1,v=f.quadraticAt(t,i,r,y[d]);o>v||(c+=y[d]h?p:-p:h>a?p:-p)}return c}var p=0===y[0]||1===y[0]?.5:1,v=f.quadraticAt(t,i,r,y[0]);return o>v?0:e>a?p:-p}function a(t,e,i,n,r,a,o,s){if(s-=e,s>i||-i>s)return 0;var l=Math.sqrt(i*i-s*s);y[0]=-l,y[1]=l;var u=Math.abs(n-r);if(1e-4>u)return 0;if(1e-4>u%m){n=0,r=m;var c=a?1:-1;return o>=y[0]+t&&o<=y[1]+t?c:0}if(a){var l=n;n=d(r),r=d(l)}else n=d(n),r=d(r);n>r&&(r+=m);for(var h=0,f=0;2>f;f++){var p=y[f];if(p+t>o){var v=Math.atan2(s,p),c=a?1:-1;0>v&&(v=m+v),(v>=n&&r>=v||v+m>=n&&r>=v+m)&&(v>Math.PI/2&&v<1.5*Math.PI&&(c=-c),h+=c)}}return h}function o(t,i,o,l,d){for(var f=0,m=0,g=0,y=0,_=0,x=0;x1&&(o||(f+=p(m,g,y,_,l,d))),1==x&&(m=t[x],g=t[x+1],y=m,_=g),b){case s.M:y=t[x++],_=t[x++],m=y,g=_;break;case s.L:if(o){if(v(m,g,t[x],t[x+1],i,l,d))return!0}else f+=p(m,g,t[x],t[x+1],l,d)||0;m=t[x++],g=t[x++];break;case s.C:if(o){if(u.containStroke(m,g,t[x++],t[x++],t[x++],t[x++],t[x],t[x+1],i,l,d))return!0}else f+=n(m,g,t[x++],t[x++],t[x++],t[x++],t[x],t[x+1],l,d)||0;m=t[x++],g=t[x++];break;case s.Q:if(o){if(c.containStroke(m,g,t[x++],t[x++],t[x],t[x+1],i,l,d))return!0}else f+=r(m,g,t[x++],t[x++],t[x],t[x+1],l,d)||0;m=t[x++],g=t[x++];break;case s.A:var w=t[x++],M=t[x++],S=t[x++],T=t[x++],C=t[x++],A=t[x++],P=(t[x++],1-t[x++]),L=Math.cos(C)*S+w,k=Math.sin(C)*T+M;x>1?f+=p(m,g,L,k,l,d):(y=L,_=k);var I=(l-w)*T/S+w;if(o){if(h.containStroke(w,M,T,C,C+A,P,i,I,d))return!0}else f+=a(w,M,T,C,C+A,P,I,d);m=Math.cos(C+A)*S+w,g=Math.sin(C+A)*T+M;break;case s.R:y=m=t[x++],_=g=t[x++];var D=t[x++],z=t[x++],L=y+D,k=_+z;if(o){if(v(y,_,L,_,i,l,d)||v(L,_,L,k,i,l,d)||v(L,k,y,k,i,l,d)||v(y,k,y,_,i,l,d))return!0}else f+=p(L,_,L,k,l,d),f+=p(y,k,y,_,l,d);break;case s.Z:if(o){if(v(m,g,y,_,i,l,d))return!0}else f+=p(m,g,y,_,l,d);m=y,g=_}}return o||e(g,_)||(f+=p(m,g,y,_,l,d)||0),0!==f}var s=t("../core/PathProxy").CMD,l=t("./line"),u=t("./cubic"),c=t("./quadratic"),h=t("./arc"),d=t("./util").normalizeRadian,f=t("../core/curve"),p=t("./windingLine"),v=l.containStroke,m=2*Math.PI,g=1e-4,y=[-1,-1,-1],_=[-1,-1];return{contain:function(t,e,i){return o(t,0,!1,e,i)},containStroke:function(t,e,i,n){return o(t,e,!0,i,n)}}}),e("echarts/scale/Ordinal",[an,nn,"./Scale"],function(t){var e=t(nn),i=t("./Scale"),n=i[Qi],r=i[wi]({type:"ordinal",init:function(t,e){this._data=t,this._extent=e||[0,t[Ei]-1]},parse:function(t){return typeof t===Ki?e[Ri](this._data,t):Math.round(t)},contain:function(t){return t=this.parse(t),n[Ie].call(this,t)&&null!=this._data[t]},normalize:function(t){return n.normalize.call(this,this.parse(t))},scale:function(t){return Math.round(n.scale.call(this,t))},getTicks:function(){for(var t=[],e=this._extent,i=e[0];i<=e[1];)t.push(i),i++;return t},getLabel:function(t){return this._data[t]},count:function(){return this._extent[1]-this._extent[0]+1},niceTicks:e.noop,niceExtent:e.noop});return r[ki]=function(){return new r},r}),e("echarts/coord/single/SingleAxis",[an,nn,"../Axis","../axisHelper"],function(t){var e=t(nn),i=t("../Axis"),n=t("../axisHelper"),r=function(t,e,n,r,a){i.call(this,t,e,n),this.type=r||"value",this[Ee]=a||Bi,this[h]=null,this._labelInterval=null};return r[Qi]={constructor:r,model:null,isHorizontal:function(){var t=this[Ee];return"top"===t||t===Bi},getLabelInterval:function(){var t=this._labelInterval;if(!t){var i=this.model,r=i[Ui]("axisLabel"),a=r.get(D);if(this.type!==M||"auto"!==a)return t=this._labelInterval="auto"===a?0:a;t=this._labelInterval=n.getAxisLabelInterval(e.map(this.scale[ze](),this[k],this),i[m](),r[Ui](We)[Fe](),this[V]())}return t},toGlobalCoord:null,toLocalCoord:null},e[$e](r,i),r}),e("zrender/graphic/Pattern",[an],function(){var t=function(t,e){this.image=t,this.repeat=e,this.type="pattern"};return t[Qi].getCanvasPattern=function(t){return this._canvasPattern||(this._canvasPattern=t.createPattern(this.image,this.repeat))},t}),e("echarts/model/mixin/makeStyleMapper",[an,nn],function(t){var e=t(nn);return function(t){for(var i=0;i=0)){var o=this[ge](a);null!=o&&(n[t[r][0]]=o)}}return n}}}),e("zrender/graphic/Style",[an],function(){function t(t,e,i){var n=e.x,r=e.x2,a=e.y,o=e.y2;e.global||(n=n*i.width+i.x,r=r*i.width+i.x,a=a*i[Yi]+i.y,o=o*i[Yi]+i.y);var s=t.createLinearGradient(n,a,r,o);return s}function e(t,e,i){var n=i.width,r=i[Yi],a=Math.min(n,r),o=e.x,s=e.y,l=e.r;e.global||(o=o*n+i.x,s=s*r+i.y,l*=a);var u=t.createRadialGradient(o,s,0,o,s,l);return u}var i=[["shadowBlur",0],["shadowOffsetX",0],["shadowOffsetY",0],["shadowColor","#000"],["lineCap","butt"],["lineJoin","miter"],["miterLimit",10]],n=function(t){this.extendFrom(t)};n[Qi]={constructor:n,fill:"#000000",stroke:null,opacity:1,lineDash:null,lineDashOffset:0,shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,lineWidth:1,strokeNoScale:!1,text:null,textFill:"#000",textStroke:null,textPosition:"inside",textBaseline:null,textAlign:null,textVerticalAlign:null,textDistance:5,textShadowBlur:0,textShadowOffsetX:0,textShadowOffsetY:0,textTransform:!1,textRotation:0,blend:null,bind:function(t,e,n){for(var r=this,a=n&&n.style,o=!a,s=0;s0},extendFrom:function(t,e){if(t){var i=this;for(var n in t)!t.hasOwnProperty(n)||!e&&i.hasOwnProperty(n)||(i[n]=t[n])}},set:function(t,e){typeof t===Ki?this[t]=e:this.extendFrom(t,!0)},clone:function(){var t=new this.constructor;return t.extendFrom(this,!0),t},getGradient:function(i,n,r){for(var a="radial"===n.type?e:t,o=a(i,n,r),s=n.colorStops,l=0;l=0?parseFloat(t)/100*e:parseFloat(t):t}var i=t("../../contain/text"),n=t("../../core/BoundingRect"),r=new n,a=function(){};return a[Qi]={constructor:a,drawRectText:function(t,n,a){var o=this.style,s=o.text;if(null!=s&&(s+=""),s){t.save();var u,c,h=o.textPosition,d=o.textDistance,f=o[qe],p=o.textFont||o.font,v=o.textBaseline,m=o.textVerticalAlign;a=a||i[Ze](s,p,f,v);var g=this[_];if(o.textTransform?this.setTransform(t):g&&(r.copy(n),r[ce](g),n=r),h instanceof Array){if(u=n.x+e(h[0],n.width),c=n.y+e(h[1],n[Yi]),f=f||"left",v=v||"top",m){switch(m){case Ne:c-=a[Yi]/2-a.lineHeight/2;break;case Bi:c-=a[Yi]-a.lineHeight/2;break;default:c+=a.lineHeight/2}v=Ne}}else{var y=i.adjustTextPositionOnRect(h,n,a,d);u=y.x,c=y.y,f=f||y[qe],v=v||y.textBaseline}t[qe]=f||"left",t.textBaseline=v||"alphabetic";var x=o.textFill,b=o.textStroke;x&&(t.fillStyle=x),b&&(t.strokeStyle=b),t.font=p||"12px sans-serif",t.shadowBlur=o.textShadowBlur,t.shadowColor=o.textShadowColor||"transparent",t.shadowOffsetX=o.textShadowOffsetX,t.shadowOffsetY=o.textShadowOffsetY;var w=s.split("\n");o.textRotation&&(g&&t.translate(g[4],g[5]),t[l](o.textRotation),g&&t.translate(-g[4],-g[5]));for(var M=0;M=i&&n>=t},containData:function(t){return this[Ie](this[k](t))},getExtent:function(){var t=this._extent.slice();return t},getPixelPrecision:function(t){return i.getPixelPrecision(t||this.scale[Oe](),this._extent)},setExtent:function(t,e){var i=this._extent;i[0]=t,i[1]=e},dataToCoord:function(t,i){var r=this._extent,o=this.scale;return t=o.normalize(t),this.onBand&&o.type===xe&&(r=r.slice(),e(r,o.count())),n(t,a,r,i)},coordToData:function(t,i){var r=this._extent,o=this.scale;this.onBand&&o.type===xe&&(r=r.slice(),e(r,o.count()));var s=n(t,r,a,i);return this.scale.scale(s)},getTicksCoords:function(t){if(this.onBand&&!t){for(var e=this.getBands(),i=[],n=0;no;o++)e.push([a*o/i+n,a*(o+1)/i+n]);return e},getBandWidth:function(){var t=this._extent,e=this.scale[Oe](),i=e[1]-e[0]+(this.onBand?1:0);0===i&&(i=1);var n=Math.abs(t[1]-t[0]);return Math.abs(n)/i}},o}),e("echarts/data/DataDiffer",[an],function(){function t(t){return t}function e(e,i,n,r){this._old=e,this._new=i,this._oldKeyGetter=n||t,this._newKeyGetter=r||t}function i(t,e,i,n){for(var r=0;rf;f++)this._add&&this._add(h[f]);else this._add&&this._add(h)}}}},e}),e("echarts/data/helper/completeDimensions",[an,nn],function(t){function e(t,e,a,o){if(!e)return t;var s=i(e[0]),l=n[ri](s)&&s[Ei]||1;a=a||[],o=o||"extra";for(var u=0;l>u;u++)if(!t[u]){var c=a[u]||o+(u-a[Ei]);t[u]=r(e,u)?{type:"ordinal",name:c}:c}return t}function i(t){return n[ri](t)?t:n[Si](t)?t.value:t}var n=t(nn),r=e.guessOrdinal=function(t,e){for(var r=0,a=t[Ei];a>r;r++){var o=i(t[r]);if(!n[ri](o))return!1;var o=o[e];if(null!=o&&isFinite(o))return!1;if(n[Ye](o)&&"-"!==o)return!0}return!1};return e}),e("echarts/component/dataZoom/helper",[an,a,nn],function(t){var e=t(a),i=t(nn),n={},r=["x","y","z",B,"angle"];return n.createNameEach=function(t,n){t=t.slice();var r=i.map(t,e.capitalFirst);n=(n||[]).slice();var a=i.map(n,e.capitalFirst);return function(e,o){i.each(t,function(t,i){for(var s={name:t,capital:r[i]},l=0;l=0}function a(t,r){var a=!1;return e(function(e){i.each(n(t,e)||[],function(t){r.records[e.name][t]&&(a=!0)})}),a}function o(t,r){r.nodes.push(t),e(function(e){i.each(n(t,e)||[],function(t){r.records[e.name][t]=!0})})}return function(i){function n(t){!r(t,s)&&a(t,s)&&(o(t,s),l=!0)}var s={nodes:[],records:{}};if(e(function(t){s.records[t.name]={}}),!i)return s;o(i,s);var l;do l=!1,t(n);while(l);return s}},n}),e("echarts/component/dataZoom/AxisProxy",[an,nn,d],function(t){function e(t,e){var i=[1/0,-1/0];return s(e,function(e){var n=e[zi]();n&&s(e[v](t),function(t){var e=n[j](t);e[0]i[1]&&(i[1]=e[1])})},this),i}function i(t,e,i){var r=i.getAxisModel(),a=r.axis.scale,u=[0,100],c=[t.start,t.end],h=[];return e=e.slice(),n(e,r,a),s(["startValue","endValue"],function(e){h.push(null!=t[e]?a.parse(t[e]):null)}),s([0,1],function(t){var i=h[t],n=c[t];null!=n||null==i?(null==n&&(n=u[t]),i=a.parse(o[q](n,u,e,!0))):n=o[q](i,e,u,!0),h[t]=i,c[t]=n}),{valueWindow:l(h),percentWindow:l(c)}}function n(t,e,i){return s(["min","max"],function(n,r){var a=e.get(n,!0);null!=a&&(a+"")[Ji]()!=="data"+n&&(t[r]=i.parse(a))}),e.get("scale",!0)||(t[0]>0&&(t[0]=0),t[1]<0&&(t[1]=0)),t}function r(t,e){var i=t.getAxisModel(),n=t._percentWindow,r=t._valueWindow;if(n){var a=e||0===n[0]&&100===n[1],s=!e&&o.getPixelPrecision(r,[0,500]),l=!(e||20>s&&s>=0),u=e||a||l;i.setRange&&i.setRange(u?null:+r[0][G](s),u?null:+r[1][G](s))}}var a=t(nn),o=t(d),s=a.each,l=o.asc,u=function(t,e,i,n){this._dimName=t,this._axisIndex=e,this._valueWindow,this._percentWindow,this._dataExtent,this[we]=n,this._dataZoomModel=i};return u[Qi]={constructor:u,hostedBy:function(t){return this._dataZoomModel===t},getDataExtent:function(){return this._dataExtent.slice()},getDataValueWindow:function(){return this._valueWindow.slice()},getDataPercentWindow:function(){return this._percentWindow.slice()},getTargetSeriesModels:function(){var t=[],e=this[we];return e[Pi](function(i){var n=i.get(Vi);if(n===z||"polar"===n){var r=this._dimName,a=e[Ce]({mainType:r+"Axis",index:i.get(r+"AxisIndex"),id:i.get(r+"AxisId")})[0];this._axisIndex===(a&&a[Te])&&t.push(i)}},this),t},getAxisModel:function(){return this[we].getComponent(this._dimName+"Axis",this._axisIndex)},getOtherAxisModel:function(){var t,e,i=this._dimName,n=this[we],r=this.getAxisModel(),a="x"===i||"y"===i;a?(e="gridIndex",t="x"===i?"y":"x"):(e="polarIndex",t="angle"===i?B:"angle");var o;return n[Hi](t+"Axis",function(t){(t.get(e)||0)===(r.get(e)||0)&&(o=t)}),o},reset:function(t){if(t===this._dataZoomModel){var n=this._dataExtent=e(this._dimName,this.getTargetSeriesModels()),a=i(t[Pe],n,this);this._valueWindow=a.valueWindow,this._percentWindow=a.percentWindow,r(this)}},restore:function(t){t===this._dataZoomModel&&(this._valueWindow=this._percentWindow=null,r(this,!0))},filterData:function(t){function e(t){return t>=a[0]&&t<=a[1]}if(t===this._dataZoomModel){var i=this._dimName,n=this.getTargetSeriesModels(),r=t.get("filterMode"),a=this._valueWindow,o=this.getOtherAxisModel();t.get("$fromToolbox")&&o&&o.get("type")===M&&(r="empty"),s(n,function(t){var n=t[zi]();n&&s(t[v](i),function(i){"empty"===r?t.setData(n.map(i,function(t){return e(t)?t:0/0})):n.filterSelf(i,e)})})}}},u}),e("zrender/core/guid",[],function(){var t=2311;return function(){return t++}}),e("zrender/mixin/Transformable",[an,"../core/matrix","../core/vector"],function(t){function e(t){return t>a||-a>t}var i=t("../core/matrix"),n=t("../core/vector"),r=i.identity,a=5e-5,o=function(t){t=t||{},t[Ee]||(this[Ee]=[0,0]),null==t[ie]&&(this[ie]=0),t.scale||(this.scale=[1,1]),this.origin=this.origin||null},s=o[Qi];s[_]=null,s.needLocalTransform=function(){return e(this[ie])||e(this[Ee][0])||e(this[Ee][1])||e(this.scale[0]-1)||e(this.scale[1]-1)},s.updateTransform=function(){var t=this[ne],e=t&&t[_],n=this.needLocalTransform(),a=this[_];return n||e?(a=a||i[ki](),n?this.getLocalTransform(a):r(a),e&&(n?i.mul(a,t[_],a):i.copy(a,t[_])),this[_]=a,this.invTransform=this.invTransform||i[ki](),void i.invert(this.invTransform,a)):void(a&&r(a))},s.getLocalTransform=function(t){t=t||[],r(t);var e=this.origin,n=this.scale,a=this[ie],o=this[Ee];return e&&(t[4]-=e[0],t[5]-=e[1]),i.scale(t,t,n),a&&i[l](t,t,a),e&&(t[4]+=e[0],t[5]+=e[1]),t[4]+=o[0],t[5]+=o[1],t},s.setTransform=function(t){var e=this[_],i=t.dpr||1;e?t.setTransform(i*e[0],i*e[1],i*e[2],i*e[3],i*e[4],i*e[5]):t.setTransform(i,0,0,i,0,0)},s.restoreTransform=function(t){var e=(this[_],t.dpr||1);t.setTransform(e,0,0,e,0,0)};var u=[];return s.decomposeTransform=function(){if(this[_]){var t=this[ne],n=this[_];t&&t[_]&&(i.mul(u,t.invTransform,n),n=u);var r=n[0]*n[0]+n[1]*n[1],a=n[2]*n[2]+n[3]*n[3],o=this[Ee],s=this.scale;e(r-1)&&(r=Math.sqrt(r)),e(a-1)&&(a=Math.sqrt(a)),n[0]<0&&(r=-r),n[3]<0&&(a=-a),o[0]=n[4],o[1]=n[5],s[0]=r,s[1]=a,this[ie]=Math.atan2(-n[1]/a,n[0]/r)}},s.getGlobalScale=function(){var t=this[_];if(!t)return[1,1];var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]),i=Math.sqrt(t[2]*t[2]+t[3]*t[3]);return t[0]<0&&(e=-e),t[3]<0&&(i=-i),[e,i]},s.transformCoordToLocal=function(t,e){var i=[t,e],r=this.invTransform;return r&&n[ce](i,i,r),i},s.transformCoordToGlobal=function(t,e){var i=[t,e],r=this[_];return r&&n[ce](i,i,r),i},o}),e("zrender/mixin/Animatable",[an,"../animation/Animator","../core/util","../core/log"],function(t){var e=t("../animation/Animator"),i=t("../core/util"),n=i[Ye],r=i.isFunction,a=i[Si],o=t("../core/log"),s=function(){this.animators=[]};return s[Qi]={constructor:s,animate:function(t,n){var r,a=!1,s=this,l=this.__zr;if(t){var u=t.split("."),c=s;a="shape"===u[0];for(var h=0,d=u[Ei];d>h;h++)c&&(c=c[u[h]]);c&&(r=c)}else r=s;if(!r)return void o('Property "'+t+'" is not existed in element '+s.id);var f=s.animators,p=new e(r,n);return p.during(function(){s.dirty(a)}).done(function(){f[mi](i[Ri](f,p),1)}),f.push(p),l&&l[Xi].addAnimator(p),p},stopAnimation:function(t){for(var e=this.animators,i=e[Ei],n=0;i>n;n++)e[n].stop(t);return e[Ei]=0,this},animateTo:function(t,e,i,a,o){function s(){u--,u||o&&o()}n(i)?(o=a,a=i,i=0):r(a)?(o=a,a="linear",i=0):r(i)?(o=i,i=0):r(e)?(o=e,e=500):e||(e=500),this[Zi](),this._animateToShallow("",this,t,e,i,a,o);var l=this.animators.slice(),u=l[Ei];u||o&&o();for(var c=0;c0&&this.animate(t,!1).when(null==r?500:r,s).delay(o||0),this}},s}),e("echarts/coord/cartesian/axisLabelInterval",[an,nn,"../axisHelper"],function(t){var e=t(nn),i=t("../axisHelper");return function(t){var n=t.model,r=n[Ui]("axisLabel"),a=r.get(D);return t.type!==M||"auto"!==a?"auto"===a?0:a:i.getAxisLabelInterval(e.map(t.scale[ze](),t[k],t),n[m](),r[Ui](We)[Fe](),t[V]())}}),e("echarts/component/axis/AxisBuilder",[an,nn,a,Z,"../../model/Model",d,tn],function(t){function e(t){var e={componentType:t.mainType};return e[t.mainType+"Index"]=t[Te],e}function i(t,e,i){var n,r,a=f(e-t[ie]);return p(a)?(r=i>0?"top":Bi,n=Be):p(a-x)?(r=i>0?Bi:"top",n=Be):(r=Ne,n=a>0&&x>a?i>0?"right":"left":i>0?"left":"right"),{rotation:a,textAlign:n,verticalAlign:r}}function n(t,e,i,n){var r,a,o=f(i-t[ie]),s=n[0]>n[1],l="start"===e&&!s||"start"!==e&&s;return p(o-x/2)?(a=l?Bi:"top",r=Be):p(o-1.5*x)?(a=l?"top":Bi,r=Be):(a=Ne,r=1.5*x>o&&o>x/2?l?"left":"right":l?"right":"left"),{rotation:o,textAlign:r,verticalAlign:a}}function r(t){var e=t.get("tooltip");return t.get(vi)||!(t.get("triggerEvent")||e&&e.show)}var o=t(nn),s=t(a),u=t(Z),c=t("../../model/Model"),h=t(d),f=h.remRadian,p=h.isRadianAroundZero,v=t(tn),g=v[ce],y=o[ee],x=Math.PI,b=function(t,e){this.opt=e,this.axisModel=t,o[xi](e,{labelOffset:0,nameDirection:1,tickDirection:1,labelDirection:1,silent:!0}),this.group=new u.Group;var i=new u.Group({position:e[Ee].slice(),rotation:e[ie]});i.updateTransform(),this._transform=i[_],this._dumbGroup=i};b[Qi]={constructor:b,hasBuilder:function(t){return!!w[t]},add:function(t){w[t].call(this)},getGroup:function(){return this.group}};var w={axisLine:function(){var t=this.opt,e=this.axisModel;if(e.get("axisLine.show")){var i=this.axisModel.axis[Oe](),n=this._transform,r=[i[0],0],a=[i[1],0];n&&(g(r,r,n),g(a,a,n)),this.group.add(new u.Line(u.subPixelOptimizeLine({anid:"line",shape:{x1:r[0],y1:r[1],x2:a[0],y2:a[1]},style:o[wi]({lineCap:"round"},e[Ui]("axisLine.lineStyle")[P]()),strokeContainThreshold:t.strokeContainThreshold||5,silent:!0,z2:1})))}},axisTick:function(){var t=this.axisModel;if(t.get("axisTick.show"))for(var e=t.axis,i=t[Ui]("axisTick"),n=this.opt,r=i[Ui]("lineStyle"),a=i.get(Ei),s=T(i,n.labelInterval),l=e.getTicksCoords(i.get("alignWithLabel")),c=e.scale[ze](),h=[],d=[],f=this._transform,p=0;pv[1]?-1:1,g=["start"===h?v[0]-m*p:"end"===h?v[1]+m*p:(v[0]+v[1])/2,h===Ne?t.labelOffset+d*p:0],_=a.get("nameRotate");null!=_&&(_=_*x/180);var b;h===Ne?c=i(t,null!=_?_:t[ie],d):(c=n(t,h,_||0,v),b=t.axisNameAvailableWidth,null!=b&&(b=Math.abs(b/Math.sin(c[ie])),!isFinite(b)&&(b=null)));var w=f[Fe](),M=a.get("nameTruncate",!0)||{},S=M.ellipsis,T=y(M.maxWidth,b),C=null!=S&&null!=T?s.truncateText(l,T,w,S,{minChar:2,placeholder:M.placeholder}):l,A=a.get("tooltip",!0),P=a.mainType,L={componentType:P,name:l,$vars:["name"]};L[P+"Index"]=a[Te];var k=new u.Text({anid:"name",__fullText:l,__truncatedText:C,style:{text:C,textFont:w,fill:f[Ge]()||a.get("axisLine.lineStyle.color"),textAlign:c[qe],textVerticalAlign:c.verticalAlign},position:g,rotation:c[ie],silent:r(a),z2:1,tooltip:A&&A.show?o[wi]({content:l,formatter:function(){return l},formatterParams:L},A):null});a.get("triggerEvent")&&(k.eventData=e(a),k.eventData.targetType="axisName",k.eventData.name=l),this._dumbGroup.add(k),k.updateTransform(),this.group.add(k),k.decomposeTransform()}}},S=b.ifIgnoreOnTick=function(t,e,i){var n,r=t.scale;return r.type===xe&&(typeof i===ni?(n=r[ze]()[e],!i(n,r[De](n))):e%(i+1))},T=b.getInterval=function(t,e){var i=t.get(D);return(null==i||"auto"==i)&&(i=e),i};return b}),e("echarts/chart/heatmap/HeatmapLayer",[an,nn],function(t){function e(){var t=n.createCanvas();this[$i]=t,this.blurSize=30,this.pointSize=20,this.maxOpacity=1,this.minOpacity=0,this._gradientPixels={}}var i=256,n=t(nn);return e[Qi]={update:function(t,e,n,r,a,o){var s=this._getBrush(),l=this._getGradient(t,a,"inRange"),u=this._getGradient(t,a,"outOfRange"),c=this.pointSize+this.blurSize,h=this[$i],d=h[Le]("2d"),f=t[Ei];h.width=e,h[Yi]=n;for(var p=0;f>p;++p){var v=t[p],m=v[0],g=v[1],y=v[2],_=r(y); -d.globalAlpha=_,d.drawImage(s,m-c,g-c)}for(var x=d.getImageData(0,0,h.width,h[Yi]),b=x.data,w=0,M=b[Ei],S=this.minOpacity,T=this.maxOpacity,C=T-S;M>w;){var _=b[w+3]/256,A=4*Math.floor(_*(i-1));if(_>0){var P=o(_)?l:u;_>0&&(_=_*C+S),b[w++]=P[A],b[w++]=P[A+1],b[w++]=P[A+2],b[w++]=P[A+3]*_*256}else w+=4}return d.putImageData(x,0,0),h},_getBrush:function(){var t=this._brushCanvas||(this._brushCanvas=n.createCanvas()),e=this.pointSize+this.blurSize,i=2*e;t.width=i,t[Yi]=i;var r=t[Le]("2d");return r.clearRect(0,0,i,i),r.shadowOffsetX=i,r.shadowBlur=this.blurSize,r.shadowColor="#000",r.beginPath(),r.arc(-e,e,this.pointSize,0,2*Math.PI,!0),r.closePath(),r.fill(),t},_getGradient:function(t,e,i){for(var n=this._gradientPixels,r=n[i]||(n[i]=new Uint8ClampedArray(1024)),a=[],o=0,s=0;256>s;s++)e[i](s/255,!0,a),r[o++]=a[0],r[o++]=a[1],r[o++]=a[2],r[o++]=a[3];return r}},e}),e("zrender/core/log",[an,"../config"],function(t){var e=t("../config");return function(){if(0!==e.debugMode)if(1==e.debugMode)for(var t in arguments)throw new Error(arguments[t]);else if(e.debugMode>1)for(var t in arguments)console.log(arguments[t])}}),e("zrender/animation/Animator",[an,"./Clip","../tool/color","../core/util"],function(t){function e(t,e){return t[e]}function i(t,e,i){t[e]=i}function n(t,e,i){return(e-t)*i+t}function r(t,e,i){return i>.5?e:t}function a(t,e,i,r,a){var o=t[Ei];if(1==a)for(var s=0;o>s;s++)r[s]=n(t[s],e[s],i);else for(var l=t[0][Ei],s=0;o>s;s++)for(var u=0;l>u;u++)r[s][u]=n(t[s][u],e[s][u],i)}function o(t,e,i){var n=t[Ei],r=e[Ei];if(n!==r){var a=n>r;if(a)t[Ei]=r;else for(var o=n;r>o;o++)t.push(1===i?e[o]:g.call(e[o]))}for(var s=t[0]&&t[0][Ei],o=0;ol;l++)isNaN(t[o][l])&&(t[o][l]=e[o][l])}function s(t,e,i){if(t===e)return!0;var n=t[Ei];if(n!==e[Ei])return!1;if(1===i){for(var r=0;n>r;r++)if(t[r]!==e[r])return!1}else for(var a=t[0][Ei],r=0;n>r;r++)for(var o=0;a>o;o++)if(t[r][o]!==e[r][o])return!1;return!0}function l(t,e,i,n,r,a,o,s,l){var c=t[Ei];if(1==l)for(var h=0;c>h;h++)s[h]=u(t[h],e[h],i[h],n[h],r,a,o);else for(var d=t[0][Ei],h=0;c>h;h++)for(var f=0;d>f;f++)s[h][f]=u(t[h][f],e[h][f],i[h][f],n[h][f],r,a,o)}function u(t,e,i,n,r,a,o){var s=.5*(i-t),l=.5*(n-e);return(2*(e-i)+s+l)*o+(-3*(e-i)-2*s-l)*a+s*r+e}function c(t){if(m(t)){var e=t[Ei];if(m(t[0])){for(var i=[],n=0;e>n;n++)i.push(g.call(t[n]));return i}return g.call(t)}return t}function h(t){return t[0]=Math.floor(t[0]),t[1]=Math.floor(t[1]),t[2]=Math.floor(t[2]),"rgba("+t.join(",")+")"}function d(t,e,i,c,d){var v=t._getter,g=t._setter,y="spline"===e,_=c[Ei];if(_){var x,b=c[0].value,w=m(b),M=!1,S=!1,T=w&&m(b[0])?2:1;c.sort(function(t,e){return t.time-e.time}),x=c[_-1].time;for(var C=[],A=[],P=c[0].value,L=!0,k=0;_>k;k++){C.push(c[k].time/x);var I=c[k].value;if(w&&s(I,P,T)||!w&&I===P||(L=!1),P=I,typeof I==Ki){var D=p.parse(I);D?(I=D,M=!0):S=!0}A.push(I)}if(!L){for(var z=A[_-1],k=0;_-1>k;k++)w?o(A[k],z,T):!isNaN(A[k])||isNaN(z)||S||M||(A[k]=z);w&&o(v(t._target,d),z,T);var O,V,R,E,B,N,H=0,Z=0;if(M)var G=[0,0,0,0];var F=function(t,e){var i;if(0>e)i=0;else if(Z>e){for(O=Math.min(H+1,_-1),i=O;i>=0&&!(C[i]<=e);i--);i=Math.min(i,_-2)}else{for(i=H;_>i&&!(C[i]>e);i++);i=Math.min(i-1,_-2)}H=i,Z=e;var o=C[i+1]-C[i];if(0!==o)if(V=(e-C[i])/o,y)if(E=A[i],R=A[0===i?i:i-1],B=A[i>_-2?_-1:i+1],N=A[i>_-3?_-1:i+2],w)l(R,E,B,N,V,V*V,V*V*V,v(t,d),T);else{var s;if(M)s=l(R,E,B,N,V,V*V,V*V*V,G,1),s=h(G);else{if(S)return r(E,B,V);s=u(R,E,B,N,V,V*V,V*V*V)}g(t,d,s)}else if(w)a(A[i],A[i+1],V,v(t,d),T);else{var s;if(M)a(A[i],A[i+1],V,G,1),s=h(G);else{if(S)return r(A[i],A[i+1],V);s=n(A[i],A[i+1],V)}g(t,d,s)}},q=new f({target:t._target,life:x,loop:t._loop,delay:t._delay,onframe:F,ondestroy:i});return e&&"spline"!==e&&(q.easing=e),q}}}var f=t("./Clip"),p=t("../tool/color"),v=t("../core/util"),m=v.isArrayLike,g=Array[Qi].slice,y=function(t,n,r,a){this._tracks={},this._target=t,this._loop=n||!1,this._getter=r||e,this._setter=a||i,this._clipCount=0,this._delay=0,this._doneList=[],this._onframeList=[],this._clipList=[]};return y[Qi]={when:function(t,e){var i=this._tracks;for(var n in e)if(e.hasOwnProperty(n)){if(!i[n]){i[n]=[];var r=this._getter(this._target,n);if(null==r)continue;0!==t&&i[n].push({time:0,value:c(r)})}i[n].push({time:t,value:e[n]})}return this},during:function(t){return this._onframeList.push(t),this},_doneCallback:function(){this._tracks={},this._clipList[Ei]=0;for(var t=this._doneList,e=t[Ei],i=0;e>i;i++)t[i].call(this)},start:function(t){var e,i=this,n=0,r=function(){n--,n||i._doneCallback()};for(var a in this._tracks)if(this._tracks.hasOwnProperty(a)){var o=d(this,t,r,this._tracks[a],a);o&&(this._clipList.push(o),n++,this[Xi]&&this[Xi].addClip(o),e=o)}if(e){var s=e.onframe;e.onframe=function(t,e){s(t,e);for(var n=0;ne)){e=Math.min(e,1);var n=this.easing,r=typeof n==Ki?i[n]:n,a=typeof r===ni?r(e):e;return this.fire("frame",a),1==e?this.loop?(this.restart(t),"restart"):(this._needsRemove=!0,"destroy"):null}},restart:function(t){var e=(t-this._startTime)%this._life;this._startTime=t-e+this.gap,this._needsRemove=!1},fire:function(t,e){t="on"+t,this[t]&&this[t](this._target,e)}},e}),e("echarts/coord/axisModelCommonMixin",[an,nn,"./axisHelper"],function(t){function e(t){return r[Si](t)&&null!=t.value?t.value:t}function i(){return this.get("type")===M&&r.map(this.get("data"),e)}function n(){return a[m](this.axis,this.get("axisLabel.formatter"))}var r=t(nn),a=t("./axisHelper");return{getFormattedLabels:n,getCategories:i}}),e("echarts/coord/axisModelZoomMixin",[an],function(){return{getMin:function(){var t=this[Pe],e=null!=t.rangeStart?t.rangeStart:t.min;return e instanceof Date&&(e=+e),e},getMax:function(){var t=this[Pe],e=null!=t.rangeEnd?t.rangeEnd:t.max;return e instanceof Date&&(e=+e),e},getNeedCrossZero:function(){var t=this[Pe];return null!=t.rangeStart||null!=t.rangeEnd?!1:!t.scale},setRange:function(t,e){this[Pe].rangeStart=t,this[Pe].rangeEnd=e},resetRange:function(){this[Pe].rangeStart=this[Pe].rangeEnd=null}}}),e("echarts/coord/axisModelCreator",[an,"./axisDefault",nn,"../model/Component","../util/layout"],function(t){var e=t("./axisDefault"),i=t(nn),n=t("../model/Component"),r=t("../util/layout"),a=["value",M,"time","log"];return function(t,o,s,l){i.each(a,function(n){o[wi]({type:t+"Axis."+n,mergeDefaultAndTheme:function(e,a){var o=this.layoutMode,l=o?r.getLayoutParams(e):{},u=a.getTheme();i.merge(e,u.get(n+"Axis")),i.merge(e,this.getDefaultOption()),e.type=s(t,e),o&&r.mergeLayoutParam(e,l,o)},defaultOption:i.mergeAll([{},e[n+"Axis"],l],!0)})}),n.registerSubTypeDefaulter(t+"Axis",i.curry(s,t))}}),e("zrender/animation/easing",[],function(){var t={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*(-Math.pow(2,-10*(t-1))+2)},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,i=.1,n=.4;return 0===t?0:1===t?1:(!i||1>i?(i=1,e=n/4):e=n*Math.asin(1/i)/(2*Math.PI),-(i*Math.pow(2,10*(t-=1))*Math.sin(2*(t-e)*Math.PI/n)))},elasticOut:function(t){var e,i=.1,n=.4;return 0===t?0:1===t?1:(!i||1>i?(i=1,e=n/4):e=n*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin(2*(t-e)*Math.PI/n)+1)},elasticInOut:function(t){var e,i=.1,n=.4;return 0===t?0:1===t?1:(!i||1>i?(i=1,e=n/4):e=n*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?-.5*i*Math.pow(2,10*(t-=1))*Math.sin(2*(t-e)*Math.PI/n):i*Math.pow(2,-10*(t-=1))*Math.sin(2*(t-e)*Math.PI/n)*.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?.5*t*t*((e+1)*t-e):.5*((t-=2)*t*((e+1)*t+e)+2)},bounceIn:function(e){return 1-t.bounceOut(1-e)},bounceOut:function(t){return 1/2.75>t?7.5625*t*t:2/2.75>t?7.5625*(t-=1.5/2.75)*t+.75:2.5/2.75>t?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},bounceInOut:function(e){return.5>e?.5*t.bounceIn(2*e):.5*t.bounceOut(2*e-1)+.5}};return t}),e("echarts/coord/axisDefault",[an,nn],function(t){var e=t(nn),i={show:!0,zlevel: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},axisLine:{show:!0,onZero:!0,lineStyle:{color:"#333",width:1,type:"solid"}},axisTick:{show:!0,inside:!1,length:5,lineStyle:{width:1}},axisLabel:{show:!0,inside:!1,rotate:0,margin:8,textStyle:{fontSize:12}},splitLine:{show:!0,lineStyle:{color:["#ccc"],width:1,type:"solid"}},splitArea:{show:!1,areaStyle:{color:["rgba(250,250,250,0.3)","rgba(200,200,200,0.3)"]}}},n=e.merge({boundaryGap:!0,splitLine:{show:!1},axisTick:{alignWithLabel:!1,interval:"auto"},axisLabel:{interval:"auto"}},i),r=e.merge({boundaryGap:[0,0],splitNumber:5},i),a=e[xi]({scale:!0,min:"dataMin",max:"dataMax"},r),o=e[xi]({logBase:10},r);return o.scale=!0,{categoryAxis:n,valueAxis:r,timeAxis:a,logAxis:o}}),e("zrender/config",[],function(){var t=1;typeof window!==ke&&(t=Math.max(window.devicePixelRatio||1,1));var e={debugMode:0,devicePixelRatio:t};return e}),e("echarts/chart/bar/barItemStyle",[an,"../../model/mixin/makeStyleMapper"],function(t){var e=t("../../model/mixin/makeStyleMapper")([["fill","color"],[le,"borderColor"],[ue,"borderWidth"],[le,"barBorderColor"],[ue,"barBorderWidth"],[Re],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]);return{getBarItemStyle:function(t){var i=e.call(this,t);if(this.getBorderLineDash){var n=this.getBorderLineDash();n&&(i.lineDash=n)}return i}}}),e("zrender/core/curve",[an,"./vector"],function(t){function e(t){return t>-x&&x>t}function i(t){return t>x||-x>t}function n(t,e,i,n,r){var a=1-r;return a*a*(a*t+3*r*e)+r*r*(r*n+3*a*i)}function r(t,e,i,n,r){var a=1-r;return 3*(((e-t)*a+2*(i-e)*r)*a+(n-i)*r*r)}function a(t,i,n,r,a,o){var s=r+3*(i-n)-t,l=3*(n-2*i+t),u=3*(i-t),c=t-a,h=l*l-3*s*u,d=l*u-9*s*c,f=u*u-3*l*c,p=0;if(e(h)&&e(d))if(e(l))o[0]=0;else{var v=-u/l;v>=0&&1>=v&&(o[p++]=v)}else{var m=d*d-4*h*f;if(e(m)){var g=d/h,v=-l/s+g,x=-g/2;v>=0&&1>=v&&(o[p++]=v),x>=0&&1>=x&&(o[p++]=x)}else if(m>0){var b=_(m),S=h*l+1.5*s*(-d+b),T=h*l+1.5*s*(-d-b);S=0>S?-y(-S,M):y(S,M),T=0>T?-y(-T,M):y(T,M);var v=(-l-(S+T))/(3*s);v>=0&&1>=v&&(o[p++]=v)}else{var C=(2*h*l-3*s*d)/(2*_(h*h*h)),A=Math.acos(C)/3,P=_(h),L=Math.cos(A),v=(-l-2*P*L)/(3*s),x=(-l+P*(L+w*Math.sin(A)))/(3*s),k=(-l+P*(L-w*Math.sin(A)))/(3*s);v>=0&&1>=v&&(o[p++]=v),x>=0&&1>=x&&(o[p++]=x),k>=0&&1>=k&&(o[p++]=k)}}return p}function o(t,n,r,a,o){var s=6*r-12*n+6*t,l=9*n+3*a-3*t-9*r,u=3*n-3*t,c=0;if(e(l)){if(i(s)){var h=-u/s;h>=0&&1>=h&&(o[c++]=h)}}else{var d=s*s-4*l*u;if(e(d))o[0]=-s/(2*l);else if(d>0){var f=_(d),h=(-s+f)/(2*l),p=(-s-f)/(2*l);h>=0&&1>=h&&(o[c++]=h),p>=0&&1>=p&&(o[c++]=p)}}return c}function s(t,e,i,n,r,a){var o=(e-t)*r+t,s=(i-e)*r+e,l=(n-i)*r+i,u=(s-o)*r+o,c=(l-s)*r+s,h=(c-u)*r+u;a[0]=t,a[1]=o,a[2]=u,a[3]=h,a[4]=h,a[5]=c,a[6]=l,a[7]=n}function l(t,e,i,r,a,o,s,l,u,c,h){var d,f,p,v,m,y=.005,x=1/0;S[0]=u,S[1]=c;for(var w=0;1>w;w+=.05)T[0]=n(t,i,a,s,w),T[1]=n(e,r,o,l,w),v=g(S,T),x>v&&(d=w,x=v);x=1/0;for(var M=0;32>M&&!(b>y);M++)f=d-y,p=d+y,T[0]=n(t,i,a,s,f),T[1]=n(e,r,o,l,f),v=g(T,S),f>=0&&x>v?(d=f,x=v):(C[0]=n(t,i,a,s,p),C[1]=n(e,r,o,l,p),m=g(C,S),1>=p&&x>m?(d=p,x=m):y*=.5);return h&&(h[0]=n(t,i,a,s,d),h[1]=n(e,r,o,l,d)),_(x)}function u(t,e,i,n){var r=1-n;return r*(r*t+2*n*e)+n*n*i}function c(t,e,i,n){return 2*((1-n)*(e-t)+n*(i-e))}function h(t,n,r,a,o){var s=t-2*n+r,l=2*(n-t),u=t-a,c=0;if(e(s)){if(i(l)){var h=-u/l;h>=0&&1>=h&&(o[c++]=h)}}else{var d=l*l-4*s*u;if(e(d)){var h=-l/(2*s);h>=0&&1>=h&&(o[c++]=h)}else if(d>0){var f=_(d),h=(-l+f)/(2*s),p=(-l-f)/(2*s);h>=0&&1>=h&&(o[c++]=h),p>=0&&1>=p&&(o[c++]=p)}}return c}function d(t,e,i){var n=t+i-2*e;return 0===n?.5:(t-e)/n}function f(t,e,i,n,r){var a=(e-t)*n+t,o=(i-e)*n+e,s=(o-a)*n+a;r[0]=t,r[1]=a,r[2]=s,r[3]=s,r[4]=o,r[5]=i}function p(t,e,i,n,r,a,o,s,l){var c,h=.005,d=1/0;S[0]=o,S[1]=s;for(var f=0;1>f;f+=.05){T[0]=u(t,i,r,f),T[1]=u(e,n,a,f);var p=g(S,T);d>p&&(c=f,d=p)}d=1/0;for(var v=0;32>v&&!(b>h);v++){var m=c-h,y=c+h;T[0]=u(t,i,r,m),T[1]=u(e,n,a,m);var p=g(T,S);if(m>=0&&d>p)c=m,d=p;else{C[0]=u(t,i,r,y),C[1]=u(e,n,a,y);var x=g(C,S);1>=y&&d>x?(c=y,d=x):h*=.5}}return l&&(l[0]=u(t,i,r,c),l[1]=u(e,n,a,c)),_(d)}var v=t("./vector"),m=v[ki],g=v.distSquare,y=Math.pow,_=Math.sqrt,x=1e-8,b=1e-4,w=_(3),M=1/3,S=m(),T=m(),C=m();return{cubicAt:n,cubicDerivativeAt:r,cubicRootAt:a,cubicExtrema:o,cubicSubdivide:s,cubicProjectPoint:l,quadraticAt:u,quadraticDerivativeAt:c,quadraticRootAt:h,quadraticExtremum:d,quadraticSubdivide:f,quadraticProjectPoint:p}}),e("zrender/core/bbox",[an,"./vector","./curve"],function(t){var e=t("./vector"),i=t("./curve"),n={},r=Math.min,a=Math.max,o=Math.sin,s=Math.cos,l=e[ki](),u=e[ki](),c=e[ki](),h=2*Math.PI;n.fromPoints=function(t,e,i){if(0!==t[Ei]){var n,o=t[0],s=o[0],l=o[0],u=o[1],c=o[1];for(n=1;nv;v++){var _=g(t,n,s,u,d[v]);h[0]=r(_,h[0]),p[0]=a(_,p[0])}for(y=m(e,o,l,c,f),v=0;y>v;v++){var x=g(e,o,l,c,f[v]);h[1]=r(x,h[1]),p[1]=a(x,p[1])}h[0]=r(t,h[0]),p[0]=a(t,p[0]),h[0]=r(u,h[0]),p[0]=a(u,p[0]),h[1]=r(e,h[1]),p[1]=a(e,p[1]),h[1]=r(c,h[1]),p[1]=a(c,p[1])},n.fromQuadratic=function(t,e,n,o,s,l,u,c){var h=i.quadraticExtremum,d=i.quadraticAt,f=a(r(h(t,n,s),1),0),p=a(r(h(e,o,l),1),0),v=d(t,n,s,f),m=d(e,o,l,p);u[0]=r(t,s,v),u[1]=r(e,l,m),c[0]=a(t,s,v),c[1]=a(e,l,m)},n.fromArc=function(t,i,n,r,a,d,f,p,v){var m=e.min,g=e.max,y=Math.abs(a-d);if(1e-4>y%h&&y>1e-4)return p[0]=t-n,p[1]=i-r,v[0]=t+n,void(v[1]=i+r);if(l[0]=s(a)*n+t,l[1]=o(a)*r+i,u[0]=s(d)*n+t,u[1]=o(d)*r+i,m(p,l,u),g(v,l,u),a%=h,0>a&&(a+=h),d%=h,0>d&&(d+=h),a>d&&!f?d+=h:d>a&&f&&(a+=h),f){var _=d;d=a,a=_}for(var x=0;d>x;x+=Math.PI/2)x>a&&(c[0]=s(x)*n+t,c[1]=o(x)*r+i,m(p,c,p),g(v,c,v))},n}),e("zrender/contain/cubic",[an,"../core/curve"],function(t){var e=t("../core/curve");return{containStroke:function(t,i,n,r,a,o,s,l,u,c,h){if(0===u)return!1;var d=u;if(h>i+d&&h>r+d&&h>o+d&&h>l+d||i-d>h&&r-d>h&&o-d>h&&l-d>h||c>t+d&&c>n+d&&c>a+d&&c>s+d||t-d>c&&n-d>c&&a-d>c&&s-d>c)return!1;var f=e.cubicProjectPoint(t,i,n,r,a,o,s,l,c,h,null);return d/2>=f}}}),e("zrender/contain/arc",[an,"./util"],function(t){var e=t("./util").normalizeRadian,i=2*Math.PI;return{containStroke:function(t,n,r,a,o,s,l,u,c){if(0===l)return!1;var h=l;u-=t,c-=n;var d=Math.sqrt(u*u+c*c);if(d-h>r||r>d+h)return!1;if(Math.abs(a-o)%i<1e-4)return!0;if(s){var f=a;a=e(o),o=e(f)}else a=e(a),o=e(o);a>o&&(o+=i);var p=Math.atan2(c,u);return 0>p&&(p+=i),p>=a&&o>=p||p+i>=a&&o>=p+i}}}),e("zrender/contain/windingLine",[],function(){return function(t,e,i,n,r,a){if(a>e&&a>n||e>a&&n>a)return 0;if(n===e)return 0;var o=e>n?1:-1,s=(a-e)/(n-e);(1===s||0===s)&&(o=e>n?.5:-.5);var l=s*(i-t)+t;return l>r?o:0}}),e("zrender/contain/quadratic",[an,"../core/curve"],function(t){var e=t("../core/curve");return{containStroke:function(t,i,n,r,a,o,s,l,u){if(0===s)return!1;var c=s;if(u>i+c&&u>r+c&&u>o+c||i-c>u&&r-c>u&&o-c>u||l>t+c&&l>n+c&&l>a+c||t-c>l&&n-c>l&&a-c>l)return!1;var h=e.quadraticProjectPoint(t,i,n,r,a,o,l,u,null);return c/2>=h}}}),e("zrender/contain/util",[an],function(){var t=2*Math.PI;return{normalizeRadian:function(e){return e%=t,0>e&&(e+=t),e}}}),e("zrender/contain/line",[],function(){return{containStroke:function(t,e,i,n,r,a,o){if(0===r)return!1;var s=r,l=0,u=t;if(o>e+s&&o>n+s||e-s>o&&n-s>o||a>t+s&&a>i+s||t-s>a&&i-s>a)return!1;if(t===i)return Math.abs(a-t)<=s/2;l=(e-n)/(t-i),u=(t*n-i*e)/(t-i);var c=l*a-o+u,h=c*c/(l*l+1);return s/2*s/2>=h}}}),e("zrender/core/LRU",[an],function(){var t=function(){this.head=null,this.tail=null,this._len=0},e=t[Qi];e.insert=function(t){var e=new i(t);return this.insertEntry(e),e},e.insertEntry=function(t){this.head?(this.tail.next=t,t.prev=this.tail,this.tail=t):this.head=this.tail=t,this._len++},e[Mi]=function(t){var e=t.prev,i=t.next;e?e.next=i:this.head=i,i?i.prev=e:this.tail=e,t.next=t.prev=null,this._len--},e.len=function(){return this._len};var i=function(t){this.value=t,this.next,this.prev},n=function(e){this._list=new t,this._map={},this._maxSize=e||10},r=n[Qi];return r.put=function(t,e){var i=this._list,n=this._map;if(null==n[t]){var r=i.len();if(r>=this._maxSize&&r>0){var a=i.head;i[Mi](a),delete n[a.key]}var o=i.insert(e);o.key=t,n[t]=o}},r.get=function(t){var e=this._map[t],i=this._list;return null!=e?(e!==i.tail&&(i[Mi](e),i.insertEntry(e)),e.value):void 0},r.clear=function(){this._list.clear(),this._map={}},n}),e("zrender/graphic/helper/poly",[an,"./smoothSpline","./smoothBezier"],function(t){var e=t("./smoothSpline"),i=t("./smoothBezier");return{buildPath:function(t,n,r){var a=n[A],o=n.smooth;if(a&&a[Ei]>=2){if(o&&"spline"!==o){var s=i(a,o,r,n.smoothConstraint);t.moveTo(a[0][0],a[0][1]);for(var l=a[Ei],u=0;(r?l:l-1)>u;u++){var c=s[2*u],h=s[2*u+1],d=a[(u+1)%l];t.bezierCurveTo(c[0],c[1],h[0],h[1],d[0],d[1])}}else{"spline"===o&&(a=e(a,r)),t.moveTo(a[0][0],a[0][1]);for(var u=1,f=a[Ei];f>u;u++)t.lineTo(a[u][0],a[u][1])}r&&t.closePath()}}}}),e("zrender/graphic/helper/smoothBezier",[an,"../../core/vector"],function(t){var e=t("../../core/vector"),i=e.min,n=e.max,r=e.scale,a=e.distance,o=e.add;return function(t,s,l,u){var c,h,d,f,p=[],v=[],m=[],g=[];if(u){d=[1/0,1/0],f=[-1/0,-1/0];for(var y=0,_=t[Ei];_>y;y++)i(d,d,t[y]),n(f,f,t[y]);i(d,d,u[0]),n(f,f,u[1])}for(var y=0,_=t[Ei];_>y;y++){var x=t[y];if(l)c=t[y?y-1:_-1],h=t[(y+1)%_];else{if(0===y||y===_-1){p.push(e.clone(t[y]));continue}c=t[y-1],h=t[y+1]}e.sub(v,h,c),r(v,v,s);var b=a(x,c),w=a(x,h),M=b+w;0!==M&&(b/=M,w/=M),r(m,v,-b),r(g,v,w);var S=o([],x,m),T=o([],x,g);u&&(n(S,S,d),i(S,S,f),n(T,T,d),i(T,T,f)),p.push(S),p.push(T)}return l&&p.push(p.shift()),p}}),e("zrender/graphic/helper/smoothSpline",[an,"../../core/vector"],function(t){function e(t,e,i,n,r,a,o){var s=.5*(i-t),l=.5*(n-e);return(2*(e-i)+s+l)*o+(-3*(e-i)-2*s-l)*a+s*r+e}var i=t("../../core/vector");return function(t,n){for(var r=t[Ei],a=[],o=0,s=1;r>s;s++)o+=i.distance(t[s-1],t[s]);var l=o/2;l=r>l?r:l;for(var s=0;l>s;s++){var u,c,h,d=s/(l-1)*(n?r:r-1),f=Math.floor(d),p=d-f,v=t[f%r];n?(u=t[(f-1+r)%r],c=t[(f+1)%r],h=t[(f+2)%r]):(u=t[0===f?f:f-1],c=t[f>r-2?r-1:f+1],h=t[f>r-3?r-1:f+2]);var m=p*p,g=p*m;a.push([e(u[0],v[0],c[0],h[0],p,m,g),e(u[1],v[1],c[1],h[1],p,m,g)])}return a}}),e("zrender/graphic/helper/roundRect",[an],function(){return{buildPath:function(t,e){var i,n,r,a,o=e.x,s=e.y,l=e.width,u=e[Yi],c=e.r;0>l&&(o+=l,l=-l),0>u&&(s+=u,u=-u),typeof c===Qe?i=n=r=a=c:c instanceof Array?1===c[Ei]?i=n=r=a=c[0]:2===c[Ei]?(i=r=c[0],n=a=c[1]):3===c[Ei]?(i=c[0],n=a=c[1],r=c[2]):(i=c[0],n=c[1],r=c[2],a=c[3]):i=n=r=a=0;var h;i+n>l&&(h=i+n,i*=l/h,n*=l/h),r+a>l&&(h=r+a,r*=l/h,a*=l/h),n+r>u&&(h=n+r,n*=u/h,r*=u/h),i+a>u&&(h=i+a,i*=u/h,a*=u/h),t.moveTo(o+i,s),t.lineTo(o+l-n,s),0!==n&&t.quadraticCurveTo(o+l,s,o+l,s+n),t.lineTo(o+l,s+u-r),0!==r&&t.quadraticCurveTo(o+l,s+u,o+l-r,s+u),t.lineTo(o+a,s+u),0!==a&&t.quadraticCurveTo(o,s+u,o,s+u-a),t.lineTo(o,s+i),0!==i&&t.quadraticCurveTo(o,s,o+i,s)}}}),e("zrender/animation/Animation",[an,"../core/util","../core/event","./requestAnimationFrame","./Animator"],function(t){var e=t("../core/util"),i=t("../core/event").Dispatcher,n=t("./requestAnimationFrame"),r=t("./Animator"),a=function(t){t=t||{},this.stage=t.stage||{},this.onframe=t.onframe||function(){},this._clips=[],this._running=!1,this._time,this._pausedTime,this._pauseStart,this._paused=!1,i.call(this)};return a[Qi]={constructor:a,addClip:function(t){this._clips.push(t)},addAnimator:function(t){t[Xi]=this;for(var e=t.getClips(),i=0;i=0&&this._clips[mi](i,1)},removeAnimator:function(t){for(var e=t.getClips(),i=0;io;o++){var s=i[o],l=s.step(t);l&&(r.push(l),a.push(s))}for(var o=0;n>o;)i[o]._needsRemove?(i[o]=i[n-1],i.pop(),n--):o++;n=r[Ei];for(var o=0;n>o;o++)a[o].fire(r[o]);this._time=t,this.onframe(e),this[_i]("frame",e),this.stage[Li]&&this.stage[Li]()},_startLoop:function(){function t(){e._running&&(n(t),!e._paused&&e._update())}var e=this;this._running=!0,n(t)},start:function(){this._time=(new Date).getTime(),this._pausedTime=0,this._startLoop()},stop:function(){this._running=!1},pause:function(){this._paused||(this._pauseStart=(new Date).getTime(),this._paused=!0)},resume:function(){this._paused&&(this._pausedTime+=(new Date).getTime()-this._pauseStart,this._paused=!1)},clear:function(){this._clips=[]},animate:function(t,e){e=e||{};var i=new r(t,e.loop,e.getter,e.setter);return i}},e.mixin(a,i),a}),e("zrender/Handler",[an,"./core/util","./mixin/Draggable","./mixin/Eventful"],function(t){function e(t,e,i){return{type:t,event:i,target:e,cancelBubble:!1,offsetX:i.zrX,offsetY:i.zrY,gestureEvent:i.gestureEvent,pinchX:i.pinchX,pinchY:i.pinchY,pinchScale:i.pinchScale,wheelDelta:i.zrDelta}}function i(){}function n(t,e,i){if(t[t.rectHover?"rectContain":Ie](e,i)){for(var n=t;n;){if(n[vi]||n.clipPath&&!n.clipPath[Ie](e,i))return!1;n=n[ne]}return!0}return!1}var r=t("./core/util"),a=t("./mixin/Draggable"),o=t("./mixin/Eventful");i[Qi][gi]=function(){};var s=["click","dblclick","mousewheel",fi,"mouseup","mousedown",di,"contextmenu"],l=function(t,e,n,l){o.call(this),this.storage=t,this.painter=e,this.painterRoot=l,n=n||new i,this.proxy=n,n.handler=this,this._hovered,this._lastTouchMoment,this._lastX,this._lastY,a.call(this),r.each(s,function(t){n.on&&n.on(t,this[t],this)},this)};return l[Qi]={constructor:l,mousemove:function(t){var e=t.zrX,i=t.zrY,n=this.findHover(e,i,null),r=this._hovered,a=this.proxy;this._hovered=n,a.setCursor&&a.setCursor(n?n.cursor:"default"),r&&n!==r&&r.__zr&&this.dispatchToElement(r,fi,t),this.dispatchToElement(n,di,t),n&&n!==r&&this.dispatchToElement(n,pi,t)},mouseout:function(t){this.dispatchToElement(this._hovered,fi,t);var e,i=t.toElement||t.relatedTarget;do i=i&&i.parentNode;while(i&&9!=i.nodeType&&!(e=i===this.painterRoot));!e&&this[_i]("globalout",{event:t})},resize:function(){this._hovered=null},dispatch:function(t,e){var i=this[t];i&&i.call(this,e)},dispose:function(){this.proxy[gi](),this.storage=this.proxy=this.painter=null},setCursorStyle:function(t){var e=this.proxy;e.setCursor&&e.setCursor(t)},dispatchToElement:function(t,i,n){for(var r="on"+i,a=e(i,t,n),o=t;o&&(o[r]&&(a.cancelBubble=o[r].call(o,a)),o[_i](i,a),o=o[ne],!a.cancelBubble););a.cancelBubble||(this[_i](i,a),this.painter&&this.painter.eachOtherLayer(function(t){typeof t[r]==ni&&t[r].call(t,a),t[_i]&&t[_i](i,a)}))},findHover:function(t,e,i){for(var r=this.storage.getDisplayList(),a=r[Ei]-1;a>=0;a--)if(!r[a][vi]&&r[a]!==i&&!r[a][Ni]&&n(r[a],t,e))return r[a]}},r.each(["click","mousedown","mouseup","mousewheel","dblclick","contextmenu"],function(t){l[Qi][t]=function(e){var i=this.findHover(e.zrX,e.zrY,null);if("mousedown"===t)this._downel=i,this._upel=i;else if("mosueup"===t)this._upel=i;else if("click"===t&&this._downel!==this._upel)return;this.dispatchToElement(i,t,e)}}),r.mixin(l,o),r.mixin(l,a),l}),e("zrender/dom/HandlerProxy",[an,"../core/event","../core/util","../mixin/Eventful","../core/env","../core/GestureMgr"],function(t){function e(t){return"mousewheel"===t&&c.browser.firefox?"DOMMouseScroll":t}function i(t,e,i){var n=t._gestureMgr;"start"===i&&n.clear();var r=n.recognize(e,t.handler.findHover(e.zrX,e.zrY,null),t.dom);if("end"===i&&n.clear(),r){var a=r.type;e.gestureEvent=a,t.handler.dispatchToElement(r[hi],a,r.event)}}function n(t){t._touching=!0,clearTimeout(t._touchTimer),t._touchTimer=setTimeout(function(){t._touching=!1},700)}function r(){return c.touchEventsSupported}function a(t){function e(t,e){return function(){return e._touching?void 0:t.apply(e,arguments)}}for(var i=0;io;o++)this._updateAndAddDisplayable(i[o],null,t);r[Ei]=this._displayListLen,n[Fi]&&a(r,e)},_updateAndAddDisplayable:function(t,e,i){if(!t[Ni]||i){t.beforeUpdate(),t.__dirty&&t[Li](),t.afterUpdate();var n=t.clipPath;if(n&&(n[ne]=t,n.updateTransform(),e?(e=e.slice(),e.push(n)):e=[n]),t.isGroup){for(var r=t._children,a=0;ae;e++)this.delRoot(t[e]);else{var o;o=typeof t==Ki?this._elements[t]:t;var s=i[Ri](this._roots,o);s>=0&&(this.delFromMap(o.id),this._roots[mi](s,1),o instanceof r&&o.delChildrenFromStorage(this))}},addToMap:function(t){return t instanceof r&&(t.__storage=this),t.dirty(!1),this._elements[t.id]=t,this},get:function(t){return this._elements[t]},delFromMap:function(t){var e=this._elements,i=e[t];return i&&(delete e[t],i instanceof r&&(i.__storage=null)),this},dispose:function(){this._elements=this._renderList=this._roots=null},displayableSortFunc:e},o}),e("zrender/Painter",[an,"./config","./core/util","./core/log","./core/BoundingRect","./core/timsort","./Layer","./animation/requestAnimationFrame","./graphic/Image"],function(t){function e(t){return parseInt(t,10)}function i(t){return t?t.isBuildin?!0:typeof t[ji]!==ni||typeof t.refresh!==ni?!1:!0:!1}function n(t){t.__unusedCount++}function r(t){1==t.__unusedCount&&t.clear()}function a(t,e,i){return g.copy(t[Ze]()),t[_]&&g[ce](t[_]),y.width=e,y[Yi]=i,!g.intersect(y)}function o(t,e){if(t==e)return!1;if(!t||!e||t[Ei]!==e[Ei])return!0;for(var i=0;i=0&&i[mi](n,1),t.__hoverMir=null},clearHover:function(){for(var t=this._hoverElements,e=0;er;){var a=t[r],o=a.__from;o&&o.__zr?(r++,o.invisible||(a[_]=o[_],a.invTransform=o.invTransform,a.__clipPaths=o.__clipPaths,this._doPaintEl(a,i,!0,n))):(t[mi](r,1),o.__hoverMir=null,e--)}i.ctx.restore()}},_startProgessive:function(){function t(){i===e._progressiveToken&&e.storage&&(e._doPaintList(e.storage.getDisplayList()),e._furtherProgressive?(e._progress++,v(t)):e._progressiveToken=-1)}var e=this;if(e._furtherProgressive){var i=e._progressiveToken=+new Date;e._progress++,v(t)}},_clearProgressive:function(){this._progressiveToken=-1,this._progress=0,c.each(this._progressiveLayers,function(t){t.__dirty&&t.clear()})},_paintList:function(t,e){null==e&&(e=!1),this._updateLayerStatus(t),this._clearProgressive(),this.eachBuildinLayer(n),this._doPaintList(t,e),this.eachBuildinLayer(r)},_doPaintList:function(t,e){function i(t){var e=a.dpr||1;a.save(),a.globalAlpha=1,a.shadowBlur=0,n.__dirty=!0,a.setTransform(1,0,0,1,0,0),a.drawImage(t.dom,0,0,d*e,f*e),a.restore()}for(var n,r,a,o,s,l,u=0,d=this._width,f=this._height,p=this._progress,v=0,g=t[Ei];g>v;v++){var y=t[v],_=this._singleCanvas?0:y[oi],x=y.__frame;if(0>x&&s&&(i(s),s=null),r!==_&&(a&&a.restore(),o={},r=_,n=this.getLayer(r),n.isBuildin||h("ZLevel "+r+" has been used by unkown layer "+n.id),a=n.ctx,a.save(),n.__unusedCount=0,(n.__dirty||e)&&n.clear()),n.__dirty||e){if(x>=0){if(!s){if(s=this._progressiveLayers[Math.min(u++,m-1)],s.ctx.save(),s.renderScope={},s&&s.__progress>s.__maxProgress){v=s.__nextIdxNotProg-1;continue}l=s.__progress,s.__dirty||(p=l),s.__progress=p+1}x===p&&this._doPaintEl(y,s,!0,s.renderScope)}else this._doPaintEl(y,n,e,o);y.__dirty=!1}}s&&i(s),a&&a.restore(),this._furtherProgressive=!1,c.each(this._progressiveLayers,function(t){t.__maxProgress>=t.__progress&&(this._furtherProgressive=!0)},this)},_doPaintEl:function(t,e,i,n){var r=e.ctx,l=t[_];if(!(!e.__dirty&&!i||t.invisible||0===t.style[Re]||l&&!l[0]&&!l[3]||t.culling&&a(t,this._width,this._height))){var u=t.__clipPaths;(n.prevClipLayer!==e||o(u,n.prevElClipPaths))&&(n.prevElClipPaths&&(n.prevClipLayer.ctx.restore(),n.prevClipLayer=n.prevElClipPaths=null,n.prevEl=null),u&&(r.save(),s(u,r),n.prevClipLayer=e,n.prevElClipPaths=u)),t.beforeBrush&&t.beforeBrush(r),t.brush(r,n.prevEl||null),n.prevEl=t,t.afterBrush&&t.afterBrush(r)}},getLayer:function(t){if(this._singleCanvas)return this._layers[0];var e=this._layers[t];return e||(e=new p("zr_"+t,this,this.dpr),e.isBuildin=!0,this._layerConfig[t]&&c.merge(e,this._layerConfig[t],!0),this.insertLayer(t,e),e.initContext()),e},insertLayer:function(t,e){var n=this._layers,r=this._zlevelList,a=r[Ei],o=null,s=-1,l=this._domRoot;if(n[t])return void h("ZLevel "+t+" has been used already");if(!i(e))return void h("Layer of zlevel "+t+" is not valid");if(a>0&&t>r[0]){for(s=0;a-1>s&&!(r[s]t);s++);o=n[r[s]]}if(r[mi](s+1,0,t),o){var u=o.dom;u.nextSibling?l.insertBefore(e.dom,u.nextSibling):l.appendChild(e.dom)}else l.firstChild?l.insertBefore(e.dom,l.firstChild):l.appendChild(e.dom);n[t]=e},eachLayer:function(t,e){var i,n,r=this._zlevelList;for(n=0;nu;u++){var d=t[u],f=this._singleCanvas?0:d[oi],v=e[f],g=d.progressive;if(v&&(v.elCount++,v.__dirty=v.__dirty||d.__dirty),g>=0){o!==g&&(o=g,l++);var y=d.__frame=l-1;if(!a){var _=Math.min(s,m-1);a=i[_],a||(a=i[_]=new p("progressive",this,this.dpr),a.initContext()),a.__maxProgress=0}a.__dirty=a.__dirty||d.__dirty,a.elCount++,a.__maxProgress=Math.max(a.__maxProgress,y),a.__maxProgress>=a.__progress&&(v.__dirty=!0)}else d.__frame=-1,a&&(a.__nextIdxNotProg=u,s++,a=null)}a&&(s++,a.__nextIdxNotProg=u),this.eachBuildinLayer(function(t,e){n[e]!==t.elCount&&(t.__dirty=!0)}),i[Ei]=Math.min(s,m),c.each(i,function(t,e){r[e]!==t.elCount&&(d.__dirty=!0),t.__dirty&&(t.__progress=0)})},clear:function(){return this.eachBuildinLayer(this._clearLayer),this},_clearLayer:function(t){t.clear()},configLayer:function(t,e){if(e){var i=this._layerConfig;i[t]?c.merge(i[t],e,!0):i[t]=e;var n=this._layers[t];n&&c.merge(n,i[t],!0)}},delLayer:function(t){var e=this._layers,i=this._zlevelList,n=e[t];n&&(n.dom.parentNode.removeChild(n.dom),delete e[t],i[mi](c[Ri](i,t),1))},resize:function(t,e){var i=this._domRoot;i.style.display="none";var n=this._opts;if(null!=t&&(n.width=t),null!=e&&(n[Yi]=e),t=this._getSize(0),e=this._getSize(1),i.style.display="",this._width!=t||e!=this._height){i.style.width=t+"px",i.style[Yi]=e+"px";for(var r in this._layers)this._layers.hasOwnProperty(r)&&this._layers[r][ji](t,e);c.each(this._progressiveLayers,function(i){i[ji](t,e)}),this.refresh(!0)}return this._width=t,this._height=e,this},clearLayer:function(t){var e=this._layers[t];e&&e.clear()},dispose:function(){this.root.innerHTML="",this.root=this.storage=this._domRoot=this._layers=null},getRenderedCanvas:function(t){if(t=t||{},this._singleCanvas)return this._layers[0].dom;var e=new p("image",this,t.pixelRatio||this.dpr);e.initContext(),e.clearColor=t[Gi],e.clear();for(var i=this.storage.getDisplayList(!0),n={},r=0;r=0;if(a){var o="touchend"!=r?e.targetTouches[0]:e.changedTouches[0];o&&i(t,o,e,n)}else i(t,e,e,n),e.zrDelta=e.wheelDelta?e.wheelDelta/120:-(e.detail||0)/3;return e}function s(t,e,i){h?t.addEventListener(e,i):t.attachEvent("on"+e,i)}function l(t,e,i){h?t.removeEventListener(e,i):t.detachEvent("on"+e,i)}var u=t("../mixin/Eventful"),c=t("./env"),h=typeof window!==ke&&!!window.addEventListener,d=h?function(t){t.preventDefault(),t.stopPropagation(),t.cancelBubble=!0}:function(t){t.returnValue=!1,t.cancelBubble=!0};return{clientToLocal:i,normalizeEvent:o,addEventListener:s,removeEventListener:l,stop:d,Dispatcher:u}}),e("zrender/animation/requestAnimationFrame",[an],function(){return typeof window!==ke&&(window.requestAnimationFrame||window.msRequestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame)||function(t){setTimeout(t,16)}}),e("zrender/core/GestureMgr",[an,"./event"],function(t){function e(t){var e=t[1][0]-t[0][0],i=t[1][1]-t[0][1];return Math.sqrt(e*e+i*i)}function i(t){return[(t[0][0]+t[1][0])/2,(t[0][1]+t[1][1])/2]}var n=t("./event"),r=function(){this._track=[]};r[Qi]={constructor:r,recognize:function(t,e,i){return this._doTrack(t,e,i),this._recognize(t)},clear:function(){return this._track[Ei]=0,this},_doTrack:function(t,e,i){var r=t.touches;if(r){for(var a={points:[],touches:[],target:e,event:t},o=0,s=r[Ei];s>o;o++){var l=r[o],u=n.clientToLocal(i,l,{});a[A].push([u.zrX,u.zrY]),a.touches.push(l)}this._track.push(a)}},_recognize:function(t){for(var e in a)if(a.hasOwnProperty(e)){var i=a[e](this._track,t);if(i)return i}}};var a={pinch:function(t,n){var r=t[Ei];if(r){var a=(t[r-1]||{})[A],o=(t[r-2]||{})[A]||a;if(o&&o[Ei]>1&&a&&a[Ei]>1){var s=e(a)/e(o);!isFinite(s)&&(s=1),n.pinchScale=s;var l=i(a);return n.pinchX=l[0],n.pinchY=l[1],{type:"pinch",target:t[0][hi],event:n}}}}};return r}),e("zrender/Layer",[an,"./core/util","./config","./graphic/Style","./graphic/Pattern"],function(t){function e(){return!1}function i(t,e,i,n){var r=document.createElement(e),a=i[Wi](),o=i[qi](),s=r.style;return s[Ee]="absolute",s.left=0,s.top=0,s.width=a+"px",s[Yi]=o+"px",r.width=a*n,r[Yi]=o*n,r.setAttribute("data-zr-dom-id",t),r}var n=t("./core/util"),r=t("./config"),a=t("./graphic/Style"),o=t("./graphic/Pattern"),s=function(t,a,o){var s;o=o||r.devicePixelRatio,typeof t===Ki?s=i(t,$i,a,o):n[Si](t)&&(s=t,t=s.id),this.id=t,this.dom=s;var l=s.style;l&&(s.onselectstart=e,l["-webkit-user-select"]="none",l["user-select"]="none",l["-webkit-touch-callout"]="none",l["-webkit-tap-highlight-color"]="rgba(0,0,0,0)",l.padding=0,l.margin=0,l["border-width"]=0),this.domBack=null,this.ctxBack=null,this.painter=a,this.config=null,this.clearColor=0,this.motionBlur=!1,this.lastFrameAlpha=.7,this.dpr=o};return s[Qi]={constructor:s,elCount:0,__dirty:!0,initContext:function(){this.ctx=this.dom[Le]("2d"),this.ctx.dpr=this.dpr},createBackBuffer:function(){var t=this.dpr;this.domBack=i("back-"+this.id,$i,this.painter,t),this.ctxBack=this.domBack[Le]("2d"),1!=t&&this.ctxBack.scale(t,t)},resize:function(t,e){var i=this.dpr,n=this.dom,r=n.style,a=this.domBack;r.width=t+"px",r[Yi]=e+"px",n.width=t*i,n[Yi]=e*i,a&&(a.width=t*i,a[Yi]=e*i,1!=i&&this.ctxBack.scale(i,i))},clear:function(t){var e=this.dom,i=this.ctx,n=e.width,r=e[Yi],s=this.clearColor,l=this.motionBlur&&!t,u=this.lastFrameAlpha,c=this.dpr;if(l&&(this.domBack||this.createBackBuffer(),this.ctxBack.globalCompositeOperation="copy",this.ctxBack.drawImage(e,0,0,n/c,r/c)),i.clearRect(0,0,n,r),s){var h;s.colorStops?(h=s.__canvasGradient||a.getGradient(i,s,{x:0,y:0,width:n,height:r}),s.__canvasGradient=h):s.image&&(h=o[Qi].getCanvasPattern.call(s,i)),i.save(),i.fillStyle=h||s,i.fillRect(0,0,n,r),i.restore()}if(l){var d=this.domBack;i.save(),i.globalAlpha=u,i.drawImage(d,0,0,n,r),i.restore()}}},s}),e("echarts/preprocessor/helper/compatStyle",[an,nn],function(t){function e(t){var e=t&&t.itemStyle;e&&i.each(n,function(n){var r=e[ve],a=e[me];r&&r[n]&&(t[n]=t[n]||{},t[n][ve]?i.merge(t[n][ve],r[n]):t[n][ve]=r[n],r[n]=null),a&&a[n]&&(t[n]=t[n]||{},t[n][me]?i.merge(t[n][me],a[n]):t[n][me]=a[n],a[n]=null)})}var i=t(nn),n=["areaStyle","lineStyle","nodeStyle","linkStyle","chordStyle","label","labelLine"];return function(t){if(t){e(t),e(t.markPoint),e(t.markLine);var n=t.data;if(n){for(var r=0;r=0?1:-1}function e(e,i,n){for(var r,a=e[be](),o=e[N](a),s=a.onZero?0:o.scale[Oe]()[0],l=o.dim,u="x"===l||l===B?1:0,c=i.stackedOn,h=i.get(l,n);c&&t(c.get(l,n))===t(h);){r=c;break}var d=[];return d[u]=i.get(a.dim,n),d[1-u]=r?r.get(l,n,!0):s,e[E](d)}function i(t,e){var i=[];return e.diff(t).add(function(t){i.push({cmd:"+",idx:t})})[Li](function(t,e){i.push({cmd:"=",idx:e,idx1:t})})[Mi](function(t){i.push({cmd:"-",idx:t})})[p](),i}return function(t,n,r,a,o,s){for(var l=i(t,n),u=[],c=[],h=[],d=[],f=[],p=[],v=[],m=s[$],g=0;gw;w++){var M=i[b];if(b>=f||0>b)break;if(e(M)){if(_){b+=p;continue}break}if(b===n)t[p>0?"moveTo":"lineTo"](M[0],M[1]),u(h,M);else if(g>0){var S=b+p,T=i[S];if(_)for(;T&&e(i[S]);)S+=p,T=i[S];var C=.5,A=i[x],T=i[S];if(!T||e(T))u(d,M);else{e(T)&&!_&&(T=M),a.sub(c,T,A);var P,L;if("x"===y||"y"===y){var k="x"===y?0:1;P=Math.abs(M[k]-A[k]),L=Math.abs(M[k]-T[k])}else P=a.dist(M,A),L=a.dist(M,T);C=L/(L+P),l(d,M,c,-g*(1-C))}o(h,h,m),s(h,h,v),o(d,d,m),s(d,d,v),t.bezierCurveTo(h[0],h[1],d[0],d[1],M[0],M[1]),l(h,M,c,g*C)}else t.lineTo(M[0],M[1]);x=b,b+=p}return w}function n(t,e){var i=[1/0,1/0],n=[-1/0,-1/0];if(e)for(var r=0;rn[0]&&(n[0]=a[0]),a[1]>n[1]&&(n[1]=a[1])}return{min:e?i:n,max:e?n:i}}var r=t("zrender/graphic/Path"),a=t(tn),o=a.min,s=a.max,l=a.scaleAndAdd,u=a.copy,c=[],h=[],d=[];return{Polyline:r[wi]({type:"ec-polyline",shape:{points:[],smooth:0,smoothConstraint:!0,smoothMonotone:null,connectNulls:!1},style:{fill:null,stroke:"#000"},buildPath:function(t,r){var a=r[A],o=0,s=a[Ei],l=n(a,r.smoothConstraint);if(r.connectNulls){for(;s>0&&e(a[s-1]);s--);for(;s>o&&e(a[o]);o++);}for(;s>o;)o+=i(t,a,o,s,s,1,l.min,l.max,r.smooth,r.smoothMonotone,r.connectNulls)+1}}),Polygon:r[wi]({type:"ec-polygon",shape:{points:[],stackedOnPoints:[],smooth:0,stackedOnSmooth:0,smoothConstraint:!0,smoothMonotone:null,connectNulls:!1},buildPath:function(t,r){var a=r[A],o=r.stackedOnPoints,s=0,l=a[Ei],u=r.smoothMonotone,c=n(a,r.smoothConstraint),h=n(o,r.smoothConstraint);if(r.connectNulls){for(;l>0&&e(a[l-1]);l--);for(;l>s&&e(a[s]);s++);}for(;l>s;){var d=i(t,a,s,l,l,1,c.min,c.max,r.smooth,u,r.connectNulls);i(t,o,s+d-1,d,l,-1,h.min,h.max,r.stackedOnSmooth,u,r.connectNulls),s+=d+1,t.closePath()}}})}}),e("echarts/chart/helper/LargeSymbolDraw",[an,Z,s],function(t){function e(){this.group=new i.Group,this._symbolEl=new l({})}var i=t(Z),a=t(s),l=i.extendShape({shape:{points:null,sizes:null},symbolProxy:null,buildPath:function(t,e){for(var i=e[A],n=e.sizes,r=this.symbolProxy,a=r.shape,o=0;o=0;a--){var o=n[a],s=r[a],l=o[0]-s[0]/2,u=o[1]-s[1]/2;if(t>=l&&e>=u&&t<=l+s[0]&&e<=u+s[1])return a}return-1}}),u=e[Qi];return u[L]=function(t){this.group[je]();var e=this._symbolEl,i=t[Y];e[Q]({points:t[X](t[U]),sizes:t[X](function(e){var i=t[Ii](e,T);return i instanceof Array||(i=[i,i]),i})}),e.symbolProxy=a[o](t[Oi](C),0,0,0,0),e.setColor=e.symbolProxy.setColor,e.useStyle(i[Ui]("itemStyle.normal")[Ue](["color"]));var s=t[Oi]("color");s&&e.setColor(s),e[ci]=i[ci],e.on(di,function(t){e[Di]=null;var i=e.findDataIndex(t[r],t[n]);i>0&&(e[Di]=i)}),this.group.add(e)},u[Ai]=function(t){var e=t[zi]();this._symbolEl[Q]({points:e[X](e[U])})},u[Mi]=function(){this.group[je]()},e}),e("echarts/util/symbol",[an,"./graphic",de],function(t){var e=t("./graphic"),i=t(de),n=e.extendShape({type:"triangle",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(t,e){var i=e.cx,n=e.cy,r=e.width/2,a=e[Yi]/2;t.moveTo(i,n-a),t.lineTo(i+r,n+a),t.lineTo(i-r,n+a),t.closePath()}}),r=e.extendShape({type:"diamond",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(t,e){var i=e.cx,n=e.cy,r=e.width/2,a=e[Yi]/2;t.moveTo(i,n-a),t.lineTo(i+r,n),t.lineTo(i,n+a),t.lineTo(i-r,n),t.closePath()}}),a=e.extendShape({type:"pin",shape:{x:0,y:0,width:0,height:0},buildPath:function(t,e){var i=e.x,n=e.y,r=e.width/5*3,a=Math.max(r,e[Yi]),o=r/2,s=o*o/(a-o),l=n-a+o+s,u=Math.asin(s/o),c=Math.cos(u)*o,h=Math.sin(u),d=Math.cos(u);t.arc(i,l,o,Math.PI-u,2*Math.PI+u);var f=.6*o,p=.7*o;t.bezierCurveTo(i+c-h*f,l+s+d*f,i,n-p,i,n),t.bezierCurveTo(i,n-p,i-c+h*f,l+s+d*f,i-c,l+s),t.closePath()}}),o=e.extendShape({type:"arrow",shape:{x:0,y:0,width:0,height:0},buildPath:function(t,e){var i=e[Yi],n=e.width,r=e.x,a=e.y,o=n/3*2;t.moveTo(r,a),t.lineTo(r+o,a+i),t.lineTo(r,a+i/4*3),t.lineTo(r-o,a+i),t.lineTo(r,a),t.closePath()}}),s={line:e.Line,rect:e.Rect,roundRect:e.Rect,square:e.Rect,circle:e.Circle,diamond:r,pin:a,arrow:o,triangle:n},l={line:function(t,e,i,n,r){r.x1=t,r.y1=e+n/2,r.x2=t+i,r.y2=e+n/2},rect:function(t,e,i,n,r){r.x=t,r.y=e,r.width=i,r[Yi]=n},roundRect:function(t,e,i,n,r){r.x=t,r.y=e,r.width=i,r[Yi]=n,r.r=Math.min(i,n)/4},square:function(t,e,i,n,r){var a=Math.min(i,n);r.x=t,r.y=e,r.width=a,r[Yi]=a},circle:function(t,e,i,n,r){r.cx=t+i/2,r.cy=e+n/2,r.r=Math.min(i,n)/2},diamond:function(t,e,i,n,r){r.cx=t+i/2,r.cy=e+n/2,r.width=i,r[Yi]=n},pin:function(t,e,i,n,r){r.x=t+i/2,r.y=e+n/2,r.width=i,r[Yi]=n},arrow:function(t,e,i,n,r){r.x=t+i/2,r.y=e+n/2,r.width=i,r[Yi]=n},triangle:function(t,e,i,n,r){r.cx=t+i/2,r.cy=e+n/2,r.width=i,r[Yi]=n}},u={};for(var c in s)s.hasOwnProperty(c)&&(u[c]=new s[c]);var h=e.extendShape({type:"symbol",shape:{symbolType:"",x:0,y:0,width:0,height:0},beforeBrush:function(){var t=this.style,e=this.shape;"pin"===e.symbolType&&t.textPosition===ae&&(t.textPosition=["50%","40%"],t[qe]=Be,t.textVerticalAlign=Ne)},buildPath:function(t,e,i){var n=e.symbolType,r=u[n];"none"!==e.symbolType&&(r||(n="rect",r=u[n]),l[n](e.x,e.y,e.width,e[Yi],r.shape),r.buildPath(t,r.shape,i))}}),d=function(t){if("image"!==this.type){var e=this.style,i=this.shape;i&&"line"===i.symbolType?e[le]=t:this.__isEmptyBrush?(e[le]=t,e.fill="#fff"):(e.fill&&(e.fill=t),e[le]&&(e[le]=t)),this.dirty(!1)}},f={createSymbol:function(t,n,r,a,o,s){var l=0===t[Ri]("empty");l&&(t=t.substr(5,1)[Ji]()+t.substr(6));var u;return u=0===t[Ri]("image://")?new e.Image({style:{image:t.slice(8),x:n,y:r,width:a,height:o}}):0===t[Ri]("path://")?e.makePath(t.slice(7),{},new i(n,r,a,o)):new h({shape:{symbolType:t,x:n,y:r,width:a,height:o}}),u.__isEmptyBrush=l,u.setColor=d,u.setColor(s),u}};return f}),e("echarts/component/marker/markerHelper",[an,nn,d],function(t){function e(t){return!(isNaN(parseFloat(t.x))&&isNaN(parseFloat(t.y)))}function i(t){return!isNaN(parseFloat(t.x))&&!isNaN(parseFloat(t.y))}function n(t,e,i){var n=-1;do n=Math.max(o.getPrecision(t.get(e,i)),n),t=t.stackedOn;while(t);return n}function r(t,e,i,r,a,o){var s=[],l=m(e,r,t),u=e.indexOfNearest(r,l,!0);s[a]=e.get(i,u,!0),s[o]=e.get(r,u,!0);var c=n(e,r,u);return c>=0&&(s[o]=+s[o][G](c)),s}var a=t(nn),o=t(d),s=a[Ri],l=a.curry,u={min:l(r,"min"),max:l(r,"max"),average:l(r,"average")},c=function(t,e){var n=t[zi](),r=t[Vi];if(e&&!i(e)&&!a[ri](e.coord)&&r){var o=r[$],l=h(e,n,r,t);if(e=a.clone(e),e.type&&u[e.type]&&l.baseAxis&&l.valueAxis){var c=s(o,l.baseAxis.dim),d=s(o,l.valueAxis.dim);e.coord=u[e.type](n,l.baseDataDim,l.valueDataDim,c,d),e.value=e.coord[d]}else{for(var f=[null!=e.xAxis?e.xAxis:e.radiusAxis,null!=e.yAxis?e.yAxis:e.angleAxis],p=0;2>p;p++)if(u[f[p]]){var g=t[v](o[p])[0];f[p]=m(n,g,f[p])}e.coord=f}}return e},h=function(t,e,i,n){var r={};return null!=t.valueIndex||null!=t.valueDim?(r.valueDataDim=null!=t.valueIndex?e.getDimension(t.valueIndex):t.valueDim,r.valueAxis=i[R](n.dataDimToCoordDim(r.valueDataDim)),r.baseAxis=i[N](r.valueAxis),r.baseDataDim=n[v](r.baseAxis.dim)[0]):(r.baseAxis=n[be](),r.valueAxis=i[N](r.baseAxis),r.baseDataDim=n[v](r.baseAxis.dim)[0],r.valueDataDim=n[v](r.valueAxis.dim)[0]),r},f=function(t,i){return t&&t.containData&&i.coord&&!e(i)?t.containData(i.coord):!0},p=function(t,e,i,n){return 2>n?t.coord&&t.coord[n]:t.value},m=function(t,e,i){if("average"===i){var n=0,r=0;return t.each(e,function(t){isNaN(t)||(n+=t,r++)},!0),n/r}return t[j](e,!0)["max"===i?1:0]};return{dataTransform:c,dataFilter:f,dimValueGetter:p,getAxisInfo:h,numCalculate:m}}),e("echarts/component/helper/listComponent",[an,g,a,Z],function(t){function e(t,e,n){i.positionGroup(t,e.getBoxLayoutParams(),{width:n[Wi](),height:n[qi]()},e.get("padding"))}var i=t(g),n=t(a),r=t(Z);return{layout:function(t,n,r){var a=i[He](n.getBoxLayoutParams(),{width:r[Wi](),height:r[qi]()},n.get("padding"));i.box(n.get(h),t,n.get("itemGap"),a.width,a[Yi]),e(t,n,r)},addBackground:function(t,e){var i=n.normalizeCssArray(e.get("padding")),a=t[Ze](),o=e[Ue](["color",Re]);o.fill=e.get(Gi);var s=new r.Rect({shape:{x:a.x-i[3],y:a.y-i[0],width:a.width+i[1]+i[3],height:a[Yi]+i[0]+i[2]},style:o,silent:!0,z2:-1});r.subPixelOptimizeRect(s),t.add(s)}}}),e("echarts/component/tooltip/TooltipContent",[an,nn,en,"zrender/core/event",a,rn],function(t){function e(t){var e="cubic-bezier(0.23, 1, 0.32, 1)",i="left "+t+"s "+e+",top "+t+"s "+e;return s.map(p,function(t){return t+"transition:"+i}).join(";")}function i(t){var e=[],i=t.get("fontSize"),n=t[Ge]();return n&&e.push("color:"+n),e.push("font:"+t[Fe]()),i&&e.push("line-height:"+Math.round(3*i/2)+"px"),h(["decoration","align"],function(i){var n=t.get(i);n&&e.push("text-"+i+":"+n)}),e.join(";")}function n(t){t=t;var n=[],r=t.get("transitionDuration"),a=t.get(Gi),o=t[Ui](We),s=t.get("padding");return r&&n.push(e(r)),a&&(f[Fi]?n.push("background-Color:"+a):(n.push("background-Color:#"+l.toHex(a)),n.push("filter:alpha(opacity=70)"))),h(["width","color",B],function(e){var i="border-"+e,r=d(i),a=t.get(r);null!=a&&n.push(i+":"+a+("color"===e?"":"px"))}),n.push(i(o)),null!=s&&n.push("padding:"+c.normalizeCssArray(s).join("px ")+"px"),n.join(";")+";"}function r(t,e){var i=document.createElement("div"),n=e.getZr();this.el=i,this._x=e[Wi]()/2,this._y=e[qi]()/2,t.appendChild(i),this._container=t,this._show=!1,this._hideTimeout;var r=this;i.onmouseenter=function(){r.enterable&&(clearTimeout(r._hideTimeout),r._show=!0),r._inContent=!0},i.onmousemove=function(e){if(e=e||window.event,!r.enterable){var i=n.handler;u.normalizeEvent(t,e,!0),i.dispatch(di,e)}},i.onmouseleave=function(){r.enterable&&r._show&&r.hideLater(r._hideDelay),r._inContent=!1},o(i,t) -}function o(t,e){function i(t){n(t[hi])||t.preventDefault()}function n(i){for(;i&&i!==e;){if(i===t)return!0;i=i.parentNode}}u.addEventListener(e,"touchstart",i),u.addEventListener(e,"touchmove",i),u.addEventListener(e,"touchend",i)}var s=t(nn),l=t(en),u=t("zrender/core/event"),c=t(a),h=s.each,d=c.toCamelCase,f=t(rn),p=["","-webkit-","-moz-","-o-"],v="position:absolute;display:block;border-style:solid;white-space:nowrap;z-index:9999999;";return r[Qi]={constructor:r,enterable:!0,update:function(){var t=this._container,e=t.currentStyle||document.defaultView.getComputedStyle(t),i=t.style;"absolute"!==i[Ee]&&"absolute"!==e[Ee]&&(i[Ee]="relative")},show:function(t){clearTimeout(this._hideTimeout);var e=this.el;e.style.cssText=v+n(t)+";left:"+this._x+"px;top:"+this._y+"px;"+(t.get("extraCssText")||""),e.style.display=e.innerHTML?"block":"none",this._show=!0},setContent:function(t){var e=this.el;e.innerHTML=t,e.style.display=t?"block":"none"},moveTo:function(t,e){var i=this.el.style;i.left=t+"px",i.top=e+"px",this._x=t,this._y=e},hide:function(){this.el.style.display="none",this._show=!1},hideLater:function(t){!this._show||this._inContent&&this.enterable||(t?(this._hideDelay=t,this._show=!1,this._hideTimeout=setTimeout(s.bind(this.hide,this),t)):this.hide())},isShow:function(){return this._show}},r}),e("echarts/chart/helper/EffectSymbol",[an,nn,s,Z,d,"./Symbol"],function(t){function e(t){return r[ri](t)||(t=[+t,+t]),t}function i(t,e){t.eachChild(function(t){t.attr({z:e.z,zlevel:e[oi],style:{stroke:e.brushType===le?e.color:null,fill:"fill"===e.brushType?e.color:null}})})}function n(t,e){h.call(this);var i=new c(t,e),n=new h;this.add(i),this.add(n),n.beforeUpdate=function(){this.attr(i.getScale())},this[L](t,e)}var r=t(nn),a=t(s),l=t(Z),u=t(d),c=t("./Symbol"),h=l.Group,f=3,p=n[Qi];return p.stopEffectAnimation=function(){this.childAt(1)[je]()},p.startEffectAnimation=function(t){for(var e=t.symbolType,n=t.color,r=this.childAt(1),s=0;f>s;s++){var l=a[o](e,-1,-1,2,2,n);l.attr({style:{strokeNoScale:!0},z2:99,silent:!0,scale:[.5,.5]});var u=-s/f*t.period+t.effectOffset;l.animate("",!0).when(t.period,{scale:[t.rippleScale/2,t.rippleScale/2]}).delay(u).start(),l.animateStyle(!0).when(t.period,{opacity:0}).delay(u).start(),r.add(l)}i(r,t)},p.updateEffectAnimation=function(t){for(var e=this._effectCfg,n=this.childAt(1),r=["symbolType","period","rippleScale"],a=0;r>a;a++){var o=r[a];if(e[o]!==t[o])return this.stopEffectAnimation(),void this.startEffectAnimation(t)}i(n,t)},p[Ci]=function(){this[_i](me)},p[Ti]=function(){this[_i](ve)},p[L]=function(t,i){var n=t[Y];this.childAt(0)[L](t,i);var r=this.childAt(1),a=t[te](i),o=t[Ii](i,C),s=e(t[Ii](i,T)),l=t[Ii](i,"color");r.attr("scale",s),r[li](function(t){t.attr({fill:l})});var c=a[ge]("symbolOffset");if(c){var h=r[Ee];h[0]=u[F](c[0],s[0]),h[1]=u[F](c[1],s[1])}r[ie]=(a[ge]("symbolRotate")||0)*Math.PI/180||0;var d={};if(d.showEffectOn=n.get("showEffectOn"),d.rippleScale=a.get("rippleEffect.scale"),d.brushType=a.get("rippleEffect.brushType"),d.period=1e3*a.get("rippleEffect.period"),d.effectOffset=i/t.count(),d.z=a[ge]("z")||0,d[oi]=a[ge](oi)||0,d.symbolType=o,d.color=l,this.off(pi).off(fi).off(me).off(ve),"render"===d.showEffectOn)this._effectCfg?this.updateEffectAnimation(d):this.startEffectAnimation(d),this._effectCfg=d;else{this._effectCfg=null,this.stopEffectAnimation();var f=this.childAt(0),p=function(){f[_i](me),"render"!==d.showEffectOn&&this.startEffectAnimation(d)},v=function(){f[_i](ve),"render"!==d.showEffectOn&&this.stopEffectAnimation()};this.on(pi,p,this).on(fi,v,this).on(me,p,this).on(ve,v,this)}this._effectCfg=d},p.fadeOut=function(t){this.off(pi).off(fi).off(me).off(ve),t&&t()},r[$e](n,h),n}),e("echarts/component/marker/MarkerView",[an,S],function(t){return t(S)[Je]({type:"marker",init:function(){this.markerGroupMap={}},render:function(t,e,i){var n=this.markerGroupMap;for(var r in n)n.hasOwnProperty(r)&&(n[r].__keep=!1);var a=this.type+"Model";e[Pi](function(t){var n=t[a];n&&this.renderSeries(t,n,e,i)},this);for(var r in n)n.hasOwnProperty(r)&&!n[r].__keep&&this.group[Mi](n[r].group)},renderSeries:function(){}})}),e("echarts/chart/helper/LineDraw",[an,Z,"./Line"],function(t){function e(t){return isNaN(t[0])||isNaN(t[1])}function i(t){return!e(t[0])&&!e(t[1])}function n(t){this._ctor=t||a,this.group=new r.Group}var r=t(Z),a=t("./Line"),o=n[Qi];return o[L]=function(t){var e=this._lineData,n=this.group,r=this._ctor,a=t[Y],o={lineStyle:a[Ui]("lineStyle.normal")[P](),hoverLineStyle:a[Ui]("lineStyle.emphasis")[P](),labelModel:a[Ui](w),hoverLabelModel:a[Ui](b)};t.diff(e).add(function(e){if(i(t[U](e))){var a=new r(t,e,o);t[W](e,a),n.add(a)}})[Li](function(a,s){var l=e[pe](s);return i(t[U](a))?(l?l[L](t,a,o):l=new r(t,a,o),t[W](a,l),void n.add(l)):void n[Mi](l)})[Mi](function(t){n[Mi](e[pe](t))})[p](),this._lineData=t},o[Ai]=function(){var t=this._lineData;t[fe](function(e,i){e[Ai](t,i)},this)},o[Mi]=function(){this.group[je]()},n}),e("echarts/component/helper/sliderMove",[an],function(){return function(t,e,n,r,a){function o(t,e,n){var r=e[Ei]?e.slice():[e,e];return e[0]>e[1]&&r[i](),0>t&&r[0]+t0&&r[1]+t>n[1]&&(t=n[1]-r[1]),t}return t?("rigid"===r?(t=o(t,e,n),e[0]+=t,e[1]+=t):(t=o(t,e[a],n),e[a]+=t,"push"===r&&e[0]>e[1]&&(e[1-a]=e[a])),e):e}}),e("echarts/visual/visualSolution",[an,nn,"./VisualMapping"],function(t){function e(t){if(t)for(var e in t)if(t.hasOwnProperty(e))return!0}var i=t(nn),n=t("./VisualMapping"),r=i.each,a={createVisualMappings:function(t,e,a){function o(){var t=function(){};t[Qi].__hidden=t[Qi];var e=new t;return e}var s={};return r(e,function(e){var l=s[e]=o();r(t[e],function(t,r){if(n.isValidType(r)){var o={type:r,visual:t};a&&a(o,e),l[r]=new n(o),r===Re&&(o=i.clone(o),o.type="colorAlpha",l.__hidden.__alphaForOpacity=new n(o))}})}),s},replaceVisualOption:function(t,n,r){var a;i.each(r,function(t){n.hasOwnProperty(t)&&e(n[t])&&(a=!0)}),a&&i.each(r,function(r){n.hasOwnProperty(r)&&e(n[r])?t[r]=i.clone(n[r]):delete t[r]})},applyVisual:function(t,e,r,a,o,s){function l(t){return r[Ii](d,t)}function u(t,e){r[J](d,t,e)}function c(t,i){d=null==s?t:i;for(var n=a.call(o,t),r=e[n],c=h[n],f=0,p=c[Ei];p>f;f++){var v=c[f];r[v]&&r[v].applyVisual(t,l,u)}}var h={};i.each(t,function(t){var i=n.prepareVisualTypes(e[t]);h[t]=i});var d;null==s?r.each(c,!0):r.each([s],c,!0)}};return a}),e("echarts/component/timeline/TimelineModel",[an,"../../model/Component","../../data/List",nn,H],function(t){var e=t("../../model/Component"),i=t("../../data/List"),n=t(nn),r=t(H),a=e[wi]({type:"timeline",layoutMode:"box",defaultOption:{zlevel:0,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:{normal:{},emphasis:{}},label:{normal:{textStyle:{color:"#000"}},emphasis:{}},data:[]},init:function(t,e,i){this._data,this._names,this[Me](t,i),this._initData()},mergeOption:function(){a[f](this,Ae,arguments),this._initData()},setCurrentIndex:function(t){null==t&&(t=this[Pe].currentIndex);var e=this._data.count();this[Pe].loop?t=(t%e+e)%e:(t>=e&&(t=e-1),0>t&&(t=0)),this[Pe].currentIndex=t},getCurrentIndex:function(){return this[Pe].currentIndex},isIndexMax:function(){return this.getCurrentIndex()>=this._data.count()-1},setPlayState:function(t){this[Pe].autoPlay=!!t},getPlayState:function(){return!!this[Pe].autoPlay},_initData:function(){var t=this[Pe],e=t.data||[],a=t.axisType,o=this._names=[];if(a===M){var s=[];n.each(e,function(t,e){var i,a=r.getDataItemValue(t);n[Si](t)?(i=n.clone(t),i.value=e):i=e,s.push(i),n[Ye](a)||null!=a&&!isNaN(a)||(a=""),o.push(a+"")}),e=s}var l={category:"ordinal",time:"time"}[a]||Qe,u=this._data=new i([{name:"value",type:l}],this);u.initData(e,o)},getData:function(){return this._data},getCategories:function(){return this.get("axisType")===M?this._names.slice():void 0}});return a}),e("echarts/util/throttle",[],function(){var t={},e="\x00__throttleOriginMethod",i="\x00__throttleRate",n="\x00__throttleType";return t.throttle=function(t,e,i){function n(){u=(new Date).getTime(),c=null,t.apply(o,s||[])}var r,a,o,s,l=0,u=0,c=null;e=e||0;var h=function(){r=(new Date).getTime(),o=this,s=arguments,a=r-(i?l:u)-e,clearTimeout(c),i?c=setTimeout(n,e):a>=0?n():c=setTimeout(n,-a),l=r};return h.clear=function(){c&&(clearTimeout(c),c=null)},h},t.createOrUpdate=function(r,a,o,s){var l=r[a];if(l){var u=l[e]||l,c=l[n],h=l[i];if(h!==o||c!==s){if(null==o||!s)return r[a]=u;l=r[a]=t.throttle(u,o,"debounce"===s),l[e]=u,l[n]=s,l[i]=o}return l}},t.clear=function(t,i){var n=t[i];n&&n[e]&&(t[i]=n[e])},t}),e("echarts/component/brush/selector",[an,"zrender/contain/polygon",de],function(t){function e(t){var e=["x","y"],n=["width",Yi];return{point:function(e,n,r){var a=r.range,o=e[t];return i(o,a)},rect:function(r,a,o){var s=o.range;return i(r[e[t]],s)||i(r[e[t]]+r[n[t]],s)}}}function i(t,e){return e[0]<=t&&t<=e[1]}function n(t,e,i,n,a){for(var o=0,s=a[a[Ei]-1];oh||h>1)return!1;var d=o(i-t,r-t,n-e,s-e)/c;return 0>d||d>1?!1:!0}function a(t){return 1e-6>=t&&t>=-1e-6}function o(t,e,i,n){return t*n-e*i}var s=t("zrender/contain/polygon")[Ie],l=t(de),u={lineX:e(0),lineY:e(1),rect:{point:function(t,e,i){return i.boundingRect[Ie](t[0],t[1])},rect:function(t,e,i){return i.boundingRect.intersect(t)}},polygon:{point:function(t,e,i){return i.boundingRect[Ie](t[0],t[1])&&s(i.range,t[0],t[1])},rect:function(t,e,i){var r=i.range;if(r[Ei]<=1)return!1;var a=t.x,o=t.y,u=t.width,c=t[Yi],h=r[0];return s(r,a,o)||s(r,a+u,o)||s(r,a,o+c)||s(r,a+u,o+c)||l[ki](t)[Ie](h[0],h[1])||n(a,o,a+u,o,r)||n(a,o,a,o+c,r)||n(a+u,o,a+u,o+c,r)||n(a,o+c,a+u,o+c,r)?!0:void 0}}};return u}),e("echarts/component/helper/brushHelper",[an,nn,Z],function(t){function e(t){return t[0]>t[1]&&t[i](),t}function n(t,e){for(var i=!0,n=0;n=0){i=!1;for(var a=0;a=0?(i=n[Ze]().clone(),i[ce](o.getTransform(n))):i=n.grid[Xe]().clone(),e.push({panelId:t.panelId,rect:i})}),e},l.makeCoordInfoList=function(t,e){var i=[];return s(u,function(n){var r=t[n+"Index"];null!=r&&"none"!==r&&("all"===r||a[ri](r)||(r=[r]),e[Hi]({mainType:n},function(t,e){if(!("all"!==r&&a[Ri](r,e)<0)){var o,s;"xAxis"===n||"yAxis"===n?o=t.axis.grid:s=t[Vi];for(var l,u=0,h=i[Ei];h>u;u++){var d=i[u];if("yAxis"===n&&!d.yAxis&&d.xAxis){var f=o.getCartesian(d.xAxisIndex,e);if(f){s=f,l=d;break}}}!l&&i.push(l={}),l[n]=t,l[n+"Index"]=e,l.panelId=n+c+e,l.coordSys=s||o.getCartesian(l.xAxisIndex,l.yAxisIndex),l.coordSys?i[n+"Has"]=!0:i.pop()}}))}),i},l.controlSeries=function(t,e,i){var r=n(t,e.coordInfoList);return r===!0||r&&r.coordSys===i[Vi]};var d={lineX:a.curry(r,"x"),lineY:a.curry(r,"y"),rect:function(t,i,n){var r=i.coordSys,a=r[h[t]]([n[0][0],n[1][0]]),o=r[h[t]]([n[0][1],n[1][1]]);return[e([a[0],o[0]]),e([a[1],o[1]])]},polygon:function(t,e,i){var n=e.coordSys;return a.map(i,n[h[t]],n)}};return l}),e("echarts/chart/pie/labelLayout",[an,"zrender/contain/text"],function(t){function e(t,e,i,n,r,a,o){function s(e,i,n){for(var r=e;i>r;r++)if(t[r].y+=n,r>e&&i>r+1&&t[r+1].y>t[r].y+t[r][Yi])return void l(r,n/2);l(i-1,n/2)}function l(e,i){for(var n=e;n>=0&&(t[n].y-=i,!(n>0&&t[n].y>t[n-1].y+t[n-1][Yi]));n--);}function u(t,e,i,n,r,a){for(var o=a>0?e?Number.MAX_VALUE:0:e?Number.MAX_VALUE:0,s=0,l=t[Ei];l>s;s++)if(t[s][Ee]!==Be){var u=Math.abs(t[s].y-n),c=t[s].len,h=t[s].len2,d=r+c>u?Math.sqrt((r+c+h)*(r+c+h)-u*u):Math.abs(t[s].x-i);e&&d>=o&&(d=o-10),!e&&o>=d&&(d=o+10),t[s].x=i+d*a,o=d}}t.sort(function(t,e){return t.y-e.y});for(var c,h=0,d=t[Ei],f=[],p=[],v=0;d>v;v++)c=t[v].y-h,0>c&&s(v,d,-c,r),h=t[v].y+t[v][Yi];0>o-h&&l(d-1,h-o);for(var v=0;d>v;v++)t[v].y>=i?p.push(t[v]):f.push(t[v]);u(f,!1,e,i,n,r),u(p,!0,e,i,n,r)}function i(t,i,n,r,a,o){for(var s=[],l=[],u=0;uS?-1:1)*b,D=k;r=I+(0>S?-5:5),a=D,d=[[A,P],[L,k],[I,D]]}f=C?Be:S>0?"left":"right"}var z=m[Ui](We)[Fe](),O=m.get(l)?0>S?-M+Math.PI:-M:0,V=t[x](i,ve)||u[ye](i),R=n[Ze](V,z,f,"top");h=!!O,p.label={x:r,y:a,position:g,height:R[Yi],len:_,len2:b,linePoints:d,textAlign:f,verticalAlign:"middle",font:z,rotation:O},C||c.push(p.label)}),!h&&t.get("avoidLabelOverlap")&&i(c,o,s,e,r,a)}}),e("echarts/visual/VisualMapping",[an,nn,en,Ve],function(t){function e(t){var e=t.pieceList;t.hasSpecialVisual=!1,d.each(e,function(e,i){e.originIndex=i,null!=e.visual&&(t.hasSpecialVisual=!0)})}function i(t){var e=t.categories,i=t.visual,n=t.categoryMap={};if(v(e,function(t,e){n[t]=e}),!d[ri](i)){var r=[];d[Si](i)?v(i,function(t,e){var i=n[e];r[null!=i?i:g]=t}):r[g]=i,i=t.visual=r}for(var a=e[Ei]-1;a>=0;a--)null==i[a]&&(delete n[e[a]],e.pop())}function n(t,e){var i=t.visual,n=[];d[Si](i)?v(i,function(t){n.push(t)}):null!=i&&n.push(i);var r={color:1,symbol:1};e||1!==n[Ei]||r.hasOwnProperty(t.type)||(n[1]=n[0]),t.visual=n}function r(t){return{applyVisual:function(e,i,n){e=this.mapValueToVisual(e),n("color",t(i("color"),e))},_doMap:u([0,1])}}function a(t,e){var i=this[Pe].visual;return i[Math.round(p(e,[0,1],[0,i[Ei]-1],!0))]||{}}function o(t){return function(e,i,n){n(t,this.mapValueToVisual(e))}}function s(t){var e=this[Pe].visual;return e[this[Pe].loop&&t!==g?t%e[Ei]:t]}function l(){return this[Pe].visual[0]}function u(t){return{linear:function(e){return p(e,t,this[Pe].visual,!0)},category:s,piecewise:function(e,i){var n=c.call(this,i);return null==n&&(n=p(e,t,this[Pe].visual,!0)),n},fixed:l}}function c(t){var e=this[Pe],i=e.pieceList;if(e.hasSpecialVisual){var n=y.findPieceIndex(t,i),r=i[n];if(r&&r.visual)return r.visual[this.type]}}function h(t,e,i){return t?i>=e:i>e}var d=t(nn),f=t(en),p=t(Ve)[q],v=d.each,m=d[Si],g=-1,y=function(t){var r=t.mappingMethod,a=t.type,o=this[Pe]=d.clone(t);this.type=a,this.mappingMethod=r,this._normalizeData=x[r];var s=_[a];this.applyVisual=s.applyVisual,this.getColorMapper=s.getColorMapper,this._doMap=s._doMap[r],"piecewise"===r?(n(o),e(o)):r===M?o.categories?i(o):n(o,!0):(d.assert("linear"!==r||o.dataExtent),n(o))};y[Qi]={constructor:y,mapValueToVisual:function(t){var e=this._normalizeData(t);return this._doMap(e,t)},getNormalizer:function(){return d.bind(this._normalizeData,this)}};var _=y.visualHandlers={color:{applyVisual:o("color"),getColorMapper:function(){var t=this[Pe],e=d.map(t.visual,f.parse);return d.bind(t.mappingMethod===M?function(t,e){return!e&&(t=this._normalizeData(t)),s(this,t)}:function(t,i,n){var r=!!n;return!i&&(t=this._normalizeData(t)),n=f.fastMapToColor(t,e,n),r?n:d.stringify(n,"rgba")},this)},_doMap:{linear:function(t){return f.mapToColor(t,this[Pe].visual)},category:s,piecewise:function(t,e){var i=c.call(this,e);return null==i&&(i=f.mapToColor(t,this[Pe].visual)),i},fixed:l}},colorHue:r(function(t,e){return f.modifyHSL(t,e)}),colorSaturation:r(function(t,e){return f.modifyHSL(t,null,e)}),colorLightness:r(function(t,e){return f.modifyHSL(t,null,null,e)}),colorAlpha:r(function(t,e){return f.modifyAlpha(t,e)}),opacity:{applyVisual:o(Re),_doMap:u([0,1])},symbol:{applyVisual:function(t,e,i){var n=this.mapValueToVisual(t);if(d[Ye](n))i(C,n);else if(m(n))for(var r in n)n.hasOwnProperty(r)&&i(r,n[r])},_doMap:{linear:a,category:s,piecewise:function(t,e){var i=c.call(this,e);return null==i&&(i=a.call(this,t)),i},fixed:l}},symbolSize:{applyVisual:o(T),_doMap:u([0,1])}},x={linear:function(t){return p(t,this[Pe].dataExtent,[0,1],!0)},piecewise:function(t){var e=this[Pe].pieceList,i=y.findPieceIndex(t,e,!0);return null!=i?p(i,[0,e[Ei]-1],[0,1],!0):void 0},category:function(t){var e=this[Pe].categories?this[Pe].categoryMap[t]:t;return null==e?g:e},fixed:d.noop};return y.addVisualHandler=function(t,e){_[t]=e},y.isValidType=function(t){return _.hasOwnProperty(t)},y.eachVisual=function(t,e,i){d[Si](t)?d.each(t,e,i):e.call(i,t)},y.mapVisual=function(t,e,i){var n,r=d[ri](t)?[]:d[Si](t)?{}:(n=!0,null);return y.eachVisual(t,function(t,a){var o=e.call(i,t,a);n?r=o:r[a]=o}),r},y.retrieveVisuals=function(t){var e,i={};return t&&v(_,function(n,r){t.hasOwnProperty(r)&&(i[r]=t[r],e=!0)}),e?i:null},y.prepareVisualTypes=function(t){if(m(t)){var e=[];v(t,function(t,i){e.push(i)}),t=e}else{if(!d[ri](t))return[];t=t.slice()}return t.sort(function(t,e){return"color"===e&&"color"!==t&&0===t[Ri]("color")?1:-1}),t},y.dependsOn=function(t,e){return"color"===e?!(!t||0!==t[Ri](e)):t===e},y.findPieceIndex=function(t,e,i){function n(e,i){var n=Math.abs(e-t);a>n&&(a=n,r=i)}for(var r,a=1/0,o=0,s=e[Ei];s>o;o++){var l=e[o].value;if(null!=l){if(l===t)return o;i&&n(l,o)}}for(var o=0,s=e[Ei];s>o;o++){var u=e[o],c=u[D],d=u.close;if(c){if(c[0]===-1/0){if(h(d[1],t,c[1]))return o}else if(1/0===c[1]){if(h(d[0],c[0],t))return o}else if(h(d[0],c[0],t)&&h(d[1],t,c[1]))return o;i&&n(c[0],o),i&&n(c[1],o)}}return i?1/0===t?e[Ei]-1:t===-1/0?0:r:void 0},y}),e("echarts/component/dataZoom/history",[an,nn],function(t){function e(t){var e=t[r];return e||(e=t[r]=[{}]),e}var i=t(nn),n=i.each,r="\x00_ec_hist_store",a={push:function(t,i){var r=e(t);n(i,function(e,i){for(var n=r[Ei]-1;n>=0;n--){var a=r[n];if(a[i])break}if(0>n){var o=t[Ce]({mainType:"dataZoom",subType:"select",id:i})[0];if(o){var s=o.getPercentRange();r[0][i]={dataZoomId:i,start:s[0],end:s[1]}}}}),r.push(i)},pop:function(t){var i=e(t),r=i[i[Ei]-1];i[Ei]>1&&i.pop();var a={};return n(r,function(t,e){for(var n=i[Ei]-1;n>=0;n--){var t=i[n][e];if(t){a[e]=t;break}}}),a},clear:function(t){t[r]=null},count:function(t){return e(t)[Ei]}};return a}),e("echarts/component/helper/BrushController",[an,"zrender/mixin/Eventful",nn,de,Z,"./interactionMutex","../../data/DataDiffer"],function(t){function e(t){N.call(this),this._zr=t,this.group=new F.Group,this._brushType,this._brushOption,this._panels,this._track=[],this._dragging,this._covers=[],this._creatingCover,this._creatingPanel,this._enableGlobalPan,this._uid="brushController_"+se++,this._handlers={},X(le,function(t,e){this._handlers[e]=H.bind(t,this)},this)}function a(t,e){var i=t._zr;t._enableGlobalPan||q.take(i,ne,t._uid),X(t._handlers,function(t,e){i.on(e,t)}),t._brushType=e.brushType,t._brushOption=H.merge(H.clone(oe),e,!0)}function o(t){var e=t._zr;q.release(e,ne,t._uid),X(t._handlers,function(t,i){e.off(i,t)}),t._brushType=t._brushOption=null}function s(t,e){var i=ce[e.brushType].createCover(t,e);return c(i),i.__brushOption=e,t.group.add(i),i}function l(t,e){var i=d(e);return i.endCreating&&(i.endCreating(t,e),c(e)),e}function u(t,e){var i=e.__brushOption;d(e).updateCoverShape(t,e,i.range,i)}function c(t){t[li](function(t){t.z=J,t.z2=J})}function h(t,e){d(e).updateCommon(t,e),u(t,e)}function d(t){return ce[t.__brushOption.brushType]}function f(t,e,i){var n=t._panels;if(!n)return!0;var r;return X(n,function(t){t[Ie](e,i)&&(r=t)}),r}function v(t,e){var i=t._panels;if(!i)return!0;var n=e.__brushOption.panelId;return null!=n?i[n]:!0}function m(t){var e=t._covers,i=e[Ei];return X(e,function(e){t.group[Mi](e)},t),e[Ei]=0,!!i}function g(t,e){var i=j(t._covers,function(t){var e=t.__brushOption,i=H.clone(e.range);return{brushType:e.brushType,panelId:e.panelId,range:i}});t[_i]("brush",i,{isEnd:!!e.isEnd,removeOnClick:!!e.removeOnClick})}function y(t){var e=t._track;if(!e[Ei])return!1;var i=e[e[Ei]-1],n=e[0],r=i[0]-n[0],a=i[1]-n[1],o=K(r*r+a*a,.5);return o>te}function _(t){var e=t[Ei]-1;return 0>e&&(e=0),[t[0],t[e]]}function x(t,e,i,n){var r=new F.Group;return r.add(new F.Rect({name:"main",style:S(i),silent:!0,draggable:!0,cursor:"move",drift:U(t,e,r,"nswe"),ondragend:U(g,e,{isEnd:!0})})),X(n,function(i){r.add(new F.Rect({name:i,style:{opacity:0},draggable:!0,silent:!0,invisible:!0,drift:U(t,e,r,i),ondragend:U(g,e,{isEnd:!0})}))}),r}function b(t,e,i,n){var r=n.brushStyle[ue]||0,a=$(r,ee),o=i[0][0],s=i[1][0],l=o-r/2,u=s-r/2,c=i[0][1],h=i[1][1],d=c-a+r/2,f=h-a+r/2,p=c-o,v=h-s,m=p+r,g=v+r;M(t,e,"main",o,s,p,v),n.transformable&&(M(t,e,"w",l,u,a,g),M(t,e,"e",d,u,a,g),M(t,e,"n",l,u,m,a),M(t,e,"s",l,f,m,a),M(t,e,"nw",l,u,a,a),M(t,e,"ne",d,u,a,a),M(t,e,"sw",l,f,a,a),M(t,e,"se",d,f,a,a))}function w(t,e){var i=e.__brushOption,n=i.transformable,r=e.childAt(0);r.useStyle(S(i)),r.attr({silent:!n,cursor:n?"move":"default"}),X(["w","e","n","s","se","sw","ne","nw"],function(i){var r=e.childOfName(i),a=A(t,i);r&&r.attr({silent:!n,invisible:!n,cursor:n?ae[a]+"-resize":null})})}function M(t,e,i,n,r,a,o){var s=e.childOfName(i);s&&s[Q](D(I(t,e,[[n,r],[n+a,r+o]])))}function S(t){return H[xi]({strokeNoScale:!0},t.brushStyle)}function T(t,e,i,n){var r=[Y(t,i),Y(e,n)],a=[$(t,i),$(e,n)];return[[r[0],a[0]],[r[1],a[1]]]}function C(t){return F.getTransform(t.group)}function A(t,e){if(e[Ei]>1){e=e.split("");var n=[A(t,e[0]),A(t,e[1])];return("e"===n[0]||"w"===n[0])&&n[i](),n.join("")}var r={w:"left",e:"right",n:"top",s:"bottom"},a={left:"w",right:"e",top:"n",bottom:"s"},n=F.transformDirection(r[e],C(t));return a[n]}function P(t,e,i,n,r,a,o){var s=n.__brushOption,l=t(s.range),u=k(i,a,o);X(r.split(""),function(t){var e=re[t];l[e[0]][e[1]]+=u[e[0]]}),s.range=e(T(l[0][0],l[1][0],l[0][1],l[1][1])),h(i,n),g(i,{isEnd:!1})}function L(t,e,i,n){var r=e.__brushOption.range,a=k(t,i,n);X(r,function(t){t[0]+=a[0],t[1]+=a[1]}),h(t,e),g(t,{isEnd:!1})}function k(t,e,i){var n=t.group,r=n.transformCoordToLocal(e,i),a=n.transformCoordToLocal(0,0);return[r[0]-a[0],r[1]-a[1]]}function I(t,e,i){var n=v(t,e);if(n===!0)return H.clone(i);var r=n[Ze]();return H.map(i,function(t){var e=t[0];e=$(e,r.x),e=Y(e,r.x+r.width);var i=t[1];return i=$(i,r.y),i=Y(i,r.y+r[Yi]),[e,i]})}function D(t){var e=Y(t[0][0],t[1][0]),i=Y(t[0][1],t[1][1]),n=$(t[0][0],t[1][0]),r=$(t[0][1],t[1][1]);return{x:e,y:i,width:n-e,height:r-i}}function z(t,e){var i=e[r],a=e[n],o=t._zr;if(t._brushType){for(var s,l=t._panels,u=t._covers,c=0;ci;i++)if(t.batch[i].dataZoomId===e)return!1;return!0},generateCoordId:function(t){return t.type+"\x00_"+t.id}};return f}),e("echarts/chart/helper/Line",[an,s,tn,"./LinePath",Z,nn,d],function(t){function e(t){return"_"+t+"Type"}function i(t,e,i){var n=e[Ii](i,"color"),r=e[Ii](i,t),a=e[Ii](i,t+"Size");if(r&&"none"!==r){p[ri](a)||(a=[a,a]);var s=u[o](r,-a[0]/2,-a[1]/2,a[0],a[1],n);return s.name=t,s}}function n(t){var e=new h({name:"line"});return r(e.shape,t),e}function r(t,e){var i=e[0],n=e[1],r=e[2];t.x1=i[0],t.y1=i[1],t.x2=n[0],t.y2=n[1],t.percent=1,r?(t.cpx1=r[0],t.cpy1=r[1]):(t.cpx1=0/0,t.cpy1=0/0)}function a(){var t=this,e=t.childOfName("fromSymbol"),i=t.childOfName("toSymbol"),n=t.childOfName("label");if(e||i||!n[Ni]){for(var r=1,a=this[ne];a;)a.scale&&(r/=a.scale[0]),a=a[ne];var o=t.childOfName("line");if(this.__dirty||o.__dirty){var s=o.shape.percent,l=o.pointAt(0),u=o.pointAt(s),h=c.sub([],u,l);if(c.normalize(h,h),e){e.attr(Ee,l);var d=o.tangentAt(0);e.attr(ie,Math.PI/2-Math.atan2(d[1],d[0])),e.attr("scale",[r*s,r*s])}if(i){i.attr(Ee,u);var d=o.tangentAt(1);i.attr(ie,-Math.PI/2-Math.atan2(d[1],d[0])),i.attr("scale",[r*s,r*s])}if(!n[Ni]){n.attr(Ee,u);var f,p,v,m=5*r;if("end"===n.__position)f=[h[0]*m+u[0],h[1]*m+u[1]],p=h[0]>.8?"left":h[0]<-.8?"right":Be,v=h[1]>.8?"top":h[1]<-.8?Bi:Ne;else if(n.__position===Ne){var g=s/2,d=o.tangentAt(g),y=[d[1],-d[0]],_=o.pointAt(g);y[1]>0&&(y[0]=-y[0],y[1]=-y[1]),f=[_[0]+y[0]*m,_[1]+y[1]*m],p=Be,v=Bi;var x=-Math.atan2(d[1],d[0]);u[0].8?"right":h[0]<-.8?"left":Be,v=h[1]>.8?Bi:h[1]<-.8?"top":Ne;n.attr({style:{textVerticalAlign:n.__verticalAlign||v,textAlign:n.__textAlign||p},position:f,scale:[r,r]})}}}}function l(t,e,i){f.Group.call(this),this._createLine(t,e,i)}var u=t(s),c=t(tn),h=t("./LinePath"),f=t(Z),p=t(nn),v=t(d),m=["fromSymbol","toSymbol"],g=l[Qi];return g.beforeUpdate=a,g._createLine=function(t,r,a){var o=t[Y],s=t[U](r),l=n(s);l.shape.percent=0,f.initProps(l,{shape:{percent:1}},o,r),this.add(l);var u=new f.Text({name:"label"});this.add(u),p.each(m,function(n){var a=i(n,t,r);this.add(a),this[e(n)]=t[Ii](r,n)},this),this._updateCommonStl(t,r,a)},g[L]=function(t,n,a){var o=t[Y],s=this.childOfName("line"),l=t[U](n),u={shape:{}};r(u.shape,l),f[re](s,u,o,n),p.each(m,function(r){var a=t[Ii](n,r),o=e(r);if(this[o]!==a){this[Mi](this.childOfName(r)); -var s=i(r,t,n);this.add(s)}this[o]=a},this),this._updateCommonStl(t,n,a)},g._updateCommonStl=function(t,e,i){var n=t[Y],r=this.childOfName("line"),a=i&&i.lineStyle,o=i&&i.hoverLineStyle,s=i&&i.labelModel,l=i&&i.hoverLabelModel;if(!i||t[K]){var u=t[te](e);a=u[Ui]("lineStyle.normal")[P](),o=u[Ui]("lineStyle.emphasis")[P](),s=u[Ui](w),l=u[Ui](b)}var c=t[Ii](e,"color"),h=p[ee](t[Ii](e,Re),a[Re],1);r.useStyle(p[xi]({strokeNoScale:!0,fill:"none",stroke:c,opacity:h},a)),r[se]=o,p.each(m,function(t){var e=this.childOfName(t);e&&(e.setColor(c),e[si]({opacity:h}))},this);var d,g,y=s[ge]("show"),_=l[ge]("show"),M=this.childOfName("label");if(y||_){var S=n[_e](e);g=null==S?g=t[ye](e):isFinite(S)?v.round(S):S,d=c||"#000"}if(y){var T=s[Ui](We);M[si]({text:p[ee](n[x](e,ve,t.dataType),g),textFont:T[Fe](),fill:T[Ge]()||d}),M.__textAlign=T.get("align"),M.__verticalAlign=T.get("baseline"),M.__position=s.get(Ee)}else M[si]("text","");if(_){var C=l[Ui](We);M[se]={text:p[ee](n[x](e,me,t.dataType),g),textFont:C[Fe](),fill:C[Ge]()||d}}else M[se]={text:""};M[Ni]=!y&&!_,f[oe](this)},g[Ai]=function(t,e){this.setLinePoints(t[U](e))},g.setLinePoints=function(t){var e=this.childOfName("line");r(e.shape,t),e.dirty()},p[$e](l,f.Group),l}),e("echarts/component/timeline/TimelineAxis",[an,nn,"../../coord/Axis","../../coord/axisHelper"],function(t){var e=t(nn),i=t("../../coord/Axis"),n=t("../../coord/axisHelper"),r=function(t,e,n,r){i.call(this,t,e,n),this.type=r||"value",this._autoLabelInterval,this.model=null};return r[Qi]={constructor:r,getLabelInterval:function(){var t=this.model,i=t[Ui](w),r=i.get(D);if(null!=r&&"auto"!=r)return r;var r=this._autoLabelInterval;return r||(r=this._autoLabelInterval=n.getAxisLabelInterval(e.map(this.scale[ze](),this[k],this),n[m](this,i.get("formatter")),i[Ui](We)[Fe](),t.get(h)===u)),r},isLabelIgnored:function(t){if(this.type===M){var e=this.getLabelInterval();return typeof e===ni&&!e(t,this.scale[De](t))||t%(e+1)}}},e[$e](r,i),r}),e("zrender/contain/polygon",[an,"./windingLine"],function(t){function e(t,e){return Math.abs(t-e)"],n[ri](t)&&(t=t.slice(),a=!0),o=e?t:a?[r(t[0]),r(t[1])]:r(t),n[Ye](c)?c[ai]("{value}",a?o[0]:o)[ai]("{value2}",a?o[1]:o):n.isFunction(c)?a?c(t[0],t[1]):c(t):a?t[0]===u[0]?i[0]+" "+o[1]:t[1]===u[1]?i[1]+" "+o[0]:o[0]+" - "+o[1]:o},resetExtent:function(){var t=this[Pe],e=v([t.min,t.max]);this._dataExtent=e},getDataDimension:function(t){var e=this[Pe].dimension;return null!=e?e:t[$][Ei]-1},getExtent:function(){return this._dataExtent.slice()},completeVisualOption:function(){function t(t){f(s.color)&&!t.inRange&&(t.inRange={color:s.color.slice()[i]()}),t.inRange=t.inRange||{color:y},p(this.stateList,function(e){var i=t[e];if(n[Ye](i)){var r=a.get(i,"active",v);r?(t[e]={},t[e][i]=r):delete t[e]}},this)}function e(t,e,i){var n=t[e],r=t[i];n&&!r&&(r=t[i]={},p(n,function(t,e){if(o.isValidType(e)){var i=a.get(e,"inactive",v);null!=i&&(r[e]=i,"color"!==e||r.hasOwnProperty(Re)||r.hasOwnProperty("colorAlpha")||(r[Re]=[0,0]))}}))}function r(t){var e=(t.inRange||{})[C]||(t.outOfRange||{})[C],i=(t.inRange||{})[T]||(t.outOfRange||{})[T],r=this.get("inactiveColor");p(this.stateList,function(a){var o=this.itemSize,s=t[a];s||(s=t[a]={color:v?r:[r]}),null==s[C]&&(s[C]=e&&n.clone(e)||(v?"roundRect":["roundRect"])),null==s[T]&&(s[T]=i&&n.clone(i)||(v?o[0]:[o[0],o[0]])),s[C]=l(s[C],function(t){return"none"===t||"square"===t?"roundRect":t});var u=s[T];if(null!=u){var h=-1/0;c(u,function(t){t>h&&(h=t)}),s[T]=l(u,function(t){return m(t,[0,h],[0,o[0]],!0)})}},this)}var s=this[Pe],u={inRange:s.inRange,outOfRange:s.outOfRange},h=s[hi]||(s[hi]={}),d=s.controller||(s.controller={});n.merge(h,u),n.merge(d,u);var v=this.isCategory();t.call(this,h),t.call(this,d),e.call(this,h,"inRange","outOfRange"),r.call(this,d)},resetItemSize:function(){this.itemSize=[parseFloat(this.get("itemWidth")),parseFloat(this.get("itemHeight"))]},isCategory:function(){return!!this[Pe].categories},setSelected:g,getValueState:g});return _}),e("echarts/component/helper/interactionMutex",[an,S],function(t){function e(t){return t[i]||(t[i]={})}var i="\x00_ec_interaction_mutex",n={take:function(t,i,n){var r=e(t);r[i]=n},release:function(t,i,n){var r=e(t),a=r[i];a===n&&(r[i]=null)},isTaken:function(t,i){return!!e(t)[i]}};return t(S)[ii]({type:"takeGlobalCursor",event:"globalCursorTaken",update:"update"},function(){}),n}),e("echarts/component/helper/RoamController",[an,"zrender/mixin/Eventful",nn,"zrender/core/event","./interactionMutex"],function(t){function e(t){if(!t[hi]||!t[hi].draggable){var e=t[r],i=t[n];this.containsPoint&&this.containsPoint(e,i)&&(this._x=e,this._y=i,this._dragging=!0)}}function i(t){if(this._dragging&&(d.stop(t.event),"pinch"!==t.gestureEvent)){if(f.isTaken(this._zr,"globalPan"))return;var e=t[r],i=t[n],a=this._x,o=this._y,s=e-a,l=i-o;this._x=e,this._y=i;var u=this[hi];if(u){var c=u[Ee];c[0]+=s,c[1]+=l,u.dirty()}d.stop(t.event),this[_i]("pan",s,l,a,o,e,i)}}function a(){this._dragging=!1}function o(t){var e=t.wheelDelta>0?1.1:1/1.1;l.call(this,t,e,t[r],t[n])}function s(t){if(!f.isTaken(this._zr,"globalPan")){var e=t.pinchScale>1?1.1:1/1.1;l.call(this,t,e,t.pinchX,t.pinchY)}}function l(t,e,i,n){if(this.containsPoint&&this.containsPoint(i,n)){d.stop(t.event);var r=this[hi],a=this.zoomLimit;if(r){var o=r[Ee],s=r.scale,l=this.zoom=this.zoom||1;if(l*=e,a){var u=a.min||0,c=a.max||1/0;l=Math.max(Math.min(c,l),u)}var h=l/this.zoom;this.zoom=l,o[0]-=(i-o[0])*(h-1),o[1]-=(n-o[1])*(h-1),s[0]*=h,s[1]*=h,r.dirty()}this[_i]("zoom",e,i,n)}}function u(t,n){this[hi]=n,this.containsPoint,this.zoomLimit,this.zoom,this._zr=t;var r=h.bind,l=r(e,this),u=r(i,this),d=r(a,this),f=r(o,this),p=r(s,this);c.call(this),this.setContainsPoint=function(t){this.containsPoint=t},this.enable=function(e){this.disable(),null==e&&(e=!0),(e===!0||"move"===e||"pan"===e)&&(t.on("mousedown",l),t.on(di,u),t.on("mouseup",d)),(e===!0||"scale"===e||"zoom"===e)&&(t.on("mousewheel",f),t.on("pinch",p))},this.disable=function(){t.off("mousedown",l),t.off(di,u),t.off("mouseup",d),t.off("mousewheel",f),t.off("pinch",p)},this[gi]=this.disable,this.isDragging=function(){return this._dragging},this.isPinching=function(){return this._pinching}}var c=t("zrender/mixin/Eventful"),h=t(nn),d=t("zrender/core/event"),f=t("./interactionMutex");return h.mixin(u,c),u}),e("echarts/chart/helper/LinePath",[an,Z,tn],function(t){function e(t){return isNaN(+t.cpx1)||isNaN(+t.cpy1)}var i=t(Z),n=t(tn),r=i.Line[Qi],a=i.BezierCurve[Qi];return i.extendShape({type:"ec-line",style:{stroke:"#000",fill:null},shape:{x1:0,y1:0,x2:0,y2:0,percent:1,cpx1:null,cpy1:null},buildPath:function(t,i){(e(i)?r:a).buildPath(t,i)},pointAt:function(t){return e(this.shape)?r.pointAt.call(this,t):a.pointAt.call(this,t)},tangentAt:function(t){var i=this.shape,r=e(i)?[i.x2-i.x1,i.y2-i.y1]:a.tangentAt.call(this,t);return n.normalize(r,r)}})}),e("echarts/visual/visualDefault",[an,nn],function(t){var e=t(nn),i={get:function(t,i,r){var a=e.clone((n[t]||{})[i]);return r&&e[ri](a)?a[a[Ei]-1]:a}},n={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]}};return i}),e("echarts/component/dataZoom/SelectZoomView",[an,"./DataZoomView"],function(t){return t("./DataZoomView")[wi]({type:"dataZoom.select"})}),e("echarts/component/dataZoom/SelectZoomModel",[an,"./DataZoomModel"],function(t){var e=t("./DataZoomModel");return e[wi]({type:"dataZoom.select"})}),e("echarts/component/visualMap/VisualMapView",[an,nn,Z,a,g,S,"../../visual/VisualMapping"],function(t){var e=t(nn),i=t(Z),n=t(a),r=t(g),o=t(S),s=t("../../visual/VisualMapping");return o[Je]({type:"visualMap",autoPositionValues:{left:1,right:1,top:1,bottom:1},init:function(t,e){this[we]=t,this.api=e,this.visualMapModel},render:function(t){return this.visualMapModel=t,t.get("show")===!1?void this.group[je]():void this.doRender.apply(this,arguments)},renderBackground:function(t){var e=this.visualMapModel,r=n.normalizeCssArray(e.get("padding")||0),a=t[Ze]();t.add(new i.Rect({z2:-1,silent:!0,shape:{x:a.x-r[3],y:a.y-r[0],width:a.width+r[3]+r[1],height:a[Yi]+r[0]+r[2]},style:{fill:e.get(Gi),stroke:e.get("borderColor"),lineWidth:e.get("borderWidth")}}))},getControllerVisual:function(t,i,n){function r(t){return u[t]}function a(t,e){u[t]=e}n=n||{};var o=n.forceState,l=this.visualMapModel,u={};if(i===C&&(u[C]=l.get("itemSymbol")),"color"===i){var c=l.get("contentColor");u.color=c}var h=l.controllerVisuals[o||l.getValueState(t)],d=s.prepareVisualTypes(h);return e.each(d,function(e){var o=h[e];n.convertOpacityToAlpha&&e===Re&&(e="colorAlpha",o=h.__alphaForOpacity),s.dependsOn(e,i)&&o&&o.applyVisual(t,r,a)}),u[i]},positionGroup:function(t){var e=this.visualMapModel,i=this.api;r.positionGroup(t,e.getBoxLayoutParams(),{width:i[Wi](),height:i[qi]()})},doRender:e.noop})}),e("echarts/component/visualMap/helper",[an,nn,g],function(t){var e=t(nn),i=t(g),n={getItemAlign:function(t,e,n){var r=t[Pe],a=r.align;if(null!=a&&"auto"!==a)return a;for(var o={width:e[Wi](),height:e[qi]()},s=r[h]===u?1:0,l=[["left","right","width"],["top",Bi,Yi]],c=l[s],d=[0,null,10],f={},p=0;3>p;p++)f[l[1-s][p]]=d[p],f[c[p]]=2===p?n[0]:r[c[p]];var v=[["x","width",3],["y",Yi,0]][s],m=i[He](f,o,r.padding);return c[(m.margin[v[2]]||0)+m[v[0]]+.5*m[v[1]]<.5*o[v[1]]?0:1]},convertDataIndex:function(t){return e.each(t||[],function(){null!=t[Di]&&(t.dataIndexInside=t[Di],t[Di]=null)}),t}};return n}),e("echarts/component/visualMap/PiecewiseModel",[an,"./VisualMapModel",nn,"../../visual/VisualMapping"],function(t){function e(t,e){var n=t[O];(t[h]===c?!n:n)&&e[i]()}function n(t){function e(t,i,n){return n=n||0,t[D][n]i.close[n]||e(t,i,1))}t.sort(function(t,i){return e(t,i)?-1:1});for(var i=-1/0,n=0;no;o++)r[o]0?"pieces":this[Pe].categories?"categories":"splitNumber"},setSelected:function(t){this[Pe][y]=a.clone(t)},getValueState:function(t){var e=o.findPieceIndex(t,this._pieceList);return null!=e&&this[Pe][y][this.getSelectedMapKey(this._pieceList[e])]?"inRange":"outOfRange"},findTargetDataIndices:function(t){var e=[];return this.eachTargetSeries(function(i){var n=[],r=i[zi]();r.each(this.getDataDimension(r),function(e,i){var r=o.findPieceIndex(e,this._pieceList);r===t&&n.push(i)},!0,this),e.push({seriesId:i.id,dataIndex:n})},this),e},getRepresentValue:function(t){var e;if(this.isCategory())e=t.value;else if(null!=t.value)e=t.value;else{var i=t[D]||[];e=(i[0]+i[1])/2}return e},getStops:function(t,e){function i(t){n.push(t),t.color=e(r,r.getRepresentValue(t),t.valueState)}var n=[],r=this,o=-1/0;return a.each(this._pieceList,function(t){var e=t[D];e&&(e[0]>o&&i({interval:[o,e[0]],valueState:"outOfRange"}),i({interval:e.slice(),valueState:this.getValueState((e[0]+e[1])/2)}),o=e[1])},this),n}}),l={splitNumber:function(){var t=this[Pe],e=this._pieceList,i=t.precision,r=this[Oe](),o=t.splitNumber;o=Math.max(parseInt(o,10),1),t.splitNumber=o;for(var s=(r[1]-r[0])/o;+s[G](i)!==s&&5>i;)i++;t.precision=i,s=+s[G](i);var l=0;t.minOpen&&e.push({index:l++,interval:[-1/0,r[0]],close:[0,0]});for(var u=r[0],c=l+o;c>l;u+=s){var h=l===o-1?r[1]:u+s;e.push({index:l++,interval:[u,h],close:[1,1]})}t.maxOpen&&e.push({index:l++,interval:[r[1],1/0],close:[0,0]}),n(e),a.each(e,function(t){t.text=this.formatValueText(t[D])},this)},categories:function(){var t=this[Pe];a.each(t.categories,function(t){this._pieceList.push({text:this.formatValueText(t,!0),value:t})},this),e(t,this._pieceList)},pieces:function(){var t=this[Pe],i=this._pieceList;a.each(t.pieces,function(t,e){a[Si](t)||(t={value:t});var n={text:"",index:e};if(null!=t.label&&(n.text=t.label),t.hasOwnProperty("value")){var r=n.value=t.value;n[D]=[r,r],n.close=[1,1]}else{for(var s=n[D]=[],l=n.close=[0,0],u=[1,0,1],c=[-1/0,1/0],h=[],d=0;2>d;d++){for(var f=[["gte","gt","min"],["lte","lt","max"]][d],p=0;3>p&&null==s[d];p++)s[d]=t[f[p]],l[d]=u[p],h[d]=2===p;null==s[d]&&(s[d]=c[d])}h[0]&&1/0===s[1]&&(l[0]=0),h[1]&&s[0]===-1/0&&(l[1]=0),s[0]===s[1]&&l[0]&&l[1]&&(n.value=s[0])}n.visual=o.retrieveVisuals(t),i.push(n)},this),e(t,i),n(i),a.each(i,function(t){var e=t.close,i=[["<","≤"][e[1]],[">","≥"][e[0]]];t.text=t.text||this.formatValueText(null!=t.value?t.value:t[D],!1,i)},this)}};return s}),e("echarts/component/visualMap/PiecewiseView",[an,"./VisualMapView",nn,Z,s,g,"./helper"],function(t){var e=t("./VisualMapView"),n=t(nn),r=t(Z),a=t(s),l=t(g),d=t("./helper"),f=e[wi]({type:"visualMap.piecewise",doRender:function(){function t(t){var o=t.piece,l=new r.Group;l.onclick=n.bind(this._onItemClick,this,o),this._enableHoverLink(l,t.indexInModelPieceList);var h=i.getRepresentValue(o);if(this._createItemSymbol(l,h,[0,0,d[0],d[1]]),p){var f=this.visualMapModel.getValueState(h);l.add(new r.Text({style:{x:"right"===c?-a:d[0]+a,y:d[1]/2,text:o.text,textVerticalAlign:"middle",textAlign:c,textFont:s,fill:u,opacity:"outOfRange"===f?.5:1}}))}e.add(l)}var e=this.group;e[je]();var i=this.visualMapModel,a=i.get("textGap"),o=i.textStyleModel,s=o[Fe](),u=o[Ge](),c=this._getItemAlign(),d=i.itemSize,f=this._getViewData(),p=!f.endsText,v=!p;v&&this._renderEndsText(e,f.endsText[0],d),n.each(f.viewPieceList,t,this),v&&this._renderEndsText(e,f.endsText[1],d),l.box(i.get(h),e,i.get("itemGap")),this.renderBackground(e),this.positionGroup(e)},_enableHoverLink:function(t,e){function i(t){var i=this.visualMapModel;i[Pe].hoverLink&&this.api[bi]({type:t,batch:d.convertDataIndex(i.findTargetDataIndices(e))})}t.on(pi,n.bind(i,this,Ci)).on(fi,n.bind(i,this,Ti))},_getItemAlign:function(){var t=this.visualMapModel,e=t[Pe];if(e[h]===c)return d.getItemAlign(t,this.api,t.itemSize);var i=e.align;return i&&"auto"!==i||(i="left"),i},_renderEndsText:function(t,e,i){if(e){var n=new r.Group,a=this.visualMapModel.textStyleModel;n.add(new r.Text({style:{x:i[0]/2,y:i[1]/2,textVerticalAlign:"middle",textAlign:"center",text:e,textFont:a[Fe](),fill:a[Ge]()}})),t.add(n)}},_getViewData:function(){var t=this.visualMapModel,e=n.map(t.getPieceList(),function(t,e){return{piece:t,indexInModelPieceList:e}}),r=t.get("text"),a=t.get(h),o=t.get(O);return(a===u?o:!o)?e[i]():r&&(r=r.slice()[i]()),{viewPieceList:e,endsText:r}},_createItemSymbol:function(t,e,i){t.add(a[o](this.getControllerVisual(e,C),i[0],i[1],i[2],i[3],this.getControllerVisual(e,"color")))},_onItemClick:function(t){var e=this.visualMapModel,i=e[Pe],r=n.clone(i[y]),a=e.getSelectedMapKey(t);"single"===i.selectedMode?(r[a]=!0,n.each(r,function(t,e){r[e]=e===a})):r[a]=!r[a],this.api[bi]({type:"selectDataRange",from:this.uid,visualMapId:this.visualMapModel.id,selected:r})}});return f}),e("zrender",["zrender/zrender"],function(t){return t}),e("echarts",["echarts/echarts"],function(t){return t});var on=t("echarts");return on.graphic=t("echarts/util/graphic"),on.number=t("echarts/util/number"),on.format=t("echarts/util/format"),t("echarts/chart/bar"),t("echarts/chart/line"),t("echarts/chart/pie"),t("echarts/chart/scatter"),t("echarts/chart/heatmap"),t("echarts/chart/effectScatter"),t("echarts/component/grid"),t("echarts/component/singleAxis"),t("echarts/component/title"),t("echarts/component/legend"),t("echarts/component/tooltip"),t("echarts/component/markPoint"),t("echarts/component/markLine"),t("echarts/component/markArea"),t("echarts/component/timeline"),t("echarts/component/dataZoom"),t("echarts/component/brush"),t("echarts/component/visualMap"),t("echarts/component/toolbox"),on}); \ No newline at end of file +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e(t.echarts={})}(this,function(t){"use strict";function e(t){var e={},n={},i=t.match(/Firefox\/([\d.]+)/),r=t.match(/MSIE\s([\d.]+)/)||t.match(/Trident\/.+?rv:(([\d.]+))/),a=t.match(/Edge\/([\d.]+)/),o=/micromessenger/i.test(t);return i&&(n.firefox=!0,n.version=i[1]),r&&(n.ie=!0,n.version=r[1]),a&&(n.edge=!0,n.version=a[1]),o&&(n.weChat=!0),{browser:n,os:e,node:!1,canvasSupported:!!document.createElement("canvas").getContext,svgSupported:"undefined"!=typeof SVGRect,touchEventsSupported:"ontouchstart"in window&&!n.ie&&!n.edge,pointerEventsSupported:"onpointerdown"in window&&(n.edge||n.ie&&n.version>=11),domSupported:"undefined"!=typeof document}}function n(t,e){"createCanvas"===t&&(bx=null),xx[t]=e}function i(t){if(null==t||"object"!=typeof t)return t;var e=t,n=dx.call(t);if("[object Array]"===n){if(!R(t)){e=[];for(var r=0,a=t.length;a>r;r++)e[r]=i(t[r])}}else if(cx[n]){if(!R(t)){var o=t.constructor;if(t.constructor.from)e=o.from(t);else{e=new o(t.length);for(var r=0,a=t.length;a>r;r++)e[r]=i(t[r])}}}else if(!hx[n]&&!R(t)&&!T(t)){e={};for(var s in t)t.hasOwnProperty(s)&&(e[s]=i(t[s]))}return e}function r(t,e,n){if(!S(e)||!S(t))return n?i(e):t;for(var a in e)if(e.hasOwnProperty(a)){var o=t[a],s=e[a];!S(s)||!S(o)||_(s)||_(o)||T(s)||T(o)||I(s)||I(o)||R(s)||R(o)?!n&&a in t||(t[a]=i(e[a],!0)):r(o,s,n)}return t}function a(t,e){for(var n=t[0],i=1,a=t.length;a>i;i++)n=r(n,t[i],e);return n}function o(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}function s(t,e,n){for(var i in e)e.hasOwnProperty(i)&&(n?null!=e[i]:null==t[i])&&(t[i]=e[i]);return t}function l(){return bx||(bx=_x().getContext("2d")),bx}function u(t,e){if(t){if(t.indexOf)return t.indexOf(e);for(var n=0,i=t.length;i>n;n++)if(t[n]===e)return n}return-1}function h(t,e){function n(){}var i=t.prototype;n.prototype=e.prototype,t.prototype=new n;for(var r in i)t.prototype[r]=i[r];t.prototype.constructor=t,t.superClass=e}function c(t,e,n){t="prototype"in t?t.prototype:t,e="prototype"in e?e.prototype:e,s(t,e,n)}function d(t){return t?"string"==typeof t?!1:"number"==typeof t.length:void 0}function f(t,e,n){if(t&&e)if(t.forEach&&t.forEach===px)t.forEach(e,n);else if(t.length===+t.length)for(var i=0,r=t.length;r>i;i++)e.call(n,t[i],i,t);else for(var a in t)t.hasOwnProperty(a)&&e.call(n,t[a],a,t)}function p(t,e,n){if(t&&e){if(t.map&&t.map===vx)return t.map(e,n);for(var i=[],r=0,a=t.length;a>r;r++)i.push(e.call(n,t[r],r,t));return i}}function g(t,e,n,i){if(t&&e){if(t.reduce&&t.reduce===yx)return t.reduce(e,n,i);for(var r=0,a=t.length;a>r;r++)n=e.call(i,n,t[r],r,t);return n}}function m(t,e,n){if(t&&e){if(t.filter&&t.filter===gx)return t.filter(e,n);for(var i=[],r=0,a=t.length;a>r;r++)e.call(n,t[r],r,t)&&i.push(t[r]);return i}}function v(t,e,n){if(t&&e)for(var i=0,r=t.length;r>i;i++)if(e.call(n,t[i],i,t))return t[i]}function y(t,e){var n=mx.call(arguments,2);return function(){return t.apply(e,n.concat(mx.call(arguments)))}}function x(t){var e=mx.call(arguments,1);return function(){return t.apply(this,e.concat(mx.call(arguments)))}}function _(t){return"[object Array]"===dx.call(t)}function w(t){return"function"==typeof t}function b(t){return"[object String]"===dx.call(t)}function S(t){var e=typeof t;return"function"===e||!!t&&"object"===e}function I(t){return!!hx[dx.call(t)]}function M(t){return!!cx[dx.call(t)]}function T(t){return"object"==typeof t&&"number"==typeof t.nodeType&&"object"==typeof t.ownerDocument}function C(t){return t!==t}function D(){for(var t=0,e=arguments.length;e>t;t++)if(null!=arguments[t])return arguments[t]}function A(t,e){return null!=t?t:e}function L(t,e,n){return null!=t?t:null!=e?e:n}function k(){return Function.call.apply(mx,arguments)}function P(t){if("number"==typeof t)return[t,t,t,t];var e=t.length;return 2===e?[t[0],t[1],t[0],t[1]]:3===e?[t[0],t[1],t[2],t[1]]:t}function N(t,e){if(!t)throw new Error(e)}function E(t){return null==t?null:"function"==typeof t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}function O(t){t[Sx]=!0}function R(t){return t[Sx]}function z(t){function e(t,e){n?i.set(t,e):i.set(e,t)}var n=_(t);this.data={};var i=this;t instanceof z?t.each(e):t&&f(t,e)}function B(t){return new z(t)}function V(t,e){for(var n=new t.constructor(t.length+e.length),i=0;i=0;if(r){var a="touchend"!==i?e.targetTouches[0]:e.changedTouches[0];a&&fe(t,a,e,n)}else fe(t,e,e,n),e.zrDelta=e.wheelDelta?e.wheelDelta/120:-(e.detail||0)/3;var o=e.button;return null==e.which&&void 0!==o&&Ex.test(e.type)&&(e.which=1&o?1:2&o?3:4&o?2:0),e}function me(t,e,n){Nx?t.addEventListener(e,n):t.attachEvent("on"+e,n)}function ve(t,e,n){Nx?t.removeEventListener(e,n):t.detachEvent("on"+e,n)}function ye(t){return 2===t.which||3===t.which}function xe(t){var e=t[1][0]-t[0][0],n=t[1][1]-t[0][1];return Math.sqrt(e*e+n*n)}function _e(t){return[(t[0][0]+t[1][0])/2,(t[0][1]+t[1][1])/2]}function we(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:be}}function be(){Ox(this.event)}function Se(){}function Ie(t,e,n){if(t[t.rectHover?"rectContain":"contain"](e,n)){for(var i,r=t;r;){if(r.clipPath&&!r.clipPath.contain(e,n))return!1;r.silent&&(i=!0),r=r.parent}return i?Bx:!0}return!1}function Me(){var t=new Fx(6);return Te(t),t}function Te(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t}function Ce(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 De(t,e,n){var i=e[0]*n[0]+e[2]*n[1],r=e[1]*n[0]+e[3]*n[1],a=e[0]*n[2]+e[2]*n[3],o=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]=a,t[3]=o,t[4]=s,t[5]=l,t}function Ae(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 Le(t,e,n){var i=e[0],r=e[2],a=e[4],o=e[1],s=e[3],l=e[5],u=Math.sin(n),h=Math.cos(n);return t[0]=i*h+o*u,t[1]=-i*u+o*h,t[2]=r*h+s*u,t[3]=-r*u+h*s,t[4]=h*a+u*l,t[5]=h*l-u*a,t}function ke(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 Pe(t,e){var n=e[0],i=e[2],r=e[4],a=e[1],o=e[3],s=e[5],l=n*o-a*i;return l?(l=1/l,t[0]=o*l,t[1]=-a*l,t[2]=-i*l,t[3]=n*l,t[4]=(i*s-o*r)*l,t[5]=(a*r-n*s)*l,t):null}function Ne(t){var e=Me();return Ce(e,t),e}function Ee(t){return t>Xx||-Xx>t}function Oe(t){this._target=t.target,this._life=t.life||1e3,this._delay=t.delay||0,this._initialized=!1,this.loop=null==t.loop?!1:t.loop,this.gap=t.gap||0,this.easing=t.easing||"Linear",this.onframe=t.onframe,this.ondestroy=t.ondestroy,this.onrestart=t.onrestart,this._pausedTime=0,this._paused=!1}function Re(t){return t=Math.round(t),0>t?0:t>255?255:t}function ze(t){return t=Math.round(t),0>t?0:t>360?360:t}function Be(t){return 0>t?0:t>1?1:t}function Ve(t){return Re(t.length&&"%"===t.charAt(t.length-1)?parseFloat(t)/100*255:parseInt(t,10))}function Ge(t){return Be(t.length&&"%"===t.charAt(t.length-1)?parseFloat(t)/100:parseFloat(t))}function Fe(t,e,n){return 0>n?n+=1:n>1&&(n-=1),1>6*n?t+(e-t)*n*6:1>2*n?e:2>3*n?t+(e-t)*(2/3-n)*6:t}function We(t,e,n){return t+(e-t)*n}function He(t,e,n,i,r){return t[0]=e,t[1]=n,t[2]=i,t[3]=r,t}function Xe(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}function Ye(t,e){r_&&Xe(r_,e),r_=i_.put(t,r_||e.slice())}function je(t,e){if(t){e=e||[];var n=i_.get(t);if(n)return Xe(e,n);t+="";var i=t.replace(/ /g,"").toLowerCase();if(i in n_)return Xe(e,n_[i]),Ye(t,e),e;if("#"!==i.charAt(0)){var r=i.indexOf("("),a=i.indexOf(")");if(-1!==r&&a+1===i.length){var o=i.substr(0,r),s=i.substr(r+1,a-(r+1)).split(","),l=1;switch(o){case"rgba":if(4!==s.length)return void He(e,0,0,0,1);l=Ge(s.pop());case"rgb":return 3!==s.length?void He(e,0,0,0,1):(He(e,Ve(s[0]),Ve(s[1]),Ve(s[2]),l),Ye(t,e),e);case"hsla":return 4!==s.length?void He(e,0,0,0,1):(s[3]=Ge(s[3]),Ze(s,e),Ye(t,e),e);case"hsl":return 3!==s.length?void He(e,0,0,0,1):(Ze(s,e),Ye(t,e),e);default:return}}He(e,0,0,0,1)}else{if(4===i.length){var u=parseInt(i.substr(1),16);return u>=0&&4095>=u?(He(e,(3840&u)>>4|(3840&u)>>8,240&u|(240&u)>>4,15&u|(15&u)<<4,1),Ye(t,e),e):void He(e,0,0,0,1)}if(7===i.length){var u=parseInt(i.substr(1),16);return u>=0&&16777215>=u?(He(e,(16711680&u)>>16,(65280&u)>>8,255&u,1),Ye(t,e),e):void He(e,0,0,0,1)}}}}function Ze(t,e){var n=(parseFloat(t[0])%360+360)%360/360,i=Ge(t[1]),r=Ge(t[2]),a=.5>=r?r*(i+1):r+i-r*i,o=2*r-a;return e=e||[],He(e,Re(255*Fe(o,a,n+1/3)),Re(255*Fe(o,a,n)),Re(255*Fe(o,a,n-1/3)),1),4===t.length&&(e[3]=t[3]),e}function Ue(t){if(t){var e,n,i=t[0]/255,r=t[1]/255,a=t[2]/255,o=Math.min(i,r,a),s=Math.max(i,r,a),l=s-o,u=(s+o)/2;if(0===l)e=0,n=0;else{n=.5>u?l/(s+o):l/(2-s-o);var h=((s-i)/6+l/2)/l,c=((s-r)/6+l/2)/l,d=((s-a)/6+l/2)/l;i===s?e=d-c:r===s?e=1/3+h-d:a===s&&(e=2/3+c-h),0>e&&(e+=1),e>1&&(e-=1)}var f=[360*e,n,u];return null!=t[3]&&f.push(t[3]),f}}function qe(t,e){var n=je(t);if(n){for(var i=0;3>i;i++)n[i]=0>e?n[i]*(1-e)|0:(255-n[i])*e+n[i]|0,n[i]>255?n[i]=255:t[i]<0&&(n[i]=0);return en(n,4===n.length?"rgba":"rgb")}}function Ke(t){var e=je(t);return e?((1<<24)+(e[0]<<16)+(e[1]<<8)+ +e[2]).toString(16).slice(1):void 0}function $e(t,e,n){if(e&&e.length&&t>=0&&1>=t){n=n||[];var i=t*(e.length-1),r=Math.floor(i),a=Math.ceil(i),o=e[r],s=e[a],l=i-r;return n[0]=Re(We(o[0],s[0],l)),n[1]=Re(We(o[1],s[1],l)),n[2]=Re(We(o[2],s[2],l)),n[3]=Be(We(o[3],s[3],l)),n}}function Je(t,e,n){if(e&&e.length&&t>=0&&1>=t){var i=t*(e.length-1),r=Math.floor(i),a=Math.ceil(i),o=je(e[r]),s=je(e[a]),l=i-r,u=en([Re(We(o[0],s[0],l)),Re(We(o[1],s[1],l)),Re(We(o[2],s[2],l)),Be(We(o[3],s[3],l))],"rgba");return n?{color:u,leftIndex:r,rightIndex:a,value:i}:u}}function Qe(t,e,n,i){return t=je(t),t?(t=Ue(t),null!=e&&(t[0]=ze(e)),null!=n&&(t[1]=Ge(n)),null!=i&&(t[2]=Ge(i)),en(Ze(t),"rgba")):void 0}function tn(t,e){return t=je(t),t&&null!=e?(t[3]=Be(e),en(t,"rgba")):void 0}function en(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 nn(t,e){return t[e]}function rn(t,e,n){t[e]=n}function an(t,e,n){return(e-t)*n+t}function on(t,e,n){return n>.5?e:t}function sn(t,e,n,i,r){var a=t.length;if(1===r)for(var o=0;a>o;o++)i[o]=an(t[o],e[o],n);else for(var s=a&&t[0].length,o=0;a>o;o++)for(var l=0;s>l;l++)i[o][l]=an(t[o][l],e[o][l],n)}function ln(t,e,n){var i=t.length,r=e.length;if(i!==r){var a=i>r;if(a)t.length=r;else for(var o=i;r>o;o++)t.push(1===n?e[o]:l_.call(e[o]))}for(var s=t[0]&&t[0].length,o=0;ol;l++)isNaN(t[o][l])&&(t[o][l]=e[o][l])}function un(t,e,n){if(t===e)return!0;var i=t.length;if(i!==e.length)return!1;if(1===n){for(var r=0;i>r;r++)if(t[r]!==e[r])return!1}else for(var a=t[0].length,r=0;i>r;r++)for(var o=0;a>o;o++)if(t[r][o]!==e[r][o])return!1;return!0}function hn(t,e,n,i,r,a,o,s,l){var u=t.length;if(1===l)for(var h=0;u>h;h++)s[h]=cn(t[h],e[h],n[h],i[h],r,a,o);else for(var c=t[0].length,h=0;u>h;h++)for(var d=0;c>d;d++)s[h][d]=cn(t[h][d],e[h][d],n[h][d],i[h][d],r,a,o)}function cn(t,e,n,i,r,a,o){var s=.5*(n-t),l=.5*(i-e);return(2*(e-n)+s+l)*o+(-3*(e-n)-2*s-l)*a+s*r+e}function dn(t){if(d(t)){var e=t.length;if(d(t[0])){for(var n=[],i=0;e>i;i++)n.push(l_.call(t[i]));return n}return l_.call(t)}return t}function fn(t){return t[0]=Math.floor(t[0]),t[1]=Math.floor(t[1]),t[2]=Math.floor(t[2]),"rgba("+t.join(",")+")"}function pn(t){var e=t[t.length-1].value;return d(e&&e[0])?2:1}function gn(t,e,n,i,r,a){var o=t._getter,s=t._setter,l="spline"===e,u=i.length;if(u){var h,c=i[0].value,f=d(c),p=!1,g=!1,m=f?pn(i):0;i.sort(function(t,e){return t.time-e.time}),h=i[u-1].time;for(var v=[],y=[],x=i[0].value,_=!0,w=0;u>w;w++){v.push(i[w].time/h);var b=i[w].value;if(f&&un(b,x,m)||!f&&b===x||(_=!1),x=b,"string"==typeof b){var S=je(b);S?(b=S,p=!0):g=!0}y.push(b)}if(a||!_){for(var I=y[u-1],w=0;u-1>w;w++)f?ln(y[w],I,m):!isNaN(y[w])||isNaN(I)||g||p||(y[w]=I);f&&ln(o(t._target,r),I,m);var M,T,C,D,A,L,k=0,P=0;if(p)var N=[0,0,0,0];var E=function(t,e){var n;if(0>e)n=0;else if(P>e){for(M=Math.min(k+1,u-1),n=M;n>=0&&!(v[n]<=e);n--);n=Math.min(n,u-2)}else{for(n=k;u>n&&!(v[n]>e);n++);n=Math.min(n-1,u-2)}k=n,P=e;var i=v[n+1]-v[n];if(0!==i)if(T=(e-v[n])/i,l)if(D=y[n],C=y[0===n?n:n-1],A=y[n>u-2?u-1:n+1],L=y[n>u-3?u-1:n+2],f)hn(C,D,A,L,T,T*T,T*T*T,o(t,r),m);else{var a;if(p)a=hn(C,D,A,L,T,T*T,T*T*T,N,1),a=fn(N);else{if(g)return on(D,A,T);a=cn(C,D,A,L,T,T*T,T*T*T)}s(t,r,a)}else if(f)sn(y[n],y[n+1],T,o(t,r),m);else{var a;if(p)sn(y[n],y[n+1],T,N,1),a=fn(N);else{if(g)return on(y[n],y[n+1],T);a=an(y[n],y[n+1],T)}s(t,r,a)}},O=new Oe({target:t._target,life:h,loop:t._loop,delay:t._delay,onframe:E,ondestroy:n});return e&&"spline"!==e&&(O.easing=e),O}}}function mn(t,e,n,i,r,a,o,s){function l(){h--,h||a&&a()}b(i)?(a=r,r=i,i=0):w(r)?(a=r,r="linear",i=0):w(i)?(a=i,i=0):w(n)?(a=n,n=500):n||(n=500),t.stopAnimation(),vn(t,"",t,e,n,i,s);var u=t.animators.slice(),h=u.length;h||a&&a();for(var c=0;c0&&t.animate(e,!1).when(null==r?500:r,s).delay(a||0)}function yn(t,e,n,i){if(e){var r={};r[e]={},r[e][n]=i,t.attr(r)}else t.attr(n,i)}function xn(t,e,n,i){0>n&&(t+=n,n=-n),0>i&&(e+=i,i=-i),this.x=t,this.y=e,this.width=n,this.height=i}function _n(t){for(var e=0;t>=w_;)e|=1&t,t>>=1;return t+e}function wn(t,e,n,i){var r=e+1;if(r===n)return 1;if(i(t[r++],t[e])<0){for(;n>r&&i(t[r],t[r-1])<0;)r++;bn(t,e,r)}else for(;n>r&&i(t[r],t[r-1])>=0;)r++;return r-e}function bn(t,e,n){for(n--;n>e;){var i=t[e];t[e++]=t[n],t[n--]=i}}function Sn(t,e,n,i,r){for(i===e&&i++;n>i;i++){for(var a,o=t[i],s=e,l=i;l>s;)a=s+l>>>1,r(o,t[a])<0?l=a:s=a+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]=o}}function In(t,e,n,i,r,a){var o=0,s=0,l=1;if(a(t,e[n+r])>0){for(s=i-r;s>l&&a(t,e[n+r+l])>0;)o=l,l=(l<<1)+1,0>=l&&(l=s);l>s&&(l=s),o+=r,l+=r}else{for(s=r+1;s>l&&a(t,e[n+r-l])<=0;)o=l,l=(l<<1)+1,0>=l&&(l=s);l>s&&(l=s);var u=o;o=r-l,l=r-u}for(o++;l>o;){var h=o+(l-o>>>1);a(t,e[n+h])>0?o=h+1:l=h}return l}function Mn(t,e,n,i,r,a){var o=0,s=0,l=1;if(a(t,e[n+r])<0){for(s=r+1;s>l&&a(t,e[n+r-l])<0;)o=l,l=(l<<1)+1,0>=l&&(l=s);l>s&&(l=s);var u=o;o=r-l,l=r-u}else{for(s=i-r;s>l&&a(t,e[n+r+l])>=0;)o=l,l=(l<<1)+1,0>=l&&(l=s);l>s&&(l=s),o+=r,l+=r}for(o++;l>o;){var h=o+(l-o>>>1);a(t,e[n+h])<0?l=h:o=h+1}return l}function Tn(t,e){function n(t,e){l[c]=t,u[c]=e,c+=1}function i(){for(;c>1;){var t=c-2;if(t>=1&&u[t-1]<=u[t]+u[t+1]||t>=2&&u[t-2]<=u[t]+u[t-1])u[t-1]u[t+1])break;a(t)}}function r(){for(;c>1;){var t=c-2;t>0&&u[t-1]=r?o(i,r,a,h):s(i,r,a,h)))}function o(n,i,r,a){var o=0;for(o=0;i>o;o++)d[o]=t[n+o];var s=0,l=r,u=n;if(t[u++]=t[l++],0!==--a){if(1===i){for(o=0;a>o;o++)t[u+o]=t[l+o];return void(t[u+a]=d[s])}for(var c,f,p,g=h;;){c=0,f=0,p=!1;do if(e(t[l],d[s])<0){if(t[u++]=t[l++],f++,c=0,0===--a){p=!0;break}}else if(t[u++]=d[s++],c++,f=0,1===--i){p=!0;break}while(g>(c|f));if(p)break;do{if(c=Mn(t[l],d,s,i,0,e),0!==c){for(o=0;c>o;o++)t[u+o]=d[s+o];if(u+=c,s+=c,i-=c,1>=i){p=!0;break}}if(t[u++]=t[l++],0===--a){p=!0;break}if(f=In(d[s],t,l,a,0,e),0!==f){for(o=0;f>o;o++)t[u+o]=t[l+o];if(u+=f,l+=f,a-=f,0===a){p=!0;break}}if(t[u++]=d[s++],1===--i){p=!0;break}g--}while(c>=b_||f>=b_);if(p)break;0>g&&(g=0),g+=2}if(h=g,1>h&&(h=1),1===i){for(o=0;a>o;o++)t[u+o]=t[l+o];t[u+a]=d[s]}else{if(0===i)throw new Error;for(o=0;i>o;o++)t[u+o]=d[s+o]}}else for(o=0;i>o;o++)t[u+o]=d[s+o]}function s(n,i,r,a){var o=0;for(o=0;a>o;o++)d[o]=t[r+o];var s=n+i-1,l=a-1,u=r+a-1,c=0,f=0;if(t[u--]=t[s--],0!==--i){if(1===a){for(u-=i,s-=i,f=u+1,c=s+1,o=i-1;o>=0;o--)t[f+o]=t[c+o];return void(t[u]=d[l])}for(var p=h;;){var g=0,m=0,v=!1;do if(e(d[l],t[s])<0){if(t[u--]=t[s--],g++,m=0,0===--i){v=!0;break}}else if(t[u--]=d[l--],m++,g=0,1===--a){v=!0;break}while(p>(g|m));if(v)break;do{if(g=i-Mn(d[l],t,n,i,i-1,e),0!==g){for(u-=g,s-=g,i-=g,f=u+1,c=s+1,o=g-1;o>=0;o--)t[f+o]=t[c+o];if(0===i){v=!0;break}}if(t[u--]=d[l--],1===--a){v=!0;break}if(m=a-In(t[s],d,0,a,a-1,e),0!==m){for(u-=m,l-=m,a-=m,f=u+1,c=l+1,o=0;m>o;o++)t[f+o]=d[c+o];if(1>=a){v=!0;break}}if(t[u--]=t[s--],0===--i){v=!0;break}p--}while(g>=b_||m>=b_);if(v)break;0>p&&(p=0),p+=2}if(h=p,1>h&&(h=1),1===a){for(u-=i,s-=i,f=u+1,c=s+1,o=i-1;o>=0;o--)t[f+o]=t[c+o];t[u]=d[l]}else{if(0===a)throw new Error;for(c=u-(a-1),o=0;a>o;o++)t[c+o]=d[o]}}else for(c=u-(a-1),o=0;a>o;o++)t[c+o]=d[o]}var l,u,h=b_,c=0,d=[];l=[],u=[],this.mergeRuns=i,this.forceMergeRuns=r,this.pushRun=n}function Cn(t,e,n,i){n||(n=0),i||(i=t.length);var r=i-n;if(!(2>r)){var a=0;if(w_>r)return a=wn(t,n,i,e),void Sn(t,n,i,n+a,e);var o=new Tn(t,e),s=_n(r);do{if(a=wn(t,n,i,e),s>a){var l=r;l>s&&(l=s),Sn(t,n,n+l,n+a,e),a=l}o.pushRun(n,a),o.mergeRuns(),r-=a,n+=a}while(0!==r);o.forceMergeRuns()}}function Dn(t,e){return t.zlevel===e.zlevel?t.z===e.z?t.z2-e.z2:t.z-e.z:t.zlevel-e.zlevel}function An(t,e,n){var i=null==e.x?0:e.x,r=null==e.x2?1:e.x2,a=null==e.y?0:e.y,o=null==e.y2?0:e.y2;e.global||(i=i*n.width+n.x,r=r*n.width+n.x,a=a*n.height+n.y,o=o*n.height+n.y),i=isNaN(i)?0:i,r=isNaN(r)?1:r,a=isNaN(a)?0:a,o=isNaN(o)?0:o;var s=t.createLinearGradient(i,a,r,o);return s}function Ln(t,e,n){var i=n.width,r=n.height,a=Math.min(i,r),o=null==e.x?.5:e.x,s=null==e.y?.5:e.y,l=null==e.r?.5:e.r;e.global||(o=o*i+n.x,s=s*r+n.y,l*=a);var u=t.createRadialGradient(o,s,0,o,s,l);return u}function kn(){return!1}function Pn(t,e,n){var i=_x(),r=e.getWidth(),a=e.getHeight(),o=i.style;return o&&(o.position="absolute",o.left=0,o.top=0,o.width=r+"px",o.height=a+"px",i.setAttribute("data-zr-dom-id",t)),i.width=r*n,i.height=a*n,i}function Nn(t){if("string"==typeof t){var e=R_.get(t);return e&&e.image}return t}function En(t,e,n,i,r){if(t){if("string"==typeof t){if(e&&e.__zrImageSrc===t||!n)return e;var a=R_.get(t),o={hostEl:n,cb:i,cbPayload:r};return a?(e=a.image,!Rn(e)&&a.pending.push(o)):(e=new Image,e.onload=e.onerror=On,R_.put(t,e.__cachedImgObj={image:e,pending:[o]}),e.src=e.__zrImageSrc=t),e}return t}return e}function On(){var t=this.__cachedImgObj;this.onload=this.onerror=this.__cachedImgObj=null;for(var e=0;ea;a++)r=Math.max(qn(i[a],e).width,r);return B_>V_&&(B_=0,z_={}),B_++,z_[n]=r,r}function Bn(t,e,n,i,r,a,o,s){return o?Gn(t,e,n,i,r,a,o,s):Vn(t,e,n,i,r,a,s)}function Vn(t,e,n,i,r,a,o){var s=Kn(t,e,r,a,o),l=zn(t,e);r&&(l+=r[1]+r[3]);var u=s.outerHeight,h=Fn(0,l,n),c=Wn(0,u,i),d=new xn(h,c,l,u);return d.lineHeight=s.lineHeight,d}function Gn(t,e,n,i,r,a,o,s){var l=$n(t,{rich:o,truncate:s,font:e,textAlign:n,textPadding:r,textLineHeight:a}),u=l.outerWidth,h=l.outerHeight,c=Fn(0,u,n),d=Wn(0,h,i);return new xn(c,d,u,h)}function Fn(t,e,n){return"right"===n?t-=e:"center"===n&&(t-=e/2),t}function Wn(t,e,n){return"middle"===n?t-=e/2:"bottom"===n&&(t-=e),t}function Hn(t,e,n){var i=e.x,r=e.y,a=e.height,o=e.width,s=a/2,l="left",u="top";switch(t){case"left":i-=n,r+=s,l="right",u="middle";break;case"right":i+=n+o,r+=s,u="middle";break;case"top":i+=o/2,r-=n,l="center",u="bottom";break;case"bottom":i+=o/2,r+=a+n,l="center";break;case"inside":i+=o/2,r+=s,l="center",u="middle";break;case"insideLeft":i+=n,r+=s,u="middle";break;case"insideRight":i+=o-n,r+=s,l="right",u="middle";break;case"insideTop":i+=o/2,r+=n,l="center";break;case"insideBottom":i+=o/2,r+=a-n,l="center",u="bottom";break;case"insideTopLeft":i+=n,r+=n;break;case"insideTopRight":i+=o-n,r+=n,l="right";break;case"insideBottomLeft":i+=n,r+=a-n,u="bottom";break;case"insideBottomRight":i+=o-n,r+=a-n,l="right",u="bottom"}return{x:i,y:r,textAlign:l,textVerticalAlign:u}}function Xn(t,e,n,i,r){if(!e)return"";var a=(t+"").split("\n");r=Yn(e,n,i,r);for(var o=0,s=a.length;s>o;o++)a[o]=jn(a[o],r);return a.join("\n")}function Yn(t,e,n,i){i=o({},i),i.font=e;var n=A(n,"...");i.maxIterations=A(i.maxIterations,2);var r=i.minChar=A(i.minChar,0);i.cnCharWidth=zn("国",e);var a=i.ascCharWidth=zn("a",e);i.placeholder=A(i.placeholder,"");for(var s=t=Math.max(0,t-1),l=0;r>l&&s>=a;l++)s-=a;var u=zn(n,e);return u>s&&(n="",u=0),s=t-u,i.ellipsis=n,i.ellipsisWidth=u,i.contentWidth=s,i.containerWidth=t,i}function jn(t,e){var n=e.containerWidth,i=e.font,r=e.contentWidth;if(!n)return"";var a=zn(t,i);if(n>=a)return t;for(var o=0;;o++){if(r>=a||o>=e.maxIterations){t+=e.ellipsis;break}var s=0===o?Zn(t,r,e.ascCharWidth,e.cnCharWidth):a>0?Math.floor(t.length*r/a):0;t=t.substr(0,s),a=zn(t,i)}return""===t&&(t=e.placeholder),t}function Zn(t,e,n,i){for(var r=0,a=0,o=t.length;o>a&&e>r;a++){var s=t.charCodeAt(a);r+=s>=0&&127>=s?n:i}return a}function Un(t){return zn("国",t)}function qn(t,e){return W_.measureText(t,e)}function Kn(t,e,n,i,r){null!=t&&(t+="");var a=A(i,Un(e)),o=t?t.split("\n"):[],s=o.length*a,l=s;if(n&&(l+=n[0]+n[2]),t&&r){var u=r.outerHeight,h=r.outerWidth;if(null!=u&&l>u)t="",o=[];else if(null!=h)for(var c=Yn(h-(n?n[1]+n[3]:0),e,r.ellipsis,{minChar:r.minChar,placeholder:r.placeholder}),d=0,f=o.length;f>d;d++)o[d]=jn(o[d],c)}return{lines:o,height:s,outerHeight:l,lineHeight:a}}function $n(t,e){var n={lines:[],width:0,height:0};if(null!=t&&(t+=""),!t)return n;for(var i,r=G_.lastIndex=0;null!=(i=G_.exec(t));){var a=i.index;a>r&&Jn(n,t.substring(r,a)),Jn(n,i[2],i[1]),r=G_.lastIndex}rf)return{lines:[],width:0,height:0};x.textWidth=zn(x.text,b);var I=_.textWidth,M=null==I||"auto"===I;if("string"==typeof I&&"%"===I.charAt(I.length-1))x.percentWidth=I,u.push(x),I=0;else{if(M){I=x.textWidth;var T=_.textBackgroundColor,C=T&&T.image;C&&(C=Nn(C),Rn(C)&&(I=Math.max(I,C.width*S/C.height)))}var D=w?w[1]+w[3]:0;I+=D;var k=null!=d?d-v:null;null!=k&&I>k&&(!M||D>k?(x.text="",x.textWidth=I=0):(x.text=Xn(x.text,k-D,b,c.ellipsis,{minChar:c.minChar}),x.textWidth=zn(x.text,b),I=x.textWidth+D))}v+=x.width=I,_&&(m=Math.max(m,x.lineHeight))}g.width=v,g.lineHeight=m,s+=m,l=Math.max(l,v)}n.outerWidth=n.width=A(e.textWidth,l),n.outerHeight=n.height=A(e.textHeight,s),h&&(n.outerWidth+=h[1]+h[3],n.outerHeight+=h[0]+h[2]);for(var p=0;pl&&(o+=l,l=-l),0>u&&(s+=u,u=-u),"number"==typeof h?n=i=r=a=h:h instanceof Array?1===h.length?n=i=r=a=h[0]:2===h.length?(n=r=h[0],i=a=h[1]):3===h.length?(n=h[0],i=a=h[1],r=h[2]):(n=h[0],i=h[1],r=h[2],a=h[3]):n=i=r=a=0;var c;n+i>l&&(c=n+i,n*=l/c,i*=l/c),r+a>l&&(c=r+a,r*=l/c,a*=l/c),i+r>u&&(c=i+r,i*=u/c,r*=u/c),n+a>u&&(c=n+a,n*=u/c,a*=u/c),t.moveTo(o+n,s),t.lineTo(o+l-i,s),0!==i&&t.arc(o+l-i,s+i,i,-Math.PI/2,0),t.lineTo(o+l,s+u-r),0!==r&&t.arc(o+l-r,s+u-r,r,0,Math.PI/2),t.lineTo(o+a,s+u),0!==a&&t.arc(o+a,s+u-a,a,Math.PI/2,Math.PI),t.lineTo(o,s+n),0!==n&&t.arc(o+n,s+n,n,Math.PI,1.5*Math.PI)}function ei(t){return ni(t),f(t.rich,ni),t}function ni(t){if(t){t.font=Qn(t);var e=t.textAlign;"middle"===e&&(e="center"),t.textAlign=null==e||X_[e]?e:"left";var n=t.textVerticalAlign||t.textBaseline;"center"===n&&(n="middle"),t.textVerticalAlign=null==n||Y_[n]?n:"top";var i=t.textPadding;i&&(t.textPadding=P(t.textPadding))}}function ii(t,e,n,i,r,a){i.rich?ai(t,e,n,i,r,a):ri(t,e,n,i,r,a)}function ri(t,e,n,i,r,a){var o,s=ui(i),l=!1,u=e.__attrCachedBy===T_.PLAIN_TEXT;a!==C_?(a&&(o=a.style,l=!s&&u&&o),e.__attrCachedBy=s?T_.NONE:T_.PLAIN_TEXT):u&&(e.__attrCachedBy=T_.NONE);var h=i.font||H_;l&&h===(o.font||H_)||(e.font=h);var c=t.__computedFont;t.__styleFont!==h&&(t.__styleFont=h,c=t.__computedFont=e.font);var d=i.textPadding,f=i.textLineHeight,p=t.__textCotentBlock;(!p||t.__dirtyText)&&(p=t.__textCotentBlock=Kn(n,c,d,f,i.truncate));var g=p.outerHeight,m=p.lines,v=p.lineHeight,y=di(g,i,r),x=y.baseX,_=y.baseY,w=y.textAlign||"left",b=y.textVerticalAlign;si(e,i,r,x,_);var S=Wn(_,g,b),I=x,M=S;if(s||d){var T=zn(n,c),C=T;d&&(C+=d[1]+d[3]);var D=Fn(x,C,w);s&&hi(t,e,i,D,S,C,g),d&&(I=vi(x,w,d),M+=d[0])}e.textAlign=w,e.textBaseline="middle",e.globalAlpha=i.opacity||1;for(var A=0;AT&&(_=b[T],!_.textAlign||"left"===_.textAlign);)li(t,e,_,i,I,v,C,"left"),M-=_.width,C+=_.width,T++;for(;A>=0&&(_=b[A],"right"===_.textAlign);)li(t,e,_,i,I,v,D,"right"),M-=_.width,D-=_.width,A--;for(C+=(a-(C-m)-(y-D)-M)/2;A>=T;)_=b[T],li(t,e,_,i,I,v,C+_.width/2,"center"),C+=_.width,T++;v+=I}}function si(t,e,n,i,r){if(n&&e.textRotation){var a=e.textOrigin;"center"===a?(i=n.width/2+n.x,r=n.height/2+n.y):a&&(i=a[0]+n.x,r=a[1]+n.y),t.translate(i,r),t.rotate(-e.textRotation),t.translate(-i,-r)}}function li(t,e,n,i,r,a,o,s){var l=i.rich[n.styleName]||{};l.text=n.text;var u=n.textVerticalAlign,h=a+r/2;"top"===u?h=a+n.height/2:"bottom"===u&&(h=a+r-n.height/2),!n.isLineHolder&&ui(l)&&hi(t,e,l,"right"===s?o-n.width:"center"===s?o-n.width/2:o,h-n.height/2,n.width,n.height);var c=n.textPadding;c&&(o=vi(o,s,c),h-=n.height/2-c[2]-n.textHeight/2),fi(e,"shadowBlur",L(l.textShadowBlur,i.textShadowBlur,0)),fi(e,"shadowColor",l.textShadowColor||i.textShadowColor||"transparent"),fi(e,"shadowOffsetX",L(l.textShadowOffsetX,i.textShadowOffsetX,0)),fi(e,"shadowOffsetY",L(l.textShadowOffsetY,i.textShadowOffsetY,0)),fi(e,"textAlign",s),fi(e,"textBaseline","middle"),fi(e,"font",n.font||H_);var d=pi(l.textStroke||i.textStroke,p),f=gi(l.textFill||i.textFill),p=A(l.textStrokeWidth,i.textStrokeWidth);d&&(fi(e,"lineWidth",p),fi(e,"strokeStyle",d),e.strokeText(n.text,o,h)),f&&(fi(e,"fillStyle",f),e.fillText(n.text,o,h))}function ui(t){return!!(t.textBackgroundColor||t.textBorderWidth&&t.textBorderColor)}function hi(t,e,n,i,r,a,o){var s=n.textBackgroundColor,l=n.textBorderWidth,u=n.textBorderColor,h=b(s);if(fi(e,"shadowBlur",n.textBoxShadowBlur||0),fi(e,"shadowColor",n.textBoxShadowColor||"transparent"),fi(e,"shadowOffsetX",n.textBoxShadowOffsetX||0),fi(e,"shadowOffsetY",n.textBoxShadowOffsetY||0),h||l&&u){e.beginPath();var c=n.textBorderRadius;c?ti(e,{x:i,y:r,width:a,height:o,r:c}):e.rect(i,r,a,o),e.closePath()}if(h)if(fi(e,"fillStyle",s),null!=n.fillOpacity){var d=e.globalAlpha;e.globalAlpha=n.fillOpacity*n.opacity,e.fill(),e.globalAlpha=d}else e.fill();else if(S(s)){var f=s.image;f=En(f,null,t,ci,s),f&&Rn(f)&&e.drawImage(f,i,r,a,o)}if(l&&u)if(fi(e,"lineWidth",l),fi(e,"strokeStyle",u),null!=n.strokeOpacity){var d=e.globalAlpha;e.globalAlpha=n.strokeOpacity*n.opacity,e.stroke(),e.globalAlpha=d}else e.stroke()}function ci(t,e){e.image=t}function di(t,e,n){var i=e.x||0,r=e.y||0,a=e.textAlign,o=e.textVerticalAlign;if(n){var s=e.textPosition;if(s instanceof Array)i=n.x+mi(s[0],n.width),r=n.y+mi(s[1],n.height);else{var l=Hn(s,n,e.textDistance);i=l.x,r=l.y,a=a||l.textAlign,o=o||l.textVerticalAlign}var u=e.textOffset;u&&(i+=u[0],r+=u[1])}return{baseX:i,baseY:r,textAlign:a,textVerticalAlign:o}}function fi(t,e,n){return t[e]=M_(t,e,n),t[e] +}function pi(t,e){return null==t||0>=e||"transparent"===t||"none"===t?null:t.image||t.colorStops?"#000":t}function gi(t){return null==t||"none"===t?null:t.image||t.colorStops?"#000":t}function mi(t,e){return"string"==typeof t?t.lastIndexOf("%")>=0?parseFloat(t)/100*e:parseFloat(t):t}function vi(t,e,n){return"right"===e?t-n[1]:"center"===e?t+n[3]/2-n[1]/2:t+n[3]}function yi(t,e){return null!=t&&(t||e.textBackgroundColor||e.textBorderWidth&&e.textBorderColor||e.textPadding)}function xi(t){t=t||{},m_.call(this,t);for(var e in t)t.hasOwnProperty(e)&&"style"!==e&&(this[e]=t[e]);this.style=new A_(t.style,this),this._rect=null,this.__clipPaths=[]}function _i(t){xi.call(this,t)}function wi(t){return parseInt(t,10)}function bi(t){return t?t.__builtin__?!0:"function"!=typeof t.resize||"function"!=typeof t.refresh?!1:!0:!1}function Si(t,e,n){return Q_.copy(t.getBoundingRect()),t.transform&&Q_.applyTransform(t.transform),tw.width=e,tw.height=n,!Q_.intersect(tw)}function Ii(t,e){if(t===e)return!1;if(!t||!e||t.length!==e.length)return!0;for(var n=0;ni;i++){var a=n[i];!t.emphasis[e].hasOwnProperty(a)&&t[e].hasOwnProperty(a)&&(t.emphasis[e][a]=t[e][a])}}}function Vi(t){return!vw(t)||yw(t)||t instanceof Date?t:t.value}function Gi(t){return vw(t)&&!(t instanceof Array)}function Fi(t,e){e=(e||[]).slice();var n=p(t||[],function(t){return{exist:t}});return mw(e,function(t,i){if(vw(t)){for(var r=0;r=n.length&&n.push({option:t})}}),n}function Wi(t){var e=B();mw(t,function(t){var n=t.exist;n&&e.set(n.id,t)}),mw(t,function(t){var n=t.option;N(!n||null==n.id||!e.get(n.id)||e.get(n.id)===t,"id duplicates: "+(n&&n.id)),n&&null!=n.id&&e.set(n.id,t),!t.keyInfo&&(t.keyInfo={})}),mw(t,function(t,n){var i=t.exist,r=t.option,a=t.keyInfo;if(vw(r)){if(a.name=null!=r.name?r.name+"":i?i.name:xw+n,i)a.id=i.id;else if(null!=r.id)a.id=r.id+"";else{var o=0;do a.id="\x00"+a.name+"\x00"+o++;while(e.get(a.id))}e.set(a.id,t)}})}function Hi(t){var e=t.name;return!(!e||!e.indexOf(xw))}function Xi(t){return vw(t)&&t.id&&0===(t.id+"").indexOf("\x00_ec_\x00")}function Yi(t,e){return null!=e.dataIndexInside?e.dataIndexInside:null!=e.dataIndex?_(e.dataIndex)?p(e.dataIndex,function(e){return t.indexOfRawIndex(e)}):t.indexOfRawIndex(e.dataIndex):null!=e.name?_(e.name)?p(e.name,function(e){return t.indexOfName(e)}):t.indexOfName(e.name):void 0}function ji(){var t="__\x00ec_inner_"+ww++ +"_"+Math.random().toFixed(5);return function(e){return e[t]||(e[t]={})}}function Zi(t,e,n){if(b(e)){var i={};i[e+"Index"]=0,e=i}var r=n&&n.defaultMainType;!r||Ui(e,r+"Index")||Ui(e,r+"Id")||Ui(e,r+"Name")||(e[r+"Index"]=0);var a={};return mw(e,function(i,r){var i=e[r];if("dataIndex"===r||"dataIndexInside"===r)return void(a[r]=i);var o=r.match(/^(\w+)(Index|Id|Name)$/)||[],s=o[1],l=(o[2]||"").toLowerCase();if(!(!s||!l||null==i||"index"===l&&"none"===i||n&&n.includeMainTypes&&u(n.includeMainTypes,s)<0)){var h={mainType:s};("index"!==l||"all"!==i)&&(h[l]=i);var c=t.queryComponents(h);a[s+"Models"]=c,a[s+"Model"]=c[0]}}),a}function Ui(t,e){return t&&t.hasOwnProperty(e)}function qi(t,e,n){t.setAttribute?t.setAttribute(e,n):t[e]=n}function Ki(t,e){return t.getAttribute?t.getAttribute(e):t[e]}function $i(t){return"auto"===t?ux.domSupported?"html":"richText":t||"html"}function Ji(t,e){var n=B(),i=[];return f(t,function(t){var r=e(t);(n.get(r)||(i.push(r),n.set(r,[]))).push(t)}),{keys:i,buckets:n}}function Qi(t){var e={main:"",sub:""};return t&&(t=t.split(bw),e.main=t[0]||"",e.sub=t[1]||""),e}function tr(t){N(/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)?$/.test(t),'componentType "'+t+'" illegal')}function er(t){t.$constructor=t,t.extend=function(t){var e=this,n=function(){t.$constructor?t.$constructor.apply(this,arguments):e.apply(this,arguments)};return o(n.prototype,t),n.extend=this.extend,n.superCall=ir,n.superApply=rr,h(n,this),n.superClass=e,n}}function nr(t){var e=["__\x00is_clz",Iw++,Math.random().toFixed(3)].join("_");t.prototype[e]=!0,t.isInstance=function(t){return!(!t||!t[e])}}function ir(t,e){var n=k(arguments,2);return this.superClass.prototype[e].apply(t,n)}function rr(t,e,n){return this.superClass.prototype[e].apply(t,n)}function ar(t,e){function n(t){var e=i[t.main];return e&&e[Sw]||(e=i[t.main]={},e[Sw]=!0),e}e=e||{};var i={};if(t.registerClass=function(t,e){if(e)if(tr(e),e=Qi(e),e.sub){if(e.sub!==Sw){var r=n(e);r[e.sub]=t}}else i[e.main]=t;return t},t.getClass=function(t,e,n){var r=i[t];if(r&&r[Sw]&&(r=e?r[e]:null),n&&!r)throw new Error(e?"Component "+t+"."+(e||"")+" not exists. Load it first.":t+".type should be specified.");return r},t.getClassesByMainType=function(t){t=Qi(t);var e=[],n=i[t.main];return n&&n[Sw]?f(n,function(t,n){n!==Sw&&e.push(t)}):e.push(n),e},t.hasClass=function(t){return t=Qi(t),!!i[t.main]},t.getAllClassMainTypes=function(){var t=[];return f(i,function(e,n){t.push(n)}),t},t.hasSubTypes=function(t){t=Qi(t);var e=i[t.main];return e&&e[Sw]},t.parseClassType=Qi,e.registerWhenExtend){var r=t.extend;r&&(t.extend=function(e){var n=r.call(this,e);return t.registerClass(n,e.type)})}return t}function or(t){return t>-Pw&&Pw>t}function sr(t){return t>Pw||-Pw>t}function lr(t,e,n,i,r){var a=1-r;return a*a*(a*t+3*r*e)+r*r*(r*i+3*a*n)}function ur(t,e,n,i,r){var a=1-r;return 3*(((e-t)*a+2*(n-e)*r)*a+(i-n)*r*r)}function hr(t,e,n,i,r,a){var o=i+3*(e-n)-t,s=3*(n-2*e+t),l=3*(e-t),u=t-r,h=s*s-3*o*l,c=s*l-9*o*u,d=l*l-3*s*u,f=0;if(or(h)&&or(c))if(or(s))a[0]=0;else{var p=-l/s;p>=0&&1>=p&&(a[f++]=p)}else{var g=c*c-4*h*d;if(or(g)){var m=c/h,p=-s/o+m,v=-m/2;p>=0&&1>=p&&(a[f++]=p),v>=0&&1>=v&&(a[f++]=v)}else if(g>0){var y=kw(g),x=h*s+1.5*o*(-c+y),_=h*s+1.5*o*(-c-y);x=0>x?-Lw(-x,Ow):Lw(x,Ow),_=0>_?-Lw(-_,Ow):Lw(_,Ow);var p=(-s-(x+_))/(3*o);p>=0&&1>=p&&(a[f++]=p)}else{var w=(2*h*s-3*o*c)/(2*kw(h*h*h)),b=Math.acos(w)/3,S=kw(h),I=Math.cos(b),p=(-s-2*S*I)/(3*o),v=(-s+S*(I+Ew*Math.sin(b)))/(3*o),M=(-s+S*(I-Ew*Math.sin(b)))/(3*o);p>=0&&1>=p&&(a[f++]=p),v>=0&&1>=v&&(a[f++]=v),M>=0&&1>=M&&(a[f++]=M)}}return f}function cr(t,e,n,i,r){var a=6*n-12*e+6*t,o=9*e+3*i-3*t-9*n,s=3*e-3*t,l=0;if(or(o)){if(sr(a)){var u=-s/a;u>=0&&1>=u&&(r[l++]=u)}}else{var h=a*a-4*o*s;if(or(h))r[0]=-a/(2*o);else if(h>0){var c=kw(h),u=(-a+c)/(2*o),d=(-a-c)/(2*o);u>=0&&1>=u&&(r[l++]=u),d>=0&&1>=d&&(r[l++]=d)}}return l}function dr(t,e,n,i,r,a){var o=(e-t)*r+t,s=(n-e)*r+e,l=(i-n)*r+n,u=(s-o)*r+o,h=(l-s)*r+s,c=(h-u)*r+u;a[0]=t,a[1]=o,a[2]=u,a[3]=c,a[4]=c,a[5]=h,a[6]=l,a[7]=i}function fr(t,e,n,i,r,a,o,s,l,u,h){var c,d,f,p,g,m=.005,v=1/0;Rw[0]=l,Rw[1]=u;for(var y=0;1>y;y+=.05)zw[0]=lr(t,n,r,o,y),zw[1]=lr(e,i,a,s,y),p=Ax(Rw,zw),v>p&&(c=y,v=p);v=1/0;for(var x=0;32>x&&!(Nw>m);x++)d=c-m,f=c+m,zw[0]=lr(t,n,r,o,d),zw[1]=lr(e,i,a,s,d),p=Ax(zw,Rw),d>=0&&v>p?(c=d,v=p):(Bw[0]=lr(t,n,r,o,f),Bw[1]=lr(e,i,a,s,f),g=Ax(Bw,Rw),1>=f&&v>g?(c=f,v=g):m*=.5);return h&&(h[0]=lr(t,n,r,o,c),h[1]=lr(e,i,a,s,c)),kw(v)}function pr(t,e,n,i){var r=1-i;return r*(r*t+2*i*e)+i*i*n}function gr(t,e,n,i){return 2*((1-i)*(e-t)+i*(n-e))}function mr(t,e,n,i,r){var a=t-2*e+n,o=2*(e-t),s=t-i,l=0;if(or(a)){if(sr(o)){var u=-s/o;u>=0&&1>=u&&(r[l++]=u)}}else{var h=o*o-4*a*s;if(or(h)){var u=-o/(2*a);u>=0&&1>=u&&(r[l++]=u)}else if(h>0){var c=kw(h),u=(-o+c)/(2*a),d=(-o-c)/(2*a);u>=0&&1>=u&&(r[l++]=u),d>=0&&1>=d&&(r[l++]=d)}}return l}function vr(t,e,n){var i=t+n-2*e;return 0===i?.5:(t-e)/i}function yr(t,e,n,i,r){var a=(e-t)*i+t,o=(n-e)*i+e,s=(o-a)*i+a;r[0]=t,r[1]=a,r[2]=s,r[3]=s,r[4]=o,r[5]=n}function xr(t,e,n,i,r,a,o,s,l){var u,h=.005,c=1/0;Rw[0]=o,Rw[1]=s;for(var d=0;1>d;d+=.05){zw[0]=pr(t,n,r,d),zw[1]=pr(e,i,a,d);var f=Ax(Rw,zw);c>f&&(u=d,c=f)}c=1/0;for(var p=0;32>p&&!(Nw>h);p++){var g=u-h,m=u+h;zw[0]=pr(t,n,r,g),zw[1]=pr(e,i,a,g);var f=Ax(zw,Rw);if(g>=0&&c>f)u=g,c=f;else{Bw[0]=pr(t,n,r,m),Bw[1]=pr(e,i,a,m);var v=Ax(Bw,Rw);1>=m&&c>v?(u=m,c=v):h*=.5}}return l&&(l[0]=pr(t,n,r,u),l[1]=pr(e,i,a,u)),kw(c)}function _r(t,e,n){if(0!==t.length){var i,r=t[0],a=r[0],o=r[0],s=r[1],l=r[1];for(i=1;ih;h++){var p=d(t,n,r,o,Zw[h]);l[0]=Vw(p,l[0]),u[0]=Gw(p,u[0])}for(f=c(e,i,a,s,Uw),h=0;f>h;h++){var g=d(e,i,a,s,Uw[h]);l[1]=Vw(g,l[1]),u[1]=Gw(g,u[1])}l[0]=Vw(t,l[0]),u[0]=Gw(t,u[0]),l[0]=Vw(o,l[0]),u[0]=Gw(o,u[0]),l[1]=Vw(e,l[1]),u[1]=Gw(e,u[1]),l[1]=Vw(s,l[1]),u[1]=Gw(s,u[1])}function Sr(t,e,n,i,r,a,o,s){var l=vr,u=pr,h=Gw(Vw(l(t,n,r),1),0),c=Gw(Vw(l(e,i,a),1),0),d=u(t,n,r,h),f=u(e,i,a,c);o[0]=Vw(t,r,d),o[1]=Vw(e,a,f),s[0]=Gw(t,r,d),s[1]=Gw(e,a,f)}function Ir(t,e,n,i,r,a,o,s,l){var u=oe,h=se,c=Math.abs(r-a);if(1e-4>c%Hw&&c>1e-4)return s[0]=t-n,s[1]=e-i,l[0]=t+n,void(l[1]=e+i);if(Xw[0]=Ww(r)*n+t,Xw[1]=Fw(r)*i+e,Yw[0]=Ww(a)*n+t,Yw[1]=Fw(a)*i+e,u(s,Xw,Yw),h(l,Xw,Yw),r%=Hw,0>r&&(r+=Hw),a%=Hw,0>a&&(a+=Hw),r>a&&!o?a+=Hw:a>r&&o&&(r+=Hw),o){var d=a;a=r,r=d}for(var f=0;a>f;f+=Math.PI/2)f>r&&(jw[0]=Ww(f)*n+t,jw[1]=Fw(f)*i+e,u(s,jw,s),h(l,jw,l))}function Mr(t,e,n,i,r,a,o){if(0===r)return!1;var s=r,l=0,u=t;if(o>e+s&&o>i+s||e-s>o&&i-s>o||a>t+s&&a>n+s||t-s>a&&n-s>a)return!1;if(t===n)return Math.abs(a-t)<=s/2;l=(e-i)/(t-n),u=(t*i-n*e)/(t-n);var h=l*a-o+u,c=h*h/(l*l+1);return s/2*s/2>=c}function Tr(t,e,n,i,r,a,o,s,l,u,h){if(0===l)return!1;var c=l;if(h>e+c&&h>i+c&&h>a+c&&h>s+c||e-c>h&&i-c>h&&a-c>h&&s-c>h||u>t+c&&u>n+c&&u>r+c&&u>o+c||t-c>u&&n-c>u&&r-c>u&&o-c>u)return!1;var d=fr(t,e,n,i,r,a,o,s,u,h,null);return c/2>=d}function Cr(t,e,n,i,r,a,o,s,l){if(0===o)return!1;var u=o;if(l>e+u&&l>i+u&&l>a+u||e-u>l&&i-u>l&&a-u>l||s>t+u&&s>n+u&&s>r+u||t-u>s&&n-u>s&&r-u>s)return!1;var h=xr(t,e,n,i,r,a,s,l,null);return u/2>=h}function Dr(t){return t%=lb,0>t&&(t+=lb),t}function Ar(t,e,n,i,r,a,o,s,l){if(0===o)return!1;var u=o;s-=t,l-=e;var h=Math.sqrt(s*s+l*l);if(h-u>n||n>h+u)return!1;if(Math.abs(i-r)%ub<1e-4)return!0;if(a){var c=i;i=Dr(r),r=Dr(c)}else i=Dr(i),r=Dr(r);i>r&&(r+=ub);var d=Math.atan2(l,s);return 0>d&&(d+=ub),d>=i&&r>=d||d+ub>=i&&r>=d+ub}function Lr(t,e,n,i,r,a){if(a>e&&a>i||e>a&&i>a)return 0;if(i===e)return 0;var o=e>i?1:-1,s=(a-e)/(i-e);(1===s||0===s)&&(o=e>i?.5:-.5);var l=s*(n-t)+t;return l===r?1/0:l>r?o:0}function kr(t,e){return Math.abs(t-e)e&&u>i&&u>a&&u>s||e>u&&i>u&&a>u&&s>u)return 0;var h=hr(e,i,a,s,u,fb);if(0===h)return 0;for(var c,d,f=0,p=-1,g=0;h>g;g++){var m=fb[g],v=0===m||1===m?.5:1,y=lr(t,n,r,o,m);l>y||(0>p&&(p=cr(e,i,a,s,pb),pb[1]1&&Pr(),c=lr(e,i,a,s,pb[0]),p>1&&(d=lr(e,i,a,s,pb[1]))),f+=2===p?mc?v:-v:md?v:-v:d>s?v:-v:mc?v:-v:c>s?v:-v)}return f}function Er(t,e,n,i,r,a,o,s){if(s>e&&s>i&&s>a||e>s&&i>s&&a>s)return 0;var l=mr(e,i,a,s,fb);if(0===l)return 0;var u=vr(e,i,a);if(u>=0&&1>=u){for(var h=0,c=pr(e,i,a,u),d=0;l>d;d++){var f=0===fb[d]||1===fb[d]?.5:1,p=pr(t,n,r,fb[d]);o>p||(h+=fb[d]c?f:-f:c>a?f:-f)}return h}var f=0===fb[0]||1===fb[0]?.5:1,p=pr(t,n,r,fb[0]);return o>p?0:e>a?f:-f}function Or(t,e,n,i,r,a,o,s){if(s-=e,s>n||-n>s)return 0;var l=Math.sqrt(n*n-s*s);fb[0]=-l,fb[1]=l;var u=Math.abs(i-r);if(1e-4>u)return 0;if(1e-4>u%cb){i=0,r=cb;var h=a?1:-1;return o>=fb[0]+t&&o<=fb[1]+t?h:0}if(a){var l=i;i=Dr(r),r=Dr(l)}else i=Dr(i),r=Dr(r);i>r&&(r+=cb);for(var c=0,d=0;2>d;d++){var f=fb[d];if(f+t>o){var p=Math.atan2(s,f),h=a?1:-1;0>p&&(p=cb+p),(p>=i&&r>=p||p+cb>=i&&r>=p+cb)&&(p>Math.PI/2&&p<1.5*Math.PI&&(h=-h),c+=h)}}return c}function Rr(t,e,n,i,r){for(var a=0,o=0,s=0,l=0,u=0,h=0;h1&&(n||(a+=Lr(o,s,l,u,i,r))),1===h&&(o=t[h],s=t[h+1],l=o,u=s),c){case hb.M:l=t[h++],u=t[h++],o=l,s=u;break;case hb.L:if(n){if(Mr(o,s,t[h],t[h+1],e,i,r))return!0}else a+=Lr(o,s,t[h],t[h+1],i,r)||0;o=t[h++],s=t[h++];break;case hb.C:if(n){if(Tr(o,s,t[h++],t[h++],t[h++],t[h++],t[h],t[h+1],e,i,r))return!0}else a+=Nr(o,s,t[h++],t[h++],t[h++],t[h++],t[h],t[h+1],i,r)||0;o=t[h++],s=t[h++];break;case hb.Q:if(n){if(Cr(o,s,t[h++],t[h++],t[h],t[h+1],e,i,r))return!0}else a+=Er(o,s,t[h++],t[h++],t[h],t[h+1],i,r)||0;o=t[h++],s=t[h++];break;case hb.A:var d=t[h++],f=t[h++],p=t[h++],g=t[h++],m=t[h++],v=t[h++];h+=1;var y=1-t[h++],x=Math.cos(m)*p+d,_=Math.sin(m)*g+f;h>1?a+=Lr(o,s,x,_,i,r):(l=x,u=_);var w=(i-d)*g/p+d;if(n){if(Ar(d,f,g,m,m+v,y,e,w,r))return!0}else a+=Or(d,f,g,m,m+v,y,w,r);o=Math.cos(m+v)*p+d,s=Math.sin(m+v)*g+f;break;case hb.R:l=o=t[h++],u=s=t[h++];var b=t[h++],S=t[h++],x=l+b,_=u+S;if(n){if(Mr(l,u,x,u,e,i,r)||Mr(x,u,x,_,e,i,r)||Mr(x,_,l,_,e,i,r)||Mr(l,_,l,u,e,i,r))return!0}else a+=Lr(x,u,x,_,i,r),a+=Lr(l,_,l,u,i,r);break;case hb.Z:if(n){if(Mr(o,s,l,u,e,i,r))return!0}else a+=Lr(o,s,l,u,i,r);o=l,s=u}}return n||kr(s,u)||(a+=Lr(o,s,l,u,i,r)||0),0!==a}function zr(t,e,n){return Rr(t,0,!1,e,n)}function Br(t,e,n,i){return Rr(t,e,!0,n,i)}function Vr(t){xi.call(this,t),this.path=null}function Gr(t,e,n,i,r,a,o,s,l,u,h){var c=l*(Tb/180),d=Mb(c)*(t-n)/2+Ib(c)*(e-i)/2,f=-1*Ib(c)*(t-n)/2+Mb(c)*(e-i)/2,p=d*d/(o*o)+f*f/(s*s);p>1&&(o*=Sb(p),s*=Sb(p));var g=(r===a?-1:1)*Sb((o*o*s*s-o*o*f*f-s*s*d*d)/(o*o*f*f+s*s*d*d))||0,m=g*o*f/s,v=g*-s*d/o,y=(t+n)/2+Mb(c)*m-Ib(c)*v,x=(e+i)/2+Ib(c)*m+Mb(c)*v,_=Ab([1,0],[(d-m)/o,(f-v)/s]),w=[(d-m)/o,(f-v)/s],b=[(-1*d-m)/o,(-1*f-v)/s],S=Ab(w,b);Db(w,b)<=-1&&(S=Tb),Db(w,b)>=1&&(S=0),0===a&&S>0&&(S-=2*Tb),1===a&&0>S&&(S+=2*Tb),h.addData(u,y,x,o,s,_,S,c,a)}function Fr(t){if(!t)return new sb;for(var e,n=0,i=0,r=n,a=i,o=new sb,s=sb.CMD,l=t.match(Lb),u=0;ug;g++)f[g]=parseFloat(f[g]);for(var m=0;p>m;){var v,y,x,_,w,b,S,I=n,M=i;switch(d){case"l":n+=f[m++],i+=f[m++],h=s.L,o.addData(h,n,i);break;case"L":n=f[m++],i=f[m++],h=s.L,o.addData(h,n,i);break;case"m":n+=f[m++],i+=f[m++],h=s.M,o.addData(h,n,i),r=n,a=i,d="l";break;case"M":n=f[m++],i=f[m++],h=s.M,o.addData(h,n,i),r=n,a=i,d="L";break;case"h":n+=f[m++],h=s.L,o.addData(h,n,i);break;case"H":n=f[m++],h=s.L,o.addData(h,n,i);break;case"v":i+=f[m++],h=s.L,o.addData(h,n,i);break;case"V":i=f[m++],h=s.L,o.addData(h,n,i);break;case"C":h=s.C,o.addData(h,f[m++],f[m++],f[m++],f[m++],f[m++],f[m++]),n=f[m-2],i=f[m-1];break;case"c":h=s.C,o.addData(h,f[m++]+n,f[m++]+i,f[m++]+n,f[m++]+i,f[m++]+n,f[m++]+i),n+=f[m-2],i+=f[m-1];break;case"S":v=n,y=i;var T=o.len(),C=o.data;e===s.C&&(v+=n-C[T-4],y+=i-C[T-3]),h=s.C,I=f[m++],M=f[m++],n=f[m++],i=f[m++],o.addData(h,v,y,I,M,n,i);break;case"s":v=n,y=i;var T=o.len(),C=o.data;e===s.C&&(v+=n-C[T-4],y+=i-C[T-3]),h=s.C,I=n+f[m++],M=i+f[m++],n+=f[m++],i+=f[m++],o.addData(h,v,y,I,M,n,i);break;case"Q":I=f[m++],M=f[m++],n=f[m++],i=f[m++],h=s.Q,o.addData(h,I,M,n,i);break;case"q":I=f[m++]+n,M=f[m++]+i,n+=f[m++],i+=f[m++],h=s.Q,o.addData(h,I,M,n,i);break;case"T":v=n,y=i;var T=o.len(),C=o.data;e===s.Q&&(v+=n-C[T-4],y+=i-C[T-3]),n=f[m++],i=f[m++],h=s.Q,o.addData(h,v,y,n,i);break;case"t":v=n,y=i;var T=o.len(),C=o.data;e===s.Q&&(v+=n-C[T-4],y+=i-C[T-3]),n+=f[m++],i+=f[m++],h=s.Q,o.addData(h,v,y,n,i);break;case"A":x=f[m++],_=f[m++],w=f[m++],b=f[m++],S=f[m++],I=n,M=i,n=f[m++],i=f[m++],h=s.A,Gr(I,M,n,i,b,S,x,_,w,h,o);break;case"a":x=f[m++],_=f[m++],w=f[m++],b=f[m++],S=f[m++],I=n,M=i,n+=f[m++],i+=f[m++],h=s.A,Gr(I,M,n,i,b,S,x,_,w,h,o)}}("z"===d||"Z"===d)&&(h=s.Z,o.addData(h),n=r,i=a),e=h}return o.toStatic(),o}function Wr(t,e){var n=Fr(t);return e=e||{},e.buildPath=function(t){if(t.setData){t.setData(n.data);var e=t.getContext();e&&t.rebuildPath(e)}else{var e=t;n.rebuildPath(e)}},e.applyTransform=function(t){bb(n,t),this.dirty(!0)},e}function Hr(t,e){return new Vr(Wr(t,e))}function Xr(t,e){return Vr.extend(Wr(t,e))}function Yr(t,e){for(var n=[],i=t.length,r=0;i>r;r++){var a=t[r];a.path||a.createPathProxy(),a.__dirtyPath&&a.buildPath(a.path,a.shape,!0),n.push(a.path)}var o=new Vr(e);return o.createPathProxy(),o.buildPath=function(t){t.appendPath(n);var e=t.getContext();e&&t.rebuildPath(e)},o}function jr(t,e,n,i,r,a,o){var s=.5*(n-t),l=.5*(i-e);return(2*(e-n)+s+l)*o+(-3*(e-n)-2*s-l)*a+s*r+e}function Zr(t,e,n){var i=e.points,r=e.smooth;if(i&&i.length>=2){if(r&&"spline"!==r){var a=Vb(i,r,n,e.smoothConstraint);t.moveTo(i[0][0],i[0][1]);for(var o=i.length,s=0;(n?o:o-1)>s;s++){var l=a[2*s],u=a[2*s+1],h=i[(s+1)%o];t.bezierCurveTo(l[0],l[1],u[0],u[1],h[0],h[1])}}else{"spline"===r&&(i=Bb(i,n)),t.moveTo(i[0][0],i[0][1]);for(var s=1,c=i.length;c>s;s++)t.lineTo(i[s][0],i[s][1])}n&&t.closePath()}}function Ur(t,e,n){var i=n&&n.lineWidth;if(e&&i){var r=e.x1,a=e.x2,o=e.y1,s=e.y2;Wb(2*r)===Wb(2*a)?t.x1=t.x2=Kr(r,i,!0):(t.x1=r,t.x2=a),Wb(2*o)===Wb(2*s)?t.y1=t.y2=Kr(o,i,!0):(t.y1=o,t.y2=s)}}function qr(t,e,n){var i=n&&n.lineWidth;if(e&&i){var r=e.x,a=e.y,o=e.width,s=e.height;t.x=Kr(r,i,!0),t.y=Kr(a,i,!0),t.width=Math.max(Kr(r+o,i,!1)-t.x,0===o?0:1),t.height=Math.max(Kr(a+s,i,!1)-t.y,0===s?0:1)}}function Kr(t,e,n){var i=Wb(2*t);return(i+Wb(e))%2===0?i/2:(i+(n?1:-1))/2}function $r(t,e,n){var i=t.cpx2,r=t.cpy2;return null===i||null===r?[(n?ur:lr)(t.x1,t.cpx1,t.cpx2,t.x2,e),(n?ur:lr)(t.y1,t.cpy1,t.cpy2,t.y2,e)]:[(n?gr:pr)(t.x1,t.cpx1,t.x2,e),(n?gr:pr)(t.y1,t.cpy1,t.y2,e)]}function Jr(t){xi.call(this,t),this._displayables=[],this._temporaryDisplayables=[],this._cursor=0,this.notClear=!0}function Qr(t){return Vr.extend(t)}function ta(t,e){return Xr(t,e)}function ea(t,e,n,i){var r=Hr(t,e);return n&&("center"===i&&(n=ia(n,r.getBoundingRect())),ra(r,n)),r}function na(t,e,n){var i=new _i({style:{image:t,x:e.x,y:e.y,width:e.width,height:e.height},onload:function(t){if("center"===n){var r={width:t.width,height:t.height};i.setStyle(ia(e,r))}}});return i}function ia(t,e){var n,i=e.width/e.height,r=t.height*i;r<=t.width?n=t.height:(r=t.width,n=r/i);var a=t.x+t.width/2,o=t.y+t.height/2;return{x:a-r/2,y:o-n/2,width:r,height:n}}function ra(t,e){if(t.applyTransform){var n=t.getBoundingRect(),i=n.calculateTransform(e);t.applyTransform(i)}}function aa(t){var e=t.shape,n=t.style.lineWidth;return eS(2*e.x1)===eS(2*e.x2)&&(e.x1=e.x2=sa(e.x1,n,!0)),eS(2*e.y1)===eS(2*e.y2)&&(e.y1=e.y2=sa(e.y1,n,!0)),t}function oa(t){var e=t.shape,n=t.style.lineWidth,i=e.x,r=e.y,a=e.width,o=e.height;return e.x=sa(e.x,n,!0),e.y=sa(e.y,n,!0),e.width=Math.max(sa(i+a,n,!1)-e.x,0===a?0:1),e.height=Math.max(sa(r+o,n,!1)-e.y,0===o?0:1),t}function sa(t,e,n){var i=eS(2*t);return(i+eS(e))%2===0?i/2:(i+(n?1:-1))/2}function la(t){return null!=t&&"none"!==t}function ua(t){if("string"!=typeof t)return t;var e=sS.get(t);return e||(e=qe(t,-.1),1e4>lS&&(sS.set(t,e),lS++)),e}function ha(t){if(t.__hoverStlDirty){t.__hoverStlDirty=!1;var e=t.__hoverStl;if(!e)return void(t.__cachedNormalStl=t.__cachedNormalZ2=null);var n=t.__cachedNormalStl={};t.__cachedNormalZ2=t.z2;var i=t.style;for(var r in e)null!=e[r]&&(n[r]=i[r]);n.fill=i.fill,n.stroke=i.stroke}}function ca(t){var e=t.__hoverStl;if(e&&!t.__highlighted){var n=t.useHoverLayer;t.__highlighted=n?"layer":"plain";var i=t.__zr;if(i||!n){var r=t,a=t.style;n&&(r=i.addHover(t),a=r.style),ka(a),n||ha(r),a.extendFrom(e),da(a,e,"fill"),da(a,e,"stroke"),La(a),n||(t.dirty(!1),t.z2+=aS)}}}function da(t,e,n){!la(e[n])&&la(t[n])&&(t[n]=ua(t[n]))}function fa(t){var e=t.__highlighted;if(e)if(t.__highlighted=!1,"layer"===e)t.__zr&&t.__zr.removeHover(t);else if(e){var n=t.style,i=t.__cachedNormalStl;i&&(ka(n),t.setStyle(i),La(n));var r=t.__cachedNormalZ2;null!=r&&t.z2-r===aS&&(t.z2=r)}}function pa(t,e){t.isGroup?t.traverse(function(t){!t.isGroup&&e(t)}):e(t)}function ga(t,e){e=t.__hoverStl=e!==!1&&(e||{}),t.__hoverStlDirty=!0,t.__highlighted&&(t.__cachedNormalStl=null,fa(t),ca(t))}function ma(t){return t&&t.__isEmphasisEntered}function va(t){this.__hoverSilentOnTouch&&t.zrByTouch||!this.__isEmphasisEntered&&pa(this,ca)}function ya(t){this.__hoverSilentOnTouch&&t.zrByTouch||!this.__isEmphasisEntered&&pa(this,fa)}function xa(){this.__isEmphasisEntered=!0,pa(this,ca)}function _a(){this.__isEmphasisEntered=!1,pa(this,fa)}function wa(t,e,n){t.isGroup?t.traverse(function(t){!t.isGroup&&ga(t,t.hoverStyle||e)}):ga(t,t.hoverStyle||e),ba(t,n)}function ba(t,e){var n=e===!1;if(t.__hoverSilentOnTouch=null!=e&&e.hoverSilentOnTouch,!n||t.__hoverStyleTrigger){var i=n?"off":"on";t[i]("mouseover",va)[i]("mouseout",ya),t[i]("emphasis",xa)[i]("normal",_a),t.__hoverStyleTrigger=!n}}function Sa(t,e,n,i,r,a,o){r=r||rS;var s,l=r.labelFetcher,u=r.labelDataIndex,h=r.labelDimIndex,c=n.getShallow("show"),d=i.getShallow("show");(c||d)&&(l&&(s=l.getFormattedLabel(u,"normal",null,h)),null==s&&(s=w(r.defaultText)?r.defaultText(u,r):r.defaultText));var f=c?s:null,p=d?A(l?l.getFormattedLabel(u,"emphasis",null,h):null,s):null;(null!=f||null!=p)&&(Ia(t,n,a,r),Ia(e,i,o,r,!0)),t.text=f,e.text=p}function Ia(t,e,n,i,r){return Ta(t,e,i,r),n&&o(t,n),t}function Ma(t,e,n){var i,r={isRectText:!0};n===!1?i=!0:r.autoColor=n,Ta(t,e,r,i)}function Ta(t,e,n,i){if(n=n||rS,n.isRectText){var r=e.getShallow("position")||(i?null:"inside");"outside"===r&&(r="top"),t.textPosition=r,t.textOffset=e.getShallow("offset");var a=e.getShallow("rotate");null!=a&&(a*=Math.PI/180),t.textRotation=a,t.textDistance=A(e.getShallow("distance"),i?null:5)}var o,s=e.ecModel,l=s&&s.option.textStyle,u=Ca(e);if(u){o={};for(var h in u)if(u.hasOwnProperty(h)){var c=e.getModel(["rich",h]);Da(o[h]={},c,l,n,i)}}return t.rich=o,Da(t,e,l,n,i,!0),n.forceRich&&!n.textStyle&&(n.textStyle={}),t}function Ca(t){for(var e;t&&t!==t.ecModel;){var n=(t.option||rS).rich;if(n){e=e||{};for(var i in n)n.hasOwnProperty(i)&&(e[i]=1)}t=t.parentModel}return e}function Da(t,e,n,i,r,a){n=!r&&n||rS,t.textFill=Aa(e.getShallow("color"),i)||n.color,t.textStroke=Aa(e.getShallow("textBorderColor"),i)||n.textBorderColor,t.textStrokeWidth=A(e.getShallow("textBorderWidth"),n.textBorderWidth),t.insideRawTextPosition=t.textPosition,r||(a&&(t.insideRollbackOpt=i,La(t)),null==t.textFill&&(t.textFill=i.autoColor)),t.fontStyle=e.getShallow("fontStyle")||n.fontStyle,t.fontWeight=e.getShallow("fontWeight")||n.fontWeight,t.fontSize=e.getShallow("fontSize")||n.fontSize,t.fontFamily=e.getShallow("fontFamily")||n.fontFamily,t.textAlign=e.getShallow("align"),t.textVerticalAlign=e.getShallow("verticalAlign")||e.getShallow("baseline"),t.textLineHeight=e.getShallow("lineHeight"),t.textWidth=e.getShallow("width"),t.textHeight=e.getShallow("height"),t.textTag=e.getShallow("tag"),a&&i.disableBox||(t.textBackgroundColor=Aa(e.getShallow("backgroundColor"),i),t.textPadding=e.getShallow("padding"),t.textBorderColor=Aa(e.getShallow("borderColor"),i),t.textBorderWidth=e.getShallow("borderWidth"),t.textBorderRadius=e.getShallow("borderRadius"),t.textBoxShadowColor=e.getShallow("shadowColor"),t.textBoxShadowBlur=e.getShallow("shadowBlur"),t.textBoxShadowOffsetX=e.getShallow("shadowOffsetX"),t.textBoxShadowOffsetY=e.getShallow("shadowOffsetY")),t.textShadowColor=e.getShallow("textShadowColor")||n.textShadowColor,t.textShadowBlur=e.getShallow("textShadowBlur")||n.textShadowBlur,t.textShadowOffsetX=e.getShallow("textShadowOffsetX")||n.textShadowOffsetX,t.textShadowOffsetY=e.getShallow("textShadowOffsetY")||n.textShadowOffsetY}function Aa(t,e){return"auto"!==t?t:e&&e.autoColor?e.autoColor:null}function La(t){var e=t.insideRollbackOpt;if(e&&null==t.textFill){var n,i=e.useInsideStyle,r=t.insideRawTextPosition,a=e.autoColor;i!==!1&&(i===!0||e.isRectText&&r&&"string"==typeof r&&r.indexOf("inside")>=0)?(n={textFill:null,textStroke:t.textStroke,textStrokeWidth:t.textStrokeWidth},t.textFill="#fff",null==t.textStroke&&(t.textStroke=a,null==t.textStrokeWidth&&(t.textStrokeWidth=2))):null!=a&&(n={textFill:null},t.textFill=a),n&&(t.insideRollback=n)}}function ka(t){var e=t.insideRollback;e&&(t.textFill=e.textFill,t.textStroke=e.textStroke,t.textStrokeWidth=e.textStrokeWidth,t.insideRollback=null)}function Pa(t,e){var n=e||e.getModel("textStyle");return E([t.fontStyle||n&&n.getShallow("fontStyle")||"",t.fontWeight||n&&n.getShallow("fontWeight")||"",(t.fontSize||n&&n.getShallow("fontSize")||12)+"px",t.fontFamily||n&&n.getShallow("fontFamily")||"sans-serif"].join(" "))}function Na(t,e,n,i,r,a){"function"==typeof r&&(a=r,r=null);var o=i&&i.isAnimationEnabled();if(o){var s=t?"Update":"",l=i.getShallow("animationDuration"+s),u=i.getShallow("animationEasing"+s),h=i.getShallow("animationDelay"+s);"function"==typeof h&&(h=h(r,i.getAnimationDelayParams?i.getAnimationDelayParams(e,r):null)),"function"==typeof l&&(l=l(r)),l>0?e.animateTo(n,l,h||0,u,a,!!a):(e.stopAnimation(),e.attr(n),a&&a())}else e.stopAnimation(),e.attr(n),a&&a()}function Ea(t,e,n,i,r){Na(!0,t,e,n,i,r)}function Oa(t,e,n,i,r){Na(!1,t,e,n,i,r)}function Ra(t,e){for(var n=Te([]);t&&t!==e;)De(n,t.getLocalTransform(),n),t=t.parent;return n}function za(t,e,n){return e&&!d(e)&&(e=Yx.getLocalTransform(e)),n&&(e=Pe([],e)),ae([],t,e)}function Ba(t,e,n){var i=0===e[4]||0===e[5]||0===e[0]?1:Math.abs(2*e[4]/e[0]),r=0===e[4]||0===e[5]||0===e[2]?1:Math.abs(2*e[4]/e[2]),a=["left"===t?-i:"right"===t?i:0,"top"===t?-r:"bottom"===t?r:0];return a=za(a,e,n),Math.abs(a[0])>Math.abs(a[1])?a[0]>0?"right":"left":a[1]>0?"bottom":"top"}function Va(t,e,n){function i(t){var e={};return t.traverse(function(t){!t.isGroup&&t.anid&&(e[t.anid]=t)}),e}function r(t){var e={position:H(t.position),rotation:t.rotation};return t.shape&&(e.shape=o({},t.shape)),e}if(t&&e){var a=i(t);e.traverse(function(t){if(!t.isGroup&&t.anid){var e=a[t.anid];if(e){var i=r(t);t.attr(r(e)),Ea(t,i,n,t.dataIndex)}}})}}function Ga(t,e){return p(t,function(t){var n=t[0];n=nS(n,e.x),n=iS(n,e.x+e.width);var i=t[1];return i=nS(i,e.y),i=iS(i,e.y+e.height),[n,i]})}function Fa(t,e){var n=nS(t.x,e.x),i=iS(t.x+t.width,e.x+e.width),r=nS(t.y,e.y),a=iS(t.y+t.height,e.y+e.height);return i>=n&&a>=r?{x:n,y:r,width:i-n,height:a-r}:void 0}function Wa(t,e,n){e=o({rectHover:!0},e);var i=e.style={strokeNoScale:!0};return n=n||{x:-1,y:-1,width:2,height:2},t?0===t.indexOf("image://")?(i.image=t.slice(8),s(i,n),new _i(e)):ea(t.replace("path://",""),e,n,"center"):void 0}function Ha(t,e,n){this.parentModel=e,this.ecModel=n,this.option=t}function Xa(t,e,n){for(var i=0;i=0&&n.push(t)}),n}t.topologicalTravel=function(t,e,i,r){function a(t){l[t].entryCount--,0===l[t].entryCount&&u.push(t)}function o(t){h[t]=!0,a(t)}if(t.length){var s=n(e),l=s.graph,u=s.noEntryList,h={};for(f(t,function(t){h[t]=!0});u.length;){var c=u.pop(),d=l[c],p=!!h[c];p&&(i.call(r,c,d.originalDeps.slice()),delete h[c]),f(d.successor,p?o:a)}f(h,function(){throw new Error("Circle dependency may exists")})}}}function qa(t){return t.replace(/^\s+/,"").replace(/\s+$/,"")}function Ka(t,e,n,i){var r=e[1]-e[0],a=n[1]-n[0];if(0===r)return 0===a?n[0]:(n[0]+n[1])/2;if(i)if(r>0){if(t<=e[0])return n[0];if(t>=e[1])return n[1]}else{if(t>=e[0])return n[0];if(t<=e[1])return n[1]}else{if(t===e[0])return n[0];if(t===e[1])return n[1]}return(t-e[0])/r*a+n[0]}function $a(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"string"==typeof t?qa(t).match(/%$/)?parseFloat(t)/100*e:parseFloat(t):null==t?0/0:+t}function Ja(t,e,n){return null==e&&(e=10),e=Math.min(Math.max(0,e),20),t=(+t).toFixed(e),n?t:+t}function Qa(t){return t.sort(function(t,e){return t-e}),t}function to(t){if(t=+t,isNaN(t))return 0;for(var e=1,n=0;Math.round(t*e)/e!==t;)e*=10,n++;return n}function eo(t){var e=t.toString(),n=e.indexOf("e");if(n>0){var i=+e.slice(n+1);return 0>i?-i:0}var r=e.indexOf(".");return 0>r?0:e.length-1-r}function no(t,e){var n=Math.log,i=Math.LN10,r=Math.floor(n(t[1]-t[0])/i),a=Math.round(n(Math.abs(e[1]-e[0]))/i),o=Math.min(Math.max(-r+a,0),20);return isFinite(o)?o:20}function io(t,e,n){if(!t[e])return 0;var i=g(t,function(t,e){return t+(isNaN(e)?0:e)},0);if(0===i)return 0;for(var r=Math.pow(10,n),a=p(t,function(t){return(isNaN(t)?0:t)/i*r*100}),o=100*r,s=p(a,function(t){return Math.floor(t)}),l=g(s,function(t,e){return t+e},0),u=p(a,function(t,e){return t-s[e]});o>l;){for(var h=Number.NEGATIVE_INFINITY,c=null,d=0,f=u.length;f>d;++d)u[d]>h&&(h=u[d],c=d);++s[c],u[c]=0,++l}return s[e]/r}function ro(t){var e=2*Math.PI;return(t%e+e)%e}function ao(t){return t>-vS&&vS>t}function oo(t){if(t instanceof Date)return t;if("string"==typeof t){var e=xS.exec(t);if(!e)return new Date(0/0);if(e[8]){var n=+e[4]||0;return"Z"!==e[8].toUpperCase()&&(n-=e[8].slice(0,3)),new Date(Date.UTC(+e[1],+(e[2]||1)-1,+e[3]||1,n,+(e[5]||0),+e[6]||0,+e[7]||0))}return new Date(+e[1],+(e[2]||1)-1,+e[3]||1,+e[4]||0,+(e[5]||0),+e[6]||0,+e[7]||0)}return new Date(null==t?0/0:Math.round(t))}function so(t){return Math.pow(10,lo(t))}function lo(t){return Math.floor(Math.log(t)/Math.LN10)}function uo(t,e){var n,i=lo(t),r=Math.pow(10,i),a=t/r;return n=e?1.5>a?1:2.5>a?2:4>a?3:7>a?5:10:1>a?1:2>a?2:3>a?3:5>a?5:10,t=n*r,i>=-20?+t.toFixed(0>i?-i:0):t}function ho(t,e){var n=(t.length-1)*e+1,i=Math.floor(n),r=+t[i-1],a=n-i;return a?r+a*(t[i]-r):r}function co(t){function e(t,n,i){return t.interval[i]s;s++)a[s]<=n&&(a[s]=n,o[s]=s?1:1-i),n=a[s],i=o[s];a[0]===a[1]&&o[0]*o[1]!==1?t.splice(r,1):r++}return t}function fo(t){return t-parseFloat(t)>=0}function po(t){return isNaN(t)?"-":(t=(t+"").split("."),t[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g,"$1,")+(t.length>1?"."+t[1]:"")) +}function go(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}function mo(t){return null==t?"":(t+"").replace(bS,function(t,e){return SS[e]})}function vo(t,e,n){_(e)||(e=[e]);var i=e.length;if(!i)return"";for(var r=e[0].$vars||[],a=0;as;s++)for(var l=0;l':'':{renderMode:r,content:"{marker"+a+"|} ",style:{color:n}}:""}function _o(t,e){return t+="","0000".substr(0,e-t.length)+t}function wo(t,e,n){("week"===t||"month"===t||"quarter"===t||"half-year"===t||"year"===t)&&(t="MM-dd\nyyyy");var i=oo(e),r=n?"UTC":"",a=i["get"+r+"FullYear"](),o=i["get"+r+"Month"]()+1,s=i["get"+r+"Date"](),l=i["get"+r+"Hours"](),u=i["get"+r+"Minutes"](),h=i["get"+r+"Seconds"](),c=i["get"+r+"Milliseconds"]();return t=t.replace("MM",_o(o,2)).replace("M",o).replace("yyyy",a).replace("yy",a%100).replace("dd",_o(s,2)).replace("d",s).replace("hh",_o(l,2)).replace("h",l).replace("mm",_o(u,2)).replace("m",u).replace("ss",_o(h,2)).replace("s",h).replace("SSS",_o(c,3))}function bo(t){return t?t.charAt(0).toUpperCase()+t.substr(1):t}function So(t){return Bn(t.text,t.font,t.textAlign,t.textVerticalAlign,t.textPadding,t.textLineHeight,t.rich,t.truncate)}function Io(t,e,n,i,r,a,o,s){return Bn(t,e,n,i,r,s,a,o)}function Mo(t,e,n,i,r){var a=0,o=0;null==i&&(i=1/0),null==r&&(r=1/0);var s=0;e.eachChild(function(l,u){var h,c,d=l.position,f=l.getBoundingRect(),p=e.childAt(u+1),g=p&&p.getBoundingRect();if("horizontal"===t){var m=f.width+(g?-g.x+f.x:0);h=a+m,h>i||l.newline?(a=0,h=m,o+=s+n,s=f.height):s=Math.max(s,f.height)}else{var v=f.height+(g?-g.y+f.y:0);c=o+v,c>r||l.newline?(a+=s+n,o=0,c=v,s=f.width):s=Math.max(s,f.width)}l.newline||(d[0]=a,d[1]=o,"horizontal"===t?a=h+n:o=c+n)})}function To(t,e,n){var i=e.width,r=e.height,a=$a(t.x,i),o=$a(t.y,r),s=$a(t.x2,i),l=$a(t.y2,r);return(isNaN(a)||isNaN(parseFloat(t.x)))&&(a=0),(isNaN(s)||isNaN(parseFloat(t.x2)))&&(s=i),(isNaN(o)||isNaN(parseFloat(t.y)))&&(o=0),(isNaN(l)||isNaN(parseFloat(t.y2)))&&(l=r),n=wS(n||0),{width:Math.max(s-a-n[1]-n[3],0),height:Math.max(l-o-n[0]-n[2],0)}}function Co(t,e,n){n=wS(n||0);var i=e.width,r=e.height,a=$a(t.left,i),o=$a(t.top,r),s=$a(t.right,i),l=$a(t.bottom,r),u=$a(t.width,i),h=$a(t.height,r),c=n[2]+n[0],d=n[1]+n[3],f=t.aspect;switch(isNaN(u)&&(u=i-s-d-a),isNaN(h)&&(h=r-l-c-o),null!=f&&(isNaN(u)&&isNaN(h)&&(f>i/r?u=.8*i:h=.8*r),isNaN(u)&&(u=f*h),isNaN(h)&&(h=u/f)),isNaN(a)&&(a=i-s-u-d),isNaN(o)&&(o=r-l-h-c),t.left||t.right){case"center":a=i/2-u/2-n[3];break;case"right":a=i-u-d}switch(t.top||t.bottom){case"middle":case"center":o=r/2-h/2-n[0];break;case"bottom":o=r-h-c}a=a||0,o=o||0,isNaN(u)&&(u=i-d-a-(s||0)),isNaN(h)&&(h=r-c-o-(l||0));var p=new xn(a+n[3],o+n[0],u,h);return p.margin=n,p}function Do(t,e,n,i,r){var a=!r||!r.hv||r.hv[0],o=!r||!r.hv||r.hv[1],l=r&&r.boundingMode||"all";if(a||o){var u;if("raw"===l)u="group"===t.type?new xn(0,0,+e.width||0,+e.height||0):t.getBoundingRect();else if(u=t.getBoundingRect(),t.needLocalTransform()){var h=t.getLocalTransform();u=u.clone(),u.applyTransform(h)}e=Co(s({width:u.width,height:u.height},e),n,i);var c=t.position,d=a?e.x-u.x:0,f=o?e.y-u.y:0;t.attr("position","raw"===l?[d,f]:[c[0]+d,c[1]+f])}}function Ao(t,e,n){function i(n,i){var o={},l=0,u={},h=0,c=2;if(DS(n,function(e){u[e]=t[e]}),DS(n,function(t){r(e,t)&&(o[t]=u[t]=e[t]),a(o,t)&&l++,a(u,t)&&h++}),s[i])return a(e,n[1])?u[n[2]]=null:a(e,n[2])&&(u[n[1]]=null),u;if(h!==c&&l){if(l>=c)return o;for(var d=0;di;i++)if(t[i].length>e)return t[i];return t[n-1]}function Eo(t){var e=t.get("coordinateSystem"),n={coordSysName:e,coordSysDims:[],axisMap:B(),categoryAxisMap:B()},i=VS[e];return i?(i(t,n,n.axisMap,n.categoryAxisMap),n):void 0}function Oo(t){return"category"===t.get("type")}function Ro(t){this.fromDataset=t.fromDataset,this.data=t.data||(t.sourceFormat===HS?{}:[]),this.sourceFormat=t.sourceFormat||XS,this.seriesLayoutBy=t.seriesLayoutBy||jS,this.dimensionsDefine=t.dimensionsDefine,this.encodeDefine=t.encodeDefine&&B(t.encodeDefine),this.startIndex=t.startIndex||0,this.dimensionsDetectCount=t.dimensionsDetectCount}function zo(t){var e=t.option.source,n=XS;if(M(e))n=YS;else if(_(e)){0===e.length&&(n=FS);for(var i=0,r=e.length;r>i;i++){var a=e[i];if(null!=a){if(_(a)){n=FS;break}if(S(a)){n=WS;break}}}}else if(S(e)){for(var o in e)if(e.hasOwnProperty(o)&&d(e[o])){n=HS;break}}else if(null!=e)throw new Error("Invalid data");US(t).sourceFormat=n}function Bo(t){return US(t).source}function Vo(t){US(t).datasetMap=B()}function Go(t){var e=t.option,n=e.data,i=M(n)?YS:GS,r=!1,a=e.seriesLayoutBy,o=e.sourceHeader,s=e.dimensions,l=jo(t);if(l){var u=l.option;n=u.source,i=US(l).sourceFormat,r=!0,a=a||u.seriesLayoutBy,null==o&&(o=u.sourceHeader),s=s||u.dimensions}var h=Fo(n,i,a,o,s),c=e.encode;!c&&l&&(c=Yo(t,l,n,i,a,h)),US(t).source=new Ro({data:n,fromDataset:r,seriesLayoutBy:a,sourceFormat:i,dimensionsDefine:h.dimensionsDefine,startIndex:h.startIndex,dimensionsDetectCount:h.dimensionsDetectCount,encodeDefine:c})}function Fo(t,e,n,i,r){if(!t)return{dimensionsDefine:Wo(r)};var a,o,s;if(e===FS)"auto"===i||null==i?Ho(function(t){null!=t&&"-"!==t&&(b(t)?null==o&&(o=1):o=0)},n,t,10):o=i?1:0,r||1!==o||(r=[],Ho(function(t,e){r[e]=null!=t?t:""},n,t)),a=r?r.length:n===ZS?t.length:t[0]?t[0].length:null;else if(e===WS)r||(r=Xo(t),s=!0);else if(e===HS)r||(r=[],s=!0,f(t,function(t,e){r.push(e)}));else if(e===GS){var l=Vi(t[0]);a=_(l)&&l.length||1}var u;return s&&f(r,function(t,e){"name"===(S(t)?t.name:t)&&(u=e)}),{startIndex:o,dimensionsDefine:Wo(r),dimensionsDetectCount:a,potentialNameDimIndex:u}}function Wo(t){if(t){var e=B();return p(t,function(t){if(t=o({},S(t)?t:{name:t}),null==t.name)return t;t.name+="",null==t.displayName&&(t.displayName=t.name);var n=e.get(t.name);return n?t.name+="-"+n.count++:e.set(t.name,{count:1}),t})}}function Ho(t,e,n,i){if(null==i&&(i=1/0),e===ZS)for(var r=0;rr;r++)t(n[r]?n[r][0]:null,r);else for(var a=n[0]||[],r=0;rr;r++)t(a[r],r)}function Xo(t){for(var e,n=0;nx&&null==y;x++)Uo(n,i,r,a.dimensionsDefine,a.startIndex,x)||(y=x);if(null!=y){s.value=y;var _=a.potentialNameDimIndex||Math.max(y-1,0);u.push(_),l.push(_)}}return l.length&&(s.itemName=l),u.length&&(s.seriesName=u),s}function jo(t){var e=t.option,n=e.data;return n?void 0:t.ecModel.getComponent("dataset",e.datasetIndex||0)}function Zo(t,e){return Uo(t.data,t.sourceFormat,t.seriesLayoutBy,t.dimensionsDefine,t.startIndex,e)}function Uo(t,e,n,i,r,a){function o(t){return null!=t&&isFinite(t)&&""!==t?!1:b(t)&&"-"!==t?!0:void 0}var s,l=5;if(M(t))return!1;var u;if(i&&(u=i[a],u=S(u)?u.name:u),e===FS)if(n===ZS){for(var h=t[a],c=0;c<(h||[]).length&&l>c;c++)if(null!=(s=o(h[r+c])))return s}else for(var c=0;cc;c++){var d=t[r+c];if(d&&null!=(s=o(d[a])))return s}else if(e===WS){if(!u)return;for(var c=0;cc;c++){var f=t[c];if(f&&null!=(s=o(f[u])))return s}}else if(e===HS){if(!u)return;var h=t[u];if(!h||M(h))return!1;for(var c=0;cc;c++)if(null!=(s=o(h[c])))return s}else if(e===GS)for(var c=0;cc;c++){var f=t[c],p=Vi(f);if(!_(p))return!1;if(null!=(s=o(p[a])))return s}return!1}function qo(t,e){if(e){var n=e.seiresIndex,i=e.seriesId,r=e.seriesName;return null!=n&&t.componentIndex!==n||null!=i&&t.id!==i||null!=r&&t.name!==r}}function Ko(t,e){var n=t.color&&!t.colorLayer;f(e,function(e,a){"colorLayer"===a&&n||ES.hasClass(a)||("object"==typeof e?t[a]=t[a]?r(t[a],e,!1):i(e):null==t[a]&&(t[a]=e))})}function $o(t){t=t,this.option={},this.option[qS]=1,this._componentsMap=B({series:[]}),this._seriesIndices,this._seriesIndicesMap,Ko(t,this._theme.option),r(t,RS,!1),this.mergeOption(t)}function Jo(t,e){_(e)||(e=e?[e]:[]);var n={};return f(e,function(e){n[e]=(t.get(e)||[]).slice()}),n}function Qo(t,e,n){var i=e.type?e.type:n?n.subType:ES.determineSubType(t,e);return i}function ts(t,e){t._seriesIndicesMap=B(t._seriesIndices=p(e,function(t){return t.componentIndex})||[])}function es(t,e){return e.hasOwnProperty("subType")?m(t,function(t){return t.subType===e.subType}):t}function ns(t){f($S,function(e){this[e]=y(t[e],t)},this)}function is(){this._coordinateSystems=[]}function rs(t){this._api=t,this._timelineOptions=[],this._mediaList=[],this._mediaDefault,this._currentMediaIndices=[],this._optionBackup,this._newBaseOption}function as(t,e,n){var i,r,a=[],o=[],s=t.timeline;if(t.baseOption&&(r=t.baseOption),(s||t.options)&&(r=r||{},a=(t.options||[]).slice()),t.media){r=r||{};var l=t.media;QS(l,function(t){t&&t.option&&(t.query?o.push(t):i||(i=t))})}return r||(r=t),r.timeline||(r.timeline=s),QS([r].concat(a).concat(p(o,function(t){return t.option})),function(t){QS(e,function(e){e(t,n)})}),{baseOption:r,timelineOptions:a,mediaDefault:i,mediaList:o}}function os(t,e,n){var i={width:e,height:n,aspectratio:e/n},r=!0;return f(t,function(t,e){var n=e.match(iI);if(n&&n[1]&&n[2]){var a=n[1],o=n[2].toLowerCase();ss(i[o],t,a)||(r=!1)}}),r}function ss(t,e,n){return"min"===n?t>=e:"max"===n?e>=t:t===e}function ls(t,e){return t.join(",")===e.join(",")}function us(t,e){e=e||{},QS(e,function(e,n){if(null!=e){var i=t[n];if(ES.hasClass(n)){e=zi(e),i=zi(i);var r=Fi(i,e);t[n]=eI(r,function(t){return t.option&&t.exist?nI(t.exist,t.option,!0):t.exist||t.option})}else t[n]=nI(i,e,!0)}})}function hs(t){var e=t&&t.itemStyle;if(e)for(var n=0,i=oI.length;i>n;n++){var a=oI[n],o=e.normal,s=e.emphasis;o&&o[a]&&(t[a]=t[a]||{},t[a].normal?r(t[a].normal,o[a]):t[a].normal=o[a],o[a]=null),s&&s[a]&&(t[a]=t[a]||{},t[a].emphasis?r(t[a].emphasis,s[a]):t[a].emphasis=s[a],s[a]=null)}}function cs(t,e,n){if(t&&t[e]&&(t[e].normal||t[e].emphasis)){var i=t[e].normal,r=t[e].emphasis;i&&(n?(t[e].normal=t[e].emphasis=null,s(t[e],i)):t[e]=i),r&&(t.emphasis=t.emphasis||{},t.emphasis[e]=r)}}function ds(t){cs(t,"itemStyle"),cs(t,"lineStyle"),cs(t,"areaStyle"),cs(t,"label"),cs(t,"labelLine"),cs(t,"upperLabel"),cs(t,"edgeLabel")}function fs(t,e){var n=aI(t)&&t[e],i=aI(n)&&n.textStyle;if(i)for(var r=0,a=_w.length;a>r;r++){var e=_w[r];i.hasOwnProperty(e)&&(n[e]=i[e])}}function ps(t){t&&(ds(t),fs(t,"label"),t.emphasis&&fs(t.emphasis,"label"))}function gs(t){if(aI(t)){hs(t),ds(t),fs(t,"label"),fs(t,"upperLabel"),fs(t,"edgeLabel"),t.emphasis&&(fs(t.emphasis,"label"),fs(t.emphasis,"upperLabel"),fs(t.emphasis,"edgeLabel"));var e=t.markPoint;e&&(hs(e),ps(e));var n=t.markLine;n&&(hs(n),ps(n));var i=t.markArea;i&&ps(i);var r=t.data;if("graph"===t.type){r=r||t.nodes;var a=t.links||t.edges;if(a&&!M(a))for(var o=0;o=0;p--){var g=t[p];if(s||(d=g.data.rawIndexOf(g.stackedByDimension,c)),d>=0){var m=g.data.getByRawIndex(g.stackResultDimension,d);if(h>=0&&m>0||0>=h&&0>m){h+=m,f=m;break}}}return i[0]=h,i[1]=f,i});o.hostModel.setData(l),e.data=l})}function bs(t,e){Ro.isInstance(t)||(t=Ro.seriesDataToSource(t)),this._source=t;var n=this._data=t.data,i=t.sourceFormat;i===YS&&(this._offset=0,this._dimSize=e,this._data=n);var r=fI[i===FS?i+"_"+t.seriesLayoutBy:i];o(this,r)}function Ss(){return this._data.length}function Is(t){return this._data[t]}function Ms(t){for(var e=0;ee.outputData.count()&&e.model.getRawData().cloneShallow(e.outputData)}function Gs(t,e){f(t.CHANGABLE_METHODS,function(n){t.wrapMethod(n,x(Fs,e))})}function Fs(t){var e=Ws(t);e&&e.setOutputEnd(this.count())}function Ws(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}}function Hs(){this.group=new __,this.uid=ja("viewChart"),this.renderTask=ks({plan:js,reset:Zs}),this.renderTask.context={view:this}}function Xs(t,e){if(t&&(t.trigger(e),"group"===t.type))for(var n=0;n=0?i():c=setTimeout(i,-a),u=r};return d.clear=function(){c&&(clearTimeout(c),c=null)},d.debounceNextCall=function(t){l=t},d}function qs(t,e,n,i){var r=t[e];if(r){var a=r[AI]||r,o=r[kI],s=r[LI];if(s!==n||o!==i){if(null==n||!i)return t[e]=a;r=t[e]=Us(a,n,"debounce"===i),r[AI]=a,r[kI]=i,r[LI]=n}return r}}function Ks(t,e,n,i){this.ecInstance=t,this.api=e,this.unfinished;var n=this._dataProcessorHandlers=n.slice(),i=this._visualHandlers=i.slice();this._allHandlers=n.concat(i),this._stageTaskMap=B()}function $s(t,e,n,i,r){function a(t,e){return t.setDirty&&(!t.dirtyMap||t.dirtyMap.get(e.__pipeline.id))}r=r||{};var o;f(e,function(e){if(!r.visualType||r.visualType===e.visualType){var s=t._stageTaskMap.get(e.uid),l=s.seriesTaskMap,u=s.overallTask;if(u){var h,c=u.agentStubMap;c.each(function(t){a(r,t)&&(t.dirty(),h=!0)}),h&&u.dirty(),BI(u,i);var d=t.getPerformArgs(u,r.block);c.each(function(t){t.perform(d)}),o|=u.perform(d)}else l&&l.each(function(s){a(r,s)&&s.dirty();var l=t.getPerformArgs(s,r.block);l.skip=!e.performRawSeries&&n.isSeriesFiltered(s.context.model),BI(s,i),o|=s.perform(l)})}}),t.unfinished|=o}function Js(t,e,n,i,r){function a(n){var a=n.uid,s=o.get(a)||o.set(a,ks({plan:rl,reset:al,count:sl}));s.context={model:n,ecModel:i,api:r,useClearVisual:e.isVisual&&!e.isLayout,plan:e.plan,reset:e.reset,scheduler:t},ll(t,n,s)}var o=n.seriesTaskMap||(n.seriesTaskMap=B()),s=e.seriesType,l=e.getTargetSeries;e.createOnAllSeries?i.eachRawSeries(a):s?i.eachRawSeriesByType(s,a):l&&l(i,r).each(a);var u=t._pipelineMap;o.each(function(t,e){u.get(e)||(t.dispose(),o.removeKey(e))})}function Qs(t,e,n,i,r){function a(e){var n=e.uid,i=s.get(n);i||(i=s.set(n,ks({reset:el,onDirty:il})),o.dirty()),i.context={model:e,overallProgress:h,modifyOutputEnd:c},i.agent=o,i.__block=h,ll(t,e,i)}var o=n.overallTask=n.overallTask||ks({reset:tl});o.context={ecModel:i,api:r,overallReset:e.overallReset,scheduler:t};var s=o.agentStubMap=o.agentStubMap||B(),l=e.seriesType,u=e.getTargetSeries,h=!0,c=e.modifyOutputEnd;l?i.eachRawSeriesByType(l,a):u?u(i,r).each(a):(h=!1,f(i.getSeries(),a));var d=t._pipelineMap;s.each(function(t,e){d.get(e)||(t.dispose(),o.dirty(),s.removeKey(e))})}function tl(t){t.overallReset(t.ecModel,t.api,t.payload)}function el(t){return t.overallProgress&&nl}function nl(){this.agent.dirty(),this.getDownstream().dirty()}function il(){this.agent&&this.agent.dirty()}function rl(t){return t.plan&&t.plan(t.model,t.ecModel,t.api,t.payload)}function al(t){t.useClearVisual&&t.data.clearAllVisual();var e=t.resetDefines=zi(t.reset(t.model,t.ecModel,t.api,t.payload));return e.length>1?p(e,function(t,e){return ol(e)}):VI}function ol(t){return function(e,n){var i=n.data,r=n.resetDefines[t];if(r&&r.dataEach)for(var a=e.start;a0?parseInt(i,10)/100:i?parseFloat(i):0;var r=n.getAttribute("stop-color")||"#000000";e.addColorStop(i,r)}n=n.nextSibling}}function pl(t,e){t&&t.__inheritedStyle&&(e.__inheritedStyle||(e.__inheritedStyle={}),s(e.__inheritedStyle,t.__inheritedStyle))}function gl(t){for(var e=E(t).split(KI),n=[],i=0;i0;a-=2){var o=r[a],s=r[a-1];switch(i=i||Me(),s){case"translate":o=E(o).split(KI),Ae(i,i,[parseFloat(o[0]),parseFloat(o[1]||0)]);break;case"scale":o=E(o).split(KI),ke(i,i,[parseFloat(o[0]),parseFloat(o[1]||o[0])]);break;case"rotate":o=E(o).split(KI),Le(i,i,parseFloat(o[0]));break;case"skew":o=E(o).split(KI),console.warn("Skew transform is not supported yet");break;case"matrix":var o=E(o).split(KI);i[0]=parseFloat(o[0]),i[1]=parseFloat(o[1]),i[2]=parseFloat(o[2]),i[3]=parseFloat(o[3]),i[4]=parseFloat(o[4]),i[5]=parseFloat(o[5])}}e.setLocalTransform(i)}}function xl(t){var e=t.getAttribute("style"),n={};if(!e)return n;var i={};nM.lastIndex=0;for(var r;null!=(r=nM.exec(e));)i[r[1]]=r[2];for(var a in QI)QI.hasOwnProperty(a)&&null!=i[a]&&(n[QI[a]]=i[a]);return n}function _l(t,e,n){var i=e/t.width,r=n/t.height,a=Math.min(i,r),o=[a,a],s=[-(t.x+t.width/2)*a+e/2,-(t.y+t.height/2)*a+n/2];return{scale:o,position:s}}function wl(t,e){var n=new dl;return n.parse(t,e)}function bl(t){return function(e,n,i){e=e&&e.toLowerCase(),Px.prototype[t].call(this,e,n,i)}}function Sl(){Px.call(this)}function Il(t,e,n){function r(t,e){return t.__prio-e.__prio}n=n||{},"string"==typeof e&&(e=EM[e]),this.id,this.group,this._dom=t;var a="canvas",o=this._zr=Pi(t,{renderer:n.renderer||a,devicePixelRatio:n.devicePixelRatio,width:n.width,height:n.height});this._throttledZrFlush=Us(y(o.flush,o),17);var e=i(e);e&&hI(e,!0),this._theme=e,this._chartsViews=[],this._chartsMap={},this._componentsViews=[],this._componentsMap={},this._coordSysMgr=new is;var s=this._api=Wl(this);Cn(NM,r),Cn(LM,r),this._scheduler=new Ks(this,s,LM,NM),Px.call(this,this._ecEventProcessor=new Hl),this._messageCenter=new Sl,this._initEvents(),this.resize=y(this.resize,this),this._pendingActions=[],o.animation.on("frame",this._onframe,this),Pl(o,this),O(this)}function Ml(t,e,n){var i,r=this._model,a=this._coordSysMgr.getCoordinateSystems();e=Zi(r,e);for(var o=0;oe.get("hoverLayerThreshold")&&!ux.node&&n.traverse(function(t){t.isGroup||(t.useHoverLayer=!0)})}function Gl(t,e){var n=t.get("blendMode")||null;e.group.traverse(function(t){t.isGroup||t.style.blend!==n&&t.setStyle("blend",n),t.eachPendingDisplayable&&t.eachPendingDisplayable(function(t){t.setStyle("blend",n)})})}function Fl(t,e){var n=t.get("z"),i=t.get("zlevel");e.group.traverse(function(t){"group"!==t.type&&(null!=n&&(t.z=n),null!=i&&(t.zlevel=i))})}function Wl(t){var e=t._coordSysMgr;return o(new ns(t),{getCoordinateSystems:y(e.getCoordinateSystems,e),getComponentByElement:function(e){for(;e;){var n=e.__ecComponentInfo;if(null!=n)return t._model.getComponent(n.mainType,n.index);e=e.parent}}})}function Hl(){this.eventInfo}function Xl(t){function e(t,e){for(var n=0;n65535?qM:$M}function bu(t){var e=t.constructor;return e===Array?t.slice():new e(t)}function Su(t,e){f(JM.concat(e.__wrappedMethods||[]),function(n){e.hasOwnProperty(n)&&(t[n]=e[n])}),t.__wrappedMethods=e.__wrappedMethods,f(QM,function(n){t[n]=i(e[n])}),t._calculationInfo=o(e._calculationInfo)}function Iu(t,e,n,i,r){var a=UM[e.type],o=i-1,s=e.name,l=t[s][o];if(l&&l.lengthc;c+=n)t[s].push(new a(Math.min(r-c,n)))}function Mu(t){var e=t._invertedIndicesMap;f(e,function(n,i){var r=t._dimensionInfos[i],a=r.ordinalMeta;if(a){n=e[i]=new KM(a.categories.length);for(var o=0;o=0?this._indices[t]:-1}function Au(t,e){var n=t._idList[e];return null==n&&(n=Tu(t,t._idDimIdx,e)),null==n&&(n=ZM+e),n}function Lu(t){return _(t)||(t=[t]),t}function ku(t,e){var n=t.dimensions,i=new tT(p(n,t.getDimensionInfo,t),t.hostModel);Su(i,t);for(var r=i._storage={},a=t._storage,o=0;o=0?(r[s]=Pu(a[s]),i._rawExtent[s]=Nu(),i._extent[s]=null):r[s]=a[s])}return i}function Pu(t){for(var e=new Array(t.length),n=0;np;p++){var g=a[p]=o({},S(a[p])?a[p]:{name:a[p]}),m=g.name,v=c[p]={otherDims:{}};null!=m&&null==u.get(m)&&(v.name=v.displayName=m,u.set(m,p)),null!=g.type&&(v.type=g.type),null!=g.displayName&&(v.displayName=g.displayName)}l.each(function(t,e){if(t=zi(t).slice(),1===t.length&&t[0]<0)return void l.set(e,!1);var n=l.set(e,[]);f(t,function(t,i){b(t)&&(t=u.get(t)),null!=t&&d>t&&(n[i]=t,r(c[t],e,i))})});var y=0;f(t,function(t){var e,t,n,a;if(b(t))e=t,t={};else{e=t.name;var o=t.ordinalMeta;t.ordinalMeta=null,t=i(t),t.ordinalMeta=o,n=t.dimsDef,a=t.otherDims,t.name=t.coordDim=t.coordDimIndex=t.dimsDef=t.otherDims=null}var u=l.get(e);if(u!==!1){var u=zi(u);if(!u.length)for(var h=0;h<(n&&n.length||1);h++){for(;yM;M++){var v=c[M]=c[M]||{},T=v.coordDim;null==T&&(v.coordDim=Ru(I,h,w),v.coordDimIndex=0,(!x||0>=_)&&(v.isExtraCoord=!0),_--),null==v.name&&(v.name=Ru(v.coordDim,u)),null==v.type&&Zo(e,M,v.name)&&(v.type="ordinal")}return c}function Ou(t,e,n,i){var r=Math.max(t.dimensionsDetectCount||1,e.length,n.length,i||0);return f(e,function(t){var e=t.dimsDef;e&&(r=Math.max(r,e.length))}),r}function Ru(t,e,n){if(n||null!=e.get(t)){for(var i=0;null!=e.get(t+i);)i++;t+=i}return e.set(t,!0),t}function zu(t,e,n){n=n||{};var i,r,a,o,s=n.byIndex,l=n.stackedCoordDimension,u=!(!t||!t.get("stack"));if(f(e,function(t,n){b(t)&&(e[n]=t={name:t}),u&&!t.isExtraCoord&&(s||i||!t.ordinalMeta||(i=t),r||"ordinal"===t.type||"time"===t.type||l&&l!==t.coordDim||(r=t))}),!r||s||i||(s=!0),r){a="__\x00ecstackresult",o="__\x00ecstackedover",i&&(i.createInvertedIndices=!0);var h=r.coordDim,c=r.type,d=0;f(e,function(t){t.coordDim===h&&d++}),e.push({name:a,coordDim:h,coordDimIndex:d,type:c,isExtraCoord:!0,isCalculationCoord:!0}),d++,e.push({name:o,coordDim:o,coordDimIndex:d,type:c,isExtraCoord:!0,isCalculationCoord:!0})}return{stackedDimension:r&&r.name,stackedByDimension:i&&i.name,isStackedByIndex:s,stackedOverDimension:o,stackResultDimension:a}}function Bu(t,e){return!!e&&e===t.getCalculationInfo("stackedDimension")}function Vu(t,e){return Bu(t,e)?t.getCalculationInfo("stackResultDimension"):e}function Gu(t,e,n){n=n||{},Ro.isInstance(t)||(t=Ro.seriesDataToSource(t));var i,r=e.get("coordinateSystem"),a=is.get(r),o=Eo(e);o&&(i=p(o.coordSysDims,function(t){var e={name:t},n=o.axisMap.get(t);if(n){var i=n.get("type");e.type=xu(i)}return e})),i||(i=a&&(a.getDimensionsInfo?a.getDimensionsInfo():a.dimensions.slice())||["x","y"]);var s,l,u=iT(t,{coordDimensions:i,generateCoord:n.generateCoord});o&&f(u,function(t,e){var n=t.coordDim,i=o.categoryAxisMap.get(n);i&&(null==s&&(s=e),t.ordinalMeta=i.getOrdinalMeta()),null!=t.otherDims.itemName&&(l=!0)}),l||null==s||(u[s].otherDims.itemName=0);var h=zu(e,u),c=new tT(u,e);c.setCalculationInfo(h);var d=null!=s&&Fu(t)?function(t,e,n,i){return i===s?n:this.defaultDimValueGetter(t,e,n,i)}:null;return c.hasItemOption=!1,c.initData(t,null,d),c}function Fu(t){if(t.sourceFormat===GS){var e=Wu(t.data||[]);return null!=e&&!_(Vi(e))}}function Wu(t){for(var e=0;eo&&(o=r.interval=n),null!=i&&o>i&&(o=r.interval=i);var s=r.intervalPrecision=Uu(o),l=r.niceTickExtent=[sT(Math.ceil(t[0]/o)*o,s),sT(Math.floor(t[1]/o)*o,s)];return Ku(l,t),r}function Uu(t){return eo(t)+2}function qu(t,e,n){t[e]=Math.max(Math.min(t[e],n[1]),n[0])}function Ku(t,e){!isFinite(t[0])&&(t[0]=e[0]),!isFinite(t[1])&&(t[1]=e[1]),qu(t,0,e),qu(t,1,e),t[0]>t[1]&&(t[0]=t[1])}function $u(t,e,n,i){var r=[];if(!t)return r;var a=1e4;e[0]a)return[];return e[1]>(r.length?r[r.length-1]:n[1])&&r.push(e[1]),r}function Ju(t){return t.get("stack")||hT+t.seriesIndex}function Qu(t){return t.dim+t.index}function th(t){var e=[],n=t.axis,i="axis0";if("category"===n.type){for(var r=n.getBandWidth(),a=0;ae&&(e=Math.min(e,s),t.width&&(e=Math.min(e,t.width)),s-=e,t.width=e,l--)}),u=(s-a)/(l+(l-1)*o),u=Math.max(u,0);var h,c=0;f(i,function(t){t.width||(t.width=u),h=t,c+=t.width*(1+o)}),h&&(c-=h.width*o);var d=-c/2;f(i,function(t,i){n[e][i]=n[e][i]||{offset:d,width:t.width},d+=t.width*(1+o)})}),n}function rh(t,e,n){if(t&&e){var i=t[Qu(e)];return null!=i&&null!=n&&(i=i[Ju(n)]),i}}function ah(t,e){var n=eh(t,e),i=nh(n),r={};f(n,function(t){var e=t.getData(),n=t.coordinateSystem,a=n.getBaseAxis(),o=Ju(t),s=i[Qu(a)][o],l=s.offset,u=s.width,h=n.getOtherAxis(a),c=t.get("barMinHeight")||0;r[o]=r[o]||[],e.setLayout({offset:l,size:u});for(var d=e.mapDimension(h.dim),f=e.mapDimension(a.dim),p=Bu(e,d),g=h.isHorizontal(),m=lh(a,h,p),v=0,y=e.count();y>v;v++){var x=e.get(d,v),_=e.get(f,v);if(!isNaN(x)){var w=x>=0?"p":"n",b=m;p&&(r[o][_]||(r[o][_]={p:m,n:m}),b=r[o][_][w]);var S,I,M,T;if(g){var C=n.dataToPoint([x,_]);S=b,I=C[1]+l,M=C[0]-m,T=u,Math.abs(M)M?-1:1)*c),p&&(r[o][_][w]+=M)}else{var C=n.dataToPoint([_,x]);S=C[0]+l,I=b,M=u,T=C[1]-m,Math.abs(T)=T?-1:1)*c),p&&(r[o][_][w]+=T)}e.setItemLayout(v,{x:S,y:I,width:M,height:T})}}},this)}function oh(t){return t.coordinateSystem&&"cartesian2d"===t.coordinateSystem.type}function sh(t){return t.pipelineContext&&t.pipelineContext.large}function lh(t,e){var n,i,r=e.getGlobalExtent();r[0]>r[1]?(n=r[1],i=r[0]):(n=r[0],i=r[1]);var a=e.toGlobalCoord(e.dataToCoord(0));return n>a&&(a=n),a>i&&(a=i),a}function uh(t,e){return CT(t,TT(e))}function hh(t,e){var n,i,r,a=t.type,o=e.getMin(),s=e.getMax(),l=null!=o,u=null!=s,h=t.getExtent();"ordinal"===a?n=e.getCategories().length:(i=e.get("boundaryGap"),_(i)||(i=[i||0,i||0]),"boolean"==typeof i[0]&&(i=[0,0]),i[0]=$a(i[0],1),i[1]=$a(i[1],1),r=h[1]-h[0]||Math.abs(h[0])),null==o&&(o="ordinal"===a?n?0:0/0:h[0]-i[0]*r),null==s&&(s="ordinal"===a?n?n-1:0/0:h[1]+i[1]*r),"dataMin"===o?o=h[0]:"function"==typeof o&&(o=o({min:h[0],max:h[1]})),"dataMax"===s?s=h[1]:"function"==typeof s&&(s=s({min:h[0],max:h[1]})),(null==o||!isFinite(o))&&(o=0/0),(null==s||!isFinite(s))&&(s=0/0),t.setBlank(C(o)||C(s)||"ordinal"===a&&!t.getOrdinalMeta().categories.length),e.getNeedCrossZero()&&(o>0&&s>0&&!l&&(o=0),0>o&&0>s&&!u&&(s=0));var c=e.ecModel;if(c&&"time"===a){var d,p=eh("bar",c);if(f(p,function(t){d|=t.getBaseAxis()===e.axis}),d){var g=nh(p),m=ch(o,s,e,g);o=m.min,s=m.max}}return[o,s]}function ch(t,e,n,i){var r=n.axis.getExtent(),a=r[1]-r[0],o=rh(i,n.axis);if(void 0===o)return{min:t,max:e};var s=1/0;f(o,function(t){s=Math.min(t.offset,s)});var l=-1/0;f(o,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=1-(s+l)/a,d=h/c-h;return e+=d*(l/u),t-=d*(s/u),{min:t,max:e}}function dh(t,e){var n=hh(t,e),i=null!=e.getMin(),r=null!=e.getMax(),a=e.get("splitNumber");"log"===t.type&&(t.base=e.get("logBase"));var o=t.type;t.setExtent(n[0],n[1]),t.niceExtent({splitNumber:a,fixMin:i,fixMax:r,minInterval:"interval"===o||"time"===o?e.get("minInterval"):null,maxInterval:"interval"===o||"time"===o?e.get("maxInterval"):null});var s=e.get("interval");null!=s&&t.setInterval&&t.setInterval(s)}function fh(t,e){if(e=e||t.get("type"))switch(e){case"category":return new oT(t.getOrdinalMeta?t.getOrdinalMeta():t.getCategories(),[1/0,-1/0]);case"value":return new uT;default:return(Hu.getClass(e)||uT).create(t)}}function ph(t){var e=t.scale.getExtent(),n=e[0],i=e[1];return!(n>0&&i>0||0>n&&0>i)}function gh(t){var e=t.getLabelModel().get("formatter"),n="category"===t.type?t.scale.getExtent()[0]:null;return"string"==typeof e?e=function(e){return function(n){return n=t.scale.getLabel(n),e.replace("{value}",null!=n?n:"")}}(e):"function"==typeof e?function(i,r){return null!=n&&(r=i-n),e(mh(t,i),r)}:function(e){return t.scale.getLabel(e)}}function mh(t,e){return"category"===t.type?t.scale.getLabel(e):e}function vh(t){var e=t.model,n=t.scale;if(e.get("axisLabel.show")&&!n.isBlank()){var i,r,a="category"===t.type,o=n.getExtent();a?r=n.count():(i=n.getTicks(),r=i.length);var s,l=t.getLabelModel(),u=gh(t),h=1;r>40&&(h=Math.ceil(r/40));for(var c=0;r>c;c+=h){var d=i?i[c]:o[0]+c,f=u(d),p=l.getTextRect(f),g=yh(p,l.get("rotate")||0);s?s.union(g):s=g}return s}}function yh(t,e){var n=e*Math.PI/180,i=t.plain(),r=i.width,a=i.height,o=r*Math.cos(n)+a*Math.sin(n),s=r*Math.sin(n)+a*Math.cos(n),l=new xn(i.x,i.y,o,s);return l}function xh(t){var e=t.get("interval");return null==e?"auto":e}function _h(t){return"category"===t.type&&0===xh(t.getLabelModel())}function wh(t,e){if("image"!==this.type){var n=this.style,i=this.shape;i&&"line"===i.symbolType?n.stroke=t:this.__isEmptyBrush?(n.stroke=t,n.fill=e||"#fff"):(n.fill&&(n.fill=t),n.stroke&&(n.stroke=t)),this.dirty(!1)}}function bh(t,e,n,i,r,a,o){var s=0===t.indexOf("empty");s&&(t=t.substr(5,1).toLowerCase()+t.substr(6));var l;return l=0===t.indexOf("image://")?na(t.slice(8),new xn(e,n,i,r),o?"center":"cover"):0===t.indexOf("path://")?ea(t.slice(7),{},new xn(e,n,i,r),o?"center":"cover"):new FT({shape:{symbolType:t,x:e,y:n,width:i,height:r}}),l.__isEmptyBrush=s,l.setColor=wh,l.setColor(a),l}function Sh(t){return Gu(t.getSource(),t)}function Ih(t,e){var n=e;Ha.isInstance(e)||(n=new Ha(e),c(n,NT));var i=fh(n);return i.setExtent(t[0],t[1]),dh(i,n),i}function Mh(t){c(t,NT)}function Th(t,e){return Math.abs(t-e)>1^-(1&s),l=l>>1^-(1&l),s+=r,l+=a,r=s,a=l,i.push([s/n,l/n])}return i}function kh(t){return"category"===t.type?Nh(t):Rh(t)}function Ph(t,e){return"category"===t.type?Oh(t,e):{ticks:t.scale.getTicks()}}function Nh(t){var e=t.getLabelModel(),n=Eh(t,e);return!e.get("show")||t.scale.isBlank()?{labels:[],labelCategoryInterval:n.labelCategoryInterval}:n}function Eh(t,e){var n=zh(t,"labels"),i=xh(e),r=Bh(n,i);if(r)return r;var a,o;return w(i)?a=Xh(t,i):(o="auto"===i?Gh(t):i,a=Hh(t,o)),Vh(n,i,{labels:a,labelCategoryInterval:o})}function Oh(t,e){var n=zh(t,"ticks"),i=xh(e),r=Bh(n,i);if(r)return r;var a,o;if((!e.get("show")||t.scale.isBlank())&&(a=[]),w(i))a=Xh(t,i,!0);else if("auto"===i){var s=Eh(t,t.getLabelModel());o=s.labelCategoryInterval,a=p(s.labels,function(t){return t.tickValue})}else o=i,a=Hh(t,o,!0);return Vh(n,i,{ticks:a,tickCategoryInterval:o})}function Rh(t){var e=t.scale.getTicks(),n=gh(t);return{labels:p(e,function(e,i){return{formattedLabel:n(e,i),rawLabel:t.scale.getLabel(e),tickValue:e}})}}function zh(t,e){return jT(t)[e]||(jT(t)[e]=[])}function Bh(t,e){for(var n=0;n40&&(s=Math.max(1,Math.floor(o/40)));for(var l=a[0],u=t.dataToCoord(l+1)-t.dataToCoord(l),h=Math.abs(u*Math.cos(i)),c=Math.abs(u*Math.sin(i)),d=0,f=0;l<=a[1];l+=s){var p=0,g=0,m=Bn(n(l),e.font,"center","top");p=1.3*m.width,g=1.3*m.height,d=Math.max(d,p,7),f=Math.max(f,g,7)}var v=d/h,y=f/c;isNaN(v)&&(v=1/0),isNaN(y)&&(y=1/0);var x=Math.max(0,Math.floor(Math.min(v,y))),_=jT(t.model),w=_.lastAutoInterval,b=_.lastTickCount;return null!=w&&null!=b&&Math.abs(w-x)<=1&&Math.abs(b-o)<=1&&w>x?x=w:(_.lastTickCount=o,_.lastAutoInterval=x),x}function Wh(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()}}function Hh(t,e,n){function i(t){l.push(n?t:{formattedLabel:r(t),rawLabel:a.getLabel(t),tickValue:t})}var r=gh(t),a=t.scale,o=a.getExtent(),s=t.getLabelModel(),l=[],u=Math.max((e||0)+1,1),h=o[0],c=a.count();0!==h&&u>1&&c/u>2&&(h=Math.round(Math.ceil(h/u)*u));var d=_h(t),f=s.get("showMinLabel")||d,p=s.get("showMaxLabel")||d;f&&h!==o[0]&&i(o[0]);for(var g=h;g<=o[1];g+=u)i(g);return p&&g!==o[1]&&i(o[1]),l}function Xh(t,e,n){var i=t.scale,r=gh(t),a=[];return f(i.getTicks(),function(t){var o=i.getLabel(t);e(t,o)&&a.push(n?t:{formattedLabel:r(t),rawLabel:o,tickValue:t})}),a}function Yh(t,e){var n=t[1]-t[0],i=e,r=n/i/2;t[0]+=r,t[1]-=r}function jh(t,e,n,i,r){function a(t,e){return h?t>e:e>t}var o=e.length;if(t.onBand&&!i&&o){var s,l=t.getExtent();if(1===o)e[0].coord=l[0],s=e[1]={coord:l[0]};else{var u=e[1].coord-e[0].coord;f(e,function(t){t.coord-=u/2;var e=e||0;e%2>0&&(t.coord-=u/(2*(e+1)))}),s={coord:e[o-1].coord+u},e.push(s)}var h=l[0]>l[1];a(e[0].coord,l[0])&&(r?e[0].coord=l[0]:e.shift()),r&&a(l[0],e[0].coord)&&e.unshift({coord:l[0]}),a(l[1],s.coord)&&(r?s.coord=l[1]:e.pop()),r&&a(s.coord,l[1])&&e.push({coord:l[1]})}}function Zh(t){return this._axes[t]}function Uh(t){JT.call(this,t)}function qh(t,e){return e.type||(e.data?"category":"value")}function Kh(t,e){return t.getCoordSysModel()===e}function $h(t,e,n){this._coordsMap={},this._coordsList=[],this._axesMap={},this._axesList=[],this._initCartesian(t,e,n),this.model=t}function Jh(t,e,n,i){function r(t){return t.dim+"_"+t.index}n.getAxesOnZeroOf=function(){return a?[a]:[]};var a,o=t[e],s=n.model,l=s.get("axisLine.onZero"),u=s.get("axisLine.onZeroAxisIndex");if(l){if(null!=u)Qh(o[u])&&(a=o[u]);else for(var h in o)if(o.hasOwnProperty(h)&&Qh(o[h])&&!i[r(o[h])]){a=o[h];break}a&&(i[r(a)]=!0)}}function Qh(t){return t&&"category"!==t.type&&"time"!==t.type&&ph(t)}function tc(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}}function ec(t){return p(sC,function(e){var n=t.getReferringComponents(e)[0];return n})}function nc(t){return"cartesian2d"===t.get("coordinateSystem")}function ic(t,e){var n=t.mapDimension("defaultedLabel",!0),i=n.length;if(1===i)return As(t,e,n[0]);if(i){for(var r=[],a=0;a0?"bottom":"top":r.width>0?"left":"right";l||rc(t.style,d,i,u,a,n,p),wa(t,d)}function uc(t,e){var n=t.get(cC)||0;return Math.min(n,Math.abs(e.width),Math.abs(e.height))}function hc(t,e,n){var i=t.getData(),r=[],a=i.getLayout("valueAxisHorizontal")?1:0;r[1-a]=i.getLayout("valueAxisStart");var o=new pC({shape:{points:i.getLayout("largePoints")},incremental:!!n,__startPoint:r,__valueIdx:a});e.add(o),cc(o,t,i)}function cc(t,e,n){var i=n.getVisual("borderColor")||n.getVisual("color"),r=e.getModel("itemStyle").getItemStyle(["color","borderColor"]);t.useStyle(r),t.style.fill=null,t.style.stroke=i,t.style.lineWidth=n.getLayout("barWidth")}function dc(t){var e={componentType:t.mainType,componentIndex:t.componentIndex};return e[t.mainType+"Index"]=t.componentIndex,e}function fc(t,e,n,i){var r,a,o=ro(n-t.rotation),s=i[0]>i[1],l="start"===e&&!s||"start"!==e&&s;return ao(o-gC/2)?(a=l?"bottom":"top",r="center"):ao(o-1.5*gC)?(a=l?"top":"bottom",r="center"):(a="middle",r=1.5*gC>o&&o>gC/2?l?"left":"right":l?"right":"left"),{rotation:o,textAlign:r,textVerticalAlign:a}}function pc(t){var e=t.get("tooltip");return t.get("silent")||!(t.get("triggerEvent")||e&&e.show)}function gc(t,e,n){if(!_h(t.axis)){var i=t.get("axisLabel.showMinLabel"),r=t.get("axisLabel.showMaxLabel");e=e||[],n=n||[];var a=e[0],o=e[1],s=e[e.length-1],l=e[e.length-2],u=n[0],h=n[1],c=n[n.length-1],d=n[n.length-2];i===!1?(mc(a),mc(u)):vc(a,o)&&(i?(mc(o),mc(h)):(mc(a),mc(u))),r===!1?(mc(s),mc(c)):vc(l,s)&&(r?(mc(l),mc(d)):(mc(s),mc(c)))}}function mc(t){t&&(t.ignore=!0)}function vc(t,e){var n=t&&t.getBoundingRect().clone(),i=e&&e.getBoundingRect().clone();if(n&&i){var r=Te([]);return Le(r,r,-t.rotation),n.applyTransform(De([],r,t.getLocalTransform())),i.applyTransform(De([],r,e.getLocalTransform())),n.intersect(i)}}function yc(t){return"middle"===t||"center"===t}function xc(t,e,n){var i=e.axis;if(e.get("axisTick.show")&&!i.scale.isBlank()){for(var r=e.getModel("axisTick"),a=r.getModel("lineStyle"),o=r.get("length"),l=i.getTicksCoords(),u=[],h=[],c=t._transform,d=[],f=0;f=0||t===e}function Cc(t){var e=Dc(t);if(e){var n=e.axisPointerModel,i=e.axis.scale,r=n.option,a=n.get("status"),o=n.get("value");null!=o&&(o=i.parse(o));var s=Lc(n);null==a&&(r.status=s?"show":"hide");var l=i.getExtent().slice();l[0]>l[1]&&l.reverse(),(null==o||o>l[1])&&(o=l[1]),o0?n=i[0]:i[1]<0&&(n=i[1]),n}function Uc(t,e,n,i){var r=0/0;t.stacked&&(r=n.get(n.getCalculationInfo("stackedOverDimension"),i)),isNaN(r)&&(r=t.valueStart);var a=t.baseDataOffset,o=[];return o[a]=n.get(t.baseDim,i),o[1-a]=r,e.dataToPoint(o)}function qc(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}function Kc(t){return isNaN(t[0])||isNaN(t[1])}function $c(t,e,n,i,r,a,o,s,l,u){return"none"!==u&&u?Jc.apply(this,arguments):Qc.apply(this,arguments)}function Jc(t,e,n,i,r,a,o,s,l,u,h){for(var c=0,d=n,f=0;i>f;f++){var p=e[d];if(d>=r||0>d)break;if(Kc(p)){if(h){d+=a;continue}break}if(d===n)t[a>0?"moveTo":"lineTo"](p[0],p[1]);else if(l>0){var g=e[c],m="y"===u?1:0,v=(p[m]-g[m])*l;zC(VC,g),VC[m]=g[m]+v,zC(GC,p),GC[m]=p[m]-v,t.bezierCurveTo(VC[0],VC[1],GC[0],GC[1],p[0],p[1])}else t.lineTo(p[0],p[1]);c=d,d+=a}return f}function Qc(t,e,n,i,r,a,o,s,l,u,h){for(var c=0,d=n,f=0;i>f;f++){var p=e[d];if(d>=r||0>d)break;if(Kc(p)){if(h){d+=a;continue}break}if(d===n)t[a>0?"moveTo":"lineTo"](p[0],p[1]),zC(VC,p);else if(l>0){var g=d+a,m=e[g];if(h)for(;m&&Kc(e[g]);)g+=a,m=e[g];var v=.5,y=e[c],m=e[g];if(!m||Kc(m))zC(GC,p);else{Kc(m)&&!h&&(m=p),Z(BC,m,y);var x,_;if("x"===u||"y"===u){var w="x"===u?0:1;x=Math.abs(p[w]-y[w]),_=Math.abs(p[w]-m[w])}else x=Dx(p,y),_=Dx(p,m);v=_/(_+x),RC(GC,p,BC,-l*(1-v))}EC(VC,VC,s),OC(VC,VC,o),EC(GC,GC,s),OC(GC,GC,o),t.bezierCurveTo(VC[0],VC[1],GC[0],GC[1],p[0],p[1]),RC(VC,p,BC,l*v)}else t.lineTo(p[0],p[1]);c=d,d+=a}return f}function td(t,e){var n=[1/0,1/0],i=[-1/0,-1/0];if(e)for(var r=0;ri[0]&&(i[0]=a[0]),a[1]>i[1]&&(i[1]=a[1])}return{min:e?n:i,max:e?i:n}}function ed(t,e){if(t.length===e.length){for(var n=0;ne[0]?1:-1;e[0]+=i*n,e[1]-=i*n}return e}function rd(t,e,n){if(!n.valueDim)return[];for(var i=[],r=0,a=e.count();a>r;r++)i.push(Uc(n,t,e,r));return i}function ad(t,e,n,i){var r=id(t.getAxis("x")),a=id(t.getAxis("y")),o=t.getBaseAxis().isHorizontal(),s=Math.min(r[0],r[1]),l=Math.min(a[0],a[1]),u=Math.max(r[0],r[1])-s,h=Math.max(a[0],a[1])-l;if(n)s-=.5,u+=.5,l-=.5,h+=.5;else{var c=i.get("lineStyle.width")||2,d=i.get("clipOverflow")?c/2:Math.max(u,h);o?(l-=d,h+=2*d):(s-=d,u+=2*d)}var f=new Xb({shape:{x:s,y:l,width:u,height:h}});return e&&(f.shape[o?"width":"height"]=0,Oa(f,{shape:{width:u,height:h}},i)),f}function od(t,e,n,i){var r=t.getAngleAxis(),a=t.getRadiusAxis(),o=a.getExtent().slice();o[0]>o[1]&&o.reverse();var s=r.getExtent(),l=Math.PI/180;n&&(o[0]-=.5,o[1]+=.5);var u=new Rb({shape:{cx:Ja(t.cx,1),cy:Ja(t.cy,1),r0:Ja(o[0],1),r:Ja(o[1],1),startAngle:-s[0]*l,endAngle:-s[1]*l,clockwise:r.inverse}});return e&&(u.shape.endAngle=-s[0]*l,Oa(u,{shape:{endAngle:-s[1]*l}},i)),u}function sd(t,e,n,i){return"polar"===t.type?od(t,e,n,i):ad(t,e,n,i)}function ld(t,e,n){for(var i=e.getBaseAxis(),r="x"===i.dim||"radius"===i.dim?0:1,a=[],o=0;o=0;a--){var o=n[a].dimension,s=t.dimensions[o],l=t.getDimensionInfo(s);if(i=l&&l.coordDim,"x"===i||"y"===i){r=n[a];break}}if(r){var u=e.getAxis(i),h=p(r.stops,function(t){return{coord:u.toGlobalCoord(u.dataToCoord(t.value)),color:t.color}}),c=h.length,d=r.outerColors.slice();c&&h[0].coord>h[c-1].coord&&(h.reverse(),d.reverse());var g=10,m=h[0].coord-g,v=h[c-1].coord+g,y=v-m;if(.001>y)return"transparent";f(h,function(t){t.offset=(t.coord-m)/y}),h.push({offset:c?h[c-1].offset:.5,color:d[1]||"transparent"}),h.unshift({offset:c?h[0].offset:.5,color:d[0]||"transparent"});var x=new Jb(0,0,0,0,h,!0);return x[i]=m,x[i+"2"]=v,x}}}function hd(t,e,n){var i=t.get("showAllSymbol"),r="auto"===i;if(!i||r){var a=n.getAxesByScale("ordinal")[0];if(a&&(!r||!cd(a,e))){var o=e.mapDimension(a.dim),s={};return f(a.getViewLabels(),function(t){s[t.tickValue]=1 +}),function(t){return!s.hasOwnProperty(e.get(o,t))}}}}function cd(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(),a=Math.max(1,Math.round(r/5)),o=0;r>o;o+=a)if(1.5*Oc.getSymbolSize(e,o)[t.isHorizontal()?1:0]>i)return!1;return!0}function dd(t,e,n,i){var r=e.getData(),a=this.dataIndex,o=r.getName(a),s=e.get("selectedOffset");i.dispatchAction({type:"pieToggleSelect",from:t,name:o,seriesId:e.id}),r.each(function(t){fd(r.getItemGraphicEl(t),r.getItemLayout(t),e.isSelected(r.getName(t)),s,n)})}function fd(t,e,n,i,r){var a=(e.startAngle+e.endAngle)/2,o=Math.cos(a),s=Math.sin(a),l=n?i:0,u=[o*l,s*l];r?t.animate().when(200,{position:u}).start("bounceOut"):t.attr("position",u)}function pd(t,e){function n(){a.ignore=a.hoverIgnore,o.ignore=o.hoverIgnore}function i(){a.ignore=a.normalIgnore,o.ignore=o.normalIgnore}__.call(this);var r=new Rb({z2:2}),a=new Fb,o=new Pb;this.add(r),this.add(a),this.add(o),this.updateData(t,e,!0),this.on("emphasis",n).on("normal",i).on("mouseover",n).on("mouseout",i)}function gd(t,e,n,i,r,a,o){function s(e,n,i){for(var r=e;n>r;r++)if(t[r].y+=i,r>e&&n>r+1&&t[r+1].y>t[r].y+t[r].height)return void l(r,i/2);l(n-1,i/2)}function l(e,n){for(var i=e;i>=0&&(t[i].y-=n,!(i>0&&t[i].y>t[i-1].y+t[i-1].height));i--);}function u(t,e,n,i,r,a){for(var o=a>0?e?Number.MAX_VALUE:0:e?Number.MAX_VALUE:0,s=0,l=t.length;l>s;s++){var u=Math.abs(t[s].y-i),h=t[s].len,c=t[s].len2,d=r+h>u?Math.sqrt((r+h+c)*(r+h+c)-u*u):Math.abs(t[s].x-n);e&&d>=o&&(d=o-10),!e&&o>=d&&(d=o+10),t[s].x=n+d*a,o=d}}t.sort(function(t,e){return t.y-e.y});for(var h,c=0,d=t.length,f=[],p=[],g=0;d>g;g++)h=t[g].y-c,0>h&&s(g,d,-h,r),c=t[g].y+t[g].height;0>o-c&&l(d-1,c-o);for(var g=0;d>g;g++)t[g].y>=n?p.push(t[g]):f.push(t[g]);u(f,!1,e,n,i,r),u(p,!0,e,n,i,r)}function md(t,e,n,i,r,a){for(var o=[],s=[],l=0;l0?"P":"N",a=i.getVisual("borderColor"+r)||i.getVisual("color"+r),o=n.getModel(dD).getItemStyle(pD);e.useStyle(o),e.style.fill=null,e.style.stroke=a}function Cd(t,e,n,i,r){var a;return a=n>i?-1:i>n?1:e>0?t.get(r,e-1)<=i?1:-1:1}function Dd(t,e){var n,i=t.getBaseAxis(),r="category"===i.type?i.getBandWidth():(n=i.getExtent(),Math.abs(n[1]-n[0])/e.count()),a=$a(A(t.get("barMaxWidth"),r),r),o=$a(A(t.get("barMinWidth"),1),r),s=t.get("barWidth");return null!=s?$a(s,r):Math.max(Math.min(r/2,a),o)}function Ad(t,e,n){UT.call(this,t,e,n),this.type="value",this.angle=0,this.name="",this.model}function Ld(t,e,n){this._model=t,this.dimensions=[],this._indicatorAxes=p(t.getIndicatorModels(),function(t,e){var n="indicator_"+e,i=new Ad(n,new uT);return i.name=t.get("name"),i.model=t,t.axis=i,this.dimensions.push(n),i},this),this.resize(t,n),this.cx,this.cy,this.r,this.r0,this.startAngle}function kd(t,e){return s({show:e},t)}function Pd(t){return _(t)||(t=[+t,+t]),t}function Nd(){var t=_x();this.canvas=t,this.blurSize=30,this.pointSize=20,this.maxOpacity=1,this.minOpacity=0,this._gradientPixels={}}function Ed(t,e,n){var i=t[1]-t[0];e=p(e,function(e){return{interval:[(e.interval[0]-t[0])/i,(e.interval[1]-t[0])/i]}});var r=e.length,a=0;return function(t){for(var i=a;r>i;i++){var o=e[i].interval;if(o[0]<=t&&t<=o[1]){a=i;break}}if(i===r)for(var i=a-1;i>=0;i--){var o=e[i].interval;if(o[0]<=t&&t<=o[1]){a=i;break}}return i>=0&&r>i&&n[i]}}function Od(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]}}function Rd(t){var e=t.dimensions;return"lng"===e[0]&&"lat"===e[1]}function zd(t){var e=t.mainData,n=t.datas;n||(n={main:e},t.datasAttr={main:"data"}),t.datas=t.mainData=null,Hd(e,n,t),kD(n,function(n){kD(e.TRANSFERABLE_METHODS,function(e){n.wrapMethod(e,x(Bd,t))})}),e.wrapMethod("cloneShallow",x(Gd,t)),kD(e.CHANGABLE_METHODS,function(n){e.wrapMethod(n,x(Vd,t))}),N(n[e.dataType]===e)}function Bd(t,e){if(Wd(this)){var n=o({},this[PD]);n[this.dataType]=e,Hd(e,n,t)}else Xd(e,this.dataType,this[ND],t);return e}function Vd(t,e){return t.struct&&t.struct.update(this),e}function Gd(t,e){return kD(e[PD],function(n,i){n!==e&&Xd(n.cloneShallow(),i,e,t)}),e}function Fd(t){var e=this[ND];return null==t||null==e?e:e[PD][t]}function Wd(t){return t[ND]===t}function Hd(t,e,n){t[PD]={},kD(e,function(e,i){Xd(e,i,t,n)})}function Xd(t,e,n,i){n[PD][e]=t,t[ND]=n,t.dataType=e,i.struct&&(t[i.structAttr]=i.struct,i.struct[i.datasAttr[e]]=t),t.getLinkedData=Fd}function Yd(t,e,n){this.root,this.data,this._nodes=[],this.hostModel=t,this.levelModels=p(e||[],function(e){return new Ha(e,t,t.ecModel)}),this.leavesModel=new Ha(n||{},t,t.ecModel)}function jd(t,e){var n=e.children;t.parentNode!==e&&(n.push(t),t.parentNode=e)}function Zd(t){t.hierNode={defaultAncestor:null,ancestor:t,prelim:0,modifier:0,change:0,shift:0,i:0,thread:null};for(var e,n,i=[t];e=i.pop();)if(n=e.children,e.isExpand&&n.length)for(var r=n.length,a=r-1;a>=0;a--){var o=n[a];o.hierNode={defaultAncestor:null,ancestor:o,prelim:0,modifier:0,change:0,shift:0,i:a,thread:null},i.push(o)}}function Ud(t,e){var n=t.isExpand?t.children:[],i=t.parentNode.children,r=t.hierNode.i?i[t.hierNode.i-1]:null;if(n.length){Qd(t);var a=(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-a):t.hierNode.prelim=a}else r&&(t.hierNode.prelim=r.hierNode.prelim+e(t,r));t.parentNode.hierNode.defaultAncestor=tf(t,r,t.parentNode.hierNode.defaultAncestor||i[0],e)}function qd(t){var e=t.hierNode.prelim+t.parentNode.hierNode.modifier;t.setLayout({x:e},!0),t.hierNode.modifier+=t.parentNode.hierNode.modifier}function Kd(t){return arguments.length?t:of}function $d(t,e){var n={};return t-=Math.PI/2,n.x=e*Math.cos(t),n.y=e*Math.sin(t),n}function Jd(t,e){return Co(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}function Qd(t){for(var e=t.children,n=e.length,i=0,r=0;--n>=0;){var a=e[n];a.hierNode.prelim+=i,a.hierNode.modifier+=i,r+=a.hierNode.change,i+=a.hierNode.shift+r}}function tf(t,e,n,i){if(e){for(var r=t,a=t,o=a.parentNode.children[0],s=e,l=r.hierNode.modifier,u=a.hierNode.modifier,h=o.hierNode.modifier,c=s.hierNode.modifier;s=ef(s),a=nf(a),s&&a;){r=ef(r),o=nf(o),r.hierNode.ancestor=t;var d=s.hierNode.prelim+c-a.hierNode.prelim-u+i(s,a);d>0&&(af(rf(s,t,n),t,d),u+=d,l+=d),c+=s.hierNode.modifier,u+=a.hierNode.modifier,l+=r.hierNode.modifier,h+=o.hierNode.modifier}s&&!ef(r)&&(r.hierNode.thread=s,r.hierNode.modifier+=c-l),a&&!nf(o)&&(o.hierNode.thread=a,o.hierNode.modifier+=u-h,n=t)}return n}function ef(t){var e=t.children;return e.length&&t.isExpand?e[e.length-1]:t.hierNode.thread}function nf(t){var e=t.children;return e.length&&t.isExpand?e[0]:t.hierNode.thread}function rf(t,e,n){return t.hierNode.ancestor.parentNode===e.parentNode?t.hierNode.ancestor:n}function af(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 of(t,e){return t.parentNode===e.parentNode?1:2}function sf(){Yx.call(this)}function lf(t){this.name=t,this.zoomLimit,Yx.call(this),this._roamTransformable=new sf,this._rawTransformable=new sf,this._center,this._zoom}function uf(t,e,n,i){var r=n.seriesModel,a=r?r.coordinateSystem:null;return a===this?a[t](i):null}function hf(t,e,n){var i=t.target,r=i.position;r[0]+=e,r[1]+=n,i.dirty()}function cf(t,e,n,i){var r=t.target,a=t.zoomLimit,o=r.position,s=r.scale,l=t.zoom=t.zoom||1;if(l*=e,a){var u=a.min||0,h=a.max||1/0;l=Math.max(Math.min(h,l),u)}var c=l/t.zoom;t.zoom=l,o[0]-=(n-o[0])*(c-1),o[1]-=(i-o[1])*(c-1),s[0]*=c,s[1]*=c,r.dirty()}function df(t,e,n){var i=gf(t);i[e]=n}function ff(t,e,n){var i=gf(t),r=i[e];r===n&&(i[e]=null)}function pf(t,e){return!!gf(t)[e]}function gf(t){return t[RD]||(t[RD]={})}function mf(t){this.pointerChecker,this._zr=t,this._opt={};var e=y,n=e(vf,this),r=e(yf,this),a=e(xf,this),o=e(_f,this),l=e(wf,this);Px.call(this),this.setPointerChecker=function(t){this.pointerChecker=t},this.enable=function(e,u){this.disable(),this._opt=s(i(u)||{},{zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0}),null==e&&(e=!0),(e===!0||"move"===e||"pan"===e)&&(t.on("mousedown",n),t.on("mousemove",r),t.on("mouseup",a)),(e===!0||"scale"===e||"zoom"===e)&&(t.on("mousewheel",o),t.on("pinch",l))},this.disable=function(){t.off("mousedown",n),t.off("mousemove",r),t.off("mouseup",a),t.off("mousewheel",o),t.off("pinch",l)},this.dispose=this.disable,this.isDragging=function(){return this._dragging},this.isPinching=function(){return this._pinching}}function vf(t){if(!(ye(t)||t.target&&t.target.draggable)){var e=t.offsetX,n=t.offsetY;this.pointerChecker&&this.pointerChecker(t,e,n)&&(this._x=e,this._y=n,this._dragging=!0)}}function yf(t){if(this._dragging&&If("moveOnMouseMove",t,this._opt)&&"pinch"!==t.gestureEvent&&!pf(this._zr,"globalPan")){var e=t.offsetX,n=t.offsetY,i=this._x,r=this._y,a=e-i,o=n-r;this._x=e,this._y=n,this._opt.preventDefaultMouseMove&&Ox(t.event),Sf(this,"pan","moveOnMouseMove",t,{dx:a,dy:o,oldX:i,oldY:r,newX:e,newY:n})}}function xf(t){ye(t)||(this._dragging=!1)}function _f(t){var e=If("zoomOnMouseWheel",t,this._opt),n=If("moveOnMouseWheel",t,this._opt),i=t.wheelDelta,r=Math.abs(i),a=t.offsetX,o=t.offsetY;if(0!==i&&(e||n)){if(e){var s=r>3?1.4:r>1?1.2:1.1,l=i>0?s:1/s;bf(this,"zoom","zoomOnMouseWheel",t,{scale:l,originX:a,originY:o})}if(n){var u=Math.abs(i),h=(i>0?1:-1)*(u>3?.4:u>1?.15:.05);bf(this,"scrollMove","moveOnMouseWheel",t,{scrollDelta:h,originX:a,originY:o})}}}function wf(t){if(!pf(this._zr,"globalPan")){var e=t.pinchScale>1?1.1:1/1.1;bf(this,"zoom",null,t,{scale:e,originX:t.pinchX,originY:t.pinchY})}}function bf(t,e,n,i,r){t.pointerChecker&&t.pointerChecker(i,r.originX,r.originY)&&(Ox(i.event),Sf(t,e,n,i,r))}function Sf(t,e,n,i,r){r.isAvailableBehavior=y(If,null,n,i),t.trigger(e,r)}function If(t,e,n){var i=n[t];return!t||i&&(!b(i)||e.event[i+"Key"])}function Mf(t,e,n){var i=e.getComponentByElement(t.topTarget),r=i&&i.coordinateSystem;return i&&i!==n&&!zD[i.mainType]&&r&&r.model!==n}function Tf(t,e){var n=t.getItemLayout(e);return n&&!isNaN(n.x)&&!isNaN(n.y)&&"none"!==t.getItemVisual(e,"symbol")}function Cf(t,e,n){return n.itemModel=e,n.itemStyle=e.getModel("itemStyle").getItemStyle(),n.hoverItemStyle=e.getModel("emphasis.itemStyle").getItemStyle(),n.lineStyle=e.getModel("lineStyle").getLineStyle(),n.labelModel=e.getModel("label"),n.hoverLabelModel=e.getModel("emphasis.label"),n.symbolInnerColor=t.isExpand===!1&&0!==t.children.length?n.itemStyle.fill:"#fff",n}function Df(t,e,n,i,r,a){var o=!n,l=t.tree.getNodeByDataIndex(e),u=l.getModel(),a=Cf(l,u,a),h=t.tree.root,c=l.parentNode===h?l:l.parentNode||l,d=t.getItemGraphicEl(c.dataIndex),f=c.getLayout(),p=d?{x:d.position[0],y:d.position[1],rawX:d.__radialOldRawX,rawY:d.__radialOldRawY}:f,g=l.getLayout();o?(n=new Oc(t,e,a),n.attr("position",[p.x,p.y])):n.updateData(t,e,a),n.__radialOldRawX=n.__radialRawX,n.__radialOldRawY=n.__radialRawY,n.__radialRawX=g.rawX,n.__radialRawY=g.rawY,i.add(n),t.setItemGraphicEl(e,n),Ea(n,{position:[g.x,g.y]},r);var m=n.getSymbolPath();if("radial"===a.layout){var v,y,x=h.children[0],_=x.getLayout(),w=x.children.length;if(g.x===_.x&&l.isExpand===!0){var b={};b.x=(x.children[0].getLayout().x+x.children[w-1].getLayout().x)/2,b.y=(x.children[0].getLayout().y+x.children[w-1].getLayout().y)/2,v=Math.atan2(b.y-_.y,b.x-_.x),0>v&&(v=2*Math.PI+v),y=b.x<_.x,y&&(v-=Math.PI)}else v=Math.atan2(g.y-_.y,g.x-_.x),0>v&&(v=2*Math.PI+v),0===l.children.length||0!==l.children.length&&l.isExpand===!1?(y=g.x<_.x,y&&(v-=Math.PI)):(y=g.x>_.x,y||(v-=Math.PI));var S=y?"left":"right";m.setStyle({textPosition:S,textRotation:-v,textOrigin:"center",verticalAlign:"middle"})}if(l.parentNode&&l.parentNode!==h){var I=n.__edge;I||(I=n.__edge=new Ub({shape:Lf(a,p,p),style:s({opacity:0,strokeNoScale:!0},a.lineStyle)})),Ea(I,{shape:Lf(a,f,g),style:{opacity:1}},r),i.add(I)}}function Af(t,e,n,i,r,a){for(var o,s=t.tree.getNodeByDataIndex(e),l=t.tree.root,u=s.getModel(),a=Cf(s,u,a),h=s.parentNode===l?s:s.parentNode||s;o=h.getLayout(),null==o;)h=h.parentNode===l?h:h.parentNode||h;Ea(n,{position:[o.x+1,o.y+1]},r,function(){i.remove(n),t.setItemGraphicEl(e,null)}),n.fadeOut(null,{keepLabel:!0});var c=n.__edge;c&&Ea(c,{shape:Lf(a,o,o),style:{opacity:0}},r,function(){i.remove(c)})}function Lf(t,e,n){var i,r,a,o,s,l,u,h,c=t.orient;if("radial"===t.layout){s=e.rawX,u=e.rawY,l=n.rawX,h=n.rawY;var d=$d(s,u),f=$d(s,u+(h-u)*t.curvature),p=$d(l,h+(u-h)*t.curvature),g=$d(l,h);return{x1:d.x,y1:d.y,x2:g.x,y2:g.y,cpx1:f.x,cpy1:f.y,cpx2:p.x,cpy2:p.y}}return s=e.x,u=e.y,l=n.x,h=n.y,("LR"===c||"RL"===c)&&(i=s+(l-s)*t.curvature,r=u,a=l+(s-l)*t.curvature,o=h),("TB"===c||"BT"===c)&&(i=s,r=u+(h-u)*t.curvature,a=l,o=h+(u-h)*t.curvature),{x1:s,y1:u,x2:l,y2:h,cpx1:i,cpy1:r,cpx2:a,cpy2:o}}function kf(t,e,n){var i=t.getZoom(),r=t.getCenter(),a=e.zoom,o=t.dataToPoint(r);if(null!=e.dx&&null!=e.dy){o[0]-=e.dx,o[1]-=e.dy;var r=t.pointToData(o);t.setCenter(r)}if(null!=a){if(n){var s=n.min||0,l=n.max||1/0;a=Math.max(Math.min(i*a,l),s)/i}t.scale[0]*=a,t.scale[1]*=a;var u=t.position,h=(e.originX-u[0])*(a-1),c=(e.originY-u[1])*(a-1);u[0]-=h,u[1]-=c,t.updateTransform();var r=t.pointToData(o);t.setCenter(r),t.setZoom(a*i)}return{center:t.getCenter(),zoom:t.getZoom()}}function Pf(t,e,n){for(var i,r=[t],a=[];i=r.pop();)if(a.push(i),i.isExpand){var o=i.children;if(o.length)for(var s=0;s=0;a--)i.push(r[a])}}function Ef(t,e){var n=Jd(t,e);t.layoutInfo=n;var i=t.get("layout"),r=0,a=0,o=null;"radial"===i?(r=2*Math.PI,a=Math.min(n.height,n.width)/2,o=Kd(function(t,e){return(t.parentNode===e.parentNode?1:2)/t.depth})):(r=n.width,a=n.height,o=Kd());var s=t.getData().tree.root,l=s.children[0];if(l){Zd(s),Pf(l,Ud,o),s.hierNode.modifier=-l.hierNode.prelim,Nf(l,qd);var u=l,h=l,c=l;Nf(l,function(t){var e=t.getLayout().x;eh.getLayout().x&&(h=t),t.depth>c.depth&&(c=t)});var d=u===h?1:o(u,h)/2,f=d-u.getLayout().x,p=0,g=0,m=0,v=0;if("radial"===i)p=r/(h.getLayout().x+d+f),g=a/(c.depth-1||1),Nf(l,function(t){m=(t.getLayout().x+f)*p,v=(t.depth-1)*g;var e=$d(m,v);t.setLayout({x:e.x,y:e.y,rawX:m,rawY:v},!0)});else{var y=t.getOrient();"RL"===y||"LR"===y?(g=a/(h.getLayout().x+d+f),p=r/(c.depth-1||1),Nf(l,function(t){v=(t.getLayout().x+f)*g,m="LR"===y?(t.depth-1)*p:r-(t.depth-1)*p,t.setLayout({x:m,y:v},!0)})):("TB"===y||"BT"===y)&&(p=r/(h.getLayout().x+d+f),g=a/(c.depth-1||1),Nf(l,function(t){m=(t.getLayout().x+f)*p,v="TB"===y?(t.depth-1)*g:a-(t.depth-1)*g,t.setLayout({x:m,y:v},!0)}))}}}function Of(t,e,n){if(t&&u(e,t.type)>=0){var i=n.getData().tree.root,r=t.targetNode;if("string"==typeof r&&(r=i.getNodeById(r)),r&&i.contains(r))return{node:r};var a=t.targetNodeId;if(null!=a&&(r=i.getNodeById(a)))return{node:r}}}function Rf(t){for(var e=[];t;)t=t.parentNode,t&&e.push(t);return e.reverse()}function zf(t,e){var n=Rf(t);return u(n,e)>=0}function Bf(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}function Vf(t){var e=0;f(t.children,function(t){Vf(t);var n=t.value;_(n)&&(n=n[0]),e+=n});var n=t.value;_(n)&&(n=n[0]),(null==n||isNaN(n))&&(n=e),0>n&&(n=0),_(t.value)?t.value[0]=n:t.value=n}function Gf(t,e){var n=e.get("color");if(n){t=t||[];var i;if(f(t,function(t){var e=new Ha(t),n=e.get("color");(e.get("itemStyle.color")||n&&"none"!==n)&&(i=!0)}),!i){var r=t[0]||(t[0]={});r.color=n.slice()}return t}}function Ff(t){this.group=new __,t.add(this.group)}function Wf(t,e,n,i,r,a){var o=[[r?t:t-FD,e],[t+n,e],[t+n,e+i],[r?t:t-FD,e+i]];return!a&&o.splice(2,0,[t+n+FD,e+i/2]),!r&&o.push([t,e+i/2]),o}function Hf(t,e,n){t.eventData={componentType:"series",componentSubType:"treemap",componentIndex:e.componentIndex,seriesIndex:e.componentIndex,seriesName:e.name,seriesType:"treemap",selfType:"breadcrumb",nodeData:{dataIndex:n&&n.dataIndex,name:n&&n.name},treePathInfo:n&&Bf(n,e)}}function Xf(){var t,e=[],n={};return{add:function(t,i,r,a,o){return b(a)&&(o=a,a=0),n[t.id]?!1:(n[t.id]=1,e.push({el:t,target:i,time:r,delay:a,easing:o}),!0)},done:function(e){return t=e,this},start:function(){function i(){r--,r||(e.length=0,n={},t&&t())}for(var r=e.length,a=0,o=e.length;o>a;a++){var s=e[a];s.el.animateTo(s.target,s.time,s.delay,s.easing,i)}return this}}}function Yf(){return{nodeGroup:[],background:[],content:[]}}function jf(t,e,n,r,a,s,l,u,h,c){function d(e,n,i){n.dataIndex=l.dataIndex,n.seriesIndex=t.seriesIndex,n.setShape({x:0,y:0,width:_,height:w});var r=l.getVisual("borderColor",!0),a=k.get("borderColor");p(n,function(){var t=eA(L);t.fill=r;var e=tA(k);if(e.fill=a,i){var o=_-2*b;g(t,e,r,o,C,{x:b,y:0,width:o,height:C})}else t.text=e.text=null;n.setStyle(t),wa(n,e)}),e.add(n)}function f(e,n){n.dataIndex=l.dataIndex,n.seriesIndex=t.seriesIndex;var i=Math.max(_-2*b,0),r=Math.max(w-2*b,0);n.culling=!0,n.setShape({x:b,y:b,width:i,height:r});var a=l.getVisual("color",!0);p(n,function(){var t=eA(L);t.fill=a;var e=tA(k);g(t,e,a,i,r),n.setStyle(t),wa(n,e)}),e.add(n)}function p(t,e){S?!t.invisible&&s.push(t):(e(),t.__tmWillVisible||(t.invisible=!1))}function g(e,n,r,a,o,s){var u=l.getModel(),h=D(t.getFormattedLabel(l.dataIndex,"normal",null,null,s?"upperLabel":"label"),u.get("name"));if(!s&&x.isLeafRoot){var c=t.get("drillDownIcon",!0);h=c?c+" "+h:h}var d=u.getModel(s?qD:ZD),f=u.getModel(s?KD:UD),p=d.getShallow("show");Sa(e,n,d,f,{defaultText:p?h:null,autoColor:r,isRectText:!0}),s&&(e.textRect=i(s)),e.truncate=p&&d.get("ellipsis")?{outerWidth:a,outerHeight:o,minChar:2}:null}function m(t,i,r,o){var s=null!=M&&n[t][M],l=a[t];return s?(n[t][M]=null,v(l,s,t)):S||(s=new i({z:Zf(r,o)}),s.__tmDepth=r,s.__tmStorageName=t,y(l,s,t)),e[t][I]=s}function v(t,e,n){var i=t[I]={};i.old="nodeGroup"===n?e.position.slice():o({},e.shape)}function y(t,e,n){var i=t[I]={},o=l.parentNode;if(o&&(!r||"drillDown"===r.direction)){var s=0,u=0,h=a.background[o.getRawIndex()];!r&&h&&h.old&&(s=h.old.width,u=h.old.height),i.old="nodeGroup"===n?[0,u]:{x:s,y:u,width:0,height:0}}i.fadein="nodeGroup"!==n}if(l){var x=l.getLayout();if(x&&x.isInView){var _=x.width,w=x.height,b=x.borderWidth,S=x.invisible,I=l.getRawIndex(),M=u&&u.getRawIndex(),T=l.viewChildren,C=x.upperHeight,A=T&&T.length,L=l.getModel("itemStyle"),k=l.getModel("emphasis.itemStyle"),P=m("nodeGroup",HD);if(P){if(h.add(P),P.attr("position",[x.x||0,x.y||0]),P.__tmNodeWidth=_,P.__tmNodeHeight=w,x.isAboveViewRoot)return P;var N=m("background",XD,c,JD);if(N&&d(P,N,A&&x.upperHeight),!A){var E=m("content",XD,c,QD);E&&f(P,E)}return P}}}}function Zf(t,e){var n=t*$D+e;return(n-1)/n}function Uf(t){var e=t.pieceList;t.hasSpecialVisual=!1,f(e,function(e,n){e.originIndex=n,null!=e.visual&&(t.hasSpecialVisual=!0)})}function qf(t){var e=t.categories,n=t.visual,i=t.categoryMap={};if(aA(e,function(t,e){i[t]=e}),!_(n)){var r=[];S(n)?aA(n,function(t,e){var n=i[e];r[null!=n?n:sA]=t}):r[sA]=n,n=rp(t,r)}for(var a=e.length-1;a>=0;a--)null==n[a]&&(delete i[e[a]],e.pop())}function Kf(t,e){var n=t.visual,i=[];S(n)?aA(n,function(t){i.push(t)}):null!=n&&i.push(n);var r={color:1,symbol:1};e||1!==i.length||r.hasOwnProperty(t.type)||(i[1]=i[0]),rp(t,i)}function $f(t){return{applyVisual:function(e,n,i){e=this.mapValueToVisual(e),i("color",t(n("color"),e))},_doMap:np([0,1])}}function Jf(t){var e=this.option.visual;return e[Math.round(Ka(t,[0,1],[0,e.length-1],!0))]||{}}function Qf(t){return function(e,n,i){i(t,this.mapValueToVisual(e))}}function tp(t){var e=this.option.visual;return e[this.option.loop&&t!==sA?t%e.length:t]}function ep(){return this.option.visual[0]}function np(t){return{linear:function(e){return Ka(e,t,this.option.visual,!0)},category:tp,piecewise:function(e,n){var i=ip.call(this,n);return null==i&&(i=Ka(e,t,this.option.visual,!0)),i},fixed:ep}}function ip(t){var e=this.option,n=e.pieceList;if(e.hasSpecialVisual){var i=lA.findPieceIndex(t,n),r=n[i];if(r&&r.visual)return r.visual[this.type]}}function rp(t,e){return t.visual=e,"color"===t.type&&(t.parsedVisual=p(e,function(t){return je(t)})),e}function ap(t,e,n){return t?n>=e:n>e}function op(t,e,n,i,r,a){var o=t.getModel(),s=t.getLayout();if(s&&!s.invisible&&s.isInView){var l,u=t.getModel(dA),h=n[t.depth],c=sp(u,e,h,i),d=u.get("borderColor"),p=u.get("borderColorSaturation");null!=p&&(l=lp(c,t),d=up(p,l)),t.setVisual("borderColor",d);var g=t.viewChildren;if(g&&g.length){var m=cp(t,o,s,u,c,g);f(g,function(t,e){if(t.depth>=r.length||t===r[t.depth]){var s=fp(o,c,t,e,m,a);op(t,s,n,i,r,a)}})}else l=lp(c,t),t.setVisual("color",l)}}function sp(t,e,n,i){var r=o({},e);return f(["color","colorAlpha","colorSaturation"],function(a){var o=t.get(a,!0);null==o&&n&&(o=n[a]),null==o&&(o=e[a]),null==o&&(o=i.get(a)),null!=o&&(r[a]=o)}),r}function lp(t){var e=hp(t,"color");if(e){var n=hp(t,"colorAlpha"),i=hp(t,"colorSaturation");return i&&(e=Qe(e,null,null,i)),n&&(e=tn(e,n)),e}}function up(t,e){return null!=e?Qe(e,null,null,t):null}function hp(t,e){var n=t[e];return null!=n&&"none"!==n?n:void 0}function cp(t,e,n,i,r,a){if(a&&a.length){var o=dp(e,"color")||null!=r.color&&"none"!==r.color&&(dp(e,"colorAlpha")||dp(e,"colorSaturation"));if(o){var s=e.get("visualMin"),l=e.get("visualMax"),u=n.dataExtent.slice();null!=s&&su[1]&&(u[1]=l);var h=e.get("colorMappingBy"),c={type:o.name,dataExtent:u,visual:o.range};"color"!==c.type||"index"!==h&&"id"!==h?c.mappingMethod="linear":(c.mappingMethod="category",c.loop=!0);var d=new lA(c);return d.__drColorMappingBy=h,d}}}function dp(t,e){var n=t.get(e);return cA(n)&&n.length?{name:e,range:n}:null}function fp(t,e,n,i,r,a){var s=o({},e);if(r){var l=r.type,u="color"===l&&r.__drColorMappingBy,h="index"===u?i:"id"===u?a.mapIdToIndex(n.getId()):n.getValue(t.get("visualDimension"));s[l]=r.mapValueToVisual(h)}return s}function pp(t,e,n,i){var r,a;if(!t.isRemoved()){var o=t.getLayout();r=o.width,a=o.height;var s=t.getModel(),l=s.get(yA),u=s.get(xA)/2,h=Ip(s),c=Math.max(l,h),d=l-u,f=c-u,s=t.getModel();t.setLayout({borderWidth:l,upperHeight:c,upperLabelHeight:h},!0),r=pA(r-2*d,0),a=pA(a-d-f,0);var p=r*a,g=gp(t,s,p,e,n,i);if(g.length){var m={x:d,y:f,width:r,height:a},v=gA(r,a),y=1/0,x=[];x.area=0;for(var _=0,w=g.length;w>_;){var b=g[_];x.push(b),x.area+=b.getLayout().area;var S=xp(x,v,e.squareRatio);y>=S?(_++,y=S):(x.area-=x.pop().getLayout().area,_p(x,v,m,u,!1),v=gA(m.width,m.height),x.length=x.area=0,y=1/0)}if(x.length&&_p(x,v,m,u,!0),!n){var I=s.get("childrenVisibleMin");null!=I&&I>p&&(n=!0)}for(var _=0,w=g.length;w>_;_++)pp(g[_],e,n,i+1)}}}function gp(t,e,n,i,r,a){var o=t.children||[],s=i.sort;"asc"!==s&&"desc"!==s&&(s=null);var l=null!=i.leafDepth&&i.leafDepth<=a;if(r&&!l)return t.viewChildren=[];o=m(o,function(t){return!t.isRemoved()}),vp(o,s);var u=yp(e,o,s);if(0===u.sum)return t.viewChildren=[];if(u.sum=mp(e,n,u.sum,s,o),0===u.sum)return t.viewChildren=[];for(var h=0,c=o.length;c>h;h++){var d=o[h].getValue()/u.sum*n;o[h].setLayout({area:d})}return l&&(o.length&&t.setLayout({isLeafRoot:!0},!0),o.length=0),t.viewChildren=o,t.setLayout({dataExtent:u.dataExtent},!0),o}function mp(t,e,n,i,r){if(!i)return n;for(var a=t.get("visibleMin"),o=r.length,s=o,l=o-1;l>=0;l--){var u=r["asc"===i?o-l-1:l].getValue();a>u/n*e&&(s=l,n-=u)}return"asc"===i?r.splice(0,o-s):r.splice(s,o-s),n}function vp(t,e){return e&&t.sort(function(t,n){var i="asc"===e?t.getValue()-n.getValue():n.getValue()-t.getValue();return 0===i?"asc"===e?t.dataIndex-n.dataIndex:n.dataIndex-t.dataIndex:i}),t}function yp(t,e,n){for(var i=0,r=0,a=e.length;a>r;r++)i+=e[r].getValue();var o,s=t.get("visualDimension");if(e&&e.length)if("value"===s&&n)o=[e[e.length-1].getValue(),e[0].getValue()],"asc"===n&&o.reverse();else{var o=[1/0,-1/0];vA(e,function(t){var e=t.getValue(s);eo[1]&&(o[1]=e)})}else o=[0/0,0/0];return{sum:i,dataExtent:o}}function xp(t,e,n){for(var i,r=0,a=1/0,o=0,s=t.length;s>o;o++)i=t[o].getLayout().area,i&&(a>i&&(a=i),i>r&&(r=i));var l=t.area*t.area,u=e*e*n;return l?pA(u*r/l,l/(u*a)):1/0}function _p(t,e,n,i,r){var a=e===n.width?0:1,o=1-a,s=["x","y"],l=["width","height"],u=n[s[a]],h=e?t.area/e:0;(r||h>n[l[o]])&&(h=n[l[o]]);for(var c=0,d=t.length;d>c;c++){var f=t[c],p={},g=h?f.getLayout().area/h:0,m=p[l[o]]=pA(h-2*i,0),v=n[s[a]]+n[l[a]]-u,y=c===d-1||g>v?v:g,x=p[l[a]]=pA(y-2*i,0);p[s[o]]=n[s[o]]+gA(i,m/2),p[s[a]]=u+gA(i,x/2),u+=y,f.setLayout(p,!0)}n[s[o]]+=h,n[l[o]]-=h}function wp(t,e,n,i,r){var a=(e||{}).node,o=[i,r];if(!a||a===n)return o;for(var s,l=i*r,u=l*t.option.zoomToNodeRatio;s=a.parentNode;){for(var h=0,c=s.children,d=0,f=c.length;f>d;d++)h+=c[d].getValue();var p=a.getValue();if(0===p)return o;u*=h/p;var g=s.getModel(),m=g.get(yA),v=Math.max(m,Ip(g,m));u+=4*m*m+(3*m+v)*Math.pow(u,.5),u>yS&&(u=yS),a=s}l>u&&(u=l);var y=Math.pow(u/l,.5);return[i*y,r*y]}function bp(t,e,n){if(e)return{x:e.x,y:e.y};var i={x:0,y:0};if(!n)return i;var r=n.node,a=r.getLayout();if(!a)return i;for(var o=[a.width/2,a.height/2],s=r;s;){var l=s.getLayout();o[0]+=l.x,o[1]+=l.y,s=s.parentNode}return{x:t.width/2-o[0],y:t.height/2-o[1]}}function Sp(t,e,n,i,r){var a=t.getLayout(),o=n[r],s=o&&o===t;if(!(o&&!s||r===n.length&&t!==i)){t.setLayout({isInView:!0,invisible:!s&&!e.intersect(a),isAboveViewRoot:s},!0);var l=new xn(e.x-a.x,e.y-a.y,e.width,e.height);vA(t.viewChildren||[],function(t){Sp(t,l,n,i,r+1)})}}function Ip(t){return t.get(_A)?t.get(wA):0}function Mp(t){var e=0;f(t.children,function(t){Mp(t);var n=t.value;_(n)&&(n=n[0]),e+=n});var n=t.value;_(n)&&(n=n[0]),(null==n||isNaN(n))&&(n=e),0>n&&(n=0),_(t.value)?t.value[0]=n:t.value=n}function Tp(t,e,n){function i(){o.ignore=o.hoverIgnore}function r(){o.ignore=o.normalIgnore}__.call(this);var a=new Rb({z2:IA});a.seriesIndex=e.seriesIndex;var o=new Pb({z2:MA,silent:t.getModel("label").get("silent")});this.add(a),this.add(o),this.updateData(!0,t,"normal",e,n),this.on("emphasis",i).on("normal",r).on("mouseover",i).on("mouseout",r)}function Cp(t,e,n){var i=t.getVisual("color"),r=t.getVisual("visualMeta");r&&0!==r.length||(i=null);var a=t.getModel("itemStyle").get("color");if(a)return a;if(i)return i;if(0===t.depth)return n.option.color[0];var o=n.option.color.length;return a=n.option.color[Dp(t)%o]}function Dp(t){for(var e=t;e.depth>1;)e=e.parentNode;var n=t.getAncestors()[0];return u(n.children,e)}function Ap(t,e,n){return n===SA.NONE?!1:n===SA.SELF?t===e:n===SA.ANCESTOR?t===e||t.isAncestorOf(e):t===e||t.isDescendantOf(e)}function Lp(t,e,n){var i=e.getData();i.setItemVisual(t.dataIndex,"color",n)}function kp(t,e){var n=t.children||[];t.children=Pp(n,e),n.length&&f(t.children,function(t){kp(t,e)})}function Pp(t,e){if("function"==typeof e)return t.sort(e);var n="asc"===e;return t.sort(function(t,e){var i=(t.getValue()-e.getValue())*(n?1:-1);return 0===i?(t.dataIndex-e.dataIndex)*(n?-1:1):i})}function Np(t){for(var e,n=0;n1?(f.width=l,f.height=l/c):(f.height=l,f.width=l*c),f.y=s[1]-f.height/2,f.x=s[0]-f.width/2}else a=t.getBoxLayoutParams(),a.aspect=c,f=Co(a,{width:u,height:h});this.setViewRect(f.x,f.y,f.width,f.height),this.setCenter(t.get("center")),this.setZoom(t.get("zoom"))}function jp(t,e){f(e.get("geoCoord"),function(e,n){t.addGeoCoord(n,e)})}function Zp(t,e){var n={};return f(t,function(t){t.each(t.mapDimension("value"),function(e,i){var r="ec-"+t.getName(i);n[r]=n[r]||[],isNaN(e)||n[r].push(e)})}),t[0].map(t[0].mapDimension("value"),function(i,r){for(var a="ec-"+t[0].getName(r),o=0,s=1/0,l=-1/0,u=n[a].length,h=0;u>h;h++)s=Math.min(s,n[a][h]),l=Math.max(l,n[a][h]),o+=n[a][h];var c;return c="min"===e?s:"max"===e?l:"average"===e?o/u:o,0===u?0/0:c})}function Up(t){var e=t.data; +e&&e[0]&&e[0][0]&&e[0][0].coord&&(t.data=p(e,function(t){var e=[t[0].coord,t[1].coord],n={coords:e};return t[0].name&&(n.fromName=t[0].name),t[1].name&&(n.toName=t[1].name),a([n,t[0],t[1]])}))}function qp(t){return isNaN(+t.cpx1)||isNaN(+t.cpy1)}function Kp(t){return"_"+t+"Type"}function $p(t,e,n){var i=e.getItemVisual(n,"color"),r=e.getItemVisual(n,t),a=e.getItemVisual(n,t+"Size");if(r&&"none"!==r){_(a)||(a=[a,a]);var o=bh(r,-a[0]/2,-a[1]/2,a[0],a[1],i);return o.name=t,o}}function Jp(t){var e=new uL({name:"line"});return Qp(e.shape,t),e}function Qp(t,e){var n=e[0],i=e[1],r=e[2];t.x1=n[0],t.y1=n[1],t.x2=i[0],t.y2=i[1],t.percent=1,r?(t.cpx1=r[0],t.cpy1=r[1]):(t.cpx1=0/0,t.cpy1=0/0)}function tg(){var t=this,e=t.childOfName("fromSymbol"),n=t.childOfName("toSymbol"),i=t.childOfName("label");if(e||n||!i.ignore){for(var r=1,a=this.parent;a;)a.scale&&(r/=a.scale[0]),a=a.parent;var o=t.childOfName("line");if(this.__dirty||o.__dirty){var s=o.shape.percent,l=o.pointAt(0),u=o.pointAt(s),h=Z([],u,l);if(te(h,h),e){e.attr("position",l);var c=o.tangentAt(0);e.attr("rotation",Math.PI/2-Math.atan2(c[1],c[0])),e.attr("scale",[r*s,r*s])}if(n){n.attr("position",u);var c=o.tangentAt(1);n.attr("rotation",-Math.PI/2-Math.atan2(c[1],c[0])),n.attr("scale",[r*s,r*s])}if(!i.ignore){i.attr("position",u);var d,f,p,g=5*r;if("end"===i.__position)d=[h[0]*g+u[0],h[1]*g+u[1]],f=h[0]>.8?"left":h[0]<-.8?"right":"center",p=h[1]>.8?"top":h[1]<-.8?"bottom":"middle";else if("middle"===i.__position){var m=s/2,c=o.tangentAt(m),v=[c[1],-c[0]],y=o.pointAt(m);v[1]>0&&(v[0]=-v[0],v[1]=-v[1]),d=[y[0]+v[0]*g,y[1]+v[1]*g],f="center",p="bottom";var x=-Math.atan2(c[1],c[0]);u[0].8?"right":h[0]<-.8?"left":"center",p=h[1]>.8?"bottom":h[1]<-.8?"top":"middle";i.attr({style:{textVerticalAlign:i.__verticalAlign||p,textAlign:i.__textAlign||f},position:d,scale:[r,r]})}}}}function eg(t,e,n){__.call(this),this._createLine(t,e,n)}function ng(t){this._ctor=t||eg,this.group=new __}function ig(t,e,n,i){var r=e.getItemLayout(n);if(sg(r)){var a=new t._ctor(e,n,i);e.setItemGraphicEl(n,a),t.group.add(a)}}function rg(t,e,n,i,r,a){var o=e.getItemGraphicEl(i);return sg(n.getItemLayout(r))?(o?o.updateData(n,r,a):o=new t._ctor(n,r,a),n.setItemGraphicEl(r,o),void t.group.add(o)):void t.group.remove(o)}function ag(t){var e=t.hostModel;return{lineStyle:e.getModel("lineStyle").getLineStyle(),hoverLineStyle:e.getModel("emphasis.lineStyle").getLineStyle(),labelModel:e.getModel("label"),hoverLabelModel:e.getModel("emphasis.label")}}function og(t){return isNaN(t[0])||isNaN(t[1])}function sg(t){return!og(t[0])&&!og(t[1])}function lg(t,e,n){__.call(this),this.add(this.createLine(t,e,n)),this._updateEffectSymbol(t,e)}function ug(t,e,n){__.call(this),this._createPolyline(t,e,n)}function hg(t,e,n){lg.call(this,t,e,n),this._lastFrame=0,this._lastFramePercent=0}function cg(){this.group=new __}function dg(t){return t instanceof Array||(t=[t,t]),t}function fg(t){return"_EC_"+t}function pg(t,e){this.id=null==t?"":t,this.inEdges=[],this.outEdges=[],this.edges=[],this.hostGraph,this.dataIndex=null==e?-1:e}function gg(t,e,n){this.node1=t,this.node2=e,this.dataIndex=null==n?-1:n}function mg(t,e,n){for(var i,r=t[0],a=t[1],o=t[2],s=1/0,l=n*n,u=.1,h=.1;.9>=h;h+=.1){TL[0]=AL(r[0],a[0],o[0],h),TL[1]=AL(r[1],a[1],o[1],h);var c=kL(LL(TL,e)-l);s>c&&(s=c,i=h)}for(var d=0;32>d;d++){var f=i+u;CL[0]=AL(r[0],a[0],o[0],i),CL[1]=AL(r[1],a[1],o[1],i),DL[0]=AL(r[0],a[0],o[0],f),DL[1]=AL(r[1],a[1],o[1],f);var c=LL(CL,e)-l;if(kL(c)<.01)break;var p=LL(DL,e)-l;u/=2,0>c?p>=0?i+=u:i-=u:p>=0?i-=u:i+=u}return i}function vg(t,e){return t.getVisual("opacity")||t.getModel().get(e)}function yg(t,e,n){var i=t.getGraphicEl(),r=vg(t,e);null!=n&&(null==r&&(r=1),r*=n),i.downplay&&i.downplay(),i.traverse(function(t){if("group"!==t.type){var e=t.lineLabelOriginalOpacity;(null==e||null!=n)&&(e=r),t.setStyle("opacity",e)}})}function xg(t,e){var n=vg(t,e),i=t.getGraphicEl();i.highlight&&i.highlight(),i.traverse(function(t){"group"!==t.type&&t.setStyle("opacity",n)})}function _g(t){return t instanceof Array||(t=[t,t]),t}function wg(t){var e=t.coordinateSystem;if(!e||"view"===e.type){var n=t.getGraph();n.eachNode(function(t){var e=t.getModel();t.setLayout([+e.get("x"),+e.get("y")])}),bg(n)}}function bg(t){t.eachEdge(function(t){var e=t.getModel().get("lineStyle.curveness")||0,n=H(t.node1.getLayout()),i=H(t.node2.getLayout()),r=[n,i];+e&&r.push([(n[0]+i[0])/2-(n[1]-i[1])*e,(n[1]+i[1])/2-(i[0]-n[0])*e]),t.setLayout(r)})}function Sg(t){var e=t.coordinateSystem;if(!e||"view"===e.type){var n=e.getBoundingRect(),i=t.getData(),r=i.graph,a=0,o=i.getSum("value"),s=2*Math.PI/(o||i.count()),l=n.width/2+n.x,u=n.height/2+n.y,h=Math.min(n.width,n.height)/2;r.eachNode(function(t){var e=t.getValue("value");a+=s*(o?e:1)/2,t.setLayout([h*Math.cos(a)+l,h*Math.sin(a)+u]),a+=s*(o?e:1)/2}),i.setLayout({cx:l,cy:u}),r.eachEdge(function(t){var e,n=t.getModel().get("lineStyle.curveness")||0,i=H(t.node1.getLayout()),r=H(t.node2.getLayout()),a=(i[0]+r[0])/2,o=(i[1]+r[1])/2;+n&&(n*=3,e=[l*n+a*(1-n),u*n+o*(1-n)]),t.setLayout([i,r,e])})}}function Ig(t,e,n){for(var i=n.rect,r=i.width,a=i.height,o=[i.x+r/2,i.y+a/2],s=null==n.gravity?.1:n.gravity,l=0;la;a++){var p=t[a];p.fixed||(Z(i,o,p.p),HL(p.p,p.p,i,s*h))}for(var a=0;r>a;a++)for(var u=t[a],g=a+1;r>g;g++){var c=t[g];Z(i,c.p,u.p);var d=U(i);0===d&&(X(i,Math.random()-.5,Math.random()-.5),d=1);var m=(u.rep+c.rep)/d/d;!u.fixed&&HL(u.pp,u.pp,i,m),!c.fixed&&HL(c.pp,c.pp,i,-m)}for(var v=[],a=0;r>a;a++){var p=t[a];p.fixed||(Z(v,p.p,p.pp),HL(p.p,p.p,v,h),W(p.pp,p.p))}h=.992*h,n&&n(t,e,.01>h)}}}function Mg(t,e,n){var i=t.getBoxLayoutParams();return i.aspect=n,Co(i,{width:e.getWidth(),height:e.getHeight()})}function Tg(t,e,n,i,r){var a=t.ends,o=new qL({shape:{points:r?Dg(a,i,t):a}});return Cg(t,o,e,n,r),o}function Cg(t,e,n,i,r){var a=n.hostModel,o=uS[r?"initProps":"updateProps"];o(e,{shape:{points:t.ends}},a,i);var s=n.getItemModel(i),l=s.getModel(ZL),u=n.getItemVisual(i,"color"),h=l.getItemStyle(["borderColor"]);h.stroke=u,h.strokeNoScale=!0,e.useStyle(h),e.z2=100;var c=s.getModel(UL).getItemStyle();wa(e,c)}function Dg(t,e,n){return p(t,function(t){return t=t.slice(),t[e]=n.initBaseline,t})}function Ag(t){var e=[],n=[];return t.eachSeriesByType("boxplot",function(t){var i=t.getBaseAxis(),r=u(n,i);0>r&&(r=n.length,n[r]=i,e[r]={axis:i,seriesModels:[]}),e[r].seriesModels.push(t)}),e}function Lg(t){var e,n,i=t.axis,r=t.seriesModels,a=r.length,o=t.boxWidthList=[],s=t.boxOffsetList=[],l=[];if("category"===i.type)n=i.getBandWidth();else{var u=0;JL(r,function(t){u=Math.max(u,t.getData().count())}),e=i.getExtent(),Math.abs(e[1]-e[0])/u}JL(r,function(t){var e=t.get("boxWidth");_(e)||(e=[e,e]),l.push([$a(e[0],n)||0,$a(e[1],n)||0])});var h=.8*n-2,c=h/a*.3,d=(h-c*(a-1))/a,f=d/2-h/2;JL(r,function(t,e){s.push(f),f+=c+d,o.push(Math.min(Math.max(d,l[e][0]),l[e][1]))})}function kg(t,e,n){function i(t,n,i){var r=s.get(n,i),a=[];a[u]=t,a[h]=r;var l;return isNaN(t)||isNaN(r)?l=[0/0,0/0]:(l=o.dataToPoint(a),l[u]+=e),l}function r(t,e,n){var i=e.slice(),r=e.slice();i[u]+=l,r[u]-=l,n?t.push(i,r):t.push(r,i)}function a(t,e){var n=e.slice(),i=e.slice();n[u]-=l,i[u]+=l,t.push(n,i)}var o=t.coordinateSystem,s=t.getData(),l=n/2,u="horizontal"===t.get("layout")?0:1,h=1-u,c=["x","y"],d=s.mapDimension(c[u]),f=s.mapDimension(c[h],!0);if(!(null==d||f.length<5))for(var p=0;p0?-1:0>n?1:e?-1:1}}function Og(t,e){return Math.min(e[1],Math.max(e[0],t))}function Rg(t,e,n){this._axesMap=B(),this._axesLayout={},this.dimensions=t.dimensions,this._rect,this._model=t,this._init(t,e,n)}function zg(t,e){return rk(ak(t,e[0]),e[1])}function Bg(t,e){var n=e.layoutLength/(e.axisCount-1);return{position:n*t,axisNameAvailableWidth:n,axisLabelShow:!0}}function Vg(t,e){var n,i,r=e.layoutLength,a=e.axisExpandWidth,o=e.axisCount,s=e.axisCollapseWidth,l=e.winInnerIndices,u=s,h=!1;return t_k}function nm(t){var e=t.length-1;return 0>e&&(e=0),[t[0],t[e]]}function im(t,e,n,i){var r=new __;return r.add(new Xb({name:"main",style:sm(n),silent:!0,draggable:!0,cursor:"move",drift:fk(t,e,r,"nswe"),ondragend:fk(tm,e,{isEnd:!0})})),pk(i,function(n){r.add(new Xb({name:n,style:{opacity:0},draggable:!0,silent:!0,invisible:!0,drift:fk(t,e,r,n),ondragend:fk(tm,e,{isEnd:!0})}))}),r}function rm(t,e,n,i){var r=i.brushStyle.lineWidth||0,a=vk(r,wk),o=n[0][0],s=n[1][0],l=o-r/2,u=s-r/2,h=n[0][1],c=n[1][1],d=h-a+r/2,f=c-a+r/2,p=h-o,g=c-s,m=p+r,v=g+r;om(t,e,"main",o,s,p,g),i.transformable&&(om(t,e,"w",l,u,a,v),om(t,e,"e",d,u,a,v),om(t,e,"n",l,u,m,a),om(t,e,"s",l,f,m,a),om(t,e,"nw",l,u,a,a),om(t,e,"ne",d,u,a,a),om(t,e,"sw",l,f,a,a),om(t,e,"se",d,f,a,a))}function am(t,e){var n=e.__brushOption,i=n.transformable,r=e.childAt(0);r.useStyle(sm(n)),r.attr({silent:!i,cursor:i?"move":"default"}),pk(["w","e","n","s","se","sw","ne","nw"],function(n){var r=e.childOfName(n),a=hm(t,n);r&&r.attr({silent:!i,invisible:!i,cursor:i?Ik[a]+"-resize":null})})}function om(t,e,n,i,r,a,o){var s=e.childOfName(n);s&&s.setShape(gm(pm(t,e,[[i,r],[i+a,r+o]])))}function sm(t){return s({strokeNoScale:!0},t.brushStyle)}function lm(t,e,n,i){var r=[mk(t,n),mk(e,i)],a=[vk(t,n),vk(e,i)];return[[r[0],a[0]],[r[1],a[1]]]}function um(t){return Ra(t.group)}function hm(t,e){if(e.length>1){e=e.split("");var n=[hm(t,e[0]),hm(t,e[1])];return("e"===n[0]||"w"===n[0])&&n.reverse(),n.join("")}var i={w:"left",e:"right",n:"top",s:"bottom"},r={left:"w",right:"e",top:"n",bottom:"s"},n=Ba(i[e],um(t));return r[n]}function cm(t,e,n,i,r,a,o){var s=i.__brushOption,l=t(s.range),u=fm(n,a,o);pk(r.split(""),function(t){var e=Sk[t];l[e[0]][e[1]]+=u[e[0]]}),s.range=e(lm(l[0][0],l[1][0],l[0][1],l[1][1])),qg(n,i),tm(n,{isEnd:!1})}function dm(t,e,n,i){var r=e.__brushOption.range,a=fm(t,n,i);pk(r,function(t){t[0]+=a[0],t[1]+=a[1]}),qg(t,e),tm(t,{isEnd:!1})}function fm(t,e,n){var i=t.group,r=i.transformCoordToLocal(e,n),a=i.transformCoordToLocal(0,0);return[r[0]-a[0],r[1]-a[1]]}function pm(t,e,n){var r=Jg(t,e);return r&&r!==!0?r.clipPath(n,t._transform):i(n)}function gm(t){var e=mk(t[0][0],t[1][0]),n=mk(t[0][1],t[1][1]),i=vk(t[0][0],t[1][0]),r=vk(t[0][1],t[1][1]);return{x:e,y:n,width:i-e,height:r-n}}function mm(t,e,n){if(t._brushType){var i=t._zr,r=t._covers,a=$g(t,e,n);if(!t._dragging)for(var o=0;oo;o++)r[o]=o;return"function"==typeof e?r.sort(e):"none"!==e&&r.sort(function(t,e){return a?i[t]-i[e]:i[e]-i[t]}),r}function Xm(t){t.each(function(e){var n,i,r,a,o=t.getItemModel(e),s=o.getModel("label"),l=s.get("position"),u=o.getModel("labelLine"),h=t.getItemLayout(e),c=h.points,d="inner"===l||"inside"===l||"center"===l;if(d)i=(c[0][0]+c[1][0]+c[2][0]+c[3][0])/4,r=(c[0][1]+c[1][1]+c[2][1]+c[3][1])/4,n="center",a=[[i,r],[i,r]];else{var f,p,g,m=u.get("length");"left"===l?(f=(c[3][0]+c[0][0])/2,p=(c[3][1]+c[0][1])/2,g=f-m,i=g-5,n="right"):(f=(c[1][0]+c[2][0])/2,p=(c[1][1]+c[2][1])/2,g=f+m,i=g+5,n="left");var v=p;a=[[f,p],[g,v]],r=v}h.label={linePoints:a,x:i,y:r,verticalAlign:"middle",textAlign:n,inside:d}})}function Ym(t,e){return t.getVisual("opacity")||t.getModel().get(e)}function jm(t,e,n){var i=t.getGraphicEl(),r=Ym(t,e);null!=n&&(null==r&&(r=1),r*=n),i.downplay&&i.downplay(),i.traverse(function(t){"group"!==t.type&&t.setStyle("opacity",r)})}function Zm(t,e){var n=Ym(t,e),i=t.getGraphicEl();i.highlight&&i.highlight(),i.traverse(function(t){"group"!==t.type&&t.setStyle("opacity",n)})}function Um(t,e,n){var i=new Xb({shape:{x:t.x-10,y:t.y-10,width:0,height:t.height+20}});return Oa(i,{shape:{width:t.width+20,height:t.height+20}},e,n),i}function qm(t,e){return Co(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}function Km(t,e,n,i,r,a,o,s){Jm(t,e,n,r,a,s),ev(t,e,a,r,i,o,s),dv(t,s)}function $m(t){f(t,function(t){var e=hv(t.outEdges,uv),n=hv(t.inEdges,uv),i=Math.max(e,n);t.setLayout({value:i},!0)})}function Jm(t,e,n,i,r,a){for(var o=[],s=[],l=[],u=[],h=0,c=0,d=0;d0;a--)l*=.99,av(s,l,o),rv(s,r,n,i,o),cv(s,l,o),rv(s,r,n,i,o)}function nv(t,e){var n=[],i="vertical"===e?"y":"x",r=Ji(t,function(t){return t.getLayout()[i]});return r.keys.sort(function(t,e){return t-e}),f(r.keys,function(t){n.push(r.buckets.get(t))}),n}function iv(t,e,n,i,r,a,o){var s=[];f(e,function(t){var e=t.length,n=0,l=0;f(t,function(t){n+=t.getLayout().value}),l="vertical"===o?(r-(e-1)*a)/n:(i-(e-1)*a)/n,s.push(l)}),s.sort(function(t,e){return t-e});var l=s[0];f(e,function(t){f(t,function(t,e){var n=t.getLayout().value*l;"vertical"===o?(t.setLayout({x:e},!0),t.setLayout({dx:n},!0)):(t.setLayout({y:e},!0),t.setLayout({dy:n},!0))})}),f(n,function(t){var e=+t.getValue()*l;t.setLayout({dy:e},!0)})}function rv(t,e,n,i,r){f(t,function(t){var a,o,s,l=0,u=t.length;if("vertical"===r){var h;for(t.sort(function(t,e){return t.getLayout().x-e.getLayout().x}),s=0;u>s;s++)a=t[s],o=l-a.getLayout().x,o>0&&(h=a.getLayout().x+o,a.setLayout({x:h},!0)),l=a.getLayout().x+a.getLayout().dx+e;if(o=l-e-i,o>0)for(h=a.getLayout().x-o,a.setLayout({x:h},!0),l=h,s=u-2;s>=0;--s)a=t[s],o=a.getLayout().x+a.getLayout().dx+e-l,o>0&&(h=a.getLayout().x-o,a.setLayout({x:h},!0)),l=a.getLayout().x}else{var c;for(t.sort(function(t,e){return t.getLayout().y-e.getLayout().y}),s=0;u>s;s++)a=t[s],o=l-a.getLayout().y,o>0&&(c=a.getLayout().y+o,a.setLayout({y:c},!0)),l=a.getLayout().y+a.getLayout().dy+e;if(o=l-e-n,o>0)for(c=a.getLayout().y-o,a.setLayout({y:c},!0),l=c,s=u-2;s>=0;--s)a=t[s],o=a.getLayout().y+a.getLayout().dy+e-l,o>0&&(c=a.getLayout().y-o,a.setLayout({y:c},!0)),l=a.getLayout().y}})}function av(t,e,n){f(t.slice().reverse(),function(t){f(t,function(t){if(t.outEdges.length){var i=hv(t.outEdges,ov,n)/hv(t.outEdges,uv,n);if("vertical"===n){var r=t.getLayout().x+(i-lv(t,n))*e;t.setLayout({x:r},!0)}else{var a=t.getLayout().y+(i-lv(t,n))*e;t.setLayout({y:a},!0)}}})})}function ov(t,e){return lv(t.node2,e)*t.getValue()}function sv(t,e){return lv(t.node1,e)*t.getValue()}function lv(t,e){return"vertical"===e?t.getLayout().x+t.getLayout().dx/2:t.getLayout().y+t.getLayout().dy/2}function uv(t){return t.getValue()}function hv(t,e,n){for(var i=0,r=t.length,a=-1;++a=f&&((o>f||d>=0&&0>s)&&(o=f,s=d,r=l,a.length=0),eP(u,function(t){a.push({seriesIndex:e.seriesIndex,dataIndexInside:t,dataIndex:e.getData().getRawIndex(t)})}))}}),{payloadBatch:a,snapToValue:r}}function xv(t,e,n,i){t[e.key]={value:n,payloadBatch:i}}function _v(t,e,n,i){var r=n.payloadBatch,a=e.axis,o=a.model,s=e.axisPointerModel;if(e.triggerTooltip&&r.length){var l=e.coordSys.model,u=kc(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:a.dim,axisIndex:o.componentIndex,axisType:o.type,axisId:o.id,value:i,valueLabelOpt:{precision:s.get("label.precision"),formatter:s.get("label.formatter")},seriesDataIndices:r.slice()})}}function wv(t,e,n){var i=n.axesInfo=[];eP(e,function(e,n){var r=e.axisPointerModel.option,a=t[n];a?(!e.useHandle&&(r.status="show"),r.value=a.value,r.seriesDataIndices=(a.payloadBatch||[]).slice()):!e.useHandle&&(r.status="hide"),"show"===r.status&&i.push({axisDim:e.axis.dim,axisIndex:e.axis.model.componentIndex,value:r.value})})}function bv(t,e,n,i){if(Tv(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})}function Sv(t,e,n){var i=n.getZr(),r="axisPointerLastHighlights",a=iP(i)[r]||{},o=iP(i)[r]={};eP(t,function(t){var e=t.axisPointerModel.option;"show"===e.status&&eP(e.seriesDataIndices,function(t){var e=t.seriesIndex+" | "+t.dataIndex;o[e]=t})});var s=[],l=[];f(a,function(t,e){!o[e]&&l.push(t)}),f(o,function(t,e){!a[e]&&s.push(t)}),l.length&&n.dispatchAction({type:"downplay",escapeConnect:!0,batch:l}),s.length&&n.dispatchAction({type:"highlight",escapeConnect:!0,batch:s})}function Iv(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}}function Mv(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 Tv(t){return!t||null==t[0]||isNaN(t[0])||null==t[1]||isNaN(t[1])}function Cv(t,e,n){if(!ux.node){var i=e.getZr();aP(i).records||(aP(i).records={}),Dv(i,e);var r=aP(i).records[t]||(aP(i).records[t]={});r.handler=n}}function Dv(t,e){function n(n,i){t.on(n,function(n){var r=Pv(e);oP(aP(t).records,function(t){t&&i(t,n,r.dispatchAction)}),Av(r.pendings,e)})}aP(t).initialized||(aP(t).initialized=!0,n("click",x(kv,"click")),n("mousemove",x(kv,"mousemove")),n("globalout",Lv))}function Av(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))}function Lv(t,e,n){t.handler("leave",null,n)}function kv(t,e,n,i){e.handler(t,n,i)}function Pv(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}}function Nv(t,e){if(!ux.node){var n=e.getZr(),i=(aP(n).records||{})[t];i&&(aP(n).records[t]=null)}}function Ev(){}function Ov(t,e,n,i){Rv(lP(n).lastProp,i)||(lP(n).lastProp=i,e?Ea(n,i,t):(n.stopAnimation(),n.attr(i)))}function Rv(t,e){if(S(t)&&S(e)){var n=!0;return f(e,function(e,i){n=n&&Rv(t[i],e)}),!!n}return t===e}function zv(t,e){t[e.get("label.show")?"show":"hide"]()}function Bv(t){return{position:t.position.slice(),rotation:t.rotation||0}}function Vv(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 Gv(t){var e,n=t.get("type"),i=t.getModel(n+"Style");return"line"===n?(e=i.getLineStyle(),e.fill=null):"shadow"===n&&(e=i.getAreaStyle(),e.stroke=null),e}function Fv(t,e,n,i,r){var a=n.get("value"),o=Hv(a,e.axis,e.ecModel,n.get("seriesDataIndices"),{precision:n.get("label.precision"),formatter:n.get("label.formatter")}),s=n.getModel("label"),l=wS(s.get("padding")||0),u=s.getFont(),h=Bn(o,u),c=r.position,d=h.width+l[1]+l[3],f=h.height+l[0]+l[2],p=r.align;"right"===p&&(c[0]-=d),"center"===p&&(c[0]-=d/2);var g=r.verticalAlign;"bottom"===g&&(c[1]-=f),"middle"===g&&(c[1]-=f/2),Wv(c,d,f,i);var m=s.get("backgroundColor");m&&"auto"!==m||(m=e.get("axisLine.lineStyle.color")),t.label={shape:{x:0,y:0,width:d,height:f,r:s.get("borderRadius")},position:c.slice(),style:{text:o,textFont:u,textFill:s.getTextColor(),textPosition:"inside",fill:m,stroke:s.get("borderColor")||"transparent",lineWidth:s.get("borderWidth")||0,shadowBlur:s.get("shadowBlur"),shadowColor:s.get("shadowColor"),shadowOffsetX:s.get("shadowOffsetX"),shadowOffsetY:s.get("shadowOffsetY")},z2:10}}function Wv(t,e,n,i){var r=i.getWidth(),a=i.getHeight();t[0]=Math.min(t[0]+e,r)-e,t[1]=Math.min(t[1]+n,a)-n,t[0]=Math.max(t[0],0),t[1]=Math.max(t[1],0)}function Hv(t,e,n,i,r){t=e.scale.parse(t);var a=e.scale.getLabel(t,{precision:r.precision}),o=r.formatter;if(o){var s={value:mh(e,t),seriesData:[]};f(i,function(t){var e=n.getSeriesByIndex(t.seriesIndex),i=t.dataIndexInside,r=e&&e.getDataParams(i);r&&s.seriesData.push(r)}),b(o)?a=o.replace("{value}",a):w(o)&&(a=o(s))}return a}function Xv(t,e,n){var i=Me();return Le(i,i,n.rotation),Ae(i,i,n.position),za([t.dataToCoord(e),(n.labelOffset||0)+(n.labelDirection||1)*(n.labelMargin||0)],i)}function Yv(t,e,n,i,r,a){var o=mC.innerTextLayout(n.rotation,0,n.labelDirection);n.labelMargin=r.get("label.margin"),Fv(e,i,r,a,{position:Xv(i.axis,t,n),align:o.textAlign,verticalAlign:o.textVerticalAlign})}function jv(t,e,n){return n=n||0,{x1:t[n],y1:t[1-n],x2:e[n],y2:e[1-n]}}function Zv(t,e,n){return n=n||0,{x:t[n],y:t[1-n],width:e[n],height:e[1-n]}}function Uv(t,e){var n={};return n[e.dim+"AxisIndex"]=e.index,t.getCartesian(n)}function qv(t){return"x"===t.dim?0:1}function Kv(t){return t.isHorizontal()?0:1}function $v(t,e){var n=t.getRect();return[n[fP[e]],n[fP[e]]+n[pP[e]]]}function Jv(t,e,n){var i=new Xb({shape:{x:t.x-10,y:t.y-10,width:0,height:t.height+20}});return Oa(i,{shape:{width:t.width+20,height:t.height+20}},e,n),i}function Qv(t,e,n){if(t.count())for(var i,r=e.coordinateSystem,a=e.getLayerSeries(),o=t.mapDimension("single"),s=t.mapDimension("value"),l=p(a,function(e){return p(e.indices,function(e){var n=r.dataToPoint(t.get(o,e));return n[1]=t.get(s,e),n})}),u=ty(l),h=u.y0,c=n/u.max,d=a.length,f=a[0].indices.length,g=0;f>g;++g){i=h[g]*c,t.setItemLayout(a[0].indices[g],{layerIndex:0,x:l[0][g][0],y0:i,y:l[0][g][1]*c}); +for(var m=1;d>m;++m)i+=l[m-1][g][1]*c,t.setItemLayout(a[m].indices[g],{layerIndex:m,x:l[m][g][0],y0:i,y:l[m][g][1]*c})}}function ty(t){for(var e,n=t.length,i=t[0].length,r=[],a=[],o=0,s={},l=0;i>l;++l){for(var u=0,e=0;n>u;++u)e+=t[u][l][1];e>o&&(o=e),r.push(e)}for(var h=0;i>h;++h)a[h]=(o-r[h])/2;o=0;for(var c=0;i>c;++c){var d=r[c]+a[c];d>o&&(o=d)}return s.y0=a,s.max=o,s}function ey(t,e,n,i){var r=t.getItemLayout(e),a=n.get("symbolRepeat"),o=n.get("symbolClip"),s=n.get("symbolPosition")||"start",l=n.get("symbolRotate"),u=(l||0)*Math.PI/180||0,h=n.get("symbolPatternSize")||2,c=n.isAnimationEnabled(),d={dataIndex:e,layout:r,itemModel:n,symbolType:t.getItemVisual(e,"symbol")||"circle",color:t.getItemVisual(e,"color"),symbolClip:o,symbolRepeat:a,symbolRepeatDirection:n.get("symbolRepeatDirection"),symbolPatternSize:h,rotation:u,animationModel:c?n:null,hoverAnimation:c&&n.get("hoverAnimation"),z2:n.getShallow("z",!0)||0};ny(n,a,r,i,d),ry(t,e,r,a,o,d.boundingLength,d.pxSign,h,i,d),ay(n,d.symbolScale,u,i,d);var f=d.symbolSize,p=n.get("symbolOffset");return _(p)&&(p=[$a(p[0],f[0]),$a(p[1],f[1])]),oy(n,f,r,a,o,p,s,d.valueLineWidth,d.boundingLength,d.repeatCutLength,i,d),d}function ny(t,e,n,i,r){var a,o=i.valueDim,s=t.get("symbolBoundingData"),l=i.coordSys.getOtherAxis(i.coordSys.getBaseAxis()),u=l.toGlobalCoord(l.dataToCoord(0)),h=1-+(n[o.wh]<=0);if(_(s)){var c=[iy(l,s[0])-u,iy(l,s[1])-u];c[1]0?1:0>a?-1:0}function iy(t,e){return t.toGlobalCoord(t.dataToCoord(t.scale.parse(e)))}function ry(t,e,n,i,r,a,o,s,l,u){var h=l.valueDim,c=l.categoryDim,d=Math.abs(n[c.wh]),f=t.getItemVisual(e,"symbolSize");_(f)?f=f.slice():(null==f&&(f="100%"),f=[f,f]),f[c.index]=$a(f[c.index],d),f[h.index]=$a(f[h.index],i?d:Math.abs(a)),u.symbolSize=f;var p=u.symbolScale=[f[0]/s,f[1]/s];p[h.index]*=(l.isHorizontal?-1:1)*o}function ay(t,e,n,i,r){var a=t.get(bP)||0;a&&(IP.attr({scale:e.slice(),rotation:n}),IP.updateTransform(),a/=IP.getLineScale(),a*=e[i.valueDim.index]),r.valueLineWidth=a}function oy(t,e,n,i,r,a,s,l,u,h,c,d){var f=c.categoryDim,p=c.valueDim,g=d.pxSign,m=Math.max(e[p.index]+l,0),v=m;if(i){var y=Math.abs(u),x=D(t.get("symbolMargin"),"15%")+"",_=!1;x.lastIndexOf("!")===x.length-1&&(_=!0,x=x.slice(0,x.length-1)),x=$a(x,e[p.index]);var w=Math.max(m+2*x,0),b=_?0:2*x,S=fo(i),I=S?i:Sy((y+b)/w),M=y-I*m;x=M/2/(_?I:I-1),w=m+2*x,b=_?0:2*x,S||"fixed"===i||(I=h?Sy((Math.abs(h)+b)/w):0),v=I*w-b,d.repeatTimes=I,d.symbolMargin=x}var T=g*(v/2),C=d.pathPosition=[];C[f.index]=n[f.wh]/2,C[p.index]="start"===s?T:"end"===s?u-T:u/2,a&&(C[0]+=a[0],C[1]+=a[1]);var A=d.bundlePosition=[];A[f.index]=n[f.xy],A[p.index]=n[p.xy];var L=d.barRectShape=o({},n);L[p.wh]=g*Math.max(Math.abs(n[p.wh]),Math.abs(C[p.index]+T)),L[f.wh]=n[f.wh];var k=d.clipShape={};k[f.xy]=-n[f.xy],k[f.wh]=c.ecSize[f.wh],k[p.xy]=0,k[p.wh]=n[p.wh]}function sy(t){var e=t.symbolPatternSize,n=bh(t.symbolType,-e/2,-e/2,e,e,t.color);return n.attr({culling:!0}),"image"!==n.type&&n.setStyle({strokeNoScale:!0}),n}function ly(t,e,n,i){function r(t){var e=h.slice(),i=n.pxSign,r=t;return("start"===n.symbolRepeatDirection?i>0:0>i)&&(r=d-1-t),e[c.index]=p*(r-d/2+.5)+h[c.index],{position:e,scale:n.symbolScale.slice(),rotation:n.rotation}}function a(){_y(t,function(t){t.trigger("emphasis")})}function o(){_y(t,function(t){t.trigger("normal")})}var s=t.__pictorialBundle,l=n.symbolSize,u=n.valueLineWidth,h=n.pathPosition,c=e.valueDim,d=n.repeatTimes||0,f=0,p=l[e.valueDim.index]+u+2*n.symbolMargin;for(_y(t,function(t){t.__pictorialAnimationIndex=f,t.__pictorialRepeatTimes=d,d>f?wy(t,null,r(f),n,i):wy(t,null,{scale:[0,0]},n,i,function(){s.remove(t)}),gy(t,n),f++});d>f;f++){var g=sy(n);g.__pictorialAnimationIndex=f,g.__pictorialRepeatTimes=d,s.add(g);var m=r(f);wy(g,{position:m.position,scale:[0,0]},{scale:m.scale,rotation:m.rotation},n,i),g.on("mouseover",a).on("mouseout",o),gy(g,n)}}function uy(t,e,n,i){function r(){this.trigger("emphasis")}function a(){this.trigger("normal")}var o=t.__pictorialBundle,s=t.__pictorialMainPath;s?wy(s,null,{position:n.pathPosition.slice(),scale:n.symbolScale.slice(),rotation:n.rotation},n,i):(s=t.__pictorialMainPath=sy(n),o.add(s),wy(s,{position:n.pathPosition.slice(),scale:[0,0],rotation:n.rotation},{scale:n.symbolScale.slice()},n,i),s.on("mouseover",r).on("mouseout",a)),gy(s,n)}function hy(t,e,n){var i=o({},e.barRectShape),r=t.__pictorialBarRect;r?wy(r,null,{shape:i},e,n):(r=t.__pictorialBarRect=new Xb({z2:2,shape:i,silent:!0,style:{stroke:"transparent",fill:"transparent",lineWidth:0}}),t.add(r))}function cy(t,e,n,i){if(n.symbolClip){var r=t.__pictorialClipPath,a=o({},n.clipShape),s=e.valueDim,l=n.animationModel,u=n.dataIndex;if(r)Ea(r,{shape:a},l,u);else{a[s.wh]=0,r=new Xb({shape:a}),t.__pictorialBundle.setClipPath(r),t.__pictorialClipPath=r;var h={};h[s.wh]=n.clipShape[s.wh],uS[i?"updateProps":"initProps"](r,{shape:h},l,u)}}}function dy(t,e){var n=t.getItemModel(e);return n.getAnimationDelayParams=fy,n.isAnimationEnabled=py,n}function fy(t){return{index:t.__pictorialAnimationIndex,count:t.__pictorialRepeatTimes}}function py(){return this.parentModel.isAnimationEnabled()&&!!this.getShallow("animation")}function gy(t,e){t.off("emphasis").off("normal");var n=e.symbolScale.slice();e.hoverAnimation&&t.on("emphasis",function(){this.animateTo({scale:[1.1*n[0],1.1*n[1]]},400,"elasticOut")}).on("normal",function(){this.animateTo({scale:n.slice()},400,"elasticOut")})}function my(t,e,n,i){var r=new __,a=new __;return r.add(a),r.__pictorialBundle=a,a.attr("position",n.bundlePosition.slice()),n.symbolRepeat?ly(r,e,n):uy(r,e,n),hy(r,n,i),cy(r,e,n,i),r.__pictorialShapeStr=xy(t,n),r.__pictorialSymbolMeta=n,r}function vy(t,e,n){var i=n.animationModel,r=n.dataIndex,a=t.__pictorialBundle;Ea(a,{position:n.bundlePosition.slice()},i,r),n.symbolRepeat?ly(t,e,n,!0):uy(t,e,n,!0),hy(t,n,!0),cy(t,e,n,!0)}function yy(t,e,n,i){var r=i.__pictorialBarRect;r&&(r.style.text=null);var a=[];_y(i,function(t){a.push(t)}),i.__pictorialMainPath&&a.push(i.__pictorialMainPath),i.__pictorialClipPath&&(n=null),f(a,function(t){Ea(t,{scale:[0,0]},n,e,function(){i.parent&&i.parent.remove(i)})}),t.setItemGraphicEl(e,null)}function xy(t,e){return[t.getItemVisual(e.dataIndex,"symbol")||"none",!!e.symbolRepeat,!!e.symbolClip].join(":")}function _y(t,e,n){f(t.__pictorialBundle.children(),function(i){i!==t.__pictorialBarRect&&e.call(n,i)})}function wy(t,e,n,i,r,a){e&&t.attr(e),i.symbolClip&&!r?n&&t.attr(n):n&&uS[r?"updateProps":"initProps"](t,n,i.animationModel,i.dataIndex,a)}function by(t,e,n){var i=n.color,r=n.dataIndex,a=n.itemModel,o=a.getModel("itemStyle").getItemStyle(["color"]),l=a.getModel("emphasis.itemStyle").getItemStyle(),u=a.getShallow("cursor");_y(t,function(t){t.setColor(i),t.setStyle(s({fill:i,opacity:n.opacity},o)),wa(t,l),u&&(t.cursor=u),t.z2=n.z2});var h={},c=e.valueDim.posDesc[+(n.boundingLength>0)],d=t.__pictorialBarRect;rc(d.style,h,a,i,e.seriesModel,r,c),wa(d,h)}function Sy(t){var e=Math.round(t);return Math.abs(t-e)<1e-4?e:Math.ceil(t)}function Iy(t,e){return e=e||[0,0],p(["x","y"],function(n,i){var r=this.getAxis(n),a=e[i],o=t[i]/2;return"category"===r.type?r.getBandWidth():Math.abs(r.dataToCoord(a-o)-r.dataToCoord(a+o))},this)}function My(t,e){return e=e||[0,0],p([0,1],function(n){var i=e[n],r=t[n]/2,a=[],o=[];return a[n]=i-r,o[n]=i+r,a[1-n]=o[1-n]=e[1-n],Math.abs(this.dataToPoint(a)[n]-this.dataToPoint(o)[n])},this)}function Ty(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 Cy(t,e){return p(["Radius","Angle"],function(n,i){var r=this["get"+n+"Axis"](),a=e[i],o=t[i]/2,s="dataTo"+n,l="category"===r.type?r.getBandWidth():Math.abs(r[s](a-o)-r[s](a+o));return"Angle"===n&&(l=l*Math.PI/180),l},this)}function Dy(t){var e,n=t.type;if("path"===n){var i=t.shape,r=null!=i.width&&null!=i.height?{x:i.x||0,y:i.y||0,width:i.width,height:i.height}:null,a=Gy(i);e=ea(a,null,r,i.layout||"center"),e.__customPathData=a}else if("image"===n)e=new _i({}),e.__customImagePath=t.style.image;else if("text"===n)e=new Pb({}),e.__customText=t.style.text;else{var o=uS[n.charAt(0).toUpperCase()+n.slice(1)];e=new o}return e.__customGraphicType=n,e.name=t.name,e}function Ay(t,e,n,r,a,o,s){var l={},u=n.style||{};if(n.shape&&(l.shape=i(n.shape)),n.position&&(l.position=n.position.slice()),n.scale&&(l.scale=n.scale.slice()),n.origin&&(l.origin=n.origin.slice()),n.rotation&&(l.rotation=n.rotation),"image"===t.type&&n.style){var h=l.style={};f(["x","y","width","height"],function(e){Ly(e,h,u,t.style,o)})}if("text"===t.type&&n.style){var h=l.style={};f(["x","y"],function(e){Ly(e,h,u,t.style,o)}),!u.hasOwnProperty("textFill")&&u.fill&&(u.textFill=u.fill),!u.hasOwnProperty("textStroke")&&u.stroke&&(u.textStroke=u.stroke)}if("group"!==t.type&&(t.useStyle(u),o)){t.style.opacity=0;var c=u.opacity;null==c&&(c=1),Oa(t,{style:{opacity:c}},r,e)}o?t.attr(l):Ea(t,l,r,e),n.hasOwnProperty("z2")&&t.attr("z2",n.z2||0),n.hasOwnProperty("silent")&&t.attr("silent",n.silent),n.hasOwnProperty("invisible")&&t.attr("invisible",n.invisible),n.hasOwnProperty("ignore")&&t.attr("ignore",n.ignore),n.hasOwnProperty("info")&&t.attr("info",n.info);var d=n.styleEmphasis,p=d===!1;t.__cusHasEmphStl&&null==d||!t.__cusHasEmphStl&&p||(ga(t,d),t.__cusHasEmphStl=!p),s&&ba(t,!p)}function Ly(t,e,n,i,r){null==n[t]||r||(e[t]=n[t],n[t]=i[t])}function ky(t,e,n,i){function r(t){null==t&&(t=v),I&&(y=e.getItemModel(t),x=y.getModel(PP),_=y.getModel(NP),w=e.getItemVisual(t,"color"),I=!1)}function a(t,n){return null==n&&(n=v),e.get(e.getDimension(t||0),n)}function l(n,i){null==i&&(i=v),r(i);var a=y.getModel(LP).getItemStyle();null!=w&&(a.fill=w);var s=e.getItemVisual(i,"opacity");return null!=s&&(a.opacity=s),Ia(a,x,null,{autoColor:w,isRectText:!0}),a.text=x.getShallow("show")?A(t.getFormattedLabel(i,"normal"),ic(e,i)):null,n&&o(a,n),a}function u(n,i){null==i&&(i=v),r(i);var a=y.getModel(kP).getItemStyle();return Ia(a,_,null,{isRectText:!0},!0),a.text=_.getShallow("show")?L(t.getFormattedLabel(i,"emphasis"),t.getFormattedLabel(i,"normal"),ic(e,i)):null,n&&o(a,n),a}function h(t,n){return null==n&&(n=v),e.getItemVisual(n,t)}function c(t){if(g.getBaseAxis){var e=g.getBaseAxis();return th(s({axis:e},t),i)}}function d(){return n.getCurrentSeriesIndices()}function f(t){return Pa(t,n)}var p=t.get("renderItem"),g=t.coordinateSystem,m={};g&&(m=g.prepareCustoms?g.prepareCustoms():OP[g.type](g));var v,y,x,_,w,b=s({getWidth:i.getWidth,getHeight:i.getHeight,getZr:i.getZr,getDevicePixelRatio:i.getDevicePixelRatio,value:a,style:l,styleEmphasis:u,visual:h,barLayout:c,currentSeriesIndices:d,font:f},m.api||{}),S={context:{},seriesId:t.id,seriesName:t.name,seriesIndex:t.seriesIndex,coordSys:m.coordSys,dataInsideLength:e.count(),encode:Py(t.getData())},I=!0;return function(t,n){return v=t,I=!0,p&&p(s({dataIndexInside:t,dataIndex:e.getRawIndex(t),actionType:n?n.type:null},S),b)}}function Py(t){var e={};return f(t.dimensions,function(n,i){var r=t.getDimensionInfo(n);if(!r.isExtraCoord){var a=r.coordDim,o=e[a]=e[a]||[];o[r.coordDimIndex]=i}}),e}function Ny(t,e,n,i,r,a){return t=Ey(t,e,n,i,r,a,!0),t&&a.setItemGraphicEl(e,t),t}function Ey(t,e,n,i,r,a,o){var s=!n;n=n||{};var l=n.type,u=n.shape,h=n.style;if(t&&(s||null!=l&&l!==t.__customGraphicType||"path"===l&&Fy(u)&&Gy(u)!==t.__customPathData||"image"===l&&Wy(h,"image")&&h.image!==t.__customImagePath||"text"===l&&Wy(u,"text")&&h.text!==t.__customText)&&(r.remove(t),t=null),!s){var c=!t;return!t&&(t=Dy(n)),Ay(t,e,n,i,a,c,o),"group"===l&&Oy(t,e,n,i,a),r.add(t),t}}function Oy(t,e,n,i,r){var a=n.children,o=a?a.length:0,s=n.$mergeChildren,l="byName"===s||n.diffChildrenByName,u=s===!1;if(o||l||u){if(l)return void Ry({oldChildren:t.children()||[],newChildren:a||[],dataIndex:e,animatableModel:i,group:t,data:r});u&&t.removeAll();for(var h=0;o>h;h++)a[h]&&Ey(t.childAt(h),e,a[h],i,t,r)}}function Ry(t){new mu(t.oldChildren,t.newChildren,zy,zy,t).add(By).update(By).remove(Vy).execute()}function zy(t,e){var n=t&&t.name;return null!=n?n:EP+e}function By(t,e){var n=this.context,i=null!=t?n.newChildren[t]:null,r=null!=e?n.oldChildren[e]:null;Ey(r,n.dataIndex,i,n.animatableModel,n.group,n.data)}function Vy(t){var e=this.context,n=e.oldChildren[t];n&&e.group.remove(n)}function Gy(t){return t&&(t.pathData||t.d)}function Fy(t){return t&&(t.hasOwnProperty("pathData")||t.hasOwnProperty("d"))}function Wy(t,e){return t&&t.hasOwnProperty(e)}function Hy(t,e,n){var i,r={},a="toggleSelected"===t;return n.eachComponent("legend",function(n){a&&null!=i?n[i?"select":"unSelect"](e.name):(n[t](e.name),i=n.isSelected(e.name));var o=n.getData();f(o,function(t){var e=t.get("name");if("\n"!==e&&""!==e){var i=n.isSelected(e);r[e]=r.hasOwnProperty(e)?r[e]&&i:i}})}),{name:e.name,selected:r}}function Xy(t,e){var n=wS(e.get("padding")),i=e.getItemStyle(["color","opacity"]);i.fill=e.get("backgroundColor");var t=new Xb({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});return t}function Yy(t,e){e.dispatchAction({type:"legendToggleSelect",name:t})}function jy(t,e,n,i){var r=n.getZr().storage.getDisplayList()[0];r&&r.useHoverLayer||n.dispatchAction({type:"highlight",seriesName:t,name:e,excludeSeriesId:i})}function Zy(t,e,n,i){var r=n.getZr().storage.getDisplayList()[0];r&&r.useHoverLayer||n.dispatchAction({type:"downplay",seriesName:t,name:e,excludeSeriesId:i})}function Uy(t,e,n){var i=t.getOrient(),r=[1,1];r[i.index]=0,Ao(e,n,{type:"box",ignoreSize:r})}function qy(t){var e="cubic-bezier(0.23, 1, 0.32, 1)",n="left "+t+"s "+e+",top "+t+"s "+e;return p(qP,function(t){return t+"transition:"+n}).join(";")}function Ky(t){var e=[],n=t.get("fontSize"),i=t.getTextColor();return i&&e.push("color:"+i),e.push("font:"+t.getFont()),n&&e.push("line-height:"+Math.round(3*n/2)+"px"),ZP(["decoration","align"],function(n){var i=t.get(n);i&&e.push("text-"+n+":"+i)}),e.join(";")}function $y(t){var e=[],n=t.get("transitionDuration"),i=t.get("backgroundColor"),r=t.getModel("textStyle"),a=t.get("padding");return n&&e.push(qy(n)),i&&(ux.canvasSupported?e.push("background-Color:"+i):(e.push("background-Color:#"+Ke(i)),e.push("filter:alpha(opacity=70)"))),ZP(["width","color","radius"],function(n){var i="border-"+n,r=UP(i),a=t.get(r);null!=a&&e.push(i+":"+a+("color"===n?"":"px"))}),e.push(Ky(r)),null!=a&&e.push("padding:"+wS(a).join("px ")+"px"),e.join(";")+";"}function Jy(t,e){if(ux.wxa)return null;var n=document.createElement("div"),i=this._zr=e.getZr();this.el=n,this._x=e.getWidth()/2,this._y=e.getHeight()/2,t.appendChild(n),this._container=t,this._show=!1,this._hideTimeout;var r=this;n.onmouseenter=function(){r._enterable&&(clearTimeout(r._hideTimeout),r._show=!0),r._inContent=!0},n.onmousemove=function(e){if(e=e||window.event,!r._enterable){var n=i.handler;ge(t,e,!0),n.dispatch("mousemove",e)}},n.onmouseleave=function(){r._enterable&&r._show&&r.hideLater(r._hideDelay),r._inContent=!1}}function Qy(t){this._zr=t.getZr(),this._show=!1,this._hideTimeout}function tx(t){for(var e=t.pop();t.length;){var n=t.pop();n&&(Ha.isInstance(n)&&(n=n.get("tooltip",!0)),"string"==typeof n&&(n={formatter:n}),e=new Ha(n,e,e.ecModel))}return e}function ex(t,e){return t.dispatchAction||y(e.dispatchAction,e)}function nx(t,e,n,i,r,a,o){var s=n.getOuterSize(),l=s.width,u=s.height;return null!=a&&(t+l+a>i?t-=l+a:t+=a),null!=o&&(e+u+o>r?e-=u+o:e+=o),[t,e]}function ix(t,e,n,i,r){var a=n.getOuterSize(),o=a.width,s=a.height;return t=Math.min(t+o,i)-o,e=Math.min(e+s,r)-s,t=Math.max(t,0),e=Math.max(e,0),[t,e]}function rx(t,e,n){var i=n[0],r=n[1],a=5,o=0,s=0,l=e.width,u=e.height;switch(t){case"inside":o=e.x+l/2-i/2,s=e.y+u/2-r/2;break;case"top":o=e.x+l/2-i/2,s=e.y-r-a;break;case"bottom":o=e.x+l/2-i/2,s=e.y+u+a;break;case"left":o=e.x-i-a,s=e.y+u/2-r/2;break;case"right":o=e.x+l+a,s=e.y+u/2-r/2}return[o,s]}function ax(t){return"center"===t||"middle"===t}var ox=2311,sx=function(){return ox++},lx={};lx="object"==typeof wx&&"function"==typeof wx.getSystemInfoSync?{browser:{},os:{},node:!1,wxa:!0,canvasSupported:!0,svgSupported:!1,touchEventsSupported:!0,domSupported:!1}:"undefined"==typeof document&&"undefined"!=typeof self?{browser:{},os:{},node:!1,worker:!0,canvasSupported:!0,domSupported:!1}:"undefined"==typeof navigator?{browser:{},os:{},node:!0,worker:!1,canvasSupported:!0,svgSupported:!0,domSupported:!1}:e(navigator.userAgent);var ux=lx,hx={"[object Function]":1,"[object RegExp]":1,"[object Date]":1,"[object Error]":1,"[object CanvasGradient]":1,"[object CanvasPattern]":1,"[object Image]":1,"[object Canvas]":1},cx={"[object Int8Array]":1,"[object Uint8Array]":1,"[object Uint8ClampedArray]":1,"[object Int16Array]":1,"[object Uint16Array]":1,"[object Int32Array]":1,"[object Uint32Array]":1,"[object Float32Array]":1,"[object Float64Array]":1},dx=Object.prototype.toString,fx=Array.prototype,px=fx.forEach,gx=fx.filter,mx=fx.slice,vx=fx.map,yx=fx.reduce,xx={},_x=function(){return xx.createCanvas()};xx.createCanvas=function(){return document.createElement("canvas")};var bx,Sx="__ec_primitive__";z.prototype={constructor:z,get:function(t){return this.data.hasOwnProperty(t)?this.data[t]:null},set:function(t,e){return this.data[t]=e},each:function(t,e){void 0!==e&&(t=y(t,e));for(var n in this.data)this.data.hasOwnProperty(n)&&t(this.data[n],n)},removeKey:function(t){delete this.data[t]}};var Ix=(Object.freeze||Object)({$override:n,clone:i,merge:r,mergeAll:a,extend:o,defaults:s,createCanvas:_x,getContext:l,indexOf:u,inherits:h,mixin:c,isArrayLike:d,each:f,map:p,reduce:g,filter:m,find:v,bind:y,curry:x,isArray:_,isFunction:w,isString:b,isObject:S,isBuiltInObject:I,isTypedArray:M,isDom:T,eqNaN:C,retrieve:D,retrieve2:A,retrieve3:L,slice:k,normalizeCssArray:P,assert:N,trim:E,setAsPrimitive:O,isPrimitive:R,createHashMap:B,concatArray:V,noop:G}),Mx="undefined"==typeof Float32Array?Array:Float32Array,Tx=U,Cx=q,Dx=ee,Ax=ne,Lx=(Object.freeze||Object)({create:F,copy:W,clone:H,set:X,add:Y,scaleAndAdd:j,sub:Z,len:U,length:Tx,lenSquare:q,lengthSquare:Cx,mul:K,div:$,dot:J,scale:Q,normalize:te,distance:ee,dist:Dx,distanceSquare:ne,distSquare:Ax,negate:ie,lerp:re,applyTransform:ae,min:oe,max:se});le.prototype={constructor:le,_dragStart:function(t){var e=t.target;e&&e.draggable&&(this._draggingTarget=e,e.dragging=!0,this._x=t.offsetX,this._y=t.offsetY,this.dispatchToElement(ue(e,t),"dragstart",t.event))},_drag:function(t){var e=this._draggingTarget;if(e){var n=t.offsetX,i=t.offsetY,r=n-this._x,a=i-this._y;this._x=n,this._y=i,e.drift(r,a,t),this.dispatchToElement(ue(e,t),"drag",t.event);var o=this.findHover(n,i,e).target,s=this._dropTarget;this._dropTarget=o,e!==o&&(s&&o!==s&&this.dispatchToElement(ue(s,t),"dragleave",t.event),o&&o!==s&&this.dispatchToElement(ue(o,t),"dragenter",t.event))}},_dragEnd:function(t){var e=this._draggingTarget;e&&(e.dragging=!1),this.dispatchToElement(ue(e,t),"dragend",t.event),this._dropTarget&&this.dispatchToElement(ue(this._dropTarget,t),"drop",t.event),this._draggingTarget=null,this._dropTarget=null}};var kx=Array.prototype.slice,Px=function(t){this._$handlers={},this._$eventProcessor=t};Px.prototype={constructor:Px,one:function(t,e,n,i){return ce(this,t,e,n,i,!0)},on:function(t,e,n,i){return ce(this,t,e,n,i,!1)},isSilent:function(t){var e=this._$handlers;return!e[t]||!e[t].length},off:function(t,e){var n=this._$handlers;if(!t)return this._$handlers={},this;if(e){if(n[t]){for(var i=[],r=0,a=n[t].length;a>r;r++)n[t][r].h!==e&&i.push(n[t][r]);n[t]=i}n[t]&&0===n[t].length&&delete n[t]}else delete n[t];return this},trigger:function(t){var e=this._$handlers[t],n=this._$eventProcessor;if(e){var i=arguments,r=i.length;r>3&&(i=kx.call(i,1));for(var a=e.length,o=0;a>o;){var s=e[o];if(n&&n.filter&&null!=s.query&&!n.filter(t,s.query))o++;else{switch(r){case 1:s.h.call(s.ctx);break;case 2:s.h.call(s.ctx,i[1]);break;case 3:s.h.call(s.ctx,i[1],i[2]);break;default:s.h.apply(s.ctx,i)}s.one?(e.splice(o,1),a--):o++}}}return n&&n.afterTrigger&&n.afterTrigger(t),this},triggerWithContext:function(t){var e=this._$handlers[t],n=this._$eventProcessor;if(e){var i=arguments,r=i.length;r>4&&(i=kx.call(i,1,i.length-1));for(var a=i[i.length-1],o=e.length,s=0;o>s;){var l=e[s];if(n&&n.filter&&null!=l.query&&!n.filter(t,l.query))s++;else{switch(r){case 1:l.h.call(a);break;case 2:l.h.call(a,i[1]);break;case 3:l.h.call(a,i[1],i[2]);break;default:l.h.apply(a,i)}l.one?(e.splice(s,1),o--):s++}}}return n&&n.afterTrigger&&n.afterTrigger(t),this}};var Nx="undefined"!=typeof window&&!!window.addEventListener,Ex=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ox=Nx?function(t){t.preventDefault(),t.stopPropagation(),t.cancelBubble=!0}:function(t){t.returnValue=!1,t.cancelBubble=!0},Rx=function(){this._track=[]};Rx.prototype={constructor:Rx,recognize:function(t,e,n){return this._doTrack(t,e,n),this._recognize(t)},clear:function(){return this._track.length=0,this},_doTrack:function(t,e,n){var i=t.touches;if(i){for(var r={points:[],touches:[],target:e,event:t},a=0,o=i.length;o>a;a++){var s=i[a],l=fe(n,s,{});r.points.push([l.zrX,l.zrY]),r.touches.push(s)}this._track.push(r)}},_recognize:function(t){for(var e in zx)if(zx.hasOwnProperty(e)){var n=zx[e](this._track,t);if(n)return n}}};var zx={pinch:function(t,e){var n=t.length;if(n){var i=(t[n-1]||{}).points,r=(t[n-2]||{}).points||i;if(r&&r.length>1&&i&&i.length>1){var a=xe(i)/xe(r);!isFinite(a)&&(a=1),e.pinchScale=a;var o=_e(i);return e.pinchX=o[0],e.pinchY=o[1],{type:"pinch",target:t[0].target,event:e}}}}},Bx="silent";Se.prototype.dispose=function(){};var Vx=["click","dblclick","mousewheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],Gx=function(t,e,n,i){Px.call(this),this.storage=t,this.painter=e,this.painterRoot=i,n=n||new Se,this.proxy=null,this._hovered={},this._lastTouchMoment,this._lastX,this._lastY,this._gestureMgr,le.call(this),this.setHandlerProxy(n)};Gx.prototype={constructor:Gx,setHandlerProxy:function(t){this.proxy&&this.proxy.dispose(),t&&(f(Vx,function(e){t.on&&t.on(e,this[e],this)},this),t.handler=this),this.proxy=t},mousemove:function(t){var e=t.zrX,n=t.zrY,i=this._hovered,r=i.target;r&&!r.__zr&&(i=this.findHover(i.x,i.y),r=i.target);var a=this._hovered=this.findHover(e,n),o=a.target,s=this.proxy;s.setCursor&&s.setCursor(o?o.cursor:"default"),r&&o!==r&&this.dispatchToElement(i,"mouseout",t),this.dispatchToElement(a,"mousemove",t),o&&o!==r&&this.dispatchToElement(a,"mouseover",t)},mouseout:function(t){this.dispatchToElement(this._hovered,"mouseout",t);var e,n=t.toElement||t.relatedTarget;do n=n&&n.parentNode;while(n&&9!==n.nodeType&&!(e=n===this.painterRoot));!e&&this.trigger("globalout",{event:t})},resize:function(){this._hovered={}},dispatch:function(t,e){var n=this[t];n&&n.call(this,e)},dispose:function(){this.proxy.dispose(),this.storage=this.proxy=this.painter=null},setCursorStyle:function(t){var e=this.proxy;e.setCursor&&e.setCursor(t)},dispatchToElement:function(t,e,n){t=t||{};var i=t.target;if(!i||!i.silent){for(var r="on"+e,a=we(e,t,n);i&&(i[r]&&(a.cancelBubble=i[r].call(i,a)),i.trigger(e,a),i=i.parent,!a.cancelBubble););a.cancelBubble||(this.trigger(e,a),this.painter&&this.painter.eachOtherLayer(function(t){"function"==typeof t[r]&&t[r].call(t,a),t.trigger&&t.trigger(e,a)}))}},findHover:function(t,e,n){for(var i=this.storage.getDisplayList(),r={x:t,y:e},a=i.length-1;a>=0;a--){var o;if(i[a]!==n&&!i[a].ignore&&(o=Ie(i[a],t,e))&&(!r.topTarget&&(r.topTarget=i[a]),o!==Bx)){r.target=i[a];break}}return r},processGesture:function(t,e){this._gestureMgr||(this._gestureMgr=new Rx);var n=this._gestureMgr;"start"===e&&n.clear();var i=n.recognize(t,this.findHover(t.zrX,t.zrY,null).target,this.proxy.dom);if("end"===e&&n.clear(),i){var r=i.type;t.gestureEvent=r,this.dispatchToElement({target:i.target},r,i.event)}}},f(["click","mousedown","mouseup","mousewheel","dblclick","contextmenu"],function(t){Gx.prototype[t]=function(e){var n=this.findHover(e.zrX,e.zrY),i=n.target;if("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||Dx(this._downPoint,[e.zrX,e.zrY])>4)return;this._downPoint=null}this.dispatchToElement(n,t,e)}}),c(Gx,Px),c(Gx,le);var Fx="undefined"==typeof Float32Array?Array:Float32Array,Wx=(Object.freeze||Object)({create:Me,identity:Te,copy:Ce,mul:De,translate:Ae,rotate:Le,scale:ke,invert:Pe,clone:Ne}),Hx=Te,Xx=5e-5,Yx=function(t){t=t||{},t.position||(this.position=[0,0]),null==t.rotation&&(this.rotation=0),t.scale||(this.scale=[1,1]),this.origin=this.origin||null},jx=Yx.prototype;jx.transform=null,jx.needLocalTransform=function(){return Ee(this.rotation)||Ee(this.position[0])||Ee(this.position[1])||Ee(this.scale[0]-1)||Ee(this.scale[1]-1)};var Zx=[];jx.updateTransform=function(){var t=this.parent,e=t&&t.transform,n=this.needLocalTransform(),i=this.transform;if(!n&&!e)return void(i&&Hx(i));i=i||Me(),n?this.getLocalTransform(i):Hx(i),e&&(n?De(i,t.transform,i):Ce(i,t.transform)),this.transform=i;var r=this.globalScaleRatio;if(null!=r&&1!==r){this.getGlobalScale(Zx);var a=Zx[0]<0?-1:1,o=Zx[1]<0?-1:1,s=((Zx[0]-a)*r+a)/Zx[0]||0,l=((Zx[1]-o)*r+o)/Zx[1]||0;i[0]*=s,i[1]*=s,i[2]*=l,i[3]*=l}this.invTransform=this.invTransform||Me(),Pe(this.invTransform,i)},jx.getLocalTransform=function(t){return Yx.getLocalTransform(this,t)},jx.setTransform=function(t){var e=this.transform,n=t.dpr||1;e?t.setTransform(n*e[0],n*e[1],n*e[2],n*e[3],n*e[4],n*e[5]):t.setTransform(n,0,0,n,0,0)},jx.restoreTransform=function(t){var e=t.dpr||1;t.setTransform(e,0,0,e,0,0)};var Ux=[],qx=Me();jx.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=this.position,r=this.scale;Ee(e-1)&&(e=Math.sqrt(e)),Ee(n-1)&&(n=Math.sqrt(n)),t[0]<0&&(e=-e),t[3]<0&&(n=-n),i[0]=t[4],i[1]=t[5],r[0]=e,r[1]=n,this.rotation=Math.atan2(-t[1]/n,t[0]/e)}},jx.decomposeTransform=function(){if(this.transform){var t=this.parent,e=this.transform;t&&t.transform&&(De(Ux,t.invTransform,e),e=Ux);var n=this.origin;n&&(n[0]||n[1])&&(qx[4]=n[0],qx[5]=n[1],De(Ux,e,qx),Ux[4]-=n[0],Ux[5]-=n[1],e=Ux),this.setLocalTransform(e)}},jx.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)},jx.transformCoordToLocal=function(t,e){var n=[t,e],i=this.invTransform;return i&&ae(n,n,i),n},jx.transformCoordToGlobal=function(t,e){var n=[t,e],i=this.transform;return i&&ae(n,n,i),n},Yx.getLocalTransform=function(t,e){e=e||[],Hx(e);var n=t.origin,i=t.scale||[1,1],r=t.rotation||0,a=t.position||[0,0];return n&&(e[4]-=n[0],e[5]-=n[1]),ke(e,e,i),r&&Le(e,e,r),n&&(e[4]+=n[0],e[5]+=n[1]),e[4]+=a[0],e[5]+=a[1],e};var Kx={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*(-Math.pow(2,-10*(t-1))+2)},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,i=.4;return 0===t?0:1===t?1:(!n||1>n?(n=1,e=i/4):e=i*Math.asin(1/n)/(2*Math.PI),-(n*Math.pow(2,10*(t-=1))*Math.sin(2*(t-e)*Math.PI/i)))},elasticOut:function(t){var e,n=.1,i=.4;return 0===t?0:1===t?1:(!n||1>n?(n=1,e=i/4):e=i*Math.asin(1/n)/(2*Math.PI),n*Math.pow(2,-10*t)*Math.sin(2*(t-e)*Math.PI/i)+1)},elasticInOut:function(t){var e,n=.1,i=.4;return 0===t?0:1===t?1:(!n||1>n?(n=1,e=i/4):e=i*Math.asin(1/n)/(2*Math.PI),(t*=2)<1?-.5*n*Math.pow(2,10*(t-=1))*Math.sin(2*(t-e)*Math.PI/i):n*Math.pow(2,-10*(t-=1))*Math.sin(2*(t-e)*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?.5*t*t*((e+1)*t-e):.5*((t-=2)*t*((e+1)*t+e)+2)},bounceIn:function(t){return 1-Kx.bounceOut(1-t)},bounceOut:function(t){return 1/2.75>t?7.5625*t*t:2/2.75>t?7.5625*(t-=1.5/2.75)*t+.75:2.5/2.75>t?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},bounceInOut:function(t){return.5>t?.5*Kx.bounceIn(2*t):.5*Kx.bounceOut(2*t-1)+.5}};Oe.prototype={constructor:Oe,step:function(t,e){if(this._initialized||(this._startTime=t+this._delay,this._initialized=!0),this._paused)return void(this._pausedTime+=e);var n=(t-this._startTime-this._pausedTime)/this._life;if(!(0>n)){n=Math.min(n,1);var i=this.easing,r="string"==typeof i?Kx[i]:i,a="function"==typeof r?r(n):n;return this.fire("frame",a),1===n?this.loop?(this.restart(t),"restart"):(this._needsRemove=!0,"destroy"):null}},restart:function(t){var e=(t-this._startTime-this._pausedTime)%this._life;this._startTime=t-e+this.gap,this._pausedTime=0,this._needsRemove=!1},fire:function(t,e){t="on"+t,this[t]&&this[t](this._target,e)},pause:function(){this._paused=!0},resume:function(){this._paused=!1}};var $x=function(){this.head=null,this.tail=null,this._len=0},Jx=$x.prototype;Jx.insert=function(t){var e=new Qx(t);return this.insertEntry(e),e},Jx.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++},Jx.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--},Jx.len=function(){return this._len},Jx.clear=function(){this.head=this.tail=null,this._len=0};var Qx=function(t){this.value=t,this.next,this.prev},t_=function(t){this._list=new $x,this._map={},this._maxSize=t||10,this._lastRemovedEntry=null},e_=t_.prototype;e_.put=function(t,e){var n=this._list,i=this._map,r=null;if(null==i[t]){var a=n.len(),o=this._lastRemovedEntry;if(a>=this._maxSize&&a>0){var s=n.head;n.remove(s),delete i[s.key],r=s.value,this._lastRemovedEntry=s}o?o.value=e:o=new Qx(e),o.key=t,n.insertEntry(o),i[t]=o}return r},e_.get=function(t){var e=this._map[t],n=this._list;return null!=e?(e!==n.tail&&(n.remove(e),n.insertEntry(e)),e.value):void 0},e_.clear=function(){this._list.clear(),this._map={}};var n_={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]},i_=new t_(20),r_=null,a_=$e,o_=Je,s_=(Object.freeze||Object)({parse:je,lift:qe,toHex:Ke,fastLerp:$e,fastMapToColor:a_,lerp:Je,mapToColor:o_,modifyHSL:Qe,modifyAlpha:tn,stringify:en}),l_=Array.prototype.slice,u_=function(t,e,n,i){this._tracks={},this._target=t,this._loop=e||!1,this._getter=n||nn,this._setter=i||rn,this._clipCount=0,this._delay=0,this._doneList=[],this._onframeList=[],this._clipList=[] +};u_.prototype={when:function(t,e){var n=this._tracks;for(var i in e)if(e.hasOwnProperty(i)){if(!n[i]){n[i]=[];var r=this._getter(this._target,i);if(null==r)continue;0!==t&&n[i].push({time:0,value:dn(r)})}n[i].push({time:t,value:e[i]})}return this},during:function(t){return this._onframeList.push(t),this},pause:function(){for(var t=0;tn;n++)t[n].call(this)},start:function(t,e){var n,i=this,r=0,a=function(){r--,r||i._doneCallback()};for(var o in this._tracks)if(this._tracks.hasOwnProperty(o)){var s=gn(this,t,a,this._tracks[o],o,e);s&&(this._clipList.push(s),r++,this.animation&&this.animation.addClip(s),n=s)}if(n){var l=n.onframe;n.onframe=function(t,e){l(t,e);for(var n=0;n1&&(f_=function(){for(var t in arguments)console.log(arguments[t])});var p_=f_,g_=function(){this.animators=[]};g_.prototype={constructor:g_,animate:function(t,e){var n,i=!1,r=this,a=this.__zr;if(t){var o=t.split("."),s=r;i="shape"===o[0];for(var l=0,h=o.length;h>l;l++)s&&(s=s[o[l]]);s&&(n=s)}else n=r;if(!n)return void p_('Property "'+t+'" is not existed in element '+r.id);var c=r.animators,d=new u_(n,e);return d.during(function(){r.dirty(i)}).done(function(){c.splice(u(c,d),1)}),c.push(d),a&&a.animation.addAnimator(d),d},stopAnimation:function(t){for(var e=this.animators,n=e.length,i=0;n>i;i++)e[i].stop(t);return e.length=0,this},animateTo:function(t,e,n,i,r,a){mn(this,t,e,n,i,r,a)},animateFrom:function(t,e,n,i,r,a){mn(this,t,e,n,i,r,a,!0)}};var m_=function(t){Yx.call(this,t),Px.call(this,t),g_.call(this,t),this.id=t.id||sx()};m_.prototype={type:"element",name:"",__zr:null,ignore:!1,clipPath:null,isGroup:!1,drift:function(t,e){switch(this.draggable){case"horizontal":e=0;break;case"vertical":t=0}var n=this.transform;n||(n=this.transform=[1,0,0,1,0,0]),n[4]+=t,n[5]+=e,this.decomposeTransform(),this.dirty(!1)},beforeUpdate:function(){},afterUpdate:function(){},update:function(){this.updateTransform()},traverse:function(){},attrKV:function(t,e){if("position"===t||"scale"===t||"origin"===t){if(e){var n=this[t];n||(n=this[t]=[]),n[0]=e[0],n[1]=e[1]}}else this[t]=e},hide:function(){this.ignore=!0,this.__zr&&this.__zr.refresh()},show:function(){this.ignore=!1,this.__zr&&this.__zr.refresh()},attr:function(t,e){if("string"==typeof t)this.attrKV(t,e);else if(S(t))for(var n in t)t.hasOwnProperty(n)&&this.attrKV(n,t[n]);return this.dirty(!1),this},setClipPath:function(t){var e=this.__zr;e&&t.addSelfToZr(e),this.clipPath&&this.clipPath!==t&&this.removeClipPath(),this.clipPath=t,t.__zr=e,t.__clipTarget=this,this.dirty(!1)},removeClipPath:function(){var t=this.clipPath;t&&(t.__zr&&t.removeSelfFromZr(t.__zr),t.__zr=null,t.__clipTarget=null,this.clipPath=null,this.dirty(!1))},addSelfToZr:function(t){this.__zr=t;var e=this.animators;if(e)for(var n=0;ni||n>s||l>a||r>u)},contain:function(t,e){var n=this;return t>=n.x&&t<=n.x+n.width&&e>=n.y&&e<=n.y+n.height},clone:function(){return new xn(this.x,this.y,this.width,this.height)},copy:function(t){this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height},plain:function(){return{x:this.x,y:this.y,width:this.width,height:this.height}}},xn.create=function(t){return new xn(t.x,t.y,t.width,t.height)};var __=function(t){t=t||{},m_.call(this,t);for(var e in t)t.hasOwnProperty(e)&&(this[e]=t[e]);this._children=[],this.__storage=null,this.__dirty=!0};__.prototype={constructor:__,isGroup:!0,type:"group",silent:!1,children:function(){return this._children.slice()},childAt:function(t){return this._children[t]},childOfName:function(t){for(var e=this._children,n=0;n=0&&(n.splice(i,0,t),this._doAdd(t))}return this},_doAdd:function(t){t.parent&&t.parent.remove(t),t.parent=this;var e=this.__storage,n=this.__zr;e&&e!==t.__storage&&(e.addToStorage(t),t instanceof __&&t.addChildrenToStorage(e)),n&&n.refresh()},remove:function(t){var e=this.__zr,n=this.__storage,i=this._children,r=u(i,t);return 0>r?this:(i.splice(r,1),t.parent=null,n&&(n.delFromStorage(t),t instanceof __&&t.delChildrenFromStorage(n)),e&&e.refresh(),this)},removeAll:function(){var t,e,n=this._children,i=this.__storage;for(e=0;ei;i++)this._updateAndAddDisplayable(e[i],null,t);n.length=this._displayListLen,ux.canvasSupported&&Cn(n,Dn)},_updateAndAddDisplayable:function(t,e,n){if(!t.ignore||n){t.beforeUpdate(),t.__dirty&&t.update(),t.afterUpdate();var i=t.clipPath;if(i){e=e?e.slice():[];for(var r=i,a=t;r;)r.parent=a,r.updateTransform(),e.push(r),a=r,r=r.clipPath}if(t.isGroup){for(var o=t._children,s=0;se;e++)this.delRoot(t[e]);else{var r=u(this._roots,t);r>=0&&(this.delFromStorage(t),this._roots.splice(r,1),t instanceof __&&t.delChildrenFromStorage(this))}},addToStorage:function(t){return t&&(t.__storage=this,t.dirty(!1)),this},delFromStorage:function(t){return t&&(t.__storage=null),this},dispose:function(){this._renderList=this._roots=null},displayableSortFunc:Dn};var I_={shadowBlur:1,shadowOffsetX:1,shadowOffsetY:1,textShadowBlur:1,textShadowOffsetX:1,textShadowOffsetY:1,textBoxShadowBlur:1,textBoxShadowOffsetX:1,textBoxShadowOffsetY:1},M_=function(t,e,n){return I_.hasOwnProperty(e)?n*=t.dpr:n},T_={NONE:0,STYLE_BIND:1,PLAIN_TEXT:2},C_=9,D_=[["shadowBlur",0],["shadowOffsetX",0],["shadowOffsetY",0],["shadowColor","#000"],["lineCap","butt"],["lineJoin","miter"],["miterLimit",10]],A_=function(t){this.extendFrom(t,!1)};A_.prototype={constructor:A_,fill:"#000",stroke:null,opacity:1,fillOpacity:null,strokeOpacity:null,lineDash:null,lineDashOffset:0,shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,lineWidth:1,strokeNoScale:!1,text:null,font:null,textFont:null,fontStyle:null,fontWeight:null,fontSize:null,fontFamily:null,textTag:null,textFill:"#000",textStroke:null,textWidth:null,textHeight:null,textStrokeWidth:0,textLineHeight:null,textPosition:"inside",textRect:null,textOffset:null,textAlign:null,textVerticalAlign:null,textDistance:5,textShadowColor:"transparent",textShadowBlur:0,textShadowOffsetX:0,textShadowOffsetY:0,textBoxShadowColor:"transparent",textBoxShadowBlur:0,textBoxShadowOffsetX:0,textBoxShadowOffsetY:0,transformText:!1,textRotation:0,textOrigin:null,textBackgroundColor:null,textBorderColor:null,textBorderWidth:0,textBorderRadius:0,textPadding:null,rich:null,truncate:null,blend:null,bind:function(t,e,n){var i=this,r=n&&n.style,a=!r||t.__attrCachedBy!==T_.STYLE_BIND;t.__attrCachedBy=T_.STYLE_BIND;for(var o=0;o0},extendFrom:function(t,e){if(t)for(var n in t)!t.hasOwnProperty(n)||e!==!0&&(e===!1?this.hasOwnProperty(n):null==t[n])||(this[n]=t[n])},set:function(t,e){"string"==typeof t?this[t]=e:this.extendFrom(t,!0)},clone:function(){var t=new this.constructor;return t.extendFrom(this,!0),t},getGradient:function(t,e,n){for(var i="radial"===e.type?Ln:An,r=i(t,e,n),a=e.colorStops,o=0;o=0&&n.splice(i,1),t.__hoverMir=null},clearHover:function(){for(var t=this._hoverElements,e=0;er;){var a=t[r],o=a.__from;o&&o.__zr?(r++,o.invisible||(a.transform=o.transform,a.invTransform=o.invTransform,a.__clipPaths=o.__clipPaths,this._doPaintEl(a,n,!0,i))):(t.splice(r,1),o.__hoverMir=null,e--)}n.ctx.restore()}},getHoverLayer:function(){return this.getLayer(q_)},_paintList:function(t,e,n){if(this._redrawId===n){e=e||!1,this._updateLayerStatus(t);var i=this._doPaintList(t,e);if(this._needsManuallyCompositing&&this._compositeManually(),!i){var r=this;O_(function(){r._paintList(t,e,n)})}}},_compositeManually:function(){var t=this.getLayer(K_).ctx,e=this._domRoot.width,n=this._domRoot.height;t.clearRect(0,0,e,n),this.eachBuiltinLayer(function(i){i.virtual&&t.drawImage(i.dom,0,0,e,n)})},_doPaintList:function(t,e){for(var n=[],i=0;i15)break}}a.__drawIndex=m,a.__drawIndex0&&t>i[0]){for(o=0;r-1>o&&!(i[o]t);o++);a=n[i[o]]}if(i.splice(o+1,0,t),n[t]=e,!e.virtual)if(a){var l=a.dom;l.nextSibling?s.insertBefore(e.dom,l.nextSibling):s.appendChild(e.dom)}else s.firstChild?s.insertBefore(e.dom,s.firstChild):s.appendChild(e.dom)},eachLayer:function(t,e){var n,i,r=this._zlevelList;for(i=0;i0?$_:0),this._needsManuallyCompositing),o.__builtin__||p_("ZLevel "+s+" has been used by unkown layer "+o.id),o!==r&&(o.__used=!0,o.__startIndex!==n&&(o.__dirty=!0),o.__startIndex=n,o.__drawIndex=o.incremental?-1:n,e(n),r=o),i.__dirty&&(o.__dirty=!0,o.incremental&&o.__drawIndex<0&&(o.__drawIndex=n))}e(n),this.eachBuiltinLayer(function(t){!t.__used&&t.getElementCount()>0&&(t.__dirty=!0,t.__startIndex=t.__endIndex=t.__drawIndex=0),t.__dirty&&t.__drawIndex<0&&(t.__drawIndex=t.__startIndex)})},clear:function(){return this.eachBuiltinLayer(this._clearLayer),this},_clearLayer:function(t){t.clear()},setBackgroundColor:function(t){this._backgroundColor=t},configLayer:function(t,e){if(e){var n=this._layerConfig;n[t]?r(n[t],e,!0):n[t]=e;for(var i=0;i=0&&this._clips.splice(e,1)},removeAnimator:function(t){for(var e=t.getClips(),n=0;no;o++){var s=n[o],l=s.step(t,e);l&&(r.push(l),a.push(s))}for(var o=0;i>o;)n[o]._needsRemove?(n[o]=n[i-1],n.pop(),i--):o++;i=r.length;for(var o=0;i>o;o++)a[o].fire(r[o]);this._time=t,this.onframe(e),this.trigger("frame",e),this.stage.update&&this.stage.update()},_startLoop:function(){function t(){e._running&&(O_(t),!e._paused&&e._update())}var e=this;this._running=!0,O_(t)},start:function(){this._time=(new Date).getTime(),this._pausedTime=0,this._startLoop()},stop:function(){this._running=!1},pause:function(){this._paused||(this._pauseStart=(new Date).getTime(),this._paused=!0)},resume:function(){this._paused&&(this._pausedTime+=(new Date).getTime()-this._pauseStart,this._paused=!1)},clear:function(){this._clips=[]},isFinished:function(){return!this._clips.length},animate:function(t,e){e=e||{};var n=new u_(t,e.loop,e.getter,e.setter);return this.addAnimator(n),n}},c(nw,Px);var iw=300,rw=["click","dblclick","mousewheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],aw=["touchstart","touchend","touchmove"],ow={pointerdown:1,pointerup:1,pointermove:1,pointerout:1},sw=p(rw,function(t){var e=t.replace("mouse","pointer");return ow[e]?e:t}),lw={mousemove:function(t){t=ge(this.dom,t),this.trigger("mousemove",t)},mouseout:function(t){t=ge(this.dom,t);var e=t.toElement||t.relatedTarget;if(e!==this.dom)for(;e&&9!==e.nodeType;){if(e===this.dom)return;e=e.parentNode}this.trigger("mouseout",t)},touchstart:function(t){t=ge(this.dom,t),t.zrByTouch=!0,this._lastTouchMoment=new Date,this.handler.processGesture(this,t,"start"),lw.mousemove.call(this,t),lw.mousedown.call(this,t),Di(this)},touchmove:function(t){t=ge(this.dom,t),t.zrByTouch=!0,this.handler.processGesture(this,t,"change"),lw.mousemove.call(this,t),Di(this)},touchend:function(t){t=ge(this.dom,t),t.zrByTouch=!0,this.handler.processGesture(this,t,"end"),lw.mouseup.call(this,t),+new Date-this._lastTouchMoment=0||i&&u(i,o)<0)){var s=e.getShallow(o);null!=s&&(r[t[a][0]]=s)}}return r}},Tw=Mw([["lineWidth","width"],["stroke","color"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]),Cw={getLineStyle:function(t){var e=Tw(this,t),n=this.getLineDash(e.lineWidth);return n&&(e.lineDash=n),e},getLineDash:function(t){null==t&&(t=1);var e=this.get("type"),n=Math.max(t,2),i=4*t;return"solid"===e||null==e?null:"dashed"===e?[i,i]:[n,n]}},Dw=Mw([["fill","color"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["opacity"],["shadowColor"]]),Aw={getAreaStyle:function(t,e){return Dw(this,t,e)}},Lw=Math.pow,kw=Math.sqrt,Pw=1e-8,Nw=1e-4,Ew=kw(3),Ow=1/3,Rw=F(),zw=F(),Bw=F(),Vw=Math.min,Gw=Math.max,Fw=Math.sin,Ww=Math.cos,Hw=2*Math.PI,Xw=F(),Yw=F(),jw=F(),Zw=[],Uw=[],qw={M:1,L:2,C:3,Q:4,A:5,Z:6,R:7},Kw=[],$w=[],Jw=[],Qw=[],tb=Math.min,eb=Math.max,nb=Math.cos,ib=Math.sin,rb=Math.sqrt,ab=Math.abs,ob="undefined"!=typeof Float32Array,sb=function(t){this._saveData=!t,this._saveData&&(this.data=[]),this._ctx=null};sb.prototype={constructor:sb,_xi:0,_yi:0,_x0:0,_y0:0,_ux:0,_uy:0,_len:0,_lineDash:null,_dashOffset:0,_dashIdx:0,_dashSum:0,setScale:function(t,e){this._ux=ab(1/d_/t)||0,this._uy=ab(1/d_/e)||0},getContext:function(){return this._ctx},beginPath:function(t){return this._ctx=t,t&&t.beginPath(),t&&(this.dpr=t.dpr),this._saveData&&(this._len=0),this._lineDash&&(this._lineDash=null,this._dashOffset=0),this},moveTo:function(t,e){return this.addData(qw.M,t,e),this._ctx&&this._ctx.moveTo(t,e),this._x0=t,this._y0=e,this._xi=t,this._yi=e,this},lineTo:function(t,e){var n=ab(t-this._xi)>this._ux||ab(e-this._yi)>this._uy||this._len<5;return this.addData(qw.L,t,e),this._ctx&&n&&(this._needsDash()?this._dashedLineTo(t,e):this._ctx.lineTo(t,e)),n&&(this._xi=t,this._yi=e),this},bezierCurveTo:function(t,e,n,i,r,a){return this.addData(qw.C,t,e,n,i,r,a),this._ctx&&(this._needsDash()?this._dashedBezierTo(t,e,n,i,r,a):this._ctx.bezierCurveTo(t,e,n,i,r,a)),this._xi=r,this._yi=a,this},quadraticCurveTo:function(t,e,n,i){return this.addData(qw.Q,t,e,n,i),this._ctx&&(this._needsDash()?this._dashedQuadraticTo(t,e,n,i):this._ctx.quadraticCurveTo(t,e,n,i)),this._xi=n,this._yi=i,this},arc:function(t,e,n,i,r,a){return this.addData(qw.A,t,e,n,n,i,r-i,0,a?0:1),this._ctx&&this._ctx.arc(t,e,n,i,r,a),this._xi=nb(r)*n+t,this._yi=ib(r)*n+e,this},arcTo:function(t,e,n,i,r){return this._ctx&&this._ctx.arcTo(t,e,n,i,r),this},rect:function(t,e,n,i){return this._ctx&&this._ctx.rect(t,e,n,i),this.addData(qw.R,t,e,n,i),this},closePath:function(){this.addData(qw.Z);var t=this._ctx,e=this._x0,n=this._y0;return t&&(this._needsDash()&&this._dashedLineTo(e,n),t.closePath()),this._xi=e,this._yi=n,this},fill:function(t){t&&t.fill(),this.toStatic()},stroke:function(t){t&&t.stroke(),this.toStatic()},setLineDash:function(t){if(t instanceof Array){this._lineDash=t,this._dashIdx=0;for(var e=0,n=0;nn;n++)this.data[n]=t[n];this._len=e},appendPath:function(t){t instanceof Array||(t=[t]);for(var e=t.length,n=0,i=this._len,r=0;e>r;r++)n+=t[r].len();ob&&this.data instanceof Float32Array&&(this.data=new Float32Array(i+n));for(var r=0;e>r;r++)for(var a=t[r].data,o=0;oe.length&&(this._expandData(),e=this.data);for(var n=0;na&&(a=r+a),a%=r,f-=a*h,p-=a*c;h>0&&t>=f||0>h&&f>=t||0===h&&(c>0&&e>=p||0>c&&p>=e);)i=this._dashIdx,n=o[i],f+=h*n,p+=c*n,this._dashIdx=(i+1)%g,h>0&&l>f||0>h&&f>l||c>0&&u>p||0>c&&p>u||s[i%2?"moveTo":"lineTo"](h>=0?tb(f,t):eb(f,t),c>=0?tb(p,e):eb(p,e));h=f-t,c=p-e,this._dashOffset=-rb(h*h+c*c)},_dashedBezierTo:function(t,e,n,i,r,a){var o,s,l,u,h,c=this._dashSum,d=this._dashOffset,f=this._lineDash,p=this._ctx,g=this._xi,m=this._yi,v=lr,y=0,x=this._dashIdx,_=f.length,w=0;for(0>d&&(d=c+d),d%=c,o=0;1>o;o+=.1)s=v(g,t,n,r,o+.1)-v(g,t,n,r,o),l=v(m,e,i,a,o+.1)-v(m,e,i,a,o),y+=rb(s*s+l*l);for(;_>x&&(w+=f[x],!(w>d));x++);for(o=(w-d)/y;1>=o;)u=v(g,t,n,r,o),h=v(m,e,i,a,o),x%2?p.moveTo(u,h):p.lineTo(u,h),o+=f[x]/y,x=(x+1)%_;x%2!==0&&p.lineTo(r,a),s=r-u,l=a-h,this._dashOffset=-rb(s*s+l*l)},_dashedQuadraticTo:function(t,e,n,i){var r=n,a=i;n=(n+2*t)/3,i=(i+2*e)/3,t=(this._xi+2*t)/3,e=(this._yi+2*e)/3,this._dashedBezierTo(t,e,n,i,r,a)},toStatic:function(){var t=this.data;t instanceof Array&&(t.length=this._len,ob&&(this.data=new Float32Array(t)))},getBoundingRect:function(){Kw[0]=Kw[1]=Jw[0]=Jw[1]=Number.MAX_VALUE,$w[0]=$w[1]=Qw[0]=Qw[1]=-Number.MAX_VALUE;for(var t=this.data,e=0,n=0,i=0,r=0,a=0;ac;){var d=s[c++];switch(1===c&&(i=s[c],r=s[c+1],e=i,n=r),d){case qw.M:e=i=s[c++],n=r=s[c++],t.moveTo(i,r);break;case qw.L:a=s[c++],o=s[c++],(ab(a-i)>l||ab(o-r)>u||c===h-1)&&(t.lineTo(a,o),i=a,r=o);break;case qw.C:t.bezierCurveTo(s[c++],s[c++],s[c++],s[c++],s[c++],s[c++]),i=s[c-2],r=s[c-1];break;case qw.Q:t.quadraticCurveTo(s[c++],s[c++],s[c++],s[c++]),i=s[c-2],r=s[c-1];break;case qw.A:var f=s[c++],p=s[c++],g=s[c++],m=s[c++],v=s[c++],y=s[c++],x=s[c++],_=s[c++],w=g>m?g:m,b=g>m?1:g/m,S=g>m?m/g:1,I=Math.abs(g-m)>.001,M=v+y;I?(t.translate(f,p),t.rotate(x),t.scale(b,S),t.arc(0,0,w,v,M,1-_),t.scale(1/b,1/S),t.rotate(-x),t.translate(-f,-p)):t.arc(f,p,w,v,M,1-_),1===c&&(e=nb(v)*g+f,n=ib(v)*m+p),i=nb(M)*g+f,r=ib(M)*m+p;break;case qw.R:e=i=s[c],n=r=s[c+1],t.rect(s[c++],s[c++],s[c++],s[c++]);break;case qw.Z:t.closePath(),i=e,r=n}}}},sb.CMD=qw;var lb=2*Math.PI,ub=2*Math.PI,hb=sb.CMD,cb=2*Math.PI,db=1e-4,fb=[-1,-1,-1],pb=[-1,-1],gb=N_.prototype.getCanvasPattern,mb=Math.abs,vb=new sb(!0);Vr.prototype={constructor:Vr,type:"path",__dirtyPath:!0,strokeContainThreshold:5,subPixelOptimize:!1,brush:function(t,e){var n=this.style,i=this.path||vb,r=n.hasStroke(),a=n.hasFill(),o=n.fill,s=n.stroke,l=a&&!!o.colorStops,u=r&&!!s.colorStops,h=a&&!!o.image,c=r&&!!s.image;if(n.bind(t,this,e),this.setTransform(t),this.__dirty){var d;l&&(d=d||this.getBoundingRect(),this._fillGradient=n.getGradient(t,o,d)),u&&(d=d||this.getBoundingRect(),this._strokeGradient=n.getGradient(t,s,d))}l?t.fillStyle=this._fillGradient:h&&(t.fillStyle=gb.call(o,t)),u?t.strokeStyle=this._strokeGradient:c&&(t.strokeStyle=gb.call(s,t));var f=n.lineDash,p=n.lineDashOffset,g=!!t.setLineDash,m=this.getGlobalScale();if(i.setScale(m[0],m[1]),this.__dirtyPath||f&&!g&&r?(i.beginPath(t),f&&!g&&(i.setLineDash(f),i.setLineDashOffset(p)),this.buildPath(i,this.shape,!1),this.path&&(this.__dirtyPath=!1)):(t.beginPath(),this.path.rebuildPath(t)),a)if(null!=n.fillOpacity){var v=t.globalAlpha;t.globalAlpha=n.fillOpacity*n.opacity,i.fill(t),t.globalAlpha=v}else i.fill(t);if(f&&g&&(t.setLineDash(f),t.lineDashOffset=p),r)if(null!=n.strokeOpacity){var v=t.globalAlpha;t.globalAlpha=n.strokeOpacity*n.opacity,i.stroke(t),t.globalAlpha=v}else i.stroke(t);f&&g&&t.setLineDash([]),null!=n.text&&(this.restoreTransform(t),this.drawRectText(t,this.getBoundingRect()))},buildPath:function(){},createPathProxy:function(){this.path=new sb},getBoundingRect:function(){var t=this._rect,e=this.style,n=!t;if(n){var i=this.path;i||(i=this.path=new sb),this.__dirtyPath&&(i.beginPath(),this.buildPath(i,this.shape,!1)),t=i.getBoundingRect()}if(this._rect=t,e.hasStroke()){var r=this._rectWithStroke||(this._rectWithStroke=t.clone());if(this.__dirty||n){r.copy(t);var a=e.lineWidth,o=e.strokeNoScale?this.getLineScale():1;e.hasFill()||(a=Math.max(a,this.strokeContainThreshold||4)),o>1e-10&&(r.width+=a/o,r.height+=a/o,r.x-=a/o/2,r.y-=a/o/2)}return r}return t},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 a=this.path.data;if(r.hasStroke()){var o=r.lineWidth,s=r.strokeNoScale?this.getLineScale():1;if(s>1e-10&&(r.hasFill()||(o=Math.max(o,this.strokeContainThreshold)),Br(a,o/s,t,e)))return!0}if(r.hasFill())return zr(a,t,e)}return!1},dirty:function(t){null==t&&(t=!0),t&&(this.__dirtyPath=t,this._rect=null),this.__dirty=this.__dirtyText=!0,this.__zr&&this.__zr.refresh(),this.__clipTarget&&this.__clipTarget.dirty()},animateShape:function(t){return this.animate("shape",t)},attrKV:function(t,e){"shape"===t?(this.setShape(e),this.__dirtyPath=!0,this._rect=null):xi.prototype.attrKV.call(this,t,e)},setShape:function(t,e){var n=this.shape;if(n){if(S(t))for(var i in t)t.hasOwnProperty(i)&&(n[i]=t[i]);else n[t]=e;this.dirty(!0)}return this},getLineScale:function(){var t=this.transform;return t&&mb(t[0]-1)>1e-10&&mb(t[3]-1)>1e-10?Math.sqrt(mb(t[0]*t[3]-t[2]*t[1])):1}},Vr.extend=function(t){var e=function(e){Vr.call(this,e),t.style&&this.style.extendFrom(t.style,!1);var n=t.shape;if(n){this.shape=this.shape||{};var i=this.shape;for(var r in n)!i.hasOwnProperty(r)&&n.hasOwnProperty(r)&&(i[r]=n[r])}t.init&&t.init.call(this,e)};h(e,Vr);for(var n in t)"style"!==n&&"shape"!==n&&(e.prototype[n]=t[n]);return e},h(Vr,xi);var yb=sb.CMD,xb=[[],[],[]],_b=Math.sqrt,wb=Math.atan2,bb=function(t,e){var n,i,r,a,o,s,l=t.data,u=yb.M,h=yb.C,c=yb.L,d=yb.R,f=yb.A,p=yb.Q;for(r=0,a=0;ro;o++){var s=xb[o];s[0]=l[r++],s[1]=l[r++],ae(s,s,e),l[a++]=s[0],l[a++]=s[1]}}},Sb=Math.sqrt,Ib=Math.sin,Mb=Math.cos,Tb=Math.PI,Cb=function(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])},Db=function(t,e){return(t[0]*e[0]+t[1]*e[1])/(Cb(t)*Cb(e))},Ab=function(t,e){return(t[0]*e[1]=11?function(){var e,n=this.__clipPaths,i=this.style;if(n)for(var r=0;ra;a++)r+=ee(t[a-1],t[a]);var o=r/2;o=n>o?n:o;for(var a=0;o>a;a++){var s,l,u,h=a/(o-1)*(e?n:n-1),c=Math.floor(h),d=h-c,f=t[c%n];e?(s=t[(c-1+n)%n],l=t[(c+1)%n],u=t[(c+2)%n]):(s=t[0===c?c:c-1],l=t[c>n-2?n-1:c+1],u=t[c>n-3?n-1:c+2]);var p=d*d,g=d*p;i.push([jr(s[0],f[0],l[0],u[0],d,p,g),jr(s[1],f[1],l[1],u[1],d,p,g)])}return i},Vb=function(t,e,n,i){var r,a,o,s,l=[],u=[],h=[],c=[];if(i){o=[1/0,1/0],s=[-1/0,-1/0];for(var d=0,f=t.length;f>d;d++)oe(o,o,t[d]),se(s,s,t[d]);oe(o,o,i[0]),se(s,s,i[1])}for(var d=0,f=t.length;f>d;d++){var p=t[d];if(n)r=t[d?d-1:f-1],a=t[(d+1)%f];else{if(0===d||d===f-1){l.push(H(t[d]));continue}r=t[d-1],a=t[d+1]}Z(u,a,r),Q(u,u,e);var g=ee(p,r),m=ee(p,a),v=g+m;0!==v&&(g/=v,m/=v),Q(h,u,-g),Q(c,u,m);var y=Y([],p,h),x=Y([],p,c);i&&(se(y,y,o),oe(y,y,s),se(x,x,o),oe(x,x,s)),l.push(y),l.push(x)}return n&&l.push(l.shift()),l},Gb=Vr.extend({type:"polygon",shape:{points:null,smooth:!1,smoothConstraint:null},buildPath:function(t,e){Zr(t,e,!0)}}),Fb=Vr.extend({type:"polyline",shape:{points:null,smooth:!1,smoothConstraint:null},style:{stroke:"#000",fill:null},buildPath:function(t,e){Zr(t,e,!1)}}),Wb=Math.round,Hb={},Xb=Vr.extend({type:"rect",shape:{r:0,x:0,y:0,width:0,height:0},buildPath:function(t,e){var n,i,r,a;this.subPixelOptimize?(qr(Hb,e,this.style),n=Hb.x,i=Hb.y,r=Hb.width,a=Hb.height,Hb.r=e.r,e=Hb):(n=e.x,i=e.y,r=e.width,a=e.height),e.r?ti(t,e):t.rect(n,i,r,a),t.closePath()}}),Yb={},jb=Vr.extend({type:"line",shape:{x1:0,y1:0,x2:0,y2:0,percent:1},style:{stroke:"#000",fill:null},buildPath:function(t,e){var n,i,r,a;this.subPixelOptimize?(Ur(Yb,e,this.style),n=Yb.x1,i=Yb.y1,r=Yb.x2,a=Yb.y2):(n=e.x1,i=e.y1,r=e.x2,a=e.y2);var o=e.percent;0!==o&&(t.moveTo(n,i),1>o&&(r=n*(1-o)+r*o,a=i*(1-o)+a*o),t.lineTo(r,a))},pointAt:function(t){var e=this.shape;return[e.x1*(1-t)+e.x2*t,e.y1*(1-t)+e.y2*t]}}),Zb=[],Ub=Vr.extend({type:"bezier-curve",shape:{x1:0,y1:0,x2:0,y2:0,cpx1:0,cpy1:0,percent:1},style:{stroke:"#000",fill:null},buildPath:function(t,e){var n=e.x1,i=e.y1,r=e.x2,a=e.y2,o=e.cpx1,s=e.cpy1,l=e.cpx2,u=e.cpy2,h=e.percent;0!==h&&(t.moveTo(n,i),null==l||null==u?(1>h&&(yr(n,o,r,h,Zb),o=Zb[1],r=Zb[2],yr(i,s,a,h,Zb),s=Zb[1],a=Zb[2]),t.quadraticCurveTo(o,s,r,a)):(1>h&&(dr(n,o,l,r,h,Zb),o=Zb[1],l=Zb[2],r=Zb[3],dr(i,s,u,a,h,Zb),s=Zb[1],u=Zb[2],a=Zb[3]),t.bezierCurveTo(o,s,l,u,r,a)))},pointAt:function(t){return $r(this.shape,t,!1)},tangentAt:function(t){var e=$r(this.shape,t,!0);return te(e,e)}}),qb=Vr.extend({type:"arc",shape:{cx:0,cy:0,r:0,startAngle:0,endAngle:2*Math.PI,clockwise:!0},style:{stroke:"#000",fill:null},buildPath:function(t,e){var n=e.cx,i=e.cy,r=Math.max(e.r,0),a=e.startAngle,o=e.endAngle,s=e.clockwise,l=Math.cos(a),u=Math.sin(a);t.moveTo(l*r+n,u*r+i),t.arc(n,i,r,a,o,!s)}}),Kb=Vr.extend({type:"compound",shape:{paths:null},_updatePathDirty:function(){for(var t=this.__dirtyPath,e=this.shape.paths,n=0;n"'])/g,SS={"&":"&","<":"<",">":">",'"':""","'":"'"},IS=["a","b","c","d","e","f","g"],MS=function(t,e){return"{"+t+(null==e?"":e)+"}"},TS=Xn,CS=(Object.freeze||Object)({addCommas:po,toCamelCase:go,normalizeCssArray:wS,encodeHTML:mo,formatTpl:vo,formatTplSimple:yo,getTooltipMarker:xo,formatTime:wo,capitalFirst:bo,truncateText:TS,getTextBoundingRect:So,getTextRect:Io}),DS=f,AS=["left","right","top","bottom","width","height"],LS=[["width","left","right"],["height","top","bottom"]],kS=Mo,PS=(x(Mo,"vertical"),x(Mo,"horizontal"),{getBoxLayoutParams:function(){return{left:this.get("left"),top:this.get("top"),right:this.get("right"),bottom:this.get("bottom"),width:this.get("width"),height:this.get("height")}}}),NS=ji(),ES=Ha.extend({type:"component",id:"",name:"",mainType:"",subType:"",componentIndex:0,defaultOption:null,ecModel:null,dependentModels:[],uid:null,layoutMode:null,$constructor:function(t,e,n,i){Ha.call(this,t,e,n,i),this.uid=ja("ec_cpt_model")},init:function(t,e,n){this.mergeDefaultAndTheme(t,n)},mergeDefaultAndTheme:function(t,e){var n=this.layoutMode,i=n?Lo(t):{},a=e.getTheme();r(t,a.get(this.mainType)),r(t,this.getDefaultOption()),n&&Ao(t,i,n)},mergeOption:function(t){r(this.option,t,!0);var e=this.layoutMode;e&&Ao(this.option,t,e)},optionUpdated:function(){},getDefaultOption:function(){var t=NS(this);if(!t.defaultOption){for(var e=[],n=this.constructor;n;){var i=n.prototype.defaultOption;i&&e.push(i),n=n.superClass}for(var a={},o=e.length-1;o>=0;o--)a=r(a,e[o],!0);t.defaultOption=a}return t.defaultOption},getReferringComponents:function(t){return this.ecModel.queryComponents({mainType:t,index:this.get(t+"Index",!0),id:this.get(t+"Id",!0)})}});ar(ES,{registerWhenExtend:!0}),Za(ES),Ua(ES,Po),c(ES,PS);var OS="";"undefined"!=typeof navigator&&(OS=navigator.platform||"");var RS={color:["#c23531","#2f4554","#61a0a8","#d48265","#91c7ae","#749f83","#ca8622","#bda29a","#6e7074","#546570","#c4ccd3"],gradientColor:["#f6efa6","#d88273","#bf444c"],textStyle:{fontFamily:OS.match(/^Win/)?"Microsoft YaHei":"sans-serif",fontSize:12,fontStyle:"normal",fontWeight:"normal"},blendMode:null,animation:"auto",animationDuration:1e3,animationDurationUpdate:300,animationEasing:"exponentialOut",animationEasingUpdate:"cubicOut",animationThreshold:2e3,progressiveThreshold:3e3,progressive:400,hoverLayerThreshold:3e3,useUTC:!1},zS=ji(),BS={clearColorPalette:function(){zS(this).colorIdx=0,zS(this).colorNameMap={}},getColorFromPalette:function(t,e,n){e=e||this;var i=zS(e),r=i.colorIdx||0,a=i.colorNameMap=i.colorNameMap||{};if(a.hasOwnProperty(t))return a[t];var o=zi(this.get("color",!0)),s=this.get("colorLayer",!0),l=null!=n&&s?No(s,n):o;if(l=l||o,l&&l.length){var u=l[r];return t&&(a[t]=u),i.colorIdx=(r+1)%l.length,u}}},VS={cartesian2d:function(t,e,n,i){var r=t.getReferringComponents("xAxis")[0],a=t.getReferringComponents("yAxis")[0];e.coordSysDims=["x","y"],n.set("x",r),n.set("y",a),Oo(r)&&(i.set("x",r),e.firstCategoryDimIndex=0),Oo(a)&&(i.set("y",a),e.firstCategoryDimIndex=1)},singleAxis:function(t,e,n,i){var r=t.getReferringComponents("singleAxis")[0];e.coordSysDims=["single"],n.set("single",r),Oo(r)&&(i.set("single",r),e.firstCategoryDimIndex=0)},polar:function(t,e,n,i){var r=t.getReferringComponents("polar")[0],a=r.findAxisModel("radiusAxis"),o=r.findAxisModel("angleAxis");e.coordSysDims=["radius","angle"],n.set("radius",a),n.set("angle",o),Oo(a)&&(i.set("radius",a),e.firstCategoryDimIndex=0),Oo(o)&&(i.set("angle",o),e.firstCategoryDimIndex=1)},geo:function(t,e){e.coordSysDims=["lng","lat"]},parallel:function(t,e,n,i){var r=t.ecModel,a=r.getComponent("parallel",t.get("parallelIndex")),o=e.coordSysDims=a.dimensions.slice();f(a.parallelAxisIndex,function(t,a){var s=r.getComponent("parallelAxis",t),l=o[a];n.set(l,s),Oo(s)&&null==e.firstCategoryDimIndex&&(i.set(l,s),e.firstCategoryDimIndex=a)})}},GS="original",FS="arrayRows",WS="objectRows",HS="keyedColumns",XS="unknown",YS="typedArray",jS="column",ZS="row";Ro.seriesDataToSource=function(t){return new Ro({data:t,sourceFormat:M(t)?YS:GS,fromDataset:!1})},nr(Ro);var US=ji(),qS="\x00_ec_inner",KS=Ha.extend({init:function(t,e,n,i){n=n||{},this.option=null,this._theme=new Ha(n),this._optionManager=i},setOption:function(t,e){N(!(qS in t),"please use chart.getOption()"),this._optionManager.setOption(t,e),this.resetOption(null)},resetOption:function(t){var e=!1,n=this._optionManager;if(!t||"recreate"===t){var i=n.mountOption("recreate"===t);this.option&&"recreate"!==t?(this.restoreData(),this.mergeOption(i)):$o.call(this,i),e=!0}if(("timeline"===t||"media"===t)&&this.restoreData(),!t||"recreate"===t||"timeline"===t){var r=n.getTimelineOption(this);r&&(this.mergeOption(r),e=!0)}if(!t||"recreate"===t||"media"===t){var a=n.getMediaOption(this,this._api);a.length&&f(a,function(t){this.mergeOption(t,e=!0)},this)}return e},mergeOption:function(t){function e(e,i){var r=zi(t[e]),s=Fi(a.get(e),r);Wi(s),f(s,function(t){var n=t.option;S(n)&&(t.keyInfo.mainType=e,t.keyInfo.subType=Qo(e,n,t.exist))});var l=Jo(a,i);n[e]=[],a.set(e,[]),f(s,function(t,i){var r=t.exist,s=t.option;if(N(S(s)||r,"Empty component definition"),s){var u=ES.getClass(e,t.keyInfo.subType,!0);if(r&&r instanceof u)r.name=t.keyInfo.name,r.mergeOption(s,this),r.optionUpdated(s,!1);else{var h=o({dependentModels:l,componentIndex:i},t.keyInfo);r=new u(s,this,this,h),o(r,h),r.init(s,this,this,h),r.optionUpdated(null,!0)}}else r.mergeOption({},this),r.optionUpdated({},!1);a.get(e)[i]=r,n[e][i]=r.option},this),"series"===e&&ts(this,a.get("series"))}var n=this.option,a=this._componentsMap,s=[];Vo(this),f(t,function(t,e){null!=t&&(ES.hasClass(e)?e&&s.push(e):n[e]=null==n[e]?i(t):r(n[e],t,!0))}),ES.topologicalTravel(s,ES.getAllClassMainTypes(),e,this),this._seriesIndicesMap=B(this._seriesIndices=this._seriesIndices||[])},getOption:function(){var t=i(this.option);return f(t,function(e,n){if(ES.hasClass(n)){for(var e=zi(e),i=e.length-1;i>=0;i--)Xi(e[i])&&e.splice(i,1);t[n]=e}}),delete t[qS],t},getTheme:function(){return this._theme},getComponent:function(t,e){var n=this._componentsMap.get(t);return n?n[e||0]:void 0},queryComponents:function(t){var e=t.mainType;if(!e)return[];var n=t.index,i=t.id,r=t.name,a=this._componentsMap.get(e);if(!a||!a.length)return[];var o;if(null!=n)_(n)||(n=[n]),o=m(p(n,function(t){return a[t]}),function(t){return!!t});else if(null!=i){var s=_(i);o=m(a,function(t){return s&&u(i,t.id)>=0||!s&&t.id===i})}else if(null!=r){var l=_(r);o=m(a,function(t){return l&&u(r,t.name)>=0||!l&&t.name===r})}else o=a.slice();return es(o,t)},findComponents:function(t){function e(t){var e=r+"Index",n=r+"Id",i=r+"Name";return!t||null==t[e]&&null==t[n]&&null==t[i]?null:{mainType:r,index:t[e],id:t[n],name:t[i]}}function n(e){return t.filter?m(e,t.filter):e}var i=t.query,r=t.mainType,a=e(i),o=a?this.queryComponents(a):this._componentsMap.get(r);return n(es(o,t))},eachComponent:function(t,e,n){var i=this._componentsMap;if("function"==typeof t)n=e,e=t,i.each(function(t,i){f(t,function(t,r){e.call(n,i,t,r)})});else if(b(t))f(i.get(t),e,n);else if(S(t)){var r=this.findComponents(t);f(r,e,n)}},getSeriesByName:function(t){var e=this._componentsMap.get("series");return m(e,function(e){return e.name===t})},getSeriesByIndex:function(t){return this._componentsMap.get("series")[t]},getSeriesByType:function(t){var e=this._componentsMap.get("series");return m(e,function(e){return e.subType===t})},getSeries:function(){return this._componentsMap.get("series").slice()},getSeriesCount:function(){return this._componentsMap.get("series").length},eachSeries:function(t,e){f(this._seriesIndices,function(n){var i=this._componentsMap.get("series")[n];t.call(e,i,n)},this)},eachRawSeries:function(t,e){f(this._componentsMap.get("series"),t,e)},eachSeriesByType:function(t,e,n){f(this._seriesIndices,function(i){var r=this._componentsMap.get("series")[i];r.subType===t&&e.call(n,r,i)},this)},eachRawSeriesByType:function(t,e,n){return f(this.getSeriesByType(t),e,n)},isSeriesFiltered:function(t){return null==this._seriesIndicesMap.get(t.componentIndex)},getCurrentSeriesIndices:function(){return(this._seriesIndices||[]).slice()},filterSeries:function(t,e){var n=m(this._componentsMap.get("series"),t,e);ts(this,n)},restoreData:function(t){var e=this._componentsMap;ts(this,e.get("series"));var n=[];e.each(function(t,e){n.push(e)}),ES.topologicalTravel(n,ES.getAllClassMainTypes(),function(n){f(e.get(n),function(e){("series"!==n||!qo(e,t))&&e.restoreData()})})}});c(KS,BS);var $S=["getDom","getZr","getWidth","getHeight","getDevicePixelRatio","dispatchAction","isDisposed","on","off","getDataURL","getConnectedDataURL","getModel","getOption","getViewOfComponentModel","getViewOfSeriesModel"],JS={};is.prototype={constructor:is,create:function(t,e){var n=[];f(JS,function(i){var r=i.create(t,e);n=n.concat(r||[])}),this._coordinateSystems=n},update:function(t,e){f(this._coordinateSystems,function(n){n.update&&n.update(t,e)})},getCoordinateSystems:function(){return this._coordinateSystems.slice()}},is.register=function(t,e){JS[t]=e},is.get=function(t){return JS[t]};var QS=f,tI=i,eI=p,nI=r,iI=/^(min|max)?(.+)$/;rs.prototype={constructor:rs,setOption:function(t,e){t&&f(zi(t.series),function(t){t&&t.data&&M(t.data)&&O(t.data)}),t=tI(t,!0);var n=this._optionBackup,i=as.call(this,t,e,!n);this._newBaseOption=i.baseOption,n?(us(n.baseOption,i.baseOption),i.timelineOptions.length&&(n.timelineOptions=i.timelineOptions),i.mediaList.length&&(n.mediaList=i.mediaList),i.mediaDefault&&(n.mediaDefault=i.mediaDefault)):this._optionBackup=i +},mountOption:function(t){var e=this._optionBackup;return this._timelineOptions=eI(e.timelineOptions,tI),this._mediaList=eI(e.mediaList,tI),this._mediaDefault=tI(e.mediaDefault),this._currentMediaIndices=[],tI(t?e.baseOption:this._newBaseOption)},getTimelineOption:function(t){var e,n=this._timelineOptions;if(n.length){var i=t.getComponent("timeline");i&&(e=tI(n[i.getCurrentIndex()],!0))}return e},getMediaOption:function(){var t=this._api.getWidth(),e=this._api.getHeight(),n=this._mediaList,i=this._mediaDefault,r=[],a=[];if(!n.length&&!i)return a;for(var o=0,s=n.length;s>o;o++)os(n[o].query,t,e)&&r.push(o);return!r.length&&i&&(r=[-1]),r.length&&!ls(r,this._currentMediaIndices)&&(a=eI(r,function(t){return tI(-1===t?i.option:n[t].option)})),this._currentMediaIndices=r,a}};var rI=f,aI=S,oI=["areaStyle","lineStyle","nodeStyle","linkStyle","chordStyle","label","labelLine"],sI=function(t,e){rI(ms(t.series),function(t){aI(t)&&gs(t)});var n=["xAxis","yAxis","radiusAxis","angleAxis","singleAxis","parallelAxis","radar"];e&&n.push("valueAxis","categoryAxis","logAxis","timeAxis"),rI(n,function(e){rI(ms(t[e]),function(t){t&&(fs(t,"axisLabel"),fs(t.axisPointer,"label"))})}),rI(ms(t.parallel),function(t){var e=t&&t.parallelAxisDefault;fs(e,"axisLabel"),fs(e&&e.axisPointer,"label")}),rI(ms(t.calendar),function(t){cs(t,"itemStyle"),fs(t,"dayLabel"),fs(t,"monthLabel"),fs(t,"yearLabel")}),rI(ms(t.radar),function(t){fs(t,"name")}),rI(ms(t.geo),function(t){aI(t)&&(ps(t),rI(ms(t.regions),function(t){ps(t)}))}),rI(ms(t.timeline),function(t){ps(t),cs(t,"label"),cs(t,"itemStyle"),cs(t,"controlStyle",!0);var e=t.data;_(e)&&f(e,function(t){S(t)&&(cs(t,"label"),cs(t,"itemStyle"))})}),rI(ms(t.toolbox),function(t){cs(t,"iconStyle"),rI(t.feature,function(t){cs(t,"iconStyle")})}),fs(vs(t.axisPointer),"label"),fs(vs(t.tooltip).axisPointer,"label")},lI=[["x","left"],["y","top"],["x2","right"],["y2","bottom"]],uI=["grid","geo","parallel","legend","toolbox","title","visualMap","dataZoom","timeline"],hI=function(t,e){sI(t,e),t.series=zi(t.series),f(t.series,function(t){if(S(t)){var e=t.type;if(("pie"===e||"gauge"===e)&&null!=t.clockWise&&(t.clockwise=t.clockWise),"gauge"===e){var n=ys(t,"pointer.color");null!=n&&xs(t,"itemStyle.normal.color",n)}_s(t)}}),t.dataRange&&(t.visualMap=t.dataRange),f(uI,function(e){var n=t[e];n&&(_(n)||(n=[n]),f(n,function(t){_s(t)}))})},cI=function(t){var e=B();t.eachSeries(function(t){var n=t.get("stack");if(n){var i=e.get(n)||e.set(n,[]),r=t.getData(),a={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(!a.stackedDimension||!a.isStackedByIndex&&!a.stackedByDimension)return;i.length&&r.setCalculationInfo("stackedOnSeries",i[i.length-1].seriesModel),i.push(a)}}),e.each(ws)},dI=bs.prototype;dI.pure=!1,dI.persistent=!0,dI.getSource=function(){return this._source};var fI={arrayRows_column:{pure:!0,count:function(){return Math.max(0,this._data.length-this._source.startIndex)},getItem:function(t){return this._data[t+this._source.startIndex]},appendData:Ms},arrayRows_row:{pure:!0,count:function(){var t=this._data[0];return t?Math.max(0,t.length-this._source.startIndex):0},getItem:function(t){t+=this._source.startIndex;for(var e=[],n=this._data,i=0;i=1)&&(t=1),t}var 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);var a;this._plan&&!i&&(a=this._plan(this.context));var o=e(this._modBy),s=this._modDataCount||0,l=e(t&&t.modBy),u=t&&t.modDataCount||0;(o!==l||s!==u)&&(a="reset");var h;(this._dirty||"reset"===a)&&(this._dirty=!1,h=Es(this,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 d=this._dueIndex,f=Math.min(null!=c?this._dueIndex+c:1/0,this._dueEnd);if(!i&&(h||f>d)){var p=this._progress;if(_(p))for(var g=0;gi?i++:null}function e(){var t=i%o*r+Math.ceil(i/o),e=i>=n?null:a>t?t:i;return i++,e}var n,i,r,a,o,s={reset:function(l,u,h,c){i=l,n=u,r=h,a=c,o=Math.ceil(a/r),s.next=r>1&&a>0?e:t}};return s}();yI.dirty=function(){this._dirty=!0,this._onDirty&&this._onDirty(this.context)},yI.unfinished=function(){return this._progress&&this._dueIndex":"",m=p+s.join(p||", ");return{renderMode:i,content:m,style:u}}function a(t){return{renderMode:i,content:mo(po(t)),style:u}}var o=this;i=i||"html";var s="html"===i?"
    ":"\n",l="richText"===i,u={},h=0,c=this.getData(),d=c.mapDimension("defaultedTooltip",!0),p=d.length,m=this.getRawValue(t),v=_(m),y=c.getItemVisual(t,"color");S(y)&&y.colorStops&&(y=(y.colorStops[0]||{}).color),y=y||"transparent";var x=p>1||v&&!p?r(m):a(p?As(c,t,d[0]):v?m[0]:m),w=x.content,b=o.seriesIndex+"at"+h,I=xo({color:y,type:"item",renderMode:i,markerId:b});u[b]=y,++h;var M=c.getName(t),T=this.name;Hi(this)||(T=""),T=T?mo(T)+(e?": ":s):"";var C="string"==typeof I?I:I.content,D=e?C+T+w:T+C+(M?mo(M)+": "+w:w);return{html:D,markers:u}},isAnimationEnabled:function(){if(ux.node)return!1;var t=this.getShallow("animation");return t&&this.getData().count()>this.getShallow("animationThreshold")&&(t=!1),t},restoreData:function(){this.dataTask.dirty()},getColorFromPalette:function(t,e,n){var i=this.ecModel,r=BS.getColorFromPalette.call(this,t,e,n);return r||(r=i.getColorFromPalette(t,e,n)),r},coordDimToDataDim:function(t){return this.getRawData().mapDimension(t,!0)},getProgressive:function(){return this.get("progressive")},getProgressiveThreshold:function(){return this.get("progressiveThreshold")},getAxisTooltipData:null,getTooltipPosition:null,pipeTask:null,preventIncremental:null,pipelineContext:null});c(wI,vI),c(wI,BS);var bI=function(){this.group=new __,this.uid=ja("viewComponent")};bI.prototype={constructor:bI,init:function(){},render:function(){},dispose:function(){},filterForExposedEvent:null};var SI=bI.prototype;SI.updateView=SI.updateLayout=SI.updateVisual=function(){},er(bI),ar(bI,{registerWhenExtend:!0});var II=function(){var t=ji();return function(e){var n=t(e),i=e.pipelineContext,r=n.large,a=n.progressiveRender,o=n.large=i.large,s=n.progressiveRender=i.progressiveRender;return!!(r^o||a^s)&&"reset"}},MI=ji(),TI=II();Hs.prototype={type:"chart",init:function(){},render:function(){},highlight:function(t,e,n,i){Ys(t.getData(),i,"emphasis")},downplay:function(t,e,n,i){Ys(t.getData(),i,"normal")},remove:function(){this.group.removeAll()},dispose:function(){},incrementalPrepareRender:null,incrementalRender:null,updateTransform:null,filterForExposedEvent:null};var CI=Hs.prototype;CI.updateView=CI.updateLayout=CI.updateVisual=function(t,e,n,i){this.render(t,e,n,i)},er(Hs,["dispose"]),ar(Hs,{registerWhenExtend:!0}),Hs.markUpdateMethod=function(t,e){MI(t).updateMethod=e};var DI={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)}}},AI="\x00__throttleOriginMethod",LI="\x00__throttleRate",kI="\x00__throttleType",PI={createOnAllSeries:!0,performRawSeries:!0,reset:function(t,e){var n=t.getData(),i=(t.visualColorAccessPath||"itemStyle.color").split("."),r=t.get(i)||t.getColorFromPalette(t.name,null,e.getSeriesCount());if(n.setVisual("color",r),!e.isSeriesFiltered(t)){"function"!=typeof r||r instanceof $b||n.each(function(e){n.setItemVisual(e,"color",r(t.getDataParams(e)))});var a=function(t,e){var n=t.getItemModel(e),r=n.get(i,!0);null!=r&&t.setItemVisual(e,"color",r)};return{dataEach:n.hasItemOption?a:null}}}},NI={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:""}}}},EI=function(t,e){function n(t,e){if("string"!=typeof t)return t;var n=t;return f(e,function(t,e){n=n.replace(new RegExp("\\{\\s*"+e+"\\s*\\}","g"),t)}),n}function i(t){var e=o.get(t);if(null==e){for(var n=t.split("."),i=NI.aria,r=0;rs)){var d=r();l=d?n(i("general.withTitle"),{title:d}):i("general.withoutTitle");var p=[],g=s>1?"series.multiple.prefix":"series.single.prefix";l+=n(i(g),{seriesCount:s}),e.eachSeries(function(t,e){if(c>e){var r,o=t.get("name"),l="series."+(s>1?"multiple":"single")+".";r=i(o?l+"withName":l+"withoutName"),r=n(r,{seriesId:t.seriesIndex,seriesName:t.get("name"),seriesType:a(t.subType)});var h=t.getData();window.data=h,r+=h.count()>u?n(i("data.partialData"),{displayCnt:u}):i("data.allData");for(var d=[],f=0;ff){var g=h.getName(f),m=As(h,f);d.push(n(i(g?"data.withName":"data.withoutName"),{name:g,value:m}))}r+=d.join(i("data.separator.middle"))+i("data.separator.end"),p.push(r)}}),l+=p.join(i("series.multiple.separator.middle"))+i("series.multiple.separator.end"),t.setAttribute("aria-label",l)}}},OI=Math.PI,RI=function(t,e){e=e||{},s(e,{text:"loading",color:"#c23531",textColor:"#000",maskColor:"rgba(255, 255, 255, 0.8)",zlevel:0});var n=new Xb({style:{fill:e.maskColor},zlevel:e.zlevel,z:1e4}),i=new qb({shape:{startAngle:-OI/2,endAngle:-OI/2+.1,r:10},style:{stroke:e.color,lineCap:"round",lineWidth:5},zlevel:e.zlevel,z:10001}),r=new Xb({style:{fill:"none",text:e.text,textPosition:"right",textDistance:10,textFill:e.textColor},zlevel:e.zlevel,z:10001});i.animateShape(!0).when(1e3,{endAngle:3*OI/2}).start("circularInOut"),i.animateShape(!0).when(1e3,{startAngle:3*OI/2}).delay(300).start("circularInOut");var a=new __;return a.add(i),a.add(r),a.add(n),a.resize=function(){var e=t.getWidth()/2,a=t.getHeight()/2;i.setShape({cx:e,cy:a});var o=i.shape.r;r.setShape({x:e-o,y:a-o,width:2*o,height:2*o}),n.setShape({x:0,y:0,width:t.getWidth(),height:t.getHeight()})},a.resize(),a},zI=Ks.prototype;zI.restoreData=function(t,e){t.restoreData(e),this._stageTaskMap.each(function(t){var e=t.overallTask;e&&e.dirty()})},zI.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,a=r?n.step:null,o=i&&i.modDataCount,s=null!=o?Math.ceil(o/a):null;return{step:a,modBy:s,modDataCount:o}}},zI.getPipeline=function(t){return this._pipelineMap.get(t)},zI.updateStreamModes=function(t,e){var n=this._pipelineMap.get(t.uid),i=t.getData(),r=i.count(),a=n.progressiveEnabled&&e.incrementalPrepareRender&&r>=n.threshold,o=t.get("large")&&r>=t.get("largeThreshold"),s="mod"===t.get("progressiveChunkMode")?r:null;t.pipelineContext=n.context={progressiveRender:a,modDataCount:s,large:o}},zI.restorePipelines=function(t){var e=this,n=e._pipelineMap=B();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}),ll(e,t,t.dataTask)})},zI.prepareStageTasks=function(){var t=this._stageTaskMap,e=this.ecInstance.getModel(),n=this.api;f(this._allHandlers,function(i){var r=t.get(i.uid)||t.set(i.uid,[]);i.reset&&Js(this,i,r,e,n),i.overallReset&&Qs(this,i,r,e,n)},this)},zI.prepareView=function(t,e,n,i){var r=t.renderTask,a=r.context;a.model=e,a.ecModel=n,a.api=i,r.__block=!t.incrementalPrepareRender,ll(this,e,r)},zI.performDataProcessorTasks=function(t,e){$s(this,this._dataProcessorHandlers,t,e,{block:!0})},zI.performVisualTasks=function(t,e,n){$s(this,this._visualHandlers,t,e,n)},zI.performSeriesTasks=function(t){var e;t.eachSeries(function(t){e|=t.dataTask.perform()}),this.unfinished|=e},zI.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)})};var BI=zI.updatePayload=function(t,e){"remain"!==e&&(t.context.payload=e)},VI=ol(0);Ks.wrapStageHandler=function(t,e){return w(t)&&(t={overallReset:t,seriesType:ul(t)}),t.uid=ja("stageHandler"),e&&(t.visualType=e),t};var GI,FI={},WI={};hl(FI,KS),hl(WI,ns),FI.eachSeriesByType=FI.eachRawSeriesByType=function(t){GI=t},FI.eachComponent=function(t){"series"===t.mainType&&t.subType&&(GI=t.subType)};var HI=["#37A2DA","#32C5E9","#67E0E3","#9FE6B8","#FFDB5C","#ff9f7f","#fb7293","#E062AE","#E690D1","#e7bcf3","#9d96f5","#8378EA","#96BFFF"],XI={color:HI,colorLayer:[["#37A2DA","#ffd85c","#fd7b5f"],["#37A2DA","#67E0E3","#FFDB5C","#ff9f7f","#E062AE","#9d96f5"],["#37A2DA","#32C5E9","#9FE6B8","#FFDB5C","#ff9f7f","#fb7293","#e7bcf3","#8378EA","#96BFFF"],HI]},YI="#eee",jI=function(){return{axisLine:{lineStyle:{color:YI}},axisTick:{lineStyle:{color:YI}},axisLabel:{textStyle:{color:YI}},splitLine:{lineStyle:{type:"dashed",color:"#aaa"}},splitArea:{areaStyle:{color:YI}}}},ZI=["#dd6b66","#759aa0","#e69d87","#8dc1a9","#ea7e53","#eedd78","#73a373","#73b9bc","#7289ab","#91ca8c","#f49f42"],UI={color:ZI,backgroundColor:"#333",tooltip:{axisPointer:{lineStyle:{color:YI},crossStyle:{color:YI}}},legend:{textStyle:{color:YI}},textStyle:{color:YI},title:{textStyle:{color:YI}},toolbox:{iconStyle:{normal:{borderColor:YI}}},dataZoom:{textStyle:{color:YI}},visualMap:{textStyle:{color:YI}},timeline:{lineStyle:{color:YI},itemStyle:{normal:{color:ZI[1]}},label:{normal:{textStyle:{color:YI}}},controlStyle:{normal:{color:YI,borderColor:YI}}},timeAxis:jI(),logAxis:jI(),valueAxis:jI(),categoryAxis:jI(),line:{symbol:"circle"},graph:{color:ZI},gauge:{title:{textStyle:{color:YI}}},candlestick:{itemStyle:{normal:{color:"#FD1050",color0:"#0CF49B",borderColor:"#FD1050",borderColor0:"#0CF49B"}}}};UI.categoryAxis.splitLine.show=!1,ES.extend({type:"dataset",defaultOption:{seriesLayoutBy:jS,sourceHeader:null,dimensions:null,source:null},optionUpdated:function(){zo(this)}}),bI.extend({type:"dataset"});var qI=Vr.extend({type:"ellipse",shape:{cx:0,cy:0,rx:0,ry:0},buildPath:function(t,e){var n=.5522848,i=e.cx,r=e.cy,a=e.rx,o=e.ry,s=a*n,l=o*n;t.moveTo(i-a,r),t.bezierCurveTo(i-a,r-l,i-s,r-o,i,r-o),t.bezierCurveTo(i+s,r-o,i+a,r-l,i+a,r),t.bezierCurveTo(i+a,r+l,i+s,r+o,i,r+o),t.bezierCurveTo(i-s,r+o,i-a,r+l,i-a,r),t.closePath()}}),KI=/[\s,]+/;dl.prototype.parse=function(t,e){e=e||{};var n=cl(t);if(!n)throw new Error("Illegal svg");var i=new __;this._root=i;var r=n.getAttribute("viewBox")||"",a=parseFloat(n.getAttribute("width")||e.width),o=parseFloat(n.getAttribute("height")||e.height);isNaN(a)&&(a=null),isNaN(o)&&(o=null),ml(n,i,null,!0);for(var s=n.firstChild;s;)this._parseNode(s,i),s=s.nextSibling;var l,u;if(r){var h=E(r).split(KI);h.length>=4&&(l={x:parseFloat(h[0]||0),y:parseFloat(h[1]||0),width:parseFloat(h[2]),height:parseFloat(h[3])})}if(l&&null!=a&&null!=o&&(u=_l(l,a,o),!e.ignoreViewBox)){var c=i;i=new __,i.add(c),c.scale=u.scale.slice(),c.position=u.position.slice()}return e.ignoreRootClip||null==a||null==o||i.setClipPath(new Xb({shape:{x:0,y:0,width:a,height:o}})),{root:i,width:a,height:o,viewBoxRect:l,viewBoxTransform:u}},dl.prototype._parseNode=function(t,e){var n=t.nodeName.toLowerCase();"defs"===n?this._isDefine=!0:"text"===n&&(this._isText=!0);var i;if(this._isDefine){var r=JI[n];if(r){var a=r.call(this,t),o=t.getAttribute("id");o&&(this._defs[o]=a)}}else{var r=$I[n];r&&(i=r.call(this,t,e),e.add(i))}for(var s=t.firstChild;s;)1===s.nodeType&&this._parseNode(s,i),3===s.nodeType&&this._isText&&this._parseText(s,i),s=s.nextSibling;"defs"===n?this._isDefine=!1:"text"===n&&(this._isText=!1)},dl.prototype._parseText=function(t,e){if(1===t.nodeType){var n=t.getAttribute("dx")||0,i=t.getAttribute("dy")||0;this._textX+=parseFloat(n),this._textY+=parseFloat(i)}var r=new Pb({style:{text:t.textContent,transformText:!0},position:[this._textX||0,this._textY||0]});pl(e,r),ml(t,r,this._defs);var a=r.style.fontSize;a&&9>a&&(r.style.fontSize=9,r.scale=r.scale||[1,1],r.scale[0]*=a/9,r.scale[1]*=a/9);var o=r.getBoundingRect();return this._textX+=o.width,e.add(r),r};var $I={g:function(t,e){var n=new __;return pl(e,n),ml(t,n,this._defs),n},rect:function(t,e){var n=new Xb;return pl(e,n),ml(t,n,this._defs),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},circle:function(t,e){var n=new Nb;return pl(e,n),ml(t,n,this._defs),n.setShape({cx:parseFloat(t.getAttribute("cx")||0),cy:parseFloat(t.getAttribute("cy")||0),r:parseFloat(t.getAttribute("r")||0)}),n},line:function(t,e){var n=new jb;return pl(e,n),ml(t,n,this._defs),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},ellipse:function(t,e){var n=new qI;return pl(e,n),ml(t,n,this._defs),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},polygon:function(t,e){var n=t.getAttribute("points");n&&(n=gl(n));var i=new Gb({shape:{points:n||[]}});return pl(e,i),ml(t,i,this._defs),i},polyline:function(t,e){var n=new Vr;pl(e,n),ml(t,n,this._defs);var i=t.getAttribute("points");i&&(i=gl(i));var r=new Fb({shape:{points:i||[]}});return r},image:function(t,e){var n=new _i;return pl(e,n),ml(t,n,this._defs),n.setStyle({image:t.getAttribute("xlink:href"),x:t.getAttribute("x"),y:t.getAttribute("y"),width:t.getAttribute("width"),height:t.getAttribute("height")}),n},text:function(t,e){var n=t.getAttribute("x")||0,i=t.getAttribute("y")||0,r=t.getAttribute("dx")||0,a=t.getAttribute("dy")||0;this._textX=parseFloat(n)+parseFloat(r),this._textY=parseFloat(i)+parseFloat(a);var o=new __;return pl(e,o),ml(t,o,this._defs),o},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,a=t.getAttribute("dy")||0,o=new __;return pl(e,o),ml(t,o,this._defs),this._textX+=r,this._textY+=a,o},path:function(t,e){var n=t.getAttribute("d")||"",i=Hr(n);return pl(e,i),ml(t,i,this._defs),i}},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),a=new Jb(e,n,i,r);return fl(t,a),a},radialgradient:function(){}},QI={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-align":"textAlign","alignment-baseline":"textBaseline"},tM=/url\(\s*#(.*?)\)/,eM=/(translate|scale|rotate|skewX|skewY|matrix)\(([\-\s0-9\.e,]*)\)/g,nM=/([^\s:;]+)\s*:\s*([^:;]+)/g,iM=B(),rM={registerMap:function(t,e,n){var i;return _(e)?i=e:e.svg?i=[{type:"svg",source:e.svg,specialAreas:e.specialAreas}]:(e.geoJson&&!e.features&&(n=e.specialAreas,e=e.geoJson),i=[{type:"geoJSON",source:e,specialAreas:n}]),f(i,function(t){var e=t.type;"geoJson"===e&&(e=t.type="geoJSON");var n=aM[e];n(t)}),iM.set(t,i)},retrieveMap:function(t){return iM.get(t)}},aM={geoJSON:function(t){var e=t.source;t.geoJSON=b(e)?"undefined"!=typeof JSON&&JSON.parse?JSON.parse(e):new Function("return ("+e+");")():e},svg:function(t){t.svgXML=cl(t.source)}},oM=N,sM=f,lM=w,uM=S,hM=ES.parseClassType,cM="4.2.1",dM={zrender:"4.0.6"},fM=1,pM=1e3,gM=5e3,mM=1e3,vM=2e3,yM=3e3,xM=4e3,_M=5e3,wM={PROCESSOR:{FILTER:pM,STATISTIC:gM},VISUAL:{LAYOUT:mM,GLOBAL:vM,CHART:yM,COMPONENT:xM,BRUSH:_M}},bM="__flagInMainProcess",SM="__optionUpdated",IM=/^[a-zA-Z0-9_]+$/;Sl.prototype.on=bl("on"),Sl.prototype.off=bl("off"),Sl.prototype.one=bl("one"),c(Sl,Px);var MM=Il.prototype;MM._onframe=function(){if(!this._disposed){var t=this._scheduler;if(this[SM]){var e=this[SM].silent;this[bM]=!0,Tl(this),TM.update.call(this),this[bM]=!1,this[SM]=!1,Ll.call(this,e),kl.call(this,e)}else if(t.unfinished){var n=fM,i=this._model,r=this._api;t.unfinished=!1;do{var a=+new Date;t.performSeriesTasks(i),t.performDataProcessorTasks(i),Dl(this,i),t.performVisualTasks(i),zl(this,this._model,r,"remain"),n-=+new Date-a}while(n>0&&t.unfinished);t.unfinished||this._zr.flush()}}},MM.getDom=function(){return this._dom},MM.getZr=function(){return this._zr},MM.setOption=function(t,e,n){var i;if(uM(e)&&(n=e.lazyUpdate,i=e.silent,e=e.notMerge),this[bM]=!0,!this._model||e){var r=new rs(this._api),a=this._theme,o=this._model=new KS(null,null,a,r);o.scheduler=this._scheduler,o.init(null,null,a,r)}this._model.setOption(t,kM),n?(this[SM]={silent:i},this[bM]=!1):(Tl(this),TM.update.call(this),this._zr.flush(),this[SM]=!1,this[bM]=!1,Ll.call(this,i),kl.call(this,i))},MM.setTheme=function(){console.error("ECharts#setTheme() is DEPRECATED in ECharts 3.0")},MM.getModel=function(){return this._model},MM.getOption=function(){return this._model&&this._model.getOption()},MM.getWidth=function(){return this._zr.getWidth()},MM.getHeight=function(){return this._zr.getHeight()},MM.getDevicePixelRatio=function(){return this._zr.painter.dpr||window.devicePixelRatio||1},MM.getRenderedCanvas=function(t){if(ux.canvasSupported){t=t||{},t.pixelRatio=t.pixelRatio||1,t.backgroundColor=t.backgroundColor||this._model.get("backgroundColor");var e=this._zr;return e.painter.getRenderedCanvas(t)}},MM.getSvgDataUrl=function(){if(ux.svgSupported){var t=this._zr,e=t.storage.getDisplayList();return f(e,function(t){t.stopAnimation(!0)}),t.painter.pathToDataUrl()}},MM.getDataURL=function(t){t=t||{};var e=t.excludeComponents,n=this._model,i=[],r=this;sM(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 a="svg"===this._zr.painter.getType()?this.getSvgDataUrl():this.getRenderedCanvas(t).toDataURL("image/"+(t&&t.type||"png"));return sM(i,function(t){t.group.ignore=!1}),a},MM.getConnectedDataURL=function(t){if(ux.canvasSupported){var e=this.group,n=Math.min,r=Math.max,a=1/0;if(zM[e]){var o=a,s=a,l=-a,u=-a,h=[],c=t&&t.pixelRatio||1;f(RM,function(a){if(a.group===e){var c=a.getRenderedCanvas(i(t)),d=a.getDom().getBoundingClientRect();o=n(d.left,o),s=n(d.top,s),l=r(d.right,l),u=r(d.bottom,u),h.push({dom:c,left:d.left,top:d.top})}}),o*=c,s*=c,l*=c,u*=c;var d=l-o,p=u-s,g=_x();g.width=d,g.height=p;var m=Pi(g);return sM(h,function(t){var e=new _i({style:{x:t.left*c-o,y:t.top*c-s,image:t.dom}});m.add(e)}),m.refreshImmediately(),g.toDataURL("image/"+(t&&t.type||"png"))}return this.getDataURL(t)}},MM.convertToPixel=x(Ml,"convertToPixel"),MM.convertFromPixel=x(Ml,"convertFromPixel"),MM.containPixel=function(t,e){var n,i=this._model;return t=Zi(i,t),f(t,function(t,i){i.indexOf("Models")>=0&&f(t,function(t){var r=t.coordinateSystem;if(r&&r.containPoint)n|=!!r.containPoint(e);else if("seriesModels"===i){var a=this._chartsMap[t.__viewId];a&&a.containPoint&&(n|=a.containPoint(e,t))}},this)},this),!!n},MM.getVisual=function(t,e){var n=this._model;t=Zi(n,t,{defaultMainType:"series"});var i=t.seriesModel,r=i.getData(),a=t.hasOwnProperty("dataIndexInside")?t.dataIndexInside:t.hasOwnProperty("dataIndex")?r.indexOfRawIndex(t.dataIndex):null;return null!=a?r.getItemVisual(a,e):r.getVisual(e)},MM.getViewOfComponentModel=function(t){return this._componentsMap[t.__viewId]},MM.getViewOfSeriesModel=function(t){return this._chartsMap[t.__viewId]};var TM={prepareAndUpdate:function(t){Tl(this),TM.update.call(this,t)},update:function(t){var e=this._model,n=this._api,i=this._zr,r=this._coordSysMgr,a=this._scheduler;if(e){a.restoreData(e,t),a.performSeriesTasks(e),r.create(e,n),a.performDataProcessorTasks(e,t),Dl(this,e),r.update(e,n),El(e),a.performVisualTasks(e,t),Ol(this,e,n,t);var o=e.get("backgroundColor")||"transparent";if(ux.canvasSupported)i.setBackgroundColor(o);else{var s=je(o);o=en(s,"rgb"),0===s[3]&&(o="transparent")}Bl(e,n)}},updateTransform:function(t){var e=this._model,n=this,i=this._api;if(e){var r=[];e.eachComponent(function(a,o){var s=n.getViewOfComponentModel(o);if(s&&s.__alive)if(s.updateTransform){var l=s.updateTransform(o,e,i,t);l&&l.update&&r.push(s)}else r.push(s)});var a=B();e.eachSeries(function(r){var o=n._chartsMap[r.__viewId];if(o.updateTransform){var s=o.updateTransform(r,e,i,t);s&&s.update&&a.set(r.uid,1)}else a.set(r.uid,1)}),El(e),this._scheduler.performVisualTasks(e,t,{setDirty:!0,dirtyMap:a}),zl(n,e,i,t,a),Bl(e,this._api)}},updateView:function(t){var e=this._model;e&&(Hs.markUpdateMethod(t,"updateView"),El(e),this._scheduler.performVisualTasks(e,t,{setDirty:!0}),Ol(this,this._model,this._api,t),Bl(e,this._api))},updateVisual:function(t){TM.update.call(this,t)},updateLayout:function(t){TM.update.call(this,t)}};MM.resize=function(t){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[bM]=!0,n&&Tl(this),TM.update.call(this),this[bM]=!1,Ll.call(this,i),kl.call(this,i)}},MM.showLoading=function(t,e){if(uM(t)&&(e=t,t=""),t=t||"default",this.hideLoading(),OM[t]){var n=OM[t](this._api,e),i=this._zr;this._loadingFX=n,i.add(n)}},MM.hideLoading=function(){this._loadingFX&&this._zr.remove(this._loadingFX),this._loadingFX=null},MM.makeActionFromEvent=function(t){var e=o({},t);return e.type=AM[t.type],e},MM.dispatchAction=function(t,e){if(uM(e)||(e={silent:!!e}),DM[t.type]&&this._model){if(this[bM])return void this._pendingActions.push(t);Al.call(this,t,e.silent),e.flush?this._zr.flush(!0):e.flush!==!1&&ux.browser.weChat&&this._throttledZrFlush(),Ll.call(this,e.silent),kl.call(this,e.silent)}},MM.appendData=function(t){var e=t.seriesIndex,n=this.getModel(),i=n.getSeriesByIndex(e);i.appendData(t),this._scheduler.unfinished=!0},MM.on=bl("on"),MM.off=bl("off"),MM.one=bl("one");var CM=["click","dblclick","mouseover","mouseout","mousemove","mousedown","mouseup","globalout","contextmenu"];MM._initEvents=function(){sM(CM,function(t){var e=function(e){var n,i=this.getModel(),r=e.target,a="globalout"===t;if(a)n={};else if(r&&null!=r.dataIndex){var s=r.dataModel||i.getSeriesByIndex(r.seriesIndex);n=s&&s.getDataParams(r.dataIndex,r.dataType,r)||{}}else r&&r.eventData&&(n=o({},r.eventData));if(n){var l=n.componentType,u=n.componentIndex;("markLine"===l||"markPoint"===l||"markArea"===l)&&(l="series",u=n.seriesIndex);var h=l&&null!=u&&i.getComponent(l,u),c=h&&this["series"===h.mainType?"_chartsMap":"_componentsMap"][h.__viewId];n.event=e,n.type=t,this._ecEventProcessor.eventInfo={targetEl:r,packedEvent:n,model:h,view:c},this.trigger(t,n)}};e.zrEventfulCallAtLast=!0,this._zr.on(t,e,this)},this),sM(AM,function(t,e){this._messageCenter.on(e,function(t){this.trigger(e,t)},this)},this)},MM.isDisposed=function(){return this._disposed},MM.clear=function(){this.setOption({series:[]},!0)},MM.dispose=function(){if(!this._disposed){this._disposed=!0,qi(this.getDom(),GM,"");var t=this._api,e=this._model;sM(this._componentsViews,function(n){n.dispose(e,t)}),sM(this._chartsViews,function(n){n.dispose(e,t)}),this._zr.dispose(),delete RM[this.id]}},c(Il,Px),Hl.prototype={constructor:Hl,normalizeQuery:function(t){var e={},n={},i={};if(b(t)){var r=hM(t);e.mainType=r.main||null,e.subType=r.sub||null}else{var a=["Index","Name","Id"],o={name:1,dataIndex:1,dataType:1};f(t,function(t,r){for(var s=!1,l=0;l0&&h===r.length-u.length){var c=r.slice(0,h);"data"!==c&&(e.mainType=c,e[u.toLowerCase()]=t,s=!0)}}o.hasOwnProperty(r)&&(n[r]=t,s=!0),s||(i[r]=t)})}return{cptQuery:e,dataQuery:n,otherQuery:i}},filter:function(t,e){function n(t,e,n,i){return null==t[n]||e[i||n]===t[n]}var i=this.eventInfo;if(!i)return!0;var r=i.targetEl,a=i.packedEvent,o=i.model,s=i.view;if(!o||!s)return!0;var l=e.cptQuery,u=e.dataQuery;return n(l,o,"mainType")&&n(l,o,"subType")&&n(l,o,"index","componentIndex")&&n(l,o,"name")&&n(l,o,"id")&&n(u,a,"name")&&n(u,a,"dataIndex")&&n(u,a,"dataType")&&(!s.filterForExposedEvent||s.filterForExposedEvent(t,e.otherQuery,r,a))},afterTrigger:function(){this.eventInfo=null}};var DM={},AM={},LM=[],kM=[],PM=[],NM=[],EM={},OM={},RM={},zM={},BM=new Date-0,VM=new Date-0,GM="_echarts_instance_",FM=Zl;au(vM,PI),Jl(hI),Ql(gM,cI),su("default",RI),eu({type:"highlight",event:"highlight",update:"highlight"},G),eu({type:"downplay",event:"downplay",update:"downplay"},G),$l("light",XI),$l("dark",UI);var WM={};mu.prototype={constructor:mu,add:function(t){return this._add=t,this},update:function(t){return this._update=t,this},remove:function(t){return this._remove=t,this},execute:function(){var t,e=this._old,n=this._new,i={},r={},a=[],o=[];for(vu(e,i,a,"_oldKeyGetter",this),vu(n,r,o,"_newKeyGetter",this),t=0;th;h++)this._add&&this._add(l[h]);else this._add&&this._add(l)}}}};var HM=B(["tooltip","label","itemName","itemId","seriesName"]),XM=S,YM="undefined",jM=-1,ZM="e\x00\x00",UM={"float":typeof Float64Array===YM?Array:Float64Array,"int":typeof Int32Array===YM?Array:Int32Array,ordinal:Array,number:Array,time:Array},qM=typeof Uint32Array===YM?Array:Uint32Array,KM=typeof Int32Array===YM?Array:Int32Array,$M=typeof Uint16Array===YM?Array:Uint16Array,JM=["hasItemOption","_nameList","_idList","_invertedIndicesMap","_rawData","_chunkSize","_chunkCount","_dimValueGetter","_count","_rawCount","_nameDimIdx","_idDimIdx"],QM=["_extent","_approximateExtent","_rawExtent"],tT=function(t,e){t=t||["x","y"];for(var n={},i=[],r={},a=0;ah;h++){var c=r[h];o[c]||(o[c]=Nu()),i[c]||(i[c]=[]),Iu(i,this._dimensionInfos[c],n,u,l),this._chunkCount=i[c].length}for(var d=new Array(a),f=s;l>f;f++){for(var p=f-s,g=Math.floor(f/n),m=f%n,v=0;a>v;v++){var c=r[v],y=this._dimValueGetterArrayRows(t[p]||d,c,p,v);i[c][g][m]=y;var x=o[c];yx[1]&&(x[1]=y)}e&&(this._nameList[f]=e[p])}this._rawCount=this._count=l,this._extent={},Mu(this)},eT._initDataFromProvider=function(t,e){if(!(t>=e)){for(var n,i=this._chunkSize,r=this._rawData,a=this._storage,o=this.dimensions,s=o.length,l=this._dimensionInfos,u=this._nameList,h=this._idList,c=this._rawExtent,d=this._nameRepeatCount={},f=this._chunkCount,p=0;s>p;p++){var g=o[p];c[g]||(c[g]=Nu());var m=l[g];0===m.otherDims.itemName&&(n=this._nameDimIdx=p),0===m.otherDims.itemId&&(this._idDimIdx=p),a[g]||(a[g]=[]),Iu(a,m,i,f,e),this._chunkCount=a[g].length}for(var v=new Array(s),y=t;e>y;y++){v=r.getItem(y,v);for(var x=Math.floor(y/i),_=y%i,w=0;s>w;w++){var g=o[w],b=a[g][x],S=this._dimValueGetter(v,g,y,w);b[_]=S;var I=c[g];SI[1]&&(I[1]=S)}if(!r.pure){var M=u[y];if(v&&null==M)if(null!=v.name)u[y]=M=v.name;else if(null!=n){var T=o[n],C=a[T][x];if(C){M=C[_];var D=l[T].ordinalMeta;D&&D.categories.length&&(M=D.categories[M])}}var A=null==v?null:v.id;null==A&&null!=M&&(d[M]=d[M]||0,A=M,d[M]>0&&(A+="__ec__"+d[M]),d[M]++),null!=A&&(h[y]=A)}}!r.persistent&&r.clean&&r.clean(),this._rawCount=this._count=e,this._extent={},Mu(this)}},eT.count=function(){return this._count},eT.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;i>r;r++)t[r]=e[r]}else t=new n(e.buffer,0,i)}else for(var n=wu(this),t=new n(this.count()),r=0;r=0&&e=0&&ei;i++)n.push(this.get(t[i],e));return n},eT.hasValue=function(t){for(var e=this._dimensionsSummary.dataDimsOnCoord,n=this._dimensionInfos,i=0,r=e.length;r>i;i++)if("ordinal"!==n[e[i]].type&&isNaN(this.get(e[i],t)))return!1;return!0},eT.getDataExtent=function(t){t=this.getDimension(t);var e=this._storage[t],n=Nu();if(!e)return n;var i,r=this.count(),a=!this._indices;if(a)return this._rawExtent[t].slice();if(i=this._extent[t])return i.slice();i=n;for(var o=i[0],s=i[1],l=0;r>l;l++){var u=this._getFast(t,this.getRawIndex(l));o>u&&(o=u),u>s&&(s=u)}return i=[o,s],this._extent[t]=i,i},eT.getApproximateExtent=function(t){return t=this.getDimension(t),this._approximateExtent[t]||this.getDataExtent(t)},eT.setApproximateExtent=function(t,e){e=this.getDimension(e),this._approximateExtent[e]=t.slice()},eT.getCalculationInfo=function(t){return this._calculationInfo[t]},eT.setCalculationInfo=function(t,e){XM(t)?o(this._calculationInfo,t):this._calculationInfo[t]=e},eT.getSum=function(t){var e=this._storage[t],n=0;if(e)for(var i=0,r=this.count();r>i;i++){var a=this.get(t,i);isNaN(a)||(n+=a)}return n},eT.getMedian=function(t){var e=[];this.each(t,function(t){isNaN(t)||e.push(t)});var n=[].concat(e).sort(function(t,e){return t-e}),i=this.count();return 0===i?0:i%2===1?n[(i-1)/2]:(n[i/2]+n[i/2-1])/2},eT.rawIndexOf=function(t,e){var n=t&&this._invertedIndicesMap[t],i=n[e];return null==i||isNaN(i)?jM:i},eT.indexOfName=function(t){for(var e=0,n=this.count();n>e;e++)if(this.getName(e)===t)return e;return-1},eT.indexOfRawIndex=function(t){if(!this._indices)return t;if(t>=this._rawCount||0>t)return-1;var e=this._indices,n=e[t];if(null!=n&&n=i;){var a=(i+r)/2|0;if(e[a]t))return a;r=a-1}}return-1},eT.indicesOfNearest=function(t,e,n){var i=this._storage,r=i[t],a=[];if(!r)return a;null==n&&(n=1/0);for(var o=Number.MAX_VALUE,s=-1,l=0,u=this.count();u>l;l++){var h=e-this.get(t,l),c=Math.abs(h);n>=h&&o>=c&&((o>c||h>=0&&0>s)&&(o=c,s=h,a.length=0),a.push(l))}return a},eT.getRawIndex=Cu,eT.getRawDataItem=function(t){if(this._rawData.persistent)return this._rawData.getItem(this.getRawIndex(t));for(var e=[],n=0;no;o++)s[o]=this.get(t[o],a);s[o]=a,e.apply(n,s)}}},eT.filterSelf=function(t,e,n,i){if(this._count){"function"==typeof t&&(i=n,n=e,e=t,t=[]),n=n||i||this,t=p(Lu(t),this.getDimension,this);for(var r=this.count(),a=wu(this),o=new a(r),s=[],l=t.length,u=0,h=t[0],c=0;r>c;c++){var d,f=this.getRawIndex(c);if(0===l)d=e.call(n,c);else if(1===l){var g=this._getFast(h,f);d=e.call(n,g,c)}else{for(var m=0;l>m;m++)s[m]=this._getFast(h,f);s[m]=c,d=e.apply(n,s)}d&&(o[u++]=f)}return r>u&&(this._indices=o),this._count=u,this._extent={},this.getRawIndex=this._indices?Du:Cu,this}},eT.selectRange=function(t){if(this._count){var e=[];for(var n in t)t.hasOwnProperty(n)&&e.push(n);var i=e.length;if(i){var r=this.count(),a=wu(this),o=new a(r),s=0,l=e[0],u=t[l][0],h=t[l][1],c=!1;if(!this._indices){var d=0;if(1===i){for(var f=this._storage[e[0]],p=0;pv;v++){var y=g[v];(y>=u&&h>=y||isNaN(y))&&(o[s++]=d),d++}c=!0}else if(2===i){for(var f=this._storage[l],x=this._storage[e[1]],_=t[e[1]][0],w=t[e[1]][1],p=0;pv;v++){var y=g[v],S=b[v];(y>=u&&h>=y||isNaN(y))&&(S>=_&&w>=S||isNaN(S))&&(o[s++]=d),d++}c=!0}}if(!c)if(1===i)for(var v=0;r>v;v++){var I=this.getRawIndex(v),y=this._getFast(l,I);(y>=u&&h>=y||isNaN(y))&&(o[s++]=I)}else for(var v=0;r>v;v++){for(var M=!0,I=this.getRawIndex(v),p=0;i>p;p++){var T=e[p],y=this._getFast(n,I);(yt[T][1])&&(M=!1)}M&&(o[s++]=this.getRawIndex(v))}return r>s&&(this._indices=o),this._count=s,this._extent={},this.getRawIndex=this._indices?Du:Cu,this}}},eT.mapArray=function(t,e,n,i){"function"==typeof t&&(i=n,n=e,e=t,t=[]),n=n||i||this;var r=[];return this.each(t,function(){r.push(e&&e.apply(this,arguments))},n),r},eT.map=function(t,e,n,i){n=n||i||this,t=p(Lu(t),this.getDimension,this);var r=ku(this,t);r._indices=this._indices,r.getRawIndex=r._indices?Du:Cu;for(var a=r._storage,o=[],s=this._chunkSize,l=t.length,u=this.count(),h=[],c=r._rawExtent,d=0;u>d;d++){for(var f=0;l>f;f++)h[f]=this.get(t[f],d);h[l]=d;var g=e&&e.apply(n,h);if(null!=g){"object"!=typeof g&&(o[0]=g,g=o);for(var m=this.getRawIndex(d),v=Math.floor(m/s),y=m%s,x=0;xb[1]&&(b[1]=w)}}}return r},eT.downSample=function(t,e,n,i){for(var r=ku(this,[t]),a=r._storage,o=[],s=Math.floor(1/e),l=a[t],u=this.count(),h=this._chunkSize,c=r._rawExtent[t],d=new(wu(this))(u),f=0,p=0;u>p;p+=s){s>u-p&&(s=u-p,o.length=s);for(var g=0;s>g;g++){var m=this.getRawIndex(p+g),v=Math.floor(m/h),y=m%h;o[g]=l[v][y]}var x=n(o),_=this.getRawIndex(Math.min(p+i(o,x)||0,u-1)),w=Math.floor(_/h),b=_%h;l[w][b]=x,xc[1]&&(c[1]=x),d[f++]=_}return r._count=f,r._indices=d,r.getRawIndex=Du,r},eT.getItemModel=function(t){var e=this.hostModel;return new Ha(this.getRawDataItem(t),e,e&&e.ecModel)},eT.diff=function(t){var e=this;return new mu(t?t.getIndices():[],this.getIndices(),function(e){return Au(t,e)},function(t){return Au(e,t)})},eT.getVisual=function(t){var e=this._visual;return e&&e[t]},eT.setVisual=function(t,e){if(XM(t))for(var n in t)t.hasOwnProperty(n)&&this.setVisual(n,t[n]);else this._visual=this._visual||{},this._visual[t]=e},eT.setLayout=function(t,e){if(XM(t))for(var n in t)t.hasOwnProperty(n)&&this.setLayout(n,t[n]);else this._layout[t]=e},eT.getLayout=function(t){return this._layout[t]},eT.getItemLayout=function(t){return this._itemLayouts[t]},eT.setItemLayout=function(t,e,n){this._itemLayouts[t]=n?o(this._itemLayouts[t]||{},e):e},eT.clearItemLayouts=function(){this._itemLayouts.length=0},eT.getItemVisual=function(t,e,n){var i=this._itemVisuals[t],r=i&&i[e];return null!=r||n?r:this.getVisual(e)},eT.setItemVisual=function(t,e,n){var i=this._itemVisuals[t]||{},r=this.hasItemVisual;if(this._itemVisuals[t]=i,XM(e))for(var a in e)e.hasOwnProperty(a)&&(i[a]=e[a],r[a]=!0);else i[e]=n,r[e]=!0},eT.clearAllVisual=function(){this._visual={},this._itemVisuals=[],this.hasItemVisual={}};var nT=function(t){t.seriesIndex=this.seriesIndex,t.dataIndex=this.dataIndex,t.dataType=this.dataType};eT.setItemGraphicEl=function(t,e){var n=this.hostModel;e&&(e.dataIndex=t,e.dataType=this.dataType,e.seriesIndex=n&&n.seriesIndex,"group"===e.type&&e.traverse(nT,e)),this._graphicEls[t]=e},eT.getItemGraphicEl=function(t){return this._graphicEls[t]},eT.eachItemGraphicEl=function(t,e){f(this._graphicEls,function(n,i){n&&t&&t.call(e,n,i)})},eT.cloneShallow=function(t){if(!t){var e=p(this.dimensions,this.getDimensionInfo,this);t=new tT(e,this.hostModel)}if(t._storage=this._storage,Su(t,this),this._indices){var n=this._indices.constructor;t._indices=new n(this._indices)}else t._indices=null;return t.getRawIndex=t._indices?Du:Cu,t},eT.wrapMethod=function(t,e){var n=this[t];"function"==typeof n&&(this.__wrappedMethods=this.__wrappedMethods||[],this.__wrappedMethods.push(t),this[t]=function(){var t=n.apply(this,arguments);return e.apply(this,[t].concat(k(arguments)))})},eT.TRANSFERABLE_METHODS=["cloneShallow","downSample","map"],eT.CHANGABLE_METHODS=["filterSelf","selectRange"];var iT=function(t,e){return e=e||{},Eu(e.coordDimensions||[],t,{dimsDef:e.dimensionsDefine||t.dimensionsDefine,encodeDef:e.encodeDefine||t.encodeDefine,dimCount:e.dimensionsCount,generateCoord:e.generateCoord,generateCoordCount:e.generateCoordCount})};Hu.prototype.parse=function(t){return t},Hu.prototype.getSetting=function(t){return this._setting[t]},Hu.prototype.contain=function(t){var e=this._extent;return t>=e[0]&&t<=e[1]},Hu.prototype.normalize=function(t){var e=this._extent;return e[1]===e[0]?.5:(t-e[0])/(e[1]-e[0])},Hu.prototype.scale=function(t){var e=this._extent;return t*(e[1]-e[0])+e[0]},Hu.prototype.unionExtent=function(t){var e=this._extent;t[0]e[1]&&(e[1]=t[1])},Hu.prototype.unionExtentFromData=function(t,e){this.unionExtent(t.getApproximateExtent(e))},Hu.prototype.getExtent=function(){return this._extent.slice()},Hu.prototype.setExtent=function(t,e){var n=this._extent;isNaN(t)||(n[0]=t),isNaN(e)||(n[1]=e)},Hu.prototype.isBlank=function(){return this._isBlank},Hu.prototype.setBlank=function(t){this._isBlank=t},Hu.prototype.getLabel=null,er(Hu),ar(Hu,{registerWhenExtend:!0}),Xu.createByAxisModel=function(t){var e=t.option,n=e.data,i=n&&p(n,ju);return new Xu({categories:i,needCollect:!i,deduplication:e.dedplication!==!1})};var rT=Xu.prototype;rT.getOrdinal=function(t){return Yu(this).get(t)},rT.parseAndCollect=function(t){var e,n=this._needCollect;if("string"!=typeof t&&!n)return t;if(n&&!this._deduplication)return e=this.categories.length,this.categories[e]=t,e;var i=Yu(this);return e=i.get(t),null==e&&(n?(e=this.categories.length,this.categories[e]=t,i.set(t,e)):e=0/0),e};var aT=Hu.prototype,oT=Hu.extend({type:"ordinal",init:function(t,e){(!t||_(t))&&(t=new Xu({categories:t})),this._ordinalMeta=t,this._extent=e||[0,t.categories.length-1]},parse:function(t){return"string"==typeof t?this._ordinalMeta.getOrdinal(t):Math.round(t)},contain:function(t){return t=this.parse(t),aT.contain.call(this,t)&&null!=this._ordinalMeta.categories[t]},normalize:function(t){return aT.normalize.call(this,this.parse(t))},scale:function(t){return Math.round(aT.scale.call(this,t))},getTicks:function(){for(var t=[],e=this._extent,n=e[0];n<=e[1];)t.push(n),n++;return t},getLabel:function(t){return this.isBlank()?void 0:this._ordinalMeta.categories[t]},count:function(){return this._extent[1]-this._extent[0]+1},unionExtentFromData:function(t,e){this.unionExtent(t.getApproximateExtent(e))},getOrdinalMeta:function(){return this._ordinalMeta},niceTicks:G,niceExtent:G});oT.create=function(){return new oT};var sT=Ja,lT=Ja,uT=Hu.extend({type:"interval",_interval:0,_intervalPrecision:2,setExtent:function(t,e){var n=this._extent;isNaN(t)||(n[0]=parseFloat(t)),isNaN(e)||(n[1]=parseFloat(e))},unionExtent:function(t){var e=this._extent;t[0]e[1]&&(e[1]=t[1]),uT.prototype.setExtent.call(this,e[0],e[1])},getInterval:function(){return this._interval},setInterval:function(t){this._interval=t,this._niceExtent=this._extent.slice(),this._intervalPrecision=Uu(t)},getTicks:function(){return $u(this._interval,this._extent,this._niceExtent,this._intervalPrecision)},getLabel:function(t,e){if(null==t)return"";var n=e&&e.precision;return null==n?n=eo(t)||0:"auto"===n&&(n=this._intervalPrecision),t=lT(t,n,!0),po(t)},niceTicks:function(t,e,n){t=t||5;var i=this._extent,r=i[1]-i[0];if(isFinite(r)){0>r&&(r=-r,i.reverse());var a=Zu(i,t,e,n);this._intervalPrecision=a.intervalPrecision,this._interval=a.interval,this._niceExtent=a.niceTickExtent}},niceExtent:function(t){var e=this._extent;if(e[0]===e[1])if(0!==e[0]){var n=e[0];t.fixMax?e[0]-=n/2:(e[1]+=n/2,e[0]-=n/2)}else e[1]=1;var i=e[1]-e[0];isFinite(i)||(e[0]=0,e[1]=1),this.niceTicks(t.splitNumber,t.minInterval,t.maxInterval);var r=this._interval;t.fixMin||(e[0]=lT(Math.floor(e[0]/r)*r)),t.fixMax||(e[1]=lT(Math.ceil(e[1]/r)*r))}});uT.create=function(){return new uT};var hT="__ec_stack_",cT=.5,dT="undefined"!=typeof Float32Array?Float32Array:Array,fT={seriesType:"bar",plan:II(),reset:function(t){function e(t,e){for(var n,c=new dT(2*t.count),d=[],f=[],p=0;null!=(n=t.next());)f[u]=e.get(o,n),f[1-u]=e.get(s,n),d=i.dataToPoint(f,null,d),c[p++]=d[0],c[p++]=d[1];e.setLayout({largePoints:c,barWidth:h,valueAxisStart:lh(r,a,!1),valueAxisHorizontal:l})}if(oh(t)&&sh(t)){var n=t.getData(),i=t.coordinateSystem,r=i.getBaseAxis(),a=i.getOtherAxis(r),o=n.mapDimension(a.dim),s=n.mapDimension(r.dim),l=a.isHorizontal(),u=l?0:1,h=rh(nh([t]),r,t).width;return h>cT||(h=cT),{progress:e}}}},pT=uT.prototype,gT=Math.ceil,mT=Math.floor,vT=1e3,yT=60*vT,xT=60*yT,_T=24*xT,wT=function(t,e,n,i){for(;i>n;){var r=n+i>>>1;t[r][1]a&&(a=e),null!=n&&a>n&&(a=n);var o=ST.length,s=wT(ST,a,0,o),l=ST[Math.min(s,o-1)],u=l[1];if("year"===l[0]){var h=r/u,c=uo(h/t,!0);u*=c}var d=this.getSetting("useUTC")?0:60*new Date(+i[0]||+i[1]).getTimezoneOffset()*1e3,f=[Math.round(gT((i[0]-d)/u)*u+d),Math.round(mT((i[1]-d)/u)*u+d)];Ku(f,i),this._stepLvl=l,this._interval=u,this._niceExtent=f},parse:function(t){return+oo(t)}});f(["contain","normalize"],function(t){bT.prototype[t]=function(e){return pT[t].call(this,this.parse(e))}});var ST=[["hh:mm:ss",vT],["hh:mm:ss",5*vT],["hh:mm:ss",10*vT],["hh:mm:ss",15*vT],["hh:mm:ss",30*vT],["hh:mm\nMM-dd",yT],["hh:mm\nMM-dd",5*yT],["hh:mm\nMM-dd",10*yT],["hh:mm\nMM-dd",15*yT],["hh:mm\nMM-dd",30*yT],["hh:mm\nMM-dd",xT],["hh:mm\nMM-dd",2*xT],["hh:mm\nMM-dd",6*xT],["hh:mm\nMM-dd",12*xT],["MM-dd\nyyyy",_T],["MM-dd\nyyyy",2*_T],["MM-dd\nyyyy",3*_T],["MM-dd\nyyyy",4*_T],["MM-dd\nyyyy",5*_T],["MM-dd\nyyyy",6*_T],["week",7*_T],["MM-dd\nyyyy",10*_T],["week",14*_T],["week",21*_T],["month",31*_T],["week",42*_T],["month",62*_T],["week",70*_T],["quarter",95*_T],["month",31*_T*4],["month",31*_T*5],["half-year",380*_T/2],["month",31*_T*8],["month",31*_T*10],["year",380*_T]];bT.create=function(t){return new bT({useUTC:t.ecModel.get("useUTC")})};var IT=Hu.prototype,MT=uT.prototype,TT=eo,CT=Ja,DT=Math.floor,AT=Math.ceil,LT=Math.pow,kT=Math.log,PT=Hu.extend({type:"log",base:10,$constructor:function(){Hu.apply(this,arguments),this._originalScale=new uT},getTicks:function(){var t=this._originalScale,e=this._extent,n=t.getExtent();return p(MT.getTicks.call(this),function(i){var r=Ja(LT(this.base,i));return r=i===e[0]&&t.__fixMin?uh(r,n[0]):r,r=i===e[1]&&t.__fixMax?uh(r,n[1]):r},this)},getLabel:MT.getLabel,scale:function(t){return t=IT.scale.call(this,t),LT(this.base,t)},setExtent:function(t,e){var n=this.base;t=kT(t)/kT(n),e=kT(e)/kT(n),MT.setExtent.call(this,t,e)},getExtent:function(){var t=this.base,e=IT.getExtent.call(this);e[0]=LT(t,e[0]),e[1]=LT(t,e[1]);var n=this._originalScale,i=n.getExtent();return n.__fixMin&&(e[0]=uh(e[0],i[0])),n.__fixMax&&(e[1]=uh(e[1],i[1])),e},unionExtent:function(t){this._originalScale.unionExtent(t);var e=this.base;t[0]=kT(t[0])/kT(e),t[1]=kT(t[1])/kT(e),IT.unionExtent.call(this,t)},unionExtentFromData:function(t,e){this.unionExtent(t.getApproximateExtent(e))},niceTicks:function(t){t=t||10;var e=this._extent,n=e[1]-e[0];if(!(1/0===n||0>=n)){var i=so(n),r=t/n*i;for(.5>=r&&(i*=10);!isNaN(i)&&Math.abs(i)<1&&Math.abs(i)>0;)i*=10;var a=[Ja(AT(e[0]/i)*i),Ja(DT(e[1]/i)*i)];this._interval=i,this._niceExtent=a}},niceExtent:function(t){MT.niceExtent.call(this,t);var e=this._originalScale;e.__fixMin=t.fixMin,e.__fixMax=t.fixMax}});f(["contain","normalize"],function(t){PT.prototype[t]=function(e){return e=kT(e)/kT(this.base),IT[t].call(this,e)}}),PT.create=function(){return new PT};var NT={getMin:function(t){var e=this.option,n=t||null==e.rangeStart?e.min:e.rangeStart;return this.axis&&null!=n&&"dataMin"!==n&&"function"!=typeof n&&!C(n)&&(n=this.axis.scale.parse(n)),n},getMax:function(t){var e=this.option,n=t||null==e.rangeEnd?e.max:e.rangeEnd;return this.axis&&null!=n&&"dataMax"!==n&&"function"!=typeof n&&!C(n)&&(n=this.axis.scale.parse(n)),n},getNeedCrossZero:function(){var t=this.option;return null!=t.rangeStart||null!=t.rangeEnd?!1:!t.scale},getCoordSysModel:G,setRange:function(t,e){this.option.rangeStart=t,this.option.rangeEnd=e},resetRange:function(){this.option.rangeStart=this.option.rangeEnd=null}},ET=Qr({type:"triangle",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(t,e){var n=e.cx,i=e.cy,r=e.width/2,a=e.height/2;t.moveTo(n,i-a),t.lineTo(n+r,i+a),t.lineTo(n-r,i+a),t.closePath()}}),OT=Qr({type:"diamond",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(t,e){var n=e.cx,i=e.cy,r=e.width/2,a=e.height/2;t.moveTo(n,i-a),t.lineTo(n+r,i),t.lineTo(n,i+a),t.lineTo(n-r,i),t.closePath()}}),RT=Qr({type:"pin",shape:{x:0,y:0,width:0,height:0},buildPath:function(t,e){var n=e.x,i=e.y,r=e.width/5*3,a=Math.max(r,e.height),o=r/2,s=o*o/(a-o),l=i-a+o+s,u=Math.asin(s/o),h=Math.cos(u)*o,c=Math.sin(u),d=Math.cos(u),f=.6*o,p=.7*o;t.moveTo(n-h,l+s),t.arc(n,l,o,Math.PI-u,2*Math.PI+u),t.bezierCurveTo(n+h-c*f,l+s+d*f,n,i-p,n,i),t.bezierCurveTo(n,i-p,n-h+c*f,l+s+d*f,n-h,l+s),t.closePath()}}),zT=Qr({type:"arrow",shape:{x:0,y:0,width:0,height:0},buildPath:function(t,e){var n=e.height,i=e.width,r=e.x,a=e.y,o=i/3*2;t.moveTo(r,a),t.lineTo(r+o,a+n),t.lineTo(r,a+n/4*3),t.lineTo(r-o,a+n),t.lineTo(r,a),t.closePath()}}),BT={line:jb,rect:Xb,roundRect:Xb,square:Xb,circle:Nb,diamond:OT,pin:RT,arrow:zT,triangle:ET},VT={line:function(t,e,n,i,r){r.x1=t,r.y1=e+i/2,r.x2=t+n,r.y2=e+i/2},rect:function(t,e,n,i,r){r.x=t,r.y=e,r.width=n,r.height=i},roundRect:function(t,e,n,i,r){r.x=t,r.y=e,r.width=n,r.height=i,r.r=Math.min(n,i)/4},square:function(t,e,n,i,r){var a=Math.min(n,i);r.x=t,r.y=e,r.width=a,r.height=a},circle:function(t,e,n,i,r){r.cx=t+n/2,r.cy=e+i/2,r.r=Math.min(n,i)/2},diamond:function(t,e,n,i,r){r.cx=t+n/2,r.cy=e+i/2,r.width=n,r.height=i},pin:function(t,e,n,i,r){r.x=t+n/2,r.y=e+i/2,r.width=n,r.height=i},arrow:function(t,e,n,i,r){r.x=t+n/2,r.y=e+i/2,r.width=n,r.height=i},triangle:function(t,e,n,i,r){r.cx=t+n/2,r.cy=e+i/2,r.width=n,r.height=i}},GT={};f(BT,function(t,e){GT[e]=new t});var FT=Qr({type:"symbol",shape:{symbolType:"",x:0,y:0,width:0,height:0},beforeBrush:function(){var t=this.style,e=this.shape;"pin"===e.symbolType&&"inside"===t.textPosition&&(t.textPosition=["50%","40%"],t.textAlign="center",t.textVerticalAlign="middle")},buildPath:function(t,e,n){var i=e.symbolType,r=GT[i];"none"!==e.symbolType&&(r||(i="rect",r=GT[i]),VT[i](e.x,e.y,e.width,e.height,r.shape),r.buildPath(t,r.shape,n))}}),WT={isDimensionStacked:Bu,enableDataStack:zu,getStackedDimension:Vu},HT=(Object.freeze||Object)({createList:Sh,getLayoutRect:Co,dataStack:WT,createScale:Ih,mixinAxisModelCommonMethods:Mh,completeDimensions:Eu,createDimensions:iT,createSymbol:bh}),XT=1e-8;Dh.prototype={constructor:Dh,properties:null,getBoundingRect:function(){var t=this._rect;if(t)return t;for(var e=Number.MAX_VALUE,n=[e,e],i=[-e,-e],r=[],a=[],o=this.geometries,s=0;si;i++)if("polygon"===n[i].type){var a=n[i].exterior,o=n[i].interiors;if(Ch(a,t[0],t[1])){for(var s=0;s<(o?o.length:0);s++)if(Ch(o[s]))continue t;return!0}}return!1},transformTo:function(t,e,n,i){var r=this.getBoundingRect(),a=r.width/r.height;n?i||(i=n/a):n=a*i;for(var o=new xn(t,e,n,i),s=r.calculateTransform(o),l=this.geometries,u=0;u0}),function(t){var e=t.properties,n=t.geometry,i=n.coordinates,r=[];"Polygon"===n.type&&r.push({type:"polygon",exterior:i[0],interiors:i.slice(1)}),"MultiPolygon"===n.type&&f(i,function(t){t[0]&&r.push({type:"polygon",exterior:t[0],interiors:t.slice(1)})});var a=new Dh(e.name,r,e.cp);return a.properties=e,a})},jT=ji(),ZT=[0,1],UT=function(t,e,n){this.dim=t,this.scale=e,this._extent=n||[0,0],this.inverse=!1,this.onBand=!1};UT.prototype={constructor:UT,contain:function(t){var e=this._extent,n=Math.min(e[0],e[1]),i=Math.max(e[0],e[1]);return t>=n&&i>=t},containData:function(t){return this.contain(this.dataToCoord(t))},getExtent:function(){return this._extent.slice()},getPixelPrecision:function(t){return no(t||this.scale.getExtent(),this._extent)},setExtent:function(t,e){var n=this._extent;n[0]=t,n[1]=e},dataToCoord:function(t,e){var n=this._extent,i=this.scale;return t=i.normalize(t),this.onBand&&"ordinal"===i.type&&(n=n.slice(),Yh(n,i.count())),Ka(t,ZT,n,e)},coordToData:function(t,e){var n=this._extent,i=this.scale;this.onBand&&"ordinal"===i.type&&(n=n.slice(),Yh(n,i.count()));var r=Ka(t,n,ZT,e);return this.scale.scale(r)},pointToData:function(){},getTicksCoords:function(t){t=t||{};var e=t.tickModel||this.getTickModel(),n=Ph(this,e),i=n.ticks,r=p(i,function(t){return{coord:this.dataToCoord(t),tickValue:t}},this),a=e.get("alignWithLabel");return jh(this,r,n.tickCategoryInterval,a,t.clamp),r},getViewLabels:function(){return kh(this).labels},getLabelModel:function(){return this.model.getModel("axisLabel")},getTickModel:function(){return this.model.getModel("axisTick")},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},isHorizontal:null,getRotate:null,calculateCategoryInterval:function(){return Fh(this)}};var qT=YT,KT={};f(["map","each","filter","indexOf","inherits","reduce","filter","bind","curry","isArray","isString","isObject","isFunction","extend","defaults","clone","merge"],function(t){KT[t]=Ix[t]});var $T={};f(["extendShape","extendPath","makePath","makeImage","mergePath","resizePath","createIcon","setHoverStyle","setLabelStyle","setTextStyle","setText","getFont","updateProps","initProps","getTransform","clipPointsByRect","clipRectByRect","Group","Image","Text","Circle","Sector","Ring","Polygon","Polyline","Rect","Line","BezierCurve","Arc","IncrementalDisplayable","CompoundPath","LinearGradient","RadialGradient","BoundingRect"],function(t){$T[t]=uS[t] +});var JT=function(t){this._axes={},this._dimList=[],this.name=t||""};JT.prototype={constructor:JT,type:"cartesian",getAxis:function(t){return this._axes[t]},getAxes:function(){return p(this._dimList,Zh,this)},getAxesByScale:function(t){return t=t.toLowerCase(),m(this.getAxes(),function(e){return e.scale.type===t})},addAxis:function(t){var e=t.dim;this._axes[e]=t,this._dimList.push(e)},dataToCoord:function(t){return this._dataCoordConvert(t,"dataToCoord")},coordToData:function(t){return this._dataCoordConvert(t,"coordToData")},_dataCoordConvert:function(t,e){for(var n=this._dimList,i=t instanceof Array?[]:{},r=0;re[1]&&e.reverse(),e},getOtherAxis:function(){this.grid.getOtherAxis()},pointToData:function(t,e){return this.coordToData(this.toLocalCoord(t["x"===this.dim?0:1]),e)},toLocalCoord:null,toGlobalCoord:null},h(QT,UT);var tC={show:!0,zlevel: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:"#333",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:["#ccc"],width:1,type:"solid"}},splitArea:{show:!1,areaStyle:{color:["rgba(250,250,250,0.3)","rgba(200,200,200,0.3)"]}}},eC={};eC.categoryAxis=r({boundaryGap:!0,deduplication:null,splitLine:{show:!1},axisTick:{alignWithLabel:!1,interval:"auto"},axisLabel:{interval:"auto"}},tC),eC.valueAxis=r({boundaryGap:[0,0],splitNumber:5},tC),eC.timeAxis=s({scale:!0,min:"dataMin",max:"dataMax"},eC.valueAxis),eC.logAxis=s({scale:!0,logBase:10},eC.valueAxis);var nC=["value","category","time","log"],iC=function(t,e,n,i){f(nC,function(o){e.extend({type:t+"Axis."+o,mergeDefaultAndTheme:function(e,i){var a=this.layoutMode,s=a?Lo(e):{},l=i.getTheme();r(e,l.get(o+"Axis")),r(e,this.getDefaultOption()),e.type=n(t,e),a&&Ao(e,s,a)},optionUpdated:function(){var t=this.option;"category"===t.type&&(this.__ordinalMeta=Xu.createByAxisModel(this))},getCategories:function(t){var e=this.option;return"category"===e.type?t?e.data:this.__ordinalMeta.categories:void 0},getOrdinalMeta:function(){return this.__ordinalMeta},defaultOption:a([{},eC[o+"Axis"],i],!0)})}),ES.registerSubTypeDefaulter(t+"Axis",x(n,t))},rC=ES.extend({type:"cartesian2dAxis",axis:null,init:function(){rC.superApply(this,"init",arguments),this.resetRange()},mergeOption:function(){rC.superApply(this,"mergeOption",arguments),this.resetRange()},restoreData:function(){rC.superApply(this,"restoreData",arguments),this.resetRange()},getCoordSysModel:function(){return this.ecModel.queryComponents({mainType:"grid",index:this.option.gridIndex,id:this.option.gridId})[0]}});r(rC.prototype,NT);var aC={offset:0};iC("x",rC,qh,aC),iC("y",rC,qh,aC),ES.extend({type:"grid",dependencies:["xAxis","yAxis"],layoutMode:"box",coordinateSystem:null,defaultOption:{show:!1,zlevel:0,z:0,left:"10%",top:60,right:"10%",bottom:60,containLabel:!1,backgroundColor:"rgba(0,0,0,0)",borderWidth:1,borderColor:"#ccc"}});var oC=$h.prototype;oC.type="grid",oC.axisPointerEnabled=!0,oC.getRect=function(){return this._rect},oC.update=function(t,e){var n=this._axesMap;this._updateScale(t,this.model),f(n.x,function(t){dh(t.scale,t.model)}),f(n.y,function(t){dh(t.scale,t.model)});var i={};f(n.x,function(t){Jh(n,"y",t,i)}),f(n.y,function(t){Jh(n,"x",t,i)}),this.resize(this.model,e)},oC.resize=function(t,e,n){function i(){f(a,function(t){var e=t.isHorizontal(),n=e?[0,r.width]:[0,r.height],i=t.inverse?1:0;t.setExtent(n[i],n[1-i]),tc(t,e?r.x:r.y)})}var r=Co(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()});this._rect=r;var a=this._axesList;i(),!n&&t.get("containLabel")&&(f(a,function(t){if(!t.model.get("axisLabel.inside")){var e=vh(t);if(e){var n=t.isHorizontal()?"height":"width",i=t.model.get("axisLabel.margin");r[n]-=e[n]+i,"top"===t.position?r.y+=e.height+i:"left"===t.position&&(r.x+=e.width+i)}}}),i())},oC.getAxis=function(t,e){var n=this._axesMap[t];if(null!=n){if(null==e)for(var i in n)if(n.hasOwnProperty(i))return n[i];return n[e]}},oC.getAxes=function(){return this._axesList.slice()},oC.getCartesian=function(t,e){if(null!=t&&null!=e){var n="x"+t+"y"+e;return this._coordsMap[n]}S(t)&&(e=t.yAxisIndex,t=t.xAxisIndex);for(var i=0,r=this._coordsList;it&&(t=e),t}});var uC=Mw([["fill","color"],["stroke","borderColor"],["lineWidth","borderWidth"],["stroke","barBorderColor"],["lineWidth","barBorderWidth"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]),hC={getBarItemStyle:function(t){var e=uC(this,t);if(this.getBorderLineDash){var n=this.getBorderLineDash();n&&(e.lineDash=n)}return e}},cC=["itemStyle","barBorderWidth"];o(Ha.prototype,hC),cu({type:"bar",render:function(t,e,n){this._updateDrawMode(t);var i=t.get("coordinateSystem");return("cartesian2d"===i||"polar"===i)&&(this._isLargeDraw?this._renderLarge(t,e,n):this._renderNormal(t,e,n)),this.group},incrementalPrepareRender:function(t){this._clear(),this._updateDrawMode(t)},incrementalRender:function(t,e){this._incrementalRenderLarge(t,e)},_updateDrawMode:function(t){var e=t.pipelineContext.large;(null==this._isLargeDraw||e^this._isLargeDraw)&&(this._isLargeDraw=e,this._clear())},_renderNormal:function(t){var e,n=this.group,i=t.getData(),r=this._data,a=t.coordinateSystem,o=a.getBaseAxis();"cartesian2d"===a.type?e=o.isHorizontal():"polar"===a.type&&(e="angle"===o.dim);var s=t.isAnimationEnabled()?t:null;i.diff(r).add(function(r){if(i.hasValue(r)){var o=i.getItemModel(r),l=fC[a.type](i,r,o),u=dC[a.type](i,r,o,l,e,s);i.setItemGraphicEl(r,u),n.add(u),lc(u,i,r,o,l,t,e,"polar"===a.type)}}).update(function(o,l){var u=r.getItemGraphicEl(l);if(!i.hasValue(o))return void n.remove(u);var h=i.getItemModel(o),c=fC[a.type](i,o,h);u?Ea(u,{shape:c},s,o):u=dC[a.type](i,o,h,c,e,s,!0),i.setItemGraphicEl(o,u),n.add(u),lc(u,i,o,h,c,t,e,"polar"===a.type)}).remove(function(t){var e=r.getItemGraphicEl(t);"cartesian2d"===a.type?e&&oc(t,s,e):e&&sc(t,s,e)}).execute(),this._data=i},_renderLarge:function(t){this._clear(),hc(t,this.group)},_incrementalRenderLarge:function(t,e){hc(e,this.group,!0)},dispose:G,remove:function(t){this._clear(t)},_clear:function(t){var e=this.group,n=this._data;t&&t.get("animation")&&n&&!this._isLargeDraw?n.eachItemGraphicEl(function(e){"sector"===e.type?sc(e.dataIndex,t,e):oc(e.dataIndex,t,e)}):e.removeAll(),this._data=null}});var dC={cartesian2d:function(t,e,n,i,r,a,s){var l=new Xb({shape:o({},i)});if(a){var u=l.shape,h=r?"height":"width",c={};u[h]=0,c[h]=i[h],uS[s?"updateProps":"initProps"](l,{shape:c},a,e)}return l},polar:function(t,e,n,i,r,a,o){var l=i.startAngle0?1:-1,o=i.height>0?1:-1;return{x:i.x+a*r/2,y:i.y+o*r/2,width:i.width-a*r,height:i.height-o*r}},polar:function(t,e){var n=t.getItemLayout(e);return{cx:n.cx,cy:n.cy,r0:n.r0,r:n.r,startAngle:n.startAngle,endAngle:n.endAngle}}},pC=Vr.extend({type:"largeBar",shape:{points:[]},buildPath:function(t,e){for(var n=e.points,i=this.__startPoint,r=this.__valueIdx,a=0;au[1]?-1:1,c=["start"===r?u[0]-h*l:"end"===r?u[1]+h*l:(u[0]+u[1])/2,yc(r)?t.labelOffset+a*l:0],d=e.get("nameRotate");null!=d&&(d=d*gC/180);var f;yc(r)?i=yC(t.rotation,null!=d?d:t.rotation,a):(i=fc(t,r,d||0,u),f=t.axisNameAvailableWidth,null!=f&&(f=Math.abs(f/Math.sin(i.rotation)),!isFinite(f)&&(f=null)));var p=s.getFont(),g=e.get("nameTruncate",!0)||{},m=g.ellipsis,v=D(t.nameTruncateMaxWidth,g.maxWidth,f),y=null!=m&&null!=v?TS(n,v,p,m,{minChar:2,placeholder:g.placeholder}):n,x=e.get("tooltip",!0),_=e.mainType,w={componentType:_,name:n,$vars:["name"]};w[_+"Index"]=e.componentIndex;var b=new Pb({anid:"name",__fullText:n,__truncatedText:y,position:c,rotation:i.rotation,silent:pc(e),z2:1,tooltip:x&&x.show?o({content:n,formatter:function(){return n},formatterParams:w},x):null});Ia(b.style,s,{text:y,textFont:p,textFill:s.getTextColor()||e.get("axisLine.lineStyle.color"),textAlign:i.textAlign,textVerticalAlign:i.textVerticalAlign}),e.get("triggerEvent")&&(b.eventData=dc(e),b.eventData.targetType="axisName",b.eventData.name=n),this._dumbGroup.add(b),b.updateTransform(),this.group.add(b),b.decomposeTransform()}}},yC=mC.innerTextLayout=function(t,e,n){var i,r,a=ro(e-t);return ao(a)?(r=n>0?"top":"bottom",i="center"):ao(a-gC)?(r=n>0?"bottom":"top",i="center"):(r="middle",i=a>0&&gC>a?n>0?"right":"left":n>0?"left":"right"),{rotation:a,textAlign:i,textVerticalAlign:r}},xC=f,_C=x,wC=uu({type:"axis",_axisPointer:null,axisPointerClass:null,render:function(t,e,n,i){this.axisPointerClass&&Cc(t),wC.superApply(this,"render",arguments),Pc(this,t,e,n,i,!0)},updateAxisPointer:function(t,e,n,i){Pc(this,t,e,n,i,!1)},remove:function(t,e){var n=this._axisPointer;n&&n.remove(e),wC.superApply(this,"remove",arguments)},dispose:function(t,e){Nc(this,e),wC.superApply(this,"dispose",arguments)}}),bC=[];wC.registerAxisPointerClass=function(t,e){bC[t]=e},wC.getAxisPointerClass=function(t){return t&&bC[t]};var SC=["axisLine","axisTickLabel","axisName"],IC=["splitArea","splitLine"],MC=wC.extend({type:"cartesianAxis",axisPointerClass:"CartesianAxisPointer",render:function(t,e,n,i){this.group.removeAll();var r=this._axisGroup;if(this._axisGroup=new __,this.group.add(this._axisGroup),t.get("show")){var a=t.getCoordSysModel(),o=Ec(a,t),s=new mC(t,o);f(SC,s.add,s),this._axisGroup.add(s.getGroup()),f(IC,function(e){t.get(e+".show")&&this["_"+e](t,a)},this),Va(r,this._axisGroup,t),MC.superCall(this,"render",t,e,n,i)}},remove:function(){this._splitAreaColors=null},_splitLine:function(t,e){var n=t.axis;if(!n.scale.isBlank()){var i=t.getModel("splitLine"),r=i.getModel("lineStyle"),a=r.get("color");a=_(a)?a:[a];for(var o=e.coordinateSystem.getRect(),l=n.isHorizontal(),u=0,h=n.getTicksCoords({tickModel:i}),c=[],d=[],f=r.getLineStyle(),p=0;p0&&Kc(n[r-1]);r--);for(;r>i&&Kc(n[i]);i++);}for(;r>i;)i+=$c(t,n,i,r,r,1,a.min,a.max,e.smooth,e.smoothMonotone,e.connectNulls)+1}}),WC=Vr.extend({type:"ec-polygon",shape:{points:[],stackedOnPoints:[],smooth:0,stackedOnSmooth:0,smoothConstraint:!0,smoothMonotone:null,connectNulls:!1},brush:Ob(Vr.prototype.brush),buildPath:function(t,e){var n=e.points,i=e.stackedOnPoints,r=0,a=n.length,o=e.smoothMonotone,s=td(n,e.smoothConstraint),l=td(i,e.smoothConstraint);if(e.connectNulls){for(;a>0&&Kc(n[a-1]);a--);for(;a>r&&Kc(n[r]);r++);}for(;a>r;){var u=$c(t,n,r,a,a,1,s.min,s.max,e.smooth,o,e.connectNulls);$c(t,i,r+u-1,u,a,-1,l.min,l.max,e.stackedOnSmooth,o,e.connectNulls),r+=u+1,t.closePath()}}});Hs.extend({type:"line",init:function(){var t=new __,e=new Wc;this.group.add(e.group),this._symbolDraw=e,this._lineGroup=t},render:function(t,e,n){var i=t.coordinateSystem,r=this.group,a=t.getData(),o=t.getModel("lineStyle"),l=t.getModel("areaStyle"),u=a.mapArray(a.getItemLayout),h="polar"===i.type,c=this._coordSys,d=this._symbolDraw,f=this._polyline,p=this._polygon,g=this._lineGroup,m=t.get("animation"),v=!l.isEmpty(),y=l.get("origin"),x=jc(i,a,y),_=rd(i,a,x),w=t.get("showSymbol"),b=w&&!h&&hd(t,a,i),S=this._data;S&&S.eachItemGraphicEl(function(t,e){t.__temp&&(r.remove(t),S.setItemGraphicEl(e,null))}),w||d.remove(),r.add(g);var I=!h&&t.get("step");f&&c.type===i.type&&I===this._step?(v&&!p?p=this._newPolygon(u,_,i,m):p&&!v&&(g.remove(p),p=this._polygon=null),g.setClipPath(sd(i,!1,!1,t)),w&&d.updateData(a,{isIgnore:b,clipShape:sd(i,!1,!0,t)}),a.eachItemGraphicEl(function(t){t.stopAnimation(!0)}),ed(this._stackedOnPoints,_)&&ed(this._points,u)||(m?this._updateAnimation(a,_,i,n,I,y):(I&&(u=ld(u,i,I),_=ld(_,i,I)),f.setShape({points:u}),p&&p.setShape({points:u,stackedOnPoints:_})))):(w&&d.updateData(a,{isIgnore:b,clipShape:sd(i,!1,!0,t)}),I&&(u=ld(u,i,I),_=ld(_,i,I)),f=this._newPolyline(u,i,m),v&&(p=this._newPolygon(u,_,i,m)),g.setClipPath(sd(i,!0,!1,t)));var M=ud(a,i)||a.getVisual("color");f.useStyle(s(o.getLineStyle(),{fill:"none",stroke:M,lineJoin:"bevel"}));var T=t.get("smooth");if(T=nd(t.get("smooth")),f.setShape({smooth:T,smoothMonotone:t.get("smoothMonotone"),connectNulls:t.get("connectNulls")}),p){var C=a.getCalculationInfo("stackedOnSeries"),D=0;p.useStyle(s(l.getAreaStyle(),{fill:M,opacity:.7,lineJoin:"bevel"})),C&&(D=nd(C.get("smooth"))),p.setShape({smooth:T,stackedOnSmooth:D,smoothMonotone:t.get("smoothMonotone"),connectNulls:t.get("connectNulls")})}this._data=a,this._coordSys=i,this._stackedOnPoints=_,this._points=u,this._step=I,this._valueOrigin=y},dispose:function(){},highlight:function(t,e,n,i){var r=t.getData(),a=Yi(r,i);if(!(a instanceof Array)&&null!=a&&a>=0){var o=r.getItemGraphicEl(a);if(!o){var s=r.getItemLayout(a);if(!s)return;o=new Oc(r,a),o.position=s,o.setZ(t.get("zlevel"),t.get("z")),o.ignore=isNaN(s[0])||isNaN(s[1]),o.__temp=!0,r.setItemGraphicEl(a,o),o.stopSymbolAnimation(!0),this.group.add(o)}o.highlight()}else Hs.prototype.highlight.call(this,t,e,n,i)},downplay:function(t,e,n,i){var r=t.getData(),a=Yi(r,i);if(null!=a&&a>=0){var o=r.getItemGraphicEl(a);o&&(o.__temp?(r.setItemGraphicEl(a,null),this.group.remove(o)):o.downplay())}else Hs.prototype.downplay.call(this,t,e,n,i)},_newPolyline:function(t){var e=this._polyline;return e&&this._lineGroup.remove(e),e=new FC({shape:{points:t},silent:!0,z2:10}),this._lineGroup.add(e),this._polyline=e,e},_newPolygon:function(t,e){var n=this._polygon;return n&&this._lineGroup.remove(n),n=new WC({shape:{points:t,stackedOnPoints:e},silent:!0}),this._lineGroup.add(n),this._polygon=n,n},_updateAnimation:function(t,e,n,i,r,a){var o=this._polyline,s=this._polygon,l=t.hostModel,u=NC(this._data,t,this._stackedOnPoints,e,this._coordSys,n,this._valueOrigin,a),h=u.current,c=u.stackedOnCurrent,d=u.next,f=u.stackedOnNext;r&&(h=ld(u.current,n,r),c=ld(u.stackedOnCurrent,n,r),d=ld(u.next,n,r),f=ld(u.stackedOnNext,n,r)),o.shape.__points=u.current,o.shape.points=h,Ea(o,{shape:{points:d}},l),s&&(s.setShape({points:h,stackedOnPoints:c}),Ea(s,{shape:{points:d,stackedOnPoints:f}},l));for(var p=[],g=u.status,m=0;me&&(e=t[n]);return isFinite(e)?e:0/0},min:function(t){for(var e=1/0,n=0;n1){var u;"string"==typeof n?u=YC[n]:"function"==typeof n&&(u=n),u&&t.setData(e.downSample(e.mapDimension(a.dim),1/l,u,jC))}}}}};au(HC("line","circle","line")),ru(XC("line")),Ql(wM.PROCESSOR.STATISTIC,ZC("line"));var UC=function(t,e,n){e=_(e)&&{coordDimensions:e}||o({},e);var i=t.getSource(),r=iT(i,e),a=new tT(r,t);return a.initData(i,n),a},qC={updateSelectedMap:function(t){this._targetList=_(t)?t.slice():[],this._selectTargetMap=g(t||[],function(t,e){return t.set(e.name,e),t},B())},select:function(t,e){var n=null!=e?this._targetList[e]:this._selectTargetMap.get(t),i=this.get("selectedMode");"single"===i&&this._selectTargetMap.each(function(t){t.selected=!1}),n&&(n.selected=!0)},unSelect:function(t,e){var n=null!=e?this._targetList[e]:this._selectTargetMap.get(t);n&&(n.selected=!1)},toggleSelected:function(t,e){var n=null!=e?this._targetList[e]:this._selectTargetMap.get(t);return null!=n?(this[n.selected?"unSelect":"select"](t,e),n.selected):void 0},isSelected:function(t,e){var n=null!=e?this._targetList[e]:this._selectTargetMap.get(t);return n&&n.selected}},KC=hu({type:"series.pie",init:function(t){KC.superApply(this,"init",arguments),this.legendDataProvider=function(){return this.getRawData()},this.updateSelectedMap(this._createSelectableList()),this._defaultLabelLine(t)},mergeOption:function(t){KC.superCall(this,"mergeOption",t),this.updateSelectedMap(this._createSelectableList())},getInitialData:function(){return UC(this,["value"])},_createSelectableList:function(){for(var t=this.getRawData(),e=t.mapDimension("value"),n=[],i=0,r=t.count();r>i;i++)n.push({name:t.getName(i),value:t.get(e,i),selected:Ls(t,i,"selected")});return n},getDataParams:function(t){var e=this.getData(),n=KC.superCall(this,"getDataParams",t),i=[];return e.each(e.mapDimension("value"),function(t){i.push(t)}),n.percent=io(i,t,e.hostModel.get("percentPrecision")),n.$vars.push("percent"),n},_defaultLabelLine:function(t){Bi(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},defaultOption:{zlevel:0,z:2,legendHoverLink:!0,hoverAnimation:!0,center:["50%","50%"],radius:[0,"75%"],clockwise:!0,startAngle:90,minAngle:0,selectedOffset:10,hoverOffset:10,avoidLabelOverlap:!0,percentPrecision:2,stillShowZeroSum:!0,label:{rotate:!1,show:!0,position:"outer"},labelLine:{show:!0,length:15,length2:15,smooth:!1,lineStyle:{width:1,type:"solid"}},itemStyle:{borderWidth:1},animationType:"expansion",animationEasing:"cubicOut"}});c(KC,qC);var $C=pd.prototype;$C.updateData=function(t,e,n){function i(){a.stopAnimation(!0),a.animateTo({shape:{r:h.r+l.get("hoverOffset")}},300,"elasticOut")}function r(){a.stopAnimation(!0),a.animateTo({shape:{r:h.r}},300,"elasticOut")}var a=this.childAt(0),l=t.hostModel,u=t.getItemModel(e),h=t.getItemLayout(e),c=o({},h);if(c.label=null,n){a.setShape(c);var d=l.getShallow("animationType");"scale"===d?(a.shape.r=h.r0,Oa(a,{shape:{r:h.r}},l,e)):(a.shape.endAngle=h.startAngle,Ea(a,{shape:{endAngle:h.endAngle}},l,e))}else Ea(a,{shape:c},l,e);var f=t.getItemVisual(e,"color");a.useStyle(s({lineJoin:"bevel",fill:f},u.getModel("itemStyle").getItemStyle())),a.hoverStyle=u.getModel("emphasis.itemStyle").getItemStyle();var p=u.getShallow("cursor");p&&a.attr("cursor",p),fd(this,t.getItemLayout(e),l.isSelected(null,e),l.get("selectedOffset"),l.get("animation")),a.off("mouseover").off("mouseout").off("emphasis").off("normal"),u.get("hoverAnimation")&&l.isAnimationEnabled()&&a.on("mouseover",i).on("mouseout",r).on("emphasis",i).on("normal",r),this._updateLabel(t,e),wa(this)},$C._updateLabel=function(t,e){var n=this.childAt(1),i=this.childAt(2),r=t.hostModel,a=t.getItemModel(e),o=t.getItemLayout(e),s=o.label,l=t.getItemVisual(e,"color");Ea(n,{shape:{points:s.linePoints||[[s.x,s.y],[s.x,s.y],[s.x,s.y]]}},r,e),Ea(i,{style:{x:s.x,y:s.y}},r,e),i.attr({rotation:s.rotation,origin:[s.x,s.y],z2:10});var u=a.getModel("label"),h=a.getModel("emphasis.label"),c=a.getModel("labelLine"),d=a.getModel("emphasis.labelLine"),l=t.getItemVisual(e,"color");Sa(i.style,i.hoverStyle={},u,h,{labelFetcher:t.hostModel,labelDataIndex:e,defaultText:t.getName(e),autoColor:l,useInsideStyle:!!s.inside},{textAlign:s.textAlign,textVerticalAlign:s.verticalAlign,opacity:t.getItemVisual(e,"opacity")}),i.ignore=i.normalIgnore=!u.get("show"),i.hoverIgnore=!h.get("show"),n.ignore=n.normalIgnore=!c.get("show"),n.hoverIgnore=!d.get("show"),n.setStyle({stroke:l,opacity:t.getItemVisual(e,"opacity")}),n.setStyle(c.getModel("lineStyle").getLineStyle()),n.hoverStyle=d.getModel("lineStyle").getLineStyle();var f=c.get("smooth");f&&f===!0&&(f=.4),n.setShape({smooth:f})},h(pd,__);var JC=(Hs.extend({type:"pie",init:function(){var t=new __;this._sectorGroup=t},render:function(t,e,n,i){if(!i||i.from!==this.uid){var r=t.getData(),a=this._data,o=this.group,s=e.get("animation"),l=!a,u=t.get("animationType"),h=x(dd,this.uid,t,s,n),c=t.get("selectedMode");if(r.diff(a).add(function(t){var e=new pd(r,t);l&&"scale"!==u&&e.eachChild(function(t){t.stopAnimation(!0)}),c&&e.on("click",h),r.setItemGraphicEl(t,e),o.add(e)}).update(function(t,e){var n=a.getItemGraphicEl(e);n.updateData(r,t),n.off("click"),c&&n.on("click",h),o.add(n),r.setItemGraphicEl(t,n)}).remove(function(t){var e=a.getItemGraphicEl(t);o.remove(e)}).execute(),s&&l&&r.count()>0&&"scale"!==u){var d=r.getItemLayout(0),f=Math.max(n.getWidth(),n.getHeight())/2,p=y(o.removeClipPath,o);o.setClipPath(this._createClipPath(d.cx,d.cy,f,d.startAngle,d.clockwise,p,t))}else o.removeClipPath();this._data=r}},dispose:function(){},_createClipPath:function(t,e,n,i,r,a,o){var s=new Rb({shape:{cx:t,cy:e,r0:0,r:n,startAngle:i,endAngle:i,clockwise:r}});return Oa(s,{shape:{endAngle:i+(r?1:-1)*Math.PI*2}},o,a),s},containPoint:function(t,e){var n=e.getData(),i=n.getItemLayout(0);if(i){var r=t[0]-i.cx,a=t[1]-i.cy,o=Math.sqrt(r*r+a*a);return o<=i.r&&o>=i.r0}}}),function(t,e){f(e,function(e){e.update="updateView",eu(e,function(n,i){var r={};return i.eachComponent({mainType:"series",subType:t,query:n},function(t){t[e.method]&&t[e.method](n.name,n.dataIndex);var i=t.getData();i.each(function(e){var n=i.getName(e);r[n]=t.isSelected(n)||!1})}),{name:n.name,selected:r}})})}),QC=function(t){return{getTargetSeries:function(e){var n={},i=B();return e.eachSeriesByType(t,function(t){t.__paletteScope=n,i.set(t.uid,t)}),i},reset:function(t){var e=t.getRawData(),n={},i=t.getData();i.each(function(t){var e=i.getRawIndex(t);n[e]=t}),e.each(function(r){var a=n[r],o=null!=a&&i.getItemVisual(a,"color",!0);if(o)e.setItemVisual(r,"color",o);else{var s=e.getItemModel(r),l=s.get("itemStyle.color")||t.getColorFromPalette(e.getName(r)||r+"",t.__paletteScope,e.count());e.setItemVisual(r,"color",l),null!=a&&i.setItemVisual(a,"color",l)}})}}},tD=function(t,e,n,i){var r,a,o=t.getData(),s=[],l=!1;o.each(function(n){var i,u,h,c,d=o.getItemLayout(n),f=o.getItemModel(n),p=f.getModel("label"),g=p.get("position")||f.get("emphasis.label.position"),m=f.getModel("labelLine"),v=m.get("length"),y=m.get("length2"),x=(d.startAngle+d.endAngle)/2,_=Math.cos(x),w=Math.sin(x);r=d.cx,a=d.cy;var b="inside"===g||"inner"===g;if("center"===g)i=d.cx,u=d.cy,c="center";else{var S=(b?(d.r+d.r0)/2*_:d.r*_)+r,I=(b?(d.r+d.r0)/2*w:d.r*w)+a;if(i=S+3*_,u=I+3*w,!b){var M=S+_*(v+e-d.r),T=I+w*(v+e-d.r),C=M+(0>_?-1:1)*y,D=T;i=C+(0>_?-5:5),u=D,h=[[S,I],[M,T],[C,D]]}c=b?"center":_>0?"left":"right"}var A=p.getFont(),L=p.get("rotate")?0>_?-x+Math.PI:-x:0,k=t.getFormattedLabel(n,"normal")||o.getName(n),P=Bn(k,A,c,"top");l=!!L,d.label={x:i,y:u,position:g,height:P.height,len:v,len2:y,linePoints:h,textAlign:c,verticalAlign:"middle",rotation:L,inside:b},b||s.push(d.label)}),!l&&t.get("avoidLabelOverlap")&&md(s,r,a,e,n,i)},eD=2*Math.PI,nD=Math.PI/180,iD=function(t,e,n){e.eachSeriesByType(t,function(t){var e=t.getData(),i=e.mapDimension("value"),r=t.get("center"),a=t.get("radius");_(a)||(a=[0,a]),_(r)||(r=[r,r]);var o=n.getWidth(),s=n.getHeight(),l=Math.min(o,s),u=$a(r[0],o),h=$a(r[1],s),c=$a(a[0],l/2),d=$a(a[1],l/2),f=-t.get("startAngle")*nD,p=t.get("minAngle")*nD,g=0;e.each(i,function(t){!isNaN(t)&&g++});var m=e.getSum(i),v=Math.PI/(m||g)*2,y=t.get("clockwise"),x=t.get("roseType"),w=t.get("stillShowZeroSum"),b=e.getDataExtent(i);b[0]=0;var S=eD,I=0,M=f,T=y?1:-1;if(e.each(i,function(t,n){var i;if(isNaN(t))return void e.setItemLayout(n,{angle:0/0,startAngle:0/0,endAngle:0/0,clockwise:y,cx:u,cy:h,r0:c,r:x?0/0:d});i="area"!==x?0===m&&w?v:t*v:eD/g,p>i?(i=p,S-=p):I+=t;var r=M+T*i;e.setItemLayout(n,{angle:i,startAngle:M,endAngle:r,clockwise:y,cx:u,cy:h,r0:c,r:x?Ka(t,b,[c,d]):d}),M=r}),eD>S&&g)if(.001>=S){var C=eD/g;e.each(i,function(t,n){if(!isNaN(t)){var i=e.getItemLayout(n);i.angle=C,i.startAngle=f+T*n*C,i.endAngle=f+T*(n+1)*C}})}else v=S/I,M=f,e.each(i,function(t,n){if(!isNaN(t)){var i=e.getItemLayout(n),r=i.angle===p?p:t*v;i.startAngle=M,i.endAngle=M+T*r,M+=T*r}});tD(t,d,o,s)})},rD=function(t){return{seriesType:t,reset:function(t,e){var n=e.findComponents({mainType:"legend"});if(n&&n.length){var i=t.getData();i.filterSelf(function(t){for(var e=i.getName(t),r=0;r=0;s--){var l=2*s,u=i[l]-a/2,h=i[l+1]-o/2;if(t>=u&&e>=h&&u+a>=t&&h+o>=e)return s}return-1}}),sD=yd.prototype;sD.isPersistent=function(){return!this._incremental},sD.updateData=function(t){this.group.removeAll();var e=new oD({rectHover:!0,cursor:"default"});e.setShape({points:t.getLayout("symbolPoints")}),this._setCommon(e,t),this.group.add(e),this._incremental=null},sD.updateLayout=function(t){if(!this._incremental){var e=t.getLayout("symbolPoints");this.group.eachChild(function(t){if(null!=t.startIndex){var n=2*(t.endIndex-t.startIndex),i=4*t.startIndex*2;e=new Float32Array(e.buffer,i,n)}t.setShape("points",e)})}},sD.incrementalPrepareUpdate=function(t){this.group.removeAll(),this._clearIncremental(),t.count()>2e6?(this._incremental||(this._incremental=new Jr({silent:!0})),this.group.add(this._incremental)):this._incremental=null},sD.incrementalUpdate=function(t,e){var n;this._incremental?(n=new oD,this._incremental.addDisplayable(n,!0)):(n=new oD({rectHover:!0,cursor:"default",startIndex:t.start,endIndex:t.end}),n.incremental=!0,this.group.add(n)),n.setShape({points:e.getLayout("symbolPoints")}),this._setCommon(n,e,!!this._incremental)},sD._setCommon=function(t,e,n){var i=e.hostModel,r=e.getVisual("symbolSize");t.setShape("size",r instanceof Array?r:[r,r]),t.symbolProxy=bh(e.getVisual("symbol"),0,0,0,0),t.setColor=t.symbolProxy.setColor;var a=t.shape.size[0]=0&&(t.dataIndex=n+(t.startIndex||0))}))},sD.remove=function(){this._clearIncremental(),this._incremental=null,this.group.removeAll()},sD._clearIncremental=function(){var t=this._incremental;t&&t.clearDisplaybles()},cu({type:"scatter",render:function(t){var e=t.getData(),n=this._updateSymbolDraw(e,t);n.updateData(e),this._finished=!0},incrementalPrepareRender:function(t){var e=t.getData(),n=this._updateSymbolDraw(e,t);n.incrementalPrepareUpdate(e),this._finished=!1},incrementalRender:function(t,e){this._symbolDraw.incrementalUpdate(t,e.getData()),this._finished=t.end===e.getData().count()},updateTransform:function(t){var e=t.getData();if(this.group.dirty(),!this._finished||e.count()>1e4||!this._symbolDraw.isPersistent())return{update:!0};var n=XC().reset(t);n.progress&&n.progress({start:0,end:e.count()},e),this._symbolDraw.updateLayout(e)},_updateSymbolDraw:function(t,e){var n=this._symbolDraw,i=e.pipelineContext,r=i.large;return n&&r===this._isLargeDraw||(n&&n.remove(),n=this._symbolDraw=r?new yd:new Wc,this._isLargeDraw=r,this.group.removeAll()),this.group.add(n.group),n},remove:function(){this._symbolDraw&&this._symbolDraw.remove(!0),this._symbolDraw=null},dispose:function(){}}),au(HC("scatter","circle")),ru(XC("scatter")),wI.extend({type:"series.effectScatter",dependencies:["grid","polar"],getInitialData:function(){return Gu(this.getSource(),this)},brushSelector:"point",defaultOption:{coordinateSystem:"cartesian2d",zlevel:0,z:2,legendHoverLink:!0,effectType:"ripple",progressive:0,showEffectOn:"render",rippleEffect:{period:4,scale:2.5,brushType:"fill"},symbolSize:10}});var lD=3,uD=wd.prototype;uD.stopEffectAnimation=function(){this.childAt(1).removeAll()},uD.startEffectAnimation=function(t){for(var e=t.symbolType,n=t.color,i=this.childAt(1),r=0;lD>r;r++){var a=bh(e,-1,-1,2,2,n);a.attr({style:{strokeNoScale:!0},z2:99,silent:!0,scale:[.5,.5]});var o=-r/lD*t.period+t.effectOffset;a.animate("",!0).when(t.period,{scale:[t.rippleScale/2,t.rippleScale/2]}).delay(o).start(),a.animateStyle(!0).when(t.period,{opacity:0}).delay(o).start(),i.add(a)}_d(i,t)},uD.updateEffectAnimation=function(t){for(var e=this._effectCfg,n=this.childAt(1),i=["symbolType","period","rippleScale"],r=0;r0?_D:wD)}function r(t,e){return e.get(t>0?yD:xD)}var a=t.getData(),o=t.pipelineContext.large;return a.setVisual({legendSymbol:"roundRect",colorP:i(1,t),colorN:i(-1,t),borderColorP:r(1,t),borderColorN:r(-1,t)}),e.isSeriesFiltered(t)?void 0:!o&&{progress:n}}},SD="undefined"!=typeof Float32Array?Float32Array:Array,ID={seriesType:"candlestick",plan:II(),reset:function(t){function e(t,e){function n(t,e){var n=[];return n[o]=e,n[s]=t,isNaN(e)||isNaN(t)?[0/0,0/0]:i.dataToPoint(n)}function r(t,e,n){var i=e.slice(),r=e.slice();i[o]=sa(i[o]+a/2,1,!1),r[o]=sa(r[o]-a/2,1,!0),n?t.push(i,r):t.push(r,i)}function l(t,e,i){var r=n(t,i),l=n(e,i);return r[o]-=a/2,l[o]-=a/2,{x:r[0],y:r[1],width:s?a:l[0]-r[0],height:s?l[1]-r[1]:a}}function h(t){return t[o]=sa(t[o],1),t}for(var g;null!=(g=t.next());){var m=e.get(u,g),v=e.get(c,g),y=e.get(d,g),x=e.get(f,g),_=e.get(p,g),w=Math.min(v,y),b=Math.max(v,y),S=n(w,m),I=n(b,m),M=n(x,m),T=n(_,m),C=[];r(C,I,0),r(C,S,1),C.push(h(T),h(I),h(M),h(S)),e.setItemLayout(g,{sign:Cd(e,g,v,y,d),initBaseline:v>y?I[s]:S[s],ends:C,brushRect:l(x,_,m)})}}function n(t,e){for(var n,r,a=new SD(5*t.count),l=0,h=[],g=[];null!=(r=t.next());){var m=e.get(u,r),v=e.get(c,r),y=e.get(d,r),x=e.get(f,r),_=e.get(p,r);isNaN(m)||isNaN(x)||isNaN(_)?(a[l++]=0/0,l+=4):(a[l++]=Cd(e,r,v,y,d),h[o]=m,h[s]=x,n=i.dataToPoint(h,null,g),a[l++]=n?n[0]:0/0,a[l++]=n?n[1]:0/0,h[s]=_,n=i.dataToPoint(h,null,g),a[l++]=n?n[1]:0/0)}e.setLayout("largePoints",a)}var i=t.coordinateSystem,r=t.getData(),a=Dd(t,r),o=0,s=1,l=["x","y"],u=r.mapDimension(l[o]),h=r.mapDimension(l[s],!0),c=h[0],d=h[1],f=h[2],p=h[3];return r.setLayout({candleWidth:a,isSimpleBox:1.3>=a}),null==u||h.length<4?void 0:{progress:t.pipelineContext.large?n:e}}};Jl(vD),au(bD),ru(ID),h(Ad,UT),Ld.prototype.getIndicatorAxes=function(){return this._indicatorAxes},Ld.prototype.dataToPoint=function(t,e){var n=this._indicatorAxes[e];return this.coordToPoint(n.dataToCoord(t),e)},Ld.prototype.coordToPoint=function(t,e){var n=this._indicatorAxes[e],i=n.angle,r=this.cx+t*Math.cos(i),a=this.cy-t*Math.sin(i);return[r,a]},Ld.prototype.pointToData=function(t){var e=t[0]-this.cx,n=t[1]-this.cy,i=Math.sqrt(e*e+n*n);e/=i,n/=i;for(var r,a=Math.atan2(-n,e),o=1/0,s=-1,l=0;lh&&(r=u,s=l,o=h)}return[s,+(r&&r.coodToData(i))]},Ld.prototype.resize=function(t,e){var n=t.get("center"),i=e.getWidth(),r=e.getHeight(),a=Math.min(i,r)/2;this.cx=$a(n[0],i),this.cy=$a(n[1],r),this.startAngle=t.get("startAngle")*Math.PI/180;var o=t.get("radius");("string"==typeof o||"number"==typeof o)&&(o=[0,o]),this.r0=$a(o[0],a),this.r=$a(o[1],a),f(this._indicatorAxes,function(t,e){t.setExtent(this.r0,this.r);var n=this.startAngle+e*Math.PI*2/this._indicatorAxes.length;n=Math.atan2(Math.sin(n),Math.cos(n)),t.angle=n},this)},Ld.prototype.update=function(t){function e(t){var e=Math.pow(10,Math.floor(Math.log(t)/Math.LN10)),n=t/e;return 2===n?n=5:n*=2,n*e}var n=this._indicatorAxes,i=this._model;f(n,function(t){t.scale.setExtent(1/0,-1/0)}),t.eachSeriesByType("radar",function(e){if("radar"===e.get("coordinateSystem")&&t.getComponent("radar",e.get("radarIndex"))===i){var r=e.getData();f(n,function(t){t.scale.unionExtentFromData(r,r.mapDimension(t.dim))})}},this);var r=i.get("splitNumber");f(n,function(t){var n=hh(t.scale,t.model);dh(t.scale,t.model);var i=t.model,a=t.scale,o=i.getMin(),s=i.getMax(),l=a.getInterval();if(null!=o&&null!=s)a.setExtent(+o,+s),a.setInterval((s-o)/r);else if(null!=o){var u;do u=o+l*r,a.setExtent(+o,u),a.setInterval(l),l=e(l);while(un[0]&&isFinite(h)&&isFinite(n[0]))}else{var c=a.getTicks().length-1;c>r&&(l=e(l));var d=Math.round((n[0]+n[1])/2/l)*l,f=Math.round(r/2);a.setExtent(Ja(d-f*l),Ja(d+(r-f)*l)),a.setInterval(l)}})},Ld.dimensions=[],Ld.create=function(t,e){var n=[];return t.eachComponent("radar",function(i){var r=new Ld(i,t,e);n.push(r),i.coordinateSystem=r}),t.eachSeriesByType("radar",function(t){"radar"===t.get("coordinateSystem")&&(t.coordinateSystem=n[t.get("radarIndex")||0])}),n},is.register("radar",Ld);var MD=eC.valueAxis,TD=(lu({type:"radar",optionUpdated:function(){var t=this.get("boundaryGap"),e=this.get("splitNumber"),n=this.get("scale"),a=this.get("axisLine"),l=this.get("axisTick"),u=this.get("axisLabel"),h=this.get("name"),c=this.get("name.show"),d=this.get("name.formatter"),f=this.get("nameGap"),g=this.get("triggerEvent"),m=p(this.get("indicator")||[],function(p){null!=p.max&&p.max>0&&!p.min?p.min=0:null!=p.min&&p.min<0&&!p.max&&(p.max=0);var m=h;if(null!=p.color&&(m=s({color:p.color},h)),p=r(i(p),{boundaryGap:t,splitNumber:e,scale:n,axisLine:a,axisTick:l,axisLabel:u,name:p.text,nameLocation:"end",nameGap:f,nameTextStyle:m,triggerEvent:g},!1),c||(p.name=""),"string"==typeof d){var v=p.name;p.name=d.replace("{value}",null!=v?v:"")}else"function"==typeof d&&(p.name=d(p.name,p));var y=o(new Ha(p,null,this.ecModel),NT);return y.mainType="radar",y.componentIndex=this.componentIndex,y},this);this.getIndicatorModels=function(){return m}},defaultOption:{zlevel:0,z:0,center:["50%","50%"],radius:"75%",startAngle:90,name:{show:!0},boundaryGap:[0,0],splitNumber:5,nameGap:15,scale:!1,shape:"polygon",axisLine:r({lineStyle:{color:"#bbb"}},MD.axisLine),axisLabel:kd(MD.axisLabel,!1),axisTick:kd(MD.axisTick,!1),splitLine:kd(MD.splitLine,!0),splitArea:kd(MD.splitArea,!0),indicator:[]}}),["axisLine","axisTickLabel","axisName"]);uu({type:"radar",render:function(t){var e=this.group;e.removeAll(),this._buildAxes(t),this._buildSplitLineAndArea(t)},_buildAxes:function(t){var e=t.coordinateSystem,n=e.getIndicatorAxes(),i=p(n,function(t){var n=new mC(t.model,{position:[e.cx,e.cy],rotation:t.angle,labelDirection:-1,tickDirection:-1,nameDirection:1});return n});f(i,function(t){f(TD,t.add,t),this.group.add(t.getGroup())},this)},_buildSplitLineAndArea:function(t){function e(t,e,n){var i=n%e.length;return t[i]=t[i]||[],i}var n=t.coordinateSystem,i=n.getIndicatorAxes();if(i.length){var r=t.get("shape"),a=t.getModel("splitLine"),o=t.getModel("splitArea"),l=a.getModel("lineStyle"),u=o.getModel("areaStyle"),h=a.get("show"),c=o.get("show"),d=l.get("color"),g=u.get("color");d=_(d)?d:[d],g=_(g)?g:[g];var m=[],v=[];if("circle"===r)for(var y=i[0].getTicksCoords(),x=n.cx,w=n.cy,b=0;b=b;b++){for(var C=[],D=0;D"+p(i,function(n){var i=e.get(e.mapDimension(n.dim),t);return mo(n.name+" : "+i)}).join("
    ")},defaultOption:{zlevel:0,z:2,coordinateSystem:"radar",legendHoverLink:!0,radarIndex:0,lineStyle:{width:2,type:"solid"},label:{position:"top"},symbol:"emptyCircle",symbolSize:4}});cu({type:"radar",render:function(t){function e(t,e){var n=t.getItemVisual(e,"symbol")||"circle",i=t.getItemVisual(e,"color");if("none"!==n){var r=Pd(t.getItemVisual(e,"symbolSize")),a=bh(n,-1,-1,2,2,i);return a.attr({style:{strokeNoScale:!0},z2:100,scale:[r[0]/2,r[1]/2]}),a}}function n(n,i,r,a,o,s){r.removeAll();for(var l=0;lf;++f){var p=t[f],g=p[0],m=p[1],v=p[2],y=i(v);c.globalAlpha=y,c.drawImage(o,g-u,m-u)}if(!h.width||!h.height)return h;for(var x=c.getImageData(0,0,h.width,h.height),_=x.data,w=0,b=_.length,S=this.minOpacity,I=this.maxOpacity,M=I-S;b>w;){var y=_[w+3]/256,T=4*Math.floor(y*(LD-1));if(y>0){var C=a(y)?s:l;y>0&&(y=y*M+S),_[w++]=C[T],_[w++]=C[T+1],_[w++]=C[T+2],_[w++]=C[T+3]*y*256}else w+=4}return c.putImageData(x,0,0),h},_getBrush:function(){var t=this._brushCanvas||(this._brushCanvas=_x()),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},_getGradient:function(t,e,n){for(var i=this._gradientPixels,r=i[n]||(i[n]=new Uint8ClampedArray(1024)),a=[0,0,0,0],o=0,s=0;256>s;s++)e[n](s/255,!0,a),r[o++]=a[0],r[o++]=a[1],r[o++]=a[2],r[o++]=a[3];return r}},cu({type:"heatmap",render:function(t,e,n){var i;e.eachComponent("visualMap",function(e){e.eachTargetSeries(function(n){n===t&&(i=e)})}),this.group.removeAll(),this._incrementalDisplayable=null;var r=t.coordinateSystem;"cartesian2d"===r.type||"calendar"===r.type?this._renderOnCartesianAndCalendar(t,n,0,t.getData().count()):Rd(r)&&this._renderOnGeo(r,t,i,n)},incrementalPrepareRender:function(){this.group.removeAll()},incrementalRender:function(t,e,n,i){var r=e.coordinateSystem;r&&this._renderOnCartesianAndCalendar(e,i,t.start,t.end,!0)},_renderOnCartesianAndCalendar:function(t,e,n,i,r){var a,s,l=t.coordinateSystem;if("cartesian2d"===l.type){var u=l.getAxis("x"),h=l.getAxis("y");a=u.getBandWidth(),s=h.getBandWidth()}for(var c=this.group,d=t.getData(),f="itemStyle",p="emphasis.itemStyle",g="label",m="emphasis.label",v=t.getModel(f).getItemStyle(["color"]),y=t.getModel(p).getItemStyle(),x=t.getModel(g),_=t.getModel(m),w=l.type,b="cartesian2d"===w?[d.mapDimension("x"),d.mapDimension("y"),d.mapDimension("value")]:[d.mapDimension("time"),d.mapDimension("value")],S=n;i>S;S++){var I;if("cartesian2d"===w){if(isNaN(d.get(b[2],S)))continue;var M=l.dataToPoint([d.get(b[0],S),d.get(b[1],S)]);I=new Xb({shape:{x:M[0]-a/2,y:M[1]-s/2,width:a,height:s},style:{fill:d.getItemVisual(S,"color"),opacity:d.getItemVisual(S,"opacity")}})}else{if(isNaN(d.get(b[1],S)))continue;I=new Xb({z2:1,shape:l.dataToRect([d.get(b[0],S)]).contentShape,style:{fill:d.getItemVisual(S,"color"),opacity:d.getItemVisual(S,"opacity")}})}var T=d.getItemModel(S);d.hasItemOption&&(v=T.getModel(f).getItemStyle(["color"]),y=T.getModel(p).getItemStyle(),x=T.getModel(g),_=T.getModel(m));var C=t.getRawValue(S),D="-";C&&null!=C[2]&&(D=C[2]),Sa(v,y,x,_,{labelFetcher:t,labelDataIndex:S,defaultText:D,isRectText:!0}),I.setStyle(v),wa(I,d.hasItemOption?y:o({},y)),I.incremental=r,r&&(I.useHoverLayer=!0),c.add(I),d.setItemGraphicEl(S,I)}},_renderOnGeo:function(t,e,n,i){var r=n.targetVisuals.inRange,a=n.targetVisuals.outOfRange,o=e.getData(),s=this._hmLayer||this._hmLayer||new Nd;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),d=Math.min(l.width+l.x,i.getWidth()),f=Math.min(l.height+l.y,i.getHeight()),p=d-h,g=f-c,m=[o.mapDimension("lng"),o.mapDimension("lat"),o.mapDimension("value")],v=o.mapArray(m,function(e,n,i){var r=t.dataToPoint([e,n]);return r[0]-=h,r[1]-=c,r.push(i),r}),y=n.getExtent(),x="visualMap.continuous"===n.type?Od(y,n.option.range):Ed(y,n.getPieceList(),n.option.selected);s.update(v,p,g,r.color.getNormalizer(),{inRange:r.color.getColorMapper(),outOfRange:a.color.getColorMapper()},x);var _=new _i({style:{width:p,height:g,x:h,y:c,image:s.canvas},silent:!0});this.group.add(_)},dispose:function(){}});var kD=f,PD="\x00__link_datas",ND="\x00__link_mainData",ED=function(t,e){this.name=t||"",this.depth=0,this.height=0,this.parentNode=null,this.dataIndex=-1,this.children=[],this.viewChildren=[],this.hostTree=e};ED.prototype={constructor:ED,isRemoved:function(){return this.dataIndex<0},eachNode:function(t,e,n){"function"==typeof t&&(n=e,e=t,t=null),t=t||{},b(t)&&(t={order:t});var i,r=t.order||"preorder",a=this[t.attr||"children"];"preorder"===r&&(i=e.call(n,this));for(var o=0;!i&&oe&&(e=i.height)}this.height=e+1},getNodeById:function(t){if(this.getId()===t)return this;for(var e=0,n=this.children,i=n.length;i>e;e++){var r=n[e].getNodeById(t);if(r)return r}},contains:function(t){if(t===this)return!0;for(var e=0,n=this.children,i=n.length;i>e;e++){var r=n[e].contains(t);if(r)return r}},getAncestors:function(t){for(var e=[],n=t?this:this.parentNode;n;)e.push(n),n=n.parentNode;return e.reverse(),e},getValue:function(t){var e=this.hostTree.data;return e.get(e.getDimension(t||"value"),this.dataIndex)},setLayout:function(t,e){this.dataIndex>=0&&this.hostTree.data.setItemLayout(this.dataIndex,t,e)},getLayout:function(){return this.hostTree.data.getItemLayout(this.dataIndex)},getModel:function(t){if(!(this.dataIndex<0)){var e,n=this.hostTree,i=n.data.getItemModel(this.dataIndex),r=this.getLevelModel();return r||0!==this.children.length&&(0===this.children.length||this.isExpand!==!1)||(e=this.getLeavesModel()),i.getModel(t,(r||e||n.hostModel).getModel(t))}},getLevelModel:function(){return(this.hostTree.levelModels||[])[this.depth]},getLeavesModel:function(){return this.hostTree.leavesModel},setVisual:function(t,e){this.dataIndex>=0&&this.hostTree.data.setItemVisual(this.dataIndex,t,e)},getVisual:function(t,e){return this.hostTree.data.getItemVisual(this.dataIndex,t,e)},getRawIndex:function(){return this.hostTree.data.getRawIndex(this.dataIndex)},getId:function(){return this.hostTree.data.getId(this.dataIndex)},isAncestorOf:function(t){for(var e=t.parentNode;e;){if(e===this)return!0;e=e.parentNode}return!1},isDescendantOf:function(t){return t!==this&&t.isAncestorOf(this)}},Yd.prototype={constructor:Yd,type:"tree",eachNode:function(t,e,n){this.root.eachNode(t,e,n)},getNodeByDataIndex:function(t){var e=this.data.getRawIndex(t);return this._nodes[e]},getNodeByName:function(t){return this.root.getNodeByName(t)},update:function(){for(var t=this.data,e=this._nodes,n=0,i=e.length;i>n;n++)e[n].dataIndex=-1;for(var n=0,i=t.count();i>n;n++)e[t.getRawIndex(n)].dataIndex=n},clearLayouts:function(){this.data.clearItemLayouts()}},Yd.createTree=function(t,e,n){function i(t,e){var n=t.value;o=Math.max(o,_(n)?n.length:1),a.push(t);var s=new ED(t.name,r);e?jd(s,e):r.root=s,r._nodes.push(s);var l=t.children;if(l)for(var u=0;ua&&(a=t.depth)});var o=t.expandAndCollapse,s=o&&t.initialTreeDepth>=0?t.initialTreeDepth:a;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<=s}),r.data},getOrient:function(){var t=this.get("orient");return"horizontal"===t?t="LR":"vertical"===t&&(t="TB"),t},setZoom:function(t){this.option.zoom=t},setCenter:function(t){this.option.center=t},formatTooltip:function(t){for(var e=this.getData().tree,n=e.root.children[0],i=e.getNodeByDataIndex(t),r=i.getValue(),a=i.name;i&&i!==n;)a=i.parentNode.name+"."+a,i=i.parentNode;return mo(a+(isNaN(r)||null==r?"":" : "+r))},defaultOption:{zlevel:0,z:2,coordinateSystem:"view",left:"12%",top:"12%",right:"12%",bottom:"12%",layout:"orthogonal",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",borderColor:"#c23531",borderWidth:1.5},label:{show:!0,color:"#555"},leaves:{label:{show:!0}},animationEasing:"linear",animationDuration:700,animationDurationUpdate:1e3}});var OD=ae;c(sf,Yx),lf.prototype={constructor:lf,type:"view",dimensions:["x","y"],setBoundingRect:function(t,e,n,i){return this._rect=new xn(t,e,n,i),this._rect},getBoundingRect:function(){return this._rect},setViewRect:function(t,e,n,i){this.transformTo(t,e,n,i),this._viewRect=new xn(t,e,n,i)},transformTo:function(t,e,n,i){var r=this.getBoundingRect(),a=this._rawTransformable;a.transform=r.calculateTransform(new xn(t,e,n,i)),a.decomposeTransform(),this._updateTransform()},setCenter:function(t){t&&(this._center=t,this._updateCenterAndZoom())},setZoom:function(t){t=t||1;var e=this.zoomLimit;e&&(null!=e.max&&(t=Math.min(e.max,t)),null!=e.min&&(t=Math.max(e.min,t))),this._zoom=t,this._updateCenterAndZoom()},getDefaultCenter:function(){var t=this.getBoundingRect(),e=t.x+t.width/2,n=t.y+t.height/2;return[e,n]},getCenter:function(){return this._center||this.getDefaultCenter()},getZoom:function(){return this._zoom||1},getRoamTransform:function(){return this._roamTransformable.getLocalTransform()},_updateCenterAndZoom:function(){var t=this._rawTransformable.getLocalTransform(),e=this._roamTransformable,n=this.getDefaultCenter(),i=this.getCenter(),r=this.getZoom();i=ae([],i,t),n=ae([],n,t),e.origin=i,e.position=[n[0]-i[0],n[1]-i[1]],e.scale=[r,r],this._updateTransform()},_updateTransform:function(){var t=this._roamTransformable,e=this._rawTransformable;e.parent=t,t.updateTransform(),e.updateTransform(),Ce(this.transform||(this.transform=[]),e.transform||Me()),this._rawTransform=e.getLocalTransform(),this.invTransform=this.invTransform||[],Pe(this.invTransform,this.transform),this.decomposeTransform()},getViewRect:function(){return this._viewRect},getViewRectAfterRoam:function(){var t=this.getBoundingRect().clone();return t.applyTransform(this.transform),t},dataToPoint:function(t,e,n){var i=e?this._rawTransform:this.transform;return n=n||[],i?OD(n,t,i):W(n,t)},pointToData:function(t){var e=this.invTransform;return e?OD([],t,e):[t[0],t[1]]},convertToPixel:x(uf,"dataToPoint"),convertFromPixel:x(uf,"pointToData"),containPoint:function(t){return this.getViewRectAfterRoam().contain(t[0],t[1])}},c(lf,Yx);var RD="\x00_ec_interaction_mutex";eu({type:"takeGlobalCursor",event:"globalCursorTaken",update:"update"},function(){}),c(mf,Px);var zD={axisPointer:1,tooltip:1,brush:1};cu({type:"tree",init:function(t,e){this._oldTree,this._mainGroup=new __,this._controller=new mf(e.getZr()),this._controllerHost={target:this.group},this.group.add(this._mainGroup)},render:function(t,e,n){var i=t.getData(),r=t.layoutInfo,a=this._mainGroup,o=t.get("layout");"radial"===o?a.attr("position",[r.x+r.width/2,r.y+r.height/2]):a.attr("position",[r.x,r.y]),this._updateViewCoordSys(t),this._updateController(t,e,n);var s=this._data,l={expandAndCollapse:t.get("expandAndCollapse"),layout:o,orient:t.getOrient(),curvature:t.get("lineStyle.curveness"),symbolRotate:t.get("symbolRotate"),symbolOffset:t.get("symbolOffset"),hoverAnimation:t.get("hoverAnimation"),useNameLabel:!0,fadeIn:!0};i.diff(s).add(function(e){Tf(i,e)&&Df(i,e,null,a,t,l)}).update(function(e,n){var r=s.getItemGraphicEl(n);return Tf(i,e)?void Df(i,e,r,a,t,l):void(r&&Af(s,n,r,a,t,l))}).remove(function(e){var n=s.getItemGraphicEl(e);n&&Af(s,e,n,a,t,l)}).execute(),this._nodeScaleRatio=t.get("nodeScaleRatio"),this._updateNodeAndLinkScale(t),l.expandAndCollapse===!0&&i.eachItemGraphicEl(function(e,i){e.off("click").on("click",function(){n.dispatchAction({type:"treeExpandAndCollapse",seriesId:t.id,dataIndex:i})})}),this._data=i},_updateViewCoordSys:function(t){var e=t.getData(),n=[];e.each(function(t){var i=e.getItemLayout(t);!i||isNaN(i.x)||isNaN(i.y)||n.push([+i.x,+i.y])});var i=[],r=[];_r(n,i,r),r[0]-i[0]===0&&(r[0]+=1,i[0]-=1),r[1]-i[1]===0&&(r[1]+=1,i[1]-=1);var a=t.coordinateSystem=new lf;a.zoomLimit=t.get("scaleLimit"),a.setBoundingRect(i[0],i[1],r[0]-i[0],r[1]-i[1]),a.setCenter(t.get("center")),a.setZoom(t.get("zoom")),this.group.attr({position:a.position,scale:a.scale}),this._viewCoordSys=a},_updateController:function(t,e,n){var i=this._controller,r=this._controllerHost,a=this.group;i.setPointerChecker(function(e,i,r){var o=a.getBoundingRect();return o.applyTransform(a.transform),o.contain(i,r)&&!Mf(e,n,t)}),i.enable(t.get("roam")),r.zoomLimit=t.get("scaleLimit"),r.zoom=t.coordinateSystem.getZoom(),i.off("pan").off("zoom").on("pan",function(e){hf(r,e.dx,e.dy),n.dispatchAction({seriesId:t.id,type:"treeRoam",dx:e.dx,dy:e.dy})},this).on("zoom",function(e){cf(r,e.scale,e.originX,e.originY),n.dispatchAction({seriesId:t.id,type:"treeRoam",zoom:e.scale,originX:e.originX,originY:e.originY}),this._updateNodeAndLinkScale(t)},this)},_updateNodeAndLinkScale:function(t){var e=t.getData(),n=this._getNodeGlobalScale(t),i=[n,n];e.eachItemGraphicEl(function(t){t.attr("scale",i)})},_getNodeGlobalScale:function(t){var e=t.coordinateSystem;if("view"!==e.type)return 1;var n=this._nodeScaleRatio,i=e.scale,r=i&&i[0]||1,a=e.getZoom(),o=(a-1)*n+1;return o/r},dispose:function(){this._controller&&this._controller.dispose(),this._controllerHost={}},remove:function(){this._mainGroup.removeAll(),this._data=null}}),eu({type:"treeExpandAndCollapse",event:"treeExpandAndCollapse",update:"update"},function(t,e){e.eachComponent({mainType:"series",subType:"tree",query:t},function(e){var n=t.dataIndex,i=e.getData().tree,r=i.getNodeByDataIndex(n);r.isExpand=!r.isExpand})}),eu({type:"treeRoam",event:"treeRoam",update:"none"},function(t,e){e.eachComponent({mainType:"series",subType:"tree",query:t},function(e){var n=e.coordinateSystem,i=kf(n,t);e.setCenter&&e.setCenter(i.center),e.setZoom&&e.setZoom(i.zoom)})});var BD=function(t,e){t.eachSeriesByType("tree",function(t){Ef(t,e)})};au(HC("tree","circle")),ru(BD),wI.extend({type:"series.treemap",layoutMode:"box",dependencies:["grid","polar"],_viewRoot:null,defaultOption:{progressive:0,hoverLayerThreshold:1/0,left:"center",top:"middle",right:null,bottom:null,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)",borderColor:"rgba(255,255,255,0.7)",borderWidth:1,shadowColor:"rgba(150,150,150,1)",shadowBlur:3,shadowOffsetX:0,shadowOffsetY:0,textStyle:{color:"#fff"}},emphasis:{textStyle:{}}},label:{show:!0,distance:0,padding:5,position:"inside",color:"#fff",ellipsis:!0},upperLabel:{show:!1,position:[0,"50%"],height:20,color:"#fff",ellipsis:!0,verticalAlign:"middle"},itemStyle:{color:null,colorAlpha:null,colorSaturation:null,borderWidth:0,gapWidth:0,borderColor:"#fff",borderColorSaturation:null},emphasis:{upperLabel:{show:!0,position:[0,"50%"],color:"#fff",ellipsis:!0,verticalAlign:"middle"}},visualDimension:0,visualMin:null,visualMax:null,color:[],colorAlpha:null,colorSaturation:null,colorMappingBy:"index",visibleMin:10,childrenVisibleMin:null,levels:[]},getInitialData:function(t,e){var n={name:t.name,children:t.data};Vf(n);var i=t.levels||[];i=t.levels=Gf(i,e);var r={};return r.levels=i,Yd.createTree(n,this,r).data},optionUpdated:function(){this.resetViewRoot()},formatTooltip:function(t){var e=this.getData(),n=this.getRawValue(t),i=po(_(n)?n[0]:n),r=e.getName(t);return mo(r+": "+i)},getDataParams:function(t){var e=wI.prototype.getDataParams.apply(this,arguments),n=this.getData().tree.getNodeByDataIndex(t);return e.treePathInfo=Bf(n,this),e},setLayoutInfo:function(t){this.layoutInfo=this.layoutInfo||{},o(this.layoutInfo,t)},mapIdToIndex:function(t){var e=this._idIndexMap;e||(e=this._idIndexMap=B(),this._idIndexMapCount=0);var n=e.get(t);return null==n&&e.set(t,n=this._idIndexMapCount++),n},getViewRoot:function(){return this._viewRoot},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)}});var VD=8,GD=8,FD=5;Ff.prototype={constructor:Ff,render:function(t,e,n,i){var r=t.getModel("breadcrumb"),a=this.group;if(a.removeAll(),r.get("show")&&n){var o=r.getModel("itemStyle"),s=o.getModel("textStyle"),l={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,l,s),this._renderContent(t,l,o,s,i),Do(a,l.pos,l.box)}},_prepare:function(t,e,n){for(var i=t;i;i=i.parentNode){var r=i.getModel().get("name"),a=n.getTextRect(r),o=Math.max(a.width+2*VD,e.emptyItemWidth);e.totalWidth+=o+GD,e.renderList.push({node:i,text:r,width:o})}},_renderContent:function(t,e,n,i,r){for(var a=0,o=e.emptyItemWidth,l=t.get("breadcrumb.height"),u=To(e.pos,e.box),h=e.totalWidth,c=e.renderList,d=c.length-1;d>=0;d--){var f=c[d],p=f.node,g=f.width,m=f.text;h>u.width&&(h-=g-o,g=o,m=null);var v=new Gb({shape:{points:Wf(a,0,g,l,d===c.length-1,0===d)},style:s(n.getItemStyle(),{lineJoin:"bevel",text:m,textFill:i.getTextColor(),textFont:i.getFont()}),z:10,onclick:x(r,p)});this.group.add(v),Hf(v,t,p),a+=g+GD}},remove:function(){this.group.removeAll()}};var WD=y,HD=__,XD=Xb,YD=f,jD=3,ZD=["label"],UD=["emphasis","label"],qD=["upperLabel"],KD=["emphasis","upperLabel"],$D=10,JD=1,QD=2,tA=Mw([["fill","color"],["stroke","strokeColor"],["lineWidth","strokeWidth"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]),eA=function(t){var e=tA(t);return e.stroke=e.fill=e.lineWidth=null,e};cu({type:"treemap",init:function(){this._containerGroup,this._storage=Yf(),this._oldTree,this._breadcrumb,this._controller,this._state="ready"},render:function(t,e,n,i){var r=e.findComponents({mainType:"series",subType:"treemap",query:i});if(!(u(r,t)<0)){this.seriesModel=t,this.api=n,this.ecModel=e;var a=["treemapZoomToNode","treemapRootToNode"],o=Of(i,a,t),s=i&&i.type,l=t.layoutInfo,h=!this._oldTree,c=this._storage,d="treemapRootToNode"===s&&o&&c?{rootNodeGroup:c.nodeGroup[o.node.getRawIndex()],direction:i.direction}:null,f=this._giveContainerGroup(l),p=this._doRender(f,t,d);h||s&&"treemapZoomToNode"!==s&&"treemapRootToNode"!==s?p.renderFinally():this._doAnimation(f,p,t,d),this._resetController(n),this._renderBreadcrumb(t,n,o)}},_giveContainerGroup:function(t){var e=this._containerGroup;return e||(e=this._containerGroup=new HD,this._initEvents(e),this.group.add(e)),e.attr("position",[t.x,t.y]),e},_doRender:function(t,e,n){function i(t,e,n,r,a){function o(t){return t.getId()}function s(o,s){var l=null!=o?t[o]:null,u=null!=s?e[s]:null,h=d(l,u,n,a);h&&i(l&&l.viewChildren||[],u&&u.viewChildren||[],h,r,a+1)}r?(e=t,YD(t,function(t,e){!t.isRemoved()&&s(e,e)})):new mu(e,t,o,o).add(s).update(s).remove(x(s,null)).execute()}function r(t){var e=Yf();return t&&YD(t,function(t,n){var i=e[n];YD(t,function(t){t&&(i.push(t),t.__tmWillDelete=1)})}),e}function a(){YD(f,function(t){YD(t,function(t){t.parent&&t.parent.remove(t)})}),YD(c,function(t){t.invisible=!0,t.dirty()})}var o=e.getData().tree,s=this._oldTree,l=Yf(),u=Yf(),h=this._storage,c=[],d=x(jf,e,u,h,n,l,c);i(o.root?[o.root]:[],s&&s.root?[s.root]:[],t,o===s||!s,0);var f=r(h);return this._oldTree=o,this._storage=u,{lastsForAnimation:l,willDeleteEls:f,renderFinally:a}},_doAnimation:function(t,e,n,i){if(n.get("animation")){var r=n.get("animationDurationUpdate"),a=n.get("animationEasing"),s=Xf();YD(e.willDeleteEls,function(t,e){YD(t,function(t){if(!t.invisible){var n,o=t.parent;if(i&&"drillDown"===i.direction)n=o===i.rootNodeGroup?{shape:{x:0,y:0,width:o.__tmNodeWidth,height:o.__tmNodeHeight},style:{opacity:0}}:{style:{opacity:0}};else{var l=0,u=0;o.__tmWillDelete||(l=o.__tmNodeWidth/2,u=o.__tmNodeHeight/2),n="nodeGroup"===e?{position:[l,u],style:{opacity:0}}:{shape:{x:l,y:u,width:0,height:0},style:{opacity:0}}}n&&s.add(t,n,r,a)}})}),YD(this._storage,function(t,n){YD(t,function(t,i){var l=e.lastsForAnimation[n][i],u={};l&&("nodeGroup"===n?l.old&&(u.position=t.position.slice(),t.attr("position",l.old)):(l.old&&(u.shape=o({},t.shape),t.setShape(l.old)),l.fadein?(t.setStyle("opacity",0),u.style={opacity:1}):1!==t.style.opacity&&(u.style={opacity:1})),s.add(t,u,r,a))})},this),this._state="animating",s.done(WD(function(){this._state="ready",e.renderFinally()},this)).start()}},_resetController:function(t){var e=this._controller;e||(e=this._controller=new mf(t.getZr()),e.enable(this.seriesModel.get("roam")),e.on("pan",WD(this._onPan,this)),e.on("zoom",WD(this._onZoom,this)));var n=new xn(0,0,t.getWidth(),t.getHeight());e.setPointerChecker(function(t,e,i){return n.contain(e,i)})},_clearController:function(){var t=this._controller;t&&(t.dispose(),t=null)},_onPan:function(t){if("animating"!==this._state&&(Math.abs(t.dx)>jD||Math.abs(t.dy)>jD)){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}})}},_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 a=new xn(r.x,r.y,r.width,r.height),o=this.seriesModel.layoutInfo;e-=o.x,n-=o.y;var s=Me();Ae(s,s,[-e,-n]),ke(s,s,[t.scale,t.scale]),Ae(s,s,[e,n]),a.applyTransform(s),this.api.dispatchAction({type:"treemapRender",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:a.x,y:a.y,width:a.width,height:a.height}})}},_initEvents:function(t){t.on("click",function(t){if("ready"===this._state){var e=this.seriesModel.get("nodeClick",!0);if(e){var n=this.findTarget(t.offsetX,t.offsetY);if(n){var i=n.node;if(i.getLayout().isLeafRoot)this._rootToNode(n);else if("zoomToNode"===e)this._zoomToNode(n);else if("link"===e){var r=i.hostTree.data.getItemModel(i.dataIndex),a=r.get("link",!0),o=r.get("target",!0)||"blank";a&&window.open(a,o)}}}}},this)},_renderBreadcrumb:function(t,e,n){function i(e){"animating"!==this._state&&(zf(t.getViewRoot(),e)?this._rootToNode({node:e}):this._zoomToNode({node:e}))}n||(n=null!=t.get("leafDepth",!0)?{node:t.getViewRoot()}:this.findTarget(e.getWidth()/2,e.getHeight()/2),n||(n={node:t.getData().tree.root})),(this._breadcrumb||(this._breadcrumb=new Ff(this.group))).render(t,e,n.node,WD(i,this))},remove:function(){this._clearController(),this._containerGroup&&this._containerGroup.removeAll(),this._storage=Yf(),this._state="ready",this._breadcrumb&&this._breadcrumb.remove()},dispose:function(){this._clearController()},_zoomToNode:function(t){this.api.dispatchAction({type:"treemapZoomToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:t.node})},_rootToNode:function(t){this.api.dispatchAction({type:"treemapRootToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:t.node})},findTarget:function(t,e){var n,i=this.seriesModel.getViewRoot();return i.eachNode({attr:"viewChildren",order:"preorder"},function(i){var r=this._storage.background[i.getRawIndex()];if(r){var a=r.transformCoordToLocal(t,e),o=r.shape;if(!(o.x<=a[0]&&a[0]<=o.x+o.width&&o.y<=a[1]&&a[1]<=o.y+o.height))return!1;n={node:i,offsetX:a[0],offsetY:a[1]}}},this),n}});for(var nA=function(){},iA=["treemapZoomToNode","treemapRender","treemapMove"],rA=0;rAi&&(a=i,r=n)}for(var r,a=1/0,o=0,s=e.length;s>o;o++){var l=e[o].value;if(null!=l){if(l===t||"string"==typeof l&&l===t+"")return o;n&&i(l,o)}}for(var o=0,s=e.length;s>o;o++){var u=e[o],h=u.interval,c=u.close;if(h){if(h[0]===-1/0){if(ap(c[1],t,h[1]))return o}else if(1/0===h[1]){if(ap(c[0],h[0],t))return o}else if(ap(c[0],h[0],t)&&ap(c[1],t,h[1]))return o;n&&i(h[0],o),n&&i(h[1],o)}}return n?1/0===t?e.length-1:t===-1/0?0:r:void 0};var cA=_,dA="itemStyle",fA={seriesType:"treemap",reset:function(t){var e=t.getData().tree,n=e.root,i=t.getModel(dA);if(!n.isRemoved()){var r=p(e.levelModels,function(t){return t?t.get(dA):null});op(n,{},r,i,t.getViewRoot().getAncestors(),t)}}},pA=Math.max,gA=Math.min,mA=D,vA=f,yA=["itemStyle","borderWidth"],xA=["itemStyle","gapWidth"],_A=["upperLabel","show"],wA=["upperLabel","height"],bA={seriesType:"treemap",reset:function(t,e,n,i){var r=n.getWidth(),a=n.getHeight(),s=t.option,l=Co(t.getBoxLayoutParams(),{width:n.getWidth(),height:n.getHeight()}),u=s.size||[],h=$a(mA(l.width,u[0]),r),c=$a(mA(l.height,u[1]),a),d=i&&i.type,f=["treemapZoomToNode","treemapRootToNode"],p=Of(i,f,t),g="treemapRender"===d||"treemapMove"===d?i.rootRect:null,m=t.getViewRoot(),v=Rf(m);if("treemapMove"!==d){var y="treemapZoomToNode"===d?wp(t,p,m,h,c):g?[g.width,g.height]:[h,c],x=s.sort;x&&"asc"!==x&&"desc"!==x&&(x="desc");var _={squareRatio:s.squareRatio,sort:x,leafDepth:s.leafDepth};m.hostTree.clearLayouts();var w={x:0,y:0,width:y[0],height:y[1],area:y[0]*y[1]};m.setLayout(w),pp(m,_,!1,0);var w=m.getLayout();vA(v,function(t,e){var n=(v[e+1]||m).getValue();t.setLayout(o({dataExtent:[n,n],borderWidth:0,upperHeight:0},w))})}var b=t.getData().tree.root;b.setLayout(bp(l,g,p),!0),t.setLayoutInfo(l),Sp(b,new xn(-l.x,-l.y,r,a),v,m,0)}};au(fA),ru(bA),wI.extend({type:"series.sunburst",_viewRoot:null,getInitialData:function(t){var e={name:t.name,children:t.data};Mp(e);var n=t.levels||[],i={};return i.levels=n,Yd.createTree(e,this,i).data},optionUpdated:function(){this.resetViewRoot()},getDataParams:function(t){var e=wI.prototype.getDataParams.apply(this,arguments),n=this.getData().tree.getNodeByDataIndex(t);return e.treePathInfo=Bf(n,this),e},defaultOption:{zlevel:0,z:2,center:["50%","50%"],radius:[0,"75%"],clockwise:!0,startAngle:90,minAngle:0,percentPrecision:2,stillShowZeroSum:!0,highlightPolicy:"descendant",nodeClick:"rootToNode",renderLabelForZeroData:!1,label:{rotate:"radial",show:!0,opacity:1,align:"center",position:"inside",distance:5,silent:!0,emphasis:{}},itemStyle:{borderWidth:1,borderColor:"white",borderType:"solid",shadowBlur:0,shadowColor:"rgba(0, 0, 0, 0.2)",shadowOffsetX:0,shadowOffsetY:0,opacity:1,emphasis:{},highlight:{opacity:1},downplay:{opacity:.9}},animationType:"expansion",animationDuration:1e3,animationDurationUpdate:500,animationEasing:"cubicOut",data:[],levels:[],sort:"desc"},getViewRoot:function(){return this._viewRoot},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)}});var SA={NONE:"none",DESCENDANT:"descendant",ANCESTOR:"ancestor",SELF:"self"},IA=2,MA=4,TA=Tp.prototype;TA.updateData=function(t,e,n,i,a){this.node=e,e.piece=this,i=i||this._seriesModel,a=a||this._ecModel;var l=this.childAt(0);l.dataIndex=e.dataIndex;var u=e.getModel(),h=e.getLayout(),c=o({},h);c.label=null;var d=Cp(e,i,a);Lp(e,i,d);var f,p=u.getModel("itemStyle").getItemStyle();if("normal"===n)f=p;else{var g=u.getModel(n+".itemStyle").getItemStyle();f=r(g,p)}f=s({lineJoin:"bevel",fill:f.fill||d},f),t?(l.setShape(c),l.shape.r=h.r0,Ea(l,{shape:{r:h.r}},i,e.dataIndex),l.useStyle(f)):"object"==typeof f.fill&&f.fill.type||"object"==typeof l.style.fill&&l.style.fill.type?(Ea(l,{shape:c},i),l.useStyle(f)):Ea(l,{shape:c,style:f},i),this._updateLabel(i,d,n);var m=u.getShallow("cursor");if(m&&l.attr("cursor",m),t){var v=i.getShallow("highlightPolicy");this._initEvents(l,e,i,v)}this._seriesModel=i||this._seriesModel,this._ecModel=a||this._ecModel},TA.onEmphasis=function(t){var e=this;this.node.hostTree.root.eachNode(function(n){n.piece&&(e.node===n?n.piece.updateData(!1,n,"emphasis"):Ap(n,e.node,t)?n.piece.childAt(0).trigger("highlight"):t!==SA.NONE&&n.piece.childAt(0).trigger("downplay"))})},TA.onNormal=function(){this.node.hostTree.root.eachNode(function(t){t.piece&&t.piece.updateData(!1,t,"normal") +})},TA.onHighlight=function(){this.updateData(!1,this.node,"highlight")},TA.onDownplay=function(){this.updateData(!1,this.node,"downplay")},TA._updateLabel=function(t,e,n){function i(t){var e=o.get(t);return null==e?a.get(t):e}var r=this.node.getModel(),a=r.getModel("label"),o="normal"===n||"emphasis"===n?a:r.getModel(n+".label"),s=r.getModel("emphasis.label"),l=D(t.getFormattedLabel(this.node.dataIndex,"normal",null,null,"label"),this.node.name);i("show")===!1&&(l="");var u=this.node.getLayout(),h=o.get("minAngle");null==h&&(h=a.get("minAngle")),h=h/180*Math.PI;var c=u.endAngle-u.startAngle;null!=h&&Math.abs(c)Math.PI/2?"right":"left"):x&&"center"!==x?"left"===x?(f=u.r0+y,p>Math.PI/2&&(x="right")):"right"===x&&(f=u.r-y,p>Math.PI/2&&(x="left")):(f=(u.r+u.r0)/2,x="center"),d.attr("style",{text:l,textAlign:x,textVerticalAlign:i("verticalAlign")||"middle",opacity:i("opacity")});var _=f*g+u.cx,w=f*m+u.cy;d.attr("position",[_,w]);var b=i("rotate"),S=0;"radial"===b?(S=-p,S<-Math.PI/2&&(S+=Math.PI)):"tangential"===b?(S=Math.PI/2-p,S>Math.PI/2?S-=Math.PI:S<-Math.PI/2&&(S+=Math.PI)):"number"==typeof b&&(S=b*Math.PI/180),d.attr("rotation",S)},TA._initEvents=function(t,e,n,i){t.off("mouseover").off("mouseout").off("emphasis").off("normal");var r=this,a=function(){r.onEmphasis(i)},o=function(){r.onNormal()},s=function(){r.onDownplay()},l=function(){r.onHighlight()};n.isAnimationEnabled()&&t.on("mouseover",a).on("mouseout",o).on("emphasis",a).on("normal",o).on("downplay",s).on("highlight",l)},h(Tp,__);var CA="sunburstRootToNode",DA=(Hs.extend({type:"sunburst",init:function(){},render:function(t,e,n,i){function r(t,e){function n(t){return t.getId()}function i(n,i){var r=null==n?null:t[n],o=null==i?null:e[i];a(r,o)}(0!==t.length||0!==e.length)&&new mu(e,t,n,n).add(i).update(i).remove(x(i,null)).execute()}function a(n,i){if(f||!n||n.getValue()||(n=null),n!==h&&i!==h)if(i&&i.piece)n?(i.piece.updateData(!1,n,"normal",t,e),u.setItemGraphicEl(n.dataIndex,i.piece)):o(i);else if(n){var r=new Tp(n,t,e);d.add(r),u.setItemGraphicEl(n.dataIndex,r)}}function o(t){t&&t.piece&&(d.remove(t.piece),t.piece=null)}function s(n,i){if(i.depth>0){l.virtualPiece?l.virtualPiece.updateData(!1,n,"normal",t,e):(l.virtualPiece=new Tp(n,t,e),d.add(l.virtualPiece)),i.piece._onclickEvent&&i.piece.off("click",i.piece._onclickEvent);var r=function(){l._rootToNode(i.parentNode)};i.piece._onclickEvent=r,l.virtualPiece.on("click",r)}else l.virtualPiece&&(d.remove(l.virtualPiece),l.virtualPiece=null)}var l=this;this.seriesModel=t,this.api=n,this.ecModel=e;var u=t.getData(),h=u.tree.root,c=t.getViewRoot(),d=this.group,f=t.get("renderLabelForZeroData"),p=[];c.eachNode(function(t){p.push(t)});var g=this._oldChildren||[];if(r(p,g),s(h,c),i&&i.highlight&&i.highlight.piece){var m=t.getShallow("highlightPolicy");i.highlight.piece.onEmphasis(m)}else if(i&&i.unhighlight){var v=this.virtualPiece;!v&&h.children.length&&(v=h.children[0].piece),v&&v.onNormal()}this._initEvents(),this._oldChildren=p},dispose:function(){},_initEvents:function(){var t=this,e=function(e){var n=!1,i=t.seriesModel.getViewRoot();i.eachNode(function(i){if(!n&&i.piece&&i.piece.childAt(0)===e.target){var r=i.getModel().get("nodeClick");if("rootToNode"===r)t._rootToNode(i);else if("link"===r){var a=i.getModel(),o=a.get("link");if(o){var s=a.get("target",!0)||"_blank";window.open(o,s)}}n=!0}})};this.group._onclickEvent&&this.group.off("click",this.group._onclickEvent),this.group.on("click",e),this.group._onclickEvent=e},_rootToNode:function(t){t!==this.seriesModel.getViewRoot()&&this.api.dispatchAction({type:CA,from:this.uid,seriesId:this.seriesModel.id,targetNode:t})},containPoint:function(t,e){var n=e.getData(),i=n.getItemLayout(0);if(i){var r=t[0]-i.cx,a=t[1]-i.cy,o=Math.sqrt(r*r+a*a);return o<=i.r&&o>=i.r0}}}),"sunburstRootToNode");eu({type:DA,update:"updateView"},function(t,e){function n(e){var n=Of(t,[DA],e);if(n){var i=e.getViewRoot();i&&(t.direction=zf(i,n.node)?"rollUp":"drillDown"),e.resetViewRoot(n.node)}}e.eachComponent({mainType:"series",subType:"sunburst",query:t},n)});var AA="sunburstHighlight";eu({type:AA,update:"updateView"},function(t,e){function n(e){var n=Of(t,[AA],e);n&&(t.highlight=n.node)}e.eachComponent({mainType:"series",subType:"sunburst",query:t},n)});var LA="sunburstUnhighlight";eu({type:LA,update:"updateView"},function(t,e){function n(){t.unhighlight=!0}e.eachComponent({mainType:"series",subType:"sunburst",query:t},n)});var kA=Math.PI/180,PA=function(t,e,n){e.eachSeriesByType(t,function(t){var e=t.get("center"),i=t.get("radius");_(i)||(i=[0,i]),_(e)||(e=[e,e]);var r=n.getWidth(),a=n.getHeight(),o=Math.min(r,a),s=$a(e[0],r),l=$a(e[1],a),u=$a(i[0],o/2),h=$a(i[1],o/2),c=-t.get("startAngle")*kA,d=t.get("minAngle")*kA,p=t.getData().tree.root,g=t.getViewRoot(),m=g.depth,v=t.get("sort");null!=v&&kp(g,v);var y=0;f(g.children,function(t){!isNaN(t.getValue())&&y++});var x=g.getValue(),w=Math.PI/(x||y)*2,b=g.depth>0,S=g.height-(b?-1:1),I=(h-u)/(S||1),M=t.get("clockwise"),T=t.get("stillShowZeroSum"),C=M?1:-1,D=function(t,e){if(t){var n=e;if(t!==p){var i=t.getValue(),r=0===x&&T?w:i*w;d>r&&(r=d),n=e+C*r;var a=t.depth-m-(b?-1:1),h=u+I*a,c=u+I*(a+1),g=t.getModel();null!=g.get("r0")&&(h=$a(g.get("r0"),o/2)),null!=g.get("r")&&(c=$a(g.get("r"),o/2)),t.setLayout({angle:r,startAngle:e,endAngle:n,clockwise:M,cx:s,cy:l,r0:h,r:c})}if(t.children&&t.children.length){var v=0;f(t.children,function(t){v+=D(t,e+v)})}return n-e}};if(b){var A=u,L=u+I,k=2*Math.PI;p.setLayout({angle:k,startAngle:c,endAngle:c+k,clockwise:M,cx:s,cy:l,r0:A,r:L})}D(g,c)})};au(x(QC,"sunburst")),ru(x(PA,"sunburst")),Ql(x(rD,"sunburst"));for(var NA=[126,25],EA=[[[0,3.5],[7,11.2],[15,11.9],[30,7],[42,.7],[52,.7],[56,7.7],[59,.7],[64,.7],[64,0],[5,0],[0,3.5]],[[13,16.1],[19,14.7],[16,21.7],[11,23.1],[13,16.1]],[[12,32.2],[14,38.5],[15,38.5],[13,32.2],[12,32.2]],[[16,47.6],[12,53.2],[13,53.2],[18,47.6],[16,47.6]],[[6,64.4],[8,70],[9,70],[8,64.4],[6,64.4]],[[23,82.6],[29,79.8],[30,79.8],[25,82.6],[23,82.6]],[[37,70.7],[43,62.3],[44,62.3],[39,70.7],[37,70.7]],[[48,51.1],[51,45.5],[53,45.5],[50,51.1],[48,51.1]],[[51,35],[51,28.7],[53,28.7],[53,35],[51,35]],[[52,22.4],[55,17.5],[56,17.5],[53,22.4],[52,22.4]],[[58,12.6],[62,7],[63,7],[60,12.6],[58,12.6]],[[0,3.5],[0,93.1],[64,93.1],[64,0],[63,0],[63,92.4],[1,92.4],[1,3.5],[0,3.5]]],OA=0;OAa;a++){var s=t.getName(a);n.set(s,!0),i.push({name:s,value:t.get(e,a),selected:Ls(t,a,"selected")})}var l=qA.load(this.getMapType(),this.option.nameMap);return f(l.regions,function(t){var e=t.name;n.get(e)||(i.push({name:e}),r.push(e))}),this.updateSelectedMap(i),t.appendValues([],r),t},getHostGeoModel:function(){var t=this.option.geoIndex;return null!=t?this.dependentModels.geo[t]:null},getMapType:function(){return(this.getHostGeoModel()||this).option.map},getRawValue:function(t){var e=this.getData();return e.get(e.mapDimension("value"),t)},getRegionModel:function(t){var e=this.getData();return e.getItemModel(e.indexOfName(t))},formatTooltip:function(t){for(var e=this.getData(),n=po(this.getRawValue(t)),i=e.getName(t),r=this.seriesGroup,a=[],o=0;o"+mo(i+" : "+n)},getTooltipPosition:function(t){if(null!=t){var e=this.getData().getName(t),n=this.coordinateSystem,i=n.getRegion(e);return i&&n.dataToPoint(i.center)}},setZoom:function(t){this.option.zoom=t},setCenter:function(t){this.option.center=t},defaultOption:{zlevel:0,z:2,coordinateSystem:"geo",map:"",left:"center",top:"center",aspectScale:.75,showLegendSymbol:!0,dataRangeHoverLink:!0,boundingCoords:null,center:null,zoom:1,scaleLimit:null,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)"}}}});c(KA,qC),Gp.prototype={constructor:Gp,draw:function(t,e,n,i,r){var a="geo"===t.mainType,o=t.getData&&t.getData();a&&e.eachComponent({mainType:"series",subType:"map"},function(e){o||e.getHostGeoModel()!==t||(o=e.getData())});var s=t.coordinateSystem;this._updateBackground(s);var l=this._regionsGroup,u=this.group,h=s.scale,c={position:s.position,scale:h};!l.childAt(0)||r?u.attr(c):Ea(u,c,t),l.removeAll();var d=["itemStyle"],p=["emphasis","itemStyle"],g=["label"],m=["emphasis","label"],v=B();f(s.regions,function(e){var n=v.get(e.name)||v.set(e.name,new __),i=new Kb({shape:{paths:[]}});n.add(i);var r,s=t.getRegionModel(e.name)||t,u=s.getModel(d),c=s.getModel(p),y=zp(u,h),x=zp(c,h),_=s.getModel(g),w=s.getModel(m);if(o){r=o.indexOfName(e.name);var b=o.getItemVisual(r,"color",!0);b&&(y.fill=b)}f(e.geometries,function(t){if("polygon"===t.type){i.shape.paths.push(new Gb({shape:{points:t.exterior}}));for(var e=0;e<(t.interiors?t.interiors.length:0);e++)i.shape.paths.push(new Gb({shape:{points:t.interiors[e]}}))}}),i.setStyle(y),i.style.strokeNoScale=!0,i.culling=!0;var S=_.get("show"),I=w.get("show"),M=o&&isNaN(o.get(o.mapDimension("value"),r)),T=o&&o.getItemLayout(r);if(a||M&&(S||I)||T&&T.showLabel){var C,D=a?e.name:r;(!o||r>=0)&&(C=t);var A=new Pb({position:e.center.slice(),scale:[1/h[0],1/h[1]],z2:10,silent:!0});Sa(A.style,A.hoverStyle={},_,w,{labelFetcher:C,labelDataIndex:D,defaultText:e.name,useInsideStyle:!1},{textAlign:"center",textVerticalAlign:"middle"}),n.add(A)}if(o)o.setItemGraphicEl(r,n);else{var s=t.getRegionModel(e.name);i.eventData={componentType:"geo",componentIndex:t.componentIndex,geoIndex:t.componentIndex,name:e.name,region:s&&s.option||{}}}var L=n.__regions||(n.__regions=[]);L.push(e),wa(n,x,{hoverSilentOnTouch:!!t.get("selectedMode")}),l.add(n)}),this._updateController(t,e,n),Bp(this,t,l,n,i),Vp(t,l)},remove:function(){this._regionsGroup.removeAll(),this._backgroundGroup.removeAll(),this._controller.dispose(),this._mapName&&qA.removeGraphic(this._mapName,this.uid),this._mapName=null,this._controllerHost={}},_updateBackground:function(t){var e=t.map;this._mapName!==e&&f(qA.makeGraphic(e,this.uid),function(t){this._backgroundGroup.add(t)},this),this._mapName=e},_updateController:function(t,e,n){function i(){var e={type:"geoRoam",componentType:l};return e[l+"Id"]=t.id,e}var r=t.coordinateSystem,a=this._controller,s=this._controllerHost;s.zoomLimit=t.get("scaleLimit"),s.zoom=r.getZoom(),a.enable(t.get("roam")||!1);var l=t.mainType;a.off("pan").on("pan",function(t){this._mouseDownFlag=!1,hf(s,t.dx,t.dy),n.dispatchAction(o(i(),{dx:t.dx,dy:t.dy}))},this),a.off("zoom").on("zoom",function(t){if(this._mouseDownFlag=!1,cf(s,t.scale,t.originX,t.originY),n.dispatchAction(o(i(),{zoom:t.scale,originX:t.originX,originY:t.originY})),this._updateGroup){var e=this.group.scale;this._regionsGroup.traverse(function(t){"text"===t.type&&t.attr("scale",[1/e[0],1/e[1]])})}},this),a.setPointerChecker(function(e,i,a){return r.getViewRectAfterRoam().contain(i,a)&&!Mf(e,n,t)})}};var $A="__seriesMapHighDown",JA="__seriesMapCallKey";cu({type:"map",render:function(t,e,n,i){if(!i||"mapToggleSelect"!==i.type||i.from!==this.uid){var r=this.group;if(r.removeAll(),!t.getHostGeoModel()){if(i&&"geoRoam"===i.type&&"series"===i.componentType&&i.seriesId===t.id){var a=this._mapDraw;a&&r.add(a.group)}else if(t.needsDrawMap){var a=this._mapDraw||new Gp(n,!0);r.add(a.group),a.draw(t,e,n,this,i),this._mapDraw=a}else this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null;t.get("showLegendSymbol")&&e.getComponent("legend")&&this._renderSymbols(t,e,n)}}},remove:function(){this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null,this.group.removeAll()},dispose:function(){this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null},_renderSymbols:function(t){var e=t.originalData,n=this.group;e.each(e.mapDimension("value"),function(i,r){if(!isNaN(i)){var a=e.getItemLayout(r);if(a&&a.point){var s=a.point,l=a.offset,u=new Nb({style:{fill:t.getData().getVisual("color")},shape:{cx:s[0]+9*l,cy:s[1],r:3},silent:!0,z2:8+(l?0:aS+1)});if(!l){var h=t.mainSeries.getData(),c=e.getName(r),d=h.indexOfName(c),f=e.getItemModel(r),p=f.getModel("label"),g=f.getModel("emphasis.label"),m=h.getItemGraphicEl(d),v=A(t.getFormattedLabel(d,"normal"),c),y=A(t.getFormattedLabel(d,"emphasis"),v),_=m[$A],w=Math.random();if(!_){_=m[$A]={};var b=x(Fp,!0),S=x(Fp,!1);m.on("mouseover",b).on("mouseout",S).on("emphasis",b).on("normal",S)}m[JA]=w,o(_,{recordVersion:w,circle:u,labelModel:p,hoverLabelModel:g,emphasisText:y,normalText:v}),Wp(_,!1)}n.add(u)}}})}}),eu({type:"geoRoam",event:"geoRoam",update:"updateTransform"},function(t,e){var n=t.componentType||"series";e.eachComponent({mainType:n,query:t},function(e){var i=e.coordinateSystem;if("geo"===i.type){var r=kf(i,t,e.get("scaleLimit"));e.setCenter&&e.setCenter(r.center),e.setZoom&&e.setZoom(r.zoom),"series"===n&&f(e.seriesGroup,function(t){t.setCenter(r.center),t.setZoom(r.zoom)})}})}),Hp.prototype={constructor:Hp,type:"geo",dimensions:["lng","lat"],containCoord:function(t){for(var e=this.regions,n=0;nr;r++)e[r]=e[r]||[],e[r][0]=this._flatCoords[n+2*r],e[r][1]=this._flatCoords[n+2*r+1];return i}for(var a=this._getCoordsFromItemModel(t),r=0;rl;){s++;var u=t[l++];i[o++]=a+e,i[o++]=u;for(var h=0;u>h;h++){var c=t[l++],d=t[l++];r[a++]=c,r[a++]=d}}return{flatCoordsOffset:new Uint32Array(i.buffer,0,o),flatCoords:r,count:s}}return{flatCoordsOffset:null,flatCoords:null,count:t.length}},getInitialData:function(t){var e=new tT(["value"],this);return e.hasItemOption=!1,e.initData(t.data,[],function(t,n,i,r){if(t instanceof Array)return 0/0;e.hasItemOption=!0;var a=t.value;return null!=a?a instanceof Array?a[r]:a:void 0}),e},formatTooltip:function(t){var e=this.getData(),n=e.getItemModel(t),i=n.get("name");if(i)return i;var r=n.get("fromName"),a=n.get("toName"),o=[];return null!=r&&o.push(r),null!=a&&o.push(a),mo(o.join(" > "))},preventIncremental:function(){return!!this.get("effect.show")},getProgressive:function(){var t=this.option.progressive;return null==t?this.option.large?1e4:this.get("progressive"):t},getProgressiveThreshold:function(){var t=this.option.progressiveThreshold;return null==t?this.option.large?2e4:this.get("progressiveThreshold"):t},defaultOption:{coordinateSystem:"geo",zlevel:0,z:2,legendHoverLink:!0,hoverAnimation:!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,label:{show:!1,position:"end"},lineStyle:{opacity:.5}}}),sL=jb.prototype,lL=Ub.prototype,uL=Qr({type:"ec-line",style:{stroke:"#000",fill:null},shape:{x1:0,y1:0,x2:0,y2:0,percent:1,cpx1:null,cpy1:null},buildPath:function(t,e){(qp(e)?sL:lL).buildPath(t,e)},pointAt:function(t){return qp(this.shape)?sL.pointAt.call(this,t):lL.pointAt.call(this,t)},tangentAt:function(t){var e=this.shape,n=qp(e)?[e.x2-e.x1,e.y2-e.y1]:lL.tangentAt.call(this,t);return te(n,n)}}),hL=["fromSymbol","toSymbol"],cL=eg.prototype;cL.beforeUpdate=tg,cL._createLine=function(t,e,n){var i=t.hostModel,r=t.getItemLayout(e),a=Jp(r);a.shape.percent=0,Oa(a,{shape:{percent:1}},i,e),this.add(a);var o=new Pb({name:"label",lineLabelOriginalOpacity:1});this.add(o),f(hL,function(n){var i=$p(n,t,e);this.add(i),this[Kp(n)]=t.getItemVisual(e,n)},this),this._updateCommonStl(t,e,n)},cL.updateData=function(t,e,n){var i=t.hostModel,r=this.childOfName("line"),a=t.getItemLayout(e),o={shape:{}};Qp(o.shape,a),Ea(r,o,i,e),f(hL,function(n){var i=t.getItemVisual(e,n),r=Kp(n);if(this[r]!==i){this.remove(this.childOfName(n));var a=$p(n,t,e);this.add(a)}this[r]=i},this),this._updateCommonStl(t,e,n)},cL._updateCommonStl=function(t,e,n){var i=t.hostModel,r=this.childOfName("line"),a=n&&n.lineStyle,o=n&&n.hoverLineStyle,l=n&&n.labelModel,u=n&&n.hoverLabelModel;if(!n||t.hasItemOption){var h=t.getItemModel(e);a=h.getModel("lineStyle").getLineStyle(),o=h.getModel("emphasis.lineStyle").getLineStyle(),l=h.getModel("label"),u=h.getModel("emphasis.label")}var c=t.getItemVisual(e,"color"),d=L(t.getItemVisual(e,"opacity"),a.opacity,1);r.useStyle(s({strokeNoScale:!0,fill:"none",stroke:c,opacity:d},a)),r.hoverStyle=o,f(hL,function(t){var e=this.childOfName(t);e&&(e.setColor(c),e.setStyle({opacity:d}))},this);var p,g,m=l.getShallow("show"),v=u.getShallow("show"),y=this.childOfName("label");if((m||v)&&(p=c||"#000",g=i.getFormattedLabel(e,"normal",t.dataType),null==g)){var x=i.getRawValue(e);g=null==x?t.getName(e):isFinite(x)?Ja(x):x}var _=m?g:null,w=v?A(i.getFormattedLabel(e,"emphasis",t.dataType),g):null,b=y.style;(null!=_||null!=w)&&(Ia(y.style,l,{text:_},{autoColor:p}),y.__textAlign=b.textAlign,y.__verticalAlign=b.textVerticalAlign,y.__position=l.get("position")||"middle"),y.hoverStyle=null!=w?{text:w,textFill:u.getTextColor(!0),fontStyle:u.getShallow("fontStyle"),fontWeight:u.getShallow("fontWeight"),fontSize:u.getShallow("fontSize"),fontFamily:u.getShallow("fontFamily")}:{text:null},y.ignore=!m&&!v,wa(this)},cL.highlight=function(){this.trigger("emphasis")},cL.downplay=function(){this.trigger("normal")},cL.updateLayout=function(t,e){this.setLinePoints(t.getItemLayout(e))},cL.setLinePoints=function(t){var e=this.childOfName("line");Qp(e.shape,t),e.dirty()},h(eg,__);var dL=ng.prototype;dL.isPersistent=function(){return!0},dL.updateData=function(t){var e=this,n=e.group,i=e._lineData;e._lineData=t,i||n.removeAll();var r=ag(t);t.diff(i).add(function(n){ig(e,t,n,r)}).update(function(n,a){rg(e,i,t,a,n,r)}).remove(function(t){n.remove(i.getItemGraphicEl(t))}).execute()},dL.updateLayout=function(){var t=this._lineData;t&&t.eachItemGraphicEl(function(e,n){e.updateLayout(t,n)},this)},dL.incrementalPrepareUpdate=function(t){this._seriesScope=ag(t),this._lineData=null,this.group.removeAll()},dL.incrementalUpdate=function(t,e){function n(t){t.isGroup||(t.incremental=t.useHoverLayer=!0)}for(var i=t.start;i0&&(o=this.getLineLength(i)/l*1e3),o!==this._period||s!==this._loop){i.stopAnimation();var c=u;h&&(c=u(n)),i.__t>0&&(c=-o*i.__t),i.__t=0;var d=i.animate("",s).when(o,{__t:1}).delay(c).during(function(){r.updateSymbolPosition(i)});s||d.done(function(){r.remove(i)}),d.start()}this._period=o,this._loop=s}},fL.getLineLength=function(t){return Dx(t.__p1,t.__cp1)+Dx(t.__cp1,t.__p2)},fL.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]},fL.updateData=function(t,e,n){this.childAt(0).updateData(t,e,n),this._updateEffectSymbol(t,e)},fL.updateSymbolPosition=function(t){var e=t.__p1,n=t.__p2,i=t.__cp1,r=t.__t,a=t.position,o=pr,s=gr;a[0]=o(e[0],i[0],n[0],r),a[1]=o(e[1],i[1],n[1],r);var l=s(e[0],i[0],n[0],r),u=s(e[1],i[1],n[1],r);t.rotation=-Math.atan2(u,l)-Math.PI/2,t.ignore=!1},fL.updateLayout=function(t,e){this.childAt(0).updateLayout(t,e);var n=t.getItemModel(e).getModel("effect");this._updateEffectAnimation(t,n,e)},h(lg,__);var pL=ug.prototype;pL._createPolyline=function(t,e,n){var i=t.getItemLayout(e),r=new Fb({shape:{points:i}});this.add(r),this._updateCommonStl(t,e,n)},pL.updateData=function(t,e,n){var i=t.hostModel,r=this.childAt(0),a={shape:{points:t.getItemLayout(e)}};Ea(r,a,i,e),this._updateCommonStl(t,e,n)},pL._updateCommonStl=function(t,e,n){var i=this.childAt(0),r=t.getItemModel(e),a=t.getItemVisual(e,"color"),o=n&&n.lineStyle,l=n&&n.hoverLineStyle;(!n||t.hasItemOption)&&(o=r.getModel("lineStyle").getLineStyle(),l=r.getModel("emphasis.lineStyle").getLineStyle()),i.useStyle(s({strokeNoScale:!0,fill:"none",stroke:a},o)),i.hoverStyle=l,wa(this)},pL.updateLayout=function(t,e){var n=this.childAt(0);n.setShape("points",t.getItemLayout(e))},h(ug,__);var gL=hg.prototype;gL.createLine=function(t,e,n){return new ug(t,e,n)},gL.updateAnimationPoints=function(t,e){this._points=e;for(var n=[0],i=0,r=1;r=0&&!(i[a]<=e);a--);a=Math.min(a,r-2)}else{for(var a=o;r>a&&!(i[a]>e);a++);a=Math.min(a-1,r-2)}re(t.position,n[a],n[a+1],(e-i[a])/(i[a+1]-i[a]));var l=n[a+1][0]-n[a][0],u=n[a+1][1]-n[a][1];t.rotation=-Math.atan2(u,l)-Math.PI/2,this._lastFrame=a,this._lastFramePercent=e,t.ignore=!1}},h(hg,lg);var mL=Qr({shape:{polyline:!1,curveness:0,segs:[]},buildPath:function(t,e){var n=e.segs,i=e.curveness;if(e.polyline)for(var r=0;r0){t.moveTo(n[r++],n[r++]);for(var o=1;a>o;o++)t.lineTo(n[r++],n[r++])}}else for(var r=0;r0){var c=(s+u)/2-(l-h)*i,d=(l+h)/2-(u-s)*i;t.quadraticCurveTo(c,d,u,h)}else t.lineTo(u,h)}},findDataIndex:function(){var t=this.shape,e=t.segs,n=t.curveness;if(t.polyline)for(var i=0,r=0;r0)for(var o=e[r++],s=e[r++],l=1;a>l;l++){var u=e[r++],h=e[r++];if(Mr(o,s,u,h))return i}i++}else for(var i=0,r=0;r0){var c=(o+u)/2-(s-h)*n,d=(s+h)/2-(u-o)*n;if(Cr(o,s,c,d,u,h))return i}else if(Mr(o,s,u,h))return i;i++}return-1}}),vL=cg.prototype;vL.isPersistent=function(){return!this._incremental},vL.updateData=function(t){this.group.removeAll();var e=new mL({rectHover:!0,cursor:"default"});e.setShape({segs:t.getLayout("linesPoints")}),this._setCommon(e,t),this.group.add(e),this._incremental=null},vL.incrementalPrepareUpdate=function(t){this.group.removeAll(),this._clearIncremental(),t.count()>5e5?(this._incremental||(this._incremental=new Jr({silent:!0})),this.group.add(this._incremental)):this._incremental=null},vL.incrementalUpdate=function(t,e){var n=new mL;n.setShape({segs:e.getLayout("linesPoints")}),this._setCommon(n,e,!!this._incremental),this._incremental?this._incremental.addDisplayable(n,!0):(n.rectHover=!0,n.cursor="default",n.__startIndex=t.start,this.group.add(n))},vL.remove=function(){this._clearIncremental(),this._incremental=null,this.group.removeAll()},vL._setCommon=function(t,e,n){var i=e.hostModel;t.setShape({polyline:i.get("polyline"),curveness:i.get("lineStyle.curveness")}),t.useStyle(i.getModel("lineStyle").getLineStyle()),t.style.strokeNoScale=!0;var r=e.getVisual("color");r&&t.setStyle("stroke",r),t.setStyle("fill"),n||(t.seriesIndex=i.seriesIndex,t.on("mousemove",function(e){t.dataIndex=null;var n=t.findDataIndex(e.offsetX,e.offsetY);n>0&&(t.dataIndex=n+t.__startIndex)}))},vL._clearIncremental=function(){var t=this._incremental;t&&t.clearDisplaybles()};var yL={seriesType:"lines",plan:II(),reset:function(t){function e(e,a){var o=[];if(r){var s,l=e.end-e.start;if(i){for(var u=0,h=e.start;hp;p++)d=n.dataToPoint(o[p],!1,d),s[c++]=d[0],s[c++]=d[1]}a.setLayout("linesPoints",s)}else for(var h=e.start;hv;v++)m.push(n.dataToPoint(o[v]));else{m[0]=n.dataToPoint(o[0]),m[1]=n.dataToPoint(o[1]);var y=g.get("lineStyle.curveness");+y&&(m[2]=[(m[0][0]+m[1][0])/2-(m[0][1]-m[1][1])*y,(m[0][1]+m[1][1])/2-(m[1][0]-m[0][0])*y])}a.setItemLayout(h,m)}}var n=t.coordinateSystem,i=t.get("polyline"),r=t.pipelineContext.large;return{progress:e}}};cu({type:"lines",init:function(){},render:function(t,e,n){var i=t.getData(),r=this._updateLineDraw(i,t),a=t.get("zlevel"),o=t.get("effect.trailLength"),s=n.getZr(),l="svg"===s.painter.getType();l||s.painter.getLayer(a).clear(!0),null==this._lastZlevel||l||s.configLayer(this._lastZlevel,{motionBlur:!1}),this._showEffect(t)&&o&&(l||s.configLayer(a,{motionBlur:!0,lastFrameAlpha:Math.max(Math.min(o/10+.9,1),0)})),r.updateData(i),this._lastZlevel=a,this._finished=!0},incrementalPrepareRender:function(t,e,n){var i=t.getData(),r=this._updateLineDraw(i,t);r.incrementalPrepareUpdate(i),this._clearLayer(n),this._finished=!1},incrementalRender:function(t,e){this._lineDraw.incrementalUpdate(t,e.getData()),this._finished=t.end===e.getData().count()},updateTransform:function(t,e,n){var i=t.getData(),r=t.pipelineContext;if(!this._finished||r.large||r.progressiveRender)return{update:!0};var a=yL.reset(t);a.progress&&a.progress({start:0,end:i.count()},i),this._lineDraw.updateLayout(),this._clearLayer(n)},_updateLineDraw:function(t,e){var n=this._lineDraw,i=this._showEffect(e),r=!!e.get("polyline"),a=e.pipelineContext,o=a.large;return n&&i===this._hasEffet&&r===this._isPolyline&&o===this._isLargeDraw||(n&&n.remove(),n=this._lineDraw=o?new cg:new ng(r?i?hg:ug:i?lg:eg),this._hasEffet=i,this._isPolyline=r,this._isLargeDraw=o,this.group.removeAll()),this.group.add(n.group),n},_showEffect:function(t){return!!t.get("effect.show")},_clearLayer:function(t){var e=t.getZr(),n="svg"===e.painter.getType();n||null==this._lastZlevel||e.painter.getLayer(this._lastZlevel).clear(!0)},remove:function(t,e){this._lineDraw&&this._lineDraw.remove(),this._lineDraw=null,this._clearLayer(e)},dispose:function(){}});var xL="lineStyle.opacity".split("."),_L={seriesType:"lines",reset:function(t){function e(t,e){var n=t.getItemModel(e),i=dg(n.getShallow("symbol",!0)),r=dg(n.getShallow("symbolSize",!0)),a=n.get(xL);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]),t.setItemVisual(e,"opacity",a)}var n=dg(t.get("symbol")),i=dg(t.get("symbolSize")),r=t.getData();return r.setVisual("fromSymbol",n&&n[0]),r.setVisual("toSymbol",n&&n[1]),r.setVisual("fromSymbolSize",i&&i[0]),r.setVisual("toSymbolSize",i&&i[1]),r.setVisual("opacity",t.get(xL)),{dataEach:r.hasItemOption?e:null}}};ru(yL),au(_L);var wL=function(t){this._directed=t||!1,this.nodes=[],this.edges=[],this._nodesMap={},this._edgesMap={},this.data,this.edgeData},bL=wL.prototype;bL.type="graph",bL.isDirected=function(){return this._directed},bL.addNode=function(t,e){t=t||""+e;var n=this._nodesMap;if(!n[fg(t)]){var i=new pg(t,e);return i.hostGraph=this,this.nodes.push(i),n[fg(t)]=i,i}},bL.getNodeByIndex=function(t){var e=this.data.getRawIndex(t);return this.nodes[e]},bL.getNodeById=function(t){return this._nodesMap[fg(t)]},bL.addEdge=function(t,e,n){var i=this._nodesMap,r=this._edgesMap;if("number"==typeof t&&(t=this.nodes[t]),"number"==typeof e&&(e=this.nodes[e]),pg.isInstance(t)||(t=i[fg(t)]),pg.isInstance(e)||(e=i[fg(e)]),t&&e){var a=t.id+"-"+e.id;if(!r[a]){var o=new gg(t,e,n);return o.hostGraph=this,this._directed&&(t.outEdges.push(o),e.inEdges.push(o)),t.edges.push(o),t!==e&&e.edges.push(o),this.edges.push(o),r[a]=o,o}}},bL.getEdgeByIndex=function(t){var e=this.edgeData.getRawIndex(t);return this.edges[e]},bL.getEdge=function(t,e){pg.isInstance(t)&&(t=t.id),pg.isInstance(e)&&(e=e.id);var n=this._edgesMap;return this._directed?n[t+"-"+e]:n[t+"-"+e]||n[e+"-"+t]},bL.eachNode=function(t,e){for(var n=this.nodes,i=n.length,r=0;i>r;r++)n[r].dataIndex>=0&&t.call(e,n[r],r)},bL.eachEdge=function(t,e){for(var n=this.edges,i=n.length,r=0;i>r;r++)n[r].dataIndex>=0&&n[r].node1.dataIndex>=0&&n[r].node2.dataIndex>=0&&t.call(e,n[r],r)},bL.breadthFirstTraverse=function(t,e,n,i){if(pg.isInstance(e)||(e=this._nodesMap[fg(e)]),e){for(var r="out"===n?"outEdges":"in"===n?"inEdges":"edges",a=0;ar;r++)n[r].dataIndex=-1;for(var r=0,a=t.count();a>r;r++)n[t.getRawIndex(r)].dataIndex=r;e.filterSelf(function(t){var n=i[e.getRawIndex(t)];return n.node1.dataIndex>=0&&n.node2.dataIndex>=0});for(var r=0,a=i.length;a>r;r++)i[r].dataIndex=-1;for(var r=0,a=e.count();a>r;r++)i[e.getRawIndex(r)].dataIndex=r},bL.clone=function(){for(var t=new wL(this._directed),e=this.nodes,n=this.edges,i=0;i=0&&this[t][e].setItemVisual(this.dataIndex,n,i)},getVisual:function(n,i){return this[t][e].getItemVisual(this.dataIndex,n,i)},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)}}};c(pg,SL("hostGraph","data")),c(gg,SL("hostGraph","edgeData")),wL.Node=pg,wL.Edge=gg,nr(pg),nr(gg);var IL=function(t,e,n,i,r){for(var a=new wL(i),o=0;o "+f)),h++)}var p,g=n.get("coordinateSystem");if("cartesian2d"===g||"polar"===g)p=Gu(t,n);else{var m=is.get(g),v=m&&"view"!==m.type?m.dimensions||[]:[];u(v,"value")<0&&v.concat(["value"]);var y=iT(t,{coordDimensions:v});p=new tT(y,n),p.initData(t)}var x=new tT(["value"],n);return x.initData(l,s),r&&r(p,x),zd({mainData:p,struct:a,structAttr:"graph",datas:{node:p,edge:x},datasAttr:{node:"data",edge:"edgeData"}}),a.update(),a},ML=hu({type:"series.graph",init:function(t){ML.superApply(this,"init",arguments),this.legendDataProvider=function(){return this._categoriesData},this.fillDataTextStyle(t.edges||t.links),this._updateCategoriesData()},mergeOption:function(t){ML.superApply(this,"mergeOption",arguments),this.fillDataTextStyle(t.edges||t.links),this._updateCategoriesData()},mergeDefaultAndTheme:function(t){ML.superApply(this,"mergeDefaultAndTheme",arguments),Bi(t,["edgeLabel"],["show"])},getInitialData:function(t,e){function n(t,n){function i(t){return t=this.parsePath(t),t&&"label"===t[0]?o:t&&"emphasis"===t[0]&&"label"===t[1]?l:this.parentModel}t.wrapMethod("getItemModel",function(t){var e=a._categoriesModels,n=t.getShallow("category"),i=e[n];return i&&(i.parentModel=t.parentModel,t.parentModel=i),t});var r=a.getModel("edgeLabel"),o=new Ha({label:r.option},r.parentModel,e),s=a.getModel("emphasis.edgeLabel"),l=new Ha({emphasis:{label:s.option}},s.parentModel,e);n.wrapMethod("getItemModel",function(t){return t.customizeGetParent(i),t})}var i=t.edges||t.links||[],r=t.data||t.nodes||[],a=this;return r&&i?IL(r,i,this,!0,n).data:void 0},getGraph:function(){return this.getData().graph},getEdgeData:function(){return this.getGraph().edgeData},getCategoriesData:function(){return this._categoriesData},formatTooltip:function(t,e,n){if("edge"===n){var i=this.getData(),r=this.getDataParams(t,n),a=i.graph.getEdgeByIndex(t),o=i.getName(a.node1.dataIndex),s=i.getName(a.node2.dataIndex),l=[];return null!=o&&l.push(o),null!=s&&l.push(s),l=mo(l.join(" > ")),r.value&&(l+=" : "+mo(r.value)),l}return ML.superApply(this,"formatTooltip",arguments)},_updateCategoriesData:function(){var t=p(this.option.categories||[],function(t){return null!=t.value?t:o({value:0},t)}),e=new tT(["value"],this);e.initData(t),this._categoriesData=e,this._categoriesModels=e.mapArray(function(t){return e.getItemModel(t,!0)})},setZoom:function(t){this.option.zoom=t},setCenter:function(t){this.option.center=t},isAnimationEnabled:function(){return ML.superCall(this,"isAnimationEnabled")&&!("force"===this.get("layout")&&this.get("force.layoutAnimation"))},defaultOption:{zlevel:0,z:2,coordinateSystem:"view",legendHoverLink:!0,hoverAnimation:!0,layout:null,focusNodeAdjacency:!1,circular:{rotateLabel:!1},force:{initLayout:null,repulsion:[0,50],gravity:.1,edgeLength:30,layoutAnimation:!0},left:"center",top:"center",symbol:"circle",symbolSize:10,edgeSymbol:["none","none"],edgeSymbolSize:10,edgeLabel:{position:"middle"},draggable:!1,roam:!1,center:null,zoom:1,nodeScaleRatio:.6,label:{show:!1,formatter:"{b}"},itemStyle:{},lineStyle:{color:"#aaa",width:1,curveness:0,opacity:.5},emphasis:{label:{show:!0}}}}),TL=[],CL=[],DL=[],AL=pr,LL=Ax,kL=Math.abs,PL=function(t,e){function n(t){var e=t.getVisual("symbolSize");return e instanceof Array&&(e=(e[0]+e[1])/2),e}var i=[],r=yr,a=[[],[],[]],o=[[],[]],s=[];e/=2,t.eachEdge(function(t){var l=t.getLayout(),u=t.getVisual("fromSymbol"),h=t.getVisual("toSymbol");l.__original||(l.__original=[H(l[0]),H(l[1])],l[2]&&l.__original.push(H(l[2])));var c=l.__original;if(null!=l[2]){if(W(a[0],c[0]),W(a[1],c[2]),W(a[2],c[1]),u&&"none"!==u){var d=n(t.node1),f=mg(a,c[0],d*e);r(a[0][0],a[1][0],a[2][0],f,i),a[0][0]=i[3],a[1][0]=i[4],r(a[0][1],a[1][1],a[2][1],f,i),a[0][1]=i[3],a[1][1]=i[4]}if(h&&"none"!==h){var d=n(t.node2),f=mg(a,c[1],d*e);r(a[0][0],a[1][0],a[2][0],f,i),a[1][0]=i[1],a[2][0]=i[2],r(a[0][1],a[1][1],a[2][1],f,i),a[1][1]=i[1],a[2][1]=i[2]}W(l[0],a[0]),W(l[1],a[2]),W(l[2],a[1])}else{if(W(o[0],c[0]),W(o[1],c[1]),Z(s,o[1],o[0]),te(s,s),u&&"none"!==u){var d=n(t.node1);j(o[0],o[0],s,d*e)}if(h&&"none"!==h){var d=n(t.node2);j(o[1],o[1],s,-d*e)}W(l[0],o[0]),W(l[1],o[1])}})},NL="__focusNodeAdjacency",EL="__unfocusNodeAdjacency",OL=["itemStyle","opacity"],RL=["lineStyle","opacity"];cu({type:"graph",init:function(t,e){var n=new Wc,i=new ng,r=this.group;this._controller=new mf(e.getZr()),this._controllerHost={target:r},r.add(n.group),r.add(i.group),this._symbolDraw=n,this._lineDraw=i,this._firstRender=!0},render:function(t,e,n){var i=t.coordinateSystem;this._model=t,this._nodeScaleRatio=t.get("nodeScaleRatio");var r=this._symbolDraw,a=this._lineDraw,o=this.group;if("view"===i.type){var s={position:i.position,scale:i.scale};this._firstRender?o.attr(s):Ea(o,s,t)}PL(t.getGraph(),this._getNodeGlobalScale(t));var l=t.getData();r.updateData(l);var u=t.getEdgeData();a.updateData(u),this._updateNodeAndLinkScale(),this._updateController(t,e,n),clearTimeout(this._layoutTimeout);var h=t.forceLayout,c=t.get("force.layoutAnimation");h&&this._startForceLayoutIteration(h,c),l.eachItemGraphicEl(function(e,i){var r=l.getItemModel(i);e.off("drag").off("dragend");var a=r.get("draggable");a&&e.on("drag",function(){h&&(h.warmUp(),!this._layouting&&this._startForceLayoutIteration(h,c),h.setFixed(i),l.setItemLayout(i,e.position))},this).on("dragend",function(){h&&h.setUnfixed(i)},this),e.setDraggable(a&&h),e[NL]&&e.off("mouseover",e[NL]),e[EL]&&e.off("mouseout",e[EL]),r.get("focusNodeAdjacency")&&(e.on("mouseover",e[NL]=function(){n.dispatchAction({type:"focusNodeAdjacency",seriesId:t.id,dataIndex:e.dataIndex})}),e.on("mouseout",e[EL]=function(){n.dispatchAction({type:"unfocusNodeAdjacency",seriesId:t.id})}))},this),l.graph.eachEdge(function(e){var i=e.getGraphicEl();i[NL]&&i.off("mouseover",i[NL]),i[EL]&&i.off("mouseout",i[EL]),e.getModel().get("focusNodeAdjacency")&&(i.on("mouseover",i[NL]=function(){n.dispatchAction({type:"focusNodeAdjacency",seriesId:t.id,edgeDataIndex:e.dataIndex})}),i.on("mouseout",i[EL]=function(){n.dispatchAction({type:"unfocusNodeAdjacency",seriesId:t.id})}))});var d="circular"===t.get("layout")&&t.get("circular.rotateLabel"),f=l.getLayout("cx"),p=l.getLayout("cy");l.eachItemGraphicEl(function(t,e){var n=t.getSymbolPath();if(d){var i=l.getItemLayout(e),r=Math.atan2(i[1]-p,i[0]-f);0>r&&(r=2*Math.PI+r);var a=i[0]e;e++)d[e].fixed&&W(d[e].p,i.getNodeByIndex(e).getLayout());m(function(e,a,o){for(var s=0,l=e.length;l>s;s++)e[s].fixed||i.getNodeByIndex(s).setLayout(e[s].p),n[r.getId(s)]=e[s].p;for(var s=0,l=a.length;l>s;s++){var u=a[s],h=i.getEdgeByIndex(s),c=u.n1.p,d=u.n2.p,f=h.getLayout();f=f?f.slice():[],f[0]=f[0]||[],f[1]=f[1]||[],W(f[0],c),W(f[1],d),+u.curveness&&(f[2]=[(c[0]+d[0])/2-(c[1]-d[1])*u.curveness,(c[1]+d[1])/2-(d[0]-c[0])*u.curveness]),h.setLayout(f)}t&&t(o)})},t.forceLayout=g,t.preservedPoints=n,g.step()}else t.forceLayout=null})},YL=function(t,e){var n=[];return t.eachSeriesByType("graph",function(t){var i=t.get("coordinateSystem");if(!i||"view"===i){var r=t.getData(),a=r.mapArray(function(t){var e=r.getItemModel(t);return[+e.get("x"),+e.get("y")]}),o=[],s=[];_r(a,o,s),s[0]-o[0]===0&&(s[0]+=1,o[0]-=1),s[1]-o[1]===0&&(s[1]+=1,o[1]-=1);var l=(s[0]-o[0])/(s[1]-o[1]),u=Mg(t,e,l);isNaN(l)&&(o=[u.x,u.y],s=[u.x+u.width,u.y+u.height]);var h=s[0]-o[0],c=s[1]-o[1],d=u.width,f=u.height,p=t.coordinateSystem=new lf;p.zoomLimit=t.get("scaleLimit"),p.setBoundingRect(o[0],o[1],h,c),p.setViewRect(u.x,u.y,d,f),p.setCenter(t.get("center")),p.setZoom(t.get("zoom")),n.push(p)}}),n};Ql(BL),au(HC("graph","circle",null)),au(VL),au(GL),ru(FL),ru(WL),ru(XL),nu("graphView",{create:YL});var jL=wI.extend({type:"series.boxplot",dependencies:["xAxis","yAxis","grid"],defaultValueDimensions:[{name:"min",defaultTooltip:!0},{name:"Q1",defaultTooltip:!0},{name:"median",defaultTooltip:!0},{name:"Q3",defaultTooltip:!0},{name:"max",defaultTooltip:!0}],dimensions:null,defaultOption:{zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,hoverAnimation:!0,layout:null,boxWidth:[7,50],itemStyle:{color:"#fff",borderWidth:1},emphasis:{itemStyle:{borderWidth:2,shadowBlur:5,shadowOffsetX:2,shadowOffsetY:2,shadowColor:"rgba(0,0,0,0.4)"}},animationEasing:"elasticOut",animationDuration:800}});c(jL,hD,!0);var ZL=["itemStyle"],UL=["emphasis","itemStyle"],qL=(Hs.extend({type:"boxplot",render:function(t){var e=t.getData(),n=this.group,i=this._data;this._data||n.removeAll();var r="horizontal"===t.get("layout")?1:0;e.diff(i).add(function(t){if(e.hasValue(t)){var i=e.getItemLayout(t),a=Tg(i,e,t,r,!0);e.setItemGraphicEl(t,a),n.add(a)}}).update(function(t,a){var o=i.getItemGraphicEl(a);if(!e.hasValue(t))return void n.remove(o);var s=e.getItemLayout(t);o?Cg(s,o,e,t):o=Tg(s,e,t,r),n.add(o),e.setItemGraphicEl(t,o)}).remove(function(t){var e=i.getItemGraphicEl(t);e&&n.remove(e)}).execute(),this._data=e},remove:function(){var t=this.group,e=this._data;this._data=null,e&&e.eachItemGraphicEl(function(e){e&&t.remove(e)})},dispose:G}),Vr.extend({type:"boxplotBoxPath",shape:{},buildPath:function(t,e){var n=e.points,i=0;for(t.moveTo(n[i][0],n[i][1]),i++;4>i;i++)t.lineTo(n[i][0],n[i][1]);for(t.closePath();ia&&(e[1-i]=e[i]+h.sign*a),e},ik=f,rk=Math.min,ak=Math.max,ok=Math.floor,sk=Math.ceil,lk=Ja,uk=Math.PI;Rg.prototype={type:"parallel",constructor:Rg,_init:function(t,e){var n=t.dimensions,i=t.parallelAxisIndex;ik(n,function(t,n){var r=i[n],a=e.getComponent("parallelAxis",r),o=this._axesMap.set(t,new ek(t,fh(a),[0,0],a.get("type"),r)),s="category"===o.type;o.onBand=s&&a.get("boundaryGap"),o.inverse=a.get("inverse"),a.axis=o,o.model=a,o.coordinateSystem=a.coordinateSystem=this},this)},update:function(t){this._updateAxesFromSeries(this._model,t)},containPoint:function(t){var e=this._makeLayoutInfo(),n=e.axisBase,i=e.layoutBase,r=e.pixelDimIndex,a=t[1-r],o=t[r];return a>=n&&a<=n+e.axisLength&&o>=i&&o<=i+e.layoutLength},getModel:function(){return this._model},_updateAxesFromSeries:function(t,e){e.eachSeries(function(n){if(t.contains(n,e)){var i=n.getData();ik(this.dimensions,function(t){var e=this._axesMap.get(t);e.scale.unionExtentFromData(i,i.mapDimension(t)),dh(e.scale,e.model)},this)}},this)},resize:function(t,e){this._rect=Co(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()}),this._layoutAxes()},getRect:function(){return this._rect},_makeLayoutInfo:function(){var t,e=this._model,n=this._rect,i=["x","y"],r=["width","height"],a=e.get("layout"),o="horizontal"===a?0:1,s=n[r[o]],l=[0,s],u=this.dimensions.length,h=zg(e.get("axisExpandWidth"),l),c=zg(e.get("axisExpandCount")||0,[0,u]),d=e.get("axisExpandable")&&u>3&&u>c&&c>1&&h>0&&s>0,f=e.get("axisExpandWindow");if(f)t=zg(f[1]-f[0],l),f[1]=f[0]+t;else{t=zg(h*(c-1),l);var p=e.get("axisExpandCenter")||ok(u/2);f=[h*p-t/2],f[1]=f[0]+t}var g=(s-t)/(u-c);3>g&&(g=0);var m=[ok(lk(f[0]/h,1))+1,sk(lk(f[1]/h,1))-1],v=g/h*f[0];return{layout:a,pixelDimIndex:o,layoutBase:n[i[o]],layoutLength:s,axisBase:n[i[1-o]],axisLength:n[r[1-o]],axisExpandable:d,axisExpandWidth:h,axisCollapseWidth:g,axisExpandWindow:f,axisCount:u,winInnerIndices:m,axisExpandWindow0Pos:v}},_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])}),ik(n,function(e,n){var a=(i.axisExpandable?Vg:Bg)(n,i),o={horizontal:{x:a.position,y:i.axisLength},vertical:{x:0,y:a.position}},s={horizontal:uk/2,vertical:0},l=[o[r].x+t.x,o[r].y+t.y],u=s[r],h=Me();Le(h,h,u),Ae(h,h,l),this._axesLayout[e]={position:l,rotation:u,transform:h,axisNameAvailableWidth:a.axisNameAvailableWidth,axisLabelShow:a.axisLabelShow,nameTruncateMaxWidth:a.nameTruncateMaxWidth,tickDirection:1,labelDirection:1}},this)},getAxis:function(t){return this._axesMap.get(t)},dataToPoint:function(t,e){return this.axisCoordToPoint(this._axesMap.get(e).dataToCoord(t),e)},eachActiveState:function(t,e,n,i){null==n&&(n=0),null==i&&(i=t.count());var r=this._axesMap,a=this.dimensions,o=[],s=[];f(a,function(e){o.push(t.mapDimension(e)),s.push(r.get(e).model)});for(var l=this.hasAxisBrushed(),u=n;i>u;u++){var h;if(l){h="active";for(var c=t.getValues(o,u),d=0,p=a.length;p>d;d++){var g=s[d].getActiveState(c[d]);if("inactive"===g){h="inactive";break}}}else h="normal";e(h,u)}},hasAxisBrushed:function(){for(var t=this.dimensions,e=this._axesMap,n=!1,i=0,r=t.length;r>i;i++)"normal"!==e.get(t[i]).model.getActiveState()&&(n=!0);return n},axisCoordToPoint:function(t,e){var n=this._axesLayout[e];return za([t,0],n.transform)},getAxisLayout:function(t){return i(this._axesLayout[t])},getSlidedAxisExpandWindow:function(t){var e=this._makeLayoutInfo(),n=e.pixelDimIndex,i=e.axisExpandWindow.slice(),r=i[1]-i[0],a=[0,e.axisExpandWidth*(e.axisCount-1)];if(!this.containPoint(t))return{behavior:"none",axisExpandWindow:i};var o,s=t[n]-e.layoutBase-e.axisExpandWindow0Pos,l="slide",u=e.axisCollapseWidth,h=this._model.get("axisExpandSlideTriggerArea"),c=null!=h[0];if(u)c&&u&&sr*(1-h[0])?(l="jump",o=s-r*(1-h[2])):(o=s-r*h[1])>=0&&(o=s-r*(1-h[1]))<=0&&(o=0),o*=e.axisExpandWidth/u,o?nk(o,i,a,"all"):l="none";else{var r=i[1]-i[0],d=a[1]*s/r;i=[ak(0,d-r/2)],i[1]=rk(a[1],i[0]+r),i[0]=i[1]-r}return{axisExpandWindow:i,behavior:l}}},is.register("parallel",{create:Gg});var hk=ES.extend({type:"baseParallelAxis",axis:null,activeIntervals:[],getAreaSelectStyle:function(){return Mw([["fill","color"],["lineWidth","borderWidth"],["stroke","borderColor"],["width","width"],["opacity","opacity"]])(this.getModel("areaSelectStyle"))},setActiveIntervals:function(t){var e=this.activeIntervals=i(t);if(e)for(var n=e.length-1;n>=0;n--)Qa(e[n])},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;r>i;i++)if(e[i][0]<=t&&t<=e[i][1])return"active";return"inactive"}}),ck={type:"value",dim:null,areaSelectStyle:{width:20,borderWidth:1,borderColor:"rgba(160,197,232)",color:"rgba(160,197,232)",opacity:.3},realtime:!0,z:10};r(hk.prototype,NT),iC("parallel",hk,Fg,ck),ES.extend({type:"parallel",dependencies:["parallelAxis"],coordinateSystem:null,dimensions:null,parallelAxisIndex:null,layoutMode:"box",defaultOption:{zlevel:0,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},init:function(){ES.prototype.init.apply(this,arguments),this.mergeOption({})},mergeOption:function(t){var e=this.option;t&&r(e,t,!0),this._initDimensions()},contains:function(t,e){var n=t.get("parallelIndex");return null!=n&&e.getComponent("parallel",n)===this},setAxisExpand:function(t){f(["axisExpandable","axisExpandCenter","axisExpandCount","axisExpandWidth","axisExpandWindow"],function(e){t.hasOwnProperty(e)&&(this.option[e]=t[e])},this)},_initDimensions:function(){var t=this.dimensions=[],e=this.parallelAxisIndex=[],n=m(this.dependentModels.parallelAxis,function(t){return(t.get("parallelIndex")||0)===this.componentIndex},this);f(n,function(n){t.push("dim"+n.get("dim")),e.push(n.componentIndex)})}});var dk={type:"axisAreaSelect",event:"axisAreaSelected"};eu(dk,function(t,e){e.eachComponent({mainType:"parallelAxis",query:t},function(e){e.axis.model.setActiveIntervals(t.intervals)})}),eu("parallelAxisExpand",function(t,e){e.eachComponent({mainType:"parallel",query:t},function(e){e.setAxisExpand(t)})});var fk=x,pk=f,gk=p,mk=Math.min,vk=Math.max,yk=Math.pow,xk=1e4,_k=6,wk=6,bk="globalPan",Sk={w:[0,0],e:[0,1],n:[1,0],s:[1,1]},Ik={w:"ew",e:"ew",n:"ns",s:"ns",ne:"nesw",sw:"nesw",nw:"nwse",se:"nwse"},Mk={brushStyle:{lineWidth:2,stroke:"rgba(0,0,0,0.3)",fill:"rgba(0,0,0,0.1)"},transformable:!0,brushMode:"single",removeOnClick:!1},Tk=0;Wg.prototype={constructor:Wg,enableBrush:function(t){return this._brushType&&Xg(this),t.brushType&&Hg(this,t),this},setPanels:function(t){if(t&&t.length){var e=this._panels={};f(t,function(t){e[t.panelId]=i(t)})}else this._panels=null;return this},mount:function(t){t=t||{},this._enableGlobalPan=t.enableGlobalPan;var e=this.group;return this._zr.add(e),e.attr({position:t.position||[0,0],rotation:t.rotation||0,scale:t.scale||[1,1]}),this._transform=e.getLocalTransform(),this},eachCover:function(t,e){pk(this._covers,t,e)},updateCovers:function(t){function e(t,e){return(null!=t.id?t.id:s+e)+"-"+t.brushType}function n(t,n){return e(t.__brushOption,n)}function a(e,n){var i=t[e];if(null!=n&&l[n]===c)u[e]=l[n];else{var r=u[e]=null!=n?(l[n].__brushOption=i,l[n]):jg(h,Yg(h,i));qg(h,r)}}function o(t){l[t]!==c&&h.group.remove(l[t])}t=p(t,function(t){return r(i(Mk),t,!0)});var s="\x00-brush-index-",l=this._covers,u=this._covers=[],h=this,c=this._creatingCover;return new mu(l,t,n,e).add(a).update(a).remove(o).execute(),this},unmount:function(){return this.enableBrush(!1),Qg(this),this._zr.remove(this.group),this},dispose:function(){this.unmount(),this.off()}},c(Wg,Px);var Ck={mousedown:function(t){if(this._dragging)wm.call(this,t);else if(!t.target||!t.target.draggable){vm(t);var e=this.group.transformCoordToLocal(t.offsetX,t.offsetY);this._creatingCover=null;var n=this._creatingPanel=$g(this,t,e);n&&(this._dragging=!0,this._track=[e.slice()])}},mousemove:function(t){var e=this.group.transformCoordToLocal(t.offsetX,t.offsetY);if(mm(this,t,e),this._dragging){vm(t);var n=xm(this,t,e,!1);n&&tm(this,n)}},mouseup:wm},Dk={lineX:bm(0),lineY:bm(1),rect:{createCover:function(t,e){return im(fk(cm,function(t){return t},function(t){return t}),t,e,["w","e","n","s","se","sw","ne","nw"])},getCreatingRange:function(t){var e=nm(t);return lm(e[1][0],e[1][1],e[0][0],e[0][1])},updateCoverShape:function(t,e,n,i){rm(t,e,n,i) +},updateCommon:am,contain:ym},polygon:{createCover:function(t,e){var n=new __;return n.add(new Fb({name:"main",style:sm(e),silent:!0})),n},getCreatingRange:function(t){return t},endCreating:function(t,e){e.remove(e.childAt(0)),e.add(new Gb({name:"main",draggable:!0,drift:fk(dm,t,e),ondragend:fk(tm,t,{isEnd:!0})}))},updateCoverShape:function(t,e,n){e.childAt(0).setShape({points:pm(t,e,n)})},updateCommon:am,contain:ym}},Ak=["axisLine","axisTickLabel","axisName"],Lk=uu({type:"parallelAxis",init:function(t,e){Lk.superApply(this,"init",arguments),(this._brushController=new Wg(e.getZr())).on("brush",y(this._onBrush,this))},render:function(t,e,n,i){if(!Cm(t,e,i)){this.axisModel=t,this.api=n,this.group.removeAll();var r=this._axisGroup;if(this._axisGroup=new __,this.group.add(this._axisGroup),t.get("show")){var a=Am(t,e),s=a.coordinateSystem,l=t.getAreaSelectStyle(),u=l.width,h=t.axis.dim,c=s.getAxisLayout(h),d=o({strokeContainThreshold:u},c),p=new mC(t,d);f(Ak,p.add,p),this._axisGroup.add(p.getGroup()),this._refreshBrushController(d,l,t,a,u,n);var g=i&&i.animation===!1?null:t;Va(r,this._axisGroup,g)}}},_refreshBrushController:function(t,e,n,i,r,a){var o=n.axis.getExtent(),s=o[1]-o[0],l=Math.min(30,.1*Math.abs(s)),u=xn.create({x:o[0],y:-r/2,width:s,height:r});u.x-=l,u.width+=2*l,this._brushController.mount({enableGlobalPan:!0,rotation:t.rotation,position:t.position}).setPanels([{panelId:"pl",clipPath:Sm(u),isTargetByCursor:Mm(u,a,i),getLinearBrushOtherExtent:Im(u,0)}]).enableBrush({brushType:"lineX",brushStyle:e,removeOnClick:!0}).updateCovers(Dm(n))},_onBrush:function(t,e){var n=this.axisModel,i=n.axis,r=p(t,function(t){return[i.coordToData(t.range[0],!0),i.coordToData(t.range[1],!0)]});(!n.option.realtime===e.isEnd||e.removeOnClick)&&this.api.dispatchAction({type:"axisAreaSelect",parallelAxisId:n.id,intervals:r})},dispose:function(){this._brushController.dispose()}}),kk=5;uu({type:"parallel",render:function(t,e,n){this._model=t,this._api=n,this._handlers||(this._handlers={},f(Pk,function(t,e){n.getZr().on(e,this._handlers[e]=y(t,this))},this)),qs(this,"_throttledDispatchExpand",t.get("axisExpandRate"),"fixRate")},dispose:function(t,e){f(this._handlers,function(t,n){e.getZr().off(n,t)}),this._handlers=null},_throttledDispatchExpand:function(t){this._dispatchExpand(t)},_dispatchExpand:function(t){t&&this._api.dispatchAction(o({type:"parallelAxisExpand"},t))}});var Pk={mousedown:function(t){Lm(this,"click")&&(this._mouseDownPoint=[t.offsetX,t.offsetY])},mouseup:function(t){var e=this._mouseDownPoint;if(Lm(this,"click")&&e){var n=[t.offsetX,t.offsetY],i=Math.pow(e[0]-n[0],2)+Math.pow(e[1]-n[1],2);if(i>kk)return;var r=this._model.coordinateSystem.getSlidedAxisExpandWindow([t.offsetX,t.offsetY]);"none"!==r.behavior&&this._dispatchExpand({axisExpandWindow:r.axisExpandWindow})}this._mouseDownPoint=null},mousemove:function(t){if(!this._mouseDownPoint&&Lm(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:!1})}}};Jl(tk),wI.extend({type:"series.parallel",dependencies:["parallel"],visualColorAccessPath:"lineStyle.color",getInitialData:function(){var t=this.getSource();return km(t,this),Gu(t,this)},getRawIndicesByActiveState:function(t){var e=this.coordinateSystem,n=this.getData(),i=[];return e.eachActiveState(n,function(e,r){t===e&&i.push(n.getRawIndex(r))}),i},defaultOption:{zlevel:0,z:2,coordinateSystem:"parallel",parallelIndex:0,label:{show:!1},inactiveOpacity:.05,activeOpacity:1,lineStyle:{width:1,opacity:.45,type:"solid"},emphasis:{label:{show:!1}},progressive:500,smooth:!1,animationEasing:"linear"}});var Nk=.3,Ek=(Hs.extend({type:"parallel",init:function(){this._dataGroup=new __,this.group.add(this._dataGroup),this._data,this._initialized},render:function(t,e,n,i){function r(t){var e=Om(l,s,t,c,h);zm(e,l,t,d)}function a(e,n){var r=u.getItemGraphicEl(n),a=Em(l,e,c,h);l.setItemGraphicEl(e,r);var o=i&&i.animation===!1?null:t;Ea(r,{shape:{points:a}},o,e),zm(r,l,e,d)}function o(t){var e=u.getItemGraphicEl(t);s.remove(e)}var s=this._dataGroup,l=t.getData(),u=this._data,h=t.coordinateSystem,c=h.dimensions,d=Rm(t);if(l.diff(u).add(r).update(a).remove(o).execute(),!this._initialized){this._initialized=!0;var f=Nm(h,t,function(){setTimeout(function(){s.removeClipPath()})});s.setClipPath(f)}this._data=l},incrementalPrepareRender:function(){this._initialized=!0,this._data=null,this._dataGroup.removeAll()},incrementalRender:function(t,e){for(var n=e.getData(),i=e.coordinateSystem,r=i.dimensions,a=Rm(e),o=t.start;o=r/3?1:2),l=e.y-i(o)*a*(a>=r/3?1:2);o=e.angle-Math.PI/2,t.moveTo(s,l),t.lineTo(e.x+n(o)*a,e.y+i(o)*a),t.lineTo(e.x+n(e.angle)*r,e.y+i(e.angle)*r),t.lineTo(e.x-n(o)*a,e.y-i(o)*a),t.lineTo(s,l)}})),zk=2*Math.PI,Bk=(Hs.extend({type:"gauge",render:function(t,e,n){this.group.removeAll();var i=t.get("axisLine.lineStyle.color"),r=Vm(t,n);this._renderMain(t,e,n,i,r)},dispose:function(){},_renderMain:function(t,e,n,i,r){for(var a=this.group,o=t.getModel("axisLine"),s=o.getModel("lineStyle"),l=t.get("clockwise"),u=-t.get("startAngle")/180*Math.PI,h=-t.get("endAngle")/180*Math.PI,c=(h-u)%zk,d=u,f=s.get("width"),p=0;p=t)return i[0][1];for(var e=0;e=t&&(0===e?0:i[e-1][0])=M;M++){var T=Math.cos(_),C=Math.sin(_);if(f.get("show")){var D=new jb({shape:{x1:T*h+l,y1:C*h+u,x2:T*(h-y)+l,y2:C*(h-y)+u},style:S,silent:!0});"auto"===S.stroke&&D.setStyle({stroke:i(M/m)}),s.add(D)}if(g.get("show")){var A=Gm(Ja(M/m*(d-c)+c),g.get("formatter")),L=g.get("distance"),k=i(M/m);s.add(new Pb({style:Ia({},g,{text:A,x:T*(h-y-L)+l,y:C*(h-y-L)+u,textVerticalAlign:-.4>C?"top":C>.4?"bottom":"middle",textAlign:-.4>T?"left":T>.4?"right":"center"},{autoColor:k}),silent:!0}))}if(p.get("show")&&M!==m){for(var P=0;v>=P;P++){var T=Math.cos(_),C=Math.sin(_),N=new jb({shape:{x1:T*h+l,y1:C*h+u,x2:T*(h-x)+l,y2:C*(h-x)+u},silent:!0,style:I});"auto"===I.stroke&&N.setStyle({stroke:i((M+P/v)/m)}),s.add(N),_+=b}_-=b}else _+=w}},_renderPointer:function(t,e,n,i,r,a,o){var s=this.group,l=this._data;if(!t.get("pointer.show"))return void(l&&l.eachItemGraphicEl(function(t){s.remove(t)}));var u=[+t.get("min"),+t.get("max")],h=[a,o],c=t.getData(),d=c.mapDimension("value");c.diff(l).add(function(e){var n=new Rk({shape:{angle:a}});Oa(n,{shape:{angle:Ka(c.get(d,e),u,h,!0)}},t),s.add(n),c.setItemGraphicEl(e,n)}).update(function(e,n){var i=l.getItemGraphicEl(n);Ea(i,{shape:{angle:Ka(c.get(d,e),u,h,!0)}},t),s.add(i),c.setItemGraphicEl(e,i)}).remove(function(t){var e=l.getItemGraphicEl(t);s.remove(e)}).execute(),c.eachItemGraphicEl(function(t,e){var n=c.getItemModel(e),a=n.getModel("pointer");t.setShape({x:r.cx,y:r.cy,width:$a(a.get("width"),r.r),r:$a(a.get("length"),r.r)}),t.useStyle(n.getModel("itemStyle").getItemStyle()),"auto"===t.style.fill&&t.setStyle("fill",i(Ka(c.get(d,e),u,[0,1],!0))),wa(t,n.getModel("emphasis.itemStyle").getItemStyle())}),this._data=c},_renderTitle:function(t,e,n,i,r){var a=t.getData(),o=a.mapDimension("value"),s=t.getModel("title");if(s.get("show")){var l=s.get("offsetCenter"),u=r.cx+$a(l[0],r.r),h=r.cy+$a(l[1],r.r),c=+t.get("min"),d=+t.get("max"),f=t.getData().get(o,0),p=i(Ka(f,[c,d],[0,1],!0));this.group.add(new Pb({silent:!0,style:Ia({},s,{x:u,y:h,text:a.getName(0),textAlign:"center",textVerticalAlign:"middle"},{autoColor:p,forceRich:!0})}))}},_renderDetail:function(t,e,n,i,r){var a=t.getModel("detail"),o=+t.get("min"),s=+t.get("max");if(a.get("show")){var l=a.get("offsetCenter"),u=r.cx+$a(l[0],r.r),h=r.cy+$a(l[1],r.r),c=$a(a.get("width"),r.r),d=$a(a.get("height"),r.r),f=t.getData(),p=f.get(f.mapDimension("value"),0),g=i(Ka(p,[o,s],[0,1],!0));this.group.add(new Pb({silent:!0,style:Ia({},a,{x:u,y:h,text:Gm(p,a.get("formatter")),textWidth:isNaN(c)?null:c,textHeight:isNaN(d)?null:d,textAlign:"center",textVerticalAlign:"middle"},{autoColor:g,forceRich:!0})}))}}}),hu({type:"series.funnel",init:function(t){Bk.superApply(this,"init",arguments),this.legendDataProvider=function(){return this.getRawData()},this._defaultLabelLine(t)},getInitialData:function(){return UC(this,["value"])},_defaultLabelLine:function(t){Bi(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},getDataParams:function(t){var e=this.getData(),n=Bk.superCall(this,"getDataParams",t),i=e.mapDimension("value"),r=e.getSum(i);return n.percent=r?+(e.get(i,t)/r*100).toFixed(2):0,n.$vars.push("percent"),n},defaultOption:{zlevel:0,z:2,legendHoverLink:!0,left:80,top:60,right:80,bottom:60,minSize:"0%",maxSize:"100%",sort:"descending",gap:0,funnelAlign:"center",label:{show:!0,position:"outer"},labelLine:{show:!0,length:20,lineStyle:{width:1,type:"solid"}},itemStyle:{borderColor:"#fff",borderWidth:1},emphasis:{label:{show:!0}}}})),Vk=Fm.prototype,Gk=["itemStyle","opacity"];Vk.updateData=function(t,e,n){var i=this.childAt(0),r=t.hostModel,a=t.getItemModel(e),o=t.getItemLayout(e),l=t.getItemModel(e).get(Gk);l=null==l?1:l,i.useStyle({}),n?(i.setShape({points:o.points}),i.setStyle({opacity:0}),Oa(i,{style:{opacity:l}},r,e)):Ea(i,{style:{opacity:l},shape:{points:o.points}},r,e);var u=a.getModel("itemStyle"),h=t.getItemVisual(e,"color");i.setStyle(s({lineJoin:"round",fill:h},u.getItemStyle(["opacity"]))),i.hoverStyle=u.getModel("emphasis").getItemStyle(),this._updateLabel(t,e),wa(this)},Vk._updateLabel=function(t,e){var n=this.childAt(1),i=this.childAt(2),r=t.hostModel,a=t.getItemModel(e),o=t.getItemLayout(e),s=o.label,l=t.getItemVisual(e,"color");Ea(n,{shape:{points:s.linePoints||s.linePoints}},r,e),Ea(i,{style:{x:s.x,y:s.y}},r,e),i.attr({rotation:s.rotation,origin:[s.x,s.y],z2:10});var u=a.getModel("label"),h=a.getModel("emphasis.label"),c=a.getModel("labelLine"),d=a.getModel("emphasis.labelLine"),l=t.getItemVisual(e,"color");Sa(i.style,i.hoverStyle={},u,h,{labelFetcher:t.hostModel,labelDataIndex:e,defaultText:t.getName(e),autoColor:l,useInsideStyle:!!s.inside},{textAlign:s.textAlign,textVerticalAlign:s.verticalAlign}),i.ignore=i.normalIgnore=!u.get("show"),i.hoverIgnore=!h.get("show"),n.ignore=n.normalIgnore=!c.get("show"),n.hoverIgnore=!d.get("show"),n.setStyle({stroke:l}),n.setStyle(c.getModel("lineStyle").getLineStyle()),n.hoverStyle=d.getModel("lineStyle").getLineStyle()},h(Fm,__);var Fk=(Hs.extend({type:"funnel",render:function(t){var e=t.getData(),n=this._data,i=this.group;e.diff(n).add(function(t){var n=new Fm(e,t);e.setItemGraphicEl(t,n),i.add(n)}).update(function(t,r){var a=n.getItemGraphicEl(r);a.updateData(e,t),i.add(a),e.setItemGraphicEl(t,a)}).remove(function(t){var e=n.getItemGraphicEl(t);i.remove(e)}).execute(),this._data=e},remove:function(){this.group.removeAll(),this._data=null},dispose:function(){}}),function(t,e){t.eachSeriesByType("funnel",function(t){var n=t.getData(),i=n.mapDimension("value"),r=t.get("sort"),a=Wm(t,e),o=Hm(n,r),s=[$a(t.get("minSize"),a.width),$a(t.get("maxSize"),a.width)],l=n.getDataExtent(i),u=t.get("min"),h=t.get("max");null==u&&(u=Math.min(l[0],0)),null==h&&(h=l[1]);var c=t.get("funnelAlign"),d=t.get("gap"),f=(a.height-d*(n.count()-1))/n.count(),p=a.y,g=function(t,e){var r,o=n.get(i,t)||0,l=Ka(o,[u,h],s,!0);switch(c){case"left":r=a.x;break;case"center":r=a.x+(a.width-l)/2;break;case"right":r=a.x+a.width-l}return[[r,e],[r+l,e]]};"ascending"===r&&(f=-f,d=-d,p+=a.height,o=o.reverse());for(var m=0;me&&(i=e),e>r&&(r=e)}),f(n,function(e){var n=new lA({type:"color",mappingMethod:"linear",dataExtent:[i,r],visual:t.get("color")}),a=n.mapValueToVisual(e.getLayout().value);e.setVisual("color",a);var o=e.getModel(),s=o.get("itemStyle.color");null!=s&&e.setVisual("color",s)})}})};ru(jk),au(Zk);var Uk=function(t,e,n,i,r){UT.call(this,t,e,n),this.type=i||"value",this.position=r||"bottom",this.orient=null};Uk.prototype={constructor:Uk,model:null,isHorizontal:function(){var t=this.position;return"top"===t||"bottom"===t},pointToData:function(t,e){return this.coordinateSystem.pointToData(t,e)[0]},toGlobalCoord:null,toLocalCoord:null},h(Uk,UT),fv.prototype={type:"singleAxis",axisPointerEnabled:!0,constructor:fv,_init:function(t){var e=this.dimension,n=new Uk(e,fh(t),[0,0],t.get("type"),t.get("position")),i="category"===n.type;n.onBand=i&&t.get("boundaryGap"),n.inverse=t.get("inverse"),n.orient=t.get("orient"),t.axis=n,n.model=t,n.coordinateSystem=this,this._axis=n},update:function(t){t.eachSeries(function(t){if(t.coordinateSystem===this){var e=t.getData();f(e.mapDimension(this.dimension,!0),function(t){this._axis.scale.unionExtentFromData(e,t)},this),dh(this._axis.scale,this._axis.model)}},this)},resize:function(t,e){this._rect=Co({left:t.get("left"),top:t.get("top"),right:t.get("right"),bottom:t.get("bottom"),width:t.get("width"),height:t.get("height")},{width:e.getWidth(),height:e.getHeight()}),this._adjustAxis()},getRect:function(){return this._rect},_adjustAxis:function(){var t=this._rect,e=this._axis,n=e.isHorizontal(),i=n?[0,t.width]:[0,t.height],r=e.reverse?1:0;e.setExtent(i[r],i[1-r]),this._updateAxisTransform(e,n?t.x:t.y)},_updateAxisTransform:function(t,e){var n=t.getExtent(),i=n[0]+n[1],r=t.isHorizontal();t.toGlobalCoord=r?function(t){return t+e}:function(t){return i-t+e},t.toLocalCoord=r?function(t){return t-e}:function(t){return i-t+e}},getAxis:function(){return this._axis},getBaseAxis:function(){return this._axis},getAxes:function(){return[this._axis]},getTooltipAxes:function(){return{baseAxes:[this.getAxis()]}},containPoint:function(t){var e=this.getRect(),n=this.getAxis(),i=n.orient;return"horizontal"===i?n.contain(n.toLocalCoord(t[0]))&&t[1]>=e.y&&t[1]<=e.y+e.height:n.contain(n.toLocalCoord(t[1]))&&t[0]>=e.y&&t[0]<=e.y+e.height},pointToData:function(t){var e=this.getAxis();return[e.coordToData(e.toLocalCoord(t["horizontal"===e.orient?0:1]))]},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}},is.register("single",{create:pv,dimensions:fv.prototype.dimensions});var qk=["axisLine","axisTickLabel","axisName"],Kk="splitLine",$k=wC.extend({type:"singleAxis",axisPointerClass:"SingleAxisPointer",render:function(t,e,n,i){var r=this.group;r.removeAll();var a=gv(t),o=new mC(t,a);f(qk,o.add,o),r.add(o.getGroup()),t.get(Kk+".show")&&this["_"+Kk](t),$k.superCall(this,"render",t,e,n,i)},_splitLine:function(t){var e=t.axis;if(!e.scale.isBlank()){var n=t.getModel("splitLine"),i=n.getModel("lineStyle"),r=i.get("width"),a=i.get("color");a=a instanceof Array?a:[a];for(var o=t.coordinateSystem.getRect(),s=e.isHorizontal(),l=[],u=0,h=e.getTicksCoords({tickModel:n}),c=[],d=[],f=0;fo||_(o))return{point:[]};var s=a.getItemGraphicEl(o),l=n.coordinateSystem;if(n.getTooltipPosition)i=n.getTooltipPosition(o)||[];else if(l&&l.dataToPoint)i=l.dataToPoint(a.getValues(p(l.dimensions,function(t){return a.mapDimension(t)}),o,!0))||[];else if(s){var u=s.getBoundingRect().clone();u.applyTransform(s.transform),i=[u.x+u.width/2,u.y+u.height/2]}return{point:i,el:s}},eP=f,nP=x,iP=ji(),rP=function(t,e,n){var i=t.currTrigger,r=[t.x,t.y],a=t,o=t.dispatchAction||y(n.dispatchAction,n),s=e.getComponent("axisPointer").coordSysAxesInfo;if(s){Tv(r)&&(r=tP({seriesIndex:a.seriesIndex,dataIndex:a.dataIndex},e).point);var l=Tv(r),u=a.axesInfo,h=s.axesInfo,c="leave"===i||Tv(r),d={},f={},p={list:[],map:{}},g={showPointer:nP(xv,f),showTooltip:nP(_v,p)};eP(s.coordSysMap,function(t,e){var n=l||t.containPoint(r);eP(s.coordSysAxesInfo[e],function(t){var e=t.axis,i=Iv(u,t);if(!c&&n&&(!u||i)){var a=i&&i.value;null!=a||l||(a=e.pointToData(r)),null!=a&&vv(t,a,g,!1,d)}})});var m={};return eP(h,function(t,e){var n=t.linkGroup;n&&!f[e]&&eP(n.axesInfo,function(e,i){var r=f[i];if(e!==t&&r){var a=r.value;n.mapper&&(a=t.axis.scale.parse(n.mapper(a,Mv(e),Mv(t)))),m[t.key]=a}})}),eP(m,function(t,e){vv(h[e],t,g,!0,d)}),wv(f,h,d),bv(p,r,t,o),Sv(h,o,n),d}},aP=(lu({type:"axisPointer",coordSysAxesInfo:null,defaultOption:{show:"auto",triggerOn:null,zlevel:0,z:50,type:"line",snap:!1,triggerTooltip:!0,value:null,status:null,link:[],animation:null,animationDurationUpdate:200,lineStyle:{color:"#aaa",width:1,type:"solid"},shadowStyle:{color:"rgba(150,150,150,0.3)"},label:{show:!0,formatter:null,precision:"auto",margin:3,color:"#fff",padding:[5,7,5,7],backgroundColor:"auto",borderColor:null,borderWidth:0,shadowBlur:3,shadowColor:"#aaa"},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}}}),ji()),oP=f,sP=uu({type:"axisPointer",render:function(t,e,n){var i=e.getComponent("tooltip"),r=t.get("triggerOn")||i&&i.get("triggerOn")||"mousemove|click";Cv("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})})},remove:function(t,e){Nv(e.getZr(),"axisPointer"),sP.superApply(this._model,"remove",arguments)},dispose:function(t,e){Nv("axisPointer",e),sP.superApply(this._model,"dispose",arguments)}}),lP=ji(),uP=i,hP=y;Ev.prototype={_group:null,_lastGraphicKey:null,_handle:null,_dragging:!1,_lastValue:null,_lastStatus:null,_payloadInfo:null,animationThreshold:15,render:function(t,e,n,i){var r=e.get("value"),a=e.get("status");if(this._axisModel=t,this._axisPointerModel=e,this._api=n,i||this._lastValue!==r||this._lastStatus!==a){this._lastValue=r,this._lastStatus=a;var o=this._group,s=this._handle;if(!a||"hide"===a)return o&&o.hide(),void(s&&s.hide());o&&o.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(o){var c=x(Ov,e,h);this.updatePointerEl(o,l,c,e),this.updateLabelEl(o,l,c,e)}else o=this._group=new __,this.createPointerEl(o,l,t,e),this.createLabelEl(o,l,t,e),n.getZr().add(o);Vv(o,e,!0),this._renderHandle(r)}},remove:function(t){this.clear(t)},dispose:function(t){this.clear(t)},determineAnimation:function(t,e){var n=e.get("animation"),i=t.axis,r="category"===i.type,a=e.get("snap");if(!a&&!r)return!1;if("auto"===n||null==n){var o=this.animationThreshold;if(r&&i.getBandWidth()>o)return!0;if(a){var s=Dc(t).seriesDataCount,l=i.getExtent();return Math.abs(l[0]-l[1])/s>o}return!1}return n===!0},makeElOption:function(){},createPointerEl:function(t,e){var n=e.pointer;if(n){var i=lP(t).pointerEl=new uS[n.type](uP(e.pointer));t.add(i)}},createLabelEl:function(t,e,n,i){if(e.label){var r=lP(t).labelEl=new Xb(uP(e.label));t.add(r),zv(r,i)}},updatePointerEl:function(t,e,n){var i=lP(t).pointerEl;i&&(i.setStyle(e.pointer.style),n(i,{shape:e.pointer.shape}))},updateLabelEl:function(t,e,n,i){var r=lP(t).labelEl;r&&(r.setStyle(e.label.style),n(r,{shape:e.label.shape,position:e.label.position}),zv(r,i))},_renderHandle:function(t){if(!this._dragging&&this.updateHandleTransform){var e=this._axisPointerModel,n=this._api.getZr(),i=this._handle,r=e.getModel("handle"),a=e.get("status");if(!r.get("show")||!a||"hide"===a)return i&&n.remove(i),void(this._handle=null);var o;this._handle||(o=!0,i=this._handle=Wa(r.get("icon"),{cursor:"move",draggable:!0,onmousemove:function(t){Ox(t.event)},onmousedown:hP(this._onHandleDragMove,this,0,0),drift:hP(this._onHandleDragMove,this),ondragend:hP(this._onHandleDragEnd,this)}),n.add(i)),Vv(i,e,!1);var s=["color","borderColor","borderWidth","opacity","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY"];i.setStyle(r.getItemStyle(null,s));var l=r.get("size");_(l)||(l=[l,l]),i.attr("scale",[l[0]/2,l[1]/2]),qs(this,"_doDispatchAxisPointer",r.get("throttle")||0,"fixRate"),this._moveHandleToValue(t,o)}},_moveHandleToValue:function(t,e){Ov(this._axisPointerModel,!e&&this._moveAnimation,this._handle,Bv(this.getHandleTransform(t,this._axisModel,this._axisPointerModel)))},_onHandleDragMove:function(t,e){var n=this._handle;if(n){this._dragging=!0;var i=this.updateHandleTransform(Bv(n),[t,e],this._axisModel,this._axisPointerModel);this._payloadInfo=i,n.stopAnimation(),n.attr(Bv(i)),lP(n).lastProp=null,this._doDispatchAxisPointer()}},_doDispatchAxisPointer:function(){var t=this._handle;if(t){var e=this._payloadInfo,n=this._axisModel;this._api.dispatchAction({type:"updateAxisPointer",x:e.cursorPoint[0],y:e.cursorPoint[1],tooltipOption:e.tooltipOption,axesInfo:[{axisDim:n.axis.dim,axisIndex:n.componentIndex}]})}},_onHandleDragEnd:function(){this._dragging=!1;var t=this._handle;if(t){var e=this._axisPointerModel.get("value");this._moveHandleToValue(e),this._api.dispatchAction({type:"hideTip"})}},getHandleTransform:null,updateHandleTransform:null,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)},doClear:function(){},buildLabel:function(t,e,n){return n=n||0,{x:t[n],y:t[1-n],width:e[n],height:e[1-n]}}},Ev.prototype.constructor=Ev,er(Ev);var cP=Ev.extend({makeElOption:function(t,e,n,i,r){var a=n.axis,o=a.grid,s=i.get("type"),l=Uv(o,a).getOtherAxis(a).getGlobalExtent(),u=a.toGlobalCoord(a.dataToCoord(e,!0));if(s&&"none"!==s){var h=Gv(i),c=dP[s](a,u,l,h);c.style=h,t.graphicKey=c.type,t.pointer=c}var d=Ec(o.model,n);Yv(e,t,d,n,i,r)},getHandleTransform:function(t,e,n){var i=Ec(e.axis.grid.model,e,{labelInside:!1});return i.labelMargin=n.get("handle.margin"),{position:Xv(e.axis,t,i),rotation:i.rotation+(i.labelDirection<0?Math.PI:0)}},updateHandleTransform:function(t,e,n){var i=n.axis,r=i.grid,a=i.getGlobalExtent(!0),o=Uv(r,i).getOtherAxis(i).getGlobalExtent(),s="x"===i.dim?0:1,l=t.position; +l[s]+=e[s],l[s]=Math.min(a[1],l[s]),l[s]=Math.max(a[0],l[s]);var u=(o[1]+o[0])/2,h=[u,u];h[s]=l[s];var c=[{verticalAlign:"middle"},{align:"center"}];return{position:l,rotation:t.rotation,cursorPoint:h,tooltipOption:c[s]}}}),dP={line:function(t,e,n,i){var r=jv([e,n[0]],[e,n[1]],qv(t));return aa({shape:r,style:i}),{type:"Line",shape:r}},shadow:function(t,e,n){var i=Math.max(1,t.getBandWidth()),r=n[1]-n[0];return{type:"Rect",shape:Zv([e-i/2,n[0]],[i,r],qv(t))}}};wC.registerAxisPointerClass("CartesianAxisPointer",cP),Jl(function(t){if(t){(!t.axisPointer||0===t.axisPointer.length)&&(t.axisPointer={});var e=t.axisPointer.link;e&&!_(e)&&(t.axisPointer.link=[e])}}),Ql(wM.PROCESSOR.STATISTIC,function(t,e){t.getComponent("axisPointer").coordSysAxesInfo=wc(t,e)}),eu({type:"updateAxisPointer",event:"updateAxisPointer",update:":updateAxisPointer"},rP);var fP=["x","y"],pP=["width","height"],gP=Ev.extend({makeElOption:function(t,e,n,i,r){var a=n.axis,o=a.coordinateSystem,s=$v(o,1-Kv(a)),l=o.dataToPoint(e)[0],u=i.get("type");if(u&&"none"!==u){var h=Gv(i),c=mP[u](a,l,s,h);c.style=h,t.graphicKey=c.type,t.pointer=c}var d=gv(n);Yv(e,t,d,n,i,r)},getHandleTransform:function(t,e,n){var i=gv(e,{labelInside:!1});return i.labelMargin=n.get("handle.margin"),{position:Xv(e.axis,t,i),rotation:i.rotation+(i.labelDirection<0?Math.PI:0)}},updateHandleTransform:function(t,e,n){var i=n.axis,r=i.coordinateSystem,a=Kv(i),o=$v(r,a),s=t.position;s[a]+=e[a],s[a]=Math.min(o[1],s[a]),s[a]=Math.max(o[0],s[a]);var l=$v(r,1-a),u=(l[1]+l[0])/2,h=[u,u];return h[a]=s[a],{position:s,rotation:t.rotation,cursorPoint:h,tooltipOption:{verticalAlign:"middle"}}}}),mP={line:function(t,e,n,i){var r=jv([e,n[0]],[e,n[1]],Kv(t));return aa({shape:r,style:i}),{type:"Line",shape:r}},shadow:function(t,e,n){var i=t.getBandWidth(),r=n[1]-n[0];return{type:"Rect",shape:Zv([e-i/2,n[0]],[i,r],Kv(t))}}};wC.registerAxisPointerClass("SingleAxisPointer",gP),uu({type:"single"});var vP=2,yP=wI.extend({type:"series.themeRiver",dependencies:["singleAxis"],nameMap:null,init:function(){yP.superApply(this,"init",arguments),this.legendDataProvider=function(){return this.getRawData()}},fixData:function(t){var e=t.length,n=Ji(t,function(t){return t[2]}),i=[];n.buckets.each(function(t,e){i.push({name:e,dataList:t})});for(var r=i.length,a=-1,o=-1,s=0;r>s;++s){var l=i[s].dataList.length;l>a&&(a=l,o=s)}for(var u=0;r>u;++u)if(u!==o)for(var h=i[u].name,c=0;a>c;++c){for(var d=i[o].dataList[c][0],f=i[u].dataList.length,p=-1,g=0;f>g;++g){var m=i[u].dataList[g][0];if(m===d){p=g;break}}-1===p&&(t[e]=[],t[e][0]=d,t[e][1]=0,t[e][2]=h,e++)}return t},getInitialData:function(t,e){for(var n=e.queryComponents({mainType:"singleAxis",index:this.get("singleAxisIndex"),id:this.get("singleAxisId")})[0],i=n.get("type"),r=m(t.data,function(t){return void 0!==t[2]}),a=this.fixData(r||[]),o=[],s=this.nameMap=B(),l=0,u=0;ui;++i)n[i]=i;var r=t.mapDimension("single"),a=Ji(n,function(e){return t.get("name",e)}),o=[];return a.buckets.each(function(e,n){e.sort(function(e,n){return t.get(r,e)-t.get(r,n)}),o.push({name:n,indices:e})}),o},getAxisTooltipData:function(t,e){_(t)||(t=t?[t]:[]);for(var n,i=this.getData(),r=this.getLayerSeries(),a=[],o=r.length,s=0;o>s;++s){for(var l=Number.MAX_VALUE,u=-1,h=r[s].indices.length,c=0;h>c;++c){var d=i.get(t[0],r[s].indices[c]),f=Math.abs(d-e);l>=f&&(n=d,l=f,u=r[s].indices[c])}a.push(u)}return{dataIndices:a,nestestValue:n}},formatTooltip:function(t){var e=this.getData(),n=e.getName(t),i=e.get(e.mapDimension("value"),t);return(isNaN(i)||null==i)&&(i="-"),mo(n+" : "+i)},defaultOption:{zlevel:0,z:2,coordinateSystem:"singleAxis",boundaryGap:["10%","10%"],singleAxisIndex:0,animationEasing:"linear",label:{margin:4,show:!0,position:"left",color:"#000",fontSize:11},emphasis:{label:{show:!0}}}});cu({type:"themeRiver",init:function(){this._layers=[]},render:function(t){function e(t){return t.name}function n(e,n,s){var l=this._layers;if("remove"===e)return void r.remove(l[n]);for(var u,h=[],d=[],f=a[n].indices,p=0;pi[1]&&i.reverse(),{coordSys:{type:"polar",cx:t.cx,cy:t.cy,r:i[1],r0:i[0]},api:{coord:y(function(i){var r=e.dataToRadius(i[0]),a=n.dataToAngle(i[1]),o=t.coordToPoint([r,a]);return o.push(r,a*Math.PI/180),o}),size:y(Cy,t)}}},AP=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)}}}},LP=["itemStyle"],kP=["emphasis","itemStyle"],PP=["label"],NP=["emphasis","label"],EP="e\x00\x00",OP={cartesian2d:MP,geo:TP,singleAxis:CP,polar:DP,calendar:AP};wI.extend({type:"series.custom",dependencies:["grid","polar","geo","singleAxis","calendar"],defaultOption:{coordinateSystem:"cartesian2d",zlevel:0,z:2,legendHoverLink:!0,useTransform:!0},getInitialData:function(){return Gu(this.getSource(),this)},getDataParams:function(t,e,n){var i=wI.prototype.getDataParams.apply(this,arguments);return n&&(i.info=n.info),i}}),Hs.extend({type:"custom",_data:null,render:function(t,e,n,i){var r=this._data,a=t.getData(),o=this.group,s=ky(t,a,e,n);a.diff(r).add(function(e){Ny(null,e,s(e,i),t,o,a)}).update(function(e,n){var l=r.getItemGraphicEl(n);Ny(l,e,s(e,i),t,o,a)}).remove(function(t){var e=r.getItemGraphicEl(t);e&&o.remove(e)}).execute(),this._data=a},incrementalPrepareRender:function(){this.group.removeAll(),this._data=null},incrementalRender:function(t,e,n,i,r){function a(t){t.isGroup||(t.incremental=!0,t.useHoverLayer=!0)}for(var o=e.getData(),s=ky(e,o,n,i),l=t.start;l=0},defaultOption:{zlevel:0,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,inactiveColor:"#ccc",textStyle:{color:"#333"},selectedMode:!0,tooltip:{show:!1}}});eu("legendToggleSelect","legendselectchanged",x(Hy,"toggleSelected")),eu("legendSelect","legendselected",x(Hy,"select")),eu("legendUnSelect","legendunselected",x(Hy,"unSelect"));var zP=x,BP=f,VP=__,GP=uu({type:"legend.plain",newlineDisabled:!1,init:function(){this.group.add(this._contentGroup=new VP),this._backgroundEl,this._isFirstRender=!0},getContentGroup:function(){return this._contentGroup},render:function(t,e,n){var i=this._isFirstRender;if(this._isFirstRender=!1,this.resetInner(),t.get("show",!0)){var r=t.get("align");r&&"auto"!==r||(r="right"===t.get("left")&&"vertical"===t.get("orient")?"right":"left"),this.renderInner(r,t,e,n);var a=t.getBoxLayoutParams(),o={width:n.getWidth(),height:n.getHeight()},l=t.get("padding"),u=Co(a,o,l),h=this.layoutInner(t,r,u,i),c=Co(s({width:h.width,height:h.height},a),o,l);this.group.attr("position",[c.x-h.x,c.y-h.y]),this.group.add(this._backgroundEl=Xy(h,t))}},resetInner:function(){this.getContentGroup().removeAll(),this._backgroundEl&&this.group.remove(this._backgroundEl)},renderInner:function(t,e,n,i){var r=this.getContentGroup(),a=B(),o=e.get("selectedMode"),s=[];n.eachRawSeries(function(t){!t.get("legendHoverLink")&&s.push(t.id)}),BP(e.getData(),function(l,u){var h=l.get("name");if(!this.newlineDisabled&&(""===h||"\n"===h))return void r.add(new VP({newline:!0}));var c=n.getSeriesByName(h)[0];if(!a.get(h))if(c){var d=c.getData(),f=d.getVisual("color");"function"==typeof f&&(f=f(c.getDataParams(0)));var p=d.getVisual("legendSymbol")||"roundRect",g=d.getVisual("symbol"),m=this._createItem(h,u,l,e,p,g,t,f,o);m.on("click",zP(Yy,h,i)).on("mouseover",zP(jy,c.name,null,i,s)).on("mouseout",zP(Zy,c.name,null,i,s)),a.set(h,!0)}else n.eachRawSeries(function(n){if(!a.get(h)&&n.legendDataProvider){var r=n.legendDataProvider(),c=r.indexOfName(h);if(0>c)return;var d=r.getItemVisual(c,"color"),f="roundRect",p=this._createItem(h,u,l,e,f,null,t,d,o);p.on("click",zP(Yy,h,i)).on("mouseover",zP(jy,null,h,i,s)).on("mouseout",zP(Zy,null,h,i,s)),a.set(h,!0)}},this)},this)},_createItem:function(t,e,n,i,r,a,s,l,u){var h=i.get("itemWidth"),c=i.get("itemHeight"),d=i.get("inactiveColor"),f=i.get("symbolKeepAspect"),p=i.isSelected(t),g=new VP,m=n.getModel("textStyle"),v=n.get("icon"),y=n.getModel("tooltip"),x=y.parentModel;if(r=v||r,g.add(bh(r,0,0,h,c,p?l:d,null==f?!0:f)),!v&&a&&(a!==r||"none"===a)){var _=.8*c;"none"===a&&(a="circle"),g.add(bh(a,(h-_)/2,(c-_)/2,_,_,p?l:d,null==f?!0:f))}var w="left"===s?h+5:-5,b=s,S=i.get("formatter"),I=t;"string"==typeof S&&S?I=S.replace("{name}",null!=t?t:""):"function"==typeof S&&(I=S(t)),g.add(new Pb({style:Ia({},m,{text:I,x:w,y:c/2,textFill:p?m.getTextColor():d,textAlign:b,textVerticalAlign:"middle"})}));var M=new Xb({shape:g.getBoundingRect(),invisible:!0,tooltip:y.get("show")?o({content:t,formatter:x.get("formatter",!0)||function(){return t},formatterParams:{componentType:"legend",legendIndex:i.componentIndex,name:t,$vars:["name"]}},y.option):null});return g.add(M),g.eachChild(function(t){t.silent=!0}),M.silent=!u,this.getContentGroup().add(g),wa(g),g.__legendDataIndex=e,g},layoutInner:function(t,e,n){var i=this.getContentGroup();kS(t.get("orient"),i,t.get("itemGap"),n.width,n.height);var r=i.getBoundingRect();return i.attr("position",[-r.x,-r.y]),this.group.getBoundingRect()},remove:function(){this.getContentGroup().removeAll(),this._isFirstRender=!0}}),FP=function(t){var e=t.findComponents({mainType:"legend"});e&&e.length&&t.filterSeries(function(t){for(var n=0;nn[l],p=[-c.x,-c.y];i||(p[s]=r.position[s]);var g=[0,0],m=[-d.x,-d.y],v=A(t.get("pageButtonGap",!0),t.get("itemGap",!0));if(f){var y=t.get("pageButtonPosition",!0);"end"===y?m[s]+=n[l]-d[l]:g[s]+=d[l]+v}m[1-s]+=c[u]/2-d[u]/2,r.attr("position",p),a.attr("position",g),o.attr("position",m);var x=this.group.getBoundingRect(),x={x:0,y:0};if(x[l]=f?n[l]:c[l],x[u]=Math.max(c[u],d[u]),x[h]=Math.min(0,d[h]+m[1-s]),a.__rectSize=n[l],f){var _={x:0,y:0};_[l]=Math.max(n[l]-d[l]-v,0),_[u]=x[u],a.setClipPath(new Xb({shape:_})),a.__rectSize=_[l]}else o.eachChild(function(t){t.attr({invisible:!0,silent:!0})});var w=this._getPageInfo(t);return null!=w.pageIndex&&Ea(r,{position:w.contentPosition},f?t:!1),this._updatePageInfoView(t,w),x},_pageGo:function(t,e,n){var i=this._getPageInfo(e)[t];null!=i&&n.dispatchAction({type:"legendScroll",scrollDataIndex:i,legendId:e.id})},_updatePageInfoView:function(t,e){var n=this._controllerGroup;f(["pagePrev","pageNext"],function(i){var r=null!=e[i+"DataIndex"],a=n.childOfName(i);a&&(a.setStyle("fill",r?t.get("pageIconColor",!0):t.get("pageIconInactiveColor",!0)),a.cursor=r?"pointer":"default")});var i=n.childOfName("pageText"),r=t.get("pageFormatter"),a=e.pageIndex,o=null!=a?a+1:0,s=e.pageCount;i&&r&&i.setStyle("text",b(r)?r.replace("{current}",o).replace("{total}",s):r({current:o,total:s}))},_getPageInfo:function(t){function e(t){if(t){var e=t.getBoundingRect(),n=e[l]+t.position[o];return{s:n,e:n+e[s],i:t.__legendDataIndex}}}function n(t,e){return t.e>=e&&t.s<=e+a}var i=t.get("scrollDataIndex",!0),r=this.getContentGroup(),a=this._containerGroup.__rectSize,o=t.getOrient().index,s=XP[o],l=YP[o],u=this._findTargetItemIndex(i),h=r.children(),c=h[u],d=h.length,f=d?1:0,p={contentPosition:r.position.slice(),pageCount:f,pageIndex:f-1,pagePrevDataIndex:null,pageNextDataIndex:null};if(!c)return p;var g=e(c);p.contentPosition[o]=-g.s;for(var m=u+1,v=g,y=g,x=null;d>=m;++m)x=e(h[m]),(!x&&y.e>v.s+a||x&&!n(x,v.s))&&(v=y.i>v.i?y:x,v&&(null==p.pageNextDataIndex&&(p.pageNextDataIndex=v.i),++p.pageCount)),y=x;for(var m=u-1,v=g,y=g,x=null;m>=-1;--m)x=e(h[m]),x&&n(y,x.s)||!(v.i=0;){var l=r.indexOf(o),u=r.substr(s+a.length,l-s-a.length);i["marker"+u]=u.indexOf("sub")>-1?{textWidth:4,textHeight:4,textBorderRadius:2,textBackgroundColor:e[u],textOffset:[3,0]}:{textWidth:10,textHeight:10,textBorderRadius:5,textBackgroundColor:e[u]},r=r.substr(l+1),s=r.indexOf("{marker")}this.el=new Pb({style:{rich:i,text:t,textLineHeight:20,textBackgroundColor:n.get("backgroundColor"),textBorderRadius:n.get("borderRadius"),textFill:n.get("textStyle.color"),textPadding:n.get("padding")},z:n.get("z")}),this._zr.add(this.el);var h=this;this.el.on("mouseover",function(){h._enterable&&(clearTimeout(h._hideTimeout),h._show=!0),h._inContent=!0}),this.el.on("mouseout",function(){h._enterable&&h._show&&h.hideLater(h._hideDelay),h._inContent=!1})},setEnterable:function(t){this._enterable=t},getSize:function(){var t=this.el.getBoundingRect();return[t.width,t.height]},moveTo:function(t,e){this.el&&this.el.attr("position",[t,e])},hide:function(){this.el.hide(),this._show=!1},hideLater:function(t){!this._show||this._inContent&&this._enterable||(t?(this._hideDelay=t,this._show=!1,this._hideTimeout=setTimeout(y(this.hide,this),t)):this.hide())},isShow:function(){return this._show},getOuterSize:function(){return this.getSize()}};var $P=y,JP=f,QP=$a,tN=new Xb({shape:{x:-1,y:-1,width:2,height:2}});uu({type:"tooltip",init:function(t,e){if(!ux.node){var n=t.getComponent("tooltip"),i=n.get("renderMode");this._renderMode=$i(i);var r;"html"===this._renderMode?(r=new Jy(e.getDom(),e),this._newLine="
    "):(r=new Qy(e),this._newLine="\n"),this._tooltipContent=r}},render:function(t,e,n){if(!ux.node){this.group.removeAll(),this._tooltipModel=t,this._ecModel=e,this._api=n,this._lastDataByCoordSys=null,this._alwaysShowContent=t.get("alwaysShowContent");var i=this._tooltipContent;i.update(),i.setEnterable(t.get("enterable")),this._initGlobalListener(),this._keepShow()}},_initGlobalListener:function(){var t=this._tooltipModel,e=t.get("triggerOn");Cv("itemTooltip",this._api,$P(function(t,n,i){"none"!==e&&(e.indexOf(t)>=0?this._tryShow(n,i):"leave"===t&&this._hide(i))},this))},_keepShow:function(){var t=this._tooltipModel,e=this._ecModel,n=this._api;if(null!=this._lastX&&null!=this._lastY&&"none"!==t.get("triggerOn")){var i=this;clearTimeout(this._refreshUpdateTimeout),this._refreshUpdateTimeout=setTimeout(function(){i.manuallyShowTip(t,e,n,{x:i._lastX,y:i._lastY})})}},manuallyShowTip:function(t,e,n,i){if(i.from!==this.uid&&!ux.node){var r=ex(i,n);this._ticket="";var a=i.dataByCoordSys;if(i.tooltip&&null!=i.x&&null!=i.y){var o=tN;o.position=[i.x,i.y],o.update(),o.tooltip=i.tooltip,this._tryShow({offsetX:i.x,offsetY:i.y,target:o},r)}else if(a)this._tryShow({offsetX:i.x,offsetY:i.y,position:i.position,event:{},dataByCoordSys:i.dataByCoordSys,tooltipOption:i.tooltipOption},r);else if(null!=i.seriesIndex){if(this._manuallyAxisShowTip(t,e,n,i))return;var s=tP(i,e),l=s.point[0],u=s.point[1];null!=l&&null!=u&&this._tryShow({offsetX:l,offsetY:u,position:i.position,target:s.el,event:{}},r)}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,event:{}},r))}},manuallyHideTip:function(t,e,n,i){var r=this._tooltipContent;!this._alwaysShowContent&&this._tooltipModel&&r.hideLater(this._tooltipModel.get("hideDelay")),this._lastX=this._lastY=null,i.from!==this.uid&&this._hide(ex(i,n))},_manuallyAxisShowTip:function(t,e,n,i){var r=i.seriesIndex,a=i.dataIndex,o=e.getComponent("axisPointer").coordSysAxesInfo;if(null!=r&&null!=a&&null!=o){var s=e.getSeriesByIndex(r);if(s){var l=s.getData(),t=tx([l.getItemModel(a),s,(s.coordinateSystem||{}).model,t]);if("axis"===t.get("trigger"))return n.dispatchAction({type:"updateAxisPointer",seriesIndex:r,dataIndex:a,position:i.position}),!0}}},_tryShow:function(t,e){var n=t.target,i=this._tooltipModel;if(i){this._lastX=t.offsetX,this._lastY=t.offsetY;var r=t.dataByCoordSys;r&&r.length?this._showAxisTooltip(r,t):n&&null!=n.dataIndex?(this._lastDataByCoordSys=null,this._showSeriesItemTooltip(t,n,e)):n&&n.tooltip?(this._lastDataByCoordSys=null,this._showComponentItemTooltip(t,n,e)):(this._lastDataByCoordSys=null,this._hide(e))}},_showOrMove:function(t,e){var n=t.get("showDelay");e=y(e,this),clearTimeout(this._showTimout),n>0?this._showTimout=setTimeout(e,n):e()},_showAxisTooltip:function(t,e){var n=this._ecModel,i=this._tooltipModel,a=[e.offsetX,e.offsetY],o=[],s=[],l=tx([e.tooltipOption,i]),u=this._renderMode,h=this._newLine,c={};JP(t,function(t){JP(t.dataByAxis,function(t){var e=n.getComponent(t.axisDim+"Axis",t.axisIndex),i=t.value,a=[];if(e&&null!=i){var l=Hv(i,e.axis,n,t.seriesDataIndices,t.valueLabelOpt);f(t.seriesDataIndices,function(o){var h=n.getSeriesByIndex(o.seriesIndex),d=o.dataIndexInside,f=h&&h.getDataParams(d);if(f.axisDim=t.axisDim,f.axisIndex=t.axisIndex,f.axisType=t.axisType,f.axisId=t.axisId,f.axisValue=mh(e.axis,i),f.axisValueLabel=l,f){s.push(f);var p,g=h.formatTooltip(d,!0,null,u);if(S(g)){p=g.html;var m=g.markers;r(c,m)}else p=g;a.push(p)}});var d=l;o.push("html"!==u?a.join(h):(d?mo(d)+h:"")+a.join(h))}})},this),o.reverse(),o=o.join(this._newLine+this._newLine);var d=e.position;this._showOrMove(l,function(){this._updateContentNotChangedOnAxis(t)?this._updatePosition(l,d,a[0],a[1],this._tooltipContent,s):this._showTooltipContent(l,o,s,Math.random(),a[0],a[1],d,void 0,c)})},_showSeriesItemTooltip:function(t,e,n){var i=this._ecModel,r=e.seriesIndex,a=i.getSeriesByIndex(r),o=e.dataModel||a,s=e.dataIndex,l=e.dataType,u=o.getData(),h=tx([u.getItemModel(s),o,a&&(a.coordinateSystem||{}).model,this._tooltipModel]),c=h.get("trigger");if(null==c||"item"===c){var d,f,p=o.getDataParams(s,l),g=o.formatTooltip(s,!1,l,this._renderMode);S(g)?(d=g.html,f=g.markers):(d=g,f=null);var m="item_"+o.name+"_"+s;this._showOrMove(h,function(){this._showTooltipContent(h,d,p,m,t.offsetX,t.offsetY,t.position,t.target,f)}),n({type:"showTip",dataIndexInside:s,dataIndex:u.getRawIndex(s),seriesIndex:r,from:this.uid})}},_showComponentItemTooltip:function(t,e,n){var i=e.tooltip;if("string"==typeof i){var r=i;i={content:r,formatter:r}}var a=new Ha(i,this._tooltipModel,this._ecModel),o=a.get("content"),s=Math.random();this._showOrMove(a,function(){this._showTooltipContent(a,o,a.get("formatterParams")||{},s,t.offsetX,t.offsetY,t.position,e)}),n({type:"showTip",from:this.uid})},_showTooltipContent:function(t,e,n,i,r,a,o,s,l){if(this._ticket="",t.get("showContent")&&t.get("show")){var u=this._tooltipContent,h=t.get("formatter");o=o||t.get("position");var c=e;if(h&&"string"==typeof h)c=vo(h,n,!0);else if("function"==typeof h){var d=$P(function(e,i){e===this._ticket&&(u.setContent(i,l,t),this._updatePosition(t,o,r,a,u,n,s))},this);this._ticket=i,c=h(n,i,d)}u.setContent(c,l,t),u.show(t),this._updatePosition(t,o,r,a,u,n,s) +}},_updatePosition:function(t,e,n,i,r,a,o){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"),d=o&&o.getBoundingRect().clone();if(o&&d.applyTransform(o.transform),"function"==typeof e&&(e=e([n,i],a,r.el,d,{viewSize:[s,l],contentSize:u.slice()})),_(e))n=QP(e[0],s),i=QP(e[1],l);else if(S(e)){e.width=u[0],e.height=u[1];var f=Co(e,{width:s,height:l});n=f.x,i=f.y,h=null,c=null}else if("string"==typeof e&&o){var p=rx(e,d,u);n=p[0],i=p[1]}else{var p=nx(n,i,r,s,l,h?null:20,c?null:20);n=p[0],i=p[1]}if(h&&(n-=ax(h)?u[0]/2:"right"===h?u[0]:0),c&&(i-=ax(c)?u[1]/2:"bottom"===c?u[1]:0),t.get("confine")){var p=ix(n,i,r,s,l);n=p[0],i=p[1]}r.moveTo(n,i)},_updateContentNotChangedOnAxis:function(t){var e=this._lastDataByCoordSys,n=!!e&&e.length===t.length;return n&&JP(e,function(e,i){var r=e.dataByAxis||{},a=t[i]||{},o=a.dataByAxis||[];n&=r.length===o.length,n&&JP(r,function(t,e){var i=o[e]||{},r=t.seriesDataIndices||[],a=i.seriesDataIndices||[];n&=t.value===i.value&&t.axisType===i.axisType&&t.axisId===i.axisId&&r.length===a.length,n&&JP(r,function(t,e){var i=a[e];n&=t.seriesIndex===i.seriesIndex&&t.dataIndex===i.dataIndex})})}),this._lastDataByCoordSys=t,!!n},_hide:function(t){this._lastDataByCoordSys=null,t({type:"hideTip",from:this.uid})},dispose:function(t,e){ux.node||(this._tooltipContent.hide(),Nv("itemTooltip",e))}}),eu({type:"showTip",event:"showTip",update:"tooltip:manuallyShowTip"},function(){}),eu({type:"hideTip",event:"hideTip",update:"tooltip:manuallyHideTip"},function(){}),t.version=cM,t.dependencies=dM,t.PRIORITY=wM,t.init=Yl,t.connect=jl,t.disConnect=Zl,t.disconnect=FM,t.dispose=Ul,t.getInstanceByDom=ql,t.getInstanceById=Kl,t.registerTheme=$l,t.registerPreprocessor=Jl,t.registerProcessor=Ql,t.registerPostUpdate=tu,t.registerAction=eu,t.registerCoordinateSystem=nu,t.getCoordinateSystemDimensions=iu,t.registerLayout=ru,t.registerVisual=au,t.registerLoading=su,t.extendComponentModel=lu,t.extendComponentView=uu,t.extendSeriesModel=hu,t.extendChartView=cu,t.setCanvasCreator=du,t.registerMap=fu,t.getMap=pu,t.dataTool=WM,t.zrender=gw,t.number=_S,t.format=CS,t.throttle=Us,t.helper=HT,t.matrix=Wx,t.vector=Lx,t.color=s_,t.parseGeoJSON=YT,t.parseGeoJson=qT,t.util=KT,t.graphic=$T,t.List=tT,t.Model=Ha,t.Axis=UT,t.env=ux}); \ No newline at end of file From 1c97b5e1fb283992048d8766dba71a9ad55b5385 Mon Sep 17 00:00:00 2001 From: "taylor.dang" Date: Tue, 16 Apr 2019 18:42:23 +0800 Subject: [PATCH 30/59] =?UTF-8?q?[Y]=20=E7=88=B6=E5=95=86=E6=88=B7?= =?UTF-8?q?=E5=A4=84=E7=90=86=E5=AD=90=E5=95=86=E6=88=B7=E4=BA=A4=E6=98=93?= =?UTF-8?q?=E9=AA=8C=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tradelog/refund/impls/RefundServiceImpl.java | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/tradelog/refund/impls/RefundServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/tradelog/refund/impls/RefundServiceImpl.java index 1ace7eb97..e7b38ef44 100644 --- a/src/main/java/au/com/royalpay/payment/manage/tradelog/refund/impls/RefundServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/tradelog/refund/impls/RefundServiceImpl.java @@ -75,17 +75,14 @@ public class RefundServiceImpl implements RefundService, ApplicationEventPublish @Override public JSONObject checkOrderRefundAmount(String orderId, JSONObject account) { JSONObject order = orderMapper.getOrderDetail(orderId); - if (account != null) { + if (account != null && (account.getIntValue("client_id") != order.getIntValue("client_id"))) { JSONObject client = clientMapper.findClient(account.getIntValue("client_id")); ////父商户全局管理子商户时候,跳过 - if (account.getIntValue("client_id") != order.getIntValue("client_id")) { - JSONObject clientOrder = clientMapper.findClient(order.getIntValue("client_id")); - if(!(client.getBoolean("sub_manage") && - clientOrder.containsKey("parent_client_id")?clientOrder.getIntValue("parent_client_id")==client.getIntValue("client_id"):false)){ - throw new ForbiddenException("Order is not belong to your shop/merchant"); - } - - + JSONObject orderTargetClient = clientMapper.findClient(order.getIntValue("client_id")); + if (orderTargetClient.getIntValue("parent_client_id") != account.getIntValue("client_id")) { + throw new ForbiddenException("Order is not belong to your shop/merchant"); + } else if (!client.getBooleanValue("sub_manage")) { + throw new ForbiddenException("Order is not belong to your shop/merchant"); } } Assert.notNull(order, "Order Not Exists"); From 4f197125db704a82a496b9b73075e70cb5b9a0e9 Mon Sep 17 00:00:00 2001 From: todking Date: Wed, 17 Apr 2019 13:24:53 +0800 Subject: [PATCH 31/59] =?UTF-8?q?=20tod=202019/4/17=20=E5=B0=86=E5=BC=80?= =?UTF-8?q?=E5=85=B3(Sub=20Partners=20Manage)=E7=A7=BB=E5=8A=A8=E5=AD=90?= =?UTF-8?q?=E5=95=86=E6=88=B7=E9=A1=B5=E9=9D=A2=20=E5=B9=B6=E5=8A=A0?= =?UTF-8?q?=E4=B8=8A=E6=B3=A8=E9=87=8A:=E5=BC=80=E5=90=AF=E5=90=8E?= =?UTF-8?q?=EF=BC=8C=E7=88=B6=E5=95=86=E6=88=B7=E5=85=B7=E6=9C=89=E5=B8=AE?= =?UTF-8?q?=E5=AD=90=E5=95=86=E6=88=B7=E6=96=B0=E5=BB=BA=E8=B4=A6=E6=88=B7?= =?UTF-8?q?=E3=80=81=E9=80=80=E6=AC=BE=E7=AD=89=E7=AE=A1=E7=90=86=E6=9D=83?= =?UTF-8?q?=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../static/payment/partner/partner-manage.js | 28 +++++++++++++++++++ .../templates/partner_payment_info.html | 12 ++++---- .../partner/templates/sub_partners.html | 8 ++++++ 3 files changed, 42 insertions(+), 6 deletions(-) diff --git a/src/main/ui/static/payment/partner/partner-manage.js b/src/main/ui/static/payment/partner/partner-manage.js index a31f477fb..e02afa9eb 100644 --- a/src/main/ui/static/payment/partner/partner-manage.js +++ b/src/main/ui/static/payment/partner/partner-manage.js @@ -2115,6 +2115,34 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter }; $scope.loadSubClients(); + $scope.loadPartnerPaymentInfo = function () { + $http.get('/sys/partners/' + $scope.partner.client_moniker).then(function (resp) { + $scope.paymentInfo = resp.data; + + }) + }; + $scope.loadPartnerPaymentInfo(); + + $scope.switchSubManage = function () { + if (!$scope.paymentInfo) { + return; + } + if (!$scope.init.sub_manage) { + $scope.init.sub_manage = true; + return; + } + $http.put('/sys/partners/' + $scope.partner.client_moniker + '/sub_manage', {allow: $scope.paymentInfo.sub_manage}).then(function () { + //$scope.loadPartnerPaymentInfo(); + }, function (resp) { + commonDialog.alert({ + title: 'Failed to change Sub Partners Manage status', + content: resp.data.message, + type: 'error' + }) + }) + }; + + }]); app.controller('partnerRatesCtrl', ['$scope', '$rootScope', '$http', '$uibModal', 'commonDialog','$sce', function ($scope, $rootScope, $http, $uibModal, commonDialog,$sce) { $scope.bankCtrl = {edit: true, rate_name: 'Wechat'}; diff --git a/src/main/ui/static/payment/partner/templates/partner_payment_info.html b/src/main/ui/static/payment/partner/templates/partner_payment_info.html index 874056b74..55581c14f 100644 --- a/src/main/ui/static/payment/partner/templates/partner_payment_info.html +++ b/src/main/ui/static/payment/partner/templates/partner_payment_info.html @@ -184,12 +184,12 @@ -
    - -
    - -
    -
    + + + + + + diff --git a/src/main/ui/static/payment/partner/templates/sub_partners.html b/src/main/ui/static/payment/partner/templates/sub_partners.html index 0181164e9..baf3b04cd 100644 --- a/src/main/ui/static/payment/partner/templates/sub_partners.html +++ b/src/main/ui/static/payment/partner/templates/sub_partners.html @@ -1,9 +1,17 @@
    + +
    +
    + Sub Partners Manage +
    +
    +
    +
    From 34ed13168039e9d4bceb9cbc5781fb546a5723b0 Mon Sep 17 00:00:00 2001 From: yixian Date: Wed, 17 Apr 2019 14:08:19 +0800 Subject: [PATCH 32/59] financial surcharge account detail analysis process fix --- .../ClearingDistributedSurchargeMapper.java | 4 +- ...FinancialSurchargeAccountDetailMapper.java | 1 - .../impl/SurchargeAccountServiceImpl.java | 70 ++++++++++++------- src/main/resources/application.properties | 6 ++ .../ClearingDistributedSurchargeMapper.xml | 40 +++++++---- 5 files changed, 81 insertions(+), 40 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClearingDistributedSurchargeMapper.java b/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClearingDistributedSurchargeMapper.java index 02e44f2c3..d2d83d1a4 100644 --- a/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClearingDistributedSurchargeMapper.java +++ b/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClearingDistributedSurchargeMapper.java @@ -1,11 +1,11 @@ package au.com.royalpay.payment.manage.mappers.system; -import cn.yixblog.support.mybatis.autosql.annotations.AdvanceSelect; import cn.yixblog.support.mybatis.autosql.annotations.AutoMapper; import cn.yixblog.support.mybatis.autosql.annotations.AutoSql; import cn.yixblog.support.mybatis.autosql.annotations.SqlType; import com.alibaba.fastjson.JSONObject; import org.apache.ibatis.annotations.Param; +import org.joda.time.DateTime; import java.util.Date; import java.util.List; @@ -22,4 +22,6 @@ public interface ClearingDistributedSurchargeMapper { List getMonthDetailByClientId(@Param("datefrom") Date datefrom, @Param("dateto") Date dateto); List findTransactionsByDate(JSONObject params); + + List listUnClearedByMonth(@Param("dateto") DateTime dateTo); } diff --git a/src/main/java/au/com/royalpay/payment/manage/mappers/system/FinancialSurchargeAccountDetailMapper.java b/src/main/java/au/com/royalpay/payment/manage/mappers/system/FinancialSurchargeAccountDetailMapper.java index eb598b9b4..776fae644 100644 --- a/src/main/java/au/com/royalpay/payment/manage/mappers/system/FinancialSurchargeAccountDetailMapper.java +++ b/src/main/java/au/com/royalpay/payment/manage/mappers/system/FinancialSurchargeAccountDetailMapper.java @@ -6,7 +6,6 @@ import cn.yixblog.support.mybatis.autosql.annotations.SqlType; import com.alibaba.fastjson.JSONObject; import org.apache.ibatis.annotations.Param; -import java.util.Date; import java.util.List; diff --git a/src/main/java/au/com/royalpay/payment/manage/surchargeAccount/core/impl/SurchargeAccountServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/surchargeAccount/core/impl/SurchargeAccountServiceImpl.java index 9d4834288..b0152641c 100644 --- a/src/main/java/au/com/royalpay/payment/manage/surchargeAccount/core/impl/SurchargeAccountServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/surchargeAccount/core/impl/SurchargeAccountServiceImpl.java @@ -11,7 +11,7 @@ import au.com.royalpay.payment.tools.exceptions.ServerErrorException; import au.com.royalpay.payment.tools.lock.Locker; import au.com.royalpay.payment.tools.permission.enums.ManagerRole; import com.alibaba.fastjson.JSONObject; -import org.apache.commons.lang3.time.DateFormatUtils; +import org.joda.time.DateTime; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; @@ -19,13 +19,14 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.Calendar; +import java.util.Comparator; import java.util.Date; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; @Service -public class SurchargeAccountServiceImpl implements SurchargeAccountService{ +public class SurchargeAccountServiceImpl implements SurchargeAccountService { @Resource private ClearingDistributedSurchargeMapper clearingDistributedSurchargeMapper; @@ -41,28 +42,45 @@ public class SurchargeAccountServiceImpl implements SurchargeAccountService{ @Override @Transactional - public void generatorMonthDetail(){ - Calendar monthCal = Calendar.getInstance(); - monthCal.setTime(new Date()); - monthCal.set(Calendar.DAY_OF_MONTH, 1); - monthCal.set(Calendar.HOUR_OF_DAY, 0); - monthCal.set(Calendar.MINUTE, 0); - monthCal.set(Calendar.SECOND, 0); - Date dateto = monthCal.getTime(); - monthCal.set(Calendar.MONTH, (monthCal.get(Calendar.MONTH) - 1)); - Date datefrom = monthCal.getTime(); - logger.info("===============Start generator surcharge account month detail===============" + new Date()); - List thisMonthDetail = clearingDistributedSurchargeMapper.getMonthDetailByClientId(datefrom, dateto); - logger.info("this month details : " + thisMonthDetail.toString()); - for (JSONObject detail : thisMonthDetail) { + public void generatorMonthDetail() { + DateTime dateTo = DateTime.now().withMillisOfDay(0).withDayOfMonth(1); + logger.info("===============Start generator surcharge account month detail==============={}", new Date()); + List surchargeTransactions = clearingDistributedSurchargeMapper.listUnClearedByMonth(dateTo); + Map> clientsDistributed = surchargeTransactions.stream().collect(Collectors.groupingBy(trans -> trans.getInteger("client_id"))); + for (Map.Entry> clientEntry : clientsDistributed.entrySet()) { + int clientId = clientEntry.getKey(); + List surchargeTrans = clientEntry.getValue(); + surchargeTrans.sort(Comparator.comparing(trans -> trans.getDate("create_time"))); + JSONObject detail = new JSONObject(); + detail.put("client_id", clientId); + detail.put("settle_month", dateTo.toString("yyyy-MM")); + BigDecimal creditAmount = surchargeTrans.stream() + .filter(trans -> "Credit".equals(trans.getString("type"))) + .map(trans -> trans.getBigDecimal("amount")) + .reduce(BigDecimal::add).orElse(BigDecimal.ZERO); + BigDecimal debitAmount = surchargeTrans.stream() + .filter(trans -> "Debit".equals(trans.getString("type"))) + .map(trans -> trans.getBigDecimal("amount")) + .reduce(BigDecimal::add).orElse(BigDecimal.ZERO); + detail.put("credit_amount", creditAmount); + detail.put("debit_amount", debitAmount); + JSONObject lastTrans = surchargeTrans.stream().max(Comparator.comparing(trans -> trans.getDate("create_time"))) + .orElse(null); + BigDecimal postBalance; + if (lastTrans == null) { + JSONObject account = clientsSurchargeAccountsMapper.find(clientId); + postBalance = account == null ? BigDecimal.ZERO : account.getBigDecimal("balance"); + } else { + postBalance = lastTrans.getBigDecimal("post_balance"); + } + detail.put("post_balance", postBalance); detail.put("send_mail", 0); detail.put("wx_send", 0); - detail.put("settle_month", DateFormatUtils.format(datefrom, "yyyy-MM")); detail.put("create_time", new Date()); detail.put("is_valid", 0); financialSurchargeAccountDetailMapper.save(detail); } - logger.info("===============generator OVER===============" + new Date()); + logger.info("===============generator OVER==============={}", new Date()); } @Override @@ -88,12 +106,12 @@ public class SurchargeAccountServiceImpl implements SurchargeAccountService{ transaction.put("client_id", detail.getIntValue("client_id")); transaction.put("type", "Credit"); transaction.put("total_surcharge", BigDecimal.ZERO); - transaction.put("tax_amount", BigDecimal.ZERO); - transaction.put("amount", detail.getBigDecimal("debit_amount").negate()); - transaction.put("post_balance", surcharge_account.getBigDecimal("balance").add(transaction.getBigDecimal("amount"))); - transaction.put("operation", manager.getString("manager_id")); - transaction.put("create_time", new Date()); - transaction.put("remark", detail.getString("settle_month")+"冲正"); + transaction.put("tax_amount", BigDecimal.ZERO); + transaction.put("amount", detail.getBigDecimal("debit_amount").negate()); + transaction.put("post_balance", surcharge_account.getBigDecimal("balance").add(transaction.getBigDecimal("amount"))); + transaction.put("operation", manager.getString("manager_id")); + transaction.put("create_time", new Date()); + transaction.put("remark", detail.getString("settle_month") + "冲正"); clearingDistributedSurchargeMapper.save(transaction); surcharge_account.put("balance", surcharge_account.getBigDecimal("balance").add(transaction.getBigDecimal("amount"))); diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 41b30e865..21d2a1d39 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -130,6 +130,12 @@ settle.abafile.bank.ANZ.bsb=013006 settle.abafile.bank.ANZ.account-no=837022519 settle.abafile.bank.ANZ.account-name=Tunnel Show Pty Ltd +settle.abafile.bank.NAB.manual-sending=true +settle.abafile.bank.NAB.bank=NAB +settle.abafile.bank.NAB.apca=514624 +settle.abafile.bank.NAB.bsb=013006 +settle.abafile.bank.NAB.account-no=837022519 +settle.abafile.bank.NAB.account-name=Tunnel Show Pty Ltd # 瀚银Secure app.hanyin-secure.pid=ROYALPAY diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClearingDistributedSurchargeMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClearingDistributedSurchargeMapper.xml index 5632543bf..ee20d54d6 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClearingDistributedSurchargeMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClearingDistributedSurchargeMapper.xml @@ -3,31 +3,47 @@ + \ No newline at end of file From 28696ce91b6be19339f5de41713f61046f2ce1b3 Mon Sep 17 00:00:00 2001 From: luoyang Date: Wed, 17 Apr 2019 14:54:36 +0800 Subject: [PATCH 33/59] =?UTF-8?q?add=20=E4=BB=A3=E7=90=86=E5=95=86?= =?UTF-8?q?=E6=8F=90=E6=88=90=E4=B8=8B=E8=BD=BD=E8=A1=A8=E6=A0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/CityPartnerPrizeService.java | 4 +- .../impls/CityPartnerPrizeServiceImpl.java | 167 +++++++++++++----- .../web/CityPartnerPrizeController.java | 6 + .../FinancialPartnerCommissionMapper.xml | 6 +- .../templates/org_commission_month.html | 3 + 5 files changed, 135 insertions(+), 51 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/citypartner/core/CityPartnerPrizeService.java b/src/main/java/au/com/royalpay/payment/manage/citypartner/core/CityPartnerPrizeService.java index b52486f5c..105c627c1 100644 --- a/src/main/java/au/com/royalpay/payment/manage/citypartner/core/CityPartnerPrizeService.java +++ b/src/main/java/au/com/royalpay/payment/manage/citypartner/core/CityPartnerPrizeService.java @@ -2,6 +2,7 @@ package au.com.royalpay.payment.manage.citypartner.core; import com.alibaba.fastjson.JSONObject; +import javax.servlet.http.HttpServletResponse; import java.util.List; /** @@ -43,6 +44,5 @@ public interface CityPartnerPrizeService { JSONObject getSenior(String monthStr, String orgId); - - + void exportMonthFiles(String monthStr, HttpServletResponse httpResponse) throws Exception; } diff --git a/src/main/java/au/com/royalpay/payment/manage/citypartner/core/impls/CityPartnerPrizeServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/citypartner/core/impls/CityPartnerPrizeServiceImpl.java index d74261ca3..0e2c3bf07 100644 --- a/src/main/java/au/com/royalpay/payment/manage/citypartner/core/impls/CityPartnerPrizeServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/citypartner/core/impls/CityPartnerPrizeServiceImpl.java @@ -31,6 +31,11 @@ import org.apache.commons.lang3.RandomStringUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.time.DateFormatUtils; import org.apache.commons.lang3.time.DateUtils; +import org.apache.poi.hssf.usermodel.HSSFCellStyle; +import org.apache.poi.hssf.usermodel.HSSFFont; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.hssf.util.HSSFColor; +import org.apache.poi.ss.usermodel.*; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -182,7 +187,7 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService { private Date parseMonth(String monthStr) { try { - return DateUtils.parseDate(monthStr, new String[] { "yyyy-MM" }); + return DateUtils.parseDate(monthStr, new String[]{"yyyy-MM"}); } catch (ParseException e) { throw new BadRequestException("Invalid month format"); } @@ -203,7 +208,7 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService { return null; } - String tableColumn[] = { "gross_amount", "total_charge", "royalpay_charge", "org_charge", "net_charge" }; + String tableColumn[] = {"gross_amount", "total_charge", "royalpay_charge", "org_charge", "net_charge"}; List recordIds = new ArrayList<>(); Map chargeResultMap = new HashMap<>(); @@ -274,7 +279,7 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService { sumResult.put("net_charge", netCharge); sumResult.put("client_moniker", clientMoniker); sumResult.put("channel_detail", entry.getValue()); - sumResult.put("type",type); + sumResult.put("type", type); partnerClientInfos.add(sumResult); } result.put("partner_client_infos", partnerClientInfos); @@ -390,7 +395,7 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService { int month = monthCal.get(Calendar.MONTH) + 1; List list = financialPartnerCommissionMapper.list(year, month); - if (list!=null &&list.size() > 0) { + if (list != null && list.size() > 0) { throw new ServerErrorException("请不要重复生成合伙人记录"); } @@ -430,7 +435,7 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService { // shall never happen throw new ServerErrorException("Organization Id not exists:" + orgId); } - if (org.getInteger("commission_type")!=1) { + if (org.getInteger("commission_type") != 1) { generateold(monthStr); return; } @@ -438,7 +443,7 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService { List items = oneOrg.getValue(); Map> groupByChannelMap = items.stream().collect(Collectors.groupingBy(e -> e.getString("channel"))); - List channelAmount = orgChannelAmount(org,groupByChannelMap, channelCharge); + List channelAmount = orgChannelAmount(org, groupByChannelMap, channelCharge); for (JSONObject channel : channelAmount) { channel.put("share_charge", 0); channel.put("month", month); @@ -454,7 +459,7 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService { JSONObject org = orgMapper.findOne(oneClient.getValue().get(0).getInteger("org_id")); Map> groupByChannel = oneClient.getValue().stream().collect(Collectors.groupingBy(e -> e.getString("channel"))); - List clientChannelAmount = clientChannelAmount(oneClient.getKey(),org, groupByChannel, channelCharge,year,month,1); + List clientChannelAmount = clientChannelAmount(oneClient.getKey(), org, groupByChannel, channelCharge, year, month, 1); for (JSONObject channel : clientChannelAmount) { financialPartnerCommissionDetailMapper.save(channel); } @@ -471,7 +476,7 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService { } - public List orgChannelAmount(JSONObject orgInfo,Map> channelMap,JSONObject channelCharge) { + public List orgChannelAmount(JSONObject orgInfo, Map> channelMap, JSONObject channelCharge) { List amountByChannel = new ArrayList<>(); for (Map.Entry> oneChannel : channelMap.entrySet()) { @@ -487,7 +492,7 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService { if (orgInfo.get("cb_bankpay_rate_value") == null) { throw new ServerErrorException(orgInfo.getString("name") + "组织下" + "cbbankpay" + "成本手续费未设置"); } - }else { + } else { if (orgInfo.get(channel.toLowerCase() + "_rate_value") == null) { throw new ServerErrorException(orgInfo.getString("name") + "组织下" + oneChannel.getKey() + "成本手续费未设置"); } @@ -502,14 +507,14 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService { total = total.add(tmpClearingAmount); total_surage = total_surage.add(tmpTotalSurcharge).setScale(i, RoundingMode.HALF_UP); royalpay_surage = royalpay_surage.add(tmpClearingAmount.multiply(channelRate).setScale(i, RoundingMode.HALF_UP)); - // net_surage = net_surage.add(getThirdPartyCharge(params.getString("channel"), params.getBigDecimal("clearing_amount"), channelCharge)); + // net_surage = net_surage.add(getThirdPartyCharge(params.getString("channel"), params.getBigDecimal("clearing_amount"), channelCharge)); net_surage = net_surage.add(params.getBigDecimal("channel_surcharge")); } BigDecimal org_charge = total_surage.subtract(royalpay_surage); - json.put("channel",oneChannel.getKey()); - json.put("gross_amount",total); - json.put("total_charge",total_surage); - json.put("net_charge",net_surage); + json.put("channel", oneChannel.getKey()); + json.put("gross_amount", total); + json.put("total_charge", total_surage); + json.put("net_charge", net_surage); json.put("org_rate", orgInfo.getBigDecimal(channel.toLowerCase() + "_rate_value")); json.put("royalpay_charge", royalpay_surage); json.put("org_charge", org_charge); @@ -518,10 +523,10 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService { amountByChannel.add(json); } - return amountByChannel; + return amountByChannel; } - public List parentOrgChannelAmount(JSONObject orgInfo,JSONObject parentOrgInfo,Map> channelMap,JSONObject channelCharge) { + public List parentOrgChannelAmount(JSONObject orgInfo, JSONObject parentOrgInfo, Map> channelMap, JSONObject channelCharge) { List amountByChannel = new ArrayList<>(); for (Map.Entry> oneChannel : channelMap.entrySet()) { @@ -549,14 +554,14 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService { royalpay_surage = royalpay_surage.add(roy_surage); //net_surage = net_surage.add(getThirdPartyCharge(params.getString("channel"), params.getBigDecimal("clearing_amount"), channelCharge)); net_surage = net_surage.add(params.getBigDecimal("channel_surcharge")); - share_surage = share_surage.add(roy_surage.subtract(parent_surage)).setScale(i,RoundingMode.HALF_UP); + share_surage = share_surage.add(roy_surage.subtract(parent_surage)).setScale(i, RoundingMode.HALF_UP); } BigDecimal org_charge = total_surage.subtract(royalpay_surage); - json.put("channel",oneChannel.getKey()); - json.put("gross_amount",total); - json.put("total_charge",total_surage); - json.put("net_charge",net_surage); + json.put("channel", oneChannel.getKey()); + json.put("gross_amount", total); + json.put("total_charge", total_surage); + json.put("net_charge", net_surage); json.put("org_rate", orgInfo.getBigDecimal(channel.toLowerCase() + "_rate_value")); json.put("partner_charge", royalpay_surage); json.put("share_charge", share_surage); @@ -570,7 +575,7 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService { } //type 1:一级代理 2:二级代理 - public List clientChannelAmount(int clientId,JSONObject orgInfo,Map> channelMap,JSONObject channelCharge,int year,int month,int type) { + public List clientChannelAmount(int clientId, JSONObject orgInfo, Map> channelMap, JSONObject channelCharge, int year, int month, int type) { List amountByChannel = new ArrayList<>(); for (Map.Entry> oneChannel : channelMap.entrySet()) { @@ -599,10 +604,10 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService { BigDecimal tmpTotalSurcharge = tmpClearingAmount.multiply(params.getBigDecimal("surcharge_rate")).setScale(2, RoundingMode.HALF_UP); //增加货币判断 int i = currencyScale(params.getString("clearing_currency")); - if (total.compareTo(BigDecimal.ZERO)==0 ) { + if (total.compareTo(BigDecimal.ZERO) == 0) { datefrom = params.getDate("transaction_time"); dateto = params.getDate("transaction_time"); - }else { + } else { if (params.getDate("transaction_time").before(datefrom)) { datefrom = params.getDate("transaction_time"); } @@ -618,29 +623,29 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService { net_surage = net_surage.add(params.getBigDecimal("channel_surcharge")); } BigDecimal org_charge = total_surage.subtract(royalpay_surage); - if(channel.toLowerCase().equals("alipay_direct")){ + if (channel.toLowerCase().equals("alipay_direct")) { channel = channel.replace("_", ""); } - json.put("channel",oneChannel.getKey()); + json.put("channel", oneChannel.getKey()); - json.put("record_id",recordId); - json.put("client_id",clientId); - json.put("client_rate",oneChannel.getValue().get(0).getBigDecimal("surcharge_rate").multiply(CommonConsts.HUNDRED)); - json.put("gross_amount",total); - json.put("total_charge",total_surage); + json.put("record_id", recordId); + json.put("client_id", clientId); + json.put("client_rate", oneChannel.getValue().get(0).getBigDecimal("surcharge_rate").multiply(CommonConsts.HUNDRED)); + json.put("gross_amount", total); + json.put("total_charge", total_surage); json.put("org_rate", orgInfo.getBigDecimal(channel.toLowerCase() + "_rate_value")); json.put("royalpay_charge", royalpay_surage); if (type == 1) { - json.put("net_charge",net_surage); + json.put("net_charge", net_surage); } if (type == 2) { - json.put("org_net_charge",net_surage); + json.put("org_net_charge", net_surage); } json.put("org_charge", org_charge); json.put("commission_type", "1"); json.put("create_time", new Date()); - json.put("date_from", DateFormatUtils.format(datefrom,"yyyy-MM-dd")); - json.put("date_to", DateFormatUtils.format(dateto,"yyyy-MM-dd")); + json.put("date_from", DateFormatUtils.format(datefrom, "yyyy-MM-dd")); + json.put("date_to", DateFormatUtils.format(dateto, "yyyy-MM-dd")); json.put("year", year); json.put("month", month); amountByChannel.add(json); @@ -662,20 +667,20 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService { return i; } - private BigDecimal getThirdPartyCharge(String channel, BigDecimal total,JSONObject chargeRate) { + private BigDecimal getThirdPartyCharge(String channel, BigDecimal total, JSONObject chargeRate) { BigDecimal thirdPartyPaymentCharge = BigDecimal.ZERO; switch (channel) { case "Alipay": - thirdPartyPaymentCharge = total.multiply(chargeRate.getBigDecimal("alipayChargeRate").divide(CommonConsts.HUNDRED, 4, BigDecimal.ROUND_DOWN)).setScale(2,RoundingMode.HALF_UP); + thirdPartyPaymentCharge = total.multiply(chargeRate.getBigDecimal("alipayChargeRate").divide(CommonConsts.HUNDRED, 4, BigDecimal.ROUND_DOWN)).setScale(2, RoundingMode.HALF_UP); break; case "Wechat": - thirdPartyPaymentCharge = total.multiply(chargeRate.getBigDecimal("wechatChargeRate").divide(CommonConsts.HUNDRED, 4, BigDecimal.ROUND_DOWN)).setScale(2,RoundingMode.HALF_UP); + thirdPartyPaymentCharge = total.multiply(chargeRate.getBigDecimal("wechatChargeRate").divide(CommonConsts.HUNDRED, 4, BigDecimal.ROUND_DOWN)).setScale(2, RoundingMode.HALF_UP); break; case "jd": - thirdPartyPaymentCharge = total.multiply(chargeRate.getBigDecimal("jdChargeRate").divide(CommonConsts.HUNDRED, 4, BigDecimal.ROUND_DOWN)).setScale(2,RoundingMode.HALF_UP); + thirdPartyPaymentCharge = total.multiply(chargeRate.getBigDecimal("jdChargeRate").divide(CommonConsts.HUNDRED, 4, BigDecimal.ROUND_DOWN)).setScale(2, RoundingMode.HALF_UP); break; case "AlipayOnline": - thirdPartyPaymentCharge = total.multiply(chargeRate.getBigDecimal("alipayonlineChargeRate").divide(CommonConsts.HUNDRED, 4, BigDecimal.ROUND_DOWN)).setScale(2,RoundingMode.HALF_UP); + thirdPartyPaymentCharge = total.multiply(chargeRate.getBigDecimal("alipayonlineChargeRate").divide(CommonConsts.HUNDRED, 4, BigDecimal.ROUND_DOWN)).setScale(2, RoundingMode.HALF_UP); break; default: break; @@ -684,7 +689,6 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService { } - @Override @Transactional public void generateReferrer(String monthStr) { @@ -775,7 +779,7 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService { } @Transactional - public void generateAgent(String monthStr,JSONObject channelCharge) { + public void generateAgent(String monthStr, JSONObject channelCharge) { Date mon = checkMonth(monthStr); Calendar monthCal = Calendar.getInstance(); @@ -800,13 +804,13 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService { // shall never happen throw new ServerErrorException("Parent Organization Id not exists:" + orgId); } - if (org.getInteger("commission_type")!=1) { + if (org.getInteger("commission_type") != 1) { generateold(monthStr); return; } List items = oneOrg.getValue(); Map> groupByChannelMap = items.stream().collect(Collectors.groupingBy(e -> e.getString("channel"))); - List channelAmount = parentOrgChannelAmount(org,parentOrg,groupByChannelMap, channelCharge); + List channelAmount = parentOrgChannelAmount(org, parentOrg, groupByChannelMap, channelCharge); for (JSONObject channel : channelAmount) { if (channel.getBigDecimal("share_charge").compareTo(BigDecimal.ZERO) != 0) { JSONObject parentCommission = financialPartnerCommissionMapper.findByChanel(year, month, parentOrg.getInteger("org_id"), channel.getString("channel")); @@ -857,8 +861,6 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService { // } - - } @Override @@ -970,7 +972,7 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService { private Date checkMonth(String month) { try { - return DateUtils.parseDate(month, new String[] { "yyyy-MM" }); + return DateUtils.parseDate(month, new String[]{"yyyy-MM"}); } catch (ParseException e) { throw new BadRequestException("Invalid Month Format"); } @@ -1047,7 +1049,7 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService { } } - String tableColumn[] = { "gross_amount", "total_charge", "org_charge", "org_net_charge" }; + String tableColumn[] = {"gross_amount", "total_charge", "org_charge", "org_net_charge"}; List recordIds = new ArrayList<>(); Map chargeResultMap = new HashMap<>(); @@ -1224,4 +1226,73 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService { return financialSeniorPartnerCommissionMapper.find(year, month, orgId); } + @Override + public void exportMonthFiles(String monthStr, HttpServletResponse resp) throws Exception { + OutputStream ous = null; + Date monthDate = parseMonth(monthStr); + Calendar monthCal = Calendar.getInstance(); + monthCal.setTime(monthDate); + int year = monthCal.get(Calendar.YEAR); + int month = monthCal.get(Calendar.MONTH) + 1; + List report = financialPartnerCommissionMapper.listWithOrgInfo(year, month); + if (report != null) { + resp.setContentType("application/octet-stream;"); + resp.addHeader("Content-Disposition", "attachment; filename=" + "CityPartner_Commission_Info_" + monthStr + ".xls"); + ous = resp.getOutputStream(); + HSSFWorkbook wb = new HSSFWorkbook(); + Cell cell = null; + HSSFFont font = wb.createFont(); + font.setBoldweight(Font.BOLDWEIGHT_BOLD); + font.setFontHeightInPoints((short) 10); + CellStyle titleStyle = wb.createCellStyle(); + titleStyle.setFont(font); + HSSFCellStyle style = wb.createCellStyle(); + style.setFillForegroundColor(HSSFColor.RED.index); + style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); + Sheet sheet = wb.createSheet("CityPartner_Commission_Info_" + month); + sheet.setDefaultColumnWidth(20); + int rowNum = 0; + Row row = sheet.createRow(rowNum); + String[] CommissionTitle = {"City Partner Name", "Transaction Amount", "Total Charge", "RoyalPay Charge", "Net Charge", "City Partner Charge", "Share Charge", "Type"}; + for (int i = 0; i < CommissionTitle.length; i++) { + cell = row.createCell(i, Cell.CELL_TYPE_STRING); + cell.setCellStyle(titleStyle); + cell.setCellValue(CommissionTitle[i]); + } + for (JSONObject log : report) { + row = sheet.createRow(++rowNum); + StringBuffer name = new StringBuffer(log.getString("name")); + if (log.get("parent_org_id") == null) { + name.append("(一级代理)"); + } else { + name.append("(二级代理)"); + } + String type = ""; + switch (log.getIntValue("commission_type")) { + case 1: + type = "渠道计算法"; + break; + case 2: + type = "总交易额比例"; + break; + case 3: + type = "收益比例"; + break; + default: + break; + } + row.createCell(0, Cell.CELL_TYPE_STRING).setCellValue(name.toString()); + row.createCell(1, Cell.CELL_TYPE_STRING).setCellValue(log.getBigDecimal("gross_amount") == null ? BigDecimal.ZERO.toPlainString() : log.getBigDecimal("gross_amount").toPlainString()); + row.createCell(2, Cell.CELL_TYPE_STRING).setCellValue(log.getBigDecimal("total_charge") == null ? BigDecimal.ZERO.toPlainString() : log.getBigDecimal("total_charge").toPlainString()); + row.createCell(3, Cell.CELL_TYPE_STRING).setCellValue(log.getBigDecimal("royalpay_charge") == null ? BigDecimal.ZERO.toPlainString() : log.getBigDecimal("royalpay_charge").toPlainString()); + row.createCell(4, Cell.CELL_TYPE_STRING).setCellValue(log.getBigDecimal("net_charge") == null ? BigDecimal.ZERO.toPlainString() : log.getBigDecimal("net_charge").toPlainString()); + row.createCell(5, Cell.CELL_TYPE_STRING).setCellValue(log.getBigDecimal("org_charge") == null ? BigDecimal.ZERO.toPlainString() : log.getBigDecimal("org_charge").toPlainString()); + row.createCell(6, Cell.CELL_TYPE_STRING).setCellValue(log.getBigDecimal("share_charge") == null ? BigDecimal.ZERO.toPlainString() : log.getBigDecimal("share_charge").toPlainString()); + row.createCell(7, Cell.CELL_TYPE_STRING).setCellValue(type); + } + wb.write(ous); + ous.flush(); + } + } + } diff --git a/src/main/java/au/com/royalpay/payment/manage/citypartner/web/CityPartnerPrizeController.java b/src/main/java/au/com/royalpay/payment/manage/citypartner/web/CityPartnerPrizeController.java index c8c877767..0c44ef0ae 100644 --- a/src/main/java/au/com/royalpay/payment/manage/citypartner/web/CityPartnerPrizeController.java +++ b/src/main/java/au/com/royalpay/payment/manage/citypartner/web/CityPartnerPrizeController.java @@ -20,6 +20,7 @@ import java.util.List; import java.util.Map; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; /** * Created by yixian on 2017-03-08. @@ -42,6 +43,11 @@ public class CityPartnerPrizeController { return cityPartnerPrizeService.listAvailableMonths(year); } + @RequestMapping(value = "/export/{monthStr}", method = RequestMethod.GET) + public void exportExcel(@PathVariable String monthStr,HttpServletResponse httpResponse) throws Exception { + cityPartnerPrizeService.exportMonthFiles(monthStr,httpResponse); + } + @RequestMapping(value = "/months/{monthStr}") public JSONObject getCityPartnersPrizeInfo(@PathVariable String monthStr) { List partnerPrizeInfos = cityPartnerPrizeService.getCityPartnerPrizeInfoList(monthStr); diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/financial/FinancialPartnerCommissionMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/financial/FinancialPartnerCommissionMapper.xml index f1b5ac218..398df1cec 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/mappers/financial/FinancialPartnerCommissionMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/financial/FinancialPartnerCommissionMapper.xml @@ -27,9 +27,13 @@ SELECT sum(c.gross_amount) gross_amount, sum(c.total_charge) total_charge, sum(c.royalpay_charge) royalpay_charge, sum(c.org_charge) org_charge, + sum(c.net_charge) net_charge, + sum(c.share_charge) share_charge, + c.commission_type, + o.parent_org_id, o.name `name`, o.org_id org_id FROM financial_partner_commission c - INNER JOIN sys_org o ON o.org_id = c.org_id and o.type=0 + INNER JOIN sys_org o ON o.org_id = c.org_id WHERE c.year = #{year} AND c.month = #{month} GROUP BY `name` diff --git a/src/main/ui/static/config/orgcommission/templates/org_commission_month.html b/src/main/ui/static/config/orgcommission/templates/org_commission_month.html index bfb242281..fd06dda12 100644 --- a/src/main/ui/static/config/orgcommission/templates/org_commission_month.html +++ b/src/main/ui/static/config/orgcommission/templates/org_commission_month.html @@ -24,6 +24,9 @@
    Details
    + From 763cadd2149b9858ac0de19cd3f847db61effb51 Mon Sep 17 00:00:00 2001 From: "taylor.dang" Date: Wed, 17 Apr 2019 16:34:21 +0800 Subject: [PATCH 34/59] =?UTF-8?q?[Y]=20BD=E5=9B=A2=E9=98=9F=E5=88=86?= =?UTF-8?q?=E6=9E=90=E4=BC=98=E5=8C=96=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/ui/manage.html | 2 +- .../ui/static/analysis/bd-prize-analysis.js | 12 ++--- .../bdprize/templates/bd_data_analysis.html | 51 +++++++++++-------- .../ui/static/menu/templates/main_menu.html | 10 ++++ 4 files changed, 48 insertions(+), 27 deletions(-) diff --git a/src/main/ui/manage.html b/src/main/ui/manage.html index b48bb960b..4fafcc5b0 100644 --- a/src/main/ui/manage.html +++ b/src/main/ui/manage.html @@ -778,7 +778,7 @@ margin-bottom: 10%;"/>
  • - BD数据分析|BD Data Analysis + BD团队分析|BD Team Analysis
  • diff --git a/src/main/ui/static/analysis/bd-prize-analysis.js b/src/main/ui/static/analysis/bd-prize-analysis.js index b14e9fc47..4a83d0c9e 100644 --- a/src/main/ui/static/analysis/bd-prize-analysis.js +++ b/src/main/ui/static/analysis/bd-prize-analysis.js @@ -59,7 +59,7 @@ define(['angular', 'uiBootstrap', 'uiRouter'], function (angular) { $scope.getBDTeamKpiEcharts = function(data){ var BDTeamKpi = { tooltip : { - formatter: "{a}
    {c} {b}" + formatter: "{b}
    {a} {c}% " }, toolbox: { show : true, @@ -106,7 +106,7 @@ define(['angular', 'uiBootstrap', 'uiRouter'], function (angular) { fontWeight: 'bolder' } }, - data:[{value: 0, name: '完成度'}] + data:[{value: 0, name: ''}] }, { name:'KPI', @@ -267,7 +267,7 @@ define(['angular', 'uiBootstrap', 'uiRouter'], function (angular) { }, series : [ { - name:'业务指标', + name:'KPI完成比例', type:'gauge', startAngle: 180, endAngle: 0, @@ -327,17 +327,17 @@ define(['angular', 'uiBootstrap', 'uiRouter'], function (angular) { } ] }; - bdKpi.series[0].data[0] = {"value":(data.total_amount/data.kpi_amount*100).toFixed(2),"name":data.bd_name + "完成度"}; + bdKpi.series[0].data[0] = {"value":(data.total_amount/data.kpi_amount*100).toFixed(2),"name":data.bd_name}; return bdKpi; } $scope.filterBdType = function (type) { switch (type) { case 1: - return 'Sydney'; + return 'Sydney Team'; case 2: return 'KA Manager'; case 6: - return 'Melbourne'; + return 'Melbourne Team'; case 7: return 'KA Manager'; } diff --git a/src/main/ui/static/config/bdprize/templates/bd_data_analysis.html b/src/main/ui/static/config/bdprize/templates/bd_data_analysis.html index d8f6d10d5..5e712226f 100644 --- a/src/main/ui/static/config/bdprize/templates/bd_data_analysis.html +++ b/src/main/ui/static/config/bdprize/templates/bd_data_analysis.html @@ -31,16 +31,21 @@ ng-class="{nodata:!BDTeamKpiData}">
  • - - - - - + + + + + + - - + + +
    teamNamekpiAmounttotalAmount
    团队名称(点击可查看团队明细)KPI总金额完成比例
    {{data.total_amount/data.kpi | percentage:2}}
    @@ -48,30 +53,36 @@
    BD占比
    -
    +
    +
    +
    +
    +
    + +
    - - - + + + + +
    bdNamekpiAmounttotalAmountBD 名称KPI总交易金额完成比例
    {{data.total_amount/data.kpi_amount | percentage:2}} + +
    -
    -
    -
    -
    BD KPI完成度
    -
    -
    +
    diff --git a/src/main/ui/static/menu/templates/main_menu.html b/src/main/ui/static/menu/templates/main_menu.html index 30a9608b8..6a88ec6ff 100644 --- a/src/main/ui/static/menu/templates/main_menu.html +++ b/src/main/ui/static/menu/templates/main_menu.html @@ -489,6 +489,16 @@
    +
    From b10fb42bb1b1649482b40f596ec7226887b67ad6 Mon Sep 17 00:00:00 2001 From: todking Date: Thu, 18 Apr 2019 19:07:57 +0800 Subject: [PATCH 35/59] =?UTF-8?q?=20tod=202019/4/18=20=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui/static/payment/partner/templates/sub_partners.html | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/ui/static/payment/partner/templates/sub_partners.html b/src/main/ui/static/payment/partner/templates/sub_partners.html index baf3b04cd..1f9f7e1d1 100644 --- a/src/main/ui/static/payment/partner/templates/sub_partners.html +++ b/src/main/ui/static/payment/partner/templates/sub_partners.html @@ -1,9 +1,10 @@
    -
    -
    +
    From a3a786d82168fd656c92f9c4eca13aa5eb1eba9a Mon Sep 17 00:00:00 2001 From: luoyang Date: Fri, 19 Apr 2019 16:24:04 +0800 Subject: [PATCH 36/59] =?UTF-8?q?add=20=E4=B8=89=E7=BA=A7=E5=95=86?= =?UTF-8?q?=E6=88=B7=E3=80=81=E6=8A=A5=E5=A4=87=E4=BF=A1=E6=81=AF=E4=B8=8D?= =?UTF-8?q?=E8=B6=B3=E6=8F=90=E7=A4=BA=E3=80=81=E6=8A=A5=E5=A4=87json?= =?UTF-8?q?=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manage/mappers/system/ClientMapper.java | 4 +- .../manage/merchants/core/ClientManager.java | 8 +- .../core/impls/ClientManagerImpl.java | 312 +++++++++++------ .../web/PartnerManageController.java | 10 + .../refund/impls/RefundServiceImpl.java | 2 +- .../mappers/system/ClientAccountMapper.xml | 8 +- .../analysis/partner-customers-orders.js | 5 + .../static/analysis/partner-trans-analysis.js | 5 + .../ui/static/cashback/partner-cashback.js | 5 + .../static/commons/services/commonDialog.js | 2 + .../ui/static/commons/templates/dialog.html | 3 + .../ui/static/dashboard/partner-dashboard.js | 5 + .../ui/static/invoice/invoice_assistant.js | 5 + .../static/payment/partner/client-account.js | 7 + .../static/payment/partner/partner-manage.js | 317 +++++++++++------- src/main/ui/static/payment/partner/partner.js | 17 +- .../templates/client_sub_partners.html | 6 +- .../partner/templates/partner_pay_logs.html | 15 +- .../partner/templates/sub_partners.html | 81 ++++- .../tradelog/partner-settlement-log.js | 43 ++- .../tradelog/templates/balance_report.html | 15 +- .../templates/partner_settlement_logs.html | 15 +- .../templates/partner_trade_logs.html | 67 +++- .../ui/static/payment/tradelog/tradelog.js | 49 ++- .../ui/static/payment/tradelog/transflow.js | 50 ++- 25 files changed, 804 insertions(+), 252 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClientMapper.java b/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClientMapper.java index 4741f59f3..84e2d696d 100644 --- a/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClientMapper.java +++ b/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClientMapper.java @@ -9,6 +9,7 @@ import com.alibaba.fastjson.JSONObject; import com.github.miemiedev.mybatis.paginator.domain.PageBounds; import com.github.miemiedev.mybatis.paginator.domain.PageList; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.Date; import java.util.List; @@ -114,5 +115,6 @@ public interface ClientMapper { JSONObject countBdApproveClients(@Param("manager_id") String manager_id); - + @Select("select client_id from sys_clients where parent_client_id=#{parent_client_id}") + List childClientId(@Param("parent_client_id") int parent_client_id); } diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientManager.java b/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientManager.java index 848d08917..65866e4cc 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientManager.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientManager.java @@ -173,10 +173,8 @@ public interface ClientManager { List listSubClients(JSONObject manager, String clientMoniker); - List listSubClients(int clientId); - // void newSubClient(String clientMoniker, SubClientRegistry registry, JSONObject manager); void validateClients(int client_id, JSONObject params) throws Exception; @@ -341,6 +339,10 @@ public interface ClientManager { String queryAlipayGmsStatus(String clientMoniker, JSONObject manager); + JSONObject queryAlipayGmsJson(String clientMoniker, JSONObject manager); + + JSONObject queryAlipayOnlineGmsJson(String clientMoniker, JSONObject manager); + String queryAlipayOnlineGmsStatus(String clientMoniker, JSONObject manager); List listMerchantIds(String clientMoniker,JSONObject manager); @@ -428,4 +430,6 @@ public interface ClientManager { void resetRefundPassword(JSONObject account, JSONObject json); void resetRefundPasswordByManage(String clientMoniker,JSONObject manage, JSONObject json); + + List listLevel3Client(int client_id); } diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java b/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java index 712d92b74..21e230af6 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java @@ -388,7 +388,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid client.put("contact_email", "******"); } } else { - client.put("rate_editable",ManagerRole.OPERATOR.hasRole(role)); + client.put("rate_editable", ManagerRole.OPERATOR.hasRole(role)); } } List children = clientMapper.listChildClients(client.getIntValue("client_id")); @@ -884,14 +884,14 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid throw new InvalidShortIdException(); } checkOrgPermission(manager, client); - if(client.getString("yeepay_sub_merchant_id").equals(yeepaySubMerchantInfo.getString("yeepay_sub_merchant_id"))){ + if (client.getString("yeepay_sub_merchant_id").equals(yeepaySubMerchantInfo.getString("yeepay_sub_merchant_id"))) { throw new BadRequestException("The sub merchant Id is in use"); } - JSONObject yeepayConfigValid =yeePayClientConfigMapper.findMerchantConfig(client.getIntValue("client_id")); - yeePayClientConfigMapper.updateSubMerchantIdValid(yeepayConfigValid.getString("yeepay_config_id"),0); + JSONObject yeepayConfigValid = yeePayClientConfigMapper.findMerchantConfig(client.getIntValue("client_id")); + yeePayClientConfigMapper.updateSubMerchantIdValid(yeepayConfigValid.getString("yeepay_config_id"), 0); JSONObject yeepayConfig = yeePayClientConfigMapper.findMerchantConfigBySub(client.getIntValue("client_id"), yeepaySubMerchantInfo.getString("yeepay_sub_merchant_id")); - yeePayClientConfigMapper.updateSubMerchantIdValid(yeepayConfig.getString("yeepay_config_id"),1); - client.put("yeepay_sub_merchant_id",yeepaySubMerchantInfo.getString("yeepay_sub_merchant_id")); + yeePayClientConfigMapper.updateSubMerchantIdValid(yeepayConfig.getString("yeepay_config_id"), 1); + client.put("yeepay_sub_merchant_id", yeepaySubMerchantInfo.getString("yeepay_sub_merchant_id")); clientMapper.update(client); } @@ -1156,14 +1156,13 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid * email = bd.getString("email"); if (StringUtils.isNotEmpty(email)) { emails.add(email); } } new Thread() { * * @Override public void run() { try { SendMail sendMail = new SendMail(); Set to = new HashSet<>(); - * to.add(mailTo); sendMail.setFrom("info@mail.royalpay.com.au"); sendMail.setMailTos(to); - * sendMail.setMailCcs(emails); sendMail.setTitle("Your RoyalPay Cross-border Payment has been set up"); - * sendMail.setContent(content); sendMail.setTags(tags); JSONObject mailResult = - * mailGunService.sendMail(sendMail); clientModifySupport.processClientModify(new EmailModify(account, - * client.getString("client_moniker"), 3, mailResult.getString("mail_id"))); } catch (Exception e) { - * clientModifySupport.processClientModify(new EmailModify(account, client.getString("client_moniker"), 0, - * null)); throw new EmailException("Email Sending Failed", e); } } }.start(); } - * + * to.add(mailTo); sendMail.setFrom("info@mail.royalpay.com.au"); sendMail.setMailTos(to); + * sendMail.setMailCcs(emails); sendMail.setTitle("Your RoyalPay Cross-border Payment has been set up"); + * sendMail.setContent(content); sendMail.setTags(tags); JSONObject mailResult = + * mailGunService.sendMail(sendMail); clientModifySupport.processClientModify(new EmailModify(account, + * client.getString("client_moniker"), 3, mailResult.getString("mail_id"))); } catch (Exception e) { + * clientModifySupport.processClientModify(new EmailModify(account, client.getString("client_moniker"), 0, + * null)); throw new EmailException("Email Sending Failed", e); } } }.start(); } */ public void sendAuthInitEmail(JSONObject account, final JSONObject client) { @@ -1351,7 +1350,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid throw new InvalidShortIdException(); } checkOrgPermission(manager, client); - if(!client.containsKey("parent_client_id") && client.getBoolean("sub_manage")){ + if (!client.containsKey("parent_client_id") && client.getBoolean("sub_manage")) { return clientAccountMapper.partnerAndSubPartnerAccounts(client.getIntValue("client_id")); } return clientAccountMapper.listPartnerAccounts(client.getIntValue("client_id")); @@ -1374,7 +1373,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid accountJson.put("salt", salt); accountJson.put("password_hash", PasswordUtils.hashPwd(account.getPwd(), salt)); accountJson.put("password_aes", PasswordUtils.encryptAESPwd(account.getPwd())); - accountJson.put("client_id", account.getClientId()==0?client.getIntValue("client_id"):account.getClientId()); + accountJson.put("client_id", account.getClientId() == 0 ? client.getIntValue("client_id") : account.getClientId()); accountJson.put("creator", managerType == 1 ? manager.getString("manager_id") : manager.getString("account_id")); accountJson.put("creator_type", managerType); accountJson.put("create_time", new Date()); @@ -1409,8 +1408,9 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid if (account.getIntValue("client_id") != client.getIntValue("client_id")) { //登录用户所属商户 JSONObject clientLogin = getClientInfo(account.getIntValue("client_id")); - if(!(client.getBoolean("sub_manage") && - clientLogin.containsKey("parent_client_id")?clientLogin.getIntValue("parent_client_id")==client.getIntValue("client_id"):false)){ + Boolean validChildClients = clientLogin.containsKey("parent_client_id") ? clientLogin.getIntValue("parent_client_id") == client.getIntValue("client_id") : false; + Boolean validLevel3Clients = listLevel3Client(client.getIntValue("client_id")).contains(clientLogin.getIntValue("parent_client_id")); + if (!(client.getBoolean("sub_manage") && (validChildClients || validLevel3Clients))) { throw new BadRequestException("error.partner.valid.account_not_match"); } } @@ -1805,7 +1805,18 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid throw new InvalidShortIdException(); } checkOrgPermission(manager, client); - return clientMapper.listChildClients(client.getIntValue("client_id")); + JSONObject listSubClients = new JSONObject(); + List listChildClients = clientMapper.listChildClients(client.getIntValue("client_id")); + for (JSONObject partner : listChildClients) { + List clients = clientMapper.listChildClients(partner.getIntValue("client_id")); + if (clients.size() > 0) { + partner.put("level3Clients", clients); + clients.forEach(e->{ + e.put("parent_client_moniker", partner.getString("client_moniker")); + }); + } + } + return listChildClients; } @Override @@ -1884,7 +1895,8 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid for (String currentClientId : client_ids) { JSONObject clientInfo = getClientInfo(Integer.parseInt(currentClientId)); if (clientInfo.containsKey("parent_client_id")) { - if (clientInfo.getIntValue("parent_client_id") != client_id) { + int parentClientId = clientInfo.getIntValue("parent_client_id"); + if (parentClientId != client_id && !listLevel3Client(client_id).contains(parentClientId)) { throw new Exception("partner has no permission"); } } @@ -1893,6 +1905,11 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid } } + @Override + public List listLevel3Client(int clientId) { + return clientMapper.childClientId(clientId); + } + @Override @Transactional public void updateClientBDUsers(JSONObject manager, String clientMoniker, JSONObject data) throws Exception { @@ -2243,7 +2260,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid } @Override - public void resetRefundPasswordByManage(String clientMoniker,JSONObject manage, JSONObject json) { + public void resetRefundPasswordByManage(String clientMoniker, JSONObject manage, JSONObject json) { JSONObject client = getClientInfoByMoniker(clientMoniker); if (client == null) { throw new InvalidShortIdException(); @@ -3420,7 +3437,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid @Override @Transactional - public void setSkipClearing(JSONObject account, String clientMoniker, Boolean skip_clearing,String remark) { + public void setSkipClearing(JSONObject account, String clientMoniker, Boolean skip_clearing, String remark) { JSONObject client = getClientInfoByMoniker(clientMoniker); if (client == null) { throw new InvalidShortIdException(); @@ -3428,7 +3445,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid clientModifySupport.processClientConfigModify(new SwitchPermissionModify(account, clientMoniker, "skip_clearing", skip_clearing)); if (!skip_clearing) { - if ("".equals(remark) || remark==null){ + if ("".equals(remark) || remark == null) { throw new ServerErrorException("请填写关闭清算原因"); } JSONObject clientConfig = clientConfigMapper.find(client.getIntValue("client_id")); @@ -3492,7 +3509,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid throw new InvalidShortIdException(); } List transactions = clearingDistributedSurchargeMapper.findTransactions(client.getIntValue("client_id")); - transactions.forEach(e->{ + transactions.forEach(e -> { if ("Credit".equals(e.getString("type"))) { JSONObject manager = managerMapper.findDetail(e.getString("operation")); e.put("operator_displayname", manager.getString("display_name")); @@ -3519,10 +3536,10 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid JSONObject params = new JSONObject(); params.put("client_id", client.getIntValue("client_id")); params.put("year", date.substring(0, 4)); - params.put("month", date.substring(date.length()-2, date.length())); + params.put("month", date.substring(date.length() - 2, date.length())); List transactions = clearingDistributedSurchargeMapper.findTransactionsByDate(params); - transactions.forEach(e->{ + transactions.forEach(e -> { if ("Credit".equals(e.getString("type"))) { JSONObject manager = managerMapper.findDetail(e.getString("operation")); e.put("operator_displayname", manager.getString("display_name")); @@ -3561,10 +3578,10 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid transaction.put("client_id", client.getIntValue("client_id")); transaction.put("type", "Credit"); transaction.put("total_surcharge", BigDecimal.ZERO); - transaction.put("tax_amount", BigDecimal.ZERO); - transaction.put("post_balance", surcharge_account.getBigDecimal("balance").add(transaction.getBigDecimal("amount"))); - transaction.put("operation", account.getString("manager_id")); - transaction.put("create_time", new Date()); + transaction.put("tax_amount", BigDecimal.ZERO); + transaction.put("post_balance", surcharge_account.getBigDecimal("balance").add(transaction.getBigDecimal("amount"))); + transaction.put("operation", account.getString("manager_id")); + transaction.put("create_time", new Date()); clearingDistributedSurchargeMapper.save(transaction); surcharge_account.put("balance", surcharge_account.getBigDecimal("balance").add(transaction.getBigDecimal("amount"))); @@ -3741,8 +3758,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid } } - private TemplateMessage initSendToComplianceGreenChannelTemplate(String loginUrl, String wxopenid, String templateId2, String bd_user_name, - JSONObject client) { + private TemplateMessage initSendToComplianceGreenChannelTemplate(String loginUrl, String wxopenid, String templateId2, String bd_user_name, JSONObject client) { TemplateMessage msg = new TemplateMessage(wxopenid, templateId2, loginUrl); msg.put("first", bd_user_name + " 提交了新商户绿色通道申请,请审核", "#ff0000"); msg.put("keyword1", client.getString("client_moniker") + "申请绿色通道", "#0000ff"); @@ -4007,6 +4023,14 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid } client.put("bank_id", client_bank.getString("account_no")); + if (StringUtils.isBlank(client.getString("business_structure"))) { + throw new BadRequestException("Business Structure can't be null"); + } + + if (StringUtils.isBlank(client.getString("alipayindustry"))) { + throw new BadRequestException("Alipay Industry can't be null"); + } + if (!"Company".equals(client.getString("business_structure"))) { if (StringUtils.isBlank(representative_id.getString("representative_id"))) { throw new BadRequestException("ID or passport number can't be null"); @@ -4045,6 +4069,82 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid return "查询成功:" + responseElement.elementText("secondary_merchant_id") + "报备状态 : " + responseElement.elementText("status"); } + @Override + public JSONObject queryAlipayGmsJson(String clientMoniker, JSONObject manager) { + JSONObject client = getClientInfoByMoniker(clientMoniker); + if (client == null) { + throw new InvalidShortIdException(); + } + checkOrgPermission(manager, client); + AlipayConfig.AlipayMerchant mch = AlipayEnvironment.getEnv().getAlipayRetailMerchant(); + JSONObject queryGMSJson = new JSONObject(new LinkedHashMap()); + queryGMSJson.put("service", "alipay.overseas.secmerchant.offline.maintain"); + queryGMSJson.put("partner", mch.getPid()); + queryGMSJson.put("sign_type", "MD5"); + queryGMSJson.put("_input_charset", "utf-8"); + queryGMSJson.put("timestamp", DateFormatUtils.format(System.currentTimeMillis(),"yyyy-MM-dd HH:mm:ss")); + queryGMSJson.put("secondary_merchant_name", client.getString("company_name")); + queryGMSJson.put("secondary_merchant_id", client.getString("client_moniker")); + queryGMSJson.put("store_id", client.getString("client_moniker")); + queryGMSJson.put("store_name", client.getString("short_name")); + queryGMSJson.put("store_country", client.getString("country").substring(0,2)); + queryGMSJson.put("store_address", client.getString("country") + " "+client.getString("state") + " "+client.getString("suburb") + " "+client.getString("address")); + queryGMSJson.put("store_industry", client.getString("alipayindustry")); + queryGMSJson.put("internal_store_photo", client.getString("company_photo")); + queryGMSJson.put("external_storefront_photo", client.getString("store_photo")); + queryGMSJson.put("register_country", client.getString("country").substring(0,2)); + queryGMSJson.put("register_address", client.getString("country") + " "+client.getString("state") + " "+client.getString("suburb") + " "+client.getString("address")); + if ("Company".equals(client.getString("business_structure"))) { + queryGMSJson.put("secondary_merchant_type", "ENTERPRISE"); + queryGMSJson.put("registration_no", client.getString("acn")); + }else { + queryGMSJson.put("secondary_merchant_type", "INDIVIDUAL"); + queryGMSJson.put("representative_name", client.getString("contact_person")); + } + queryGMSJson.put("contact_no",client.getString("contact_phone")); + queryGMSJson.put("contact_email",client.getString("contact_email")); + return queryGMSJson; + } + + @Override + public JSONObject queryAlipayOnlineGmsJson(String clientMoniker, JSONObject manager) { + JSONObject client = getClientInfoByMoniker(clientMoniker); + if (client == null) { + throw new InvalidShortIdException(); + } + checkOrgPermission(manager, client); + JSONObject queryGMSJson = new JSONObject(new LinkedHashMap()); + AlipayConfig.AlipayMerchant mch = AlipayEnvironment.getEnv().getAlipayOnlineMerchant(); + queryGMSJson.put("service", "alipay.overseas.secmerchant.online.maintain"); + queryGMSJson.put("partner", mch.getPid()); + queryGMSJson.put("sign_type", "MD5"); + queryGMSJson.put("_input_charset", "utf-8"); + queryGMSJson.put("timestamp", DateFormatUtils.format(System.currentTimeMillis(),"yyyy-MM-dd HH:mm:ss")); + queryGMSJson.put("secondary_merchant_name", client.getString("company_name")); + queryGMSJson.put("secondary_merchant_id", client.getString("client_moniker")); + queryGMSJson.put("secondary_merchant_industry", client.getString("alipayindustry")); + queryGMSJson.put("register_country", client.getString("country").substring(0,2)); + queryGMSJson.put("register_address", client.getString("country") + " "+client.getString("state") + " "+client.getString("suburb") + " "+client.getString("address")); + JSONObject website = new JSONObject(); + List websites = new ArrayList<>(); + website.put("site_type", "WEB"); + website.put("site_url", client.getString("company_website")); + website.put("site_name", client.getString("company_name") + " Website"); + websites.add(website); + queryGMSJson.put("site_infos", websites.toString()); + if ("Company".equals(client.getString("business_structure"))) { + queryGMSJson.put("secondary_merchant_type", "ENTERPRISE"); + queryGMSJson.put("registration_no", client.getString("acn")); + queryGMSJson.put("shareholder_name", client.getString("contact_person")); + }else { + queryGMSJson.put("secondary_merchant_type", "INDIVIDUAL"); + queryGMSJson.put("representative_name", client.getString("contact_person")); + } + queryGMSJson.put("contact_no",client.getString("contact_phone")); + queryGMSJson.put("contact_email",client.getString("contact_email")); + return queryGMSJson; + } + @Override public void registerAlipayOnlineGms(String clientMoniker, JSONObject representative_id, JSONObject manager) { JSONObject client = getClientInfoByMoniker(clientMoniker); @@ -4055,6 +4155,14 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid if (!client.containsKey("company_website")) { throw new InvalidParameterException("Website cannot be empty "); } + if (StringUtils.isBlank(client.getString("business_structure"))) { + throw new BadRequestException("Business Structure can't be null"); + } + + if (StringUtils.isBlank(client.getString("alipayindustry"))) { + throw new BadRequestException("Alipay Industry can't be null"); + } + JSONObject client_bank = getBankAccountByClientId(client.getIntValue("client_id")); if (client_bank == null || client_bank.size() <= 0) { throw new BadRequestException("The Partner's Account is not config!"); @@ -4098,7 +4206,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid } @Override - public void subRpayMerchantApplication(String clientMoniker, JSONObject merchantInfo,JSONObject manager) { + public void subRpayMerchantApplication(String clientMoniker, JSONObject merchantInfo, JSONObject manager) { JSONObject client = getClientInfoByMoniker(clientMoniker); if (client == null) { throw new InvalidShortIdException(); @@ -4107,7 +4215,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid List listByshortName = sysRpayMerchantApplyMapper.listByShortName(merchantInfo.getString("company_shortname")); - if (listByshortName.size()>0) { + if (listByshortName.size() > 0) { throw new BadRequestException("请修改【" + clientMoniker + "】的Company shortName信息(Short Name 已被使用)"); } if (client.getString("rpay_enterprise_id") != null) { @@ -4128,7 +4236,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid merchantInfo.put("merchant_shortname", merchantInfo.getString("company_shortname")); sysRpayMerchantApplyMapper.insertRpayMerchantApply(merchantInfo); clientMapper.updateRpayEnterpriseId(client.getIntValue("client_id"), rpayMerchantInfo.getString("merchantId")); - }else { + } else { throw new BadRequestException("请求失败"); } } @@ -4143,41 +4251,41 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid } checkOrgPermission(manager, client); List yeepayClientConfigs = yeePayClientConfigMapper.findAllMerchantConfig(client.getIntValue("client_id")); - if(yeepayClientConfigs!=null){ - for(JSONObject yeepayClientConfig:yeepayClientConfigs){ - if(yeepayClientConfig.getIntValue("is_valid")==1){ - yeePayClientConfigMapper.updateSubMerchantIdValid(yeepayClientConfig.getString("yeepay_config_id"),0); + if (yeepayClientConfigs != null) { + for (JSONObject yeepayClientConfig : yeepayClientConfigs) { + if (yeepayClientConfig.getIntValue("is_valid") == 1) { + yeePayClientConfigMapper.updateSubMerchantIdValid(yeepayClientConfig.getString("yeepay_config_id"), 0); } } } - merchantInfo.put("create_time",new Date()); - merchantInfo.put("operator",manager.getString("display_name")); - merchantInfo.put("client_id",client.getIntValue("client_id")); - merchantInfo.put("client_id",merchantInfo.getString("client_id")); + merchantInfo.put("create_time", new Date()); + merchantInfo.put("operator", manager.getString("display_name")); + merchantInfo.put("client_id", client.getIntValue("client_id")); + merchantInfo.put("client_id", merchantInfo.getString("client_id")); // merchantInfo.put("vouchers",merchantInfo.getJSONObject("vouchers").toJSONString()); List directorsAll = new ArrayList<>(); List executivesAll = new ArrayList<>(); directorsAll.add(merchantInfo.getJSONObject("directors")); executivesAll.add(merchantInfo.getJSONObject("executives")); JSONObject extInfo = new JSONObject(); - extInfo.put("directors",directorsAll); - extInfo.put("executives",executivesAll); - merchantInfo.put("extinfo",extInfo.toJSONString()); + extInfo.put("directors", directorsAll); + extInfo.put("executives", executivesAll); + merchantInfo.put("extinfo", extInfo.toJSONString()); yeePayClientConfigMapper.saveMerchantConfig(merchantInfo); JSONObject yeepayConfig = yeePayClientConfigMapper.findMerchantConfig(client.getIntValue("client_id")); - yeepayConfig.put("company_website",merchantInfo.getString("company_website")); - yeepayConfig.put("abn",merchantInfo.getString("abn")); - yeepayConfig.put("company_name",merchantInfo.getString("company_name")); - yeepayConfig.put("contact_phone",merchantInfo.getString("contact_phone")); - yeepayConfig.put("contact_email",merchantInfo.getString("contact_email")); - yeepayConfig.put("contact_person",merchantInfo.getString("contact_person")); - SubmerchantRegisterResult result = yeePayClient.registerMerchant(client,yeepayConfig); - if(result.getStatus().equals("FAILED")){ + yeepayConfig.put("company_website", merchantInfo.getString("company_website")); + yeepayConfig.put("abn", merchantInfo.getString("abn")); + yeepayConfig.put("company_name", merchantInfo.getString("company_name")); + yeepayConfig.put("contact_phone", merchantInfo.getString("contact_phone")); + yeepayConfig.put("contact_email", merchantInfo.getString("contact_email")); + yeepayConfig.put("contact_person", merchantInfo.getString("contact_person")); + SubmerchantRegisterResult result = yeePayClient.registerMerchant(client, yeepayConfig); + if (result.getStatus().equals("FAILED")) { throw new BadRequestException(result.getErrorMsg()); } - yeepayConfig.put("sub_merchant_id",result.getSubMerchantId()); - yeePayClientConfigMapper.updateSubMerchantId(yeepayConfig.getString("yeepay_config_id"),result.getMerchantId(),result.getSubMerchantId()); - client.put("yeepay_sub_merchant_id",result.getSubMerchantId()); + yeepayConfig.put("sub_merchant_id", result.getSubMerchantId()); + yeePayClientConfigMapper.updateSubMerchantId(yeepayConfig.getString("yeepay_config_id"), result.getMerchantId(), result.getSubMerchantId()); + client.put("yeepay_sub_merchant_id", result.getSubMerchantId()); clientMapper.update(client); } @@ -4188,25 +4296,25 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid throw new InvalidShortIdException(); } checkOrgPermission(manager, client); - JSONObject config = yeePayClientConfigMapper.findMerchantConfigBySub(client.getIntValue("client_id"),merchantInfo.getString("sub_merchant_id")); - if(config != null){ + JSONObject config = yeePayClientConfigMapper.findMerchantConfigBySub(client.getIntValue("client_id"), merchantInfo.getString("sub_merchant_id")); + if (config != null) { throw new BadRequestException("You had add the sub merchant id"); } List yeepayClientConfigs = yeePayClientConfigMapper.findAllMerchantConfig(client.getIntValue("client_id")); - if(yeepayClientConfigs!=null){ - for(JSONObject yeepayClientConfig:yeepayClientConfigs){ - if(yeepayClientConfig.getIntValue("is_valid")==1){ - yeePayClientConfigMapper.updateSubMerchantIdValid(yeepayClientConfig.getString("yeepay_config_id"),0); + if (yeepayClientConfigs != null) { + for (JSONObject yeepayClientConfig : yeepayClientConfigs) { + if (yeepayClientConfig.getIntValue("is_valid") == 1) { + yeePayClientConfigMapper.updateSubMerchantIdValid(yeepayClientConfig.getString("yeepay_config_id"), 0); } } } - merchantInfo.put("client_id",client.getIntValue("client_id")); - merchantInfo.put("merchant_id",yeePayConfig.getAppKey().split("_")[1]); - merchantInfo.put("create_time",new Date()); - merchantInfo.put("is_valid",1); - merchantInfo.put("operator",manager.getString("display_name")); + merchantInfo.put("client_id", client.getIntValue("client_id")); + merchantInfo.put("merchant_id", yeePayConfig.getAppKey().split("_")[1]); + merchantInfo.put("create_time", new Date()); + merchantInfo.put("is_valid", 1); + merchantInfo.put("operator", manager.getString("display_name")); yeePayClientConfigMapper.saveMerchantConfig(merchantInfo); - client.put("yeepay_sub_merchant_id",merchantInfo.getString("sub_merchant_id")); + client.put("yeepay_sub_merchant_id", merchantInfo.getString("sub_merchant_id")); clientMapper.update(client); } @@ -4217,28 +4325,28 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid throw new InvalidShortIdException(); } checkOrgPermission(manager, client); - JSONObject yeepayConfig = yeePayClientConfigMapper.findMerchantConfigBySub(client.getIntValue("client_id"),merchantInfo.getString("subMerchantId")); + JSONObject yeepayConfig = yeePayClientConfigMapper.findMerchantConfigBySub(client.getIntValue("client_id"), merchantInfo.getString("subMerchantId")); List directorsAll = new ArrayList<>(); List executivesAll = new ArrayList<>(); directorsAll.add(merchantInfo.getJSONObject("directors")); executivesAll.add(merchantInfo.getJSONObject("executives")); JSONObject extInfo = new JSONObject(); - extInfo.put("directors",directorsAll); - extInfo.put("executives",executivesAll); - yeepayConfig.put("extinfo",extInfo.toJSONString()); - yeepayConfig.put("industry",merchantInfo.getString("industry")); - yeepayConfig.put("business_content",merchantInfo.getString("business_content")); - yeepayConfig.put("business_licence",merchantInfo.getString("business_licence")); + extInfo.put("directors", directorsAll); + extInfo.put("executives", executivesAll); + yeepayConfig.put("extinfo", extInfo.toJSONString()); + yeepayConfig.put("industry", merchantInfo.getString("industry")); + yeepayConfig.put("business_content", merchantInfo.getString("business_content")); + yeepayConfig.put("business_licence", merchantInfo.getString("business_licence")); yeePayClientConfigMapper.update(yeepayConfig); - yeepayConfig.put("company_website",merchantInfo.getString("company_website")); - yeepayConfig.put("abn",merchantInfo.getString("abn")); - yeepayConfig.put("company_name",merchantInfo.getString("company_name")); - yeepayConfig.put("contact_phone",merchantInfo.getString("contact_phone")); - yeepayConfig.put("contact_email",merchantInfo.getString("contact_email")); - yeepayConfig.put("contact_person",merchantInfo.getString("contact_person")); - yeepayConfig.put("mode","UPDATE"); - SubmerchantRegisterResult result = yeePayClient.registerMerchant(client,yeepayConfig); - if(result.getStatus().equals("FAILED")){ + yeepayConfig.put("company_website", merchantInfo.getString("company_website")); + yeepayConfig.put("abn", merchantInfo.getString("abn")); + yeepayConfig.put("company_name", merchantInfo.getString("company_name")); + yeepayConfig.put("contact_phone", merchantInfo.getString("contact_phone")); + yeepayConfig.put("contact_email", merchantInfo.getString("contact_email")); + yeepayConfig.put("contact_person", merchantInfo.getString("contact_person")); + yeepayConfig.put("mode", "UPDATE"); + SubmerchantRegisterResult result = yeePayClient.registerMerchant(client, yeepayConfig); + if (result.getStatus().equals("FAILED")) { throw new BadRequestException(result.getErrorMsg()); } } @@ -4487,7 +4595,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid } @Override - public void switchGatewayLink(JSONObject manager, String clientMoniker,String channel, boolean allow) { + public void switchGatewayLink(JSONObject manager, String clientMoniker, String channel, boolean allow) { JSONObject client = getClientInfoByMoniker(clientMoniker); if (client == null) { throw new InvalidShortIdException(); @@ -4495,18 +4603,18 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid checkOrgPermission(manager, client); if (allow) { - if (StringUtils.isEmpty(client.getString(channel+"_pay_url"))) { - String channel_pay_url = getGatewayShortLink(clientMoniker,channel.toLowerCase()); - client.put(channel+"_pay_url", channel_pay_url); + if (StringUtils.isEmpty(client.getString(channel + "_pay_url"))) { + String channel_pay_url = getGatewayShortLink(clientMoniker, channel.toLowerCase()); + client.put(channel + "_pay_url", channel_pay_url); JSONObject clientConfig = new JSONObject(); - clientConfig.put(channel+"_pay_url", channel_pay_url); + clientConfig.put(channel + "_pay_url", channel_pay_url); clientConfig.put("client_id", client.getIntValue("client_id")); clientConfigMapper.update(clientConfig); clientMapper.update(client); } } - clientModifySupport.processClientConfigModify(new SwitchPermissionModify(manager, clientMoniker, "enable_"+channel+"_link", allow)); - clientModifySupport.processClientConfigModify(new SwitchPermissionModify(manager, clientMoniker, "enable_"+channel, allow)); + clientModifySupport.processClientConfigModify(new SwitchPermissionModify(manager, clientMoniker, "enable_" + channel + "_link", allow)); + clientModifySupport.processClientConfigModify(new SwitchPermissionModify(manager, clientMoniker, "enable_" + channel, allow)); } @@ -4535,7 +4643,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid create_time = DateFormatUtils.format(order.getDate("create_time"), "yyyy-MM-dd HH:mm:ss"); } ctx.setVariable("time", create_time); - final String content = thymeleaf.process( "mail/hf_email_notice", ctx); + final String content = thymeleaf.process("mail/hf_email_notice", ctx); final String mailTo = client.getString("contact_email"); if (StringUtils.isEmpty(mailTo)) { throw new EmailException("Client Contact Email is invalid"); @@ -4557,7 +4665,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid return; } if (client.getString("contact_email") == null || - !clientConfig.getBoolean("enable_"+order.getString("channel").toLowerCase()+"_email_notice")) { + !clientConfig.getBoolean("enable_" + order.getString("channel").toLowerCase() + "_email_notice")) { return; } Context ctx = new Context(); @@ -4575,7 +4683,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid create_time = DateFormatUtils.format(order.getDate("create_time"), "yyyy-MM-dd HH:mm:ss"); } ctx.setVariable("time", create_time); - final String content = thymeleaf.process( "mail/gateway_email_notice", ctx); + final String content = thymeleaf.process("mail/gateway_email_notice", ctx); final String mailTo = client.getString("contact_email"); if (StringUtils.isEmpty(mailTo)) { throw new EmailException("Client Contact Email is invalid"); @@ -4589,8 +4697,8 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid }).start(); } - private String getOrderChannel(String channel){ - switch(channel){ + private String getOrderChannel(String channel) { + switch (channel) { case "hf": return "汇付"; case "Yeepay": @@ -4598,6 +4706,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid } return ""; } + @Override @Transactional public void updateAllPartnerPassword(String clientMoniker) { @@ -4639,7 +4748,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid @Override public String getGatewayShortLink(String clientMoniker, String channel) { - String longUrl = PlatformEnvironment.getEnv().concatUrl("/api/v1.0/"+channel+"/partners/" + clientMoniker + "/jump/pc"); + String longUrl = PlatformEnvironment.getEnv().concatUrl("/api/v1.0/" + channel + "/partners/" + clientMoniker + "/jump/pc"); MpWechatApi api = mpWechatApiProvider.getNewPaymentApi(); return api.registerShortUrl(longUrl); } @@ -4666,7 +4775,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid infoStr.append("ABN = " + riskInfo.getString("abn") + ",ACN = " + riskInfo.getString("acn") + ",contact_phone = " + riskInfo.getString("contact_phone") + ",contact_person = " + riskInfo.getString("contact_person") + ",bank_account_no = " + riskInfo.getString("bank_account_no")); }); appendStr.deleteCharAt(appendStr.length() - 1); - throw new BadRequestException("该商户信息已经进入系统黑名单,关联商户为【" + appendStr.toString().toUpperCase() + "】【" + infoStr.toString() + "】"); + throw new BadRequestException("该商户信息已经进入系统黑名单,关联商户为【" + appendStr.toString().toUpperCase() + "】【" + infoStr.toString() + "】"); } } @@ -4735,6 +4844,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid } return null; } + @Override @Transactional public boolean postponeClientRate(int clientId, String clientMoniker, String nextYearExipryDate) { @@ -4854,7 +4964,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid } } String path = paymentConfig.getString("path"); - path = path.replaceAll("app","pc"); + path = path.replaceAll("app", "pc"); response.sendRedirect(String.format(PlatformEnvironment.getEnv().concatUrl(path), clientMoniker)); } @@ -4906,7 +5016,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid List needNotifyUsers = royalPayUsers.stream().filter(user -> StringUtils.isNotEmpty(user.getString("wx_openid"))).map(user -> user.getString("wx_openid")).collect(Collectors.toList()); needNotifyUsers.forEach(userOpenId -> { try { - String signStr = "?sign=" + AESencrypt(accounts.toString(),userOpenId); + String signStr = "?sign=" + AESencrypt(accounts.toString(), userOpenId); MpWechatApi paymentApi = mpWechatApiProvider.getNewPaymentApi(); TemplateMessage msg = initSendTestPasswordTemplate(userOpenId, paymentApi.getTemplateId("test-merchant-password"), signStr.replace("+", "%2B")); paymentApi.sendTemplateMessage(msg); diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerManageController.java b/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerManageController.java index 0bc839508..92f7ccc64 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerManageController.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerManageController.java @@ -654,6 +654,16 @@ public class PartnerManageController { return clientManager.queryAlipayOnlineGmsStatus(clientMoniker, manager); } + @ManagerMapping(value = "/{clientMoniker}/query/alipay_gms_json", method = RequestMethod.GET, role = {ManagerRole.OPERATOR, ManagerRole.ADMIN}) + public JSONObject queryAlipayGmsJson(@PathVariable String clientMoniker,@ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager) { + return clientManager.queryAlipayGmsJson(clientMoniker, manager); + } + + @ManagerMapping(value = "/{clientMoniker}/query/alipayOnline_gms_json", method = RequestMethod.GET, role = {ManagerRole.OPERATOR, ManagerRole.ADMIN}) + public JSONObject queryAlipayOnlineGmsJson(@PathVariable String clientMoniker,@ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager) { + return clientManager.queryAlipayOnlineGmsJson(clientMoniker, manager); + } + @ManagerMapping(value = "/{clientMoniker}/get_merchant_ids",method = RequestMethod.GET,role = {ManagerRole.OPERATOR,ManagerRole.ADMIN}) public List getMerchantIds(@PathVariable String clientMoniker, @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager) { return clientManager.listMerchantIds(clientMoniker,manager); diff --git a/src/main/java/au/com/royalpay/payment/manage/tradelog/refund/impls/RefundServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/tradelog/refund/impls/RefundServiceImpl.java index e7b38ef44..7dd9bef62 100644 --- a/src/main/java/au/com/royalpay/payment/manage/tradelog/refund/impls/RefundServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/tradelog/refund/impls/RefundServiceImpl.java @@ -79,7 +79,7 @@ public class RefundServiceImpl implements RefundService, ApplicationEventPublish JSONObject client = clientMapper.findClient(account.getIntValue("client_id")); ////父商户全局管理子商户时候,跳过 JSONObject orderTargetClient = clientMapper.findClient(order.getIntValue("client_id")); - if (orderTargetClient.getIntValue("parent_client_id") != account.getIntValue("client_id")) { + if (orderTargetClient.getIntValue("parent_client_id") != account.getIntValue("client_id") && !clientManager.listLevel3Client(account.getIntValue("client_id")).contains(orderTargetClient.getIntValue("parent_client_id"))) { throw new ForbiddenException("Order is not belong to your shop/merchant"); } else if (!client.getBooleanValue("sub_manage")) { throw new ForbiddenException("Order is not belong to your shop/merchant"); diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClientAccountMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClientAccountMapper.xml index f45bde063..8b06eb501 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClientAccountMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClientAccountMapper.xml @@ -3,7 +3,8 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > diff --git a/src/main/ui/static/analysis/partner-customers-orders.js b/src/main/ui/static/analysis/partner-customers-orders.js index 143a76df4..6d917e215 100644 --- a/src/main/ui/static/analysis/partner-customers-orders.js +++ b/src/main/ui/static/analysis/partner-customers-orders.js @@ -20,6 +20,11 @@ define(['angular', 'uiBootstrap', 'uiRouter', 'angularEcharts'], function (angul var clientList = resp.data; clientList.forEach(function (client) { $scope.clients.push(client); + if (client.level3Clients) { + client.level3Clients.forEach(function (level3Client) { + $scope.clients.push(level3Client); + }); + } }); $scope.clients.forEach(function (client) { $scope.params.client_ids.push(client.client_id); diff --git a/src/main/ui/static/analysis/partner-trans-analysis.js b/src/main/ui/static/analysis/partner-trans-analysis.js index 3eddf60e4..ed822863a 100644 --- a/src/main/ui/static/analysis/partner-trans-analysis.js +++ b/src/main/ui/static/analysis/partner-trans-analysis.js @@ -20,6 +20,11 @@ define(['angular', 'uiBootstrap', 'uiRouter', 'angularEcharts'], function (angul var clientList = resp.data; clientList.forEach(function (client) { $scope.clients.push(client); + if (client.level3Clients) { + client.level3Clients.forEach(function (level3Client) { + $scope.clients.push(level3Client); + }); + } }); $scope.clients.forEach(function (client) { $scope.params.client_ids.push(client.client_id); diff --git a/src/main/ui/static/cashback/partner-cashback.js b/src/main/ui/static/cashback/partner-cashback.js index 0becd680e..c388ce67e 100644 --- a/src/main/ui/static/cashback/partner-cashback.js +++ b/src/main/ui/static/cashback/partner-cashback.js @@ -59,6 +59,11 @@ define(['angular'], function (angular) { var clientList = resp.data; clientList.forEach(function (client) { $scope.clients.push(client); + if (client.level3Clients) { + client.level3Clients.forEach(function (level3Client) { + $scope.clients.push(level3Client); + }); + } }); $scope.clients.forEach(function (client) { $scope.params.client_ids.push(client.client_id); diff --git a/src/main/ui/static/commons/services/commonDialog.js b/src/main/ui/static/commons/services/commonDialog.js index 66c85d8af..6227d7e6b 100644 --- a/src/main/ui/static/commons/services/commonDialog.js +++ b/src/main/ui/static/commons/services/commonDialog.js @@ -37,6 +37,7 @@ define(['../app', 'angular'], function (app, angular) { title: cfg.title, content: cfg.content, contentHtml: cfg.contentHtml, + json:cfg.json, backdrop: cfg.backdrop, size: cfg.size, choises: cfg.choises || choises @@ -121,6 +122,7 @@ define(['../app', 'angular'], function (app, angular) { $scope.title = cfg.title; $scope.content = cfg.content; $scope.contentHtml = cfg.contentHtml; + $scope.jsonData = cfg.json; $scope.bgClass = bgClasses[cfg.type]; $scope.glyIcon = glyIcons[cfg.type]; $scope.choises = cfg.choises; diff --git a/src/main/ui/static/commons/templates/dialog.html b/src/main/ui/static/commons/templates/dialog.html index 5aed87c47..3e62bf193 100644 --- a/src/main/ui/static/commons/templates/dialog.html +++ b/src/main/ui/static/commons/templates/dialog.html @@ -1,5 +1,8 @@ diff --git a/src/main/ui/static/dashboard/partner-dashboard.js b/src/main/ui/static/dashboard/partner-dashboard.js index 115835087..3c2cf472e 100644 --- a/src/main/ui/static/dashboard/partner-dashboard.js +++ b/src/main/ui/static/dashboard/partner-dashboard.js @@ -618,6 +618,11 @@ define(['angular','decimal', 'uiRouter', 'uiBootstrap', 'angularEcharts'], funct var clientList = resp.data; clientList.forEach(function (client) { $scope.clients.push(client); + if (client.level3Clients) { + client.level3Clients.forEach(function (level3Client) { + $scope.clients.push(level3Client); + }); + } }); $scope.clients.forEach(function (client) { $scope.params.client_ids.push(client.client_id); diff --git a/src/main/ui/static/invoice/invoice_assistant.js b/src/main/ui/static/invoice/invoice_assistant.js index 239828ae3..634b1d31e 100644 --- a/src/main/ui/static/invoice/invoice_assistant.js +++ b/src/main/ui/static/invoice/invoice_assistant.js @@ -22,6 +22,11 @@ define(['angular','decimal'], function (angular,decimal) { var clientList = resp.data; clientList.forEach(function (client) { $scope.clients.push(client); + if (client.level3Clients) { + client.level3Clients.forEach(function (level3Client) { + $scope.clients.push(level3Client); + }); + } }); }) }; diff --git a/src/main/ui/static/payment/partner/client-account.js b/src/main/ui/static/payment/partner/client-account.js index 6cea49371..11c5609a2 100644 --- a/src/main/ui/static/payment/partner/client-account.js +++ b/src/main/ui/static/payment/partner/client-account.js @@ -106,6 +106,13 @@ define(['angular', 'uiRouter', 'uiBootstrap'], function (angular) { $scope.loadSubPartners = function () { $http.get('/client/partner_info/sub_partners').then(function (resp) { $scope.subPartners = resp.data; + $scope.subPartners.forEach(function (client) { + if (client.level3Clients) { + client.level3Clients.forEach(function (level3Client) { + $scope.subPartners.push(level3Client); + }); + } + }) }) }; $scope.partner = partner.data; diff --git a/src/main/ui/static/payment/partner/partner-manage.js b/src/main/ui/static/payment/partner/partner-manage.js index e02afa9eb..a43defeec 100644 --- a/src/main/ui/static/payment/partner/partner-manage.js +++ b/src/main/ui/static/payment/partner/partner-manage.js @@ -399,6 +399,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter } return arr; } + $scope.loadOfflineDesc = function () { $http.get('/static/data/client_offline_desc.json').then(function (resp) { $scope.client_offline_select = resp.data; @@ -537,7 +538,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter alert("Logo is necessary!"); return; } - if($scope.partner.partner_type == 'photo'){ + if ($scope.partner.partner_type == 'photo') { if (!$scope.partner.company_photo) { alert('Shop Photo1 is necessary'); return; @@ -566,7 +567,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter // alert("Please Locate Merchant's Location"); // return; // } - if ($scope.params.client_pay_type==''){ + if ($scope.params.client_pay_type == '') { alert('请选择商户支付场景') } @@ -661,15 +662,15 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter $scope.isComplianceOfShortName = false; $scope.isComplianceOfBusinessStructure = false; var website = partner.data.company_website; - if (website!=null){ - if (website.indexOf('http')!=0){ - $scope.partner.company_website= 'http://'+angular.copy(website); + if (website != null) { + if (website.indexOf('http') != 0) { + $scope.partner.company_website = 'http://' + angular.copy(website); } } $scope.decideCompliance = function (name) { - var keywords = ['education','financial' ,'train','immigrant','invest', - '律师咨询','会计事务所', '移民', '留学','娱乐','金融','地产','投资']; - for(var i = 0; i < keywords.length; i++){ + var keywords = ['education', 'financial', 'train', 'immigrant', 'invest', + '律师咨询', '会计事务所', '移民', '留学', '娱乐', '金融', '地产', '投资']; + for (var i = 0; i < keywords.length; i++) { if (name.indexOf(keywords[i]) != -1) { return true; } @@ -698,12 +699,12 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter }; $scope.showFile(); $scope.passClient = function () { - if(!$scope.partner.wechat_institution_merchant_id){ + if (!$scope.partner.wechat_institution_merchant_id) { commonDialog.alert({title: 'info', content: 'HF Institution Merchant Id not Refresh', type: 'info'}); return; } if ($scope.partner.enable_hf) { - if($scope.partner.hfindustry == null){ + if ($scope.partner.hfindustry == null) { alert("已开启HF支付通道,HF行业不可为空!"); return; } @@ -741,7 +742,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter info.push('Business Structure'); } title = 'Warning'; - contentHtml = $sce.trustAsHtml('本次提交的商户[' + $scope.partner.company_name + '],'+ info.toString() +'存在微信渠道不合规信息'); + contentHtml = $sce.trustAsHtml('本次提交的商户[' + $scope.partner.company_name + '],' + info.toString() + '存在微信渠道不合规信息'); choises = [{label: '取消', className: 'btn-danger', key: '2', dismiss: true}, {label: '确认提交', className: 'btn-success', key: '1'}]; content = ''; @@ -774,8 +775,12 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter }); }; $scope.pass2GreenChannel = function () { - if(!$scope.partner.wechat_institution_merchant_id){ - commonDialog.alert({title: 'info', content: 'Wechat Institution Merchant Id not Refresh', type: 'info'}); + if (!$scope.partner.wechat_institution_merchant_id) { + commonDialog.alert({ + title: 'info', + content: 'Wechat Institution Merchant Id not Refresh', + type: 'info' + }); return; } commonDialog.confirm({ @@ -830,7 +835,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter }; $scope.Export = function () { - var url = '/dev/' + $scope.partner.client_moniker +'/export/aggregate/agreepdf' ; + var url = '/dev/' + $scope.partner.client_moniker + '/export/aggregate/agreepdf'; return url; } $scope.uploadAgreeFile = function (file) { @@ -1080,7 +1085,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter if (!$scope.partner) { return; } - if(!$state.is('partners.detail')){ + if (!$state.is('partners.detail')) { $scope.init.wechat_compliance = false; return; } @@ -1102,7 +1107,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter if (!$scope.partner) { return; } - if(!$state.is('partners.detail')){ + if (!$state.is('partners.detail')) { $scope.init.local_merchant = false; return; } @@ -1246,7 +1251,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter alert('suburb can not contain two and more continuous space characters'); return; } - if($scope.partner.partner_type == 'photo'){ + if ($scope.partner.partner_type == 'photo') { if (!$scope.partner.company_photo) { alert('Shop Photo1 is necessary'); return; @@ -1284,7 +1289,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter // alert("Please Locate Merchant Location!"); // return; // } - if ($scope.params.client_pay_type==''){ + if ($scope.params.client_pay_type == '') { alert('请选择商户支付场景') } $http.put('/sys/partners/' + $scope.partner.client_moniker, $scope.partner).then(function () { @@ -1390,34 +1395,34 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter } } }]); - app.controller('partnerPaymentInfoCtrl', ['$scope', '$http', '$state', 'commonDialog','$uibModal', '$sce', function ($scope, $http, $state, commonDialog,$uibModal, $sce) { - $scope.copyHfLink = function() { - var e=document.getElementById("cpbt"); + app.controller('partnerPaymentInfoCtrl', ['$scope', '$http', '$state', 'commonDialog', '$uibModal', '$sce', function ($scope, $http, $state, commonDialog, $uibModal, $sce) { + $scope.copyHfLink = function () { + var e = document.getElementById("cpbt"); e.select(); var successful = document.execCommand("Copy"); if (successful) { commonDialog.alert({title: 'Success', content: '已复制到剪切板!', type: 'success'}); - }else { + } else { commonDialog.alert({title: 'Error', content: '您的浏览器不支持!', type: 'error'}); } }; - $scope.copyYeepayLink = function() { - var e=document.getElementById("cpyeepay"); + $scope.copyYeepayLink = function () { + var e = document.getElementById("cpyeepay"); e.select(); var successful = document.execCommand("Copy"); if (successful) { commonDialog.alert({title: 'Success', content: '已复制到剪切板!', type: 'success'}); - }else { + } else { commonDialog.alert({title: 'Error', content: '您的浏览器不支持!', type: 'error'}); } }; - $scope.copyCBBankPayLink = function() { - var e=document.getElementById("cpcbbankpay"); + $scope.copyCBBankPayLink = function () { + var e = document.getElementById("cpcbbankpay"); e.select(); var successful = document.execCommand("Copy"); if (successful) { commonDialog.alert({title: 'Success', content: '已复制到剪切板!', type: 'success'}); - }else { + } else { commonDialog.alert({title: 'Error', content: '您的浏览器不支持!', type: 'error'}); } }; @@ -1448,7 +1453,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter size: 'lg', resolve: { logs: ['$http', function ($http) { - return $http.get('/sys/partners/'+$scope.partner.client_moniker+'/get_sub_merchant_id_logs'); + return $http.get('/sys/partners/' + $scope.partner.client_moniker + '/get_sub_merchant_id_logs'); }] } }).result.then(function () { @@ -1598,19 +1603,22 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter }); }; $scope.submitAlipaySubId = function () { - commonDialog.confirm({ + $http.get('/sys/partners/' + $scope.partner.client_moniker + '/query/alipay_gms_json').then(function (resp) { + $scope.alipay_gms_json = resp.data; + commonDialog.confirm({ title: 'Warning', - content: '是否使用该商户的现有信息进件?' - }).then(function () { - if ($scope.partner.business_structure == "Company"){ - $http.post('/sys/partners/' + $scope.partner.client_moniker + '/register/alipay_gms',{representative_id:""}).then(function () { + content: '是否使用该商户的现有信息进件?', + json:$scope.alipay_gms_json + }).then(function () { + if ($scope.partner.business_structure == "Company") { + $http.post('/sys/partners/' + $scope.partner.client_moniker + '/register/alipay_gms', {representative_id: ""}).then(function () { commonDialog.alert({title: 'Success', content: 'Alipay进件成功', type: 'success'}); }, function (resp) { commonDialog.alert({title: 'Error', content: "进件失败:" + resp.data.message, type: 'error'}); }) - }else { + } else { commonDialog.inputText({title: '请输入商户身份证或护照号码'}).then(function (text) { - $http.post('/sys/partners/' + $scope.partner.client_moniker + '/register/alipay_gms',{representative_id:text}).then(function () { + $http.post('/sys/partners/' + $scope.partner.client_moniker + '/register/alipay_gms', {representative_id: text}).then(function () { commonDialog.alert({title: 'Success', content: '提示:Alipay进件成功', type: 'success'}); }, function (resp) { commonDialog.alert({title: 'Error', content: "进件失败:" + resp.data.message, type: 'error'}); @@ -1618,6 +1626,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter }); } }) + }) }; $scope.queryAlipayGms = function () { $http.get('/sys/partners/' + $scope.partner.client_moniker + '/query/alipay_gms').then(function (resp) { @@ -1627,19 +1636,23 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter }) } $scope.submitAlipayOnlineSubId = function () { - commonDialog.confirm({ - title: 'Warning', - content: '是否使用该商户的现有信息进件?' - }).then(function () { - commonDialog.inputText({title: '请输入商户身份证或护照号码'}).then(function (text) { - $http.post('/sys/partners/' + $scope.partner.client_moniker + '/register/alipayOnline_gms',{representative_id:text}).then(function () { + $http.get('/sys/partners/' + $scope.partner.client_moniker + '/query/alipayOnline_gms_json').then(function (resp) { + $scope.alipayOnline_gms_json = resp.data; + commonDialog.confirm({ + title: 'Warning', + content: '是否使用该商户的现有信息进件?', + json:$scope.alipayOnline_gms_json + }).then(function () { + commonDialog.inputText({title: '请输入商户身份证或护照号码'}).then(function (text) { + $http.post('/sys/partners/' + $scope.partner.client_moniker + '/register/alipayOnline_gms', {representative_id: text}).then(function () { commonDialog.alert({title: 'Success', content: '提示:AlipayOnline进件成功', type: 'success'}); - }, function (resp) { + }, function (resp) { commonDialog.alert({title: 'Error', content: "进件失败:" + resp.data.message, type: 'error'}); - }) - }); + }) + }); - }) + }) + }); }; $scope.queryAlipayOnlineGms = function () { $http.get('/sys/partners/' + $scope.partner.client_moniker + '/query/alipayOnline_gms').then(function (resp) { @@ -1660,7 +1673,19 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter }) }) }; - $scope.init = {jsapi: false, gateway: false, offline: false, refund: false,common_sub_merchant_id:false, channel: {},gateway_alipay_online:false,hf_Link:false,enable_hf_email_notice:false,enable_yeepay_link:false,enable_yeepay_email_notice:false}; + $scope.init = { + jsapi: false, + gateway: false, + offline: false, + refund: false, + common_sub_merchant_id: false, + channel: {}, + gateway_alipay_online: false, + hf_Link: false, + enable_hf_email_notice: false, + enable_yeepay_link: false, + enable_yeepay_email_notice: false + }; $scope.switchCommonSubMerchantId = function () { if (!$scope.paymentInfo) { return; @@ -1701,9 +1726,9 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter var info = []; $scope.decideCompliance = function (name) { - var keywords = ['education','financial' ,'train','immigrant','invest', - '律师咨询','会计事务所', '移民', '留学','娱乐','金融','地产','投资']; - for(var i = 0; i < keywords.length; i++){ + var keywords = ['education', 'financial', 'train', 'immigrant', 'invest', + '律师咨询', '会计事务所', '移民', '留学', '娱乐', '金融', '地产', '投资']; + for (var i = 0; i < keywords.length; i++) { if (name.indexOf(keywords[i]) != -1) { return true; } @@ -1712,17 +1737,17 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter }; $scope.getComplianceInfo = function () { if ($scope.paymentInfo.company_name != null) { - if($scope.decideCompliance($scope.paymentInfo.company_name)) { + if ($scope.decideCompliance($scope.paymentInfo.company_name)) { info.push('Company Name'); } } if ($scope.paymentInfo.short_name != null) { - if($scope.decideCompliance($scope.paymentInfo.short_name)) { - info.push('Short Name'); + if ($scope.decideCompliance($scope.paymentInfo.short_name)) { + info.push('Short Name'); } } if ($scope.paymentInfo.business_structure != null) { - if($scope.decideCompliance($scope.paymentInfo.business_structure)) { + if ($scope.decideCompliance($scope.paymentInfo.business_structure)) { info.push('Business Structure'); } } @@ -1743,7 +1768,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter && $scope.paymentInfo.open_status == 5 && info.length > 0) { commonDialog.confirm({ title: "Warning", - contentHtml: $sce.trustAsHtml('本次提交的商户[' + $scope.partner.company_name + '],'+ info.toString() +'存在微信渠道不合规信息') + contentHtml: $sce.trustAsHtml('本次提交的商户[' + $scope.partner.company_name + '],' + info.toString() + '存在微信渠道不合规信息') }).then(function () { $scope.saveChannel(channel); }) @@ -1792,16 +1817,16 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter if (!$scope.paymentInfo) { return; } - var channelLink = 'enable_'+channel+'_link'; + var channelLink = 'enable_' + channel + '_link'; if (!$scope.init[channelLink]) { $scope.init[channelLink] = true; return; } - $http.put('/sys/partners/' + $scope.partner.client_moniker + '/'+channel, {allow: $scope.paymentInfo[channelLink]}).then(function () { + $http.put('/sys/partners/' + $scope.partner.client_moniker + '/' + channel, {allow: $scope.paymentInfo[channelLink]}).then(function () { $scope.loadPartnerPaymentInfo(); }, function (resp) { commonDialog.alert({ - title: 'Failed to change '+channelLink+' permission status', + title: 'Failed to change ' + channelLink + ' permission status', content: resp.data.message, type: 'error' }); @@ -1844,7 +1869,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter title: 'Confirm', content: content }).then(function () { - $http.put('/sys/partners/'+ $scope.partner.client_moniker + '/cb_bankpay/'+ key +'/channel_id', {channel_id: channel}).then(function (resp) { + $http.put('/sys/partners/' + $scope.partner.client_moniker + '/cb_bankpay/' + key + '/channel_id', {channel_id: channel}).then(function (resp) { commonDialog.alert({type: 'success', title: 'Success', content: '修改成功'}); $scope.loadPartnerPaymentInfo(); }, function (resp) { @@ -1857,16 +1882,16 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter if (!$scope.paymentInfo) { return; } - var channelNotice = 'enable_'+channel+'_email_notice'; + var channelNotice = 'enable_' + channel + '_email_notice'; if (!$scope.init[channelNotice]) { $scope.init[channelNotice] = true; return; } - $http.put('/sys/partners/' + $scope.partner.client_moniker + '/'+channel+'/email_notice', {allow: $scope.paymentInfo[channelNotice]}).then(function () { + $http.put('/sys/partners/' + $scope.partner.client_moniker + '/' + channel + '/email_notice', {allow: $scope.paymentInfo[channelNotice]}).then(function () { $scope.loadPartnerPaymentInfo(); }, function (resp) { commonDialog.alert({ - title: 'Failed to change '+channelNotice+' permission status', + title: 'Failed to change ' + channelNotice + ' permission status', content: resp.data.message, type: 'error' }); @@ -2090,9 +2115,10 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter }]); app.controller('clientSubMerchantIdLogCtrl', ['$scope', '$http', 'logs', function ($scope, $http, logs) { - $scope.logs = logs.data; + $scope.logs = logs.data; }]); app.controller('partnerSubCtrl', ['$scope', '$http', '$uibModal', function ($scope, $http, $uibModal) { + $scope.toShow = false; $scope.newSubClient = function () { $uibModal.open({ templateUrl: '/static/payment/partner/templates/add_sub_partner_dialog.html', @@ -2142,11 +2168,24 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter }) }; + $scope.showClient = function (sub_client) { + if ($scope.sub_client_id == sub_client.client_id) { + return; + } + $scope.client_monikers = sub_client.level3Clients; + $scope.sub_client_id = sub_client.client_id; + }; + }]); - app.controller('partnerRatesCtrl', ['$scope', '$rootScope', '$http', '$uibModal', 'commonDialog','$sce', function ($scope, $rootScope, $http, $uibModal, commonDialog,$sce) { + app.controller('partnerRatesCtrl', ['$scope', '$rootScope', '$http', '$uibModal', 'commonDialog', '$sce', function ($scope, $rootScope, $http, $uibModal, commonDialog, $sce) { $scope.bankCtrl = {edit: true, rate_name: 'Wechat'}; - $scope.init = {skip_clearing:false,tax_in_surcharge:false,customer_tax_free:false,allow_surcharge_credit:false}; + $scope.init = { + skip_clearing: false, + tax_in_surcharge: false, + customer_tax_free: false, + allow_surcharge_credit: false + }; $scope.getBankAccount = function () { $http.get('/sys/partners/' + $scope.partner.client_moniker + '/bank_account').then(function (resp) { $scope.bankaccount = resp.data; @@ -2159,7 +2198,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter title: 'Warning', content: '启用收支分离模式清算将使消费者支付手续费模式失效,请确认是否切换?' }).then(function () { - $http.put('/sys/partners/' + $scope.partner.client_moniker + '/surcharge_mode', {surcharge_mode:'distributed'}).then(function () { + $http.put('/sys/partners/' + $scope.partner.client_moniker + '/surcharge_mode', {surcharge_mode: 'distributed'}).then(function () { commonDialog.alert({title: 'Success', content: '已切换为收支分离模式', type: 'success'}); $scope.partner.surcharge_mode = 'distributed'; $scope.getBalance(); @@ -2167,12 +2206,12 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}); }) }) - }else { + } else { commonDialog.confirm({ title: 'Warning', content: '请确认是否切换成净值清算模式?' }).then(function () { - $http.put('/sys/partners/' + $scope.partner.client_moniker + '/surcharge_mode', {surcharge_mode:'balance'}).then(function () { + $http.put('/sys/partners/' + $scope.partner.client_moniker + '/surcharge_mode', {surcharge_mode: 'balance'}).then(function () { commonDialog.alert({title: 'Success', content: '已切换为净值清算模式', type: 'success'}); $scope.partner.surcharge_mode = 'balance'; }, function (resp) { @@ -2213,7 +2252,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter if (!skipClearing) { commonDialog.confirm({ title: 'Warning', - content: 'This operation will switch skip clearing status. Are you sure?' + content: 'This operation will switch skip clearing status. Are you sure?' }).then(function () { commonDialog.inputText({title: '请输入关闭跳过清算的原因'}).then(function (text) { $http.put('/sys/partners/' + $scope.partner.client_moniker + '/skip_clearing', { @@ -2224,7 +2263,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter }); }); }) - }else{ + } else { commonDialog.confirm({ title: 'Warning', content: 'This operation will switch skip clearing status. Are you sure?', @@ -2317,10 +2356,11 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter }; $scope.getRates(); $scope.saveBankAccount = function () { - if(isNaN($scope.bankaccount.account_no)){ + if (isNaN($scope.bankaccount.account_no)) { alert("Account No应输入数字!"); return; - }; + } + ; $http.put('/sys/partners/' + $scope.partner.client_moniker + '/bank_account', $scope.bankaccount).then(function () { $scope.getBankAccount(); }, function (resp) { @@ -2380,7 +2420,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter }; $scope.complianceChangeCheck(); }]); - app.controller('surchargeAccountDetailCtrl', ['$scope','$http','balance','partner','transactions','commonDialog', function ($scope, $http, balance, partner, transactions,commonDialog) { + app.controller('surchargeAccountDetailCtrl', ['$scope', '$http', 'balance', 'partner', 'transactions', 'commonDialog', function ($scope, $http, balance, partner, transactions, commonDialog) { $scope.surcharge = angular.copy(balance); $scope.transactions = angular.copy(transactions.data); $scope.partner = angular.copy(partner); @@ -2412,7 +2452,10 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter $scope.params = {}; } $scope.save = function () { - $http.post('/sys/partners/' + $scope.partner.client_moniker + '/account/save', {amount:$scope.params.amount,remark:$scope.params.remark}).then(function (resp) { + $http.post('/sys/partners/' + $scope.partner.client_moniker + '/account/save', { + amount: $scope.params.amount, + remark: $scope.params.remark + }).then(function (resp) { $scope.getTransactions(); $scope.getBalance(); $scope.canAddDetail = false; @@ -2751,7 +2794,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter alert("Logo is necessary!"); return; } - if($scope.partner.partner_type == 'photo'){ + if ($scope.partner.partner_type == 'photo') { if (!$scope.partner.company_photo) { alert('Shop Photo1 is necessary'); return; @@ -2765,7 +2808,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter // alert("Please Locate Merchant Location!"); // return; // } - if ($scope.partner.client_pay_type==''){ + if ($scope.partner.client_pay_type == '') { alert('请选择商户支付场景') } $http.post('/sys/partners/' + clientMoniker + '/sub_clients', $scope.partner).then(function () { @@ -2853,7 +2896,9 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter $scope.params = {status: 'PAID', channel: 'ALL', textType: 'all', datefrom: new Date(), dateto: new Date()}; $scope.pagination = {}; $scope.isAll = true; + $scope.isLevel3All = true; $scope.clients = [$scope.partner]; + $scope.showLevel3Clients = false; $scope.today = new Date(); $scope.chooseToday = function () { @@ -2926,15 +2971,41 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter $scope.$on('order_refunded', function () { $scope.loadTradeLogs(); }); - $scope.chooseClient = function (clientId) { - if (clientId == 'all') { + $scope.chooseClient = function (client) { + if (client == 'all') { $scope.params.client_ids = angular.copy($scope.clientIds); $scope.isAll = true; $scope.chooseClientId = ''; + $scope.showLevel3Clients = false; + } else if (client.level3Clients) { + $scope.chooseClientId = client.client_id; + $scope.showLevel3Clients = true; + $scope.level3Clients = client.level3Clients; + $scope.isAll = false; + $scope.level3ClientIds = []; + $scope.level3ClientIds.push(client.client_id); + client.level3Clients.forEach(function (client) { + $scope.level3ClientIds.push(client.client_id); + }); + $scope.chooseLevel3Client("all"); + return; } else { - $scope.chooseClientId = clientId; - $scope.params.client_ids = [clientId]; + $scope.chooseClientId = client.client_id; + $scope.params.client_ids = [client.client_id]; $scope.isAll = false; + $scope.showLevel3Clients = false; + } + $scope.loadTradeLogs(); + }; + $scope.chooseLevel3Client = function (client) { + if (client == 'all') { + $scope.params.client_ids = angular.copy($scope.level3ClientIds); + $scope.isLevel3All = true; + $scope.chooseLevel3ClientId = ''; + } else { + $scope.chooseLevel3ClientId = client.client_id; + $scope.params.client_ids = [client.client_id]; + $scope.isLevel3All = false; } $scope.loadTradeLogs(); }; @@ -2947,6 +3018,11 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter $scope.clientIds = []; $scope.clients.forEach(function (client) { $scope.clientIds.push(client.client_id); + if (client.level3Clients) { + client.level3Clients.forEach(function (level3Client) { + $scope.clientIds.push(level3Client.client_id); + }); + } }); $scope.params.client_ids = angular.copy($scope.clientIds); //console.log($rootScope.currentUser.client.clientList); @@ -2985,9 +3061,9 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter }) } }]); - app.controller('partnerDeviceCtrl', ['$scope', '$http', 'orderService', 'commonDialog', 'refunder','$uibModal', function ($scope,$http, orderService, commonDialog, refunder,$uibModal) { + app.controller('partnerDeviceCtrl', ['$scope', '$http', 'orderService', 'commonDialog', 'refunder', '$uibModal', function ($scope, $http, orderService, commonDialog, refunder, $uibModal) { - $scope.pagination = {}; + $scope.pagination = {}; /** * 查看设备 * @param page @@ -3155,7 +3231,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter } }]); - app.controller('newDeviceDialogCtrl', ['$scope', '$http', 'clientMoniker', function ($scope, $http,clientMoniker) { + app.controller('newDeviceDialogCtrl', ['$scope', '$http', 'clientMoniker', function ($scope, $http, clientMoniker) { $scope.save = function (form) { $scope.errmsg = null; if (form.$invalid) { @@ -3247,11 +3323,9 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter if ($scope.data.users.length == 0) { $scope.errmsg = "请选择至少一位BD"; - } - else if ($scope.data.start_date == undefined) { + } else if ($scope.data.start_date == undefined) { $scope.errmsg = "执行开始日期不能为空"; - } - else { + } else { var isValid = true; var total = 0; $scope.data.users.forEach(function (e) { @@ -3591,7 +3665,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter detail: ['$http', '$stateParams', function ($http) { return $http.get('/analysis/partner_card/' + client_id + '/settlement_logs/' + detail_id); }], - detail_id:detail_id + detail_id: detail_id }, size: 'lg' }); @@ -3659,7 +3733,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter detail: ['$http', '$stateParams', function ($http) { return $http.get('/analysis/partner_card/' + client_id + '/settlement_logs/' + detail_id); }], - detail_id:detail_id + detail_id: detail_id }, size: 'lg' }); @@ -3667,17 +3741,17 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter $scope.chooseLast7Days(); }]); - app.controller('managerSettlementDetailCtrl', ['$scope', 'detail','detail_id','$http', function ($scope, detail,detail_id,$http) { + app.controller('managerSettlementDetailCtrl', ['$scope', 'detail', 'detail_id', '$http', function ($scope, detail, detail_id, $http) { $scope.ctrl = {channel: null}; $scope.show = true; $scope.report = detail.data; - $scope.report.total_charge = Decimal.add($scope.report.total_charge,$scope.report.tax_amount).toFixed(2); - angular.forEach($scope.report.channels,function (e) { - e.total_charge = Decimal.add(e.tax_amount,e.total_charge).toFixed(2); + $scope.report.total_charge = Decimal.add($scope.report.total_charge, $scope.report.tax_amount).toFixed(2); + angular.forEach($scope.report.channels, function (e) { + e.total_charge = Decimal.add(e.tax_amount, e.total_charge).toFixed(2); }); $scope.channelAndDayOfAnalysis = function () { - $http.get('/analysis/partner_card/settlement_logs/' + detail_id+'/analysis/'+$scope.ctrl.channel).then(function (resp) { + $http.get('/analysis/partner_card/settlement_logs/' + detail_id + '/analysis/' + $scope.ctrl.channel).then(function (resp) { $scope.channelAndDayMap = resp.data; $scope.index = 0; }) @@ -3969,7 +4043,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter } }]); - app.controller('applyRpaySubMerchantIdCtrl', ['$scope', '$http', '$uibModal', '$state', 'subMerchantInfo', 'businessStructuresMap','$filter', 'commonDialog','timezone', function ($scope, $http, $uibModal, $state, subMerchantInfo, businessStructuresMap,$filter, commonDialog,timezone) { + app.controller('applyRpaySubMerchantIdCtrl', ['$scope', '$http', '$uibModal', '$state', 'subMerchantInfo', 'businessStructuresMap', '$filter', 'commonDialog', 'timezone', function ($scope, $http, $uibModal, $state, subMerchantInfo, businessStructuresMap, $filter, commonDialog, timezone) { $scope.subMerchantInfo = angular.copy(subMerchantInfo); $scope.business_structures = businessStructuresMap.configs(); $scope.timezone = timezone.configs(); @@ -3977,7 +4051,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter $scope.saveRpayAppliy = function (form) { var merchantInfo = {}; - $scope.errmsg = null; + $scope.errmsg = null; if (form.$invalid) { angular.forEach(form, function (item, key) { if (key.indexOf('$') < 0) { @@ -3986,13 +4060,13 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter }); return; } - angular.forEach(form, function (item, key) { - if(item !=null) { - if(item.$name !=null) { - merchantInfo[key] = item.$modelValue; - } - } - }); + angular.forEach(form, function (item, key) { + if (item != null) { + if (item.$name != null) { + merchantInfo[key] = item.$modelValue; + } + } + }); $http.post('/sys/partners/' + $scope.subMerchantInfo.client_moniker + '/registRpaySubMerchantId', merchantInfo).then(function (resp) { $scope.apply_sub_merchant_id = resp.data; @@ -4015,17 +4089,17 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter } }]); - app.controller('applyYeepaySubMerchantIdCtrl', ['$scope', '$http', '$uibModal', '$state','subMerchantInfo','yeepayIndustryMap','yeepayBusinessContentMap','$filter', 'commonDialog','Upload', function ($scope, $http, $uibModal, $state,subMerchantInfo,yeepayIndustryMap,yeepayBusinessContentMap,$filter, commonDialog,Upload) { + app.controller('applyYeepaySubMerchantIdCtrl', ['$scope', '$http', '$uibModal', '$state', 'subMerchantInfo', 'yeepayIndustryMap', 'yeepayBusinessContentMap', '$filter', 'commonDialog', 'Upload', function ($scope, $http, $uibModal, $state, subMerchantInfo, yeepayIndustryMap, yeepayBusinessContentMap, $filter, commonDialog, Upload) { $scope.yeepay_industries = yeepayIndustryMap.configs(); $scope.yeepay_business_contents = yeepayBusinessContentMap.configs(); $scope.subMerchantInfo = angular.copy(subMerchantInfo); - if(!$scope.subMerchantInfo.abn){ + if (!$scope.subMerchantInfo.abn) { $scope.subMerchantInfo.abn = $scope.subMerchantInfo.acn; } - var vouchers={}; + var vouchers = {}; - $scope.directors={}; - $scope.executives={}; + $scope.directors = {}; + $scope.executives = {}; $scope.industry = ''; $scope.business_content = ''; var merchantInfo = {}; @@ -4332,7 +4406,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter } }]); - app.controller('addYeepaySubMerchantIdCtrl', ['$scope', '$http', '$uibModal', '$state','subMerchantInfo','yeepayIndustryMap','yeepayBusinessContentMap','$filter', 'commonDialog','Upload', function ($scope, $http, $uibModal, $state,subMerchantInfo,yeepayIndustryMap,yeepayBusinessContentMap,$filter, commonDialog,Upload) { + app.controller('addYeepaySubMerchantIdCtrl', ['$scope', '$http', '$uibModal', '$state', 'subMerchantInfo', 'yeepayIndustryMap', 'yeepayBusinessContentMap', '$filter', 'commonDialog', 'Upload', function ($scope, $http, $uibModal, $state, subMerchantInfo, yeepayIndustryMap, yeepayBusinessContentMap, $filter, commonDialog, Upload) { $scope.yeepay_industries = yeepayIndustryMap.configs(); $scope.yeepay_business_contents = yeepayBusinessContentMap.configs(); $scope.subMerchantInfo = angular.copy(subMerchantInfo); @@ -4340,7 +4414,6 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter var merchantInfo = {}; - $scope.saveYeepayAdd = function (form) { $scope.errmsg = null; if (form.$invalid) { @@ -4380,17 +4453,17 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter } }]); - app.controller('updateYeepaySubMerchantIdCtrl', ['$scope', '$http', '$uibModal', '$state','subMerchantInfo','yeepayIndustryMap','yeepayBusinessContentMap','$filter', 'commonDialog','Upload','subMerchantId', function ($scope, $http, $uibModal, $state,subMerchantInfo,yeepayIndustryMap,yeepayBusinessContentMap,$filter, commonDialog,Upload,subMerchantId) { + app.controller('updateYeepaySubMerchantIdCtrl', ['$scope', '$http', '$uibModal', '$state', 'subMerchantInfo', 'yeepayIndustryMap', 'yeepayBusinessContentMap', '$filter', 'commonDialog', 'Upload', 'subMerchantId', function ($scope, $http, $uibModal, $state, subMerchantInfo, yeepayIndustryMap, yeepayBusinessContentMap, $filter, commonDialog, Upload, subMerchantId) { $scope.yeepay_industries = yeepayIndustryMap.configs(); $scope.yeepay_business_contents = yeepayBusinessContentMap.configs(); $scope.subMerchantInfo = angular.copy(subMerchantInfo); - if(!$scope.subMerchantInfo.abn){ + if (!$scope.subMerchantInfo.abn) { $scope.subMerchantInfo.abn = $scope.subMerchantInfo.acn; } - var vouchers={}; + var vouchers = {}; - $scope.directors={}; - $scope.executives={}; + $scope.directors = {}; + $scope.executives = {}; $scope.industry = ''; $scope.business_content = ''; var merchantInfo = {}; @@ -4700,10 +4773,10 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter app.controller('permissionClientCtrl', ['$scope', '$http', '$uibModal', '$state', '$filter', 'commonDialog', function ($scope, $http, $uibModal, $state, $filter, commonDialog) { - $scope.clientPermission = {client_moniker:$scope.partner.client_moniker}; + $scope.clientPermission = {client_moniker: $scope.partner.client_moniker}; $scope.loadPermissionList = function () { var params = angular.copy($scope.clientPermission); - $http.get('/sys/permission/list',{params:params}).then(function (resp) { + $http.get('/sys/permission/list', {params: params}).then(function (resp) { $scope.permissionList = resp.data; }, function (resp) { commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}) @@ -4713,16 +4786,16 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter $scope.switchValid = function (permission) { $scope.clientPermission.isValid = permission.is_valid; var params = angular.copy($scope.clientPermission); - $http.post('/sys/permission/'+permission.id,params).then(function (resp) { - },function (resp) { + $http.post('/sys/permission/' + permission.id, params).then(function (resp) { + }, function (resp) { commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}) }) }; $scope.init = function () { - var params = {client_moniker:$scope.partner.client_moniker}; - $http.post('/sys/permission/init',params).then(function (resp) { - },function (resp) { + var params = {client_moniker: $scope.partner.client_moniker}; + $http.post('/sys/permission/init', params).then(function (resp) { + }, function (resp) { commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}) }) }; diff --git a/src/main/ui/static/payment/partner/partner.js b/src/main/ui/static/payment/partner/partner.js index c31a2938e..cfe98ad3f 100644 --- a/src/main/ui/static/payment/partner/partner.js +++ b/src/main/ui/static/payment/partner/partner.js @@ -48,7 +48,12 @@ define(['angular', 'decimal', 'uiRouter', 'ngBootSwitch', 'ngFileUpload','uiBoot }).state('sub_partners', { url: '/sub_partners', templateUrl: '/static/payment/partner/templates/client_sub_partners.html', - controller: 'clientSubPartnersCtrl' + controller: 'clientSubPartnersCtrl', + resolve: { + partner: ['$http', function ($http) { + return $http.get('/client/partner_info'); + }] + } }).state('devices', { url: '/devices', templateUrl: '/static/payment/partner/templates/client_devices.html', @@ -968,10 +973,18 @@ define(['angular', 'decimal', 'uiRouter', 'ngBootSwitch', 'ngFileUpload','uiBoot }; $scope.getRates(); }]); - app.controller('clientSubPartnersCtrl', ['$scope', '$http', function ($scope, $http) { + app.controller('clientSubPartnersCtrl', ['$scope', '$http','partner', function ($scope, $http,partner) { + $scope.partner = partner.data; $scope.loadSubPartners = function () { $http.get('/client/partner_info/sub_partners').then(function (resp) { $scope.subPartners = resp.data; + $scope.subPartners.forEach(function (client) { + if (client.level3Clients) { + client.level3Clients.forEach(function (level3Client) { + $scope.subPartners.push(level3Client); + }); + } + }) }) }; $scope.loadSubPartners(); diff --git a/src/main/ui/static/payment/partner/templates/client_sub_partners.html b/src/main/ui/static/payment/partner/templates/client_sub_partners.html index d6aa67bb1..295ce7410 100644 --- a/src/main/ui/static/payment/partner/templates/client_sub_partners.html +++ b/src/main/ui/static/payment/partner/templates/client_sub_partners.html @@ -22,7 +22,11 @@ - + + {{subPartner.client_moniker}} + + {{subPartner.contact_person}}({{subPartner.contact_phone}}) diff --git a/src/main/ui/static/payment/partner/templates/partner_pay_logs.html b/src/main/ui/static/payment/partner/templates/partner_pay_logs.html index 914014d1e..7152f1475 100644 --- a/src/main/ui/static/payment/partner/templates/partner_pay_logs.html +++ b/src/main/ui/static/payment/partner/templates/partner_pay_logs.html @@ -146,7 +146,20 @@ All +

    +
    +
    +
    + +
    +

    + All +

    diff --git a/src/main/ui/static/payment/partner/templates/sub_partners.html b/src/main/ui/static/payment/partner/templates/sub_partners.html index 1f9f7e1d1..5d74e5dac 100644 --- a/src/main/ui/static/payment/partner/templates/sub_partners.html +++ b/src/main/ui/static/payment/partner/templates/sub_partners.html @@ -1,3 +1,54 @@ + +
    @@ -29,7 +80,35 @@ - + + {{subPartner.client_moniker}} +   + + {{subPartner.level3Clients.length}} + + + + {{subPartner.contact_person}}({{subPartner.contact_phone}}) diff --git a/src/main/ui/static/payment/tradelog/partner-settlement-log.js b/src/main/ui/static/payment/tradelog/partner-settlement-log.js index 00551c970..1736e859e 100644 --- a/src/main/ui/static/payment/tradelog/partner-settlement-log.js +++ b/src/main/ui/static/payment/tradelog/partner-settlement-log.js @@ -23,6 +23,9 @@ define(['angular', 'uiBootstrap', 'uiRouter'], function (angular) { '
    '); $scope.isAll = true; $scope.clients = [$scope.currentUser.client]; + $scope.showLevel3Clients = false; + $scope.isLevel3All = true; + if ($scope.currentUser.client.has_children) { $scope.params.client_ids = [$scope.currentUser.client.client_id]; $http.get('/client/partner_info/sub_partners').then(function (resp) { @@ -33,6 +36,11 @@ define(['angular', 'uiBootstrap', 'uiRouter'], function (angular) { $scope.clientIds = []; $scope.clients.forEach(function (client) { $scope.clientIds.push(client.client_id); + if (client.level3Clients) { + client.level3Clients.forEach(function (level3Client) { + $scope.clientIds.push(level3Client.client_id); + }); + } }); $scope.params.client_ids = angular.copy($scope.clientIds); $scope.loadSettlementLogs(1); @@ -125,15 +133,42 @@ define(['angular', 'uiBootstrap', 'uiRouter'], function (angular) { }; getClientUnClearedAmount(); - $scope.chooseClient = function (clientId) { - if (clientId == 'all') { + $scope.chooseClient = function (client) { + if (client == 'all') { $scope.params.client_ids = angular.copy($scope.clientIds); $scope.isAll = true; $scope.chooseClientId = ''; + $scope.showLevel3Clients = false; + } else if (client.level3Clients) { + $scope.chooseClientId = client.client_id; + $scope.showLevel3Clients = true; + $scope.level3Clients = client.level3Clients; + $scope.isAll = false; + $scope.level3ClientIds = []; + $scope.level3ClientIds.push(client.client_id); + client.level3Clients.forEach(function (client) { + $scope.level3ClientIds.push(client.client_id); + }); + $scope.chooseLevel3Client("all"); + return; } else { - $scope.chooseClientId = clientId; - $scope.params.client_ids = [clientId]; + $scope.chooseClientId = client.client_id; + $scope.params.client_ids = [client.client_id]; $scope.isAll = false; + $scope.showLevel3Clients = false; + } + $scope.loadSettlementLogs(); + }; + + $scope.chooseLevel3Client = function (client) { + if (client == 'all') { + $scope.params.client_ids = angular.copy($scope.level3ClientIds); + $scope.isLevel3All = true; + $scope.chooseLevel3ClientId = ''; + } else { + $scope.chooseLevel3ClientId = client.client_id; + $scope.params.client_ids = [client.client_id]; + $scope.isLevel3All = false; } $scope.loadSettlementLogs(); }; diff --git a/src/main/ui/static/payment/tradelog/templates/balance_report.html b/src/main/ui/static/payment/tradelog/templates/balance_report.html index 0794169c7..2bce88813 100644 --- a/src/main/ui/static/payment/tradelog/templates/balance_report.html +++ b/src/main/ui/static/payment/tradelog/templates/balance_report.html @@ -170,7 +170,20 @@ +

    +
    +
    +
    + +
    +

    + All +

    diff --git a/src/main/ui/static/payment/tradelog/templates/partner_settlement_logs.html b/src/main/ui/static/payment/tradelog/templates/partner_settlement_logs.html index 714ab730f..2d5eb3f7a 100644 --- a/src/main/ui/static/payment/tradelog/templates/partner_settlement_logs.html +++ b/src/main/ui/static/payment/tradelog/templates/partner_settlement_logs.html @@ -80,7 +80,20 @@ +

    +
    +
    +
    + +
    +

    + All +

    diff --git a/src/main/ui/static/payment/tradelog/templates/partner_trade_logs.html b/src/main/ui/static/payment/tradelog/templates/partner_trade_logs.html index 6911aedda..870e70a7a 100644 --- a/src/main/ui/static/payment/tradelog/templates/partner_trade_logs.html +++ b/src/main/ui/static/payment/tradelog/templates/partner_trade_logs.html @@ -1,5 +1,53 @@